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