Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
61713f6aba585c8de6862fc55a7327f04dfdf9d7
[simgrid.git] / src / surf / simgrid_dtd.c
1
2 #line 3 "src/surf/simgrid_dtd.c"
3
4 #define  YY_INT_ALIGNED short int
5
6 /* A lexical scanner generated by flex */
7
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
26
27 #define FLEX_SCANNER
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
32 #define FLEX_BETA
33 #endif
34
35 /* First, we deal with  platform-specific or compiler-specific issues. */
36
37 /* begin standard C headers. */
38 #include <stdio.h>
39 #include <string.h>
40 #include <errno.h>
41 #include <stdlib.h>
42
43 /* end standard C headers. */
44
45 /* flex integer type definitions */
46
47 #ifndef FLEXINT_H
48 #define FLEXINT_H
49
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
51
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
53
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55  * if you want the limit (max/min) macros for int types. 
56  */
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
59 #endif
60
61 #include <inttypes.h>
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
68 #else
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t; 
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
75
76 /* Limits of integral types. */
77 #ifndef INT8_MIN
78 #define INT8_MIN               (-128)
79 #endif
80 #ifndef INT16_MIN
81 #define INT16_MIN              (-32767-1)
82 #endif
83 #ifndef INT32_MIN
84 #define INT32_MIN              (-2147483647-1)
85 #endif
86 #ifndef INT8_MAX
87 #define INT8_MAX               (127)
88 #endif
89 #ifndef INT16_MAX
90 #define INT16_MAX              (32767)
91 #endif
92 #ifndef INT32_MAX
93 #define INT32_MAX              (2147483647)
94 #endif
95 #ifndef UINT8_MAX
96 #define UINT8_MAX              (255U)
97 #endif
98 #ifndef UINT16_MAX
99 #define UINT16_MAX             (65535U)
100 #endif
101 #ifndef UINT32_MAX
102 #define UINT32_MAX             (4294967295U)
103 #endif
104
105 #endif /* ! C99 */
106
107 #endif /* ! FLEXINT_H */
108
109 #ifdef __cplusplus
110
111 /* The "const" storage-class-modifier is valid. */
112 #define YY_USE_CONST
113
114 #else   /* ! __cplusplus */
115
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
118
119 #define YY_USE_CONST
120
121 #endif  /* defined (__STDC__) */
122 #endif  /* ! __cplusplus */
123
124 #ifdef YY_USE_CONST
125 #define yyconst const
126 #else
127 #define yyconst
128 #endif
129
130 /* Returned upon end-of-file. */
131 #define YY_NULL 0
132
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134  * integer for use as an array index.  If the signed char is negative,
135  * we want to instead treat it as an 8-bit unsigned char, hence the
136  * double cast.
137  */
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139
140 /* Enter a start condition.  This macro really ought to take a parameter,
141  * but we do it the disgusting crufty way forced on us by the ()-less
142  * definition of BEGIN.
143  */
144 #define BEGIN (yy_start) = 1 + 2 *
145
146 /* Translate the current start state into a value that can be later handed
147  * to BEGIN to return to the state.  The YYSTATE alias is for lex
148  * compatibility.
149  */
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
152
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in  )
158
159 #define YY_END_OF_BUFFER_CHAR 0
160
161 /* Size of default input buffer. */
162 #ifndef YY_BUF_SIZE
163 #ifdef __ia64__
164 /* On IA-64, the buffer size is 16k, not 8k.
165  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166  * Ditto for the __ia64__ case accordingly.
167  */
168 #define YY_BUF_SIZE 32768
169 #else
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
172 #endif
173
174 /* The state buf must be large enough to hold one state per character in the main buffer.
175  */
176 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
177
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
181 #endif
182
183 extern int surf_parse_leng;
184
185 extern FILE *surf_parse_in, *surf_parse_out;
186
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
190
191     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192      *       access to the local variable yy_act. Since yyless() is a macro, it would break
193      *       existing scanners that call yyless() from OUTSIDE surf_parse_lex. 
194      *       One obvious solution it to make yy_act a global. I tried that, and saw
195      *       a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196      *       normally declared as a register variable-- so it is not worth it.
197      */
198     #define  YY_LESS_LINENO(n) \
199             do { \
200                 int yyl;\
201                 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202                     if ( surf_parse_text[yyl] == '\n' )\
203                         --surf_parse_lineno;\
204             }while(0)
205     
206 /* Return all but the first "n" matched characters back to the input stream. */
207 #define yyless(n) \
208         do \
209                 { \
210                 /* Undo effects of setting up surf_parse_text. */ \
211         int yyless_macro_arg = (n); \
212         YY_LESS_LINENO(yyless_macro_arg);\
213                 *yy_cp = (yy_hold_char); \
214                 YY_RESTORE_YY_MORE_OFFSET \
215                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216                 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
217                 } \
218         while ( 0 )
219
220 #define unput(c) yyunput( c, (yytext_ptr)  )
221
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
225 #endif
226
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
230         {
231         FILE *yy_input_file;
232
233         char *yy_ch_buf;                /* input buffer */
234         char *yy_buf_pos;               /* current position in input buffer */
235
236         /* Size of input buffer in bytes, not including room for EOB
237          * characters.
238          */
239         yy_size_t yy_buf_size;
240
241         /* Number of characters read into yy_ch_buf, not including EOB
242          * characters.
243          */
244         int yy_n_chars;
245
246         /* Whether we "own" the buffer - i.e., we know we created it,
247          * and can realloc() it to grow it, and should free() it to
248          * delete it.
249          */
250         int yy_is_our_buffer;
251
252         /* Whether this is an "interactive" input source; if so, and
253          * if we're using stdio for input, then we want to use getc()
254          * instead of fread(), to make sure we stop fetching input after
255          * each newline.
256          */
257         int yy_is_interactive;
258
259         /* Whether we're considered to be at the beginning of a line.
260          * If so, '^' rules will be active on the next match, otherwise
261          * not.
262          */
263         int yy_at_bol;
264
265     int yy_bs_lineno; /**< The line count. */
266     int yy_bs_column; /**< The column count. */
267     
268         /* Whether to try to fill the input buffer when we reach the
269          * end of it.
270          */
271         int yy_fill_buffer;
272
273         int yy_buffer_status;
274
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277         /* When an EOF's been seen but there's still some text to process
278          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279          * shouldn't try reading from the input source any more.  We might
280          * still have a bunch of tokens to match, though, because of
281          * possible backing-up.
282          *
283          * When we actually see the EOF, we change the status to "new"
284          * (via surf_parse_restart()), so that the user can continue scanning by
285          * just pointing surf_parse_in at a new input file.
286          */
287 #define YY_BUFFER_EOF_PENDING 2
288
289         };
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
291
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
296
297 /* We provide macros for accessing buffer states in case in the
298  * future we want to put the buffer states in a more general
299  * "scanner state".
300  *
301  * Returns the top of the stack, or NULL.
302  */
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
305                           : NULL)
306
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308  * NULL or when we need an lvalue. For internal use only.
309  */
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
311
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
315 int surf_parse_leng;
316
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0;         /* whether we need to initialize */
320 static int yy_start = 0;        /* start state number */
321
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323  * instead of setting up a fresh surf_parse_in.  A bit of a hack ...
324  */
325 static int yy_did_buffer_switch_on_eof;
326
327 void surf_parse_restart (FILE *input_file  );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer  );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size  );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b  );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b  );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer  );
333 void surf_parse_pop_buffer_state (void );
334
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file  );
338
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
340
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size  );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str  );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len  );
344
345 void *surf_parse_alloc (yy_size_t  );
346 void *surf_parse_realloc (void *,yy_size_t  );
347 void surf_parse_free (void *  );
348
349 #define yy_new_buffer surf_parse__create_buffer
350
351 #define yy_set_interactive(is_interactive) \
352         { \
353         if ( ! YY_CURRENT_BUFFER ){ \
354         surf_parse_ensure_buffer_stack (); \
355                 YY_CURRENT_BUFFER_LVALUE =    \
356             surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
357         } \
358         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
359         }
360
361 #define yy_set_bol(at_bol) \
362         { \
363         if ( ! YY_CURRENT_BUFFER ){\
364         surf_parse_ensure_buffer_stack (); \
365                 YY_CURRENT_BUFFER_LVALUE =    \
366             surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
367         } \
368         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
369         }
370
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
372
373 /* Begin user sect3 */
374
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
377
378 typedef unsigned char YY_CHAR;
379
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
381
382 typedef int yy_state_type;
383
384 extern int surf_parse_lineno;
385
386 int surf_parse_lineno = 1;
387
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
390
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[]  );
395
396 /* Done after the current pattern has been matched and before the
397  * corresponding action - sets up surf_parse_text.
398  */
399 #define YY_DO_BEFORE_ACTION \
400         (yytext_ptr) = yy_bp; \
401         surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402         (yy_hold_char) = *yy_cp; \
403         *yy_cp = '\0'; \
404         (yy_c_buf_p) = yy_cp;
405
406 #define YY_NUM_RULES 324
407 #define YY_END_OF_BUFFER 325
408 /* This struct is not used in this scanner,
409    but its presence is necessary. */
410 struct yy_trans_info
411         {
412         flex_int32_t yy_verify;
413         flex_int32_t yy_nxt;
414         };
415 static yyconst flex_int16_t yy_accept[1857] =
416     {   0,
417         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
418         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
419         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
420         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
421         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
422         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
423         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
424         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
425         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
426         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
427
428         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
429         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
430         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
431         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
432         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
433         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
434         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
435         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
436         0,    0,    0,    0,    0,    0,  325,  323,   15,   10,
437        10,   15,   15,  303,   10,  303,    5,    6,    5,    8,
438
439         9,    8,  319,  311,  312,  320,  317,  320,  318,  322,
440       311,  312,  322,  323,   26,   10,   26,   26,   26,   24,
441        26,   26,   30,   10,   30,  323,   30,  323,  323,   30,
442        41,   10,   41,   41,   41,   39,   41,   41,   41,  320,
443       319,   63,   10,   63,   63,   63,   61,   63,   63,   63,
444        63,   67,   10,   67,  323,   67,   86,   10,   86,   86,
445        86,   84,   86,   86,   86,   90,   10,   90,   99,   10,
446        99,   99,   99,   97,   99,   99,  103,   10,  103,  103,
447       323,  103,  103,  323,  103,  323,  323,  103,  323,  103,
448       103,  323,  103,  132,   10,  132,  132,  132,  130,  132,
449
450       132,  132,  132,  132,  132,  136,   10,  136,  136,  159,
451        10,  159,  159,  159,  157,  159,  159,  159,  159,  159,
452       159,  163,   10,  163,  170,   10,  170,  170,  170,  168,
453       170,  174,   10,  174,  199,   10,  199,  199,  199,  197,
454       199,  199,  199,  199,  203,   10,  203,  203,  212,   10,
455       212,  212,  212,  210,  212,  212,  216,   10,  216,  323,
456       216,  229,   10,  229,  229,  229,  227,  229,  229,  229,
457       233,   10,  233,  233,  240,   10,  240,  240,  240,  238,
458       240,  244,   10,  244,  257,   10,  257,  257,  257,  255,
459       257,  257,  257,  261,   10,  261,  261,  274,   10,  274,
460
461       274,  274,  272,  274,  274,  274,  274,  278,   10,  278,
462       323,  278,  285,   10,  285,  285,  285,  283,  285,  289,
463        10,  289,  298,   10,  298,  298,  298,  296,  298,  298,
464       302,   10,  302,   10,    0,    2,    2,    0,    4,    7,
465       314,  313,    0,    0,    0,    0,    0,    0,    0,   25,
466        27,   27,   27,    0,    0,    0,    0,    0,    0,    0,
467         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
468         0,    0,    0,    0,   40,   42,   42,   42,   42,    0,
469         0,    0,   62,   64,   64,   64,   64,   64,   64,   64,
470         0,    0,   85,   87,   87,   87,   87,    0,   98,  100,
471
472       100,  100,    0,    0,    0,    0,    0,    0,  131,  133,
473       133,  133,  133,  133,  133,  133,  133,    0,  158,  160,
474       160,  160,  160,  160,  160,  160,  160,  160,    0,  169,
475       171,  171,    0,  198,  200,  200,  200,  200,  200,  200,
476         0,  211,  213,  213,  213,    0,    0,  228,  230,  230,
477       230,  230,    0,  239,  241,  241,    0,  256,  258,  258,
478       258,  258,    0,  273,  275,  275,  275,  275,  275,    0,
479         0,  284,  286,  286,    0,  297,  299,  299,  299,    0,
480         0,    0,    0,    0,    3,    0,    0,    0,    0,    0,
481         0,    0,  321,    0,   27,   27,    0,    0,   92,    0,
482
483         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
484         0,    0,    0,   91,    0,    0,    0,    0,    0,    0,
485        42,    0,    0,   42,    0,    0,    0,  316,   64,    0,
486         0,   64,   64,   64,   64,    0,    0,    0,   87,   87,
487        87,    0,    0,    0,    0,  100,    0,    0,   92,    0,
488        91,  133,    0,    0,  133,  133,  133,  133,  133,    0,
489         0,  160,    0,    0,    0,    0,  160,  160,  160,  160,
490       160,    0,    0,    0,    0,    0,    0,  200,    0,    0,
491       200,  200,  200,    0,    0,  213,  213,    0,    0,    0,
492       230,  230,  230,    0,    0,    0,    0,    0,    0,  258,
493
494       258,  258,    0,    0,  275,  275,  275,  275,    0,    0,
495         0,  286,    0,    0,    0,    0,  299,    0,    0,    0,
496        14,    1,    0,    0,  309,    0,    0,    0,  306,  305,
497         0,    0,   27,   27,    0,    0,   29,    0,   92,    0,
498         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
499         0,    0,    0,    0,   91,    0,    0,    0,    0,    0,
500         0,   42,    0,   34,   33,   42,    0,    0,    0,   44,
501         0,   64,    0,   48,   47,    0,    0,   64,    0,    0,
502        64,    0,    0,   66,    0,    0,   87,   87,   87,    0,
503         0,   89,    0,    0,   94,   93,  100,    0,    0,  102,
504
505         0,    0,    0,  133,    0,  107,  106,  133,  133,  133,
506       133,  133,    0,    0,  135,    0,  160,  160,    0,  150,
507       149,    0,  140,  139,    0,    0,  160,  160,  160,  160,
508         0,    0,  162,    0,    0,  167,  166,    0,    0,  173,
509         0,  200,    0,  178,  177,  200,  200,  200,    0,    0,
510       202,    0,    0,    0,    0,    0,    0,    0,  215,    0,
511         0,    0,    0,  230,  230,    0,    0,    0,    0,  232,
512         0,    0,  237,  236,    0,    0,  243,    0,    0,    0,
513       258,  258,    0,    0,    0,    0,  260,    0,  275,  275,
514       275,  275,    0,    0,  277,    0,    0,  286,    0,    0,
515
516       288,    0,    0,  293,  292,  299,    0,    0,  301,    0,
517         0,    0,  310,  304,    0,    0,    0,   27,   27,    0,
518         0,    0,    0,    0,  105,  176,    0,    0,  290,    0,
519         0,    0,  104,  175,    0,    0,    0,    0,    0,    0,
520         0,    0,    0,    0,   42,    0,    0,   64,    0,   52,
521        51,    0,    0,    0,   50,   49,   64,    0,  291,   87,
522         0,    0,   87,    0,  100,    0,  101,    0,    0,  133,
523       133,  133,  133,  133,  133,    0,  160,  160,    0,  152,
524       151,  160,  160,  160,  160,    0,    0,  200,  200,  200,
525       200,    0,    0,  209,  208,    0,  207,  206,    0,  175,
526
527         0,  222,  221,  230,  230,    0,  220,  219,    0,    0,
528         0,  250,  249,  258,  258,    0,  248,  247,    0,  275,
529         0,    0,  275,  275,    0,    0,  286,    0,  299,    0,
530         0,    0,    0,   12,    0,  307,  308,    0,   27,   27,
531         0,    0,    0,    0,    0,  105,  176,    0,    0,    0,
532       290,    0,  205,   32,  104,  175,    0,  204,    0,    0,
533       205,   31,  204,   31,    0,   36,   35,   42,    0,    0,
534        64,    0,   54,   53,   64,    0,  291,   87,    0,    0,
535         0,    0,    0,    0,  100,    0,    0,  133,  133,  133,
536         0,    0,    0,    0,  133,  133,    0,    0,    0,  160,
537
538         0,    0,  160,  160,  160,    0,    0,  200,  200,  200,
539         0,    0,  200,    0,    0,    0,  230,  230,    0,    0,
540       258,  258,    0,  275,    0,  265,  264,  275,  275,    0,
541         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
542        11,    0,   27,   27,   27,    0,    0,    0,    0,    0,
543         0,    0,    0,   46,  205,  165,   32,    0,    0,  204,
544       164,    0,   45,   31,    0,   42,    0,    0,   64,   64,
545         0,   87,    0,    0,    0,    0,    0,    0,    0,    0,
546         0,   81,   80,    0,  100,    0,    0,  133,  133,  133,
547         0,  109,  108,    0,    0,    0,  133,  133,    0,  134,
548
549         0,  154,  153,    0,    0,    0,  148,  147,    0,    0,
550       160,    0,    0,    0,    0,  200,  200,  200,    0,    0,
551         0,  200,    0,  201,    0,    0,    0,    0,    0,    0,
552         0,    0,    0,    0,    0,    0,    0,  275,  275,  275,
553         0,    0,    0,  282,  281,    0,    0,  295,  294,    0,
554       300,    0,    0,    0,    0,    0,    0,   27,   27,    0,
555       217,    0,    0,  138,    0,    0,  263,   46,  165,    0,
556       262,  164,  137,   45,    0,   42,    0,    0,   43,   64,
557        64,    0,    0,    0,    0,    0,    0,    0,    0,    0,
558         0,    0,    0,    0,    0,    0,    0,  218,    0,  133,
559
560       133,  133,    0,    0,  133,    0,    0,    0,  156,  155,
561         0,  142,  141,    0,    0,    0,  144,  143,    0,    0,
562       200,    0,    0,  200,  200,    0,    0,  200,    0,  214,
563         0,    0,  226,  225,    0,  224,  223,    0,    0,    0,
564       254,  253,    0,  252,  251,    0,  275,  275,  275,    0,
565         0,    0,    0,    0,    0,   17,    0,   19,   18,   27,
566        27,    0,  217,  279,    0,  138,  234,   16,  263,    0,
567       262,  137,    0,   42,  315,   64,   64,    0,   65,    0,
568        83,   82,    0,    0,    0,    0,    0,    0,    0,    0,
569         0,    0,    0,    0,   96,   95,  218,    0,  133,  133,
570
571       133,    0,    0,    0,    0,  133,    0,  129,  128,    0,
572       146,  145,    0,    0,  172,  200,    0,  184,  183,  200,
573       200,    0,    0,    0,    0,  200,  235,    0,    0,    0,
574         0,    0,  275,  275,    0,  280,    0,    0,    0,    0,
575        17,   27,   27,    0,  279,    0,  234,   16,    0,    0,
576        42,    0,    0,   64,    0,    0,    0,    0,    0,    0,
577         0,    0,    0,    0,    0,    0,  133,  133,  133,    0,
578       115,    0,  114,  133,    0,  161,    0,    0,  200,  200,
579       200,    0,  188,    0,  187,  200,  235,    0,  231,    0,
580         0,    0,  267,  266,    0,    0,  275,    0,  276,  280,
581
582         0,    0,    0,    0,    0,    0,   27,    0,   28,    0,
583         0,    0,   42,    0,    0,    0,   64,    0,    0,    0,
584         0,    0,    0,    0,    0,    0,    0,    0,    0,  133,
585       133,  133,  117,  116,    0,    0,    0,  180,  179,  200,
586       200,  200,  190,  189,    0,    0,    0,  242,    0,    0,
587       271,  270,    0,    0,    0,  287,    0,    0,    0,    0,
588        21,   20,    0,    0,  245,    0,    0,    0,    0,    0,
589         0,    0,    0,   64,    0,    0,    0,    0,   73,    0,
590         0,    0,    0,   72,    0,  246,  133,  133,  133,    0,
591       119,  118,  200,  200,  200,    0,  192,  191,    0,    0,
592
593       269,  268,    0,    0,    0,    0,   23,   22,  245,    0,
594         0,    0,   38,   37,    0,    0,    0,    0,   64,    0,
595         0,    0,    0,    0,    0,    0,    0,    0,  246,    0,
596         0,  133,  133,  133,  200,    0,    0,  200,    0,    0,
597         0,    0,    0,   69,   68,    0,    0,    0,    0,    0,
598         0,    0,    0,   79,    0,    0,    0,   78,    0,    0,
599         0,  111,  110,  133,  133,  133,  133,  200,    0,  186,
600       185,  200,    0,  259,    0,    0,    0,    0,    0,    0,
601        69,   68,    0,    0,    0,    0,    0,   56,   55,    0,
602         0,    0,    0,    0,    0,    0,  133,  133,  133,  133,
603
604         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
605         0,   60,    0,   59,   77,    0,    0,   76,    0,    0,
606         0,   88,  133,  133,  133,  133,    0,  182,  181,    0,
607         0,    0,    0,    0,    0,   12,    0,   12,    0,    0,
608         0,   71,   75,   70,   74,  133,  133,  133,  133,    0,
609         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
610         0,    0,    0,    0,    0,    0,  133,    0,    0,    0,
611         0,    0,    0,    0,    0,   58,   57,    0,  113,  112,
612         0,  123,  122,    0,  121,  120,  133,    0,  127,  126,
613         0,    0,    0,    0,    0,   11,  133,    0,    0,    0,
614
615         0,    0,  133,    0,    0,    0,    0,    0,  133,    0,
616         0,    0,    0,    0,    0,    0,    0,  194,    0,  193,
617         0,    0,  125,  124,  196,  195,    0,    0,    0,    0,
618         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
619         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
620         0,    0,    0,    0,   13,    0
621     } ;
622
623 static yyconst flex_int32_t yy_ec[256] =
624     {   0,
625         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
626         1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
627         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
628         1,    2,    5,    6,    7,    1,    1,    8,    9,    1,
629         1,    1,    1,    1,   10,   11,   12,   13,   13,   13,
630        13,   14,   13,   13,   13,   15,   13,   16,   17,   18,
631        19,   20,   21,    1,   22,   23,   24,   25,   26,   27,
632        28,   29,   30,   28,   31,   32,   33,   34,   35,   36,
633        28,   37,   38,   39,   28,   40,   41,   28,   42,   28,
634        43,    1,   44,    1,   45,    1,   46,   47,   48,   49,
635
636        50,   51,   52,   53,   54,   28,   55,   56,   57,   58,
637        59,   60,   61,   62,   63,   64,   65,   66,   67,   68,
638        69,   28,    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,    1,    1,    1,    1,    1,
641         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
642         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
643         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
644         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
645         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
646
647         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
648         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
649         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
650         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
651         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
652         1,    1,    1,    1,    1
653     } ;
654
655 static yyconst flex_int32_t yy_meta[70] =
656     {   0,
657         1,    2,    2,    2,    1,    1,    1,    1,    1,    3,
658         3,    1,    4,    4,    4,    5,    6,    1,    7,    8,
659         1,    9,    9,    9,    9,    9,    9,    5,    5,    5,
660         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
661         5,    5,    1,    1,    5,    9,    9,    9,    9,    9,
662         9,    5,    5,    5,    5,    5,    5,    5,    5,    5,
663         5,    5,    5,    5,    5,    5,    5,    5,    5
664     } ;
665
666 static yyconst flex_int16_t yy_base[2059] =
667     {   0,
668         0,    0,    0,    3,    6,    9,   12,   29,   16,   19,
669        14,   17,   33,   36,   49,   55,   45,   61,   66,   72,
670       105,  173,   75,   78,   83,  125,  128,  132,  135,  138,
671       193,  196,  200,  203,  206,  224,  227,  230,  233,  250,
672       253,  256,  274,  334,  306,  312,  394,  457,  294,  301,
673       304,  355,  358,  361,  364,  368,  520,  584,  414,  417,
674       648,  710,  421,  424,  427,  477,  480,  484,  487,  490,
675       540,  543,  547,  550,  553,  604,  607,  611,  614,  617,
676       668,  671,  675,  678,  681,  730,  733,  737,  740,  743,
677       763,  766,  771,  774,  783,  791,  794,  800,  803,  811,
678
679       820,  823,  828,  831,  849,    0,  917,  920,  923,  926,
680       929,  946,  949,  952,  970,    0, 1038, 1041, 1059, 1113,
681      1079, 1082, 1167, 1230, 1086, 1089, 1092, 1133, 1136, 1140,
682      1143, 1146, 1293, 1356, 1187, 1190, 1194, 1197, 1200, 1250,
683      1253, 1257, 1419, 1482, 1260, 1263, 1313, 1316, 1320, 1323,
684      1326, 1376, 1545, 1599, 1379, 1383, 1653, 1716, 1386, 1389,
685      1439, 1442, 1446, 1449, 1452, 1502, 1779, 1842, 1505, 1509,
686      1512, 1515, 1565, 1568, 1572, 1575, 1905, 1971, 1578, 1619,
687      2037, 2103, 1622, 1626,    0,    0, 4590, 6550, 6550,   95,
688       100,   29,   41, 6550,  155,   51, 6550, 6550, 4569, 6550,
689
690      6550, 4558, 6550, 4568, 4564, 1629, 6550, 6550, 6550, 6550,
691      4561, 4558, 4515,  241, 6550,  158, 4528,    0,  142, 6550,
692      4497, 4488, 6550,  162, 2165,  210,  388,  207, 4528,  108,
693      6550,  329, 4519,    0,  146, 6550, 4483, 4486, 4484,  369,
694      4483, 6550,  389, 4489,    0,  244, 6550, 4458, 4457,  453,
695      4434, 6550,  451,   11,   31, 4482, 6550,  513, 4472,    0,
696       306, 6550, 4435, 4427, 4418, 6550,  570,  428, 6550,  574,
697      4450,    0,  308, 6550, 4420, 4399, 6550,  577, 1629,  642,
698       133,   30, 4408,  121,   13,  132,  200,  500,  451,  191,
699      4397,  213, 4432, 6550,  634, 4419,    0,  561, 6550, 4372,
700
701       215, 4390, 4368, 4362, 4367, 6550,  638,  309, 4408, 6550,
702       641, 4394,    0,  562, 6550,  173, 4360, 4362,  240, 4352,
703      4332, 6550,  703,  682, 6550,  840, 4375,    0,  625, 6550,
704      4338, 6550,  955,  778, 6550,  958, 4366,    0,  626, 6550,
705      4337, 4333, 4334,  432, 6550, 1044,  678, 4367, 6550, 1047,
706      4357,    0,  758, 6550, 4302, 4302, 6550, 1050,  696,  744,
707      4350, 6550, 1222, 4334,    0,  815, 6550, 4290, 4280, 4283,
708      6550, 1225, 1043, 4331, 6550, 1285, 4322,    0, 1201, 6550,
709      4291, 6550, 1288, 1264, 6550, 1343, 4312,    0, 1327, 6550,
710      4262, 4257, 4260, 6550, 1347, 1045, 4296, 6550, 1350, 4287,
711
712         0, 1334, 6550, 4240, 4244, 4248, 4236, 6550, 1406, 1401,
713      4287, 4280, 6550, 1412, 4254,    0, 1390, 6550, 4227, 6550,
714      1470, 1391, 6550, 1473, 4251,    0, 1397, 6550, 4214, 4216,
715      6550, 1476, 1516, 1536, 1456, 4192, 6550, 4248, 4235, 6550,
716      6550, 6550, 1529,  266, 4189, 4185, 4179, 4213, 4175, 6550,
717         0, 4164, 4147, 4142, 4162, 4130, 4122, 4124, 4120, 4119,
718        32,  388, 4109, 4111, 4114,  188,  397, 4129, 4102,  451,
719      4095,  460,  642, 4078, 6550,    0, 4082, 1629, 4075,  379,
720      4067, 4107, 6550,    0, 4052, 1675, 4041, 4061, 4047, 4055,
721      4040,  726, 6550,    0, 4050, 4041, 4051, 4019, 6550,    0,
722
723      1680, 4017, 4058, 4037, 4005,  703, 4026, 1052, 6550,    0,
724      4017, 1684, 3987, 3981, 3965, 3968, 3947, 3955, 6550,    0,
725      3962, 1736, 1739, 3941, 3928, 3944, 3943, 3940, 3937, 6550,
726         0, 1742, 3920, 6550,    0, 3923, 1745, 3901, 3917, 3916,
727      3904, 6550,    0, 3891, 3906, 3890, 3896, 6550,    0, 3885,
728      3902, 3898, 3922, 6550,    0, 1748, 3876, 6550,    0, 3866,
729      3881, 3876, 3876, 6550,    0, 3863, 3850, 3855, 3864, 3848,
730      3844, 6550,    0, 3849, 3857, 6550,    0, 1799, 3832, 3826,
731      3861, 3870, 1614, 3821, 6550, 1693,    0, 3809, 3808, 3844,
732      3842, 3795, 6550, 3807, 3788, 3785, 1804, 1808, 1709, 3789,
733
734      3776, 3770, 3770, 3764, 3773, 3758, 3757, 3749, 3766, 3717,
735      3719, 3717, 3699, 1771, 3693, 3699, 3690, 3696, 3675, 3684,
736      3679, 1812, 1863, 3673, 3702, 1817, 1871, 6550, 3674, 1875,
737      1878, 1925, 3654, 1928, 3666, 1932, 2007, 3650, 3647, 3648,
738      3648, 1935, 1938, 1993, 1957, 3630, 1999, 2057, 1774, 3619,
739      1836, 3624, 2002, 2014, 3626, 3630, 3623, 3599, 3615, 2062,
740      2066,  328, 2069, 2022, 2081, 2090, 2124, 3610, 3607, 3602,
741      3604, 2128, 2132, 2135, 2147, 2138, 2158, 3604, 2161, 2170,
742      3589, 3575, 3572, 2164, 2179, 2187, 2190, 2194, 2199, 3576,
743      2220, 2228, 2232, 2239, 2242, 2246, 2251, 2264, 2267, 2270,
744
745      2279, 2290, 2293, 2297, 3584, 3567, 3573, 3553, 2300, 2303,
746      3562, 3547, 2312, 2323, 2327, 2331, 3546, 2347, 2350, 3589,
747      6550, 6550,  363, 3552, 6550, 3589, 3577, 3530, 6550, 6550,
748      3527, 3519, 3526, 3512, 2353, 2356, 6550, 2359, 1643, 3515,
749      3498, 3516, 3486, 3476, 3484, 3473,  552, 3477, 3460, 3474,
750      3457, 3464,  649, 3453, 1823, 3453, 3465, 3412, 3417, 3400,
751      3414, 2378, 2384, 6550, 6550, 2392, 3430, 2396, 2399, 6550,
752      2404, 3392, 2411, 6550, 6550, 2419, 2423, 2433, 2437, 2440,
753      3403, 2451, 2455, 6550, 2458,  711, 3394, 2461, 3393, 2464,
754      2470, 6550, 2479, 2483, 6550, 6550, 3383, 2491, 2494, 6550,
755
756      2498, 3376, 3385, 3370, 2501, 6550, 6550, 3363, 3363, 3358,
757      3365, 3356, 2517, 2520, 6550, 2524, 3336, 3356, 2527, 6550,
758      6550, 2539, 6550, 6550, 2547, 2550, 3332, 3334, 3337, 3329,
759      2558, 2561, 6550, 2565, 2568, 6550, 6550, 2580, 2586, 6550,
760      2589, 3315, 2592, 6550, 6550, 3322, 3325, 3314, 2600, 2608,
761      6550, 2611, 2614, 2620, 2632, 2635, 2643, 2646, 6550, 2653,
762      3308, 2656, 2668, 3295, 3293, 2676, 2679, 2687, 2690, 6550,
763      2694, 2697, 6550, 6550, 2709, 2713, 6550, 2717, 2720, 2732,
764      3283, 3283, 2723, 2741, 2728, 2749, 6550, 2756, 3279, 2759,
765      3297, 3273, 2762, 2768, 6550, 2777, 3271, 3275, 2781, 2787,
766
767      6550, 2790, 2796, 6550, 6550, 3274, 2809, 2815, 6550, 2818,
768       771, 2823, 6550, 6550, 3301, 3299, 3261, 3248, 3289, 2828,
769      3235, 3240, 3223, 3221, 1886, 2308, 3232, 3232, 1897, 3221,
770      3225, 3223, 1900, 2837, 3218, 3216, 3201, 3204, 3204, 3199,
771      3198, 3196, 2843, 2848, 3189, 3214, 2856, 3189, 2861, 6550,
772      6550, 2869, 2876, 2887, 6550, 6550, 3182, 2895, 1965, 3171,
773      2898, 2903, 2916, 2919, 3159, 2922, 6550, 3151, 3151, 3157,
774      3150, 3132, 2926, 2929, 3146, 2934, 2947, 2953, 2956, 6550,
775      6550, 2966, 2973, 2976, 2980, 2984, 2987, 3136, 3141, 3129,
776      2999, 3006, 3010, 6550, 6550, 3021, 6550, 6550, 3029, 3034,
777
778      3050, 6550, 6550, 3121, 3132, 3060, 6550, 6550, 3068, 3071,
779      3074, 6550, 6550, 3102, 3112, 3083, 6550, 6550, 3092, 3105,
780      3095, 3098, 3093, 3111, 3113, 3080, 3106, 3116, 3120, 3126,
781       181, 3115, 3138, 6550, 3114, 6550, 6550, 3073, 3073,  755,
782      3145, 3057, 3063, 3048, 3056, 2030, 2072, 3057, 3044, 3027,
783      3141, 3027, 3148, 3151, 3160, 3166, 3019, 3169, 3031, 3022,
784      3172, 3175, 3180, 3190, 3196, 6550, 6550, 3014, 3028, 3205,
785      3001, 3209, 6550, 6550, 2994, 3217, 3220, 2994, 3224, 1130,
786      1184, 3237, 3241, 3249, 3005, 2991, 2983, 2998, 2993, 2978,
787      3255, 3258, 3268, 3275, 2989, 2985, 3286, 3289, 3292, 3300,
788
789      3307, 3311, 3319, 3325, 3328, 3331, 3337, 2986, 2965, 2977,
790      3346, 3350, 2977, 3358, 3364, 2973, 3367, 3370, 3373, 3388,
791      3394, 3397, 3403, 2961, 3415, 6550, 6550, 2961, 2947, 3407,
792      2956, 3426, 3430, 3438, 3444, 3447, 3457, 1678,    8,  730,
793      6550, 2943, 3465, 2946, 2938, 3468, 2946, 2936, 2956, 2919,
794      2909, 2909, 2901, 3471, 3476, 3479, 3483, 2915, 2898, 3487,
795      3490, 2891, 3494, 3497, 2904, 2899, 2924, 3500, 2884, 2887,
796      3503, 3506, 2918, 2899,  786, 2892, 2894, 2879,  815, 2878,
797      3509, 6550, 6550, 3526, 3529, 2861, 2873, 2854, 2841, 2843,
798      3532, 6550, 6550, 3541, 2859, 2852, 2832, 3549, 3552, 6550,
799
800      3555, 6550, 6550, 3563, 3567, 3575, 6550, 6550, 3583, 3586,
801      3594, 3597, 3601, 3615, 3618, 2820, 3621, 2838, 3624, 2846,
802      2840, 2820, 3639, 6550, 3642, 2805, 3645, 3648, 3665, 3668,
803      3679, 3683, 3686, 3689, 3698, 3704, 3712, 2810, 2809, 2807,
804      3716, 2798, 3719, 6550, 6550, 3731, 3735, 6550, 6550, 3743,
805      6550,  914,  195,  498, 2798, 3746, 3750, 2791, 2772, 3758,
806      3764, 2770, 2774, 3767, 2770, 2767, 3770, 3780, 3783, 2764,
807      3786, 3789, 3792, 3795, 2756, 2760, 2766, 3798, 6550, 2746,
808      2760, 3801, 3804, 3807, 2770, 2765, 2757, 2761, 2746, 2752,
809      2739, 2735, 2739, 2727, 3822, 3825, 3828, 3836, 2708, 2701,
810
811      2705, 2695,  599,  813, 2693, 3843, 3846, 3854, 6550, 6550,
812      3862, 6550, 6550, 3870, 3873, 3881, 6550, 6550, 3889, 3892,
813      2693, 3895, 3898, 2689, 2668,  909,  912, 2653, 3913, 6550,
814      2650, 3916, 6550, 6550, 3925, 6550, 6550, 3933, 3936, 3939,
815      6550, 6550, 3955, 6550, 6550, 3964, 3967, 2655, 2647, 3970,
816      2638, 3973, 3976, 1199, 1089, 3985, 4000, 6550, 6550, 2632,
817      2622, 3995, 4008, 4014, 2619, 4017, 4020, 4023, 4026, 2618,
818      4032, 4035, 2610, 2603, 6550, 4038, 2601, 4041, 6550, 4044,
819      6550, 6550, 2639, 2623, 2635, 2622, 2626, 2618, 2603, 2614,
820      2601, 2601, 4052, 4056, 6550, 6550, 4064, 2560, 2567, 2561,
821
822      2554, 2580, 2599, 2572, 2588, 2536, 4067, 6550, 6550, 4075,
823      6550, 6550, 4083, 4086, 6550, 4089, 4092, 6550, 6550, 2526,
824      2520, 2549, 2567, 2530, 2546, 2489, 4110, 4113, 4116, 4119,
825      4122, 4126, 4140, 2484, 4143, 4146, 4149, 4152,  799,  706,
826      4158, 4162, 2482, 4173, 4180, 2451, 4183, 4186, 2454, 2450,
827      2437, 4192, 4195, 2422, 2389, 2383, 2384, 2326, 2332, 2298,
828        50,   66,   76,  115, 4203,  226,  236,  332,  478,  553,
829      6550,  560, 6550, 4206, 4212, 6550, 4215, 4218,  572,  568,
830       620,  694, 6550,  748, 6550, 4226, 4233, 4236, 6550, 4239,
831      4244, 4248, 6550, 6550, 4263, 4266, 4274, 4277, 6550, 4281,
832
833      4284, 1085, 1109, 1250, 4287, 4292, 4308, 4311, 6550,  778,
834       789,  887, 4314, 4317, 1050, 1158,  883,  915,  941,  941,
835       944,  962,  939, 1036, 1082, 1086, 1103, 4326, 1105, 1091,
836      1115, 1157, 6550, 6550, 4332, 4335, 4346, 6550, 6550, 1163,
837      1196, 1218, 6550, 6550, 4354, 4357, 4365, 6550, 4368, 4372,
838      6550, 6550, 4387, 4390, 4398, 6550, 1352, 1263, 1478, 4401,
839      6550, 6550, 4409, 4413, 4421, 1231, 1232, 4427, 4431, 1245,
840      1311, 1298, 1318, 1285, 1359, 1366, 1375, 1395, 6550, 1433,
841      1419, 1423, 1429, 6550, 4439, 4445, 4448, 1465, 1477, 4451,
842      6550, 6550, 1468, 4459, 1481, 4462, 6550, 6550, 4470, 4473,
843
844      6550, 6550, 1521, 1575, 4481, 4493, 6550, 6550, 4484, 1468,
845      1471, 4501, 6550, 6550, 1539, 1539, 1562, 1553, 4509, 1552,
846      1570, 1588, 1576, 1576, 1613, 1629, 1617, 4512, 4515, 4519,
847      4527, 1599, 1638, 1590, 1619, 4522, 4540, 1611, 4548, 1712,
848      4551, 4554, 4560, 4573, 4579, 1655, 1667, 1661, 1679, 4582,
849      4585, 1680, 1685, 6550, 1723, 1725, 1726, 6550, 1727, 4593,
850      4596, 6550, 6550, 1708, 1716, 1719, 1724, 4604, 4608, 6550,
851      6550, 4616, 4622, 6550, 1809, 4625, 4628, 4647, 4667, 4711,
852      4636, 4656, 1747, 1789, 1779, 1796, 4687, 6550, 6550, 1803,
853      1781, 1785, 1826, 1809, 1826, 4660, 1814, 1823, 1818, 1819,
854
855      4679, 4697, 4705, 4731, 1925, 4739, 1937, 1942, 4759, 4803,
856      1878, 6550, 1882, 6550, 6550, 1915, 1940, 6550, 1941, 1944,
857      4749, 6550, 1904, 1890, 1915, 1915, 4779, 6550, 6550, 4787,
858      2040, 2052, 1950, 1988, 1978, 1987, 2078, 2004, 4754, 2007,
859      2014, 6550, 6550, 6550, 6550, 4795, 4814, 4823, 4826, 2008,
860      2006, 2014, 2033, 4832, 2057, 2068, 2088, 4835, 2095, 2093,
861      4846, 4854, 4867, 4870, 4878, 4885, 2057, 4896, 4899, 2090,
862      2111, 2105, 2123, 4907, 2135, 6550, 6550, 4910, 6550, 6550,
863      4919, 6550, 6550, 4927, 6550, 6550, 2109, 4935, 6550, 6550,
864      2135, 2138, 2149, 2158, 2184, 6550, 2152, 2175, 2181, 2178,
865
866      2184, 2200, 2149, 2180, 2203, 2201, 2215, 2236, 4944, 2226,
867      2255, 2237, 2255, 2259, 4947, 4950, 2270, 6550, 2269, 6550,
868      2344, 4958, 6550, 6550, 6550, 6550, 4966, 4969, 2321, 2328,
869      2268, 2318, 2288, 2390, 2266, 2316, 2327, 2372, 2324, 2355,
870      2270, 2384, 2363, 2459, 2428, 2468, 2449, 2471, 2489, 2526,
871      2425, 2538, 4977, 4980, 6550, 6550, 5000, 5009, 5018, 5027,
872      5036, 5045, 5054, 5063, 5072, 5081, 5090, 5099, 5108, 5117,
873      5126, 5135, 5144, 5153, 5162, 5171, 5180, 5189, 5198, 5207,
874      5216, 5225, 5234, 5243, 5252, 5261, 5270, 5279, 5288, 5297,
875      5306, 5315, 5322, 5329, 5336, 5343, 5350, 5357, 5364, 5371,
876
877      5378, 5385, 5392, 5399, 5406, 5413, 5420, 5427, 5436, 5441,
878      5446, 5451, 5456, 5463, 5468, 5473, 5478, 5483, 5488, 5493,
879      5500, 5505, 5512, 5517, 5524, 5529, 5536, 5541, 5548, 5553,
880      5560, 5565, 5574, 5580, 5587, 5595, 5602, 5610, 5617, 5625,
881      5632, 5640, 5647, 5655, 5662, 5670, 5677, 5685, 5693, 5700,
882      5708, 5716, 5724, 5732, 5740, 5748, 5756, 5764, 5771, 5779,
883      5786, 5794, 5801, 5809, 5818, 5824, 5831, 5839, 5847, 5855,
884      5862, 5870, 5877, 5885, 5892, 5900, 5907, 5915, 5922, 5930,
885      5938, 5945, 5953, 5961, 5968, 5976, 5984, 5991, 5999, 6006,
886      6014, 6021, 6029, 6036, 6044, 6053, 6062, 6069, 6077, 6084,
887
888      6092, 6099, 6107, 6114, 6122, 6129, 6136, 6144, 6152, 6160,
889      6168, 6175, 6183, 6191, 6198, 6206, 6214, 6221, 6229, 6236,
890      6244, 6252, 6260, 6268, 6276, 6285, 6294, 6301, 6309, 6316,
891      6324, 6331, 6339, 6346, 6354, 6361, 6368, 6376, 6384, 6392,
892      6400, 6407, 6415, 6423, 6431, 6439, 6447, 6455, 6463, 6470,
893      6478, 6486, 6495, 6504, 6513, 6522, 6531, 6540
894     } ;
895
896 static yyconst flex_int16_t yy_def[2059] =
897     {   0,
898      1857, 1857, 1858, 1858, 1858, 1858, 1859, 1859, 1860, 1860,
899      1861, 1861, 1862, 1862, 1862, 1862, 1863, 1863, 1857, 1857,
900      1864, 1864, 1865, 1865, 1865, 1865, 1857, 1857, 1865, 1865,
901      1865, 1865, 1857, 1857, 1865, 1865, 1857, 1857, 1865, 1865,
902      1865, 1865, 1866, 1866, 1862, 1862, 1867, 1867, 1868, 1868,
903      1857, 1857, 1868, 1868, 1868, 1868, 1869, 1869, 1870, 1870,
904      1871, 1871, 1872, 1872, 1872, 1872, 1857, 1857, 1872, 1872,
905      1872, 1872, 1857, 1857, 1872, 1872, 1872, 1872, 1857, 1857,
906      1872, 1872, 1857, 1857, 1872, 1872, 1872, 1872, 1857, 1857,
907      1872, 1872, 1872, 1872, 1857, 1857, 1872, 1872, 1857, 1857,
908
909      1872, 1872, 1872, 1872, 1856,  105, 1873, 1873, 1857, 1857,
910      1873, 1873, 1873, 1873, 1856,  115, 1874, 1874, 1875, 1875,
911      1876, 1876, 1877, 1877, 1878, 1878, 1857, 1857, 1878, 1878,
912      1878, 1878, 1879, 1879, 1880, 1880, 1857, 1857, 1880, 1880,
913      1880, 1880, 1881, 1881, 1882, 1882, 1857, 1857, 1882, 1882,
914      1882, 1882, 1883, 1883, 1884, 1884, 1885, 1885, 1886, 1886,
915      1857, 1857, 1886, 1886, 1886, 1886, 1887, 1887, 1888, 1888,
916      1857, 1857, 1888, 1888, 1888, 1888, 1889, 1889, 1890, 1890,
917      1891, 1891, 1892, 1892, 1857, 1857, 1856, 1856, 1856, 1856,
918      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
919
920      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
921      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1893, 1856, 1856,
922      1893, 1893, 1856, 1856, 1856,  225,  225,  225,  227,  227,
923      1856, 1856, 1856, 1894, 1856, 1856, 1894, 1894, 1894, 1856,
924      1856, 1856, 1856, 1856, 1895, 1856, 1856, 1895, 1895, 1895,
925      1895, 1856, 1856,  230,  230,  230, 1856, 1856, 1856, 1896,
926      1856, 1856, 1896, 1896, 1896, 1856, 1856, 1856, 1856, 1856,
927      1856, 1897, 1856, 1856, 1897, 1897, 1856, 1856,  228,  279,
928       230,  279,  280,  230,  230,  230,  230,  230,  281,  279,
929       288,  288,  230, 1856, 1856, 1856, 1898, 1856, 1856, 1898,
930
931      1898, 1898, 1898, 1898, 1898, 1856, 1856,  230,  230, 1856,
932      1856, 1856, 1899, 1856, 1856, 1899, 1899, 1899, 1899, 1899,
933      1899, 1856, 1856, 1856, 1856, 1856, 1856, 1900, 1856, 1856,
934      1900, 1856, 1856, 1856, 1856, 1856, 1856, 1901, 1856, 1856,
935      1901, 1901, 1901, 1901, 1856, 1856,  230,  230, 1856, 1856,
936      1856, 1902, 1856, 1856, 1902, 1902, 1856, 1856,  230,  230,
937       230, 1856, 1856, 1856, 1903, 1856, 1856, 1903, 1903, 1903,
938      1856, 1856,  230,  230, 1856, 1856, 1856, 1904, 1856, 1856,
939      1904, 1856, 1856, 1856, 1856, 1856, 1856, 1905, 1856, 1856,
940      1905, 1905, 1905, 1856, 1856,  230,  230, 1856, 1856, 1856,
941
942      1906, 1856, 1856, 1906, 1906, 1906, 1906, 1856, 1856,  230,
943       410,  230, 1856, 1856, 1856, 1907, 1856, 1856, 1907, 1856,
944      1856, 1856, 1856, 1856, 1856, 1908, 1856, 1856, 1908, 1908,
945      1856, 1856, 1856, 1856, 1909, 1856, 1856, 1856, 1856, 1856,
946      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
947      1893, 1893, 1893, 1910, 1856, 1856, 1856, 1856, 1856, 1856,
948      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
949      1856, 1856, 1856, 1856, 1856, 1894, 1894, 1894, 1894, 1856,
950      1911, 1856, 1856, 1895, 1895, 1895, 1895, 1895, 1895, 1895,
951      1912, 1856, 1856, 1896, 1896, 1896, 1896, 1913, 1856, 1914,
952
953      1914, 1914, 1915, 1856, 1856, 1856, 1856, 1856, 1856, 1898,
954      1898, 1898, 1898, 1898, 1898, 1898, 1898, 1916, 1856, 1899,
955      1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1917, 1856,
956      1900, 1900, 1918, 1856, 1901, 1901, 1901, 1901, 1901, 1901,
957      1919, 1856, 1902, 1902, 1902, 1920, 1856, 1856, 1921, 1921,
958      1921, 1921, 1922, 1856, 1923, 1923, 1924, 1856, 1925, 1925,
959      1925, 1925, 1926, 1856, 1927, 1927, 1927, 1927, 1927, 1928,
960      1856, 1856, 1929, 1929, 1930, 1856, 1931, 1931, 1931, 1932,
961      1933, 1856, 1933, 1856, 1856, 1856, 1934, 1856, 1856, 1856,
962      1856, 1856, 1856, 1856, 1935, 1935, 1936, 1936, 1856, 1856,
963
964      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
965      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
966      1937, 1856, 1856, 1937, 1856, 1938, 1938, 1856, 1939, 1856,
967      1856, 1939, 1939, 1939, 1939, 1940, 1940, 1856, 1941, 1941,
968      1941, 1942, 1942, 1856, 1856, 1943, 1944, 1944, 1856, 1856,
969      1856, 1945, 1856, 1856, 1945, 1945, 1945, 1945, 1945, 1946,
970      1946, 1947, 1856, 1856, 1856, 1856, 1947, 1947, 1947, 1947,
971      1947, 1948, 1948, 1856, 1856, 1949, 1949, 1950, 1856, 1856,
972      1950, 1950, 1950, 1951, 1951, 1952, 1952, 1953, 1953, 1856,
973      1954, 1954, 1954, 1955, 1955, 1856, 1856, 1956, 1956, 1957,
974
975      1957, 1957, 1958, 1958, 1959, 1959, 1959, 1959, 1960, 1960,
976      1856, 1961, 1962, 1962, 1856, 1856, 1963, 1964, 1964, 1965,
977      1856, 1856, 1965, 1856, 1856, 1966, 1856, 1856, 1856, 1856,
978      1856, 1856, 1967, 1967, 1856, 1968, 1856, 1968, 1856, 1856,
979      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
980      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
981      1856, 1969, 1856, 1856, 1856, 1969, 1856, 1856, 1970, 1856,
982      1970, 1971, 1856, 1856, 1856, 1856, 1856, 1971, 1856, 1856,
983      1971, 1856, 1972, 1856, 1972, 1856, 1973, 1973, 1973, 1856,
984      1974, 1856, 1974, 1856, 1856, 1856, 1975, 1856, 1976, 1856,
985
986      1976, 1856, 1856, 1977, 1856, 1856, 1856, 1977, 1977, 1977,
987      1977, 1977, 1856, 1978, 1856, 1978, 1979, 1979, 1856, 1856,
988      1856, 1856, 1856, 1856, 1856, 1856, 1979, 1979, 1979, 1979,
989      1856, 1980, 1856, 1980, 1856, 1856, 1856, 1856, 1981, 1856,
990      1981, 1982, 1856, 1856, 1856, 1982, 1982, 1982, 1856, 1983,
991      1856, 1983, 1856, 1856, 1856, 1856, 1856, 1984, 1856, 1984,
992      1856, 1856, 1856, 1985, 1985, 1856, 1856, 1856, 1986, 1856,
993      1986, 1856, 1856, 1856, 1856, 1987, 1856, 1987, 1856, 1856,
994      1988, 1988, 1856, 1856, 1856, 1989, 1856, 1989, 1990, 1990,
995      1990, 1990, 1856, 1991, 1856, 1991, 1856, 1992, 1856, 1993,
996
997      1856, 1993, 1856, 1856, 1856, 1994, 1856, 1995, 1856, 1995,
998      1996, 1997, 1856, 1856, 1856, 1856, 1856, 1998, 1998, 1999,
999      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1000      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1001      1856, 1856, 1856, 1856, 2000, 1856, 2001, 2002, 1856, 1856,
1002      1856, 1856, 1856, 1856, 1856, 1856, 2002, 2003, 1856, 2004,
1003      1856, 1856, 2004, 2005, 2006, 1856, 1856, 1856, 1856, 2007,
1004      2007, 2007, 2007, 2007, 2007, 2008, 2009, 2009, 1856, 1856,
1005      1856, 2009, 2009, 2009, 2009, 2010, 2011, 2012, 2012, 2012,
1006      2012, 2013, 1856, 1856, 1856, 1856, 1856, 1856, 2014, 1856,
1007
1008      1856, 1856, 1856, 2015, 2015, 1856, 1856, 1856, 2016, 2017,
1009      1856, 1856, 1856, 2018, 2018, 1856, 1856, 1856, 2019, 2020,
1010      1856, 1856, 2020, 2020, 2021, 1856, 2022, 2023, 2024, 2025,
1011      2026, 2027, 2027, 1856, 2027, 1856, 1856, 1856, 2028, 2028,
1012      2029, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1013      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1014      1856, 1856, 1856, 1856, 1856, 1856, 1856, 2030, 1856, 2031,
1015      2032, 1856, 1856, 1856, 2032, 2033, 1856, 2034, 1856, 1856,
1016      1856, 1856, 1856, 2035, 2036, 1856, 1856, 2037, 2037, 2037,
1017      1856, 1856, 1856, 1856, 2037, 2037, 2038, 1856, 1856, 2039,
1018
1019      1856, 1856, 2039, 2039, 2039, 2040, 2041, 2042, 2042, 2042,
1020      1856, 1856, 2042, 2043, 2044, 1856, 2045, 2045, 2046, 2047,
1021      2048, 2048, 2049, 2050, 1856, 1856, 1856, 2050, 2050, 2051,
1022      1856, 1856, 1856, 2052, 1856, 1856, 2025, 2026, 2027, 2027,
1023      1856, 1856, 2028, 2028, 2028, 2029, 1856, 1856, 1856, 1856,
1024      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1025      1856, 1856, 1856, 1856, 1856, 2030, 1856, 2031, 2032, 2032,
1026      2033, 2034, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1027      1856, 1856, 1856, 2035, 2036, 1856, 1856, 2037, 2037, 2037,
1028      1856, 1856, 1856, 1856, 1856, 1856, 2037, 2037, 1856, 1856,
1029
1030      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1031      2039, 1856, 1856, 2040, 2041, 2042, 2042, 2042, 1856, 1856,
1032      1856, 2042, 1856, 1856, 2044, 1856, 1856, 1856, 1856, 1856,
1033      2046, 2047, 1856, 1856, 1856, 1856, 2049, 2050, 2050, 2050,
1034      2051, 1856, 1856, 1856, 1856, 2052, 1856, 1856, 1856, 1856,
1035      1856, 2026, 2027, 2027, 1856, 1856, 1856, 2028, 2028, 2029,
1036      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1037      1856, 1856, 1856, 1856, 1856, 2030, 1856, 1856, 1856, 2032,
1038      2032, 2033, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1039      1856, 1856, 1856, 1856, 2035, 1856, 1856, 1856, 1856, 2037,
1040
1041      2037, 2037, 1856, 1856, 2037, 1856, 1856, 1856, 1856, 1856,
1042      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2040, 2041,
1043      2042, 1856, 1856, 2042, 2042, 1856, 1856, 2042, 1856, 1856,
1044      1856, 1856, 1856, 1856, 1856, 1856, 1856, 2046, 2047, 1856,
1045      1856, 1856, 1856, 1856, 1856, 2049, 2050, 2050, 2050, 2051,
1046      1856, 2052, 2026, 2027, 2027, 1856, 1856, 1856, 1856, 2028,
1047      2028, 2029, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1048      1856, 1856, 1856, 2030, 1856, 2032, 2032, 1856, 1856, 1856,
1049      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1050      1856, 1856, 2035, 1856, 1856, 1856, 1856, 1856, 2037, 2037,
1051
1052      2037, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856, 1856,
1053      1856, 1856, 2040, 1856, 1856, 2042, 1856, 1856, 1856, 2042,
1054      2042, 1856, 1856, 1856, 1856, 2042, 1856, 2046, 2047, 2049,
1055      1856, 1856, 2050, 2050, 2051, 1856, 2052, 2026, 2027, 2027,
1056      1856, 2028, 2028, 2029, 1856, 1856, 1856, 1856, 1856, 1856,
1057      2030, 1856, 1856, 2032, 1856, 1856, 1856, 1856, 1856, 1856,
1058      1856, 1856, 1856, 1856, 2035, 1856, 2037, 2037, 2037, 1856,
1059      1856, 1856, 1856, 2037, 1856, 1856, 1856, 1856, 2042, 2042,
1060      2042, 1856, 1856, 1856, 1856, 2042, 1856, 1856, 1856, 2047,
1061      2049, 1856, 1856, 1856, 1856, 1856, 2050, 1856, 1856, 1856,
1062
1063      2052, 2026, 2027, 2027, 1856, 1856, 2028, 1856, 1856, 1856,
1064      1856, 1856, 2030, 1856, 1856, 1856, 2032, 1856, 1856, 1856,
1065      1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035, 1856, 2037,
1066      2037, 2037, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2042,
1067      2042, 2042, 1856, 1856, 1856, 1856, 1856, 1856, 2049, 1856,
1068      1856, 1856, 1856, 1856, 1856, 1856, 2026, 2027, 2027, 1856,
1069      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1070      1856, 1856, 1856, 2032, 1856, 1856, 1856, 1856, 1856, 1856,
1071      1856, 1856, 1856, 1856, 2035, 1856, 2037, 2037, 2037, 1856,
1072      1856, 1856, 2042, 2042, 2042, 1856, 1856, 1856, 2049, 1856,
1073
1074      1856, 1856, 2026, 2027, 2027, 1856, 1856, 1856, 1856, 1856,
1075      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2032, 1856,
1076      1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035, 1856, 1856,
1077      1856, 2037, 2037, 2037, 2042, 1856, 1856, 2042, 2049, 2026,
1078      2027, 2027, 2027, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1079      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035,
1080      1856, 1856, 1856, 2037, 2037, 2037, 2037, 2042, 1856, 1856,
1081      1856, 2042, 1856, 1856, 2026, 2027, 2027, 2027, 2053, 2054,
1082      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1083      1856, 1856, 1856, 1856, 1856, 2035, 2037, 2037, 2037, 2037,
1084
1085      1856, 1856, 1856, 1856, 2026, 2027, 2055, 2056, 2053, 2054,
1086      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1087      1856, 1856, 2037, 2037, 2037, 2037, 1856, 1856, 1856, 1856,
1088      1856, 1856, 2026, 2055, 2027, 2057, 2056, 2058, 2027, 1856,
1089      1856, 1856, 1856, 1856, 1856, 2037, 2037, 2037, 2037, 1856,
1090      1856, 1856, 1856, 2026, 2057, 1856, 2058, 2027, 1856, 1856,
1091      1856, 1856, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856,
1092      1856, 1856, 1856, 2026, 1856, 1856, 1856, 1856, 1856, 1856,
1093      1856, 1856, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856,
1094      1856, 1856, 1856, 1856, 2026, 1856, 2037, 1856, 1856, 1856,
1095
1096      1856, 2026, 2037, 1856, 1856, 1856, 1856, 2026, 2037, 1856,
1097      1856, 1856, 1856, 2026, 1856, 1856, 1856, 1856, 1856, 1856,
1098      2026, 1856, 1856, 1856, 1856, 1856, 2026, 2026, 2026, 2026,
1099      2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
1100      2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
1101      2026, 2026, 2026, 2026, 1856,    0, 1856, 1856, 1856, 1856,
1102      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1103      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1104      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1105      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1106
1107      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1108      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1109      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1110      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1111      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1112      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1113      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1114      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1115      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1116      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1117
1118      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1119      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1120      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1121      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1122      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1123      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1124     } ;
1125
1126 static yyconst flex_int16_t yy_nxt[6620] =
1127     {   0,
1128      1856,  190,  191,  190,  190,  191,  190,  190,  191,  190,
1129       190,  191,  190,  195,  191,  195,  201,  192,  198,  201,
1130       192,  198,  491,  193,  503,  199,  193, 1034,  199,  196,
1131       195,  191,  195,  435,  202,  204,  205,  202,  204,  205,
1132       206,  207, 1856,  206,  207,  435,  196,  211,  212,  436,
1133       208,  204,  205,  208,  209,  438,  206,  204,  205,  505,
1134       209,  437,  206,  211,  212, 1253,  208,  191,  191,  191,
1135       492,  437,  208,  191,  191,  191,  224,  191,  224,  224,
1136       191,  224,  464,  214,  224,  191,  224,  605,  213,  214,
1137       492,  473,  225,  606, 1524,  225,  434,  434,  434, 1525,
1138
1139       225,  434,  434,  434,  213,  215,  216,  191,  216,  215,
1140       215,  215,  215,  215,  215,  215,  217,  215,  215,  215,
1141      1526,  215,  219,  215,  220,  215,  224,  191,  224,  191,
1142       191,  191, 1856,  191,  191,  191,  224,  191,  224,  224,
1143       191,  224,  225, 1856, 1856,  226,  438,  215,  215,  226,
1144       438, 1527,  225,  507,  455,  225,  434,  434,  434,  434,
1145       434,  434,  437,  434,  434,  434,  437,  466,  458,  473,
1146       221,  474,  222,  215,  216,  191,  216,  215,  215,  215,
1147       215,  215,  215,  215,  217,  215,  215,  215,  460,  215,
1148       219,  215,  220,  215,  224,  191,  224,  224,  191,  224,
1149
1150       721,  191,  191,  191,  191,  191,  191,  224,  191,  224,
1151       227, 1856,  468,  227, 1034,  215,  215,  228, 1856,  521,
1152       228, 1856, 1138,  225, 1856,  224,  191,  224,  191,  191,
1153       191,  191,  191,  191,  224,  191,  224,  457,  221,  522,
1154       222,  225, 1354,  605,  229,  438,  505,  229,  438,  612,
1155       227,  224,  191,  224,  224,  191,  224,  224,  191,  224,
1156       469,  437,  464,  512,  437,  465,  466,  227,  472,  466,
1157       230,  467,  513,  230,  231,  232,  191,  232,  231,  231,
1158       231,  231,  231,  231,  231,  233,  231,  231,  231, 1529,
1159       231,  235,  231,  236,  231,  253,  191,  253,  525, 1530,
1160
1161       449,  526,  253,  191,  253,  191,  191,  191,  204,  205,
1162       438,  254,  438,  206,  204,  205,  231,  231,  254,  206,
1163       518,  255,  588,  240,  237,  589,  437,  238,  437,  240,
1164       434,  434,  434,  239,  231,  232,  191,  232,  231,  231,
1165       231,  231,  231,  231,  231,  233,  231,  231,  231,  241,
1166       231,  235,  231,  236,  231,  241,  191,  191,  191,  253,
1167       191,  253,  253,  191,  253,  253,  191,  253,  492,  253,
1168       191,  253,  255,  480,  817,  254,  231,  231,  254, 1531,
1169       481,  256,  721,  818,  237,  256,  911,  238,  582,  437,
1170       434,  434,  434,  239,  242,  243,  191,  243,  242,  242,
1171
1172       242,  242,  242,  242,  242,  244,  242,  242,  242,  468,
1173       242,  246,  242,  247,  242,  267,  191,  267,  267,  191,
1174       267,  625,  278,  191,  278,  278,  191,  278,  278,  191,
1175       278,  268,  438,  607,  268,  469,  242,  242,  279,  498,
1176       464,  279,  607,  465,  280,  248,  608,  249,  437,  470,
1177       250,  471,  434,  434,  434,  613,  251,  242,  243,  191,
1178       243,  242,  242,  242,  242,  242,  242,  242,  244,  242,
1179       242,  242,  468,  242,  246,  242,  247,  242,  278,  191,
1180       278,  191,  191,  191,  539,  191,  191,  191,  278,  191,
1181       278,  278,  191,  278,  280,  540,  616,  281,  487,  242,
1182
1183       242,  281,  488,  459,  282,  607,  489,  282,  248,  617,
1184       249,  503,  508,  250,  434,  434,  434, 1034,  619,  251,
1185       257,  258,  191,  258,  257,  257,  257,  257,  257,  257,
1186       257,  259,  257,  257,  257, 1532,  257,  261,  257,  262,
1187       257,  278,  191,  278,  278,  191,  278,  458,  191,  191,
1188       191,  191,  191,  191,  278,  191,  278,  283, 1533, 1355,
1189       283,  470,  257,  257,  284,  438,  438,  284, 1534,  263,
1190       280,  434,  434,  434,  264,  434,  434,  434,  434,  434,
1191       434,  437,  437,  265,  257,  258,  191,  258,  257,  257,
1192       257,  257,  257,  257,  257,  259,  257,  257,  257,  928,
1193
1194       257,  261,  257,  262,  257,  278,  191,  278,  278,  191,
1195       278,  929,  278,  191,  278,  191,  191,  191,  191,  191,
1196       191,  280, 1540, 1541,  285, 1402,  257,  257,  285,  438,
1197       438,  286, 1403,  263,  286,  434,  434,  434,  264,  434,
1198       434,  434,  434,  434,  434,  437,  437,  265,  269,  270,
1199       191,  270,  269,  269,  269,  269,  269,  269,  269,  271,
1200       269,  269,  269,  507,  269,  273,  269,  274,  269,  278,
1201       191,  278,  278,  191,  278, 1542,  191,  191,  191,  191,
1202       191,  191,  278,  191,  278,  283,  438,  616,  283,  541,
1203       269,  269,  287,  529,  464,  287,  935,  465,  285, 1543,
1204
1205       613,  275,  437,  473,  434,  434,  434,  546,  929,  276,
1206       269,  270,  191,  270,  269,  269,  269,  269,  269,  269,
1207       269,  271,  269,  269,  269, 1034,  269,  273,  269,  274,
1208       269,  278,  191,  278,  278,  191,  278,  492,  278,  191,
1209       278,  191,  191,  191,  191,  191,  191,  285,  616, 1034,
1210       288,  547,  269,  269,  288, 1856, 1544,  289,  935, 1504,
1211       289,  608,  438,  275,  278,  191,  278,  278,  191,  278,
1212       959,  276,  278,  191,  278,  278,  191,  278,  437, 1254,
1213       290,  605,  438,  290,  191,  191,  191,  638,  291,  533,
1214       721,  291,  191,  191,  191,  278,  191,  278,  437,  547,
1215
1216       284,  278,  191,  278,  191,  191,  191, 1287,  284, 1031,
1217      1144,  288,  191,  191,  191, 1288, 1145,  288, 1034,  438,
1218       292,  278,  191,  278,  278,  191,  278, 1565,  292,  278,
1219       191,  278,  278,  191,  278,  437, 1292,  291, 1566, 1404,
1220       291,  434,  434,  434, 1293,  293, 1405, 1503,  293,  294,
1221       295,  191,  295,  294,  294,  294,  294,  294,  294,  294,
1222       296,  294,  294,  294,  297,  294,  298,  294,  299,  294,
1223       297,  297,  297,  297,  297,  297,  297,  297,  297,  297,
1224       297,  297,  297,  297,  297,  297,  297,  297,  297,  297,
1225       297,  294,  294,  297,  300,  297,  297,  297,  297,  297,
1226
1227       297,  297,  301,  297,  297,  302,  297,  297,  303,  297,
1228       297,  304,  297,  297,  305,  297,  297,  297,  307,  191,
1229       307,  307,  191,  307,  191,  191,  191,  191,  191,  191,
1230       307,  191,  307,  721,  308, 1422, 1567,  308, 1424, 1353,
1231       255, 1574, 1423,  255, 1575, 1425,  308,  307,  191,  307,
1232       307,  191,  307,  307,  191,  307,  434,  434,  434,  434,
1233       434,  434, 1576,  308, 1577, 1578,  309, 1579, 1580,  309,
1234       310,  311,  191,  311,  310,  310,  310,  310,  310,  310,
1235       310,  312,  310,  310,  310,  313,  310,  314,  310,  315,
1236       310,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1237
1238       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1239       313,  313,  310,  310,  313,  313,  316,  313,  313,  313,
1240       313,  313,  313,  317,  313,  318,  313,  313,  313,  319,
1241       313,  320,  321,  313,  313,  313,  313,  313,  313,  323,
1242       191,  323,  323,  191,  323,  434,  434,  434,  434,  434,
1243       434,  434,  434,  434,  553,  324,  563, 1581,  324,  325,
1244       326,  191,  326,  325,  325,  325,  325,  325,  325,  325,
1245       327,  325,  325,  325, 1570,  325,  329,  325,  330,  325,
1246       333,  191,  333,  333,  191,  333, 1571,  346,  191,  346,
1247       346,  191,  346,  191,  191,  191,  334,  616,  547,  334,
1248
1249       547,  325,  325,  347,  721, 1582,  347, 1583, 1034,  255,
1250       619, 1584,  331,  325,  326,  191,  326,  325,  325,  325,
1251       325,  325,  325,  325,  327,  325,  325,  325, 1034,  325,
1252       329,  325,  330,  325,  191,  191,  191,  346,  191,  346,
1253      1557,  346,  191,  346,  346,  191,  346,  346,  191,  346,
1254       255, 1440, 1173,  347, 1586,  325,  325,  347, 1174, 1587,
1255       348, 1175, 1558,  348, 1588, 1176,  331,  335,  336,  191,
1256       336,  335,  335,  335,  335,  335,  335,  335,  337,  335,
1257       335,  335, 1572,  335,  339,  335,  340,  335,  358,  191,
1258       358,  358,  191,  358, 1573,  191,  191,  191,  191,  191,
1259
1260       191,  358,  191,  358,  359,  438, 1177,  359, 1589,  335,
1261       335,  360, 1178,  341,  360, 1179, 1593,  359, 1034, 1180,
1262       342,  437,  343,  434,  434,  434,  434,  434,  434,  344,
1263       335,  336,  191,  336,  335,  335,  335,  335,  335,  335,
1264       335,  337,  335,  335,  335, 1594,  335,  339,  335,  340,
1265       335,  358,  191,  358,  358,  191,  358, 1439,  358,  191,
1266       358,  372,  191,  372,  372,  191,  372,  359,  438, 1034,
1267       361, 1595,  335,  335,  361,  557,  341,  373, 1610, 1611,
1268       373, 1615, 1034,  342,  437,  343,  434,  434,  434,  434,
1269       434,  434,  344,  349,  350,  191,  350,  349,  349,  349,
1270
1271       349,  349,  349,  349,  351,  349,  349,  349, 1559,  349,
1272       353,  349,  354,  349,  191,  191,  191,  191,  191,  191,
1273      1604,  372,  191,  372,  372,  191,  372,  372,  191,  372,
1274       360,  438, 1616,  360, 1617,  349,  349,  373,  438, 1618,
1275       373,  355, 1619,  374,  434,  434,  434,  437,  434,  434,
1276       434,  434,  434,  434,  437,  356,  349,  350,  191,  350,
1277       349,  349,  349,  349,  349,  349,  349,  351,  349,  349,
1278       349,  721,  349,  353,  349,  354,  349,  372,  191,  372,
1279       383,  191,  383, 1620,  383,  191,  383,  395,  191,  395,
1280       395,  191,  395,  374,  438,  438,  384, 1603,  349,  349,
1281
1282       384,  438,  575,  396,  355, 1621,  396,  434,  434,  434,
1283       437,  437,  570,  434,  434,  434, 1622,  437,  356,  362,
1284       363,  191,  363,  362,  362,  362,  362,  362,  362,  362,
1285       364,  362,  362,  362, 1623,  362,  366,  362,  367,  362,
1286       191,  191,  191,  191,  191,  191,  571,  395,  191,  395,
1287       395,  191,  395,  395,  191,  395,  360, 1624, 1625,  360,
1288       492,  362,  362,  396, 1626,  582,  396,  368, 1627,  397,
1289       369,  434,  434,  434,  434,  434,  434,  434,  434,  434,
1290       583,  370,  362,  363,  191,  363,  362,  362,  362,  362,
1291       362,  362,  362,  364,  362,  362,  362, 1034,  362,  366,
1292
1293       362,  367,  362,  395,  191,  395,  409,  191,  409, 1633,
1294       409,  191,  409,  191,  191,  191,  191,  191,  191,  397,
1295       438, 1634,  410, 1635,  362,  362,  410,  580, 1638,  411,
1296       368, 1644,  411,  369, 1645, 1605,  437,  434,  434,  434,
1297       721,  586,  586,  586,  370,  375,  376,  191,  376,  375,
1298       375,  375,  375,  375,  375,  375,  377,  375,  375,  375,
1299      1646,  375,  379,  375,  380,  375,  409,  191,  409,  409,
1300       191,  409, 1647,  409,  191,  409,  409,  191,  409,  421,
1301       191,  421,  410, 1648, 1640,  410, 1649,  375,  375,  412,
1302      1652, 1653,  412, 1654, 1034,  422,  587, 1655,  381,  375,
1303
1304       376,  191,  376,  375,  375,  375,  375,  375,  375,  375,
1305       377,  375,  375,  375, 1656,  375,  379,  375,  380,  375,
1306       421,  191,  421,  432,  191,  432, 1641,  432,  191,  432,
1307       622,  622,  622,  721, 1657,  443,  422, 1658, 1659,  433,
1308       503,  375,  375,  433,  739,  739,  739,  623,  723, 1664,
1309       504, 1667,  381,  385,  386,  191,  386,  385,  385,  385,
1310       385,  385,  385,  385,  387,  385,  385,  385, 1668,  385,
1311       389,  385,  390,  385,  444,  505,  630,  630,  630, 1672,
1312       445,  644,  644,  644,  446,  653,  653,  653, 1683,  447,
1313       506, 1684,  474,  631, 1685,  385,  385,  721,  645, 1665,
1314
1315      1666,  391,  654, 1686,  392,  586,  586,  586, 1690,  725,
1316       739,  739,  739, 1252, 1691,  393,  385,  386,  191,  386,
1317       385,  385,  385,  385,  385,  385,  385,  387,  385,  385,
1318       385,  721,  385,  389,  385,  390,  385,  663,  663,  663,
1319       665,  665,  665,  674,  674,  674,  679,  679,  679,  696,
1320       696,  696, 1692, 1693,  664, 1694, 1695,  666,  385,  385,
1321       675, 1697, 1675,  680,  391, 1698,  697,  392, 1699, 1700,
1322       740, 1711,  755,  755,  755,  739,  739,  739,  393,  398,
1323       399,  191,  399,  398,  398,  398,  398,  398,  398,  398,
1324       400,  398,  398,  398, 1712,  398,  402,  398,  403,  398,
1325
1326       715,  715,  715, 1713, 1714,  735,  735,  735, 1715,  735,
1327       735,  735, 1716,  622,  622,  622, 1717,  716,  768,  768,
1328       768,  398,  398,  737,  755,  755,  755,  737,  721,  404,
1329       623,  405,  740,  406, 1718,  802,  770,  755,  755,  755,
1330      1719,  407,  398,  399,  191,  399,  398,  398,  398,  398,
1331       398,  398,  398,  400,  398,  398,  398, 1720,  398,  402,
1332       398,  403,  398,  738,  763,  763,  763, 1705,  764, 1723,
1333      1724,  765,  768,  768,  768, 1725,  630,  630,  630,  773,
1334       773,  773, 1726,  774,  398,  398,  775, 1046, 1046, 1046,
1335       770, 1740,  404,  631,  405, 1741,  406,  802, 1051, 1051,
1336
1337      1051, 1055, 1055, 1055,  407,  413,  414,  191,  414,  413,
1338       413,  413,  413,  413,  413,  413,  415,  413,  413,  413,
1339      1742,  413,  417,  413,  418,  413,  776,  776,  776,  779,
1340       779,  779,  771,  782,  782,  782,  790,  790,  790,  790,
1341       790,  790, 1735,  777,  721, 1743,  780,  413,  413, 1744,
1342      1735,  784, 1745, 1746,  792, 1747, 1736,  792,  794,  794,
1343       794, 1738,  795, 1748, 1749,  796, 1077, 1077, 1077,  721,
1344       419,  413,  414,  191,  414,  413,  413,  413,  413,  413,
1345       413,  413,  415,  413,  413,  413, 1733,  413,  417,  413,
1346       418,  413, 1756, 1735,  644,  644,  644, 1034, 1035,  793,
1347
1348       798,  798,  798,  653,  653,  653, 1754, 1736,  782,  782,
1349       782,  645, 1756,  413,  413,  805,  805,  805,  800,  806,
1350       654, 1759,  807,  819,  819,  819,  784,  820, 1760, 1770,
1351       821, 1046, 1046, 1046, 1771, 1772,  419,  423,  424,  191,
1352       424,  423,  423,  423,  423,  423,  423,  423,  425,  423,
1353       423,  423,  785,  423,  427,  423,  428,  423,  798,  798,
1354       798, 1773, 1756,  813,  813,  813, 1750,  813,  813,  813,
1355       663,  663,  663, 1047, 1047, 1047,  800, 1751, 1752,  423,
1356       423,  815,  665,  665,  665,  815, 1735,  664, 1775, 1753,
1357       429,  822,  822,  822,  801,  823, 1756, 1738,  824,  666,
1358
1359      1776, 1777,  430,  423,  424,  191,  424,  423,  423,  423,
1360       423,  423,  423,  423,  425,  423,  423,  423, 1787,  423,
1361       427,  423,  428,  423,  816,  825,  825,  825, 1791,  831,
1362       831,  831, 1792,  831,  831,  831,  674,  674,  674,  838,
1363       838,  838,  826, 1793, 1794,  423,  423,  833,  835,  835,
1364       835,  833,  836,  675, 1796,  837,  429,  840, 1797,  838,
1365       838,  838,  679,  679,  679,  849,  849,  849,  430,  438,
1366      1798,  843,  843,  843, 1799,  844,  454,  840,  845,  680,
1367       849,  849,  849,  851, 1800,  437,  455,  834,  853,  853,
1368       853,  855,  855,  855, 1801,  857,  857,  857,  851, 1803,
1369
1370       857,  857,  857,  721, 1804,  854, 1805, 1806,  856, 1807,
1371       456,  457,  458,  859, 1809, 1810,  841,  459,  859,  721,
1372       460,  862,  862,  862,  461, 1802,  462, 1811,  463, 1856,
1373      1856, 1856,  852,  866,  866,  866, 1812, 1808,  863, 1813,
1374       868,  868,  868,  868,  868,  868, 1856,  696,  696,  696,
1375       867, 1817,  872,  872,  872,  721,  873,  860,  870,  874,
1376      1818,  870, 1819, 1820,  697,  875,  875,  875,  875,  875,
1377       875,  879,  879,  879, 1814, 1825,  864, 1826,  721,  871,
1378      1856, 1856, 1856,  877, 1821,  721,  877,  721,  880,  721,
1379       865,  883,  883,  883,  885,  885,  885, 1856,  885,  885,
1380
1381       885,  893,  893,  893,  893,  893,  893,  721,  884, 1047,
1382      1047, 1047,  887,  899,  899,  899,  887, 1837, 1843,  895,
1383       878, 1833,  895, 1048,  899,  899,  899,  881,  715,  715,
1384       715,  901,  903,  903,  903,  721,  904,  721, 1523,  905,
1385       721,  882,  901,  721, 1835,  716,  721,  721,  907,  907,
1386       907,  907,  907,  907,  735,  735,  735,  735,  735,  735,
1387       735,  735,  735,  721,  896,  888,  909, 1838, 1522,  909,
1388      1521, 1834,  737, 1845,  721,  737, 1827, 1841,  737,  943,
1389       943,  943,  721, 1831,  902,  763,  763,  763, 1839,  764,
1390      1832,  721,  765, 1856, 1856, 1856,  944,  768,  768,  768,
1391
1392       768,  768,  768,  721,  920,  768,  768,  768, 1842,  721,
1393      1856,  910,  773,  773,  773,  770,  774, 1520,  770,  775,
1394       776,  776,  776,  770,  949,  949,  949, 1519,  950, 1518,
1395      1853,  951, 1844, 1840,  952,  952,  952,  777,  779,  779,
1396       779,  954,  954,  954,  721,  955, 1836,  721,  956,  947,
1397       945,  953,  782,  782,  782,  780,  782,  782,  782,  782,
1398       782,  782,  961,  961,  961,  790,  790,  790,  721, 1846,
1399       784,  790,  790,  790,  784, 1517, 1847,  784,  721,  962,
1400       790,  790,  790,  792,  794,  794,  794,  721,  795,  792,
1401       721,  796,  798,  798,  798,  798,  798,  798,  792,  966,
1402
1403       966,  966,  805,  805,  805, 1513,  806, 1512,  721,  807,
1404       800, 1511, 1849,  800, 1510,  958, 1848,  967,  813,  813,
1405       813,  813,  813,  813,  964,  813,  813,  813,  819,  819,
1406       819, 1507,  820, 1497, 1850,  821,  815, 1851, 1486,  815,
1407       822,  822,  822,  815,  823,  721, 1853,  824,  825,  825,
1408       825,  979,  979,  979, 1485,  980, 1484,  721,  981,  831,
1409       831,  831,  831,  831,  831,  826,  831,  831,  831,  835,
1410       835,  835, 1483,  836, 1852, 1482,  837,  833, 1481, 1480,
1411       833,  838,  838,  838,  833, 1474,  976,  838,  838,  838,
1412       838,  838,  838,  843,  843,  843, 1473,  844, 1472,  840,
1413
1414       845,  849,  849,  849, 1471,  840, 1470, 1469,  840,  849,
1415       849,  849,  849,  849,  849,  853,  853,  853, 1468,  851,
1416      1467,  993,  993,  993, 1466,  994, 1464,  851,  995,  986,
1417       851, 1463,  854,  855,  855,  855,  996,  996,  996, 1462,
1418       997, 1461, 1460,  998,  857,  857,  857,  857,  857,  857,
1419       856, 1459, 1458,  987,  857,  857,  857,  862,  862,  862,
1420      1457, 1456,  859, 1455, 1454,  859, 1451, 1450,  992, 1001,
1421      1001, 1001,  859, 1002,  863, 1449, 1003,  866,  866,  866,
1422      1006, 1006, 1006, 1446, 1007, 1443, 1442, 1008,  868,  868,
1423       868,  868,  868,  868,  867,  868,  868,  868,  872,  872,
1424
1425       872, 1436,  873, 1434, 1433,  874,  870, 1427, 1426,  870,
1426       875,  875,  875,  870,  875,  875,  875,  999,  875,  875,
1427       875,  879,  879,  879,  883,  883,  883, 1421,  877,  885,
1428       885,  885,  877, 1011, 1011, 1011,  877, 1012,  880, 1420,
1429      1013,  884, 1016, 1016, 1016, 1416, 1017,  887, 1406, 1018,
1430       885,  885,  885, 1401, 1400, 1009, 1399,  885,  885,  885,
1431      1021, 1021, 1021,  893,  893,  893, 1398, 1392,  887,  893,
1432       893,  893, 1391, 1390, 1010,  887, 1389, 1022,  893,  893,
1433       893,  895,  899,  899,  899, 1388, 1387,  895,  899,  899,
1434       899,  899,  899,  899, 1386, 1385,  895,  903,  903,  903,
1435
1436       901,  904, 1384, 1383,  905, 1377,  901, 1376, 1375,  901,
1437       907,  907,  907, 1374, 1373, 1019,  907,  907,  907,  907,
1438       907,  907, 1370, 1368, 1033, 1033, 1033, 1367,  909,  735,
1439       735,  735, 1365, 1364,  909, 1025, 1361,  909, 1056, 1056,
1440      1056, 1028, 1034, 1035,  943,  943,  943,  737, 1360, 1065,
1441      1065, 1065, 1048, 1066, 1356, 1351, 1067,  768,  768,  768,
1442      1349,  944,  949,  949,  949, 1348,  950, 1347, 1331,  951,
1443       952,  952,  952, 1328, 1327,  770, 1030, 1072, 1072, 1072,
1444      1326, 1073, 1325, 1321, 1074, 1305, 1304,  953,  954,  954,
1445       954, 1041,  955, 1303, 1302,  956,  782,  782,  782,  961,
1446
1447       961,  961, 1301, 1070, 1079, 1079, 1079, 1300, 1080, 1299,
1448      1298, 1081, 1294, 1291,  784, 1290,  962, 1082, 1082, 1082,
1449       790,  790,  790,  966,  966,  966, 1289, 1091, 1091, 1091,
1450      1093, 1093, 1093, 1286, 1083,  813,  813,  813,  792, 1285,
1451      1281,  967, 1280, 1076, 1092, 1277, 1276, 1094, 1098, 1098,
1452      1098, 1275, 1273,  815, 1856, 1856, 1856,  979,  979,  979,
1453      1271,  980, 1270, 1267,  981, 1099, 1084, 1101, 1101, 1101,
1454      1266, 1856, 1265, 1095, 1856, 1856, 1856, 1856, 1856, 1856,
1455      1264, 1856, 1856, 1856, 1102,  831,  831,  831,  838,  838,
1456       838, 1856, 1263, 1262, 1856, 1261, 1259, 1097, 1856, 1258,
1457
1458      1111, 1111, 1111,  833, 1255, 1242,  840,  849,  849,  849,
1459      1240,  993,  993,  993, 1239,  994, 1100, 1112,  995, 1238,
1460      1226, 1104,  996,  996,  996,  851,  997, 1222, 1218,  998,
1461       857,  857,  857, 1217, 1216, 1056, 1056, 1056, 1198, 1197,
1462      1103, 1190, 1189, 1113, 1188, 1187, 1106, 1105,  859, 1116,
1463      1107, 1001, 1001, 1001, 1186, 1002, 1185, 1172, 1003, 1170,
1464      1114, 1006, 1006, 1006, 1169, 1007, 1167, 1166, 1008,  868,
1465       868,  868,  875,  875,  875, 1011, 1011, 1011, 1163, 1012,
1466      1162, 1159, 1013, 1154, 1016, 1016, 1016,  870, 1017, 1153,
1467       877, 1018, 1115,  885,  885,  885, 1021, 1021, 1021, 1125,
1468
1469      1125, 1125, 1152, 1126, 1151, 1150, 1127, 1132, 1132, 1132,
1470      1149,  887, 1148, 1022,  893,  893,  893,  899,  899,  899,
1471      1147, 1135, 1135, 1135, 1133, 1120, 1119,  907,  907,  907,
1472      1143, 1142,  895, 1141, 1034,  901, 1131, 1123, 1136, 1033,
1473      1033, 1033, 1051, 1051, 1051,  909,  735,  735,  735, 1155,
1474      1155, 1155, 1157, 1157, 1157, 1129, 1128, 1034, 1124, 1122,
1475      1130, 1055, 1055, 1055,  737, 1121, 1158, 1056, 1056, 1056,
1476      1160, 1160, 1160, 1155, 1155, 1155, 1164, 1164, 1164, 1118,
1477      1134, 1160, 1160, 1160, 1117, 1137, 1110, 1139, 1109, 1108,
1478      1158, 1164, 1164, 1164, 1096, 1146, 1090, 1065, 1065, 1065,
1479
1480      1089, 1066, 1088, 1140, 1067, 1165,  768,  768,  768, 1156,
1481      1072, 1072, 1072, 1087, 1073, 1086, 1085, 1074,  782,  782,
1482       782, 1077, 1077, 1077,  770, 1079, 1079, 1079, 1078, 1080,
1483      1161, 1075, 1081, 1161, 1071, 1069,  784, 1068, 1082, 1082,
1484      1082, 1156, 1181, 1181, 1181, 1064, 1182, 1063, 1062, 1183,
1485       790,  790,  790, 1061, 1168, 1083, 1091, 1091, 1091, 1191,
1486      1191, 1191, 1060, 1192, 1059, 1058, 1193, 1057,  792, 1093,
1487      1093, 1093, 1054, 1092, 1053, 1171, 1194, 1194, 1194, 1052,
1488      1195, 1050, 1049, 1196, 1045, 1044, 1094, 1199, 1199, 1199,
1489      1098, 1098, 1098, 1201, 1201, 1201, 1043, 1202, 1184, 1042,
1490
1491      1203, 1204, 1204, 1204, 1040, 1200, 1039, 1099, 1101, 1101,
1492      1101, 1038, 1206, 1206, 1206, 1037, 1207, 1036, 1205, 1208,
1493      1209, 1209, 1209, 1029, 1027, 1102, 1856, 1856, 1856, 1212,
1494      1212, 1212,  831,  831,  831, 1026, 1024, 1210,  838,  838,
1495       838, 1023, 1020, 1856, 1015, 1014, 1213, 1111, 1111, 1111,
1496       833, 1219, 1219, 1219, 1005, 1220,  840, 1004, 1221, 1223,
1497      1223, 1223, 1000,  991, 1112,  857,  857,  857, 1227, 1227,
1498      1227, 1229, 1229, 1229,  868,  868,  868, 1224,  990,  989,
1499      1211,  988,  985,  859,  984, 1228, 1215,  983, 1230,  875,
1500       875,  875,  870,  982, 1214, 1233, 1233, 1233, 1235, 1235,
1501
1502      1235,  978,  977, 1232,  885,  885,  885,  877,  893,  893,
1503       893,  975, 1234, 1225,  974, 1236, 1125, 1125, 1125,  973,
1504      1126,  972,  887, 1127,  971,  970,  895, 1132, 1132, 1132,
1505       969, 1243, 1243, 1243,  968, 1244,  965, 1231, 1245,  899,
1506       899,  899,  963,  960, 1133, 1135, 1135, 1135, 1247, 1247,
1507      1247,  957, 1248,  948,  946, 1249, 1241,  901, 1250, 1250,
1508      1250,  942, 1136,  941,  940, 1237, 1256, 1256, 1256,  735,
1509       735,  735, 1268, 1268, 1268,  939, 1251, 1155, 1155, 1155,
1510      1269, 1269, 1269, 1257, 1157, 1157, 1157,  737, 1160, 1160,
1511      1160, 1272, 1272, 1272, 1246, 1274, 1274, 1274, 1164, 1164,
1512
1513      1164, 1278, 1278, 1278,  782,  782,  782, 1283, 1283, 1283,
1514      1181, 1181, 1181,  938, 1182,  937,  936, 1183,  934, 1279,
1515       933,  932,  784,  931, 1284,  930, 1260,  790,  790,  790,
1516      1296, 1296, 1296, 1191, 1191, 1191,  927, 1192,  926,  925,
1517      1193, 1295, 1194, 1194, 1194,  792, 1195, 1297,  924, 1196,
1518      1306, 1306, 1306, 1199, 1199, 1199, 1201, 1201, 1201, 1282,
1519      1202,  923,  922, 1203, 1204, 1204, 1204, 1307, 1308, 1308,
1520      1308, 1200, 1309,  921,  919, 1310, 1206, 1206, 1206,  918,
1521      1207, 1205,  917, 1208, 1209, 1209, 1209, 1311, 1311, 1311,
1522       916, 1312,  915,  914, 1313, 1314, 1314, 1314, 1212, 1212,
1523
1524      1212, 1210, 1316, 1316, 1316,  913, 1317,  912,  721, 1318,
1525       906,  898, 1315,  897,  892, 1213,  831,  831,  831,  838,
1526       838,  838, 1322, 1322, 1322, 1219, 1219, 1219,  891, 1220,
1527       890,  889, 1221,  861,  833,  848,  847,  840,  846, 1323,
1528      1223, 1223, 1223, 1329, 1329, 1329, 1227, 1227, 1227, 1332,
1529      1332, 1332,  842, 1333,  830,  829, 1334,  828, 1224,  827,
1530       812, 1330,  811, 1228, 1319, 1324, 1229, 1229, 1229, 1335,
1531      1335, 1335,  810, 1336,  809,  808, 1337,  804,  803, 1320,
1532       868,  868,  868, 1230,  875,  875,  875, 1233, 1233, 1233,
1533      1340, 1340, 1340,  797, 1341,  789,  788, 1342,  870, 1235,
1534
1535      1235, 1235,  877,  787, 1234, 1343, 1343, 1343,  786, 1344,
1536       781,  778, 1345,  885,  885,  885, 1236,  893,  893,  893,
1537      1243, 1243, 1243,  772, 1244,  767,  766, 1245,  762,  761,
1538      1339,  887,  899,  899,  899,  895, 1247, 1247, 1247,  760,
1539      1248,  759, 1338, 1249, 1250, 1250, 1250, 1256, 1256, 1256,
1540       901, 1357, 1357, 1357,  758, 1358,  757,  756, 1359,  735,
1541       735,  735, 1251,  754, 1257, 1363, 1363, 1363, 1366, 1366,
1542      1366, 1369, 1369, 1369, 1346,  753,  752,  737, 1350,  751,
1543      1352, 1268, 1268, 1268, 1269, 1269, 1269, 1371, 1371, 1371,
1544      1272, 1272, 1272, 1372, 1372, 1372, 1274, 1274, 1274, 1278,
1545
1546      1278, 1278, 1378, 1378, 1378, 1283, 1283, 1283, 1380, 1380,
1547      1380,  750, 1381,  749,  748, 1382,  747, 1279,  746, 1362,
1548      1379,  745, 1284,  790,  790,  790, 1296, 1296, 1296, 1394,
1549      1394, 1394,  744, 1395,  743,  742, 1396, 1397, 1397, 1397,
1550       741,  792,  734, 1297, 1306, 1306, 1306, 1407, 1407, 1407,
1551       733, 1408,  732,  731, 1409, 1308, 1308, 1308,  730, 1309,
1552       729, 1307, 1310, 1311, 1311, 1311,  728, 1312,  727, 1393,
1553      1313, 1314, 1314, 1314, 1410, 1410, 1410,  724, 1411,  722,
1554       721, 1412, 1316, 1316, 1316,  719, 1317,  717, 1315, 1318,
1555       831,  831,  831, 1414, 1414, 1414, 1322, 1322, 1322, 1417,
1556
1557      1417, 1417,  714, 1418,  712,  711, 1419,  710,  833,  708,
1558       707, 1415,  706, 1323, 1329, 1329, 1329, 1332, 1332, 1332,
1559       705, 1333,  704,  702, 1334,  701, 1335, 1335, 1335,  700,
1560      1336,  699, 1330, 1337,  868,  868,  868,  875,  875,  875,
1561      1340, 1340, 1340,  695, 1341,  693,  692, 1342,  691,  690,
1562      1413,  689,  870,  687,  686,  877, 1343, 1343, 1343,  685,
1563      1344,  683,  682, 1345,  681,  885,  885,  885, 1431, 1431,
1564      1431,  893,  893,  893,  899,  899,  899, 1438, 1438, 1438,
1565       678,  677, 1428,  887,  673, 1432, 1441, 1441, 1441,  895,
1566       671,  670,  901,  669,  668,  721,  735,  735,  735, 1429,
1567
1568      1430, 1357, 1357, 1357,  667, 1358,  662,  661, 1359, 1363,
1569      1363, 1363,  659,  658,  737, 1445, 1445, 1445, 1366, 1366,
1570      1366, 1447, 1447, 1447, 1448, 1448, 1448, 1369, 1369, 1369,
1571      1437,  657, 1435, 1371, 1371, 1371, 1372, 1372, 1372, 1452,
1572      1452, 1452, 1378, 1378, 1378, 1380, 1380, 1380,  656, 1381,
1573       655, 1444, 1382,  790,  790,  790, 1453, 1394, 1394, 1394,
1574      1379, 1395,  652,  651, 1396, 1397, 1397, 1397, 1407, 1407,
1575      1407,  792, 1408,  650,  649, 1409, 1410, 1410, 1410,  648,
1576      1411,  646,  643, 1412, 1475, 1475, 1475, 1414, 1414, 1414,
1577      1477, 1477, 1477, 1417, 1417, 1417,  641, 1418,  640,  639,
1578
1579      1419,  637, 1476,  635,  634, 1415,  633, 1478,  632,  629,
1580      1465, 1487, 1487, 1487, 1488, 1488, 1488,  875,  875,  875,
1581       885,  885,  885, 1431, 1431, 1431,  628, 1492, 1492, 1492,
1582       627, 1493, 1489, 1479, 1494,  877,  624,  621,  887,  620,
1583      1432, 1495, 1495, 1495, 1498, 1498, 1498, 1500, 1500, 1500,
1584       899,  899,  899, 1438, 1438, 1438,  618,  615, 1496, 1441,
1585      1441, 1441, 1499, 1505, 1505, 1505,  614,  611,  901,  610,
1586       609,  721,  604, 1490, 1508, 1508, 1508, 1491,  603,  602,
1587      1506, 1445, 1445, 1445, 1447, 1447, 1447, 1448, 1448, 1448,
1588       601,  600, 1509, 1452, 1452, 1452, 1514, 1514, 1514,  599,
1589
1590      1515,  598,  596, 1516,  790,  790,  790, 1535, 1535, 1535,
1591      1453, 1502, 1501, 1475, 1475, 1475, 1477, 1477, 1477, 1537,
1592      1537, 1537,  792, 1538, 1536,  595, 1539, 1545, 1545, 1545,
1593       594, 1476,  593, 1478, 1487, 1487, 1487, 1488, 1488, 1488,
1594      1547, 1547, 1547,  592, 1546,  885,  885,  885,  591, 1492,
1595      1492, 1492,  590, 1493,  585, 1489, 1494,  582, 1548,  584,
1596      1528,  579,  578,  887, 1495, 1495, 1495, 1550, 1550, 1550,
1597       576, 1551,  574,  572, 1552, 1553, 1553, 1553, 1498, 1498,
1598      1498, 1496, 1500, 1500, 1500, 1555, 1555, 1555, 1505, 1505,
1599      1505,  570, 1554, 1560, 1560, 1560, 1499, 1561, 1856,  569,
1600
1601      1562,  568,  567, 1556,  566, 1506,  564,  563, 1549, 1563,
1602      1563, 1563, 1508, 1508, 1508, 1568, 1568, 1568, 1514, 1514,
1603      1514,  562, 1515,  561,  560, 1516, 1564,  790,  790,  790,
1604      1509,  558, 1569, 1535, 1535, 1535, 1590, 1590, 1590,  556,
1605      1591,  554,  553, 1592,  552,  792,  551, 1537, 1537, 1537,
1606      1536, 1538,  550,  548, 1539, 1545, 1545, 1545, 1596, 1596,
1607      1596,  546, 1597,  545,  544, 1598, 1547, 1547, 1547,  885,
1608       885,  885, 1546, 1550, 1550, 1550,  542, 1551,  541,  538,
1609      1552,  537,  536, 1585, 1548,  534,  532,  887, 1553, 1553,
1610      1553, 1600, 1600, 1600,  530, 1601,  528,  527, 1602, 1555,
1611
1612      1555, 1555, 1560, 1560, 1560, 1554, 1561,  524,  523, 1562,
1613      1563, 1563, 1563,  519, 1606, 1606, 1606, 1556, 1607,  518,
1614       517, 1608, 1609, 1609, 1609,  516,  515, 1564, 1568, 1568,
1615      1568, 1599, 1612, 1612, 1612,  514, 1613,  511,  509, 1614,
1616       790,  790,  790,  503,  469, 1569, 1629, 1629, 1629, 1630,
1617      1630, 1630, 1590, 1590, 1590,  469, 1591,  502,  792, 1592,
1618      1636, 1636, 1636, 1596, 1596, 1596, 1631, 1597,  501,  499,
1619      1598,  885,  885,  885, 1600, 1600, 1600, 1637, 1601,  497,
1620       496, 1602, 1642, 1642, 1642, 1609, 1609, 1609, 1628,  887,
1621       495,  493, 1632,  491, 1606, 1606, 1606,  490, 1607, 1643,
1622
1623      1034, 1608, 1612, 1612, 1612,  486, 1613,  485,  483, 1614,
1624      1650, 1650, 1650,  790,  790,  790, 1629, 1629, 1629, 1639,
1625      1630, 1630, 1630, 1636, 1636, 1636,  482, 1651, 1661, 1661,
1626      1661,  792, 1662,  479,  478, 1663,  477, 1631,  475, 1856,
1627      1637, 1669, 1669, 1669,  453, 1670,  452,  450, 1671, 1673,
1628      1673, 1673, 1676, 1676, 1676, 1642, 1642, 1642,  448, 1660,
1629       442, 1678, 1678, 1678,  441, 1679,  442, 1674, 1680, 1677,
1630      1034,  441, 1643, 1034, 1681, 1681, 1681,  440,  439, 1034,
1631      1682, 1682, 1682, 1650, 1650, 1650, 1687, 1687, 1687, 1856,
1632      1688, 1856, 1856, 1689,  790,  790,  790, 1661, 1661, 1661,
1633
1634      1651, 1662, 1856, 1856, 1663, 1701, 1701, 1701, 1856, 1669,
1635      1669, 1669,  792, 1670, 1856, 1856, 1671, 1703, 1703, 1703,
1636      1856, 1856, 1702, 1673, 1673, 1673, 1676, 1676, 1676, 1706,
1637      1706, 1706, 1856, 1707, 1704, 1856, 1708, 1681, 1681, 1681,
1638      1856, 1674, 1856, 1677, 1034, 1856, 1856, 1034, 1678, 1678,
1639      1678, 1856, 1679, 1856, 1856, 1680, 1696, 1682, 1682, 1682,
1640      1856, 1721, 1721, 1721, 1856, 1856, 1034, 1032, 1032, 1032,
1641      1032, 1032, 1032, 1032, 1032, 1032, 1856, 1856, 1032, 1722,
1642      1701, 1701, 1701, 1032, 1032, 1032, 1034, 1032, 1687, 1687,
1643      1687, 1856, 1688, 1856, 1856, 1689, 1856, 1702, 1727, 1727,
1644
1645      1727, 1856, 1728, 1856, 1856, 1729, 1703, 1703, 1703, 1032,
1646      1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1647      1856, 1856, 1032, 1704, 1856, 1856, 1856, 1032, 1032, 1032,
1648      1034, 1032, 1730, 1730, 1730, 1856, 1731, 1856, 1856, 1732,
1649      1706, 1706, 1706, 1856, 1707, 1856, 1856, 1708, 1856, 1856,
1650      1721, 1721, 1721, 1032, 1032, 1758, 1758, 1758, 1034, 1032,
1651      1032, 1032, 1032, 1032, 1739, 1032, 1032, 1032, 1722, 1856,
1652      1032, 1856, 1856, 1034, 1035, 1032, 1032, 1032, 1034, 1032,
1653      1727, 1727, 1727, 1856, 1728, 1856, 1856, 1729, 1730, 1730,
1654      1730, 1856, 1731, 1856, 1856, 1732, 1761, 1761, 1761, 1856,
1655
1656      1856, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1657      1032, 1739, 1856, 1762, 1032, 1763, 1763, 1763, 1856, 1032,
1658      1032, 1032, 1034, 1032, 1765, 1765, 1765, 1768, 1768, 1768,
1659      1856, 1856, 1764, 1774, 1774, 1774, 1758, 1758, 1758, 1856,
1660      1856, 1766, 1856, 1856, 1769, 1032, 1032, 1761, 1761, 1761,
1661      1856,  721, 1856, 1856, 1034, 1778, 1778, 1778, 1856, 1779,
1662      1856, 1856, 1780, 1856, 1762, 1856, 1856, 1767, 1763, 1763,
1663      1763, 1781, 1781, 1781, 1856, 1782, 1856, 1856, 1783, 1765,
1664      1765, 1765, 1856, 1856, 1139, 1764, 1784, 1784, 1784, 1856,
1665      1785, 1856, 1856, 1786, 1856, 1856, 1766, 1768, 1768, 1768,
1666
1667      1788, 1788, 1788, 1856, 1789, 1856, 1856, 1790, 1774, 1774,
1668      1774, 1778, 1778, 1778, 1769, 1779, 1856, 1856, 1780, 1856,
1669      1781, 1781, 1781, 1856, 1782, 1856,  721, 1783, 1784, 1784,
1670      1784, 1856, 1785, 1856, 1856, 1786, 1788, 1788, 1788, 1856,
1671      1789, 1856, 1856, 1790, 1795, 1815, 1815, 1815, 1815, 1815,
1672      1815, 1822, 1822, 1822, 1856, 1823, 1856, 1856, 1824, 1822,
1673      1822, 1822, 1816, 1823, 1856, 1816, 1824, 1828, 1828, 1828,
1674      1828, 1828, 1828, 1856, 1829, 1856, 1856, 1830, 1854, 1854,
1675      1854, 1854, 1854, 1854, 1856,  721, 1856, 1856,  721, 1856,
1676      1856, 1856, 1856, 1856, 1856, 1856, 1855, 1856, 1856, 1855,
1677
1678       188,  188,  188,  188,  188,  188,  188,  188,  188,  189,
1679       189,  189,  189,  189,  189,  189,  189,  189,  194,  194,
1680       194,  194,  194,  194,  194,  194,  194,  197,  197,  197,
1681       197,  197,  197,  197,  197,  197,  200,  200,  200,  200,
1682       200,  200,  200,  200,  200,  203,  203,  203,  203,  203,
1683       203,  203,  203,  203,  210,  210,  210,  210,  210,  210,
1684       210,  210,  210,  218,  218,  218,  218,  218,  218,  218,
1685       218,  218,  223,  223,  223,  223,  223,  223,  223,  223,
1686       223,  234,  234,  234,  234,  234,  234,  234,  234,  234,
1687       245,  245,  245,  245,  245,  245,  245,  245,  245,  252,
1688
1689       252,  252,  252,  252,  252,  252,  252,  252,  260,  260,
1690       260,  260,  260,  260,  260,  260,  260,  266,  266,  266,
1691       266,  266,  266,  266,  266,  266,  272,  272,  272,  272,
1692       272,  272,  272,  272,  272,  277,  277,  277,  277,  277,
1693       277,  277,  277,  277,  306,  306,  306,  306,  306,  306,
1694       306,  306,  306,  322,  322,  322,  322,  322,  322,  322,
1695       322,  322,  328,  328,  328,  328,  328,  328,  328,  328,
1696       328,  332,  332,  332,  332,  332,  332,  332,  332,  332,
1697       338,  338,  338,  338,  338,  338,  338,  338,  338,  345,
1698       345,  345,  345,  345,  345,  345,  345,  345,  352,  352,
1699
1700       352,  352,  352,  352,  352,  352,  352,  357,  357,  357,
1701       357,  357,  357,  357,  357,  357,  365,  365,  365,  365,
1702       365,  365,  365,  365,  365,  371,  371,  371,  371,  371,
1703       371,  371,  371,  371,  378,  378,  378,  378,  378,  378,
1704       378,  378,  378,  382,  382,  382,  382,  382,  382,  382,
1705       382,  382,  388,  388,  388,  388,  388,  388,  388,  388,
1706       388,  394,  394,  394,  394,  394,  394,  394,  394,  394,
1707       401,  401,  401,  401,  401,  401,  401,  401,  401,  408,
1708       408,  408,  408,  408,  408,  408,  408,  408,  416,  416,
1709       416,  416,  416,  416,  416,  416,  416,  420,  420,  420,
1710
1711       420,  420,  420,  420,  420,  420,  426,  426,  426,  426,
1712       426,  426,  426,  426,  426,  431,  431,  431,  431,  431,
1713       431,  431,  431,  431,  451,  451,  451, 1856, 1856, 1856,
1714       451,  476,  476,  476, 1856, 1856, 1856,  476,  484,  484,
1715       484, 1856, 1856, 1856,  484,  494,  494,  494, 1856, 1856,
1716      1856,  494,  500,  500,  500, 1856, 1856, 1856,  500,  510,
1717       510,  510, 1856, 1856, 1856,  510,  520,  520,  520, 1856,
1718      1856, 1856,  520,  531,  531,  531, 1856, 1856, 1856,  531,
1719       535,  535,  535, 1856, 1856, 1856,  535,  543,  543,  543,
1720      1856, 1856, 1856,  543,  549,  549,  549, 1856, 1856, 1856,
1721
1722       549,  555,  555,  555, 1856, 1856, 1856,  555,  559,  559,
1723       559, 1856, 1856, 1856,  559,  565,  565,  565, 1856, 1856,
1724      1856,  565,  573,  573,  573, 1856, 1856, 1856,  573,  577,
1725       577,  577, 1856, 1856, 1856,  577,  581,  581,  581,  581,
1726       581,  581,  581, 1856,  581,  597, 1856, 1856, 1856,  597,
1727       626, 1856, 1856, 1856,  626,  636, 1856, 1856, 1856,  636,
1728       642, 1856, 1856, 1856,  642,  500,  500,  500, 1856, 1856,
1729      1856,  500,  647, 1856, 1856, 1856,  647,  660, 1856, 1856,
1730      1856,  660,  672, 1856, 1856, 1856,  672,  676, 1856, 1856,
1731      1856,  676,  684, 1856, 1856, 1856,  684,  688, 1856, 1856,
1732
1733      1856,  688,  549,  549,  549, 1856, 1856, 1856,  549,  694,
1734      1856, 1856, 1856,  694,  555,  555,  555, 1856, 1856, 1856,
1735       555,  698, 1856, 1856, 1856,  698,  559,  559,  559, 1856,
1736      1856, 1856,  559,  703, 1856, 1856, 1856,  703,  565,  565,
1737       565, 1856, 1856, 1856,  565,  709, 1856, 1856, 1856,  709,
1738       573,  573,  573, 1856, 1856, 1856,  573,  713, 1856, 1856,
1739      1856,  713,  577,  577,  577, 1856, 1856, 1856,  577,  718,
1740      1856, 1856, 1856,  718,  720,  720,  720,  720,  720,  720,
1741       720,  720,  720,  726, 1856, 1856, 1856, 1856,  726,  451,
1742       451,  451, 1856, 1856, 1856,  451,  736,  736,  736,  736,
1743
1744      1856, 1856,  736,  736,  476,  476,  476, 1856, 1856, 1856,
1745       476,  769,  769,  769,  769, 1856, 1856,  769,  769,  484,
1746       484,  484, 1856, 1856, 1856,  484,  783,  783,  783,  783,
1747      1856, 1856,  783,  783,  494,  494,  494, 1856, 1856, 1856,
1748       494,  791,  791,  791,  791, 1856, 1856,  791,  791,  500,
1749       500,  500, 1856, 1856, 1856,  500,  799,  799,  799,  799,
1750      1856, 1856,  799,  799,  510,  510,  510, 1856, 1856, 1856,
1751       510,  814,  814,  814,  814, 1856, 1856,  814,  814,  520,
1752       520,  520, 1856, 1856, 1856,  520,  832,  832,  832,  832,
1753      1856, 1856,  832,  832,  839,  839,  839,  839, 1856, 1856,
1754
1755       839,  839,  535,  535,  535, 1856, 1856, 1856,  535,  850,
1756       850,  850,  850, 1856, 1856,  850,  850,  543,  543,  543,
1757       543, 1856,  543, 1856,  543,  858,  858,  858,  858, 1856,
1758      1856,  858,  858,  549,  549,  549,  549, 1856,  549, 1856,
1759       549,  869,  869,  869,  869, 1856, 1856,  869,  869,  876,
1760       876,  876,  876, 1856, 1856,  876,  876,  559,  559,  559,
1761       559, 1856,  559, 1856,  559,  886,  886,  886,  886, 1856,
1762      1856,  886,  886,  565,  565,  565, 1856, 1856, 1856,  565,
1763       894,  894,  894,  894, 1856, 1856,  894,  894,  573,  573,
1764       573, 1856, 1856, 1856,  573,  900,  900,  900,  900, 1856,
1765
1766      1856,  900,  900,  577,  577,  577, 1856, 1856, 1856,  577,
1767       908,  908,  908,  908, 1856, 1856,  908,  908,  720,  720,
1768       720,  720,  720,  720,  720,  720,  720,  726, 1856,  726,
1769      1856, 1856,  726,  451,  451,  451, 1856, 1856, 1856,  451,
1770       736,  736,  736,  736, 1856, 1856,  736,  736,  476,  476,
1771       476,  476, 1856,  476, 1856,  476,  769,  769,  769,  769,
1772      1856, 1856,  769,  769,  484,  484,  484, 1856, 1856, 1856,
1773       484,  783,  783,  783,  783, 1856, 1856,  783,  783,  494,
1774       494,  494, 1856, 1856, 1856,  494,  791,  791,  791,  791,
1775      1856, 1856,  791,  791,  500,  500,  500, 1856, 1856, 1856,
1776
1777       500,  799,  799,  799,  799, 1856, 1856,  799,  799,  510,
1778       510,  510, 1856, 1856, 1856,  510,  814,  814,  814,  814,
1779      1856, 1856,  814,  814,  520,  520,  520, 1856, 1856, 1856,
1780       520,  832,  832,  832,  832, 1856, 1856,  832,  832,  839,
1781       839,  839,  839, 1856, 1856,  839,  839,  535,  535,  535,
1782      1856, 1856, 1856,  535,  850,  850,  850,  850, 1856, 1856,
1783       850,  850,  858,  858,  858,  858, 1856, 1856,  858,  858,
1784       549,  549,  549, 1856, 1856, 1856,  549,  869,  869,  869,
1785       869, 1856, 1856,  869,  869,  876,  876,  876,  876, 1856,
1786      1856,  876,  876,  559,  559,  559, 1856, 1856, 1856,  559,
1787
1788       886,  886,  886,  886, 1856, 1856,  886,  886,  565,  565,
1789       565, 1856, 1856, 1856,  565,  894,  894,  894,  894, 1856,
1790      1856,  894,  894,  573,  573,  573, 1856, 1856, 1856,  573,
1791       900,  900,  900,  900, 1856, 1856,  900,  900,  577,  577,
1792       577, 1856, 1856, 1856,  577,  908,  908,  908,  908, 1856,
1793      1856,  908,  908,  720,  720,  720,  720,  720,  720,  720,
1794       720,  720, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1795      1032,  451,  451,  451, 1856, 1856, 1856,  451,  736,  736,
1796       736,  736, 1856, 1856,  736,  736,  476,  476,  476, 1856,
1797      1856, 1856,  476,  769,  769,  769,  769, 1856, 1856,  769,
1798
1799       769,  484,  484,  484, 1856, 1856, 1856,  484,  783,  783,
1800       783,  783, 1856, 1856,  783,  783,  494,  494,  494, 1856,
1801      1856, 1856,  494,  791,  791,  791,  791, 1856, 1856,  791,
1802       791,  500,  500,  500, 1856, 1856, 1856,  500,  510,  510,
1803       510, 1856, 1856, 1856,  510,  814,  814,  814,  814, 1856,
1804      1856,  814,  814,  520,  520,  520,  520, 1856,  520, 1856,
1805       520,  832,  832,  832,  832, 1856, 1856,  832,  832,  839,
1806       839,  839,  839, 1856, 1856,  839,  839,  535,  535,  535,
1807      1856, 1856, 1856,  535,  850,  850,  850,  850, 1856, 1856,
1808       850,  850,  858,  858,  858,  858, 1856, 1856,  858,  858,
1809
1810       549,  549,  549, 1856, 1856, 1856,  549,  869,  869,  869,
1811       869, 1856, 1856,  869,  869,  876,  876,  876,  876, 1856,
1812      1856,  876,  876,  559,  559,  559, 1856, 1856, 1856,  559,
1813       886,  886,  886,  886, 1856, 1856,  886,  886,  565,  565,
1814       565, 1856, 1856, 1856,  565,  894,  894,  894,  894, 1856,
1815      1856,  894,  894,  573,  573,  573,  573, 1856,  573, 1856,
1816       573,  900,  900,  900,  900, 1856, 1856,  900,  900,  577,
1817       577,  577,  577, 1856,  577, 1856,  577,  908,  908,  908,
1818       908, 1856, 1856,  908,  908,  720,  720,  720,  720,  720,
1819       720,  720,  720,  720, 1032, 1032, 1032, 1032, 1032, 1032,
1820
1821      1032, 1032, 1032,  451,  451,  451, 1856, 1856, 1856,  451,
1822       736,  736,  736,  736, 1856, 1856,  736,  736,  476,  476,
1823       476, 1856, 1856, 1856,  476,  769,  769,  769,  769, 1856,
1824      1856,  769,  769,  484,  484,  484, 1856, 1856, 1856,  484,
1825       783,  783,  783,  783, 1856, 1856,  783,  783,  494,  494,
1826       494, 1856, 1856, 1856,  494,  791,  791,  791,  791, 1856,
1827      1856,  791,  791,  500,  500,  500, 1856, 1856, 1856,  500,
1828       510,  510,  510, 1856, 1856, 1856,  510,  814,  814,  814,
1829       814, 1856, 1856,  814,  814,  520,  520,  520,  520, 1856,
1830       520, 1856,  520,  832,  832,  832,  832, 1856, 1856,  832,
1831
1832       832,  839,  839,  839,  839, 1856, 1856,  839,  839,  535,
1833       535,  535, 1856, 1856, 1856,  535,  850,  850,  850,  850,
1834      1856, 1856,  850,  850,  858,  858,  858,  858, 1856, 1856,
1835       858,  858,  549,  549,  549,  549, 1856,  549, 1856,  549,
1836       869,  869,  869,  869, 1856, 1856,  869,  869,  876,  876,
1837       876,  876, 1856, 1856,  876,  876,  559,  559,  559,  559,
1838      1856,  559, 1856,  559,  886,  886,  886,  886, 1856, 1856,
1839       886,  886,  565,  565,  565, 1856, 1856, 1856,  565,  894,
1840       894,  894,  894, 1856, 1856,  894,  894,  900,  900,  900,
1841       900, 1856, 1856,  900,  900, 1709, 1709, 1709, 1709, 1709,
1842
1843      1709, 1709, 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710,
1844      1710, 1710, 1710, 1734, 1734, 1734, 1734, 1734, 1734, 1734,
1845      1734, 1734, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
1846      1737, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755,
1847      1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,  187,
1848      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1849      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1850      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1851      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1852      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1853
1854      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1855      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1856     } ;
1857
1858 static yyconst flex_int16_t yy_chk[6620] =
1859     {   0,
1860         0,    3,    3,    3,    4,    4,    4,    5,    5,    5,
1861         6,    6,    6,    7,    7,    7,   11,    3,    9,   12,
1862         4,   10,  254,    5,  285,    9,    6, 1139,   10,    7,
1863         8,    8,    8,  192,   11,   13,   13,   12,   14,   14,
1864        13,   13,  255,   14,   14,  193,    8,   17,   17,  192,
1865        13,   15,   15,   14,   15,  196,   15,   16,   16,  285,
1866        16,  193,   16,   18,   18, 1139,   15,   19,   19,   19,
1867       254,  196,   16,   20,   20,   20,   23,   23,   23,   24,
1868        24,   24,  282,   19,   25,   25,   25,  461,   17,   20,
1869       255,  282,   23,  461, 1461,   24,  190,  190,  190, 1462,
1870
1871        25,  191,  191,  191,   18,   21,   21,   21,   21,   21,
1872        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
1873      1463,   21,   21,   21,   21,   21,   26,   26,   26,   27,
1874        27,   27,  284,   28,   28,   28,   29,   29,   29,   30,
1875        30,   30,   26,  286,  281,   27,  219,   21,   21,   28,
1876       235, 1464,   29,  286,  281,   30,  195,  195,  195,  216,
1877       216,  216,  219,  224,  224,  224,  235,  230,  284,  230,
1878        21,  230,   21,   22,   22,   22,   22,   22,   22,   22,
1879        22,   22,   22,   22,   22,   22,   22,   22,  281,   22,
1880        22,   22,   22,   22,   31,   31,   31,   32,   32,   32,
1881
1882      1031,   33,   33,   33,   34,   34,   34,   35,   35,   35,
1883        31,  287,  290,   32, 1253,   22,   22,   33,  228,  316,
1884        34,  226, 1031,   35,  292,   36,   36,   36,   37,   37,
1885        37,   38,   38,   38,   39,   39,   39,  290,   22,  316,
1886        22,   36, 1253,  466,   37,  214,  287,   38,  246,  466,
1887        39,   40,   40,   40,   41,   41,   41,   42,   42,   42,
1888       292,  214,  226,  301,  246,  226,  228,   40,  228,  226,
1889        41,  226,  301,   42,   43,   43,   43,   43,   43,   43,
1890        43,   43,   43,   43,   43,   43,   43,   43,   43, 1466,
1891        43,   43,   43,   43,   43,   49,   49,   49,  319, 1467,
1892
1893       214,  319,   50,   50,   50,   51,   51,   51,   45,   45,
1894       261,   49,  273,   45,   46,   46,   43,   43,   50,   46,
1895       308,   51,  444,   45,   43,  444,  261,   43,  273,   46,
1896       232,  232,  232,   43,   44,   44,   44,   44,   44,   44,
1897        44,   44,   44,   44,   44,   44,   44,   44,   44,   45,
1898        44,   44,   44,   44,   44,   46,   52,   52,   52,   53,
1899        53,   53,   54,   54,   54,   55,   55,   55,  308,   56,
1900        56,   56,   52,  240,  662,   53,   44,   44,   54, 1468,
1901       240,   55,  723,  662,   44,   56,  723,   44,  480,  240,
1902       243,  243,  243,   44,   47,   47,   47,   47,   47,   47,
1903
1904        47,   47,   47,   47,   47,   47,   47,   47,   47,  227,
1905        47,   47,   47,   47,   47,   59,   59,   59,   60,   60,
1906        60,  480,   63,   63,   63,   64,   64,   64,   65,   65,
1907        65,   59,  268,  462,   60,  227,   47,   47,   63,  268,
1908       227,   64,  467,  227,   65,   47,  462,   47,  268,  227,
1909        47,  227,  253,  253,  253,  467,   47,   48,   48,   48,
1910        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
1911        48,   48,  289,   48,   48,   48,   48,   48,   66,   66,
1912        66,   67,   67,   67,  344,   68,   68,   68,   69,   69,
1913        69,   70,   70,   70,   66,  344,  470,   67,  250,   48,
1914
1915        48,   68,  250,  289,   69,  472,  250,   70,   48,  470,
1916        48,  288,  289,   48,  258,  258,  258, 1254,  472,   48,
1917        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1918        57,   57,   57,   57,   57, 1469,   57,   57,   57,   57,
1919        57,   71,   71,   71,   72,   72,   72,  288,   73,   73,
1920        73,   74,   74,   74,   75,   75,   75,   71, 1470, 1254,
1921        72,  288,   57,   57,   73,  298,  314,   74, 1472,   57,
1922        75,  267,  267,  267,   57,  270,  270,  270,  278,  278,
1923       278,  298,  314,   57,   58,   58,   58,   58,   58,   58,
1924        58,   58,   58,   58,   58,   58,   58,   58,   58,  747,
1925
1926        58,   58,   58,   58,   58,   76,   76,   76,   77,   77,
1927        77,  747,   78,   78,   78,   79,   79,   79,   80,   80,
1928        80,   76, 1479, 1480,   77, 1303,   58,   58,   78,  329,
1929       339,   79, 1303,   58,   80,  295,  295,  295,   58,  307,
1930       307,  307,  311,  311,  311,  329,  339,   58,   61,   61,
1931        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
1932        61,   61,   61,  280,   61,   61,   61,   61,   61,   81,
1933        81,   81,   82,   82,   82, 1481,   83,   83,   83,   84,
1934        84,   84,   85,   85,   85,   81,  324,  473,   82,  347,
1935        61,   61,   83,  324,  280,   84,  753,  280,   85, 1482,
1936
1937       473,   61,  324,  280,  323,  323,  323,  359,  753,   61,
1938        62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
1939        62,   62,   62,   62,   62, 1440,   62,   62,   62,   62,
1940        62,   86,   86,   86,   87,   87,   87,  347,   88,   88,
1941        88,   89,   89,   89,   90,   90,   90,   86,  506, 1140,
1942        87,  359,   62,   62,   88,  360, 1484,   89,  786, 1440,
1943        90,  506,  353,   62,   91,   91,   91,   92,   92,   92,
1944       786,   62,   93,   93,   93,   94,   94,   94,  353, 1140,
1945        91,  492,  334,   92,   95,   95,   95,  492,   93,  334,
1946       911,   94,   96,   96,   96,   97,   97,   97,  334,  360,
1947
1948        95,   98,   98,   98,   99,   99,   99, 1175,   96,  911,
1949      1040,   97,  100,  100,  100, 1175, 1040,   98, 1439,  366,
1950        99,  101,  101,  101,  102,  102,  102, 1510,  100,  103,
1951       103,  103,  104,  104,  104,  366, 1179,  101, 1511, 1304,
1952       102,  326,  326,  326, 1179,  103, 1304, 1439,  104,  105,
1953       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1954       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1955       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1956       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1957       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1958
1959       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
1960       105,  105,  105,  105,  105,  105,  105,  105,  107,  107,
1961       107,  108,  108,  108,  109,  109,  109,  110,  110,  110,
1962       111,  111,  111, 1252,  107, 1326, 1512,  108, 1327, 1252,
1963       109, 1517, 1326,  110, 1518, 1327,  111,  112,  112,  112,
1964       113,  113,  113,  114,  114,  114,  333,  333,  333,  336,
1965       336,  336, 1519,  112, 1520, 1521,  113, 1522, 1523,  114,
1966       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1967       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1968       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1969
1970       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1971       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1972       115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1973       115,  115,  115,  115,  115,  115,  115,  115,  115,  117,
1974       117,  117,  118,  118,  118,  346,  346,  346,  350,  350,
1975       350,  358,  358,  358,  373,  117,  396, 1524,  118,  119,
1976       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
1977       119,  119,  119,  119, 1515,  119,  119,  119,  119,  119,
1978       121,  121,  121,  122,  122,  122, 1515,  125,  125,  125,
1979       126,  126,  126,  127,  127,  127,  121,  508,  373,  122,
1980
1981       396,  119,  119,  125, 1502, 1525,  126, 1526, 1355,  127,
1982       508, 1527,  119,  120,  120,  120,  120,  120,  120,  120,
1983       120,  120,  120,  120,  120,  120,  120,  120, 1503,  120,
1984       120,  120,  120,  120,  128,  128,  128,  129,  129,  129,
1985      1502,  130,  130,  130,  131,  131,  131,  132,  132,  132,
1986       128, 1355, 1080,  129, 1529,  120,  120,  130, 1080, 1530,
1987       131, 1080, 1503,  132, 1531, 1080,  120,  123,  123,  123,
1988       123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
1989       123,  123, 1516,  123,  123,  123,  123,  123,  135,  135,
1990       135,  136,  136,  136, 1516,  137,  137,  137,  138,  138,
1991
1992       138,  139,  139,  139,  135,  379, 1081,  136, 1532,  123,
1993       123,  137, 1081,  123,  138, 1081, 1540,  139, 1354, 1081,
1994       123,  379,  123,  363,  363,  363,  372,  372,  372,  123,
1995       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1996       124,  124,  124,  124,  124, 1541,  124,  124,  124,  124,
1997       124,  140,  140,  140,  141,  141,  141, 1354,  142,  142,
1998       142,  145,  145,  145,  146,  146,  146,  140,  384, 1504,
1999       141, 1542,  124,  124,  142,  384,  124,  145, 1566, 1567,
2000       146, 1570, 1558,  124,  384,  124,  376,  376,  376,  383,
2001       383,  383,  124,  133,  133,  133,  133,  133,  133,  133,
2002
2003       133,  133,  133,  133,  133,  133,  133,  133, 1504,  133,
2004       133,  133,  133,  133,  147,  147,  147,  148,  148,  148,
2005      1558,  149,  149,  149,  150,  150,  150,  151,  151,  151,
2006       147,  389, 1571,  148, 1572,  133,  133,  149,  402, 1573,
2007       150,  133, 1574,  151,  386,  386,  386,  389,  395,  395,
2008       395,  399,  399,  399,  402,  133,  134,  134,  134,  134,
2009       134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
2010       134, 1557,  134,  134,  134,  134,  134,  152,  152,  152,
2011       155,  155,  155, 1575,  156,  156,  156,  159,  159,  159,
2012       160,  160,  160,  152,  417,  422,  155, 1557,  134,  134,
2013
2014       156,  427,  422,  159,  134, 1576,  160,  409,  409,  409,
2015       417,  422,  410,  414,  414,  414, 1577,  427,  134,  143,
2016       143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
2017       143,  143,  143,  143, 1578,  143,  143,  143,  143,  143,
2018       161,  161,  161,  162,  162,  162,  410,  163,  163,  163,
2019       164,  164,  164,  165,  165,  165,  161, 1580, 1581,  162,
2020       410,  143,  143,  163, 1582,  435,  164,  143, 1583,  165,
2021       143,  421,  421,  421,  424,  424,  424,  432,  432,  432,
2022       435,  143,  144,  144,  144,  144,  144,  144,  144,  144,
2023       144,  144,  144,  144,  144,  144,  144, 1559,  144,  144,
2024
2025       144,  144,  144,  166,  166,  166,  169,  169,  169, 1588,
2026       170,  170,  170,  171,  171,  171,  172,  172,  172,  166,
2027       433, 1589,  169, 1593,  144,  144,  170,  433, 1595,  171,
2028       144, 1610,  172,  144, 1611, 1559,  433,  434,  434,  434,
2029      1603,  443,  443,  443,  144,  153,  153,  153,  153,  153,
2030       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
2031      1615,  153,  153,  153,  153,  153,  173,  173,  173,  174,
2032       174,  174, 1616,  175,  175,  175,  176,  176,  176,  179,
2033       179,  179,  173, 1617, 1603,  174, 1618,  153,  153,  175,
2034      1620, 1621,  176, 1622, 1604,  179,  443, 1623,  153,  154,
2035
2036       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
2037       154,  154,  154,  154, 1624,  154,  154,  154,  154,  154,
2038       180,  180,  180,  183,  183,  183, 1604,  184,  184,  184,
2039       478,  478,  478,  583, 1625,  206,  180, 1626, 1627,  183,
2040       279,  154,  154,  184,  739,  739,  739,  478,  583, 1632,
2041       279, 1634,  154,  157,  157,  157,  157,  157,  157,  157,
2042       157,  157,  157,  157,  157,  157,  157,  157, 1635,  157,
2043       157,  157,  157,  157,  206,  279,  486,  486,  486, 1638,
2044       206,  501,  501,  501,  206,  512,  512,  512, 1646,  206,
2045       279, 1647,  279,  486, 1648,  157,  157, 1138,  501, 1633,
2046
2047      1633,  157,  512, 1649,  157,  586,  586,  586, 1652,  586,
2048       599,  599,  599, 1138, 1653,  157,  158,  158,  158,  158,
2049       158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
2050       158, 1640,  158,  158,  158,  158,  158,  522,  522,  522,
2051       523,  523,  523,  532,  532,  532,  537,  537,  537,  556,
2052       556,  556, 1655, 1656,  522, 1657, 1659,  523,  158,  158,
2053       532, 1664, 1640,  537,  158, 1665,  556,  158, 1666, 1667,
2054       599, 1683,  614,  614,  614,  649,  649,  649,  158,  167,
2055       167,  167,  167,  167,  167,  167,  167,  167,  167,  167,
2056       167,  167,  167,  167, 1684,  167,  167,  167,  167,  167,
2057
2058       578,  578,  578, 1685, 1686,  597,  597,  597, 1690,  598,
2059       598,  598, 1691,  622,  622,  622, 1692,  578,  626,  626,
2060       626,  167,  167,  597,  755,  755,  755,  598, 1675,  167,
2061       622,  167,  614,  167, 1693,  649,  626,  651,  651,  651,
2062      1694,  167,  168,  168,  168,  168,  168,  168,  168,  168,
2063       168,  168,  168,  168,  168,  168,  168, 1695,  168,  168,
2064       168,  168,  168,  598,  623,  623,  623, 1675,  623, 1697,
2065      1698,  623,  627,  627,  627, 1699,  630,  630,  630,  631,
2066       631,  631, 1700,  631,  168,  168,  631,  925,  925,  925,
2067       627, 1711,  168,  630,  168, 1713,  168,  651,  929,  929,
2068
2069       929,  933,  933,  933,  168,  177,  177,  177,  177,  177,
2070       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
2071      1716,  177,  177,  177,  177,  177,  632,  632,  632,  634,
2072       634,  634,  627,  636,  636,  636,  642,  642,  642,  643,
2073       643,  643, 1707,  632, 1705, 1717,  634,  177,  177, 1719,
2074      1708,  636, 1720, 1723,  642, 1724, 1707,  643,  645,  645,
2075       645, 1708,  645, 1725, 1726,  645,  959,  959,  959, 1733,
2076       177,  178,  178,  178,  178,  178,  178,  178,  178,  178,
2077       178,  178,  178,  178,  178,  178, 1705,  178,  178,  178,
2078       178,  178, 1736, 1734,  644,  644,  644, 1735, 1735,  643,
2079
2080       647,  647,  647,  653,  653,  653, 1733, 1734,  637,  637,
2081       637,  644, 1738,  178,  178,  654,  654,  654,  647,  654,
2082       653, 1740,  654,  664,  664,  664,  637,  664, 1741, 1750,
2083       664, 1046, 1046, 1046, 1751, 1752,  178,  181,  181,  181,
2084       181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
2085       181,  181,  637,  181,  181,  181,  181,  181,  648,  648,
2086       648, 1753, 1755,  660,  660,  660, 1731,  661,  661,  661,
2087       663,  663,  663, 1047, 1047, 1047,  648, 1731, 1732,  181,
2088       181,  660,  665,  665,  665,  661, 1737,  663, 1756, 1732,
2089       181,  666,  666,  666,  648,  666, 1757, 1737,  666,  665,
2090
2091      1759, 1760,  181,  182,  182,  182,  182,  182,  182,  182,
2092       182,  182,  182,  182,  182,  182,  182,  182, 1767,  182,
2093       182,  182,  182,  182,  661,  667,  667,  667, 1770,  672,
2094       672,  672, 1771,  673,  673,  673,  674,  674,  674,  676,
2095       676,  676,  667, 1772, 1773,  182,  182,  672,  675,  675,
2096       675,  673,  675,  674, 1775,  675,  182,  676, 1787,  677,
2097       677,  677,  679,  679,  679,  684,  684,  684,  182,  225,
2098      1791,  680,  680,  680, 1792,  680,  225,  677,  680,  679,
2099       685,  685,  685,  684, 1793,  225,  225,  673,  686,  686,
2100       686,  687,  687,  687, 1794,  688,  688,  688,  685, 1797,
2101
2102       689,  689,  689, 1795, 1798,  686, 1799, 1800,  687, 1801,
2103       225,  225,  225,  688, 1803, 1804,  677,  225,  689, 1802,
2104       225,  691,  691,  691,  225, 1795,  225, 1805,  225,  692,
2105       692,  692,  685,  693,  693,  693, 1806, 1802,  691, 1807,
2106       694,  694,  694,  695,  695,  695,  692,  696,  696,  696,
2107       693, 1810,  697,  697,  697, 1808,  697,  689,  694,  697,
2108      1811,  695, 1812, 1813,  696,  698,  698,  698,  699,  699,
2109       699,  700,  700,  700, 1808, 1817,  692, 1819, 1814,  695,
2110       701,  701,  701,  698, 1814, 1835,  699, 1831,  700, 1841,
2111       692,  702,  702,  702,  703,  703,  703,  701,  704,  704,
2112
2113       704,  709,  709,  709,  710,  710,  710, 1833,  702,  926,
2114       926,  926,  703,  713,  713,  713,  704, 1835, 1841,  709,
2115       699, 1831,  710,  926,  714,  714,  714,  701,  715,  715,
2116       715,  713,  716,  716,  716, 1836,  716, 1832, 1460,  716,
2117      1829,  701,  714, 1839, 1833,  715, 1837, 1830,  718,  718,
2118       718,  719,  719,  719,  735,  735,  735,  736,  736,  736,
2119       738,  738,  738, 1821,  710,  704,  718, 1836, 1459,  719,
2120      1458, 1832,  735, 1843, 1840,  736, 1821, 1839,  738,  762,
2121       762,  762, 1843, 1829,  714,  763,  763,  763, 1837,  763,
2122      1830, 1838,  763,  766,  766,  766,  762,  768,  768,  768,
2123
2124       769,  769,  769, 1842,  738,  771,  771,  771, 1840, 1834,
2125       766,  719,  773,  773,  773,  768,  773, 1457,  769,  773,
2126       776,  776,  776,  771,  777,  777,  777, 1456,  777, 1455,
2127      1851,  777, 1842, 1838,  778,  778,  778,  776,  779,  779,
2128       779,  780,  780,  780, 1851,  780, 1834, 1845,  780,  771,
2129       766,  778,  782,  782,  782,  779,  783,  783,  783,  785,
2130       785,  785,  788,  788,  788,  790,  790,  790, 1847, 1844,
2131       782,  791,  791,  791,  783, 1454, 1845,  785, 1844,  788,
2132       793,  793,  793,  790,  794,  794,  794, 1846,  794,  791,
2133      1848,  794,  798,  798,  798,  799,  799,  799,  793,  801,
2134
2135       801,  801,  805,  805,  805, 1451,  805, 1450, 1849,  805,
2136       798, 1449, 1847,  799, 1446,  785, 1846,  801,  813,  813,
2137       813,  814,  814,  814,  793,  816,  816,  816,  819,  819,
2138       819, 1443,  819, 1434, 1848,  819,  813, 1849, 1426,  814,
2139       822,  822,  822,  816,  822, 1850, 1852,  822,  825,  825,
2140       825,  826,  826,  826, 1425,  826, 1424, 1852,  826,  831,
2141       831,  831,  832,  832,  832,  825,  834,  834,  834,  835,
2142       835,  835, 1423,  835, 1850, 1422,  835,  831, 1421, 1420,
2143       832,  838,  838,  838,  834, 1406,  816,  839,  839,  839,
2144       841,  841,  841,  843,  843,  843, 1405,  843, 1404,  838,
2145
2146       843,  849,  849,  849, 1403,  839, 1402, 1401,  841,  850,
2147       850,  850,  852,  852,  852,  853,  853,  853, 1400,  849,
2148      1399,  854,  854,  854, 1398,  854, 1392,  850,  854,  834,
2149       852, 1391,  853,  855,  855,  855,  856,  856,  856, 1390,
2150       856, 1389, 1388,  856,  857,  857,  857,  858,  858,  858,
2151       855, 1387, 1386,  841,  860,  860,  860,  862,  862,  862,
2152      1385, 1384,  857, 1383, 1377,  858, 1374, 1373,  852,  863,
2153       863,  863,  860,  863,  862, 1370,  863,  866,  866,  866,
2154       867,  867,  867, 1365,  867, 1361, 1360,  867,  868,  868,
2155       868,  869,  869,  869,  866,  871,  871,  871,  872,  872,
2156
2157       872, 1351,  872, 1349, 1348,  872,  868, 1331, 1328,  869,
2158       875,  875,  875,  871,  876,  876,  876,  860,  878,  878,
2159       878,  879,  879,  879,  883,  883,  883, 1325,  875,  885,
2160       885,  885,  876,  880,  880,  880,  878,  880,  879, 1324,
2161       880,  883,  884,  884,  884, 1321,  884,  885, 1305,  884,
2162       886,  886,  886, 1302, 1301,  871, 1300,  888,  888,  888,
2163       890,  890,  890,  893,  893,  893, 1299, 1294,  886,  894,
2164       894,  894, 1293, 1292,  878,  888, 1291,  890,  896,  896,
2165       896,  893,  899,  899,  899, 1290, 1289,  894,  900,  900,
2166       900,  902,  902,  902, 1288, 1287,  896,  903,  903,  903,
2167
2168       899,  903, 1286, 1285,  903, 1281,  900, 1280, 1277,  902,
2169       907,  907,  907, 1276, 1275,  888,  908,  908,  908,  910,
2170       910,  910, 1270, 1266,  912,  912,  912, 1265,  907,  920,
2171       920,  920, 1263, 1262,  908,  896, 1259,  910,  934,  934,
2172       934,  902,  912,  912,  943,  943,  943,  920, 1258,  944,
2173       944,  944,  934,  944, 1255, 1242,  944,  947,  947,  947,
2174      1240,  943,  949,  949,  949, 1239,  949, 1238, 1226,  949,
2175       952,  952,  952, 1222, 1221,  947,  910,  953,  953,  953,
2176      1220,  953, 1218, 1216,  953, 1197, 1196,  952,  954,  954,
2177       954,  920,  954, 1195, 1190,  954,  958,  958,  958,  961,
2178
2179       961,  961, 1189,  947,  962,  962,  962, 1188,  962, 1187,
2180      1186,  962, 1180, 1178,  958, 1177,  961,  963,  963,  963,
2181       964,  964,  964,  966,  966,  966, 1176,  973,  973,  973,
2182       974,  974,  974, 1174,  963,  976,  976,  976,  964, 1173,
2183      1170,  966, 1169,  958,  973, 1167, 1166,  974,  977,  977,
2184       977, 1165, 1162,  976,  978,  978,  978,  979,  979,  979,
2185      1159,  979, 1158, 1153,  979,  977,  964,  982,  982,  982,
2186      1152,  978, 1151,  974,  983,  983,  983,  984,  984,  984,
2187      1150,  985,  985,  985,  982,  986,  986,  986,  987,  987,
2188       987,  983, 1149, 1148,  984, 1147, 1145,  976,  985, 1144,
2189
2190       991,  991,  991,  986, 1142, 1131,  987,  992,  992,  992,
2191      1129,  993,  993,  993, 1128,  993,  978,  991,  993, 1124,
2192      1116,  984,  996,  996,  996,  992,  996, 1113, 1110,  996,
2193       999,  999,  999, 1109, 1108, 1000, 1000, 1000, 1096, 1095,
2194       983, 1090, 1089,  991, 1088, 1087,  986,  985,  999, 1000,
2195       987, 1001, 1001, 1001, 1086, 1001, 1085, 1078, 1001, 1075,
2196       992, 1006, 1006, 1006, 1071, 1006, 1069, 1068, 1006, 1009,
2197      1009, 1009, 1010, 1010, 1010, 1011, 1011, 1011, 1060, 1011,
2198      1059, 1057, 1011, 1052, 1016, 1016, 1016, 1009, 1016, 1050,
2199      1010, 1016,  999, 1019, 1019, 1019, 1021, 1021, 1021, 1022,
2200
2201      1022, 1022, 1049, 1022, 1048, 1045, 1022, 1027, 1027, 1027,
2202      1044, 1019, 1043, 1021, 1025, 1025, 1025, 1028, 1028, 1028,
2203      1042, 1029, 1029, 1029, 1027, 1010, 1009, 1030, 1030, 1030,
2204      1039, 1038, 1025, 1035, 1032, 1028, 1026, 1019, 1029, 1033,
2205      1033, 1033, 1051, 1051, 1051, 1030, 1041, 1041, 1041, 1053,
2206      1053, 1053, 1054, 1054, 1054, 1024, 1023, 1033, 1020, 1015,
2207      1025, 1055, 1055, 1055, 1041, 1014, 1054, 1056, 1056, 1056,
2208      1058, 1058, 1058, 1061, 1061, 1061, 1062, 1062, 1062, 1005,
2209      1028, 1063, 1063, 1063, 1004, 1030,  990, 1033,  989,  988,
2210      1062, 1064, 1064, 1064,  975, 1041,  972, 1065, 1065, 1065,
2211
2212       971, 1065,  970, 1033, 1065, 1064, 1070, 1070, 1070, 1053,
2213      1072, 1072, 1072,  969, 1072,  968,  965, 1072, 1076, 1076,
2214      1076, 1077, 1077, 1077, 1070, 1079, 1079, 1079,  960, 1079,
2215      1058,  957, 1079, 1061,  948,  946, 1076,  945, 1082, 1082,
2216      1082, 1063, 1083, 1083, 1083,  942, 1083,  941,  940, 1083,
2217      1084, 1084, 1084,  939, 1070, 1082, 1091, 1091, 1091, 1092,
2218      1092, 1092,  938, 1092,  937,  936, 1092,  935, 1084, 1093,
2219      1093, 1093,  932, 1091,  931, 1076, 1094, 1094, 1094,  930,
2220      1094,  928,  927, 1094,  924,  923, 1093, 1097, 1097, 1097,
2221      1098, 1098, 1098, 1099, 1099, 1099,  922, 1099, 1084,  921,
2222
2223      1099, 1100, 1100, 1100,  919, 1097,  918, 1098, 1101, 1101,
2224      1101,  917, 1102, 1102, 1102,  916, 1102,  915, 1100, 1102,
2225      1103, 1103, 1103,  906,  898, 1101, 1104, 1104, 1104, 1105,
2226      1105, 1105, 1106, 1106, 1106,  897,  892, 1103, 1107, 1107,
2227      1107,  891,  889, 1104,  882,  881, 1105, 1111, 1111, 1111,
2228      1106, 1112, 1112, 1112,  865, 1112, 1107,  864, 1112, 1114,
2229      1114, 1114,  861,  848, 1111, 1115, 1115, 1115, 1117, 1117,
2230      1117, 1118, 1118, 1118, 1119, 1119, 1119, 1114,  847,  846,
2231      1104,  842,  830, 1115,  829, 1117, 1107,  828, 1118, 1120,
2232      1120, 1120, 1119,  827, 1106, 1121, 1121, 1121, 1122, 1122,
2233
2234      1122,  818,  817, 1120, 1123, 1123, 1123, 1120, 1130, 1130,
2235      1130,  812, 1121, 1115,  811, 1122, 1125, 1125, 1125,  810,
2236      1125,  809, 1123, 1125,  808,  804, 1130, 1132, 1132, 1132,
2237       803, 1133, 1133, 1133,  802, 1133,  797, 1119, 1133, 1134,
2238      1134, 1134,  789,  787, 1132, 1135, 1135, 1135, 1136, 1136,
2239      1136,  781, 1136,  772,  767, 1136, 1130, 1134, 1137, 1137,
2240      1137,  761, 1135,  760,  759, 1123, 1143, 1143, 1143, 1146,
2241      1146, 1146, 1154, 1154, 1154,  758, 1137, 1155, 1155, 1155,
2242      1156, 1156, 1156, 1143, 1157, 1157, 1157, 1146, 1160, 1160,
2243      1160, 1161, 1161, 1161, 1134, 1163, 1163, 1163, 1164, 1164,
2244
2245      1164, 1168, 1168, 1168, 1171, 1171, 1171, 1172, 1172, 1172,
2246      1181, 1181, 1181,  757, 1181,  756,  754, 1181,  752, 1168,
2247       751,  750, 1171,  749, 1172,  748, 1146, 1184, 1184, 1184,
2248      1185, 1185, 1185, 1191, 1191, 1191,  746, 1191,  745,  744,
2249      1191, 1184, 1194, 1194, 1194, 1184, 1194, 1185,  743, 1194,
2250      1198, 1198, 1198, 1199, 1199, 1199, 1201, 1201, 1201, 1171,
2251      1201,  742,  741, 1201, 1204, 1204, 1204, 1198, 1205, 1205,
2252      1205, 1199, 1205,  740,  734, 1205, 1206, 1206, 1206,  733,
2253      1206, 1204,  732, 1206, 1209, 1209, 1209, 1210, 1210, 1210,
2254       731, 1210,  728,  727, 1210, 1211, 1211, 1211, 1212, 1212,
2255
2256      1212, 1209, 1213, 1213, 1213,  726, 1213,  724,  720, 1213,
2257       717,  712, 1211,  711,  708, 1212, 1214, 1214, 1214, 1215,
2258      1215, 1215, 1217, 1217, 1217, 1219, 1219, 1219,  707, 1219,
2259       706,  705, 1219,  690, 1214,  683,  682, 1215,  681, 1217,
2260      1223, 1223, 1223, 1225, 1225, 1225, 1227, 1227, 1227, 1228,
2261      1228, 1228,  678, 1228,  671,  670, 1228,  669, 1223,  668,
2262       659, 1225,  658, 1227, 1214, 1217, 1229, 1229, 1229, 1230,
2263      1230, 1230,  657, 1230,  656,  655, 1230,  652,  650, 1215,
2264      1231, 1231, 1231, 1229, 1232, 1232, 1232, 1233, 1233, 1233,
2265      1234, 1234, 1234,  646, 1234,  641,  640, 1234, 1231, 1235,
2266
2267      1235, 1235, 1232,  639, 1233, 1236, 1236, 1236,  638, 1236,
2268       635,  633, 1236, 1237, 1237, 1237, 1235, 1241, 1241, 1241,
2269      1243, 1243, 1243,  629, 1243,  625,  624, 1243,  621,  620,
2270      1232, 1237, 1246, 1246, 1246, 1241, 1247, 1247, 1247,  619,
2271      1247,  618, 1231, 1247, 1250, 1250, 1250, 1256, 1256, 1256,
2272      1246, 1257, 1257, 1257,  617, 1257,  616,  615, 1257, 1260,
2273      1260, 1260, 1250,  613, 1256, 1261, 1261, 1261, 1264, 1264,
2274      1264, 1267, 1267, 1267, 1237,  612,  611, 1260, 1241,  610,
2275      1246, 1268, 1268, 1268, 1269, 1269, 1269, 1271, 1271, 1271,
2276      1272, 1272, 1272, 1273, 1273, 1273, 1274, 1274, 1274, 1278,
2277
2278      1278, 1278, 1282, 1282, 1282, 1283, 1283, 1283, 1284, 1284,
2279      1284,  609, 1284,  608,  607, 1284,  606, 1278,  605, 1260,
2280      1282,  604, 1283, 1295, 1295, 1295, 1296, 1296, 1296, 1297,
2281      1297, 1297,  603, 1297,  602,  601, 1297, 1298, 1298, 1298,
2282       600, 1295,  596, 1296, 1306, 1306, 1306, 1307, 1307, 1307,
2283       595, 1307,  594,  592, 1307, 1308, 1308, 1308,  591, 1308,
2284       590, 1306, 1308, 1311, 1311, 1311,  589, 1311,  588, 1295,
2285      1311, 1314, 1314, 1314, 1315, 1315, 1315,  584, 1315,  582,
2286       581, 1315, 1316, 1316, 1316,  580, 1316,  579, 1314, 1316,
2287      1319, 1319, 1319, 1320, 1320, 1320, 1322, 1322, 1322, 1323,
2288
2289      1323, 1323,  575, 1323,  574,  571, 1323,  570, 1319,  569,
2290       568, 1320,  567, 1322, 1329, 1329, 1329, 1332, 1332, 1332,
2291       566, 1332,  563,  562, 1332,  561, 1335, 1335, 1335,  560,
2292      1335,  557, 1329, 1335, 1338, 1338, 1338, 1339, 1339, 1339,
2293      1340, 1340, 1340,  553, 1340,  552,  551, 1340,  550,  547,
2294      1319,  546, 1338,  545,  544, 1339, 1343, 1343, 1343,  541,
2295      1343,  540,  539, 1343,  538, 1346, 1346, 1346, 1347, 1347,
2296      1347, 1350, 1350, 1350, 1352, 1352, 1352, 1353, 1353, 1353,
2297       536,  533, 1338, 1346,  529, 1347, 1356, 1356, 1356, 1350,
2298       528,  527, 1352,  526,  525, 1353, 1362, 1362, 1362, 1339,
2299
2300      1346, 1357, 1357, 1357,  524, 1357,  521,  518, 1357, 1363,
2301      1363, 1363,  517,  516, 1362, 1364, 1364, 1364, 1366, 1366,
2302      1366, 1367, 1367, 1367, 1368, 1368, 1368, 1369, 1369, 1369,
2303      1352,  515, 1350, 1371, 1371, 1371, 1372, 1372, 1372, 1376,
2304      1376, 1376, 1378, 1378, 1378, 1380, 1380, 1380,  514, 1380,
2305       513, 1362, 1380, 1393, 1393, 1393, 1376, 1394, 1394, 1394,
2306      1378, 1394,  511,  507, 1394, 1397, 1397, 1397, 1407, 1407,
2307      1407, 1393, 1407,  505,  504, 1407, 1410, 1410, 1410,  503,
2308      1410,  502,  498, 1410, 1413, 1413, 1413, 1414, 1414, 1414,
2309      1416, 1416, 1416, 1417, 1417, 1417,  497, 1417,  496,  495,
2310
2311      1417,  491, 1413,  490,  489, 1414,  488, 1416,  487,  485,
2312      1393, 1427, 1427, 1427, 1428, 1428, 1428, 1429, 1429, 1429,
2313      1430, 1430, 1430, 1431, 1431, 1431,  482, 1432, 1432, 1432,
2314       481, 1432, 1428, 1416, 1432, 1429,  479,  477, 1430,  474,
2315      1431, 1433, 1433, 1433, 1435, 1435, 1435, 1436, 1436, 1436,
2316      1437, 1437, 1437, 1438, 1438, 1438,  471,  469, 1433, 1441,
2317      1441, 1441, 1435, 1442, 1442, 1442,  468,  465, 1437,  464,
2318       463, 1438,  460, 1429, 1444, 1444, 1444, 1430,  459,  458,
2319      1442, 1445, 1445, 1445, 1447, 1447, 1447, 1448, 1448, 1448,
2320       457,  456, 1444, 1452, 1452, 1452, 1453, 1453, 1453,  455,
2321
2322      1453,  454,  453, 1453, 1465, 1465, 1465, 1474, 1474, 1474,
2323      1452, 1438, 1437, 1475, 1475, 1475, 1477, 1477, 1477, 1478,
2324      1478, 1478, 1465, 1478, 1474,  452, 1478, 1486, 1486, 1486,
2325       449, 1475,  448, 1477, 1487, 1487, 1487, 1488, 1488, 1488,
2326      1490, 1490, 1490,  447, 1486, 1491, 1491, 1491,  446, 1492,
2327      1492, 1492,  445, 1492,  439, 1488, 1492,  438, 1490,  436,
2328      1465,  430,  429, 1491, 1495, 1495, 1495, 1496, 1496, 1496,
2329       425, 1496,  419,  415, 1496, 1497, 1497, 1497, 1498, 1498,
2330      1498, 1495, 1500, 1500, 1500, 1501, 1501, 1501, 1505, 1505,
2331      1505,  412, 1497, 1506, 1506, 1506, 1498, 1506,  411,  407,
2332
2333      1506,  406,  405, 1501,  404, 1505,  400,  397, 1491, 1507,
2334      1507, 1507, 1508, 1508, 1508, 1513, 1513, 1513, 1514, 1514,
2335      1514,  393, 1514,  392,  391, 1514, 1507, 1528, 1528, 1528,
2336      1508,  387, 1513, 1535, 1535, 1535, 1536, 1536, 1536,  381,
2337      1536,  377,  374, 1536,  370, 1528,  369, 1537, 1537, 1537,
2338      1535, 1537,  368,  364, 1537, 1545, 1545, 1545, 1546, 1546,
2339      1546,  361, 1546,  356,  355, 1546, 1547, 1547, 1547, 1549,
2340      1549, 1549, 1545, 1550, 1550, 1550,  351, 1550,  348,  343,
2341      1550,  342,  341, 1528, 1547,  337,  331, 1549, 1553, 1553,
2342      1553, 1554, 1554, 1554,  327, 1554,  321,  320, 1554, 1555,
2343
2344      1555, 1555, 1560, 1560, 1560, 1553, 1560,  318,  317, 1560,
2345      1563, 1563, 1563,  312, 1564, 1564, 1564, 1555, 1564,  309,
2346       305, 1564, 1565, 1565, 1565,  304,  303, 1563, 1568, 1568,
2347      1568, 1549, 1569, 1569, 1569,  302, 1569,  300,  296, 1569,
2348      1585, 1585, 1585,  293,  291, 1568, 1586, 1586, 1586, 1587,
2349      1587, 1587, 1590, 1590, 1590,  283, 1590,  276, 1585, 1590,
2350      1594, 1594, 1594, 1596, 1596, 1596, 1587, 1596,  275,  271,
2351      1596, 1599, 1599, 1599, 1600, 1600, 1600, 1594, 1600,  265,
2352       264, 1600, 1605, 1605, 1605, 1609, 1609, 1609, 1585, 1599,
2353       263,  259, 1587,  256, 1606, 1606, 1606,  251, 1606, 1605,
2354
2355      1605, 1606, 1612, 1612, 1612,  249, 1612,  248,  244, 1612,
2356      1619, 1619, 1619, 1628, 1628, 1628, 1629, 1629, 1629, 1599,
2357      1630, 1630, 1630, 1636, 1636, 1636,  241, 1619, 1631, 1631,
2358      1631, 1628, 1631,  239,  238, 1631,  237, 1630,  233,  229,
2359      1636, 1637, 1637, 1637,  222, 1637,  221,  217, 1637, 1639,
2360      1639, 1639, 1641, 1641, 1641, 1642, 1642, 1642,  213, 1628,
2361       212, 1643, 1643, 1643,  211, 1643,  205, 1639, 1643, 1641,
2362      1641,  204, 1642, 1642, 1644, 1644, 1644,  202,  199, 1643,
2363      1645, 1645, 1645, 1650, 1650, 1650, 1651, 1651, 1651,  187,
2364      1651,    0,    0, 1651, 1660, 1660, 1660, 1661, 1661, 1661,
2365
2366      1650, 1661,    0,    0, 1661, 1668, 1668, 1668,    0, 1669,
2367      1669, 1669, 1660, 1669,    0,    0, 1669, 1672, 1672, 1672,
2368         0,    0, 1668, 1673, 1673, 1673, 1676, 1676, 1676, 1677,
2369      1677, 1677,    0, 1677, 1672,    0, 1677, 1681, 1681, 1681,
2370         0, 1673,    0, 1676, 1676,    0,    0, 1677, 1678, 1678,
2371      1678,    0, 1678,    0,    0, 1678, 1660, 1682, 1682, 1682,
2372         0, 1696, 1696, 1696,    0,    0, 1678, 1679, 1679, 1679,
2373      1679, 1679, 1679, 1679, 1679, 1679,    0,    0, 1679, 1696,
2374      1701, 1701, 1701, 1679, 1679, 1679, 1679, 1679, 1687, 1687,
2375      1687,    0, 1687,    0,    0, 1687,    0, 1701, 1702, 1702,
2376
2377      1702,    0, 1702,    0,    0, 1702, 1703, 1703, 1703, 1679,
2378      1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
2379         0,    0, 1680, 1703,    0,    0,    0, 1680, 1680, 1680,
2380      1680, 1680, 1704, 1704, 1704,    0, 1704,    0,    0, 1704,
2381      1706, 1706, 1706,    0, 1706,    0,    0, 1706,    0,    0,
2382      1721, 1721, 1721, 1680, 1680, 1739, 1739, 1739, 1706, 1709,
2383      1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1721,    0,
2384      1709,    0,    0, 1739, 1739, 1709, 1709, 1709, 1709, 1709,
2385      1727, 1727, 1727,    0, 1727,    0,    0, 1727, 1730, 1730,
2386      1730,    0, 1730,    0,    0, 1730, 1746, 1746, 1746,    0,
2387
2388         0, 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710, 1710,
2389      1710, 1710,    0, 1746, 1710, 1747, 1747, 1747,    0, 1710,
2390      1710, 1710, 1710, 1710, 1748, 1748, 1748, 1749, 1749, 1749,
2391         0,    0, 1747, 1754, 1754, 1754, 1758, 1758, 1758,    0,
2392         0, 1748,    0,    0, 1749, 1710, 1710, 1761, 1761, 1761,
2393         0, 1754,    0,    0, 1758, 1762, 1762, 1762,    0, 1762,
2394         0,    0, 1762,    0, 1761,    0,    0, 1748, 1763, 1763,
2395      1763, 1764, 1764, 1764,    0, 1764,    0,    0, 1764, 1765,
2396      1765, 1765,    0,    0, 1758, 1763, 1766, 1766, 1766,    0,
2397      1766,    0,    0, 1766,    0,    0, 1765, 1768, 1768, 1768,
2398
2399      1769, 1769, 1769,    0, 1769,    0,    0, 1769, 1774, 1774,
2400      1774, 1778, 1778, 1778, 1768, 1778,    0,    0, 1778,    0,
2401      1781, 1781, 1781,    0, 1781,    0, 1774, 1781, 1784, 1784,
2402      1784,    0, 1784,    0,    0, 1784, 1788, 1788, 1788,    0,
2403      1788,    0,    0, 1788, 1774, 1809, 1809, 1809, 1815, 1815,
2404      1815, 1816, 1816, 1816,    0, 1816,    0,    0, 1816, 1822,
2405      1822, 1822, 1809, 1822,    0, 1815, 1822, 1827, 1827, 1827,
2406      1828, 1828, 1828,    0, 1828,    0,    0, 1828, 1853, 1853,
2407      1853, 1854, 1854, 1854,    0, 1827,    0,    0, 1828,    0,
2408         0,    0,    0,    0,    0,    0, 1853,    0,    0, 1854,
2409
2410      1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1858,
2411      1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1859, 1859,
2412      1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860, 1860,
2413      1860, 1860, 1860, 1860, 1860, 1860, 1861, 1861, 1861, 1861,
2414      1861, 1861, 1861, 1861, 1861, 1862, 1862, 1862, 1862, 1862,
2415      1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, 1863,
2416      1863, 1863, 1863, 1864, 1864, 1864, 1864, 1864, 1864, 1864,
2417      1864, 1864, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865,
2418      1865, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866,
2419      1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1868,
2420
2421      1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1869,
2422      1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870, 1870,
2423      1870, 1870, 1870, 1870, 1870, 1870, 1871, 1871, 1871, 1871,
2424      1871, 1871, 1871, 1871, 1871, 1872, 1872, 1872, 1872, 1872,
2425      1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, 1873,
2426      1873, 1873, 1873, 1874, 1874, 1874, 1874, 1874, 1874, 1874,
2427      1874, 1874, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875,
2428      1875, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876,
2429      1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1878,
2430      1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1879, 1879,
2431
2432      1879, 1879, 1879, 1879, 1879, 1879, 1879, 1880, 1880, 1880,
2433      1880, 1880, 1880, 1880, 1880, 1880, 1881, 1881, 1881, 1881,
2434      1881, 1881, 1881, 1881, 1881, 1882, 1882, 1882, 1882, 1882,
2435      1882, 1882, 1882, 1882, 1883, 1883, 1883, 1883, 1883, 1883,
2436      1883, 1883, 1883, 1884, 1884, 1884, 1884, 1884, 1884, 1884,
2437      1884, 1884, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
2438      1885, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886,
2439      1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1888,
2440      1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1889, 1889,
2441      1889, 1889, 1889, 1889, 1889, 1889, 1889, 1890, 1890, 1890,
2442
2443      1890, 1890, 1890, 1890, 1890, 1890, 1891, 1891, 1891, 1891,
2444      1891, 1891, 1891, 1891, 1891, 1892, 1892, 1892, 1892, 1892,
2445      1892, 1892, 1892, 1892, 1893, 1893, 1893,    0,    0,    0,
2446      1893, 1894, 1894, 1894,    0,    0,    0, 1894, 1895, 1895,
2447      1895,    0,    0,    0, 1895, 1896, 1896, 1896,    0,    0,
2448         0, 1896, 1897, 1897, 1897,    0,    0,    0, 1897, 1898,
2449      1898, 1898,    0,    0,    0, 1898, 1899, 1899, 1899,    0,
2450         0,    0, 1899, 1900, 1900, 1900,    0,    0,    0, 1900,
2451      1901, 1901, 1901,    0,    0,    0, 1901, 1902, 1902, 1902,
2452         0,    0,    0, 1902, 1903, 1903, 1903,    0,    0,    0,
2453
2454      1903, 1904, 1904, 1904,    0,    0,    0, 1904, 1905, 1905,
2455      1905,    0,    0,    0, 1905, 1906, 1906, 1906,    0,    0,
2456         0, 1906, 1907, 1907, 1907,    0,    0,    0, 1907, 1908,
2457      1908, 1908,    0,    0,    0, 1908, 1909, 1909, 1909, 1909,
2458      1909, 1909, 1909,    0, 1909, 1910,    0,    0,    0, 1910,
2459      1911,    0,    0,    0, 1911, 1912,    0,    0,    0, 1912,
2460      1913,    0,    0,    0, 1913, 1914, 1914, 1914,    0,    0,
2461         0, 1914, 1915,    0,    0,    0, 1915, 1916,    0,    0,
2462         0, 1916, 1917,    0,    0,    0, 1917, 1918,    0,    0,
2463         0, 1918, 1919,    0,    0,    0, 1919, 1920,    0,    0,
2464
2465         0, 1920, 1921, 1921, 1921,    0,    0,    0, 1921, 1922,
2466         0,    0,    0, 1922, 1923, 1923, 1923,    0,    0,    0,
2467      1923, 1924,    0,    0,    0, 1924, 1925, 1925, 1925,    0,
2468         0,    0, 1925, 1926,    0,    0,    0, 1926, 1927, 1927,
2469      1927,    0,    0,    0, 1927, 1928,    0,    0,    0, 1928,
2470      1929, 1929, 1929,    0,    0,    0, 1929, 1930,    0,    0,
2471         0, 1930, 1931, 1931, 1931,    0,    0,    0, 1931, 1932,
2472         0,    0,    0, 1932, 1933, 1933, 1933, 1933, 1933, 1933,
2473      1933, 1933, 1933, 1934,    0,    0,    0,    0, 1934, 1935,
2474      1935, 1935,    0,    0,    0, 1935, 1936, 1936, 1936, 1936,
2475
2476         0,    0, 1936, 1936, 1937, 1937, 1937,    0,    0,    0,
2477      1937, 1938, 1938, 1938, 1938,    0,    0, 1938, 1938, 1939,
2478      1939, 1939,    0,    0,    0, 1939, 1940, 1940, 1940, 1940,
2479         0,    0, 1940, 1940, 1941, 1941, 1941,    0,    0,    0,
2480      1941, 1942, 1942, 1942, 1942,    0,    0, 1942, 1942, 1943,
2481      1943, 1943,    0,    0,    0, 1943, 1944, 1944, 1944, 1944,
2482         0,    0, 1944, 1944, 1945, 1945, 1945,    0,    0,    0,
2483      1945, 1946, 1946, 1946, 1946,    0,    0, 1946, 1946, 1947,
2484      1947, 1947,    0,    0,    0, 1947, 1948, 1948, 1948, 1948,
2485         0,    0, 1948, 1948, 1949, 1949, 1949, 1949,    0,    0,
2486
2487      1949, 1949, 1950, 1950, 1950,    0,    0,    0, 1950, 1951,
2488      1951, 1951, 1951,    0,    0, 1951, 1951, 1952, 1952, 1952,
2489      1952,    0, 1952,    0, 1952, 1953, 1953, 1953, 1953,    0,
2490         0, 1953, 1953, 1954, 1954, 1954, 1954,    0, 1954,    0,
2491      1954, 1955, 1955, 1955, 1955,    0,    0, 1955, 1955, 1956,
2492      1956, 1956, 1956,    0,    0, 1956, 1956, 1957, 1957, 1957,
2493      1957,    0, 1957,    0, 1957, 1958, 1958, 1958, 1958,    0,
2494         0, 1958, 1958, 1959, 1959, 1959,    0,    0,    0, 1959,
2495      1960, 1960, 1960, 1960,    0,    0, 1960, 1960, 1961, 1961,
2496      1961,    0,    0,    0, 1961, 1962, 1962, 1962, 1962,    0,
2497
2498         0, 1962, 1962, 1963, 1963, 1963,    0,    0,    0, 1963,
2499      1964, 1964, 1964, 1964,    0,    0, 1964, 1964, 1965, 1965,
2500      1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966,    0, 1966,
2501         0,    0, 1966, 1967, 1967, 1967,    0,    0,    0, 1967,
2502      1968, 1968, 1968, 1968,    0,    0, 1968, 1968, 1969, 1969,
2503      1969, 1969,    0, 1969,    0, 1969, 1970, 1970, 1970, 1970,
2504         0,    0, 1970, 1970, 1971, 1971, 1971,    0,    0,    0,
2505      1971, 1972, 1972, 1972, 1972,    0,    0, 1972, 1972, 1973,
2506      1973, 1973,    0,    0,    0, 1973, 1974, 1974, 1974, 1974,
2507         0,    0, 1974, 1974, 1975, 1975, 1975,    0,    0,    0,
2508
2509      1975, 1976, 1976, 1976, 1976,    0,    0, 1976, 1976, 1977,
2510      1977, 1977,    0,    0,    0, 1977, 1978, 1978, 1978, 1978,
2511         0,    0, 1978, 1978, 1979, 1979, 1979,    0,    0,    0,
2512      1979, 1980, 1980, 1980, 1980,    0,    0, 1980, 1980, 1981,
2513      1981, 1981, 1981,    0,    0, 1981, 1981, 1982, 1982, 1982,
2514         0,    0,    0, 1982, 1983, 1983, 1983, 1983,    0,    0,
2515      1983, 1983, 1984, 1984, 1984, 1984,    0,    0, 1984, 1984,
2516      1985, 1985, 1985,    0,    0,    0, 1985, 1986, 1986, 1986,
2517      1986,    0,    0, 1986, 1986, 1987, 1987, 1987, 1987,    0,
2518         0, 1987, 1987, 1988, 1988, 1988,    0,    0,    0, 1988,
2519
2520      1989, 1989, 1989, 1989,    0,    0, 1989, 1989, 1990, 1990,
2521      1990,    0,    0,    0, 1990, 1991, 1991, 1991, 1991,    0,
2522         0, 1991, 1991, 1992, 1992, 1992,    0,    0,    0, 1992,
2523      1993, 1993, 1993, 1993,    0,    0, 1993, 1993, 1994, 1994,
2524      1994,    0,    0,    0, 1994, 1995, 1995, 1995, 1995,    0,
2525         0, 1995, 1995, 1996, 1996, 1996, 1996, 1996, 1996, 1996,
2526      1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997,
2527      1997, 1998, 1998, 1998,    0,    0,    0, 1998, 1999, 1999,
2528      1999, 1999,    0,    0, 1999, 1999, 2000, 2000, 2000,    0,
2529         0,    0, 2000, 2001, 2001, 2001, 2001,    0,    0, 2001,
2530
2531      2001, 2002, 2002, 2002,    0,    0,    0, 2002, 2003, 2003,
2532      2003, 2003,    0,    0, 2003, 2003, 2004, 2004, 2004,    0,
2533         0,    0, 2004, 2005, 2005, 2005, 2005,    0,    0, 2005,
2534      2005, 2006, 2006, 2006,    0,    0,    0, 2006, 2007, 2007,
2535      2007,    0,    0,    0, 2007, 2008, 2008, 2008, 2008,    0,
2536         0, 2008, 2008, 2009, 2009, 2009, 2009,    0, 2009,    0,
2537      2009, 2010, 2010, 2010, 2010,    0,    0, 2010, 2010, 2011,
2538      2011, 2011, 2011,    0,    0, 2011, 2011, 2012, 2012, 2012,
2539         0,    0,    0, 2012, 2013, 2013, 2013, 2013,    0,    0,
2540      2013, 2013, 2014, 2014, 2014, 2014,    0,    0, 2014, 2014,
2541
2542      2015, 2015, 2015,    0,    0,    0, 2015, 2016, 2016, 2016,
2543      2016,    0,    0, 2016, 2016, 2017, 2017, 2017, 2017,    0,
2544         0, 2017, 2017, 2018, 2018, 2018,    0,    0,    0, 2018,
2545      2019, 2019, 2019, 2019,    0,    0, 2019, 2019, 2020, 2020,
2546      2020,    0,    0,    0, 2020, 2021, 2021, 2021, 2021,    0,
2547         0, 2021, 2021, 2022, 2022, 2022, 2022,    0, 2022,    0,
2548      2022, 2023, 2023, 2023, 2023,    0,    0, 2023, 2023, 2024,
2549      2024, 2024, 2024,    0, 2024,    0, 2024, 2025, 2025, 2025,
2550      2025,    0,    0, 2025, 2025, 2026, 2026, 2026, 2026, 2026,
2551      2026, 2026, 2026, 2026, 2027, 2027, 2027, 2027, 2027, 2027,
2552
2553      2027, 2027, 2027, 2028, 2028, 2028,    0,    0,    0, 2028,
2554      2029, 2029, 2029, 2029,    0,    0, 2029, 2029, 2030, 2030,
2555      2030,    0,    0,    0, 2030, 2031, 2031, 2031, 2031,    0,
2556         0, 2031, 2031, 2032, 2032, 2032,    0,    0,    0, 2032,
2557      2033, 2033, 2033, 2033,    0,    0, 2033, 2033, 2034, 2034,
2558      2034,    0,    0,    0, 2034, 2035, 2035, 2035, 2035,    0,
2559         0, 2035, 2035, 2036, 2036, 2036,    0,    0,    0, 2036,
2560      2037, 2037, 2037,    0,    0,    0, 2037, 2038, 2038, 2038,
2561      2038,    0,    0, 2038, 2038, 2039, 2039, 2039, 2039,    0,
2562      2039,    0, 2039, 2040, 2040, 2040, 2040,    0,    0, 2040,
2563
2564      2040, 2041, 2041, 2041, 2041,    0,    0, 2041, 2041, 2042,
2565      2042, 2042,    0,    0,    0, 2042, 2043, 2043, 2043, 2043,
2566         0,    0, 2043, 2043, 2044, 2044, 2044, 2044,    0,    0,
2567      2044, 2044, 2045, 2045, 2045, 2045,    0, 2045,    0, 2045,
2568      2046, 2046, 2046, 2046,    0,    0, 2046, 2046, 2047, 2047,
2569      2047, 2047,    0,    0, 2047, 2047, 2048, 2048, 2048, 2048,
2570         0, 2048,    0, 2048, 2049, 2049, 2049, 2049,    0,    0,
2571      2049, 2049, 2050, 2050, 2050,    0,    0,    0, 2050, 2051,
2572      2051, 2051, 2051,    0,    0, 2051, 2051, 2052, 2052, 2052,
2573      2052,    0,    0, 2052, 2052, 2053, 2053, 2053, 2053, 2053,
2574
2575      2053, 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054,
2576      2054, 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2577      2055, 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2578      2056, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057,
2579      2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 1856,
2580      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2581      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2582      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2583      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2584      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2585
2586      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2587      1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
2588     } ;
2589
2590 /* Table of booleans, true if rule could match eol. */
2591 static yyconst flex_int32_t yy_rule_can_match_eol[325] =
2592     {   0,
2593 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 
2594     1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 
2595     0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
2596     1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
2597     1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
2598     0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
2599     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
2600     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
2601     0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 
2602     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
2603     0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
2604     1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 
2605     0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
2606     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
2607     1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
2608     1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
2609     0, 0, 0, 1, 0,     };
2610
2611 static yy_state_type yy_last_accepting_state;
2612 static char *yy_last_accepting_cpos;
2613
2614 extern int surf_parse__flex_debug;
2615 int surf_parse__flex_debug = 0;
2616
2617 /* The intent behind this definition is that it'll catch
2618  * any uses of REJECT which flex missed.
2619  */
2620 #define REJECT reject_used_but_not_detected
2621 #define yymore() yymore_used_but_not_detected
2622 #define YY_MORE_ADJ 0
2623 #define YY_RESTORE_YY_MORE_OFFSET
2624 char *surf_parse_text;
2625 /* Validating XML processor for src/surf/simgrid.dtd.
2626  * Generated 2010/09/21 16:29:30.
2627  *
2628  * This program was generated with the FleXML XML processor generator.
2629  * FleXML is Copyright (C) 1999-2005 Kristoffer Rose.  All rights reserved.
2630  * FleXML is Copyright (C) 2003-2006 Martin Quinson.  All rights reserved.
2631  * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2632  * 
2633  * There are two, intertwined parts to this program, part A and part B.
2634  *
2635  * Part A
2636  * ------
2637  * 
2638  * Some parts, here collectively called "Part A", are found in the 
2639  * FleXML package.  They are Copyright (C) 1999-2005 Kristoffer Rose
2640  * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2641  *
2642  * You can redistribute, use, perform, display and/or modify "Part A"
2643  * provided the following two conditions hold:
2644  *
2645  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2646  *    FleXML; without even the implied warranty of MERCHANTABILITY or
2647  *    FITNESS FOR A PARTICULAR PURPOSE.
2648  *
2649  * 2. The program distribution conditions do not in any way affect the
2650  *    distribution conditions of the FleXML system used to generate this
2651  *    file or any version of FleXML derived from that system.
2652  *
2653  * Notice that these are explicit rights granted to you for files
2654  * generated by the FleXML system.  For your rights in connection with
2655  * the FleXML system itself please consult the GNU General Public License.
2656  * 
2657  * Part B
2658  * ------
2659  * 
2660  * The other parts, here collectively called "Part B", and which came 
2661  * from the DTD used by FleXML to generate this program, can be 
2662  * distributed (or not, as the case may be) under the terms of whoever
2663  * wrote them, provided these terms respect and obey the two conditions 
2664  * above under the heading "Part A".
2665  *
2666  * The author of and contributors to FleXML specifically disclaim
2667  * any copyright interest in "Part B", unless "Part B" was written 
2668  * by the author of or contributors to FleXML.
2669  * 
2670  */
2671
2672 /* Version strings. */
2673 const char rcs_surfxml_flexml_skeleton[] =
2674  "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2675 const char rcs_surfxml_flexml[] =
2676  "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2677
2678 /* ANSI headers. */
2679 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2680 #include <stdio.h>
2681 #include <string.h>
2682 #include <assert.h>
2683 #include <stdarg.h>
2684 #include <ctype.h>
2685      
2686 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2687 # ifndef __STRICT_ANSI__
2688 #  include <io.h>
2689 #  include <process.h>
2690 # endif
2691 #else
2692 # include <unistd.h>
2693 #endif
2694      
2695 #ifndef FLEXML_INDEXSTACKSIZE
2696 #define FLEXML_INDEXSTACKSIZE 1000
2697 #endif
2698
2699 /* Generated definitions. */
2700 #define FLEXML_yylineno
2701 #ifndef FLEXML_BUFFERSTACKSIZE
2702 #define FLEXML_BUFFERSTACKSIZE 1000000
2703 #endif
2704 #define FLEXML_NEED_BUFFERLIT
2705
2706 /* XML processor api. */
2707 /* FleXML-provided data. */
2708 int surfxml_pcdata_ix;
2709 extern char *surfxml_bufferstack;
2710 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2711 AT_surfxml_random_generator AX_surfxml_random_generator;
2712 #define A_surfxml_random_generator AX_surfxml_random_generator
2713 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2714 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2715 AT_surfxml_prop_id AX_surfxml_prop_id;
2716 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2717 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2718 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2719 AT_surfxml_host_id AX_surfxml_host_id;
2720 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2721 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2722 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2723 AT_surfxml_host_state AX_surfxml_host_state;
2724 #define A_surfxml_host_state AX_surfxml_host_state
2725 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2726 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2727 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2728 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2729 AT_surfxml_AS_id AX_surfxml_AS_id;
2730 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2731 AT_surfxml_host_power AX_surfxml_host_power;
2732 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2733 AT_surfxml_router_id AX_surfxml_router_id;
2734 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2735 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2736 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2737 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2738 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2739 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2740 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2741 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2742 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2743 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2744 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2745 AT_surfxml_trace_file AX_surfxml_trace_file;
2746 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2747 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2748 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2749 AT_surfxml_random_min AX_surfxml_random_min;
2750 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2751 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2752 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2753 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2754 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2755 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2756 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2757 AT_surfxml_argument_value AX_surfxml_argument_value;
2758 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2759 AT_surfxml_link_state AX_surfxml_link_state;
2760 #define A_surfxml_link_state AX_surfxml_link_state
2761 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2762 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2763 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2764 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2765 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2766 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2767 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2768 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2769 AT_surfxml_random_mean AX_surfxml_random_mean;
2770 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2771 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2772 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2773 AT_surfxml_link_latency AX_surfxml_link_latency;
2774 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2775 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2776 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2777 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2778 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2779 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2780 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2781 AT_surfxml_random_id AX_surfxml_random_id;
2782 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2783 AT_surfxml_random_max AX_surfxml_random_max;
2784 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2785 AT_surfxml_link_id AX_surfxml_link_id;
2786 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2787 AT_surfxml_process_host AX_surfxml_process_host;
2788 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2789 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2790 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2791 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2792 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2793 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2794 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2795 AT_surfxml_prop_value AX_surfxml_prop_value;
2796 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2797 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2798 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2799 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2800 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2801 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2802 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2803 AT_surfxml_process_function AX_surfxml_process_function;
2804 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2805 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2806 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2807 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2808 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2809 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
2810 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
2811 AT_surfxml_host_availability AX_surfxml_host_availability;
2812 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2813 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
2814 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
2815 AT_surfxml_route_src AX_surfxml_route_src;
2816 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2817 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
2818 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
2819 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
2820 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
2821 AT_surfxml_trace_id AX_surfxml_trace_id;
2822 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2823 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2824 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2825 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2826 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2827 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
2828 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
2829 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
2830 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
2831 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2832 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2833 AT_surfxml_route_dst AX_surfxml_route_dst;
2834 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
2835 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
2836 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
2837 AT_surfxml_platform_version AX_surfxml_platform_version;
2838 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
2839
2840 /* XML state. */
2841 #ifdef FLEX_DEBUG
2842 # define ENTER(state)   debug_enter(state,#state)
2843 # define LEAVE          debug_leave()
2844 # define SET(state)     debug_set(state,#state)
2845   static void debug_enter(int, const char*);
2846   static void debug_leave(void);
2847   static void debug_set(int, const char*);
2848 #else
2849 # define ENTER(state)   (yy_push_state(state))
2850 # define LEAVE          (yy_pop_state())
2851 # define SET(state)     BEGIN(state)
2852 #endif
2853
2854 /* Generic actions. */
2855 #define SKIP    /*skip*/
2856 #define SUCCEED        CLEANUP; return 0
2857
2858 #define FAIL    return fail
2859 static int fail(const char*, ...);
2860
2861 enum {flexml_max_err_msg_size = 512};
2862 static char flexml_err_msg[flexml_max_err_msg_size];
2863 const char * surfxml_parse_err_msg()
2864 {
2865     return flexml_err_msg;
2866 }
2867 static void reset_surfxml_parse_err_msg()
2868 {
2869     flexml_err_msg[0] = '\0';
2870 }
2871
2872 /* Cleanup */
2873 static void cleanup(void);
2874 #define CLEANUP  cleanup()
2875
2876 /* Text buffer stack handling. */
2877 char *surfxml_bufferstack = NULL;
2878 static int blimit = FLEXML_BUFFERSTACKSIZE;
2879 static int bnext = 1;
2880
2881 static int *indexstack = NULL;
2882 static int ilimit = FLEXML_INDEXSTACKSIZE;
2883 static int inext = 1;
2884
2885 #define BUFFERSET(P)  (P = bnext)
2886 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
2887 #define BUFFERDONE    (BUFFERPUTC('\0'))
2888
2889 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
2890
2891 /* after this is called, there are at least 2 slots left in the stack */
2892 static int ck_blimit()
2893 {
2894      if (bnext >= blimit) {
2895          blimit += FLEXML_BUFFERSTACKSIZE + 2;
2896          {
2897              char *temp = (char *) realloc(surfxml_bufferstack, blimit);
2898              assert(temp);
2899              surfxml_bufferstack = temp;
2900          }
2901      }
2902      return 0;
2903 }
2904
2905 /* after this is called, there are at least 2 slots left in the stack */
2906 static int ck_ilimit()
2907 {
2908      if (inext >= ilimit) {
2909          ilimit += FLEXML_INDEXSTACKSIZE + 2;
2910          {
2911              int *temp = (int *) realloc(indexstack, ilimit);
2912              assert(temp);
2913              indexstack = temp;
2914          }
2915      }
2916      return 0;
2917 }
2918
2919 #ifdef FLEXML_NEED_BUFFERLIT
2920 static void surfxml_bufferliteral(char c, int* pp, const char* text)
2921 {
2922   const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
2923   assert(s <= e); BUFFERSET(*pp);
2924   while (++s<e) {
2925     if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
2926     else BUFFERPUTC(*s);
2927   }
2928   BUFFERDONE;
2929 }
2930 #endif
2931
2932 static void pushbuffer(int p)
2933 {
2934     ck_ilimit();
2935     indexstack[inext++] = p;
2936     indexstack[inext++] = bnext;    
2937 }
2938
2939 static int popbuffer(void)
2940 {
2941     assert(inext >= 2);
2942     bnext = indexstack[--inext];
2943     return indexstack[--inext];
2944 }
2945
2946 /* General internal entities are `unput' back onto the input stream... */
2947 #define ENTITYTEXT(T) \
2948   { char *s = (T), *e = s+strlen(s);\
2949     while (--e >= s) { unput(*e); }}
2950
2951 /* Flex standard options. */
2952 #define YY_NO_INPUT 1
2953 /* Flex user-requested options. */
2954 /* XML character classes (currently restricted to ASCII). */
2955 /* "Common syntactic structures." */
2956 /* "Names and Tokens." */
2957 /* Miscellaneous. */
2958 /* Parser states (flex `exclusive start conditions'):
2959  *
2960  * PROLOG       the XML prolog of the document before <?xml...>
2961  * DOCTYPE      the XML prolog of the document after <?xml...>
2962  * EPILOG       after the root element
2963  * INCOMMENT    inside an XML comment <!--....-->
2964  * INPI         inside an XML PI <?...?>
2965  * VALUE1       inside a '...'-delimited literal
2966  * VALUE2       inside a "..."-delimited literal
2967  * CDATA        inside a <![CDATA[...] ]> section.
2968  * ROOT_<tag>   expect root element <tag>
2969  * AL_<tag>     inside the attribute list for <tag>
2970  * IN_<tag>     inside a <tag> with element contents (ready for end tag)
2971  * IMPOSSIBLE   dummy to permit disabling rules; must be last
2972  */
2973
2974 /* State names. */
2975 const char* *surfxml_statenames=NULL;
2976
2977 #define INITIAL 0
2978 #define PROLOG 1
2979 #define DOCTYPE 2
2980 #define EPILOG 3
2981 #define INCOMMENT 4
2982 #define INPI 5
2983 #define VALUE1 6
2984 #define VALUE2 7
2985 #define CDATA 8
2986 #define ROOT_surfxml_platform 9
2987 #define AL_surfxml_platform 10
2988 #define S_surfxml_platform 11
2989 #define S_surfxml_platform_1 12
2990 #define S_surfxml_platform_2 13
2991 #define S_surfxml_platform_3 14
2992 #define S_surfxml_platform_4 15
2993 #define S_surfxml_platform_5 16
2994 #define S_surfxml_platform_6 17
2995 #define S_surfxml_platform_7 18
2996 #define S_surfxml_platform_8 19
2997 #define E_surfxml_platform 20
2998 #define AL_surfxml_trace 21
2999 #define IN_trace 22
3000 #define AL_surfxml_random 23
3001 #define S_surfxml_random 24
3002 #define S_surfxml_random_1 25
3003 #define S_surfxml_random_2 26
3004 #define E_surfxml_random 27
3005 #define AL_surfxml_trace_c_connect 28
3006 #define E_surfxml_trace_c_connect 29
3007 #define AL_surfxml_AS 30
3008 #define S_surfxml_AS 31
3009 #define S_surfxml_AS_1 32
3010 #define S_surfxml_AS_2 33
3011 #define S_surfxml_AS_3 34
3012 #define S_surfxml_AS_4 35
3013 #define S_surfxml_AS_5 36
3014 #define S_surfxml_AS_6 37
3015 #define S_surfxml_AS_7 38
3016 #define S_surfxml_AS_8 39
3017 #define S_surfxml_AS_9 40
3018 #define S_surfxml_AS_10 41
3019 #define S_surfxml_AS_11 42
3020 #define S_surfxml_AS_12 43
3021 #define S_surfxml_AS_13 44
3022 #define S_surfxml_AS_14 45
3023 #define S_surfxml_AS_15 46
3024 #define S_surfxml_AS_16 47
3025 #define S_surfxml_AS_17 48
3026 #define S_surfxml_AS_18 49
3027 #define S_surfxml_AS_19 50
3028 #define E_surfxml_AS 51
3029 #define AL_surfxml_host 52
3030 #define S_surfxml_host 53
3031 #define S_surfxml_host_1 54
3032 #define S_surfxml_host_2 55
3033 #define E_surfxml_host 56
3034 #define AL_surfxml_cluster 57
3035 #define E_surfxml_cluster 58
3036 #define AL_surfxml_router 59
3037 #define E_surfxml_router 60
3038 #define AL_surfxml_link 61
3039 #define S_surfxml_link 62
3040 #define S_surfxml_link_1 63
3041 #define S_surfxml_link_2 64
3042 #define E_surfxml_link 65
3043 #define AL_surfxml_route 66
3044 #define S_surfxml_route 67
3045 #define S_surfxml_route_1 68
3046 #define S_surfxml_route_2 69
3047 #define E_surfxml_route 70
3048 #define AL_surfxml_ASroute 71
3049 #define S_surfxml_ASroute 72
3050 #define S_surfxml_ASroute_1 73
3051 #define S_surfxml_ASroute_2 74
3052 #define E_surfxml_ASroute 75
3053 #define AL_surfxml_link_c_ctn 76
3054 #define E_surfxml_link_c_ctn 77
3055 #define AL_surfxml_bypassRoute 78
3056 #define S_surfxml_bypassRoute 79
3057 #define S_surfxml_bypassRoute_1 80
3058 #define S_surfxml_bypassRoute_2 81
3059 #define E_surfxml_bypassRoute 82
3060 #define AL_surfxml_process 83
3061 #define S_surfxml_process 84
3062 #define S_surfxml_process_1 85
3063 #define S_surfxml_process_2 86
3064 #define E_surfxml_process 87
3065 #define AL_surfxml_argument 88
3066 #define E_surfxml_argument 89
3067 #define AL_surfxml_prop 90
3068 #define E_surfxml_prop 91
3069 #define IMPOSSIBLE 92
3070
3071 #ifndef YY_NO_UNISTD_H
3072 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3073  * down here because we want the user's section 1 to have been scanned first.
3074  * The user has a chance to override it with an option.
3075  */
3076 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3077 #  ifndef __STRICT_ANSI__
3078 #    include <io.h>
3079 #    include <process.h>
3080 #  endif
3081 #else
3082 #  include <unistd.h>
3083 #endif
3084 #endif
3085
3086 #ifndef YY_EXTRA_TYPE
3087 #define YY_EXTRA_TYPE void *
3088 #endif
3089
3090 static int yy_init_globals (void );
3091
3092 /* Accessor methods to globals.
3093    These are made visible to non-reentrant scanners for convenience. */
3094
3095 int surf_parse_lex_destroy (void );
3096
3097 int surf_parse_get_debug (void );
3098
3099 void surf_parse_set_debug (int debug_flag  );
3100
3101 YY_EXTRA_TYPE surf_parse_get_extra (void );
3102
3103 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined  );
3104
3105 FILE *surf_parse_get_in (void );
3106
3107 void surf_parse_set_in  (FILE * in_str  );
3108
3109 FILE *surf_parse_get_out (void );
3110
3111 void surf_parse_set_out  (FILE * out_str  );
3112
3113 int surf_parse_get_leng (void );
3114
3115 char *surf_parse_get_text (void );
3116
3117 int surf_parse_get_lineno (void );
3118
3119 void surf_parse_set_lineno (int line_number  );
3120
3121 /* Macros after this point can all be overridden by user definitions in
3122  * section 1.
3123  */
3124
3125 #ifndef YY_SKIP_YYWRAP
3126 #ifdef __cplusplus
3127 extern "C" int surf_parse_wrap (void );
3128 #else
3129 extern int surf_parse_wrap (void );
3130 #endif
3131 #endif
3132
3133 #ifndef yytext_ptr
3134 static void yy_flex_strncpy (char *,yyconst char *,int );
3135 #endif
3136
3137 #ifdef YY_NEED_STRLEN
3138 static int yy_flex_strlen (yyconst char * );
3139 #endif
3140
3141 #ifndef YY_NO_INPUT
3142
3143 #ifdef __cplusplus
3144 static int yyinput (void );
3145 #else
3146 static int input (void );
3147 #endif
3148
3149 #endif
3150
3151         static int yy_start_stack_ptr = 0;
3152         static int yy_start_stack_depth = 0;
3153         static int *yy_start_stack = NULL;
3154     
3155     static void yy_push_state (int new_state );
3156     
3157     static void yy_pop_state (void );
3158     
3159 /* Amount of stuff to slurp up with each read. */
3160 #ifndef YY_READ_BUF_SIZE
3161 #ifdef __ia64__
3162 /* On IA-64, the buffer size is 16k, not 8k */
3163 #define YY_READ_BUF_SIZE 16384
3164 #else
3165 #define YY_READ_BUF_SIZE 8192
3166 #endif /* __ia64__ */
3167 #endif
3168
3169 /* Copy whatever the last rule matched to the standard output. */
3170 #ifndef ECHO
3171 /* This used to be an fputs(), but since the string might contain NUL's,
3172  * we now use fwrite().
3173  */
3174 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3175 #endif
3176
3177 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3178  * is returned in "result".
3179  */
3180 #ifndef YY_INPUT
3181 #define YY_INPUT(buf,result,max_size) \
3182         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3183                 { \
3184                 int c = '*'; \
3185                 size_t n; \
3186                 for ( n = 0; n < max_size && \
3187                              (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3188                         buf[n] = (char) c; \
3189                 if ( c == '\n' ) \
3190                         buf[n++] = (char) c; \
3191                 if ( c == EOF && ferror( surf_parse_in ) ) \
3192                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
3193                 result = n; \
3194                 } \
3195         else \
3196                 { \
3197                 errno=0; \
3198                 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3199                         { \
3200                         if( errno != EINTR) \
3201                                 { \
3202                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3203                                 break; \
3204                                 } \
3205                         errno=0; \
3206                         clearerr(surf_parse_in); \
3207                         } \
3208                 }\
3209 \
3210
3211 #endif
3212
3213 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3214  * we don't want an extra ';' after the "return" because that will cause
3215  * some compilers to complain about unreachable statements.
3216  */
3217 #ifndef yyterminate
3218 #define yyterminate() return YY_NULL
3219 #endif
3220
3221 /* Number of entries by which start-condition stack grows. */
3222 #ifndef YY_START_STACK_INCR
3223 #define YY_START_STACK_INCR 25
3224 #endif
3225
3226 /* Report a fatal error. */
3227 #ifndef YY_FATAL_ERROR
3228 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3229 #endif
3230
3231 /* end tables serialization structures and prototypes */
3232
3233 /* Default declaration of generated scanner - a define so the user can
3234  * easily add parameters.
3235  */
3236 #ifndef YY_DECL
3237 #define YY_DECL_IS_OURS 1
3238
3239 extern int surf_parse_lex (void);
3240
3241 #define YY_DECL int surf_parse_lex (void)
3242 #endif /* !YY_DECL */
3243
3244 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3245  * have been set up.
3246  */
3247 #ifndef YY_USER_ACTION
3248 #define YY_USER_ACTION
3249 #endif
3250
3251 /* Code executed at the end of each rule. */
3252 #ifndef YY_BREAK
3253 #define YY_BREAK break;
3254 #endif
3255
3256 #define YY_RULE_SETUP \
3257         YY_USER_ACTION
3258
3259 /** The main scanner function which does all the work.
3260  */
3261 YY_DECL
3262 {
3263         register yy_state_type yy_current_state;
3264         register char *yy_cp, *yy_bp;
3265         register int yy_act;
3266     
3267  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3268  SET(PROLOG);
3269  reset_surfxml_parse_err_msg();
3270  surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3271  assert(surfxml_bufferstack);
3272  #ifdef FLEX_DEBUG
3273  {
3274      int i;
3275      for (i = 0; i < blimit; i++) {
3276          surfxml_bufferstack[i] = '\377';
3277      }
3278  }
3279  #endif
3280  surfxml_bufferstack[0] = '\0';
3281  indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3282  assert(indexstack);
3283  indexstack[0] = 0;
3284
3285   /* FleXML_init */
3286   bnext = inext = 1;
3287   surfxml_bufferliteral('\0', &bnext, "0.0");
3288   surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3289   surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3290   surfxml_bufferliteral('\0', &bnext, "1.0");
3291   surfxml_bufferliteral('\0', &bnext, "1.0");
3292   surfxml_bufferliteral('\0', &bnext, "1.0");
3293   surfxml_bufferliteral('\0', &bnext, "1.0");
3294   surfxml_bufferliteral('\0', &bnext, "-1.0");
3295   surfxml_bufferliteral('\0', &bnext, "0 0 0");
3296   surfxml_bufferliteral('\0', &bnext, "0.0");
3297   surfxml_bufferliteral('\0', &bnext, "-1.0");
3298   surfxml_bufferliteral('\0', &bnext, "-1.0");
3299   if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3300   surfxml_statenames[PROLOG] = NULL;
3301   surfxml_statenames[DOCTYPE] = NULL;
3302   surfxml_statenames[EPILOG] = NULL;
3303   surfxml_statenames[INCOMMENT] = NULL;
3304   surfxml_statenames[INPI] = NULL;
3305   surfxml_statenames[VALUE1] = NULL;
3306   surfxml_statenames[VALUE2] = NULL;
3307   surfxml_statenames[CDATA] = NULL;
3308   surfxml_statenames[ROOT_surfxml_platform] = NULL;
3309   surfxml_statenames[AL_surfxml_platform] = NULL;
3310   surfxml_statenames[S_surfxml_platform] = "platform";
3311   surfxml_statenames[S_surfxml_platform_1] = "platform";
3312   surfxml_statenames[S_surfxml_platform_2] = "platform";
3313   surfxml_statenames[S_surfxml_platform_3] = "platform";
3314   surfxml_statenames[S_surfxml_platform_4] = "platform";
3315   surfxml_statenames[S_surfxml_platform_5] = "platform";
3316   surfxml_statenames[S_surfxml_platform_6] = "platform";
3317   surfxml_statenames[S_surfxml_platform_7] = "platform";
3318   surfxml_statenames[S_surfxml_platform_8] = "platform";
3319   surfxml_statenames[E_surfxml_platform] = "platform";
3320   surfxml_statenames[AL_surfxml_trace] = NULL;
3321   surfxml_statenames[IN_trace] = "trace";
3322   surfxml_statenames[AL_surfxml_random] = NULL;
3323   surfxml_statenames[S_surfxml_random] = "random";
3324   surfxml_statenames[S_surfxml_random_1] = "random";
3325   surfxml_statenames[S_surfxml_random_2] = "random";
3326   surfxml_statenames[E_surfxml_random] = "random";
3327   surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3328   surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3329   surfxml_statenames[AL_surfxml_AS] = NULL;
3330   surfxml_statenames[S_surfxml_AS] = "AS";
3331   surfxml_statenames[S_surfxml_AS_1] = "AS";
3332   surfxml_statenames[S_surfxml_AS_2] = "AS";
3333   surfxml_statenames[S_surfxml_AS_3] = "AS";
3334   surfxml_statenames[S_surfxml_AS_4] = "AS";
3335   surfxml_statenames[S_surfxml_AS_5] = "AS";
3336   surfxml_statenames[S_surfxml_AS_6] = "AS";
3337   surfxml_statenames[S_surfxml_AS_7] = "AS";
3338   surfxml_statenames[S_surfxml_AS_8] = "AS";
3339   surfxml_statenames[S_surfxml_AS_9] = "AS";
3340   surfxml_statenames[S_surfxml_AS_10] = "AS";
3341   surfxml_statenames[S_surfxml_AS_11] = "AS";
3342   surfxml_statenames[S_surfxml_AS_12] = "AS";
3343   surfxml_statenames[S_surfxml_AS_13] = "AS";
3344   surfxml_statenames[S_surfxml_AS_14] = "AS";
3345   surfxml_statenames[S_surfxml_AS_15] = "AS";
3346   surfxml_statenames[S_surfxml_AS_16] = "AS";
3347   surfxml_statenames[S_surfxml_AS_17] = "AS";
3348   surfxml_statenames[S_surfxml_AS_18] = "AS";
3349   surfxml_statenames[S_surfxml_AS_19] = "AS";
3350   surfxml_statenames[E_surfxml_AS] = "AS";
3351   surfxml_statenames[AL_surfxml_host] = NULL;
3352   surfxml_statenames[S_surfxml_host] = "host";
3353   surfxml_statenames[S_surfxml_host_1] = "host";
3354   surfxml_statenames[S_surfxml_host_2] = "host";
3355   surfxml_statenames[E_surfxml_host] = "host";
3356   surfxml_statenames[AL_surfxml_cluster] = NULL;
3357   surfxml_statenames[E_surfxml_cluster] = "cluster";
3358   surfxml_statenames[AL_surfxml_router] = NULL;
3359   surfxml_statenames[E_surfxml_router] = "router";
3360   surfxml_statenames[AL_surfxml_link] = NULL;
3361   surfxml_statenames[S_surfxml_link] = "link";
3362   surfxml_statenames[S_surfxml_link_1] = "link";
3363   surfxml_statenames[S_surfxml_link_2] = "link";
3364   surfxml_statenames[E_surfxml_link] = "link";
3365   surfxml_statenames[AL_surfxml_route] = NULL;
3366   surfxml_statenames[S_surfxml_route] = "route";
3367   surfxml_statenames[S_surfxml_route_1] = "route";
3368   surfxml_statenames[S_surfxml_route_2] = "route";
3369   surfxml_statenames[E_surfxml_route] = "route";
3370   surfxml_statenames[AL_surfxml_ASroute] = NULL;
3371   surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3372   surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3373   surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3374   surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3375   surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3376   surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3377   surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3378   surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3379   surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3380   surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3381   surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3382   surfxml_statenames[AL_surfxml_process] = NULL;
3383   surfxml_statenames[S_surfxml_process] = "process";
3384   surfxml_statenames[S_surfxml_process_1] = "process";
3385   surfxml_statenames[S_surfxml_process_2] = "process";
3386   surfxml_statenames[E_surfxml_process] = "process";
3387   surfxml_statenames[AL_surfxml_argument] = NULL;
3388   surfxml_statenames[E_surfxml_argument] = "argument";
3389   surfxml_statenames[AL_surfxml_prop] = NULL;
3390   surfxml_statenames[E_surfxml_prop] = "prop";
3391   }
3392
3393  /* COMMENTS and PIs: handled uniformly for efficiency. */
3394
3395         if ( !(yy_init) )
3396                 {
3397                 (yy_init) = 1;
3398
3399 #ifdef YY_USER_INIT
3400                 YY_USER_INIT;
3401 #endif
3402
3403                 if ( ! (yy_start) )
3404                         (yy_start) = 1; /* first start state */
3405
3406                 if ( ! surf_parse_in )
3407                         surf_parse_in = stdin;
3408
3409                 if ( ! surf_parse_out )
3410                         surf_parse_out = stdout;
3411
3412                 if ( ! YY_CURRENT_BUFFER ) {
3413                         surf_parse_ensure_buffer_stack ();
3414                         YY_CURRENT_BUFFER_LVALUE =
3415                                 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3416                 }
3417
3418                 surf_parse__load_buffer_state( );
3419                 }
3420
3421         while ( 1 )             /* loops until end-of-file is reached */
3422                 {
3423                 yy_cp = (yy_c_buf_p);
3424
3425                 /* Support of surf_parse_text. */
3426                 *yy_cp = (yy_hold_char);
3427
3428                 /* yy_bp points to the position in yy_ch_buf of the start of
3429                  * the current run.
3430                  */
3431                 yy_bp = yy_cp;
3432
3433                 yy_current_state = (yy_start);
3434 yy_match:
3435                 do
3436                         {
3437                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3438                         if ( yy_accept[yy_current_state] )
3439                                 {
3440                                 (yy_last_accepting_state) = yy_current_state;
3441                                 (yy_last_accepting_cpos) = yy_cp;
3442                                 }
3443                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3444                                 {
3445                                 yy_current_state = (int) yy_def[yy_current_state];
3446                                 if ( yy_current_state >= 1857 )
3447                                         yy_c = yy_meta[(unsigned int) yy_c];
3448                                 }
3449                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3450                         ++yy_cp;
3451                         }
3452                 while ( yy_base[yy_current_state] != 6550 );
3453
3454 yy_find_action:
3455                 yy_act = yy_accept[yy_current_state];
3456                 if ( yy_act == 0 )
3457                         { /* have to back up */
3458                         yy_cp = (yy_last_accepting_cpos);
3459                         yy_current_state = (yy_last_accepting_state);
3460                         yy_act = yy_accept[yy_current_state];
3461                         }
3462
3463                 YY_DO_BEFORE_ACTION;
3464
3465                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3466                         {
3467                         int yyl;
3468                         for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3469                                 if ( surf_parse_text[yyl] == '\n' )
3470                                            
3471     surf_parse_lineno++;
3472 ;
3473                         }
3474
3475 do_action:      /* This label is used only to access EOF actions. */
3476
3477                 switch ( yy_act )
3478         { /* beginning of action switch */
3479                         case 0: /* must back up */
3480                         /* undo the effects of YY_DO_BEFORE_ACTION */
3481                         *yy_cp = (yy_hold_char);
3482                         yy_cp = (yy_last_accepting_cpos);
3483                         yy_current_state = (yy_last_accepting_state);
3484                         goto yy_find_action;
3485
3486 case 1:
3487 YY_RULE_SETUP
3488 ENTER(INCOMMENT);
3489         YY_BREAK
3490 case 2:
3491 YY_RULE_SETUP
3492 ENTER(INPI);
3493         YY_BREAK
3494
3495 case 3:
3496 YY_RULE_SETUP
3497 LEAVE;
3498         YY_BREAK
3499 case 4:
3500 case 5:
3501 case 6:
3502 /* rule 6 can match eol */
3503 YY_RULE_SETUP
3504 SKIP;
3505         YY_BREAK
3506 case YY_STATE_EOF(INCOMMENT):
3507 FAIL("EOF in comment.");
3508         YY_BREAK
3509
3510 case 7:
3511 YY_RULE_SETUP
3512 LEAVE;
3513         YY_BREAK
3514 case 8:
3515 case 9:
3516 /* rule 9 can match eol */
3517 YY_RULE_SETUP
3518 SKIP;
3519         YY_BREAK
3520 case YY_STATE_EOF(INPI):
3521 FAIL("EOF in PI (processing instruction).");
3522         YY_BREAK
3523
3524 /* SPACES: skipped uniformly */
3525 case 10:
3526 /* rule 10 can match eol */
3527 YY_RULE_SETUP
3528 SKIP;
3529         YY_BREAK
3530 /* PROLOG: determine root element and process it. */
3531
3532 case 11:
3533 /* rule 11 can match eol */
3534 YY_RULE_SETUP
3535 SET(DOCTYPE); 
3536         YY_BREAK
3537 case 12:
3538 /* rule 12 can match eol */
3539 YY_RULE_SETUP
3540 FAIL("Bad declaration %s.",surf_parse_text);
3541         YY_BREAK
3542
3543 case 13:
3544 /* rule 13 can match eol */
3545 YY_RULE_SETUP
3546 SET(ROOT_surfxml_platform);
3547         YY_BREAK
3548 case 14:
3549 /* rule 14 can match eol */
3550 YY_RULE_SETUP
3551 FAIL("Bad declaration %s.",surf_parse_text);
3552         YY_BREAK
3553 case 15:
3554 YY_RULE_SETUP
3555 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3556         YY_BREAK
3557 case YY_STATE_EOF(PROLOG):
3558 case YY_STATE_EOF(DOCTYPE):
3559 FAIL("EOF in prolog.");
3560         YY_BREAK
3561
3562 /* RULES DERIVED FROM DTD. */
3563 /* <!-- Small DTD for SURF based tools. -->  */
3564 case 16:
3565 /* rule 16 can match eol */
3566 YY_RULE_SETUP
3567 FAIL("Starting tag <platform> is not allowed here.");
3568         YY_BREAK
3569 case 17:
3570 /* rule 17 can match eol */
3571 YY_RULE_SETUP
3572 {
3573   AX_surfxml_platform_version = 1;
3574   AX_surfxml_platform_xmlns_c_link = 5;
3575   AX_surfxml_platform_xmlns_c_route = 37;
3576   ENTER(AL_surfxml_platform); pushbuffer(0);
3577   }
3578         YY_BREAK
3579
3580 case 18:
3581 /* rule 18 can match eol */
3582 YY_RULE_SETUP
3583 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3584         YY_BREAK
3585 case 19:
3586 /* rule 19 can match eol */
3587 YY_RULE_SETUP
3588 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3589         YY_BREAK
3590 case 20:
3591 /* rule 20 can match eol */
3592 YY_RULE_SETUP
3593 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3594         YY_BREAK
3595 case 21:
3596 /* rule 21 can match eol */
3597 YY_RULE_SETUP
3598 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3599         YY_BREAK
3600 case 22:
3601 /* rule 22 can match eol */
3602 YY_RULE_SETUP
3603 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3604         YY_BREAK
3605 case 23:
3606 /* rule 23 can match eol */
3607 YY_RULE_SETUP
3608 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3609         YY_BREAK
3610 case 24:
3611 YY_RULE_SETUP
3612 {
3613   LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3614  }
3615         YY_BREAK
3616 case 25:
3617 YY_RULE_SETUP
3618 {
3619   LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3620   switch (YY_START) {
3621    case ROOT_surfxml_platform: SET(EPILOG); break;
3622   }
3623  }
3624         YY_BREAK
3625 case 26:
3626 YY_RULE_SETUP
3627 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3628         YY_BREAK
3629 case 27:
3630 YY_RULE_SETUP
3631 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3632         YY_BREAK
3633 case YY_STATE_EOF(AL_surfxml_platform):
3634 FAIL("EOF in attribute list of `platform' element.");
3635         YY_BREAK
3636
3637 case 28:
3638 /* rule 28 can match eol */