]> git.sesse.net Git - vlc/blob - modules/gui/skins/parser/flex.c
7c173ac513029560d5eea250e551f7fc8bae3634
[vlc] / modules / gui / skins / parser / flex.c
1 /* A lexical scanner generated by flex */
2
3 /* Scanner skeleton version:
4  * $Header: /root/vlc-cvs/modules/gui/skins/parser/flex.c,v 1.7 2003/05/01 13:51:03 ipkiss Exp $
5  */
6
7 #define FLEX_SCANNER
8 #define YY_FLEX_MAJOR_VERSION 2
9 #define YY_FLEX_MINOR_VERSION 5
10
11 #include <stdio.h>
12 #include <errno.h>
13
14 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
15 #ifdef c_plusplus
16 #ifndef __cplusplus
17 #define __cplusplus
18 #endif
19 #endif
20
21
22 #ifdef __cplusplus
23
24 #include <stdlib.h>
25 #ifndef _WIN32
26 #include <unistd.h>
27 #else
28 #ifndef YY_ALWAYS_INTERACTIVE
29 #ifndef YY_NEVER_INTERACTIVE
30 extern int isatty YY_PROTO(( int ));
31 #endif
32 #endif
33 #endif
34
35 /* Use prototypes in function declarations. */
36 #define YY_USE_PROTOS
37
38 /* The "const" storage-class-modifier is valid. */
39 #define YY_USE_CONST
40
41 #else   /* ! __cplusplus */
42
43 #if __STDC__
44
45 #define YY_USE_PROTOS
46 #define YY_USE_CONST
47
48 #endif  /* __STDC__ */
49 #endif  /* ! __cplusplus */
50
51 #ifdef __TURBOC__
52  #pragma warn -rch
53  #pragma warn -use
54 #include <io.h>
55 #include <stdlib.h>
56 #define YY_USE_CONST
57 #define YY_USE_PROTOS
58 #endif
59
60 #ifdef YY_USE_CONST
61 #define yyconst const
62 #else
63 #define yyconst
64 #endif
65
66
67 #ifdef YY_USE_PROTOS
68 #define YY_PROTO(proto) proto
69 #else
70 #define YY_PROTO(proto) ()
71 #endif
72
73 /* Returned upon end-of-file. */
74 #define YY_NULL 0
75
76 /* Promotes a possibly negative, possibly signed char to an unsigned
77  * integer for use as an array index.  If the signed char is negative,
78  * we want to instead treat it as an 8-bit unsigned char, hence the
79  * double cast.
80  */
81 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
82
83 /* Enter a start condition.  This macro really ought to take a parameter,
84  * but we do it the disgusting crufty way forced on us by the ()-less
85  * definition of BEGIN.
86  */
87 #define BEGIN yy_start = 1 + 2 *
88
89 /* Translate the current start state into a value that can be later handed
90  * to BEGIN to return to the state.  The YYSTATE alias is for lex
91  * compatibility.
92  */
93 #define YY_START ((yy_start - 1) / 2)
94 #define YYSTATE YY_START
95
96 /* Action number for EOF rule of a given start state. */
97 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
98
99 /* Special action meaning "start processing a new file". */
100 #define YY_NEW_FILE yyrestart( yyin )
101
102 #define YY_END_OF_BUFFER_CHAR 0
103
104 /* Size of default input buffer. */
105 #define YY_BUF_SIZE 16384
106
107 typedef struct yy_buffer_state *YY_BUFFER_STATE;
108
109 extern int yyleng;
110 extern FILE *yyin, *yyout;
111
112 #define EOB_ACT_CONTINUE_SCAN 0
113 #define EOB_ACT_END_OF_FILE 1
114 #define EOB_ACT_LAST_MATCH 2
115
116 /* The funky do-while in the following #define is used to turn the definition
117  * int a single C statement (which needs a semi-colon terminator).  This
118  * avoids problems with code like:
119  *
120  *      if ( condition_holds )
121  *              yyless( 5 );
122  *      else
123  *              do_something_else();
124  *
125  * Prior to using the do-while the compiler would get upset at the
126  * "else" because it interpreted the "if" statement as being all
127  * done when it reached the ';' after the yyless() call.
128  */
129
130 /* Return all but the first 'n' matched characters back to the input stream. */
131
132 #define yyless(n) \
133         do \
134                 { \
135                 /* Undo effects of setting up yytext. */ \
136                 *yy_cp = yy_hold_char; \
137                 YY_RESTORE_YY_MORE_OFFSET \
138                 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
139                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
140                 } \
141         while ( 0 )
142
143 #define unput(c) yyunput( c, yytext_ptr )
144
145 /* The following is because we cannot portably get our hands on size_t
146  * (without autoconf's help, which isn't available because we want
147  * flex-generated scanners to compile on their own).
148  */
149 typedef unsigned int yy_size_t;
150
151
152 struct yy_buffer_state
153         {
154         FILE *yy_input_file;
155
156         char *yy_ch_buf;                /* input buffer */
157         char *yy_buf_pos;               /* current position in input buffer */
158
159         /* Size of input buffer in bytes, not including room for EOB
160          * characters.
161          */
162         yy_size_t yy_buf_size;
163
164         /* Number of characters read into yy_ch_buf, not including EOB
165          * characters.
166          */
167         int yy_n_chars;
168
169         /* Whether we "own" the buffer - i.e., we know we created it,
170          * and can realloc() it to grow it, and should free() it to
171          * delete it.
172          */
173         int yy_is_our_buffer;
174
175         /* Whether this is an "interactive" input source; if so, and
176          * if we're using stdio for input, then we want to use getc()
177          * instead of fread(), to make sure we stop fetching input after
178          * each newline.
179          */
180         int yy_is_interactive;
181
182         /* Whether we're considered to be at the beginning of a line.
183          * If so, '^' rules will be active on the next match, otherwise
184          * not.
185          */
186         int yy_at_bol;
187
188         /* Whether to try to fill the input buffer when we reach the
189          * end of it.
190          */
191         int yy_fill_buffer;
192
193         int yy_buffer_status;
194 #define YY_BUFFER_NEW 0
195 #define YY_BUFFER_NORMAL 1
196         /* When an EOF's been seen but there's still some text to process
197          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
198          * shouldn't try reading from the input source any more.  We might
199          * still have a bunch of tokens to match, though, because of
200          * possible backing-up.
201          *
202          * When we actually see the EOF, we change the status to "new"
203          * (via yyrestart()), so that the user can continue scanning by
204          * just pointing yyin at a new input file.
205          */
206 #define YY_BUFFER_EOF_PENDING 2
207         };
208
209 static YY_BUFFER_STATE yy_current_buffer = 0;
210
211 /* We provide macros for accessing buffer states in case in the
212  * future we want to put the buffer states in a more general
213  * "scanner state".
214  */
215 #define YY_CURRENT_BUFFER yy_current_buffer
216
217
218 /* yy_hold_char holds the character lost when yytext is formed. */
219 static char yy_hold_char;
220
221 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
222
223
224 int yyleng;
225
226 /* Points to current character in buffer. */
227 static char *yy_c_buf_p = (char *) 0;
228 static int yy_init = 1;         /* whether we need to initialize */
229 static int yy_start = 0;        /* start state number */
230
231 /* Flag which is used to allow yywrap()'s to do buffer switches
232  * instead of setting up a fresh yyin.  A bit of a hack ...
233  */
234 static int yy_did_buffer_switch_on_eof;
235
236 void yyrestart YY_PROTO(( FILE *input_file ));
237
238 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
239 void yy_load_buffer_state YY_PROTO(( void ));
240 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
241 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
242 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
243 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
244 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
245
246 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
247 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
248 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
249
250 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
251 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
252 static void yy_flex_free YY_PROTO(( void * ));
253
254 #define yy_new_buffer yy_create_buffer
255
256 #define yy_set_interactive(is_interactive) \
257         { \
258         if ( ! yy_current_buffer ) \
259                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
260         yy_current_buffer->yy_is_interactive = is_interactive; \
261         }
262
263 #define yy_set_bol(at_bol) \
264         { \
265         if ( ! yy_current_buffer ) \
266                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
267         yy_current_buffer->yy_at_bol = at_bol; \
268         }
269
270 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
271
272
273 #define yywrap() 1
274 #define YY_SKIP_YYWRAP
275 typedef unsigned char YY_CHAR;
276 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
277 typedef int yy_state_type;
278 extern char *yytext;
279 #define yytext_ptr yytext
280
281 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
282 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
283 static int yy_get_next_buffer YY_PROTO(( void ));
284 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
285
286 /* Done after the current pattern has been matched and before the
287  * corresponding action - sets up yytext.
288  */
289 #define YY_DO_BEFORE_ACTION \
290         yytext_ptr = yy_bp; \
291         yyleng = (int) (yy_cp - yy_bp); \
292         yy_hold_char = *yy_cp; \
293         *yy_cp = '\0'; \
294         yy_c_buf_p = yy_cp;
295
296 #define YY_NUM_RULES 402
297 #define YY_END_OF_BUFFER 403
298 static yyconst short int yy_accept[2490] =
299     {   0,
300         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
301         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
302         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
303         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
304         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
305         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
306         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
307         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
308         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
309         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
310
311         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
312         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
313         0,    0,    0,    0,    0,    0,    0,    0,  403,  401,
314        29,   10,   10,   29,   29,  380,   10,  380,    5,    6,
315         5,    8,    9,    8,  396,  388,  389,  397,  394,  397,
316       395,  400,  388,  389,  400,  402,  402,   35,   10,   35,
317        35,   35,   33,   35,  402,   39,   10,   39,  402,   39,
318       402,   49,   10,   49,   49,   49,   47,   49,   49,   49,
319        53,   10,   53,  402,   63,   10,   63,   63,   63,   61,
320        63,   63,   63,   67,   10,   67,  402,   85,   10,   85,
321
322        85,   85,   83,   85,   85,   85,   85,   85,   85,   89,
323        10,   89,  101,   10,  101,  101,  101,   99,  101,  101,
324       101,  101,  105,   10,  105,  402,  125,   10,  125,  125,
325       125,  123,  125,  125,  125,  125,  125,  125,  125,  125,
326       402,  129,   10,  129,  137,   10,  137,  137,  137,  135,
327       137,  137,  402,  141,   10,  141,  141,  402,  153,   10,
328       153,  153,  153,  151,  153,  153,  153,  153,  157,   10,
329       157,  402,  175,   10,  175,  175,  175,  173,  175,  175,
330       175,  175,  175,  175,  179,   10,  179,  402,  201,   10,
331       201,  201,  201,  199,  201,  201,  201,  201,  201,  201,
332
333       201,  201,  205,   10,  205,  402,  233,   10,  233,  233,
334       233,  231,  233,  233,  233,  233,  233,  233,  233,  233,
335       233,  237,   10,  237,  402,  279,   10,  279,  279,  279,
336       277,  279,  279,  279,  279,  279,  279,  279,  279,  279,
337       283,   10,  283,  402,  309,   10,  309,  309,  309,  307,
338       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
339       313,   10,  313,  402,  341,   10,  341,  341,  341,  339,
340       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
341       341,  345,   10,  345,  402,  375,   10,  375,  375,  375,
342       373,  375,  375,  375,  375,  375,  375,  375,  375,  375,
343
344       375,  375,  375,  379,   10,  379,  396,  388,  389,  397,
345       397,  396,   10,    0,    2,    2,    0,    4,    7,  391,
346       390,    0,    0,    0,    0,    0,  399,    0,   34,   36,
347        36,    0,    0,    0,    0,    0,    0,   48,   50,   50,
348        50,   50,    0,   62,   64,   64,   64,   64,    0,   84,
349        86,   86,   86,   86,   86,   86,   86,   86,    0,  100,
350       102,  102,  102,  102,  102,    0,  124,  126,  126,  126,
351       126,  126,  126,  126,    0,    0,    0,    0,    0,    0,
352       136,  138,    0,    0,    0,    0,    0,    0,    0,    0,
353         0,    0,    0,    0,    0,  152,  154,  154,  154,    0,
354
355         0,    0,    0,    0,  174,  176,  176,  176,  176,  176,
356       176,    0,    0,    0,    0,    0,  200,  202,  202,    0,
357         0,  202,  202,  202,  202,    0,    0,    0,    0,    0,
358         0,    0,  232,  234,  234,  234,  234,  234,  234,  234,
359       234,  234,    0,    0,    0,    0,    0,    0,  278,  280,
360       280,  280,  280,  280,  280,  280,  280,  280,    0,    0,
361         0,    0,    0,  308,  310,  310,  310,  310,  310,  310,
362       310,  310,  310,  310,    0,    0,    0,    0,    0,  340,
363       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
364         0,    0,    0,    0,    0,  374,  376,  376,  376,  376,
365
366       376,  376,  376,  376,  376,  376,  376,  376,    0,    0,
367         0,    0,    0,    0,    0,    0,    0,    0,    0,    3,
368         0,    0,    0,    0,    0,    0,    0,  398,    0,   36,
369         0,    0,    0,    0,    0,    0,    0,   50,   50,    0,
370         0,    0,    0,   64,    0,    0,   64,    0,    0,   86,
371        86,    0,    0,   86,   86,   86,   86,    0,    0,  102,
372       102,  102,  102,    0,    0,  126,  126,  126,    0,    0,
373       126,  126,    0,  112,  111,    0,  114,  113,    0,    0,
374         0,    0,  132,  131,    0,  134,  133,    0,    0,    0,
375         0,    0,    0,    0,    0,    0,    0,  154,  154,    0,
376
377       144,  143,    0,  146,  145,    0,    0,  176,    0,    0,
378       176,  176,  176,    0,  164,  163,    0,  166,  165,    0,
379         0,  202,    0,  192,  191,  202,    0,    0,  202,  202,
380         0,  190,  189,    0,  186,  185,    0,  188,  187,    0,
381         0,  234,  234,  234,    0,    0,  234,  234,  234,    0,
382         0,  234,    0,  212,  211,    0,  214,  213,    0,    0,
383       280,  280,  280,    0,    0,  280,  280,  280,  280,  280,
384         0,  244,  243,    0,  246,  245,    0,    0,  310,  310,
385       310,    0,    0,  310,  310,  310,    0,    0,  310,    0,
386       290,  289,    0,  292,  291,    0,    0,  342,  342,  342,
387
388       342,    0,    0,  342,  342,  342,  342,    0,  320,  319,
389         0,  322,  321,    0,    0,  376,  376,  376,    0,    0,
390       376,  376,  376,  376,  376,  376,  376,    0,  352,  351,
391         0,  354,  353,    0,    0,    0,  393,    0,   28,    1,
392         0,    0,  386,    0,    0,    0,  383,  382,    0,    0,
393        36,    0,    0,    0,   38,    0,    0,    0,    0,    0,
394        50,   50,    0,   42,   41,    0,    0,   52,    0,   64,
395         0,   56,   55,    0,    0,    0,    0,   66,    0,   86,
396        86,    0,   70,   69,   86,   86,   86,   86,    0,    0,
397        88,    0,  102,  102,  102,  102,    0,    0,  104,    0,
398
399       126,  126,  126,    0,  108,  107,  126,  126,    0,    0,
400         0,  128,    0,    0,    0,    0,    0,    0,    0,    0,
401         0,    0,    0,  140,    0,  154,  154,    0,    0,  156,
402         0,  176,    0,  160,  159,  176,  176,  176,    0,    0,
403       178,    0,  202,  202,    0,  182,  181,  202,  202,    0,
404         0,  204,    0,  234,  234,  234,    0,  208,  207,  234,
405       234,  234,    0,  216,  215,  234,    0,    0,  236,    0,
406       280,  280,  280,    0,  240,  239,  280,  280,  280,  280,
407       280,  280,    0,    0,  282,    0,    0,    0,  310,  310,
408         0,  286,  285,    0,    0,  310,  310,    0,  296,  295,
409
410       310,    0,    0,  312,    0,  342,  342,  342,  342,    0,
411       316,  315,  342,  342,  342,  342,    0,    0,  344,    0,
412         0,    0,  376,  376,    0,  348,  347,  376,  376,    0,
413         0,  376,  376,  376,  376,    0,    0,  378,    0,    0,
414         0,    0,  387,  381,    0,    0,    0,   36,    0,    0,
415         0,    0,   68,    0,   50,    0,    0,    0,   64,    0,
416        60,   59,    0,   86,    0,    0,   86,    0,    0,   86,
417        86,    0,  102,  102,    0,    0,  102,    0,  126,  126,
418       126,  126,  126,    0,    0,    0,    0,    0,    0,    0,
419         0,    0,    0,    0,  154,  154,    0,    0,    0,  176,
420
421       176,  176,    0,  202,    0,    0,  202,  202,    0,  234,
422         0,    0,    0,    0,  234,  234,  234,  234,    0,  280,
423       280,    0,    0,    0,    0,    0,    0,  280,  280,  280,
424       280,    0,    0,  300,  299,    0,    0,    0,    0,    0,
425       302,  301,  310,    0,    0,  310,    0,  342,  342,    0,
426         0,    0,    0,  342,    0,    0,  342,  342,    0,    0,
427       366,  365,    0,    0,    0,    0,  376,  376,    0,  368,
428       367,  376,  376,  376,  376,    0,    0,    0,    0,    0,
429        12,    0,  384,  385,   30,   36,    0,    0,    0,   54,
430        68,    0,   50,    0,   44,   43,    0,    0,    0,    0,
431
432         0,    0,    0,   72,   71,   86,    0,   74,   73,   86,
433        86,    0,  102,    0,    0,    0,   92,   91,  102,    0,
434         0,    0,  126,  126,  126,  126,    0,    0,    0,    0,
435         0,    0,    0,    0,    0,    0,    0,  154,    0,    0,
436         0,    0,  172,  171,    0,    0,  176,  176,    0,    0,
437         0,    0,  198,  197,  202,  202,    0,  234,    0,  218,
438       217,    0,  230,  229,  234,  234,  234,  234,    0,  280,
439       280,    0,  276,  275,    0,  248,  247,    0,  252,  251,
440       280,  280,  280,  280,    0,    0,  298,  297,    0,  306,
441       305,  310,    0,  294,  293,  310,    0,    0,    0,  342,
442
443         0,  326,  325,    0,  338,  337,  342,    0,  324,  323,
444       342,    0,    0,    0,    0,  360,  359,    0,  370,  369,
445       376,  376,  376,  376,  376,    0,    0,    0,    0,    0,
446         0,   11,   30,    0,    0,    0,    0,   40,   54,  106,
447        50,    0,    0,   58,   57,    0,    0,   76,   75,    0,
448         0,   86,    0,    0,    0,   87,    0,    0,    0,   96,
449        95,  102,    0,    0,  118,  117,  126,  126,  126,  126,
450         0,    0,  142,    0,    0,    0,    0,    0,    0,    0,
451         0,  154,    0,  150,  149,    0,    0,  168,  167,  176,
452       176,    0,    0,  194,  193,  202,  202,    0,  234,  234,
453
454       234,  234,  234,    0,  280,  280,  280,  280,  280,  280,
455         0,  310,  310,    0,    0,  328,  327,  342,    0,    0,
456       342,  342,    0,  330,  329,    0,  376,  376,  376,  376,
457       376,    0,  356,  355,    0,    0,    0,    0,    0,   32,
458        31,    0,    0,   37,   40,  106,   50,    0,    0,   65,
459         0,   80,   79,   86,    0,   78,   77,    0,   94,   93,
460         0,    0,    0,  126,  126,  126,    0,    0,    0,    0,
461       142,    0,    0,    0,    0,    0,    0,    0,    0,  154,
462         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
463         0,  234,    0,    0,  234,  234,    0,    0,    0,  280,
464
465       280,  280,  280,  280,  280,    0,    0,    0,  310,    0,
466         0,    0,    0,    0,    0,  334,  333,  342,    0,    0,
467         0,  376,  376,  376,  376,    0,    0,    0,    0,    0,
468         0,    0,   50,    0,   51,   86,    0,   98,   97,    0,
469         0,    0,    0,    0,  126,    0,  110,  109,    0,    0,
470       127,    0,    0,    0,    0,    0,    0,    0,    0,    0,
471         0,    0,  155,    0,  170,  169,    0,  162,  161,    0,
472         0,  196,  195,    0,  184,  183,    0,    0,    0,    0,
473       222,  221,  234,  234,  234,    0,  210,  209,    0,  280,
474       280,  280,  280,    0,    0,    0,    0,  280,  280,  280,
475
476         0,  242,  241,    0,  310,    0,  288,  287,    0,    0,
477       332,  331,  342,    0,  318,  317,    0,  376,  376,    0,
478         0,    0,    0,    0,  350,  349,    0,  392,    0,    0,
479        90,   50,    0,    0,    0,    0,  122,  121,    0,  116,
480       115,    0,    0,    0,    0,    0,    0,    0,    0,    0,
481         0,    0,    0,  148,  147,    0,    0,    0,  220,  219,
482       234,  234,  234,    0,    0,    0,    0,    0,    0,    0,
483         0,    0,    0,  260,  259,    0,  262,  261,  280,  280,
484       280,    0,  310,    0,  342,    0,    0,    0,  376,    0,
485       362,  361,    0,  364,  363,    0,    0,    0,    0,    0,
486
487         0,    0,    0,    0,    0,    0,    0,    0,   90,    0,
488         0,    0,   82,   81,    0,    0,  120,  119,    0,    0,
489         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
490         0,  234,  234,    0,    0,  250,  249,    0,  254,  253,
491         0,  256,  255,    0,  258,  257,  280,  280,  280,  280,
492         0,  310,    0,  342,    0,    0,  358,  357,  376,    0,
493         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
494         0,    0,    0,    0,    0,    0,   46,   45,    0,  103,
495         0,    0,    0,    0,    0,    0,    0,  314,    0,    0,
496         0,    0,  226,  225,    0,    0,    0,    0,    0,    0,
497
498         0,    0,    0,  280,  280,  280,  280,    0,    0,    0,
499         0,    0,    0,    0,  376,    0,    0,    0,    0,    0,
500         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
501         0,  130,    0,    0,  158,    0,    0,    0,  314,    0,
502         0,    0,    0,  224,  223,    0,  228,  227,    0,    0,
503       266,  265,    0,  270,  269,    0,    0,    0,    0,    0,
504         0,    0,    0,    0,    0,  304,  303,    0,    0,  336,
505       335,    0,    0,    0,    0,    0,    0,    0,    0,    0,
506         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
507         0,  130,  206,    0,  158,    0,    0,  284,    0,    0,
508
509         0,    0,    0,  264,  263,    0,  268,  267,    0,  272,
510       271,    0,  274,  273,    0,    0,    0,  343,    0,  372,
511       371,    0,    0,    0,    0,    0,    0,    0,    0,    0,
512         0,    0,    0,    0,    0,    0,    0,    0,    0,  206,
513         0,    0,    0,  284,    0,  139,    0,  177,    0,    0,
514         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
515         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
516       238,  346,    0,    0,    0,  235,    0,    0,  311,    0,
517         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
518         0,    0,    0,    0,    0,    0,  238,  346,  180,    0,
519
520         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
521         0,    0,    0,    0,    0,    0,    0,  180,    0,    0,
522       281,    0,  377,    0,    0,    0,    0,    0,    0,    0,
523         0,    0,    0,    0,    0,    0,    0,    0,    0,  203,
524         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
525         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
526         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
527         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
528         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
529         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
530
531         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
532         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
533         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
534         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
535         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
536         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
537         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
538         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
539         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
540         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
541
542         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
543         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
544         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
545         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
546         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
547         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
548         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
549         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
550         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
551         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
552
553         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
554         0,   16,    0,    0,    0,    0,    0,    0,    0,    0,
555         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
556         0,    0,    0,    0,   14,    0,    0,    0,    0,    0,
557         0,    0,    0,    0,    0,   17,    0,    0,    0,    0,
558        18,    0,   22,    0,    0,    0,    0,    0,    0,    0,
559         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
560         0,    0,   21,    0,    0,    0,    0,    0,    0,    0,
561         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
562         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
563
564         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
565         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
566         0,    0,    0,    0,    0,   19,    0,    0,    0,    0,
567         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
568         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
569         0,    0,    0,    0,   27,    0,    0,    0,    0,   20,
570         0,   23,    0,    0,    0,    0,    0,    0,   13,    0,
571         0,    0,    0,    0,    0,    0,   25,    0,    0,    0,
572         0,    0,   24,    0,   26,    0,    0,   15,    0
573     } ;
574
575 static yyconst int yy_ec[256] =
576     {   0,
577         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
578         1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
579         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
580         1,    2,    5,    6,    7,    1,    1,    8,    9,    1,
581         1,    1,    1,    1,   10,   11,   12,   13,   14,   15,
582        13,   13,   13,   13,   13,   13,   13,   16,   17,   18,
583        19,   20,   21,    1,   22,   23,   24,   25,   26,   27,
584        28,   16,   29,   16,   16,   30,   31,   16,   32,   33,
585        16,   34,   35,   36,   16,   16,   37,   16,   38,   16,
586        39,    1,   40,    1,   16,    1,   41,   42,   43,   44,
587
588        45,   46,   47,   48,   49,   16,   50,   51,   52,   53,
589        54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
590        64,   65,    1,    1,    1,    1,    1,    1,    1,    1,
591         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
592         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
593         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
594         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
595         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
596         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
597         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
598
599         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
600         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
601         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
602         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
603         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
604         1,    1,    1,    1,    1
605     } ;
606
607 static yyconst int yy_meta[66] =
608     {   0,
609         1,    2,    2,    2,    1,    1,    1,    1,    1,    3,
610         3,    1,    4,    4,    4,    5,    6,    1,    7,    8,
611         1,    9,    9,    9,    9,    9,    9,    5,    5,    5,
612         5,    5,    5,    5,    5,    5,    5,    5,    1,    1,
613         9,    9,    9,    9,    9,    9,    5,    5,    5,    5,
614         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
615         5,    5,    5,    5,    5
616     } ;
617
618 static yyconst short int yy_base[2652] =
619     {   0,
620         0,    0,    0,    3,    6,    9,   12,   29,   16,   19,
621        14,   17,   33,   36,   49,   55,   45,   61,   66,   72,
622       101,  153,   75,   78,  121,  124,  127,  130,  133,  173,
623       176,  179,  182,  185,  205,  254,  225,  229,  232,  235,
624       303,  353,  274,  278,  281,  284,  403,    0,  323,  326,
625       329,  332,  468,  530,  373,  376,  379,  382,  592,    0,
626       488,  492,  496,  499,  550,  554,  657,  721,  558,  561,
627       677,  680,  683,  686,  689,  741,  744,  747,  785,  849,
628       750,  753,  805,  808,  913,    0,  811,  814,  817,  869,
629       978,    0,  872,  875,  878,  881, 1043,    0, 1107, 1110,
630
631      1113, 1116, 1134,    0, 1198, 1201, 1204, 1207, 1225,    0,
632      1289, 1292, 1295, 1298, 1316,    0, 1380, 1383, 1386, 1389,
633      1407,    0, 1471, 1474, 1477, 1480, 1482, 1493, 7317, 8204,
634      8204,   84,   95,   29,   41, 8204,  238,   51, 8204, 8204,
635      7306, 8204, 8204, 7295, 8204, 7306, 7306, 1480, 8204, 8204,
636      8204, 8204, 7304, 7300, 7262, 8204, 1483, 8204,  287, 7281,
637         0,  499, 8204, 7255, 1488, 8204,  335, 1502, 1489,  506,
638       561, 8204,  385, 7275,    0,  507, 8204, 7243, 7240, 7244,
639      8204,  520,  568,  689, 8204,  583, 7267,    0,  569, 8204,
640      7221, 7237, 7235, 8204,  709,  697,  753, 8204,  773, 7255,
641
642         0,  695, 8204, 7220, 7219,  655, 7219, 7214, 7221, 8204,
643       779,  758, 8204,  834, 7241,    0,  698, 8204, 7200, 7207,
644      7213, 7208, 8204,  841,  886, 1497, 8204,  898, 7232,    0,
645       825, 8204, 7196, 7189, 7204, 7196, 7185, 7189, 1538, 1541,
646       887, 8204, 1119, 1525, 8204, 1210, 6943,    0,  826, 8204,
647      1545, 1548, 1563, 8204, 1301, 6950, 1549, 1550, 8204, 1392,
648      6941,    0,  889, 8204, 6903, 6918, 1571, 1574, 8204, 1577,
649      1583, 1584, 8204, 1598, 6938,    0, 1548, 8204, 6912,   39,
650      6903, 6906, 1604, 1607, 8204, 1612, 1607, 1612, 8204, 1618,
651      6933,    0, 1561, 8204, 6898, 1628, 6907, 6897, 6895, 1632,
652
653      1635, 1638, 8204, 1641, 1643, 1644, 8204, 1656, 6923,    0,
654      1645, 8204,   17, 6896, 6896, 6881, 6861, 6855, 6860, 1659,
655      1666, 8204, 1672, 1667, 1666, 8204, 1678, 6887,    0, 1672,
656      8204, 6855, 6847, 6832,   48, 6823, 6820, 6824, 1692, 1695,
657      8204, 1698, 1698, 1686, 8204, 1702, 6851,    0, 1687, 8204,
658      6810, 6789, 6795, 6789, 6757,  451, 6754, 6758, 1713, 1720,
659      8204, 1723, 1708, 1707, 8204, 1731, 6786,    0, 1725, 8204,
660      6753, 6746, 6736, 6742, 6741, 6738, 6731, 6719, 6718, 1734,
661      1738, 8204, 1745, 1739, 1740, 8204, 1752, 6744,    0, 1745,
662      8204, 6720, 6703, 6711,   94, 6696, 6688, 6693, 6696, 6690,
663
664      6685, 1760, 1765, 8204, 1768, 1753, 8204, 6729, 6719, 1745,
665      6716, 6678, 1773,   18, 6653, 8204, 6693, 6682, 8204, 8204,
666      8204, 1767,   91, 6640, 6625, 6623, 6662, 6629, 8204,    0,
667      6629, 6626, 6629, 6615, 6594, 6596, 6600, 8204,    0, 6592,
668      6595, 1785, 6621, 8204,    0, 6598, 1791, 6577, 6610, 8204,
669         0, 6577, 6574, 1795, 6584, 6557, 6573, 6567, 6577, 8204,
670         0, 6543, 6560, 6542, 6547, 6550, 8204,    0, 6505, 6514,
671      6508, 1803, 6480, 6468, 1809, 1814, 1822, 1829, 6471, 6486,
672      8204,    0, 1840, 1843, 1851, 1854, 6469, 6460,   41, 6467,
673      6466, 6456, 6441, 6446, 6465, 8204,    0, 6439, 6429, 1862,
674
675      1865, 1873, 1876, 6445, 8204,    0, 6415, 1884, 6424, 6420,
676      6401, 1887, 1891, 1905, 1908, 6429, 8204,    0, 6396, 1916,
677      1919, 6383, 1927, 6383, 6367, 1930, 1934, 1948, 1951, 1959,
678      1962, 6390, 8204,    0, 6364, 6350, 6356, 1970,  147, 6352,
679      1973, 6337, 1977, 1981, 1991, 1995, 6371, 6343, 8204,    0,
680      6341, 6325, 6331, 2003, 6333,  152, 6325, 6319, 2009, 2012,
681      2021, 2027, 6345, 8204,    0, 6300, 6295, 6299, 2035, 6305,
682      6291, 6289, 2039, 6279, 2042, 2046, 2060, 2063, 6294, 8204,
683         0, 6274, 6264, 6267, 6266, 2071, 6241, 6215, 6208, 6221,
684      2074, 2078, 2092, 2095, 6215, 8204,    0, 6192, 6191, 6190,
685
686      2103, 6193, 6185, 6192, 6194, 6182, 6173, 6184, 2106, 2110,
687      2124, 2127, 6177, 6168, 6185, 6180, 6178,  535, 6135, 8204,
688      2124,    0, 6130, 6126, 6162, 6160, 6118, 8204, 6126, 6116,
689      6119, 2142, 2145, 6104, 6116, 6107, 6101, 6102, 6071, 2148,
690      2151, 2166, 2169, 6059, 2172, 2175, 2192, 2195, 2199, 6050,
691      6039, 2202, 2220, 6046, 6050, 6038, 6035, 2205, 2210, 6028,
692      6022, 6025, 6005, 2229, 2232, 6011, 6010, 6004, 2235, 2238,
693      6003, 5997, 2253, 8204, 8204, 2263, 8204, 8204, 5992, 2271,
694      2274, 2279, 8204, 8204, 2293, 8204, 8204, 6000, 5979, 5992,
695      5990, 5989, 5985, 5971, 5956, 2301, 2304, 5963, 5963, 2307,
696
697      8204, 8204, 2316, 8204, 8204, 2324, 2327, 5953, 2330, 2333,
698      5956, 5950, 5950, 2348, 8204, 8204, 2357, 8204, 8204, 2365,
699      2368, 5941, 2372, 8204, 8204, 5938, 2380, 2387, 5941, 5941,
700      2398, 8204, 8204, 2406, 8204, 8204, 2415, 8204, 8204, 2423,
701      2426, 5940, 5927, 5915, 2429, 2432, 5915, 5910, 5912, 2447,
702      2450, 5909, 2458, 8204, 8204, 2466, 8204, 8204, 2474, 2477,
703      5911, 5910, 5890, 2480, 2483,  135, 5875, 5867, 5868, 5869,
704      2498, 8204, 8204, 2506, 8204, 8204, 2514, 2518, 2521, 2524,
705      2527, 2545, 2548, 2556, 2559, 2566, 2569, 2577, 2587, 2590,
706      8204, 8204, 2598, 8204, 8204, 2610, 2613, 5869, 5853, 5848,
707
708      5847, 2616, 2619, 5847, 5840, 5841, 5830, 2635, 8204, 8204,
709      2643, 8204, 8204, 2651, 2654, 2657, 2663, 2666, 2675, 2684,
710      2693, 2698, 2701, 2704, 2707, 2711, 2725, 2729, 8204, 8204,
711      2737, 8204, 8204, 2749, 2752, 5863, 8204, 5866, 8204, 8204,
712       178, 5832, 8204, 5865, 5863, 5804, 8204, 8204, 5802, 5799,
713      5805, 5787, 2755, 2759, 8204, 2762, 5786, 5783, 5776, 5789,
714      5787, 2774, 2783, 8204, 8204, 2792, 2795, 8204, 2798, 5768,
715      2802, 8204, 8204, 2817, 2820, 2828, 2831, 8204, 2835, 5768,
716      2839, 2843, 8204, 8204, 5771, 2857, 5757, 5764, 2861, 2864,
717      8204, 2867, 5754, 5747, 2870, 5751, 2875, 2888, 8204, 2894,
718
719      5747, 5735, 5715, 2897, 8204, 8204, 5732, 5729, 5707, 2907,
720      2913, 8204, 2920, 5713, 5699, 5710, 5705, 5683, 5682, 5696,
721      5675, 2926, 2932, 8204, 2939, 5663, 5674, 2945, 2951, 8204,
722      2954, 2958, 2966, 8204, 8204, 2976, 2979, 2982, 2985, 3000,
723      8204, 3005, 5660, 3008, 3013, 8204, 8204, 5663, 5669, 3027,
724      3030, 8204, 3033, 5667, 3036, 3039, 3057, 8204, 8204, 5655,
725      5643, 5638, 3065, 8204, 8204, 5652, 3075, 3078, 8204, 3081,
726      5643, 5649, 3084, 3087, 8204, 8204, 3102, 3105, 5641, 5627,
727      5627, 5626, 3108, 3111, 8204, 3114, 3123, 3135, 3143, 3146,
728      3149, 8204, 8204, 3164, 3167, 3175, 3178, 3182, 8204, 8204,
729
730      3196, 3199, 3202, 8204, 3205, 5613, 5614, 3208, 3214, 3226,
731      8204, 8204, 5612, 3237, 5618, 5610, 3240, 3243, 8204, 3246,
732      3249, 3255, 3267, 3270, 3273, 8204, 8204, 3281, 3288, 3291,
733      3295, 3309, 3312, 3316, 3319, 3322, 3337, 8204, 3342, 5616,
734      1783, 3348, 8204, 8204, 5621, 5616, 5573, 5542, 5553, 3345,
735      5549, 5524, 3357, 5519, 5507, 3368, 3371, 3382, 3386, 3389,
736      8204, 8204, 3397, 3404, 3407, 3410, 3418, 3425, 3429, 3437,
737      3443, 3449, 5485, 3455, 3461, 3464, 5485, 3473, 3479, 3482,
738      3487, 3492, 3501, 5465, 3510, 5453, 5450, 5436, 5439, 5446,
739      5416, 5408, 5424, 3513, 5386, 3519, 3525, 3538, 3544, 3556,
740
741      3559, 3562, 3565, 3580, 3584, 3587, 3602, 3605, 3612, 5356,
742      3615, 3624, 3633, 3637, 5354, 5337, 5339, 5287, 3645, 5285,
743      5249, 3651, 3655, 3664, 3670, 3678, 3682, 5247, 5225, 5208,
744      5179, 3690, 3696, 8204, 8204, 3704, 3709, 3717, 3722, 3735,
745      8204, 8204, 5178, 3743, 3746, 5151, 3754, 3757, 3761, 3764,
746      3769, 3782, 3785, 3793, 3801, 3804, 3812, 3815, 3819, 3823,
747      8204, 8204, 3833, 3839, 3847, 3851, 5141, 5138, 3865, 8204,
748      8204, 5113, 5073, 5060, 3873, 3877, 5086,  210, 5059, 3881,
749      8204, 5044, 8204, 8204, 3884, 3887, 5034, 3891, 4977, 3896,
750      3900, 4964, 4960, 3906, 8204, 8204, 3914, 3918, 3921, 3929,
751
752      3941, 3944, 3955, 8204, 8204, 3963, 3966, 8204, 8204, 3974,
753      3977, 3936, 3981, 3987, 3995, 4005, 8204, 8204, 4949, 4013,
754      4016, 4022, 4034, 4037, 4040, 4045, 4928, 4048, 4917, 4914,
755      4929, 4878, 4836, 4831, 4825, 4803, 4058, 4783, 4063, 4067,
756      4077, 4090, 8204, 8204, 4081, 4101, 4109, 4115, 4118, 4121,
757      4133, 4141, 8204, 8204, 4149, 4152, 4162, 4794, 4170, 8204,
758      8204, 4181, 8204, 8204, 4752, 4706, 4695, 4703, 4189, 4681,
759      4648, 4192, 8204, 8204, 4202, 8204, 8204, 4210, 8204, 8204,
760      4640, 4629, 4572, 4575, 4218, 4221, 8204, 8204, 4230, 8204,
761      8204, 4553, 4238, 8204, 8204, 4516, 4246, 4250, 4253, 4261,
762
763      4268, 8204, 8204, 4279, 8204, 8204, 4290, 4293, 8204, 8204,
764      4301, 4304, 4308, 4325, 4328, 8204, 8204, 4338, 8204, 8204,
765      4421, 4395, 4390, 4377, 4256, 4348, 4351, 4359, 4242,  464,
766       124, 8204, 4362, 4366, 4369, 4205, 4378, 4384, 4388, 4391,
767      4151, 4397, 4400, 8204, 8204, 4408, 4412, 8204, 8204, 4420,
768      4423, 4431, 4434, 4438, 4452, 8204, 4455, 4458, 4467, 8204,
769      8204, 4475, 4478, 4483, 8204, 8204, 4493, 4497, 4501, 4506,
770      4111, 4511, 4515, 4137, 4095, 4087, 4028, 4008, 3989, 3942,
771      4520, 3923, 4524, 8204, 8204, 4532, 4535, 8204, 8204, 4543,
772      4551, 4555, 4562, 8204, 8204, 4574, 4578, 4581, 3907, 4584,
773
774      3872, 3855, 4588, 4592, 3860, 3820,  283, 3807, 3741, 4596,
775      4602, 3720, 4607, 4615, 4627, 8204, 8204, 4635, 4638, 4644,
776      4656, 4659, 4662, 8204, 8204, 4677, 3718, 3677, 3570, 3540,
777      4680, 4683, 8204, 8204, 4692, 3554,  320,    3, 4698, 8204,
778      8204, 3478, 4706, 8204, 4711, 4714, 3443, 4717, 4720, 8204,
779      4726, 8204, 8204, 4740, 4743, 8204, 8204, 4751, 8204, 8204,
780      4759, 4762, 4770, 4773, 4777, 4780, 4784, 4791, 3451, 4802,
781      4805, 3376, 3318, 3326, 3317, 3282, 3252, 3246, 4808, 4811,
782      4814, 4822, 4829, 4841, 4844, 4852, 4859, 4862, 4871, 4877,
783      4885, 4889, 4892, 4895,  335, 3257, 4910, 4913, 4921,  511,
784
785       563, 4924, 4931,  645, 3210, 4934, 4945, 4953, 3168, 4956,
786      4959, 4967, 4974, 4977, 4986, 8204, 8204, 4994, 4997, 5000,
787      5008, 3088, 3070, 5015, 5018, 5021, 5027, 5039, 3080, 5042,
788       781, 3019, 3008, 5045, 8204, 5048, 5051, 8204, 8204, 5066,
789      5069, 5072, 5080, 5087, 5098, 5101, 8204, 8204, 2995, 5111,
790      8204, 2995, 2966, 2823, 2793, 2722, 2622, 2574, 5116, 5119,
791      5123, 5131, 8204, 5137, 8204, 8204, 5146, 8204, 8204, 5154,
792      5157, 8204, 8204, 5166, 8204, 8204, 5174, 5177, 5180, 5189,
793      8204, 8204, 2568, 2560, 2492, 5197, 8204, 8204, 5206, 5209,
794      5212, 5215, 5218, 5236, 5239, 5247, 5250, 2434, 2446, 2425,
795
796      5259, 8204, 8204, 5267, 2381, 5270, 8204, 8204, 5278, 5282,
797      8204, 8204, 5290, 5293, 8204, 8204, 5301, 5304, 2356, 5308,
798      5311, 5322, 5333, 5341, 8204, 8204, 5349, 8204, 5407,  539,
799      5352, 5355, 5359, 5362, 5378, 5381, 8204, 8204, 5390, 8204,
800      8204, 5398, 5410, 2333, 2256, 2235, 2131, 2131, 1976, 1897,
801      1782, 5401, 5443, 8204, 8204, 5435, 5457, 5460, 8204, 8204,
802      5468, 1733, 1726, 5471, 5476, 5479, 5494, 5497, 5506, 5512,
803      5524, 5527, 5535, 8204, 8204, 5543, 8204, 8204,  752, 1721,
804      1672, 5551, 1570, 5554, 5557, 5560, 5563, 5575, 1513, 5583,
805      8204, 8204, 5591, 8204, 8204, 5601, 1479, 1780, 1893,  329,
806
807      1571,  299,  201, 1493,  250, 1789,  688, 1598, 5373, 5607,
808      5610, 5625, 8204, 8204, 5620, 5633, 8204, 8204, 1503, 1505,
809      1455, 1449, 1352, 1348, 1340, 1263, 5641, 5644, 5647, 5650,
810      5653, 5670, 5673, 5676, 5679, 8204, 8204, 5696, 8204, 8204,
811      5704, 8204, 8204, 5712, 8204, 8204, 5720, 5723,  758,  813,
812      5726, 5729, 5734, 5741, 5747, 5753, 8204, 8204, 1264, 5761,
813        74, 1497, 1500, 1538, 1574, 1664, 1633,  845, 1583,  473,
814      1486, 1739, 1763, 1636, 1795, 5766, 8204, 8204, 5774, 8204,
815      1251, 1166, 1159, 1164, 1073,  842,  780, 5420, 5780, 5783,
816      5787, 5793, 8204, 8204, 5802, 5807, 5815, 5820, 5828, 5840,
817
818      5843, 5851, 5854, 5862, 5865, 5869, 5872, 5875, 5890, 5894,
819      5902, 5908, 5911, 5921, 5927, 5930, 1853,  349, 1885, 1807,
820      1949, 1819, 1950,  499,  132, 1968, 1882, 1997, 1831, 1895,
821      5933, 5566,  771,  144, 5936,  192,  220,  294, 5940, 5945,
822      5953, 5958, 5965, 8204, 8204, 5973, 8204, 8204, 5982, 5985,
823      8204, 8204, 6003, 8204, 8204, 5994, 6012, 6020, 6023, 6031,
824      6038, 6049, 6052, 6060, 6063, 8204, 8204, 6071, 6075, 8204,
825      8204, 6083, 6086, 6090, 6098, 1842, 1907, 1966, 1771, 1841,
826      2012, 6104, 2006,  561, 1962, 2014,  885, 2015, 1999, 6107,
827      6111, 6119, 6126,  345, 6130,  475,  616, 6133, 6136, 6139,
828
829      6142, 6145, 6149, 8204, 8204, 6164, 8204, 8204, 6172, 8204,
830      8204, 6180, 8204, 8204, 6188, 6191, 6195, 8204, 6200, 8204,
831      8204, 6210, 2063, 1663, 1938, 1104, 2037, 6214, 6217, 1106,
832      1896, 2050, 2066, 2048, 6220, 2027, 6223, 6267, 6307, 6244,
833       666,  713,  715, 6251, 6257, 8204, 6260, 8204, 6279, 6298,
834      6301, 6328, 6331, 6336, 6339, 1109, 2080, 2112, 6358, 2097,
835      2104, 1884, 2068, 1197, 2065, 6361, 2139, 6350, 6396, 6436,
836      6254, 6287,  727, 6364, 6369, 8204, 6372, 6407, 8204, 6426,
837      6429, 6448, 2136, 1939,  813, 2144, 1864, 2163, 2141, 2197,
838      2207, 2225, 2190, 2120, 6458, 1203, 6290, 6293, 6384, 6467,
839
840      6470, 6477, 2230, 2233, 2167, 1288, 2243, 2223, 2250, 2231,
841      1291, 2267, 2226, 2281, 2320, 2294, 2326, 6417, 6482, 6492,
842      8204, 6496, 8204, 2321, 2342, 2333, 2325, 2383, 2375,  877,
843      2366, 2385, 1379, 2386, 2393, 2378, 6501, 2420, 6504, 8204,
844      2422, 2437, 2454, 2443, 2445, 1380, 2475, 2478, 2483, 2499,
845      2519, 2493, 2272, 6507, 2567, 2396, 2515, 2513, 2525, 2554,
846      2577, 6511, 2575, 2604, 2545, 2630, 6526, 2609, 2642, 2622,
847      2612, 2652, 2698, 2714, 6530, 6533, 6545, 6536, 2716, 2614,
848      2763, 6541, 6555, 2790, 2661, 6560, 6564, 6567, 2671, 6570,
849      6579, 2122, 2631, 6575, 2796, 2717, 6589, 2678, 6594, 2808,
850
851      6604, 6609, 6617, 6628, 2789, 2704, 2836, 2855, 2323, 2833,
852      2750, 2834, 2884, 6631, 2931, 2868, 2873, 2892, 6636, 2887,
853      2905, 2956, 2986, 2899, 6650, 3029, 2882, 2944, 2072, 2345,
854      3037, 6655, 3003, 2980, 2885, 2976, 3025, 2760, 2993, 3036,
855      3042, 3050, 3079, 3082, 3100, 6658, 3136, 2699, 3140, 3077,
856      3134, 3154, 6665, 6669, 3201, 2924, 3143, 3144, 6677, 3176,
857      3217, 3175, 3268, 3283, 3288, 3242, 3123, 2973, 3276, 3310,
858      2770, 3203, 3261, 3137, 6684, 3358, 3102, 3362, 3383, 6692,
859      3307, 3376, 3434, 3479, 3498, 3517, 3398, 3245, 3200, 3489,
860      3499, 2273, 2470, 3333, 3472, 3316, 3422, 6688, 3515, 3560,
861
862      3536, 3580, 3524, 3572, 3590, 3600, 3611, 3631, 3429, 3435,
863      6703, 2842, 2947, 3384, 3603, 6707, 3559, 3514, 3658, 6711,
864      3511, 3554, 3640, 3667, 3723, 3731, 3657, 3683, 3696, 3709,
865      6722, 3452, 6726, 3655, 3676, 3710, 3749, 6734, 3624, 3804,
866      6745, 3712, 3770, 3779, 3813, 3762, 3810, 3826, 3838, 3876,
867      3893, 3943, 3951, 6749, 3761, 3789, 3934, 3885, 3942, 1485,
868      3853, 3954, 3974, 4014, 3643, 6757, 3953, 4007, 3985, 4002,
869      4001, 4010, 4055, 4057, 4054, 4086, 4088, 4089, 4071, 4128,
870      6768, 4107, 4138, 2536, 4158, 6771, 4150, 4157, 6776, 4149,
871      4209, 4215, 4052, 4126, 2807, 4206, 3845, 3908, 4217, 4231,
872
873      3689, 4208, 4225, 4267, 4240, 4266, 6780, 4161, 4169, 6790,
874      6795, 8204, 4264, 4269, 6799, 6809, 4306, 4357, 4226, 4280,
875      6814, 4278, 4295, 4315, 4388, 6818, 6821, 4356, 4364, 4316,
876      4338, 4410, 4468, 6824, 8204, 4549, 4596, 4425, 4448, 6833,
877      4399, 4400, 4455, 4482, 6828, 8204, 4067, 4431, 6843, 6847,
878      8204, 6852, 8204, 4603, 4623, 4594, 4601, 4540, 4552, 4714,
879      4716, 4653, 4719, 4471, 4612, 4635, 4685, 4299, 4339, 4512,
880      4523, 6855, 8204, 4747, 4778, 4649, 4657, 4608, 4647, 4807,
881      4832, 4771, 4809, 4799, 4817, 4889, 4910, 4491, 4781, 4318,
882      4604, 4887, 4898, 4816, 4850, 4926, 4946, 5007, 5018, 4857,
883
884      4919, 5036, 5038, 4900, 4920, 4964, 4995, 6858, 5078, 5086,
885      5142, 5153, 5072, 5110, 5127, 5185, 5177, 5212, 5075, 5089,
886      5145, 5165, 4750, 5224, 6862, 8204, 5257, 5296, 5302, 5328,
887      5074, 5226, 5258, 5227, 5329, 5347, 5247, 5308, 5406, 5445,
888      6866, 5269, 5309, 5311, 5359, 6877, 6881, 5366, 5369, 5448,
889      5473, 5400, 5447, 6885, 8204, 6888, 5491, 5528, 6891, 8204,
890      6896, 8204, 5571, 5576, 5395, 5431, 6900, 6910, 8204, 5499,
891      5503, 5514, 5531, 5586, 5588, 6915, 8204, 6919, 6922, 5664,
892      5579, 6925, 8204, 6929, 8204, 6934, 6944, 8204, 8204, 6964,
893      6973, 6982, 6991, 7000, 7009, 7018, 7027, 7036, 7045, 7054,
894
895      7063, 7072, 7081, 7090, 7099, 7108, 7117, 7126, 7135, 7144,
896      7153, 7162, 7171, 7180, 7189, 7198, 7207, 7216, 7225, 7232,
897      7239, 7246, 7253, 7260, 7267, 7274, 7281, 7288, 7295, 7302,
898      7309, 7316, 7323, 7330, 7339, 7344, 7349, 7354, 7359, 7364,
899      7369, 7374, 7379, 7384, 7389, 7394, 7399, 7404, 7409, 7414,
900      7423, 7429, 7436, 7444, 7451, 7459, 7466, 7474, 7481, 7489,
901      7496, 7504, 7511, 7519, 7527, 7534, 7542, 7549, 7557, 7564,
902      7572, 7579, 7587, 7594, 7602, 7610, 7618, 7625, 7633, 7641,
903      7649, 7658, 7664, 7671, 7679, 7686, 7694, 7701, 7709, 7716,
904      7724, 7731, 7739, 7746, 7754, 7762, 7769, 7777, 7785, 7793,
905
906      7800, 7808, 7815, 7823, 7830, 7838, 7846, 7854, 7861, 7869,
907      7877, 7885, 7894, 7903, 7910, 7918, 7925, 7933, 7941, 7949,
908      7957, 7965, 7972, 7980, 7988, 7996, 8004, 8011, 8019, 8027,
909      8035, 8043, 8051, 8058, 8066, 8073, 8081, 8088, 8096, 8104,
910      8112, 8119, 8127, 8136, 8145, 8153, 8161, 8168, 8176, 8185,
911      8194
912     } ;
913
914 static yyconst short int yy_def[2652] =
915     {   0,
916      2490, 2490, 2491, 2491, 2491, 2491, 2492, 2492, 2493, 2493,
917      2494, 2494, 2495, 2495, 2495, 2495, 2496, 2496, 2497, 2497,
918      2498, 2498, 2497, 2497, 2499, 2499, 2497, 2497, 2499, 2499,
919      2499, 2499, 2497, 2497, 2500, 2500, 2501, 2501, 2497, 2497,
920      2502, 2502, 2503, 2503, 2497, 2497, 2489,   47, 2504, 2504,
921      2497, 2497, 2505, 2505, 2506, 2506, 2497, 2497, 2489,   59,
922      2497, 2497, 2507, 2507, 2497, 2497, 2508, 2508, 2497, 2497,
923      2497, 2497, 2509, 2509, 2509, 2509, 2497, 2497, 2510, 2510,
924      2511, 2511, 2497, 2497, 2489,   85, 2512, 2512, 2497, 2497,
925      2489,   91, 2513, 2513, 2497, 2497, 2489,   97, 2514, 2514,
926
927      2497, 2497, 2489,  103, 2515, 2515, 2497, 2497, 2489,  109,
928      2516, 2516, 2497, 2497, 2489,  115, 2517, 2517, 2497, 2497,
929      2489,  121, 2497, 2497, 2518, 2518, 2519, 2519, 2489, 2489,
930      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
931      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
932      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
933      2520, 2489, 2489, 2520, 2489, 2489, 2489, 2489, 2489, 2489,
934      2489, 2489, 2489, 2489, 2521, 2489, 2489, 2521, 2521, 2521,
935      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2522, 2489, 2489,
936      2522, 2522, 2522, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
937
938      2523, 2489, 2489, 2523, 2523, 2523, 2523, 2523, 2523, 2489,
939      2489, 2489, 2489, 2489, 2489, 2524, 2489, 2489, 2524, 2524,
940      2524, 2524, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2525,
941      2489, 2489, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525,
942      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2526, 2489, 2489,
943      2526, 2526, 2489, 2489, 2489,  253, 2489, 2489, 2489, 2489,
944      2489, 2527, 2489, 2489, 2527, 2527, 2527, 2527, 2489, 2489,
945      2489, 2489, 2489, 2489, 2489, 2528, 2489, 2489, 2528, 2528,
946      2528, 2528, 2528, 2528, 2489, 2489, 2489, 2489, 2489, 2489,
947      2489, 2529, 2489, 2489, 2529, 2529, 2529, 2529, 2529, 2529,
948
949      2529, 2529, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2530,
950      2489, 2489, 2530, 2530, 2530, 2530, 2530, 2530, 2530, 2530,
951      2530, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2531, 2489,
952      2489, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531,
953      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2532, 2489, 2489,
954      2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2532,
955      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2533, 2489, 2489,
956      2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533,
957      2533, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2534, 2489,
958      2489, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534,
959
960      2534, 2534, 2534, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
961      2489, 2489, 2489, 2535, 2489, 2489, 2489, 2489, 2489, 2489,
962      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2520,
963      2520, 2489, 2536, 2489, 2489, 2489, 2489, 2489, 2521, 2521,
964      2521, 2521, 2537, 2489, 2522, 2522, 2522, 2522, 2538, 2489,
965      2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2539, 2489,
966      2524, 2524, 2524, 2524, 2524, 2540, 2489, 2525, 2525, 2525,
967      2525, 2525, 2525, 2525, 2489, 2489, 2489, 2489, 2489, 2541,
968      2489, 2526, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
969      2489, 2489, 2489, 2489, 2542, 2489, 2527, 2527, 2527, 2489,
970
971      2489, 2489, 2489, 2543, 2489, 2528, 2528, 2528, 2528, 2528,
972      2528, 2489, 2489, 2489, 2489, 2544, 2489, 2529, 2529, 2489,
973      2489, 2529, 2529, 2529, 2529, 2489, 2489, 2489, 2489, 2489,
974      2489, 2545, 2489, 2530, 2530, 2530, 2530, 2530, 2530, 2530,
975      2530, 2530, 2489, 2489, 2489, 2489, 2546, 2489, 2489, 2531,
976      2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2489, 2489,
977      2489, 2489, 2547, 2489, 2532, 2532, 2532, 2532, 2532, 2532,
978      2532, 2532, 2532, 2532, 2489, 2489, 2489, 2489, 2548, 2489,
979      2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533, 2533,
980      2489, 2489, 2489, 2489, 2549, 2489, 2534, 2534, 2534, 2534,
981
982      2534, 2534, 2534, 2534, 2534, 2534, 2534, 2534, 2489, 2489,
983      2489, 2489, 2550, 2489, 2489, 2551, 2489, 2551, 2489, 2489,
984      2489, 2552, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2553,
985      2489, 2554, 2554, 2489, 2489, 2489, 2489, 2555, 2555, 2489,
986      2489, 2556, 2556, 2557, 2489, 2489, 2557, 2558, 2558, 2559,
987      2559, 2489, 2489, 2559, 2559, 2559, 2559, 2560, 2560, 2561,
988      2561, 2561, 2561, 2562, 2562, 2563, 2563, 2563, 2489, 2489,
989      2563, 2563, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2564,
990      2564, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
991      2489, 2489, 2489, 2489, 2489, 2565, 2565, 2566, 2566, 2489,
992
993      2489, 2489, 2489, 2489, 2489, 2567, 2567, 2568, 2489, 2489,
994      2568, 2568, 2568, 2489, 2489, 2489, 2489, 2489, 2489, 2569,
995      2569, 2570, 2489, 2489, 2489, 2570, 2489, 2489, 2570, 2570,
996      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2571,
997      2571, 2572, 2572, 2572, 2489, 2489, 2572, 2572, 2572, 2489,
998      2489, 2572, 2489, 2489, 2489, 2489, 2489, 2489, 2573, 2573,
999      2574, 2574, 2574, 2489, 2489, 2574, 2574, 2574, 2574, 2574,
1000      2489, 2489, 2489, 2489, 2489, 2489, 2575, 2575, 2576, 2576,
1001      2576, 2489, 2489, 2576, 2576, 2576, 2489, 2489, 2576, 2489,
1002      2489, 2489, 2489, 2489, 2489, 2577, 2577, 2578, 2578, 2578,
1003
1004      2578, 2489, 2489, 2578, 2578, 2578, 2578, 2489, 2489, 2489,
1005      2489, 2489, 2489, 2579, 2579, 2580, 2580, 2580, 2489, 2489,
1006      2580, 2580, 2580, 2580, 2580, 2580, 2580, 2489, 2489, 2489,
1007      2489, 2489, 2489, 2581, 2581, 2489, 2489, 2582, 2489, 2489,
1008      2582, 2489, 2489, 2583, 2489, 2489, 2489, 2489, 2489, 2489,
1009      2584, 2489, 2489, 2585, 2489, 2585, 2489, 2489, 2489, 2489,
1010      2586, 2586, 2489, 2489, 2489, 2489, 2587, 2489, 2587, 2588,
1011      2489, 2489, 2489, 2489, 2489, 2489, 2589, 2489, 2589, 2590,
1012      2590, 2489, 2489, 2489, 2590, 2590, 2590, 2590, 2489, 2591,
1013      2489, 2591, 2592, 2592, 2592, 2592, 2489, 2593, 2489, 2593,
1014
1015      2594, 2594, 2594, 2489, 2489, 2489, 2594, 2594, 2489, 2489,
1016      2595, 2489, 2595, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1017      2489, 2489, 2596, 2489, 2596, 2597, 2597, 2489, 2598, 2489,
1018      2598, 2599, 2489, 2489, 2489, 2599, 2599, 2599, 2489, 2600,
1019      2489, 2600, 2601, 2601, 2489, 2489, 2489, 2601, 2601, 2489,
1020      2602, 2489, 2602, 2603, 2603, 2603, 2489, 2489, 2489, 2603,
1021      2603, 2603, 2489, 2489, 2489, 2603, 2489, 2604, 2489, 2604,
1022      2605, 2605, 2605, 2489, 2489, 2489, 2605, 2605, 2605, 2605,
1023      2605, 2605, 2489, 2606, 2489, 2606, 2489, 2489, 2607, 2607,
1024      2489, 2489, 2489, 2489, 2489, 2607, 2607, 2489, 2489, 2489,
1025
1026      2607, 2489, 2608, 2489, 2608, 2609, 2609, 2609, 2609, 2489,
1027      2489, 2489, 2609, 2609, 2609, 2609, 2489, 2610, 2489, 2610,
1028      2489, 2489, 2611, 2611, 2489, 2489, 2489, 2611, 2611, 2489,
1029      2489, 2611, 2611, 2611, 2611, 2489, 2612, 2489, 2612, 2489,
1030      2613, 2614, 2489, 2489, 2489, 2489, 2489, 2615, 2489, 2616,
1031      2489, 2489, 2489, 2489, 2617, 2489, 2489, 2618, 2619, 2489,
1032      2489, 2489, 2620, 2621, 2489, 2489, 2621, 2489, 2489, 2621,
1033      2621, 2622, 2623, 2623, 2489, 2489, 2623, 2624, 2625, 2625,
1034      2625, 2625, 2625, 2489, 2626, 2489, 2489, 2489, 2489, 2489,
1035      2489, 2489, 2489, 2627, 2628, 2628, 2629, 2489, 2489, 2630,
1036
1037      2630, 2630, 2631, 2632, 2489, 2489, 2632, 2632, 2633, 2634,
1038      2489, 2489, 2489, 2489, 2634, 2634, 2634, 2634, 2635, 2636,
1039      2636, 2489, 2489, 2489, 2489, 2489, 2489, 2636, 2636, 2636,
1040      2636, 2637, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1041      2489, 2489, 2638, 2489, 2489, 2638, 2639, 2640, 2640, 2489,
1042      2489, 2489, 2489, 2640, 2489, 2489, 2640, 2640, 2641, 2489,
1043      2489, 2489, 2489, 2489, 2489, 2489, 2642, 2642, 2489, 2489,
1044      2489, 2642, 2642, 2642, 2642, 2643, 2489, 2644, 2645, 2645,
1045      2489, 2645, 2489, 2489, 2489, 2646, 2489, 2647, 2489, 2489,
1046      2489, 2489, 2648, 2489, 2489, 2489, 2649, 2489, 2489, 2620,
1047
1048      2489, 2489, 2489, 2489, 2489, 2621, 2489, 2489, 2489, 2621,
1049      2621, 2622, 2623, 2489, 2489, 2489, 2489, 2489, 2623, 2624,
1050      2489, 2489, 2625, 2625, 2625, 2625, 2489, 2626, 2489, 2489,
1051      2489, 2489, 2489, 2489, 2489, 2489, 2627, 2628, 2489, 2489,
1052      2629, 2489, 2489, 2489, 2489, 2489, 2630, 2630, 2631, 2489,
1053      2489, 2489, 2489, 2489, 2632, 2632, 2633, 2634, 2489, 2489,
1054      2489, 2489, 2489, 2489, 2634, 2634, 2634, 2634, 2635, 2636,
1055      2636, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1056      2636, 2636, 2636, 2636, 2637, 2489, 2489, 2489, 2489, 2489,
1057      2489, 2638, 2489, 2489, 2489, 2638, 2639, 2489, 2489, 2640,
1058
1059      2489, 2489, 2489, 2489, 2489, 2489, 2640, 2489, 2489, 2489,
1060      2640, 2489, 2489, 2641, 2489, 2489, 2489, 2489, 2489, 2489,
1061      2642, 2642, 2642, 2642, 2642, 2489, 2489, 2643, 2489, 2644,
1062      2645, 2489, 2489, 2489, 2489, 2489, 2647, 2489, 2489, 2489,
1063      2648, 2649, 2489, 2489, 2489, 2620, 2489, 2489, 2489, 2489,
1064      2489, 2621, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1065      2489, 2623, 2624, 2489, 2489, 2489, 2625, 2625, 2625, 2625,
1066      2489, 2626, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1067      2627, 2628, 2489, 2489, 2489, 2629, 2489, 2489, 2489, 2630,
1068      2630, 2631, 2489, 2489, 2489, 2632, 2632, 2633, 2634, 2634,
1069
1070      2634, 2634, 2634, 2635, 2636, 2636, 2636, 2636, 2636, 2636,
1071      2637, 2638, 2638, 2639, 2489, 2489, 2489, 2640, 2489, 2489,
1072      2640, 2640, 2489, 2489, 2489, 2641, 2642, 2642, 2642, 2642,
1073      2642, 2489, 2489, 2489, 2643, 2489, 2644, 2645, 2489, 2489,
1074      2489, 2489, 2489, 2489, 2489, 2489, 2648, 2649, 2489, 2489,
1075      2489, 2489, 2489, 2621, 2489, 2489, 2489, 2489, 2489, 2489,
1076      2489, 2489, 2624, 2625, 2625, 2625, 2489, 2489, 2489, 2626,
1077      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2627, 2628,
1078      2629, 2489, 2489, 2489, 2489, 2631, 2489, 2489, 2489, 2489,
1079      2633, 2634, 2489, 2489, 2634, 2634, 2489, 2489, 2635, 2636,
1080
1081      2636, 2636, 2636, 2636, 2636, 2489, 2489, 2637, 2638, 2489,
1082      2489, 2639, 2489, 2489, 2489, 2489, 2489, 2640, 2489, 2489,
1083      2641, 2642, 2642, 2642, 2642, 2489, 2489, 2643, 2489, 2644,
1084      2645, 2489, 2648, 2489, 2489, 2621, 2489, 2489, 2489, 2624,
1085      2489, 2489, 2489, 2489, 2625, 2489, 2489, 2489, 2489, 2489,
1086      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2627, 2489,
1087      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2631,
1088      2489, 2489, 2489, 2489, 2489, 2489, 2633, 2489, 2489, 2489,
1089      2489, 2489, 2634, 2634, 2634, 2489, 2489, 2489, 2635, 2636,
1090      2636, 2636, 2636, 2489, 2489, 2489, 2489, 2636, 2636, 2636,
1091
1092      2489, 2489, 2489, 2637, 2638, 2489, 2489, 2489, 2639, 2489,
1093      2489, 2489, 2640, 2489, 2489, 2489, 2641, 2642, 2642, 2489,
1094      2489, 2489, 2489, 2489, 2489, 2489, 2643, 2489, 2644, 2645,
1095      2489, 2648, 2489, 2489, 2624, 2489, 2489, 2489, 2489, 2489,
1096      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1097      2489, 2627, 2489, 2489, 2489, 2631, 2633, 2489, 2489, 2489,
1098      2634, 2634, 2634, 2635, 2489, 2489, 2489, 2489, 2489, 2489,
1099      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2636, 2636,
1100      2636, 2637, 2638, 2639, 2640, 2641, 2489, 2489, 2642, 2489,
1101      2489, 2489, 2489, 2489, 2489, 2643, 2644, 2644, 2644, 2644,
1102
1103      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2645, 2489, 2489,
1104      2489, 2489, 2489, 2489, 2624, 2489, 2489, 2489, 2489, 2489,
1105      2489, 2489, 2489, 2489, 2489, 2489, 2627, 2631, 2633, 2489,
1106      2489, 2634, 2634, 2635, 2489, 2489, 2489, 2489, 2489, 2489,
1107      2489, 2489, 2489, 2489, 2489, 2489, 2636, 2636, 2636, 2636,
1108      2637, 2638, 2639, 2640, 2641, 2489, 2489, 2489, 2642, 2643,
1109      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1110      2644, 2644, 2644, 2644, 2645, 2489, 2489, 2489, 2489, 2489,
1111      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2627, 2631,
1112      2633, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2635, 2489,
1113
1114      2489, 2489, 2489, 2636, 2636, 2636, 2636, 2637, 2489, 2489,
1115      2639, 2489, 2489, 2641, 2642, 2643, 2644, 2644, 2644, 2644,
1116      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1117      2645, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2627,
1118      2631, 2633, 2489, 2489, 2489, 2489, 2489, 2489, 2635, 2489,
1119      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1120      2489, 2489, 2489, 2637, 2489, 2489, 2489, 2639, 2489, 2489,
1121      2489, 2641, 2489, 2489, 2643, 2644, 2644, 2644, 2644, 2644,
1122      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2645,
1123      2645, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2627, 2631,
1124
1125      2633, 2635, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1126      2489, 2489, 2489, 2489, 2637, 2639, 2489, 2489, 2489, 2489,
1127      2489, 2643, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1128      2644, 2644, 2644, 2644, 2644, 2644, 2645, 2650, 2651, 2489,
1129      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2633, 2635,
1130      2637, 2639, 2643, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1131      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2650, 2651,
1132      2489, 2489, 2489, 2633, 2489, 2489, 2637, 2489, 2489, 2643,
1133      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1134      2644, 2644, 2644, 2644, 2644, 2645, 2489, 2489, 2489, 2633,
1135
1136      2637, 2643, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1137      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2489, 2633, 2489,
1138      2489, 2489, 2489, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1139      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2489, 2489,
1140      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1141      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1142      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1143      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1144      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1145      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1146
1147      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1148      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1149      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1150      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1151      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1152      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1153      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1154      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1155      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1156      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1157
1158      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1159      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1160      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1161      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1162      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1163      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1164      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1165      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1166      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1167      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1168
1169      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1170      2644, 2489, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1171      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1172      2644, 2644, 2644, 2644, 2489, 2644, 2644, 2644, 2644, 2644,
1173      2644, 2644, 2644, 2644, 2644, 2489, 2644, 2644, 2644, 2644,
1174      2489, 2644, 2489, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1175      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1176      2644, 2644, 2489, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1177      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1178      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1179
1180      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1181      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1182      2644, 2644, 2644, 2644, 2644, 2489, 2644, 2644, 2644, 2644,
1183      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1184      2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644, 2644,
1185      2644, 2644, 2644, 2644, 2489, 2644, 2644, 2644, 2644, 2489,
1186      2644, 2489, 2644, 2644, 2644, 2644, 2644, 2644, 2489, 2644,
1187      2644, 2644, 2644, 2644, 2644, 2644, 2489, 2644, 2644, 2644,
1188      2644, 2644, 2489, 2644, 2489, 2644, 2644, 2489,    0, 2489,
1189      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1190
1191      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1192      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1193      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1194      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1195      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1196      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1197      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1198      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1199      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1200      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1201
1202      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1203      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1204      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1205      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1206      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1207      2489
1208     } ;
1209
1210 static yyconst short int yy_nxt[8270] =
1211     {   0,
1212      2489,  132,  133,  132,  132,  133,  132,  132,  133,  132,
1213       132,  133,  132,  137,  133,  137,  143,  134,  140,  143,
1214       134,  140, 1181,  135, 2489,  141,  135,  617,  141,  138,
1215       137,  133,  137,  414,  144,  146,  147,  144,  146,  147,
1216       148,  149,  618,  148,  149,  414,  138,  153,  154,  415,
1217       150,  146,  147,  150,  151,  417,  148,  146,  147, 1531,
1218       151,  416,  148,  153,  154,  535,  150,  133,  133,  133,
1219       536,  416,  150,  133,  133,  133,  133,  133,  133,  133,
1220       133,  133,  508,  157,  155,  413,  413,  413,  690,  157,
1221       509,  554,  165,  839,  679,  165,  413,  413,  413,  555,
1222
1223       155,  158,  159,  133,  159,  158,  158,  158,  158,  158,
1224       158,  158,  160,  158,  158,  158, 1817,  158,  162,  158,
1225       163,  158,  167,  133,  167,  167,  133,  167,  133,  133,
1226       133,  133,  133,  133,  167,  133,  167,  601,  168,  158,
1227       158,  168,  623, 1181,  169,  624,  602,  169,  977,  978,
1228       168,  839,  164,  158,  159,  133,  159,  158,  158,  158,
1229       158,  158,  158,  158,  160,  158,  158,  158, 1438,  158,
1230       162,  158,  163,  158,  167,  133,  167,  167,  133,  167,
1231       167,  133,  167,  133,  133,  133,  133,  133,  133,  747,
1232       168,  158,  158,  170,  767, 1884,  170,  839,  748,  171,
1233
1234      1894, 1041,  171,  768,  164,  172,  173,  133,  173,  172,
1235       172,  172,  172,  172,  172,  172,  174,  172,  172,  172,
1236       839,  172,  176,  172,  177,  172,  182,  133,  182,  839,
1237       182,  133,  182,  133,  133,  133,  133,  133,  133,  413,
1238       413,  413,  183,  172,  172,  178,  183, 1330, 1896,  184,
1239       179, 1769,  184,  180,  172,  173,  133,  173,  172,  172,
1240       172,  172,  172,  172,  172,  174,  172,  172,  172,  839,
1241       172,  176,  172,  177,  172,  195,  133,  195, 1897,  195,
1242       133,  195,  133,  133,  133,  133,  133,  133,  413,  413,
1243       413,  196,  172,  172,  178,  196, 1502, 1503,  197,  179,
1244
1245      1771,  197,  180,  185,  186,  133,  186,  185,  185,  185,
1246       185,  185,  185,  185,  187,  185,  185,  185,  839,  185,
1247       189,  185,  190,  185,  211,  133,  211,  211,  133,  211,
1248       133,  133,  133,  133,  133,  133,  413,  413,  413,  839,
1249       212,  185,  185,  212, 1898, 1530,  165,  191,  839,  165,
1250      1768,  192,  193,  185,  186,  133,  186,  185,  185,  185,
1251       185,  185,  185,  185,  187,  185,  185,  185,  839,  185,
1252       189,  185,  190,  185,  224,  133,  224,  224,  133,  224,
1253       133,  133,  133,  133,  133,  133,  413,  413,  413, 1766,
1254       225,  185,  185,  225, 1583, 1584,  226,  191, 1941,  226,
1255
1256      1877,  192,  193,  198,  199,  133,  199,  198,  198,  198,
1257       198,  198,  198,  198,  200,  198,  198,  198,  201,  198,
1258       202,  198,  203,  198,  201,  201,  201,  201,  201,  201,
1259       201,  201,  201,  201,  201,  201,  201,  201,  201,  201,
1260       201,  198,  198,  201,  201,  204,  201,  201,  205,  201,
1261       201,  206,  201,  201,  201,  201,  201,  201,  201,  201,
1262       207,  201,  208,  201,  209,  201,  201,  201,  213,  214,
1263       133,  214,  213,  213,  213,  213,  213,  213,  213,  215,
1264       213,  213,  213,  839,  213,  217,  213,  218,  213,  133,
1265       133,  133,  839,  133,  133,  133, 1437,  243,  133,  243,
1266
1267       243,  133,  243,  417,  571,  241,  213,  213,  219,  241,
1268       417,  417,  220,  244,  572, 1826,  244,  433,  839,  416,
1269       221,  413,  413,  413, 1590, 1591,  416,  416, 1942,  222,
1270       213,  214,  133,  214,  213,  213,  213,  213,  213,  213,
1271       213,  215,  213,  213,  213, 1883,  213,  217,  213,  218,
1272       213,  133,  133,  133,  839,  133,  133,  133, 1181,  133,
1273       133,  133,  133,  133,  133,  417,  841,  241,  213,  213,
1274       219,  241,  417,  417,  220,  253, 1592, 1593,  253,  443,
1275       839,  416,  221,  434,  413,  413,  413, 1708,  416,  416,
1276      1931,  222,  227,  228,  133,  228,  227,  227,  227,  227,
1277
1278       227,  227,  227,  229,  227,  227,  227,  230,  227,  231,
1279       227,  232,  227,  230,  230,  230,  230,  230,  230,  230,
1280       230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
1281       227,  227,  233,  230,  230,  234,  230,  235,  230,  230,
1282       236,  230,  230,  237,  230,  230,  230,  230,  230,  230,
1283       230,  230,  238,  230,  239,  240,  230,  245,  246,  133,
1284       246,  245,  245,  245,  245,  245,  245,  245,  247,  245,
1285       245,  245, 1943,  245,  249,  245,  250,  245,  133,  133,
1286       133,  133,  133,  133,  255,  133,  255,  255,  133,  255,
1287       255,  133,  255,  417,  253,  245,  245,  253,  454,  417,
1288
1289       256,  417,  417,  256, 1598, 1599,  257,  839,  449,  416,
1290       413,  413,  413,  455,  435,  416, 1971,  416,  416,  251,
1291       252,  245,  246,  133,  246,  245,  245,  245,  245,  245,
1292       245,  245,  247,  245,  245,  245, 1774,  245,  249,  245,
1293       250,  245,  255,  133,  255,  133,  133,  133,  133,  133,
1294       133,  270,  133,  270,  270,  133,  270,  417,  257,  245,
1295       245,  258,  417, 1972,  258, 1747, 1748,  271, 1973,  459,
1296       271, 1804, 1805,  416,  413,  413,  413, 1999,  416,  436,
1297       413,  413,  413,  251,  252,  259,  260,  133,  260,  259,
1298       259,  259,  259,  259,  259,  259,  261,  259,  259,  259,
1299
1300      1181,  259,  263,  259,  264,  259,  133,  133,  133,  133,
1301       133,  133,  286,  133,  286,  286,  133,  286,  133,  133,
1302       133, 1893,  272,  259,  259,  272, 1806, 1807,  287,  417,
1303       417,  287,  839, 1838,  288,  413,  413,  413, 1630,  265,
1304      2007,  266,  413,  413,  413,  416,  416,  267,  268,  259,
1305       260,  133,  260,  259,  259,  259,  259,  259,  259,  259,
1306       261,  259,  259,  259,  839,  259,  263,  259,  264,  259,
1307       133,  133,  133,  304,  133,  304,  304,  133,  304,  133,
1308       133,  133,  133,  133,  133, 1824,  288,  259,  259,  305,
1309       417,  417,  305,  417, 1837,  306,  839,  466,  306,  413,
1310
1311       413,  413, 2047,  265,  839,  266,  416,  416, 1934,  416,
1312       479,  267,  268,  273,  274,  133,  274,  273,  273,  273,
1313       273,  273,  273,  273,  275,  273,  273,  273,  276,  273,
1314       277,  273,  278,  273,  276,  276,  276,  276,  276,  276,
1315       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
1316       276,  273,  273,  276,  276,  276,  276,  276,  276,  276,
1317       279,  280,  276,  276,  276,  276,  281,  276,  276,  276,
1318       276,  276,  276,  282,  276,  283,  284,  276,  289,  290,
1319       133,  290,  289,  289,  289,  289,  289,  289,  289,  291,
1320       289,  289,  289,  292,  289,  293,  289,  294,  289,  292,
1321
1322       292,  292,  292,  292,  292,  292,  292,  292,  292,  292,
1323       292,  292,  292,  292,  292,  292,  289,  289,  292,  292,
1324       295,  292,  292,  292,  292,  296,  297,  292,  292,  292,
1325       292,  298,  292,  292,  292,  292,  292,  292,  299,  300,
1326       301,  302,  292,  307,  308,  133,  308,  307,  307,  307,
1327       307,  307,  307,  307,  309,  307,  307,  307,  310,  307,
1328       311,  307,  312,  307,  310,  310,  310,  310,  310,  310,
1329       310,  310,  310,  310,  310,  310,  310,  310,  310,  310,
1330       310,  307,  307,  310,  310,  310,  313,  310,  310,  310,
1331       314,  315,  310,  310,  310,  310,  316,  310,  310,  310,
1332
1333       310,  317,  318,  319,  310,  320,  321,  310,  323,  133,
1334       323,  323,  133,  323,  133,  133,  133,  133,  133,  133,
1335       413,  413,  413,  839,  324,  839, 1957,  324,  839, 1961,
1336       325, 1836, 1983,  325,  326,  327,  133,  327,  326,  326,
1337       326,  326,  326,  326,  326,  328,  326,  326,  326,  329,
1338       326,  330,  326,  331,  326,  329,  329,  329,  329,  329,
1339       329,  329,  329,  329,  329,  329,  329,  329,  329,  329,
1340       329,  329,  326,  326,  329,  329,  332,  333,  329,  329,
1341       329,  334,  335,  329,  329,  329,  329,  336,  329,  329,
1342       329,  329,  337,  329,  338,  329,  339,  340,  329,  342,
1343
1344       133,  342,  342,  133,  342,  133,  133,  133,  133,  133,
1345       133,  413,  413,  413, 1835,  343,  839, 1834,  343, 1833,
1346      1991,  344, 1181, 1182,  344,  345,  346,  133,  346,  345,
1347       345,  345,  345,  345,  345,  345,  347,  345,  345,  345,
1348       348,  345,  349,  345,  350,  345,  348,  348,  348,  348,
1349       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
1350       348,  348,  348,  345,  345,  351,  348,  348,  352,  348,
1351       348,  348,  353,  354,  348,  348,  348,  348,  355,  348,
1352       348,  348,  348,  356,  357,  358,  348,  359,  360,  348,
1353       362,  133,  362,  362,  133,  362,  133,  133,  133,  133,
1354
1355       133,  133,  413,  413,  413, 1832,  363,  839, 1815,  363,
1356       839, 2027,  364, 1788, 2032,  364,  365,  366,  133,  366,
1357       365,  365,  365,  365,  365,  365,  365,  367,  365,  365,
1358       365,  368,  365,  369,  365,  370,  365,  368,  368,  368,
1359       368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
1360       368,  368,  368,  368,  365,  365,  371,  368,  368,  372,
1361       368,  373,  368,  374,  375,  368,  368,  368,  368,  368,
1362       368,  368,  368,  376,  377,  368,  378,  379,  380,  381,
1363       368,  383,  133,  383,  383,  133,  383,  133,  133,  133,
1364       133,  133,  133,  413,  413,  413, 1787,  384,  839,  839,
1365
1366       384, 1786, 2050,  385, 1785, 2061,  385,  386,  387,  133,
1367       387,  386,  386,  386,  386,  386,  386,  386,  388,  386,
1368       386,  386,  389,  386,  390,  386,  391,  386,  389,  389,
1369       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1370       389,  389,  389,  389,  389,  386,  386,  392,  389,  389,
1371       389,  389,  393,  389,  394,  395,  389,  396,  389,  389,
1372       397,  398,  389,  389,  399,  389,  389,  400,  401,  402,
1373       403,  389,  133,  133,  133,  133,  133,  133,  405,  133,
1374       405,  405,  133,  405,  408,  409,  422,  417,  344,  410,
1375      2286,  344,  417,  417,  406,  408,  409,  406,  839,  411,
1376
1377       410,  417, 1784,  416,  839,  839,  417, 1783,  416,  416,
1378       411,  434,  839,  433,  435,  436,  839,  416,  428,  839,
1379       423,  412,  416,  432,  434,  437,  424,  435,  436,  417,
1380       425, 1761,  412,  437, 1827,  426,  480, 1770,  437,  475,
1381       475,  475,  477,  477,  477,  416,  483,  483,  483,  485,
1382       485,  485,  417,  417,  417, 1818,  476,  839, 1819,  478,
1383       495, 1782, 1781,  484, 1759,  417,  486,  417,  416,  416,
1384       416,  487,  500,  500,  500,  502,  502,  502,  413,  413,
1385       413,  416, 1820,  416,  487,  488,  489,  417,  417,  501,
1386       839,  490,  503,  839,  504,  491,  492,  493,  494,  413,
1387
1388       413,  413,  839,  416,  416,  512,  512,  512,  514,  514,
1389       514,  417,  490,  413,  413,  413,  417, 1181,  516,  413,
1390       413,  413,  513, 1825, 1767,  515, 1821,  416, 1752,  520,
1391       520,  520,  416,  526,  526,  526,  528,  528,  528,  530,
1392       530,  530,  413,  413,  413,  492,  521,  417,  417,  417,
1393       527, 1775,  839,  529,  532,  839,  531,  413,  413,  413,
1394       543,  543,  543,  416,  416,  416,  488,  545,  545,  545,
1395       417,  417,  522,  413,  413,  413,  417,  544,  547,  413,
1396       413,  413,  839,  839,  546, 1823,  416,  416, 1830,  548,
1397       417,  417,  416,  559,  559,  559,  561,  561,  561,  413,
1398
1399       413,  413,  417,  413,  413,  413,  416,  416, 1822,  563,
1400       560,  417,  417,  562,  575,  575,  575, 1955,  416,  579,
1401       493,  577,  577,  577,  413,  413,  413,  416,  416,  417,
1402      1750,  576,  413,  413,  413,  591,  591,  591,  578,  593,
1403       593,  593,  494,  417,  417,  416,  413,  413,  413,  417,
1404       595,  422,  592,  413,  413,  413,  594,  417,  839,  416,
1405       416,  609,  609,  609,  613,  416,  611,  611,  611,  413,
1406       413,  413,  491,  416,  413,  413,  413, 1749,  610,  621,
1407       621,  621,  839,  612, 1733,  423,  640,  640,  640, 1732,
1408       839,  424,  645,  645,  645,  425,  652,  652,  652,  839,
1409
1410       426, 1828,  839,  641,  669,  669,  669, 1829,  839,  646,
1411       475,  475,  475,  653, 1181,  673,  673,  673, 1178,  674,
1412      1926,  670,  675,  477,  477,  477,  839,  476, 1762,  622,
1413       676,  676,  676, 1772,  677, 1726, 1773,  678,  839, 1763,
1414       478,  483,  483,  483,  682,  682,  682, 1831,  683, 1879,
1415       839,  684,  485,  485,  485,  685,  685,  685,  484,  686,
1416       839,  839,  687,  500,  500,  500,  700,  700,  700,  486,
1417       701, 1881,  839,  702,  502,  502,  502,  703,  703,  703,
1418       501,  704, 1888,  839,  705,  709,  709,  709,  512,  512,
1419       512,  503,  714,  714,  714, 1923,  715, 1927, 2009,  716,
1420
1421      1876,  839,  710,  839,  839,  513,  514,  514,  514,  717,
1422       717,  717,  839,  718,  839,  839,  719,  520,  520,  520,
1423       723,  723,  723,  515,  724, 1886,  839,  725,  727,  727,
1424       727,  526,  526,  526,  521,  731,  731,  731, 1889,  732,
1425      1764, 1989,  733, 1878, 1962,  728, 1765, 1924,  527,  528,
1426       528,  528,  734,  734,  734, 1725,  735,  839,  839,  736,
1427       530,  530,  530,  737,  737,  737,  529,  738,  839,  839,
1428       739,  745,  745,  745,  750,  750,  750,  531,  543,  543,
1429       543,  839,  753,  753,  753,  839,  754,  839,  746,  755,
1430      1956,  751,  545,  545,  545,  544,  756,  756,  756, 1724,
1431
1432       757, 2006, 1932,  758,  764,  764,  764, 1880, 1882,  546,
1433       559,  559,  559,  771,  771,  771,  839,  772,  839, 1925,
1434       773,  765,  561,  561,  561,  839, 1885,  560,  774,  774,
1435       774,  839,  775,  839,  839,  776,  782,  782,  782,  562,
1436       787,  787,  787,  575,  575,  575,  839,  790,  790,  790,
1437      1930,  791, 1936,  783,  792, 1887,  839,  788, 1933, 1935,
1438       576,  577,  577,  577,  793,  793,  793,  839,  794,  839,
1439      1928,  795,  802,  802,  802,  591,  591,  591,  578,  808,
1440       808,  808,  839,  809,  839,  839,  810,  839, 1968,  803,
1441      1958,  839,  592,  593,  593,  593,  811,  811,  811,  839,
1442
1443       812, 1965, 1963,  813,  819,  819,  819,  609,  609,  609,
1444       594,  828,  828,  828, 1990,  829,  839, 1992,  830, 1954,
1445      2150,  820, 1964,  839,  610,  611,  611,  611,  831,  831,
1446       831,  839,  832, 1984, 1987,  833,  621,  621,  621,  839,
1447       843,  839,  612,  853,  853,  853,  853,  853,  853,  640,
1448       640,  640,  863,  863,  863,  839,  864, 1988,  839,  865,
1449       839,  855, 1985,  839,  855, 2016,  641,  866,  866,  866,
1450       866,  866,  866,  645,  645,  645,  871,  871,  871, 2109,
1451       872, 2008,  839,  873, 1723,  868,  839, 1722,  868, 2005,
1452       646, 1994,  856,  874,  874,  874,  876,  876,  876, 2011,
1453
1454       876,  876,  876,  652,  652,  652,  889,  889,  889,  839,
1455       875,  889,  889,  889,  878, 2010,  839,  869,  878, 2026,
1456       653,  882,  882,  882,  891,  883,  839, 2015,  884,  891,
1457       897,  897,  897,  897,  897,  897,  669,  669,  669,  904,
1458       904,  904,  839,  905,  839,  839,  906, 2012,  899,  839,
1459       839,  899,  839,  670,  673,  673,  673, 2029,  674,  879,
1460      2013,  675,  839,  892,  676,  676,  676, 2024,  677,  839,
1461      2025,  678,  910,  910,  910,  910,  910,  910, 2034,  900,
1462       682,  682,  682, 2014,  683, 2030,  839,  684, 1721, 2031,
1463       912,  839,  839,  912,  685,  685,  685, 2068,  686, 2028,
1464
1465       839,  687,  922,  922,  922,  922,  922,  922,  700,  700,
1466       700, 2033,  701,  839, 1720,  702, 2214,  703,  703,  703,
1467       924,  704,  913,  924,  705,  928,  928,  928,  928,  928,
1468       928,  709,  709,  709,  933,  933,  933, 2035,  934,  839,
1469       839,  935,  839,  930,  839,  839,  930, 2037,  710,  714,
1470       714,  714,  839,  715, 2036, 2041,  716,  925,  717,  717,
1471       717,  839,  718, 2038,  839,  719,  939,  939,  939,  939,
1472       939,  939, 2129,  723,  723,  723, 2042,  724, 2044,  931,
1473       725,  727,  727,  727,  941,  839, 1719,  941,  945,  945,
1474       945, 2043,  946, 2151,  839,  947, 1689,  839,  728,  731,
1475
1476       731,  731,  839,  732,  839,  839,  733,  734,  734,  734,
1477      2046,  735,  839, 2053,  736,  839,  737,  737,  737,  942,
1478       738, 2071, 2048,  739,  950,  950,  950,  950,  950,  950,
1479       745,  745,  745,  957,  957,  957, 2045,  958, 2049,  839,
1480       959,  839,  952, 1683, 2051,  952, 2052,  746,  750,  750,
1481       750,  963,  963,  963, 2055,  964,  839, 2056,  965,  753,
1482       753,  753,  839,  754,  839,  751,  755,  756,  756,  756,
1483       953,  757, 2057,  839,  758,  967,  967,  967,  967,  967,
1484       967,  764,  764,  764,  974,  974,  974, 1681,  975,  839,
1485      1680,  976, 1679,  969,  839, 2059,  969,  839,  765,  771,
1486
1487       771,  771,  839,  772, 2060, 2062,  773,  774,  774,  774,
1488      2058,  775,  839, 2215,  776,  983,  983,  983,  839,  983,
1489       983,  983,  987,  987,  987, 2489, 2489, 2489, 2489, 2489,
1490      2489, 2063,  839,  985,  839, 2064,  970,  985,  839,  988,
1491      2072, 2310, 2489, 2067,  839, 2489,  782,  782,  782,  991,
1492       991,  991, 2065,  992, 1663,  839,  993,  994,  994,  994,
1493      2489, 2489, 2489,  783,  839,  986, 2073, 2489, 2489, 2489,
1494       787,  787,  787,  839,  995, 2066,  989, 2489,  998,  998,
1495       998,  990,  999, 2074, 2489, 1000,  839,  788, 2489, 2489,
1496      2489,  790,  790,  790,  839,  791,  839, 2080,  792,  793,
1497
1498       793,  793, 2070,  794, 1662, 2489,  795, 2076, 2075,  996,
1499       997, 1002, 1002, 1002, 1002, 1002, 1002,  802,  802,  802,
1500      1010, 1010, 1010,  839, 1011, 2078, 1661, 1012,  839, 1004,
1501      1651,  839, 1004,  839,  803, 1001,  808,  808,  808, 2083,
1502       809,  839, 2086,  810,  811,  811,  811, 2085,  812,  839,
1503       839,  813, 1017, 1017, 1017, 1017, 1017, 1017, 1021, 1021,
1504      1021,  839, 2079, 1005, 2489, 2489, 2489, 2489, 2489, 2489,
1505      1019,  839, 2096, 1019, 1650, 1022,  819,  819,  819, 2084,
1506       839, 2489, 2087, 2081, 2489, 1025, 1025, 1025, 2110, 1026,
1507       839, 2101, 1027,  820, 2489, 2489, 2489,  839, 1020, 2489,
1508
1509      2489, 2489, 1030, 1030, 1030, 2489, 2489, 2489, 2489, 2489,
1510      2489, 2489, 2489, 2489, 2489, 2115, 2489,  839,  839, 1031,
1511      1024, 1023, 2489,  839, 2105, 2489, 2489, 2489, 2489, 2489,
1512       828,  828,  828,  839,  829,  839,  839,  830,  831,  831,
1513       831, 2126,  832, 2489, 1029,  833, 1028, 2169, 2088, 1033,
1514      1036, 1036, 1036, 1036, 1036, 1036,  853,  853,  853, 1034,
1515       853,  853,  853,  853,  853,  853, 1649, 1032, 1038,  839,
1516      2089, 1038, 2095, 2113,  855, 1056, 1056, 1056,  855,  839,
1517      2192,  855,  839, 1035,  863,  863,  863, 2131,  864,  839,
1518      2159,  865, 1057,  866,  866,  866,  866,  866,  866,  866,
1519
1520       866,  866, 1039,  871,  871,  871, 1050,  872,  839,  839,
1521       873,  868, 2321, 2097,  868,  839, 1648,  868,  874,  874,
1522       874, 1060, 1060, 1060, 2100, 1061,  839,  839, 1062,  876,
1523       876,  876,  876,  876,  876,  875,  876,  876,  876, 2125,
1524      1065, 1065, 1065, 2118,  882,  882,  882,  878,  883, 2112,
1525       878,  884,  839,  839,  878,  839, 1058, 1066, 1068, 1068,
1526      1068,  839,  889,  889,  889,  889,  889,  889,  889,  889,
1527       889, 1075, 1075, 1075,  839, 1069,  897,  897,  897, 1063,
1528       891, 1647, 2130,  891, 2132, 2234,  891,  839, 1076,  897,
1529       897,  897,  839, 2127,  899,  897,  897,  897,  904,  904,
1530
1531       904,  839,  905,  839,  839,  906,  839,  899,  910,  910,
1532       910,  839, 2128,  899,  910,  910,  910, 2138,  839, 1072,
1533      2156,  910,  910,  910,  839, 2136,  912,  922,  922,  922,
1534      2137, 2148,  912,  922,  922,  922, 2145, 2133, 1078,  912,
1535       922,  922,  922,  839, 2141,  924,  928,  928,  928, 2177,
1536       839,  924,  928,  928,  928,  928,  928,  928,  924, 1098,
1537      1098, 1098, 2142,  839,  930, 2135,  839,  933,  933,  933,
1538       930,  934, 1085,  930,  935,  839, 1099, 2489, 2489, 2489,
1539      2489, 2489, 2489, 2489, 2489, 2489,  939,  939,  939, 1646,
1540      2235, 1094,  839, 2149, 2489,  839, 1097, 2489, 2189,  839,
1541
1542      2489,  939,  939,  939,  941,  839,  939,  939,  939, 1105,
1543      1105, 1105,  839, 2143,  945,  945,  945, 2155,  946,  941,
1544      1100,  947,  839, 1102,  941, 2157, 1106, 1101,  950,  950,
1545       950,  950,  950,  950,  950,  950,  950, 1111, 1111, 1111,
1546      1113, 1113, 1113, 2144,  839, 1103,  952, 1645,  839,  952,
1547      2160, 1644,  952, 2154, 1112,  839,  839, 1114,  957,  957,
1548       957,  839,  958, 2147, 1632,  959,  963,  963,  963,  839,
1549       964, 2152, 1631,  965, 2158, 1109,  967,  967,  967,  967,
1550       967,  967,  967,  967,  967, 1122, 1122, 1122,  974,  974,
1551       974, 2162,  975, 2161,  969,  976,  839,  969,  839, 2163,
1552
1553       969,  839, 1123, 1124, 1124, 1124, 1126, 1126, 1126,  983,
1554       983,  983,  983,  983,  983,  983,  983,  983, 1628,  839,
1555      1125,  839, 1619, 1127,  987,  987,  987,  985, 2164, 2171,
1556       985, 2165, 2198,  985, 2166, 1618, 1133, 1133, 1133, 1119,
1557      1134,  988,  839, 1135, 1136, 1136, 1136, 1138, 1138, 1138,
1558       991,  991,  991,  839,  992,  839,  839,  993, 1132,  839,
1559      2188, 1137,  839,  839, 1139,  994,  994,  994, 1140, 1140,
1560      1140, 2168, 1141,  839, 2195, 1142, 2489, 2489, 2489, 1144,
1561      1144, 1144,  995,  998,  998,  998, 2172,  999, 2170, 2173,
1562      1000, 2178, 2179, 2489,  839,  839, 1145, 2489, 2489, 2489,
1563
1564      1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1150,
1565      1150, 1150, 1605, 2193, 2489, 1152, 1152, 1152, 1004,  839,
1566       839, 1004,  839, 2183, 1004, 2181, 1151, 1010, 1010, 1010,
1567      2211, 1011, 1153, 1143, 1012, 2176,  839, 1146, 1155, 1155,
1568      1155, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1569      1021, 1021, 1021, 1147, 1600, 1156, 1160, 1160, 1160, 1019,
1570      1161,  839, 1019, 1162,  839, 1019, 2182, 1022, 1163, 1163,
1571      1163, 1165, 1165, 1165, 1025, 1025, 1025, 2187, 1026, 2210,
1572       839, 1027, 2489, 2489, 2489, 1164, 2194,  839, 1166, 2489,
1573      2489, 2489, 1030, 1030, 1030,  839, 1169, 1169, 1169, 2489,
1574
1575      1170, 1585,  839, 1171, 1558, 1557, 2489,  839, 1159, 1031,
1576      2489, 2489, 2489, 2489, 2489, 2489, 2184, 2489, 2489, 2489,
1577      2489, 2489, 2489, 1036, 1036, 1036,  839, 2489, 2190,  839,
1578      2489, 2185, 1556, 1168, 2489,  839, 2186, 2489, 1036, 1036,
1579      1036, 1038, 1167, 1036, 1036, 1036,  853,  853,  853, 1180,
1580      1180, 1180,  839, 2218, 1172, 2203, 1038, 1174, 1191, 1191,
1581      1191, 1038, 2191, 2216,  855, 1173, 1175, 1181, 1182, 1056,
1582      1056, 1056, 1194, 1194, 1194, 1555, 1195,  839, 1554, 1196,
1583      1553,  839, 1176,  866,  866,  866, 1057, 1198, 1198, 1198,
1584      1060, 1060, 1060, 2197, 1061,  839, 1188, 1062,  876,  876,
1585
1586       876,  868,  839,  839, 1199, 1201, 1201, 1201, 1065, 1065,
1587      1065, 1203, 1203, 1203, 2199, 1204,  878,  839, 1205, 2489,
1588      2489, 2489, 1202, 2209, 2204, 1066, 1068, 1068, 1068, 1552,
1589      1207, 1207, 1207, 1197, 1208, 2200, 2489, 1209, 2489, 2489,
1590      2489,  839, 2236, 1069, 2489, 2489, 2489, 2219,  839, 1200,
1591       889,  889,  889,  839,  839, 2489, 1214, 1214, 1214, 2231,
1592      1206, 2489, 1075, 1075, 1075, 1216, 1216, 1216,  891, 1217,
1593      2232,  839, 1218, 1215,  897,  897,  897, 2255, 1549, 1076,
1594      1221, 1221, 1221, 2489, 2489, 2489, 2205, 1210, 2489, 2489,
1595      2489,  839,  899, 2489, 2489, 2489, 1533, 1222,  839, 2212,
1596
1597      2489, 1211, 2489, 2489, 2489, 2489, 2217, 1212,  839, 2213,
1598      2489,  910,  910,  910,  922,  922,  922,  839,  839, 2489,
1599      1239, 1239, 1239, 1532, 1220, 2221,  928,  928,  928,  912,
1600       839, 2206,  924,  839,  839, 1224,  839, 1240, 1223, 1098,
1601      1098, 1098, 1225,  839,  930, 1242, 1242, 1242, 2240, 1243,
1602      2207, 1226, 1244, 1228, 2244,  839, 1099, 1245, 1245, 1245,
1603      2489, 2489, 2489, 2489, 2489, 2489,  939,  939,  939, 2208,
1604      2222, 1237, 1241,  839, 1246, 1529, 2225, 2489,  839,  839,
1605      2489, 1250, 1250, 1250,  941, 1105, 1105, 1105, 1252, 1252,
1606      1252,  839, 1253, 2223, 2239, 1254, 1525, 2245, 1251,  839,
1607
1608      2227, 1247, 1106, 2489, 2489, 2489, 2489, 2489, 2489,  839,
1609      2228, 1249, 1248,  950,  950,  950, 1111, 1111, 1111,  839,
1610      2489, 2229,  839, 2489, 2226, 1259, 1259, 1259, 1524, 1260,
1611       839,  952, 1261, 1112, 1113, 1113, 1113, 2224, 1262, 1262,
1612      1262, 2230, 1263,  839, 1255, 1264,  967,  967,  967, 2264,
1613       839, 1114, 1122, 1122, 1122, 1256, 1272, 1272, 1272,  839,
1614      1273, 2237,  839, 1274,  969, 1124, 1124, 1124, 2290, 1123,
1615      1257, 1275, 1275, 1275,  839, 1276,  839,  839, 1277, 1126,
1616      1126, 1126, 1125, 1278, 1278, 1278,  839, 1279, 2241, 2246,
1617      1280,  983,  983,  983, 2326,  839, 1127, 1133, 1133, 1133,
1618
1619      2250, 1134,  839, 1269, 1135, 1136, 1136, 1136,  839,  985,
1620      1286, 1286, 1286, 2258, 1287,  839, 2247, 1288, 1138, 1138,
1621      1138, 1523, 1137, 1289, 1289, 1289, 2251, 1290,  839,  839,
1622      1291,  839, 1285, 2248, 2259, 1139, 1140, 1140, 1140, 2252,
1623      1141, 2249,  839, 1142, 1144, 1144, 1144, 1293, 1293, 1293,
1624       839, 1294, 2253, 2260, 1295, 1002, 1002, 1002, 1298, 1298,
1625      1298, 1145, 2489, 2489, 2489, 1150, 1150, 1150,  839, 2267,
1626      1301, 1301, 1301, 1004, 1302, 1299, 1522, 1303, 1509, 2489,
1627       839,  839, 1151, 1152, 1152, 1152, 1304, 1304, 1304,  839,
1628      1305, 2281, 2261, 1306, 2489, 2489, 2489, 1297,  839, 1505,
1629
1630      1153, 1300, 1155, 1155, 1155, 1308, 1308, 1308,  839, 1309,
1631      2271, 2489, 1310, 2489, 2489, 2489, 1312, 1312, 1312, 1156,
1632      1017, 1017, 1017,  839, 1160, 1160, 1160, 2268, 1161,  839,
1633      2489, 1162,  839, 1313, 1163, 1163, 1163, 2269, 1019, 2265,
1634      1315, 1315, 1315, 1307, 1316,  839, 2282, 1317, 1165, 1165,
1635      1165, 1164, 1318, 1318, 1318, 2322, 1319,  839, 2272, 1320,
1636      1504, 2286, 1311, 1501,  839, 1166, 1169, 1169, 1169, 2273,
1637      1170, 2270,  839, 1171, 1326, 1326, 1326, 1314, 1036, 1036,
1638      1036, 2274, 1180, 1180, 1180, 1333, 1333, 1333, 1334, 1334,
1639      1334, 1327,  853,  853,  853,  839, 1038, 1339, 1339, 1339,
1640
1641      1181, 1191, 1191, 1191,  839, 1335, 1500, 1194, 1194, 1194,
1642       855, 1195,  839, 1496, 1196,  866,  866,  866, 2323, 1198,
1643      1198, 1198, 1343, 1343, 1343, 1495, 1344,  839, 2284, 1345,
1644       876,  876,  876,  868, 2275, 1337, 1199, 1355, 1355, 1355,
1645      1328, 1331, 1201, 1201, 1201, 1347, 1347, 1347,  878, 1348,
1646      1492, 2276, 1349,  839, 1342, 1356, 1203, 1203, 1203, 1202,
1647      1204,  839,  839, 1205, 1350, 1350, 1350, 1207, 1207, 1207,
1648       839, 1208,  839,  839, 1209, 2489, 2489, 2489, 1353, 1353,
1649      1353, 1351, 1357, 1357, 1357, 2285, 1480, 1346, 1214, 1214,
1650      1214, 2283, 2489,  839, 1478, 1354, 1359, 1359, 1359, 1358,
1651
1652      1360, 2277, 2293, 1361,  839, 1215, 1216, 1216, 1216, 2278,
1653      1217, 2287, 1477, 1218,  897,  897,  897, 1221, 1221, 1221,
1654       839,  839, 1352, 1364, 1364, 1364,  839, 1365, 2295,  839,
1655      1366, 2288,  899,  839, 1222, 2489, 2489, 2489, 2489, 2489,
1656      2489, 2489, 2489, 2489, 2289, 2296, 2489, 2489, 2489,  910,
1657       910,  910, 2489, 2297, 1476, 2489, 2294, 1363, 2489,  922,
1658       922,  922, 2298, 2489, 1239, 1239, 1239,  912, 1383, 1383,
1659      1383,  839, 1384,  839,  839, 1385,  839,  924,  928,  928,
1660       928, 1240, 1245, 1245, 1245, 1475,  839, 1367, 1368, 1370,
1661       839, 1242, 1242, 1242, 1369, 1243,  930, 2301, 1244, 1246,
1662
1663      2319, 1372, 1387, 1387, 1387,  839, 1388,  839,  839, 1389,
1664      2489, 2489, 2489, 2299, 1381, 2300, 2489, 2489, 2489,  939,
1665       939,  939, 1250, 1250, 1250, 2370,  839, 2489, 2305, 2302,
1666      1386, 2303, 2304, 2489, 1393, 1393, 1393,  941, 1394, 1251,
1667      1474, 1395, 1252, 1252, 1252,  839, 1253,  839, 1473, 1254,
1668      2489, 2489, 2489, 2489, 2489, 2489, 2308,  839, 1390, 1391,
1669      1472, 1469, 1392,  950,  950,  950, 2310, 2489,  839,  839,
1670      2489, 1259, 1259, 1259, 2320, 1260,  839,  839, 1261, 2316,
1671       839,  952, 1262, 1262, 1262, 2306, 1263, 2309,  839, 1264,
1672       967,  967,  967, 1272, 1272, 1272, 1397, 1273, 1396, 2313,
1673
1674      1274, 1447, 1398, 1275, 1275, 1275, 2314, 1276,  969, 2332,
1675      1277, 1278, 1278, 1278, 2321, 1279, 2326, 2333, 1280,  983,
1676       983,  983, 1286, 1286, 1286,  839, 1287,  839,  839, 1288,
1677      2327, 1289, 1289, 1289,  839, 1290,  839,  985, 1291, 1293,
1678      1293, 1293, 1404, 1294,  839,  839, 1295, 1002, 1002, 1002,
1679       839, 1298, 1298, 1298, 1415, 1415, 1415, 1442, 1416,  839,
1680      2324, 1417, 2489, 2489, 2489, 1004, 2317, 1411, 1299, 1301,
1681      1301, 1301, 2318, 1302, 2325, 2327, 1303, 1436, 2343, 2489,
1682      1304, 1304, 1304,  839, 1305,  839,  839, 1306,  839, 2328,
1683      1414, 1419, 1419, 1419, 1308, 1308, 1308,  839, 1309,  839,
1684
1685      1431, 1310, 2489, 2489, 2489, 1312, 1312, 1312, 1420, 1423,
1686      1423, 1423, 2336, 1424,  839, 2329, 1425, 2337,  839, 2489,
1687      2349, 2347, 1313, 2408, 1418,  839, 1017, 1017, 1017, 1315,
1688      1315, 1315, 2344, 1316,  839,  839, 1317,  839, 2348, 1318,
1689      1318, 1318, 2388, 1319, 1019, 1422, 1320, 1421, 1426, 1326,
1690      1326, 1326, 1432, 1432, 1432, 2341, 1433,  839,  839, 1434,
1691      1036, 1036, 1036, 1333, 1333, 1333, 1327, 1334, 1334, 1334,
1692      1439, 1439, 1439, 2356, 1440,  839,  839, 1441, 1038, 1443,
1693      1443, 1443, 2389,  839, 1335, 1445, 1445, 1445, 1435, 1339,
1694      1339, 1339, 1446, 1446, 1446, 2357, 2349, 1444,  866,  866,
1695
1696       866, 1343, 1343, 1343, 2354, 1344, 2342,  839, 1345, 1449,
1697      1449, 1449, 2355, 1347, 1347, 1347,  868, 1348,  839,  839,
1698      1349, 1350, 1350, 1350, 1451, 1451, 1451, 1450, 1452,  839,
1699      1430, 1453, 2489, 2489, 2489, 1353, 1353, 1353, 1351, 1455,
1700      1455, 1455, 1429, 1456,  839, 1428, 1457, 2366, 2367, 2489,
1701       839, 1448, 1354, 1355, 1355, 1355, 1357, 1357, 1357, 1458,
1702      1458, 1458, 2358, 1459, 1427, 2368, 1460,  839, 1359, 1359,
1703      1359, 1356, 1360, 1358,  839, 1361, 1461, 1461, 1461,  897,
1704       897,  897, 2362, 1454, 1364, 1364, 1364,  839, 1365, 2371,
1705       839, 1366, 2369, 1462, 2489, 2489, 2489,  899, 2489, 2489,
1706
1707      2489,  839, 2489, 2489, 2489, 2363, 1463, 1467, 1467, 1467,
1708       839, 2489,  910,  910,  910, 2489, 1471, 1471, 1471, 2489,
1709      2359,  922,  922,  922, 1468, 1383, 1383, 1383, 2384, 1384,
1710       912,  839, 1385,  928,  928,  928, 1387, 1387, 1387,  924,
1711      1388, 1465,  839, 1389, 1482, 1482, 1482, 1464, 1466, 2406,
1712      2378,  930, 1484, 1484, 1484, 2390,  939,  939,  939,  839,
1713      1413, 1483, 2379, 1393, 1393, 1393, 2391, 1394,  839, 1485,
1714      1395,  839, 1470, 1479,  941, 1487, 1487, 1487, 1486, 1489,
1715      1489, 1489,  950,  950,  950, 1493, 1493, 1493, 1481, 1497,
1716      1497, 1497, 1488,  967,  967,  967, 1490, 1506, 1506, 1506,
1717
1718       952, 2360, 1494,  983,  983,  983, 1498, 1412, 1510, 1510,
1719      1510,  969, 2408,  839, 1507,  839, 1002, 1002, 1002, 1410,
1720       839,  985,  839,  839, 1508, 1511, 1409,  839, 1415, 1415,
1721      1415,  839, 1416, 1491, 1004, 1417, 1513, 1513, 1513, 1419,
1722      1419, 1419,  839, 2376, 1499, 1515, 1515, 1515, 2361, 1516,
1723      2377, 2396, 1517, 1514,  839, 2374, 1420, 2489, 2489, 2489,
1724      1519, 1519, 1519, 1423, 1423, 1423,  839, 1424,  839, 2385,
1725      1425, 1512,  839, 1408, 2489, 2375,  839, 1520, 1017, 1017,
1726      1017, 1526, 1526, 1526, 1432, 1432, 1432, 2386, 1433, 1407,
1727      2397, 1434, 1406, 1036, 1036, 1036, 1019, 2394, 1527, 1439,
1728
1729      1439, 1439, 2382, 1440,  839, 2395, 1441, 1443, 1443, 1443,
1730      1518, 1038, 1445, 1445, 1445, 1446, 1446, 1446, 1534, 1534,
1731      1534, 1449, 1449, 1449, 2380, 1444, 2381, 1451, 1451, 1451,
1732      1521, 1452, 1405,  839, 1453,  839, 1535, 2387,  839, 1450,
1733      1528, 2489, 2489, 2489, 1455, 1455, 1455, 1403, 1456, 1402,
1734      1401, 1457, 1458, 1458, 1458, 2441, 1459, 2392, 2489, 1460,
1735      1461, 1461, 1461, 1537, 1537, 1537,  839, 1538, 2383,  839,
1736      1539,  897,  897,  897, 1541, 1541, 1541, 1462, 1543, 1543,
1737      1543, 2489, 2489, 2489, 1536, 1467, 1467, 1467, 2393,  899,
1738       839, 1542, 1546, 1546, 1546, 1544, 1547,  839, 2489, 1548,
1739
1740       839, 1400, 1468, 1550, 1550, 1550, 1471, 1471, 1471,  922,
1741       922,  922, 1560, 1560, 1560, 1562, 1562, 1562,  839, 2400,
1742      1545, 1551, 1540, 1482, 1482, 1482,  839,  924,  839, 1561,
1743      1564, 1564, 1564, 1563, 1565,  839,  839, 1566, 1399, 2407,
1744      1483, 1382, 1484, 1484, 1484, 1567, 1567, 1567, 2402, 1568,
1745      2398,  839, 1569,  939,  939,  939, 1380, 2401, 1559, 1485,
1746      1487, 1487, 1487, 1571, 1571, 1571, 2403, 1572, 2411,  839,
1747      1573,  941, 1489, 1489, 1489, 2399,  839, 1488, 1574, 1574,
1748      1574, 1379, 1575, 1378, 1377, 1576,  950,  950,  950, 1490,
1749      1578, 1578, 1578, 1493, 1493, 1493, 1580, 1580, 1580, 2404,
1750
1751      1581, 1376, 2412, 1582,  952, 1570,  839, 1579,  839, 2417,
1752      1494, 1497, 1497, 1497, 1586, 1586, 1586,  839, 1587,  839,
1753      2405, 1588,  967,  967,  967, 1594, 1594, 1594, 1498,  839,
1754      2409, 1577, 1596, 1596, 1596, 1506, 1506, 1506,  839,  839,
1755       969, 2410, 1595, 2421, 1589,  839, 1601, 1601, 1601, 1597,
1756      1602, 1375, 1507, 1603,  983,  983,  983, 1510, 1510, 1510,
1757      1606, 1606, 1606, 2422, 1607,  839, 1374, 1608, 1002, 1002,
1758      1002, 2418,  985, 1373, 1511, 1513, 1513, 1513, 1610, 1610,
1759      1610, 1371, 1611,  839, 2413, 1612, 1004, 1515, 1515, 1515,
1760      1609, 1516, 1514, 1362, 1517, 2489, 2489, 2489, 1519, 1519,
1761
1762      1519, 1614, 1614, 1614, 2414, 1615, 1604, 2423, 1616, 1017,
1763      1017, 1017, 2489, 1341,  839, 1520, 1620, 1620, 1620, 1622,
1764      1622, 1622, 1526, 1526, 1526, 1340,  839, 1019, 1624, 1624,
1765      1624, 1338, 1625, 1621, 1613, 1626, 1623,  839, 2424, 1527,
1766      1036, 1036, 1036, 1629, 1629, 1629, 1534, 1534, 1534, 1633,
1767      1633, 1633, 1537, 1537, 1537,  839, 1538,  839, 1038, 1539,
1768      1617,  839, 1336, 1332, 1535, 2415, 1634,  897,  897,  897,
1769      1541, 1541, 1541, 1636, 1636, 1636, 2416, 1637, 1181, 2446,
1770      1638, 1543, 1543, 1543, 2419,  899, 2420, 1542, 1639, 1639,
1771      1639,  839, 1640,  839,  839, 1641, 1627,  839, 1544, 1642,
1772
1773      1642, 1642, 1546, 1546, 1546,  839, 1547, 1329,  839, 1548,
1774      1325, 1635, 1550, 1550, 1550, 2431, 1643,  922,  922,  922,
1775      1560, 1560, 1560, 1324, 1653, 1653, 1653, 2437, 1654,  839,
1776      1551, 1655, 1562, 1562, 1562,  924, 2427, 1561, 1564, 1564,
1777      1564, 2438, 1565, 1652, 2428, 1566,  839, 1567, 1567, 1567,
1778      1563, 1568, 2429, 2432, 1569,  939,  939,  939, 1571, 1571,
1779      1571,  839, 1572, 2430,  839, 1573, 1323, 1574, 1574, 1574,
1780      2433, 1575,  839,  941, 1576,  950,  950,  950, 1578, 1578,
1781      1578, 1658, 1658, 1658,  839, 1659, 1322, 2435, 1660, 1321,
1782      1580, 1580, 1580,  952, 1581, 1579,  839, 1582, 1586, 1586,
1783
1784      1586, 1296, 1587, 2439,  839, 1588, 1656,  967,  967,  967,
1785      1665, 1665, 1665, 1667, 1667, 1667, 1669, 1669, 1669, 1671,
1786      1671, 1671, 2436, 2440, 1657,  969, 1292, 1666, 2434, 1284,
1787      1668,  839, 2441, 1670, 2446, 2447, 1672, 1594, 1594, 1594,
1788      1673, 1673, 1673,  839, 1674,  839,  839, 1675, 1596, 1596,
1789      1596, 1676, 1676, 1676, 1595, 1677, 1283, 2450, 1678, 1664,
1790      1601, 1601, 1601, 2447, 1602, 1597,  839, 1603,  983,  983,
1791       983, 1606, 1606, 1606, 2456, 1607,  839,  839, 1608, 1002,
1792      1002, 1002, 1282, 1610, 1610, 1610,  985, 1611,  839, 1281,
1793      1612, 2489, 2489, 2489, 1614, 1614, 1614, 1004, 1615, 1271,
1794
1795      2442, 1616, 1017, 1017, 1017, 1687, 1687, 1687, 2489, 1620,
1796      1620, 1620, 1690, 1690, 1690,  839, 1691, 2456, 2451, 1692,
1797      1019,  839, 1688, 1622, 1622, 1622, 1621,  839,  839, 1682,
1798       839, 1684, 1685, 1270, 1693, 1693, 1693, 1268, 1694, 2443,
1799      1623, 1695, 1624, 1624, 1624, 2444, 1625,  839,  839, 1626,
1800      1036, 1036, 1036, 1709, 1709, 1709, 1710, 1710, 1710, 1686,
1801      1633, 1633, 1633, 1712, 1712, 1712,  839, 1713, 1038, 2457,
1802      1714, 2445, 2448, 1711, 1709, 1709, 1709, 1634,  839,  897,
1803       897,  897, 1636, 1636, 1636,  839, 1637, 1267,  839, 1638,
1804      2449, 1639, 1639, 1639, 1266, 1640, 1265,  899, 1641, 1642,
1805
1806      1642, 1642,  922,  922,  922, 2467, 1258, 1696, 1629, 1629,
1807      1629, 1716, 1716, 1716,  839, 1717, 1643, 2458, 1718,  839,
1808       924, 1839, 1839, 1839, 2463,  839,  839, 2464, 1697, 1698,
1809      1699, 1715, 1700, 1701, 1238, 1702,  939,  939,  939, 1703,
1810      1704, 1705, 1706, 1707, 1653, 1653, 1653, 1236, 1654, 2452,
1811       839, 1655, 1235, 2474,  941, 2467, 1234, 1727,  950,  950,
1812       950, 1658, 1658, 1658,  839, 1659,  839,  839, 1660, 1730,
1813      1730, 1730,  967,  967,  967, 1233,  952, 1665, 1665, 1665,
1814      1735, 1735, 1735, 1232, 1736, 1231, 1731, 1737, 2453, 2475,
1815       969, 2465,  839, 1728, 1666, 1667, 1667, 1667, 1738, 1738,
1816
1817      1738, 1729, 1739, 1230, 2478, 1740, 1229, 1669, 1669, 1669,
1818       839, 2478, 1668, 1741, 1741, 1741, 2466, 1742,  839, 2479,
1819      1743, 1227,  839, 1734, 1670, 1671, 1671, 1671, 1744, 1744,
1820      1744, 1219, 1745,  839, 2470, 1746, 1673, 1673, 1673, 2479,
1821      1674, 1213, 1672, 1675, 1676, 1676, 1676,  839, 1677, 1193,
1822       839, 1678,  983,  983,  983, 1002, 1002, 1002, 2489, 2489,
1823      2489, 1017, 1017, 1017, 1687, 1687, 1687, 1892, 1892, 1892,
1824       985, 2471, 1192, 1004, 1751, 2489, 1756, 1756, 1756, 1019,
1825      1757, 1688, 1190, 1758, 1690, 1690, 1690, 2486, 1691, 1189,
1826       839, 1692, 1693, 1693, 1693,  839, 1694, 1187,  839, 1695,
1827
1828      1186, 1754, 1036, 1036, 1036,  839, 1753,  839, 1710, 1710,
1829      1710, 1776, 1776, 1776, 2472, 1777, 1755, 1185, 1778, 2473,
1830      1038, 1779, 1779, 1779, 1760, 1711, 1712, 1712, 1712, 2480,
1831      1713, 2481, 1184, 1714, 1716, 1716, 1716, 1183, 1717, 1780,
1832      1177, 1718,  922,  922,  922,  939,  939,  939,  950,  950,
1833       950, 1730, 1730, 1730, 1792, 1792, 1792, 1158, 1793, 1157,
1834       924, 1794, 1154,  941, 1149, 1148,  952, 1131, 1731, 2486,
1835      1791, 1795, 1795, 1795, 1797, 1797, 1797,  967,  967,  967,
1836      1735, 1735, 1735,  839, 1736, 1130, 1129, 1737, 1796, 1128,
1837      1121, 1798, 1120, 1118, 1789,  969, 1117, 1738, 1738, 1738,
1838
1839      1790, 1739, 1116, 1115, 1740, 1741, 1741, 1741, 1110, 1742,
1840      1108, 1107, 1743, 1744, 1744, 1744, 1104, 1745, 1096, 1095,
1841      1746, 1800, 1800, 1800, 1802, 1802, 1802,  983,  983,  983,
1842      1809, 1809, 1809, 1093, 1799, 1002, 1002, 1002, 1801, 1092,
1843      1091, 1803, 1812, 1812, 1812,  985, 1090, 1810, 1017, 1017,
1844      1017, 1089, 1088, 1004, 1756, 1756, 1756, 1087, 1757, 1813,
1845      1086, 1758, 1036, 1036, 1036, 1084, 1019, 1776, 1776, 1776,
1846      1083, 1777, 1082, 1081, 1778, 1779, 1779, 1779, 1080, 1808,
1847      1038,  922,  922,  922,  939,  939,  939, 1079,  950,  950,
1848       950, 1077, 1811, 1780, 1792, 1792, 1792, 1074, 1793,  924,
1849
1850      1814, 1794,  941, 1795, 1795, 1795,  952, 1073, 1843, 1843,
1851      1843, 1071, 1844, 1070, 1816, 1845, 1797, 1797, 1797, 1067,
1852      1796, 1846, 1846, 1846, 1064, 1847, 1059, 1055, 1848,  967,
1853       967,  967, 1054, 1798, 1053, 1052, 1841, 1051, 1049, 1840,
1854      1842, 1800, 1800, 1800, 1850, 1850, 1850,  969, 1851, 1048,
1855      1047, 1852, 1802, 1802, 1802, 1853, 1853, 1853, 1801, 1854,
1856      1046, 1045, 1855, 1856, 1856, 1856, 1858, 1858, 1858, 1803,
1857      1860, 1860, 1860, 1862, 1862, 1862,  983,  983,  983, 1044,
1858      1857, 1043, 1042, 1859, 1849,  839, 1040, 1861, 1016, 1015,
1859      1863, 1809, 1809, 1809,  985, 1865, 1865, 1865, 1014, 1866,
1860
1861      1013, 1009, 1867, 1002, 1002, 1002, 1008, 1007, 1810, 1812,
1862      1812, 1812, 1869, 1869, 1869, 1006, 1870,  982,  981, 1871,
1863       980, 1004, 1017, 1017, 1017,  979, 1813, 1864, 1873, 1873,
1864      1873, 1036, 1036, 1036, 1890, 1890, 1890, 1895, 1895, 1895,
1865      1019, 1839, 1839, 1839,  973, 1874,  922,  922,  922, 1038,
1866       972, 1891, 1181,  971,  939,  939,  939,  966, 1868,  950,
1867       950,  950,  962,  961,  924,  960, 1843, 1843, 1843,  956,
1868      1844, 1872,  941, 1845, 1846, 1846, 1846,  952, 1847,  955,
1869       954, 1848, 1875,  967,  967,  967, 1850, 1850, 1850,  949,
1870      1851,  948,  944, 1852,  943, 1856, 1856, 1856,  938, 1899,
1871
1872       937,  969,  936, 1900, 1853, 1853, 1853,  932, 1854,  927,
1873      1901, 1855, 1857, 1903, 1903, 1903,  926, 1904,  921,  920,
1874      1905, 1858, 1858, 1858, 1906, 1906, 1906,  919, 1907,  918,
1875       917, 1908, 1860, 1860, 1860, 1902,  916,  915, 1859, 1909,
1876      1909, 1909,  914, 1910,  909,  908, 1911,  907,  903, 1861,
1877      1862, 1862, 1862, 1912, 1912, 1912,  902, 1913,  901,  896,
1878      1914,  983,  983,  983, 1865, 1865, 1865, 1863, 1866,  895,
1879       894, 1867, 1002, 1002, 1002,  893, 1869, 1869, 1869,  985,
1880      1870,  888,  887, 1871, 1917, 1917, 1917, 1873, 1873, 1873,
1881      1004, 1919, 1919, 1919,  886, 1920,  885,  881, 1921, 1036,
1882
1883      1036, 1036, 1918,  880, 1874, 1929, 1929, 1929, 1890, 1890,
1884      1890,  870, 1937, 1937, 1937,  862, 1938, 1038, 1915, 1939,
1885      1892, 1892, 1892,  839, 1916, 1891, 1181, 1940, 1940, 1940,
1886      1181, 1895, 1895, 1895, 1944, 1944, 1944, 1945, 1945, 1945,
1887      1947, 1947, 1947,  950,  950,  950,  967,  967,  967,  861,
1888      1903, 1903, 1903,  860, 1904, 1946, 1922, 1905, 1948,  859,
1889       858,  952,  857,  852,  969, 1906, 1906, 1906,  851, 1907,
1890       850,  849, 1908, 1909, 1909, 1909,  848, 1910,  847,  846,
1891      1911, 1912, 1912, 1912,  845, 1913,  842,  840, 1914,  983,
1892       983,  983, 1002, 1002, 1002, 1950, 1917, 1917, 1917,  839,
1893
1894      1949, 1919, 1919, 1919,  837, 1920,  836,  985, 1921,  835,
1895      1004, 1036, 1036, 1036, 1918, 1959, 1959, 1959, 1929, 1929,
1896      1929, 1966, 1966, 1966, 1937, 1937, 1937,  827, 1938, 1038,
1897       826, 1939,  825,  839,  824,  823,  839,  822,  821,  839,
1898       818, 1952, 1181,  817, 1951, 1940, 1940, 1940, 1967,  816,
1899       815, 1960, 1944, 1944, 1944, 1997, 1997, 1997, 1945, 1945,
1900      1945, 1947, 1947, 1947,  807,  806, 1953, 1179, 1179, 1179,
1901      1179, 1179, 1179, 1179, 1179, 1179, 1946,  805, 1179, 1948,
1902       950,  950,  950, 1179, 1179, 1179, 1181, 1179, 1998, 1998,
1903      1998, 1997, 1997, 1997, 1998, 1998, 1998,  804,  952, 1975,
1904
1905      1975, 1975,  983,  983,  983, 1179, 1179, 1179, 1179, 1179,
1906      1179, 1179, 1179, 1179, 1179, 1179,  801, 1976, 1179,  800,
1907       985,  799,  798, 1179, 1179, 1179, 1181, 1179,  797, 1978,
1908      1978, 1978, 1036, 1036, 1036, 1974,  789, 1981, 1981, 1981,
1909      1982, 1982, 1982,  786,  785, 1179, 1179, 1979,  784,  781,
1910      1038, 1995, 1995, 1995, 1977,  839,  780,  779,  839, 1959,
1911      1959, 1959, 1966, 1966, 1966,  950,  950,  950,  778,  839,
1912      1975, 1975, 1975,  983,  983,  983,  770,  839,  769,  766,
1913       839,  763,  762,  952, 1980, 2018, 2018, 2018, 1976,  761,
1914       690,  985, 1986,  760,  752, 1993, 1179, 1179, 1179, 1179,
1915
1916      1179, 1996, 1179, 1179, 1179,  749,  744, 1179, 1978, 1978,
1917      1978,  743, 1179, 1179, 1179, 1181, 1179, 2000, 2018, 2018,
1918      2018,  742, 2001,  741,  730,  729, 1979, 1036, 1036, 1036,
1919      1981, 1981, 1981,  726, 1179, 1179, 1179, 1179, 1179, 1179,
1920      1179, 1179, 1179, 1179, 1996, 1038,  722, 1179,  839, 1982,
1921      1982, 1982, 1179, 1179, 1179, 1181, 1179,  721,  713, 1995,
1922      1995, 1995,  712, 2003,  711,  708,  707,  839,  950,  950,
1923       950, 2020, 2020, 2020, 1179, 1179, 2002,  839, 2022, 2022,
1924      2022,  699, 2004, 2039, 2039, 2039,  952,  698,  697, 2021,
1925       695,  694, 2017, 2020, 2020, 2020, 2023, 2022, 2022, 2022,
1926
1927       693, 2040, 2054, 2054, 2054, 2039, 2039, 2039, 2054, 2054,
1928      2054, 2021, 2077, 2077, 2077, 2023,  692, 2019,  691,  689,
1929       839,  688,  681, 2040,  679,  672,  839, 2082, 2082, 2082,
1930       839, 2090, 2090, 2090, 2091, 2091, 2091, 2094, 2094, 2094,
1931       671, 2069, 2082, 2082, 2082,  839, 2077, 2077, 2077,  839,
1932      2092,  668,  839, 2093,  667,  839, 2099, 2099, 2099,  666,
1933       839, 2102, 2102, 2102,  839, 2103, 2103, 2103, 2104, 2104,
1934      2104, 2090, 2090, 2090,  839, 2098, 2094, 2094, 2094,  839,
1935      2091, 2091, 2091,  839, 2107,  665,  839, 2108,  663,  839,
1936      2114, 2114, 2114,  662,  839, 2099, 2099, 2099,  839, 2116,
1937
1938       661,  660, 2117,  659, 2106, 2119, 2119, 2119,  839, 2111,
1939      2102, 2102, 2102,  839, 2120,  657,  656, 2121, 2103, 2103,
1940      2103,  655, 2122,  839,  654, 2123,  651,  650,  839, 2104,
1941      2104, 2104, 2114, 2114, 2114,  649,  839, 2119, 2119, 2119,
1942       647, 2139,  644,  643, 2140,  639,  638,  839,  637,  636,
1943       839, 2146, 2146, 2146,  635,  839, 2153, 2153, 2153, 2146,
1944      2146, 2146, 2124,  634,  633, 2134, 2153, 2153, 2153,  839,
1945      2175, 2175, 2175,  631,  839,  630,  629,  839, 2180, 2180,
1946      2180,  628,  627,  626,  839, 2175, 2175, 2175,  839, 2220,
1947      2220, 2220, 2167, 2180, 2180, 2180,  839, 2201,  625, 2174,
1948
1949      2202,  620,  617,  839, 2233, 2233, 2233,  839, 2238, 2238,
1950      2238,  839, 2220, 2220, 2220,  619, 2242,  615, 2196, 2243,
1951       614,  421,  839, 2254, 2254, 2254,  839, 2233, 2233, 2233,
1952       839, 2256,  420,  608, 2257, 2238, 2238, 2238,  607, 2262,
1953       606,  839, 2263,  605,  604,  839, 2266, 2266, 2266,  603,
1954      2254, 2254, 2254,  839, 2279,  600,  599, 2280, 2266, 2266,
1955      2266,  598, 2291,  596,  839, 2292,  590,  589,  839, 2307,
1956      2307, 2307, 2311, 2311, 2311,  588,  839, 2315, 2315, 2315,
1957       587, 2307, 2307, 2307,  586, 2330,  585,  839, 2331,  584,
1958      2312, 2334, 2334, 2334,  583,  839, 2311, 2311, 2311,  839,
1959
1960      2315, 2315, 2315,  582, 2338,  580,  574, 2339,  573, 2335,
1961      2340, 2340, 2340,  570, 2312, 2345, 2345, 2345,  839, 2350,
1962      2350, 2350, 2352, 2352, 2352, 2334, 2334, 2334,  839, 2345,
1963      2345, 2345,  569, 2346, 2340, 2340, 2340, 2351, 2364,  568,
1964      2353, 2365,  567, 2335, 2372, 2372, 2372, 2346, 2350, 2350,
1965      2350,  566,  839, 2352, 2352, 2352, 2372, 2372, 2372, 2425,
1966      2425, 2425, 2373, 2425, 2425, 2425, 2351, 2454, 2454, 2454,
1967       564, 2353,  558,  557, 2373,  556,  553, 2426, 2459, 2459,
1968      2459, 2426, 2461, 2461, 2461, 2455, 2454, 2454, 2454, 2468,
1969      2468, 2468, 2459, 2459, 2459,  552, 2460, 2461, 2461, 2461,
1970
1971      2462, 2476, 2476, 2476, 2455,  551,  549, 2469,  542,  541,
1972      2460, 2468, 2468, 2468,  540, 2462, 2476, 2476, 2476, 2477,
1973      2482, 2482, 2482, 2484, 2484, 2484, 2482, 2482, 2482, 2469,
1974      2484, 2484, 2484,  539, 2477, 2487, 2487, 2487, 2483,  538,
1975       537, 2485,  533,  525, 2483, 2487, 2487, 2487, 2485,  524,
1976       523,  519,  517, 2488,  511,  510,  507,  505,  499,  498,
1977       496,  495,  481, 2488,  130,  130,  130,  130,  130,  130,
1978       130,  130,  130,  131,  131,  131,  131,  131,  131,  131,
1979       131,  131,  136,  136,  136,  136,  136,  136,  136,  136,
1980       136,  139,  139,  139,  139,  139,  139,  139,  139,  139,
1981
1982       142,  142,  142,  142,  142,  142,  142,  142,  142,  145,
1983       145,  145,  145,  145,  145,  145,  145,  145,  152,  152,
1984       152,  152,  152,  152,  152,  152,  152,  156,  156,  156,
1985       156,  156,  156,  156,  156,  156,  161,  161,  161,  161,
1986       161,  161,  161,  161,  161,  166,  166,  166,  166,  166,
1987       166,  166,  166,  166,  175,  175,  175,  175,  175,  175,
1988       175,  175,  175,  181,  181,  181,  181,  181,  181,  181,
1989       181,  181,  188,  188,  188,  188,  188,  188,  188,  188,
1990       188,  194,  194,  194,  194,  194,  194,  194,  194,  194,
1991       210,  210,  210,  210,  210,  210,  210,  210,  210,  216,
1992
1993       216,  216,  216,  216,  216,  216,  216,  216,  223,  223,
1994       223,  223,  223,  223,  223,  223,  223,  242,  242,  242,
1995       242,  242,  242,  242,  242,  242,  248,  248,  248,  248,
1996       248,  248,  248,  248,  248,  254,  254,  254,  254,  254,
1997       254,  254,  254,  254,  262,  262,  262,  262,  262,  262,
1998       262,  262,  262,  269,  269,  269,  269,  269,  269,  269,
1999       269,  269,  285,  285,  285,  285,  285,  285,  285,  285,
2000       285,  303,  303,  303,  303,  303,  303,  303,  303,  303,
2001       322,  322,  322,  322,  322,  322,  322,  322,  322,  341,
2002       341,  341,  341,  341,  341,  341,  341,  341,  361,  361,
2003
2004       361,  361,  361,  361,  361,  361,  361,  382,  382,  382,
2005       382,  382,  382,  382,  382,  382,  404,  404,  404,  404,
2006       404,  404,  404,  404,  404,  407,  407,  407,  407,  407,
2007       407,  407,  407,  407,  430,  430,  430,  474,  473,  472,
2008       430,  439,  439,  439,  471,  470,  469,  439,  445,  445,
2009       445,  467,  465,  464,  445,  451,  451,  451,  463,  462,
2010       460,  451,  461,  461,  461,  458,  457,  456,  461,  468,
2011       468,  468,  453,  452,  450,  468,  482,  482,  482,  448,
2012       447,  446,  482,  497,  497,  497,  444,  442,  441,  497,
2013       506,  506,  506,  440,  438,  431,  506,  518,  518,  518,
2014
2015       429,  427,  421,  518,  534,  534,  534,  420,  421,  420,
2016       534,  550,  550,  550,  419,  418, 2489,  550,  565,  565,
2017       565, 2489, 2489, 2489,  565,  581,  581,  581, 2489, 2489,
2018      2489,  581,  597,  597,  597, 2489, 2489, 2489,  597,  616,
2019       616,  616,  616,  616,  616,  616, 2489,  616,  632, 2489,
2020      2489, 2489,  632,  642, 2489, 2489, 2489,  642,  648, 2489,
2021      2489, 2489,  648,  658, 2489, 2489, 2489,  658,  664, 2489,
2022      2489, 2489,  664,  680, 2489, 2489, 2489,  680,  696, 2489,
2023      2489, 2489,  696,  706, 2489, 2489, 2489,  706,  720, 2489,
2024      2489, 2489,  720,  740, 2489, 2489, 2489,  740,  759, 2489,
2025
2026      2489, 2489,  759,  777, 2489, 2489, 2489,  777,  796, 2489,
2027      2489, 2489,  796,  814, 2489, 2489, 2489,  814,  834, 2489,
2028      2489, 2489,  834,  838,  838,  838,  838,  838,  838,  838,
2029       838,  838,  844, 2489, 2489, 2489, 2489,  844,  430,  430,
2030       430, 2489, 2489, 2489,  430,  854,  854,  854,  854, 2489,
2031      2489,  854,  854,  439,  439,  439, 2489, 2489, 2489,  439,
2032       867,  867,  867,  867, 2489, 2489,  867,  867,  445,  445,
2033       445, 2489, 2489, 2489,  445,  877,  877,  877,  877, 2489,
2034      2489,  877,  877,  451,  451,  451, 2489, 2489, 2489,  451,
2035       890,  890,  890,  890, 2489, 2489,  890,  890,  461,  461,
2036
2037       461, 2489, 2489, 2489,  461,  898,  898,  898,  898, 2489,
2038      2489,  898,  898,  468,  468,  468, 2489, 2489, 2489,  468,
2039       911,  911,  911,  911, 2489, 2489,  911,  911,  923,  923,
2040       923,  923, 2489, 2489,  923,  923,  497,  497,  497, 2489,
2041      2489, 2489,  497,  929,  929,  929,  929, 2489, 2489,  929,
2042       929,  506,  506,  506, 2489, 2489, 2489,  506,  940,  940,
2043       940,  940, 2489, 2489,  940,  940,  518,  518,  518, 2489,
2044      2489, 2489,  518,  951,  951,  951,  951, 2489, 2489,  951,
2045       951,  534,  534,  534, 2489, 2489, 2489,  534,  968,  968,
2046       968,  968, 2489, 2489,  968,  968,  550,  550,  550, 2489,
2047
2048      2489, 2489,  550,  984,  984,  984,  984, 2489, 2489,  984,
2049       984,  565,  565,  565,  565, 2489,  565, 2489,  565, 1003,
2050      1003, 1003, 1003, 2489, 2489, 1003, 1003,  581,  581,  581,
2051      2489, 2489, 2489,  581, 1018, 1018, 1018, 1018, 2489, 2489,
2052      1018, 1018,  597,  597,  597,  597, 2489,  597, 2489,  597,
2053      1037, 1037, 1037, 1037, 2489, 2489, 1037, 1037,  838,  838,
2054       838,  838,  838,  838,  838,  838,  838,  844, 2489,  844,
2055      2489, 2489,  844,  430,  430,  430, 2489, 2489, 2489,  430,
2056       854,  854,  854,  854, 2489, 2489,  854,  854,  439,  439,
2057       439, 2489, 2489, 2489,  439,  867,  867,  867,  867, 2489,
2058
2059      2489,  867,  867,  445,  445,  445, 2489, 2489, 2489,  445,
2060       877,  877,  877,  877, 2489, 2489,  877,  877,  451,  451,
2061       451, 2489, 2489, 2489,  451,  890,  890,  890,  890, 2489,
2062      2489,  890,  890,  461,  461,  461, 2489, 2489, 2489,  461,
2063       898,  898,  898,  898, 2489, 2489,  898,  898,  468,  468,
2064       468, 2489, 2489, 2489,  468,  911,  911,  911,  911, 2489,
2065      2489,  911,  911,  923,  923,  923,  923, 2489, 2489,  923,
2066       923,  497,  497,  497, 2489, 2489, 2489,  497,  929,  929,
2067       929,  929, 2489, 2489,  929,  929,  506,  506,  506,  506,
2068      2489,  506, 2489,  506,  940,  940,  940,  940, 2489, 2489,
2069
2070       940,  940,  518,  518,  518, 2489, 2489, 2489,  518,  951,
2071       951,  951,  951, 2489, 2489,  951,  951,  534,  534,  534,
2072      2489, 2489, 2489,  534,  968,  968,  968,  968, 2489, 2489,
2073       968,  968,  550,  550,  550, 2489, 2489, 2489,  550,  984,
2074       984,  984,  984, 2489, 2489,  984,  984,  565,  565,  565,
2075       565, 2489,  565, 2489,  565, 1003, 1003, 1003, 1003, 2489,
2076      2489, 1003, 1003,  581,  581,  581, 2489, 2489, 2489,  581,
2077      1018, 1018, 1018, 1018, 2489, 2489, 1018, 1018,  597,  597,
2078       597,  597, 2489,  597, 2489,  597, 1037, 1037, 1037, 1037,
2079      2489, 2489, 1037, 1037,  838,  838,  838,  838,  838,  838,
2080
2081       838,  838,  838, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
2082      1179, 1179,  430,  430,  430, 2489, 2489, 2489,  430,  854,
2083       854,  854,  854, 2489, 2489,  854,  854,  439,  439,  439,
2084      2489, 2489, 2489,  439,  867,  867,  867,  867, 2489, 2489,
2085       867,  867,  445,  445,  445,  445, 2489,  445, 2489,  445,
2086       877,  877,  877,  877, 2489, 2489,  877,  877,  451,  451,
2087       451,  451, 2489,  451, 2489,  451,  890,  890,  890,  890,
2088      2489, 2489,  890,  890,  461,  461,  461, 2489, 2489, 2489,
2089       461,  898,  898,  898,  898, 2489, 2489,  898,  898,  468,
2090       468,  468,  468, 2489,  468, 2489,  468,  911,  911,  911,
2091
2092       911, 2489, 2489,  911,  911,  923,  923,  923,  923, 2489,
2093      2489,  923,  923,  497,  497,  497, 2489, 2489, 2489,  497,
2094       929,  929,  929,  929, 2489, 2489,  929,  929,  506,  506,
2095       506,  506, 2489,  506, 2489,  506,  940,  940,  940,  940,
2096      2489, 2489,  940,  940,  518,  518,  518,  518, 2489,  518,
2097      2489,  518,  951,  951,  951,  951, 2489, 2489,  951,  951,
2098       534,  534,  534, 2489, 2489, 2489,  534,  968,  968,  968,
2099       968, 2489, 2489,  968,  968,  550,  550,  550, 2489, 2489,
2100      2489,  550,  984,  984,  984,  984, 2489, 2489,  984,  984,
2101       565,  565,  565, 2489, 2489, 2489,  565, 1003, 1003, 1003,
2102
2103      1003, 2489, 2489, 1003, 1003,  581,  581,  581,  581, 2489,
2104       581, 2489,  581, 1018, 1018, 1018, 1018, 2489, 2489, 1018,
2105      1018,  597,  597,  597, 2489, 2489, 2489,  597, 1037, 1037,
2106      1037, 1037, 2489, 2489, 1037, 1037,  838,  838,  838,  838,
2107       838,  838,  838,  838,  838, 1179, 1179, 1179, 1179, 1179,
2108      1179, 1179, 1179, 1179,  430,  430,  430,  430, 2489,  430,
2109      2489,  430,  854,  854,  854,  854, 2489, 2489,  854,  854,
2110       439,  439,  439, 2489, 2489, 2489,  439,  867,  867,  867,
2111       867, 2489, 2489,  867,  867, 1969, 1969, 1969, 1969, 1969,
2112      1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, 1970, 1970,
2113
2114      1970, 1970, 1970,  129, 2489, 2489, 2489, 2489, 2489, 2489,
2115      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
2116      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
2117      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
2118      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
2119      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
2120      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489
2121     } ;
2122
2123 static yyconst short int yy_chk[8270] =
2124     {   0,
2125         0,    3,    3,    3,    4,    4,    4,    5,    5,    5,
2126         6,    6,    6,    7,    7,    7,   11,    3,    9,   12,
2127         4,   10, 1438,    5,    0,    9,    6,  414,   10,    7,
2128         8,    8,    8,  134,   11,   13,   13,   12,   14,   14,
2129        13,   13,  414,   14,   14,  135,    8,   17,   17,  134,
2130        13,   15,   15,   14,   15,  138,   15,   16,   16, 1438,
2131        16,  135,   16,   18,   18,  313,   15,   19,   19,   19,
2132       313,  138,   16,   20,   20,   20,   23,   23,   23,   24,
2133        24,   24,  280,   19,   17,  132,  132,  132,  489,   20,
2134       280,  335,   23, 1761,  489,   24,  133,  133,  133,  335,
2135
2136        18,   21,   21,   21,   21,   21,   21,   21,   21,   21,
2137        21,   21,   21,   21,   21,   21, 1761,   21,   21,   21,
2138        21,   21,   25,   25,   25,   26,   26,   26,   27,   27,
2139        27,   28,   28,   28,   29,   29,   29,  395,   25,   21,
2140        21,   26,  423, 1331,   27,  423,  395,   28,  766,  766,
2141        29, 1825,   21,   22,   22,   22,   22,   22,   22,   22,
2142        22,   22,   22,   22,   22,   22,   22,   22, 1331,   22,
2143        22,   22,   22,   22,   30,   30,   30,   31,   31,   31,
2144        32,   32,   32,   33,   33,   33,   34,   34,   34,  539,
2145        30,   22,   22,   31,  556, 1825,   32,  841,  539,   33,
2146
2147      1834,  841,   34,  556,   22,   35,   35,   35,   35,   35,
2148        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
2149      1703,   35,   35,   35,   35,   35,   37,   37,   37, 1178,
2150        38,   38,   38,   39,   39,   39,   40,   40,   40,  137,
2151       137,  137,   37,   35,   35,   35,   38, 1178, 1836,   39,
2152        35, 1703,   40,   35,   36,   36,   36,   36,   36,   36,
2153        36,   36,   36,   36,   36,   36,   36,   36,   36, 1705,
2154        36,   36,   36,   36,   36,   43,   43,   43, 1837,   44,
2155        44,   44,   45,   45,   45,   46,   46,   46,  159,  159,
2156       159,   43,   36,   36,   36,   44, 1407, 1407,   45,   36,
2157
2158      1705,   46,   36,   41,   41,   41,   41,   41,   41,   41,
2159        41,   41,   41,   41,   41,   41,   41,   41, 1702,   41,
2160        41,   41,   41,   41,   49,   49,   49,   50,   50,   50,
2161        51,   51,   51,   52,   52,   52,  167,  167,  167, 1437,
2162        49,   41,   41,   50, 1838, 1437,   51,   41, 1700,   52,
2163      1702,   41,   41,   42,   42,   42,   42,   42,   42,   42,
2164        42,   42,   42,   42,   42,   42,   42,   42, 1818,   42,
2165        42,   42,   42,   42,   55,   55,   55,   56,   56,   56,
2166        57,   57,   57,   58,   58,   58,  173,  173,  173, 1700,
2167        55,   42,   42,   56, 1495, 1495,   57,   42, 1894,   58,
2168
2169      1818,   42,   42,   47,   47,   47,   47,   47,   47,   47,
2170        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
2171        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
2172        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
2173        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
2174        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
2175        47,   47,   47,   47,   47,   47,   47,   47,   53,   53,
2176        53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
2177        53,   53,   53, 1330,   53,   53,   53,   53,   53,   61,
2178        61,   61, 1770,   62,   62,   62, 1330,   63,   63,   63,
2179
2180        64,   64,   64,  162,  356,   61,   53,   53,   53,   62,
2181       170,  176,   53,   63,  356, 1770,   64,  170, 1824,  162,
2182        53,  182,  182,  182, 1500, 1500,  170,  176, 1896,   53,
2183        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2184        54,   54,   54,   54,   54, 1824,   54,   54,   54,   54,
2185        54,   65,   65,   65,  618,   66,   66,   66, 1630,   69,
2186        69,   69,   70,   70,   70,  171,  618,   65,   54,   54,
2187        54,   66,  183,  189,   54,   69, 1501, 1501,   70,  183,
2188      1884,  171,   54,  171,  186,  186,  186, 1630,  183,  189,
2189      1884,   54,   59,   59,   59,   59,   59,   59,   59,   59,
2190
2191        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
2192        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
2193        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
2194        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
2195        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
2196        59,   59,   59,   59,   59,   59,   59,   67,   67,   67,
2197        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
2198        67,   67, 1897,   67,   67,   67,   67,   67,   71,   71,
2199        71,   72,   72,   72,   73,   73,   73,   74,   74,   74,
2200        75,   75,   75,  184,   71,   67,   67,   72,  206,  202,
2201
2202        73,  196,  217,   74, 1504, 1504,   75, 1707,  196,  184,
2203       195,  195,  195,  206,  184,  202, 1941,  196,  217,   67,
2204        67,   68,   68,   68,   68,   68,   68,   68,   68,   68,
2205        68,   68,   68,   68,   68,   68, 1707,   68,   68,   68,
2206        68,   68,   76,   76,   76,   77,   77,   77,   78,   78,
2207        78,   81,   81,   81,   82,   82,   82,  197,   76,   68,
2208        68,   77,  212, 1942,   78, 1679, 1679,   81, 1943,  212,
2209        82, 1749, 1749,  197,  199,  199,  199, 1973,  212,  197,
2210       211,  211,  211,   68,   68,   79,   79,   79,   79,   79,
2211        79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
2212
2213      1531,   79,   79,   79,   79,   79,   83,   83,   83,   84,
2214        84,   84,   87,   87,   87,   88,   88,   88,   89,   89,
2215        89, 1833,   83,   79,   79,   84, 1750, 1750,   87,  231,
2216       249,   88, 1985, 1787,   89,  214,  214,  214, 1531,   79,
2217      1985,   79,  224,  224,  224,  231,  249,   79,   79,   80,
2218        80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
2219        80,   80,   80,   80, 1768,   80,   80,   80,   80,   80,
2220        90,   90,   90,   93,   93,   93,   94,   94,   94,   95,
2221        95,   95,   96,   96,   96, 1768,   90,   80,   80,   93,
2222       225,  241,   94,  263, 1786,   95, 2030,  225,   96,  228,
2223
2224       228,  228, 2030,   80, 1887,   80,  225,  241, 1887,  263,
2225       241,   80,   80,   85,   85,   85,   85,   85,   85,   85,
2226        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
2227        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
2228        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
2229        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
2230        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
2231        85,   85,   85,   85,   85,   85,   85,   85,   91,   91,
2232        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2233        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2234
2235        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2236        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2237        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2238        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
2239        91,   91,   91,   97,   97,   97,   97,   97,   97,   97,
2240        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
2241        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
2242        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
2243        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
2244        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
2245
2246        97,   97,   97,   97,   97,   97,   97,   97,   99,   99,
2247        99,  100,  100,  100,  101,  101,  101,  102,  102,  102,
2248       243,  243,  243, 1926,   99, 1930, 1926,  100, 1956, 1930,
2249       101, 1785, 1956,  102,  103,  103,  103,  103,  103,  103,
2250       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
2251       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
2252       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
2253       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
2254       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
2255       103,  103,  103,  103,  103,  103,  103,  103,  103,  105,
2256
2257       105,  105,  106,  106,  106,  107,  107,  107,  108,  108,
2258       108,  246,  246,  246, 1784,  105, 1964, 1783,  106, 1782,
2259      1964,  107, 1996, 1996,  108,  109,  109,  109,  109,  109,
2260       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2261       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2262       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2263       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2264       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2265       109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
2266       111,  111,  111,  112,  112,  112,  113,  113,  113,  114,
2267
2268       114,  114,  255,  255,  255, 1781,  111, 2006, 1759,  112,
2269      2011, 2006,  113, 1726, 2011,  114,  115,  115,  115,  115,
2270       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2271       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2272       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2273       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2274       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2275       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
2276       115,  117,  117,  117,  118,  118,  118,  119,  119,  119,
2277       120,  120,  120,  260,  260,  260, 1725,  117, 2033, 2046,
2278
2279       118, 1724, 2033,  119, 1723, 2046,  120,  121,  121,  121,
2280       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2281       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2282       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2283       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2284       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2285       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
2286       121,  121,  123,  123,  123,  124,  124,  124,  125,  125,
2287       125,  126,  126,  126,  127,  127,  148,  157,  123,  127,
2288      2260,  124,  165,  169,  125,  128,  128,  126, 1697,  127,
2289
2290       128,  226, 1722,  157, 2260, 1771,  168, 1721,  165,  169,
2291       128,  169, 1704,  168,  169,  169, 1762,  226,  157, 1763,
2292       148,  127,  168,  165,  168,  169,  148,  168,  168,  244,
2293       148, 1697,  128,  226, 1771,  148,  244, 1704,  168,  239,
2294       239,  239,  240,  240,  240,  244,  251,  251,  251,  252,
2295       252,  252,  277,  257,  258, 1762,  239, 1764, 1763,  240,
2296       257, 1720, 1719,  251, 1689,  293,  252,  253,  277,  257,
2297       258,  258,  267,  267,  267,  268,  268,  268,  270,  270,
2298       270,  293, 1764,  253,  253,  253,  253,  271,  272,  267,
2299      1701,  253,  268, 1765,  271,  253,  253,  253,  253,  274,
2300
2301       274,  274, 1769,  271,  272,  283,  283,  283,  284,  284,
2302       284,  287,  272,  286,  286,  286,  288, 1708,  287,  290,
2303       290,  290,  283, 1769, 1701,  284, 1765,  287, 1683,  296,
2304       296,  296,  288,  300,  300,  300,  301,  301,  301,  302,
2305       302,  302,  304,  304,  304,  288,  296,  305,  306,  311,
2306       300, 1708, 1767,  301,  305, 1774,  302,  308,  308,  308,
2307       320,  320,  320,  305,  306,  311,  306,  321,  321,  321,
2308       325,  324,  296,  323,  323,  323,  330,  320,  324,  327,
2309       327,  327, 1924, 1766,  321, 1767,  325,  324, 1774,  325,
2310       344,  349,  330,  339,  339,  339,  340,  340,  340,  342,
2311
2312       342,  342,  343,  346,  346,  346,  344,  349, 1766,  343,
2313       339,  364,  363,  340,  359,  359,  359, 1924,  343,  363,
2314       344,  360,  360,  360,  362,  362,  362,  364,  363,  369,
2315      1681,  359,  366,  366,  366,  380,  380,  380,  360,  381,
2316       381,  381,  364,  384,  385,  369,  383,  383,  383,  390,
2317       384,  410,  380,  387,  387,  387,  381,  406, 1772,  384,
2318       385,  402,  402,  402,  406,  390,  403,  403,  403,  405,
2319       405,  405,  385,  406,  413,  413,  413, 1680,  402,  422,
2320       422,  422, 1773,  403, 1663,  410,  442,  442,  442, 1662,
2321      1879,  410,  447,  447,  447,  410,  454,  454,  454, 1698,
2322
2323       410, 1772, 1041,  442,  472,  472,  472, 1773, 1706,  447,
2324       475,  475,  475,  454, 1775,  476,  476,  476, 1041,  476,
2325      1879,  472,  476,  477,  477,  477, 1820,  475, 1698,  422,
2326       478,  478,  478, 1706,  478, 1651, 1706,  478, 1822, 1698,
2327       477,  483,  483,  483,  484,  484,  484, 1775,  484, 1820,
2328      1829,  484,  485,  485,  485,  486,  486,  486,  483,  486,
2329      1880, 1876,  486,  500,  500,  500,  501,  501,  501,  485,
2330       501, 1822, 1817,  501,  502,  502,  502,  503,  503,  503,
2331       500,  503, 1829, 1987,  503,  508,  508,  508,  512,  512,
2332       512,  502,  513,  513,  513, 1876,  513, 1880, 1987,  513,
2333
2334      1817, 1827,  508, 1962, 1819,  512,  514,  514,  514,  515,
2335       515,  515, 1699,  515, 1830, 1931,  515,  520,  520,  520,
2336       521,  521,  521,  514,  521, 1827, 1877,  521,  523,  523,
2337       523,  526,  526,  526,  520,  527,  527,  527, 1830,  527,
2338      1699, 1962,  527, 1819, 1931,  523, 1699, 1877,  526,  528,
2339       528,  528,  529,  529,  529, 1650,  529, 1925, 1984,  529,
2340       530,  530,  530,  531,  531,  531,  528,  531, 1821, 1823,
2341       531,  538,  538,  538,  541,  541,  541,  530,  543,  543,
2342       543, 1885,  544,  544,  544, 1878,  544, 1826,  538,  544,
2343      1925,  541,  545,  545,  545,  543,  546,  546,  546, 1649,
2344
2345       546, 1984, 1885,  546,  554,  554,  554, 1821, 1823,  545,
2346       559,  559,  559,  560,  560,  560, 1828,  560, 1889, 1878,
2347       560,  554,  561,  561,  561, 1883, 1826,  559,  562,  562,
2348       562, 1881,  562, 1886, 1888,  562,  569,  569,  569,  561,
2349       573,  573,  573,  575,  575,  575, 1936,  576,  576,  576,
2350      1883,  576, 1889,  569,  576, 1828, 1927,  573, 1886, 1888,
2351       575,  577,  577,  577,  578,  578,  578, 1934,  578, 1932,
2352      1881,  578,  586,  586,  586,  591,  591,  591,  577,  592,
2353       592,  592, 1923,  592, 1965, 1933,  592, 1963, 1936,  586,
2354      1927, 2129,  591,  593,  593,  593,  594,  594,  594, 1957,
2355
2356       594, 1934, 1932,  594,  601,  601,  601,  609,  609,  609,
2357       593,  610,  610,  610, 1963,  610, 1960, 1965,  610, 1923,
2358      2129,  601, 1933, 1961,  609,  611,  611,  611,  612,  612,
2359       612, 1958,  612, 1957, 1960,  612,  621,  621,  621, 1994,
2360       621, 2092,  611,  632,  632,  632,  633,  633,  633,  640,
2361       640,  640,  641,  641,  641, 1983,  641, 1961, 1967,  641,
2362      1989,  632, 1958, 1986,  633, 1994,  640,  642,  642,  642,
2363       643,  643,  643,  645,  645,  645,  646,  646,  646, 2092,
2364       646, 1986, 1988,  646, 1648,  642, 2005, 1647,  643, 1983,
2365       645, 1967,  633,  647,  647,  647,  648,  648,  648, 1989,
2366
2367       649,  649,  649,  652,  652,  652,  658,  658,  658, 1993,
2368       647,  659,  659,  659,  648, 1988, 1990,  643,  649, 2005,
2369       652,  653,  653,  653,  658,  653, 1991, 1993,  653,  659,
2370       664,  664,  664,  665,  665,  665,  669,  669,  669,  670,
2371       670,  670, 2008,  670, 1992, 2013,  670, 1990,  664, 2003,
2372      2010,  665, 2004,  669,  673,  673,  673, 2008,  673,  649,
2373      1991,  673, 2007,  659,  676,  676,  676, 2003,  676, 2009,
2374      2004,  676,  680,  680,  680,  681,  681,  681, 2013,  665,
2375       682,  682,  682, 1992,  682, 2009, 2012,  682, 1646, 2010,
2376       680, 2053, 2192,  681,  685,  685,  685, 2053,  685, 2007,
2377
2378      2014,  685,  696,  696,  696,  697,  697,  697,  700,  700,
2379       700, 2012,  700, 2016, 1645,  700, 2192,  703,  703,  703,
2380       696,  703,  681,  697,  703,  706,  706,  706,  707,  707,
2381       707,  709,  709,  709,  710,  710,  710, 2014,  710, 2015,
2382      2024,  710, 2109,  706, 2027, 2017,  707, 2016,  709,  714,
2383       714,  714, 2026,  714, 2015, 2024,  714,  697,  717,  717,
2384       717, 2025,  717, 2017, 2130,  717,  720,  720,  720,  721,
2385       721,  721, 2109,  723,  723,  723, 2025,  723, 2027,  707,
2386       723,  727,  727,  727,  720, 2031, 1644,  721,  728,  728,
2387       728, 2026,  728, 2130, 2029,  728, 1619, 2036,  727,  731,
2388
2389       731,  731, 2028,  731, 2032, 2034,  731,  734,  734,  734,
2390      2029,  734, 2035, 2036,  734, 2056,  737,  737,  737,  721,
2391       737, 2056, 2031,  737,  740,  740,  740,  741,  741,  741,
2392       745,  745,  745,  746,  746,  746, 2028,  746, 2032, 2038,
2393       746, 2041,  740, 1605, 2034,  741, 2035,  745,  750,  750,
2394       750,  751,  751,  751, 2038,  751, 2042, 2041,  751,  753,
2395       753,  753, 2044,  753, 2045,  750,  753,  756,  756,  756,
2396       741,  756, 2042, 2043,  756,  759,  759,  759,  760,  760,
2397       760,  764,  764,  764,  765,  765,  765, 1600,  765, 2193,
2398      1599,  765, 1598,  759, 2047, 2044,  760, 2048,  764,  771,
2399
2400       771,  771, 2049,  771, 2045, 2047,  771,  774,  774,  774,
2401      2043,  774, 2052, 2193,  774,  777,  777,  777, 2050,  778,
2402       778,  778,  779,  779,  779,  780,  780,  780,  781,  781,
2403       781, 2048, 2058,  777, 2057, 2049,  760,  778, 2051,  779,
2404      2057, 2284,  780, 2052, 2059,  781,  782,  782,  782,  783,
2405       783,  783, 2050,  783, 1585, 2284,  783,  784,  784,  784,
2406       785,  785,  785,  782, 2065,  778, 2058,  786,  786,  786,
2407       787,  787,  787, 2060,  784, 2051,  780,  785,  788,  788,
2408       788,  781,  788, 2059,  786,  788, 2055,  787,  789,  789,
2409       789,  790,  790,  790, 2063,  790, 2061, 2065,  790,  793,
2410
2411       793,  793, 2055,  793, 1584,  789,  793, 2061, 2060,  785,
2412       786,  796,  796,  796,  797,  797,  797,  802,  802,  802,
2413       803,  803,  803, 2064,  803, 2063, 1583,  803, 2068,  796,
2414      1558, 2071,  797, 2080,  802,  789,  808,  808,  808, 2068,
2415       808, 2070, 2071,  808,  811,  811,  811, 2070,  811, 2066,
2416      2093,  811,  814,  814,  814,  815,  815,  815,  816,  816,
2417       816, 2069, 2064,  797,  817,  817,  817,  818,  818,  818,
2418       814, 2072, 2080,  815, 1557,  816,  819,  819,  819, 2069,
2419      2085,  817, 2072, 2066,  818,  820,  820,  820, 2093,  820,
2420      2089, 2085,  820,  819,  821,  821,  821, 2098,  815,  822,
2421
2422       822,  822,  823,  823,  823,  824,  824,  824,  825,  825,
2423       825,  821,  826,  826,  826, 2098,  822, 2073, 2148,  823,
2424       818,  817,  824, 2106, 2089,  825,  827,  827,  827,  826,
2425       828,  828,  828, 2074,  828, 2079, 2096,  828,  831,  831,
2426       831, 2106,  831,  827,  822,  831,  821, 2148, 2073,  825,
2427       834,  834,  834,  835,  835,  835,  853,  853,  853,  826,
2428       854,  854,  854,  856,  856,  856, 1556,  824,  834, 2111,
2429      2074,  835, 2079, 2096,  853,  862,  862,  862,  854, 2138,
2430      2171,  856, 2081,  827,  863,  863,  863, 2111,  863, 2171,
2431      2138,  863,  862,  866,  866,  866,  867,  867,  867,  869,
2432
2433       869,  869,  835,  871,  871,  871,  856,  871, 2105, 2084,
2434       871,  866, 2295, 2081,  867, 2095, 1555,  869,  874,  874,
2435       874,  875,  875,  875, 2084,  875, 2295, 2100,  875,  876,
2436       876,  876,  877,  877,  877,  874,  879,  879,  879, 2105,
2437       881,  881,  881, 2100,  882,  882,  882,  876,  882, 2095,
2438       877,  882, 2110, 2112,  879, 2107,  869,  881,  886,  886,
2439       886, 2212,  889,  889,  889,  890,  890,  890,  892,  892,
2440       892,  895,  895,  895, 2108,  886,  897,  897,  897,  879,
2441       889, 1554, 2110,  890, 2112, 2212,  892, 2116,  895,  898,
2442       898,  898, 2117, 2107,  897,  900,  900,  900,  904,  904,
2443
2444       904, 2127,  904, 2113, 2135,  904, 2120,  898,  910,  910,
2445       910, 2118, 2108,  900,  911,  911,  911, 2118, 2124,  892,
2446      2135,  913,  913,  913, 2121, 2116,  910,  922,  922,  922,
2447      2117, 2127,  911,  923,  923,  923, 2124, 2113,  900,  913,
2448       925,  925,  925, 2156, 2120,  922,  928,  928,  928, 2156,
2449      2115,  923,  929,  929,  929,  931,  931,  931,  925,  932,
2450       932,  932, 2121, 2128,  928, 2115, 2213,  933,  933,  933,
2451       929,  933,  913,  931,  933, 2122,  932,  936,  936,  936,
2452       937,  937,  937,  938,  938,  938,  939,  939,  939, 1553,
2453      2213,  925, 2168, 2128,  936, 2136,  931,  937, 2168, 2134,
2454
2455       938,  940,  940,  940,  939, 2123,  942,  942,  942,  944,
2456       944,  944, 2139, 2122,  945,  945,  945, 2134,  945,  940,
2457       936,  945, 2133,  938,  942, 2136,  944,  937,  950,  950,
2458       950,  951,  951,  951,  953,  953,  953,  955,  955,  955,
2459       956,  956,  956, 2123, 2137,  942,  950, 1552, 2126,  951,
2460      2139, 1549,  953, 2133,  955, 2140, 2131,  956,  957,  957,
2461       957, 2141,  957, 2126, 1533,  957,  963,  963,  963, 2142,
2462       963, 2131, 1532,  963, 2137,  953,  967,  967,  967,  968,
2463       968,  968,  970,  970,  970,  973,  973,  973,  974,  974,
2464       974, 2141,  974, 2140,  967,  974, 2150,  968, 2143, 2142,
2465
2466       970, 2144,  973,  977,  977,  977,  978,  978,  978,  983,
2467       983,  983,  984,  984,  984,  986,  986,  986, 1529, 2145,
2468       977, 2177, 1523,  978,  987,  987,  987,  983, 2143, 2150,
2469       984, 2144, 2177,  986, 2145, 1522,  988,  988,  988,  970,
2470       988,  987, 2167,  988,  989,  989,  989,  990,  990,  990,
2471       991,  991,  991, 2151,  991, 2147, 2174,  991,  986, 2149,
2472      2167,  989, 2157, 2158,  990,  994,  994,  994,  995,  995,
2473       995, 2147,  995, 2152, 2174,  995,  996,  996,  996,  997,
2474       997,  997,  994,  998,  998,  998, 2151,  998, 2149, 2152,
2475       998, 2157, 2158,  996, 2162, 2160,  997, 1001, 1001, 1001,
2476
2477      1002, 1002, 1002, 1003, 1003, 1003, 1005, 1005, 1005, 1008,
2478      1008, 1008, 1509, 2172, 1001, 1009, 1009, 1009, 1002, 2189,
2479      2155, 1003, 2172, 2162, 1005, 2160, 1008, 1010, 1010, 1010,
2480      2189, 1010, 1009,  996, 1010, 2155, 2161, 1001, 1014, 1014,
2481      1014, 1017, 1017, 1017, 1018, 1018, 1018, 1020, 1020, 1020,
2482      1021, 1021, 1021, 1005, 1505, 1014, 1022, 1022, 1022, 1017,
2483      1022, 2166, 1018, 1022, 2188, 1020, 2161, 1021, 1023, 1023,
2484      1023, 1024, 1024, 1024, 1025, 1025, 1025, 2166, 1025, 2188,
2485      2173, 1025, 1028, 1028, 1028, 1023, 2173, 2163, 1024, 1029,
2486      1029, 1029, 1030, 1030, 1030, 2169, 1031, 1031, 1031, 1028,
2487
2488      1031, 1496, 2164, 1031, 1478, 1477, 1029, 2165, 1020, 1030,
2489      1032, 1032, 1032, 1033, 1033, 1033, 2163, 1034, 1034, 1034,
2490      1035, 1035, 1035, 1036, 1036, 1036, 2181, 1032, 2169, 2170,
2491      1033, 2164, 1476, 1029, 1034, 2196, 2165, 1035, 1037, 1037,
2492      1037, 1036, 1028, 1039, 1039, 1039, 1050, 1050, 1050, 1042,
2493      1042, 1042, 2194, 2196, 1032, 2181, 1037, 1034, 1053, 1053,
2494      1053, 1039, 2170, 2194, 1050, 1033, 1035, 1042, 1042, 1056,
2495      1056, 1056, 1057, 1057, 1057, 1475, 1057, 2176, 1474, 1057,
2496      1473, 2178, 1039, 1058, 1058, 1058, 1056, 1059, 1059, 1059,
2497      1060, 1060, 1060, 2176, 1060, 2182, 1050, 1060, 1063, 1063,
2498
2499      1063, 1058, 2179, 2214, 1059, 1064, 1064, 1064, 1065, 1065,
2500      1065, 1066, 1066, 1066, 2178, 1066, 1063, 2187, 1066, 1067,
2501      1067, 1067, 1064, 2187, 2182, 1065, 1068, 1068, 1068, 1472,
2502      1069, 1069, 1069, 1058, 1069, 2179, 1067, 1069, 1070, 1070,
2503      1070, 2197, 2214, 1068, 1071, 1071, 1071, 2197, 2209, 1063,
2504      1072, 1072, 1072, 2183, 2210, 1070, 1074, 1074, 1074, 2209,
2505      1067, 1071, 1075, 1075, 1075, 1076, 1076, 1076, 1072, 1076,
2506      2210, 2232, 1076, 1074, 1078, 1078, 1078, 2232, 1469, 1075,
2507      1079, 1079, 1079, 1080, 1080, 1080, 2183, 1070, 1081, 1081,
2508      1081, 2195, 1078, 1082, 1082, 1082, 1447, 1079, 2184, 2190,
2509
2510      1080, 1071, 1083, 1083, 1083, 1081, 2195, 1072, 2190, 2191,
2511      1082, 1085, 1085, 1085, 1094, 1094, 1094, 2185, 2191, 1083,
2512      1096, 1096, 1096, 1442, 1078, 2199, 1097, 1097, 1097, 1085,
2513      2221, 2184, 1094, 2218, 2199, 1081, 2186, 1096, 1080, 1098,
2514      1098, 1098, 1082, 2203, 1097, 1099, 1099, 1099, 2218, 1099,
2515      2185, 1083, 1099, 1085, 2221, 2201, 1098, 1100, 1100, 1100,
2516      1101, 1101, 1101, 1102, 1102, 1102, 1103, 1103, 1103, 2186,
2517      2200, 1094, 1097, 2222, 1100, 1436, 2203, 1101, 2217, 2200,
2518      1102, 1104, 1104, 1104, 1103, 1105, 1105, 1105, 1106, 1106,
2519      1106, 2204, 1106, 2201, 2217, 1106, 1430, 2222, 1104, 2202,
2520
2521      2205, 1101, 1105, 1107, 1107, 1107, 1108, 1108, 1108, 2205,
2522      2206, 1103, 1102, 1109, 1109, 1109, 1111, 1111, 1111, 2206,
2523      1107, 2207, 2215, 1108, 2204, 1112, 1112, 1112, 1429, 1112,
2524      2207, 1109, 1112, 1111, 1113, 1113, 1113, 2202, 1114, 1114,
2525      1114, 2208, 1114, 2239, 1107, 1114, 1119, 1119, 1119, 2239,
2526      2208, 1113, 1122, 1122, 1122, 1108, 1123, 1123, 1123, 2223,
2527      1123, 2215, 2265, 1123, 1119, 1124, 1124, 1124, 2265, 1122,
2528      1109, 1125, 1125, 1125, 2234, 1125, 2227, 2219, 1125, 1126,
2529      1126, 1126, 1124, 1127, 1127, 1127, 2224, 1127, 2219, 2223,
2530      1127, 1132, 1132, 1132, 2301, 2235, 1126, 1133, 1133, 1133,
2531
2532      2227, 1133, 2228, 1119, 1133, 1136, 1136, 1136, 2301, 1132,
2533      1137, 1137, 1137, 2234, 1137, 2229, 2224, 1137, 1138, 1138,
2534      1138, 1428, 1136, 1139, 1139, 1139, 2228, 1139, 2230, 2236,
2535      1139, 2242, 1132, 2225, 2235, 1138, 1140, 1140, 1140, 2229,
2536      1140, 2226, 2225, 1140, 1144, 1144, 1144, 1145, 1145, 1145,
2537      2226, 1145, 2230, 2236, 1145, 1147, 1147, 1147, 1148, 1148,
2538      1148, 1144, 1149, 1149, 1149, 1150, 1150, 1150, 2237, 2242,
2539      1151, 1151, 1151, 1147, 1151, 1148, 1427, 1151, 1412, 1149,
2540      2255, 2246, 1150, 1152, 1152, 1152, 1153, 1153, 1153, 2243,
2541      1153, 2255, 2237, 1153, 1154, 1154, 1154, 1147, 2244, 1409,
2542
2543      1152, 1149, 1155, 1155, 1155, 1156, 1156, 1156, 2256, 1156,
2544      2246, 1154, 1156, 1157, 1157, 1157, 1158, 1158, 1158, 1155,
2545      1159, 1159, 1159, 2240, 1160, 1160, 1160, 2243, 1160, 2247,
2546      1157, 1160, 2245, 1158, 1163, 1163, 1163, 2244, 1159, 2240,
2547      1164, 1164, 1164, 1154, 1164, 2248, 2256, 1164, 1165, 1165,
2548      1165, 1163, 1166, 1166, 1166, 2297, 1166, 2249, 2247, 1166,
2549      1408, 2261, 1157, 1406, 2297, 1165, 1169, 1169, 1169, 2248,
2550      1169, 2245, 2261, 1169, 1175, 1175, 1175, 1159, 1176, 1176,
2551      1176, 2249, 1180, 1180, 1180, 1185, 1185, 1185, 1186, 1186,
2552      1186, 1175, 1188, 1188, 1188, 2250, 1176, 1190, 1190, 1190,
2553
2554      1180, 1191, 1191, 1191, 2258, 1186, 1405, 1194, 1194, 1194,
2555      1188, 1194, 2251, 1402, 1194, 1197, 1197, 1197, 2298, 1198,
2556      1198, 1198, 1199, 1199, 1199, 1401, 1199, 2298, 2258, 1199,
2557      1200, 1200, 1200, 1197, 2250, 1188, 1198, 1212, 1212, 1212,
2558      1176, 1180, 1201, 1201, 1201, 1202, 1202, 1202, 1200, 1202,
2559      1399, 2251, 1202, 2257, 1197, 1212, 1203, 1203, 1203, 1201,
2560      1203, 2259, 2252, 1203, 1206, 1206, 1206, 1207, 1207, 1207,
2561      2253, 1207, 2267, 2262, 1207, 1210, 1210, 1210, 1211, 1211,
2562      1211, 1206, 1213, 1213, 1213, 2259, 1382, 1200, 1214, 1214,
2563      1214, 2257, 1210, 2263, 1380, 1211, 1215, 1215, 1215, 1213,
2564
2565      1215, 2252, 2267, 1215, 2269, 1214, 1216, 1216, 1216, 2253,
2566      1216, 2262, 1379, 1216, 1220, 1220, 1220, 1221, 1221, 1221,
2567      2271, 2270, 1210, 1222, 1222, 1222, 2268, 1222, 2269, 2272,
2568      1222, 2263, 1220, 2264, 1221, 1223, 1223, 1223, 1224, 1224,
2569      1224, 1225, 1225, 1225, 2264, 2270, 1226, 1226, 1226, 1228,
2570      1228, 1228, 1223, 2271, 1378, 1224, 2268, 1220, 1225, 1237,
2571      1237, 1237, 2272, 1226, 1239, 1239, 1239, 1228, 1240, 1240,
2572      1240, 2293, 1240, 2275, 2273, 1240, 2274, 1237, 1241, 1241,
2573      1241, 1239, 1245, 1245, 1245, 1377, 2347, 1223, 1224, 1226,
2574      2279, 1242, 1242, 1242, 1225, 1242, 1241, 2275, 1242, 1245,
2575
2576      2293, 1228, 1246, 1246, 1246, 2276, 1246, 2277, 2278, 1246,
2577      1247, 1247, 1247, 2273, 1237, 2274, 1248, 1248, 1248, 1249,
2578      1249, 1249, 1250, 1250, 1250, 2347, 2282, 1247, 2279, 2276,
2579      1241, 2277, 2278, 1248, 1251, 1251, 1251, 1249, 1251, 1250,
2580      1376, 1251, 1252, 1252, 1252, 2294, 1252, 2280, 1375, 1252,
2581      1255, 1255, 1255, 1256, 1256, 1256, 2282, 2283, 1247, 1248,
2582      1374, 1371, 1249, 1257, 1257, 1257, 2285, 1255, 2290, 2287,
2583      1256, 1259, 1259, 1259, 2294, 1259, 2288, 2285, 1259, 2290,
2584      2308, 1257, 1262, 1262, 1262, 2280, 1262, 2283, 2309, 1262,
2585      1269, 1269, 1269, 1272, 1272, 1272, 1256, 1272, 1255, 2287,
2586
2587      1272, 1341, 1257, 1275, 1275, 1275, 2288, 1275, 1269, 2308,
2588      1275, 1278, 1278, 1278, 2296, 1278, 2302, 2309, 1278, 1285,
2589      1285, 1285, 1286, 1286, 1286, 2296, 1286, 2302, 2291, 1286,
2590      2303, 1289, 1289, 1289, 2292, 1289, 2299, 1285, 1289, 1293,
2591      1293, 1293, 1269, 1293, 2303, 2319, 1293, 1297, 1297, 1297,
2592      2300, 1298, 1298, 1298, 1299, 1299, 1299, 1336, 1299, 2305,
2593      2299, 1299, 1300, 1300, 1300, 1297, 2291, 1285, 1298, 1301,
2594      1301, 1301, 2292, 1301, 2300, 2304, 1301, 1329, 2319, 1300,
2595      1304, 1304, 1304, 2313, 1304, 2306, 2304, 1304, 2314, 2305,
2596      1297, 1307, 1307, 1307, 1308, 1308, 1308, 2322, 1308, 2320,
2597
2598      1325, 1308, 1311, 1311, 1311, 1312, 1312, 1312, 1307, 1313,
2599      1313, 1313, 2313, 1313, 2323, 2306, 1313, 2314, 2368, 1311,
2600      2324, 2322, 1312, 2390, 1300, 2317, 1314, 1314, 1314, 1315,
2601      1315, 1315, 2320, 1315, 2324, 2330, 1315, 2390, 2323, 1318,
2602      1318, 1318, 2368, 1318, 1314, 1311, 1318, 1307, 1314, 1326,
2603      1326, 1326, 1327, 1327, 1327, 2317, 1327, 2331, 2369, 1327,
2604      1328, 1328, 1328, 1333, 1333, 1333, 1326, 1334, 1334, 1334,
2605      1335, 1335, 1335, 2330, 1335, 2328, 2318, 1335, 1328, 1337,
2606      1337, 1337, 2369, 2329, 1334, 1338, 1338, 1338, 1328, 1339,
2607      1339, 1339, 1340, 1340, 1340, 2331, 2325, 1337, 1342, 1342,
2608
2609      1342, 1343, 1343, 1343, 2328, 1343, 2318, 2325, 1343, 1346,
2610      1346, 1346, 2329, 1347, 1347, 1347, 1342, 1347, 2341, 2342,
2611      1347, 1350, 1350, 1350, 1351, 1351, 1351, 1346, 1351, 2332,
2612      1324, 1351, 1352, 1352, 1352, 1353, 1353, 1353, 1350, 1354,
2613      1354, 1354, 1323, 1354, 2338, 1322, 1354, 2341, 2342, 1352,
2614      2348, 1342, 1353, 1355, 1355, 1355, 1357, 1357, 1357, 1358,
2615      1358, 1358, 2332, 1358, 1321, 2343, 1358, 2339, 1359, 1359,
2616      1359, 1355, 1359, 1357, 2343, 1359, 1362, 1362, 1362, 1363,
2617      1363, 1363, 2338, 1352, 1364, 1364, 1364, 2333, 1364, 2348,
2618      2364, 1364, 2344, 1362, 1367, 1367, 1367, 1363, 1368, 1368,
2619
2620      1368, 2344, 1369, 1369, 1369, 2339, 1363, 1370, 1370, 1370,
2621      2388, 1367, 1372, 1372, 1372, 1368, 1373, 1373, 1373, 1369,
2622      2333, 1381, 1381, 1381, 1370, 1383, 1383, 1383, 2364, 1383,
2623      1372, 2370, 1383, 1386, 1386, 1386, 1387, 1387, 1387, 1381,
2624      1387, 1368, 2371, 1387, 1390, 1390, 1390, 1367, 1369, 2388,
2625      2358, 1386, 1391, 1391, 1391, 2370, 1392, 1392, 1392, 2358,
2626      1296, 1390, 2359, 1393, 1393, 1393, 2371, 1393, 2336, 1391,
2627      1393, 2359, 1372, 1381, 1392, 1396, 1396, 1396, 1392, 1397,
2628      1397, 1397, 1398, 1398, 1398, 1400, 1400, 1400, 1386, 1403,
2629      1403, 1403, 1396, 1404, 1404, 1404, 1397, 1410, 1410, 1410,
2630
2631      1398, 2336, 1400, 1411, 1411, 1411, 1403, 1292, 1413, 1413,
2632      1413, 1404, 2391, 2356, 1410, 2337, 1414, 1414, 1414, 1284,
2633      2357, 1411, 2354, 2391, 1411, 1413, 1283, 2378, 1415, 1415,
2634      1415, 2365, 1415, 1398, 1414, 1415, 1418, 1418, 1418, 1419,
2635      1419, 1419, 2355, 2356, 1404, 1420, 1420, 1420, 2337, 1420,
2636      2357, 2378, 1420, 1418, 2366, 2354, 1419, 1421, 1421, 1421,
2637      1422, 1422, 1422, 1423, 1423, 1423, 2379, 1423, 2376, 2365,
2638      1423, 1414, 2362, 1282, 1421, 2355, 2377, 1422, 1426, 1426,
2639      1426, 1431, 1431, 1431, 1432, 1432, 1432, 2366, 1432, 1281,
2640      2379, 1432, 1271, 1435, 1435, 1435, 1426, 2376, 1431, 1439,
2641
2642      1439, 1439, 2362, 1439, 2367, 2377, 1439, 1443, 1443, 1443,
2643      1421, 1435, 1445, 1445, 1445, 1446, 1446, 1446, 1448, 1448,
2644      1448, 1449, 1449, 1449, 2360, 1443, 2361, 1451, 1451, 1451,
2645      1426, 1451, 1270, 2360, 1451, 2361, 1448, 2367, 2363, 1449,
2646      1435, 1454, 1454, 1454, 1455, 1455, 1455, 1268, 1455, 1267,
2647      1266, 1455, 1458, 1458, 1458, 2423, 1458, 2374, 1454, 1458,
2648      1461, 1461, 1461, 1462, 1462, 1462, 2374, 1462, 2363, 2423,
2649      1462, 1463, 1463, 1463, 1464, 1464, 1464, 1461, 1465, 1465,
2650      1465, 1466, 1466, 1466, 1454, 1467, 1467, 1467, 2375, 1463,
2651      2382, 1464, 1468, 1468, 1468, 1465, 1468, 2375, 1466, 1468,
2652
2653      2389, 1265, 1467, 1470, 1470, 1470, 1471, 1471, 1471, 1479,
2654      1479, 1479, 1480, 1480, 1480, 1481, 1481, 1481, 2384, 2382,
2655      1466, 1470, 1463, 1482, 1482, 1482, 2380, 1479, 2383, 1480,
2656      1483, 1483, 1483, 1481, 1483, 2394, 2385, 1483, 1258, 2389,
2657      1482, 1238, 1484, 1484, 1484, 1485, 1485, 1485, 2384, 1485,
2658      2380, 2381, 1485, 1486, 1486, 1486, 1236, 2383, 1479, 1484,
2659      1487, 1487, 1487, 1488, 1488, 1488, 2385, 1488, 2394, 2395,
2660      1488, 1486, 1489, 1489, 1489, 2381, 2400, 1487, 1490, 1490,
2661      1490, 1235, 1490, 1234, 1233, 1490, 1491, 1491, 1491, 1489,
2662      1492, 1492, 1492, 1493, 1493, 1493, 1494, 1494, 1494, 2386,
2663
2664      1494, 1232, 2395, 1494, 1491, 1486, 2392, 1492, 2386, 2400,
2665      1493, 1497, 1497, 1497, 1498, 1498, 1498, 2393, 1498, 2404,
2666      2387, 1498, 1499, 1499, 1499, 1502, 1502, 1502, 1497, 2387,
2667      2392, 1491, 1503, 1503, 1503, 1506, 1506, 1506, 2401, 2405,
2668      1499, 2393, 1502, 2404, 1499, 2396, 1507, 1507, 1507, 1503,
2669      1507, 1231, 1506, 1507, 1508, 1508, 1508, 1510, 1510, 1510,
2670      1511, 1511, 1511, 2405, 1511, 2397, 1230, 1511, 1512, 1512,
2671      1512, 2401, 1508, 1229, 1510, 1513, 1513, 1513, 1514, 1514,
2672      1514, 1227, 1514, 2406, 2396, 1514, 1512, 1515, 1515, 1515,
2673      1512, 1515, 1513, 1219, 1515, 1518, 1518, 1518, 1519, 1519,
2674
2675      1519, 1520, 1520, 1520, 2397, 1520, 1508, 2406, 1520, 1521,
2676      1521, 1521, 1518, 1193, 2407, 1519, 1524, 1524, 1524, 1525,
2677      1525, 1525, 1526, 1526, 1526, 1192, 2398, 1521, 1527, 1527,
2678      1527, 1189, 1527, 1524, 1518, 1527, 1525, 2399, 2407, 1526,
2679      1528, 1528, 1528, 1530, 1530, 1530, 1534, 1534, 1534, 1536,
2680      1536, 1536, 1537, 1537, 1537, 2402, 1537, 2403, 1528, 1537,
2681      1521, 1530, 1187, 1182, 1534, 2398, 1536, 1540, 1540, 1540,
2682      1541, 1541, 1541, 1542, 1542, 1542, 2399, 1542, 1179, 2431,
2683      1542, 1543, 1543, 1543, 2402, 1540, 2403, 1541, 1544, 1544,
2684      1544, 2413, 1544, 2431, 2419, 1544, 1528, 2409, 1543, 1545,
2685
2686      1545, 1545, 1546, 1546, 1546, 2410, 1546, 1177, 2420, 1546,
2687      1174, 1540, 1550, 1550, 1550, 2413, 1545, 1559, 1559, 1559,
2688      1560, 1560, 1560, 1173, 1561, 1561, 1561, 2419, 1561, 2414,
2689      1550, 1561, 1562, 1562, 1562, 1559, 2409, 1560, 1564, 1564,
2690      1564, 2420, 1564, 1559, 2410, 1564, 2415, 1567, 1567, 1567,
2691      1562, 1567, 2411, 2414, 1567, 1570, 1570, 1570, 1571, 1571,
2692      1571, 2411, 1571, 2412, 2421, 1571, 1172, 1574, 1574, 1574,
2693      2415, 1574, 2412, 1570, 1574, 1577, 1577, 1577, 1578, 1578,
2694      1578, 1579, 1579, 1579, 2422, 1579, 1168, 2417, 1579, 1167,
2695      1580, 1580, 1580, 1577, 1580, 1578, 2417, 1580, 1586, 1586,
2696
2697      1586, 1146, 1586, 2421, 2416, 1586, 1570, 1589, 1589, 1589,
2698      1590, 1590, 1590, 1591, 1591, 1591, 1592, 1592, 1592, 1593,
2699      1593, 1593, 2418, 2422, 1577, 1589, 1143, 1590, 2416, 1131,
2700      1591, 2418, 2424, 1592, 2432, 2434, 1593, 1594, 1594, 1594,
2701      1595, 1595, 1595, 2424, 1595, 2432, 2434, 1595, 1596, 1596,
2702      1596, 1597, 1597, 1597, 1594, 1597, 1130, 2437, 1597, 1589,
2703      1601, 1601, 1601, 2433, 1601, 1596, 2437, 1601, 1604, 1604,
2704      1604, 1606, 1606, 1606, 2442, 1606, 2427, 2433, 1606, 1609,
2705      1609, 1609, 1129, 1610, 1610, 1610, 1604, 1610, 2442, 1128,
2706      1610, 1613, 1613, 1613, 1614, 1614, 1614, 1609, 1614, 1121,
2707
2708      2427, 1614, 1617, 1617, 1617, 1618, 1618, 1618, 1613, 1620,
2709      1620, 1620, 1621, 1621, 1621, 2428, 1621, 2443, 2438, 1621,
2710      1617, 2429, 1618, 1622, 1622, 1622, 1620, 2438, 2443, 1604,
2711      2444, 1609, 1613, 1120, 1623, 1623, 1623, 1118, 1623, 2428,
2712      1622, 1623, 1624, 1624, 1624, 2429, 1624, 2430, 2435, 1624,
2713      1627, 1627, 1627, 1631, 1631, 1631, 1632, 1632, 1632, 1617,
2714      1633, 1633, 1633, 1634, 1634, 1634, 2436, 1634, 1627, 2444,
2715      1634, 2430, 2435, 1632, 1709, 1709, 1709, 1633, 2445, 1635,
2716      1635, 1635, 1636, 1636, 1636, 2448, 1636, 1117, 2449, 1636,
2717      2436, 1639, 1639, 1639, 1116, 1639, 1115, 1635, 1639, 1642,
2718
2719      1642, 1642, 1652, 1652, 1652, 2452, 1110, 1627, 1629, 1629,
2720      1629, 1643, 1643, 1643, 2465, 1643, 1642, 2445, 1643, 2452,
2721      1652, 1788, 1788, 1788, 2448, 2439, 1629, 2449, 1629, 1629,
2722      1629, 1635, 1629, 1629, 1095, 1629, 1656, 1656, 1656, 1629,
2723      1629, 1629, 1629, 1629, 1653, 1653, 1653, 1093, 1653, 2439,
2724      2466, 1653, 1092, 2465, 1656, 2453, 1091, 1652, 1657, 1657,
2725      1657, 1658, 1658, 1658, 2440, 1658, 2453, 2450, 1658, 1661,
2726      1661, 1661, 1664, 1664, 1664, 1090, 1657, 1665, 1665, 1665,
2727      1666, 1666, 1666, 1089, 1666, 1088, 1661, 1666, 2440, 2466,
2728      1664, 2450, 2451, 1656, 1665, 1667, 1667, 1667, 1668, 1668,
2729
2730      1668, 1657, 1668, 1087, 2470, 1668, 1086, 1669, 1669, 1669,
2731      2457, 2471, 1667, 1670, 1670, 1670, 2451, 1670, 2470, 2472,
2732      1670, 1084, 2471, 1664, 1669, 1671, 1671, 1671, 1672, 1672,
2733      1672, 1077, 1672, 2472, 2457, 1672, 1673, 1673, 1673, 2473,
2734      1673, 1073, 1671, 1673, 1676, 1676, 1676, 2458, 1676, 1055,
2735      2473, 1676, 1682, 1682, 1682, 1684, 1684, 1684, 1685, 1685,
2736      1685, 1686, 1686, 1686, 1687, 1687, 1687, 1832, 1832, 1832,
2737      1682, 2458, 1054, 1684, 1682, 1685, 1688, 1688, 1688, 1686,
2738      1688, 1687, 1052, 1688, 1690, 1690, 1690, 2481, 1690, 1051,
2739      2463, 1690, 1693, 1693, 1693, 2464, 1693, 1049, 2481, 1693,
2740
2741      1048, 1685, 1696, 1696, 1696, 2474, 1684, 2475, 1710, 1710,
2742      1710, 1711, 1711, 1711, 2463, 1711, 1686, 1047, 1711, 2464,
2743      1696, 1715, 1715, 1715, 1696, 1710, 1712, 1712, 1712, 2474,
2744      1712, 2475, 1046, 1712, 1716, 1716, 1716, 1045, 1716, 1715,
2745      1040, 1716, 1727, 1727, 1727, 1728, 1728, 1728, 1729, 1729,
2746      1729, 1730, 1730, 1730, 1731, 1731, 1731, 1016, 1731, 1015,
2747      1727, 1731, 1013, 1728, 1007, 1006, 1729,  982, 1730, 2480,
2748      1729, 1732, 1732, 1732, 1733, 1733, 1733, 1734, 1734, 1734,
2749      1735, 1735, 1735, 2480, 1735,  981,  980, 1735, 1732,  979,
2750       972, 1733,  971,  966, 1727, 1734,  962, 1738, 1738, 1738,
2751
2752      1728, 1738,  961,  960, 1738, 1741, 1741, 1741,  954, 1741,
2753       949,  948, 1741, 1744, 1744, 1744,  943, 1744,  927,  926,
2754      1744, 1747, 1747, 1747, 1748, 1748, 1748, 1751, 1751, 1751,
2755      1752, 1752, 1752,  921, 1734, 1753, 1753, 1753, 1747,  920,
2756       919, 1748, 1754, 1754, 1754, 1751,  918, 1752, 1755, 1755,
2757      1755,  917,  916, 1753, 1756, 1756, 1756,  915, 1756, 1754,
2758       914, 1756, 1760, 1760, 1760,  909, 1755, 1776, 1776, 1776,
2759       908, 1776,  907,  903, 1776, 1779, 1779, 1779,  902, 1751,
2760      1760, 1789, 1789, 1789, 1790, 1790, 1790,  901, 1791, 1791,
2761      1791,  896, 1753, 1779, 1792, 1792, 1792,  894, 1792, 1789,
2762
2763      1755, 1792, 1790, 1795, 1795, 1795, 1791,  893, 1796, 1796,
2764      1796,  888, 1796,  887, 1760, 1796, 1797, 1797, 1797,  885,
2765      1795, 1798, 1798, 1798,  880, 1798,  870,  861, 1798, 1799,
2766      1799, 1799,  860, 1797,  859,  858, 1790,  857,  852, 1789,
2767      1791, 1800, 1800, 1800, 1801, 1801, 1801, 1799, 1801,  851,
2768       850, 1801, 1802, 1802, 1802, 1803, 1803, 1803, 1800, 1803,
2769       849,  846, 1803, 1804, 1804, 1804, 1805, 1805, 1805, 1802,
2770      1806, 1806, 1806, 1807, 1807, 1807, 1808, 1808, 1808,  845,
2771      1804,  844,  842, 1805, 1799,  838,  836, 1806,  807,  806,
2772      1807, 1809, 1809, 1809, 1808, 1810, 1810, 1810,  805, 1810,
2773
2774       804,  801, 1810, 1811, 1811, 1811,  800,  799, 1809, 1812,
2775      1812, 1812, 1813, 1813, 1813,  798, 1813,  770,  769, 1813,
2776       768, 1811, 1814, 1814, 1814,  767, 1812, 1808, 1815, 1815,
2777      1815, 1816, 1816, 1816, 1831, 1831, 1831, 1835, 1835, 1835,
2778      1814, 1839, 1839, 1839,  763, 1815, 1840, 1840, 1840, 1816,
2779       762, 1831, 1831,  761, 1841, 1841, 1841,  752, 1811, 1842,
2780      1842, 1842,  749,  748, 1840,  747, 1843, 1843, 1843,  744,
2781      1843, 1814, 1841, 1843, 1846, 1846, 1846, 1842, 1846,  743,
2782       742, 1846, 1816, 1849, 1849, 1849, 1850, 1850, 1850,  730,
2783      1850,  729,  726, 1850,  722, 1856, 1856, 1856,  713, 1840,
2784
2785       712, 1849,  711, 1841, 1853, 1853, 1853,  708, 1853,  699,
2786      1842, 1853, 1856, 1857, 1857, 1857,  698, 1857,  695,  694,
2787      1857, 1858, 1858, 1858, 1859, 1859, 1859,  693, 1859,  692,
2788       691, 1859, 1860, 1860, 1860, 1849,  690,  689, 1858, 1861,
2789      1861, 1861,  688, 1861,  679,  672, 1861,  671,  668, 1860,
2790      1862, 1862, 1862, 1863, 1863, 1863,  667, 1863,  666,  663,
2791      1863, 1864, 1864, 1864, 1865, 1865, 1865, 1862, 1865,  662,
2792       661, 1865, 1868, 1868, 1868,  660, 1869, 1869, 1869, 1864,
2793      1869,  657,  656, 1869, 1872, 1872, 1872, 1873, 1873, 1873,
2794      1868, 1874, 1874, 1874,  655, 1874,  654,  651, 1874, 1875,
2795
2796      1875, 1875, 1872,  650, 1873, 1882, 1882, 1882, 1890, 1890,
2797      1890,  644, 1891, 1891, 1891,  639, 1891, 1875, 1864, 1891,
2798      1892, 1892, 1892, 1882, 1868, 1890, 1890, 1893, 1893, 1893,
2799      1891, 1895, 1895, 1895, 1898, 1898, 1898, 1899, 1899, 1899,
2800      1900, 1900, 1900, 1901, 1901, 1901, 1902, 1902, 1902,  638,
2801      1903, 1903, 1903,  637, 1903, 1899, 1875, 1903, 1900,  636,
2802       635, 1901,  634,  631, 1902, 1906, 1906, 1906,  630, 1906,
2803       629,  627, 1906, 1909, 1909, 1909,  626, 1909,  625,  624,
2804      1909, 1912, 1912, 1912,  623, 1912,  619,  617, 1912, 1915,
2805      1915, 1915, 1916, 1916, 1916, 1902, 1917, 1917, 1917,  616,
2806
2807      1901, 1919, 1919, 1919,  615, 1919,  614, 1915, 1919,  613,
2808      1916, 1922, 1922, 1922, 1917, 1928, 1928, 1928, 1929, 1929,
2809      1929, 1935, 1935, 1935, 1937, 1937, 1937,  608, 1937, 1922,
2810       607, 1937,  606, 1928,  605,  604, 1929,  603,  602, 1935,
2811       600, 1916, 1937,  599, 1915, 1940, 1940, 1940, 1935,  598,
2812       595, 1929, 1944, 1944, 1944, 1971, 1971, 1971, 1945, 1945,
2813      1945, 1947, 1947, 1947,  590,  589, 1922, 1938, 1938, 1938,
2814      1938, 1938, 1938, 1938, 1938, 1938, 1945,  588, 1938, 1947,
2815      1949, 1949, 1949, 1938, 1938, 1938, 1938, 1938, 1972, 1972,
2816      1972, 1997, 1997, 1997, 1998, 1998, 1998,  587, 1949, 1950,
2817
2818      1950, 1950, 1951, 1951, 1951, 1938, 1938, 1939, 1939, 1939,
2819      1939, 1939, 1939, 1939, 1939, 1939,  585, 1950, 1939,  584,
2820      1951,  583,  582, 1939, 1939, 1939, 1939, 1939,  579, 1952,
2821      1952, 1952, 1953, 1953, 1953, 1949,  574, 1954, 1954, 1954,
2822      1955, 1955, 1955,  572,  571, 1939, 1939, 1952,  570,  568,
2823      1953, 1968, 1968, 1968, 1951, 1954,  567,  566, 1955, 1959,
2824      1959, 1959, 1966, 1966, 1966, 1974, 1974, 1974,  563, 1968,
2825      1975, 1975, 1975, 1977, 1977, 1977,  558, 1959,  557,  555,
2826      1966,  553,  552, 1974, 1953, 1999, 1999, 1999, 1975,  551,
2827       548, 1977, 1959,  547,  542, 1966, 1969, 1969, 1969, 1969,
2828
2829      1969, 1969, 1969, 1969, 1969,  540,  537, 1969, 1978, 1978,
2830      1978,  536, 1969, 1969, 1969, 1969, 1969, 1974, 2018, 2018,
2831      2018,  535, 1977,  532,  525,  524, 1978, 1980, 1980, 1980,
2832      1981, 1981, 1981,  522, 1969, 1969, 1970, 1970, 1970, 1970,
2833      1970, 1970, 1970, 1970, 1970, 1980,  519, 1970, 1981, 1982,
2834      1982, 1982, 1970, 1970, 1970, 1970, 1970,  516,  511, 1995,
2835      1995, 1995,  510, 1981,  509,  507,  504, 1982, 2000, 2000,
2836      2000, 2001, 2001, 2001, 1970, 1970, 1980, 1995, 2002, 2002,
2837      2002,  499, 1982, 2019, 2019, 2019, 2000,  498,  495, 2001,
2838       494,  493, 1995, 2020, 2020, 2020, 2002, 2022, 2022, 2022,
2839
2840       492, 2019, 2037, 2037, 2037, 2039, 2039, 2039, 2054, 2054,
2841      2054, 2020, 2062, 2062, 2062, 2022,  491, 2000,  490,  488,
2842      2037,  487,  480, 2039,  479,  474, 2054, 2067, 2067, 2067,
2843      2062, 2075, 2075, 2075, 2076, 2076, 2076, 2078, 2078, 2078,
2844       473, 2054, 2082, 2082, 2082, 2067, 2077, 2077, 2077, 2075,
2845      2077,  471, 2076, 2077,  470, 2078, 2083, 2083, 2083,  469,
2846      2082, 2086, 2086, 2086, 2077, 2087, 2087, 2087, 2088, 2088,
2847      2088, 2090, 2090, 2090, 2083, 2082, 2094, 2094, 2094, 2086,
2848      2091, 2091, 2091, 2087, 2091,  466, 2088, 2091,  465, 2090,
2849      2097, 2097, 2097,  464, 2094, 2099, 2099, 2099, 2091, 2099,
2850
2851       463,  462, 2099,  459, 2090, 2101, 2101, 2101, 2097, 2094,
2852      2102, 2102, 2102, 2099, 2102,  458,  457, 2102, 2103, 2103,
2853      2103,  456, 2103, 2101,  455, 2103,  453,  452, 2102, 2104,
2854      2104, 2104, 2114, 2114, 2114,  449, 2103, 2119, 2119, 2119,
2855       448, 2119,  446,  443, 2119,  441,  440, 2104,  437,  436,
2856      2114, 2125, 2125, 2125,  435, 2119, 2132, 2132, 2132, 2146,
2857      2146, 2146, 2104,  434,  433, 2114, 2153, 2153, 2153, 2125,
2858      2154, 2154, 2154,  432, 2132,  431,  428, 2146, 2159, 2159,
2859      2159,  427,  426,  425, 2153, 2175, 2175, 2175, 2154, 2198,
2860      2198, 2198, 2146, 2180, 2180, 2180, 2159, 2180,  424, 2153,
2861
2862      2180,  418,  417, 2175, 2211, 2211, 2211, 2198, 2216, 2216,
2863      2216, 2180, 2220, 2220, 2220,  415, 2220,  412, 2175, 2220,
2864       411,  409, 2211, 2231, 2231, 2231, 2216, 2233, 2233, 2233,
2865      2220, 2233,  408,  401, 2233, 2238, 2238, 2238,  400, 2238,
2866       399, 2231, 2238,  398,  397, 2233, 2241, 2241, 2241,  396,
2867      2254, 2254, 2254, 2238, 2254,  394,  393, 2254, 2266, 2266,
2868      2266,  392, 2266,  388, 2241, 2266,  379,  378, 2254, 2281,
2869      2281, 2281, 2286, 2286, 2286,  377, 2266, 2289, 2289, 2289,
2870       376, 2307, 2307, 2307,  375, 2307,  374, 2281, 2307,  373,
2871      2286, 2310, 2310, 2310,  372, 2289, 2311, 2311, 2311, 2307,
2872
2873      2315, 2315, 2315,  371, 2315,  367,  358, 2315,  357, 2310,
2874      2316, 2316, 2316,  355, 2311, 2321, 2321, 2321, 2315, 2326,
2875      2326, 2326, 2327, 2327, 2327, 2334, 2334, 2334, 2316, 2345,
2876      2345, 2345,  354, 2321, 2340, 2340, 2340, 2326, 2340,  353,
2877      2327, 2340,  352, 2334, 2349, 2349, 2349, 2345, 2350, 2350,
2878      2350,  351, 2340, 2352, 2352, 2352, 2372, 2372, 2372, 2408,
2879      2408, 2408, 2349, 2425, 2425, 2425, 2350, 2441, 2441, 2441,
2880       347, 2352,  338,  337, 2372,  336,  334, 2408, 2446, 2446,
2881      2446, 2425, 2447, 2447, 2447, 2441, 2454, 2454, 2454, 2456,
2882      2456, 2456, 2459, 2459, 2459,  333, 2446, 2461, 2461, 2461,
2883
2884      2447, 2467, 2467, 2467, 2454,  332,  328, 2456,  319,  318,
2885      2459, 2468, 2468, 2468,  317, 2461, 2476, 2476, 2476, 2467,
2886      2478, 2478, 2478, 2479, 2479, 2479, 2482, 2482, 2482, 2468,
2887      2484, 2484, 2484,  316, 2476, 2486, 2486, 2486, 2478,  315,
2888       314, 2479,  309,  299, 2482, 2487, 2487, 2487, 2484,  298,
2889       297,  295,  291, 2486,  282,  281,  279,  275,  266,  265,
2890       261,  256,  247, 2487, 2490, 2490, 2490, 2490, 2490, 2490,
2891      2490, 2490, 2490, 2491, 2491, 2491, 2491, 2491, 2491, 2491,
2892      2491, 2491, 2492, 2492, 2492, 2492, 2492, 2492, 2492, 2492,
2893      2492, 2493, 2493, 2493, 2493, 2493, 2493, 2493, 2493, 2493,
2894
2895      2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2495,
2896      2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2496, 2496,
2897      2496, 2496, 2496, 2496, 2496, 2496, 2496, 2497, 2497, 2497,
2898      2497, 2497, 2497, 2497, 2497, 2497, 2498, 2498, 2498, 2498,
2899      2498, 2498, 2498, 2498, 2498, 2499, 2499, 2499, 2499, 2499,
2900      2499, 2499, 2499, 2499, 2500, 2500, 2500, 2500, 2500, 2500,
2901      2500, 2500, 2500, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2902      2501, 2501, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502,
2903      2502, 2503, 2503, 2503, 2503, 2503, 2503, 2503, 2503, 2503,
2904      2504, 2504, 2504, 2504, 2504, 2504, 2504, 2504, 2504, 2505,
2905
2906      2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2506, 2506,
2907      2506, 2506, 2506, 2506, 2506, 2506, 2506, 2507, 2507, 2507,
2908      2507, 2507, 2507, 2507, 2507, 2507, 2508, 2508, 2508, 2508,
2909      2508, 2508, 2508, 2508, 2508, 2509, 2509, 2509, 2509, 2509,
2910      2509, 2509, 2509, 2509, 2510, 2510, 2510, 2510, 2510, 2510,
2911      2510, 2510, 2510, 2511, 2511, 2511, 2511, 2511, 2511, 2511,
2912      2511, 2511, 2512, 2512, 2512, 2512, 2512, 2512, 2512, 2512,
2913      2512, 2513, 2513, 2513, 2513, 2513, 2513, 2513, 2513, 2513,
2914      2514, 2514, 2514, 2514, 2514, 2514, 2514, 2514, 2514, 2515,
2915      2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2516, 2516,
2916
2917      2516, 2516, 2516, 2516, 2516, 2516, 2516, 2517, 2517, 2517,
2918      2517, 2517, 2517, 2517, 2517, 2517, 2518, 2518, 2518, 2518,
2919      2518, 2518, 2518, 2518, 2518, 2519, 2519, 2519, 2519, 2519,
2920      2519, 2519, 2519, 2519, 2520, 2520, 2520,  238,  237,  236,
2921      2520, 2521, 2521, 2521,  235,  234,  233, 2521, 2522, 2522,
2922      2522,  229,  222,  221, 2522, 2523, 2523, 2523,  220,  219,
2923       215, 2523, 2524, 2524, 2524,  209,  208,  207, 2524, 2525,
2924      2525, 2525,  205,  204,  200, 2525, 2526, 2526, 2526,  193,
2925       192,  191, 2526, 2527, 2527, 2527,  187,  180,  179, 2527,
2926      2528, 2528, 2528,  178,  174,  164, 2528, 2529, 2529, 2529,
2927
2928       160,  155,  154, 2529, 2530, 2530, 2530,  153,  147,  146,
2929      2530, 2531, 2531, 2531,  144,  141,  129, 2531, 2532, 2532,
2930      2532,    0,    0,    0, 2532, 2533, 2533, 2533,    0,    0,
2931         0, 2533, 2534, 2534, 2534,    0,    0,    0, 2534, 2535,
2932      2535, 2535, 2535, 2535, 2535, 2535,    0, 2535, 2536,    0,
2933         0,    0, 2536, 2537,    0,    0,    0, 2537, 2538,    0,
2934         0,    0, 2538, 2539,    0,    0,    0, 2539, 2540,    0,
2935         0,    0, 2540, 2541,    0,    0,    0, 2541, 2542,    0,
2936         0,    0, 2542, 2543,    0,    0,    0, 2543, 2544,    0,
2937         0,    0, 2544, 2545,    0,    0,    0, 2545, 2546,    0,
2938
2939         0,    0, 2546, 2547,    0,    0,    0, 2547, 2548,    0,
2940         0,    0, 2548, 2549,    0,    0,    0, 2549, 2550,    0,
2941         0,    0, 2550, 2551, 2551, 2551, 2551, 2551, 2551, 2551,
2942      2551, 2551, 2552,    0,    0,    0,    0, 2552, 2553, 2553,
2943      2553,    0,    0,    0, 2553, 2554, 2554, 2554, 2554,    0,
2944         0, 2554, 2554, 2555, 2555, 2555,    0,    0,    0, 2555,
2945      2556, 2556, 2556, 2556,    0,    0, 2556, 2556, 2557, 2557,
2946      2557,    0,    0,    0, 2557, 2558, 2558, 2558, 2558,    0,
2947         0, 2558, 2558, 2559, 2559, 2559,    0,    0,    0, 2559,
2948      2560, 2560, 2560, 2560,    0,    0, 2560, 2560, 2561, 2561,
2949
2950      2561,    0,    0,    0, 2561, 2562, 2562, 2562, 2562,    0,
2951         0, 2562, 2562, 2563, 2563, 2563,    0,    0,    0, 2563,
2952      2564, 2564, 2564, 2564,    0,    0, 2564, 2564, 2565, 2565,
2953      2565, 2565,    0,    0, 2565, 2565, 2566, 2566, 2566,    0,
2954         0,    0, 2566, 2567, 2567, 2567, 2567,    0,    0, 2567,
2955      2567, 2568, 2568, 2568,    0,    0,    0, 2568, 2569, 2569,
2956      2569, 2569,    0,    0, 2569, 2569, 2570, 2570, 2570,    0,
2957         0,    0, 2570, 2571, 2571, 2571, 2571,    0,    0, 2571,
2958      2571, 2572, 2572, 2572,    0,    0,    0, 2572, 2573, 2573,
2959      2573, 2573,    0,    0, 2573, 2573, 2574, 2574, 2574,    0,
2960
2961         0,    0, 2574, 2575, 2575, 2575, 2575,    0,    0, 2575,
2962      2575, 2576, 2576, 2576, 2576,    0, 2576,    0, 2576, 2577,
2963      2577, 2577, 2577,    0,    0, 2577, 2577, 2578, 2578, 2578,
2964         0,    0,    0, 2578, 2579, 2579, 2579, 2579,    0,    0,
2965      2579, 2579, 2580, 2580, 2580, 2580,    0, 2580,    0, 2580,
2966      2581, 2581, 2581, 2581,    0,    0, 2581, 2581, 2582, 2582,
2967      2582, 2582, 2582, 2582, 2582, 2582, 2582, 2583,    0, 2583,
2968         0,    0, 2583, 2584, 2584, 2584,    0,    0,    0, 2584,
2969      2585, 2585, 2585, 2585,    0,    0, 2585, 2585, 2586, 2586,
2970      2586,    0,    0,    0, 2586, 2587, 2587, 2587, 2587,    0,
2971
2972         0, 2587, 2587, 2588, 2588, 2588,    0,    0,    0, 2588,
2973      2589, 2589, 2589, 2589,    0,    0, 2589, 2589, 2590, 2590,
2974      2590,    0,    0,    0, 2590, 2591, 2591, 2591, 2591,    0,
2975         0, 2591, 2591, 2592, 2592, 2592,    0,    0,    0, 2592,
2976      2593, 2593, 2593, 2593,    0,    0, 2593, 2593, 2594, 2594,
2977      2594,    0,    0,    0, 2594, 2595, 2595, 2595, 2595,    0,
2978         0, 2595, 2595, 2596, 2596, 2596, 2596,    0,    0, 2596,
2979      2596, 2597, 2597, 2597,    0,    0,    0, 2597, 2598, 2598,
2980      2598, 2598,    0,    0, 2598, 2598, 2599, 2599, 2599, 2599,
2981         0, 2599,    0, 2599, 2600, 2600, 2600, 2600,    0,    0,
2982
2983      2600, 2600, 2601, 2601, 2601,    0,    0,    0, 2601, 2602,
2984      2602, 2602, 2602,    0,    0, 2602, 2602, 2603, 2603, 2603,
2985         0,    0,    0, 2603, 2604, 2604, 2604, 2604,    0,    0,
2986      2604, 2604, 2605, 2605, 2605,    0,    0,    0, 2605, 2606,
2987      2606, 2606, 2606,    0,    0, 2606, 2606, 2607, 2607, 2607,
2988      2607,    0, 2607,    0, 2607, 2608, 2608, 2608, 2608,    0,
2989         0, 2608, 2608, 2609, 2609, 2609,    0,    0,    0, 2609,
2990      2610, 2610, 2610, 2610,    0,    0, 2610, 2610, 2611, 2611,
2991      2611, 2611,    0, 2611,    0, 2611, 2612, 2612, 2612, 2612,
2992         0,    0, 2612, 2612, 2613, 2613, 2613, 2613, 2613, 2613,
2993
2994      2613, 2613, 2613, 2614, 2614, 2614, 2614, 2614, 2614, 2614,
2995      2614, 2614, 2615, 2615, 2615,    0,    0,    0, 2615, 2616,
2996      2616, 2616, 2616,    0,    0, 2616, 2616, 2617, 2617, 2617,
2997         0,    0,    0, 2617, 2618, 2618, 2618, 2618,    0,    0,
2998      2618, 2618, 2619, 2619, 2619, 2619,    0, 2619,    0, 2619,
2999      2620, 2620, 2620, 2620,    0,    0, 2620, 2620, 2621, 2621,
3000      2621, 2621,    0, 2621,    0, 2621, 2622, 2622, 2622, 2622,
3001         0,    0, 2622, 2622, 2623, 2623, 2623,    0,    0,    0,
3002      2623, 2624, 2624, 2624, 2624,    0,    0, 2624, 2624, 2625,
3003      2625, 2625, 2625,    0, 2625,    0, 2625, 2626, 2626, 2626,
3004
3005      2626,    0,    0, 2626, 2626, 2627, 2627, 2627, 2627,    0,
3006         0, 2627, 2627, 2628, 2628, 2628,    0,    0,    0, 2628,
3007      2629, 2629, 2629, 2629,    0,    0, 2629, 2629, 2630, 2630,
3008      2630, 2630,    0, 2630,    0, 2630, 2631, 2631, 2631, 2631,
3009         0,    0, 2631, 2631, 2632, 2632, 2632, 2632,    0, 2632,
3010         0, 2632, 2633, 2633, 2633, 2633,    0,    0, 2633, 2633,
3011      2634, 2634, 2634,    0,    0,    0, 2634, 2635, 2635, 2635,
3012      2635,    0,    0, 2635, 2635, 2636, 2636, 2636,    0,    0,
3013         0, 2636, 2637, 2637, 2637, 2637,    0,    0, 2637, 2637,
3014      2638, 2638, 2638,    0,    0,    0, 2638, 2639, 2639, 2639,
3015
3016      2639,    0,    0, 2639, 2639, 2640, 2640, 2640, 2640,    0,
3017      2640,    0, 2640, 2641, 2641, 2641, 2641,    0,    0, 2641,
3018      2641, 2642, 2642, 2642,    0,    0,    0, 2642, 2643, 2643,
3019      2643, 2643,    0,    0, 2643, 2643, 2644, 2644, 2644, 2644,
3020      2644, 2644, 2644, 2644, 2644, 2645, 2645, 2645, 2645, 2645,
3021      2645, 2645, 2645, 2645, 2646, 2646, 2646, 2646,    0, 2646,
3022         0, 2646, 2647, 2647, 2647, 2647,    0,    0, 2647, 2647,
3023      2648, 2648, 2648,    0,    0,    0, 2648, 2649, 2649, 2649,
3024      2649,    0,    0, 2649, 2649, 2650, 2650, 2650, 2650, 2650,
3025      2650, 2650, 2650, 2650, 2651, 2651, 2651, 2651, 2651, 2651,
3026
3027      2651, 2651, 2651, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3028      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3029      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3030      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3031      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3032      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
3033      2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489
3034     } ;
3035
3036 static yy_state_type yy_last_accepting_state;
3037 static char *yy_last_accepting_cpos;
3038
3039 /* The intent behind this definition is that it'll catch
3040  * any uses of REJECT which flex missed.
3041  */
3042 #define REJECT reject_used_but_not_detected
3043 #define yymore() yymore_used_but_not_detected
3044 #define YY_MORE_ADJ 0
3045 #define YY_RESTORE_YY_MORE_OFFSET
3046 char *yytext;
3047 #define INITIAL 0
3048 /* Validating XML processor for skin.dtd (Id: skin.dtd,v 1.4 2003/04/20 20:28:39 ipkiss Exp).
3049  * Generated 2003/05/01 15:30:24.
3050  *
3051  * This program was generated with the FleXML XML processor generator,
3052  * (Id: flexml.pl,v 1.24 1999/12/13 16:18:30 krisrose Exp).
3053  * Copyright Â© 1999 Kristoffer Rose.  All rights reserved.
3054  *
3055  * You can redistribute and/or modify this program provided the following
3056  * two conditions hold:
3057  *
3058  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3059  *    FleXML; without even the implied warranty of MERCHANTABILITY or
3060  *    FITNESS FOR A PARTICULAR PURPOSE.
3061  *
3062  * 2. The program distribution conditions do not in any way affect the
3063  *    distribution conditions of the FleXML system used to generate this
3064  *    file or any version of FleXML derived from that system.
3065  *
3066  * Notice that these are explicit rights granted to you for files
3067  * generated by the FleXML system.  For your rights in connection with
3068  * the FleXML system itself please consult the GNU General Public License.
3069  */
3070
3071 /* Version strings. */
3072 const char rcs_flexml_skeleton[] =
3073  "$" "Id: skel,v 1.16 1999/12/09 04:01:51 krisrose Exp $";
3074 const char rcs_flexml[] =
3075  "$" "Id: flexml.pl,v 1.24 1999/12/13 16:18:30 krisrose Exp $";
3076 const char rcs_skin_dtd[] =
3077  "$" "Id: skin.dtd,v 1.4 2003/04/20 20:28:39 ipkiss Exp $";
3078
3079 /* ANSI headers. */
3080 #include <unistd.h>
3081 #include <stdio.h>
3082 #include <string.h>
3083 #include <assert.h>
3084 #include <stdarg.h>
3085 #include <ctype.h>
3086
3087 /* Generated definitions. */
3088 #define FLEXML_BUFFERSTACKSIZE 100000
3089
3090 /* XML processor api. */
3091 #include "skin.h"
3092
3093 /* FleXML-provided data. */
3094 char* pcdata;
3095 AT_TextControl_display A_TextControl_display;
3096 AT_SliderControl_x A_SliderControl_x;
3097 AT_ButtonControl_onclick A_ButtonControl_onclick;
3098 AT_RectangleControl_color A_RectangleControl_color;
3099 AT_SliderControl_y A_SliderControl_y;
3100 AT_ButtonControl_id A_ButtonControl_id;
3101 AT_Window_movealpha A_Window_movealpha;
3102 AT_SliderControl_down A_SliderControl_down;
3103 AT_ButtonControl_down A_ButtonControl_down;
3104 AT_CheckBoxControl_disabled1 A_CheckBoxControl_disabled1;
3105 AT_CheckBoxControl_onmouseover1 A_CheckBoxControl_onmouseover1;
3106 AT_CheckBoxControl_disabled2 A_CheckBoxControl_disabled2;
3107 AT_CheckBoxControl_onmouseover2 A_CheckBoxControl_onmouseover2;
3108 AT_Font_underline A_Font_underline;
3109 AT_ButtonControl_onmouseover A_ButtonControl_onmouseover;
3110 AT_ButtonControl_visible A_ButtonControl_visible;
3111 AT_TextControl_scroll A_TextControl_scroll;
3112 AT_SliderControl_id A_SliderControl_id;
3113 AT_CheckBoxControl_x A_CheckBoxControl_x;
3114 AT_Window_alpha A_Window_alpha;
3115 AT_TextControl_x A_TextControl_x;
3116 AT_CheckBoxControl_y A_CheckBoxControl_y;
3117 AT_Window_id A_Window_id;
3118 AT_TextControl_y A_TextControl_y;
3119 AT_RectangleControl_onclick A_RectangleControl_onclick;
3120 AT_Theme_magnet A_Theme_magnet;
3121 AT_TextControl_font A_TextControl_font;
3122 AT_PlayListControl_selcolor A_PlayListControl_selcolor;
3123 AT_Anchor_x A_Anchor_x;
3124 AT_Anchor_y A_Anchor_y;
3125 AT_ButtonControl_up A_ButtonControl_up;
3126 AT_RectangleControl_visible A_RectangleControl_visible;
3127 AT_SliderControl_type A_SliderControl_type;
3128 AT_CheckBoxControl_id A_CheckBoxControl_id;
3129 AT_Anchor_priority A_Anchor_priority;
3130 AT_PlayListControl_visible A_PlayListControl_visible;
3131 AT_Bitmap_alphacolor A_Bitmap_alphacolor;
3132 AT_ImageControl_onclick A_ImageControl_onclick;
3133 AT_PlayListControl_x A_PlayListControl_x;
3134 AT_PlayListControl_y A_PlayListControl_y;
3135 AT_ImageControl_image A_ImageControl_image;
3136 AT_ThemeInfo_name A_ThemeInfo_name;
3137 AT_TextControl_width A_TextControl_width;
3138 AT_PlayListControl_id A_PlayListControl_id;
3139 AT_CheckBoxControl_onmouseout1 A_CheckBoxControl_onmouseout1;
3140 AT_CheckBoxControl_onmouseout2 A_CheckBoxControl_onmouseout2;
3141 AT_Bitmap_id A_Bitmap_id;
3142 AT_Font_italic A_Font_italic;
3143 AT_PlayListControl_ord A_PlayListControl_ord;
3144 AT_ButtonControl_disabled A_ButtonControl_disabled;
3145 AT_SliderControl_up A_SliderControl_up;
3146 AT_ImageControl_x A_ImageControl_x;
3147 AT_ControlGroup_x A_ControlGroup_x;
3148 AT_PlayListControl_infowidth A_PlayListControl_infowidth;
3149 AT_ImageControl_y A_ImageControl_y;
3150 AT_ControlGroup_y A_ControlGroup_y;
3151 AT_PlayListControl_longfilename A_PlayListControl_longfilename;
3152 AT_PlayListControl_abs A_PlayListControl_abs;
3153 AT_ImageControl_visible A_ImageControl_visible;
3154 AT_PlayListControl_width A_PlayListControl_width;
3155 AT_SliderControl_help A_SliderControl_help;
3156 AT_ButtonControl_help A_ButtonControl_help;
3157 AT_TextControl_scrollspace A_TextControl_scrollspace;
3158 AT_Font_font A_Font_font;
3159 AT_SliderControl_visible A_SliderControl_visible;
3160 AT_PlayListControl_playfont A_PlayListControl_playfont;
3161 AT_TextControl_text A_TextControl_text;
3162 AT_SliderControl_ord A_SliderControl_ord;
3163 AT_Window_visible A_Window_visible;
3164 AT_TextControl_align A_TextControl_align;
3165 AT_TextControl_id A_TextControl_id;
3166 AT_Window_x A_Window_x;
3167 AT_SliderControl_abs A_SliderControl_abs;
3168 AT_Window_y A_Window_y;
3169 AT_RectangleControl_help A_RectangleControl_help;
3170 AT_CheckBoxControl_img1 A_CheckBoxControl_img1;
3171 AT_CheckBoxControl_img2 A_CheckBoxControl_img2;
3172 AT_ButtonControl_x A_ButtonControl_x;
3173 AT_ButtonControl_y A_ButtonControl_y;
3174 AT_Window_dragdrop A_Window_dragdrop;
3175 AT_ImageControl_help A_ImageControl_help;
3176 AT_PlayListControl_help A_PlayListControl_help;
3177 AT_Font_weight A_Font_weight;
3178 AT_ThemeInfo_author A_ThemeInfo_author;
3179 AT_CheckBoxControl_help A_CheckBoxControl_help;
3180 AT_TextControl_visible A_TextControl_visible;
3181 AT_ButtonControl_tooltiptext A_ButtonControl_tooltiptext;
3182 AT_Event_event A_Event_event;
3183 AT_RectangleControl_h A_RectangleControl_h;
3184 AT_ThemeInfo_webpage A_ThemeInfo_webpage;
3185 AT_ButtonControl_onmouseout A_ButtonControl_onmouseout;
3186 AT_CheckBoxControl_tooltiptext1 A_CheckBoxControl_tooltiptext1;
3187 AT_CheckBoxControl_tooltiptext2 A_CheckBoxControl_tooltiptext2;
3188 AT_ImageControl_id A_ImageControl_id;
3189 AT_CheckBoxControl_onclick1 A_CheckBoxControl_onclick1;
3190 AT_Font_size A_Font_size;
3191 AT_Bitmap_file A_Bitmap_file;
3192 AT_CheckBoxControl_onclick2 A_CheckBoxControl_onclick2;
3193 AT_Window_fadetime A_Window_fadetime;
3194 AT_Event_id A_Event_id;
3195 AT_Font_id A_Font_id;
3196 AT_CheckBoxControl_visible A_CheckBoxControl_visible;
3197 AT_Event_key A_Event_key;
3198 AT_ThemeInfo_email A_ThemeInfo_email;
3199 AT_Font_color A_Font_color;
3200 AT_RectangleControl_w A_RectangleControl_w;
3201 AT_SliderControl_tooltiptext A_SliderControl_tooltiptext;
3202 AT_RectangleControl_x A_RectangleControl_x;
3203 AT_RectangleControl_y A_RectangleControl_y;
3204 AT_CheckBoxControl_clickimg1 A_CheckBoxControl_clickimg1;
3205 AT_CheckBoxControl_clickimg2 A_CheckBoxControl_clickimg2;
3206 AT_Anchor_range A_Anchor_range;
3207 AT_PlayListControl_font A_PlayListControl_font;
3208 AT_TextControl_help A_TextControl_help;
3209 AT_RectangleControl_id A_RectangleControl_id;
3210
3211 /* XML state. */
3212 #ifdef FLEX_DEBUG
3213 # define ENTER(state)   debug_enter(state,#state)
3214 # define LEAVE          debug_leave()
3215 # define SET(state)     debug_set(state,#state)
3216   static void debug_enter(int, char*);
3217   static void debug_leave(void);
3218   static void debug_set(int, char*);
3219 #else
3220 # define ENTER(state)   (yy_push_state(state))
3221 # define LEAVE          (yy_pop_state())
3222 # define SET(state)     BEGIN(state)
3223 #endif
3224
3225 /* Generic actions. */
3226 #define SKIP    /*skip*/
3227 #define SUCCEED return 0
3228
3229 #define FAIL    return fail
3230 static int fail(const char*, ...);
3231
3232 /* Text buffer stack handling. */
3233 char bufferstack[FLEXML_BUFFERSTACKSIZE];
3234 char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE;
3235 typedef struct BufferLast_s {
3236   struct BufferLast_s *old; char* saved; char new[1];
3237 } BufferLast;
3238 BufferLast* last = (BufferLast*)0;
3239 char* next = bufferstack;
3240
3241 #define BUFFERSET(P)  (P = next)
3242 #define BUFFERPUTC(C) (assert(next<limit), *(next++) = (C))
3243 #define BUFFERDONE    (BUFFERPUTC('\0'))
3244
3245 #define BUFFERLITERAL(C,P) bufferliteral(C,&(P),yytext)
3246 static void bufferliteral(char c, char** pp, char* text)
3247 {
3248   char *s = strchr(text,c), *e = strrchr(text,c);
3249   assert(s <= e); BUFFERSET(*pp);
3250   while (++s<e) {
3251     if (isspace(*s)) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3252     else BUFFERPUTC(*s);
3253   } 
3254   BUFFERDONE;
3255 }
3256
3257 #ifdef FLEXML_HasMixed
3258 static void pushbuffer(char* p)
3259 {
3260   BufferLast* l = (BufferLast*)next;
3261   assert(next < limit);
3262   l->old = last;
3263   l->saved = p;
3264   next = l->new;
3265   last = l;
3266 }
3267
3268 static char* popbuffer(void)
3269 {
3270   BufferLast* l = last;
3271   assert(last != (BufferLast*)0);
3272   last = l->old;
3273   next = (char*)l;
3274   return l->saved;
3275 }
3276 #endif
3277
3278 /* General internal entities are `unput' back onto the input stream... */
3279 #define ENTITYTEXT(T) \
3280   { char *s = (T), *e = s+strlen(s);\
3281     while (--e >= s) { unput(*e); }}
3282 /* Flex standard options. */
3283 #define YY_STACK_USED 1
3284 #define YY_NO_TOP_STATE 1
3285 #define YY_NO_INPUT 1
3286 /* Flex user-requested options. */
3287 #define YY_NO_UNPUT 1
3288 /* XML character classes (currently restricted to ASCII). */
3289 /* "Common syntactic structures." */
3290 /* "Names and Tokens." */
3291 /* Miscellaneous. */
3292 /* Parser states (flex `exclusive start conditions'):
3293  *
3294  * PROLOG       the XML prolog of the document before <?xml...>
3295  * DOCTYPE      the XML prolog of the document after <?xml...>
3296  * EPILOG       after the root element
3297  * INCOMMENT    inside an XML comment <!--....-->
3298  * INPI         inside an XML PI <?...?>
3299  * VALUE1       inside a '...'-delimited literal
3300  * VALUE2       inside a "..."-delimited literal
3301  * CDATA        inside a <![CDATA[...]]> section.
3302  * ROOT_<tag>   expect root element <tag>
3303  * AL_<tag>     inside the attribute list for <tag>
3304  * IN_<tag>     inside a <tag> with element contents (ready for end tag)
3305  * IMPOSSIBLE   dummy to permit disabling rules; must be last
3306  */
3307 #define PROLOG 1
3308 #define DOCTYPE 2
3309 #define EPILOG 3
3310 #define INCOMMENT 4
3311 #define INPI 5
3312 #define VALUE1 6
3313 #define VALUE2 7
3314 #define CDATA 8
3315
3316 #define ROOT_Theme 9
3317 #define AL_Theme 10
3318 #define S_Theme 11
3319 #define S_Theme_1 12
3320 #define S_Theme_2 13
3321 #define S_Theme_3 14
3322 #define E_Theme 15
3323
3324 #define ROOT_Bitmap 16
3325 #define AL_Bitmap 17
3326 #define E_Bitmap 18
3327
3328 #define ROOT_Event 19
3329 #define AL_Event 20
3330 #define E_Event 21
3331
3332 #define ROOT_Font 22
3333 #define AL_Font 23
3334 #define E_Font 24
3335
3336 #define ROOT_ThemeInfo 25
3337 #define AL_ThemeInfo 26
3338 #define E_ThemeInfo 27
3339
3340 #define ROOT_Window 28
3341 #define AL_Window 29
3342 #define S_Window 30
3343 #define E_Window 31
3344
3345 #define ROOT_ControlGroup 32
3346 #define AL_ControlGroup 33
3347 #define S_ControlGroup 34
3348 #define S_ControlGroup_1 35
3349 #define S_ControlGroup_2 36
3350 #define E_ControlGroup 37
3351
3352 #define ROOT_Anchor 38
3353 #define AL_Anchor 39
3354 #define E_Anchor 40
3355
3356 #define ROOT_ImageControl 41
3357 #define AL_ImageControl 42
3358 #define E_ImageControl 43
3359
3360 #define ROOT_RectangleControl 44
3361 #define AL_RectangleControl 45
3362 #define E_RectangleControl 46
3363
3364 #define ROOT_ButtonControl 47
3365 #define AL_ButtonControl 48
3366 #define E_ButtonControl 49
3367
3368 #define ROOT_CheckBoxControl 50
3369 #define AL_CheckBoxControl 51
3370 #define E_CheckBoxControl 52
3371
3372 #define ROOT_SliderControl 53
3373 #define AL_SliderControl 54
3374 #define E_SliderControl 55
3375
3376 #define ROOT_TextControl 56
3377 #define AL_TextControl 57
3378 #define E_TextControl 58
3379
3380 #define ROOT_PlayListControl 59
3381 #define AL_PlayListControl 60
3382 #define S_PlayListControl 61
3383 #define E_PlayListControl 62
3384
3385 #define IMPOSSIBLE 63
3386
3387 /* State names. */
3388 char* statenames[IMPOSSIBLE];
3389
3390 void FleXML_init(void)
3391 {
3392   statenames[PROLOG] = NULL;
3393   statenames[DOCTYPE] = NULL;
3394   statenames[EPILOG] = NULL;
3395   statenames[INCOMMENT] = NULL;
3396   statenames[INPI] = NULL;
3397   statenames[VALUE1] = NULL;
3398   statenames[VALUE2] = NULL;
3399   statenames[CDATA] = NULL;
3400   statenames[ROOT_Theme] = NULL;
3401   statenames[AL_Theme] = NULL;
3402   statenames[S_Theme] = "Theme";
3403   statenames[S_Theme_1] = "Theme";
3404   statenames[S_Theme_2] = "Theme";
3405   statenames[S_Theme_3] = "Theme";
3406   statenames[E_Theme] = "Theme";
3407   statenames[ROOT_Bitmap] = NULL;
3408   statenames[AL_Bitmap] = NULL;
3409   statenames[E_Bitmap] = "Bitmap";
3410   statenames[ROOT_Event] = NULL;
3411   statenames[AL_Event] = NULL;
3412   statenames[E_Event] = "Event";
3413   statenames[ROOT_Font] = NULL;
3414   statenames[AL_Font] = NULL;
3415   statenames[E_Font] = "Font";
3416   statenames[ROOT_ThemeInfo] = NULL;
3417   statenames[AL_ThemeInfo] = NULL;
3418   statenames[E_ThemeInfo] = "ThemeInfo";
3419   statenames[ROOT_Window] = NULL;
3420   statenames[AL_Window] = NULL;
3421   statenames[S_Window] = "Window";
3422   statenames[E_Window] = "Window";
3423   statenames[ROOT_ControlGroup] = NULL;
3424   statenames[AL_ControlGroup] = NULL;
3425   statenames[S_ControlGroup] = "ControlGroup";
3426   statenames[S_ControlGroup_1] = "ControlGroup";
3427   statenames[S_ControlGroup_2] = "ControlGroup";
3428   statenames[E_ControlGroup] = "ControlGroup";
3429   statenames[ROOT_Anchor] = NULL;
3430   statenames[AL_Anchor] = NULL;
3431   statenames[E_Anchor] = "Anchor";
3432   statenames[ROOT_ImageControl] = NULL;
3433   statenames[AL_ImageControl] = NULL;
3434   statenames[E_ImageControl] = "ImageControl";
3435   statenames[ROOT_RectangleControl] = NULL;
3436   statenames[AL_RectangleControl] = NULL;
3437   statenames[E_RectangleControl] = "RectangleControl";
3438   statenames[ROOT_ButtonControl] = NULL;
3439   statenames[AL_ButtonControl] = NULL;
3440   statenames[E_ButtonControl] = "ButtonControl";
3441   statenames[ROOT_CheckBoxControl] = NULL;
3442   statenames[AL_CheckBoxControl] = NULL;
3443   statenames[E_CheckBoxControl] = "CheckBoxControl";
3444   statenames[ROOT_SliderControl] = NULL;
3445   statenames[AL_SliderControl] = NULL;
3446   statenames[E_SliderControl] = "SliderControl";
3447   statenames[ROOT_TextControl] = NULL;
3448   statenames[AL_TextControl] = NULL;
3449   statenames[E_TextControl] = "TextControl";
3450   statenames[ROOT_PlayListControl] = NULL;
3451   statenames[AL_PlayListControl] = NULL;
3452   statenames[S_PlayListControl] = "PlayListControl";
3453   statenames[E_PlayListControl] = "PlayListControl";
3454 }
3455
3456 /* Macros after this point can all be overridden by user definitions in
3457  * section 1.
3458  */
3459
3460 #ifndef YY_SKIP_YYWRAP
3461 #ifdef __cplusplus
3462 extern "C" int yywrap YY_PROTO(( void ));
3463 #else
3464 extern int yywrap YY_PROTO(( void ));
3465 #endif
3466 #endif
3467
3468 #ifndef YY_NO_UNPUT
3469 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
3470 #endif
3471
3472 #ifndef yytext_ptr
3473 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
3474 #endif
3475
3476 #ifdef YY_NEED_STRLEN
3477 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
3478 #endif
3479
3480 #ifndef YY_NO_INPUT
3481 #ifdef __cplusplus
3482 static int yyinput YY_PROTO(( void ));
3483 #else
3484 static int input YY_PROTO(( void ));
3485 #endif
3486 #endif
3487
3488 #if YY_STACK_USED
3489 static int yy_start_stack_ptr = 0;
3490 static int yy_start_stack_depth = 0;
3491 static int *yy_start_stack = 0;
3492 #ifndef YY_NO_PUSH_STATE
3493 static void yy_push_state YY_PROTO(( int new_state ));
3494 #endif
3495 #ifndef YY_NO_POP_STATE
3496 static void yy_pop_state YY_PROTO(( void ));
3497 #endif
3498 #ifndef YY_NO_TOP_STATE
3499 static int yy_top_state YY_PROTO(( void ));
3500 #endif
3501
3502 #else
3503 #define YY_NO_PUSH_STATE 1
3504 #define YY_NO_POP_STATE 1
3505 #define YY_NO_TOP_STATE 1
3506 #endif
3507
3508 #ifdef YY_MALLOC_DECL
3509 YY_MALLOC_DECL
3510 #else
3511 #if __STDC__
3512 #ifndef __cplusplus
3513 #include <stdlib.h>
3514 #endif
3515 #else
3516 /* Just try to get by without declaring the routines.  This will fail
3517  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
3518  * or sizeof(void*) != sizeof(int).
3519  */
3520 #endif
3521 #endif
3522
3523 /* Amount of stuff to slurp up with each read. */
3524 #ifndef YY_READ_BUF_SIZE
3525 #define YY_READ_BUF_SIZE 8192
3526 #endif
3527
3528 /* Copy whatever the last rule matched to the standard output. */
3529
3530 #ifndef ECHO
3531 /* This used to be an fputs(), but since the string might contain NUL's,
3532  * we now use fwrite().
3533  */
3534 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
3535 #endif
3536
3537 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3538  * is returned in "result".
3539  */
3540 #ifndef YY_INPUT
3541 #define YY_INPUT(buf,result,max_size) \
3542         if ( yy_current_buffer->yy_is_interactive ) \
3543                 { \
3544                 int c = '*', n; \
3545                 for ( n = 0; n < max_size && \
3546                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3547                         buf[n] = (char) c; \
3548                 if ( c == '\n' ) \
3549                         buf[n++] = (char) c; \
3550                 if ( c == EOF && ferror( yyin ) ) \
3551                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
3552                 result = n; \
3553                 } \
3554         else \
3555                 { \
3556                 errno=0; \
3557                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
3558                         { \
3559                         if( errno != EINTR) \
3560                                 { \
3561                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3562                                 break; \
3563                                 } \
3564                         errno=0; \
3565                         clearerr(yyin); \
3566                         } \
3567                 }
3568 #endif
3569
3570 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3571  * we don't want an extra ';' after the "return" because that will cause
3572  * some compilers to complain about unreachable statements.
3573  */
3574 #ifndef yyterminate
3575 #define yyterminate() return YY_NULL
3576 #endif
3577
3578 /* Number of entries by which start-condition stack grows. */
3579 #ifndef YY_START_STACK_INCR
3580 #define YY_START_STACK_INCR 25
3581 #endif
3582
3583 /* Report a fatal error. */
3584 #ifndef YY_FATAL_ERROR
3585 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3586 #endif
3587
3588 /* Default declaration of generated scanner - a define so the user can
3589  * easily add parameters.
3590  */
3591 #ifndef YY_DECL
3592 #define YY_DECL int yylex YY_PROTO(( void ))
3593 #endif
3594
3595 /* Code executed at the beginning of each rule, after yytext and yyleng
3596  * have been set up.
3597  */
3598 #ifndef YY_USER_ACTION
3599 #define YY_USER_ACTION
3600 #endif
3601
3602 /* Code executed at the end of each rule. */
3603 #ifndef YY_BREAK
3604 #define YY_BREAK break;
3605 #endif
3606
3607 #define YY_RULE_SETUP \
3608         YY_USER_ACTION
3609
3610 YY_DECL
3611         {
3612         register yy_state_type yy_current_state;
3613         register char *yy_cp, *yy_bp;
3614         register int yy_act;
3615
3616
3617
3618  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3619  SET(PROLOG); FleXML_init();
3620
3621  /* COMMENTS and PIs: handled uniformly for efficiency. */
3622
3623
3624         if ( yy_init )
3625                 {
3626                 yy_init = 0;
3627
3628 #ifdef YY_USER_INIT
3629                 YY_USER_INIT;
3630 #endif
3631
3632                 if ( ! yy_start )
3633                         yy_start = 1;   /* first start state */
3634
3635                 if ( ! yyin )
3636                         yyin = stdin;
3637
3638                 if ( ! yyout )
3639                         yyout = stdout;
3640
3641                 if ( ! yy_current_buffer )
3642                         yy_current_buffer =
3643                                 yy_create_buffer( yyin, YY_BUF_SIZE );
3644
3645                 yy_load_buffer_state();
3646                 }
3647
3648         while ( 1 )             /* loops until end-of-file is reached */
3649                 {
3650                 yy_cp = yy_c_buf_p;
3651
3652                 /* Support of yytext. */
3653                 *yy_cp = yy_hold_char;
3654
3655                 /* yy_bp points to the position in yy_ch_buf of the start of
3656                  * the current run.
3657                  */
3658                 yy_bp = yy_cp;
3659
3660                 yy_current_state = yy_start;
3661 yy_match:
3662                 do
3663                         {
3664                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3665                         if ( yy_accept[yy_current_state] )
3666                                 {
3667                                 yy_last_accepting_state = yy_current_state;
3668                                 yy_last_accepting_cpos = yy_cp;
3669                                 }
3670                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3671                                 {
3672                                 yy_current_state = (int) yy_def[yy_current_state];
3673                                 if ( yy_current_state >= 2490 )
3674                                         yy_c = yy_meta[(unsigned int) yy_c];
3675                                 }
3676                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3677                         ++yy_cp;
3678                         }
3679                 while ( yy_current_state != 2489 );
3680                 yy_cp = yy_last_accepting_cpos;
3681                 yy_current_state = yy_last_accepting_state;
3682
3683 yy_find_action:
3684                 yy_act = yy_accept[yy_current_state];
3685
3686                 YY_DO_BEFORE_ACTION;
3687
3688
3689 do_action:      /* This label is used only to access EOF actions. */
3690
3691
3692                 switch ( yy_act )
3693         { /* beginning of action switch */
3694                         case 0: /* must back up */
3695                         /* undo the effects of YY_DO_BEFORE_ACTION */
3696                         *yy_cp = yy_hold_char;
3697                         yy_cp = yy_last_accepting_cpos;
3698                         yy_current_state = yy_last_accepting_state;
3699                         goto yy_find_action;
3700
3701
3702 case 1:
3703 YY_RULE_SETUP
3704 ENTER(INCOMMENT);
3705         YY_BREAK
3706 case 2:
3707 YY_RULE_SETUP
3708 ENTER(INPI);
3709         YY_BREAK
3710
3711
3712 case 3:
3713 YY_RULE_SETUP
3714 LEAVE;
3715         YY_BREAK
3716 case 4:
3717 case 5:
3718 case 6:
3719 YY_RULE_SETUP
3720 SKIP;
3721         YY_BREAK
3722 case YY_STATE_EOF(INCOMMENT):
3723 FAIL("EOF in comment.");
3724         YY_BREAK
3725
3726
3727 case 7:
3728 YY_RULE_SETUP
3729 LEAVE;
3730         YY_BREAK
3731 case 8:
3732 case 9:
3733 YY_RULE_SETUP
3734 SKIP;
3735         YY_BREAK
3736 case YY_STATE_EOF(INPI):
3737 FAIL("EOF in PI (processing instruction).");
3738         YY_BREAK
3739
3740 /* SPACES: skipped uniformly */
3741 case 10:
3742 YY_RULE_SETUP
3743 SKIP;
3744         YY_BREAK
3745 /* PROLOG: determine root element and process it. */
3746
3747 case 11:
3748 YY_RULE_SETUP
3749 SET(DOCTYPE);
3750         YY_BREAK
3751 case 12:
3752 YY_RULE_SETUP
3753 FAIL("Bad declaration %s.",yytext);
3754         YY_BREAK
3755
3756
3757 case 13:
3758 YY_RULE_SETUP
3759 SET(ROOT_ButtonControl);
3760         YY_BREAK
3761 case 14:
3762 YY_RULE_SETUP
3763 SET(ROOT_Event);
3764         YY_BREAK
3765 case 15:
3766 YY_RULE_SETUP
3767 SET(ROOT_RectangleControl);
3768         YY_BREAK
3769 case 16:
3770 YY_RULE_SETUP
3771 SET(ROOT_Font);
3772         YY_BREAK
3773 case 17:
3774 YY_RULE_SETUP
3775 SET(ROOT_Theme);
3776         YY_BREAK
3777 case 18:
3778 YY_RULE_SETUP
3779 SET(ROOT_Anchor);
3780         YY_BREAK
3781 case 19:
3782 YY_RULE_SETUP
3783 SET(ROOT_ThemeInfo);
3784         YY_BREAK
3785 case 20:
3786 YY_RULE_SETUP
3787 SET(ROOT_ControlGroup);
3788         YY_BREAK
3789 case 21:
3790 YY_RULE_SETUP
3791 SET(ROOT_Window);
3792         YY_BREAK
3793 case 22:
3794 YY_RULE_SETUP
3795 SET(ROOT_Bitmap);
3796         YY_BREAK
3797 case 23:
3798 YY_RULE_SETUP
3799 SET(ROOT_ImageControl);
3800         YY_BREAK
3801 case 24:
3802 YY_RULE_SETUP
3803 SET(ROOT_CheckBoxControl);
3804         YY_BREAK
3805 case 25:
3806 YY_RULE_SETUP
3807 SET(ROOT_SliderControl);
3808         YY_BREAK
3809 case 26:
3810 YY_RULE_SETUP
3811 SET(ROOT_PlayListControl);
3812         YY_BREAK
3813 case 27:
3814 YY_RULE_SETUP
3815 SET(ROOT_TextControl);
3816         YY_BREAK
3817 case 28:
3818 YY_RULE_SETUP
3819 FAIL("Bad declaration %s.",yytext);
3820         YY_BREAK
3821 case 29:
3822 YY_RULE_SETUP
3823 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
3824         YY_BREAK
3825 case YY_STATE_EOF(PROLOG):
3826 case YY_STATE_EOF(DOCTYPE):
3827 FAIL("EOF in prolog.");
3828         YY_BREAK
3829
3830 /* RULES DERIVED FROM DTD. */
3831 /* <!--
3832   *  *****************************************************************************
3833   *  * skin.dtd: DTD for the VLC skins
3834   *  *****************************************************************************
3835   *  * Copyright (C) 2003 VideoLAN
3836   *  * $Id: flex.c,v 1.7 2003/05/01 13:51:03 ipkiss Exp $
3837   *  *
3838   *  * Authors: Olivier Teulière <ipkiss@via.ecp.fr>
3839   *  *          Emmanuel Puig    <karibu@via.ecp.fr>
3840   *  *
3841   *  * This program is free software; you can redistribute it and/or modify
3842   *  * it under the terms of the GNU General Public License as published by
3843   *  * the Free Software Foundation; either version 2 of the License, or
3844   *  * (at your option) any later version.
3845   *  *
3846   *  * This program is distributed in the hope that it will be useful,
3847   *  * but WITHOUT ANY WARRANTY; without even the implied warranty of
3848   *  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3849   *  * GNU General Public License for more details.
3850   *  *
3851   *  * You should have received a copy of the GNU General Public License
3852   *  * along with this program; if not, write to the Free Software
3853   *  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111,
3854   *  * USA.
3855   *  *****************************************************************************
3856   * -->  */
3857 /*         magnet      CDATA   "9"
3858   *     >  */
3859 case 30:
3860 YY_RULE_SETUP
3861 {
3862   A_Theme_magnet = "9";
3863   ENTER(AL_Theme);
3864 }
3865         YY_BREAK
3866
3867 case 31:
3868 YY_RULE_SETUP
3869 ENTER(VALUE1); BUFFERSET(A_Theme_magnet);
3870         YY_BREAK
3871 case 32:
3872 YY_RULE_SETUP
3873 ENTER(VALUE2); BUFFERSET(A_Theme_magnet);
3874         YY_BREAK
3875 case 33:
3876 YY_RULE_SETUP
3877 {
3878   LEAVE; STag_Theme(); pcdata = NULL; ENTER(S_Theme);
3879  }
3880         YY_BREAK
3881 case 34:
3882 YY_RULE_SETUP
3883 FAIL("`Theme' element cannot be empty.");
3884         YY_BREAK
3885 case 35:
3886 YY_RULE_SETUP
3887 FAIL("Unexpected character `%c' in attribute list of Theme element.", yytext[0]);
3888         YY_BREAK
3889 case 36:
3890 YY_RULE_SETUP
3891 FAIL("Bad attribute `%s' in `Theme' element start tag.",yytext);
3892         YY_BREAK
3893 case YY_STATE_EOF(AL_Theme):
3894 FAIL("EOF in attribute list of `Theme' element.");
3895         YY_BREAK
3896
3897
3898 case 37:
3899 YY_RULE_SETUP
3900 {
3901   LEAVE;
3902   ETag_Theme();
3903   switch (YY_START) {
3904    case ROOT_Theme: SET(EPILOG); break;
3905   }
3906  }
3907         YY_BREAK
3908 case 38:
3909 YY_RULE_SETUP
3910 FAIL("Unexpected end-tag `%s': `</Theme>' expected.",yytext);
3911         YY_BREAK
3912 case 39:
3913 YY_RULE_SETUP
3914 FAIL("Unexpected character `%c': `</Theme>' expected.",yytext[0]);
3915         YY_BREAK
3916 case YY_STATE_EOF(S_Theme_1):
3917 case YY_STATE_EOF(E_Theme):
3918 case YY_STATE_EOF(S_Theme_3):
3919 FAIL("Premature EOF: `</Theme>' expected.");
3920         YY_BREAK
3921
3922 /* <!-- main elements -->  */
3923 /*         id          CDATA   #REQUIRED
3924   *         file        CDATA   #REQUIRED
3925   *         alphacolor  CDATA   #REQUIRED
3926   *     >  */
3927 case 40:
3928 YY_RULE_SETUP
3929 {
3930   A_Bitmap_id = NULL;
3931   A_Bitmap_file = NULL;
3932   A_Bitmap_alphacolor = NULL;
3933   ENTER(AL_Bitmap);
3934 }
3935         YY_BREAK
3936
3937 case 41:
3938 YY_RULE_SETUP
3939 ENTER(VALUE1); BUFFERSET(A_Bitmap_id);
3940         YY_BREAK
3941 case 42:
3942 YY_RULE_SETUP
3943 ENTER(VALUE2); BUFFERSET(A_Bitmap_id);
3944         YY_BREAK
3945 case 43:
3946 YY_RULE_SETUP
3947 ENTER(VALUE1); BUFFERSET(A_Bitmap_file);
3948         YY_BREAK
3949 case 44:
3950 YY_RULE_SETUP
3951 ENTER(VALUE2); BUFFERSET(A_Bitmap_file);
3952         YY_BREAK
3953 case 45:
3954 YY_RULE_SETUP
3955 ENTER(VALUE1); BUFFERSET(A_Bitmap_alphacolor);
3956         YY_BREAK
3957 case 46:
3958 YY_RULE_SETUP
3959 ENTER(VALUE2); BUFFERSET(A_Bitmap_alphacolor);
3960         YY_BREAK
3961 case 47:
3962 YY_RULE_SETUP
3963 {
3964   if (!A_Bitmap_id) FAIL("Required attribute `id' not set for `Bitmap' element.");
3965   if (!A_Bitmap_file) FAIL("Required attribute `file' not set for `Bitmap' element.");
3966   if (!A_Bitmap_alphacolor) FAIL("Required attribute `alphacolor' not set for `Bitmap' element.");
3967   LEAVE; STag_Bitmap(); pcdata = NULL; ENTER(E_Bitmap);
3968  }
3969         YY_BREAK
3970 case 48:
3971 YY_RULE_SETUP
3972 {
3973   if (!A_Bitmap_id) FAIL("Required attribute `id' not set for `Bitmap' element.");
3974   if (!A_Bitmap_file) FAIL("Required attribute `file' not set for `Bitmap' element.");
3975   if (!A_Bitmap_alphacolor) FAIL("Required attribute `alphacolor' not set for `Bitmap' element.");
3976   LEAVE; STag_Bitmap(); pcdata = NULL; ETag_Bitmap();
3977   switch (YY_START) {
3978    case ROOT_Bitmap: SET(EPILOG); break;
3979    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
3980   }
3981  }
3982         YY_BREAK
3983 case 49:
3984 YY_RULE_SETUP
3985 FAIL("Unexpected character `%c' in attribute list of Bitmap element.", yytext[0]);
3986         YY_BREAK
3987 case 50:
3988 YY_RULE_SETUP
3989 FAIL("Bad attribute `%s' in `Bitmap' element start tag.",yytext);
3990         YY_BREAK
3991 case YY_STATE_EOF(AL_Bitmap):
3992 FAIL("EOF in attribute list of `Bitmap' element.");
3993         YY_BREAK
3994
3995
3996 case 51:
3997 YY_RULE_SETUP
3998 {
3999   LEAVE;
4000   ETag_Bitmap();
4001   switch (YY_START) {
4002    case ROOT_Bitmap: SET(EPILOG); break;
4003    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4004   }
4005  }
4006         YY_BREAK
4007 case 52:
4008 YY_RULE_SETUP
4009 FAIL("Unexpected end-tag `%s': `</Bitmap>' expected.",yytext);
4010         YY_BREAK
4011 case 53:
4012 YY_RULE_SETUP
4013 FAIL("Unexpected character `%c': `</Bitmap>' expected.",yytext[0]);
4014         YY_BREAK
4015 case YY_STATE_EOF(E_Bitmap):
4016 FAIL("Premature EOF: `</Bitmap>' expected.");
4017         YY_BREAK
4018
4019 /*         id          CDATA   #REQUIRED
4020   *         event       CDATA   #REQUIRED
4021   *         key         CDATA   "none"
4022   *     >  */
4023 case 54:
4024 YY_RULE_SETUP
4025 {
4026   A_Event_id = NULL;
4027   A_Event_event = NULL;
4028   A_Event_key = "none";
4029   ENTER(AL_Event);
4030 }
4031         YY_BREAK
4032
4033 case 55:
4034 YY_RULE_SETUP
4035 ENTER(VALUE1); BUFFERSET(A_Event_id);
4036         YY_BREAK
4037 case 56:
4038 YY_RULE_SETUP
4039 ENTER(VALUE2); BUFFERSET(A_Event_id);
4040         YY_BREAK
4041 case 57:
4042 YY_RULE_SETUP
4043 ENTER(VALUE1); BUFFERSET(A_Event_event);
4044         YY_BREAK
4045 case 58:
4046 YY_RULE_SETUP
4047 ENTER(VALUE2); BUFFERSET(A_Event_event);
4048         YY_BREAK
4049 case 59:
4050 YY_RULE_SETUP
4051 ENTER(VALUE1); BUFFERSET(A_Event_key);
4052         YY_BREAK
4053 case 60:
4054 YY_RULE_SETUP
4055 ENTER(VALUE2); BUFFERSET(A_Event_key);
4056         YY_BREAK
4057 case 61:
4058 YY_RULE_SETUP
4059 {
4060   if (!A_Event_id) FAIL("Required attribute `id' not set for `Event' element.");
4061   if (!A_Event_event) FAIL("Required attribute `event' not set for `Event' element.");
4062   LEAVE; STag_Event(); pcdata = NULL; ENTER(E_Event);
4063  }
4064         YY_BREAK
4065 case 62:
4066 YY_RULE_SETUP
4067 {
4068   if (!A_Event_id) FAIL("Required attribute `id' not set for `Event' element.");
4069   if (!A_Event_event) FAIL("Required attribute `event' not set for `Event' element.");
4070   LEAVE; STag_Event(); pcdata = NULL; ETag_Event();
4071   switch (YY_START) {
4072    case ROOT_Event: SET(EPILOG); break;
4073    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4074   }
4075  }
4076         YY_BREAK
4077 case 63:
4078 YY_RULE_SETUP
4079 FAIL("Unexpected character `%c' in attribute list of Event element.", yytext[0]);
4080         YY_BREAK
4081 case 64:
4082 YY_RULE_SETUP
4083 FAIL("Bad attribute `%s' in `Event' element start tag.",yytext);
4084         YY_BREAK
4085 case YY_STATE_EOF(AL_Event):
4086 FAIL("EOF in attribute list of `Event' element.");
4087         YY_BREAK
4088
4089
4090 case 65:
4091 YY_RULE_SETUP
4092 {
4093   LEAVE;
4094   ETag_Event();
4095   switch (YY_START) {
4096    case ROOT_Event: SET(EPILOG); break;
4097    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4098   }
4099  }
4100         YY_BREAK
4101 case 66:
4102 YY_RULE_SETUP
4103 FAIL("Unexpected end-tag `%s': `</Event>' expected.",yytext);
4104         YY_BREAK
4105 case 67:
4106 YY_RULE_SETUP
4107 FAIL("Unexpected character `%c': `</Event>' expected.",yytext[0]);
4108         YY_BREAK
4109 case YY_STATE_EOF(E_Event):
4110 FAIL("Premature EOF: `</Event>' expected.");
4111         YY_BREAK
4112
4113 /*         id          CDATA   "default"
4114   *         font        CDATA   "arial"
4115   *         size        CDATA   "12"
4116   *         color       CDATA   "#000000"
4117   *         weight      CDATA   "400"
4118   *         italic      CDATA   "false"
4119   *         underline   CDATA   "false"
4120   *     >  */
4121 case 68:
4122 YY_RULE_SETUP
4123 {
4124   A_Font_id = "default";
4125   A_Font_font = "arial";
4126   A_Font_size = "12";
4127   A_Font_color = "#000000";
4128   A_Font_weight = "400";
4129   A_Font_italic = "false";
4130   A_Font_underline = "false";
4131   ENTER(AL_Font);
4132 }
4133         YY_BREAK
4134
4135 case 69:
4136 YY_RULE_SETUP
4137 ENTER(VALUE1); BUFFERSET(A_Font_id);
4138         YY_BREAK
4139 case 70:
4140 YY_RULE_SETUP
4141 ENTER(VALUE2); BUFFERSET(A_Font_id);
4142         YY_BREAK
4143 case 71:
4144 YY_RULE_SETUP
4145 ENTER(VALUE1); BUFFERSET(A_Font_font);
4146         YY_BREAK
4147 case 72:
4148 YY_RULE_SETUP
4149 ENTER(VALUE2); BUFFERSET(A_Font_font);
4150         YY_BREAK
4151 case 73:
4152 YY_RULE_SETUP
4153 ENTER(VALUE1); BUFFERSET(A_Font_size);
4154         YY_BREAK
4155 case 74:
4156 YY_RULE_SETUP
4157 ENTER(VALUE2); BUFFERSET(A_Font_size);
4158         YY_BREAK
4159 case 75:
4160 YY_RULE_SETUP
4161 ENTER(VALUE1); BUFFERSET(A_Font_color);
4162         YY_BREAK
4163 case 76:
4164 YY_RULE_SETUP
4165 ENTER(VALUE2); BUFFERSET(A_Font_color);
4166         YY_BREAK
4167 case 77:
4168 YY_RULE_SETUP
4169 ENTER(VALUE1); BUFFERSET(A_Font_weight);
4170         YY_BREAK
4171 case 78:
4172 YY_RULE_SETUP
4173 ENTER(VALUE2); BUFFERSET(A_Font_weight);
4174         YY_BREAK
4175 case 79:
4176 YY_RULE_SETUP
4177 ENTER(VALUE1); BUFFERSET(A_Font_italic);
4178         YY_BREAK
4179 case 80:
4180 YY_RULE_SETUP
4181 ENTER(VALUE2); BUFFERSET(A_Font_italic);
4182         YY_BREAK
4183 case 81:
4184 YY_RULE_SETUP
4185 ENTER(VALUE1); BUFFERSET(A_Font_underline);
4186         YY_BREAK
4187 case 82:
4188 YY_RULE_SETUP
4189 ENTER(VALUE2); BUFFERSET(A_Font_underline);
4190         YY_BREAK
4191 case 83:
4192 YY_RULE_SETUP
4193 {
4194   LEAVE; STag_Font(); pcdata = NULL; ENTER(E_Font);
4195  }
4196         YY_BREAK
4197 case 84:
4198 YY_RULE_SETUP
4199 {
4200   LEAVE; STag_Font(); pcdata = NULL; ETag_Font();
4201   switch (YY_START) {
4202    case ROOT_Font: SET(EPILOG); break;
4203    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4204   }
4205  }
4206         YY_BREAK
4207 case 85:
4208 YY_RULE_SETUP
4209 FAIL("Unexpected character `%c' in attribute list of Font element.", yytext[0]);
4210         YY_BREAK
4211 case 86:
4212 YY_RULE_SETUP
4213 FAIL("Bad attribute `%s' in `Font' element start tag.",yytext);
4214         YY_BREAK
4215 case YY_STATE_EOF(AL_Font):
4216 FAIL("EOF in attribute list of `Font' element.");
4217         YY_BREAK
4218
4219
4220 case 87:
4221 YY_RULE_SETUP
4222 {
4223   LEAVE;
4224   ETag_Font();
4225   switch (YY_START) {
4226    case ROOT_Font: SET(EPILOG); break;
4227    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4228   }
4229  }
4230         YY_BREAK
4231 case 88:
4232 YY_RULE_SETUP
4233 FAIL("Unexpected end-tag `%s': `</Font>' expected.",yytext);
4234         YY_BREAK
4235 case 89:
4236 YY_RULE_SETUP
4237 FAIL("Unexpected character `%c': `</Font>' expected.",yytext[0]);
4238         YY_BREAK
4239 case YY_STATE_EOF(E_Font):
4240 FAIL("Premature EOF: `</Font>' expected.");
4241         YY_BREAK
4242
4243 /*         name        CDATA   #IMPLIED
4244   *         author      CDATA   #IMPLIED
4245   *         email       CDATA   #IMPLIED
4246   *         webpage     CDATA   #IMPLIED
4247   *     >  */
4248 case 90:
4249 YY_RULE_SETUP
4250 {
4251   A_ThemeInfo_name = NULL;
4252   A_ThemeInfo_author = NULL;
4253   A_ThemeInfo_email = NULL;
4254   A_ThemeInfo_webpage = NULL;
4255   ENTER(AL_ThemeInfo);
4256 }
4257         YY_BREAK
4258
4259 case 91:
4260 YY_RULE_SETUP
4261 ENTER(VALUE1); BUFFERSET(A_ThemeInfo_name);
4262         YY_BREAK
4263 case 92:
4264 YY_RULE_SETUP
4265 ENTER(VALUE2); BUFFERSET(A_ThemeInfo_name);
4266         YY_BREAK
4267 case 93:
4268 YY_RULE_SETUP
4269 ENTER(VALUE1); BUFFERSET(A_ThemeInfo_author);
4270         YY_BREAK
4271 case 94:
4272 YY_RULE_SETUP
4273 ENTER(VALUE2); BUFFERSET(A_ThemeInfo_author);
4274         YY_BREAK
4275 case 95:
4276 YY_RULE_SETUP
4277 ENTER(VALUE1); BUFFERSET(A_ThemeInfo_email);
4278         YY_BREAK
4279 case 96:
4280 YY_RULE_SETUP
4281 ENTER(VALUE2); BUFFERSET(A_ThemeInfo_email);
4282         YY_BREAK
4283 case 97:
4284 YY_RULE_SETUP
4285 ENTER(VALUE1); BUFFERSET(A_ThemeInfo_webpage);
4286         YY_BREAK
4287 case 98:
4288 YY_RULE_SETUP
4289 ENTER(VALUE2); BUFFERSET(A_ThemeInfo_webpage);
4290         YY_BREAK
4291 case 99:
4292 YY_RULE_SETUP
4293 {
4294   LEAVE; STag_ThemeInfo(); pcdata = NULL; ENTER(E_ThemeInfo);
4295  }
4296         YY_BREAK
4297 case 100:
4298 YY_RULE_SETUP
4299 {
4300   LEAVE; STag_ThemeInfo(); pcdata = NULL; ETag_ThemeInfo();
4301   switch (YY_START) {
4302    case ROOT_ThemeInfo: SET(EPILOG); break;
4303    case S_Theme: SET(S_Theme_1); break;
4304   }
4305  }
4306         YY_BREAK
4307 case 101:
4308 YY_RULE_SETUP
4309 FAIL("Unexpected character `%c' in attribute list of ThemeInfo element.", yytext[0]);
4310         YY_BREAK
4311 case 102:
4312 YY_RULE_SETUP
4313 FAIL("Bad attribute `%s' in `ThemeInfo' element start tag.",yytext);
4314         YY_BREAK
4315 case YY_STATE_EOF(AL_ThemeInfo):
4316 FAIL("EOF in attribute list of `ThemeInfo' element.");
4317         YY_BREAK
4318
4319
4320 case 103:
4321 YY_RULE_SETUP
4322 {
4323   LEAVE;
4324   ETag_ThemeInfo();
4325   switch (YY_START) {
4326    case ROOT_ThemeInfo: SET(EPILOG); break;
4327    case S_Theme: SET(S_Theme_1); break;
4328   }
4329  }
4330         YY_BREAK
4331 case 104:
4332 YY_RULE_SETUP
4333 FAIL("Unexpected end-tag `%s': `</ThemeInfo>' expected.",yytext);
4334         YY_BREAK
4335 case 105:
4336 YY_RULE_SETUP
4337 FAIL("Unexpected character `%c': `</ThemeInfo>' expected.",yytext[0]);
4338         YY_BREAK
4339 case YY_STATE_EOF(E_ThemeInfo):
4340 FAIL("Premature EOF: `</ThemeInfo>' expected.");
4341         YY_BREAK
4342
4343 /*         id          CDATA   #REQUIRED
4344   *         visible     CDATA   "true"
4345   *         x           CDATA   "\0"
4346   *         y           CDATA   "\0"
4347   *         fadetime    CDATA   "500"
4348   *         alpha       CDATA   "255"
4349   *         movealpha   CDATA   "255"
4350   *         dragdrop    CDATA   "true"
4351   *     >  */
4352 case 106:
4353 YY_RULE_SETUP
4354 {
4355   A_Window_id = NULL;
4356   A_Window_visible = "true";
4357   A_Window_x = "\0";
4358   A_Window_y = "\0";
4359   A_Window_fadetime = "500";
4360   A_Window_alpha = "255";
4361   A_Window_movealpha = "255";
4362   A_Window_dragdrop = "true";
4363   ENTER(AL_Window);
4364 }
4365         YY_BREAK
4366
4367 case 107:
4368 YY_RULE_SETUP
4369 ENTER(VALUE1); BUFFERSET(A_Window_id);
4370         YY_BREAK
4371 case 108:
4372 YY_RULE_SETUP
4373 ENTER(VALUE2); BUFFERSET(A_Window_id);
4374         YY_BREAK
4375 case 109:
4376 YY_RULE_SETUP
4377 ENTER(VALUE1); BUFFERSET(A_Window_visible);
4378         YY_BREAK
4379 case 110:
4380 YY_RULE_SETUP
4381 ENTER(VALUE2); BUFFERSET(A_Window_visible);
4382         YY_BREAK
4383 case 111:
4384 YY_RULE_SETUP
4385 ENTER(VALUE1); BUFFERSET(A_Window_x);
4386         YY_BREAK
4387 case 112:
4388 YY_RULE_SETUP
4389 ENTER(VALUE2); BUFFERSET(A_Window_x);
4390         YY_BREAK
4391 case 113:
4392 YY_RULE_SETUP
4393 ENTER(VALUE1); BUFFERSET(A_Window_y);
4394         YY_BREAK
4395 case 114:
4396 YY_RULE_SETUP
4397 ENTER(VALUE2); BUFFERSET(A_Window_y);
4398         YY_BREAK
4399 case 115:
4400 YY_RULE_SETUP
4401 ENTER(VALUE1); BUFFERSET(A_Window_fadetime);
4402         YY_BREAK
4403 case 116:
4404 YY_RULE_SETUP
4405 ENTER(VALUE2); BUFFERSET(A_Window_fadetime);
4406         YY_BREAK
4407 case 117:
4408 YY_RULE_SETUP
4409 ENTER(VALUE1); BUFFERSET(A_Window_alpha);
4410         YY_BREAK
4411 case 118:
4412 YY_RULE_SETUP
4413 ENTER(VALUE2); BUFFERSET(A_Window_alpha);
4414         YY_BREAK
4415 case 119:
4416 YY_RULE_SETUP
4417 ENTER(VALUE1); BUFFERSET(A_Window_movealpha);
4418         YY_BREAK
4419 case 120:
4420 YY_RULE_SETUP
4421 ENTER(VALUE2); BUFFERSET(A_Window_movealpha);
4422         YY_BREAK
4423 case 121:
4424 YY_RULE_SETUP
4425 ENTER(VALUE1); BUFFERSET(A_Window_dragdrop);
4426         YY_BREAK
4427 case 122:
4428 YY_RULE_SETUP
4429 ENTER(VALUE2); BUFFERSET(A_Window_dragdrop);
4430         YY_BREAK
4431 case 123:
4432 YY_RULE_SETUP
4433 {
4434   if (!A_Window_id) FAIL("Required attribute `id' not set for `Window' element.");
4435   LEAVE; STag_Window(); pcdata = NULL; ENTER(S_Window);
4436  }
4437         YY_BREAK
4438 case 124:
4439 YY_RULE_SETUP
4440 FAIL("`Window' element cannot be empty.");
4441         YY_BREAK
4442 case 125:
4443 YY_RULE_SETUP
4444 FAIL("Unexpected character `%c' in attribute list of Window element.", yytext[0]);
4445         YY_BREAK
4446 case 126:
4447 YY_RULE_SETUP
4448 FAIL("Bad attribute `%s' in `Window' element start tag.",yytext);
4449         YY_BREAK
4450 case YY_STATE_EOF(AL_Window):
4451 FAIL("EOF in attribute list of `Window' element.");
4452         YY_BREAK
4453
4454
4455 case 127:
4456 YY_RULE_SETUP
4457 {
4458   LEAVE;
4459   ETag_Window();
4460   switch (YY_START) {
4461    case ROOT_Window: SET(EPILOG); break;
4462    case S_Theme_1: case S_Theme_2: case S_Theme_3: SET(S_Theme_3); break;
4463   }
4464  }
4465         YY_BREAK
4466 case 128:
4467 YY_RULE_SETUP
4468 FAIL("Unexpected end-tag `%s': `</Window>' expected.",yytext);
4469         YY_BREAK
4470 case 129:
4471 YY_RULE_SETUP
4472 FAIL("Unexpected character `%c': `</Window>' expected.",yytext[0]);
4473         YY_BREAK
4474 case YY_STATE_EOF(E_Window):
4475 FAIL("Premature EOF: `</Window>' expected.");
4476         YY_BREAK
4477
4478 /*                         SliderControl|TextControl|CheckBoxControl|
4479   *                         RectangleControl|Anchor)+>  */
4480 /*         x           CDATA   "\0"
4481   *         y           CDATA   "\0"
4482   *     >  */
4483 case 130:
4484 YY_RULE_SETUP
4485 {
4486   A_ControlGroup_x = "\0";
4487   A_ControlGroup_y = "\0";
4488   ENTER(AL_ControlGroup);
4489 }
4490         YY_BREAK
4491
4492 case 131:
4493 YY_RULE_SETUP
4494 ENTER(VALUE1); BUFFERSET(A_ControlGroup_x);
4495         YY_BREAK
4496 case 132:
4497 YY_RULE_SETUP
4498 ENTER(VALUE2); BUFFERSET(A_ControlGroup_x);
4499         YY_BREAK
4500 case 133:
4501 YY_RULE_SETUP
4502 ENTER(VALUE1); BUFFERSET(A_ControlGroup_y);
4503         YY_BREAK
4504 case 134:
4505 YY_RULE_SETUP
4506 ENTER(VALUE2); BUFFERSET(A_ControlGroup_y);
4507         YY_BREAK
4508 case 135:
4509 YY_RULE_SETUP
4510 {
4511   LEAVE; STag_ControlGroup(); pcdata = NULL; ENTER(S_ControlGroup);
4512  }
4513         YY_BREAK
4514 case 136:
4515 YY_RULE_SETUP
4516 FAIL("`ControlGroup' element cannot be empty.");
4517         YY_BREAK
4518 case 137:
4519 YY_RULE_SETUP
4520 FAIL("Unexpected character `%c' in attribute list of ControlGroup element.", yytext[0]);
4521         YY_BREAK
4522 case 138:
4523 YY_RULE_SETUP
4524 FAIL("Bad attribute `%s' in `ControlGroup' element start tag.",yytext);
4525         YY_BREAK
4526 case YY_STATE_EOF(AL_ControlGroup):
4527 FAIL("EOF in attribute list of `ControlGroup' element.");
4528         YY_BREAK
4529
4530
4531 case 139:
4532 YY_RULE_SETUP
4533 {
4534   LEAVE;
4535   ETag_ControlGroup();
4536   switch (YY_START) {
4537    case ROOT_ControlGroup: SET(EPILOG); break;
4538    case S_Window: SET(E_Window); break;
4539    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4540   }
4541  }
4542         YY_BREAK
4543 case 140:
4544 YY_RULE_SETUP
4545 FAIL("Unexpected end-tag `%s': `</ControlGroup>' expected.",yytext);
4546         YY_BREAK
4547 case 141:
4548 YY_RULE_SETUP
4549 FAIL("Unexpected character `%c': `</ControlGroup>' expected.",yytext[0]);
4550         YY_BREAK
4551 case YY_STATE_EOF(E_ControlGroup):
4552 case YY_STATE_EOF(S_ControlGroup_2):
4553 FAIL("Premature EOF: `</ControlGroup>' expected.");
4554         YY_BREAK
4555
4556 /* <!-- Anchors -->  */
4557 /*         x           CDATA   "\0"
4558   *         y           CDATA   "\0"
4559   *         priority    CDATA   #REQUIRED
4560   *         range       CDATA   "10"
4561   *     >  */
4562 case 142:
4563 YY_RULE_SETUP
4564 {
4565   A_Anchor_x = "\0";
4566   A_Anchor_y = "\0";
4567   A_Anchor_priority = NULL;
4568   A_Anchor_range = "10";
4569   ENTER(AL_Anchor);
4570 }
4571         YY_BREAK
4572
4573 case 143:
4574 YY_RULE_SETUP
4575 ENTER(VALUE1); BUFFERSET(A_Anchor_x);
4576         YY_BREAK
4577 case 144:
4578 YY_RULE_SETUP
4579 ENTER(VALUE2); BUFFERSET(A_Anchor_x);
4580         YY_BREAK
4581 case 145:
4582 YY_RULE_SETUP
4583 ENTER(VALUE1); BUFFERSET(A_Anchor_y);
4584         YY_BREAK
4585 case 146:
4586 YY_RULE_SETUP
4587 ENTER(VALUE2); BUFFERSET(A_Anchor_y);
4588         YY_BREAK
4589 case 147:
4590 YY_RULE_SETUP
4591 ENTER(VALUE1); BUFFERSET(A_Anchor_priority);
4592         YY_BREAK
4593 case 148:
4594 YY_RULE_SETUP
4595 ENTER(VALUE2); BUFFERSET(A_Anchor_priority);
4596         YY_BREAK
4597 case 149:
4598 YY_RULE_SETUP
4599 ENTER(VALUE1); BUFFERSET(A_Anchor_range);
4600         YY_BREAK
4601 case 150:
4602 YY_RULE_SETUP
4603 ENTER(VALUE2); BUFFERSET(A_Anchor_range);
4604         YY_BREAK
4605 case 151:
4606 YY_RULE_SETUP
4607 {
4608   if (!A_Anchor_priority) FAIL("Required attribute `priority' not set for `Anchor' element.");
4609   LEAVE; STag_Anchor(); pcdata = NULL; ENTER(E_Anchor);
4610  }
4611         YY_BREAK
4612 case 152:
4613 YY_RULE_SETUP
4614 {
4615   if (!A_Anchor_priority) FAIL("Required attribute `priority' not set for `Anchor' element.");
4616   LEAVE; STag_Anchor(); pcdata = NULL; ETag_Anchor();
4617   switch (YY_START) {
4618    case ROOT_Anchor: SET(EPILOG); break;
4619    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4620   }
4621  }
4622         YY_BREAK
4623 case 153:
4624 YY_RULE_SETUP
4625 FAIL("Unexpected character `%c' in attribute list of Anchor element.", yytext[0]);
4626         YY_BREAK
4627 case 154:
4628 YY_RULE_SETUP
4629 FAIL("Bad attribute `%s' in `Anchor' element start tag.",yytext);
4630         YY_BREAK
4631 case YY_STATE_EOF(AL_Anchor):
4632 FAIL("EOF in attribute list of `Anchor' element.");
4633         YY_BREAK
4634
4635
4636 case 155:
4637 YY_RULE_SETUP
4638 {
4639   LEAVE;
4640   ETag_Anchor();
4641   switch (YY_START) {
4642    case ROOT_Anchor: SET(EPILOG); break;
4643    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4644   }
4645  }
4646         YY_BREAK
4647 case 156:
4648 YY_RULE_SETUP
4649 FAIL("Unexpected end-tag `%s': `</Anchor>' expected.",yytext);
4650         YY_BREAK
4651 case 157:
4652 YY_RULE_SETUP
4653 FAIL("Unexpected character `%c': `</Anchor>' expected.",yytext[0]);
4654         YY_BREAK
4655 case YY_STATE_EOF(E_Anchor):
4656 FAIL("Premature EOF: `</Anchor>' expected.");
4657         YY_BREAK
4658
4659 /* <!-- Controls -->  */
4660 /*         id          CDATA   "none"
4661   *         visible     CDATA   "true"
4662   *         x           CDATA   "\0"
4663   *         y           CDATA   "\0"
4664   *         image       CDATA   #REQUIRED
4665   *         onclick     CDATA   "none"
4666   *         help        CDATA   "\0"
4667   *     >  */
4668 case 158:
4669 YY_RULE_SETUP
4670 {
4671   A_ImageControl_id = "none";
4672   A_ImageControl_visible = "true";
4673   A_ImageControl_x = "\0";
4674   A_ImageControl_y = "\0";
4675   A_ImageControl_image = NULL;
4676   A_ImageControl_onclick = "none";
4677   A_ImageControl_help = "\0";
4678   ENTER(AL_ImageControl);
4679 }
4680         YY_BREAK
4681
4682 case 159:
4683 YY_RULE_SETUP
4684 ENTER(VALUE1); BUFFERSET(A_ImageControl_id);
4685         YY_BREAK
4686 case 160:
4687 YY_RULE_SETUP
4688 ENTER(VALUE2); BUFFERSET(A_ImageControl_id);
4689         YY_BREAK
4690 case 161:
4691 YY_RULE_SETUP
4692 ENTER(VALUE1); BUFFERSET(A_ImageControl_visible);
4693         YY_BREAK
4694 case 162:
4695 YY_RULE_SETUP
4696 ENTER(VALUE2); BUFFERSET(A_ImageControl_visible);
4697         YY_BREAK
4698 case 163:
4699 YY_RULE_SETUP
4700 ENTER(VALUE1); BUFFERSET(A_ImageControl_x);
4701         YY_BREAK
4702 case 164:
4703 YY_RULE_SETUP
4704 ENTER(VALUE2); BUFFERSET(A_ImageControl_x);
4705         YY_BREAK
4706 case 165:
4707 YY_RULE_SETUP
4708 ENTER(VALUE1); BUFFERSET(A_ImageControl_y);
4709         YY_BREAK
4710 case 166:
4711 YY_RULE_SETUP
4712 ENTER(VALUE2); BUFFERSET(A_ImageControl_y);
4713         YY_BREAK
4714 case 167:
4715 YY_RULE_SETUP
4716 ENTER(VALUE1); BUFFERSET(A_ImageControl_image);
4717         YY_BREAK
4718 case 168:
4719 YY_RULE_SETUP
4720 ENTER(VALUE2); BUFFERSET(A_ImageControl_image);
4721         YY_BREAK
4722 case 169:
4723 YY_RULE_SETUP
4724 ENTER(VALUE1); BUFFERSET(A_ImageControl_onclick);
4725         YY_BREAK
4726 case 170:
4727 YY_RULE_SETUP
4728 ENTER(VALUE2); BUFFERSET(A_ImageControl_onclick);
4729         YY_BREAK
4730 case 171:
4731 YY_RULE_SETUP
4732 ENTER(VALUE1); BUFFERSET(A_ImageControl_help);
4733         YY_BREAK
4734 case 172:
4735 YY_RULE_SETUP
4736 ENTER(VALUE2); BUFFERSET(A_ImageControl_help);
4737         YY_BREAK
4738 case 173:
4739 YY_RULE_SETUP
4740 {
4741   if (!A_ImageControl_image) FAIL("Required attribute `image' not set for `ImageControl' element.");
4742   LEAVE; STag_ImageControl(); pcdata = NULL; ENTER(E_ImageControl);
4743  }
4744         YY_BREAK
4745 case 174:
4746 YY_RULE_SETUP
4747 {
4748   if (!A_ImageControl_image) FAIL("Required attribute `image' not set for `ImageControl' element.");
4749   LEAVE; STag_ImageControl(); pcdata = NULL; ETag_ImageControl();
4750   switch (YY_START) {
4751    case ROOT_ImageControl: SET(EPILOG); break;
4752    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4753   }
4754  }
4755         YY_BREAK
4756 case 175:
4757 YY_RULE_SETUP
4758 FAIL("Unexpected character `%c' in attribute list of ImageControl element.", yytext[0]);
4759         YY_BREAK
4760 case 176:
4761 YY_RULE_SETUP
4762 FAIL("Bad attribute `%s' in `ImageControl' element start tag.",yytext);
4763         YY_BREAK
4764 case YY_STATE_EOF(AL_ImageControl):
4765 FAIL("EOF in attribute list of `ImageControl' element.");
4766         YY_BREAK
4767
4768
4769 case 177:
4770 YY_RULE_SETUP
4771 {
4772   LEAVE;
4773   ETag_ImageControl();
4774   switch (YY_START) {
4775    case ROOT_ImageControl: SET(EPILOG); break;
4776    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4777   }
4778  }
4779         YY_BREAK
4780 case 178:
4781 YY_RULE_SETUP
4782 FAIL("Unexpected end-tag `%s': `</ImageControl>' expected.",yytext);
4783         YY_BREAK
4784 case 179:
4785 YY_RULE_SETUP
4786 FAIL("Unexpected character `%c': `</ImageControl>' expected.",yytext[0]);
4787         YY_BREAK
4788 case YY_STATE_EOF(E_ImageControl):
4789 FAIL("Premature EOF: `</ImageControl>' expected.");
4790         YY_BREAK
4791
4792 /*         id          CDATA   "none"
4793   *         visible     CDATA   "true"
4794   *         x           CDATA   "\0"
4795   *         y           CDATA   "\0"
4796   *         w           CDATA   "50"
4797   *         h           CDATA   "50"
4798   *         color       CDATA   "#C0C0C0"
4799   *         onclick     CDATA   "none"
4800   *         help        CDATA   "\0"
4801   *     >  */
4802 case 180:
4803 YY_RULE_SETUP
4804 {
4805   A_RectangleControl_id = "none";
4806   A_RectangleControl_visible = "true";
4807   A_RectangleControl_x = "\0";
4808   A_RectangleControl_y = "\0";
4809   A_RectangleControl_w = "50";
4810   A_RectangleControl_h = "50";
4811   A_RectangleControl_color = "#C0C0C0";
4812   A_RectangleControl_onclick = "none";
4813   A_RectangleControl_help = "\0";
4814   ENTER(AL_RectangleControl);
4815 }
4816         YY_BREAK
4817
4818 case 181:
4819 YY_RULE_SETUP
4820 ENTER(VALUE1); BUFFERSET(A_RectangleControl_id);
4821         YY_BREAK
4822 case 182:
4823 YY_RULE_SETUP
4824 ENTER(VALUE2); BUFFERSET(A_RectangleControl_id);
4825         YY_BREAK
4826 case 183:
4827 YY_RULE_SETUP
4828 ENTER(VALUE1); BUFFERSET(A_RectangleControl_visible);
4829         YY_BREAK
4830 case 184:
4831 YY_RULE_SETUP
4832 ENTER(VALUE2); BUFFERSET(A_RectangleControl_visible);
4833         YY_BREAK
4834 case 185:
4835 YY_RULE_SETUP
4836 ENTER(VALUE1); BUFFERSET(A_RectangleControl_x);
4837         YY_BREAK
4838 case 186:
4839 YY_RULE_SETUP
4840 ENTER(VALUE2); BUFFERSET(A_RectangleControl_x);
4841         YY_BREAK
4842 case 187:
4843 YY_RULE_SETUP
4844 ENTER(VALUE1); BUFFERSET(A_RectangleControl_y);
4845         YY_BREAK
4846 case 188:
4847 YY_RULE_SETUP
4848 ENTER(VALUE2); BUFFERSET(A_RectangleControl_y);
4849         YY_BREAK
4850 case 189:
4851 YY_RULE_SETUP
4852 ENTER(VALUE1); BUFFERSET(A_RectangleControl_w);
4853         YY_BREAK
4854 case 190:
4855 YY_RULE_SETUP
4856 ENTER(VALUE2); BUFFERSET(A_RectangleControl_w);
4857         YY_BREAK
4858 case 191:
4859 YY_RULE_SETUP
4860 ENTER(VALUE1); BUFFERSET(A_RectangleControl_h);
4861         YY_BREAK
4862 case 192:
4863 YY_RULE_SETUP
4864 ENTER(VALUE2); BUFFERSET(A_RectangleControl_h);
4865         YY_BREAK
4866 case 193:
4867 YY_RULE_SETUP
4868 ENTER(VALUE1); BUFFERSET(A_RectangleControl_color);
4869         YY_BREAK
4870 case 194:
4871 YY_RULE_SETUP
4872 ENTER(VALUE2); BUFFERSET(A_RectangleControl_color);
4873         YY_BREAK
4874 case 195:
4875 YY_RULE_SETUP
4876 ENTER(VALUE1); BUFFERSET(A_RectangleControl_onclick);
4877         YY_BREAK
4878 case 196:
4879 YY_RULE_SETUP
4880 ENTER(VALUE2); BUFFERSET(A_RectangleControl_onclick);
4881         YY_BREAK
4882 case 197:
4883 YY_RULE_SETUP
4884 ENTER(VALUE1); BUFFERSET(A_RectangleControl_help);
4885         YY_BREAK
4886 case 198:
4887 YY_RULE_SETUP
4888 ENTER(VALUE2); BUFFERSET(A_RectangleControl_help);
4889         YY_BREAK
4890 case 199:
4891 YY_RULE_SETUP
4892 {
4893   LEAVE; STag_RectangleControl(); pcdata = NULL; ENTER(E_RectangleControl);
4894  }
4895         YY_BREAK
4896 case 200:
4897 YY_RULE_SETUP
4898 {
4899   LEAVE; STag_RectangleControl(); pcdata = NULL; ETag_RectangleControl();
4900   switch (YY_START) {
4901    case ROOT_RectangleControl: SET(EPILOG); break;
4902    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4903   }
4904  }
4905         YY_BREAK
4906 case 201:
4907 YY_RULE_SETUP
4908 FAIL("Unexpected character `%c' in attribute list of RectangleControl element.", yytext[0]);
4909         YY_BREAK
4910 case 202:
4911 YY_RULE_SETUP
4912 FAIL("Bad attribute `%s' in `RectangleControl' element start tag.",yytext);
4913         YY_BREAK
4914 case YY_STATE_EOF(AL_RectangleControl):
4915 FAIL("EOF in attribute list of `RectangleControl' element.");
4916         YY_BREAK
4917
4918
4919 case 203:
4920 YY_RULE_SETUP
4921 {
4922   LEAVE;
4923   ETag_RectangleControl();
4924   switch (YY_START) {
4925    case ROOT_RectangleControl: SET(EPILOG); break;
4926    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
4927   }
4928  }
4929         YY_BREAK
4930 case 204:
4931 YY_RULE_SETUP
4932 FAIL("Unexpected end-tag `%s': `</RectangleControl>' expected.",yytext);
4933         YY_BREAK
4934 case 205:
4935 YY_RULE_SETUP
4936 FAIL("Unexpected character `%c': `</RectangleControl>' expected.",yytext[0]);
4937         YY_BREAK
4938 case YY_STATE_EOF(E_RectangleControl):
4939 FAIL("Premature EOF: `</RectangleControl>' expected.");
4940         YY_BREAK
4941
4942 /*         id          CDATA   "none"
4943   *         visible     CDATA   "true"
4944   *         x           CDATA   "\0"
4945   *         y           CDATA   "\0"
4946   *         up          CDATA   #REQUIRED
4947   *         down        CDATA   #REQUIRED
4948   *         disabled    CDATA   "none"
4949   *         onclick     CDATA   "none"
4950   *         onmouseover CDATA   "none"
4951   *         onmouseout  CDATA   "none"
4952   *         tooltiptext CDATA   "none"
4953   *         help        CDATA   "\0"
4954   *     >  */
4955 case 206:
4956 YY_RULE_SETUP
4957 {
4958   A_ButtonControl_id = "none";
4959   A_ButtonControl_visible = "true";
4960   A_ButtonControl_x = "\0";
4961   A_ButtonControl_y = "\0";
4962   A_ButtonControl_up = NULL;
4963   A_ButtonControl_down = NULL;
4964   A_ButtonControl_disabled = "none";
4965   A_ButtonControl_onclick = "none";
4966   A_ButtonControl_onmouseover = "none";
4967   A_ButtonControl_onmouseout = "none";
4968   A_ButtonControl_tooltiptext = "none";
4969   A_ButtonControl_help = "\0";
4970   ENTER(AL_ButtonControl);
4971 }
4972         YY_BREAK
4973
4974 case 207:
4975 YY_RULE_SETUP
4976 ENTER(VALUE1); BUFFERSET(A_ButtonControl_id);
4977         YY_BREAK
4978 case 208:
4979 YY_RULE_SETUP
4980 ENTER(VALUE2); BUFFERSET(A_ButtonControl_id);
4981         YY_BREAK
4982 case 209:
4983 YY_RULE_SETUP
4984 ENTER(VALUE1); BUFFERSET(A_ButtonControl_visible);
4985         YY_BREAK
4986 case 210:
4987 YY_RULE_SETUP
4988 ENTER(VALUE2); BUFFERSET(A_ButtonControl_visible);
4989         YY_BREAK
4990 case 211:
4991 YY_RULE_SETUP
4992 ENTER(VALUE1); BUFFERSET(A_ButtonControl_x);
4993         YY_BREAK
4994 case 212:
4995 YY_RULE_SETUP
4996 ENTER(VALUE2); BUFFERSET(A_ButtonControl_x);
4997         YY_BREAK
4998 case 213:
4999 YY_RULE_SETUP
5000 ENTER(VALUE1); BUFFERSET(A_ButtonControl_y);
5001         YY_BREAK
5002 case 214:
5003 YY_RULE_SETUP
5004 ENTER(VALUE2); BUFFERSET(A_ButtonControl_y);
5005         YY_BREAK
5006 case 215:
5007 YY_RULE_SETUP
5008 ENTER(VALUE1); BUFFERSET(A_ButtonControl_up);
5009         YY_BREAK
5010 case 216:
5011 YY_RULE_SETUP
5012 ENTER(VALUE2); BUFFERSET(A_ButtonControl_up);
5013         YY_BREAK
5014 case 217:
5015 YY_RULE_SETUP
5016 ENTER(VALUE1); BUFFERSET(A_ButtonControl_down);
5017         YY_BREAK
5018 case 218:
5019 YY_RULE_SETUP
5020 ENTER(VALUE2); BUFFERSET(A_ButtonControl_down);
5021         YY_BREAK
5022 case 219:
5023 YY_RULE_SETUP
5024 ENTER(VALUE1); BUFFERSET(A_ButtonControl_disabled);
5025         YY_BREAK
5026 case 220:
5027 YY_RULE_SETUP
5028 ENTER(VALUE2); BUFFERSET(A_ButtonControl_disabled);
5029         YY_BREAK
5030 case 221:
5031 YY_RULE_SETUP
5032 ENTER(VALUE1); BUFFERSET(A_ButtonControl_onclick);
5033         YY_BREAK
5034 case 222:
5035 YY_RULE_SETUP
5036 ENTER(VALUE2); BUFFERSET(A_ButtonControl_onclick);
5037         YY_BREAK
5038 case 223:
5039 YY_RULE_SETUP
5040 ENTER(VALUE1); BUFFERSET(A_ButtonControl_onmouseover);
5041         YY_BREAK
5042 case 224:
5043 YY_RULE_SETUP
5044 ENTER(VALUE2); BUFFERSET(A_ButtonControl_onmouseover);
5045         YY_BREAK
5046 case 225:
5047 YY_RULE_SETUP
5048 ENTER(VALUE1); BUFFERSET(A_ButtonControl_onmouseout);
5049         YY_BREAK
5050 case 226:
5051 YY_RULE_SETUP
5052 ENTER(VALUE2); BUFFERSET(A_ButtonControl_onmouseout);
5053         YY_BREAK
5054 case 227:
5055 YY_RULE_SETUP
5056 ENTER(VALUE1); BUFFERSET(A_ButtonControl_tooltiptext);
5057         YY_BREAK
5058 case 228:
5059 YY_RULE_SETUP
5060 ENTER(VALUE2); BUFFERSET(A_ButtonControl_tooltiptext);
5061         YY_BREAK
5062 case 229:
5063 YY_RULE_SETUP
5064 ENTER(VALUE1); BUFFERSET(A_ButtonControl_help);
5065         YY_BREAK
5066 case 230:
5067 YY_RULE_SETUP
5068 ENTER(VALUE2); BUFFERSET(A_ButtonControl_help);
5069         YY_BREAK
5070 case 231:
5071 YY_RULE_SETUP
5072 {
5073   if (!A_ButtonControl_up) FAIL("Required attribute `up' not set for `ButtonControl' element.");
5074   if (!A_ButtonControl_down) FAIL("Required attribute `down' not set for `ButtonControl' element.");
5075   LEAVE; STag_ButtonControl(); pcdata = NULL; ENTER(E_ButtonControl);
5076  }
5077         YY_BREAK
5078 case 232:
5079 YY_RULE_SETUP
5080 {
5081   if (!A_ButtonControl_up) FAIL("Required attribute `up' not set for `ButtonControl' element.");
5082   if (!A_ButtonControl_down) FAIL("Required attribute `down' not set for `ButtonControl' element.");
5083   LEAVE; STag_ButtonControl(); pcdata = NULL; ETag_ButtonControl();
5084   switch (YY_START) {
5085    case ROOT_ButtonControl: SET(EPILOG); break;
5086    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5087   }
5088  }
5089         YY_BREAK
5090 case 233:
5091 YY_RULE_SETUP
5092 FAIL("Unexpected character `%c' in attribute list of ButtonControl element.", yytext[0]);
5093         YY_BREAK
5094 case 234:
5095 YY_RULE_SETUP
5096 FAIL("Bad attribute `%s' in `ButtonControl' element start tag.",yytext);
5097         YY_BREAK
5098 case YY_STATE_EOF(AL_ButtonControl):
5099 FAIL("EOF in attribute list of `ButtonControl' element.");
5100         YY_BREAK
5101
5102
5103 case 235:
5104 YY_RULE_SETUP
5105 {
5106   LEAVE;
5107   ETag_ButtonControl();
5108   switch (YY_START) {
5109    case ROOT_ButtonControl: SET(EPILOG); break;
5110    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5111   }
5112  }
5113         YY_BREAK
5114 case 236:
5115 YY_RULE_SETUP
5116 FAIL("Unexpected end-tag `%s': `</ButtonControl>' expected.",yytext);
5117         YY_BREAK
5118 case 237:
5119 YY_RULE_SETUP
5120 FAIL("Unexpected character `%c': `</ButtonControl>' expected.",yytext[0]);
5121         YY_BREAK
5122 case YY_STATE_EOF(E_ButtonControl):
5123 FAIL("Premature EOF: `</ButtonControl>' expected.");
5124         YY_BREAK
5125
5126 /*         id           CDATA   "none"
5127   *         visible      CDATA   "true"
5128   *         x            CDATA   "\0"
5129   *         y            CDATA   "\0"
5130   *         img1         CDATA   #REQUIRED
5131   *         clickimg1    CDATA   "none"
5132   *         img2         CDATA   #REQUIRED
5133   *         clickimg2    CDATA   "none"
5134   *         disabled1    CDATA   "none"
5135   *         disabled2    CDATA   "none"
5136   *         onclick1     CDATA   "none"
5137   *         onclick2     CDATA   "none"
5138   *         onmouseover1 CDATA   "none"
5139   *         onmouseout1  CDATA   "none"
5140   *         onmouseover2 CDATA   "none"
5141   *         onmouseout2  CDATA   "none"
5142   *         tooltiptext1 CDATA   "none"
5143   *         tooltiptext2 CDATA   "none"
5144   *         help         CDATA   "\0"
5145   *     >  */
5146 case 238:
5147 YY_RULE_SETUP
5148 {
5149   A_CheckBoxControl_id = "none";
5150   A_CheckBoxControl_visible = "true";
5151   A_CheckBoxControl_x = "\0";
5152   A_CheckBoxControl_y = "\0";
5153   A_CheckBoxControl_img1 = NULL;
5154   A_CheckBoxControl_clickimg1 = "none";
5155   A_CheckBoxControl_img2 = NULL;
5156   A_CheckBoxControl_clickimg2 = "none";
5157   A_CheckBoxControl_disabled1 = "none";
5158   A_CheckBoxControl_disabled2 = "none";
5159   A_CheckBoxControl_onclick1 = "none";
5160   A_CheckBoxControl_onclick2 = "none";
5161   A_CheckBoxControl_onmouseover1 = "none";
5162   A_CheckBoxControl_onmouseout1 = "none";
5163   A_CheckBoxControl_onmouseover2 = "none";
5164   A_CheckBoxControl_onmouseout2 = "none";
5165   A_CheckBoxControl_tooltiptext1 = "none";
5166   A_CheckBoxControl_tooltiptext2 = "none";
5167   A_CheckBoxControl_help = "\0";
5168   ENTER(AL_CheckBoxControl);
5169 }
5170         YY_BREAK
5171
5172 case 239:
5173 YY_RULE_SETUP
5174 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_id);
5175         YY_BREAK
5176 case 240:
5177 YY_RULE_SETUP
5178 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_id);
5179         YY_BREAK
5180 case 241:
5181 YY_RULE_SETUP
5182 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_visible);
5183         YY_BREAK
5184 case 242:
5185 YY_RULE_SETUP
5186 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_visible);
5187         YY_BREAK
5188 case 243:
5189 YY_RULE_SETUP
5190 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_x);
5191         YY_BREAK
5192 case 244:
5193 YY_RULE_SETUP
5194 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_x);
5195         YY_BREAK
5196 case 245:
5197 YY_RULE_SETUP
5198 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_y);
5199         YY_BREAK
5200 case 246:
5201 YY_RULE_SETUP
5202 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_y);
5203         YY_BREAK
5204 case 247:
5205 YY_RULE_SETUP
5206 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_img1);
5207         YY_BREAK
5208 case 248:
5209 YY_RULE_SETUP
5210 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_img1);
5211         YY_BREAK
5212 case 249:
5213 YY_RULE_SETUP
5214 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_clickimg1);
5215         YY_BREAK
5216 case 250:
5217 YY_RULE_SETUP
5218 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_clickimg1);
5219         YY_BREAK
5220 case 251:
5221 YY_RULE_SETUP
5222 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_img2);
5223         YY_BREAK
5224 case 252:
5225 YY_RULE_SETUP
5226 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_img2);
5227         YY_BREAK
5228 case 253:
5229 YY_RULE_SETUP
5230 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_clickimg2);
5231         YY_BREAK
5232 case 254:
5233 YY_RULE_SETUP
5234 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_clickimg2);
5235         YY_BREAK
5236 case 255:
5237 YY_RULE_SETUP
5238 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_disabled1);
5239         YY_BREAK
5240 case 256:
5241 YY_RULE_SETUP
5242 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_disabled1);
5243         YY_BREAK
5244 case 257:
5245 YY_RULE_SETUP
5246 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_disabled2);
5247         YY_BREAK
5248 case 258:
5249 YY_RULE_SETUP
5250 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_disabled2);
5251         YY_BREAK
5252 case 259:
5253 YY_RULE_SETUP
5254 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onclick1);
5255         YY_BREAK
5256 case 260:
5257 YY_RULE_SETUP
5258 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onclick1);
5259         YY_BREAK
5260 case 261:
5261 YY_RULE_SETUP
5262 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onclick2);
5263         YY_BREAK
5264 case 262:
5265 YY_RULE_SETUP
5266 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onclick2);
5267         YY_BREAK
5268 case 263:
5269 YY_RULE_SETUP
5270 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onmouseover1);
5271         YY_BREAK
5272 case 264:
5273 YY_RULE_SETUP
5274 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onmouseover1);
5275         YY_BREAK
5276 case 265:
5277 YY_RULE_SETUP
5278 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onmouseout1);
5279         YY_BREAK
5280 case 266:
5281 YY_RULE_SETUP
5282 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onmouseout1);
5283         YY_BREAK
5284 case 267:
5285 YY_RULE_SETUP
5286 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onmouseover2);
5287         YY_BREAK
5288 case 268:
5289 YY_RULE_SETUP
5290 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onmouseover2);
5291         YY_BREAK
5292 case 269:
5293 YY_RULE_SETUP
5294 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_onmouseout2);
5295         YY_BREAK
5296 case 270:
5297 YY_RULE_SETUP
5298 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_onmouseout2);
5299         YY_BREAK
5300 case 271:
5301 YY_RULE_SETUP
5302 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_tooltiptext1);
5303         YY_BREAK
5304 case 272:
5305 YY_RULE_SETUP
5306 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_tooltiptext1);
5307         YY_BREAK
5308 case 273:
5309 YY_RULE_SETUP
5310 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_tooltiptext2);
5311         YY_BREAK
5312 case 274:
5313 YY_RULE_SETUP
5314 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_tooltiptext2);
5315         YY_BREAK
5316 case 275:
5317 YY_RULE_SETUP
5318 ENTER(VALUE1); BUFFERSET(A_CheckBoxControl_help);
5319         YY_BREAK
5320 case 276:
5321 YY_RULE_SETUP
5322 ENTER(VALUE2); BUFFERSET(A_CheckBoxControl_help);
5323         YY_BREAK
5324 case 277:
5325 YY_RULE_SETUP
5326 {
5327   if (!A_CheckBoxControl_img1) FAIL("Required attribute `img1' not set for `CheckBoxControl' element.");
5328   if (!A_CheckBoxControl_img2) FAIL("Required attribute `img2' not set for `CheckBoxControl' element.");
5329   LEAVE; STag_CheckBoxControl(); pcdata = NULL; ENTER(E_CheckBoxControl);
5330  }
5331         YY_BREAK
5332 case 278:
5333 YY_RULE_SETUP
5334 {
5335   if (!A_CheckBoxControl_img1) FAIL("Required attribute `img1' not set for `CheckBoxControl' element.");
5336   if (!A_CheckBoxControl_img2) FAIL("Required attribute `img2' not set for `CheckBoxControl' element.");
5337   LEAVE; STag_CheckBoxControl(); pcdata = NULL; ETag_CheckBoxControl();
5338   switch (YY_START) {
5339    case ROOT_CheckBoxControl: SET(EPILOG); break;
5340    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5341   }
5342  }
5343         YY_BREAK
5344 case 279:
5345 YY_RULE_SETUP
5346 FAIL("Unexpected character `%c' in attribute list of CheckBoxControl element.", yytext[0]);
5347         YY_BREAK
5348 case 280:
5349 YY_RULE_SETUP
5350 FAIL("Bad attribute `%s' in `CheckBoxControl' element start tag.",yytext);
5351         YY_BREAK
5352 case YY_STATE_EOF(AL_CheckBoxControl):
5353 FAIL("EOF in attribute list of `CheckBoxControl' element.");
5354         YY_BREAK
5355
5356
5357 case 281:
5358 YY_RULE_SETUP
5359 {
5360   LEAVE;
5361   ETag_CheckBoxControl();
5362   switch (YY_START) {
5363    case ROOT_CheckBoxControl: SET(EPILOG); break;
5364    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5365   }
5366  }
5367         YY_BREAK
5368 case 282:
5369 YY_RULE_SETUP
5370 FAIL("Unexpected end-tag `%s': `</CheckBoxControl>' expected.",yytext);
5371         YY_BREAK
5372 case 283:
5373 YY_RULE_SETUP
5374 FAIL("Unexpected character `%c': `</CheckBoxControl>' expected.",yytext[0]);
5375         YY_BREAK
5376 case YY_STATE_EOF(E_CheckBoxControl):
5377 FAIL("Premature EOF: `</CheckBoxControl>' expected.");
5378         YY_BREAK
5379
5380 /*         id          CDATA   "none"
5381   *         visible     CDATA   "true"
5382   *         x           CDATA   "\0"
5383   *         y           CDATA   "\0"
5384   *         type        CDATA   "time"
5385   *         up          CDATA   #REQUIRED
5386   *         down        CDATA   #REQUIRED
5387   *         abs         CDATA   #REQUIRED
5388   *         ord         CDATA   #REQUIRED
5389   *         tooltiptext CDATA   "none"
5390   *         help        CDATA   "\0"
5391   *     >  */
5392 case 284:
5393 YY_RULE_SETUP
5394 {
5395   A_SliderControl_id = "none";
5396   A_SliderControl_visible = "true";
5397   A_SliderControl_x = "\0";
5398   A_SliderControl_y = "\0";
5399   A_SliderControl_type = "time";
5400   A_SliderControl_up = NULL;
5401   A_SliderControl_down = NULL;
5402   A_SliderControl_abs = NULL;
5403   A_SliderControl_ord = NULL;
5404   A_SliderControl_tooltiptext = "none";
5405   A_SliderControl_help = "\0";
5406   ENTER(AL_SliderControl);
5407 }
5408         YY_BREAK
5409
5410 case 285:
5411 YY_RULE_SETUP
5412 ENTER(VALUE1); BUFFERSET(A_SliderControl_id);
5413         YY_BREAK
5414 case 286:
5415 YY_RULE_SETUP
5416 ENTER(VALUE2); BUFFERSET(A_SliderControl_id);
5417         YY_BREAK
5418 case 287:
5419 YY_RULE_SETUP
5420 ENTER(VALUE1); BUFFERSET(A_SliderControl_visible);
5421         YY_BREAK
5422 case 288:
5423 YY_RULE_SETUP
5424 ENTER(VALUE2); BUFFERSET(A_SliderControl_visible);
5425         YY_BREAK
5426 case 289:
5427 YY_RULE_SETUP
5428 ENTER(VALUE1); BUFFERSET(A_SliderControl_x);
5429         YY_BREAK
5430 case 290:
5431 YY_RULE_SETUP
5432 ENTER(VALUE2); BUFFERSET(A_SliderControl_x);
5433         YY_BREAK
5434 case 291:
5435 YY_RULE_SETUP
5436 ENTER(VALUE1); BUFFERSET(A_SliderControl_y);
5437         YY_BREAK
5438 case 292:
5439 YY_RULE_SETUP
5440 ENTER(VALUE2); BUFFERSET(A_SliderControl_y);
5441         YY_BREAK
5442 case 293:
5443 YY_RULE_SETUP
5444 ENTER(VALUE1); BUFFERSET(A_SliderControl_type);
5445         YY_BREAK
5446 case 294:
5447 YY_RULE_SETUP
5448 ENTER(VALUE2); BUFFERSET(A_SliderControl_type);
5449         YY_BREAK
5450 case 295:
5451 YY_RULE_SETUP
5452 ENTER(VALUE1); BUFFERSET(A_SliderControl_up);
5453         YY_BREAK
5454 case 296:
5455 YY_RULE_SETUP
5456 ENTER(VALUE2); BUFFERSET(A_SliderControl_up);
5457         YY_BREAK
5458 case 297:
5459 YY_RULE_SETUP
5460 ENTER(VALUE1); BUFFERSET(A_SliderControl_down);
5461         YY_BREAK
5462 case 298:
5463 YY_RULE_SETUP
5464 ENTER(VALUE2); BUFFERSET(A_SliderControl_down);
5465         YY_BREAK
5466 case 299:
5467 YY_RULE_SETUP
5468 ENTER(VALUE1); BUFFERSET(A_SliderControl_abs);
5469         YY_BREAK
5470 case 300:
5471 YY_RULE_SETUP
5472 ENTER(VALUE2); BUFFERSET(A_SliderControl_abs);
5473         YY_BREAK
5474 case 301:
5475 YY_RULE_SETUP
5476 ENTER(VALUE1); BUFFERSET(A_SliderControl_ord);
5477         YY_BREAK
5478 case 302:
5479 YY_RULE_SETUP
5480 ENTER(VALUE2); BUFFERSET(A_SliderControl_ord);
5481         YY_BREAK
5482 case 303:
5483 YY_RULE_SETUP
5484 ENTER(VALUE1); BUFFERSET(A_SliderControl_tooltiptext);
5485         YY_BREAK
5486 case 304:
5487 YY_RULE_SETUP
5488 ENTER(VALUE2); BUFFERSET(A_SliderControl_tooltiptext);
5489         YY_BREAK
5490 case 305:
5491 YY_RULE_SETUP
5492 ENTER(VALUE1); BUFFERSET(A_SliderControl_help);
5493         YY_BREAK
5494 case 306:
5495 YY_RULE_SETUP
5496 ENTER(VALUE2); BUFFERSET(A_SliderControl_help);
5497         YY_BREAK
5498 case 307:
5499 YY_RULE_SETUP
5500 {
5501   if (!A_SliderControl_up) FAIL("Required attribute `up' not set for `SliderControl' element.");
5502   if (!A_SliderControl_down) FAIL("Required attribute `down' not set for `SliderControl' element.");
5503   if (!A_SliderControl_abs) FAIL("Required attribute `abs' not set for `SliderControl' element.");
5504   if (!A_SliderControl_ord) FAIL("Required attribute `ord' not set for `SliderControl' element.");
5505   LEAVE; STag_SliderControl(); pcdata = NULL; ENTER(E_SliderControl);
5506  }
5507         YY_BREAK
5508 case 308:
5509 YY_RULE_SETUP
5510 {
5511   if (!A_SliderControl_up) FAIL("Required attribute `up' not set for `SliderControl' element.");
5512   if (!A_SliderControl_down) FAIL("Required attribute `down' not set for `SliderControl' element.");
5513   if (!A_SliderControl_abs) FAIL("Required attribute `abs' not set for `SliderControl' element.");
5514   if (!A_SliderControl_ord) FAIL("Required attribute `ord' not set for `SliderControl' element.");
5515   LEAVE; STag_SliderControl(); pcdata = NULL; ETag_SliderControl();
5516   switch (YY_START) {
5517    case ROOT_SliderControl: SET(EPILOG); break;
5518    case S_PlayListControl: SET(E_PlayListControl); break;
5519    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5520   }
5521  }
5522         YY_BREAK
5523 case 309:
5524 YY_RULE_SETUP
5525 FAIL("Unexpected character `%c' in attribute list of SliderControl element.", yytext[0]);
5526         YY_BREAK
5527 case 310:
5528 YY_RULE_SETUP
5529 FAIL("Bad attribute `%s' in `SliderControl' element start tag.",yytext);
5530         YY_BREAK
5531 case YY_STATE_EOF(AL_SliderControl):
5532 FAIL("EOF in attribute list of `SliderControl' element.");
5533         YY_BREAK
5534
5535
5536 case 311:
5537 YY_RULE_SETUP
5538 {
5539   LEAVE;
5540   ETag_SliderControl();
5541   switch (YY_START) {
5542    case ROOT_SliderControl: SET(EPILOG); break;
5543    case S_PlayListControl: SET(E_PlayListControl); break;
5544    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5545   }
5546  }
5547         YY_BREAK
5548 case 312:
5549 YY_RULE_SETUP
5550 FAIL("Unexpected end-tag `%s': `</SliderControl>' expected.",yytext);
5551         YY_BREAK
5552 case 313:
5553 YY_RULE_SETUP
5554 FAIL("Unexpected character `%c': `</SliderControl>' expected.",yytext[0]);
5555         YY_BREAK
5556 case YY_STATE_EOF(E_SliderControl):
5557 FAIL("Premature EOF: `</SliderControl>' expected.");
5558         YY_BREAK
5559
5560 /*         id          CDATA   "none"
5561   *         visible     CDATA   "true"
5562   *         x           CDATA   "\0"
5563   *         y           CDATA   "\0"
5564   *         text        CDATA   ""
5565   *         font        CDATA   #REQUIRED
5566   *         align       CDATA   "left"
5567   *         width       CDATA   "\0"
5568   *         display     CDATA   "none"
5569   *         scroll      CDATA   "true"
5570   *         scrollspace CDATA   "20"
5571   *         help        CDATA   "\0"
5572   *     >  */
5573 case 314:
5574 YY_RULE_SETUP
5575 {
5576   A_TextControl_id = "none";
5577   A_TextControl_visible = "true";
5578   A_TextControl_x = "\0";
5579   A_TextControl_y = "\0";
5580   A_TextControl_text = NULL;
5581   A_TextControl_font = NULL;
5582   A_TextControl_align = "left";
5583   A_TextControl_width = "\0";
5584   A_TextControl_display = "none";
5585   A_TextControl_scroll = "true";
5586   A_TextControl_scrollspace = "20";
5587   A_TextControl_help = "\0";
5588   ENTER(AL_TextControl);
5589 }
5590         YY_BREAK
5591
5592 case 315:
5593 YY_RULE_SETUP
5594 ENTER(VALUE1); BUFFERSET(A_TextControl_id);
5595         YY_BREAK
5596 case 316:
5597 YY_RULE_SETUP
5598 ENTER(VALUE2); BUFFERSET(A_TextControl_id);
5599         YY_BREAK
5600 case 317:
5601 YY_RULE_SETUP
5602 ENTER(VALUE1); BUFFERSET(A_TextControl_visible);
5603         YY_BREAK
5604 case 318:
5605 YY_RULE_SETUP
5606 ENTER(VALUE2); BUFFERSET(A_TextControl_visible);
5607         YY_BREAK
5608 case 319:
5609 YY_RULE_SETUP
5610 ENTER(VALUE1); BUFFERSET(A_TextControl_x);
5611         YY_BREAK
5612 case 320:
5613 YY_RULE_SETUP
5614 ENTER(VALUE2); BUFFERSET(A_TextControl_x);
5615         YY_BREAK
5616 case 321:
5617 YY_RULE_SETUP
5618 ENTER(VALUE1); BUFFERSET(A_TextControl_y);
5619         YY_BREAK
5620 case 322:
5621 YY_RULE_SETUP
5622 ENTER(VALUE2); BUFFERSET(A_TextControl_y);
5623         YY_BREAK
5624 case 323:
5625 YY_RULE_SETUP
5626 ENTER(VALUE1); BUFFERSET(A_TextControl_text);
5627         YY_BREAK
5628 case 324:
5629 YY_RULE_SETUP
5630 ENTER(VALUE2); BUFFERSET(A_TextControl_text);
5631         YY_BREAK
5632 case 325:
5633 YY_RULE_SETUP
5634 ENTER(VALUE1); BUFFERSET(A_TextControl_font);
5635         YY_BREAK
5636 case 326:
5637 YY_RULE_SETUP
5638 ENTER(VALUE2); BUFFERSET(A_TextControl_font);
5639         YY_BREAK
5640 case 327:
5641 YY_RULE_SETUP
5642 ENTER(VALUE1); BUFFERSET(A_TextControl_align);
5643         YY_BREAK
5644 case 328:
5645 YY_RULE_SETUP
5646 ENTER(VALUE2); BUFFERSET(A_TextControl_align);
5647         YY_BREAK
5648 case 329:
5649 YY_RULE_SETUP
5650 ENTER(VALUE1); BUFFERSET(A_TextControl_width);
5651         YY_BREAK
5652 case 330:
5653 YY_RULE_SETUP
5654 ENTER(VALUE2); BUFFERSET(A_TextControl_width);
5655         YY_BREAK
5656 case 331:
5657 YY_RULE_SETUP
5658 ENTER(VALUE1); BUFFERSET(A_TextControl_display);
5659         YY_BREAK
5660 case 332:
5661 YY_RULE_SETUP
5662 ENTER(VALUE2); BUFFERSET(A_TextControl_display);
5663         YY_BREAK
5664 case 333:
5665 YY_RULE_SETUP
5666 ENTER(VALUE1); BUFFERSET(A_TextControl_scroll);
5667         YY_BREAK
5668 case 334:
5669 YY_RULE_SETUP
5670 ENTER(VALUE2); BUFFERSET(A_TextControl_scroll);
5671         YY_BREAK
5672 case 335:
5673 YY_RULE_SETUP
5674 ENTER(VALUE1); BUFFERSET(A_TextControl_scrollspace);
5675         YY_BREAK
5676 case 336:
5677 YY_RULE_SETUP
5678 ENTER(VALUE2); BUFFERSET(A_TextControl_scrollspace);
5679         YY_BREAK
5680 case 337:
5681 YY_RULE_SETUP
5682 ENTER(VALUE1); BUFFERSET(A_TextControl_help);
5683         YY_BREAK
5684 case 338:
5685 YY_RULE_SETUP
5686 ENTER(VALUE2); BUFFERSET(A_TextControl_help);
5687         YY_BREAK
5688 case 339:
5689 YY_RULE_SETUP
5690 {
5691   if (!A_TextControl_font) FAIL("Required attribute `font' not set for `TextControl' element.");
5692   LEAVE; STag_TextControl(); pcdata = NULL; ENTER(E_TextControl);
5693  }
5694         YY_BREAK
5695 case 340:
5696 YY_RULE_SETUP
5697 {
5698   if (!A_TextControl_font) FAIL("Required attribute `font' not set for `TextControl' element.");
5699   LEAVE; STag_TextControl(); pcdata = NULL; ETag_TextControl();
5700   switch (YY_START) {
5701    case ROOT_TextControl: SET(EPILOG); break;
5702    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5703   }
5704  }
5705         YY_BREAK
5706 case 341:
5707 YY_RULE_SETUP
5708 FAIL("Unexpected character `%c' in attribute list of TextControl element.", yytext[0]);
5709         YY_BREAK
5710 case 342:
5711 YY_RULE_SETUP
5712 FAIL("Bad attribute `%s' in `TextControl' element start tag.",yytext);
5713         YY_BREAK
5714 case YY_STATE_EOF(AL_TextControl):
5715 FAIL("EOF in attribute list of `TextControl' element.");
5716         YY_BREAK
5717
5718
5719 case 343:
5720 YY_RULE_SETUP
5721 {
5722   LEAVE;
5723   ETag_TextControl();
5724   switch (YY_START) {
5725    case ROOT_TextControl: SET(EPILOG); break;
5726    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5727   }
5728  }
5729         YY_BREAK
5730 case 344:
5731 YY_RULE_SETUP
5732 FAIL("Unexpected end-tag `%s': `</TextControl>' expected.",yytext);
5733         YY_BREAK
5734 case 345:
5735 YY_RULE_SETUP
5736 FAIL("Unexpected character `%c': `</TextControl>' expected.",yytext[0]);
5737         YY_BREAK
5738 case YY_STATE_EOF(E_TextControl):
5739 FAIL("Premature EOF: `</TextControl>' expected.");
5740         YY_BREAK
5741
5742 /*         id          CDATA   "none"
5743   *         visible     CDATA   "true"
5744   *         x           CDATA   "\0"
5745   *         y           CDATA   "\0"
5746   *         width       CDATA   "200"
5747   *         infowidth   CDATA   "50"
5748   *         font        CDATA   #REQUIRED
5749   *         playfont    CDATA   "none"
5750   *         selcolor    CDATA   "#0000FF"
5751   *         abs         CDATA   #REQUIRED
5752   *         ord         CDATA   #REQUIRED
5753   *         help        CDATA   "\0"
5754   *         longfilename CDATA   "false"
5755   *     >  */
5756 case 346:
5757 YY_RULE_SETUP
5758 {
5759   A_PlayListControl_id = "none";
5760   A_PlayListControl_visible = "true";
5761   A_PlayListControl_x = "\0";
5762   A_PlayListControl_y = "\0";
5763   A_PlayListControl_width = "200";
5764   A_PlayListControl_infowidth = "50";
5765   A_PlayListControl_font = NULL;
5766   A_PlayListControl_playfont = "none";
5767   A_PlayListControl_selcolor = "#0000FF";
5768   A_PlayListControl_abs = NULL;
5769   A_PlayListControl_ord = NULL;
5770   A_PlayListControl_help = "\0";
5771   A_PlayListControl_longfilename = "false";
5772   ENTER(AL_PlayListControl);
5773 }
5774         YY_BREAK
5775
5776 case 347:
5777 YY_RULE_SETUP
5778 ENTER(VALUE1); BUFFERSET(A_PlayListControl_id);
5779         YY_BREAK
5780 case 348:
5781 YY_RULE_SETUP
5782 ENTER(VALUE2); BUFFERSET(A_PlayListControl_id);
5783         YY_BREAK
5784 case 349:
5785 YY_RULE_SETUP
5786 ENTER(VALUE1); BUFFERSET(A_PlayListControl_visible);
5787         YY_BREAK
5788 case 350:
5789 YY_RULE_SETUP
5790 ENTER(VALUE2); BUFFERSET(A_PlayListControl_visible);
5791         YY_BREAK
5792 case 351:
5793 YY_RULE_SETUP
5794 ENTER(VALUE1); BUFFERSET(A_PlayListControl_x);
5795         YY_BREAK
5796 case 352:
5797 YY_RULE_SETUP
5798 ENTER(VALUE2); BUFFERSET(A_PlayListControl_x);
5799         YY_BREAK
5800 case 353:
5801 YY_RULE_SETUP
5802 ENTER(VALUE1); BUFFERSET(A_PlayListControl_y);
5803         YY_BREAK
5804 case 354:
5805 YY_RULE_SETUP
5806 ENTER(VALUE2); BUFFERSET(A_PlayListControl_y);
5807         YY_BREAK
5808 case 355:
5809 YY_RULE_SETUP
5810 ENTER(VALUE1); BUFFERSET(A_PlayListControl_width);
5811         YY_BREAK
5812 case 356:
5813 YY_RULE_SETUP
5814 ENTER(VALUE2); BUFFERSET(A_PlayListControl_width);
5815         YY_BREAK
5816 case 357:
5817 YY_RULE_SETUP
5818 ENTER(VALUE1); BUFFERSET(A_PlayListControl_infowidth);
5819         YY_BREAK
5820 case 358:
5821 YY_RULE_SETUP
5822 ENTER(VALUE2); BUFFERSET(A_PlayListControl_infowidth);
5823         YY_BREAK
5824 case 359:
5825 YY_RULE_SETUP
5826 ENTER(VALUE1); BUFFERSET(A_PlayListControl_font);
5827         YY_BREAK
5828 case 360:
5829 YY_RULE_SETUP
5830 ENTER(VALUE2); BUFFERSET(A_PlayListControl_font);
5831         YY_BREAK
5832 case 361:
5833 YY_RULE_SETUP
5834 ENTER(VALUE1); BUFFERSET(A_PlayListControl_playfont);
5835         YY_BREAK
5836 case 362:
5837 YY_RULE_SETUP
5838 ENTER(VALUE2); BUFFERSET(A_PlayListControl_playfont);
5839         YY_BREAK
5840 case 363:
5841 YY_RULE_SETUP
5842 ENTER(VALUE1); BUFFERSET(A_PlayListControl_selcolor);
5843         YY_BREAK
5844 case 364:
5845 YY_RULE_SETUP
5846 ENTER(VALUE2); BUFFERSET(A_PlayListControl_selcolor);
5847         YY_BREAK
5848 case 365:
5849 YY_RULE_SETUP
5850 ENTER(VALUE1); BUFFERSET(A_PlayListControl_abs);
5851         YY_BREAK
5852 case 366:
5853 YY_RULE_SETUP
5854 ENTER(VALUE2); BUFFERSET(A_PlayListControl_abs);
5855         YY_BREAK
5856 case 367:
5857 YY_RULE_SETUP
5858 ENTER(VALUE1); BUFFERSET(A_PlayListControl_ord);
5859         YY_BREAK
5860 case 368:
5861 YY_RULE_SETUP
5862 ENTER(VALUE2); BUFFERSET(A_PlayListControl_ord);
5863         YY_BREAK
5864 case 369:
5865 YY_RULE_SETUP
5866 ENTER(VALUE1); BUFFERSET(A_PlayListControl_help);
5867         YY_BREAK
5868 case 370:
5869 YY_RULE_SETUP
5870 ENTER(VALUE2); BUFFERSET(A_PlayListControl_help);
5871         YY_BREAK
5872 case 371:
5873 YY_RULE_SETUP
5874 ENTER(VALUE1); BUFFERSET(A_PlayListControl_longfilename);
5875         YY_BREAK
5876 case 372:
5877 YY_RULE_SETUP
5878 ENTER(VALUE2); BUFFERSET(A_PlayListControl_longfilename);
5879         YY_BREAK
5880 case 373:
5881 YY_RULE_SETUP
5882 {
5883   if (!A_PlayListControl_font) FAIL("Required attribute `font' not set for `PlayListControl' element.");
5884   if (!A_PlayListControl_abs) FAIL("Required attribute `abs' not set for `PlayListControl' element.");
5885   if (!A_PlayListControl_ord) FAIL("Required attribute `ord' not set for `PlayListControl' element.");
5886   LEAVE; STag_PlayListControl(); pcdata = NULL; ENTER(S_PlayListControl);
5887  }
5888         YY_BREAK
5889 case 374:
5890 YY_RULE_SETUP
5891 FAIL("`PlayListControl' element cannot be empty.");
5892         YY_BREAK
5893 case 375:
5894 YY_RULE_SETUP
5895 FAIL("Unexpected character `%c' in attribute list of PlayListControl element.", yytext[0]);
5896         YY_BREAK
5897 case 376:
5898 YY_RULE_SETUP
5899 FAIL("Bad attribute `%s' in `PlayListControl' element start tag.",yytext);
5900         YY_BREAK
5901 case YY_STATE_EOF(AL_PlayListControl):
5902 FAIL("EOF in attribute list of `PlayListControl' element.");
5903         YY_BREAK
5904
5905
5906 case 377:
5907 YY_RULE_SETUP
5908 {
5909   LEAVE;
5910   ETag_PlayListControl();
5911   switch (YY_START) {
5912    case ROOT_PlayListControl: SET(EPILOG); break;
5913    case S_ControlGroup_1: case S_ControlGroup_2: case S_ControlGroup: SET(S_ControlGroup_2); break;
5914   }
5915  }
5916         YY_BREAK
5917 case 378:
5918 YY_RULE_SETUP
5919 FAIL("Unexpected end-tag `%s': `</PlayListControl>' expected.",yytext);
5920         YY_BREAK
5921 case 379:
5922 YY_RULE_SETUP
5923 FAIL("Unexpected character `%c': `</PlayListControl>' expected.",yytext[0]);
5924         YY_BREAK
5925 case YY_STATE_EOF(E_PlayListControl):
5926 FAIL("Premature EOF: `</PlayListControl>' expected.");
5927         YY_BREAK
5928
5929 /* EPILOG: after the root element. */
5930
5931 case 380:
5932 YY_RULE_SETUP
5933 FAIL("Unexpected character `%c' after document.", yytext[0]);
5934         YY_BREAK
5935 case YY_STATE_EOF(EPILOG):
5936 SUCCEED;
5937         YY_BREAK
5938
5939 /* CHARACTER DATA. */
5940
5941 /* Non-defined standard entities... */
5942 case 381:
5943 YY_RULE_SETUP
5944 BUFFERPUTC('&');
5945         YY_BREAK
5946 case 382:
5947 YY_RULE_SETUP
5948 BUFFERPUTC('<');
5949         YY_BREAK
5950 case 383:
5951 YY_RULE_SETUP
5952 BUFFERPUTC('>');
5953         YY_BREAK
5954 case 384:
5955 YY_RULE_SETUP
5956 BUFFERPUTC('\'');
5957         YY_BREAK
5958 case 385:
5959 YY_RULE_SETUP
5960 BUFFERPUTC('"');
5961         YY_BREAK
5962 /* Character entities. */
5963 case 386:
5964 YY_RULE_SETUP
5965 BUFFERPUTC((unsigned char)atoi(yytext+2));
5966         YY_BREAK
5967 case 387:
5968 YY_RULE_SETUP
5969 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
5970         YY_BREAK
5971
5972
5973 case 388:
5974 case 389:
5975 case 390:
5976 case 391:
5977 YY_RULE_SETUP
5978 BUFFERPUTC('\n');
5979         YY_BREAK
5980
5981
5982 case 392:
5983 YY_RULE_SETUP
5984 ENTER(CDATA);
5985         YY_BREAK
5986 case 393:
5987 YY_RULE_SETUP
5988 FAIL("Unexpected `]]>' in character data.");
5989         YY_BREAK
5990
5991
5992 case 394:
5993 YY_RULE_SETUP
5994 BUFFERDONE; LEAVE;
5995         YY_BREAK
5996 case YY_STATE_EOF(VALUE1):
5997 FAIL("EOF in literal (\"'\" expected).");
5998         YY_BREAK
5999
6000
6001 case 395:
6002 YY_RULE_SETUP
6003 BUFFERDONE; LEAVE;
6004         YY_BREAK
6005 case YY_STATE_EOF(VALUE2):
6006 FAIL("EOF in literal (`\"' expected).");
6007         YY_BREAK
6008
6009
6010 case 396:
6011 YY_RULE_SETUP
6012 BUFFERPUTC(yytext[0]);
6013         YY_BREAK
6014 case 397:
6015 YY_RULE_SETUP
6016 FAIL("Spurious `%c' in character data.",yytext[0]);
6017         YY_BREAK
6018
6019
6020 case 398:
6021 YY_RULE_SETUP
6022 LEAVE;
6023         YY_BREAK
6024 case 399:
6025 YY_RULE_SETUP
6026 BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]);
6027         YY_BREAK
6028 case 400:
6029 YY_RULE_SETUP
6030 BUFFERPUTC(yytext[0]);
6031         YY_BREAK
6032 case YY_STATE_EOF(CDATA):
6033 FAIL("EOF in CDATA section.");
6034         YY_BREAK
6035
6036 /* Impossible rules to avoid warnings from flex(1). */
6037
6038 case 401:
6039 YY_RULE_SETUP
6040 FAIL("The Impossible Happened: INITIAL or IMPOSSIBLE state entered?");
6041         YY_BREAK
6042
6043 case 402:
6044 YY_RULE_SETUP
6045 YY_FATAL_ERROR( "flex scanner jammed" );
6046         YY_BREAK
6047 case YY_STATE_EOF(INITIAL):
6048 case YY_STATE_EOF(ROOT_Theme):
6049 case YY_STATE_EOF(S_Theme):
6050 case YY_STATE_EOF(S_Theme_2):
6051 case YY_STATE_EOF(ROOT_Bitmap):
6052 case YY_STATE_EOF(ROOT_Event):
6053 case YY_STATE_EOF(ROOT_Font):
6054 case YY_STATE_EOF(ROOT_ThemeInfo):
6055 case YY_STATE_EOF(ROOT_Window):
6056 case YY_STATE_EOF(S_Window):
6057 case YY_STATE_EOF(ROOT_ControlGroup):
6058 case YY_STATE_EOF(S_ControlGroup):
6059 case YY_STATE_EOF(S_ControlGroup_1):
6060 case YY_STATE_EOF(ROOT_Anchor):
6061 case YY_STATE_EOF(ROOT_ImageControl):
6062 case YY_STATE_EOF(ROOT_RectangleControl):
6063 case YY_STATE_EOF(ROOT_ButtonControl):
6064 case YY_STATE_EOF(ROOT_CheckBoxControl):
6065 case YY_STATE_EOF(ROOT_SliderControl):
6066 case YY_STATE_EOF(ROOT_TextControl):
6067 case YY_STATE_EOF(ROOT_PlayListControl):
6068 case YY_STATE_EOF(S_PlayListControl):
6069 case YY_STATE_EOF(IMPOSSIBLE):
6070         yyterminate();
6071
6072         case YY_END_OF_BUFFER:
6073                 {
6074                 /* Amount of text matched not including the EOB char. */
6075                 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
6076
6077                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6078                 *yy_cp = yy_hold_char;
6079                 YY_RESTORE_YY_MORE_OFFSET
6080
6081                 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
6082                         {
6083                         /* We're scanning a new file or input source.  It's
6084                          * possible that this happened because the user
6085                          * just pointed yyin at a new source and called
6086                          * yylex().  If so, then we have to assure
6087                          * consistency between yy_current_buffer and our
6088                          * globals.  Here is the right place to do so, because
6089                          * this is the first action (other than possibly a
6090                          * back-up) that will match for the new input source.
6091                          */
6092                         yy_n_chars = yy_current_buffer->yy_n_chars;
6093                         yy_current_buffer->yy_input_file = yyin;
6094                         yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
6095                         }
6096
6097                 /* Note that here we test for yy_c_buf_p "<=" to the position
6098                  * of the first EOB in the buffer, since yy_c_buf_p will
6099                  * already have been incremented past the NUL character
6100                  * (since all states make transitions on EOB to the
6101                  * end-of-buffer state).  Contrast this with the test
6102                  * in input().
6103                  */
6104                 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
6105                         { /* This was really a NUL. */
6106                         yy_state_type yy_next_state;
6107
6108                         yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
6109
6110                         yy_current_state = yy_get_previous_state();
6111
6112                         /* Okay, we're now positioned to make the NUL
6113                          * transition.  We couldn't have
6114                          * yy_get_previous_state() go ahead and do it
6115                          * for us because it doesn't know how to deal
6116                          * with the possibility of jamming (and we don't
6117                          * want to build jamming into it because then it
6118                          * will run more slowly).
6119                          */
6120
6121                         yy_next_state = yy_try_NUL_trans( yy_current_state );
6122
6123                         yy_bp = yytext_ptr + YY_MORE_ADJ;
6124
6125                         if ( yy_next_state )
6126                                 {
6127                                 /* Consume the NUL. */
6128                                 yy_cp = ++yy_c_buf_p;
6129                                 yy_current_state = yy_next_state;
6130                                 goto yy_match;
6131                                 }
6132
6133                         else
6134                                 {
6135                                 yy_cp = yy_last_accepting_cpos;
6136                                 yy_current_state = yy_last_accepting_state;
6137                                 goto yy_find_action;
6138                                 }
6139                         }
6140
6141                 else switch ( yy_get_next_buffer() )
6142                         {
6143                         case EOB_ACT_END_OF_FILE:
6144                                 {
6145                                 yy_did_buffer_switch_on_eof = 0;
6146
6147                                 if ( yywrap() )
6148                                         {
6149                                         /* Note: because we've taken care in
6150                                          * yy_get_next_buffer() to have set up
6151                                          * yytext, we can now set up
6152                                          * yy_c_buf_p so that if some total
6153                                          * hoser (like flex itself) wants to
6154                                          * call the scanner after we return the
6155                                          * YY_NULL, it'll still work - another
6156                                          * YY_NULL will get returned.
6157                                          */
6158                                         yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
6159
6160                                         yy_act = YY_STATE_EOF(YY_START);
6161                                         goto do_action;
6162                                         }
6163
6164                                 else
6165                                         {
6166                                         if ( ! yy_did_buffer_switch_on_eof )
6167                                                 YY_NEW_FILE;
6168                                         }
6169                                 break;
6170                                 }
6171
6172                         case EOB_ACT_CONTINUE_SCAN:
6173                                 yy_c_buf_p =
6174                                         yytext_ptr + yy_amount_of_matched_text;
6175
6176                                 yy_current_state = yy_get_previous_state();
6177
6178                                 yy_cp = yy_c_buf_p;
6179                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
6180                                 goto yy_match;
6181
6182                         case EOB_ACT_LAST_MATCH:
6183                                 yy_c_buf_p =
6184                                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
6185
6186                                 yy_current_state = yy_get_previous_state();
6187
6188                                 yy_cp = yy_c_buf_p;
6189                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
6190                                 goto yy_find_action;
6191                         }
6192                 break;
6193                 }
6194
6195         default:
6196                 YY_FATAL_ERROR(
6197                         "fatal flex scanner internal error--no action found" );
6198         } /* end of action switch */
6199                 } /* end of scanning one token */
6200         } /* end of yylex */
6201
6202
6203 /* yy_get_next_buffer - try to read in a new buffer
6204  *
6205  * Returns a code representing an action:
6206  *      EOB_ACT_LAST_MATCH -
6207  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6208  *      EOB_ACT_END_OF_FILE - end of file
6209  */
6210
6211 static int yy_get_next_buffer()
6212         {
6213         register char *dest = yy_current_buffer->yy_ch_buf;
6214         register char *source = yytext_ptr;
6215         register int number_to_move, i;
6216         int ret_val;
6217
6218         if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
6219                 YY_FATAL_ERROR(
6220                 "fatal flex scanner internal error--end of buffer missed" );
6221
6222         if ( yy_current_buffer->yy_fill_buffer == 0 )
6223                 { /* Don't try to fill the buffer, so this is an EOF. */
6224                 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
6225                         {
6226                         /* We matched a single character, the EOB, so
6227                          * treat this as a final EOF.
6228                          */
6229                         return EOB_ACT_END_OF_FILE;
6230                         }
6231
6232                 else
6233                         {
6234                         /* We matched some text prior to the EOB, first
6235                          * process it.
6236                          */
6237                         return EOB_ACT_LAST_MATCH;
6238                         }
6239                 }
6240
6241         /* Try to read more data. */
6242
6243         /* First move last chars to start of buffer. */
6244         number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
6245
6246         for ( i = 0; i < number_to_move; ++i )
6247                 *(dest++) = *(source++);
6248
6249         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6250                 /* don't do the read, it's not guaranteed to return an EOF,
6251                  * just force an EOF
6252                  */
6253                 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
6254
6255         else
6256                 {
6257                 int num_to_read =
6258                         yy_current_buffer->yy_buf_size - number_to_move - 1;
6259
6260                 while ( num_to_read <= 0 )
6261                         { /* Not enough room in the buffer - grow it. */
6262 #ifdef YY_USES_REJECT
6263                         YY_FATAL_ERROR(
6264 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
6265 #else
6266
6267                         /* just a shorter name for the current buffer */
6268                         YY_BUFFER_STATE b = yy_current_buffer;
6269
6270                         int yy_c_buf_p_offset =
6271                                 (int) (yy_c_buf_p - b->yy_ch_buf);
6272
6273                         if ( b->yy_is_our_buffer )
6274                                 {
6275                                 int new_size = b->yy_buf_size * 2;
6276
6277                                 if ( new_size <= 0 )
6278                                         b->yy_buf_size += b->yy_buf_size / 8;
6279                                 else
6280                                         b->yy_buf_size *= 2;
6281
6282                                 b->yy_ch_buf = (char *)
6283                                         /* Include room in for 2 EOB chars. */
6284                                         yy_flex_realloc( (void *) b->yy_ch_buf,
6285                                                          b->yy_buf_size + 2 );
6286                                 }
6287                         else
6288                                 /* Can't grow it, we don't own it. */
6289                                 b->yy_ch_buf = 0;
6290
6291                         if ( ! b->yy_ch_buf )
6292                                 YY_FATAL_ERROR(
6293                                 "fatal error - scanner input buffer overflow" );
6294
6295                         yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
6296
6297                         num_to_read = yy_current_buffer->yy_buf_size -
6298                                                 number_to_move - 1;
6299 #endif
6300                         }
6301
6302                 if ( num_to_read > YY_READ_BUF_SIZE )
6303                         num_to_read = YY_READ_BUF_SIZE;
6304
6305                 /* Read in more data. */
6306                 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
6307                         yy_n_chars, num_to_read );
6308
6309                 yy_current_buffer->yy_n_chars = yy_n_chars;
6310                 }
6311
6312         if ( yy_n_chars == 0 )
6313                 {
6314                 if ( number_to_move == YY_MORE_ADJ )
6315                         {
6316                         ret_val = EOB_ACT_END_OF_FILE;
6317                         yyrestart( yyin );
6318                         }
6319
6320                 else
6321                         {
6322                         ret_val = EOB_ACT_LAST_MATCH;
6323                         yy_current_buffer->yy_buffer_status =
6324                                 YY_BUFFER_EOF_PENDING;
6325                         }
6326                 }
6327
6328         else
6329                 ret_val = EOB_ACT_CONTINUE_SCAN;
6330
6331         yy_n_chars += number_to_move;
6332         yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
6333         yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
6334
6335         yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
6336
6337         return ret_val;
6338         }
6339
6340
6341 /* yy_get_previous_state - get the state just before the EOB char was reached */
6342
6343 static yy_state_type yy_get_previous_state()
6344         {
6345         register yy_state_type yy_current_state;
6346         register char *yy_cp;
6347
6348         yy_current_state = yy_start;
6349
6350         for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
6351                 {
6352                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6353                 if ( yy_accept[yy_current_state] )
6354                         {
6355                         yy_last_accepting_state = yy_current_state;
6356                         yy_last_accepting_cpos = yy_cp;
6357                         }
6358                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6359                         {
6360                         yy_current_state = (int) yy_def[yy_current_state];
6361                         if ( yy_current_state >= 2490 )
6362                                 yy_c = yy_meta[(unsigned int) yy_c];
6363                         }
6364                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6365                 }
6366
6367         return yy_current_state;
6368         }
6369
6370
6371 /* yy_try_NUL_trans - try to make a transition on the NUL character
6372  *
6373  * synopsis
6374  *      next_state = yy_try_NUL_trans( current_state );
6375  */
6376
6377 #ifdef YY_USE_PROTOS
6378 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
6379 #else
6380 static yy_state_type yy_try_NUL_trans( yy_current_state )
6381 yy_state_type yy_current_state;
6382 #endif
6383         {
6384         register int yy_is_jam;
6385         register char *yy_cp = yy_c_buf_p;
6386
6387         register YY_CHAR yy_c = 1;
6388         if ( yy_accept[yy_current_state] )
6389                 {
6390                 yy_last_accepting_state = yy_current_state;
6391                 yy_last_accepting_cpos = yy_cp;
6392                 }
6393         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6394                 {
6395                 yy_current_state = (int) yy_def[yy_current_state];
6396                 if ( yy_current_state >= 2490 )
6397                         yy_c = yy_meta[(unsigned int) yy_c];
6398                 }
6399         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6400         yy_is_jam = (yy_current_state == 2489);
6401
6402         return yy_is_jam ? 0 : yy_current_state;
6403         }
6404
6405
6406 #ifndef YY_NO_UNPUT
6407 #ifdef YY_USE_PROTOS
6408 static void yyunput( int c, register char *yy_bp )
6409 #else
6410 static void yyunput( c, yy_bp )
6411 int c;
6412 register char *yy_bp;
6413 #endif
6414         {
6415         register char *yy_cp = yy_c_buf_p;
6416
6417         /* undo effects of setting up yytext */
6418         *yy_cp = yy_hold_char;
6419
6420         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
6421                 { /* need to shift things up to make room */
6422                 /* +2 for EOB chars. */
6423                 register int number_to_move = yy_n_chars + 2;
6424                 register char *dest = &yy_current_buffer->yy_ch_buf[
6425                                         yy_current_buffer->yy_buf_size + 2];
6426                 register char *source =
6427                                 &yy_current_buffer->yy_ch_buf[number_to_move];
6428
6429                 while ( source > yy_current_buffer->yy_ch_buf )
6430                         *--dest = *--source;
6431
6432                 yy_cp += (int) (dest - source);
6433                 yy_bp += (int) (dest - source);
6434                 yy_current_buffer->yy_n_chars =
6435                         yy_n_chars = yy_current_buffer->yy_buf_size;
6436
6437                 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
6438                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
6439                 }
6440
6441         *--yy_cp = (char) c;
6442
6443
6444         yytext_ptr = yy_bp;
6445         yy_hold_char = *yy_cp;
6446         yy_c_buf_p = yy_cp;
6447         }
6448 #endif  /* ifndef YY_NO_UNPUT */
6449
6450
6451 #ifdef __cplusplus
6452 static int yyinput()
6453 #else
6454 static int input()
6455 #endif
6456         {
6457         int c;
6458
6459         *yy_c_buf_p = yy_hold_char;
6460
6461         if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
6462                 {
6463                 /* yy_c_buf_p now points to the character we want to return.
6464                  * If this occurs *before* the EOB characters, then it's a
6465                  * valid NUL; if not, then we've hit the end of the buffer.
6466                  */
6467                 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
6468                         /* This was really a NUL. */
6469                         *yy_c_buf_p = '\0';
6470
6471                 else
6472                         { /* need more input */
6473                         int offset = yy_c_buf_p - yytext_ptr;
6474                         ++yy_c_buf_p;
6475
6476                         switch ( yy_get_next_buffer() )
6477                                 {
6478                                 case EOB_ACT_LAST_MATCH:
6479                                         /* This happens because yy_g_n_b()
6480                                          * sees that we've accumulated a
6481                                          * token and flags that we need to
6482                                          * try matching the token before
6483                                          * proceeding.  But for input(),
6484                                          * there's no matching to consider.
6485                                          * So convert the EOB_ACT_LAST_MATCH
6486                                          * to EOB_ACT_END_OF_FILE.
6487                                          */
6488
6489                                         /* Reset buffer status. */
6490                                         yyrestart( yyin );
6491
6492                                         /* fall through */
6493
6494                                 case EOB_ACT_END_OF_FILE:
6495                                         {
6496                                         if ( yywrap() )
6497                                                 return EOF;
6498
6499                                         if ( ! yy_did_buffer_switch_on_eof )
6500                                                 YY_NEW_FILE;
6501 #ifdef __cplusplus
6502                                         return yyinput();
6503 #else
6504                                         return input();
6505 #endif
6506                                         }
6507
6508                                 case EOB_ACT_CONTINUE_SCAN:
6509                                         yy_c_buf_p = yytext_ptr + offset;
6510                                         break;
6511                                 }
6512                         }
6513                 }
6514
6515         c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
6516         *yy_c_buf_p = '\0';     /* preserve yytext */
6517         yy_hold_char = *++yy_c_buf_p;
6518
6519
6520         return c;
6521         }
6522
6523
6524 #ifdef YY_USE_PROTOS
6525 void yyrestart( FILE *input_file )
6526 #else
6527 void yyrestart( input_file )
6528 FILE *input_file;
6529 #endif
6530         {
6531         if ( ! yy_current_buffer )
6532                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
6533
6534         yy_init_buffer( yy_current_buffer, input_file );
6535         yy_load_buffer_state();
6536         }
6537
6538
6539 #ifdef YY_USE_PROTOS
6540 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
6541 #else
6542 void yy_switch_to_buffer( new_buffer )
6543 YY_BUFFER_STATE new_buffer;
6544 #endif
6545         {
6546         if ( yy_current_buffer == new_buffer )
6547                 return;
6548
6549         if ( yy_current_buffer )
6550                 {
6551                 /* Flush out information for old buffer. */
6552                 *yy_c_buf_p = yy_hold_char;
6553                 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
6554                 yy_current_buffer->yy_n_chars = yy_n_chars;
6555                 }
6556
6557         yy_current_buffer = new_buffer;
6558         yy_load_buffer_state();
6559
6560         /* We don't actually know whether we did this switch during
6561          * EOF (yywrap()) processing, but the only time this flag
6562          * is looked at is after yywrap() is called, so it's safe
6563          * to go ahead and always set it.
6564          */
6565         yy_did_buffer_switch_on_eof = 1;
6566         }
6567
6568
6569 #ifdef YY_USE_PROTOS
6570 void yy_load_buffer_state( void )
6571 #else
6572 void yy_load_buffer_state()
6573 #endif
6574         {
6575         yy_n_chars = yy_current_buffer->yy_n_chars;
6576         yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
6577         yyin = yy_current_buffer->yy_input_file;
6578         yy_hold_char = *yy_c_buf_p;
6579         }
6580
6581
6582 #ifdef YY_USE_PROTOS
6583 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
6584 #else
6585 YY_BUFFER_STATE yy_create_buffer( file, size )
6586 FILE *file;
6587 int size;
6588 #endif
6589         {
6590         YY_BUFFER_STATE b;
6591
6592         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
6593         if ( ! b )
6594                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6595
6596         b->yy_buf_size = size;
6597
6598         /* yy_ch_buf has to be 2 characters longer than the size given because
6599          * we need to put in 2 end-of-buffer characters.
6600          */
6601         b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
6602         if ( ! b->yy_ch_buf )
6603                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
6604
6605         b->yy_is_our_buffer = 1;
6606
6607         yy_init_buffer( b, file );
6608
6609         return b;
6610         }
6611
6612
6613 #ifdef YY_USE_PROTOS
6614 void yy_delete_buffer( YY_BUFFER_STATE b )
6615 #else
6616 void yy_delete_buffer( b )
6617 YY_BUFFER_STATE b;
6618 #endif
6619         {
6620         if ( ! b )
6621                 return;
6622
6623         if ( b == yy_current_buffer )
6624                 yy_current_buffer = (YY_BUFFER_STATE) 0;
6625
6626         if ( b->yy_is_our_buffer )
6627                 yy_flex_free( (void *) b->yy_ch_buf );
6628
6629         yy_flex_free( (void *) b );
6630         }
6631
6632
6633 #ifndef _WIN32
6634 #include <unistd.h>
6635 #else
6636 #ifndef YY_ALWAYS_INTERACTIVE
6637 #ifndef YY_NEVER_INTERACTIVE
6638 extern int isatty YY_PROTO(( int ));
6639 #endif
6640 #endif
6641 #endif
6642
6643 #ifdef YY_USE_PROTOS
6644 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
6645 #else
6646 void yy_init_buffer( b, file )
6647 YY_BUFFER_STATE b;
6648 FILE *file;
6649 #endif
6650
6651
6652         {
6653         yy_flush_buffer( b );
6654
6655         b->yy_input_file = file;
6656         b->yy_fill_buffer = 1;
6657
6658 #if YY_ALWAYS_INTERACTIVE
6659         b->yy_is_interactive = 1;
6660 #else
6661 #if YY_NEVER_INTERACTIVE
6662         b->yy_is_interactive = 0;
6663 #else
6664         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6665 #endif
6666 #endif
6667         }
6668
6669
6670 #ifdef YY_USE_PROTOS
6671 void yy_flush_buffer( YY_BUFFER_STATE b )
6672 #else
6673 void yy_flush_buffer( b )
6674 YY_BUFFER_STATE b;
6675 #endif
6676
6677         {
6678         if ( ! b )
6679                 return;
6680
6681         b->yy_n_chars = 0;
6682
6683         /* We always need two end-of-buffer characters.  The first causes
6684          * a transition to the end-of-buffer state.  The second causes
6685          * a jam in that state.
6686          */
6687         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6688         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6689
6690         b->yy_buf_pos = &b->yy_ch_buf[0];
6691
6692         b->yy_at_bol = 1;
6693         b->yy_buffer_status = YY_BUFFER_NEW;
6694
6695         if ( b == yy_current_buffer )
6696                 yy_load_buffer_state();
6697         }
6698
6699
6700 #ifndef YY_NO_SCAN_BUFFER
6701 #ifdef YY_USE_PROTOS
6702 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
6703 #else
6704 YY_BUFFER_STATE yy_scan_buffer( base, size )
6705 char *base;
6706 yy_size_t size;
6707 #endif
6708         {
6709         YY_BUFFER_STATE b;
6710
6711         if ( size < 2 ||
6712              base[size-2] != YY_END_OF_BUFFER_CHAR ||
6713              base[size-1] != YY_END_OF_BUFFER_CHAR )
6714                 /* They forgot to leave room for the EOB's. */
6715                 return 0;
6716
6717         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
6718         if ( ! b )
6719                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
6720
6721         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
6722         b->yy_buf_pos = b->yy_ch_buf = base;
6723         b->yy_is_our_buffer = 0;
6724         b->yy_input_file = 0;
6725         b->yy_n_chars = b->yy_buf_size;
6726         b->yy_is_interactive = 0;
6727         b->yy_at_bol = 1;
6728         b->yy_fill_buffer = 0;
6729         b->yy_buffer_status = YY_BUFFER_NEW;
6730
6731         yy_switch_to_buffer( b );
6732
6733         return b;
6734         }
6735 #endif
6736
6737
6738 #ifndef YY_NO_SCAN_STRING
6739 #ifdef YY_USE_PROTOS
6740 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
6741 #else
6742 YY_BUFFER_STATE yy_scan_string( yy_str )
6743 yyconst char *yy_str;
6744 #endif
6745         {
6746         int len;
6747         for ( len = 0; yy_str[len]; ++len )
6748                 ;
6749
6750         return yy_scan_bytes( yy_str, len );
6751         }
6752 #endif
6753
6754
6755 #ifndef YY_NO_SCAN_BYTES
6756 #ifdef YY_USE_PROTOS
6757 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
6758 #else
6759 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
6760 yyconst char *bytes;
6761 int len;
6762 #endif
6763         {
6764         YY_BUFFER_STATE b;
6765         char *buf;
6766         yy_size_t n;
6767         int i;
6768
6769         /* Get memory for full buffer, including space for trailing EOB's. */
6770         n = len + 2;
6771         buf = (char *) yy_flex_alloc( n );
6772         if ( ! buf )
6773                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
6774
6775         for ( i = 0; i < len; ++i )
6776                 buf[i] = bytes[i];
6777
6778         buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
6779
6780         b = yy_scan_buffer( buf, n );
6781         if ( ! b )
6782                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
6783
6784         /* It's okay to grow etc. this buffer, and we should throw it
6785          * away when we're done.
6786          */
6787         b->yy_is_our_buffer = 1;
6788
6789         return b;
6790         }
6791 #endif
6792
6793
6794 #ifndef YY_NO_PUSH_STATE
6795 #ifdef YY_USE_PROTOS
6796 static void yy_push_state( int new_state )
6797 #else
6798 static void yy_push_state( new_state )
6799 int new_state;
6800 #endif
6801         {
6802         if ( yy_start_stack_ptr >= yy_start_stack_depth )
6803                 {
6804                 yy_size_t new_size;
6805
6806                 yy_start_stack_depth += YY_START_STACK_INCR;
6807                 new_size = yy_start_stack_depth * sizeof( int );
6808
6809                 if ( ! yy_start_stack )
6810                         yy_start_stack = (int *) yy_flex_alloc( new_size );
6811
6812                 else
6813                         yy_start_stack = (int *) yy_flex_realloc(
6814                                         (void *) yy_start_stack, new_size );
6815
6816                 if ( ! yy_start_stack )
6817                         YY_FATAL_ERROR(
6818                         "out of memory expanding start-condition stack" );
6819                 }
6820
6821         yy_start_stack[yy_start_stack_ptr++] = YY_START;
6822
6823         BEGIN(new_state);
6824         }
6825 #endif
6826
6827
6828 #ifndef YY_NO_POP_STATE
6829 static void yy_pop_state()
6830         {
6831         if ( --yy_start_stack_ptr < 0 )
6832                 YY_FATAL_ERROR( "start-condition stack underflow" );
6833
6834         BEGIN(yy_start_stack[yy_start_stack_ptr]);
6835         }
6836 #endif
6837
6838
6839 #ifndef YY_NO_TOP_STATE
6840 static int yy_top_state()
6841         {
6842         return yy_start_stack[yy_start_stack_ptr - 1];
6843         }
6844 #endif
6845
6846 #ifndef YY_EXIT_FAILURE
6847 #define YY_EXIT_FAILURE 2
6848 #endif
6849
6850 #ifdef YY_USE_PROTOS
6851 static void yy_fatal_error( yyconst char msg[] )
6852 #else
6853 static void yy_fatal_error( msg )
6854 char msg[];
6855 #endif
6856         {
6857         (void) fprintf( stderr, "%s\n", msg );
6858         exit( YY_EXIT_FAILURE );
6859         }
6860
6861
6862
6863 /* Redefine yyless() so it works in section 3 code. */
6864
6865 #undef yyless
6866 #define yyless(n) \
6867         do \
6868                 { \
6869                 /* Undo effects of setting up yytext. */ \
6870                 yytext[yyleng] = yy_hold_char; \
6871                 yy_c_buf_p = yytext + n; \
6872                 yy_hold_char = *yy_c_buf_p; \
6873                 *yy_c_buf_p = '\0'; \
6874                 yyleng = n; \
6875                 } \
6876         while ( 0 )
6877
6878
6879 /* Internal utility routines. */
6880
6881 #ifndef yytext_ptr
6882 #ifdef YY_USE_PROTOS
6883 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
6884 #else
6885 static void yy_flex_strncpy( s1, s2, n )
6886 char *s1;
6887 yyconst char *s2;
6888 int n;
6889 #endif
6890         {
6891         register int i;
6892         for ( i = 0; i < n; ++i )
6893                 s1[i] = s2[i];
6894         }
6895 #endif
6896
6897 #ifdef YY_NEED_STRLEN
6898 #ifdef YY_USE_PROTOS
6899 static int yy_flex_strlen( yyconst char *s )
6900 #else
6901 static int yy_flex_strlen( s )
6902 yyconst char *s;
6903 #endif
6904         {
6905         register int n;
6906         for ( n = 0; s[n]; ++n )
6907                 ;
6908
6909         return n;
6910         }
6911 #endif
6912
6913
6914 #ifdef YY_USE_PROTOS
6915 static void *yy_flex_alloc( yy_size_t size )
6916 #else
6917 static void *yy_flex_alloc( size )
6918 yy_size_t size;
6919 #endif
6920         {
6921         return (void *) malloc( size );
6922         }
6923
6924 #ifdef YY_USE_PROTOS
6925 static void *yy_flex_realloc( void *ptr, yy_size_t size )
6926 #else
6927 static void *yy_flex_realloc( ptr, size )
6928 void *ptr;
6929 yy_size_t size;
6930 #endif
6931         {
6932         /* The cast to (char *) in the following accommodates both
6933          * implementations that use char* generic pointers, and those
6934          * that use void* generic pointers.  It works with the latter
6935          * because both ANSI C and C++ allow castless assignment from
6936          * any pointer type to void*, and deal with argument conversions
6937          * as though doing an assignment.
6938          */
6939         return (void *) realloc( (char *) ptr, size );
6940         }
6941
6942 #ifdef YY_USE_PROTOS
6943 static void yy_flex_free( void *ptr )
6944 #else
6945 static void yy_flex_free( ptr )
6946 void *ptr;
6947 #endif
6948         {
6949         free( ptr );
6950         }
6951
6952 #if YY_MAIN
6953 int main()
6954         {
6955         yylex();
6956         return 0;
6957         }
6958 #endif
6959
6960
6961 /* Element context stack lookup. */
6962 int element_context(int i)
6963 {
6964   return (0<i && i<yy_start_stack_depth
6965           ? yy_start_stack[yy_start_stack_ptr - i]
6966           : 0);
6967 }
6968
6969 #ifdef FLEX_DEBUG
6970 void print_yy_stack(char* fmt, ...)
6971 {
6972   int i = 0; va_list ap; va_start(ap, fmt);
6973   vfprintf(stderr, fmt, ap);
6974   for (i=1; i<yy_start_stack_ptr; i++)
6975     fprintf(stderr, "%s/", statenames[yy_start_stack[i]]);
6976   fprintf(stderr,"%s\n", statenames[YY_START]);
6977   va_end(ap);
6978 }
6979
6980 static void debug_enter(int state, char* statename) {
6981   yy_push_state(state);
6982   if (yy_flex_debug) print_yy_stack("--ENTER(%s) : ",statename);
6983 }
6984
6985 static void debug_leave(void) {
6986   if (yy_flex_debug) print_yy_stack("--LEAVE : ");
6987   yy_pop_state();
6988 }
6989
6990 static void debug_set(int state, char* statename) {
6991   BEGIN(state);
6992   if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
6993 }
6994 #endif
6995
6996
6997 static int fail(const char* fmt, ...)
6998 {
6999   va_list ap; va_start(ap, fmt);
7000 #ifdef FLEXML_yylineno
7001   fprintf(stderr, "Invalid XML (XML input line %d, state %d): ", yylineno, YY_START);
7002 #else
7003   fprintf(stderr, "Invalid XML (state %d): ",YY_START);
7004 #endif
7005   vfprintf(stderr, fmt, ap);
7006   fprintf(stderr, "\n");
7007   va_end(ap);
7008   return 1;
7009 }