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