2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
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
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
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
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;
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;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
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
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
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.
144 #define BEGIN (yy_start) = 1 + 2 *
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
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
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.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
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.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
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 */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
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
250 int yy_is_our_buffer;
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
257 int yy_is_interactive;
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
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
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.
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.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
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. */
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
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
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.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
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 */
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 */
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 ...
325 static int yy_did_buffer_switch_on_eof;
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 );
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 );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
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 );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
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 ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
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 ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
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[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
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; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 403
407 #define YY_END_OF_BUFFER 404
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2408] =
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,
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, 0, 0, 0, 0,
437 0, 0, 404, 402, 15, 10, 10, 15, 15, 382,
439 10, 382, 5, 6, 5, 8, 9, 8, 398, 390,
440 391, 399, 396, 399, 397, 401, 390, 391, 401, 402,
441 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
442 26, 402, 26, 402, 402, 26, 33, 10, 33, 33,
443 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
444 48, 46, 48, 48, 48, 399, 398, 78, 10, 78,
445 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
446 82, 402, 82, 101, 10, 101, 101, 101, 99, 101,
447 101, 101, 105, 10, 105, 114, 10, 114, 114, 114,
448 112, 114, 114, 118, 10, 118, 118, 402, 118, 118,
450 402, 402, 118, 402, 118, 402, 118, 141, 10, 141,
451 141, 141, 139, 141, 141, 141, 141, 141, 145, 10,
452 145, 145, 184, 10, 184, 184, 184, 182, 184, 184,
453 184, 184, 184, 184, 184, 184, 188, 10, 188, 209,
454 10, 209, 209, 209, 207, 209, 209, 209, 209, 209,
455 209, 209, 213, 10, 213, 222, 10, 222, 222, 222,
456 220, 222, 222, 226, 10, 226, 253, 10, 253, 253,
457 253, 251, 253, 253, 253, 253, 257, 10, 257, 257,
458 270, 10, 270, 270, 270, 268, 270, 270, 274, 10,
459 274, 402, 274, 291, 10, 291, 291, 291, 289, 291,
461 291, 291, 295, 10, 295, 295, 308, 10, 308, 308,
462 308, 306, 308, 308, 312, 10, 312, 325, 10, 325,
463 325, 325, 323, 325, 325, 325, 329, 10, 329, 329,
464 342, 10, 342, 342, 342, 340, 342, 342, 342, 342,
465 346, 10, 346, 402, 346, 353, 10, 353, 353, 353,
466 351, 353, 357, 10, 357, 364, 10, 364, 364, 364,
467 362, 364, 368, 10, 368, 368, 377, 10, 377, 377,
468 377, 375, 377, 377, 381, 10, 381, 10, 0, 2,
469 2, 0, 4, 7, 393, 392, 0, 0, 0, 0,
470 0, 0, 0, 21, 23, 23, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 32, 34, 34,
474 0, 47, 49, 49, 49, 49, 0, 0, 0, 77,
475 79, 79, 79, 79, 79, 79, 79, 79, 79, 0,
476 0, 100, 102, 102, 102, 102, 0, 113, 115, 115,
477 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 140, 142, 142, 142, 142, 142, 142, 0, 183, 185,
479 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
480 185, 185, 0, 208, 210, 210, 210, 210, 210, 210,
481 210, 210, 0, 221, 223, 223, 223, 0, 252, 254,
483 254, 254, 254, 254, 254, 0, 269, 271, 271, 271,
484 271, 0, 0, 290, 292, 292, 292, 292, 292, 0,
485 307, 309, 309, 309, 0, 324, 326, 326, 326, 326,
486 0, 341, 343, 343, 343, 343, 343, 0, 0, 352,
487 354, 354, 0, 363, 365, 365, 0, 376, 378, 378,
488 378, 0, 0, 0, 0, 0, 3, 0, 0, 0,
489 0, 0, 0, 0, 400, 0, 23, 0, 0, 107,
490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
492 0, 34, 0, 0, 49, 0, 0, 49, 0, 0,
494 0, 395, 79, 0, 0, 79, 79, 79, 79, 79,
495 79, 0, 0, 0, 102, 102, 102, 0, 0, 0,
496 0, 115, 0, 0, 107, 0, 0, 0, 0, 106,
497 0, 0, 142, 142, 142, 0, 0, 142, 142, 0,
498 0, 185, 185, 0, 0, 185, 0, 0, 185, 185,
499 185, 185, 185, 185, 185, 0, 0, 210, 210, 210,
500 0, 0, 210, 210, 210, 0, 0, 223, 0, 0,
501 0, 0, 254, 0, 0, 254, 254, 254, 0, 0,
502 271, 271, 271, 0, 0, 0, 292, 292, 292, 292,
503 0, 0, 309, 0, 0, 0, 0, 326, 326, 326,
505 0, 0, 343, 343, 343, 343, 0, 0, 0, 354,
506 0, 0, 0, 0, 0, 0, 0, 0, 378, 0,
507 0, 0, 14, 1, 0, 0, 388, 0, 0, 0,
508 385, 384, 0, 0, 23, 0, 0, 25, 0, 107,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
511 0, 0, 34, 0, 0, 36, 0, 49, 0, 41,
512 40, 49, 0, 0, 0, 51, 0, 79, 0, 55,
513 54, 0, 0, 79, 0, 0, 79, 79, 79, 0,
514 0, 81, 0, 0, 102, 102, 102, 0, 0, 104,
516 0, 0, 109, 108, 115, 0, 0, 117, 0, 0,
517 0, 0, 0, 0, 0, 0, 142, 142, 142, 0,
518 122, 121, 142, 142, 0, 0, 144, 0, 185, 185,
519 185, 185, 0, 161, 160, 185, 0, 149, 148, 0,
520 0, 185, 185, 185, 185, 185, 185, 0, 0, 187,
521 0, 210, 210, 210, 210, 0, 192, 191, 0, 0,
522 210, 210, 0, 0, 212, 0, 223, 0, 217, 216,
523 0, 0, 225, 0, 254, 0, 230, 229, 254, 254,
524 254, 0, 0, 256, 0, 0, 0, 0, 0, 271,
525 0, 0, 273, 0, 0, 0, 0, 292, 292, 0,
527 0, 292, 0, 0, 294, 0, 309, 0, 299, 298,
528 0, 0, 311, 0, 0, 0, 326, 326, 0, 0,
529 0, 0, 328, 0, 343, 343, 343, 343, 0, 0,
530 345, 0, 0, 354, 0, 0, 356, 0, 0, 361,
531 360, 0, 0, 367, 0, 0, 372, 371, 378, 0,
532 0, 380, 0, 0, 0, 389, 383, 0, 0, 0,
533 23, 0, 0, 0, 0, 0, 0, 119, 0, 227,
534 190, 0, 0, 369, 0, 0, 0, 0, 0, 0,
535 0, 189, 0, 0, 0, 0, 0, 0, 0, 49,
536 0, 0, 79, 0, 59, 58, 0, 0, 0, 57,
538 56, 79, 0, 0, 79, 0, 370, 102, 0, 0,
539 102, 0, 115, 0, 116, 0, 0, 120, 228, 0,
540 0, 0, 142, 142, 0, 0, 142, 142, 0, 185,
541 185, 185, 185, 0, 0, 0, 163, 162, 185, 185,
542 185, 185, 185, 185, 0, 210, 210, 210, 210, 0,
543 200, 199, 210, 210, 0, 223, 0, 254, 254, 254,
544 254, 0, 0, 263, 262, 0, 261, 260, 271, 0,
545 227, 0, 280, 279, 292, 292, 0, 278, 277, 292,
546 0, 309, 0, 0, 318, 317, 326, 326, 0, 316,
547 315, 0, 343, 0, 0, 343, 343, 0, 0, 354,
549 0, 0, 378, 0, 0, 0, 0, 12, 0, 386,
550 387, 0, 23, 0, 0, 0, 0, 0, 0, 119,
551 0, 227, 0, 190, 0, 0, 369, 0, 258, 39,
552 0, 0, 0, 0, 189, 0, 38, 0, 30, 29,
553 0, 0, 43, 42, 49, 0, 0, 79, 0, 61,
554 60, 79, 0, 65, 64, 79, 0, 370, 102, 0,
555 0, 0, 0, 0, 0, 115, 0, 0, 120, 228,
556 259, 259, 258, 142, 142, 0, 126, 125, 0, 0,
557 0, 0, 142, 0, 185, 0, 0, 185, 185, 0,
558 159, 158, 0, 0, 185, 185, 185, 185, 185, 0,
560 210, 0, 0, 210, 210, 0, 0, 210, 0, 223,
561 0, 254, 254, 254, 0, 0, 254, 0, 271, 0,
562 0, 292, 292, 292, 0, 309, 0, 326, 326, 0,
563 343, 0, 333, 332, 343, 343, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
565 23, 0, 0, 0, 0, 0, 359, 0, 0, 0,
566 0, 53, 258, 214, 39, 0, 358, 52, 0, 0,
567 0, 38, 0, 0, 49, 0, 0, 79, 79, 79,
568 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 96, 95, 0, 115, 0, 0, 259, 215, 142,
571 142, 0, 124, 123, 0, 0, 0, 142, 0, 143,
572 185, 0, 171, 170, 0, 0, 185, 0, 157, 156,
573 0, 0, 185, 185, 185, 0, 0, 0, 210, 0,
574 196, 195, 0, 0, 210, 0, 194, 193, 210, 0,
575 211, 223, 0, 254, 254, 254, 0, 0, 0, 254,
576 0, 255, 271, 0, 0, 0, 0, 0, 0, 292,
577 0, 309, 0, 0, 0, 0, 0, 0, 343, 343,
578 343, 0, 0, 0, 350, 349, 0, 0, 0, 374,
579 373, 0, 379, 0, 0, 0, 0, 0, 0, 0,
580 275, 0, 0, 147, 359, 28, 0, 0, 331, 53,
582 214, 0, 358, 52, 146, 27, 330, 0, 0, 49,
583 0, 0, 50, 79, 0, 0, 79, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 276, 0, 215, 142, 142, 0, 0,
586 142, 185, 0, 173, 172, 185, 0, 151, 150, 0,
587 0, 185, 185, 0, 153, 152, 0, 210, 0, 198,
588 197, 210, 210, 223, 0, 254, 0, 0, 254, 254,
589 0, 0, 254, 271, 0, 272, 0, 0, 284, 283,
590 0, 282, 281, 292, 0, 309, 0, 0, 322, 321,
591 0, 320, 319, 0, 343, 343, 343, 0, 0, 0,
593 0, 0, 0, 0, 17, 0, 19, 18, 0, 275,
594 347, 0, 147, 28, 296, 16, 331, 0, 146, 27,
595 330, 0, 0, 49, 394, 79, 0, 67, 66, 79,
596 0, 80, 0, 98, 97, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 111, 110, 276,
598 0, 142, 142, 0, 0, 0, 0, 142, 185, 185,
599 0, 155, 154, 185, 185, 0, 210, 210, 210, 223,
600 0, 224, 254, 0, 236, 235, 254, 254, 0, 0,
601 0, 0, 254, 271, 297, 292, 0, 309, 0, 0,
602 0, 0, 343, 343, 0, 348, 0, 0, 366, 0,
604 0, 0, 17, 0, 347, 0, 296, 16, 0, 0,
605 0, 35, 49, 0, 0, 79, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 142, 142,
607 0, 132, 0, 131, 142, 185, 185, 185, 185, 0,
608 186, 210, 210, 210, 223, 0, 0, 254, 254, 254,
609 0, 240, 0, 239, 254, 271, 297, 292, 0, 293,
610 0, 0, 0, 0, 0, 335, 334, 0, 0, 343,
611 0, 344, 348, 0, 0, 0, 0, 0, 24, 0,
612 0, 0, 49, 0, 0, 0, 79, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 142,
615 142, 134, 133, 0, 0, 185, 185, 185, 0, 0,
616 210, 210, 0, 0, 223, 0, 232, 231, 254, 254,
617 254, 242, 241, 0, 0, 271, 292, 0, 0, 0,
618 0, 310, 0, 0, 339, 338, 0, 0, 0, 355,
619 0, 0, 0, 313, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 79, 0, 0, 0, 0, 88,
621 0, 0, 0, 0, 87, 0, 314, 142, 0, 0,
622 0, 136, 135, 185, 185, 185, 0, 181, 180, 210,
623 0, 0, 0, 206, 205, 0, 0, 254, 254, 254,
624 0, 244, 243, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 337, 336, 0, 0, 0,
627 313, 0, 0, 0, 45, 44, 0, 0, 0, 0,
628 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 314, 0, 0, 142, 0, 138,
630 137, 185, 185, 185, 210, 0, 202, 201, 0, 219,
631 218, 254, 0, 0, 254, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 84, 83, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
635 93, 0, 0, 0, 128, 127, 142, 185, 185, 185,
637 210, 254, 0, 238, 237, 254, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 301, 0, 0, 300,
639 0, 327, 0, 0, 0, 0, 0, 0, 84, 83,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
641 62, 0, 0, 0, 0, 0, 0, 0, 142, 185,
642 185, 0, 0, 210, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 75, 71, 0,
645 0, 74, 70, 0, 92, 0, 0, 91, 0, 0,
646 0, 103, 142, 185, 185, 0, 0, 0, 210, 0,
648 234, 233, 0, 0, 0, 267, 0, 266, 0, 288,
649 0, 287, 0, 303, 305, 302, 304, 0, 0, 0,
650 12, 0, 12, 0, 0, 0, 0, 0, 86, 90,
651 85, 89, 142, 185, 185, 0, 0, 0, 0, 210,
652 0, 0, 0, 0, 265, 264, 286, 285, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
656 0, 68, 0, 0, 130, 129, 0, 179, 178, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
659 203, 0, 0, 0, 0, 0, 0, 0, 11, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0, 73, 72,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 165, 0, 0, 164, 0, 0, 246, 0, 0, 245,
667 0, 0, 0, 0, 0, 169, 0, 168, 0, 248,
668 0, 247, 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 175, 0, 174, 0, 0, 0,
671 0, 0, 0, 177, 176, 167, 166, 250, 249, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 static yyconst flex_int32_t yy_ec[256] =
686 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
687 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
690 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
691 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
692 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
693 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
694 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
695 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
697 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
698 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
699 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716 static yyconst flex_int32_t yy_meta[73] =
718 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
719 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
720 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
721 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
722 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
723 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
724 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
728 static yyconst flex_int16_t yy_base[2701] =
730 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
731 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
732 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
733 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
734 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
735 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
736 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
737 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
738 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
739 794, 797, 800, 804, 807, 859, 904, 970, 862, 865,
741 869, 872, 924, 927, 930, 934, 1036, 0, 990, 993,
742 1108, 0, 996, 1000, 1180, 1237, 1200, 1203, 1294, 1360,
743 1206, 1210, 1257, 1260, 1263, 1267, 1314, 1317, 1426, 1492,
744 1320, 1324, 1327, 1380, 1383, 1386, 1390, 1393, 1558, 1624,
745 1446, 1449, 1452, 1456, 1459, 1512, 1515, 1518, 1690, 1747,
746 1522, 1525, 1804, 1870, 1578, 1581, 1584, 1588, 1591, 1644,
747 1647, 1650, 1936, 2002, 1654, 1657, 1710, 1713, 1716, 1720,
748 1723, 1767, 2068, 2137, 1770, 1773, 2206, 2263, 1777, 1780,
749 1824, 1827, 1830, 1834, 1837, 1890, 2320, 2389, 1893, 1896,
750 0, 0, 6532, 8043, 8043, 95, 100, 29, 41, 8043,
752 103, 51, 8043, 8043, 6521, 8043, 8043, 6508, 8043, 6523,
753 6523, 498, 8043, 8043, 8043, 8043, 6517, 6517, 6472, 145,
754 8043, 161, 6496, 0, 146, 8043, 6462, 8043, 166, 2454,
755 88, 204, 205, 254, 6502, 3, 8043, 169, 6489, 0,
756 153, 8043, 6451, 8043, 260, 419, 8043, 322, 6487, 0,
757 244, 8043, 6447, 6451, 6449, 420, 6450, 8043, 364, 6476,
758 0, 248, 8043, 6442, 6440, 257, 6442, 360, 8043, 440,
759 31, 6478, 6422, 8043, 567, 6464, 0, 306, 8043, 6424,
760 6423, 6414, 8043, 624, 482, 8043, 633, 6458, 0, 416,
761 8043, 6421, 6410, 8043, 692, 1908, 1909, 6412, 35, 6446,
763 240, 135, 740, 691, 59, 6455, 152, 8043, 697, 6446,
764 0, 417, 8043, 6392, 6398, 6407, 6394, 6388, 8043, 702,
765 6442, 181, 8043, 764, 6429, 0, 479, 8043, 6379, 300,
766 6385, 6392, 6394, 185, 6393, 439, 8043, 767, 546, 8043,
767 824, 6417, 0, 480, 8043, 6367, 6365, 6370, 6379, 6381,
768 6363, 6357, 8043, 830, 611, 8043, 833, 6403, 0, 483,
769 8043, 6358, 6367, 8043, 889, 612, 8043, 895, 6398, 0,
770 543, 8043, 6364, 6360, 6362, 483, 8043, 898, 6396, 210,
771 8043, 937, 6387, 0, 609, 8043, 6340, 279, 8043, 954,
772 626, 6389, 6341, 8043, 960, 6379, 0, 752, 8043, 6330,
774 6325, 306, 8043, 1003, 6382, 554, 8043, 1020, 6369, 0,
775 808, 8043, 6331, 6335, 8043, 1026, 1211, 8043, 1231, 6364,
776 0, 809, 8043, 6317, 6312, 6312, 8043, 1270, 6364, 560,
777 8043, 1287, 6355, 0, 873, 8043, 6304, 6309, 6313, 6298,
778 8043, 1344, 304, 449, 310, 8043, 1352, 6344, 0, 874,
779 8043, 6314, 8043, 1355, 1331, 8043, 1410, 6340, 0, 938,
780 8043, 6307, 8043, 1418, 6346, 593, 8043, 1421, 6333, 0,
781 939, 8043, 6300, 6302, 8043, 1477, 1397, 1480, 672, 6277,
782 8043, 6337, 6326, 8043, 8043, 8043, 1474, 317, 6274, 6273,
783 6271, 6316, 6276, 8043, 0, 6269, 6266, 6281, 6254, 6246,
785 621, 6251, 6251, 6254, 30, 630, 6241, 687, 710, 6266,
786 702, 6243, 967, 6234, 757, 1227, 1482, 8043, 0, 6239,
787 6240, 8043, 0, 6233, 1899, 6226, 514, 6223, 6265, 8043,
788 0, 6223, 1958, 6212, 6229, 6216, 6224, 6218, 6218, 6204,
789 1489, 8043, 0, 6211, 6202, 6213, 6190, 8043, 0, 1966,
790 6188, 6233, 6211, 6177, 6186, 6186, 963, 6203, 1168, 1288,
791 8043, 0, 6192, 819, 1976, 6166, 6186, 6178, 8043, 0,
792 6180, 6180, 2022, 6162, 2025, 6155, 6151, 6167, 6163, 6165,
793 6164, 6154, 6156, 8043, 0, 6157, 6153, 6138, 2028, 6132,
794 6124, 6144, 6129, 8043, 0, 5747, 2031, 5743, 8043, 0,
796 5745, 2034, 5738, 5755, 5754, 5743, 8043, 0, 5734, 5749,
797 5738, 5732, 5738, 8043, 0, 5720, 5738, 5733, 5715, 5751,
798 8043, 0, 5703, 2088, 5708, 8043, 0, 5698, 5712, 5708,
799 5703, 8043, 0, 5690, 5684, 5689, 5694, 5679, 5672, 8043,
800 0, 5677, 5685, 8043, 0, 2091, 5674, 8043, 0, 2094,
801 5665, 5659, 5701, 5701, 929, 5650, 8043, 1536, 0, 5645,
802 5638, 5682, 5680, 5630, 8043, 5642, 5623, 1903, 2100, 1553,
803 5633, 5621, 5615, 5620, 5614, 5627, 5574, 5578, 5580, 5566,
804 5565, 5553, 5571, 5557, 5548, 1612, 5540, 5556, 5553, 5542,
805 5554, 5539, 2097, 2161, 5538, 2158, 1678, 5532, 5564, 2165,
807 2168, 8043, 5528, 2171, 1858, 2176, 5519, 2226, 5521, 5521,
808 5518, 2234, 2237, 5503, 5503, 5503, 5502, 2240, 2285, 2288,
809 2119, 5485, 2291, 2297, 1618, 5487, 5470, 5459, 5448, 1798,
810 5446, 5445, 5454, 5441, 5452, 2294, 2127, 5450, 5427, 2340,
811 2343, 5432, 1170, 2300, 2190, 5435, 2349, 2352, 2367, 5424,
812 5422, 5417, 5408, 5401, 5403, 2409, 2412, 5399, 953, 5389,
813 2415, 2370, 2418, 5387, 5372, 2421, 2424, 5372, 2436, 2378,
814 2445, 2450, 5383, 2459, 2477, 5381, 5367, 5360, 2465, 2470,
815 2489, 2495, 2520, 2498, 2526, 5358, 2529, 2532, 2538, 2541,
816 2550, 2561, 5365, 2564, 2569, 2583, 2587, 2590, 2593, 2602,
818 2611, 2614, 5357, 5340, 5346, 5326, 2620, 2623, 5335, 5319,
819 2626, 2633, 2645, 2648, 2658, 2663, 2666, 2670, 5316, 2687,
820 2690, 5362, 8043, 8043, 989, 5321, 8043, 5362, 5360, 5297,
821 8043, 8043, 5295, 5293, 5297, 2693, 2697, 8043, 2700, 1741,
822 5290, 5279, 5297, 5278, 5282, 5267, 5274, 5273, 5261, 5258,
823 639, 5271, 5251, 5266, 5261, 5258, 1924, 5242, 5246, 5238,
824 819, 5248, 2712, 2719, 2724, 8043, 2730, 2733, 2678, 8043,
825 8043, 2738, 5272, 2743, 2756, 8043, 2762, 5220, 2765, 8043,
826 8043, 2775, 2781, 2789, 2793, 2800, 5233, 2811, 5227, 2814,
827 2817, 8043, 2820, 884, 5225, 2823, 5219, 2829, 2841, 8043,
829 2844, 2848, 8043, 8043, 5210, 2856, 2863, 8043, 2866, 5204,
830 5207, 5188, 5187, 5177, 5167, 5166, 5164, 5170, 2869, 2876,
831 8043, 8043, 5155, 5158, 2887, 2892, 8043, 2895, 5150, 5133,
832 5144, 5136, 2899, 8043, 8043, 2907, 2914, 8043, 8043, 2925,
833 2928, 5125, 5128, 5133, 5125, 5124, 5117, 2936, 2939, 8043,
834 2943, 5113, 5092, 5080, 5094, 2946, 8043, 8043, 2962, 2965,
835 5080, 5090, 2973, 2976, 8043, 2980, 5077, 2983, 8043, 8043,
836 2995, 2999, 8043, 3002, 5057, 3014, 8043, 8043, 5065, 5067,
837 5066, 3005, 3010, 8043, 3024, 3032, 3036, 3044, 3050, 5065,
838 3058, 3062, 8043, 3069, 5058, 3065, 3077, 5045, 5045, 3072,
840 3090, 5055, 3098, 3101, 8043, 3104, 5046, 3107, 8043, 8043,
841 3123, 3126, 8043, 3129, 3132, 3136, 5030, 5029, 3151, 3154,
842 3162, 3169, 8043, 3172, 5026, 3175, 5043, 5023, 3181, 3184,
843 8043, 3193, 5020, 5023, 3196, 3203, 8043, 3206, 3215, 8043,
844 8043, 3225, 3228, 8043, 3234, 3237, 8043, 8043, 5022, 3247,
845 3254, 8043, 3260, 926, 3266, 8043, 8043, 5048, 5047, 5008,
846 4991, 3269, 4984, 4990, 4983, 4980, 4989, 1930, 4976, 1994,
847 1984, 4983, 4979, 1997, 4969, 4976, 4975, 4969, 4959, 4953,
848 4946, 2059, 4958, 4947, 3273, 3279, 3294, 3297, 3300, 4946,
849 4970, 3308, 4940, 3315, 8043, 8043, 3323, 3328, 3337, 8043,
851 8043, 4931, 3345, 3348, 4926, 3358, 2062, 4901, 3363, 3366,
852 3377, 3381, 4899, 3384, 8043, 4891, 4891, 2198, 2201, 4899,
853 4898, 4896, 4895, 4886, 3387, 3391, 3405, 3409, 3413, 4892,
854 3416, 4863, 4879, 3419, 3437, 3445, 8043, 8043, 3423, 4856,
855 4876, 4863, 4869, 4832, 3456, 4853, 3459, 4832, 4841, 3462,
856 8043, 8043, 3470, 4844, 3479, 4833, 3482, 4825, 4830, 4811,
857 3488, 3492, 3502, 8043, 8043, 3511, 8043, 8043, 4803, 3521,
858 3427, 3524, 8043, 8043, 4802, 4813, 3536, 8043, 8043, 4795,
859 3544, 4790, 3549, 3552, 8043, 8043, 4789, 4803, 3564, 8043,
860 8043, 3572, 4780, 3575, 3578, 4769, 4786, 3593, 4768, 3596,
862 3599, 3606, 3614, 3620, 718, 4806, 3625, 8043, 4805, 8043,
863 8043, 4761, 4754, 3628, 4734, 4743, 4717, 4728, 4718, 2244,
864 4707, 2312, 4706, 2485, 4694, 4688, 2492, 4692, 3587, 3632,
865 4696, 4689, 4682, 4682, 3635, 4662, 3639, 3647, 8043, 8043,
866 3655, 3659, 8043, 8043, 4666, 4682, 3668, 4653, 3687, 8043,
867 8043, 4653, 3695, 8043, 8043, 4642, 3682, 3703, 4642, 3706,
868 1574, 1820, 3714, 3722, 3732, 4653, 4639, 4634, 3735, 3738,
869 3743, 3746, 3751, 4648, 4632, 3754, 8043, 8043, 3762, 3765,
870 3773, 3780, 4638, 3776, 4640, 3791, 3795, 3803, 4602, 3811,
871 8043, 8043, 3821, 3824, 3832, 4582, 4585, 4584, 3835, 3839,
873 4583, 3842, 3846, 3854, 4571, 3860, 3863, 4576, 3872, 4568,
874 3878, 4575, 4552, 4568, 3881, 3884, 4563, 3892, 4530, 3899,
875 4538, 3905, 3911, 3914, 3918, 4527, 3923, 3932, 3937, 3942,
876 4510, 3951, 8043, 8043, 4513, 4499, 3945, 4500, 3964, 3971,
877 3985, 3989, 3992, 3997, 4010, 818, 415, 948, 8043, 4486,
878 4013, 4016, 4497, 4487, 4509, 4445, 4019, 4445, 4429, 4426,
879 4396, 4022, 4025, 4031, 4035, 4404, 4038, 4045, 4387, 4386,
880 4369, 4048, 4330, 4051, 4328, 4354, 4054, 4313, 4057, 4306,
881 4060, 4063, 4338, 4302, 1189, 4236, 4248, 4221, 1246, 4216,
882 4066, 8043, 8043, 4081, 4085, 4026, 4035, 4088, 4091, 3945,
884 3935, 4096, 8043, 8043, 4104, 3925, 3874, 3803, 4112, 8043,
885 3675, 4115, 8043, 8043, 4123, 4131, 91, 4141, 8043, 8043,
886 4149, 4152, 4160, 127, 163, 4163, 4167, 4181, 250, 4184,
887 8043, 8043, 4192, 4196, 332, 4204, 8043, 8043, 377, 4212,
888 8043, 441, 4215, 430, 4218, 513, 4221, 554, 635, 666,
889 4236, 8043, 695, 4239, 750, 4242, 4245, 4260, 4265, 766,
890 4273, 762, 4279, 4282, 4285, 4293, 4300, 4311, 827, 829,
891 846, 4314, 859, 4317, 8043, 8043, 4325, 4333, 4340, 8043,
892 8043, 4348, 8043, 1267, 1202, 966, 894, 4352, 4355, 4363,
893 4370, 902, 972, 4382, 4387, 4390, 974, 1136, 4393, 4396,
895 4399, 1153, 4402, 4405, 4408, 4411, 4414, 1163, 4417, 1220,
896 1233, 4420, 8043, 1217, 4423, 4427, 1261, 4441, 4444, 4447,
897 1290, 1294, 1294, 1304, 1306, 1341, 1352, 1359, 1365, 1360,
898 4455, 4462, 4465, 4474, 1343, 4480, 1356, 1349, 1430, 1441,
899 1383, 1407, 4483, 8043, 8043, 1408, 4491, 8043, 8043, 4499,
900 4505, 1408, 1416, 4513, 8043, 8043, 4521, 1426, 4524, 8043,
901 8043, 1419, 1431, 1424, 4532, 1452, 4535, 4540, 1469, 1468,
902 1573, 1628, 1473, 1483, 4553, 8043, 1476, 4556, 8043, 8043,
903 4565, 8043, 8043, 1495, 4573, 1491, 4576, 4579, 8043, 8043,
904 4588, 8043, 8043, 4596, 4599, 1521, 1529, 4602, 1531, 4605,
906 4608, 4611, 1644, 1603, 4617, 4633, 8043, 8043, 4642, 4645,
907 4648, 1533, 4651, 4654, 4657, 4661, 4667, 1551, 4670, 4673,
908 4676, 1556, 4679, 1552, 8043, 4682, 4685, 8043, 8043, 1573,
909 4693, 8043, 4701, 8043, 8043, 1641, 1627, 1647, 1642, 1652,
910 1660, 1646, 1662, 1657, 1695, 4712, 4715, 8043, 8043, 4723,
911 1661, 1673, 1679, 1706, 1729, 1712, 1731, 1693, 1706, 1723,
912 4727, 8043, 8043, 1724, 1734, 4735, 1732, 1737, 1739, 1743,
913 4738, 8043, 4741, 4744, 8043, 8043, 1740, 1741, 1793, 1829,
914 1817, 1837, 1794, 1805, 4759, 1809, 4762, 4765, 4768, 4773,
915 4776, 4788, 4783, 1812, 4796, 4801, 4804, 4807, 8043, 4810,
917 1932, 1909, 4815, 4818, 4829, 1799, 4837, 4840, 1807, 1808,
918 4843, 8043, 1814, 4846, 4849, 1847, 1866, 1862, 1877, 1865,
919 1877, 1876, 1876, 1900, 1915, 1927, 4857, 1904, 1907, 1909,
920 1975, 8043, 1980, 8043, 4864, 1924, 1945, 1959, 4872, 4876,
921 8043, 1972, 1974, 4882, 1977, 4885, 4891, 1991, 1987, 1992,
922 2046, 8043, 2045, 8043, 4903, 1996, 4906, 1998, 4909, 8043,
923 4912, 4917, 4930, 4933, 4936, 8043, 8043, 4944, 4952, 4962,
924 4965, 8043, 4968, 4971, 2047, 2096, 2064, 4974, 8043, 2006,
925 2052, 2055, 4980, 4984, 2151, 2324, 2047, 2081, 2090, 2094,
926 2097, 2118, 2097, 2110, 2110, 2113, 2157, 4993, 2129, 2115,
928 5000, 8043, 8043, 5003, 5006, 2119, 2134, 2141, 5014, 5021,
929 2159, 5032, 5036, 5039, 5054, 5057, 8043, 8043, 2175, 2181,
930 2178, 8043, 8043, 5065, 5068, 5076, 5079, 5083, 2683, 2713,
931 5097, 8043, 5100, 5103, 8043, 8043, 5111, 5119, 5129, 8043,
932 2230, 2423, 2486, 5132, 2200, 2204, 5135, 5138, 2218, 2222,
933 2343, 2221, 2225, 2353, 2201, 2260, 2264, 2263, 2270, 8043,
934 2293, 2306, 2312, 2322, 8043, 5148, 5153, 5156, 5159, 5167,
935 5177, 8043, 8043, 2335, 2323, 2379, 5185, 8043, 8043, 2383,
936 5193, 5196, 5204, 8043, 8043, 5212, 5215, 2374, 5223, 2391,
937 5226, 8043, 8043, 5234, 5237, 5245, 5248, 2409, 2414, 2414,
939 2420, 2421, 2423, 5256, 5259, 8043, 8043, 2489, 2495, 5267,
940 5162, 2397, 2415, 5271, 8043, 8043, 2485, 2481, 2485, 2497,
941 2504, 2502, 2503, 2521, 5279, 2515, 2536, 2553, 2539, 2522,
942 2547, 2565, 2554, 5286, 5289, 5292, 5298, 2523, 5310, 8043,
943 8043, 2525, 2523, 2527, 2548, 5318, 8043, 8043, 5326, 8043,
944 8043, 2555, 5336, 5339, 2538, 5347, 2597, 2674, 5355, 2708,
945 2716, 2568, 2584, 2614, 2590, 2603, 2630, 5363, 2621, 5366,
946 5369, 5372, 5391, 5394, 2620, 2630, 2633, 2624, 2636, 2651,
947 2680, 2667, 5397, 5400, 2682, 2682, 8043, 2699, 2701, 2726,
948 8043, 2732, 5408, 5411, 8043, 8043, 2713, 2715, 2716, 5419,
950 2718, 5422, 5427, 8043, 8043, 5440, 2744, 2760, 2752, 2763,
951 2762, 2773, 2765, 2779, 2772, 2784, 8043, 2793, 2803, 8043,
952 5443, 8043, 2815, 5446, 5449, 5458, 5478, 5525, 5468, 5489,
953 2811, 2832, 2833, 2801, 2828, 2846, 2847, 2822, 5498, 8043,
954 8043, 2857, 2841, 2842, 2875, 2854, 2859, 5515, 2841, 2845,
955 2855, 5519, 5506, 2854, 5537, 5545, 5555, 5558, 2908, 2880,
956 2912, 2883, 2918, 2886, 2924, 2896, 2930, 2945, 2944, 2945,
957 2990, 5573, 2952, 2953, 5593, 5640, 2943, 8043, 8043, 2922,
958 2956, 8043, 8043, 2950, 8043, 2984, 2985, 8043, 2985, 2986,
959 5566, 8043, 2968, 2971, 2957, 5581, 3004, 3010, 2979, 5613,
961 8043, 8043, 5621, 3120, 3123, 8043, 3035, 8043, 3041, 8043,
962 3051, 8043, 3049, 8043, 8043, 8043, 8043, 3057, 3092, 3067,
963 3084, 3132, 3086, 5630, 3082, 3088, 3100, 3093, 8043, 8043,
964 8043, 8043, 5634, 5652, 5660, 3126, 3091, 3139, 3093, 5663,
965 3171, 3094, 3181, 3115, 8043, 8043, 8043, 8043, 5670, 3162,
966 3160, 3182, 5673, 3196, 3189, 3205, 3193, 5666, 5692, 5700,
967 5703, 5711, 5714, 3180, 3192, 3211, 3194, 3209, 3222, 5725,
968 5729, 3207, 3219, 3231, 3219, 3227, 3243, 5737, 3246, 8043,
969 3244, 8043, 3245, 5743, 8043, 8043, 5752, 8043, 8043, 5760,
970 3266, 3281, 3247, 3257, 3253, 3257, 3274, 3275, 5768, 8043,
972 8043, 3278, 3290, 3291, 3296, 3302, 3300, 3353, 8043, 3338,
973 3336, 3333, 3327, 3336, 3334, 3341, 3349, 3350, 3347, 3367,
974 3373, 3372, 3378, 3379, 3384, 3409, 3410, 3417, 8043, 8043,
975 3404, 3423, 3410, 3430, 3416, 3414, 3442, 3432, 3429, 3452,
976 3442, 3446, 3463, 3456, 3456, 3473, 3481, 3463, 3465, 3472,
977 3472, 3490, 3481, 3513, 3503, 3494, 3523, 3508, 3498, 3531,
978 3517, 3520, 3550, 3545, 3530, 3536, 3533, 3546, 3577, 3552,
979 8043, 3577, 3560, 8043, 3598, 3572, 8043, 3602, 3579, 8043,
980 3635, 3577, 3595, 3588, 3621, 8043, 3621, 8043, 3628, 8043,
981 3638, 8043, 3640, 5776, 3647, 3668, 3650, 3668, 3635, 3637,
983 3648, 3651, 5779, 3694, 8043, 3694, 8043, 3705, 3704, 3708,
984 3710, 3731, 3753, 8043, 8043, 8043, 8043, 8043, 8043, 3723,
985 3752, 3780, 3801, 3707, 3739, 3912, 3943, 3710, 3858, 3877,
986 3879, 3811, 3884, 3885, 3950, 3851, 3909, 3798, 3903, 3917,
987 4057, 4024, 4066, 3709, 3952, 3792, 3965, 4076, 4091, 3977,
988 4118, 3700, 4077, 4092, 4110, 4154, 4157, 3990, 4128, 3970,
989 4169, 4121, 4140, 3768, 3771, 4139, 4171, 4172, 4208, 4206,
990 4211, 4287, 4313, 4238, 4285, 4213, 4305, 4116, 4288, 4321,
991 4414, 4233, 4253, 4089, 4302, 4327, 4418, 4434, 4440, 4291,
992 4312, 4452, 4468, 4421, 4501, 4493, 4509, 4183, 4520, 4511,
994 4512, 3958, 4470, 5787, 5790, 8043, 8043, 5810, 5819, 5828,
995 5837, 5846, 5855, 5864, 5873, 5882, 5891, 5900, 5909, 5918,
996 5927, 5936, 5945, 5954, 5963, 5972, 5981, 5990, 5999, 6008,
997 6017, 6026, 6035, 6044, 6053, 6062, 6071, 6080, 6089, 6098,
998 6107, 6116, 6125, 6134, 6143, 6152, 6161, 6170, 6179, 6186,
999 6193, 6200, 6207, 6214, 6221, 6228, 6235, 6242, 6249, 6256,
1000 6263, 6270, 6277, 6284, 6291, 6298, 6305, 6312, 6321, 6328,
1001 6333, 6340, 6345, 6352, 6357, 6364, 6369, 6376, 6381, 6388,
1002 6393, 6400, 6405, 6412, 6417, 6424, 6429, 6436, 6441, 6448,
1003 6453, 6460, 6465, 6472, 6477, 6484, 6489, 6496, 6501, 6508,
1005 6513, 6520, 6525, 6532, 6537, 6544, 6549, 6558, 6564, 6571,
1006 6579, 6586, 6594, 6601, 6609, 6616, 6624, 6631, 6639, 6646,
1007 6654, 6661, 6669, 6676, 6684, 6691, 6699, 6706, 6714, 6721,
1008 6729, 6737, 6745, 6753, 6761, 6768, 6776, 6784, 6792, 6799,
1009 6807, 6814, 6822, 6830, 6837, 6845, 6854, 6860, 6867, 6875,
1010 6883, 6891, 6899, 6907, 6914, 6922, 6929, 6937, 6944, 6952,
1011 6959, 6967, 6974, 6982, 6989, 6997, 7004, 7012, 7019, 7027,
1012 7034, 7042, 7049, 7057, 7064, 7072, 7079, 7087, 7094, 7102,
1013 7109, 7117, 7125, 7132, 7140, 7149, 7158, 7165, 7173, 7181,
1014 7188, 7196, 7203, 7211, 7218, 7226, 7233, 7240, 7248, 7255,
1016 7263, 7270, 7278, 7285, 7293, 7300, 7308, 7315, 7323, 7330,
1017 7338, 7345, 7353, 7360, 7368, 7375, 7383, 7391, 7399, 7407,
1018 7415, 7423, 7432, 7441, 7448, 7456, 7464, 7471, 7479, 7486,
1019 7494, 7501, 7509, 7516, 7523, 7531, 7538, 7546, 7553, 7561,
1020 7568, 7576, 7583, 7591, 7598, 7606, 7614, 7622, 7629, 7637,
1021 7645, 7653, 7660, 7668, 7676, 7684, 7692, 7701, 7710, 7718,
1022 7726, 7734, 7741, 7749, 7756, 7764, 7772, 7780, 7788, 7795,
1023 7802, 7810, 7817, 7824, 7832, 7839, 7846, 7854, 7861, 7869,
1024 7876, 7884, 7892, 7899, 7907, 7915, 7923, 7932, 7941, 7949,
1025 7957, 7964, 7971, 7979, 7988, 7997, 8006, 8015, 8024, 8033
1029 static yyconst flex_int16_t yy_def[2701] =
1031 2408, 2408, 2409, 2409, 2409, 2409, 2410, 2410, 2411, 2411,
1032 2412, 2412, 2413, 2413, 2413, 2413, 2414, 2414, 2408, 2408,
1033 2415, 2415, 2416, 2416, 2416, 2416, 2408, 2408, 2416, 2416,
1034 2416, 2416, 2408, 2408, 2416, 2416, 2408, 2408, 2416, 2416,
1035 2416, 2416, 2417, 2417, 2418, 2418, 2419, 2419, 2413, 2413,
1036 2420, 2420, 2421, 2421, 2408, 2408, 2421, 2421, 2421, 2421,
1037 2422, 2422, 2423, 2423, 2424, 2424, 2425, 2425, 2425, 2425,
1038 2408, 2408, 2425, 2425, 2425, 2425, 2408, 2408, 2425, 2425,
1039 2408, 2408, 2425, 2425, 2425, 2425, 2408, 2408, 2425, 2425,
1040 2408, 2408, 2425, 2425, 2425, 2425, 2426, 2426, 2427, 2427,
1042 2408, 2408, 2427, 2427, 2427, 2427, 2407, 107, 2428, 2428,
1043 2407, 111, 2429, 2429, 2430, 2430, 2431, 2431, 2432, 2432,
1044 2433, 2433, 2408, 2408, 2433, 2433, 2433, 2433, 2434, 2434,
1045 2435, 2435, 2408, 2408, 2435, 2435, 2435, 2435, 2436, 2436,
1046 2437, 2437, 2408, 2408, 2437, 2437, 2437, 2437, 2438, 2438,
1047 2439, 2439, 2440, 2440, 2441, 2441, 2408, 2408, 2441, 2441,
1048 2441, 2441, 2442, 2442, 2443, 2443, 2408, 2408, 2443, 2443,
1049 2443, 2443, 2444, 2444, 2445, 2445, 2446, 2446, 2447, 2447,
1050 2408, 2408, 2447, 2447, 2447, 2447, 2448, 2448, 2449, 2449,
1051 2408, 2408, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1053 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1054 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1055 2407, 2407, 2407, 2450, 2407, 2407, 2450, 2407, 2407, 2407,
1056 230, 230, 230, 230, 233, 233, 2407, 2407, 2407, 2451,
1057 2407, 2407, 2451, 2407, 2407, 2407, 2407, 2407, 2407, 2452,
1058 2407, 2407, 2452, 2452, 2452, 2407, 2407, 2407, 2407, 2407,
1059 2453, 2407, 2407, 2453, 2453, 2453, 2453, 2453, 2407, 2407,
1060 233, 271, 271, 2407, 2407, 2407, 2454, 2407, 2407, 2454,
1061 2454, 2454, 2407, 2407, 2407, 2407, 2407, 2407, 2455, 2407,
1062 2407, 2455, 2455, 2407, 2407, 234, 271, 234, 296, 297,
1064 297, 297, 297, 303, 304, 303, 303, 2407, 2407, 2407,
1065 2456, 2407, 2407, 2456, 2456, 2456, 2456, 2456, 2407, 2407,
1066 271, 271, 2407, 2407, 2407, 2457, 2407, 2407, 2457, 2457,
1067 2457, 2457, 2457, 2457, 2457, 2457, 2407, 2407, 2407, 2407,
1068 2407, 2407, 2458, 2407, 2407, 2458, 2458, 2458, 2458, 2458,
1069 2458, 2458, 2407, 2407, 2407, 2407, 2407, 2407, 2459, 2407,
1070 2407, 2459, 2459, 2407, 2407, 2407, 2407, 2407, 2407, 2460,
1071 2407, 2407, 2460, 2460, 2460, 2460, 2407, 2407, 271, 271,
1072 2407, 2407, 2407, 2461, 2407, 2407, 2461, 2461, 2407, 2407,
1073 271, 391, 391, 2407, 2407, 2407, 2462, 2407, 2407, 2462,
1075 2462, 2462, 2407, 2407, 391, 391, 2407, 2407, 2407, 2463,
1076 2407, 2407, 2463, 2463, 2407, 2407, 2407, 2407, 2407, 2407,
1077 2464, 2407, 2407, 2464, 2464, 2464, 2407, 2407, 391, 391,
1078 2407, 2407, 2407, 2465, 2407, 2407, 2465, 2465, 2465, 2465,
1079 2407, 2407, 271, 271, 271, 2407, 2407, 2407, 2466, 2407,
1080 2407, 2466, 2407, 2407, 2407, 2407, 2407, 2407, 2467, 2407,
1081 2407, 2467, 2407, 2407, 271, 271, 2407, 2407, 2407, 2468,
1082 2407, 2407, 2468, 2468, 2407, 2407, 2407, 2407, 2469, 2407,
1083 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1084 2407, 2407, 2407, 2407, 2470, 2470, 2471, 2407, 2407, 2407,
1086 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1087 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2472, 2472,
1088 2473, 2407, 2474, 2474, 2474, 2474, 2407, 2475, 2407, 2407,
1089 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2477,
1090 2407, 2407, 2478, 2478, 2478, 2478, 2479, 2407, 2480, 2480,
1091 2480, 2481, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1092 2407, 2482, 2482, 2482, 2482, 2482, 2482, 2483, 2407, 2484,
1093 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484,
1094 2484, 2484, 2485, 2407, 2486, 2486, 2486, 2486, 2486, 2486,
1095 2486, 2486, 2487, 2407, 2488, 2488, 2488, 2489, 2407, 2490,
1097 2490, 2490, 2490, 2490, 2490, 2491, 2407, 2492, 2492, 2492,
1098 2492, 2493, 2407, 2407, 2494, 2494, 2494, 2494, 2494, 2495,
1099 2407, 2496, 2496, 2496, 2497, 2407, 2498, 2498, 2498, 2498,
1100 2499, 2407, 2500, 2500, 2500, 2500, 2500, 2501, 2407, 2407,
1101 2502, 2502, 2503, 2407, 2504, 2504, 2505, 2407, 2506, 2506,
1102 2506, 2507, 2508, 2407, 2508, 2407, 2407, 2407, 2509, 2407,
1103 2407, 2407, 2407, 2407, 2407, 2407, 2510, 2511, 2511, 2407,
1104 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1105 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1106 2407, 2512, 2513, 2513, 2514, 2407, 2407, 2514, 2407, 2515,
1108 2515, 2407, 2516, 2407, 2407, 2516, 2516, 2516, 2516, 2516,
1109 2516, 2517, 2517, 2407, 2518, 2518, 2518, 2519, 2519, 2407,
1110 2407, 2520, 2521, 2521, 2407, 2407, 2407, 2407, 2407, 2407,
1111 2407, 2407, 2522, 2522, 2522, 2407, 2407, 2522, 2522, 2523,
1112 2523, 2524, 2524, 2407, 2407, 2524, 2407, 2407, 2524, 2524,
1113 2524, 2524, 2524, 2524, 2524, 2525, 2525, 2526, 2526, 2526,
1114 2407, 2407, 2526, 2526, 2526, 2527, 2527, 2528, 2407, 2407,
1115 2529, 2529, 2530, 2407, 2407, 2530, 2530, 2530, 2531, 2531,
1116 2532, 2532, 2532, 2533, 2533, 2407, 2534, 2534, 2534, 2534,
1117 2535, 2535, 2536, 2407, 2407, 2537, 2537, 2538, 2538, 2538,
1119 2539, 2539, 2540, 2540, 2540, 2540, 2541, 2541, 2407, 2542,
1120 2543, 2543, 2407, 2407, 2544, 2544, 2407, 2407, 2545, 2546,
1121 2546, 2547, 2407, 2407, 2547, 2407, 2407, 2548, 2407, 2407,
1122 2407, 2407, 2407, 2407, 2549, 2407, 2550, 2407, 2550, 2407,
1123 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1124 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1125 2407, 2407, 2551, 2407, 2552, 2407, 2552, 2553, 2407, 2407,
1126 2407, 2553, 2407, 2407, 2554, 2407, 2554, 2555, 2407, 2407,
1127 2407, 2407, 2407, 2555, 2407, 2407, 2555, 2555, 2555, 2407,
1128 2556, 2407, 2556, 2407, 2557, 2557, 2557, 2407, 2558, 2407,
1130 2558, 2407, 2407, 2407, 2559, 2407, 2560, 2407, 2560, 2407,
1131 2407, 2407, 2407, 2407, 2407, 2407, 2561, 2561, 2561, 2407,
1132 2407, 2407, 2561, 2561, 2407, 2562, 2407, 2562, 2563, 2563,
1133 2563, 2563, 2407, 2407, 2407, 2563, 2407, 2407, 2407, 2407,
1134 2407, 2563, 2563, 2563, 2563, 2563, 2563, 2407, 2564, 2407,
1135 2564, 2565, 2565, 2565, 2565, 2407, 2407, 2407, 2407, 2407,
1136 2565, 2565, 2407, 2566, 2407, 2566, 2567, 2407, 2407, 2407,
1137 2407, 2568, 2407, 2568, 2569, 2407, 2407, 2407, 2569, 2569,
1138 2569, 2407, 2570, 2407, 2570, 2407, 2407, 2407, 2407, 2571,
1139 2407, 2572, 2407, 2572, 2407, 2407, 2407, 2573, 2573, 2407,
1141 2407, 2573, 2407, 2574, 2407, 2574, 2575, 2407, 2407, 2407,
1142 2407, 2576, 2407, 2576, 2407, 2407, 2577, 2577, 2407, 2407,
1143 2407, 2578, 2407, 2578, 2579, 2579, 2579, 2579, 2407, 2580,
1144 2407, 2580, 2407, 2581, 2407, 2582, 2407, 2582, 2407, 2407,
1145 2407, 2407, 2583, 2407, 2583, 2407, 2407, 2407, 2584, 2407,
1146 2585, 2407, 2585, 2586, 2587, 2407, 2407, 2407, 2407, 2407,
1147 2588, 2589, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1148 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1149 2407, 2407, 2407, 2407, 2407, 2407, 2590, 2407, 2407, 2591,
1150 2407, 2592, 2593, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1152 2407, 2593, 2407, 2407, 2593, 2594, 2407, 2595, 2407, 2407,
1153 2595, 2596, 2597, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1154 2407, 2407, 2598, 2598, 2407, 2407, 2598, 2598, 2599, 2600,
1155 2600, 2600, 2600, 2407, 2407, 2407, 2407, 2407, 2600, 2600,
1156 2600, 2600, 2600, 2600, 2601, 2602, 2602, 2602, 2602, 2407,
1157 2407, 2407, 2602, 2602, 2603, 2604, 2605, 2606, 2606, 2606,
1158 2606, 2607, 2407, 2407, 2407, 2407, 2407, 2407, 2608, 2609,
1159 2407, 2407, 2407, 2407, 2610, 2610, 2407, 2407, 2407, 2610,
1160 2611, 2612, 2613, 2407, 2407, 2407, 2614, 2614, 2407, 2407,
1161 2407, 2615, 2616, 2407, 2407, 2616, 2616, 2617, 2407, 2618,
1163 2619, 2620, 2621, 2622, 2623, 2624, 2624, 2407, 2624, 2407,
1164 2407, 2407, 2625, 2626, 2407, 2407, 2407, 2407, 2407, 2407,
1165 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1166 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1167 2627, 2407, 2407, 2407, 2628, 2407, 2629, 2630, 2407, 2407,
1168 2407, 2630, 2407, 2407, 2407, 2630, 2631, 2407, 2632, 2407,
1169 2407, 2407, 2407, 2407, 2633, 2634, 2407, 2407, 2407, 2407,
1170 2407, 2407, 2407, 2635, 2635, 2407, 2407, 2407, 2407, 2407,
1171 2407, 2407, 2635, 2636, 2637, 2407, 2407, 2637, 2637, 2407,
1172 2407, 2407, 2407, 2407, 2637, 2637, 2637, 2637, 2637, 2638,
1174 2639, 2407, 2407, 2639, 2639, 2407, 2407, 2639, 2640, 2641,
1175 2642, 2643, 2643, 2643, 2407, 2407, 2643, 2644, 2645, 2646,
1176 2407, 2647, 2647, 2647, 2648, 2649, 2650, 2651, 2651, 2652,
1177 2653, 2407, 2407, 2407, 2653, 2653, 2654, 2407, 2407, 2407,
1178 2655, 2656, 2407, 2407, 2657, 2658, 2659, 2659, 2407, 2407,
1179 2660, 2661, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1180 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1181 2407, 2407, 2407, 2662, 2663, 2407, 2664, 2665, 2665, 2665,
1182 2666, 2667, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1183 2407, 2407, 2407, 2668, 2669, 2407, 2407, 2407, 2407, 2670,
1185 2670, 2407, 2407, 2407, 2407, 2407, 2407, 2670, 2407, 2407,
1186 2671, 2407, 2407, 2407, 2407, 2407, 2671, 2407, 2407, 2407,
1187 2407, 2407, 2671, 2671, 2671, 2407, 2407, 2672, 2673, 2407,
1188 2407, 2407, 2407, 2407, 2673, 2407, 2407, 2407, 2673, 2407,
1189 2407, 2674, 2675, 2676, 2676, 2676, 2407, 2407, 2407, 2676,
1190 2407, 2407, 2677, 2678, 2407, 2407, 2407, 2407, 2407, 2679,
1191 2680, 2681, 2682, 2407, 2407, 2407, 2407, 2683, 2684, 2684,
1192 2684, 2685, 2407, 2407, 2407, 2407, 2686, 2687, 2407, 2407,
1193 2407, 2407, 2407, 2688, 2689, 2689, 2407, 2407, 2407, 2690,
1194 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1196 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2691, 2692,
1197 2407, 2407, 2407, 2693, 2407, 2407, 2693, 2694, 2407, 2407,
1198 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1199 2668, 2407, 2407, 2407, 2407, 2407, 2670, 2670, 2407, 2407,
1200 2670, 2671, 2407, 2407, 2407, 2671, 2407, 2407, 2407, 2407,
1201 2407, 2671, 2671, 2407, 2407, 2407, 2672, 2673, 2407, 2407,
1202 2407, 2673, 2673, 2674, 2675, 2676, 2407, 2407, 2676, 2676,
1203 2407, 2407, 2676, 2677, 2407, 2407, 2407, 2407, 2407, 2407,
1204 2407, 2407, 2407, 2679, 2680, 2681, 2682, 2407, 2407, 2407,
1205 2407, 2407, 2407, 2683, 2684, 2684, 2684, 2685, 2407, 2686,
1207 2687, 2688, 2689, 2689, 2407, 2407, 2407, 2407, 2690, 2407,
1208 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1209 2407, 2407, 2691, 2692, 2407, 2693, 2407, 2407, 2407, 2693,
1210 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1211 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2407, 2407, 2407,
1212 2407, 2670, 2670, 2407, 2407, 2407, 2407, 2670, 2671, 2671,
1213 2407, 2407, 2407, 2671, 2671, 2672, 2673, 2673, 2673, 2674,
1214 2407, 2407, 2676, 2407, 2407, 2407, 2676, 2676, 2407, 2407,
1215 2407, 2407, 2676, 2677, 2407, 2679, 2680, 2681, 2682, 2683,
1216 2407, 2407, 2684, 2684, 2685, 2407, 2686, 2407, 2407, 2688,
1218 2689, 2689, 2407, 2690, 2407, 2407, 2407, 2407, 2407, 2407,
1219 2407, 2407, 2692, 2407, 2407, 2693, 2407, 2407, 2407, 2407,
1220 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670, 2670,
1221 2407, 2407, 2407, 2407, 2670, 2671, 2671, 2671, 2671, 2407,
1222 2407, 2673, 2673, 2673, 2674, 2407, 2407, 2676, 2676, 2676,
1223 2407, 2407, 2407, 2407, 2676, 2677, 2407, 2679, 2407, 2407,
1224 2407, 2407, 2682, 2683, 2407, 2407, 2407, 2407, 2407, 2684,
1225 2407, 2407, 2407, 2686, 2688, 2689, 2689, 2407, 2407, 2407,
1226 2407, 2407, 2692, 2407, 2407, 2407, 2693, 2407, 2407, 2407,
1227 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670,
1229 2670, 2407, 2407, 2407, 2407, 2671, 2671, 2671, 2407, 2407,
1230 2673, 2673, 2407, 2407, 2674, 2407, 2407, 2407, 2676, 2676,
1231 2676, 2407, 2407, 2407, 2407, 2677, 2679, 2407, 2407, 2407,
1232 2407, 2407, 2683, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1233 2688, 2689, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1234 2407, 2407, 2407, 2407, 2693, 2407, 2407, 2407, 2407, 2407,
1235 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670, 2407, 2407,
1236 2407, 2407, 2407, 2671, 2671, 2671, 2407, 2407, 2407, 2673,
1237 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2676, 2676, 2676,
1238 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1240 2407, 2407, 2407, 2683, 2407, 2407, 2407, 2688, 2689, 2689,
1241 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1242 2407, 2407, 2407, 2407, 2693, 2407, 2407, 2407, 2407, 2407,
1243 2407, 2407, 2407, 2668, 2407, 2407, 2407, 2670, 2407, 2407,
1244 2407, 2671, 2671, 2671, 2673, 2407, 2407, 2407, 2407, 2407,
1245 2407, 2676, 2407, 2407, 2676, 2407, 2407, 2407, 2407, 2407,
1246 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2683, 2688, 2689,
1247 2689, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1248 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1249 2407, 2407, 2668, 2407, 2407, 2407, 2670, 2671, 2671, 2671,
1251 2673, 2676, 2407, 2407, 2407, 2676, 2407, 2407, 2407, 2407,
1252 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1253 2407, 2407, 2688, 2689, 2689, 2689, 2695, 2696, 2407, 2407,
1254 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1255 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2670, 2671,
1256 2671, 2407, 2407, 2673, 2407, 2407, 2407, 2407, 2407, 2407,
1257 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1258 2688, 2689, 2697, 2698, 2695, 2696, 2407, 2407, 2407, 2407,
1259 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1260 2407, 2407, 2670, 2671, 2671, 2407, 2407, 2407, 2673, 2407,
1262 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1263 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2697, 2689,
1264 2699, 2698, 2700, 2689, 2407, 2407, 2407, 2407, 2407, 2407,
1265 2407, 2407, 2670, 2671, 2671, 2407, 2407, 2407, 2407, 2673,
1266 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2699,
1267 2407, 2700, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1268 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1269 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1270 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1271 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1273 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1274 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1275 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1276 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1277 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407, 2407,
1278 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1279 2407, 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407,
1280 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1281 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1282 2407, 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407,
1284 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1285 2407, 2688, 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2688,
1286 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1287 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1288 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1289 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1290 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1291 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1292 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1293 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1295 2688, 2688, 2688, 2688, 2688, 2407, 0, 2407, 2407, 2407,
1296 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1297 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1298 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1299 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1300 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1301 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1302 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1303 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1304 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1306 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1307 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1308 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1309 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1310 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1311 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1312 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1313 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1314 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1315 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1317 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1318 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1319 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1320 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1321 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1322 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1323 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1324 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1325 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1326 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407
1330 static yyconst flex_int16_t yy_nxt[8116] =
1332 2407, 196, 197, 196, 196, 197, 196, 196, 197, 196,
1333 196, 197, 196, 201, 197, 201, 207, 198, 204, 207,
1334 198, 204, 2407, 199, 2407, 205, 199, 2407, 205, 202,
1335 201, 197, 201, 479, 208, 210, 211, 208, 210, 211,
1336 212, 213, 540, 212, 213, 479, 202, 217, 218, 480,
1337 214, 210, 211, 214, 215, 482, 212, 210, 211, 512,
1338 215, 481, 212, 217, 218, 513, 214, 197, 197, 197,
1339 552, 481, 214, 197, 197, 197, 229, 197, 229, 229,
1340 197, 229, 678, 220, 229, 197, 229, 512, 679, 220,
1341 502, 219, 230, 541, 680, 230, 478, 478, 478, 509,
1343 231, 478, 478, 478, 478, 478, 478, 219, 221, 222,
1344 197, 222, 221, 221, 221, 221, 221, 221, 221, 223,
1345 221, 221, 221, 557, 221, 225, 221, 226, 221, 229,
1346 197, 229, 197, 197, 197, 197, 197, 197, 508, 229,
1347 197, 229, 229, 197, 229, 231, 2407, 1546, 232, 482,
1348 482, 232, 509, 221, 221, 230, 510, 482, 230, 229,
1349 197, 229, 478, 478, 478, 481, 481, 478, 478, 478,
1350 478, 478, 478, 481, 1552, 233, 227, 221, 222, 197,
1351 222, 221, 221, 221, 221, 221, 221, 221, 223, 221,
1352 221, 221, 568, 221, 225, 221, 226, 221, 229, 197,
1354 229, 197, 197, 197, 197, 197, 197, 493, 229, 197,
1355 229, 229, 197, 229, 233, 2407, 509, 234, 514, 1553,
1356 234, 606, 221, 221, 231, 510, 510, 231, 197, 197,
1357 197, 197, 197, 197, 229, 197, 229, 229, 197, 229,
1358 229, 197, 229, 513, 235, 227, 577, 235, 482, 578,
1359 233, 2407, 482, 233, 511, 515, 236, 229, 197, 229,
1360 512, 478, 478, 478, 481, 2407, 513, 516, 481, 509,
1361 514, 514, 513, 236, 237, 238, 197, 238, 237, 237,
1362 237, 237, 237, 237, 237, 239, 237, 237, 237, 500,
1363 237, 241, 237, 242, 237, 245, 197, 245, 245, 197,
1365 245, 270, 197, 270, 508, 534, 1558, 210, 211, 535,
1366 482, 246, 212, 536, 246, 638, 517, 271, 509, 237,
1367 237, 638, 256, 478, 478, 478, 481, 243, 237, 238,
1368 197, 238, 237, 237, 237, 237, 237, 237, 237, 239,
1369 237, 237, 237, 610, 237, 241, 237, 242, 237, 572,
1370 611, 257, 639, 210, 211, 270, 197, 270, 212, 197,
1371 197, 197, 197, 197, 197, 478, 478, 478, 256, 573,
1372 618, 271, 513, 237, 237, 272, 660, 619, 272, 661,
1373 1562, 243, 247, 248, 197, 248, 247, 247, 247, 247,
1374 247, 247, 247, 249, 247, 247, 247, 257, 247, 251,
1376 247, 252, 247, 270, 197, 270, 270, 197, 270, 270,
1377 197, 270, 538, 270, 197, 270, 284, 197, 284, 271,
1378 482, 482, 271, 482, 527, 273, 539, 247, 247, 273,
1379 521, 528, 285, 1563, 1208, 253, 481, 481, 254, 481,
1380 481, 478, 478, 478, 255, 247, 248, 197, 248, 247,
1381 247, 247, 247, 247, 247, 247, 249, 247, 247, 247,
1382 2407, 247, 251, 247, 252, 247, 284, 197, 284, 295,
1383 197, 295, 295, 197, 295, 1485, 295, 197, 295, 295,
1384 197, 295, 285, 482, 482, 296, 482, 482, 296, 1564,
1385 247, 247, 297, 547, 580, 297, 1566, 639, 253, 481,
1387 481, 254, 481, 481, 487, 581, 582, 255, 258, 259,
1388 197, 259, 258, 258, 258, 258, 258, 258, 258, 260,
1389 258, 258, 258, 654, 258, 262, 258, 263, 258, 197,
1390 197, 197, 197, 197, 197, 295, 197, 295, 604, 295,
1391 197, 295, 295, 197, 295, 298, 488, 482, 298, 605,
1392 482, 299, 489, 258, 258, 299, 490, 583, 300, 699,
1393 1570, 491, 264, 481, 265, 620, 481, 266, 478, 478,
1394 478, 631, 267, 268, 258, 259, 197, 259, 258, 258,
1395 258, 258, 258, 258, 258, 260, 258, 258, 258, 1571,
1396 258, 262, 258, 263, 258, 295, 197, 295, 197, 197,
1398 197, 197, 197, 197, 647, 295, 197, 295, 295, 197,
1399 295, 300, 504, 482, 301, 482, 482, 301, 504, 258,
1400 258, 297, 593, 598, 297, 478, 478, 478, 264, 481,
1401 265, 481, 481, 266, 478, 478, 478, 612, 267, 268,
1402 274, 275, 197, 275, 274, 274, 274, 274, 274, 274,
1403 274, 276, 274, 274, 274, 513, 274, 278, 274, 279,
1404 274, 197, 197, 197, 197, 197, 197, 295, 197, 295,
1405 1572, 295, 197, 295, 295, 197, 295, 302, 681, 673,
1406 302, 654, 674, 300, 613, 274, 274, 300, 513, 1073,
1407 303, 682, 280, 478, 478, 478, 655, 281, 478, 478,
1409 478, 1074, 2407, 478, 478, 478, 282, 274, 275, 197,
1410 275, 274, 274, 274, 274, 274, 274, 274, 276, 274,
1411 274, 274, 1573, 274, 278, 274, 279, 274, 295, 197,
1412 295, 197, 197, 197, 197, 197, 197, 823, 295, 197,
1413 295, 295, 197, 295, 303, 673, 555, 304, 684, 556,
1414 304, 1574, 274, 274, 305, 560, 482, 305, 685, 280,
1415 687, 510, 1346, 674, 281, 478, 478, 478, 478, 478,
1416 478, 682, 481, 282, 286, 287, 197, 287, 286, 286,
1417 286, 286, 286, 286, 286, 288, 286, 286, 286, 500,
1418 286, 290, 286, 291, 286, 197, 197, 197, 197, 197,
1420 197, 295, 197, 295, 559, 295, 197, 295, 295, 197,
1421 295, 306, 482, 482, 306, 687, 1577, 303, 684, 286,
1422 286, 303, 1584, 1586, 307, 478, 478, 478, 481, 481,
1423 292, 478, 478, 478, 478, 478, 478, 823, 293, 286,
1424 287, 197, 287, 286, 286, 286, 286, 286, 286, 286,
1425 288, 286, 286, 286, 1484, 286, 290, 286, 291, 286,
1426 295, 197, 295, 320, 197, 320, 320, 197, 320, 1083,
1427 197, 197, 197, 197, 197, 197, 307, 482, 482, 321,
1428 734, 1074, 321, 735, 286, 286, 272, 1595, 1596, 272,
1429 478, 478, 478, 481, 481, 292, 478, 478, 478, 478,
1431 478, 478, 1597, 293, 308, 309, 197, 309, 308, 308,
1432 308, 308, 308, 308, 308, 310, 308, 308, 308, 1599,
1433 308, 312, 308, 313, 308, 320, 197, 320, 320, 197,
1434 320, 320, 197, 320, 1083, 320, 197, 320, 478, 478,
1435 478, 321, 482, 482, 321, 823, 1107, 322, 823, 308,
1436 308, 322, 314, 1605, 315, 478, 478, 478, 481, 481,
1437 316, 478, 478, 478, 825, 1205, 317, 1208, 1611, 318,
1438 308, 309, 197, 309, 308, 308, 308, 308, 308, 308,
1439 308, 310, 308, 308, 308, 1208, 308, 312, 308, 313,
1440 308, 338, 197, 338, 338, 197, 338, 354, 197, 354,
1442 1486, 354, 197, 354, 478, 478, 478, 339, 823, 953,
1443 339, 685, 1054, 355, 954, 308, 308, 355, 314, 689,
1444 315, 478, 478, 478, 729, 679, 316, 478, 478, 478,
1445 1604, 690, 317, 1612, 1615, 318, 323, 324, 197, 324,
1446 323, 323, 323, 323, 323, 323, 323, 325, 323, 323,
1447 323, 326, 323, 327, 323, 328, 323, 326, 326, 326,
1448 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1449 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1450 326, 323, 323, 326, 329, 330, 331, 326, 326, 326,
1451 326, 326, 332, 326, 333, 326, 326, 326, 334, 326,
1453 335, 336, 326, 326, 326, 326, 326, 326, 340, 341,
1454 197, 341, 340, 340, 340, 340, 340, 340, 340, 342,
1455 340, 340, 340, 343, 340, 344, 340, 345, 340, 343,
1456 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1457 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1458 343, 343, 343, 340, 340, 343, 346, 347, 348, 343,
1459 343, 343, 343, 343, 349, 343, 350, 343, 343, 343,
1460 351, 343, 343, 352, 343, 343, 343, 343, 343, 343,
1461 356, 357, 197, 357, 356, 356, 356, 356, 356, 356,
1462 356, 358, 356, 356, 356, 1616, 356, 360, 356, 361,
1464 356, 365, 197, 365, 365, 197, 365, 378, 197, 378,
1465 1523, 378, 197, 378, 1618, 482, 685, 366, 1524, 930,
1466 366, 1208, 625, 379, 1622, 356, 356, 379, 931, 731,
1467 362, 481, 478, 478, 478, 932, 363, 356, 357, 197,
1468 357, 356, 356, 356, 356, 356, 356, 356, 358, 356,
1469 356, 356, 1603, 356, 360, 356, 361, 356, 197, 197,
1470 197, 197, 197, 197, 378, 197, 378, 1528, 378, 197,
1471 378, 478, 478, 478, 272, 1529, 1624, 272, 1625, 689,
1472 379, 1626, 356, 356, 379, 679, 823, 362, 478, 478,
1473 478, 680, 1602, 363, 367, 368, 197, 368, 367, 367,
1475 367, 367, 367, 367, 367, 369, 367, 367, 367, 1630,
1476 367, 371, 367, 372, 367, 378, 197, 378, 378, 197,
1477 378, 390, 197, 390, 1636, 390, 197, 390, 197, 197,
1478 197, 380, 1637, 1638, 380, 482, 685, 391, 1639, 367,
1479 367, 391, 643, 373, 392, 478, 478, 478, 1640, 732,
1480 374, 481, 375, 478, 478, 478, 478, 478, 478, 376,
1481 367, 368, 197, 368, 367, 367, 367, 367, 367, 367,
1482 367, 369, 367, 367, 367, 1641, 367, 371, 367, 372,
1483 367, 197, 197, 197, 390, 197, 390, 390, 197, 390,
1484 1642, 390, 197, 390, 390, 197, 390, 392, 1643, 1644,
1486 391, 482, 1645, 391, 1651, 367, 367, 393, 652, 373,
1487 393, 478, 478, 478, 1652, 1653, 374, 481, 375, 478,
1488 478, 478, 478, 478, 478, 376, 381, 382, 197, 382,
1489 381, 381, 381, 381, 381, 381, 381, 383, 381, 381,
1490 381, 1658, 381, 385, 381, 386, 381, 404, 197, 404,
1491 404, 197, 404, 197, 197, 197, 1654, 197, 197, 197,
1492 404, 197, 404, 405, 1655, 1659, 405, 1656, 1660, 392,
1493 1664, 381, 381, 392, 1665, 1657, 405, 387, 478, 478,
1494 478, 478, 478, 478, 1667, 1668, 658, 658, 658, 1669,
1495 1670, 388, 381, 382, 197, 382, 381, 381, 381, 381,
1497 381, 381, 381, 383, 381, 381, 381, 1673, 381, 385,
1498 381, 386, 381, 404, 197, 404, 404, 197, 404, 404,
1499 197, 404, 1677, 416, 197, 416, 416, 197, 416, 405,
1500 1678, 1683, 406, 1684, 678, 406, 1685, 381, 381, 417,
1501 679, 689, 417, 387, 659, 1686, 690, 679, 658, 658,
1502 658, 1688, 827, 714, 840, 840, 840, 388, 394, 395,
1503 197, 395, 394, 394, 394, 394, 394, 394, 394, 396,
1504 394, 394, 394, 1693, 394, 398, 394, 399, 394, 428,
1505 197, 428, 428, 197, 428, 197, 197, 197, 1694, 197,
1506 197, 197, 428, 197, 428, 429, 1383, 1696, 429, 1679,
1508 1706, 392, 1384, 394, 394, 392, 1385, 1680, 429, 400,
1509 1386, 1709, 401, 857, 857, 857, 1710, 841, 1713, 840,
1510 840, 840, 1208, 402, 394, 395, 197, 395, 394, 394,
1511 394, 394, 394, 394, 394, 396, 394, 394, 394, 1716,
1512 394, 398, 394, 399, 394, 428, 197, 428, 428, 197,
1513 428, 428, 197, 428, 1681, 442, 197, 442, 442, 197,
1514 442, 429, 1682, 1208, 430, 1717, 1718, 430, 1702, 394,
1515 394, 443, 1719, 1720, 443, 400, 841, 1721, 401, 869,
1516 869, 869, 910, 870, 1722, 1723, 871, 1724, 1725, 402,
1517 407, 408, 197, 408, 407, 407, 407, 407, 407, 407,
1519 407, 409, 407, 407, 407, 1701, 407, 411, 407, 412,
1520 407, 197, 197, 197, 197, 197, 197, 442, 197, 442,
1521 1726, 442, 197, 442, 442, 197, 442, 444, 1728, 1729,
1522 444, 1730, 1731, 443, 1732, 407, 407, 443, 1733, 1734,
1523 445, 413, 840, 840, 840, 1735, 414, 407, 408, 197,
1524 408, 407, 407, 407, 407, 407, 407, 407, 409, 407,
1525 407, 407, 1736, 407, 411, 407, 412, 407, 442, 197,
1526 442, 454, 197, 454, 454, 197, 454, 1737, 464, 197,
1527 464, 464, 197, 464, 445, 1738, 1739, 455, 1742, 1743,
1528 455, 1744, 407, 407, 465, 1745, 1749, 465, 413, 857,
1530 857, 857, 1750, 414, 418, 419, 197, 419, 418, 418,
1531 418, 418, 418, 418, 418, 420, 418, 418, 418, 1751,
1532 418, 422, 418, 423, 418, 197, 197, 197, 197, 197,
1533 197, 464, 197, 464, 1752, 464, 197, 464, 464, 197,
1534 464, 272, 1387, 1753, 272, 1754, 1755, 465, 1388, 418,
1535 418, 465, 1389, 1756, 466, 424, 1390, 1758, 425, 879,
1536 879, 879, 910, 880, 1770, 1780, 881, 1781, 1782, 426,
1537 418, 419, 197, 419, 418, 418, 418, 418, 418, 418,
1538 418, 420, 418, 418, 418, 1783, 418, 422, 418, 423,
1539 418, 464, 197, 464, 476, 197, 476, 476, 197, 476,
1541 696, 696, 696, 1787, 836, 836, 836, 466, 1788, 1789,
1542 477, 1790, 1791, 477, 1792, 418, 418, 697, 1793, 552,
1543 552, 424, 838, 1794, 425, 857, 857, 857, 1208, 553,
1544 558, 1220, 1220, 1220, 1795, 426, 431, 432, 197, 432,
1545 431, 431, 431, 431, 431, 431, 431, 433, 431, 431,
1546 431, 1208, 431, 435, 431, 436, 431, 554, 554, 704,
1547 704, 704, 1796, 555, 1797, 1777, 556, 720, 720, 720,
1548 1799, 513, 557, 1800, 1801, 507, 705, 736, 736, 736,
1549 1802, 431, 431, 1776, 721, 1224, 1224, 1224, 1803, 437,
1550 1806, 438, 1807, 439, 737, 1222, 1222, 1222, 1227, 1227,
1552 1227, 440, 431, 432, 197, 432, 431, 431, 431, 431,
1553 431, 431, 431, 433, 431, 431, 431, 1808, 431, 435,
1554 431, 436, 431, 744, 744, 744, 747, 747, 747, 761,
1555 761, 761, 769, 769, 769, 774, 774, 774, 1811, 1812,
1556 745, 1223, 1815, 748, 1819, 1820, 762, 431, 431, 770,
1557 1821, 1822, 775, 1823, 1826, 437, 1827, 438, 1844, 439,
1558 1235, 1235, 1235, 1258, 1258, 1258, 823, 440, 446, 447,
1559 197, 447, 446, 446, 446, 446, 446, 446, 446, 448,
1560 446, 446, 446, 1208, 446, 450, 446, 451, 446, 794,
1561 794, 794, 813, 813, 813, 817, 817, 817, 864, 864,
1563 864, 836, 836, 836, 1845, 1841, 795, 1846, 1855, 814,
1564 1856, 1857, 818, 446, 446, 1208, 866, 1858, 1859, 838,
1565 902, 902, 902, 1860, 903, 1843, 1861, 904, 920, 920,
1566 920, 1862, 921, 1863, 1864, 922, 452, 446, 447, 197,
1567 447, 446, 446, 446, 446, 446, 446, 446, 448, 446,
1568 446, 446, 1842, 446, 450, 446, 451, 446, 839, 696,
1569 696, 696, 864, 864, 864, 1865, 874, 874, 874, 874,
1570 874, 874, 704, 704, 704, 1849, 697, 882, 882, 882,
1571 866, 1867, 446, 446, 876, 1850, 1868, 876, 1851, 705,
1572 1874, 933, 933, 933, 883, 934, 1875, 1876, 935, 1269,
1574 1269, 1269, 1270, 1270, 1270, 452, 456, 457, 197, 457,
1575 456, 456, 456, 456, 456, 456, 456, 458, 456, 456,
1576 456, 867, 456, 460, 456, 461, 456, 885, 885, 885,
1577 1880, 1888, 877, 1889, 1890, 890, 890, 890, 890, 890,
1578 890, 898, 898, 898, 886, 1220, 1220, 1220, 1223, 823,
1579 1912, 456, 456, 892, 1913, 1917, 892, 1918, 1921, 900,
1580 1922, 1925, 462, 456, 457, 197, 457, 456, 456, 456,
1581 456, 456, 456, 456, 458, 456, 456, 456, 1908, 456,
1582 460, 456, 461, 456, 1926, 893, 898, 898, 898, 720,
1583 720, 720, 906, 906, 906, 736, 736, 736, 906, 906,
1585 906, 744, 744, 744, 900, 1927, 721, 1928, 456, 456,
1586 908, 1929, 737, 1222, 1222, 1222, 908, 1930, 745, 462,
1587 467, 468, 197, 468, 467, 467, 467, 467, 467, 467,
1588 467, 469, 467, 467, 467, 909, 467, 471, 467, 472,
1589 467, 925, 925, 925, 925, 925, 925, 1931, 1852, 901,
1590 747, 747, 747, 937, 937, 937, 1932, 938, 1853, 927,
1591 939, 1854, 927, 1933, 1919, 467, 467, 748, 940, 940,
1592 940, 956, 956, 956, 1923, 957, 473, 1920, 958, 968,
1593 968, 968, 1942, 969, 1943, 941, 970, 1924, 474, 467,
1594 468, 197, 468, 467, 467, 467, 467, 467, 467, 467,
1596 469, 467, 467, 467, 928, 467, 471, 467, 472, 467,
1597 948, 948, 948, 948, 948, 948, 761, 761, 761, 959,
1598 959, 959, 963, 963, 963, 963, 963, 963, 950, 1944,
1599 1945, 950, 1952, 762, 467, 467, 960, 769, 769, 769,
1600 965, 1955, 1208, 965, 1962, 473, 971, 971, 971, 1963,
1601 1964, 971, 971, 971, 770, 1965, 1966, 474, 482, 1967,
1602 774, 774, 774, 1973, 973, 497, 982, 982, 982, 973,
1603 951, 982, 982, 982, 481, 498, 966, 775, 976, 976,
1604 976, 1974, 977, 1909, 984, 978, 1224, 1224, 1224, 984,
1605 986, 986, 986, 1227, 1227, 1227, 988, 988, 988, 991,
1607 991, 991, 499, 500, 501, 1208, 1975, 987, 823, 502,
1608 503, 974, 504, 989, 1208, 1976, 505, 993, 506, 1977,
1609 507, 2407, 2407, 2407, 1978, 1979, 985, 991, 991, 991,
1610 996, 996, 996, 2407, 2407, 2407, 1980, 1981, 2407, 1000,
1611 1000, 1000, 2407, 2407, 2407, 993, 1910, 997, 1982, 1970,
1612 2407, 1003, 1003, 1003, 1985, 1969, 1001, 1986, 1987, 2407,
1613 1988, 1989, 1003, 1003, 1003, 794, 794, 794, 1990, 1005,
1614 1008, 1008, 1008, 1991, 1009, 1992, 1997, 1010, 1998, 990,
1615 1005, 1999, 795, 998, 1011, 1011, 1011, 994, 1011, 1011,
1616 1011, 1015, 1015, 1015, 2407, 2407, 2407, 999, 2000, 1006,
1618 1002, 2001, 1013, 1019, 1019, 1019, 1013, 2002, 1016, 2006,
1619 2015, 2407, 1021, 1021, 1021, 1021, 1021, 1021, 2016, 2017,
1620 1020, 1029, 1029, 1029, 1029, 1029, 1029, 1035, 1035, 1035,
1621 1023, 2007, 2018, 1023, 1035, 1035, 1035, 2019, 2020, 1031,
1622 823, 2008, 1031, 1014, 1017, 1037, 813, 813, 813, 1039,
1623 1039, 1039, 1037, 1040, 2031, 2032, 1041, 2033, 1018, 1042,
1624 1042, 1042, 2034, 814, 1042, 1042, 1042, 817, 817, 817,
1625 2035, 1046, 1046, 1046, 2023, 1047, 2036, 1044, 1048, 869,
1626 869, 869, 1044, 870, 818, 1024, 871, 1032, 1050, 1050,
1627 1050, 1050, 1050, 1050, 836, 836, 836, 1038, 836, 836,
1629 836, 836, 836, 836, 2037, 2038, 1052, 1898, 2009, 1052,
1630 2042, 2043, 838, 1085, 1085, 1085, 838, 1899, 2010, 838,
1631 864, 864, 864, 1900, 1045, 864, 864, 864, 2044, 2045,
1632 1086, 864, 864, 864, 1088, 1088, 1088, 1901, 866, 2407,
1633 2407, 2407, 2011, 866, 874, 874, 874, 1902, 1062, 866,
1634 2013, 1089, 2012, 1903, 1053, 2046, 2407, 874, 874, 874,
1635 2014, 2047, 876, 874, 874, 874, 879, 879, 879, 2049,
1636 880, 2050, 2051, 881, 2054, 876, 882, 882, 882, 2059,
1637 1087, 876, 1094, 1094, 1094, 2060, 1095, 2061, 2062, 1096,
1638 1097, 1097, 1097, 883, 885, 885, 885, 2063, 2064, 1090,
1640 2065, 1099, 1099, 1099, 2066, 1100, 2067, 1098, 1101, 2068,
1641 1092, 886, 1103, 1103, 1103, 890, 890, 890, 890, 890,
1642 890, 890, 890, 890, 1109, 1109, 1109, 2069, 2070, 1104,
1643 898, 898, 898, 892, 823, 2077, 892, 2078, 2079, 892,
1644 2080, 1110, 898, 898, 898, 898, 898, 898, 900, 902,
1645 902, 902, 2081, 903, 2082, 2083, 904, 906, 906, 906,
1646 900, 2084, 2085, 900, 906, 906, 906, 1114, 1114, 1114,
1647 1125, 1125, 1125, 2086, 2087, 908, 2071, 920, 920, 920,
1648 1106, 921, 908, 2088, 922, 1115, 2089, 1126, 925, 925,
1649 925, 2090, 1112, 925, 925, 925, 925, 925, 925, 2093,
1651 933, 933, 933, 2094, 934, 2095, 927, 935, 1134, 1134,
1652 1134, 927, 2099, 2106, 927, 937, 937, 937, 2107, 938,
1653 2108, 2109, 939, 2110, 2111, 1135, 940, 940, 940, 1136,
1654 1136, 1136, 2112, 1137, 2113, 2114, 1138, 948, 948, 948,
1655 948, 948, 948, 941, 948, 948, 948, 956, 956, 956,
1656 2115, 957, 2116, 2117, 958, 950, 2125, 2120, 950, 2126,
1657 1129, 2120, 950, 959, 959, 959, 1150, 1150, 1150, 2127,
1658 1151, 2121, 2123, 1152, 963, 963, 963, 963, 963, 963,
1659 960, 963, 963, 963, 968, 968, 968, 2128, 969, 2129,
1660 2130, 970, 965, 2131, 2132, 965, 971, 971, 971, 965,
1662 971, 971, 971, 971, 971, 971, 982, 982, 982, 823,
1663 1145, 982, 982, 982, 973, 976, 976, 976, 973, 977,
1664 2133, 973, 978, 2134, 984, 982, 982, 982, 2135, 984,
1665 2136, 2140, 1155, 986, 986, 986, 2138, 1163, 1163, 1163,
1666 2145, 1164, 2137, 984, 1165, 988, 988, 988, 2139, 2146,
1667 987, 1166, 1166, 1166, 2118, 1167, 2147, 2148, 1168, 991,
1668 991, 991, 989, 991, 991, 991, 996, 996, 996, 1157,
1669 991, 991, 991, 1000, 1000, 1000, 823, 993, 1172, 1172,
1670 1172, 993, 1173, 997, 1162, 1174, 1208, 1209, 993, 2151,
1671 1001, 1177, 1177, 1177, 2151, 1178, 2154, 2120, 1179, 1003,
1673 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1008, 1008,
1674 1008, 2121, 1009, 2155, 2156, 1010, 2149, 1005, 2157, 2166,
1675 1005, 2169, 2174, 1005, 1011, 1011, 1011, 1011, 1011, 1011,
1676 1011, 1011, 1011, 1015, 1015, 1015, 1170, 1184, 1184, 1184,
1677 2120, 1185, 1013, 2177, 1186, 1013, 2141, 2164, 1013, 2143,
1678 1016, 2123, 1019, 1019, 1019, 1189, 1189, 1189, 2142, 1190,
1679 2167, 2144, 1191, 1021, 1021, 1021, 2165, 2151, 1181, 1020,
1680 1021, 1021, 1021, 1021, 1021, 1021, 1194, 1194, 1194, 2168,
1681 2179, 1023, 1029, 1029, 1029, 1029, 1029, 1029, 1023, 1183,
1682 2151, 1023, 2172, 1195, 1029, 1029, 1029, 1035, 1035, 1035,
1684 1031, 2180, 2175, 1031, 1035, 1035, 1035, 1035, 1035, 1035,
1685 2181, 2173, 1031, 2182, 2183, 1037, 1039, 1039, 1039, 2193,
1686 1040, 2176, 1037, 1041, 2194, 1037, 1042, 1042, 1042, 1042,
1687 1042, 1042, 2195, 2196, 1192, 1042, 1042, 1042, 1046, 1046,
1688 1046, 2197, 1047, 2198, 1044, 1048, 2202, 1044, 1050, 1050,
1689 1050, 2203, 2204, 1044, 1198, 1050, 1050, 1050, 2205, 2206,
1690 1201, 1050, 1050, 1050, 2207, 2209, 1052, 1207, 1207, 1207,
1691 836, 836, 836, 1052, 1085, 1085, 1085, 2210, 2211, 1052,
1692 1238, 1238, 1238, 2216, 1239, 1208, 1209, 1240, 838, 2217,
1693 2218, 1086, 2212, 2219, 1202, 864, 864, 864, 1088, 1088,
1695 1088, 1242, 1242, 1242, 2213, 1243, 2220, 2214, 1244, 874,
1696 874, 874, 2221, 866, 2222, 1089, 1094, 1094, 1094, 2215,
1697 1095, 1204, 2223, 1096, 1097, 1097, 1097, 876, 2224, 1249,
1698 1249, 1249, 2225, 1250, 2226, 1214, 1251, 2227, 1099, 1099,
1699 1099, 1098, 1100, 2229, 2230, 1101, 1103, 1103, 1103, 1253,
1700 1253, 1253, 1241, 1254, 2231, 2232, 1255, 2233, 1247, 890,
1701 890, 890, 2234, 1104, 1109, 1109, 1109, 1260, 1260, 1260,
1702 2235, 1261, 823, 2236, 1262, 2237, 2238, 892, 1263, 1263,
1703 1263, 1110, 898, 898, 898, 1114, 1114, 1114, 1125, 1125,
1704 1125, 2239, 1276, 1276, 1276, 1264, 1277, 2228, 2240, 1278,
1706 900, 2241, 2242, 1115, 2243, 1126, 1279, 1279, 1279, 1257,
1707 1281, 1281, 1281, 2244, 925, 925, 925, 1286, 1286, 1286,
1708 1134, 1134, 1134, 1280, 1293, 1293, 1293, 1282, 1222, 1222,
1709 1222, 1265, 927, 2245, 1287, 2246, 823, 1135, 1290, 1290,
1710 1290, 1294, 1291, 2248, 2249, 1292, 1136, 1136, 1136, 2250,
1711 1137, 2251, 2252, 1138, 2253, 2247, 1283, 948, 948, 948,
1712 1302, 1302, 1302, 1150, 1150, 1150, 2254, 1151, 2255, 2256,
1713 1152, 1306, 1306, 1306, 1321, 950, 2257, 1303, 2258, 1284,
1714 963, 963, 963, 971, 971, 971, 2259, 2260, 1307, 1315,
1715 1315, 1315, 2261, 982, 982, 982, 2262, 2263, 965, 2265,
1717 823, 973, 2266, 1163, 1163, 1163, 1316, 1164, 2267, 2268,
1718 1165, 984, 1166, 1166, 1166, 2269, 1167, 2270, 2271, 1168,
1719 2264, 1300, 991, 991, 991, 1172, 1172, 1172, 2272, 1173,
1720 2273, 2274, 1174, 2275, 2276, 1317, 2277, 1177, 1177, 1177,
1721 993, 1178, 2278, 1309, 1179, 1003, 1003, 1003, 1311, 1318,
1722 1011, 1011, 1011, 1184, 1184, 1184, 2279, 1185, 2280, 2282,
1723 1186, 2283, 2284, 1005, 823, 1189, 1189, 1189, 1013, 1190,
1724 2281, 2285, 1191, 1021, 1021, 1021, 1194, 1194, 1194, 1332,
1725 1332, 1332, 2286, 1333, 2287, 2288, 1334, 1320, 1363, 1363,
1726 1363, 1023, 2289, 1195, 1029, 1029, 1029, 1339, 1339, 1339,
1728 1035, 1035, 1035, 2290, 2291, 1325, 1327, 1042, 1042, 1042,
1729 2292, 2293, 1031, 2295, 1340, 1343, 1343, 1343, 1037, 2296,
1730 1330, 1050, 1050, 1050, 2297, 1044, 1207, 1207, 1207, 836,
1731 836, 836, 1344, 1365, 1365, 1365, 1235, 1235, 1235, 1052,
1732 1372, 1372, 1372, 1337, 1208, 2298, 2299, 838, 1238, 1238,
1733 1238, 1364, 1239, 2300, 823, 1240, 864, 864, 864, 1342,
1734 1242, 1242, 1242, 2301, 1243, 2302, 1341, 1244, 2294, 874,
1735 874, 874, 2304, 2305, 866, 2306, 2307, 1347, 2308, 1366,
1736 2309, 1352, 1345, 890, 890, 890, 1373, 876, 1249, 1249,
1737 1249, 2310, 1250, 1348, 2311, 1251, 1253, 1253, 1253, 2314,
1739 1254, 892, 2315, 1255, 1258, 1258, 1258, 1260, 1260, 1260,
1740 2316, 1261, 2317, 2318, 1262, 1263, 1263, 1263, 2319, 823,
1741 1377, 2330, 1374, 1391, 1391, 1391, 823, 1392, 823, 823,
1742 1393, 1542, 1264, 898, 898, 898, 1269, 1269, 1269, 1270,
1743 1270, 1270, 823, 1381, 1398, 1398, 1398, 1398, 1398, 1398,
1744 823, 900, 1363, 1363, 1363, 1276, 1276, 1276, 823, 1277,
1745 2346, 2354, 1278, 1279, 1279, 1279, 1402, 1402, 1402, 2326,
1746 1403, 823, 823, 1404, 1281, 1281, 1281, 1409, 1409, 1409,
1747 1280, 1405, 1405, 1405, 1394, 1406, 2320, 823, 1407, 2322,
1748 823, 1282, 1286, 1286, 1286, 1410, 1412, 1412, 1412, 823,
1750 1413, 2327, 2348, 1414, 1415, 1415, 1415, 1399, 2321, 1287,
1751 1364, 823, 1290, 1290, 1290, 1399, 1291, 823, 2323, 1292,
1752 823, 1416, 1293, 1293, 1293, 1418, 1418, 1418, 2366, 1419,
1753 823, 2367, 1420, 1421, 1421, 1421, 1426, 1426, 1426, 1294,
1754 948, 948, 948, 1302, 1302, 1302, 2324, 1430, 1430, 1430,
1755 1422, 1431, 2340, 1427, 1432, 1433, 1433, 1433, 950, 1541,
1756 1303, 1306, 1306, 1306, 1436, 1436, 1436, 2325, 1437, 2331,
1757 823, 1438, 1434, 1440, 1440, 1440, 2334, 823, 1307, 971,
1758 971, 971, 1315, 1315, 1315, 1447, 1447, 1447, 2332, 1448,
1759 2333, 1441, 1449, 1451, 1451, 1451, 823, 973, 823, 1316,
1761 991, 991, 991, 823, 823, 1428, 1456, 1456, 1456, 1540,
1762 2338, 1452, 1458, 1458, 1458, 2407, 2407, 2407, 993, 1003,
1763 1003, 1003, 823, 1457, 1011, 1011, 1011, 2328, 823, 1459,
1764 1443, 823, 2407, 1464, 1464, 1464, 823, 1005, 1466, 1466,
1765 1466, 2336, 1013, 1021, 1021, 1021, 1029, 1029, 1029, 2335,
1766 1465, 1454, 1332, 1332, 1332, 1467, 1333, 2341, 2329, 1334,
1767 1539, 1023, 823, 2404, 1031, 1339, 1339, 1339, 2339, 823,
1768 1463, 823, 1474, 1474, 1474, 2349, 1475, 823, 1460, 1476,
1769 2362, 2342, 1340, 1538, 823, 1461, 1035, 1035, 1035, 823,
1770 1042, 1042, 1042, 1343, 1343, 1343, 823, 1472, 1479, 1479,
1772 1479, 1537, 1480, 2347, 1037, 1481, 2337, 1468, 1044, 823,
1773 1344, 1482, 1482, 1482, 1488, 1488, 1488, 836, 836, 836,
1774 1495, 1495, 1495, 1500, 1500, 1500, 1363, 1363, 1363, 1483,
1775 2352, 1489, 1501, 1501, 1501, 838, 1365, 1365, 1365, 1503,
1776 1503, 1503, 2360, 823, 1477, 1478, 1504, 1504, 1504, 1372,
1777 1372, 1372, 864, 864, 864, 1512, 1512, 1512, 1515, 1515,
1778 1515, 890, 890, 890, 1519, 1519, 1519, 1391, 1391, 1391,
1779 866, 1392, 1535, 1513, 1393, 1516, 823, 1490, 1534, 892,
1780 2344, 1520, 898, 898, 898, 823, 1532, 1532, 1532, 1398,
1781 1398, 1398, 1536, 1536, 1536, 823, 823, 1402, 1402, 1402,
1783 900, 1403, 1509, 1533, 1404, 1405, 1405, 1405, 823, 1406,
1784 823, 823, 1407, 1409, 1409, 1409, 1412, 1412, 1412, 1518,
1785 1413, 2343, 2345, 1414, 1415, 1415, 1415, 2380, 1531, 823,
1786 2350, 1410, 1543, 1543, 1543, 823, 1544, 823, 2355, 1545,
1787 823, 1416, 1418, 1418, 1418, 2351, 1419, 823, 2386, 1420,
1788 1421, 1421, 1421, 1547, 1547, 1547, 2356, 1548, 823, 823,
1789 1549, 1550, 1550, 1550, 1426, 1426, 1426, 1422, 1554, 1554,
1790 1554, 2353, 1555, 823, 2357, 1556, 823, 2364, 1551, 2363,
1791 2361, 1427, 948, 948, 948, 1430, 1430, 1430, 823, 1431,
1792 823, 823, 1432, 1433, 1433, 1433, 2365, 1559, 1559, 1559,
1794 950, 1560, 823, 2368, 1561, 1436, 1436, 1436, 2358, 1437,
1795 1434, 2359, 1438, 1440, 1440, 1440, 971, 971, 971, 1567,
1796 1567, 1567, 1447, 1447, 1447, 823, 1448, 823, 2370, 1449,
1797 823, 1441, 823, 1557, 973, 2369, 1568, 1451, 1451, 1451,
1798 1575, 1575, 1575, 1456, 1456, 1456, 1578, 1578, 1578, 2400,
1799 1579, 1530, 823, 1580, 2372, 1452, 1527, 823, 1576, 2373,
1800 1457, 1458, 1458, 1458, 2371, 1569, 1581, 1581, 1581, 1526,
1801 1582, 1525, 823, 1583, 1003, 1003, 1003, 2378, 1459, 1565,
1802 1011, 1011, 1011, 1464, 1464, 1464, 1588, 1588, 1588, 2384,
1803 1589, 2376, 1005, 1590, 1466, 1466, 1466, 2374, 1013, 2381,
1805 1465, 1591, 1591, 1591, 823, 1592, 823, 823, 1593, 2385,
1806 823, 1467, 1021, 1021, 1021, 1029, 1029, 1029, 1474, 1474,
1807 1474, 823, 1475, 2375, 823, 1476, 1035, 1035, 1035, 1587,
1808 1023, 823, 823, 1031, 1042, 1042, 1042, 1522, 2377, 1585,
1809 823, 1479, 1479, 1479, 1037, 1480, 823, 2392, 1481, 1482,
1810 1482, 1482, 1044, 1488, 1488, 1488, 1606, 1606, 1606, 1521,
1811 1607, 2387, 1517, 1608, 836, 836, 836, 1483, 2393, 2379,
1812 1489, 1610, 1610, 1610, 1514, 1511, 1594, 1600, 1510, 1598,
1813 1508, 2388, 838, 1613, 1613, 1613, 2382, 1601, 1495, 1495,
1814 1495, 1614, 1614, 1614, 1617, 1617, 1617, 1500, 1500, 1500,
1816 1501, 1501, 1501, 1503, 1503, 1503, 1504, 1504, 1504, 1619,
1817 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621, 864, 864,
1818 864, 1512, 1512, 1512, 1515, 1515, 1515, 1609, 1627, 1627,
1819 1627, 2396, 1628, 823, 1507, 1629, 866, 823, 1506, 1513,
1820 823, 1516, 1631, 1631, 1631, 1519, 1519, 1519, 1633, 1633,
1821 1633, 1505, 1634, 823, 1502, 1635, 898, 898, 898, 823,
1822 1632, 1499, 1520, 1532, 1532, 1532, 1647, 1647, 1647, 1623,
1823 1648, 823, 2389, 1649, 900, 1650, 1650, 1650, 2404, 2383,
1824 1533, 1536, 1536, 1536, 1543, 1543, 1543, 823, 1544, 823,
1825 1498, 1545, 1547, 1547, 1547, 1497, 1548, 1496, 2390, 1549,
1827 1550, 1550, 1550, 2394, 2391, 1646, 1661, 1661, 1661, 1494,
1828 1662, 2397, 823, 1663, 1554, 1554, 1554, 1551, 1555, 2395,
1829 823, 1556, 948, 948, 948, 1559, 1559, 1559, 823, 1560,
1830 823, 823, 1561, 1671, 1671, 1671, 1567, 1567, 1567, 823,
1831 950, 1674, 1674, 1674, 2398, 1675, 1493, 1492, 1676, 1491,
1832 1487, 1672, 1473, 1568, 1575, 1575, 1575, 1578, 1578, 1578,
1833 2399, 1579, 2402, 2403, 1580, 1471, 1581, 1581, 1581, 1470,
1834 1582, 1469, 1576, 1583, 1003, 1003, 1003, 1011, 1011, 1011,
1835 1588, 1588, 1588, 1462, 1589, 1666, 2401, 1590, 1455, 1591,
1836 1591, 1591, 1005, 1592, 1453, 1013, 1593, 1021, 1021, 1021,
1838 1691, 1691, 1691, 1029, 1029, 1029, 1035, 1035, 1035, 1698,
1839 1698, 1698, 1700, 1700, 1700, 1023, 1450, 1692, 1703, 1703,
1840 1703, 1031, 1446, 1445, 1037, 1687, 1444, 1699, 1442, 1439,
1841 823, 1435, 1429, 1690, 1606, 1606, 1606, 1425, 1607, 1424,
1842 1423, 1608, 1689, 836, 836, 836, 1610, 1610, 1610, 1705,
1843 1705, 1705, 1613, 1613, 1613, 1614, 1614, 1614, 1707, 1707,
1844 1707, 838, 1708, 1708, 1708, 1697, 1417, 1695, 1617, 1617,
1845 1617, 1619, 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621,
1846 1711, 1711, 1711, 1714, 1714, 1714, 1627, 1627, 1627, 1411,
1847 1628, 1408, 1401, 1629, 1631, 1631, 1631, 1400, 1712, 1397,
1849 1715, 1704, 1633, 1633, 1633, 1396, 1634, 1395, 1382, 1635,
1850 1380, 1379, 1632, 898, 898, 898, 1647, 1647, 1647, 1378,
1851 1648, 1376, 1375, 1649, 1650, 1650, 1650, 1371, 1661, 1661,
1852 1661, 900, 1662, 1370, 1369, 1663, 1740, 1740, 1740, 1671,
1853 1671, 1671, 1746, 1746, 1746, 1674, 1674, 1674, 1368, 1675,
1854 1367, 1362, 1676, 1361, 1741, 1360, 1359, 1672, 1358, 1747,
1855 1757, 1757, 1757, 1759, 1759, 1759, 1761, 1761, 1761, 1011,
1856 1011, 1011, 1357, 1727, 1021, 1021, 1021, 1691, 1691, 1691,
1857 1356, 1760, 1355, 1762, 1768, 1768, 1768, 1013, 1748, 1765,
1858 1765, 1765, 1023, 1766, 1692, 1354, 1767, 1771, 1771, 1771,
1860 1353, 1769, 1773, 1773, 1773, 1035, 1035, 1035, 1698, 1698,
1861 1698, 1700, 1700, 1700, 1351, 1772, 1703, 1703, 1703, 1778,
1862 1778, 1778, 1350, 1037, 1349, 1208, 1699, 1338, 1763, 823,
1863 1705, 1705, 1705, 1336, 1764, 1335, 1331, 1779, 1707, 1707,
1864 1707, 1708, 1708, 1708, 1711, 1711, 1711, 1714, 1714, 1714,
1865 1784, 1784, 1784, 1329, 1785, 1328, 1326, 1786, 898, 898,
1866 898, 1324, 1712, 1323, 1715, 1804, 1804, 1804, 1322, 1319,
1867 1774, 1314, 1775, 1809, 1809, 1809, 900, 1740, 1740, 1740,
1868 1313, 1312, 1805, 1813, 1813, 1813, 1746, 1746, 1746, 1310,
1869 1810, 1308, 1816, 1816, 1816, 1741, 1817, 1305, 1304, 1818,
1871 1814, 1301, 1299, 1747, 1824, 1824, 1824, 1757, 1757, 1757,
1872 1759, 1759, 1759, 1761, 1761, 1761, 1298, 1798, 1828, 1828,
1873 1828, 1825, 1829, 1297, 1296, 1830, 1295, 1289, 1760, 1288,
1874 1762, 1831, 1831, 1831, 1021, 1021, 1021, 1765, 1765, 1765,
1875 1285, 1766, 1275, 1274, 1767, 1768, 1768, 1768, 1273, 1832,
1876 1272, 1271, 1023, 1834, 1834, 1834, 1268, 1835, 1267, 1266,
1877 1836, 1259, 1769, 1837, 1837, 1837, 1771, 1771, 1771, 1773,
1878 1773, 1773, 1839, 1839, 1839, 1778, 1778, 1778, 1256, 1252,
1879 1838, 1847, 1847, 1847, 1772, 1784, 1784, 1784, 1248, 1785,
1880 1840, 1246, 1786, 1779, 898, 898, 898, 1245, 1848, 1237,
1882 1833, 1869, 1869, 1869, 1804, 1804, 1804, 1871, 1871, 1871,
1883 1236, 1872, 900, 1234, 1873, 1809, 1809, 1809, 1870, 1233,
1884 1232, 1805, 1877, 1877, 1877, 1231, 1878, 1230, 1229, 1879,
1885 1228, 1226, 1810, 1881, 1881, 1881, 1225, 1813, 1813, 1813,
1886 1883, 1883, 1883, 1221, 1884, 1219, 1218, 1885, 1217, 1216,
1887 1882, 1215, 1213, 1866, 1814, 1886, 1886, 1886, 1816, 1816,
1888 1816, 1212, 1817, 1211, 1210, 1818, 1824, 1824, 1824, 1891,
1889 1891, 1891, 1887, 1892, 1203, 1200, 1893, 1894, 1894, 1894,
1890 1896, 1896, 1896, 1825, 1828, 1828, 1828, 1199, 1829, 1197,
1891 1196, 1830, 1193, 1188, 1895, 1187, 1182, 1897, 1831, 1831,
1893 1831, 1021, 1021, 1021, 1834, 1834, 1834, 1180, 1835, 1176,
1894 1175, 1836, 1837, 1837, 1837, 1171, 1832, 1169, 1161, 1023,
1895 1905, 1905, 1905, 1160, 1906, 1159, 1158, 1907, 1156, 1838,
1896 1839, 1839, 1839, 1911, 1911, 1911, 1847, 1847, 1847, 1914,
1897 1914, 1914, 1154, 1915, 1153, 1149, 1916, 1148, 1840, 898,
1898 898, 898, 1147, 1848, 1935, 1935, 1935, 1936, 1936, 1936,
1899 1869, 1869, 1869, 1911, 1911, 1911, 1904, 900, 1939, 1939,
1900 1939, 1146, 1940, 1144, 1937, 1941, 1143, 1870, 1871, 1871,
1901 1871, 1142, 1872, 1141, 1140, 1873, 1877, 1877, 1877, 1139,
1902 1878, 1133, 1132, 1879, 1881, 1881, 1881, 1946, 1946, 1946,
1904 1934, 1947, 1131, 1938, 1948, 1883, 1883, 1883, 1130, 1884,
1905 1128, 1882, 1885, 1886, 1886, 1886, 1949, 1949, 1949, 1127,
1906 1950, 1124, 1123, 1951, 1953, 1953, 1953, 1891, 1891, 1891,
1907 1887, 1892, 1122, 1121, 1893, 1894, 1894, 1894, 1956, 1956,
1908 1956, 1954, 1957, 1120, 1119, 1958, 1896, 1896, 1896, 1959,
1909 1959, 1959, 1895, 1960, 1118, 1117, 1961, 1021, 1021, 1021,
1910 1905, 1905, 1905, 1897, 1906, 1116, 1113, 1907, 1971, 1971,
1911 1971, 1111, 1914, 1914, 1914, 1023, 1915, 1108, 1105, 1916,
1912 1983, 1983, 1983, 1102, 1093, 1972, 1208, 898, 898, 898,
1913 1935, 1935, 1935, 1936, 1936, 1936, 1091, 1984, 1084, 1994,
1915 1994, 1994, 1082, 1995, 1081, 900, 1996, 1080, 1968, 1079,
1916 1937, 1939, 1939, 1939, 1078, 1940, 1077, 1076, 1941, 1946,
1917 1946, 1946, 1075, 1947, 1072, 1071, 1948, 1949, 1949, 1949,
1918 1070, 1950, 1069, 1068, 1951, 1067, 1993, 1953, 1953, 1953,
1919 2003, 2003, 2003, 1066, 2004, 1065, 1064, 2005, 1956, 1956,
1920 1956, 1063, 1957, 1061, 1954, 1958, 1959, 1959, 1959, 1060,
1921 1960, 1059, 1058, 1961, 2021, 2021, 2021, 2024, 2024, 2024,
1922 1971, 1971, 1971, 2026, 2026, 2026, 1057, 2027, 1056, 1055,
1923 2028, 823, 2022, 1049, 2025, 1208, 1034, 1972, 1208, 1033,
1924 1028, 1208, 2029, 2029, 2029, 2030, 2030, 2030, 1983, 1983,
1926 1983, 2039, 2039, 2039, 1027, 2040, 1026, 1025, 2041, 898,
1927 898, 898, 1994, 1994, 1994, 1984, 1995, 1007, 995, 1996,
1928 2052, 2052, 2052, 2055, 2055, 2055, 981, 900, 2003, 2003,
1929 2003, 980, 2004, 979, 975, 2005, 967, 2053, 962, 961,
1930 2056, 2057, 2057, 2057, 2021, 2021, 2021, 2024, 2024, 2024,
1931 2072, 2072, 2072, 955, 2073, 952, 947, 2074, 2058, 2026,
1932 2026, 2026, 2022, 2027, 2025, 1208, 2028, 946, 1208, 2029,
1933 2029, 2029, 945, 944, 2048, 943, 942, 1208, 1206, 1206,
1934 1206, 1206, 1206, 1206, 1206, 1206, 1206, 936, 929, 1206,
1935 2030, 2030, 2030, 924, 1206, 1206, 1206, 1208, 1206, 2039,
1937 2039, 2039, 923, 2040, 919, 918, 2041, 2096, 2096, 2096,
1938 917, 2097, 916, 915, 2098, 914, 2091, 2091, 2091, 913,
1939 2052, 2052, 2052, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
1940 1206, 1206, 1206, 1206, 2092, 912, 1206, 2053, 2055, 2055,
1941 2055, 1206, 1206, 1206, 1208, 1206, 2100, 2100, 2100, 911,
1942 2101, 905, 897, 2102, 896, 2056, 2057, 2057, 2057, 2103,
1943 2103, 2103, 895, 2104, 894, 889, 2105, 2091, 2091, 2091,
1944 1206, 1206, 888, 2058, 2072, 2072, 2072, 887, 2073, 884,
1945 878, 2074, 2096, 2096, 2096, 2092, 2097, 873, 872, 2098,
1946 868, 863, 1208, 1206, 1206, 1206, 1206, 1206, 2124, 1206,
1948 1206, 1206, 862, 861, 1206, 860, 859, 858, 856, 1206,
1949 1206, 1206, 1208, 1206, 2100, 2100, 2100, 855, 2101, 854,
1950 853, 2102, 2103, 2103, 2103, 852, 2104, 851, 850, 2105,
1951 849, 2153, 2153, 2153, 848, 2158, 2158, 2158, 1206, 1206,
1952 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 2124, 1208,
1953 1209, 1206, 2159, 2160, 2160, 2160, 1206, 1206, 1206, 1208,
1954 1206, 2162, 2162, 2162, 2170, 2170, 2170, 2158, 2158, 2158,
1955 2161, 2178, 2178, 2178, 2153, 2153, 2153, 847, 2163, 846,
1956 845, 2171, 844, 843, 2159, 1206, 1206, 842, 835, 823,
1957 834, 833, 1208, 2184, 2184, 2184, 832, 2185, 831, 830,
1959 2186, 2160, 2160, 2160, 2187, 2187, 2187, 829, 2188, 826,
1960 824, 2189, 2162, 2162, 2162, 2190, 2190, 2190, 2161, 2191,
1961 823, 821, 2192, 819, 816, 1347, 2170, 2170, 2170, 2163,
1962 2199, 2199, 2199, 812, 2200, 810, 809, 2201, 2178, 2178,
1963 2178, 808, 806, 2171, 2184, 2184, 2184, 805, 2185, 804,
1964 803, 2186, 802, 2187, 2187, 2187, 823, 2188, 800, 799,
1965 2189, 2190, 2190, 2190, 798, 2191, 797, 793, 2192, 2199,
1966 2199, 2199, 792, 2200, 790, 2208, 2201, 2303, 2303, 2303,
1967 2303, 2303, 2303, 789, 2312, 788, 787, 2313, 2405, 2405,
1968 2405, 2405, 2405, 2405, 786, 823, 785, 783, 823, 782,
1970 781, 780, 778, 777, 776, 773, 2406, 772, 768, 2406,
1971 194, 194, 194, 194, 194, 194, 194, 194, 194, 195,
1972 195, 195, 195, 195, 195, 195, 195, 195, 200, 200,
1973 200, 200, 200, 200, 200, 200, 200, 203, 203, 203,
1974 203, 203, 203, 203, 203, 203, 206, 206, 206, 206,
1975 206, 206, 206, 206, 206, 209, 209, 209, 209, 209,
1976 209, 209, 209, 209, 216, 216, 216, 216, 216, 216,
1977 216, 216, 216, 224, 224, 224, 224, 224, 224, 224,
1978 224, 224, 228, 228, 228, 228, 228, 228, 228, 228,
1979 228, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1981 244, 244, 244, 244, 244, 244, 244, 244, 244, 250,
1982 250, 250, 250, 250, 250, 250, 250, 250, 261, 261,
1983 261, 261, 261, 261, 261, 261, 261, 269, 269, 269,
1984 269, 269, 269, 269, 269, 269, 277, 277, 277, 277,
1985 277, 277, 277, 277, 277, 283, 283, 283, 283, 283,
1986 283, 283, 283, 283, 289, 289, 289, 289, 289, 289,
1987 289, 289, 289, 294, 294, 294, 294, 294, 294, 294,
1988 294, 294, 311, 311, 311, 311, 311, 311, 311, 311,
1989 311, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1990 337, 337, 337, 337, 337, 337, 337, 337, 337, 353,
1992 353, 353, 353, 353, 353, 353, 353, 353, 359, 359,
1993 359, 359, 359, 359, 359, 359, 359, 364, 364, 364,
1994 364, 364, 364, 364, 364, 364, 370, 370, 370, 370,
1995 370, 370, 370, 370, 370, 377, 377, 377, 377, 377,
1996 377, 377, 377, 377, 384, 384, 384, 384, 384, 384,
1997 384, 384, 384, 389, 389, 389, 389, 389, 389, 389,
1998 389, 389, 397, 397, 397, 397, 397, 397, 397, 397,
1999 397, 403, 403, 403, 403, 403, 403, 403, 403, 403,
2000 410, 410, 410, 410, 410, 410, 410, 410, 410, 415,
2001 415, 415, 415, 415, 415, 415, 415, 415, 421, 421,
2003 421, 421, 421, 421, 421, 421, 421, 427, 427, 427,
2004 427, 427, 427, 427, 427, 427, 434, 434, 434, 434,
2005 434, 434, 434, 434, 434, 441, 441, 441, 441, 441,
2006 441, 441, 441, 441, 449, 449, 449, 449, 449, 449,
2007 449, 449, 449, 453, 453, 453, 453, 453, 453, 453,
2008 453, 453, 459, 459, 459, 459, 459, 459, 459, 459,
2009 459, 463, 463, 463, 463, 463, 463, 463, 463, 463,
2010 470, 470, 470, 470, 470, 470, 470, 470, 470, 475,
2011 475, 475, 475, 475, 475, 475, 475, 475, 495, 495,
2012 495, 767, 765, 764, 495, 519, 519, 519, 763, 760,
2014 759, 519, 523, 523, 523, 758, 757, 755, 523, 531,
2015 531, 531, 754, 753, 752, 531, 543, 543, 543, 751,
2016 750, 749, 543, 549, 549, 549, 746, 743, 742, 549,
2017 562, 562, 562, 741, 739, 738, 562, 570, 570, 570,
2018 733, 730, 728, 570, 585, 585, 585, 727, 726, 725,
2019 585, 595, 595, 595, 724, 722, 719, 595, 600, 600,
2020 600, 717, 716, 715, 600, 608, 608, 608, 713, 711,
2021 710, 608, 615, 615, 615, 709, 708, 707, 615, 622,
2022 622, 622, 706, 703, 702, 622, 627, 627, 627, 701,
2023 698, 695, 627, 633, 633, 633, 694, 692, 691, 633,
2025 641, 641, 641, 688, 686, 683, 641, 645, 645, 645,
2026 677, 676, 675, 645, 649, 649, 649, 672, 671, 670,
2027 649, 653, 653, 653, 653, 653, 653, 653, 669, 653,
2028 495, 495, 495, 667, 666, 665, 495, 668, 664, 663,
2029 662, 668, 519, 519, 519, 657, 654, 656, 519, 693,
2030 651, 650, 648, 693, 523, 523, 523, 647, 646, 644,
2031 523, 700, 642, 640, 637, 700, 531, 531, 531, 636,
2032 635, 634, 531, 712, 632, 631, 630, 712, 543, 543,
2033 543, 629, 628, 626, 543, 718, 624, 623, 621, 718,
2034 549, 549, 549, 620, 617, 616, 549, 723, 614, 504,
2036 2407, 723, 562, 562, 562, 609, 607, 606, 562, 740,
2037 603, 602, 601, 740, 570, 570, 570, 599, 597, 596,
2038 570, 756, 594, 592, 591, 756, 585, 585, 585, 590,
2039 589, 588, 585, 766, 587, 586, 584, 766, 595, 595,
2040 595, 579, 576, 575, 595, 771, 574, 571, 569, 771,
2041 600, 600, 600, 568, 567, 566, 600, 779, 565, 564,
2042 563, 779, 608, 608, 608, 561, 2407, 510, 608, 784,
2043 556, 551, 550, 784, 615, 615, 615, 548, 546, 545,
2044 615, 791, 544, 542, 513, 791, 622, 622, 622, 2407,
2045 537, 533, 622, 796, 532, 530, 529, 796, 627, 627,
2047 627, 526, 525, 524, 627, 801, 522, 520, 518, 801,
2048 633, 633, 633, 2407, 496, 494, 633, 807, 492, 486,
2049 485, 807, 641, 641, 641, 486, 485, 484, 641, 811,
2050 483, 2407, 2407, 811, 645, 645, 645, 2407, 2407, 2407,
2051 645, 815, 2407, 2407, 2407, 815, 649, 649, 649, 2407,
2052 2407, 2407, 649, 820, 2407, 2407, 2407, 820, 822, 822,
2053 822, 822, 822, 822, 822, 822, 822, 828, 2407, 2407,
2054 2407, 2407, 828, 495, 495, 495, 2407, 2407, 2407, 495,
2055 837, 837, 837, 837, 2407, 2407, 837, 837, 519, 519,
2056 519, 2407, 2407, 2407, 519, 865, 865, 865, 865, 2407,
2058 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2059 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2060 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2061 2407, 891, 891, 543, 543, 543, 2407, 2407, 2407, 543,
2062 899, 899, 899, 899, 2407, 2407, 899, 899, 549, 549,
2063 549, 2407, 2407, 2407, 549, 907, 907, 907, 907, 2407,
2064 2407, 907, 907, 562, 562, 562, 2407, 2407, 2407, 562,
2065 926, 926, 926, 926, 2407, 2407, 926, 926, 570, 570,
2066 570, 2407, 2407, 2407, 570, 949, 949, 949, 949, 2407,
2067 2407, 949, 949, 585, 585, 585, 2407, 2407, 2407, 585,
2069 964, 964, 964, 964, 2407, 2407, 964, 964, 595, 595,
2070 595, 2407, 2407, 2407, 595, 972, 972, 972, 972, 2407,
2071 2407, 972, 972, 600, 600, 600, 2407, 2407, 2407, 600,
2072 983, 983, 983, 983, 2407, 2407, 983, 983, 608, 608,
2073 608, 608, 2407, 608, 2407, 608, 992, 992, 992, 992,
2074 2407, 2407, 992, 992, 615, 615, 615, 615, 2407, 615,
2075 2407, 615, 1004, 1004, 1004, 1004, 2407, 2407, 1004, 1004,
2076 622, 622, 622, 2407, 2407, 2407, 622, 1012, 1012, 1012,
2077 1012, 2407, 2407, 1012, 1012, 627, 627, 627, 627, 2407,
2078 627, 2407, 627, 1022, 1022, 1022, 1022, 2407, 2407, 1022,
2080 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030, 1030,
2081 1030, 1030, 2407, 2407, 1030, 1030, 641, 641, 641, 2407,
2082 2407, 2407, 641, 1036, 1036, 1036, 1036, 2407, 2407, 1036,
2083 1036, 1043, 1043, 1043, 1043, 2407, 2407, 1043, 1043, 649,
2084 649, 649, 2407, 2407, 2407, 649, 1051, 1051, 1051, 1051,
2085 2407, 2407, 1051, 1051, 822, 822, 822, 822, 822, 822,
2086 822, 822, 822, 828, 2407, 828, 2407, 2407, 828, 495,
2087 495, 495, 2407, 2407, 2407, 495, 837, 837, 837, 837,
2088 2407, 2407, 837, 837, 519, 519, 519, 519, 2407, 519,
2089 2407, 519, 865, 865, 865, 865, 2407, 2407, 865, 865,
2091 523, 523, 523, 523, 2407, 523, 2407, 523, 875, 875,
2092 875, 875, 2407, 2407, 875, 875, 531, 531, 531, 2407,
2093 2407, 2407, 531, 891, 891, 891, 891, 2407, 2407, 891,
2094 891, 543, 543, 543, 2407, 2407, 2407, 543, 899, 899,
2095 899, 899, 2407, 2407, 899, 899, 549, 549, 549, 2407,
2096 2407, 2407, 549, 907, 907, 907, 907, 2407, 2407, 907,
2097 907, 562, 562, 562, 2407, 2407, 2407, 562, 926, 926,
2098 926, 926, 2407, 2407, 926, 926, 570, 570, 570, 2407,
2099 2407, 2407, 570, 949, 949, 949, 949, 2407, 2407, 949,
2100 949, 585, 585, 585, 2407, 2407, 2407, 585, 964, 964,
2102 964, 964, 2407, 2407, 964, 964, 595, 595, 595, 2407,
2103 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407, 972,
2104 972, 600, 600, 600, 2407, 2407, 2407, 600, 983, 983,
2105 983, 983, 2407, 2407, 983, 983, 608, 608, 608, 2407,
2106 2407, 2407, 608, 992, 992, 992, 992, 2407, 2407, 992,
2107 992, 615, 615, 615, 2407, 2407, 2407, 615, 1004, 1004,
2108 1004, 1004, 2407, 2407, 1004, 1004, 622, 622, 622, 2407,
2109 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407, 2407, 1012,
2110 1012, 627, 627, 627, 2407, 2407, 2407, 627, 1022, 1022,
2111 1022, 1022, 2407, 2407, 1022, 1022, 633, 633, 633, 2407,
2113 2407, 2407, 633, 1030, 1030, 1030, 1030, 2407, 2407, 1030,
2114 1030, 641, 641, 641, 2407, 2407, 2407, 641, 1036, 1036,
2115 1036, 1036, 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043,
2116 2407, 2407, 1043, 1043, 649, 649, 649, 2407, 2407, 2407,
2117 649, 1051, 1051, 1051, 1051, 2407, 2407, 1051, 1051, 822,
2118 822, 822, 822, 822, 822, 822, 822, 822, 1206, 1206,
2119 1206, 1206, 1206, 1206, 1206, 1206, 1206, 495, 495, 495,
2120 2407, 2407, 2407, 495, 837, 837, 837, 837, 2407, 2407,
2121 837, 837, 865, 865, 865, 865, 2407, 2407, 865, 865,
2122 523, 523, 523, 2407, 2407, 2407, 523, 875, 875, 875,
2124 875, 2407, 2407, 875, 875, 531, 531, 531, 2407, 2407,
2125 2407, 531, 891, 891, 891, 891, 2407, 2407, 891, 891,
2126 543, 543, 543, 2407, 2407, 2407, 543, 899, 899, 899,
2127 899, 2407, 2407, 899, 899, 549, 549, 549, 2407, 2407,
2128 2407, 549, 562, 562, 562, 2407, 2407, 2407, 562, 926,
2129 926, 926, 926, 2407, 2407, 926, 926, 570, 570, 570,
2130 2407, 2407, 2407, 570, 949, 949, 949, 949, 2407, 2407,
2131 949, 949, 585, 585, 585, 2407, 2407, 2407, 585, 964,
2132 964, 964, 964, 2407, 2407, 964, 964, 595, 595, 595,
2133 2407, 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407,
2135 972, 972, 600, 600, 600, 2407, 2407, 2407, 600, 983,
2136 983, 983, 983, 2407, 2407, 983, 983, 608, 608, 608,
2137 2407, 2407, 2407, 608, 992, 992, 992, 992, 2407, 2407,
2138 992, 992, 615, 615, 615, 2407, 2407, 2407, 615, 1004,
2139 1004, 1004, 1004, 2407, 2407, 1004, 1004, 622, 622, 622,
2140 2407, 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407, 2407,
2141 1012, 1012, 627, 627, 627, 2407, 2407, 2407, 627, 1022,
2142 1022, 1022, 1022, 2407, 2407, 1022, 1022, 633, 633, 633,
2143 2407, 2407, 2407, 633, 1030, 1030, 1030, 1030, 2407, 2407,
2144 1030, 1030, 641, 641, 641, 641, 2407, 641, 2407, 641,
2146 1036, 1036, 1036, 1036, 2407, 2407, 1036, 1036, 1043, 1043,
2147 1043, 1043, 2407, 2407, 1043, 1043, 649, 649, 649, 649,
2148 2407, 649, 2407, 649, 1051, 1051, 1051, 1051, 2407, 2407,
2149 1051, 1051, 822, 822, 822, 822, 822, 822, 822, 822,
2150 822, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2151 495, 495, 495, 2407, 2407, 2407, 495, 837, 837, 837,
2152 837, 2407, 2407, 837, 837, 865, 865, 865, 865, 2407,
2153 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2154 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2155 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2157 2407, 891, 891, 543, 543, 543, 2407, 2407, 2407, 543,
2158 899, 899, 899, 899, 2407, 2407, 899, 899, 549, 549,
2159 549, 2407, 2407, 2407, 549, 562, 562, 562, 2407, 2407,
2160 2407, 562, 926, 926, 926, 926, 2407, 2407, 926, 926,
2161 570, 570, 570, 2407, 2407, 2407, 570, 949, 949, 949,
2162 949, 2407, 2407, 949, 949, 585, 585, 585, 2407, 2407,
2163 2407, 585, 964, 964, 964, 964, 2407, 2407, 964, 964,
2164 595, 595, 595, 2407, 2407, 2407, 595, 972, 972, 972,
2165 972, 2407, 2407, 972, 972, 600, 600, 600, 2407, 2407,
2166 2407, 600, 983, 983, 983, 983, 2407, 2407, 983, 983,
2168 608, 608, 608, 2407, 2407, 2407, 608, 992, 992, 992,
2169 992, 2407, 2407, 992, 992, 615, 615, 615, 615, 2407,
2170 615, 2407, 615, 1004, 1004, 1004, 1004, 2407, 2407, 1004,
2171 1004, 622, 622, 622, 2407, 2407, 2407, 622, 1012, 1012,
2172 1012, 1012, 2407, 2407, 1012, 1012, 627, 627, 627, 627,
2173 2407, 627, 2407, 627, 1022, 1022, 1022, 1022, 2407, 2407,
2174 1022, 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030,
2175 1030, 1030, 1030, 2407, 2407, 1030, 1030, 1036, 1036, 1036,
2176 1036, 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043, 2407,
2177 2407, 1043, 1043, 1051, 1051, 1051, 1051, 2407, 2407, 1051,
2179 1051, 822, 822, 822, 822, 822, 822, 822, 822, 822,
2180 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 495,
2181 495, 495, 495, 2407, 495, 2407, 495, 837, 837, 837,
2182 837, 2407, 2407, 837, 837, 865, 865, 865, 865, 2407,
2183 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2184 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2185 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2186 2407, 891, 891, 543, 543, 543, 543, 2407, 543, 2407,
2187 543, 899, 899, 899, 899, 2407, 2407, 899, 899, 549,
2188 549, 549, 549, 2407, 549, 2407, 549, 562, 562, 562,
2190 2407, 2407, 2407, 562, 570, 570, 570, 2407, 2407, 2407,
2191 570, 949, 949, 949, 949, 2407, 2407, 949, 949, 585,
2192 585, 585, 2407, 2407, 2407, 585, 595, 595, 595, 2407,
2193 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407, 972,
2194 972, 600, 600, 600, 2407, 2407, 2407, 600, 608, 608,
2195 608, 2407, 2407, 2407, 608, 992, 992, 992, 992, 2407,
2196 2407, 992, 992, 615, 615, 615, 2407, 2407, 2407, 615,
2197 1004, 1004, 1004, 1004, 2407, 2407, 1004, 1004, 622, 622,
2198 622, 2407, 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407,
2199 2407, 1012, 1012, 1022, 1022, 1022, 1022, 2407, 2407, 1022,
2201 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030, 1030,
2202 1030, 1030, 2407, 2407, 1030, 1030, 1036, 1036, 1036, 1036,
2203 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043, 2407, 2407,
2204 1043, 1043, 822, 822, 822, 822, 822, 822, 822, 822,
2205 822, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2206 837, 837, 837, 837, 2407, 2407, 837, 837, 865, 865,
2207 865, 865, 2407, 2407, 865, 865, 523, 523, 523, 2407,
2208 2407, 2407, 523, 531, 531, 531, 2407, 2407, 2407, 531,
2209 891, 891, 891, 891, 2407, 2407, 891, 891, 2075, 2075,
2210 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2076, 2076, 2076,
2212 2076, 2076, 2076, 2076, 2076, 2076, 2119, 2119, 2119, 2119,
2213 2119, 2119, 2119, 2119, 2119, 2122, 2122, 2122, 2122, 2122,
2214 2122, 2122, 2122, 2122, 2150, 2150, 2150, 2150, 2150, 2150,
2215 2150, 2150, 2150, 2152, 2152, 2152, 2152, 2152, 2152, 2152,
2216 2152, 2152, 193, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2217 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2218 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2219 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2220 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2221 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2223 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2224 2407, 2407, 2407, 2407, 2407
2227 static yyconst flex_int16_t yy_chk[8116] =
2229 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2230 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2231 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2232 8, 8, 8, 198, 11, 13, 13, 12, 14, 14,
2233 13, 13, 271, 14, 14, 199, 8, 17, 17, 198,
2234 13, 15, 15, 14, 15, 202, 15, 16, 16, 236,
2235 16, 199, 16, 18, 18, 236, 15, 19, 19, 19,
2236 305, 202, 16, 20, 20, 20, 23, 23, 23, 24,
2237 24, 24, 505, 19, 25, 25, 25, 271, 505, 20,
2238 299, 17, 23, 271, 505, 24, 196, 196, 196, 299,
2240 25, 197, 197, 197, 201, 201, 201, 18, 21, 21,
2241 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2242 21, 21, 21, 305, 21, 21, 21, 21, 21, 26,
2243 26, 26, 27, 27, 27, 28, 28, 28, 231, 29,
2244 29, 29, 30, 30, 30, 26, 302, 1417, 27, 220,
2245 225, 28, 231, 21, 21, 29, 302, 241, 30, 31,
2246 31, 31, 222, 222, 222, 220, 225, 229, 229, 229,
2247 238, 238, 238, 241, 1424, 31, 21, 22, 22, 22,
2248 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2249 22, 22, 322, 22, 22, 22, 22, 22, 32, 32,
2251 32, 33, 33, 33, 34, 34, 34, 220, 35, 35,
2252 35, 36, 36, 36, 32, 232, 307, 33, 307, 1425,
2253 34, 380, 22, 22, 35, 232, 233, 36, 37, 37,
2254 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2255 41, 41, 41, 322, 37, 22, 334, 38, 251, 334,
2256 39, 301, 262, 40, 232, 233, 41, 42, 42, 42,
2257 232, 245, 245, 245, 251, 234, 232, 233, 262, 233,
2258 232, 233, 380, 42, 43, 43, 43, 43, 43, 43,
2259 43, 43, 43, 43, 43, 43, 43, 43, 43, 301,
2260 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2262 46, 53, 53, 53, 234, 266, 1429, 49, 49, 266,
2263 278, 45, 49, 266, 46, 443, 234, 53, 234, 43,
2264 43, 445, 49, 248, 248, 248, 278, 43, 44, 44,
2265 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2266 44, 44, 44, 388, 44, 44, 44, 44, 44, 330,
2267 388, 49, 443, 50, 50, 54, 54, 54, 50, 55,
2268 55, 55, 56, 56, 56, 259, 259, 259, 50, 330,
2269 402, 54, 445, 44, 44, 55, 488, 402, 56, 488,
2270 1435, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2271 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2273 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2274 59, 59, 268, 60, 60, 60, 63, 63, 63, 57,
2275 290, 312, 58, 246, 256, 59, 268, 47, 47, 60,
2276 246, 256, 63, 1439, 1347, 47, 290, 312, 47, 246,
2277 256, 270, 270, 270, 47, 48, 48, 48, 48, 48,
2278 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2279 444, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2280 67, 67, 68, 68, 68, 1347, 69, 69, 69, 70,
2281 70, 70, 64, 327, 344, 67, 285, 360, 68, 1442,
2282 48, 48, 69, 285, 336, 70, 1444, 444, 48, 327,
2284 344, 48, 285, 360, 212, 336, 336, 48, 51, 51,
2285 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2286 51, 51, 51, 527, 51, 51, 51, 51, 51, 71,
2287 71, 71, 72, 72, 72, 73, 73, 73, 376, 74,
2288 74, 74, 75, 75, 75, 71, 212, 371, 72, 376,
2289 339, 73, 212, 51, 51, 74, 212, 339, 75, 527,
2290 1446, 212, 51, 371, 51, 406, 339, 51, 275, 275,
2291 275, 430, 51, 51, 52, 52, 52, 52, 52, 52,
2292 52, 52, 52, 52, 52, 52, 52, 52, 52, 1448,
2293 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2295 77, 78, 78, 78, 466, 79, 79, 79, 80, 80,
2296 80, 76, 406, 385, 77, 355, 366, 78, 430, 52,
2297 52, 79, 355, 366, 80, 284, 284, 284, 52, 385,
2298 52, 355, 366, 52, 287, 287, 287, 391, 52, 52,
2299 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2300 61, 61, 61, 61, 61, 466, 61, 61, 61, 61,
2301 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2302 1449, 84, 84, 84, 85, 85, 85, 81, 506, 501,
2303 82, 479, 501, 83, 391, 61, 61, 84, 391, 851,
2304 85, 506, 61, 295, 295, 295, 479, 61, 309, 309,
2306 309, 851, 304, 320, 320, 320, 61, 62, 62, 62,
2307 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2308 62, 62, 1450, 62, 62, 62, 62, 62, 86, 86,
2309 86, 87, 87, 87, 88, 88, 88, 1205, 89, 89,
2310 89, 90, 90, 90, 86, 508, 304, 87, 508, 304,
2311 88, 1453, 62, 62, 89, 304, 398, 90, 509, 62,
2312 511, 303, 1205, 511, 62, 324, 324, 324, 338, 338,
2313 338, 509, 398, 62, 65, 65, 65, 65, 65, 65,
2314 65, 65, 65, 65, 65, 65, 65, 65, 65, 303,
2315 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2317 92, 93, 93, 93, 303, 94, 94, 94, 95, 95,
2318 95, 91, 411, 422, 92, 515, 1455, 93, 515, 65,
2319 65, 94, 1460, 1462, 95, 341, 341, 341, 411, 422,
2320 65, 354, 354, 354, 357, 357, 357, 1346, 65, 66,
2321 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2322 66, 66, 66, 66, 1346, 66, 66, 66, 66, 66,
2323 96, 96, 96, 99, 99, 99, 100, 100, 100, 861,
2324 101, 101, 101, 102, 102, 102, 96, 435, 450, 99,
2325 564, 861, 100, 564, 66, 66, 101, 1469, 1470, 102,
2326 365, 365, 365, 435, 450, 66, 368, 368, 368, 378,
2328 378, 378, 1471, 66, 97, 97, 97, 97, 97, 97,
2329 97, 97, 97, 97, 97, 97, 97, 97, 97, 1473,
2330 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2331 104, 105, 105, 105, 894, 106, 106, 106, 382, 382,
2332 382, 103, 460, 471, 104, 1054, 894, 105, 655, 97,
2333 97, 106, 97, 1487, 97, 390, 390, 390, 460, 471,
2334 97, 395, 395, 395, 655, 1054, 97, 1348, 1492, 97,
2335 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2336 98, 98, 98, 98, 98, 1486, 98, 98, 98, 98,
2337 98, 109, 109, 109, 110, 110, 110, 113, 113, 113,
2339 1348, 114, 114, 114, 404, 404, 404, 109, 825, 759,
2340 110, 557, 825, 113, 759, 98, 98, 114, 98, 513,
2341 98, 408, 408, 408, 557, 513, 98, 416, 416, 416,
2342 1486, 513, 98, 1493, 1497, 98, 107, 107, 107, 107,
2343 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2344 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2345 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2346 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2347 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2348 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2350 107, 107, 107, 107, 107, 107, 107, 107, 111, 111,
2351 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2352 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2353 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2354 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2355 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2356 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2357 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2358 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2359 115, 115, 115, 115, 115, 1498, 115, 115, 115, 115,
2361 115, 117, 117, 117, 118, 118, 118, 121, 121, 121,
2362 1385, 122, 122, 122, 1502, 417, 559, 117, 1385, 743,
2363 118, 1485, 417, 121, 1508, 115, 115, 122, 743, 559,
2364 115, 417, 419, 419, 419, 743, 115, 116, 116, 116,
2365 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2366 116, 116, 1485, 116, 116, 116, 116, 116, 123, 123,
2367 123, 124, 124, 124, 125, 125, 125, 1389, 126, 126,
2368 126, 428, 428, 428, 123, 1389, 1510, 124, 1511, 516,
2369 125, 1514, 116, 116, 126, 516, 1484, 116, 432, 432,
2370 432, 516, 1484, 116, 119, 119, 119, 119, 119, 119,
2372 119, 119, 119, 119, 119, 119, 119, 119, 119, 1517,
2373 119, 119, 119, 119, 119, 127, 127, 127, 128, 128,
2374 128, 131, 131, 131, 1521, 132, 132, 132, 133, 133,
2375 133, 127, 1522, 1523, 128, 455, 560, 131, 1524, 119,
2376 119, 132, 455, 119, 133, 442, 442, 442, 1525, 560,
2377 119, 455, 119, 447, 447, 447, 454, 454, 454, 119,
2378 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
2379 120, 120, 120, 120, 120, 1526, 120, 120, 120, 120,
2380 120, 134, 134, 134, 135, 135, 135, 136, 136, 136,
2381 1527, 137, 137, 137, 138, 138, 138, 134, 1528, 1529,
2383 135, 477, 1530, 136, 1535, 120, 120, 137, 477, 120,
2384 138, 457, 457, 457, 1537, 1538, 120, 477, 120, 464,
2385 464, 464, 468, 468, 468, 120, 129, 129, 129, 129,
2386 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
2387 129, 1541, 129, 129, 129, 129, 129, 141, 141, 141,
2388 142, 142, 142, 143, 143, 143, 1539, 144, 144, 144,
2389 145, 145, 145, 141, 1539, 1542, 142, 1540, 1546, 143,
2390 1552, 129, 129, 144, 1553, 1540, 145, 129, 476, 476,
2391 476, 478, 478, 478, 1558, 1562, 487, 487, 487, 1563,
2392 1564, 129, 130, 130, 130, 130, 130, 130, 130, 130,
2394 130, 130, 130, 130, 130, 130, 130, 1566, 130, 130,
2395 130, 130, 130, 146, 146, 146, 147, 147, 147, 148,
2396 148, 148, 1569, 151, 151, 151, 152, 152, 152, 146,
2397 1570, 1573, 147, 1574, 517, 148, 1577, 130, 130, 151,
2398 517, 541, 152, 130, 487, 1584, 517, 541, 658, 658,
2399 658, 1586, 658, 541, 670, 670, 670, 130, 139, 139,
2400 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2401 139, 139, 139, 1596, 139, 139, 139, 139, 139, 155,
2402 155, 155, 156, 156, 156, 157, 157, 157, 1597, 158,
2403 158, 158, 159, 159, 159, 155, 1261, 1599, 156, 1571,
2405 1612, 157, 1261, 139, 139, 158, 1261, 1571, 159, 139,
2406 1261, 1618, 139, 686, 686, 686, 1622, 670, 1624, 725,
2407 725, 725, 1604, 139, 140, 140, 140, 140, 140, 140,
2408 140, 140, 140, 140, 140, 140, 140, 140, 140, 1630,
2409 140, 140, 140, 140, 140, 160, 160, 160, 161, 161,
2410 161, 162, 162, 162, 1572, 165, 165, 165, 166, 166,
2411 166, 160, 1572, 1603, 161, 1636, 1637, 162, 1604, 140,
2412 140, 165, 1638, 1639, 166, 140, 686, 1640, 140, 697,
2413 697, 697, 725, 697, 1641, 1642, 697, 1643, 1644, 140,
2414 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2416 149, 149, 149, 149, 149, 1603, 149, 149, 149, 149,
2417 149, 167, 167, 167, 168, 168, 168, 169, 169, 169,
2418 1645, 170, 170, 170, 171, 171, 171, 167, 1651, 1652,
2419 168, 1653, 1654, 169, 1655, 149, 149, 170, 1656, 1657,
2420 171, 149, 840, 840, 840, 1658, 149, 150, 150, 150,
2421 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2422 150, 150, 1659, 150, 150, 150, 150, 150, 172, 172,
2423 172, 175, 175, 175, 176, 176, 176, 1660, 179, 179,
2424 179, 180, 180, 180, 172, 1664, 1665, 175, 1667, 1668,
2425 176, 1669, 150, 150, 179, 1670, 1677, 180, 150, 730,
2427 730, 730, 1678, 150, 153, 153, 153, 153, 153, 153,
2428 153, 153, 153, 153, 153, 153, 153, 153, 153, 1679,
2429 153, 153, 153, 153, 153, 181, 181, 181, 182, 182,
2430 182, 183, 183, 183, 1680, 184, 184, 184, 185, 185,
2431 185, 181, 1262, 1681, 182, 1682, 1683, 183, 1262, 153,
2432 153, 184, 1262, 1684, 185, 153, 1262, 1686, 153, 705,
2433 705, 705, 730, 705, 1694, 1706, 705, 1709, 1710, 153,
2434 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2435 154, 154, 154, 154, 154, 1713, 154, 154, 154, 154,
2436 154, 186, 186, 186, 189, 189, 189, 190, 190, 190,
2438 525, 525, 525, 1716, 668, 668, 668, 186, 1717, 1718,
2439 189, 1719, 1720, 190, 1721, 154, 154, 525, 1722, 296,
2440 297, 154, 668, 1723, 154, 857, 857, 857, 1702, 296,
2441 297, 1068, 1068, 1068, 1724, 154, 163, 163, 163, 163,
2442 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2443 163, 1701, 163, 163, 163, 163, 163, 296, 297, 533,
2444 533, 533, 1725, 296, 1726, 1702, 296, 550, 550, 550,
2445 1728, 297, 296, 1729, 1730, 297, 533, 565, 565, 565,
2446 1731, 163, 163, 1701, 550, 1071, 1071, 1071, 1733, 163,
2447 1736, 163, 1737, 163, 565, 1070, 1070, 1070, 1074, 1074,
2449 1074, 163, 164, 164, 164, 164, 164, 164, 164, 164,
2450 164, 164, 164, 164, 164, 164, 164, 1738, 164, 164,
2451 164, 164, 164, 573, 573, 573, 575, 575, 575, 589,
2452 589, 589, 597, 597, 597, 602, 602, 602, 1742, 1743,
2453 573, 1070, 1745, 575, 1748, 1749, 589, 164, 164, 597,
2454 1750, 1751, 602, 1753, 1756, 164, 1758, 164, 1780, 164,
2455 1082, 1082, 1082, 1107, 1107, 1107, 1775, 164, 173, 173,
2456 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2457 173, 173, 173, 1777, 173, 173, 173, 173, 173, 624,
2458 624, 624, 646, 646, 646, 650, 650, 650, 693, 693,
2460 693, 669, 669, 669, 1781, 1775, 624, 1782, 1787, 646,
2461 1788, 1789, 650, 173, 173, 1776, 693, 1790, 1791, 669,
2462 721, 721, 721, 1792, 721, 1777, 1793, 721, 737, 737,
2463 737, 1794, 737, 1795, 1796, 737, 173, 174, 174, 174,
2464 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2465 174, 174, 1776, 174, 174, 174, 174, 174, 669, 696,
2466 696, 696, 694, 694, 694, 1797, 700, 700, 700, 701,
2467 701, 701, 704, 704, 704, 1785, 696, 706, 706, 706,
2468 694, 1799, 174, 174, 700, 1785, 1800, 701, 1785, 704,
2469 1806, 745, 745, 745, 706, 745, 1807, 1808, 745, 1118,
2471 1118, 1118, 1119, 1119, 1119, 174, 177, 177, 177, 177,
2472 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2473 177, 694, 177, 177, 177, 177, 177, 708, 708, 708,
2474 1811, 1819, 701, 1820, 1821, 712, 712, 712, 713, 713,
2475 713, 718, 718, 718, 708, 1220, 1220, 1220, 1119, 1841,
2476 1845, 177, 177, 712, 1846, 1849, 713, 1850, 1852, 718,
2477 1853, 1855, 177, 178, 178, 178, 178, 178, 178, 178,
2478 178, 178, 178, 178, 178, 178, 178, 178, 1841, 178,
2479 178, 178, 178, 178, 1856, 713, 719, 719, 719, 720,
2480 720, 720, 723, 723, 723, 736, 736, 736, 724, 724,
2482 724, 744, 744, 744, 719, 1857, 720, 1858, 178, 178,
2483 723, 1859, 736, 1222, 1222, 1222, 724, 1861, 744, 178,
2484 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2485 187, 187, 187, 187, 187, 724, 187, 187, 187, 187,
2486 187, 740, 740, 740, 741, 741, 741, 1862, 1786, 719,
2487 747, 747, 747, 748, 748, 748, 1863, 748, 1786, 740,
2488 748, 1786, 741, 1864, 1851, 187, 187, 747, 749, 749,
2489 749, 762, 762, 762, 1854, 762, 187, 1851, 762, 770,
2490 770, 770, 1874, 770, 1875, 749, 770, 1854, 187, 188,
2491 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2493 188, 188, 188, 188, 741, 188, 188, 188, 188, 188,
2494 756, 756, 756, 757, 757, 757, 761, 761, 761, 763,
2495 763, 763, 766, 766, 766, 767, 767, 767, 756, 1876,
2496 1880, 757, 1888, 761, 188, 188, 763, 769, 769, 769,
2497 766, 1890, 1842, 767, 1898, 188, 771, 771, 771, 1899,
2498 1900, 772, 772, 772, 769, 1901, 1902, 188, 230, 1903,
2499 774, 774, 774, 1912, 771, 230, 779, 779, 779, 772,
2500 757, 780, 780, 780, 230, 230, 767, 774, 775, 775,
2501 775, 1913, 775, 1842, 779, 775, 1224, 1224, 1224, 780,
2502 781, 781, 781, 1227, 1227, 1227, 782, 782, 782, 784,
2504 784, 784, 230, 230, 230, 1843, 1917, 781, 1908, 230,
2505 230, 772, 230, 782, 1909, 1918, 230, 784, 230, 1919,
2506 230, 783, 783, 783, 1920, 1921, 780, 785, 785, 785,
2507 787, 787, 787, 788, 788, 788, 1922, 1923, 783, 789,
2508 789, 789, 790, 790, 790, 785, 1843, 787, 1924, 1909,
2509 788, 791, 791, 791, 1926, 1908, 789, 1927, 1928, 790,
2510 1929, 1930, 792, 792, 792, 794, 794, 794, 1931, 791,
2511 795, 795, 795, 1932, 795, 1933, 1938, 795, 1942, 783,
2512 792, 1943, 794, 788, 796, 796, 796, 785, 797, 797,
2513 797, 798, 798, 798, 799, 799, 799, 788, 1944, 792,
2515 790, 1945, 796, 800, 800, 800, 797, 1952, 798, 1955,
2516 1962, 799, 801, 801, 801, 802, 802, 802, 1963, 1964,
2517 800, 807, 807, 807, 808, 808, 808, 811, 811, 811,
2518 801, 1957, 1965, 802, 812, 812, 812, 1966, 1967, 807,
2519 1969, 1957, 808, 797, 799, 811, 813, 813, 813, 814,
2520 814, 814, 812, 814, 1975, 1976, 814, 1977, 799, 815,
2521 815, 815, 1978, 813, 816, 816, 816, 817, 817, 817,
2522 1979, 818, 818, 818, 1969, 818, 1980, 815, 818, 869,
2523 869, 869, 816, 869, 817, 802, 869, 808, 820, 820,
2524 820, 821, 821, 821, 836, 836, 836, 812, 837, 837,
2526 837, 839, 839, 839, 1981, 1982, 820, 1829, 1958, 821,
2527 1985, 1986, 836, 863, 863, 863, 837, 1829, 1958, 839,
2528 864, 864, 864, 1829, 816, 865, 865, 865, 1988, 1989,
2529 863, 867, 867, 867, 868, 868, 868, 1830, 864, 872,
2530 872, 872, 1960, 865, 874, 874, 874, 1830, 839, 867,
2531 1961, 868, 1960, 1830, 821, 1990, 872, 875, 875, 875,
2532 1961, 1992, 874, 877, 877, 877, 879, 879, 879, 1997,
2533 879, 1998, 1999, 879, 2001, 875, 882, 882, 882, 2007,
2534 867, 877, 883, 883, 883, 2008, 883, 2009, 2010, 883,
2535 884, 884, 884, 882, 885, 885, 885, 2011, 2012, 872,
2537 2013, 886, 886, 886, 2014, 886, 2015, 884, 886, 2016,
2538 877, 885, 888, 888, 888, 890, 890, 890, 891, 891,
2539 891, 893, 893, 893, 896, 896, 896, 2018, 2019, 888,
2540 898, 898, 898, 890, 2023, 2031, 891, 2032, 2033, 893,
2541 2034, 896, 899, 899, 899, 901, 901, 901, 898, 902,
2542 902, 902, 2035, 902, 2036, 2037, 902, 906, 906, 906,
2543 899, 2038, 2042, 901, 907, 907, 907, 909, 909, 909,
2544 919, 919, 919, 2043, 2044, 906, 2023, 920, 920, 920,
2545 893, 920, 907, 2045, 920, 909, 2046, 919, 925, 925,
2546 925, 2047, 901, 926, 926, 926, 928, 928, 928, 2049,
2548 933, 933, 933, 2050, 933, 2051, 925, 933, 936, 936,
2549 936, 926, 2054, 2059, 928, 937, 937, 937, 2060, 937,
2550 2061, 2062, 937, 2063, 2064, 936, 940, 940, 940, 941,
2551 941, 941, 2065, 941, 2066, 2067, 941, 948, 948, 948,
2552 949, 949, 949, 940, 951, 951, 951, 956, 956, 956,
2553 2068, 956, 2069, 2070, 956, 948, 2077, 2073, 949, 2080,
2554 928, 2074, 951, 959, 959, 959, 960, 960, 960, 2081,
2555 960, 2073, 2074, 960, 963, 963, 963, 964, 964, 964,
2556 959, 966, 966, 966, 968, 968, 968, 2084, 968, 2086,
2557 2087, 968, 963, 2089, 2090, 964, 971, 971, 971, 966,
2559 972, 972, 972, 974, 974, 974, 982, 982, 982, 2071,
2560 951, 983, 983, 983, 971, 976, 976, 976, 972, 976,
2561 2093, 974, 976, 2094, 982, 985, 985, 985, 2095, 983,
2562 2097, 2099, 966, 986, 986, 986, 2098, 987, 987, 987,
2563 2107, 987, 2097, 985, 987, 988, 988, 988, 2098, 2109,
2564 986, 989, 989, 989, 2071, 989, 2111, 2113, 989, 991,
2565 991, 991, 988, 992, 992, 992, 996, 996, 996, 974,
2566 994, 994, 994, 1000, 1000, 1000, 2118, 991, 997, 997,
2567 997, 992, 997, 996, 985, 997, 2120, 2120, 994, 2121,
2568 1000, 1001, 1001, 1001, 2123, 1001, 2125, 2119, 1001, 1003,
2570 1003, 1003, 1004, 1004, 1004, 1006, 1006, 1006, 1008, 1008,
2571 1008, 2119, 1008, 2126, 2127, 1008, 2118, 1003, 2128, 2137,
2572 1004, 2139, 2142, 1006, 1011, 1011, 1011, 1012, 1012, 1012,
2573 1014, 1014, 1014, 1015, 1015, 1015, 994, 1016, 1016, 1016,
2574 2122, 1016, 1011, 2144, 1016, 1012, 2104, 2136, 1014, 2105,
2575 1015, 2122, 1019, 1019, 1019, 1020, 1020, 1020, 2104, 1020,
2576 2138, 2105, 1020, 1021, 1021, 1021, 2136, 2150, 1006, 1019,
2577 1022, 1022, 1022, 1024, 1024, 1024, 1026, 1026, 1026, 2138,
2578 2151, 1021, 1029, 1029, 1029, 1030, 1030, 1030, 1022, 1014,
2579 2152, 1024, 2141, 1026, 1032, 1032, 1032, 1035, 1035, 1035,
2581 1029, 2154, 2143, 1030, 1036, 1036, 1036, 1038, 1038, 1038,
2582 2155, 2141, 1032, 2156, 2157, 1035, 1039, 1039, 1039, 2164,
2583 1039, 2143, 1036, 1039, 2165, 1038, 1042, 1042, 1042, 1043,
2584 1043, 1043, 2166, 2167, 1024, 1045, 1045, 1045, 1046, 1046,
2585 1046, 2168, 1046, 2169, 1042, 1046, 2172, 1043, 1050, 1050,
2586 1050, 2173, 2174, 1045, 1032, 1051, 1051, 1051, 2175, 2176,
2587 1038, 1053, 1053, 1053, 2177, 2179, 1050, 1055, 1055, 1055,
2588 1062, 1062, 1062, 1051, 1085, 1085, 1085, 2181, 2183, 1053,
2589 1086, 1086, 1086, 2193, 1086, 1055, 1055, 1086, 1062, 2194,
2590 2195, 1085, 2191, 2196, 1045, 1087, 1087, 1087, 1088, 1088,
2592 1088, 1089, 1089, 1089, 2191, 1089, 2197, 2192, 1089, 1092,
2593 1092, 1092, 2198, 1087, 2202, 1088, 1094, 1094, 1094, 2192,
2594 1094, 1053, 2203, 1094, 1097, 1097, 1097, 1092, 2204, 1098,
2595 1098, 1098, 2205, 1098, 2206, 1062, 1098, 2207, 1099, 1099,
2596 1099, 1097, 1099, 2210, 2211, 1099, 1103, 1103, 1103, 1104,
2597 1104, 1104, 1087, 1104, 2212, 2213, 1104, 2214, 1092, 1106,
2598 1106, 1106, 2215, 1103, 1109, 1109, 1109, 1110, 1110, 1110,
2599 2216, 1110, 2208, 2217, 1110, 2218, 2219, 1106, 1111, 1111,
2600 1111, 1109, 1112, 1112, 1112, 1114, 1114, 1114, 1125, 1125,
2601 1125, 2220, 1126, 1126, 1126, 1111, 1126, 2208, 2221, 1126,
2603 1112, 2222, 2223, 1114, 2224, 1125, 1127, 1127, 1127, 1106,
2604 1128, 1128, 1128, 2225, 1129, 1129, 1129, 1131, 1131, 1131,
2605 1134, 1134, 1134, 1127, 1139, 1139, 1139, 1128, 1171, 1171,
2606 1171, 1112, 1129, 2226, 1131, 2227, 2228, 1134, 1135, 1135,
2607 1135, 1139, 1135, 2231, 2232, 1135, 1136, 1136, 1136, 2233,
2608 1136, 2234, 2235, 1136, 2236, 2228, 1128, 1145, 1145, 1145,
2609 1147, 1147, 1147, 1150, 1150, 1150, 2237, 1150, 2238, 2239,
2610 1150, 1153, 1153, 1153, 1171, 1145, 2240, 1147, 2241, 1129,
2611 1155, 1155, 1155, 1157, 1157, 1157, 2242, 2243, 1153, 1161,
2612 1161, 1161, 2244, 1162, 1162, 1162, 2245, 2246, 1155, 2248,
2614 2247, 1157, 2249, 1163, 1163, 1163, 1161, 1163, 2250, 2251,
2615 1163, 1162, 1166, 1166, 1166, 2252, 1166, 2253, 2254, 1166,
2616 2247, 1145, 1170, 1170, 1170, 1172, 1172, 1172, 2255, 1172,
2617 2256, 2257, 1172, 2258, 2259, 1161, 2260, 1177, 1177, 1177,
2618 1170, 1177, 2261, 1155, 1177, 1181, 1181, 1181, 1157, 1162,
2619 1183, 1183, 1183, 1184, 1184, 1184, 2262, 1184, 2263, 2265,
2620 1184, 2266, 2267, 1181, 2264, 1189, 1189, 1189, 1183, 1189,
2621 2264, 2268, 1189, 1192, 1192, 1192, 1194, 1194, 1194, 1195,
2622 1195, 1195, 2269, 1195, 2270, 2272, 1195, 1170, 1229, 1229,
2623 1229, 1192, 2273, 1194, 1198, 1198, 1198, 1200, 1200, 1200,
2625 1201, 1201, 1201, 2275, 2276, 1181, 1183, 1202, 1202, 1202,
2626 2278, 2279, 1198, 2282, 1200, 1203, 1203, 1203, 1201, 2283,
2627 1192, 1204, 1204, 1204, 2284, 1202, 1207, 1207, 1207, 1214,
2628 1214, 1214, 1203, 1230, 1230, 1230, 1235, 1235, 1235, 1204,
2629 1237, 1237, 1237, 1198, 1207, 2285, 2287, 1214, 1238, 1238,
2630 1238, 1229, 1238, 2289, 2281, 1238, 1241, 1241, 1241, 1202,
2631 1242, 1242, 1242, 2291, 1242, 2293, 1201, 1242, 2281, 1247,
2632 1247, 1247, 2295, 2296, 1241, 2297, 2298, 1207, 2299, 1230,
2633 2300, 1214, 1204, 1257, 1257, 1257, 1237, 1247, 1249, 1249,
2634 1249, 2301, 1249, 1207, 2302, 1249, 1253, 1253, 1253, 2304,
2636 1253, 1257, 2306, 1253, 1258, 1258, 1258, 1260, 1260, 1260,
2637 2308, 1260, 2309, 2310, 1260, 1263, 1263, 1263, 2311, 2352,
2638 1247, 2328, 1241, 1264, 1264, 1264, 2324, 1264, 2344, 2328,
2639 1264, 1411, 1263, 1265, 1265, 1265, 1269, 1269, 1269, 1270,
2640 1270, 1270, 2320, 1257, 1271, 1271, 1271, 1272, 1272, 1272,
2641 2312, 1265, 1273, 1273, 1273, 1276, 1276, 1276, 2325, 1276,
2642 2344, 2352, 1276, 1279, 1279, 1279, 1280, 1280, 1280, 2324,
2643 1280, 2321, 2313, 1280, 1281, 1281, 1281, 1284, 1284, 1284,
2644 1279, 1282, 1282, 1282, 1265, 1282, 2312, 2364, 1282, 2320,
2645 2365, 1281, 1286, 1286, 1286, 1284, 1287, 1287, 1287, 2322,
2647 1287, 2325, 2346, 1287, 1288, 1288, 1288, 1271, 2313, 1286,
2648 1272, 2346, 1290, 1290, 1290, 1273, 1290, 2338, 2321, 1290,
2649 2323, 1288, 1293, 1293, 1293, 1294, 1294, 1294, 2364, 1294,
2650 2332, 2365, 1294, 1295, 1295, 1295, 1299, 1299, 1299, 1293,
2651 1300, 1300, 1300, 1302, 1302, 1302, 2322, 1303, 1303, 1303,
2652 1295, 1303, 2338, 1299, 1303, 1304, 1304, 1304, 1300, 1408,
2653 1302, 1306, 1306, 1306, 1307, 1307, 1307, 2323, 1307, 2329,
2654 2336, 1307, 1304, 1309, 1309, 1309, 2332, 2329, 1306, 1311,
2655 1311, 1311, 1315, 1315, 1315, 1316, 1316, 1316, 2330, 1316,
2656 2331, 1309, 1316, 1318, 1318, 1318, 2330, 1311, 2331, 1315,
2658 1320, 1320, 1320, 2333, 2334, 1300, 1322, 1322, 1322, 1407,
2659 2336, 1318, 1323, 1323, 1323, 1324, 1324, 1324, 1320, 1325,
2660 1325, 1325, 2339, 1322, 1327, 1327, 1327, 2326, 2337, 1323,
2661 1311, 2326, 1324, 1328, 1328, 1328, 2340, 1325, 1329, 1329,
2662 1329, 2334, 1327, 1330, 1330, 1330, 1337, 1337, 1337, 2333,
2663 1328, 1320, 1332, 1332, 1332, 1329, 1332, 2339, 2327, 1332,
2664 1406, 1330, 2327, 2402, 1337, 1339, 1339, 1339, 2337, 2335,
2665 1327, 2345, 1340, 1340, 1340, 2347, 1340, 2402, 1324, 1340,
2666 2360, 2340, 1339, 1401, 2347, 1325, 1341, 1341, 1341, 2360,
2667 1342, 1342, 1342, 1343, 1343, 1343, 2350, 1337, 1344, 1344,
2669 1344, 1400, 1344, 2345, 1341, 1344, 2335, 1330, 1342, 2358,
2670 1343, 1345, 1345, 1345, 1351, 1351, 1351, 1352, 1352, 1352,
2671 1357, 1357, 1357, 1362, 1362, 1362, 1363, 1363, 1363, 1345,
2672 2350, 1351, 1364, 1364, 1364, 1352, 1365, 1365, 1365, 1367,
2673 1367, 1367, 2358, 2342, 1341, 1342, 1368, 1368, 1368, 1372,
2674 1372, 1372, 1374, 1374, 1374, 1377, 1377, 1377, 1379, 1379,
2675 1379, 1381, 1381, 1381, 1382, 1382, 1382, 1391, 1391, 1391,
2676 1374, 1391, 1397, 1377, 1391, 1379, 2341, 1352, 1396, 1381,
2677 2342, 1382, 1394, 1394, 1394, 2343, 1395, 1395, 1395, 1398,
2678 1398, 1398, 1399, 1399, 1399, 2348, 2353, 1402, 1402, 1402,
2680 1394, 1402, 1374, 1395, 1402, 1405, 1405, 1405, 2384, 1405,
2681 2349, 2354, 1405, 1409, 1409, 1409, 1412, 1412, 1412, 1381,
2682 1412, 2341, 2343, 1412, 1415, 1415, 1415, 2378, 1394, 2355,
2683 2348, 1409, 1416, 1416, 1416, 2378, 1416, 2351, 2353, 1416,
2684 2362, 1415, 1418, 1418, 1418, 2349, 1418, 2359, 2384, 1418,
2685 1421, 1421, 1421, 1422, 1422, 1422, 2354, 1422, 2366, 2363,
2686 1422, 1423, 1423, 1423, 1426, 1426, 1426, 1421, 1427, 1427,
2687 1427, 2351, 1427, 2356, 2355, 1427, 2357, 2362, 1423, 2361,
2688 2359, 1426, 1428, 1428, 1428, 1430, 1430, 1430, 2361, 1430,
2689 2367, 2368, 1430, 1433, 1433, 1433, 2363, 1434, 1434, 1434,
2691 1428, 1434, 2398, 2366, 1434, 1436, 1436, 1436, 2356, 1436,
2692 1433, 2357, 1436, 1440, 1440, 1440, 1443, 1443, 1443, 1445,
2693 1445, 1445, 1447, 1447, 1447, 2370, 1447, 2369, 2368, 1447,
2694 2371, 1440, 2376, 1428, 1443, 2367, 1445, 1451, 1451, 1451,
2695 1454, 1454, 1454, 1456, 1456, 1456, 1457, 1457, 1457, 2398,
2696 1457, 1390, 2382, 1457, 2370, 1451, 1388, 2374, 1454, 2371,
2697 1456, 1458, 1458, 1458, 2369, 1445, 1459, 1459, 1459, 1387,
2698 1459, 1386, 2383, 1459, 1461, 1461, 1461, 2376, 1458, 1443,
2699 1463, 1463, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 2382,
2700 1465, 2374, 1461, 1465, 1466, 1466, 1466, 2372, 1463, 2379,
2702 1464, 1467, 1467, 1467, 2375, 1467, 2372, 2379, 1467, 2383,
2703 2390, 1466, 1468, 1468, 1468, 1472, 1472, 1472, 1474, 1474,
2704 1474, 2385, 1474, 2373, 2377, 1474, 1477, 1477, 1477, 1463,
2705 1468, 2391, 2373, 1472, 1478, 1478, 1478, 1384, 2375, 1461,
2706 2380, 1479, 1479, 1479, 1477, 1479, 2386, 2390, 1479, 1482,
2707 1482, 1482, 1478, 1488, 1488, 1488, 1489, 1489, 1489, 1383,
2708 1489, 2385, 1380, 1489, 1490, 1490, 1490, 1482, 2391, 2377,
2709 1488, 1491, 1491, 1491, 1378, 1376, 1468, 1477, 1375, 1472,
2710 1373, 2386, 1490, 1494, 1494, 1494, 2380, 1478, 1495, 1495,
2711 1495, 1496, 1496, 1496, 1499, 1499, 1499, 1500, 1500, 1500,
2713 1501, 1501, 1501, 1503, 1503, 1503, 1504, 1504, 1504, 1505,
2714 1505, 1505, 1506, 1506, 1506, 1507, 1507, 1507, 1509, 1509,
2715 1509, 1512, 1512, 1512, 1515, 1515, 1515, 1490, 1516, 1516,
2716 1516, 2394, 1516, 2381, 1371, 1516, 1509, 2387, 1370, 1512,
2717 2394, 1515, 1518, 1518, 1518, 1519, 1519, 1519, 1520, 1520,
2718 1520, 1369, 1520, 2388, 1366, 1520, 1531, 1531, 1531, 2389,
2719 1518, 1361, 1519, 1532, 1532, 1532, 1533, 1533, 1533, 1509,
2720 1533, 2392, 2387, 1533, 1531, 1534, 1534, 1534, 2403, 2381,
2721 1532, 1536, 1536, 1536, 1543, 1543, 1543, 2393, 1543, 2403,
2722 1360, 1543, 1547, 1547, 1547, 1359, 1547, 1358, 2388, 1547,
2724 1550, 1550, 1550, 2392, 2389, 1531, 1551, 1551, 1551, 1356,
2725 1551, 2395, 2396, 1551, 1554, 1554, 1554, 1550, 1554, 2393,
2726 2395, 1554, 1557, 1557, 1557, 1559, 1559, 1559, 2397, 1559,
2727 2400, 2401, 1559, 1565, 1565, 1565, 1567, 1567, 1567, 2399,
2728 1557, 1568, 1568, 1568, 2396, 1568, 1355, 1354, 1568, 1353,
2729 1350, 1565, 1338, 1567, 1575, 1575, 1575, 1578, 1578, 1578,
2730 2397, 1578, 2400, 2401, 1578, 1336, 1581, 1581, 1581, 1335,
2731 1581, 1331, 1575, 1581, 1585, 1585, 1585, 1587, 1587, 1587,
2732 1588, 1588, 1588, 1326, 1588, 1557, 2399, 1588, 1321, 1591,
2733 1591, 1591, 1585, 1591, 1319, 1587, 1591, 1594, 1594, 1594,
2735 1595, 1595, 1595, 1598, 1598, 1598, 1600, 1600, 1600, 1601,
2736 1601, 1601, 1602, 1602, 1602, 1594, 1317, 1595, 1605, 1605,
2737 1605, 1598, 1314, 1313, 1600, 1585, 1312, 1601, 1310, 1308,
2738 1602, 1305, 1301, 1594, 1606, 1606, 1606, 1298, 1606, 1297,
2739 1296, 1606, 1587, 1609, 1609, 1609, 1610, 1610, 1610, 1611,
2740 1611, 1611, 1613, 1613, 1613, 1614, 1614, 1614, 1615, 1615,
2741 1615, 1609, 1616, 1616, 1616, 1600, 1289, 1598, 1617, 1617,
2742 1617, 1619, 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621,
2743 1623, 1623, 1623, 1626, 1626, 1626, 1627, 1627, 1627, 1285,
2744 1627, 1283, 1275, 1627, 1631, 1631, 1631, 1274, 1623, 1268,
2746 1626, 1609, 1633, 1633, 1633, 1267, 1633, 1266, 1259, 1633,
2747 1256, 1252, 1631, 1646, 1646, 1646, 1647, 1647, 1647, 1248,
2748 1647, 1246, 1245, 1647, 1650, 1650, 1650, 1236, 1661, 1661,
2749 1661, 1646, 1661, 1234, 1233, 1661, 1666, 1666, 1666, 1671,
2750 1671, 1671, 1673, 1673, 1673, 1674, 1674, 1674, 1232, 1674,
2751 1231, 1228, 1674, 1226, 1666, 1225, 1223, 1671, 1221, 1673,
2752 1685, 1685, 1685, 1687, 1687, 1687, 1688, 1688, 1688, 1689,
2753 1689, 1689, 1219, 1646, 1690, 1690, 1690, 1691, 1691, 1691,
2754 1218, 1687, 1217, 1688, 1693, 1693, 1693, 1689, 1673, 1692,
2755 1692, 1692, 1690, 1692, 1691, 1216, 1692, 1695, 1695, 1695,
2757 1215, 1693, 1696, 1696, 1696, 1697, 1697, 1697, 1698, 1698,
2758 1698, 1700, 1700, 1700, 1213, 1695, 1703, 1703, 1703, 1704,
2759 1704, 1704, 1212, 1697, 1209, 1206, 1698, 1199, 1689, 1700,
2760 1705, 1705, 1705, 1197, 1690, 1196, 1193, 1704, 1707, 1707,
2761 1707, 1708, 1708, 1708, 1711, 1711, 1711, 1714, 1714, 1714,
2762 1715, 1715, 1715, 1188, 1715, 1187, 1182, 1715, 1727, 1727,
2763 1727, 1180, 1711, 1176, 1714, 1735, 1735, 1735, 1175, 1169,
2764 1697, 1160, 1700, 1739, 1739, 1739, 1727, 1740, 1740, 1740,
2765 1159, 1158, 1735, 1744, 1744, 1744, 1746, 1746, 1746, 1156,
2766 1739, 1154, 1747, 1747, 1747, 1740, 1747, 1149, 1148, 1747,
2768 1744, 1146, 1144, 1746, 1755, 1755, 1755, 1757, 1757, 1757,
2769 1759, 1759, 1759, 1761, 1761, 1761, 1143, 1727, 1762, 1762,
2770 1762, 1755, 1762, 1142, 1141, 1762, 1140, 1133, 1759, 1132,
2771 1761, 1763, 1763, 1763, 1764, 1764, 1764, 1765, 1765, 1765,
2772 1130, 1765, 1124, 1123, 1765, 1768, 1768, 1768, 1122, 1763,
2773 1121, 1120, 1764, 1769, 1769, 1769, 1117, 1769, 1116, 1113,
2774 1769, 1108, 1768, 1770, 1770, 1770, 1771, 1771, 1771, 1773,
2775 1773, 1773, 1774, 1774, 1774, 1778, 1778, 1778, 1105, 1102,
2776 1770, 1783, 1783, 1783, 1771, 1784, 1784, 1784, 1093, 1784,
2777 1774, 1091, 1784, 1778, 1798, 1798, 1798, 1090, 1783, 1084,
2779 1764, 1801, 1801, 1801, 1804, 1804, 1804, 1805, 1805, 1805,
2780 1083, 1805, 1798, 1081, 1805, 1809, 1809, 1809, 1801, 1080,
2781 1079, 1804, 1810, 1810, 1810, 1078, 1810, 1077, 1076, 1810,
2782 1075, 1073, 1809, 1812, 1812, 1812, 1072, 1813, 1813, 1813,
2783 1814, 1814, 1814, 1069, 1814, 1067, 1066, 1814, 1065, 1064,
2784 1812, 1063, 1061, 1798, 1813, 1815, 1815, 1815, 1816, 1816,
2785 1816, 1060, 1816, 1059, 1058, 1816, 1824, 1824, 1824, 1825,
2786 1825, 1825, 1815, 1825, 1049, 1034, 1825, 1826, 1826, 1826,
2787 1827, 1827, 1827, 1824, 1828, 1828, 1828, 1033, 1828, 1028,
2788 1027, 1828, 1025, 1018, 1826, 1017, 1007, 1827, 1831, 1831,
2790 1831, 1833, 1833, 1833, 1834, 1834, 1834, 1002, 1834, 999,
2791 998, 1834, 1837, 1837, 1837, 995, 1831, 990, 981, 1833,
2792 1838, 1838, 1838, 980, 1838, 979, 975, 1838, 967, 1837,
2793 1839, 1839, 1839, 1844, 1844, 1844, 1847, 1847, 1847, 1848,
2794 1848, 1848, 962, 1848, 961, 955, 1848, 954, 1839, 1866,
2795 1866, 1866, 953, 1847, 1867, 1867, 1867, 1868, 1868, 1868,
2796 1869, 1869, 1869, 1911, 1911, 1911, 1833, 1866, 1870, 1870,
2797 1870, 952, 1870, 947, 1868, 1870, 946, 1869, 1871, 1871,
2798 1871, 945, 1871, 944, 943, 1871, 1877, 1877, 1877, 942,
2799 1877, 932, 931, 1877, 1881, 1881, 1881, 1882, 1882, 1882,
2801 1866, 1882, 930, 1868, 1882, 1883, 1883, 1883, 929, 1883,
2802 924, 1881, 1883, 1886, 1886, 1886, 1887, 1887, 1887, 923,
2803 1887, 918, 917, 1887, 1889, 1889, 1889, 1891, 1891, 1891,
2804 1886, 1891, 916, 915, 1891, 1894, 1894, 1894, 1895, 1895,
2805 1895, 1889, 1895, 914, 913, 1895, 1896, 1896, 1896, 1897,
2806 1897, 1897, 1894, 1897, 912, 911, 1897, 1904, 1904, 1904,
2807 1905, 1905, 1905, 1896, 1905, 910, 905, 1905, 1910, 1910,
2808 1910, 897, 1914, 1914, 1914, 1904, 1914, 895, 889, 1914,
2809 1925, 1925, 1925, 887, 878, 1910, 1910, 1934, 1934, 1934,
2810 1935, 1935, 1935, 1936, 1936, 1936, 873, 1925, 862, 1937,
2812 1937, 1937, 860, 1937, 859, 1934, 1937, 858, 1904, 856,
2813 1936, 1939, 1939, 1939, 855, 1939, 854, 853, 1939, 1946,
2814 1946, 1946, 852, 1946, 850, 849, 1946, 1949, 1949, 1949,
2815 848, 1949, 847, 846, 1949, 845, 1934, 1953, 1953, 1953,
2816 1954, 1954, 1954, 844, 1954, 843, 842, 1954, 1956, 1956,
2817 1956, 841, 1956, 835, 1953, 1956, 1959, 1959, 1959, 834,
2818 1959, 833, 830, 1959, 1968, 1968, 1968, 1970, 1970, 1970,
2819 1971, 1971, 1971, 1972, 1972, 1972, 829, 1972, 828, 826,
2820 1972, 822, 1968, 819, 1970, 1970, 810, 1971, 1971, 809,
2821 806, 1972, 1973, 1973, 1973, 1974, 1974, 1974, 1983, 1983,
2823 1983, 1984, 1984, 1984, 805, 1984, 804, 803, 1984, 1993,
2824 1993, 1993, 1994, 1994, 1994, 1983, 1994, 793, 786, 1994,
2825 2000, 2000, 2000, 2002, 2002, 2002, 778, 1993, 2003, 2003,
2826 2003, 777, 2003, 776, 773, 2003, 768, 2000, 765, 764,
2827 2002, 2006, 2006, 2006, 2021, 2021, 2021, 2024, 2024, 2024,
2828 2025, 2025, 2025, 760, 2025, 758, 755, 2025, 2006, 2026,
2829 2026, 2026, 2021, 2026, 2024, 2024, 2026, 754, 2025, 2029,
2830 2029, 2029, 753, 752, 1993, 751, 750, 2026, 2027, 2027,
2831 2027, 2027, 2027, 2027, 2027, 2027, 2027, 746, 742, 2027,
2832 2030, 2030, 2030, 739, 2027, 2027, 2027, 2027, 2027, 2039,
2834 2039, 2039, 738, 2039, 735, 734, 2039, 2053, 2053, 2053,
2835 733, 2053, 732, 731, 2053, 729, 2048, 2048, 2048, 728,
2836 2052, 2052, 2052, 2027, 2027, 2028, 2028, 2028, 2028, 2028,
2837 2028, 2028, 2028, 2028, 2048, 727, 2028, 2052, 2055, 2055,
2838 2055, 2028, 2028, 2028, 2028, 2028, 2056, 2056, 2056, 726,
2839 2056, 722, 717, 2056, 716, 2055, 2057, 2057, 2057, 2058,
2840 2058, 2058, 715, 2058, 714, 711, 2058, 2091, 2091, 2091,
2841 2028, 2028, 710, 2057, 2072, 2072, 2072, 709, 2072, 707,
2842 703, 2072, 2096, 2096, 2096, 2091, 2096, 699, 698, 2096,
2843 695, 692, 2072, 2075, 2075, 2075, 2075, 2075, 2075, 2075,
2845 2075, 2075, 691, 690, 2075, 689, 688, 687, 685, 2075,
2846 2075, 2075, 2075, 2075, 2100, 2100, 2100, 684, 2100, 683,
2847 682, 2100, 2103, 2103, 2103, 681, 2103, 680, 679, 2103,
2848 678, 2124, 2124, 2124, 677, 2133, 2133, 2133, 2075, 2075,
2849 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2124,
2850 2124, 2076, 2133, 2134, 2134, 2134, 2076, 2076, 2076, 2076,
2851 2076, 2135, 2135, 2135, 2140, 2140, 2140, 2158, 2158, 2158,
2852 2134, 2149, 2149, 2149, 2153, 2153, 2153, 676, 2135, 675,
2853 674, 2140, 673, 672, 2158, 2076, 2076, 671, 667, 2149,
2854 666, 664, 2153, 2159, 2159, 2159, 663, 2159, 662, 661,
2856 2159, 2160, 2160, 2160, 2161, 2161, 2161, 660, 2161, 656,
2857 654, 2161, 2162, 2162, 2162, 2163, 2163, 2163, 2160, 2163,
2858 653, 652, 2163, 651, 647, 2153, 2170, 2170, 2170, 2162,
2859 2171, 2171, 2171, 643, 2171, 642, 639, 2171, 2178, 2178,
2860 2178, 638, 637, 2170, 2184, 2184, 2184, 636, 2184, 635,
2861 634, 2184, 631, 2187, 2187, 2187, 2178, 2187, 630, 629,
2862 2187, 2190, 2190, 2190, 628, 2190, 625, 623, 2190, 2199,
2863 2199, 2199, 620, 2199, 619, 2178, 2199, 2294, 2294, 2294,
2864 2303, 2303, 2303, 618, 2303, 617, 616, 2303, 2404, 2404,
2865 2404, 2405, 2405, 2405, 613, 2294, 612, 611, 2303, 610,
2867 609, 606, 605, 604, 603, 601, 2404, 598, 596, 2405,
2868 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2409,
2869 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2410, 2410,
2870 2410, 2410, 2410, 2410, 2410, 2410, 2410, 2411, 2411, 2411,
2871 2411, 2411, 2411, 2411, 2411, 2411, 2412, 2412, 2412, 2412,
2872 2412, 2412, 2412, 2412, 2412, 2413, 2413, 2413, 2413, 2413,
2873 2413, 2413, 2413, 2413, 2414, 2414, 2414, 2414, 2414, 2414,
2874 2414, 2414, 2414, 2415, 2415, 2415, 2415, 2415, 2415, 2415,
2875 2415, 2415, 2416, 2416, 2416, 2416, 2416, 2416, 2416, 2416,
2876 2416, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417,
2878 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2419,
2879 2419, 2419, 2419, 2419, 2419, 2419, 2419, 2419, 2420, 2420,
2880 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2421, 2421, 2421,
2881 2421, 2421, 2421, 2421, 2421, 2421, 2422, 2422, 2422, 2422,
2882 2422, 2422, 2422, 2422, 2422, 2423, 2423, 2423, 2423, 2423,
2883 2423, 2423, 2423, 2423, 2424, 2424, 2424, 2424, 2424, 2424,
2884 2424, 2424, 2424, 2425, 2425, 2425, 2425, 2425, 2425, 2425,
2885 2425, 2425, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426,
2886 2426, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427,
2887 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2429,
2889 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430, 2430,
2890 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2431, 2431,
2891 2431, 2431, 2431, 2431, 2431, 2431, 2432, 2432, 2432, 2432,
2892 2432, 2432, 2432, 2432, 2432, 2433, 2433, 2433, 2433, 2433,
2893 2433, 2433, 2433, 2433, 2434, 2434, 2434, 2434, 2434, 2434,
2894 2434, 2434, 2434, 2435, 2435, 2435, 2435, 2435, 2435, 2435,
2895 2435, 2435, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
2896 2436, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437,
2897 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2439,
2898 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2440, 2440,
2900 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2441, 2441, 2441,
2901 2441, 2441, 2441, 2441, 2441, 2441, 2442, 2442, 2442, 2442,
2902 2442, 2442, 2442, 2442, 2442, 2443, 2443, 2443, 2443, 2443,
2903 2443, 2443, 2443, 2443, 2444, 2444, 2444, 2444, 2444, 2444,
2904 2444, 2444, 2444, 2445, 2445, 2445, 2445, 2445, 2445, 2445,
2905 2445, 2445, 2446, 2446, 2446, 2446, 2446, 2446, 2446, 2446,
2906 2446, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
2907 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2449,
2908 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2450, 2450,
2909 2450, 593, 592, 591, 2450, 2451, 2451, 2451, 590, 588,
2911 587, 2451, 2452, 2452, 2452, 586, 583, 582, 2452, 2453,
2912 2453, 2453, 581, 580, 579, 2453, 2454, 2454, 2454, 578,
2913 577, 576, 2454, 2455, 2455, 2455, 574, 572, 571, 2455,
2914 2456, 2456, 2456, 568, 567, 566, 2456, 2457, 2457, 2457,
2915 563, 558, 556, 2457, 2458, 2458, 2458, 555, 554, 553,
2916 2458, 2459, 2459, 2459, 552, 551, 547, 2459, 2460, 2460,
2917 2460, 546, 545, 544, 2460, 2461, 2461, 2461, 540, 539,
2918 538, 2461, 2462, 2462, 2462, 537, 536, 535, 2462, 2463,
2919 2463, 2463, 534, 532, 529, 2463, 2464, 2464, 2464, 528,
2920 526, 524, 2464, 2465, 2465, 2465, 521, 520, 514, 2465,
2922 2466, 2466, 2466, 512, 510, 507, 2466, 2467, 2467, 2467,
2923 504, 503, 502, 2467, 2468, 2468, 2468, 500, 499, 498,
2924 2468, 2469, 2469, 2469, 2469, 2469, 2469, 2469, 497, 2469,
2925 2470, 2470, 2470, 496, 493, 492, 2470, 2471, 491, 490,
2926 489, 2471, 2472, 2472, 2472, 483, 482, 480, 2472, 2473,
2927 474, 473, 469, 2473, 2474, 2474, 2474, 465, 462, 458,
2928 2474, 2475, 452, 448, 440, 2475, 2476, 2476, 2476, 439,
2929 438, 437, 2476, 2477, 433, 429, 426, 2477, 2478, 2478,
2930 2478, 425, 424, 420, 2478, 2479, 414, 413, 409, 2479,
2931 2480, 2480, 2480, 405, 401, 400, 2480, 2481, 396, 393,
2933 392, 2481, 2482, 2482, 2482, 387, 383, 379, 2482, 2483,
2934 375, 374, 373, 2483, 2484, 2484, 2484, 369, 363, 362,
2935 2484, 2485, 358, 352, 351, 2485, 2486, 2486, 2486, 350,
2936 349, 348, 2486, 2487, 347, 346, 342, 2487, 2488, 2488,
2937 2488, 335, 333, 332, 2488, 2489, 331, 329, 325, 2489,
2938 2490, 2490, 2490, 321, 318, 317, 2490, 2491, 316, 315,
2939 314, 2491, 2492, 2492, 2492, 310, 306, 300, 2492, 2493,
2940 298, 293, 292, 2493, 2494, 2494, 2494, 288, 282, 281,
2941 2494, 2495, 280, 276, 273, 2495, 2496, 2496, 2496, 272,
2942 267, 265, 2496, 2497, 264, 260, 257, 2497, 2498, 2498,
2944 2498, 255, 254, 253, 2498, 2499, 249, 243, 239, 2499,
2945 2500, 2500, 2500, 235, 227, 223, 2500, 2501, 219, 218,
2946 217, 2501, 2502, 2502, 2502, 211, 210, 208, 2502, 2503,
2947 205, 193, 0, 2503, 2504, 2504, 2504, 0, 0, 0,
2948 2504, 2505, 0, 0, 0, 2505, 2506, 2506, 2506, 0,
2949 0, 0, 2506, 2507, 0, 0, 0, 2507, 2508, 2508,
2950 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2509, 0, 0,
2951 0, 0, 2509, 2510, 2510, 2510, 0, 0, 0, 2510,
2952 2511, 2511, 2511, 2511, 0, 0, 2511, 2511, 2512, 2512,
2953 2512, 0, 0, 0, 2512, 2513, 2513, 2513, 2513, 0,
2955 0, 2513, 2513, 2514, 2514, 2514, 0, 0, 0, 2514,
2956 2515, 2515, 2515, 2515, 0, 0, 2515, 2515, 2516, 2516,
2957 2516, 0, 0, 0, 2516, 2517, 2517, 2517, 2517, 0,
2958 0, 2517, 2517, 2518, 2518, 2518, 0, 0, 0, 2518,
2959 2519, 2519, 2519, 2519, 0, 0, 2519, 2519, 2520, 2520,
2960 2520, 0, 0, 0, 2520, 2521, 2521, 2521, 2521, 0,
2961 0, 2521, 2521, 2522, 2522, 2522, 0, 0, 0, 2522,
2962 2523, 2523, 2523, 2523, 0, 0, 2523, 2523, 2524, 2524,
2963 2524, 0, 0, 0, 2524, 2525, 2525, 2525, 2525, 0,
2964 0, 2525, 2525, 2526, 2526, 2526, 0, 0, 0, 2526,
2966 2527, 2527, 2527, 2527, 0, 0, 2527, 2527, 2528, 2528,
2967 2528, 0, 0, 0, 2528, 2529, 2529, 2529, 2529, 0,
2968 0, 2529, 2529, 2530, 2530, 2530, 0, 0, 0, 2530,
2969 2531, 2531, 2531, 2531, 0, 0, 2531, 2531, 2532, 2532,
2970 2532, 2532, 0, 2532, 0, 2532, 2533, 2533, 2533, 2533,
2971 0, 0, 2533, 2533, 2534, 2534, 2534, 2534, 0, 2534,
2972 0, 2534, 2535, 2535, 2535, 2535, 0, 0, 2535, 2535,
2973 2536, 2536, 2536, 0, 0, 0, 2536, 2537, 2537, 2537,
2974 2537, 0, 0, 2537, 2537, 2538, 2538, 2538, 2538, 0,
2975 2538, 0, 2538, 2539, 2539, 2539, 2539, 0, 0, 2539,
2977 2539, 2540, 2540, 2540, 0, 0, 0, 2540, 2541, 2541,
2978 2541, 2541, 0, 0, 2541, 2541, 2542, 2542, 2542, 0,
2979 0, 0, 2542, 2543, 2543, 2543, 2543, 0, 0, 2543,
2980 2543, 2544, 2544, 2544, 2544, 0, 0, 2544, 2544, 2545,
2981 2545, 2545, 0, 0, 0, 2545, 2546, 2546, 2546, 2546,
2982 0, 0, 2546, 2546, 2547, 2547, 2547, 2547, 2547, 2547,
2983 2547, 2547, 2547, 2548, 0, 2548, 0, 0, 2548, 2549,
2984 2549, 2549, 0, 0, 0, 2549, 2550, 2550, 2550, 2550,
2985 0, 0, 2550, 2550, 2551, 2551, 2551, 2551, 0, 2551,
2986 0, 2551, 2552, 2552, 2552, 2552, 0, 0, 2552, 2552,
2988 2553, 2553, 2553, 2553, 0, 2553, 0, 2553, 2554, 2554,
2989 2554, 2554, 0, 0, 2554, 2554, 2555, 2555, 2555, 0,
2990 0, 0, 2555, 2556, 2556, 2556, 2556, 0, 0, 2556,
2991 2556, 2557, 2557, 2557, 0, 0, 0, 2557, 2558, 2558,
2992 2558, 2558, 0, 0, 2558, 2558, 2559, 2559, 2559, 0,
2993 0, 0, 2559, 2560, 2560, 2560, 2560, 0, 0, 2560,
2994 2560, 2561, 2561, 2561, 0, 0, 0, 2561, 2562, 2562,
2995 2562, 2562, 0, 0, 2562, 2562, 2563, 2563, 2563, 0,
2996 0, 0, 2563, 2564, 2564, 2564, 2564, 0, 0, 2564,
2997 2564, 2565, 2565, 2565, 0, 0, 0, 2565, 2566, 2566,
2999 2566, 2566, 0, 0, 2566, 2566, 2567, 2567, 2567, 0,
3000 0, 0, 2567, 2568, 2568, 2568, 2568, 0, 0, 2568,
3001 2568, 2569, 2569, 2569, 0, 0, 0, 2569, 2570, 2570,
3002 2570, 2570, 0, 0, 2570, 2570, 2571, 2571, 2571, 0,
3003 0, 0, 2571, 2572, 2572, 2572, 2572, 0, 0, 2572,
3004 2572, 2573, 2573, 2573, 0, 0, 0, 2573, 2574, 2574,
3005 2574, 2574, 0, 0, 2574, 2574, 2575, 2575, 2575, 0,
3006 0, 0, 2575, 2576, 2576, 2576, 2576, 0, 0, 2576,
3007 2576, 2577, 2577, 2577, 0, 0, 0, 2577, 2578, 2578,
3008 2578, 2578, 0, 0, 2578, 2578, 2579, 2579, 2579, 0,
3010 0, 0, 2579, 2580, 2580, 2580, 2580, 0, 0, 2580,
3011 2580, 2581, 2581, 2581, 0, 0, 0, 2581, 2582, 2582,
3012 2582, 2582, 0, 0, 2582, 2582, 2583, 2583, 2583, 2583,
3013 0, 0, 2583, 2583, 2584, 2584, 2584, 0, 0, 0,
3014 2584, 2585, 2585, 2585, 2585, 0, 0, 2585, 2585, 2586,
3015 2586, 2586, 2586, 2586, 2586, 2586, 2586, 2586, 2587, 2587,
3016 2587, 2587, 2587, 2587, 2587, 2587, 2587, 2588, 2588, 2588,
3017 0, 0, 0, 2588, 2589, 2589, 2589, 2589, 0, 0,
3018 2589, 2589, 2590, 2590, 2590, 2590, 0, 0, 2590, 2590,
3019 2591, 2591, 2591, 0, 0, 0, 2591, 2592, 2592, 2592,
3021 2592, 0, 0, 2592, 2592, 2593, 2593, 2593, 0, 0,
3022 0, 2593, 2594, 2594, 2594, 2594, 0, 0, 2594, 2594,
3023 2595, 2595, 2595, 0, 0, 0, 2595, 2596, 2596, 2596,
3024 2596, 0, 0, 2596, 2596, 2597, 2597, 2597, 0, 0,
3025 0, 2597, 2598, 2598, 2598, 0, 0, 0, 2598, 2599,
3026 2599, 2599, 2599, 0, 0, 2599, 2599, 2600, 2600, 2600,
3027 0, 0, 0, 2600, 2601, 2601, 2601, 2601, 0, 0,
3028 2601, 2601, 2602, 2602, 2602, 0, 0, 0, 2602, 2603,
3029 2603, 2603, 2603, 0, 0, 2603, 2603, 2604, 2604, 2604,
3030 0, 0, 0, 2604, 2605, 2605, 2605, 2605, 0, 0,
3032 2605, 2605, 2606, 2606, 2606, 0, 0, 0, 2606, 2607,
3033 2607, 2607, 2607, 0, 0, 2607, 2607, 2608, 2608, 2608,
3034 0, 0, 0, 2608, 2609, 2609, 2609, 2609, 0, 0,
3035 2609, 2609, 2610, 2610, 2610, 0, 0, 0, 2610, 2611,
3036 2611, 2611, 2611, 0, 0, 2611, 2611, 2612, 2612, 2612,
3037 0, 0, 0, 2612, 2613, 2613, 2613, 2613, 0, 0,
3038 2613, 2613, 2614, 2614, 2614, 0, 0, 0, 2614, 2615,
3039 2615, 2615, 2615, 0, 0, 2615, 2615, 2616, 2616, 2616,
3040 0, 0, 0, 2616, 2617, 2617, 2617, 2617, 0, 0,
3041 2617, 2617, 2618, 2618, 2618, 2618, 0, 2618, 0, 2618,
3043 2619, 2619, 2619, 2619, 0, 0, 2619, 2619, 2620, 2620,
3044 2620, 2620, 0, 0, 2620, 2620, 2621, 2621, 2621, 2621,
3045 0, 2621, 0, 2621, 2622, 2622, 2622, 2622, 0, 0,
3046 2622, 2622, 2623, 2623, 2623, 2623, 2623, 2623, 2623, 2623,
3047 2623, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624,
3048 2625, 2625, 2625, 0, 0, 0, 2625, 2626, 2626, 2626,
3049 2626, 0, 0, 2626, 2626, 2627, 2627, 2627, 2627, 0,
3050 0, 2627, 2627, 2628, 2628, 2628, 0, 0, 0, 2628,
3051 2629, 2629, 2629, 2629, 0, 0, 2629, 2629, 2630, 2630,
3052 2630, 0, 0, 0, 2630, 2631, 2631, 2631, 2631, 0,
3054 0, 2631, 2631, 2632, 2632, 2632, 0, 0, 0, 2632,
3055 2633, 2633, 2633, 2633, 0, 0, 2633, 2633, 2634, 2634,
3056 2634, 0, 0, 0, 2634, 2635, 2635, 2635, 0, 0,
3057 0, 2635, 2636, 2636, 2636, 2636, 0, 0, 2636, 2636,
3058 2637, 2637, 2637, 0, 0, 0, 2637, 2638, 2638, 2638,
3059 2638, 0, 0, 2638, 2638, 2639, 2639, 2639, 0, 0,
3060 0, 2639, 2640, 2640, 2640, 2640, 0, 0, 2640, 2640,
3061 2641, 2641, 2641, 0, 0, 0, 2641, 2642, 2642, 2642,
3062 2642, 0, 0, 2642, 2642, 2643, 2643, 2643, 0, 0,
3063 0, 2643, 2644, 2644, 2644, 2644, 0, 0, 2644, 2644,
3065 2645, 2645, 2645, 0, 0, 0, 2645, 2646, 2646, 2646,
3066 2646, 0, 0, 2646, 2646, 2647, 2647, 2647, 2647, 0,
3067 2647, 0, 2647, 2648, 2648, 2648, 2648, 0, 0, 2648,
3068 2648, 2649, 2649, 2649, 0, 0, 0, 2649, 2650, 2650,
3069 2650, 2650, 0, 0, 2650, 2650, 2651, 2651, 2651, 2651,
3070 0, 2651, 0, 2651, 2652, 2652, 2652, 2652, 0, 0,
3071 2652, 2652, 2653, 2653, 2653, 0, 0, 0, 2653, 2654,
3072 2654, 2654, 2654, 0, 0, 2654, 2654, 2655, 2655, 2655,
3073 2655, 0, 0, 2655, 2655, 2656, 2656, 2656, 2656, 0,
3074 0, 2656, 2656, 2657, 2657, 2657, 2657, 0, 0, 2657,
3076 2657, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658,
3077 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2660,
3078 2660, 2660, 2660, 0, 2660, 0, 2660, 2661, 2661, 2661,
3079 2661, 0, 0, 2661, 2661, 2662, 2662, 2662, 2662, 0,
3080 0, 2662, 2662, 2663, 2663, 2663, 0, 0, 0, 2663,
3081 2664, 2664, 2664, 2664, 0, 0, 2664, 2664, 2665, 2665,
3082 2665, 0, 0, 0, 2665, 2666, 2666, 2666, 2666, 0,
3083 0, 2666, 2666, 2667, 2667, 2667, 2667, 0, 2667, 0,
3084 2667, 2668, 2668, 2668, 2668, 0, 0, 2668, 2668, 2669,
3085 2669, 2669, 2669, 0, 2669, 0, 2669, 2670, 2670, 2670,
3087 0, 0, 0, 2670, 2671, 2671, 2671, 0, 0, 0,
3088 2671, 2672, 2672, 2672, 2672, 0, 0, 2672, 2672, 2673,
3089 2673, 2673, 0, 0, 0, 2673, 2674, 2674, 2674, 0,
3090 0, 0, 2674, 2675, 2675, 2675, 2675, 0, 0, 2675,
3091 2675, 2676, 2676, 2676, 0, 0, 0, 2676, 2677, 2677,
3092 2677, 0, 0, 0, 2677, 2678, 2678, 2678, 2678, 0,
3093 0, 2678, 2678, 2679, 2679, 2679, 0, 0, 0, 2679,
3094 2680, 2680, 2680, 2680, 0, 0, 2680, 2680, 2681, 2681,
3095 2681, 0, 0, 0, 2681, 2682, 2682, 2682, 2682, 0,
3096 0, 2682, 2682, 2683, 2683, 2683, 2683, 0, 0, 2683,
3098 2683, 2684, 2684, 2684, 0, 0, 0, 2684, 2685, 2685,
3099 2685, 2685, 0, 0, 2685, 2685, 2686, 2686, 2686, 2686,
3100 0, 0, 2686, 2686, 2687, 2687, 2687, 2687, 0, 0,
3101 2687, 2687, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
3102 2688, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689,
3103 2690, 2690, 2690, 2690, 0, 0, 2690, 2690, 2691, 2691,
3104 2691, 2691, 0, 0, 2691, 2691, 2692, 2692, 2692, 0,
3105 0, 0, 2692, 2693, 2693, 2693, 0, 0, 0, 2693,
3106 2694, 2694, 2694, 2694, 0, 0, 2694, 2694, 2695, 2695,
3107 2695, 2695, 2695, 2695, 2695, 2695, 2695, 2696, 2696, 2696,
3109 2696, 2696, 2696, 2696, 2696, 2696, 2697, 2697, 2697, 2697,
3110 2697, 2697, 2697, 2697, 2697, 2698, 2698, 2698, 2698, 2698,
3111 2698, 2698, 2698, 2698, 2699, 2699, 2699, 2699, 2699, 2699,
3112 2699, 2699, 2699, 2700, 2700, 2700, 2700, 2700, 2700, 2700,
3113 2700, 2700, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3114 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3115 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3116 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3117 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3118 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3120 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3121 2407, 2407, 2407, 2407, 2407
3124 /* Table of booleans, true if rule could match eol. */
3125 static yyconst flex_int32_t yy_rule_can_match_eol[404] =
3127 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3128 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3129 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3130 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3131 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3132 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3133 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3134 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3135 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3136 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3137 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3138 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3139 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3140 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3141 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3142 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3143 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3144 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3145 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3146 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0,
3149 static yy_state_type yy_last_accepting_state;
3150 static char *yy_last_accepting_cpos;
3152 extern int surf_parse__flex_debug;
3153 int surf_parse__flex_debug = 0;
3155 /* The intent behind this definition is that it'll catch
3156 * any uses of REJECT which flex missed.
3158 #define REJECT reject_used_but_not_detected
3159 #define yymore() yymore_used_but_not_detected
3160 #define YY_MORE_ADJ 0
3161 #define YY_RESTORE_YY_MORE_OFFSET
3162 char *surf_parse_text;
3163 /* Validating XML processor for src/surf/simgrid.dtd.
3165 * This program was generated with the FleXML XML processor generator.
3166 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3167 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3168 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3170 * There are two, intertwined parts to this program, part A and part B.
3175 * Some parts, here collectively called "Part A", are found in the
3176 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3177 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3179 * You can redistribute, use, perform, display and/or modify "Part A"
3180 * provided the following two conditions hold:
3182 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3183 * FleXML; without even the implied warranty of MERCHANTABILITY or
3184 * FITNESS FOR A PARTICULAR PURPOSE.
3186 * 2. The program distribution conditions do not in any way affect the
3187 * distribution conditions of the FleXML system used to generate this
3188 * file or any version of FleXML derived from that system.
3190 * Notice that these are explicit rights granted to you for files
3191 * generated by the FleXML system. For your rights in connection with
3192 * the FleXML system itself please consult the GNU General Public License.
3197 * The other parts, here collectively called "Part B", and which came
3198 * from the DTD used by FleXML to generate this program, can be
3199 * distributed (or not, as the case may be) under the terms of whoever
3200 * wrote them, provided these terms respect and obey the two conditions
3201 * above under the heading "Part A".
3203 * The author of and contributors to FleXML specifically disclaim
3204 * any copyright interest in "Part B", unless "Part B" was written
3205 * by the author of or contributors to FleXML.
3209 /* Version strings. */
3210 const char rcs_surfxml_flexml_skeleton[] =
3211 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3212 const char rcs_surfxml_flexml[] =
3213 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3216 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3223 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3224 # ifndef __STRICT_ANSI__
3226 # include <process.h>
3229 # include <unistd.h>
3232 #ifndef FLEXML_INDEXSTACKSIZE
3233 #define FLEXML_INDEXSTACKSIZE 1000
3236 /* Generated definitions. */
3237 #define FLEXML_yylineno
3238 #ifndef FLEXML_BUFFERSTACKSIZE
3239 #define FLEXML_BUFFERSTACKSIZE 1000000
3241 #define FLEXML_NEED_BUFFERLIT
3243 /* XML processor api. */
3244 /* FleXML-provided data. */
3245 int surfxml_pcdata_ix;
3246 extern char *surfxml_bufferstack;
3247 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3248 AT_surfxml_random_generator AX_surfxml_random_generator;
3249 #define A_surfxml_random_generator AX_surfxml_random_generator
3250 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3251 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3252 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3253 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3254 AT_surfxml_prop_id AX_surfxml_prop_id;
3255 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3256 AT_surfxml_host_id AX_surfxml_host_id;
3257 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3258 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3259 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3260 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3261 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3262 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3263 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3264 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3265 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3266 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3267 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3268 AT_surfxml_host_state AX_surfxml_host_state;
3269 #define A_surfxml_host_state AX_surfxml_host_state
3270 AT_surfxml_AS_id AX_surfxml_AS_id;
3271 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3272 AT_surfxml_host_power AX_surfxml_host_power;
3273 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3274 AT_surfxml_router_id AX_surfxml_router_id;
3275 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3276 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3277 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3278 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3279 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3280 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3281 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3282 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3283 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3284 AT_surfxml_trace_file AX_surfxml_trace_file;
3285 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3286 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3287 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3288 AT_surfxml_random_min AX_surfxml_random_min;
3289 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3290 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3291 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3292 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3293 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3294 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3295 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3296 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3297 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3298 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3299 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3300 AT_surfxml_argument_value AX_surfxml_argument_value;
3301 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3302 AT_surfxml_link_state AX_surfxml_link_state;
3303 #define A_surfxml_link_state AX_surfxml_link_state
3304 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3305 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3306 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3307 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3308 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3309 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3310 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3311 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3312 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3313 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3314 AT_surfxml_random_mean AX_surfxml_random_mean;
3315 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3316 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3317 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3318 AT_surfxml_link_latency AX_surfxml_link_latency;
3319 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3320 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3321 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3322 AT_surfxml_random_seed AX_surfxml_random_seed;
3323 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3324 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3325 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3326 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3327 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3328 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3329 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3330 AT_surfxml_random_id AX_surfxml_random_id;
3331 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3332 AT_surfxml_random_max AX_surfxml_random_max;
3333 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3334 AT_surfxml_link_id AX_surfxml_link_id;
3335 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3336 AT_surfxml_process_host AX_surfxml_process_host;
3337 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3338 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3339 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3340 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3341 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3342 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3343 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3344 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3345 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3346 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3347 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3348 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3349 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3350 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3351 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3352 AT_surfxml_prop_value AX_surfxml_prop_value;
3353 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3354 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3355 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3356 AT_surfxml_random_radical AX_surfxml_random_radical;
3357 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3358 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3359 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3360 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3361 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3362 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3363 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3364 AT_surfxml_process_function AX_surfxml_process_function;
3365 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3366 AT_surfxml_peer_id AX_surfxml_peer_id;
3367 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3368 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3369 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3370 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3371 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3372 AT_surfxml_host_core AX_surfxml_host_core;
3373 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3374 AT_surfxml_host_availability AX_surfxml_host_availability;
3375 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3376 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3377 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3378 AT_surfxml_route_src AX_surfxml_route_src;
3379 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3380 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3381 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3382 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3383 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3384 AT_surfxml_trace_id AX_surfxml_trace_id;
3385 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3386 AT_surfxml_peer_power AX_surfxml_peer_power;
3387 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3388 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3389 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3390 AT_surfxml_config_id AX_surfxml_config_id;
3391 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3392 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3393 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3394 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3395 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3396 AT_surfxml_include_file AX_surfxml_include_file;
3397 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3398 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3399 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3400 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3401 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3402 AT_surfxml_route_dst AX_surfxml_route_dst;
3403 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3404 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3405 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3406 AT_surfxml_platform_version AX_surfxml_platform_version;
3407 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3411 # define ENTER(state) debug_enter(state,#state)
3412 # define LEAVE debug_leave()
3413 # define SET(state) debug_set(state,#state)
3414 static void debug_enter(int, const char*);
3415 static void debug_leave(void);
3416 static void debug_set(int, const char*);
3418 # define ENTER(state) (yy_push_state(state))
3419 # define LEAVE (yy_pop_state())
3420 # define SET(state) BEGIN(state)
3423 /* Generic actions. */
3424 #define SKIP /*skip*/
3425 #define SUCCEED CLEANUP; return 0
3427 #define FAIL return fail
3428 static int fail(const char*, ...);
3430 enum {flexml_max_err_msg_size = 512};
3431 static char flexml_err_msg[flexml_max_err_msg_size];
3432 const char * surfxml_parse_err_msg()
3434 return flexml_err_msg;
3436 static void reset_surfxml_parse_err_msg()
3438 flexml_err_msg[0] = '\0';
3442 static void cleanup(void);
3443 #define CLEANUP cleanup()
3445 /* Text buffer stack handling. */
3446 char *surfxml_bufferstack = NULL;
3447 static int blimit = FLEXML_BUFFERSTACKSIZE;
3448 static int bnext = 1;
3450 static int *indexstack = NULL;
3451 static int ilimit = FLEXML_INDEXSTACKSIZE;
3452 static int inext = 1;
3454 #define BUFFERSET(P) (P = bnext)
3455 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3456 #define BUFFERDONE (BUFFERPUTC('\0'))
3458 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3460 /* after this is called, there are at least 2 slots left in the stack */
3461 static int ck_blimit()
3463 if (bnext >= blimit) {
3464 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3466 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3468 surfxml_bufferstack = temp;
3474 /* after this is called, there are at least 2 slots left in the stack */
3475 static int ck_ilimit()
3477 if (inext >= ilimit) {
3478 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3480 int *temp = (int *) realloc(indexstack, ilimit);
3488 #ifdef FLEXML_NEED_BUFFERLIT
3489 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3491 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3492 assert(s <= e); BUFFERSET(*pp);
3494 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3495 else BUFFERPUTC(*s);
3501 static void pushbuffer(int p)
3504 indexstack[inext++] = p;
3505 indexstack[inext++] = bnext;
3508 static int popbuffer(void)
3511 bnext = indexstack[--inext];
3512 return indexstack[--inext];
3515 /* General internal entities are `unput' back onto the input stream... */
3516 #define ENTITYTEXT(T) \
3517 { char *s = (T), *e = s+strlen(s);\
3518 while (--e >= s) { unput(*e); }}
3520 /* Flex standard options. */
3521 #define YY_NO_INPUT 1
3522 /* Flex user-requested options. */
3523 /* XML character classes (currently restricted to ASCII). */
3524 /* "Common syntactic structures." */
3525 /* "Names and Tokens." */
3526 /* Miscellaneous. */
3527 /* Parser states (flex `exclusive start conditions'):
3529 * PROLOG the XML prolog of the document before <?xml...>
3530 * DOCTYPE the XML prolog of the document after <?xml...>
3531 * EPILOG after the root element
3532 * INCOMMENT inside an XML comment <!--....-->
3533 * INPI inside an XML PI <?...?>
3534 * VALUE1 inside a '...'-delimited literal
3535 * VALUE2 inside a "..."-delimited literal
3536 * CDATA inside a <![CDATA[...] ]> section.
3537 * ROOT_<tag> expect root element <tag>
3538 * AL_<tag> inside the attribute list for <tag>
3539 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3540 * IMPOSSIBLE dummy to permit disabling rules; must be last
3544 const char* *surfxml_statenames=NULL;
3555 #define ROOT_surfxml_platform 9
3556 #define AL_surfxml_platform 10
3557 #define S_surfxml_platform 11
3558 #define S_surfxml_platform_1 12
3559 #define S_surfxml_platform_2 13
3560 #define S_surfxml_platform_3 14
3561 #define S_surfxml_platform_4 15
3562 #define S_surfxml_platform_5 16
3563 #define S_surfxml_platform_6 17
3564 #define S_surfxml_platform_7 18
3565 #define S_surfxml_platform_8 19
3566 #define E_surfxml_platform 20
3567 #define AL_surfxml_include 21
3568 #define E_surfxml_include 22
3569 #define AL_surfxml_trace 23
3571 #define AL_surfxml_random 25
3572 #define S_surfxml_random 26
3573 #define S_surfxml_random_1 27
3574 #define S_surfxml_random_2 28
3575 #define E_surfxml_random 29
3576 #define AL_surfxml_trace_connect 30
3577 #define E_surfxml_trace_connect 31
3578 #define AL_surfxml_AS 32
3579 #define S_surfxml_AS 33
3580 #define S_surfxml_AS_1 34
3581 #define S_surfxml_AS_2 35
3582 #define S_surfxml_AS_3 36
3583 #define S_surfxml_AS_4 37
3584 #define S_surfxml_AS_5 38
3585 #define S_surfxml_AS_6 39
3586 #define S_surfxml_AS_7 40
3587 #define S_surfxml_AS_8 41
3588 #define S_surfxml_AS_9 42
3589 #define S_surfxml_AS_10 43
3590 #define S_surfxml_AS_11 44
3591 #define S_surfxml_AS_12 45
3592 #define S_surfxml_AS_13 46
3593 #define E_surfxml_AS 47
3594 #define AL_surfxml_host 48
3595 #define S_surfxml_host 49
3596 #define S_surfxml_host_1 50
3597 #define S_surfxml_host_2 51
3598 #define E_surfxml_host 52
3599 #define AL_surfxml_cluster 53
3600 #define E_surfxml_cluster 54
3601 #define AL_surfxml_peer 55
3602 #define E_surfxml_peer 56
3603 #define AL_surfxml_router 57
3604 #define E_surfxml_router 58
3605 #define AL_surfxml_link 59
3606 #define S_surfxml_link 60
3607 #define S_surfxml_link_1 61
3608 #define S_surfxml_link_2 62
3609 #define E_surfxml_link 63
3610 #define AL_surfxml_route 64
3611 #define S_surfxml_route 65
3612 #define S_surfxml_route_1 66
3613 #define S_surfxml_route_2 67
3614 #define E_surfxml_route 68
3615 #define AL_surfxml_ASroute 69
3616 #define S_surfxml_ASroute 70
3617 #define S_surfxml_ASroute_1 71
3618 #define S_surfxml_ASroute_2 72
3619 #define E_surfxml_ASroute 73
3620 #define AL_surfxml_link_ctn 74
3621 #define E_surfxml_link_ctn 75
3622 #define AL_surfxml_bypassRoute 76
3623 #define S_surfxml_bypassRoute 77
3624 #define S_surfxml_bypassRoute_1 78
3625 #define S_surfxml_bypassRoute_2 79
3626 #define E_surfxml_bypassRoute 80
3627 #define AL_surfxml_process 81
3628 #define S_surfxml_process 82
3629 #define S_surfxml_process_1 83
3630 #define S_surfxml_process_2 84
3631 #define E_surfxml_process 85
3632 #define AL_surfxml_argument 86
3633 #define E_surfxml_argument 87
3634 #define AL_surfxml_config 88
3635 #define S_surfxml_config 89
3636 #define S_surfxml_config_1 90
3637 #define S_surfxml_config_2 91
3638 #define E_surfxml_config 92
3639 #define AL_surfxml_prop 93
3640 #define E_surfxml_prop 94
3641 #define IMPOSSIBLE 95
3643 #ifndef YY_NO_UNISTD_H
3644 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3645 * down here because we want the user's section 1 to have been scanned first.
3646 * The user has a chance to override it with an option.
3648 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3649 # ifndef __STRICT_ANSI__
3651 # include <process.h>
3654 # include <unistd.h>
3658 #ifndef YY_EXTRA_TYPE
3659 #define YY_EXTRA_TYPE void *
3662 static int yy_init_globals (void );
3664 /* Accessor methods to globals.
3665 These are made visible to non-reentrant scanners for convenience. */
3667 int surf_parse_lex_destroy (void );
3669 int surf_parse_get_debug (void );
3671 void surf_parse_set_debug (int debug_flag );
3673 YY_EXTRA_TYPE surf_parse_get_extra (void );
3675 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3677 FILE *surf_parse_get_in (void );
3679 void surf_parse_set_in (FILE * in_str );
3681 FILE *surf_parse_get_out (void );
3683 void surf_parse_set_out (FILE * out_str );
3685 int surf_parse_get_leng (void );
3687 char *surf_parse_get_text (void );
3689 int surf_parse_get_lineno (void );
3691 void surf_parse_set_lineno (int line_number );
3693 /* Macros after this point can all be overridden by user definitions in
3697 #ifndef YY_SKIP_YYWRAP
3699 extern "C" int surf_parse_wrap (void );
3701 extern int surf_parse_wrap (void );
3706 static void yy_flex_strncpy (char *,yyconst char *,int );
3709 #ifdef YY_NEED_STRLEN
3710 static int yy_flex_strlen (yyconst char * );
3716 static int yyinput (void );
3718 static int input (void );
3723 static int yy_start_stack_ptr = 0;
3724 static int yy_start_stack_depth = 0;
3725 static int *yy_start_stack = NULL;
3727 static void yy_push_state (int new_state );
3729 static void yy_pop_state (void );
3731 /* Amount of stuff to slurp up with each read. */
3732 #ifndef YY_READ_BUF_SIZE
3734 /* On IA-64, the buffer size is 16k, not 8k */
3735 #define YY_READ_BUF_SIZE 16384
3737 #define YY_READ_BUF_SIZE 8192
3738 #endif /* __ia64__ */
3741 /* Copy whatever the last rule matched to the standard output. */
3743 /* This used to be an fputs(), but since the string might contain NUL's,
3744 * we now use fwrite().
3746 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3749 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3750 * is returned in "result".
3753 #define YY_INPUT(buf,result,max_size) \
3754 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3758 for ( n = 0; n < max_size && \
3759 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3760 buf[n] = (char) c; \
3762 buf[n++] = (char) c; \
3763 if ( c == EOF && ferror( surf_parse_in ) ) \
3764 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3770 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3772 if( errno != EINTR) \
3774 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3778 clearerr(surf_parse_in); \
3785 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3786 * we don't want an extra ';' after the "return" because that will cause
3787 * some compilers to complain about unreachable statements.
3790 #define yyterminate() return YY_NULL
3793 /* Number of entries by which start-condition stack grows. */
3794 #ifndef YY_START_STACK_INCR
3795 #define YY_START_STACK_INCR 25
3798 /* Report a fatal error. */
3799 #ifndef YY_FATAL_ERROR
3800 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3803 /* end tables serialization structures and prototypes */
3805 /* Default declaration of generated scanner - a define so the user can
3806 * easily add parameters.
3809 #define YY_DECL_IS_OURS 1
3811 extern int surf_parse_lex (void);
3813 #define YY_DECL int surf_parse_lex (void)
3814 #endif /* !YY_DECL */
3816 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3819 #ifndef YY_USER_ACTION
3820 #define YY_USER_ACTION
3823 /* Code executed at the end of each rule. */
3825 #define YY_BREAK break;
3828 #define YY_RULE_SETUP \
3831 /** The main scanner function which does all the work.
3835 register yy_state_type yy_current_state;
3836 register char *yy_cp, *yy_bp;
3837 register int yy_act;
3839 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3841 reset_surfxml_parse_err_msg();
3842 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3843 assert(surfxml_bufferstack);
3847 for (i = 0; i < blimit; i++) {
3848 surfxml_bufferstack[i] = '\377';
3852 surfxml_bufferstack[0] = '\0';
3853 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3859 surfxml_bufferliteral('\0', &bnext, "0.0");
3860 surfxml_bufferliteral('\0', &bnext, "2147483647");
3861 surfxml_bufferliteral('\0', &bnext, "1");
3862 surfxml_bufferliteral('\0', &bnext, "1.0");
3863 surfxml_bufferliteral('\0', &bnext, "1");
3864 surfxml_bufferliteral('\0', &bnext, "0.0");
3865 surfxml_bufferliteral('\0', &bnext, "-1.0");
3866 surfxml_bufferliteral('\0', &bnext, "-1.0");
3867 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3868 surfxml_statenames[PROLOG] = NULL;
3869 surfxml_statenames[DOCTYPE] = NULL;
3870 surfxml_statenames[EPILOG] = NULL;
3871 surfxml_statenames[INCOMMENT] = NULL;
3872 surfxml_statenames[INPI] = NULL;
3873 surfxml_statenames[VALUE1] = NULL;
3874 surfxml_statenames[VALUE2] = NULL;
3875 surfxml_statenames[CDATA] = NULL;
3876 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3877 surfxml_statenames[AL_surfxml_platform] = NULL;
3878 surfxml_statenames[S_surfxml_platform] = "platform";
3879 surfxml_statenames[S_surfxml_platform_1] = "platform";
3880 surfxml_statenames[S_surfxml_platform_2] = "platform";
3881 surfxml_statenames[S_surfxml_platform_3] = "platform";
3882 surfxml_statenames[S_surfxml_platform_4] = "platform";
3883 surfxml_statenames[S_surfxml_platform_5] = "platform";
3884 surfxml_statenames[S_surfxml_platform_6] = "platform";
3885 surfxml_statenames[S_surfxml_platform_7] = "platform";
3886 surfxml_statenames[S_surfxml_platform_8] = "platform";
3887 surfxml_statenames[E_surfxml_platform] = "platform";
3888 surfxml_statenames[AL_surfxml_include] = NULL;
3889 surfxml_statenames[E_surfxml_include] = "include";
3890 surfxml_statenames[AL_surfxml_trace] = NULL;
3891 surfxml_statenames[IN_trace] = "trace";
3892 surfxml_statenames[AL_surfxml_random] = NULL;
3893 surfxml_statenames[S_surfxml_random] = "random";
3894 surfxml_statenames[S_surfxml_random_1] = "random";
3895 surfxml_statenames[S_surfxml_random_2] = "random";
3896 surfxml_statenames[E_surfxml_random] = "random";
3897 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3898 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3899 surfxml_statenames[AL_surfxml_AS] = NULL;
3900 surfxml_statenames[S_surfxml_AS] = "AS";
3901 surfxml_statenames[S_surfxml_AS_1] = "AS";
3902 surfxml_statenames[S_surfxml_AS_2] = "AS";
3903 surfxml_statenames[S_surfxml_AS_3] = "AS";
3904 surfxml_statenames[S_surfxml_AS_4] = "AS";
3905 surfxml_statenames[S_surfxml_AS_5] = "AS";
3906 surfxml_statenames[S_surfxml_AS_6] = "AS";
3907 surfxml_statenames[S_surfxml_AS_7] = "AS";
3908 surfxml_statenames[S_surfxml_AS_8] = "AS";
3909 surfxml_statenames[S_surfxml_AS_9] = "AS";
3910 surfxml_statenames[S_surfxml_AS_10] = "AS";
3911 surfxml_statenames[S_surfxml_AS_11] = "AS";
3912 surfxml_statenames[S_surfxml_AS_12] = "AS";
3913 surfxml_statenames[S_surfxml_AS_13] = "AS";
3914 surfxml_statenames[E_surfxml_AS] = "AS";
3915 surfxml_statenames[AL_surfxml_host] = NULL;
3916 surfxml_statenames[S_surfxml_host] = "host";
3917 surfxml_statenames[S_surfxml_host_1] = "host";
3918 surfxml_statenames[S_surfxml_host_2] = "host";
3919 surfxml_statenames[E_surfxml_host] = "host";
3920 surfxml_statenames[AL_surfxml_cluster] = NULL;
3921 surfxml_statenames[E_surfxml_cluster] = "cluster";
3922 surfxml_statenames[AL_surfxml_peer] = NULL;
3923 surfxml_statenames[E_surfxml_peer] = "peer";
3924 surfxml_statenames[AL_surfxml_router] = NULL;
3925 surfxml_statenames[E_surfxml_router] = "router";
3926 surfxml_statenames[AL_surfxml_link] = NULL;
3927 surfxml_statenames[S_surfxml_link] = "link";
3928 surfxml_statenames[S_surfxml_link_1] = "link";
3929 surfxml_statenames[S_surfxml_link_2] = "link";
3930 surfxml_statenames[E_surfxml_link] = "link";
3931 surfxml_statenames[AL_surfxml_route] = NULL;
3932 surfxml_statenames[S_surfxml_route] = "route";
3933 surfxml_statenames[S_surfxml_route_1] = "route";
3934 surfxml_statenames[S_surfxml_route_2] = "route";
3935 surfxml_statenames[E_surfxml_route] = "route";
3936 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3937 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3938 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3939 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3940 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3941 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3942 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3943 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3944 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3945 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3946 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3947 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3948 surfxml_statenames[AL_surfxml_process] = NULL;
3949 surfxml_statenames[S_surfxml_process] = "process";
3950 surfxml_statenames[S_surfxml_process_1] = "process";
3951 surfxml_statenames[S_surfxml_process_2] = "process";
3952 surfxml_statenames[E_surfxml_process] = "process";
3953 surfxml_statenames[AL_surfxml_argument] = NULL;
3954 surfxml_statenames[E_surfxml_argument] = "argument";
3955 surfxml_statenames[AL_surfxml_config] = NULL;
3956 surfxml_statenames[S_surfxml_config] = "config";
3957 surfxml_statenames[S_surfxml_config_1] = "config";
3958 surfxml_statenames[S_surfxml_config_2] = "config";
3959 surfxml_statenames[E_surfxml_config] = "config";
3960 surfxml_statenames[AL_surfxml_prop] = NULL;
3961 surfxml_statenames[E_surfxml_prop] = "prop";
3964 /* COMMENTS and PIs: handled uniformly for efficiency. */
3975 (yy_start) = 1; /* first start state */
3977 if ( ! surf_parse_in )
3978 surf_parse_in = stdin;
3980 if ( ! surf_parse_out )
3981 surf_parse_out = stdout;
3983 if ( ! YY_CURRENT_BUFFER ) {
3984 surf_parse_ensure_buffer_stack ();
3985 YY_CURRENT_BUFFER_LVALUE =
3986 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3989 surf_parse__load_buffer_state( );
3992 while ( 1 ) /* loops until end-of-file is reached */
3994 yy_cp = (yy_c_buf_p);
3996 /* Support of surf_parse_text. */
3997 *yy_cp = (yy_hold_char);
3999 /* yy_bp points to the position in yy_ch_buf of the start of
4004 yy_current_state = (yy_start);
4008 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4009 if ( yy_accept[yy_current_state] )
4011 (yy_last_accepting_state) = yy_current_state;
4012 (yy_last_accepting_cpos) = yy_cp;
4014 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4016 yy_current_state = (int) yy_def[yy_current_state];
4017 if ( yy_current_state >= 2408 )
4018 yy_c = yy_meta[(unsigned int) yy_c];
4020 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4023 while ( yy_base[yy_current_state] != 8043 );
4026 yy_act = yy_accept[yy_current_state];
4028 { /* have to back up */
4029 yy_cp = (yy_last_accepting_cpos);
4030 yy_current_state = (yy_last_accepting_state);
4031 yy_act = yy_accept[yy_current_state];
4034 YY_DO_BEFORE_ACTION;
4036 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4039 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4040 if ( surf_parse_text[yyl] == '\n' )
4042 surf_parse_lineno++;
4046 do_action: /* This label is used only to access EOF actions. */
4049 { /* beginning of action switch */
4050 case 0: /* must back up */
4051 /* undo the effects of YY_DO_BEFORE_ACTION */
4052 *yy_cp = (yy_hold_char);
4053 yy_cp = (yy_last_accepting_cpos);
4054 yy_current_state = (yy_last_accepting_state);
4055 goto yy_find_action;
4073 /* rule 6 can match eol */
4077 case YY_STATE_EOF(INCOMMENT):
4078 FAIL("EOF in comment.");
4087 /* rule 9 can match eol */
4091 case YY_STATE_EOF(INPI):
4092 FAIL("EOF in PI (processing instruction).");
4095 /* SPACES: skipped uniformly */
4097 /* rule 10 can match eol */
4101 /* PROLOG: determine root element and process it. */
4104 /* rule 11 can match eol */
4109 /* rule 12 can match eol */
4111 FAIL("Bad declaration %s.",surf_parse_text);
4115 /* rule 13 can match eol */
4117 SET(ROOT_surfxml_platform);
4120 /* rule 14 can match eol */
4122 FAIL("Bad declaration %s.",surf_parse_text);
4126 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4128 case YY_STATE_EOF(PROLOG):
4129 case YY_STATE_EOF(DOCTYPE):
4130 FAIL("EOF in prolog.");
4133 /* RULES DERIVED FROM DTD. */
4134 /* <!-- Small DTD for SURF based tools. --> */
4136 /* rule 16 can match eol */
4138 FAIL("Starting tag <platform> is not allowed here.");
4141 /* rule 17 can match eol */
4144 AX_surfxml_platform_version = 1;
4145 ENTER(AL_surfxml_platform); pushbuffer(0);
4150 /* rule 18 can match eol */
4152 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4155 /* rule 19 can match eol */
4157 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4162 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4168 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4170 case ROOT_surfxml_platform: SET(EPILOG); break;
4176 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4180 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4182 case YY_STATE_EOF(AL_surfxml_platform):
4183 FAIL("EOF in attribute list of `platform' element.");
4187 /* rule 24 can match eol */
4191 ETag_surfxml_platform();
4192 popbuffer(); /* attribute */
4194 case ROOT_surfxml_platform: SET(EPILOG); break;
4199 /* rule 25 can match eol */
4201 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4205 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4207 case YY_STATE_EOF(S_surfxml_platform_8):
4208 case YY_STATE_EOF(S_surfxml_platform_1):
4209 case YY_STATE_EOF(S_surfxml_platform_3):
4210 case YY_STATE_EOF(S_surfxml_platform):
4211 case YY_STATE_EOF(S_surfxml_platform_4):
4212 case YY_STATE_EOF(S_surfxml_platform_6):
4213 case YY_STATE_EOF(E_surfxml_platform):
4214 FAIL("Premature EOF: `</platform>' expected.");
4218 /* rule 27 can match eol */
4220 FAIL("Starting tag <include> is not allowed here.");
4223 /* rule 28 can match eol */
4226 AX_surfxml_include_file = 0;
4227 ENTER(AL_surfxml_include); pushbuffer(0);
4232 /* rule 29 can match eol */
4234 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
4237 /* rule 30 can match eol */
4239 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
4244 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4245 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4251 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4252 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4254 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4255 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4256 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4262 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4266 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4268 case YY_STATE_EOF(AL_surfxml_include):
4269 FAIL("EOF in attribute list of `include' element.");
4273 /* rule 35 can match eol */
4277 ETag_surfxml_include();
4278 popbuffer(); /* attribute */
4280 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4281 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4282 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4287 /* rule 36 can match eol */
4289 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4293 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4295 case YY_STATE_EOF(E_surfxml_include):
4296 FAIL("Premature EOF: `</include>' expected.");
4300 /* rule 38 can match eol */
4302 FAIL("Starting tag <trace> is not allowed here.");
4305 /* rule 39 can match eol */
4308 AX_surfxml_trace_id = 0;
4309 AX_surfxml_trace_file = 0;
4310 AX_surfxml_trace_periodicity = 0;
4311 ENTER(AL_surfxml_trace); pushbuffer(0);
4316 /* rule 40 can match eol */
4318 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4321 /* rule 41 can match eol */
4323 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4326 /* rule 42 can match eol */
4328 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4331 /* rule 43 can match eol */
4333 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4336 /* rule 44 can match eol */
4338 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4341 /* rule 45 can match eol */
4343 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4348 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4349 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4350 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4356 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4357 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4358 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4360 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4361 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4362 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4363 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4364 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4365 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4371 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4375 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4377 case YY_STATE_EOF(AL_surfxml_trace):
4378 FAIL("EOF in attribute list of `trace' element.");
4382 /* rule 50 can match eol */
4387 ETag_surfxml_trace();
4388 surfxml_pcdata_ix = popbuffer();
4389 popbuffer(); /* attribute */
4391 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4392 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4393 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4394 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4395 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4396 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4401 /* rule 51 can match eol */
4403 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4405 case YY_STATE_EOF(IN_trace):
4406 FAIL("Premature EOF: `</trace>' expected.");
4410 /* rule 52 can match eol */
4412 FAIL("Starting tag <random> is not allowed here.");
4415 /* rule 53 can match eol */
4418 AX_surfxml_random_id = 0;
4419 AX_surfxml_random_min = 0;
4420 AX_surfxml_random_max = 0;
4421 AX_surfxml_random_mean = 0;
4422 AX_surfxml_random_std_deviation = 0;
4423 AX_surfxml_random_seed = 5;
4424 AX_surfxml_random_radical = 0;
4425 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4426 ENTER(AL_surfxml_random); pushbuffer(0);
4431 /* rule 54 can match eol */
4433 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4436 /* rule 55 can match eol */
4438 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4441 /* rule 56 can match eol */
4443 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4446 /* rule 57 can match eol */
4448 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4451 /* rule 58 can match eol */
4453 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4456 /* rule 59 can match eol */
4458 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4461 /* rule 60 can match eol */
4463 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4466 /* rule 61 can match eol */
4468 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4471 /* rule 62 can match eol */
4473 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4476 /* rule 63 can match eol */
4478 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4481 /* rule 64 can match eol */
4483 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4486 /* rule 65 can match eol */
4488 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4491 /* rule 66 can match eol */
4493 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4496 /* rule 67 can match eol */
4498 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4501 /* rule 68 can match eol */
4503 /* rule 69 can match eol */
4505 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4508 /* rule 70 can match eol */
4510 /* rule 71 can match eol */
4512 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4515 /* rule 72 can match eol */
4517 /* rule 73 can match eol */
4519 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4522 /* rule 74 can match eol */
4524 /* rule 75 can match eol */
4526 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4531 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4532 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4533 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4534 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4535 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4536 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4542 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4543 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4544 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4545 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4546 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4547 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4549 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4555 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4559 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4561 case YY_STATE_EOF(AL_surfxml_random):
4562 FAIL("EOF in attribute list of `random' element.");
4566 /* rule 80 can match eol */
4570 ETag_surfxml_random();
4571 popbuffer(); /* attribute */
4573 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4578 /* rule 81 can match eol */
4580 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4584 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4586 case YY_STATE_EOF(S_surfxml_random_2):
4587 case YY_STATE_EOF(S_surfxml_random):
4588 case YY_STATE_EOF(E_surfxml_random):
4589 FAIL("Premature EOF: `</random>' expected.");
4593 /* rule 83 can match eol */
4595 FAIL("Starting tag <trace_connect> is not allowed here.");
4598 /* rule 84 can match eol */
4601 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4602 AX_surfxml_trace_connect_trace = 0;
4603 AX_surfxml_trace_connect_element = 0;
4604 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4609 /* rule 85 can match eol */
4611 /* rule 86 can match eol */
4613 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4616 /* rule 87 can match eol */
4618 /* rule 88 can match eol */
4620 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4623 /* rule 89 can match eol */
4625 /* rule 90 can match eol */
4627 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4630 /* rule 91 can match eol */
4632 /* rule 92 can match eol */
4634 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4637 /* rule 93 can match eol */
4639 /* rule 94 can match eol */
4641 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4644 /* rule 95 can match eol */
4646 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4649 /* rule 96 can match eol */
4651 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4654 /* rule 97 can match eol */
4656 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4659 /* rule 98 can match eol */
4661 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4666 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4667 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4668 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4674 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4675 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4676 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4678 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4679 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4680 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4681 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4682 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4683 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4689 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4693 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4695 case YY_STATE_EOF(AL_surfxml_trace_connect):
4696 FAIL("EOF in attribute list of `trace_connect' element.");
4700 /* rule 103 can match eol */
4704 ETag_surfxml_trace_connect();
4705 popbuffer(); /* attribute */
4707 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4708 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4709 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4710 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4711 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4712 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4717 /* rule 104 can match eol */
4719 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4723 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4725 case YY_STATE_EOF(E_surfxml_trace_connect):
4726 FAIL("Premature EOF: `</trace_connect>' expected.");
4730 /* rule 106 can match eol */
4732 FAIL("Starting tag <AS> is not allowed here.");
4735 /* rule 107 can match eol */
4738 AX_surfxml_AS_id = 0;
4739 AX_surfxml_AS_routing = 0;
4740 ENTER(AL_surfxml_AS); pushbuffer(0);
4745 /* rule 108 can match eol */
4747 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4750 /* rule 109 can match eol */
4752 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4755 /* rule 110 can match eol */
4757 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4760 /* rule 111 can match eol */
4762 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4767 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4768 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4769 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4775 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4776 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4777 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4779 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4780 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4786 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4790 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4792 case YY_STATE_EOF(AL_surfxml_AS):
4793 FAIL("EOF in attribute list of `AS' element.");
4797 /* rule 116 can match eol */
4802 popbuffer(); /* attribute */
4804 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4805 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4810 /* rule 117 can match eol */
4812 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4816 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4818 case YY_STATE_EOF(S_surfxml_AS_1):
4819 case YY_STATE_EOF(S_surfxml_AS_9):
4820 case YY_STATE_EOF(S_surfxml_AS_11):
4821 case YY_STATE_EOF(S_surfxml_AS_6):
4822 case YY_STATE_EOF(E_surfxml_AS):
4823 case YY_STATE_EOF(S_surfxml_AS_3):
4824 case YY_STATE_EOF(S_surfxml_AS_13):
4825 case YY_STATE_EOF(S_surfxml_AS_8):
4826 case YY_STATE_EOF(S_surfxml_AS):
4827 case YY_STATE_EOF(S_surfxml_AS_4):
4828 FAIL("Premature EOF: `</AS>' expected.");
4832 /* rule 119 can match eol */
4834 FAIL("Starting tag <host> is not allowed here.");
4837 /* rule 120 can match eol */
4840 AX_surfxml_host_id = 0;
4841 AX_surfxml_host_power = 0;
4842 AX_surfxml_host_core = 16;
4843 AX_surfxml_host_availability = 18;
4844 AX_surfxml_host_availability_file = 0;
4845 AX_surfxml_host_state = A_surfxml_host_state_ON;
4846 AX_surfxml_host_state_file = 0;
4847 AX_surfxml_host_coordinates = 0;
4848 ENTER(AL_surfxml_host); pushbuffer(0);
4853 /* rule 121 can match eol */
4855 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4858 /* rule 122 can match eol */
4860 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4863 /* rule 123 can match eol */
4865 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4868 /* rule 124 can match eol */
4870 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4873 /* rule 125 can match eol */
4875 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4878 /* rule 126 can match eol */
4880 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4883 /* rule 127 can match eol */
4885 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4888 /* rule 128 can match eol */
4890 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4893 /* rule 129 can match eol */
4895 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4898 /* rule 130 can match eol */
4900 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4903 /* rule 131 can match eol */
4905 /* rule 132 can match eol */
4907 A_surfxml_host_state = A_surfxml_host_state_ON;
4910 /* rule 133 can match eol */
4912 /* rule 134 can match eol */
4914 A_surfxml_host_state = A_surfxml_host_state_OFF;
4917 /* rule 135 can match eol */
4919 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4922 /* rule 136 can match eol */
4924 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4927 /* rule 137 can match eol */
4929 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4932 /* rule 138 can match eol */
4934 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4939 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4940 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4941 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4947 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4948 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4949 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4951 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4957 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4961 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4963 case YY_STATE_EOF(AL_surfxml_host):
4964 FAIL("EOF in attribute list of `host' element.");
4968 /* rule 143 can match eol */
4972 ETag_surfxml_host();
4973 popbuffer(); /* attribute */
4975 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4980 /* rule 144 can match eol */
4982 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4986 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4988 case YY_STATE_EOF(S_surfxml_host):
4989 case YY_STATE_EOF(E_surfxml_host):
4990 case YY_STATE_EOF(S_surfxml_host_2):
4991 FAIL("Premature EOF: `</host>' expected.");
4995 /* rule 146 can match eol */
4997 FAIL("Starting tag <cluster> is not allowed here.");
5000 /* rule 147 can match eol */
5003 AX_surfxml_cluster_id = 0;
5004 AX_surfxml_cluster_prefix = 0;
5005 AX_surfxml_cluster_suffix = 0;
5006 AX_surfxml_cluster_radical = 0;
5007 AX_surfxml_cluster_power = 0;
5008 AX_surfxml_cluster_core = 22;
5009 AX_surfxml_cluster_bw = 0;
5010 AX_surfxml_cluster_lat = 0;
5011 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5012 AX_surfxml_cluster_bb_bw = 0;
5013 AX_surfxml_cluster_bb_lat = 0;
5014 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5015 AX_surfxml_cluster_availability_file = 0;
5016 AX_surfxml_cluster_state_file = 0;
5017 ENTER(AL_surfxml_cluster); pushbuffer(0);
5022 /* rule 148 can match eol */
5024 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
5027 /* rule 149 can match eol */
5029 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
5032 /* rule 150 can match eol */
5034 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
5037 /* rule 151 can match eol */
5039 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
5042 /* rule 152 can match eol */
5044 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
5047 /* rule 153 can match eol */
5049 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
5052 /* rule 154 can match eol */
5054 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
5057 /* rule 155 can match eol */
5059 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
5062 /* rule 156 can match eol */
5064 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
5067 /* rule 157 can match eol */
5069 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
5072 /* rule 158 can match eol */
5074 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
5077 /* rule 159 can match eol */
5079 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
5082 /* rule 160 can match eol */
5084 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
5087 /* rule 161 can match eol */
5089 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
5092 /* rule 162 can match eol */
5094 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
5097 /* rule 163 can match eol */
5099 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
5102 /* rule 164 can match eol */
5104 /* rule 165 can match eol */
5106 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5109 /* rule 166 can match eol */
5111 /* rule 167 can match eol */
5113 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5116 /* rule 168 can match eol */
5118 /* rule 169 can match eol */
5120 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5123 /* rule 170 can match eol */
5125 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5128 /* rule 171 can match eol */
5130 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5133 /* rule 172 can match eol */
5135 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5138 /* rule 173 can match eol */
5140 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5143 /* rule 174 can match eol */
5145 /* rule 175 can match eol */
5147 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5150 /* rule 176 can match eol */
5152 /* rule 177 can match eol */
5154 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5157 /* rule 178 can match eol */
5159 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5162 /* rule 179 can match eol */
5164 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5167 /* rule 180 can match eol */
5169 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5172 /* rule 181 can match eol */
5174 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5179 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5180 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5181 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5182 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5183 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5184 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5185 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5186 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5192 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5193 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5194 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5195 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5196 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5197 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5198 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5199 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5201 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5202 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5208 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5212 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5214 case YY_STATE_EOF(AL_surfxml_cluster):
5215 FAIL("EOF in attribute list of `cluster' element.");
5219 /* rule 186 can match eol */
5223 ETag_surfxml_cluster();
5224 popbuffer(); /* attribute */
5226 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5227 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5232 /* rule 187 can match eol */
5234 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5238 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5240 case YY_STATE_EOF(E_surfxml_cluster):
5241 FAIL("Premature EOF: `</cluster>' expected.");
5245 /* rule 189 can match eol */
5247 FAIL("Starting tag <peer> is not allowed here.");
5250 /* rule 190 can match eol */
5253 AX_surfxml_peer_id = 0;
5254 AX_surfxml_peer_power = 0;
5255 AX_surfxml_peer_bw_in = 0;
5256 AX_surfxml_peer_bw_out = 0;
5257 AX_surfxml_peer_lat = 0;
5258 AX_surfxml_peer_coordinates = 0;
5259 AX_surfxml_peer_availability_file = 0;
5260 AX_surfxml_peer_state_file = 0;
5261 ENTER(AL_surfxml_peer); pushbuffer(0);
5266 /* rule 191 can match eol */
5268 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5271 /* rule 192 can match eol */
5273 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5276 /* rule 193 can match eol */
5278 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5281 /* rule 194 can match eol */
5283 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5286 /* rule 195 can match eol */
5288 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5291 /* rule 196 can match eol */
5293 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5296 /* rule 197 can match eol */
5298 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5301 /* rule 198 can match eol */
5303 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5306 /* rule 199 can match eol */
5308 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5311 /* rule 200 can match eol */
5313 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5316 /* rule 201 can match eol */
5318 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5321 /* rule 202 can match eol */
5323 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5326 /* rule 203 can match eol */
5328 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5331 /* rule 204 can match eol */
5333 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5336 /* rule 205 can match eol */
5338 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5341 /* rule 206 can match eol */
5343 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5348 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5349 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5350 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5351 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5352 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5353 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5359 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5360 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5361 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5362 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5363 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5364 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5366 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5367 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5373 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5377 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5379 case YY_STATE_EOF(AL_surfxml_peer):
5380 FAIL("EOF in attribute list of `peer' element.");
5384 /* rule 211 can match eol */
5388 ETag_surfxml_peer();
5389 popbuffer(); /* attribute */
5391 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5392 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5397 /* rule 212 can match eol */
5399 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5403 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5405 case YY_STATE_EOF(E_surfxml_peer):
5406 FAIL("Premature EOF: `</peer>' expected.");
5410 /* rule 214 can match eol */
5412 FAIL("Starting tag <router> is not allowed here.");
5415 /* rule 215 can match eol */
5418 AX_surfxml_router_id = 0;
5419 AX_surfxml_router_coordinates = 0;
5420 ENTER(AL_surfxml_router); pushbuffer(0);
5425 /* rule 216 can match eol */
5427 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5430 /* rule 217 can match eol */
5432 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5435 /* rule 218 can match eol */
5437 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5440 /* rule 219 can match eol */
5442 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5447 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5448 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5454 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5455 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5457 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5463 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5467 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5469 case YY_STATE_EOF(AL_surfxml_router):
5470 FAIL("EOF in attribute list of `router' element.");
5474 /* rule 224 can match eol */
5478 ETag_surfxml_router();
5479 popbuffer(); /* attribute */
5481 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5486 /* rule 225 can match eol */
5488 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5492 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5494 case YY_STATE_EOF(E_surfxml_router):
5495 FAIL("Premature EOF: `</router>' expected.");
5499 /* rule 227 can match eol */
5501 FAIL("Starting tag <link> is not allowed here.");
5504 /* rule 228 can match eol */
5507 AX_surfxml_link_id = 0;
5508 AX_surfxml_link_bandwidth = 0;
5509 AX_surfxml_link_bandwidth_file = 0;
5510 AX_surfxml_link_latency = 24;
5511 AX_surfxml_link_latency_file = 0;
5512 AX_surfxml_link_state = A_surfxml_link_state_ON;
5513 AX_surfxml_link_state_file = 0;
5514 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5515 ENTER(AL_surfxml_link); pushbuffer(0);
5520 /* rule 229 can match eol */
5522 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5525 /* rule 230 can match eol */
5527 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5530 /* rule 231 can match eol */
5532 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5535 /* rule 232 can match eol */
5537 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5540 /* rule 233 can match eol */
5542 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5545 /* rule 234 can match eol */
5547 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5550 /* rule 235 can match eol */
5552 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5555 /* rule 236 can match eol */
5557 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5560 /* rule 237 can match eol */
5562 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5565 /* rule 238 can match eol */
5567 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5570 /* rule 239 can match eol */
5572 /* rule 240 can match eol */
5574 A_surfxml_link_state = A_surfxml_link_state_ON;
5577 /* rule 241 can match eol */
5579 /* rule 242 can match eol */
5581 A_surfxml_link_state = A_surfxml_link_state_OFF;
5584 /* rule 243 can match eol */
5586 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5589 /* rule 244 can match eol */
5591 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5594 /* rule 245 can match eol */
5596 /* rule 246 can match eol */
5598 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5601 /* rule 247 can match eol */
5603 /* rule 248 can match eol */
5605 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5608 /* rule 249 can match eol */
5610 /* rule 250 can match eol */
5612 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5617 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5618 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5619 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5625 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5626 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5627 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5629 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5630 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5636 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5640 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5642 case YY_STATE_EOF(AL_surfxml_link):
5643 FAIL("EOF in attribute list of `link' element.");
5647 /* rule 255 can match eol */
5651 ETag_surfxml_link();
5652 popbuffer(); /* attribute */
5654 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5655 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5660 /* rule 256 can match eol */
5662 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5666 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5668 case YY_STATE_EOF(E_surfxml_link):
5669 case YY_STATE_EOF(S_surfxml_link_2):
5670 case YY_STATE_EOF(S_surfxml_link):
5671 FAIL("Premature EOF: `</link>' expected.");
5675 /* rule 258 can match eol */
5677 FAIL("Starting tag <route> is not allowed here.");
5680 /* rule 259 can match eol */
5683 AX_surfxml_route_src = 0;
5684 AX_surfxml_route_dst = 0;
5685 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5686 ENTER(AL_surfxml_route); pushbuffer(0);
5691 /* rule 260 can match eol */
5693 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5696 /* rule 261 can match eol */
5698 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5701 /* rule 262 can match eol */
5703 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5706 /* rule 263 can match eol */
5708 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5711 /* rule 264 can match eol */
5713 /* rule 265 can match eol */
5715 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5718 /* rule 266 can match eol */
5720 /* rule 267 can match eol */
5722 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5727 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5728 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5729 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5735 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5736 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5737 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5739 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5745 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5749 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5751 case YY_STATE_EOF(AL_surfxml_route):
5752 FAIL("EOF in attribute list of `route' element.");
5756 /* rule 272 can match eol */
5760 ETag_surfxml_route();
5761 popbuffer(); /* attribute */
5763 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5768 /* rule 273 can match eol */
5770 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5774 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5776 case YY_STATE_EOF(S_surfxml_route):
5777 case YY_STATE_EOF(S_surfxml_route_2):
5778 case YY_STATE_EOF(E_surfxml_route):
5779 FAIL("Premature EOF: `</route>' expected.");
5783 /* rule 275 can match eol */
5785 FAIL("Starting tag <ASroute> is not allowed here.");
5788 /* rule 276 can match eol */
5791 AX_surfxml_ASroute_src = 0;
5792 AX_surfxml_ASroute_dst = 0;
5793 AX_surfxml_ASroute_gw_src = 0;
5794 AX_surfxml_ASroute_gw_dst = 0;
5795 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5796 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5801 /* rule 277 can match eol */
5803 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5806 /* rule 278 can match eol */
5808 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5811 /* rule 279 can match eol */
5813 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5816 /* rule 280 can match eol */
5818 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5821 /* rule 281 can match eol */
5823 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5826 /* rule 282 can match eol */
5828 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5831 /* rule 283 can match eol */
5833 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5836 /* rule 284 can match eol */
5838 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5841 /* rule 285 can match eol */
5843 /* rule 286 can match eol */
5845 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5848 /* rule 287 can match eol */
5850 /* rule 288 can match eol */
5852 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5857 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5858 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5859 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5860 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5861 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5867 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5868 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5869 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5870 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5871 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5873 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5879 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5883 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5885 case YY_STATE_EOF(AL_surfxml_ASroute):
5886 FAIL("EOF in attribute list of `ASroute' element.");
5890 /* rule 293 can match eol */
5894 ETag_surfxml_ASroute();
5895 popbuffer(); /* attribute */
5897 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5902 /* rule 294 can match eol */
5904 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5908 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5910 case YY_STATE_EOF(E_surfxml_ASroute):
5911 case YY_STATE_EOF(S_surfxml_ASroute):
5912 case YY_STATE_EOF(S_surfxml_ASroute_2):
5913 FAIL("Premature EOF: `</ASroute>' expected.");
5917 /* rule 296 can match eol */
5919 FAIL("Starting tag <link_ctn> is not allowed here.");
5922 /* rule 297 can match eol */
5925 AX_surfxml_link_ctn_id = 0;
5926 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5927 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5932 /* rule 298 can match eol */
5934 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5937 /* rule 299 can match eol */
5939 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5942 /* rule 300 can match eol */
5944 /* rule 301 can match eol */
5946 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5949 /* rule 302 can match eol */
5951 /* rule 303 can match eol */
5953 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5956 /* rule 304 can match eol */
5958 /* rule 305 can match eol */
5960 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5965 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5966 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5972 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5973 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5975 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5976 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5977 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5983 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5987 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5989 case YY_STATE_EOF(AL_surfxml_link_ctn):
5990 FAIL("EOF in attribute list of `link_ctn' element.");
5994 /* rule 310 can match eol */
5998 ETag_surfxml_link_ctn();
5999 popbuffer(); /* attribute */
6001 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6002 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6003 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6008 /* rule 311 can match eol */
6010 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6014 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6016 case YY_STATE_EOF(E_surfxml_link_ctn):
6017 FAIL("Premature EOF: `</link_ctn>' expected.");
6021 /* rule 313 can match eol */
6023 FAIL("Starting tag <bypassRoute> is not allowed here.");
6026 /* rule 314 can match eol */
6029 AX_surfxml_bypassRoute_src = 0;
6030 AX_surfxml_bypassRoute_dst = 0;
6031 AX_surfxml_bypassRoute_gw_src = 0;
6032 AX_surfxml_bypassRoute_gw_dst = 0;
6033 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6038 /* rule 315 can match eol */
6040 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6043 /* rule 316 can match eol */
6045 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6048 /* rule 317 can match eol */
6050 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6053 /* rule 318 can match eol */
6055 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6058 /* rule 319 can match eol */
6060 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6063 /* rule 320 can match eol */
6065 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6068 /* rule 321 can match eol */
6070 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6073 /* rule 322 can match eol */
6075 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6080 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6081 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6082 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6083 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6084 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6090 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6091 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6092 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6093 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6094 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6096 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
6102 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6106 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6108 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6109 FAIL("EOF in attribute list of `bypassRoute' element.");
6113 /* rule 327 can match eol */
6117 ETag_surfxml_bypassRoute();
6118 popbuffer(); /* attribute */
6120 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
6125 /* rule 328 can match eol */
6127 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6131 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6133 case YY_STATE_EOF(S_surfxml_bypassRoute):
6134 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6135 case YY_STATE_EOF(E_surfxml_bypassRoute):
6136 FAIL("Premature EOF: `</bypassRoute>' expected.");
6140 /* rule 330 can match eol */
6142 FAIL("Starting tag <process> is not allowed here.");
6145 /* rule 331 can match eol */
6148 AX_surfxml_process_host = 0;
6149 AX_surfxml_process_function = 0;
6150 AX_surfxml_process_start_time = 28;
6151 AX_surfxml_process_kill_time = 33;
6152 ENTER(AL_surfxml_process); pushbuffer(0);
6157 /* rule 332 can match eol */
6159 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6162 /* rule 333 can match eol */
6164 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6167 /* rule 334 can match eol */
6169 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6172 /* rule 335 can match eol */
6174 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6177 /* rule 336 can match eol */
6179 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6182 /* rule 337 can match eol */
6184 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6187 /* rule 338 can match eol */
6189 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6192 /* rule 339 can match eol */
6194 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6199 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6200 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6201 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6207 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6208 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6209 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6211 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6217 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6221 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6223 case YY_STATE_EOF(AL_surfxml_process):
6224 FAIL("EOF in attribute list of `process' element.");
6228 /* rule 344 can match eol */
6232 ETag_surfxml_process();
6233 popbuffer(); /* attribute */
6235 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6240 /* rule 345 can match eol */
6242 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6246 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6248 case YY_STATE_EOF(E_surfxml_process):
6249 case YY_STATE_EOF(S_surfxml_process):
6250 case YY_STATE_EOF(S_surfxml_process_2):
6251 FAIL("Premature EOF: `</process>' expected.");
6255 /* rule 347 can match eol */
6257 FAIL("Starting tag <argument> is not allowed here.");
6260 /* rule 348 can match eol */
6263 AX_surfxml_argument_value = 0;
6264 ENTER(AL_surfxml_argument); pushbuffer(0);
6269 /* rule 349 can match eol */
6271 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6274 /* rule 350 can match eol */
6276 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6281 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6282 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6288 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6289 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6291 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6297 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6301 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6303 case YY_STATE_EOF(AL_surfxml_argument):
6304 FAIL("EOF in attribute list of `argument' element.");
6308 /* rule 355 can match eol */
6312 ETag_surfxml_argument();
6313 popbuffer(); /* attribute */
6315 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6320 /* rule 356 can match eol */
6322 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6326 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6328 case YY_STATE_EOF(E_surfxml_argument):
6329 FAIL("Premature EOF: `</argument>' expected.");
6333 /* rule 358 can match eol */
6335 FAIL("Starting tag <config> is not allowed here.");
6338 /* rule 359 can match eol */
6341 AX_surfxml_config_id = 0;
6342 ENTER(AL_surfxml_config); pushbuffer(0);
6347 /* rule 360 can match eol */
6349 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6352 /* rule 361 can match eol */
6354 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6359 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6365 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6367 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6373 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6377 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6379 case YY_STATE_EOF(AL_surfxml_config):
6380 FAIL("EOF in attribute list of `config' element.");
6384 /* rule 366 can match eol */
6388 ETag_surfxml_config();
6389 popbuffer(); /* attribute */
6391 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6396 /* rule 367 can match eol */
6398 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6402 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6404 case YY_STATE_EOF(S_surfxml_config):
6405 case YY_STATE_EOF(S_surfxml_config_2):
6406 case YY_STATE_EOF(E_surfxml_config):
6407 FAIL("Premature EOF: `</config>' expected.");
6410 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6411 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6413 /* rule 369 can match eol */
6415 FAIL("Starting tag <prop> is not allowed here.");
6418 /* rule 370 can match eol */
6421 AX_surfxml_prop_id = 0;
6422 AX_surfxml_prop_value = 0;
6423 ENTER(AL_surfxml_prop); pushbuffer(0);
6428 /* rule 371 can match eol */
6430 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6433 /* rule 372 can match eol */
6435 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6438 /* rule 373 can match eol */
6440 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6443 /* rule 374 can match eol */
6445 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6450 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6451 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6452 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6458 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6459 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6460 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6462 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6463 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6464 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6465 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6466 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6472 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6476 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6478 case YY_STATE_EOF(AL_surfxml_prop):
6479 FAIL("EOF in attribute list of `prop' element.");
6483 /* rule 379 can match eol */
6487 ETag_surfxml_prop();
6488 popbuffer(); /* attribute */
6490 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6491 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6492 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6493 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6494 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6499 /* rule 380 can match eol */
6501 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6505 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6507 case YY_STATE_EOF(E_surfxml_prop):
6508 FAIL("Premature EOF: `</prop>' expected.");
6511 /* EPILOG: after the root element. */
6515 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6517 case YY_STATE_EOF(EPILOG):
6521 /* CHARACTER DATA. */
6523 /* Non-defined standard entities... */
6544 /* Character entities. */
6547 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6551 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6555 /* rule 390 can match eol */
6557 /* rule 391 can match eol */
6559 /* rule 392 can match eol */
6561 /* rule 393 can match eol */
6572 FAIL("Unexpected `]""]>' in character data.");
6579 case YY_STATE_EOF(VALUE1):
6580 FAIL("EOF in literal (\"'\" expected).");
6587 case YY_STATE_EOF(VALUE2):
6588 FAIL("EOF in literal (`\"' expected).");
6592 /* rule 398 can match eol */
6594 BUFFERPUTC(surf_parse_text[0]);
6598 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6605 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6608 BUFFERPUTC(surf_parse_text[0]);
6610 case YY_STATE_EOF(CDATA):
6611 FAIL("EOF in CDATA section.");
6614 /* Impossible rules to avoid warnings from flex(1). */
6615 /* Ideally, this should be replaced by code in flexml.pl that
6616 generates just the states not covered by other rules. */
6619 /* rule 402 can match eol */
6621 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6628 case YY_STATE_EOF(INITIAL):
6629 case YY_STATE_EOF(ROOT_surfxml_platform):
6630 case YY_STATE_EOF(S_surfxml_platform_2):
6631 case YY_STATE_EOF(S_surfxml_platform_5):
6632 case YY_STATE_EOF(S_surfxml_platform_7):
6633 case YY_STATE_EOF(S_surfxml_random_1):
6634 case YY_STATE_EOF(S_surfxml_AS_2):
6635 case YY_STATE_EOF(S_surfxml_AS_5):
6636 case YY_STATE_EOF(S_surfxml_AS_7):
6637 case YY_STATE_EOF(S_surfxml_AS_10):
6638 case YY_STATE_EOF(S_surfxml_AS_12):
6639 case YY_STATE_EOF(S_surfxml_host_1):
6640 case YY_STATE_EOF(S_surfxml_link_1):
6641 case YY_STATE_EOF(S_surfxml_route_1):
6642 case YY_STATE_EOF(S_surfxml_ASroute_1):
6643 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6644 case YY_STATE_EOF(S_surfxml_process_1):
6645 case YY_STATE_EOF(S_surfxml_config_1):
6646 case YY_STATE_EOF(IMPOSSIBLE):
6649 case YY_END_OF_BUFFER:
6651 /* Amount of text matched not including the EOB char. */
6652 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6654 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6655 *yy_cp = (yy_hold_char);
6656 YY_RESTORE_YY_MORE_OFFSET
6658 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6660 /* We're scanning a new file or input source. It's
6661 * possible that this happened because the user
6662 * just pointed surf_parse_in at a new source and called
6663 * surf_parse_lex(). If so, then we have to assure
6664 * consistency between YY_CURRENT_BUFFER and our
6665 * globals. Here is the right place to do so, because
6666 * this is the first action (other than possibly a
6667 * back-up) that will match for the new input source.
6669 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6670 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6671 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6674 /* Note that here we test for yy_c_buf_p "<=" to the position
6675 * of the first EOB in the buffer, since yy_c_buf_p will
6676 * already have been incremented past the NUL character
6677 * (since all states make transitions on EOB to the
6678 * end-of-buffer state). Contrast this with the test
6681 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6682 { /* This was really a NUL. */
6683 yy_state_type yy_next_state;
6685 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6687 yy_current_state = yy_get_previous_state( );
6689 /* Okay, we're now positioned to make the NUL
6690 * transition. We couldn't have
6691 * yy_get_previous_state() go ahead and do it
6692 * for us because it doesn't know how to deal
6693 * with the possibility of jamming (and we don't
6694 * want to build jamming into it because then it
6695 * will run more slowly).
6698 yy_next_state = yy_try_NUL_trans( yy_current_state );
6700 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6702 if ( yy_next_state )
6704 /* Consume the NUL. */
6705 yy_cp = ++(yy_c_buf_p);
6706 yy_current_state = yy_next_state;
6712 yy_cp = (yy_c_buf_p);
6713 goto yy_find_action;
6717 else switch ( yy_get_next_buffer( ) )
6719 case EOB_ACT_END_OF_FILE:
6721 (yy_did_buffer_switch_on_eof) = 0;
6723 if ( surf_parse_wrap( ) )
6725 /* Note: because we've taken care in
6726 * yy_get_next_buffer() to have set up
6727 * surf_parse_text, we can now set up
6728 * yy_c_buf_p so that if some total
6729 * hoser (like flex itself) wants to
6730 * call the scanner after we return the
6731 * YY_NULL, it'll still work - another
6732 * YY_NULL will get returned.
6734 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6736 yy_act = YY_STATE_EOF(YY_START);
6742 if ( ! (yy_did_buffer_switch_on_eof) )
6748 case EOB_ACT_CONTINUE_SCAN:
6750 (yytext_ptr) + yy_amount_of_matched_text;
6752 yy_current_state = yy_get_previous_state( );
6754 yy_cp = (yy_c_buf_p);
6755 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6758 case EOB_ACT_LAST_MATCH:
6760 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6762 yy_current_state = yy_get_previous_state( );
6764 yy_cp = (yy_c_buf_p);
6765 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6766 goto yy_find_action;
6773 "fatal flex scanner internal error--no action found" );
6774 } /* end of action switch */
6775 } /* end of scanning one token */
6776 } /* end of surf_parse_lex */
6778 /* yy_get_next_buffer - try to read in a new buffer
6780 * Returns a code representing an action:
6781 * EOB_ACT_LAST_MATCH -
6782 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6783 * EOB_ACT_END_OF_FILE - end of file
6785 static int yy_get_next_buffer (void)
6787 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6788 register char *source = (yytext_ptr);
6789 register int number_to_move, i;
6792 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6794 "fatal flex scanner internal error--end of buffer missed" );
6796 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6797 { /* Don't try to fill the buffer, so this is an EOF. */
6798 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6800 /* We matched a single character, the EOB, so
6801 * treat this as a final EOF.
6803 return EOB_ACT_END_OF_FILE;
6808 /* We matched some text prior to the EOB, first
6811 return EOB_ACT_LAST_MATCH;
6815 /* Try to read more data. */
6817 /* First move last chars to start of buffer. */
6818 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6820 for ( i = 0; i < number_to_move; ++i )
6821 *(dest++) = *(source++);
6823 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6824 /* don't do the read, it's not guaranteed to return an EOF,
6827 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6832 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6834 while ( num_to_read <= 0 )
6835 { /* Not enough room in the buffer - grow it. */
6837 /* just a shorter name for the current buffer */
6838 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6840 int yy_c_buf_p_offset =
6841 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6843 if ( b->yy_is_our_buffer )
6845 int new_size = b->yy_buf_size * 2;
6847 if ( new_size <= 0 )
6848 b->yy_buf_size += b->yy_buf_size / 8;
6850 b->yy_buf_size *= 2;
6852 b->yy_ch_buf = (char *)
6853 /* Include room in for 2 EOB chars. */
6854 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6857 /* Can't grow it, we don't own it. */
6860 if ( ! b->yy_ch_buf )
6862 "fatal error - scanner input buffer overflow" );
6864 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6866 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6871 if ( num_to_read > YY_READ_BUF_SIZE )
6872 num_to_read = YY_READ_BUF_SIZE;
6874 /* Read in more data. */
6875 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6876 (yy_n_chars), (size_t) num_to_read );
6878 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6881 if ( (yy_n_chars) == 0 )
6883 if ( number_to_move == YY_MORE_ADJ )
6885 ret_val = EOB_ACT_END_OF_FILE;
6886 surf_parse_restart(surf_parse_in );
6891 ret_val = EOB_ACT_LAST_MATCH;
6892 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6893 YY_BUFFER_EOF_PENDING;
6898 ret_val = EOB_ACT_CONTINUE_SCAN;
6900 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6901 /* Extend the array by 50%, plus the number we really need. */
6902 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6903 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6904 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6905 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6908 (yy_n_chars) += number_to_move;
6909 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6910 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6912 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6917 /* yy_get_previous_state - get the state just before the EOB char was reached */
6919 static yy_state_type yy_get_previous_state (void)
6921 register yy_state_type yy_current_state;
6922 register char *yy_cp;
6924 yy_current_state = (yy_start);
6926 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6928 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6929 if ( yy_accept[yy_current_state] )
6931 (yy_last_accepting_state) = yy_current_state;
6932 (yy_last_accepting_cpos) = yy_cp;
6934 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6936 yy_current_state = (int) yy_def[yy_current_state];
6937 if ( yy_current_state >= 2408 )
6938 yy_c = yy_meta[(unsigned int) yy_c];
6940 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6943 return yy_current_state;
6946 /* yy_try_NUL_trans - try to make a transition on the NUL character
6949 * next_state = yy_try_NUL_trans( current_state );
6951 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6953 register int yy_is_jam;
6954 register char *yy_cp = (yy_c_buf_p);
6956 register YY_CHAR yy_c = 1;
6957 if ( yy_accept[yy_current_state] )
6959 (yy_last_accepting_state) = yy_current_state;
6960 (yy_last_accepting_cpos) = yy_cp;
6962 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6964 yy_current_state = (int) yy_def[yy_current_state];
6965 if ( yy_current_state >= 2408 )
6966 yy_c = yy_meta[(unsigned int) yy_c];
6968 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6969 yy_is_jam = (yy_current_state == 2407);
6971 return yy_is_jam ? 0 : yy_current_state;
6976 static int yyinput (void)
6978 static int input (void)
6984 *(yy_c_buf_p) = (yy_hold_char);
6986 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6988 /* yy_c_buf_p now points to the character we want to return.
6989 * If this occurs *before* the EOB characters, then it's a
6990 * valid NUL; if not, then we've hit the end of the buffer.
6992 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6993 /* This was really a NUL. */
6994 *(yy_c_buf_p) = '\0';
6997 { /* need more input */
6998 int offset = (yy_c_buf_p) - (yytext_ptr);
7001 switch ( yy_get_next_buffer( ) )
7003 case EOB_ACT_LAST_MATCH:
7004 /* This happens because yy_g_n_b()
7005 * sees that we've accumulated a
7006 * token and flags that we need to
7007 * try matching the token before
7008 * proceeding. But for input(),
7009 * there's no matching to consider.
7010 * So convert the EOB_ACT_LAST_MATCH
7011 * to EOB_ACT_END_OF_FILE.
7014 /* Reset buffer status. */
7015 surf_parse_restart(surf_parse_in );
7019 case EOB_ACT_END_OF_FILE:
7021 if ( surf_parse_wrap( ) )
7024 if ( ! (yy_did_buffer_switch_on_eof) )
7033 case EOB_ACT_CONTINUE_SCAN:
7034 (yy_c_buf_p) = (yytext_ptr) + offset;
7040 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7041 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7042 (yy_hold_char) = *++(yy_c_buf_p);
7046 surf_parse_lineno++;
7051 #endif /* ifndef YY_NO_INPUT */
7053 /** Immediately switch to a different input stream.
7054 * @param input_file A readable stream.
7056 * @note This function does not reset the start condition to @c INITIAL .
7058 void surf_parse_restart (FILE * input_file )
7061 if ( ! YY_CURRENT_BUFFER ){
7062 surf_parse_ensure_buffer_stack ();
7063 YY_CURRENT_BUFFER_LVALUE =
7064 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7067 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7068 surf_parse__load_buffer_state( );
7071 /** Switch to a different input buffer.
7072 * @param new_buffer The new input buffer.
7075 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7078 /* TODO. We should be able to replace this entire function body
7080 * surf_parse_pop_buffer_state();
7081 * surf_parse_push_buffer_state(new_buffer);
7083 surf_parse_ensure_buffer_stack ();
7084 if ( YY_CURRENT_BUFFER == new_buffer )
7087 if ( YY_CURRENT_BUFFER )
7089 /* Flush out information for old buffer. */
7090 *(yy_c_buf_p) = (yy_hold_char);
7091 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7092 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7095 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7096 surf_parse__load_buffer_state( );
7098 /* We don't actually know whether we did this switch during
7099 * EOF (surf_parse_wrap()) processing, but the only time this flag
7100 * is looked at is after surf_parse_wrap() is called, so it's safe
7101 * to go ahead and always set it.
7103 (yy_did_buffer_switch_on_eof) = 1;
7106 static void surf_parse__load_buffer_state (void)
7108 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7109 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7110 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7111 (yy_hold_char) = *(yy_c_buf_p);
7114 /** Allocate and initialize an input buffer state.
7115 * @param file A readable stream.
7116 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7118 * @return the allocated buffer state.
7120 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7124 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7126 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7128 b->yy_buf_size = size;
7130 /* yy_ch_buf has to be 2 characters longer than the size given because
7131 * we need to put in 2 end-of-buffer characters.
7133 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7134 if ( ! b->yy_ch_buf )
7135 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7137 b->yy_is_our_buffer = 1;
7139 surf_parse__init_buffer(b,file );
7144 /** Destroy the buffer.
7145 * @param b a buffer created with surf_parse__create_buffer()
7148 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7154 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7155 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7157 if ( b->yy_is_our_buffer )
7158 surf_parse_free((void *) b->yy_ch_buf );
7160 surf_parse_free((void *) b );
7164 extern int isatty (int );
7165 #endif /* __cplusplus */
7167 /* Initializes or reinitializes a buffer.
7168 * This function is sometimes called more than once on the same buffer,
7169 * such as during a surf_parse_restart() or at EOF.
7171 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7176 surf_parse__flush_buffer(b );
7178 b->yy_input_file = file;
7179 b->yy_fill_buffer = 1;
7181 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7182 * called from surf_parse_restart() or through yy_get_next_buffer.
7183 * In that case, we don't want to reset the lineno or column.
7185 if (b != YY_CURRENT_BUFFER){
7186 b->yy_bs_lineno = 1;
7187 b->yy_bs_column = 0;
7190 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7195 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7196 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7199 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7206 /* We always need two end-of-buffer characters. The first causes
7207 * a transition to the end-of-buffer state. The second causes
7208 * a jam in that state.
7210 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7211 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7213 b->yy_buf_pos = &b->yy_ch_buf[0];
7216 b->yy_buffer_status = YY_BUFFER_NEW;
7218 if ( b == YY_CURRENT_BUFFER )
7219 surf_parse__load_buffer_state( );
7222 /** Pushes the new state onto the stack. The new state becomes
7223 * the current state. This function will allocate the stack
7225 * @param new_buffer The new state.
7228 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7230 if (new_buffer == NULL)
7233 surf_parse_ensure_buffer_stack();
7235 /* This block is copied from surf_parse__switch_to_buffer. */
7236 if ( YY_CURRENT_BUFFER )
7238 /* Flush out information for old buffer. */
7239 *(yy_c_buf_p) = (yy_hold_char);
7240 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7241 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7244 /* Only push if top exists. Otherwise, replace top. */
7245 if (YY_CURRENT_BUFFER)
7246 (yy_buffer_stack_top)++;
7247 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7249 /* copied from surf_parse__switch_to_buffer. */
7250 surf_parse__load_buffer_state( );
7251 (yy_did_buffer_switch_on_eof) = 1;
7254 /** Removes and deletes the top of the stack, if present.
7255 * The next element becomes the new top.
7258 void surf_parse_pop_buffer_state (void)
7260 if (!YY_CURRENT_BUFFER)
7263 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7264 YY_CURRENT_BUFFER_LVALUE = NULL;
7265 if ((yy_buffer_stack_top) > 0)
7266 --(yy_buffer_stack_top);
7268 if (YY_CURRENT_BUFFER) {
7269 surf_parse__load_buffer_state( );
7270 (yy_did_buffer_switch_on_eof) = 1;
7274 /* Allocates the stack if it does not exist.
7275 * Guarantees space for at least one push.
7277 static void surf_parse_ensure_buffer_stack (void)
7281 if (!(yy_buffer_stack)) {
7283 /* First allocation is just for 2 elements, since we don't know if this
7284 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7285 * immediate realloc on the next call.
7288 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7289 (num_to_alloc * sizeof(struct yy_buffer_state*)
7291 if ( ! (yy_buffer_stack) )
7292 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7294 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7296 (yy_buffer_stack_max) = num_to_alloc;
7297 (yy_buffer_stack_top) = 0;
7301 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7303 /* Increase the buffer to prepare for a possible push. */
7304 int grow_size = 8 /* arbitrary grow size */;
7306 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7307 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7309 num_to_alloc * sizeof(struct yy_buffer_state*)
7311 if ( ! (yy_buffer_stack) )
7312 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7314 /* zero only the new slots.*/
7315 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7316 (yy_buffer_stack_max) = num_to_alloc;
7320 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7321 * @param base the character buffer
7322 * @param size the size in bytes of the character buffer
7324 * @return the newly allocated buffer state object.
7326 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7331 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7332 base[size-1] != YY_END_OF_BUFFER_CHAR )
7333 /* They forgot to leave room for the EOB's. */
7336 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7338 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7340 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7341 b->yy_buf_pos = b->yy_ch_buf = base;
7342 b->yy_is_our_buffer = 0;
7343 b->yy_input_file = 0;
7344 b->yy_n_chars = b->yy_buf_size;
7345 b->yy_is_interactive = 0;
7347 b->yy_fill_buffer = 0;
7348 b->yy_buffer_status = YY_BUFFER_NEW;
7350 surf_parse__switch_to_buffer(b );
7355 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7356 * scan from a @e copy of @a str.
7357 * @param yystr a NUL-terminated string to scan
7359 * @return the newly allocated buffer state object.
7360 * @note If you want to scan bytes that may contain NUL values, then use
7361 * surf_parse__scan_bytes() instead.
7363 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7366 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7369 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7370 * scan from a @e copy of @a bytes.
7371 * @param yybytes the byte buffer to scan
7372 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7374 * @return the newly allocated buffer state object.
7376 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7383 /* Get memory for full buffer, including space for trailing EOB's. */
7384 n = _yybytes_len + 2;
7385 buf = (char *) surf_parse_alloc(n );
7387 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7389 for ( i = 0; i < _yybytes_len; ++i )
7390 buf[i] = yybytes[i];
7392 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7394 b = surf_parse__scan_buffer(buf,n );
7396 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7398 /* It's okay to grow etc. this buffer, and we should throw it
7399 * away when we're done.
7401 b->yy_is_our_buffer = 1;
7406 static void yy_push_state (int new_state )
7408 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7412 (yy_start_stack_depth) += YY_START_STACK_INCR;
7413 new_size = (yy_start_stack_depth) * sizeof( int );
7415 if ( ! (yy_start_stack) )
7416 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7419 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7421 if ( ! (yy_start_stack) )
7422 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7425 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7430 static void yy_pop_state (void)
7432 if ( --(yy_start_stack_ptr) < 0 )
7433 YY_FATAL_ERROR( "start-condition stack underflow" );
7435 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7438 #ifndef YY_EXIT_FAILURE
7439 #define YY_EXIT_FAILURE 2
7442 static void yy_fatal_error (yyconst char* msg )
7444 (void) fprintf( stderr, "%s\n", msg );
7445 exit( YY_EXIT_FAILURE );
7448 /* Redefine yyless() so it works in section 3 code. */
7454 /* Undo effects of setting up surf_parse_text. */ \
7455 int yyless_macro_arg = (n); \
7456 YY_LESS_LINENO(yyless_macro_arg);\
7457 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7458 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7459 (yy_hold_char) = *(yy_c_buf_p); \
7460 *(yy_c_buf_p) = '\0'; \
7461 surf_parse_leng = yyless_macro_arg; \
7465 /* Accessor methods (get/set functions) to struct members. */
7467 /** Get the current line number.
7470 int surf_parse_get_lineno (void)
7473 return surf_parse_lineno;
7476 /** Get the input stream.
7479 FILE *surf_parse_get_in (void)
7481 return surf_parse_in;
7484 /** Get the output stream.
7487 FILE *surf_parse_get_out (void)
7489 return surf_parse_out;
7492 /** Get the length of the current token.
7495 int surf_parse_get_leng (void)
7497 return surf_parse_leng;
7500 /** Get the current token.
7504 char *surf_parse_get_text (void)
7506 return surf_parse_text;
7509 /** Set the current line number.
7510 * @param line_number
7513 void surf_parse_set_lineno (int line_number )
7516 surf_parse_lineno = line_number;
7519 /** Set the input stream. This does not discard the current
7521 * @param in_str A readable stream.
7523 * @see surf_parse__switch_to_buffer
7525 void surf_parse_set_in (FILE * in_str )
7527 surf_parse_in = in_str ;
7530 void surf_parse_set_out (FILE * out_str )
7532 surf_parse_out = out_str ;
7535 int surf_parse_get_debug (void)
7537 return surf_parse__flex_debug;
7540 void surf_parse_set_debug (int bdebug )
7542 surf_parse__flex_debug = bdebug ;
7545 static int yy_init_globals (void)
7547 /* Initialization is the same as for the non-reentrant scanner.
7548 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7551 /* We do not touch surf_parse_lineno unless the option is enabled. */
7552 surf_parse_lineno = 1;
7554 (yy_buffer_stack) = 0;
7555 (yy_buffer_stack_top) = 0;
7556 (yy_buffer_stack_max) = 0;
7557 (yy_c_buf_p) = (char *) 0;
7561 (yy_start_stack_ptr) = 0;
7562 (yy_start_stack_depth) = 0;
7563 (yy_start_stack) = NULL;
7565 /* Defined in main.c */
7567 surf_parse_in = stdin;
7568 surf_parse_out = stdout;
7570 surf_parse_in = (FILE *) 0;
7571 surf_parse_out = (FILE *) 0;
7574 /* For future reference: Set errno on error, since we are called by
7575 * surf_parse_lex_init()
7580 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7581 int surf_parse_lex_destroy (void)
7584 /* Pop the buffer stack, destroying each element. */
7585 while(YY_CURRENT_BUFFER){
7586 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7587 YY_CURRENT_BUFFER_LVALUE = NULL;
7588 surf_parse_pop_buffer_state();
7591 /* Destroy the stack itself. */
7592 surf_parse_free((yy_buffer_stack) );
7593 (yy_buffer_stack) = NULL;
7595 /* Destroy the start condition stack. */
7596 surf_parse_free((yy_start_stack) );
7597 (yy_start_stack) = NULL;
7599 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7600 * surf_parse_lex() is called, initialization will occur. */
7607 * Internal utility routines.
7611 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7614 for ( i = 0; i < n; ++i )
7619 #ifdef YY_NEED_STRLEN
7620 static int yy_flex_strlen (yyconst char * s )
7623 for ( n = 0; s[n]; ++n )
7630 void *surf_parse_alloc (yy_size_t size )
7632 return (void *) malloc( size );
7635 void *surf_parse_realloc (void * ptr, yy_size_t size )
7637 /* The cast to (char *) in the following accommodates both
7638 * implementations that use char* generic pointers, and those
7639 * that use void* generic pointers. It works with the latter
7640 * because both ANSI C and C++ allow castless assignment from
7641 * any pointer type to void*, and deal with argument conversions
7642 * as though doing an assignment.
7644 return (void *) realloc( (char *) ptr, size );
7647 void surf_parse_free (void * ptr )
7649 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7652 #define YYTABLES_NAME "yytables"
7654 /* Element context stack lookup. */
7655 int surfxml_element_context(int i)
7657 return (0<i && i<yy_start_stack_depth
7658 ? yy_start_stack[yy_start_stack_ptr - i]
7663 void print_yy_stack(char* fmt, ...)
7665 int i = 0; va_list ap; va_start(ap, fmt);
7666 vfprintf(stderr, fmt, ap);
7667 if (surfxml_statenames) {
7668 for (i=1; i<yy_start_stack_ptr; i++) {
7669 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7671 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7676 void print_surfxml_bufferstack()
7679 fputs("Buffer: ", stderr);
7680 for (i = 0; i < blimit; i++) {
7681 if ( surfxml_bufferstack[i] == '\377' ) break;
7682 putc(surfxml_bufferstack[i], stderr);
7687 static void debug_enter(int state, const char* statename) {
7688 yy_push_state(state);
7689 if (surf_parse__flex_debug) {
7690 print_yy_stack("--ENTER(%s) : ",statename);
7691 print_surfxml_bufferstack();
7695 static void debug_leave(void) {
7696 if (surf_parse__flex_debug) {
7697 print_yy_stack("--LEAVE : ");
7698 print_surfxml_bufferstack();
7703 static void debug_set(int state, const char* statename) {
7705 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7709 static void cleanup(void)
7711 if (surfxml_statenames) {
7712 free(surfxml_statenames);
7713 surfxml_statenames = NULL;
7715 free(surfxml_bufferstack);
7716 surfxml_bufferstack = NULL;
7722 static int fail(const char* fmt, ...)
7724 int chars_left, used;
7725 va_list ap; va_start(ap, fmt);
7726 #ifdef FLEXML_yylineno
7727 used = sprintf(flexml_err_msg,
7728 "Invalid XML (XML input line %d, state %d): ",
7729 surf_parse_lineno, YY_START);
7731 used = sprintf(flexml_err_msg,
7732 "Invalid XML (state %d): ",
7735 chars_left = flexml_max_err_msg_size - used - 1;
7736 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7739 #ifndef FLEXML_quiet_parser
7740 /* print directly to sdterr */
7741 fprintf(stderr, "%s\n", flexml_err_msg);
7742 flexml_err_msg[0] = '\0';