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 420
407 #define YY_END_OF_BUFFER 421
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[2502] =
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, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 421, 419, 15, 10, 10, 15, 15, 399,
440 10, 399, 5, 6, 5, 8, 9, 8, 415, 407,
441 408, 416, 413, 416, 414, 418, 407, 408, 418, 419,
442 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
443 26, 419, 26, 419, 419, 26, 33, 10, 33, 33,
444 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
445 48, 46, 48, 48, 48, 416, 415, 78, 10, 78,
446 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
447 82, 419, 82, 101, 10, 101, 101, 101, 99, 101,
448 101, 101, 105, 10, 105, 114, 10, 114, 114, 114,
450 112, 114, 114, 118, 10, 118, 118, 419, 118, 118,
451 419, 419, 118, 419, 118, 419, 118, 129, 10, 129,
452 129, 129, 127, 129, 129, 129, 133, 10, 133, 133,
453 156, 10, 156, 156, 156, 154, 156, 156, 156, 156,
454 156, 160, 10, 160, 160, 201, 10, 201, 201, 201,
455 199, 201, 201, 201, 201, 201, 201, 201, 201, 205,
456 10, 205, 226, 10, 226, 226, 226, 224, 226, 226,
457 226, 226, 226, 226, 226, 230, 10, 230, 239, 10,
458 239, 239, 239, 237, 239, 239, 243, 10, 243, 270,
459 10, 270, 270, 270, 268, 270, 270, 270, 270, 274,
461 10, 274, 274, 287, 10, 287, 287, 287, 285, 287,
462 287, 291, 10, 291, 419, 291, 308, 10, 308, 308,
463 308, 306, 308, 308, 308, 312, 10, 312, 312, 325,
464 10, 325, 325, 325, 323, 325, 325, 329, 10, 329,
465 342, 10, 342, 342, 342, 340, 342, 342, 342, 346,
466 10, 346, 346, 359, 10, 359, 359, 359, 357, 359,
467 359, 359, 359, 363, 10, 363, 419, 363, 370, 10,
468 370, 370, 370, 368, 370, 374, 10, 374, 381, 10,
469 381, 381, 381, 379, 381, 385, 10, 385, 385, 394,
470 10, 394, 394, 394, 392, 394, 394, 398, 10, 398,
472 10, 0, 2, 2, 0, 4, 7, 410, 409, 0,
473 0, 0, 0, 0, 0, 0, 21, 23, 23, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 32, 34, 34, 0, 47, 49, 49, 49, 49,
477 0, 0, 0, 77, 79, 79, 79, 79, 79, 79,
478 79, 79, 79, 0, 0, 100, 102, 102, 102, 102,
479 0, 113, 115, 115, 115, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 128, 130, 130, 130, 130,
481 0, 155, 157, 157, 157, 157, 157, 157, 0, 200,
483 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
484 202, 202, 202, 202, 0, 225, 227, 227, 227, 227,
485 227, 227, 227, 227, 0, 238, 240, 240, 240, 0,
486 269, 271, 271, 271, 271, 271, 271, 0, 286, 288,
487 288, 288, 288, 0, 0, 307, 309, 309, 309, 309,
488 309, 0, 324, 326, 326, 326, 0, 341, 343, 343,
489 343, 343, 0, 358, 360, 360, 360, 360, 360, 0,
490 0, 369, 371, 371, 0, 380, 382, 382, 0, 393,
491 395, 395, 395, 0, 0, 0, 0, 0, 3, 0,
492 0, 0, 0, 0, 0, 0, 417, 0, 23, 0,
494 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
496 0, 0, 0, 0, 34, 0, 0, 49, 0, 0,
497 49, 0, 0, 0, 412, 79, 0, 0, 79, 79,
498 79, 79, 79, 79, 0, 0, 0, 102, 102, 102,
499 0, 0, 0, 0, 115, 0, 0, 107, 0, 0,
500 0, 0, 0, 106, 0, 0, 130, 0, 0, 130,
501 0, 0, 157, 157, 157, 0, 0, 157, 157, 0,
502 0, 202, 202, 0, 0, 202, 0, 0, 202, 202,
503 202, 202, 202, 202, 202, 202, 0, 0, 227, 227,
505 227, 0, 0, 227, 227, 227, 0, 0, 240, 0,
506 0, 0, 0, 271, 0, 0, 271, 271, 271, 0,
507 0, 288, 288, 288, 0, 0, 0, 309, 309, 309,
508 309, 0, 0, 326, 0, 0, 0, 0, 343, 343,
509 343, 0, 0, 360, 360, 360, 360, 0, 0, 0,
510 371, 0, 0, 0, 0, 0, 0, 0, 0, 395,
511 0, 0, 0, 14, 1, 0, 0, 405, 0, 0,
512 0, 402, 401, 0, 0, 23, 0, 0, 25, 0,
513 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
516 0, 0, 0, 0, 34, 0, 0, 36, 0, 49,
517 0, 41, 40, 49, 0, 0, 0, 51, 0, 79,
518 0, 55, 54, 0, 0, 79, 0, 0, 79, 79,
519 79, 0, 0, 81, 0, 0, 102, 102, 102, 0,
520 0, 104, 0, 0, 109, 108, 115, 0, 0, 117,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
522 0, 122, 121, 130, 0, 0, 132, 0, 157, 157,
523 157, 0, 137, 136, 157, 157, 0, 0, 159, 0,
524 202, 202, 202, 202, 0, 176, 175, 202, 0, 164,
525 163, 0, 0, 202, 202, 202, 202, 202, 202, 202,
527 0, 0, 204, 0, 227, 227, 227, 227, 0, 209,
528 208, 0, 0, 227, 227, 0, 0, 229, 0, 240,
529 0, 234, 233, 0, 0, 242, 0, 271, 0, 247,
530 246, 271, 271, 271, 0, 0, 273, 0, 0, 0,
531 0, 0, 288, 0, 0, 290, 0, 0, 0, 0,
532 309, 309, 0, 0, 309, 0, 0, 311, 0, 326,
533 0, 316, 315, 0, 0, 328, 0, 0, 0, 343,
534 343, 0, 0, 0, 0, 345, 0, 360, 360, 360,
535 360, 0, 0, 362, 0, 0, 371, 0, 0, 373,
536 0, 0, 378, 377, 0, 0, 384, 0, 0, 389,
538 388, 395, 0, 0, 397, 0, 0, 0, 406, 400,
539 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
540 134, 0, 244, 207, 0, 0, 386, 0, 0, 0,
541 0, 0, 0, 0, 0, 206, 0, 0, 0, 0,
542 0, 0, 0, 49, 0, 0, 79, 0, 59, 58,
543 0, 0, 0, 57, 56, 79, 0, 0, 79, 0,
544 387, 102, 0, 0, 102, 0, 115, 0, 116, 0,
545 0, 135, 245, 0, 0, 0, 0, 130, 130, 0,
546 157, 157, 0, 0, 157, 157, 0, 202, 202, 202,
547 202, 0, 0, 0, 178, 177, 202, 202, 202, 202,
549 202, 202, 202, 0, 227, 227, 227, 227, 0, 217,
550 216, 227, 227, 0, 240, 0, 271, 271, 271, 271,
551 0, 0, 280, 279, 0, 278, 277, 288, 0, 244,
552 0, 297, 296, 309, 309, 0, 295, 294, 309, 0,
553 326, 0, 0, 335, 334, 343, 343, 0, 333, 332,
554 0, 360, 0, 0, 360, 360, 0, 0, 371, 0,
555 0, 395, 0, 0, 0, 0, 12, 0, 403, 404,
556 0, 23, 0, 0, 0, 0, 0, 0, 134, 0,
557 244, 0, 207, 0, 0, 386, 0, 275, 0, 39,
558 0, 0, 0, 0, 206, 0, 38, 0, 30, 29,
560 0, 0, 43, 42, 49, 0, 0, 79, 0, 61,
561 60, 79, 0, 65, 64, 79, 0, 387, 102, 0,
562 0, 0, 0, 0, 0, 115, 0, 0, 135, 245,
563 276, 0, 276, 275, 130, 0, 0, 0, 157, 157,
564 0, 141, 140, 0, 0, 0, 0, 157, 0, 202,
565 0, 0, 202, 202, 0, 174, 173, 0, 0, 202,
566 202, 202, 202, 202, 202, 0, 227, 0, 0, 227,
567 227, 0, 0, 227, 0, 240, 0, 271, 271, 271,
568 0, 0, 271, 0, 288, 0, 0, 309, 309, 309,
569 0, 326, 0, 343, 343, 0, 360, 0, 350, 349,
571 360, 360, 0, 0, 0, 0, 0, 0, 0, 0,
572 0, 0, 0, 0, 11, 0, 23, 0, 0, 0,
573 0, 0, 376, 0, 0, 0, 0, 53, 275, 231,
574 0, 39, 0, 375, 52, 0, 0, 0, 38, 0,
575 0, 49, 0, 0, 79, 79, 79, 0, 102, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 96, 95,
577 0, 115, 0, 0, 276, 232, 0, 130, 0, 124,
578 123, 0, 157, 157, 0, 139, 138, 0, 0, 0,
579 157, 0, 158, 202, 0, 186, 185, 0, 0, 202,
580 0, 172, 171, 0, 0, 202, 202, 202, 202, 0,
582 0, 0, 227, 0, 213, 212, 0, 0, 227, 0,
583 211, 210, 227, 0, 228, 240, 0, 271, 271, 271,
584 0, 0, 0, 271, 0, 272, 288, 0, 0, 0,
585 0, 0, 0, 309, 0, 326, 0, 0, 0, 0,
586 0, 0, 360, 360, 360, 0, 0, 0, 367, 366,
587 0, 0, 0, 391, 390, 0, 396, 0, 0, 0,
588 0, 0, 0, 0, 292, 0, 0, 162, 376, 28,
589 0, 0, 348, 53, 231, 119, 0, 375, 52, 161,
590 27, 347, 0, 0, 49, 0, 0, 50, 79, 0,
591 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 293, 0,
594 232, 120, 0, 0, 0, 157, 157, 0, 0, 157,
595 202, 0, 188, 187, 202, 0, 166, 165, 0, 0,
596 202, 202, 202, 0, 168, 167, 0, 227, 0, 215,
597 214, 227, 227, 240, 0, 271, 0, 0, 271, 271,
598 0, 0, 271, 288, 0, 289, 0, 0, 301, 300,
599 0, 299, 298, 309, 0, 326, 0, 0, 339, 338,
600 0, 337, 336, 0, 360, 360, 360, 0, 0, 0,
601 0, 0, 0, 0, 17, 0, 19, 18, 0, 292,
602 364, 0, 162, 28, 313, 16, 348, 119, 0, 161,
604 27, 347, 0, 0, 49, 411, 79, 0, 67, 66,
605 79, 0, 80, 0, 98, 97, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 111, 110,
607 293, 0, 120, 0, 126, 125, 0, 157, 157, 0,
608 0, 0, 0, 157, 202, 202, 0, 170, 169, 202,
609 202, 202, 0, 227, 227, 227, 240, 0, 241, 271,
610 0, 253, 252, 271, 271, 0, 0, 0, 0, 271,
611 288, 314, 309, 0, 326, 0, 0, 0, 0, 360,
612 360, 0, 365, 0, 0, 383, 0, 0, 0, 17,
613 0, 364, 0, 313, 16, 0, 0, 0, 35, 49,
615 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 131, 157, 157, 0,
617 147, 0, 146, 157, 202, 202, 0, 0, 202, 202,
618 0, 203, 227, 227, 227, 240, 0, 0, 271, 271,
619 271, 0, 257, 0, 256, 271, 288, 314, 309, 0,
620 310, 0, 0, 0, 0, 0, 352, 351, 0, 0,
621 360, 0, 361, 365, 0, 0, 0, 0, 0, 24,
622 0, 0, 0, 49, 0, 0, 0, 79, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 157, 157, 149, 148, 0, 0, 202, 202, 0, 198,
626 197, 202, 0, 0, 227, 227, 0, 0, 240, 0,
627 249, 248, 271, 271, 271, 259, 258, 0, 0, 288,
628 309, 0, 0, 0, 0, 327, 0, 0, 356, 355,
629 0, 0, 0, 372, 0, 0, 0, 330, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
631 0, 0, 0, 88, 0, 0, 0, 0, 87, 0,
632 331, 157, 0, 0, 0, 151, 150, 202, 202, 202,
633 0, 196, 195, 227, 0, 0, 0, 223, 222, 0,
634 0, 271, 271, 271, 0, 261, 260, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 354,
637 353, 0, 0, 0, 330, 0, 0, 0, 45, 44,
638 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 331, 0,
640 0, 157, 0, 153, 152, 202, 202, 202, 227, 0,
641 219, 218, 0, 236, 235, 271, 0, 0, 271, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 84, 83, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 94, 0, 0, 0, 93, 0, 0, 0, 143, 142,
646 157, 202, 202, 202, 227, 271, 0, 255, 254, 271,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 318, 0, 0, 317, 0, 344, 0, 0, 0, 0,
650 0, 0, 84, 83, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 63, 62, 0, 0, 0, 0, 0,
652 0, 0, 157, 202, 202, 0, 0, 227, 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, 75, 71, 0, 0, 74, 70, 0, 92, 0,
656 0, 91, 0, 0, 0, 103, 157, 202, 202, 0,
657 0, 0, 227, 0, 251, 250, 0, 0, 0, 284,
659 0, 283, 0, 305, 0, 304, 0, 320, 322, 319,
660 321, 0, 0, 0, 12, 0, 12, 0, 0, 0,
661 0, 0, 86, 90, 85, 89, 157, 202, 202, 0,
662 0, 0, 0, 227, 0, 0, 0, 0, 282, 281,
663 303, 302, 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 0, 0, 0, 69, 0, 68, 0, 0, 145, 144,
667 0, 194, 193, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 221, 220, 0, 0, 0, 0, 0,
670 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 73, 72, 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, 180, 0, 0, 179, 0, 0,
677 263, 0, 0, 262, 0, 0, 0, 0, 0, 184,
678 0, 183, 0, 265, 0, 264, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 190, 0,
681 189, 0, 0, 0, 0, 0, 0, 192, 191, 182,
682 181, 267, 266, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
695 static yyconst flex_int32_t yy_ec[256] =
697 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
698 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
701 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
702 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
703 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
704 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
705 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
706 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
708 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
709 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
710 72, 31, 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,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
717 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
719 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
720 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
721 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
723 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
727 static yyconst flex_int32_t yy_meta[73] =
729 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
730 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
731 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
732 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
733 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
734 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
735 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
739 static yyconst flex_int16_t yy_base[2811] =
741 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
742 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
743 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
744 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
745 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
746 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
747 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
748 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
749 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
750 794, 797, 800, 804, 807, 859, 904, 964, 862, 865,
752 869, 872, 924, 927, 930, 934, 1024, 1090, 984, 987,
753 990, 994, 1044, 1047, 1050, 1054, 1156, 0, 1110, 1113,
754 1228, 0, 1116, 1120, 1300, 1357, 1320, 1323, 1414, 1480,
755 1326, 1330, 1377, 1380, 1383, 1387, 1434, 1437, 1546, 1612,
756 1440, 1444, 1447, 1500, 1503, 1506, 1510, 1513, 1678, 1744,
757 1566, 1569, 1572, 1576, 1579, 1632, 1635, 1638, 1810, 1867,
758 1642, 1645, 1924, 1990, 1698, 1701, 1704, 1708, 1711, 1764,
759 1767, 1770, 2056, 2122, 1774, 1777, 1830, 1833, 1836, 1840,
760 1843, 1887, 2188, 2257, 1890, 1893, 2326, 2383, 1897, 1900,
761 1944, 1947, 1950, 1954, 1957, 2010, 2440, 2509, 2013, 2016,
763 0, 0, 6795, 8449, 8449, 95, 100, 29, 41, 8449,
764 103, 51, 8449, 8449, 6784, 8449, 8449, 6773, 8449, 6786,
765 6786, 498, 8449, 8449, 8449, 8449, 6784, 6780, 6735, 145,
766 8449, 161, 6761, 0, 146, 8449, 6725, 8449, 166, 2574,
767 88, 204, 205, 254, 6765, 3, 8449, 169, 6756, 0,
768 153, 8449, 6714, 8449, 260, 419, 8449, 322, 6750, 0,
769 244, 8449, 6712, 6714, 6712, 420, 6717, 8449, 364, 6739,
770 0, 248, 8449, 6705, 6705, 257, 6705, 360, 8449, 440,
771 31, 6741, 6689, 8449, 567, 6727, 0, 306, 8449, 6687,
772 6688, 6677, 8449, 624, 482, 8449, 633, 6721, 0, 416,
774 8449, 6688, 6673, 8449, 692, 2028, 2029, 285, 35, 6712,
775 240, 135, 740, 1973, 59, 6721, 152, 8449, 697, 6710,
776 0, 417, 8449, 6667, 6676, 6661, 8449, 700, 6710, 181,
777 8449, 764, 6701, 0, 479, 8449, 6649, 6655, 6664, 6649,
778 6643, 8449, 767, 6697, 210, 8449, 824, 6686, 0, 480,
779 8449, 6636, 300, 6642, 6647, 6649, 185, 499, 439, 8449,
780 830, 546, 8449, 833, 6677, 0, 483, 8449, 6625, 6623,
781 6630, 6635, 6637, 6623, 6615, 8449, 889, 611, 8449, 895,
782 6661, 0, 545, 8449, 6618, 6623, 8449, 898, 612, 8449,
783 937, 6654, 0, 609, 8449, 6624, 6618, 6620, 615, 8449,
785 954, 6656, 310, 8449, 997, 6643, 0, 684, 8449, 6596,
786 306, 8449, 1014, 760, 6649, 6599, 8449, 1057, 6637, 0,
787 685, 8449, 6590, 6581, 425, 8449, 1074, 6638, 560, 8449,
788 1080, 6629, 0, 742, 8449, 6589, 6593, 8449, 1123, 752,
789 8449, 1140, 6624, 0, 808, 8449, 6573, 6560, 6564, 8449,
790 1146, 6616, 626, 8449, 1333, 6603, 0, 809, 8449, 6554,
791 6559, 6559, 6548, 8449, 1350, 304, 449, 527, 8449, 1390,
792 6594, 0, 873, 8449, 6560, 8449, 1407, 941, 8449, 1464,
793 6588, 0, 874, 8449, 6555, 8449, 1472, 6590, 593, 8449,
794 1475, 6581, 0, 938, 8449, 6548, 6546, 8449, 1530, 942,
796 1538, 713, 6523, 8449, 6583, 6568, 8449, 8449, 8449, 1530,
797 317, 6520, 6519, 6513, 6560, 6520, 8449, 0, 6509, 6510,
798 6533, 6502, 6494, 621, 6503, 6499, 6502, 30, 630, 6491,
799 6488, 687, 957, 6513, 697, 6490, 1021, 6481, 822, 1087,
800 1290, 8449, 0, 6486, 6487, 8449, 0, 6480, 2078, 6473,
801 514, 6470, 6512, 8449, 0, 6470, 2086, 6459, 6476, 6463,
802 6471, 6465, 6465, 6451, 1347, 8449, 0, 6458, 6449, 6460,
803 6437, 8449, 0, 2096, 6435, 6480, 6458, 6424, 6433, 6037,
804 958, 6026, 6052, 960, 1017, 8449, 0, 6029, 2142, 6037,
805 6022, 8449, 0, 6038, 1002, 2145, 6016, 6036, 6027, 8449,
807 0, 6033, 6032, 2148, 6007, 2151, 6004, 5999, 6007, 6006,
808 5985, 6003, 6001, 5991, 5993, 8449, 0, 5989, 5988, 5973,
809 2154, 5966, 5958, 5978, 5959, 8449, 0, 5959, 2208, 5954,
810 8449, 0, 5949, 2211, 5942, 5958, 5957, 5937, 8449, 0,
811 5928, 5942, 5925, 5919, 5925, 8449, 0, 5910, 5928, 5923,
812 5913, 5947, 8449, 0, 5903, 2214, 5907, 8449, 0, 5898,
813 5915, 5869, 5866, 8449, 0, 5853, 5847, 5852, 5857, 5842,
814 5838, 8449, 0, 5835, 5844, 8449, 0, 2217, 5841, 8449,
815 0, 2220, 5832, 5826, 5868, 5867, 924, 5816, 8449, 1589,
816 0, 5811, 5811, 5849, 5848, 5801, 8449, 5809, 5785, 2023,
818 2289, 1605, 5795, 5785, 5772, 5777, 5771, 5784, 5760, 5752,
819 5752, 5737, 5737, 5728, 5729, 5741, 5727, 5718, 1663, 5706,
820 5722, 5709, 5699, 5710, 5705, 2277, 2281, 5700, 2286, 1732,
821 5685, 5717, 2292, 2296, 8449, 5686, 2304, 1798, 2347, 5664,
822 2350, 5667, 5670, 5672, 2354, 2360, 5657, 5657, 5660, 5653,
823 2403, 2408, 2412, 1978, 5636, 2415, 2460, 1672, 5630, 5626,
824 5629, 5608, 5613, 1918, 5604, 5601, 5600, 2418, 2238, 5612,
825 2463, 2468, 5607, 5597, 5595, 2472, 2246, 5594, 5578, 2475,
826 2529, 5582, 1404, 2534, 2311, 5584, 2538, 2373, 2541, 5579,
827 5577, 5572, 5554, 5554, 5551, 5562, 2544, 2548, 5554, 1073,
829 5545, 2568, 2430, 2571, 5555, 5536, 2578, 2581, 5537, 2590,
830 2498, 2600, 2608, 5548, 2613, 2640, 5542, 5528, 5523, 2648,
831 2651, 2654, 2657, 2660, 2663, 2678, 5527, 2682, 2685, 2688,
832 2692, 2710, 2714, 5531, 2719, 2722, 2739, 2742, 2745, 2752,
833 2763, 2766, 2770, 5531, 5503, 5510, 5499, 2773, 2776, 5508,
834 5489, 2781, 2785, 2804, 2807, 2817, 2823, 2826, 2829, 5484,
835 2844, 2849, 5531, 8449, 8449, 1065, 5482, 8449, 5523, 5513,
836 5463, 8449, 8449, 5452, 5451, 5451, 2852, 2855, 8449, 2858,
837 1669, 5445, 5437, 5447, 5428, 5434, 5411, 5418, 5417, 5405,
838 5402, 819, 5415, 5395, 5394, 5406, 5384, 5381, 1861, 5365,
840 5371, 5363, 1070, 5363, 2863, 2877, 2884, 8449, 2888, 2891,
841 2896, 8449, 8449, 2909, 5387, 2913, 2916, 8449, 2920, 5346,
842 2923, 8449, 8449, 2939, 2942, 2951, 2957, 2971, 5358, 2960,
843 5352, 2963, 2982, 8449, 2985, 1394, 5350, 2988, 5348, 2991,
844 2994, 8449, 3006, 2997, 8449, 8449, 5339, 3013, 3016, 8449,
845 3019, 5333, 5344, 5315, 5323, 5312, 5313, 5309, 5308, 5320,
846 3025, 8449, 8449, 5302, 3038, 3041, 8449, 3045, 5301, 5298,
847 3048, 3060, 8449, 8449, 5284, 5294, 3068, 3071, 8449, 3074,
848 5280, 5268, 5287, 5277, 3077, 8449, 8449, 3093, 3096, 8449,
849 8449, 3106, 3111, 5267, 5273, 5267, 5264, 5258, 5254, 5249,
851 3119, 3124, 8449, 3127, 5245, 5238, 5230, 5244, 3132, 8449,
852 8449, 3146, 3149, 5228, 5238, 3157, 3160, 8449, 3164, 5234,
853 3167, 8449, 8449, 3179, 3183, 8449, 3186, 5204, 3198, 8449,
854 8449, 5210, 5212, 5207, 3189, 3194, 8449, 3208, 3216, 3220,
855 3228, 3234, 5189, 3242, 3246, 8449, 3253, 5183, 3249, 3261,
856 5164, 5164, 3256, 3274, 5174, 3282, 3285, 8449, 3288, 5168,
857 3291, 8449, 8449, 3307, 3310, 8449, 3313, 3316, 3320, 5151,
858 5147, 3335, 3338, 3346, 3353, 8449, 3356, 5144, 3359, 5161,
859 5127, 3365, 3368, 8449, 3377, 5124, 5136, 3380, 3387, 8449,
860 3390, 3399, 8449, 8449, 3409, 3412, 8449, 3418, 3421, 8449,
862 8449, 5129, 3431, 3438, 8449, 3444, 983, 3450, 8449, 8449,
863 5146, 5136, 5098, 5088, 3453, 5073, 5079, 5068, 5066, 5074,
864 2019, 5042, 2114, 2044, 5055, 5053, 2050, 5039, 5047, 5049,
865 5044, 5031, 5025, 5003, 4997, 2104, 5010, 5005, 3457, 3463,
866 3478, 3481, 3484, 5005, 5024, 3492, 4996, 3499, 8449, 8449,
867 3507, 3512, 3521, 8449, 8449, 4991, 3529, 3532, 4964, 3542,
868 2117, 4948, 3547, 3550, 3561, 3565, 4947, 3568, 8449, 4938,
869 4932, 2179, 2183, 4944, 4946, 4937, 4929, 4920, 3571, 3575,
870 4930, 4914, 3579, 3597, 3589, 3607, 3610, 4921, 3615, 4901,
871 4918, 3618, 3629, 3639, 8449, 8449, 3625, 4894, 4910, 4892,
873 4891, 4903, 4878, 3647, 4877, 3650, 4833, 4842, 3654, 8449,
874 8449, 3662, 4849, 3668, 4835, 3671, 4834, 4838, 4827, 3676,
875 3681, 3690, 8449, 8449, 3700, 8449, 8449, 4819, 3708, 3712,
876 3716, 8449, 8449, 4816, 4831, 3728, 8449, 8449, 4809, 3738,
877 4787, 3741, 3744, 8449, 8449, 4780, 4795, 3753, 8449, 8449,
878 3761, 4783, 3764, 3767, 4764, 4781, 3775, 4764, 3782, 3785,
879 3788, 3794, 3800, 1043, 4803, 3812, 8449, 4801, 8449, 8449,
880 4750, 4750, 3815, 4742, 4753, 4732, 4740, 4735, 2422, 4733,
881 2490, 4720, 2559, 4708, 4702, 3621, 4699, 3819, 4694, 3825,
882 4678, 4672, 4650, 4644, 3834, 4625, 3837, 3841, 8449, 8449,
884 3852, 3855, 8449, 8449, 4633, 4648, 3872, 4609, 3884, 8449,
885 8449, 4615, 3892, 8449, 8449, 4604, 3901, 3864, 4603, 3904,
886 1562, 1694, 3912, 3920, 3915, 4614, 4547, 4547, 3875, 3930,
887 3934, 4556, 3937, 3940, 4540, 3943, 3946, 3954, 4545, 4533,
888 3963, 8449, 8449, 3957, 3975, 3985, 3988, 4517, 4004, 4520,
889 4007, 4010, 4018, 4489, 4025, 8449, 8449, 4036, 4039, 4047,
890 4481, 4449, 4434, 4414, 4050, 4054, 4413, 4057, 4061, 4069,
891 4400, 4075, 4078, 4381, 4087, 4352, 4093, 4358, 4286, 4260,
892 4096, 4099, 4260, 4107, 4231, 4114, 4154, 4120, 4126, 4129,
893 4133, 4143, 4138, 4147, 4152, 4157, 4137, 4166, 8449, 8449,
895 4136, 4052, 4160, 4030, 4179, 4186, 4200, 4204, 4207, 4212,
896 4225, 818, 415, 960, 8449, 4003, 4228, 4231, 3920, 3909,
897 3861, 3817, 4234, 95, 108, 155, 241, 4237, 4240, 4246,
898 328, 4250, 383, 4253, 4260, 499, 560, 631, 4263, 699,
899 4266, 701, 739, 4269, 754, 4272, 760, 4275, 4278, 802,
900 852, 1309, 853, 881, 884, 1320, 899, 4281, 8449, 8449,
901 4296, 4300, 896, 957, 4303, 4306, 951, 4309, 4318, 8449,
902 8449, 4327, 957, 991, 4330, 8449, 8449, 4339, 1019, 1033,
903 1049, 4347, 8449, 1072, 4350, 8449, 8449, 4358, 4362, 1075,
904 4370, 8449, 8449, 4381, 4384, 4392, 1088, 1103, 1097, 4395,
906 4399, 4413, 1098, 4416, 8449, 8449, 4424, 4428, 1267, 4436,
907 8449, 8449, 1283, 4444, 8449, 1296, 4447, 1289, 4450, 1325,
908 4453, 1352, 1360, 1340, 4468, 8449, 1342, 4471, 1335, 4474,
909 4477, 4492, 4497, 1350, 4505, 1351, 4511, 4514, 4517, 4525,
910 4532, 4543, 1369, 1393, 1399, 4546, 1398, 4549, 8449, 8449,
911 4557, 4565, 4572, 8449, 8449, 4580, 8449, 1499, 1689, 1590,
912 1409, 4584, 4587, 4595, 4602, 1405, 1434, 4614, 4619, 4622,
913 1450, 1460, 4625, 4628, 4631, 4634, 1460, 4637, 4640, 4643,
914 4646, 4649, 1461, 4652, 1472, 1489, 4655, 8449, 1471, 4659,
915 4662, 1489, 4677, 4680, 4683, 1527, 1538, 1546, 1553, 1546,
917 1561, 1561, 1565, 1576, 1585, 4691, 4698, 4704, 4712, 1581,
918 4716, 4719, 4722, 4725, 4733, 1592, 1585, 1627, 1634, 1598,
919 1609, 4741, 8449, 8449, 1616, 4752, 8449, 8449, 4760, 4763,
920 1642, 1655, 1661, 4771, 8449, 8449, 4779, 1662, 4785, 8449,
921 8449, 1665, 1680, 1675, 4793, 1687, 4798, 4801, 1706, 1712,
922 1759, 1762, 1724, 1733, 4812, 8449, 1726, 4816, 8449, 8449,
923 4824, 8449, 8449, 1742, 4832, 1737, 4835, 4839, 8449, 8449,
924 4847, 8449, 8449, 4855, 4858, 1750, 1745, 4861, 1739, 4864,
925 4867, 4870, 1788, 1789, 4736, 4892, 8449, 8449, 4901, 4876,
926 4904, 1758, 4907, 4910, 4913, 4916, 4920, 4926, 1780, 4929,
928 4932, 4935, 1788, 4938, 1785, 8449, 4941, 4944, 8449, 8449,
929 1786, 4952, 8449, 4960, 8449, 8449, 1834, 1820, 1840, 1851,
930 1872, 1881, 1867, 1883, 1878, 1886, 4971, 4974, 8449, 8449,
931 4982, 1848, 4985, 4990, 8449, 8449, 4998, 1860, 1870, 1913,
932 1949, 1936, 1955, 1913, 1910, 1914, 5001, 8449, 8449, 5009,
933 1911, 1921, 5012, 1920, 1925, 1933, 1935, 5017, 8449, 5020,
934 5032, 8449, 8449, 1932, 1944, 1997, 2027, 2008, 2035, 1996,
935 2006, 5023, 2023, 5027, 5040, 5046, 5049, 5052, 5058, 5070,
936 2030, 5073, 5076, 5079, 5082, 8449, 5088, 2152, 2081, 5092,
937 5101, 5110, 2018, 5113, 5116, 2025, 2030, 5120, 8449, 2023,
939 5123, 5126, 2047, 2066, 2063, 2078, 2111, 2122, 2120, 2117,
940 2131, 2123, 2136, 5134, 2108, 5141, 8449, 2110, 2113, 2178,
941 8449, 2216, 8449, 5145, 2159, 2180, 5153, 5156, 2170, 5164,
942 5167, 8449, 2165, 2171, 5171, 2172, 5174, 5182, 2189, 2186,
943 2187, 2245, 8449, 2244, 8449, 5177, 2195, 5195, 2197, 5198,
944 8449, 5201, 5204, 5212, 5219, 5222, 8449, 8449, 5231, 5234,
945 5242, 5245, 8449, 5249, 5252, 2262, 2253, 2298, 5255, 8449,
946 2233, 2234, 2249, 5260, 5264, 2330, 2583, 2249, 2289, 2300,
947 2300, 2303, 2353, 2337, 2348, 2347, 2356, 2372, 5274, 2346,
948 2336, 5278, 8449, 8449, 5281, 5286, 2341, 2364, 5299, 8449,
950 8449, 2381, 5307, 5310, 2384, 5318, 5321, 5325, 5339, 5342,
951 8449, 8449, 2411, 2416, 2424, 8449, 8449, 5350, 5353, 5361,
952 5364, 5368, 2564, 2594, 5382, 8449, 5385, 5388, 8449, 8449,
953 5396, 5404, 5414, 8449, 2476, 2478, 2539, 5417, 2431, 2433,
954 5420, 5423, 2447, 2453, 2468, 2467, 2470, 2532, 2447, 2509,
955 2516, 2520, 2527, 8449, 2551, 2535, 2543, 2555, 8449, 5433,
956 5438, 5441, 5444, 5452, 5462, 8449, 8449, 2558, 2551, 2563,
957 5470, 8449, 8449, 2574, 5478, 5481, 5489, 8449, 8449, 5497,
958 5500, 2567, 5508, 2576, 5511, 8449, 8449, 5519, 5522, 5530,
959 5533, 2600, 2602, 2608, 2611, 2612, 2632, 5541, 5544, 8449,
961 8449, 2652, 2654, 5552, 5447, 2608, 2610, 5556, 8449, 8449,
962 2656, 2658, 2662, 2671, 2678, 2667, 2668, 2677, 5564, 2666,
963 2688, 2709, 2705, 2689, 2710, 2724, 2713, 5571, 5574, 5577,
964 5583, 2682, 5595, 8449, 8449, 2685, 2691, 2685, 2704, 5603,
965 8449, 8449, 5611, 8449, 8449, 2707, 5621, 5624, 2689, 5632,
966 2746, 2757, 5640, 2777, 2779, 2720, 2759, 2789, 2754, 2763,
967 2791, 5648, 2795, 5651, 5654, 5657, 5676, 5679, 2768, 2791,
968 2809, 2797, 2804, 2814, 2819, 2824, 5682, 5685, 2839, 2840,
969 8449, 2841, 2844, 2844, 8449, 2846, 5693, 5696, 8449, 8449,
970 2820, 2826, 2827, 5704, 2832, 5707, 5712, 8449, 8449, 5725,
972 2860, 2875, 2867, 2880, 2873, 2895, 2894, 2905, 2899, 2909,
973 8449, 2902, 2912, 8449, 5728, 8449, 2962, 5731, 5734, 5743,
974 5763, 5810, 5753, 5774, 2922, 2943, 2944, 2912, 2931, 2948,
975 2959, 2932, 5783, 8449, 8449, 2972, 2948, 2971, 3003, 2980,
976 2992, 5800, 2971, 2973, 2984, 5804, 5791, 2978, 5822, 5830,
977 5840, 5843, 3032, 3014, 3045, 3017, 3051, 3020, 3051, 3029,
978 3076, 3078, 3076, 3078, 3072, 5858, 3083, 3081, 5878, 5925,
979 3079, 8449, 8449, 3066, 3092, 8449, 8449, 3073, 8449, 3110,
980 3112, 8449, 3110, 3115, 5851, 8449, 3079, 3080, 3070, 5866,
981 3118, 3186, 3090, 5898, 8449, 8449, 5906, 3188, 3194, 8449,
983 3140, 8449, 3145, 8449, 3150, 8449, 3163, 8449, 8449, 8449,
984 8449, 3174, 3276, 3154, 3172, 3196, 3170, 5915, 3193, 3213,
985 3226, 3216, 8449, 8449, 8449, 8449, 5919, 5937, 5945, 3257,
986 3232, 3284, 3242, 5948, 3310, 3243, 3323, 3245, 8449, 8449,
987 8449, 8449, 5955, 3275, 3278, 3292, 5958, 3297, 3282, 3298,
988 3306, 5951, 5977, 5985, 5988, 5996, 5999, 3291, 3301, 3314,
989 3303, 3313, 3330, 6010, 6014, 3325, 3342, 3355, 3346, 3354,
990 3373, 6022, 3376, 8449, 3364, 8449, 3365, 6028, 8449, 8449,
991 6037, 8449, 8449, 6045, 3379, 3404, 3367, 3376, 3379, 3389,
992 3395, 3398, 6053, 8449, 8449, 3400, 3411, 3411, 3413, 3429,
994 3425, 3454, 8449, 3462, 3466, 3455, 3449, 3467, 3462, 3462,
995 3472, 3478, 3477, 3488, 3491, 3489, 3497, 3502, 3499, 3514,
996 3514, 3522, 8449, 8449, 3507, 3533, 3517, 3536, 3523, 3535,
997 3559, 3549, 3546, 3564, 3559, 3556, 3577, 3567, 3564, 3582,
998 3619, 3578, 3598, 3609, 3609, 3635, 3625, 3662, 3650, 3645,
999 3677, 3661, 3652, 3684, 3671, 3661, 3691, 3697, 3675, 3681,
1000 3678, 3695, 3720, 3694, 8449, 3720, 3702, 8449, 3730, 3716,
1001 8449, 3742, 3719, 8449, 3760, 3717, 3747, 3737, 3757, 8449,
1002 3767, 8449, 3780, 8449, 3781, 8449, 3783, 6061, 3785, 3806,
1003 3798, 3816, 3786, 3787, 3789, 3790, 6064, 3840, 8449, 3839,
1005 8449, 3843, 3842, 3846, 3851, 3871, 3908, 8449, 8449, 8449,
1006 8449, 8449, 8449, 3842, 3863, 3931, 3933, 3891, 3955, 3966,
1007 4016, 3877, 3973, 4003, 4005, 3981, 4026, 3976, 4055, 3975,
1008 4065, 4118, 4123, 4100, 4132, 4127, 4165, 3850, 3860, 3960,
1009 4176, 4124, 4239, 4137, 4192, 4024, 4042, 4154, 4272, 4268,
1010 4320, 4073, 4205, 4306, 4335, 4281, 4349, 4156, 4343, 4305,
1011 4358, 4372, 4387, 3851, 4360, 4401, 4519, 4337, 4404, 4440,
1012 4445, 4094, 4369, 4416, 4421, 4465, 4522, 4464, 4472, 4482,
1013 4537, 4536, 4647, 4523, 4545, 4657, 4678, 4553, 4737, 4726,
1014 4732, 3963, 4684, 4740, 4756, 4484, 4599, 6072, 6075, 8449,
1016 8449, 6095, 6104, 6113, 6122, 6131, 6140, 6149, 6158, 6167,
1017 6176, 6185, 6194, 6203, 6212, 6221, 6230, 6239, 6248, 6257,
1018 6266, 6275, 6284, 6293, 6302, 6311, 6320, 6329, 6338, 6347,
1019 6356, 6365, 6374, 6383, 6392, 6401, 6410, 6419, 6428, 6437,
1020 6446, 6455, 6464, 6473, 6482, 6489, 6496, 6503, 6510, 6517,
1021 6524, 6531, 6538, 6545, 6552, 6559, 6566, 6573, 6580, 6587,
1022 6594, 6601, 6608, 6615, 6622, 6631, 6638, 6643, 6650, 6655,
1023 6662, 6667, 6674, 6679, 6686, 6691, 6698, 6703, 6710, 6715,
1024 6722, 6727, 6734, 6739, 6746, 6751, 6758, 6763, 6770, 6775,
1025 6782, 6787, 6794, 6799, 6806, 6811, 6818, 6823, 6830, 6835,
1027 6842, 6847, 6854, 6859, 6866, 6871, 6880, 6886, 6893, 6901,
1028 6908, 6916, 6923, 6931, 6938, 6946, 6953, 6961, 6968, 6976,
1029 6983, 6991, 6998, 7006, 7013, 7021, 7028, 7036, 7043, 7051,
1030 7058, 7066, 7074, 7082, 7090, 7098, 7105, 7113, 7121, 7129,
1031 7136, 7144, 7151, 7159, 7167, 7174, 7182, 7191, 7197, 7204,
1032 7212, 7220, 7228, 7236, 7244, 7251, 7259, 7266, 7274, 7281,
1033 7289, 7296, 7304, 7311, 7319, 7326, 7334, 7341, 7349, 7356,
1034 7364, 7371, 7379, 7386, 7394, 7401, 7409, 7416, 7424, 7431,
1035 7439, 7446, 7454, 7461, 7469, 7477, 7484, 7492, 7501, 7510,
1036 7517, 7525, 7533, 7540, 7548, 7555, 7563, 7570, 7578, 7585,
1038 7592, 7600, 7607, 7615, 7622, 7630, 7637, 7645, 7652, 7660,
1039 7667, 7675, 7682, 7690, 7697, 7705, 7712, 7720, 7727, 7735,
1040 7742, 7750, 7758, 7766, 7774, 7782, 7790, 7799, 7808, 7815,
1041 7823, 7831, 7838, 7846, 7853, 7861, 7868, 7876, 7883, 7890,
1042 7898, 7905, 7913, 7920, 7928, 7935, 7943, 7950, 7958, 7965,
1043 7973, 7980, 7988, 7996, 8004, 8011, 8019, 8027, 8035, 8042,
1044 8050, 8058, 8066, 8074, 8083, 8092, 8100, 8108, 8116, 8123,
1045 8131, 8138, 8146, 8154, 8162, 8170, 8178, 8186, 8193, 8200,
1046 8208, 8215, 8222, 8230, 8237, 8244, 8252, 8259, 8267, 8274,
1047 8282, 8290, 8297, 8305, 8313, 8321, 8330, 8339, 8347, 8355,
1049 8362, 8369, 8377, 8385, 8394, 8403, 8412, 8421, 8430, 8439
1052 static yyconst flex_int16_t yy_def[2811] =
1054 2502, 2502, 2503, 2503, 2503, 2503, 2504, 2504, 2505, 2505,
1055 2506, 2506, 2507, 2507, 2507, 2507, 2508, 2508, 2502, 2502,
1056 2509, 2509, 2510, 2510, 2510, 2510, 2502, 2502, 2510, 2510,
1057 2510, 2510, 2502, 2502, 2510, 2510, 2502, 2502, 2510, 2510,
1058 2510, 2510, 2511, 2511, 2512, 2512, 2513, 2513, 2507, 2507,
1059 2514, 2514, 2515, 2515, 2502, 2502, 2515, 2515, 2515, 2515,
1060 2516, 2516, 2517, 2517, 2518, 2518, 2519, 2519, 2519, 2519,
1061 2502, 2502, 2519, 2519, 2519, 2519, 2502, 2502, 2519, 2519,
1062 2502, 2502, 2519, 2519, 2519, 2519, 2502, 2502, 2519, 2519,
1063 2502, 2502, 2519, 2519, 2519, 2519, 2520, 2520, 2521, 2521,
1065 2502, 2502, 2521, 2521, 2521, 2521, 2522, 2522, 2523, 2523,
1066 2502, 2502, 2523, 2523, 2523, 2523, 2501, 117, 2524, 2524,
1067 2501, 121, 2525, 2525, 2526, 2526, 2527, 2527, 2528, 2528,
1068 2529, 2529, 2502, 2502, 2529, 2529, 2529, 2529, 2530, 2530,
1069 2531, 2531, 2502, 2502, 2531, 2531, 2531, 2531, 2532, 2532,
1070 2533, 2533, 2502, 2502, 2533, 2533, 2533, 2533, 2534, 2534,
1071 2535, 2535, 2536, 2536, 2537, 2537, 2502, 2502, 2537, 2537,
1072 2537, 2537, 2538, 2538, 2539, 2539, 2502, 2502, 2539, 2539,
1073 2539, 2539, 2540, 2540, 2541, 2541, 2542, 2542, 2543, 2543,
1074 2502, 2502, 2543, 2543, 2543, 2543, 2544, 2544, 2545, 2545,
1076 2502, 2502, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1077 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1078 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1079 2501, 2501, 2501, 2546, 2501, 2501, 2546, 2501, 2501, 2501,
1080 240, 240, 240, 240, 243, 243, 2501, 2501, 2501, 2547,
1081 2501, 2501, 2547, 2501, 2501, 2501, 2501, 2501, 2501, 2548,
1082 2501, 2501, 2548, 2548, 2548, 2501, 2501, 2501, 2501, 2501,
1083 2549, 2501, 2501, 2549, 2549, 2549, 2549, 2549, 2501, 2501,
1084 243, 281, 281, 2501, 2501, 2501, 2550, 2501, 2501, 2550,
1085 2550, 2550, 2501, 2501, 2501, 2501, 2501, 2501, 2551, 2501,
1087 2501, 2551, 2551, 2501, 2501, 244, 281, 244, 306, 307,
1088 307, 307, 307, 313, 314, 313, 313, 2501, 2501, 2501,
1089 2552, 2501, 2501, 2552, 2552, 2552, 2501, 2501, 281, 281,
1090 2501, 2501, 2501, 2553, 2501, 2501, 2553, 2553, 2553, 2553,
1091 2553, 2501, 2501, 281, 281, 2501, 2501, 2501, 2554, 2501,
1092 2501, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2501,
1093 2501, 2501, 2501, 2501, 2501, 2555, 2501, 2501, 2555, 2555,
1094 2555, 2555, 2555, 2555, 2555, 2501, 2501, 2501, 2501, 2501,
1095 2501, 2556, 2501, 2501, 2556, 2556, 2501, 2501, 2501, 2501,
1096 2501, 2501, 2557, 2501, 2501, 2557, 2557, 2557, 2557, 2501,
1098 2501, 281, 281, 2501, 2501, 2501, 2558, 2501, 2501, 2558,
1099 2558, 2501, 2501, 281, 414, 414, 2501, 2501, 2501, 2559,
1100 2501, 2501, 2559, 2559, 2559, 2501, 2501, 414, 414, 2501,
1101 2501, 2501, 2560, 2501, 2501, 2560, 2560, 2501, 2501, 2501,
1102 2501, 2501, 2501, 2561, 2501, 2501, 2561, 2561, 2561, 2501,
1103 2501, 414, 414, 2501, 2501, 2501, 2562, 2501, 2501, 2562,
1104 2562, 2562, 2562, 2501, 2501, 281, 281, 281, 2501, 2501,
1105 2501, 2563, 2501, 2501, 2563, 2501, 2501, 2501, 2501, 2501,
1106 2501, 2564, 2501, 2501, 2564, 2501, 2501, 281, 281, 2501,
1107 2501, 2501, 2565, 2501, 2501, 2565, 2565, 2501, 2501, 2501,
1109 2501, 2566, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1110 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2567, 2567, 2568,
1111 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1112 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1113 2501, 2501, 2569, 2569, 2570, 2501, 2571, 2571, 2571, 2571,
1114 2501, 2572, 2501, 2501, 2573, 2573, 2573, 2573, 2573, 2573,
1115 2573, 2573, 2573, 2574, 2501, 2501, 2575, 2575, 2575, 2575,
1116 2576, 2501, 2577, 2577, 2577, 2578, 2501, 2501, 2501, 2501,
1117 2501, 2501, 2501, 2501, 2501, 2501, 2579, 2579, 2579, 2579,
1118 2580, 2501, 2581, 2581, 2581, 2581, 2581, 2581, 2582, 2501,
1120 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583,
1121 2583, 2583, 2583, 2583, 2584, 2501, 2585, 2585, 2585, 2585,
1122 2585, 2585, 2585, 2585, 2586, 2501, 2587, 2587, 2587, 2588,
1123 2501, 2589, 2589, 2589, 2589, 2589, 2589, 2590, 2501, 2591,
1124 2591, 2591, 2591, 2592, 2501, 2501, 2593, 2593, 2593, 2593,
1125 2593, 2594, 2501, 2595, 2595, 2595, 2596, 2501, 2597, 2597,
1126 2597, 2597, 2598, 2501, 2599, 2599, 2599, 2599, 2599, 2600,
1127 2501, 2501, 2601, 2601, 2602, 2501, 2603, 2603, 2604, 2501,
1128 2605, 2605, 2605, 2606, 2607, 2501, 2607, 2501, 2501, 2501,
1129 2608, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2609, 2610,
1131 2610, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1132 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1133 2501, 2501, 2501, 2501, 2611, 2612, 2612, 2613, 2501, 2501,
1134 2613, 2501, 2614, 2614, 2501, 2615, 2501, 2501, 2615, 2615,
1135 2615, 2615, 2615, 2615, 2616, 2616, 2501, 2617, 2617, 2617,
1136 2618, 2618, 2501, 2501, 2619, 2620, 2620, 2501, 2501, 2501,
1137 2501, 2501, 2501, 2501, 2501, 2501, 2621, 2501, 2501, 2621,
1138 2622, 2622, 2623, 2623, 2623, 2501, 2501, 2623, 2623, 2624,
1139 2624, 2625, 2625, 2501, 2501, 2625, 2501, 2501, 2625, 2625,
1140 2625, 2625, 2625, 2625, 2625, 2625, 2626, 2626, 2627, 2627,
1142 2627, 2501, 2501, 2627, 2627, 2627, 2628, 2628, 2629, 2501,
1143 2501, 2630, 2630, 2631, 2501, 2501, 2631, 2631, 2631, 2632,
1144 2632, 2633, 2633, 2633, 2634, 2634, 2501, 2635, 2635, 2635,
1145 2635, 2636, 2636, 2637, 2501, 2501, 2638, 2638, 2639, 2639,
1146 2639, 2640, 2640, 2641, 2641, 2641, 2641, 2642, 2642, 2501,
1147 2643, 2644, 2644, 2501, 2501, 2645, 2645, 2501, 2501, 2646,
1148 2647, 2647, 2648, 2501, 2501, 2648, 2501, 2501, 2649, 2501,
1149 2501, 2501, 2501, 2501, 2501, 2650, 2501, 2651, 2501, 2651,
1150 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1151 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1153 2501, 2501, 2501, 2501, 2652, 2501, 2653, 2501, 2653, 2654,
1154 2501, 2501, 2501, 2654, 2501, 2501, 2655, 2501, 2655, 2656,
1155 2501, 2501, 2501, 2501, 2501, 2656, 2501, 2501, 2656, 2656,
1156 2656, 2501, 2657, 2501, 2657, 2501, 2658, 2658, 2658, 2501,
1157 2659, 2501, 2659, 2501, 2501, 2501, 2660, 2501, 2661, 2501,
1158 2661, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2662,
1159 2501, 2501, 2501, 2662, 2501, 2663, 2501, 2663, 2664, 2664,
1160 2664, 2501, 2501, 2501, 2664, 2664, 2501, 2665, 2501, 2665,
1161 2666, 2666, 2666, 2666, 2501, 2501, 2501, 2666, 2501, 2501,
1162 2501, 2501, 2501, 2666, 2666, 2666, 2666, 2666, 2666, 2666,
1164 2501, 2667, 2501, 2667, 2668, 2668, 2668, 2668, 2501, 2501,
1165 2501, 2501, 2501, 2668, 2668, 2501, 2669, 2501, 2669, 2670,
1166 2501, 2501, 2501, 2501, 2671, 2501, 2671, 2672, 2501, 2501,
1167 2501, 2672, 2672, 2672, 2501, 2673, 2501, 2673, 2501, 2501,
1168 2501, 2501, 2674, 2501, 2675, 2501, 2675, 2501, 2501, 2501,
1169 2676, 2676, 2501, 2501, 2676, 2501, 2677, 2501, 2677, 2678,
1170 2501, 2501, 2501, 2501, 2679, 2501, 2679, 2501, 2501, 2680,
1171 2680, 2501, 2501, 2501, 2681, 2501, 2681, 2682, 2682, 2682,
1172 2682, 2501, 2683, 2501, 2683, 2501, 2684, 2501, 2685, 2501,
1173 2685, 2501, 2501, 2501, 2501, 2686, 2501, 2686, 2501, 2501,
1175 2501, 2687, 2501, 2688, 2501, 2688, 2689, 2690, 2501, 2501,
1176 2501, 2501, 2501, 2691, 2692, 2501, 2501, 2501, 2501, 2501,
1177 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1178 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1179 2693, 2501, 2501, 2694, 2501, 2695, 2696, 2501, 2501, 2501,
1180 2501, 2501, 2501, 2501, 2501, 2696, 2501, 2501, 2696, 2697,
1181 2501, 2698, 2501, 2501, 2698, 2699, 2700, 2501, 2501, 2501,
1182 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2701, 2701, 2702,
1183 2703, 2703, 2501, 2501, 2703, 2703, 2704, 2705, 2705, 2705,
1184 2705, 2501, 2501, 2501, 2501, 2501, 2705, 2705, 2705, 2705,
1186 2705, 2705, 2705, 2706, 2707, 2707, 2707, 2707, 2501, 2501,
1187 2501, 2707, 2707, 2708, 2709, 2710, 2711, 2711, 2711, 2711,
1188 2712, 2501, 2501, 2501, 2501, 2501, 2501, 2713, 2714, 2501,
1189 2501, 2501, 2501, 2715, 2715, 2501, 2501, 2501, 2715, 2716,
1190 2717, 2718, 2501, 2501, 2501, 2719, 2719, 2501, 2501, 2501,
1191 2720, 2721, 2501, 2501, 2721, 2721, 2722, 2501, 2723, 2724,
1192 2725, 2726, 2727, 2728, 2729, 2729, 2501, 2729, 2501, 2501,
1193 2501, 2730, 2731, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1194 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1195 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1197 2732, 2501, 2501, 2501, 2733, 2501, 2734, 2735, 2501, 2501,
1198 2501, 2735, 2501, 2501, 2501, 2735, 2736, 2501, 2737, 2501,
1199 2501, 2501, 2501, 2501, 2738, 2739, 2501, 2501, 2501, 2501,
1200 2501, 2501, 2501, 2501, 2740, 2501, 2501, 2741, 2742, 2742,
1201 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2742, 2743, 2744,
1202 2501, 2501, 2744, 2744, 2501, 2501, 2501, 2501, 2501, 2744,
1203 2744, 2744, 2744, 2744, 2744, 2745, 2746, 2501, 2501, 2746,
1204 2746, 2501, 2501, 2746, 2747, 2748, 2749, 2750, 2750, 2750,
1205 2501, 2501, 2750, 2751, 2752, 2753, 2501, 2754, 2754, 2754,
1206 2755, 2756, 2757, 2758, 2758, 2759, 2760, 2501, 2501, 2501,
1208 2760, 2760, 2761, 2501, 2501, 2501, 2762, 2763, 2501, 2501,
1209 2764, 2765, 2766, 2766, 2501, 2501, 2767, 2768, 2501, 2501,
1210 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1211 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1212 2769, 2770, 2501, 2771, 2772, 2772, 2772, 2773, 2774, 2501,
1213 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1214 2775, 2776, 2501, 2501, 2501, 2501, 2501, 2777, 2501, 2501,
1215 2501, 2778, 2779, 2779, 2501, 2501, 2501, 2501, 2501, 2501,
1216 2779, 2501, 2501, 2780, 2501, 2501, 2501, 2501, 2501, 2780,
1217 2501, 2501, 2501, 2501, 2501, 2780, 2780, 2780, 2780, 2501,
1219 2501, 2781, 2782, 2501, 2501, 2501, 2501, 2501, 2782, 2501,
1220 2501, 2501, 2782, 2501, 2501, 2783, 2784, 2785, 2785, 2785,
1221 2501, 2501, 2501, 2785, 2501, 2501, 2786, 2787, 2501, 2501,
1222 2501, 2501, 2501, 2788, 2789, 2790, 2791, 2501, 2501, 2501,
1223 2501, 2792, 2793, 2793, 2793, 2794, 2501, 2501, 2501, 2501,
1224 2795, 2796, 2501, 2501, 2501, 2501, 2501, 2797, 2798, 2798,
1225 2501, 2501, 2501, 2799, 2501, 2501, 2501, 2501, 2501, 2501,
1226 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1227 2501, 2501, 2501, 2800, 2801, 2501, 2501, 2501, 2802, 2501,
1228 2501, 2802, 2803, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1230 2501, 2501, 2501, 2501, 2501, 2804, 2501, 2501, 2501, 2501,
1231 2501, 2501, 2501, 2501, 2778, 2779, 2779, 2501, 2501, 2779,
1232 2780, 2501, 2501, 2501, 2780, 2501, 2501, 2501, 2501, 2501,
1233 2780, 2780, 2780, 2501, 2501, 2501, 2781, 2782, 2501, 2501,
1234 2501, 2782, 2782, 2783, 2784, 2785, 2501, 2501, 2785, 2785,
1235 2501, 2501, 2785, 2786, 2501, 2501, 2501, 2501, 2501, 2501,
1236 2501, 2501, 2501, 2788, 2789, 2790, 2791, 2501, 2501, 2501,
1237 2501, 2501, 2501, 2792, 2793, 2793, 2793, 2794, 2501, 2795,
1238 2796, 2797, 2798, 2798, 2501, 2501, 2501, 2501, 2799, 2501,
1239 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1241 2501, 2501, 2501, 2800, 2801, 2501, 2802, 2501, 2501, 2501,
1242 2802, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1243 2501, 2501, 2501, 2501, 2501, 2501, 2804, 2501, 2501, 2501,
1244 2501, 2501, 2501, 2501, 2501, 2501, 2778, 2779, 2779, 2501,
1245 2501, 2501, 2501, 2779, 2780, 2780, 2501, 2501, 2501, 2780,
1246 2780, 2780, 2781, 2782, 2782, 2782, 2783, 2501, 2501, 2785,
1247 2501, 2501, 2501, 2785, 2785, 2501, 2501, 2501, 2501, 2785,
1248 2786, 2501, 2788, 2789, 2790, 2791, 2792, 2501, 2501, 2793,
1249 2793, 2794, 2501, 2795, 2501, 2501, 2797, 2798, 2798, 2501,
1250 2799, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2801,
1252 2501, 2501, 2802, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1253 2501, 2501, 2501, 2804, 2501, 2501, 2501, 2779, 2779, 2501,
1254 2501, 2501, 2501, 2779, 2780, 2780, 2501, 2501, 2780, 2780,
1255 2501, 2501, 2782, 2782, 2782, 2783, 2501, 2501, 2785, 2785,
1256 2785, 2501, 2501, 2501, 2501, 2785, 2786, 2501, 2788, 2501,
1257 2501, 2501, 2501, 2791, 2792, 2501, 2501, 2501, 2501, 2501,
1258 2793, 2501, 2501, 2501, 2795, 2797, 2798, 2798, 2501, 2501,
1259 2501, 2501, 2501, 2801, 2501, 2501, 2501, 2802, 2501, 2501,
1260 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2804, 2501,
1261 2779, 2779, 2501, 2501, 2501, 2501, 2780, 2780, 2501, 2501,
1263 2501, 2780, 2501, 2501, 2782, 2782, 2501, 2501, 2783, 2501,
1264 2501, 2501, 2785, 2785, 2785, 2501, 2501, 2501, 2501, 2786,
1265 2788, 2501, 2501, 2501, 2501, 2501, 2792, 2501, 2501, 2501,
1266 2501, 2501, 2501, 2501, 2797, 2798, 2798, 2501, 2501, 2501,
1267 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2802, 2501,
1268 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2804,
1269 2501, 2779, 2501, 2501, 2501, 2501, 2501, 2780, 2780, 2780,
1270 2501, 2501, 2501, 2782, 2501, 2501, 2501, 2501, 2501, 2501,
1271 2501, 2785, 2785, 2785, 2501, 2501, 2501, 2501, 2501, 2501,
1272 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2792, 2501, 2501,
1274 2501, 2797, 2798, 2798, 2501, 2501, 2501, 2501, 2501, 2501,
1275 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2802, 2501,
1276 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2804, 2501, 2501,
1277 2501, 2779, 2501, 2501, 2501, 2780, 2780, 2780, 2782, 2501,
1278 2501, 2501, 2501, 2501, 2501, 2785, 2501, 2501, 2785, 2501,
1279 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1280 2501, 2792, 2797, 2798, 2798, 2798, 2501, 2501, 2501, 2501,
1281 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1282 2501, 2501, 2501, 2501, 2501, 2501, 2804, 2501, 2501, 2501,
1283 2779, 2780, 2780, 2780, 2782, 2785, 2501, 2501, 2501, 2785,
1285 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1286 2501, 2501, 2501, 2501, 2501, 2501, 2797, 2798, 2798, 2798,
1287 2805, 2806, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1288 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1289 2501, 2804, 2779, 2780, 2780, 2501, 2501, 2782, 2501, 2501,
1290 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1291 2501, 2501, 2501, 2501, 2797, 2798, 2807, 2808, 2805, 2806,
1292 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1293 2501, 2501, 2501, 2501, 2501, 2501, 2779, 2780, 2780, 2501,
1294 2501, 2501, 2782, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1296 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1297 2501, 2797, 2807, 2798, 2809, 2808, 2810, 2798, 2501, 2501,
1298 2501, 2501, 2501, 2501, 2501, 2501, 2779, 2780, 2780, 2501,
1299 2501, 2501, 2501, 2782, 2501, 2501, 2501, 2501, 2501, 2501,
1300 2501, 2501, 2797, 2809, 2501, 2810, 2798, 2501, 2501, 2501,
1301 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1302 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1303 2501, 2797, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1304 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1305 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1307 2501, 2797, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1308 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1309 2501, 2797, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1310 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1311 2797, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1312 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2797, 2501, 2501,
1313 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1314 2501, 2501, 2501, 2501, 2797, 2501, 2501, 2501, 2501, 2501,
1315 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2797, 2501, 2501,
1316 2501, 2501, 2501, 2501, 2501, 2501, 2797, 2501, 2501, 2501,
1318 2501, 2501, 2501, 2501, 2501, 2797, 2797, 2501, 2501, 2501,
1319 2501, 2501, 2501, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1320 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1321 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1322 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1323 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1324 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1325 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1326 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
1327 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2501,
1329 0, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1330 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1331 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1332 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1333 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1334 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1335 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1336 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1337 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1338 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1340 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1341 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1342 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1343 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1344 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1345 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1346 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1347 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1348 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1349 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1351 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1352 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1353 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1354 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1355 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1356 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1357 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1358 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1359 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1360 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
1362 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501
1365 static yyconst flex_int16_t yy_nxt[8522] =
1367 2501, 206, 207, 206, 206, 207, 206, 206, 207, 206,
1368 206, 207, 206, 211, 207, 211, 217, 208, 214, 217,
1369 208, 214, 2501, 209, 2501, 215, 209, 2501, 215, 212,
1370 211, 207, 211, 502, 218, 220, 221, 218, 220, 221,
1371 222, 223, 564, 222, 223, 502, 212, 227, 228, 503,
1372 224, 220, 221, 224, 225, 505, 222, 220, 221, 536,
1373 225, 504, 222, 227, 228, 537, 224, 207, 207, 207,
1374 576, 504, 224, 207, 207, 207, 239, 207, 239, 239,
1375 207, 239, 710, 230, 239, 207, 239, 536, 711, 230,
1376 525, 229, 240, 565, 712, 240, 501, 501, 501, 533,
1378 241, 501, 501, 501, 501, 501, 501, 229, 231, 232,
1379 207, 232, 231, 231, 231, 231, 231, 231, 231, 233,
1380 231, 231, 231, 581, 231, 235, 231, 236, 231, 239,
1381 207, 239, 207, 207, 207, 207, 207, 207, 532, 239,
1382 207, 239, 239, 207, 239, 241, 2501, 1570, 242, 505,
1383 505, 242, 533, 231, 231, 240, 534, 505, 240, 239,
1384 207, 239, 501, 501, 501, 504, 504, 501, 501, 501,
1385 501, 501, 501, 504, 1571, 243, 237, 231, 232, 207,
1386 232, 231, 231, 231, 231, 231, 231, 231, 233, 231,
1387 231, 231, 591, 231, 235, 231, 236, 231, 239, 207,
1389 239, 207, 207, 207, 207, 207, 207, 516, 239, 207,
1390 239, 239, 207, 239, 243, 2501, 533, 244, 538, 1572,
1391 244, 599, 231, 231, 241, 534, 534, 241, 207, 207,
1392 207, 207, 207, 207, 239, 207, 239, 239, 207, 239,
1393 239, 207, 239, 537, 245, 237, 608, 245, 505, 609,
1394 243, 2501, 505, 243, 535, 539, 246, 239, 207, 239,
1395 536, 501, 501, 501, 504, 2501, 537, 540, 504, 533,
1396 538, 538, 537, 246, 247, 248, 207, 248, 247, 247,
1397 247, 247, 247, 247, 247, 249, 247, 247, 247, 523,
1398 247, 251, 247, 252, 247, 255, 207, 255, 255, 207,
1400 255, 280, 207, 280, 532, 558, 1573, 220, 221, 559,
1401 505, 256, 222, 560, 256, 670, 541, 281, 533, 247,
1402 247, 638, 266, 501, 501, 501, 504, 253, 247, 248,
1403 207, 248, 247, 247, 247, 247, 247, 247, 247, 249,
1404 247, 247, 247, 580, 247, 251, 247, 252, 247, 603,
1405 582, 267, 671, 220, 221, 280, 207, 280, 222, 207,
1406 207, 207, 207, 207, 207, 501, 501, 501, 266, 604,
1407 642, 281, 537, 247, 247, 282, 692, 643, 282, 693,
1408 1576, 253, 257, 258, 207, 258, 257, 257, 257, 257,
1409 257, 257, 257, 259, 257, 257, 257, 267, 257, 261,
1411 257, 262, 257, 280, 207, 280, 280, 207, 280, 280,
1412 207, 280, 562, 280, 207, 280, 294, 207, 294, 281,
1413 505, 505, 281, 505, 551, 283, 563, 257, 257, 283,
1414 545, 552, 295, 1577, 1267, 263, 504, 504, 264, 504,
1415 504, 501, 501, 501, 265, 257, 258, 207, 258, 257,
1416 257, 257, 257, 257, 257, 257, 259, 257, 257, 257,
1417 2501, 257, 261, 257, 262, 257, 294, 207, 294, 305,
1418 207, 305, 305, 207, 305, 1559, 305, 207, 305, 305,
1419 207, 305, 295, 505, 505, 306, 505, 505, 306, 650,
1420 257, 257, 307, 571, 612, 307, 651, 671, 263, 504,
1422 504, 264, 504, 504, 510, 613, 614, 265, 268, 269,
1423 207, 269, 268, 268, 268, 268, 268, 268, 268, 270,
1424 268, 268, 268, 686, 268, 272, 268, 273, 268, 207,
1425 207, 207, 207, 207, 207, 305, 207, 305, 670, 305,
1426 207, 305, 305, 207, 305, 308, 511, 610, 308, 505,
1427 505, 309, 512, 268, 268, 309, 513, 615, 310, 732,
1428 611, 514, 274, 1580, 275, 504, 504, 276, 501, 501,
1429 501, 652, 277, 278, 268, 269, 207, 269, 268, 268,
1430 268, 268, 268, 268, 268, 270, 268, 268, 268, 537,
1431 268, 272, 268, 273, 268, 305, 207, 305, 207, 207,
1433 207, 207, 207, 207, 679, 305, 207, 305, 305, 207,
1434 305, 310, 1581, 505, 311, 505, 505, 311, 527, 268,
1435 268, 307, 625, 630, 307, 501, 501, 501, 274, 504,
1436 275, 504, 504, 276, 501, 501, 501, 663, 277, 278,
1437 284, 285, 207, 285, 284, 284, 284, 284, 284, 284,
1438 284, 286, 284, 284, 284, 537, 284, 288, 284, 289,
1439 284, 207, 207, 207, 207, 207, 207, 305, 207, 305,
1440 636, 305, 207, 305, 305, 207, 305, 312, 713, 705,
1441 312, 637, 706, 310, 527, 284, 284, 310, 505, 505,
1442 313, 714, 290, 501, 501, 501, 1582, 291, 501, 501,
1444 501, 501, 501, 501, 504, 504, 292, 284, 285, 207,
1445 285, 284, 284, 284, 284, 284, 284, 284, 286, 284,
1446 284, 284, 686, 284, 288, 284, 289, 284, 305, 207,
1447 305, 207, 207, 207, 207, 207, 207, 687, 305, 207,
1448 305, 305, 207, 305, 313, 705, 505, 314, 717, 1583,
1449 314, 1585, 284, 284, 315, 720, 505, 315, 706, 290,
1450 1586, 534, 504, 657, 291, 501, 501, 501, 501, 501,
1451 501, 644, 504, 292, 296, 297, 207, 297, 296, 296,
1452 296, 296, 296, 296, 296, 298, 296, 296, 296, 523,
1453 296, 300, 296, 301, 296, 207, 207, 207, 207, 207,
1455 207, 305, 207, 305, 584, 305, 207, 305, 305, 207,
1456 305, 316, 505, 505, 316, 1589, 1592, 313, 645, 296,
1457 296, 313, 537, 1596, 317, 501, 501, 501, 504, 504,
1458 302, 501, 501, 501, 501, 501, 501, 864, 303, 296,
1459 297, 207, 297, 296, 296, 296, 296, 296, 296, 296,
1460 298, 296, 296, 296, 1558, 296, 300, 296, 301, 296,
1461 305, 207, 305, 328, 207, 328, 328, 207, 328, 1126,
1462 207, 207, 207, 207, 207, 207, 317, 505, 505, 329,
1463 720, 1127, 329, 717, 296, 296, 282, 1597, 1600, 282,
1464 501, 501, 501, 504, 504, 302, 501, 501, 501, 501,
1466 501, 501, 1601, 303, 318, 319, 207, 319, 318, 318,
1467 318, 318, 318, 318, 318, 320, 318, 318, 318, 1602,
1468 318, 322, 318, 323, 318, 328, 207, 328, 328, 207,
1469 328, 328, 207, 328, 1605, 328, 207, 328, 501, 501,
1470 501, 329, 505, 864, 329, 505, 505, 330, 1609, 318,
1471 318, 330, 675, 684, 324, 501, 501, 501, 504, 866,
1472 325, 504, 504, 326, 318, 319, 207, 319, 318, 318,
1473 318, 318, 318, 318, 318, 320, 318, 318, 318, 1267,
1474 318, 322, 318, 323, 318, 343, 207, 343, 343, 207,
1475 343, 207, 207, 207, 1610, 207, 207, 207, 501, 501,
1477 501, 344, 864, 1612, 344, 718, 718, 282, 718, 318,
1478 318, 282, 1560, 1616, 324, 501, 501, 501, 714, 762,
1479 325, 765, 1264, 326, 331, 332, 207, 332, 331, 331,
1480 331, 331, 331, 331, 331, 333, 331, 331, 331, 1617,
1481 331, 335, 331, 336, 331, 343, 207, 343, 343, 207,
1482 343, 343, 207, 343, 1618, 343, 207, 343, 501, 501,
1483 501, 344, 864, 774, 344, 718, 775, 345, 1619, 331,
1484 331, 345, 337, 722, 338, 501, 501, 501, 766, 711,
1485 339, 501, 501, 501, 864, 723, 340, 1412, 1107, 341,
1486 331, 332, 207, 332, 331, 331, 331, 331, 331, 331,
1488 331, 333, 331, 331, 331, 1620, 331, 335, 331, 336,
1489 331, 361, 207, 361, 361, 207, 361, 377, 207, 377,
1490 1137, 377, 207, 377, 501, 501, 501, 362, 1621, 1006,
1491 362, 1625, 1127, 378, 1007, 331, 331, 378, 337, 722,
1492 338, 501, 501, 501, 1631, 711, 339, 501, 501, 501,
1493 1632, 712, 340, 1633, 1638, 341, 346, 347, 207, 347,
1494 346, 346, 346, 346, 346, 346, 346, 348, 346, 346,
1495 346, 349, 346, 350, 346, 351, 346, 349, 349, 349,
1496 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1497 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1499 349, 346, 346, 349, 352, 353, 354, 349, 349, 349,
1500 349, 349, 355, 349, 356, 349, 349, 349, 357, 349,
1501 358, 359, 349, 349, 349, 349, 349, 349, 363, 364,
1502 207, 364, 363, 363, 363, 363, 363, 363, 363, 365,
1503 363, 363, 363, 366, 363, 367, 363, 368, 363, 366,
1504 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1505 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1506 366, 366, 366, 363, 363, 366, 369, 370, 371, 366,
1507 366, 366, 366, 366, 372, 366, 373, 366, 366, 366,
1508 374, 366, 366, 375, 366, 366, 366, 366, 366, 366,
1510 379, 380, 207, 380, 379, 379, 379, 379, 379, 379,
1511 379, 381, 379, 379, 379, 1642, 379, 383, 379, 384,
1512 379, 388, 207, 388, 388, 207, 388, 401, 207, 401,
1513 1598, 401, 207, 401, 501, 501, 501, 389, 1599, 1643,
1514 389, 1603, 710, 402, 1644, 379, 379, 402, 711, 1604,
1515 385, 501, 501, 501, 723, 1646, 386, 379, 380, 207,
1516 380, 379, 379, 379, 379, 379, 379, 379, 381, 379,
1517 379, 379, 1650, 379, 383, 379, 384, 379, 207, 207,
1518 207, 207, 207, 207, 401, 207, 401, 1651, 401, 207,
1519 401, 501, 501, 501, 282, 1652, 1653, 282, 1654, 722,
1521 402, 1657, 379, 379, 402, 711, 1664, 385, 501, 501,
1522 501, 747, 1666, 386, 390, 391, 207, 391, 390, 390,
1523 390, 390, 390, 390, 390, 392, 390, 390, 390, 1675,
1524 390, 394, 390, 395, 390, 401, 207, 401, 401, 207,
1525 401, 413, 207, 413, 1137, 413, 207, 413, 207, 207,
1526 207, 403, 1676, 982, 403, 1677, 1161, 414, 1679, 390,
1527 390, 414, 983, 396, 415, 501, 501, 501, 1685, 984,
1528 397, 1691, 398, 501, 501, 501, 501, 501, 501, 399,
1529 390, 391, 207, 391, 390, 390, 390, 390, 390, 390,
1530 390, 392, 390, 390, 390, 1692, 390, 394, 390, 395,
1532 390, 207, 207, 207, 413, 207, 413, 413, 207, 413,
1533 1695, 413, 207, 413, 413, 207, 413, 415, 864, 1696,
1534 414, 1699, 1703, 414, 1682, 390, 390, 416, 1705, 396,
1535 416, 501, 501, 501, 1706, 1707, 397, 1711, 398, 501,
1536 501, 501, 690, 690, 690, 399, 404, 405, 207, 405,
1537 404, 404, 404, 404, 404, 404, 404, 406, 404, 404,
1538 404, 1717, 404, 408, 404, 409, 404, 427, 207, 427,
1539 427, 207, 427, 207, 207, 207, 1718, 207, 207, 207,
1540 427, 207, 427, 428, 1450, 1719, 428, 1720, 1721, 415,
1541 1451, 404, 404, 415, 1452, 1722, 428, 410, 1453, 1723,
1543 691, 690, 690, 690, 1724, 868, 881, 881, 881, 1267,
1544 1725, 411, 404, 405, 207, 405, 404, 404, 404, 404,
1545 404, 404, 404, 406, 404, 404, 404, 1726, 404, 408,
1546 404, 409, 404, 427, 207, 427, 427, 207, 427, 427,
1547 207, 427, 1732, 439, 207, 439, 439, 207, 439, 428,
1548 1738, 1739, 429, 1740, 1684, 429, 1744, 404, 404, 440,
1549 1742, 1741, 440, 410, 899, 899, 899, 1745, 1743, 882,
1550 881, 881, 881, 881, 881, 881, 1746, 411, 417, 418,
1551 207, 418, 417, 417, 417, 417, 417, 417, 417, 419,
1552 417, 417, 417, 1750, 417, 421, 417, 422, 417, 451,
1554 207, 451, 451, 207, 451, 207, 207, 207, 1267, 207,
1555 207, 207, 451, 207, 451, 452, 1454, 1751, 452, 1752,
1556 1754, 415, 1455, 417, 417, 415, 1456, 882, 452, 423,
1557 1457, 1755, 424, 911, 911, 911, 952, 912, 1756, 1683,
1558 913, 1757, 1760, 425, 417, 418, 207, 418, 417, 417,
1559 417, 417, 417, 417, 417, 419, 417, 417, 417, 1764,
1560 417, 421, 417, 422, 417, 451, 207, 451, 451, 207,
1561 451, 451, 207, 451, 1765, 465, 207, 465, 465, 207,
1562 465, 452, 1770, 1771, 453, 1766, 1772, 453, 1768, 417,
1563 417, 466, 1773, 1767, 466, 423, 1769, 1775, 424, 921,
1565 921, 921, 1780, 922, 1781, 1783, 923, 1267, 1267, 425,
1566 430, 431, 207, 431, 430, 430, 430, 430, 430, 430,
1567 430, 432, 430, 430, 430, 1793, 430, 434, 430, 435,
1568 430, 207, 207, 207, 207, 207, 207, 465, 207, 465,
1569 1796, 465, 207, 465, 465, 207, 465, 467, 1797, 1788,
1570 467, 1800, 1803, 466, 1789, 430, 430, 466, 1804, 1805,
1571 468, 436, 899, 899, 899, 1806, 437, 430, 431, 207,
1572 431, 430, 430, 430, 430, 430, 430, 430, 432, 430,
1573 430, 430, 1807, 430, 434, 430, 435, 430, 465, 207,
1574 465, 477, 207, 477, 477, 207, 477, 1808, 487, 207,
1576 487, 487, 207, 487, 468, 1809, 1810, 478, 1811, 1812,
1577 478, 1813, 430, 430, 488, 1815, 1818, 488, 436, 899,
1578 899, 899, 1819, 437, 441, 442, 207, 442, 441, 441,
1579 441, 441, 441, 441, 441, 443, 441, 441, 441, 1820,
1580 441, 445, 441, 446, 441, 207, 207, 207, 207, 207,
1581 207, 487, 207, 487, 1821, 487, 207, 487, 487, 207,
1582 487, 282, 1822, 1823, 282, 1824, 1825, 488, 1826, 441,
1583 441, 488, 1829, 1830, 489, 447, 1833, 1834, 448, 944,
1584 944, 944, 952, 945, 2501, 1835, 946, 1836, 1840, 449,
1585 441, 442, 207, 442, 441, 441, 441, 441, 441, 441,
1587 441, 443, 441, 441, 441, 1841, 441, 445, 441, 446,
1588 441, 487, 207, 487, 499, 207, 499, 499, 207, 499,
1589 1279, 1279, 1279, 1842, 877, 877, 877, 489, 579, 526,
1590 500, 580, 1843, 500, 1844, 441, 441, 585, 582, 576,
1591 576, 447, 879, 1845, 448, 1283, 1283, 1283, 1846, 577,
1592 583, 1286, 1286, 1286, 1847, 449, 454, 455, 207, 455,
1593 454, 454, 454, 454, 454, 454, 454, 456, 454, 454,
1594 454, 1849, 454, 458, 454, 459, 454, 578, 578, 729,
1595 729, 729, 1861, 579, 1871, 1872, 580, 737, 737, 737,
1596 1873, 537, 581, 582, 1874, 531, 730, 753, 753, 753,
1598 1267, 454, 454, 1878, 738, 1295, 1295, 1295, 1879, 460,
1599 1880, 461, 1881, 462, 754, 1281, 1281, 1281, 1318, 1318,
1600 1318, 463, 454, 455, 207, 455, 454, 454, 454, 454,
1601 454, 454, 454, 456, 454, 454, 454, 1868, 454, 458,
1602 454, 459, 454, 768, 768, 768, 776, 776, 776, 784,
1603 784, 784, 787, 787, 787, 802, 802, 802, 1882, 1883,
1604 769, 1282, 1884, 777, 1885, 1886, 785, 454, 454, 788,
1605 1887, 1267, 803, 1888, 1890, 460, 1891, 461, 1892, 462,
1606 1329, 1329, 1329, 1893, 1330, 1330, 1330, 463, 469, 470,
1607 207, 470, 469, 469, 469, 469, 469, 469, 469, 471,
1609 469, 469, 469, 1867, 469, 473, 469, 474, 469, 810,
1610 810, 810, 815, 815, 815, 835, 835, 835, 854, 854,
1611 854, 858, 858, 858, 1894, 1897, 811, 1898, 1902, 816,
1612 1282, 1905, 836, 469, 469, 855, 1906, 1909, 859, 961,
1613 961, 961, 1913, 962, 1914, 1915, 963, 972, 972, 972,
1614 1916, 973, 1917, 1920, 974, 1921, 475, 469, 470, 207,
1615 470, 469, 469, 469, 469, 469, 469, 469, 471, 469,
1616 469, 469, 1267, 469, 473, 469, 474, 469, 906, 906,
1617 906, 864, 906, 906, 906, 1938, 1939, 729, 729, 729,
1618 877, 877, 877, 916, 916, 916, 908, 916, 916, 916,
1620 908, 1940, 469, 469, 730, 737, 737, 737, 879, 1936,
1621 1949, 918, 985, 985, 985, 918, 986, 1267, 1950, 987,
1622 1935, 1951, 738, 1952, 1953, 475, 479, 480, 207, 480,
1623 479, 479, 479, 479, 479, 479, 479, 481, 479, 479,
1624 479, 909, 479, 483, 479, 484, 479, 880, 924, 924,
1625 924, 927, 927, 927, 1943, 932, 932, 932, 1954, 1937,
1626 919, 932, 932, 932, 1944, 925, 1955, 1945, 928, 1956,
1627 1957, 479, 479, 934, 989, 989, 989, 1958, 990, 934,
1628 1959, 991, 485, 479, 480, 207, 480, 479, 479, 479,
1629 479, 479, 479, 479, 481, 479, 479, 479, 1961, 479,
1631 483, 479, 484, 479, 940, 940, 940, 1962, 935, 940,
1632 940, 940, 1968, 753, 753, 753, 948, 948, 948, 768,
1633 768, 768, 942, 1279, 1279, 1279, 1969, 942, 479, 479,
1634 754, 1009, 1009, 1009, 950, 1010, 769, 1970, 1011, 485,
1635 490, 491, 207, 491, 490, 490, 490, 490, 490, 490,
1636 490, 492, 490, 490, 490, 1974, 490, 494, 490, 495,
1637 490, 948, 948, 948, 965, 965, 965, 1982, 1983, 965,
1638 965, 965, 943, 776, 776, 776, 977, 977, 977, 950,
1639 1984, 2006, 967, 2007, 2011, 490, 490, 967, 2012, 2013,
1640 777, 1281, 1281, 1281, 979, 864, 496, 1267, 951, 1021,
1642 1021, 1021, 2014, 1022, 2015, 2016, 1023, 2019, 497, 490,
1643 491, 207, 491, 490, 490, 490, 490, 490, 490, 490,
1644 492, 490, 490, 490, 2002, 490, 494, 490, 495, 490,
1645 977, 977, 977, 2020, 968, 784, 784, 784, 2003, 787,
1646 787, 787, 992, 992, 992, 1001, 1001, 1001, 979, 1001,
1647 1001, 1001, 785, 2017, 490, 490, 788, 2021, 1267, 993,
1648 1283, 1283, 1283, 1003, 2022, 496, 2018, 1003, 2023, 802,
1649 802, 802, 1012, 1012, 1012, 2024, 2025, 497, 505, 1016,
1650 1016, 1016, 1016, 1016, 1016, 520, 803, 2026, 1992, 1013,
1651 980, 810, 810, 810, 504, 521, 2027, 1018, 1993, 2004,
1653 1018, 1024, 1024, 1024, 1994, 2036, 1004, 1946, 811, 1024,
1654 1024, 1024, 2037, 2038, 815, 815, 815, 1947, 1995, 1026,
1655 1948, 2039, 522, 523, 524, 2046, 2049, 1026, 1996, 525,
1656 526, 816, 527, 1019, 1997, 2056, 528, 2057, 529, 530,
1657 531, 1029, 1029, 1029, 2058, 1030, 2059, 2060, 1031, 1035,
1658 1035, 1035, 1035, 1035, 1035, 1039, 1039, 1039, 1041, 1041,
1659 1041, 2501, 2501, 2501, 1044, 1044, 1044, 1037, 2061, 1027,
1660 1037, 864, 1040, 1267, 2067, 1042, 2068, 2069, 2501, 1044,
1661 1044, 1044, 1046, 1049, 1049, 1049, 2501, 2501, 2501, 1053,
1662 1053, 1053, 2070, 2501, 2501, 2501, 2071, 1046, 2072, 2073,
1664 1050, 2074, 2075, 2501, 2076, 2079, 1054, 1038, 2064, 2080,
1665 2501, 1056, 1056, 1056, 2081, 1056, 1056, 1056, 2063, 1043,
1666 835, 835, 835, 1061, 1061, 1061, 2082, 1062, 2083, 1058,
1667 1063, 2084, 2085, 1058, 2086, 2091, 1051, 836, 2092, 1047,
1668 1064, 1064, 1064, 1064, 1064, 1064, 1068, 1068, 1068, 2093,
1669 1052, 1055, 1059, 2501, 2501, 2501, 2094, 2095, 1066, 2096,
1670 2100, 1066, 2109, 1069, 1072, 1072, 1072, 1074, 1074, 1074,
1671 2501, 1074, 1074, 1074, 1082, 1082, 1082, 1082, 1082, 1082,
1672 2101, 1073, 1088, 1088, 1088, 1076, 1088, 1088, 1088, 1076,
1673 2102, 2103, 1084, 2110, 2111, 1084, 2112, 2113, 1067, 2114,
1675 1090, 2104, 2125, 1070, 1090, 854, 854, 854, 1092, 1092,
1676 1092, 2105, 1093, 2107, 864, 1094, 2126, 1071, 1095, 1095,
1677 1095, 2106, 855, 2108, 1095, 1095, 1095, 858, 858, 858,
1678 1099, 1099, 1099, 2127, 1100, 2128, 1097, 1101, 2129, 2130,
1679 1085, 1077, 1097, 2131, 859, 1103, 1103, 1103, 2117, 1091,
1680 1103, 1103, 1103, 877, 877, 877, 877, 877, 877, 877,
1681 877, 877, 2132, 1105, 1139, 1139, 1139, 2136, 1105, 2137,
1682 2138, 879, 2139, 2140, 879, 2141, 2143, 879, 906, 906,
1683 906, 1140, 2144, 2145, 1098, 906, 906, 906, 2148, 906,
1684 906, 906, 1142, 1142, 1142, 2153, 908, 911, 911, 911,
1686 2154, 912, 2155, 908, 913, 2156, 1115, 908, 2157, 1143,
1687 2501, 2501, 2501, 1106, 916, 916, 916, 916, 916, 916,
1688 2158, 916, 916, 916, 921, 921, 921, 2501, 922, 2159,
1689 2160, 923, 918, 2161, 2162, 918, 2163, 2164, 1141, 918,
1690 924, 924, 924, 1148, 1148, 1148, 2171, 1149, 2172, 2173,
1691 1150, 2174, 1151, 1151, 1151, 2175, 2176, 925, 927, 927,
1692 927, 1157, 1157, 1157, 932, 932, 932, 2177, 1146, 1152,
1693 1144, 2178, 1153, 1153, 1153, 928, 1154, 2179, 1158, 1155,
1694 2180, 864, 934, 932, 932, 932, 932, 932, 932, 1163,
1695 1163, 1163, 940, 940, 940, 940, 940, 940, 944, 944,
1697 944, 934, 945, 2181, 934, 946, 1164, 940, 940, 940,
1698 942, 2182, 2183, 942, 948, 948, 948, 948, 948, 948,
1699 1168, 1168, 1168, 2165, 2184, 942, 961, 961, 961, 2187,
1700 962, 2188, 950, 963, 2189, 950, 2193, 2200, 1169, 965,
1701 965, 965, 965, 965, 965, 1160, 965, 965, 965, 1183,
1702 1183, 1183, 2201, 2202, 1166, 2203, 2204, 967, 2205, 2206,
1703 967, 972, 972, 972, 967, 973, 1184, 2207, 974, 977,
1704 977, 977, 977, 977, 977, 977, 977, 977, 985, 985,
1705 985, 2208, 986, 2209, 2210, 987, 2211, 979, 2214, 2214,
1706 979, 864, 2219, 979, 1192, 1192, 1192, 989, 989, 989,
1708 2217, 990, 2215, 2220, 991, 2221, 1180, 992, 992, 992,
1709 2222, 1193, 1194, 1194, 1194, 2223, 1195, 2224, 2225, 1196,
1710 1001, 1001, 1001, 2226, 993, 1001, 1001, 1001, 1001, 1001,
1711 1001, 2227, 2228, 1009, 1009, 1009, 2212, 1010, 1003, 1187,
1712 1011, 2229, 2234, 1003, 2230, 2239, 1003, 1012, 1012, 1012,
1713 1209, 1209, 1209, 2240, 1210, 2241, 2231, 1211, 1016, 1016,
1714 1016, 1016, 1016, 1016, 1013, 1016, 1016, 1016, 1021, 1021,
1715 1021, 2242, 1022, 1267, 1268, 1023, 1018, 2245, 2245, 1018,
1716 1024, 1024, 1024, 1018, 1024, 1024, 1024, 1024, 1024, 1024,
1717 1035, 1035, 1035, 864, 1204, 1035, 1035, 1035, 1026, 1029,
1719 1029, 1029, 1026, 1030, 2214, 1026, 1031, 2248, 1037, 1035,
1720 1035, 1035, 2232, 1037, 2235, 2217, 1214, 1039, 1039, 1039,
1721 2237, 1222, 1222, 1222, 2233, 1223, 2236, 1037, 1224, 1041,
1722 1041, 1041, 2238, 2243, 1040, 1225, 1225, 1225, 2249, 1226,
1723 2250, 2251, 1227, 1044, 1044, 1044, 1042, 1044, 1044, 1044,
1724 1049, 1049, 1049, 1216, 1044, 1044, 1044, 1053, 1053, 1053,
1725 2260, 1046, 1231, 1231, 1231, 1046, 1232, 1050, 1221, 1233,
1726 2263, 2268, 1046, 2271, 1054, 1236, 1236, 1236, 2258, 1237,
1727 2245, 2214, 1238, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1728 1056, 1056, 1061, 1061, 1061, 2215, 1062, 2259, 2273, 1063,
1730 2245, 1058, 2274, 2275, 1058, 2261, 2276, 1058, 1064, 1064,
1731 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1068, 1068, 1068,
1732 1229, 1243, 1243, 1243, 2262, 1244, 1066, 2277, 1245, 1066,
1733 2287, 2266, 1066, 2288, 1069, 2289, 1072, 1072, 1072, 1248,
1734 1248, 1248, 2290, 1249, 2269, 2291, 1250, 1074, 1074, 1074,
1735 2267, 2292, 1240, 1073, 1074, 1074, 1074, 1074, 1074, 1074,
1736 1253, 1253, 1253, 2270, 2296, 1076, 1082, 1082, 1082, 1082,
1737 1082, 1082, 1076, 1242, 2297, 1076, 2298, 1254, 1082, 1082,
1738 1082, 1088, 1088, 1088, 1084, 2299, 2300, 1084, 1088, 1088,
1739 1088, 1088, 1088, 1088, 2301, 2303, 1084, 2304, 2305, 1090,
1741 1092, 1092, 1092, 2310, 1093, 2306, 1090, 1094, 2311, 1090,
1742 1095, 1095, 1095, 1095, 1095, 1095, 2312, 2307, 1251, 1095,
1743 1095, 1095, 1099, 1099, 1099, 2313, 1100, 2314, 1097, 1101,
1744 2308, 1097, 1103, 1103, 1103, 2315, 2316, 1097, 1257, 1103,
1745 1103, 1103, 2309, 2317, 1260, 1103, 1103, 1103, 2318, 2319,
1746 1105, 1266, 1266, 1266, 877, 877, 877, 1105, 1139, 1139,
1747 1139, 2320, 2321, 1105, 1298, 1298, 1298, 2323, 1299, 1267,
1748 1268, 1300, 879, 864, 2324, 1140, 2325, 2326, 1261, 906,
1749 906, 906, 1142, 1142, 1142, 1302, 1302, 1302, 2327, 1303,
1750 2328, 2329, 1304, 916, 916, 916, 2330, 908, 2322, 1143,
1752 1148, 1148, 1148, 2331, 1149, 1263, 2332, 1150, 1151, 1151,
1753 1151, 918, 2333, 1309, 1309, 1309, 2334, 1310, 2335, 1273,
1754 1311, 2336, 1153, 1153, 1153, 1152, 1154, 2337, 2338, 1155,
1755 1157, 1157, 1157, 1313, 1313, 1313, 1301, 1314, 2339, 2340,
1756 1315, 864, 1307, 932, 932, 932, 2342, 1158, 1163, 1163,
1757 1163, 1320, 1320, 1320, 2343, 1321, 2344, 2345, 1322, 2346,
1758 2341, 934, 1323, 1323, 1323, 1164, 940, 940, 940, 1168,
1759 1168, 1168, 1336, 1336, 1336, 2347, 965, 965, 965, 1324,
1760 1183, 1183, 1183, 2348, 942, 2349, 2350, 1169, 2351, 1337,
1761 1344, 1344, 1344, 1317, 967, 2352, 2353, 1184, 1341, 1341,
1763 1341, 2354, 1342, 2355, 2356, 1343, 2357, 1345, 1346, 1346,
1764 1346, 977, 977, 977, 2359, 1325, 1351, 1351, 1351, 1192,
1765 1192, 1192, 1286, 1286, 1286, 1347, 1358, 1358, 1358, 979,
1766 1355, 1355, 1355, 1352, 1356, 2360, 1193, 1357, 864, 1338,
1767 1194, 1194, 1194, 1359, 1195, 2361, 2362, 1196, 1001, 1001,
1768 1001, 1368, 1368, 1368, 1348, 1209, 1209, 1209, 2358, 1210,
1769 2363, 2364, 1211, 1372, 1372, 1372, 1003, 2365, 1369, 1016,
1770 1016, 1016, 1024, 1024, 1024, 2366, 1349, 1381, 1381, 1381,
1771 1373, 2367, 1035, 1035, 1035, 2368, 2369, 1018, 2370, 2371,
1772 1026, 1222, 1222, 1222, 1382, 1223, 2372, 2373, 1224, 2374,
1774 1037, 1225, 1225, 1225, 2376, 1226, 2377, 2378, 1227, 1044,
1775 1044, 1044, 1366, 1281, 1281, 1281, 864, 1231, 1231, 1231,
1776 2379, 1232, 2375, 1383, 1233, 2380, 2381, 1046, 2382, 1236,
1777 1236, 1236, 1375, 1237, 2383, 2384, 1238, 1377, 1384, 1056,
1778 1056, 1056, 1064, 1064, 1064, 1243, 1243, 1243, 2385, 1244,
1779 2386, 2387, 1245, 2389, 1248, 1248, 1248, 1058, 1249, 1387,
1780 1066, 1250, 1074, 1074, 1074, 1253, 1253, 1253, 1398, 1398,
1781 1398, 2390, 1399, 2391, 1386, 1400, 1082, 1082, 1082, 864,
1782 1076, 2392, 1254, 1405, 1405, 1405, 1088, 1088, 1088, 1095,
1783 1095, 1095, 2393, 2388, 1084, 1409, 1409, 1409, 1393, 1391,
1785 1406, 1103, 1103, 1103, 1090, 2394, 2395, 1097, 2396, 1396,
1786 2398, 2399, 1410, 1266, 1266, 1266, 877, 877, 877, 1105,
1787 1429, 1429, 1429, 2400, 2401, 1403, 1432, 1432, 1432, 2402,
1788 2403, 1267, 2404, 2405, 879, 1295, 1295, 1295, 1439, 1439,
1789 1439, 1408, 1298, 1298, 1298, 2408, 1299, 2409, 2410, 1300,
1790 2411, 2412, 1407, 906, 906, 906, 1302, 1302, 1302, 2413,
1791 1303, 864, 1411, 1304, 1413, 1318, 1318, 1318, 1418, 864,
1792 864, 908, 1433, 916, 916, 916, 1329, 1329, 1329, 864,
1793 1414, 1568, 864, 1430, 1440, 1309, 1309, 1309, 2424, 1310,
1794 864, 918, 1311, 1313, 1313, 1313, 864, 1314, 1567, 2466,
1796 1315, 2440, 932, 932, 932, 1320, 1320, 1320, 2416, 1321,
1797 864, 2441, 1322, 1323, 1323, 1323, 940, 940, 940, 1441,
1798 934, 1458, 1458, 1458, 1444, 1459, 2414, 864, 1460, 2417,
1799 1324, 1330, 1330, 1330, 942, 1465, 1465, 1465, 1465, 1465,
1800 1465, 1429, 1429, 1429, 1336, 1336, 1336, 1469, 1469, 1469,
1801 864, 1470, 864, 2420, 1471, 965, 965, 965, 1344, 1344,
1802 1344, 1337, 1448, 2415, 1341, 1341, 1341, 1461, 1342, 1566,
1803 2442, 1343, 1565, 967, 864, 1345, 1475, 1475, 1475, 864,
1804 1476, 2422, 864, 1477, 2425, 864, 1346, 1346, 1346, 1478,
1805 1478, 1478, 864, 1479, 864, 864, 1480, 2418, 1466, 2419,
1807 864, 1430, 1472, 1347, 1466, 1482, 1482, 1482, 1351, 1351,
1808 1351, 1485, 1485, 1485, 2426, 1486, 2427, 2421, 1487, 1488,
1809 1488, 1488, 864, 1483, 864, 1352, 1355, 1355, 1355, 2494,
1810 1356, 2423, 2430, 1357, 2432, 864, 1489, 1358, 1358, 1358,
1811 1491, 1491, 1491, 864, 1492, 864, 2428, 1493, 1494, 1494,
1812 1494, 1500, 1500, 1500, 1359, 1001, 1001, 1001, 1368, 1368,
1813 1368, 864, 1504, 1504, 1504, 1495, 1505, 1561, 1501, 1506,
1814 1507, 1507, 1507, 1003, 864, 1369, 1372, 1372, 1372, 1510,
1815 1510, 1510, 1547, 1511, 864, 2448, 1512, 1508, 1514, 1514,
1816 1514, 2429, 864, 1373, 1024, 1024, 1024, 1381, 1381, 1381,
1818 1521, 1521, 1521, 2449, 1522, 2474, 1515, 1523, 1525, 1525,
1819 1525, 2431, 1026, 864, 1382, 1044, 1044, 1044, 1545, 864,
1820 1502, 1530, 1530, 1530, 2433, 2454, 1526, 1532, 1532, 1532,
1821 2501, 2501, 2501, 1046, 1056, 1056, 1056, 864, 1531, 1064,
1822 1064, 1064, 864, 864, 1533, 1517, 864, 2501, 1538, 1538,
1823 1538, 864, 1058, 1540, 1540, 1540, 864, 1066, 1074, 1074,
1824 1074, 1082, 1082, 1082, 2436, 1539, 1528, 1398, 1398, 1398,
1825 1541, 1399, 2434, 864, 1400, 864, 1076, 2435, 2444, 1084,
1826 1405, 1405, 1405, 2438, 864, 1537, 2443, 1548, 1548, 1548,
1827 2446, 1549, 1544, 1534, 1550, 864, 2437, 1406, 1543, 1536,
1829 1535, 1088, 1088, 1088, 1529, 1095, 1095, 1095, 1409, 1409,
1830 1409, 864, 1546, 1553, 1553, 1553, 2460, 1554, 2450, 1090,
1831 1555, 2439, 1542, 1097, 864, 1410, 1556, 1556, 1556, 1562,
1832 1562, 1562, 877, 877, 877, 1569, 1569, 1569, 1574, 1574,
1833 1574, 1429, 1429, 1429, 1557, 2447, 1563, 1575, 1575, 1575,
1834 879, 1432, 1432, 1432, 1578, 1578, 1578, 2455, 864, 1551,
1835 1552, 1579, 1579, 1579, 1439, 1439, 1439, 906, 906, 906,
1836 1587, 1587, 1587, 1590, 1590, 1590, 932, 932, 932, 1594,
1837 1594, 1594, 1458, 1458, 1458, 908, 1459, 864, 1588, 1460,
1838 1591, 864, 1564, 2445, 934, 1527, 1595, 940, 940, 940,
1840 864, 1607, 1607, 1607, 1465, 1465, 1465, 1611, 1611, 1611,
1841 1613, 1613, 1613, 1524, 1520, 942, 2456, 1584, 1608, 1469,
1842 1469, 1469, 2452, 1470, 864, 864, 1471, 1614, 965, 965,
1843 965, 1475, 1475, 1475, 1593, 1476, 2451, 2458, 1477, 864,
1844 1478, 1478, 1478, 1606, 1479, 2457, 967, 1480, 1482, 1482,
1845 1482, 1485, 1485, 1485, 864, 1486, 864, 1519, 1487, 1488,
1846 1488, 1488, 864, 1622, 1622, 1622, 1483, 1623, 864, 2462,
1847 1624, 1491, 1491, 1491, 2453, 1492, 1489, 864, 1493, 864,
1848 2475, 1615, 1494, 1494, 1494, 1626, 1626, 1626, 864, 1627,
1849 2470, 864, 1628, 1629, 1629, 1629, 1500, 1500, 1500, 1495,
1851 1634, 1634, 1634, 2461, 1635, 2459, 864, 1636, 2467, 1518,
1852 1630, 2468, 1516, 1501, 1001, 1001, 1001, 1504, 1504, 1504,
1853 864, 1505, 2463, 864, 1506, 1507, 1507, 1507, 2464, 1639,
1854 1639, 1639, 1003, 1640, 1513, 864, 1641, 1510, 1510, 1510,
1855 864, 1511, 1508, 2465, 1512, 1514, 1514, 1514, 1024, 1024,
1856 1024, 1647, 1647, 1647, 1521, 1521, 1521, 2471, 1522, 864,
1857 1509, 1523, 1503, 1515, 864, 1637, 1026, 1499, 1648, 1525,
1858 1525, 1525, 1655, 1655, 1655, 1530, 1530, 1530, 1658, 1658,
1859 1658, 2476, 1659, 864, 864, 1660, 2477, 1526, 1498, 2498,
1860 1656, 864, 1531, 1532, 1532, 1532, 1497, 1649, 1661, 1661,
1862 1661, 864, 1662, 864, 2472, 1663, 1056, 1056, 1056, 2473,
1863 1533, 1645, 1064, 1064, 1064, 1538, 1538, 1538, 1668, 1668,
1864 1668, 2478, 1669, 2480, 1058, 1670, 1540, 1540, 1540, 2469,
1865 1066, 2481, 1539, 1671, 1671, 1671, 2482, 1672, 864, 1496,
1866 1673, 864, 864, 1541, 1074, 1074, 1074, 1082, 1082, 1082,
1867 1548, 1548, 1548, 1490, 1549, 864, 864, 1550, 1088, 1088,
1868 1088, 1667, 1076, 2490, 864, 1084, 1095, 1095, 1095, 1484,
1869 1481, 1665, 864, 1553, 1553, 1553, 1090, 1554, 2479, 2486,
1870 1555, 1556, 1556, 1556, 1097, 1562, 1562, 1562, 1686, 1686,
1871 1686, 2483, 1687, 1474, 1473, 1688, 877, 877, 877, 1557,
1873 2484, 2487, 1563, 1690, 1690, 1690, 1468, 2498, 1674, 1680,
1874 1467, 1678, 1464, 1463, 879, 1693, 1693, 1693, 864, 1681,
1875 1569, 1569, 1569, 1694, 1694, 1694, 1697, 1697, 1697, 1574,
1876 1574, 1574, 1575, 1575, 1575, 1698, 1698, 1698, 1578, 1578,
1877 1578, 1579, 1579, 1579, 1700, 1700, 1700, 1701, 1701, 1701,
1878 1702, 1702, 1702, 906, 906, 906, 1587, 1587, 1587, 1689,
1879 1590, 1590, 1590, 1708, 1708, 1708, 864, 1709, 1462, 1449,
1880 1710, 908, 1447, 1446, 1588, 1445, 864, 1591, 1712, 1712,
1881 1712, 1594, 1594, 1594, 1714, 1714, 1714, 1443, 1715, 1442,
1882 1438, 1716, 940, 940, 940, 1437, 1713, 864, 1595, 1607,
1884 1607, 1607, 1436, 864, 1704, 1728, 1728, 1728, 2488, 1729,
1885 942, 2485, 1730, 1731, 1731, 1731, 1608, 1611, 1611, 1611,
1886 1733, 1733, 1733, 1613, 1613, 1613, 1734, 1734, 1734, 2489,
1887 1735, 1435, 1434, 1736, 965, 965, 965, 1790, 1790, 1790,
1888 1614, 1727, 1622, 1622, 1622, 864, 1623, 2491, 1431, 1624,
1889 2495, 864, 967, 1626, 1626, 1626, 864, 1627, 1428, 864,
1890 1628, 1629, 1629, 1629, 1747, 1747, 1747, 1427, 1748, 1426,
1891 1425, 1749, 1634, 1634, 1634, 864, 1635, 2492, 1630, 1636,
1892 1001, 1001, 1001, 2493, 1424, 1737, 1639, 1639, 1639, 1423,
1893 1640, 2496, 1422, 1641, 1758, 1758, 1758, 1421, 1003, 1647,
1895 1647, 1647, 1761, 1761, 1761, 1420, 1762, 2497, 1419, 1763,
1896 1417, 1416, 1759, 1655, 1655, 1655, 1648, 1658, 1658, 1658,
1897 1415, 1659, 1267, 1404, 1660, 1661, 1661, 1661, 1402, 1662,
1898 1401, 1656, 1663, 1056, 1056, 1056, 1064, 1064, 1064, 1397,
1899 1668, 1668, 1668, 1753, 1669, 1395, 1394, 1670, 1671, 1671,
1900 1671, 1058, 1672, 1392, 1066, 1673, 1074, 1074, 1074, 1778,
1901 1778, 1778, 1082, 1082, 1082, 1088, 1088, 1088, 1785, 1785,
1902 1785, 1787, 1787, 1787, 1076, 1390, 1779, 1690, 1690, 1690,
1903 1084, 1389, 1388, 1090, 1774, 1385, 1786, 1380, 1379, 864,
1904 1378, 1376, 1777, 1686, 1686, 1686, 1374, 1687, 1371, 1370,
1906 1688, 1776, 877, 877, 877, 1792, 1792, 1792, 1693, 1693,
1907 1693, 1694, 1694, 1694, 1794, 1794, 1794, 1795, 1795, 1795,
1908 879, 1697, 1697, 1697, 1784, 1367, 1782, 1698, 1698, 1698,
1909 1700, 1700, 1700, 1701, 1701, 1701, 1702, 1702, 1702, 1798,
1910 1798, 1798, 1801, 1801, 1801, 1708, 1708, 1708, 1365, 1709,
1911 1364, 1363, 1710, 1712, 1712, 1712, 1362, 1799, 1361, 1802,
1912 1791, 1714, 1714, 1714, 1360, 1715, 1354, 1353, 1716, 1350,
1913 1340, 1713, 940, 940, 940, 1728, 1728, 1728, 1339, 1729,
1914 1335, 1334, 1730, 1731, 1731, 1731, 1733, 1733, 1733, 1333,
1915 942, 1734, 1734, 1734, 1332, 1735, 1331, 1328, 1736, 1816,
1917 1816, 1816, 1747, 1747, 1747, 1327, 1748, 1326, 1319, 1749,
1918 1827, 1827, 1827, 1831, 1831, 1831, 1316, 1817, 1758, 1758,
1919 1758, 1837, 1837, 1837, 1848, 1848, 1848, 1828, 1850, 1850,
1920 1850, 1832, 1814, 1761, 1761, 1761, 1759, 1762, 1838, 1312,
1921 1763, 1852, 1852, 1852, 1308, 1306, 1851, 1064, 1064, 1064,
1922 1074, 1074, 1074, 1778, 1778, 1778, 1305, 1297, 1853, 1856,
1923 1856, 1856, 1296, 1857, 1294, 1066, 1858, 1839, 1076, 1293,
1924 1779, 1859, 1859, 1859, 1862, 1862, 1862, 1864, 1864, 1864,
1925 1088, 1088, 1088, 1785, 1785, 1785, 1292, 1291, 1860, 1787,
1926 1787, 1787, 1863, 1790, 1790, 1790, 1290, 1289, 1090, 1288,
1928 1287, 1786, 1869, 1869, 1869, 1285, 1854, 864, 1284, 1280,
1929 1855, 1792, 1792, 1792, 1794, 1794, 1794, 1795, 1795, 1795,
1930 1870, 1798, 1798, 1798, 1801, 1801, 1801, 1875, 1875, 1875,
1931 1278, 1876, 1277, 1276, 1877, 940, 940, 940, 1275, 1799,
1932 1274, 1802, 1816, 1816, 1816, 1865, 1895, 1895, 1895, 1272,
1933 1866, 1271, 1270, 942, 1827, 1827, 1827, 1899, 1899, 1899,
1934 1817, 1900, 1269, 1896, 1901, 1903, 1903, 1903, 1831, 1831,
1935 1831, 1828, 1907, 1907, 1907, 1837, 1837, 1837, 1918, 1918,
1936 1918, 1262, 1904, 1910, 1910, 1910, 1832, 1911, 1259, 1908,
1937 1912, 1258, 1838, 1256, 1889, 1919, 1848, 1848, 1848, 1850,
1939 1850, 1850, 1852, 1852, 1852, 1922, 1922, 1922, 1255, 1923,
1940 1252, 1247, 1924, 1925, 1925, 1925, 1246, 1851, 1241, 1853,
1941 1074, 1074, 1074, 1856, 1856, 1856, 1239, 1857, 1235, 1234,
1942 1858, 1926, 1859, 1859, 1859, 1928, 1928, 1928, 1076, 1929,
1943 1230, 1228, 1930, 1931, 1931, 1931, 1862, 1862, 1862, 1860,
1944 1864, 1864, 1864, 1933, 1933, 1933, 1869, 1869, 1869, 1220,
1945 1932, 1941, 1941, 1941, 1863, 1875, 1875, 1875, 1219, 1876,
1946 1218, 1934, 1877, 1217, 1870, 940, 940, 940, 1942, 1963,
1947 1963, 1963, 1895, 1895, 1895, 1215, 1927, 1965, 1965, 1965,
1948 1213, 1966, 1212, 942, 1967, 1208, 1964, 1207, 1206, 1896,
1950 1899, 1899, 1899, 1205, 1900, 1203, 1202, 1901, 1903, 1903,
1951 1903, 1971, 1971, 1971, 1201, 1972, 1200, 1199, 1973, 1975,
1952 1975, 1975, 1907, 1907, 1907, 1904, 1977, 1977, 1977, 1198,
1953 1978, 1197, 1191, 1979, 1960, 1190, 1976, 1189, 1188, 1908,
1954 1980, 1980, 1980, 1910, 1910, 1910, 1186, 1911, 1185, 1182,
1955 1912, 1918, 1918, 1918, 1985, 1985, 1985, 1981, 1986, 1181,
1956 1179, 1987, 1988, 1988, 1988, 1990, 1990, 1990, 1919, 1922,
1957 1922, 1922, 1178, 1923, 1177, 1176, 1924, 1175, 1174, 1989,
1958 1173, 1172, 1991, 1925, 1925, 1925, 1074, 1074, 1074, 1928,
1959 1928, 1928, 1171, 1929, 1170, 1167, 1930, 1931, 1931, 1931,
1961 1165, 1926, 1162, 1159, 1076, 1999, 1999, 1999, 1156, 2000,
1962 1147, 1145, 2001, 1138, 1932, 1933, 1933, 1933, 2005, 2005,
1963 2005, 1941, 1941, 1941, 2008, 2008, 2008, 1136, 2009, 1135,
1964 1134, 2010, 1133, 1934, 940, 940, 940, 1132, 1942, 2029,
1965 2029, 2029, 2030, 2030, 2030, 1963, 1963, 1963, 2005, 2005,
1966 2005, 1998, 942, 2033, 2033, 2033, 1131, 2034, 1130, 2031,
1967 2035, 1129, 1964, 1965, 1965, 1965, 1128, 1966, 1125, 1124,
1968 1967, 1971, 1971, 1971, 1123, 1972, 1122, 1121, 1973, 1975,
1969 1975, 1975, 2040, 2040, 2040, 2028, 2041, 1120, 2032, 2042,
1970 1977, 1977, 1977, 1119, 1978, 1118, 1976, 1979, 1980, 1980,
1972 1980, 2043, 2043, 2043, 1117, 2044, 1116, 1114, 2045, 2047,
1973 2047, 2047, 1985, 1985, 1985, 1981, 1986, 1113, 1112, 1987,
1974 1988, 1988, 1988, 2050, 2050, 2050, 2048, 2051, 1111, 1110,
1975 2052, 1990, 1990, 1990, 2053, 2053, 2053, 1989, 2054, 1109,
1976 1108, 2055, 1074, 1074, 1074, 1999, 1999, 1999, 1991, 2000,
1977 864, 1102, 2001, 2065, 2065, 2065, 1087, 2008, 2008, 2008,
1978 1076, 2009, 1086, 1081, 2010, 2077, 2077, 2077, 1080, 1079,
1979 2066, 1267, 940, 940, 940, 2029, 2029, 2029, 2030, 2030,
1980 2030, 1078, 2078, 1060, 2088, 2088, 2088, 1048, 2089, 1034,
1981 942, 2090, 1033, 2062, 1032, 2031, 2033, 2033, 2033, 1028,
1983 2034, 1020, 1015, 2035, 2040, 2040, 2040, 1014, 2041, 1008,
1984 1005, 2042, 2043, 2043, 2043, 1000, 2044, 999, 998, 2045,
1985 997, 2087, 2047, 2047, 2047, 2097, 2097, 2097, 996, 2098,
1986 995, 994, 2099, 2050, 2050, 2050, 988, 2051, 981, 2048,
1987 2052, 2053, 2053, 2053, 976, 2054, 975, 971, 2055, 2115,
1988 2115, 2115, 2118, 2118, 2118, 2065, 2065, 2065, 2120, 2120,
1989 2120, 970, 2121, 969, 964, 2122, 960, 2116, 959, 2119,
1990 1267, 958, 2066, 1267, 957, 956, 1267, 2123, 2123, 2123,
1991 2124, 2124, 2124, 2077, 2077, 2077, 2133, 2133, 2133, 955,
1992 2134, 954, 953, 2135, 940, 940, 940, 2088, 2088, 2088,
1994 2078, 2089, 947, 939, 2090, 2146, 2146, 2146, 2149, 2149,
1995 2149, 938, 942, 2097, 2097, 2097, 937, 2098, 936, 931,
1996 2099, 930, 2147, 929, 926, 2150, 2151, 2151, 2151, 2115,
1997 2115, 2115, 2118, 2118, 2118, 2166, 2166, 2166, 920, 2167,
1998 915, 914, 2168, 2152, 2120, 2120, 2120, 2116, 2121, 2119,
1999 1267, 2122, 910, 1267, 2123, 2123, 2123, 905, 904, 2142,
2000 903, 902, 1267, 1265, 1265, 1265, 1265, 1265, 1265, 1265,
2001 1265, 1265, 901, 900, 1265, 2124, 2124, 2124, 898, 1265,
2002 1265, 1265, 1267, 1265, 2133, 2133, 2133, 897, 2134, 896,
2003 895, 2135, 2190, 2190, 2190, 894, 2191, 893, 892, 2192,
2005 891, 2185, 2185, 2185, 890, 2146, 2146, 2146, 1265, 1265,
2006 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 2186,
2007 889, 1265, 2147, 2149, 2149, 2149, 1265, 1265, 1265, 1267,
2008 1265, 2194, 2194, 2194, 888, 2195, 887, 886, 2196, 885,
2009 2150, 2151, 2151, 2151, 2197, 2197, 2197, 884, 2198, 883,
2010 876, 2199, 2185, 2185, 2185, 1265, 1265, 875, 2152, 2166,
2011 2166, 2166, 874, 2167, 873, 872, 2168, 2190, 2190, 2190,
2012 2186, 2191, 871, 870, 2192, 867, 865, 1267, 1265, 1265,
2013 1265, 1265, 1265, 2218, 1265, 1265, 1265, 864, 862, 1265,
2014 860, 857, 853, 851, 1265, 1265, 1265, 1267, 1265, 2194,
2016 2194, 2194, 850, 2195, 849, 847, 2196, 2197, 2197, 2197,
2017 846, 2198, 845, 844, 2199, 843, 2247, 2247, 2247, 841,
2018 2252, 2252, 2252, 1265, 1265, 1265, 1265, 1265, 1265, 1265,
2019 1265, 1265, 1265, 2218, 1267, 1268, 1265, 2253, 2254, 2254,
2020 2254, 1265, 1265, 1265, 1267, 1265, 2256, 2256, 2256, 2264,
2021 2264, 2264, 2252, 2252, 2252, 2255, 2272, 2272, 2272, 2247,
2022 2247, 2247, 840, 2257, 839, 838, 2265, 834, 833, 2253,
2023 1265, 1265, 831, 830, 864, 829, 828, 1267, 2278, 2278,
2024 2278, 827, 2279, 826, 824, 2280, 2254, 2254, 2254, 2281,
2025 2281, 2281, 823, 2282, 822, 821, 2283, 2256, 2256, 2256,
2027 2284, 2284, 2284, 2255, 2285, 819, 818, 2286, 817, 814,
2028 1413, 2264, 2264, 2264, 2257, 2293, 2293, 2293, 813, 2294,
2029 809, 808, 2295, 2272, 2272, 2272, 806, 805, 2265, 2278,
2030 2278, 2278, 804, 2279, 801, 800, 2280, 799, 2281, 2281,
2031 2281, 864, 2282, 798, 796, 2283, 2284, 2284, 2284, 795,
2032 2285, 794, 793, 2286, 2293, 2293, 2293, 792, 2294, 791,
2033 2302, 2295, 2397, 2397, 2397, 2397, 2397, 2397, 790, 2406,
2034 789, 786, 2407, 2499, 2499, 2499, 2499, 2499, 2499, 783,
2035 864, 782, 781, 864, 779, 778, 773, 772, 770, 767,
2036 764, 2500, 763, 761, 2500, 204, 204, 204, 204, 204,
2038 204, 204, 204, 204, 205, 205, 205, 205, 205, 205,
2039 205, 205, 205, 210, 210, 210, 210, 210, 210, 210,
2040 210, 210, 213, 213, 213, 213, 213, 213, 213, 213,
2041 213, 216, 216, 216, 216, 216, 216, 216, 216, 216,
2042 219, 219, 219, 219, 219, 219, 219, 219, 219, 226,
2043 226, 226, 226, 226, 226, 226, 226, 226, 234, 234,
2044 234, 234, 234, 234, 234, 234, 234, 238, 238, 238,
2045 238, 238, 238, 238, 238, 238, 250, 250, 250, 250,
2046 250, 250, 250, 250, 250, 254, 254, 254, 254, 254,
2047 254, 254, 254, 254, 260, 260, 260, 260, 260, 260,
2049 260, 260, 260, 271, 271, 271, 271, 271, 271, 271,
2050 271, 271, 279, 279, 279, 279, 279, 279, 279, 279,
2051 279, 287, 287, 287, 287, 287, 287, 287, 287, 287,
2052 293, 293, 293, 293, 293, 293, 293, 293, 293, 299,
2053 299, 299, 299, 299, 299, 299, 299, 299, 304, 304,
2054 304, 304, 304, 304, 304, 304, 304, 321, 321, 321,
2055 321, 321, 321, 321, 321, 321, 327, 327, 327, 327,
2056 327, 327, 327, 327, 327, 334, 334, 334, 334, 334,
2057 334, 334, 334, 334, 342, 342, 342, 342, 342, 342,
2058 342, 342, 342, 360, 360, 360, 360, 360, 360, 360,
2060 360, 360, 376, 376, 376, 376, 376, 376, 376, 376,
2061 376, 382, 382, 382, 382, 382, 382, 382, 382, 382,
2062 387, 387, 387, 387, 387, 387, 387, 387, 387, 393,
2063 393, 393, 393, 393, 393, 393, 393, 393, 400, 400,
2064 400, 400, 400, 400, 400, 400, 400, 407, 407, 407,
2065 407, 407, 407, 407, 407, 407, 412, 412, 412, 412,
2066 412, 412, 412, 412, 412, 420, 420, 420, 420, 420,
2067 420, 420, 420, 420, 426, 426, 426, 426, 426, 426,
2068 426, 426, 426, 433, 433, 433, 433, 433, 433, 433,
2069 433, 433, 438, 438, 438, 438, 438, 438, 438, 438,
2071 438, 444, 444, 444, 444, 444, 444, 444, 444, 444,
2072 450, 450, 450, 450, 450, 450, 450, 450, 450, 457,
2073 457, 457, 457, 457, 457, 457, 457, 457, 464, 464,
2074 464, 464, 464, 464, 464, 464, 464, 472, 472, 472,
2075 472, 472, 472, 472, 472, 472, 476, 476, 476, 476,
2076 476, 476, 476, 476, 476, 482, 482, 482, 482, 482,
2077 482, 482, 482, 482, 486, 486, 486, 486, 486, 486,
2078 486, 486, 486, 493, 493, 493, 493, 493, 493, 493,
2079 493, 493, 498, 498, 498, 498, 498, 498, 498, 498,
2080 498, 518, 518, 518, 760, 759, 758, 518, 543, 543,
2082 543, 757, 755, 752, 543, 547, 547, 547, 750, 749,
2083 748, 547, 555, 555, 555, 746, 744, 743, 555, 567,
2084 567, 567, 742, 741, 740, 567, 573, 573, 573, 739,
2085 736, 735, 573, 587, 587, 587, 734, 731, 728, 587,
2086 593, 593, 593, 727, 725, 724, 593, 601, 601, 601,
2087 721, 719, 716, 601, 617, 617, 617, 715, 709, 708,
2088 617, 627, 627, 627, 707, 704, 703, 627, 632, 632,
2089 632, 702, 701, 699, 632, 640, 640, 640, 698, 697,
2090 696, 640, 647, 647, 647, 695, 694, 689, 647, 654,
2091 654, 654, 686, 688, 683, 654, 659, 659, 659, 682,
2093 680, 679, 659, 665, 665, 665, 678, 676, 674, 665,
2094 673, 673, 673, 672, 669, 668, 673, 677, 677, 677,
2095 667, 666, 664, 677, 681, 681, 681, 663, 662, 661,
2096 681, 685, 685, 685, 685, 685, 685, 685, 660, 685,
2097 518, 518, 518, 658, 656, 655, 518, 700, 653, 652,
2098 649, 700, 543, 543, 543, 648, 646, 527, 543, 726,
2099 2501, 641, 639, 726, 547, 547, 547, 638, 635, 634,
2100 547, 733, 633, 631, 629, 733, 555, 555, 555, 628,
2101 626, 624, 555, 745, 623, 622, 621, 745, 567, 567,
2102 567, 620, 619, 618, 567, 751, 616, 607, 606, 751,
2104 573, 573, 573, 605, 602, 600, 573, 756, 599, 598,
2105 597, 756, 587, 587, 587, 596, 595, 594, 587, 771,
2106 592, 591, 590, 771, 593, 593, 593, 589, 588, 586,
2107 593, 780, 2501, 534, 575, 780, 601, 601, 601, 574,
2108 572, 570, 601, 797, 569, 568, 566, 797, 617, 617,
2109 617, 537, 2501, 561, 617, 807, 557, 556, 554, 807,
2110 627, 627, 627, 553, 550, 549, 627, 812, 548, 546,
2111 544, 812, 632, 632, 632, 542, 2501, 519, 632, 820,
2112 517, 515, 509, 820, 640, 640, 640, 508, 509, 508,
2113 640, 825, 507, 506, 2501, 825, 647, 647, 647, 2501,
2115 2501, 2501, 647, 832, 2501, 2501, 2501, 832, 654, 654,
2116 654, 2501, 2501, 2501, 654, 837, 2501, 2501, 2501, 837,
2117 659, 659, 659, 2501, 2501, 2501, 659, 842, 2501, 2501,
2118 2501, 842, 665, 665, 665, 2501, 2501, 2501, 665, 848,
2119 2501, 2501, 2501, 848, 673, 673, 673, 2501, 2501, 2501,
2120 673, 852, 2501, 2501, 2501, 852, 677, 677, 677, 2501,
2121 2501, 2501, 677, 856, 2501, 2501, 2501, 856, 681, 681,
2122 681, 2501, 2501, 2501, 681, 861, 2501, 2501, 2501, 861,
2123 863, 863, 863, 863, 863, 863, 863, 863, 863, 869,
2124 2501, 2501, 2501, 2501, 869, 518, 518, 518, 2501, 2501,
2126 2501, 518, 878, 878, 878, 878, 2501, 2501, 878, 878,
2127 543, 543, 543, 2501, 2501, 2501, 543, 907, 907, 907,
2128 907, 2501, 2501, 907, 907, 547, 547, 547, 2501, 2501,
2129 2501, 547, 917, 917, 917, 917, 2501, 2501, 917, 917,
2130 555, 555, 555, 2501, 2501, 2501, 555, 933, 933, 933,
2131 933, 2501, 2501, 933, 933, 567, 567, 567, 2501, 2501,
2132 2501, 567, 941, 941, 941, 941, 2501, 2501, 941, 941,
2133 573, 573, 573, 2501, 2501, 2501, 573, 949, 949, 949,
2134 949, 2501, 2501, 949, 949, 587, 587, 587, 2501, 2501,
2135 2501, 587, 966, 966, 966, 966, 2501, 2501, 966, 966,
2137 593, 593, 593, 2501, 2501, 2501, 593, 978, 978, 978,
2138 978, 2501, 2501, 978, 978, 601, 601, 601, 2501, 2501,
2139 2501, 601, 1002, 1002, 1002, 1002, 2501, 2501, 1002, 1002,
2140 617, 617, 617, 2501, 2501, 2501, 617, 1017, 1017, 1017,
2141 1017, 2501, 2501, 1017, 1017, 627, 627, 627, 2501, 2501,
2142 2501, 627, 1025, 1025, 1025, 1025, 2501, 2501, 1025, 1025,
2143 632, 632, 632, 2501, 2501, 2501, 632, 1036, 1036, 1036,
2144 1036, 2501, 2501, 1036, 1036, 640, 640, 640, 640, 2501,
2145 640, 2501, 640, 1045, 1045, 1045, 1045, 2501, 2501, 1045,
2146 1045, 647, 647, 647, 647, 2501, 647, 2501, 647, 1057,
2148 1057, 1057, 1057, 2501, 2501, 1057, 1057, 654, 654, 654,
2149 2501, 2501, 2501, 654, 1065, 1065, 1065, 1065, 2501, 2501,
2150 1065, 1065, 659, 659, 659, 659, 2501, 659, 2501, 659,
2151 1075, 1075, 1075, 1075, 2501, 2501, 1075, 1075, 665, 665,
2152 665, 2501, 2501, 2501, 665, 1083, 1083, 1083, 1083, 2501,
2153 2501, 1083, 1083, 673, 673, 673, 2501, 2501, 2501, 673,
2154 1089, 1089, 1089, 1089, 2501, 2501, 1089, 1089, 1096, 1096,
2155 1096, 1096, 2501, 2501, 1096, 1096, 681, 681, 681, 2501,
2156 2501, 2501, 681, 1104, 1104, 1104, 1104, 2501, 2501, 1104,
2157 1104, 863, 863, 863, 863, 863, 863, 863, 863, 863,
2159 869, 2501, 869, 2501, 2501, 869, 518, 518, 518, 2501,
2160 2501, 2501, 518, 878, 878, 878, 878, 2501, 2501, 878,
2161 878, 543, 543, 543, 543, 2501, 543, 2501, 543, 907,
2162 907, 907, 907, 2501, 2501, 907, 907, 547, 547, 547,
2163 547, 2501, 547, 2501, 547, 917, 917, 917, 917, 2501,
2164 2501, 917, 917, 555, 555, 555, 2501, 2501, 2501, 555,
2165 933, 933, 933, 933, 2501, 2501, 933, 933, 567, 567,
2166 567, 2501, 2501, 2501, 567, 941, 941, 941, 941, 2501,
2167 2501, 941, 941, 573, 573, 573, 2501, 2501, 2501, 573,
2168 949, 949, 949, 949, 2501, 2501, 949, 949, 587, 587,
2170 587, 2501, 2501, 2501, 587, 966, 966, 966, 966, 2501,
2171 2501, 966, 966, 593, 593, 593, 2501, 2501, 2501, 593,
2172 978, 978, 978, 978, 2501, 2501, 978, 978, 601, 601,
2173 601, 2501, 2501, 2501, 601, 1002, 1002, 1002, 1002, 2501,
2174 2501, 1002, 1002, 617, 617, 617, 2501, 2501, 2501, 617,
2175 1017, 1017, 1017, 1017, 2501, 2501, 1017, 1017, 627, 627,
2176 627, 2501, 2501, 2501, 627, 1025, 1025, 1025, 1025, 2501,
2177 2501, 1025, 1025, 632, 632, 632, 2501, 2501, 2501, 632,
2178 1036, 1036, 1036, 1036, 2501, 2501, 1036, 1036, 640, 640,
2179 640, 2501, 2501, 2501, 640, 1045, 1045, 1045, 1045, 2501,
2181 2501, 1045, 1045, 647, 647, 647, 2501, 2501, 2501, 647,
2182 1057, 1057, 1057, 1057, 2501, 2501, 1057, 1057, 654, 654,
2183 654, 2501, 2501, 2501, 654, 1065, 1065, 1065, 1065, 2501,
2184 2501, 1065, 1065, 659, 659, 659, 2501, 2501, 2501, 659,
2185 1075, 1075, 1075, 1075, 2501, 2501, 1075, 1075, 665, 665,
2186 665, 2501, 2501, 2501, 665, 1083, 1083, 1083, 1083, 2501,
2187 2501, 1083, 1083, 673, 673, 673, 2501, 2501, 2501, 673,
2188 1089, 1089, 1089, 1089, 2501, 2501, 1089, 1089, 1096, 1096,
2189 1096, 1096, 2501, 2501, 1096, 1096, 681, 681, 681, 2501,
2190 2501, 2501, 681, 1104, 1104, 1104, 1104, 2501, 2501, 1104,
2192 1104, 863, 863, 863, 863, 863, 863, 863, 863, 863,
2193 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 518,
2194 518, 518, 2501, 2501, 2501, 518, 878, 878, 878, 878,
2195 2501, 2501, 878, 878, 907, 907, 907, 907, 2501, 2501,
2196 907, 907, 547, 547, 547, 2501, 2501, 2501, 547, 917,
2197 917, 917, 917, 2501, 2501, 917, 917, 555, 555, 555,
2198 2501, 2501, 2501, 555, 933, 933, 933, 933, 2501, 2501,
2199 933, 933, 567, 567, 567, 2501, 2501, 2501, 567, 941,
2200 941, 941, 941, 2501, 2501, 941, 941, 573, 573, 573,
2201 2501, 2501, 2501, 573, 587, 587, 587, 2501, 2501, 2501,
2203 587, 966, 966, 966, 966, 2501, 2501, 966, 966, 593,
2204 593, 593, 2501, 2501, 2501, 593, 978, 978, 978, 978,
2205 2501, 2501, 978, 978, 601, 601, 601, 2501, 2501, 2501,
2206 601, 1002, 1002, 1002, 1002, 2501, 2501, 1002, 1002, 617,
2207 617, 617, 2501, 2501, 2501, 617, 1017, 1017, 1017, 1017,
2208 2501, 2501, 1017, 1017, 627, 627, 627, 2501, 2501, 2501,
2209 627, 1025, 1025, 1025, 1025, 2501, 2501, 1025, 1025, 632,
2210 632, 632, 2501, 2501, 2501, 632, 1036, 1036, 1036, 1036,
2211 2501, 2501, 1036, 1036, 640, 640, 640, 2501, 2501, 2501,
2212 640, 1045, 1045, 1045, 1045, 2501, 2501, 1045, 1045, 647,
2214 647, 647, 2501, 2501, 2501, 647, 1057, 1057, 1057, 1057,
2215 2501, 2501, 1057, 1057, 654, 654, 654, 2501, 2501, 2501,
2216 654, 1065, 1065, 1065, 1065, 2501, 2501, 1065, 1065, 659,
2217 659, 659, 2501, 2501, 2501, 659, 1075, 1075, 1075, 1075,
2218 2501, 2501, 1075, 1075, 665, 665, 665, 2501, 2501, 2501,
2219 665, 1083, 1083, 1083, 1083, 2501, 2501, 1083, 1083, 673,
2220 673, 673, 673, 2501, 673, 2501, 673, 1089, 1089, 1089,
2221 1089, 2501, 2501, 1089, 1089, 1096, 1096, 1096, 1096, 2501,
2222 2501, 1096, 1096, 681, 681, 681, 681, 2501, 681, 2501,
2223 681, 1104, 1104, 1104, 1104, 2501, 2501, 1104, 1104, 863,
2225 863, 863, 863, 863, 863, 863, 863, 863, 1265, 1265,
2226 1265, 1265, 1265, 1265, 1265, 1265, 1265, 518, 518, 518,
2227 2501, 2501, 2501, 518, 878, 878, 878, 878, 2501, 2501,
2228 878, 878, 907, 907, 907, 907, 2501, 2501, 907, 907,
2229 547, 547, 547, 2501, 2501, 2501, 547, 917, 917, 917,
2230 917, 2501, 2501, 917, 917, 555, 555, 555, 2501, 2501,
2231 2501, 555, 933, 933, 933, 933, 2501, 2501, 933, 933,
2232 567, 567, 567, 2501, 2501, 2501, 567, 941, 941, 941,
2233 941, 2501, 2501, 941, 941, 573, 573, 573, 2501, 2501,
2234 2501, 573, 587, 587, 587, 2501, 2501, 2501, 587, 966,
2236 966, 966, 966, 2501, 2501, 966, 966, 593, 593, 593,
2237 2501, 2501, 2501, 593, 978, 978, 978, 978, 2501, 2501,
2238 978, 978, 601, 601, 601, 2501, 2501, 2501, 601, 1002,
2239 1002, 1002, 1002, 2501, 2501, 1002, 1002, 617, 617, 617,
2240 2501, 2501, 2501, 617, 1017, 1017, 1017, 1017, 2501, 2501,
2241 1017, 1017, 627, 627, 627, 2501, 2501, 2501, 627, 1025,
2242 1025, 1025, 1025, 2501, 2501, 1025, 1025, 632, 632, 632,
2243 2501, 2501, 2501, 632, 1036, 1036, 1036, 1036, 2501, 2501,
2244 1036, 1036, 640, 640, 640, 2501, 2501, 2501, 640, 1045,
2245 1045, 1045, 1045, 2501, 2501, 1045, 1045, 647, 647, 647,
2247 647, 2501, 647, 2501, 647, 1057, 1057, 1057, 1057, 2501,
2248 2501, 1057, 1057, 654, 654, 654, 2501, 2501, 2501, 654,
2249 1065, 1065, 1065, 1065, 2501, 2501, 1065, 1065, 659, 659,
2250 659, 659, 2501, 659, 2501, 659, 1075, 1075, 1075, 1075,
2251 2501, 2501, 1075, 1075, 665, 665, 665, 2501, 2501, 2501,
2252 665, 1083, 1083, 1083, 1083, 2501, 2501, 1083, 1083, 1089,
2253 1089, 1089, 1089, 2501, 2501, 1089, 1089, 1096, 1096, 1096,
2254 1096, 2501, 2501, 1096, 1096, 1104, 1104, 1104, 1104, 2501,
2255 2501, 1104, 1104, 863, 863, 863, 863, 863, 863, 863,
2256 863, 863, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265,
2258 1265, 518, 518, 518, 518, 2501, 518, 2501, 518, 878,
2259 878, 878, 878, 2501, 2501, 878, 878, 907, 907, 907,
2260 907, 2501, 2501, 907, 907, 547, 547, 547, 2501, 2501,
2261 2501, 547, 917, 917, 917, 917, 2501, 2501, 917, 917,
2262 555, 555, 555, 2501, 2501, 2501, 555, 933, 933, 933,
2263 933, 2501, 2501, 933, 933, 567, 567, 567, 567, 2501,
2264 567, 2501, 567, 941, 941, 941, 941, 2501, 2501, 941,
2265 941, 573, 573, 573, 573, 2501, 573, 2501, 573, 587,
2266 587, 587, 587, 2501, 587, 2501, 587, 966, 966, 966,
2267 966, 2501, 2501, 966, 966, 593, 593, 593, 2501, 2501,
2269 2501, 593, 601, 601, 601, 2501, 2501, 2501, 601, 1002,
2270 1002, 1002, 1002, 2501, 2501, 1002, 1002, 617, 617, 617,
2271 2501, 2501, 2501, 617, 627, 627, 627, 2501, 2501, 2501,
2272 627, 1025, 1025, 1025, 1025, 2501, 2501, 1025, 1025, 632,
2273 632, 632, 2501, 2501, 2501, 632, 640, 640, 640, 2501,
2274 2501, 2501, 640, 1045, 1045, 1045, 1045, 2501, 2501, 1045,
2275 1045, 647, 647, 647, 2501, 2501, 2501, 647, 1057, 1057,
2276 1057, 1057, 2501, 2501, 1057, 1057, 654, 654, 654, 2501,
2277 2501, 2501, 654, 1065, 1065, 1065, 1065, 2501, 2501, 1065,
2278 1065, 1075, 1075, 1075, 1075, 2501, 2501, 1075, 1075, 665,
2280 665, 665, 2501, 2501, 2501, 665, 1083, 1083, 1083, 1083,
2281 2501, 2501, 1083, 1083, 1089, 1089, 1089, 1089, 2501, 2501,
2282 1089, 1089, 1096, 1096, 1096, 1096, 2501, 2501, 1096, 1096,
2283 863, 863, 863, 863, 863, 863, 863, 863, 863, 1265,
2284 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 878, 878,
2285 878, 878, 2501, 2501, 878, 878, 907, 907, 907, 907,
2286 2501, 2501, 907, 907, 547, 547, 547, 2501, 2501, 2501,
2287 547, 555, 555, 555, 2501, 2501, 2501, 555, 933, 933,
2288 933, 933, 2501, 2501, 933, 933, 941, 941, 941, 941,
2289 2501, 2501, 941, 941, 2169, 2169, 2169, 2169, 2169, 2169,
2291 2169, 2169, 2169, 2170, 2170, 2170, 2170, 2170, 2170, 2170,
2292 2170, 2170, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
2293 2213, 2216, 2216, 2216, 2216, 2216, 2216, 2216, 2216, 2216,
2294 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2246,
2295 2246, 2246, 2246, 2246, 2246, 2246, 2246, 2246, 203, 2501,
2296 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2297 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2298 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2299 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2300 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2302 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2303 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
2307 static yyconst flex_int16_t yy_chk[8522] =
2309 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2310 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2311 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2312 8, 8, 8, 208, 11, 13, 13, 12, 14, 14,
2313 13, 13, 281, 14, 14, 209, 8, 17, 17, 208,
2314 13, 15, 15, 14, 15, 212, 15, 16, 16, 246,
2315 16, 209, 16, 18, 18, 246, 15, 19, 19, 19,
2316 315, 212, 16, 20, 20, 20, 23, 23, 23, 24,
2317 24, 24, 528, 19, 25, 25, 25, 281, 528, 20,
2318 309, 17, 23, 281, 528, 24, 206, 206, 206, 309,
2320 25, 207, 207, 207, 211, 211, 211, 18, 21, 21,
2321 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2322 21, 21, 21, 315, 21, 21, 21, 21, 21, 26,
2323 26, 26, 27, 27, 27, 28, 28, 28, 241, 29,
2324 29, 29, 30, 30, 30, 26, 312, 1424, 27, 230,
2325 235, 28, 241, 21, 21, 29, 312, 251, 30, 31,
2326 31, 31, 232, 232, 232, 230, 235, 239, 239, 239,
2327 248, 248, 248, 251, 1425, 31, 21, 22, 22, 22,
2328 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2329 22, 22, 330, 22, 22, 22, 22, 22, 32, 32,
2331 32, 33, 33, 33, 34, 34, 34, 230, 35, 35,
2332 35, 36, 36, 36, 32, 242, 317, 33, 317, 1426,
2333 34, 345, 22, 22, 35, 242, 243, 36, 37, 37,
2334 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2335 41, 41, 41, 330, 37, 22, 357, 38, 261, 357,
2336 39, 311, 272, 40, 242, 243, 41, 42, 42, 42,
2337 242, 255, 255, 255, 261, 244, 242, 243, 272, 243,
2338 242, 243, 345, 42, 43, 43, 43, 43, 43, 43,
2339 43, 43, 43, 43, 43, 43, 43, 43, 43, 311,
2340 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2342 46, 53, 53, 53, 244, 276, 1427, 49, 49, 276,
2343 288, 45, 49, 276, 46, 466, 244, 53, 244, 43,
2344 43, 403, 49, 258, 258, 258, 288, 43, 44, 44,
2345 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2346 44, 44, 44, 308, 44, 44, 44, 44, 44, 353,
2347 308, 49, 466, 50, 50, 54, 54, 54, 50, 55,
2348 55, 55, 56, 56, 56, 269, 269, 269, 50, 353,
2349 411, 54, 403, 44, 44, 55, 511, 411, 56, 511,
2350 1431, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2351 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2353 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2354 59, 59, 278, 60, 60, 60, 63, 63, 63, 57,
2355 300, 322, 58, 256, 266, 59, 278, 47, 47, 60,
2356 256, 266, 63, 1433, 1413, 47, 300, 322, 47, 256,
2357 266, 280, 280, 280, 47, 48, 48, 48, 48, 48,
2358 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2359 467, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2360 67, 67, 68, 68, 68, 1413, 69, 69, 69, 70,
2361 70, 70, 64, 335, 350, 67, 295, 367, 68, 425,
2362 48, 48, 69, 295, 359, 70, 425, 467, 48, 335,
2364 350, 48, 295, 367, 222, 359, 359, 48, 51, 51,
2365 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2366 51, 51, 51, 551, 51, 51, 51, 51, 51, 71,
2367 71, 71, 72, 72, 72, 73, 73, 73, 468, 74,
2368 74, 74, 75, 75, 75, 71, 222, 358, 72, 383,
2369 362, 73, 222, 51, 51, 74, 222, 362, 75, 551,
2370 358, 222, 51, 1436, 51, 383, 362, 51, 285, 285,
2371 285, 429, 51, 51, 52, 52, 52, 52, 52, 52,
2372 52, 52, 52, 52, 52, 52, 52, 52, 52, 468,
2373 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2375 77, 78, 78, 78, 489, 79, 79, 79, 80, 80,
2376 80, 76, 1437, 394, 77, 378, 389, 78, 429, 52,
2377 52, 79, 378, 389, 80, 294, 294, 294, 52, 394,
2378 52, 378, 389, 52, 297, 297, 297, 453, 52, 52,
2379 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2380 61, 61, 61, 61, 61, 489, 61, 61, 61, 61,
2381 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2382 399, 84, 84, 84, 85, 85, 85, 81, 529, 524,
2383 82, 399, 524, 83, 453, 61, 61, 84, 408, 421,
2384 85, 529, 61, 305, 305, 305, 1438, 61, 319, 319,
2386 319, 328, 328, 328, 408, 421, 61, 62, 62, 62,
2387 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2388 62, 62, 502, 62, 62, 62, 62, 62, 86, 86,
2389 86, 87, 87, 87, 88, 88, 88, 502, 89, 89,
2390 89, 90, 90, 90, 86, 532, 434, 87, 532, 1440,
2391 88, 1442, 62, 62, 89, 535, 440, 90, 535, 62,
2392 1443, 313, 434, 440, 62, 332, 332, 332, 343, 343,
2393 343, 414, 440, 62, 65, 65, 65, 65, 65, 65,
2394 65, 65, 65, 65, 65, 65, 65, 65, 65, 313,
2395 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2397 92, 93, 93, 93, 313, 94, 94, 94, 95, 95,
2398 95, 91, 445, 458, 92, 1445, 1447, 93, 414, 65,
2399 65, 94, 414, 1450, 95, 347, 347, 347, 445, 458,
2400 65, 361, 361, 361, 364, 364, 364, 1412, 65, 66,
2401 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2402 66, 66, 66, 66, 1412, 66, 66, 66, 66, 66,
2403 96, 96, 96, 99, 99, 99, 100, 100, 100, 892,
2404 101, 101, 101, 102, 102, 102, 96, 473, 483, 99,
2405 539, 892, 100, 539, 66, 66, 101, 1451, 1453, 102,
2406 377, 377, 377, 473, 483, 66, 380, 380, 380, 388,
2408 388, 388, 1454, 66, 97, 97, 97, 97, 97, 97,
2409 97, 97, 97, 97, 97, 97, 97, 97, 97, 1455,
2410 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2411 104, 105, 105, 105, 1457, 106, 106, 106, 391, 391,
2412 391, 103, 494, 687, 104, 478, 500, 105, 1463, 97,
2413 97, 106, 478, 500, 97, 401, 401, 401, 494, 687,
2414 97, 478, 500, 97, 98, 98, 98, 98, 98, 98,
2415 98, 98, 98, 98, 98, 98, 98, 98, 98, 1414,
2416 98, 98, 98, 98, 98, 109, 109, 109, 110, 110,
2417 110, 111, 111, 111, 1464, 112, 112, 112, 405, 405,
2419 405, 109, 1107, 1467, 110, 533, 581, 111, 584, 98,
2420 98, 112, 1414, 1473, 98, 413, 413, 413, 533, 581,
2421 98, 584, 1107, 98, 107, 107, 107, 107, 107, 107,
2422 107, 107, 107, 107, 107, 107, 107, 107, 107, 1474,
2423 107, 107, 107, 107, 107, 113, 113, 113, 114, 114,
2424 114, 115, 115, 115, 1479, 116, 116, 116, 418, 418,
2425 418, 113, 1264, 595, 114, 585, 595, 115, 1480, 107,
2426 107, 116, 107, 537, 107, 427, 427, 427, 585, 537,
2427 107, 431, 431, 431, 866, 537, 107, 1264, 866, 107,
2428 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2430 108, 108, 108, 108, 108, 1481, 108, 108, 108, 108,
2431 108, 119, 119, 119, 120, 120, 120, 123, 123, 123,
2432 903, 124, 124, 124, 439, 439, 439, 119, 1484, 800,
2433 120, 1490, 903, 123, 800, 108, 108, 124, 108, 540,
2434 108, 442, 442, 442, 1497, 540, 108, 451, 451, 451,
2435 1498, 540, 108, 1499, 1503, 108, 117, 117, 117, 117,
2436 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2437 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2438 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2439 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2441 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2442 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2443 117, 117, 117, 117, 117, 117, 117, 117, 121, 121,
2444 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2445 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2446 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2447 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2448 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2449 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2450 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2452 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
2453 125, 125, 125, 125, 125, 1509, 125, 125, 125, 125,
2454 125, 127, 127, 127, 128, 128, 128, 131, 131, 131,
2455 1452, 132, 132, 132, 455, 455, 455, 127, 1452, 1513,
2456 128, 1456, 541, 131, 1516, 125, 125, 132, 541, 1456,
2457 125, 465, 465, 465, 541, 1518, 125, 126, 126, 126,
2458 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
2459 126, 126, 1520, 126, 126, 126, 126, 126, 133, 133,
2460 133, 134, 134, 134, 135, 135, 135, 1522, 136, 136,
2461 136, 470, 470, 470, 133, 1523, 1524, 134, 1527, 565,
2463 135, 1529, 126, 126, 136, 565, 1534, 126, 477, 477,
2464 477, 565, 1536, 126, 129, 129, 129, 129, 129, 129,
2465 129, 129, 129, 129, 129, 129, 129, 129, 129, 1543,
2466 129, 129, 129, 129, 129, 137, 137, 137, 138, 138,
2467 138, 141, 141, 141, 936, 142, 142, 142, 143, 143,
2468 143, 137, 1544, 783, 138, 1545, 936, 141, 1547, 129,
2469 129, 142, 783, 129, 143, 480, 480, 480, 1561, 783,
2470 129, 1566, 129, 487, 487, 487, 491, 491, 491, 129,
2471 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
2472 130, 130, 130, 130, 130, 1567, 130, 130, 130, 130,
2474 130, 144, 144, 144, 145, 145, 145, 146, 146, 146,
2475 1571, 147, 147, 147, 148, 148, 148, 144, 1558, 1572,
2476 145, 1577, 1583, 146, 1558, 130, 130, 147, 1585, 130,
2477 148, 499, 499, 499, 1586, 1589, 130, 1592, 130, 501,
2478 501, 501, 510, 510, 510, 130, 139, 139, 139, 139,
2479 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2480 139, 1596, 139, 139, 139, 139, 139, 151, 151, 151,
2481 152, 152, 152, 153, 153, 153, 1597, 154, 154, 154,
2482 155, 155, 155, 151, 1321, 1598, 152, 1599, 1600, 153,
2483 1321, 139, 139, 154, 1321, 1601, 155, 139, 1321, 1602,
2485 510, 690, 690, 690, 1603, 690, 702, 702, 702, 1560,
2486 1604, 139, 140, 140, 140, 140, 140, 140, 140, 140,
2487 140, 140, 140, 140, 140, 140, 140, 1605, 140, 140,
2488 140, 140, 140, 156, 156, 156, 157, 157, 157, 158,
2489 158, 158, 1610, 161, 161, 161, 162, 162, 162, 156,
2490 1616, 1617, 157, 1618, 1560, 158, 1620, 140, 140, 161,
2491 1619, 1618, 162, 140, 719, 719, 719, 1621, 1619, 702,
2492 881, 881, 881, 758, 758, 758, 1625, 140, 149, 149,
2493 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2494 149, 149, 149, 1631, 149, 149, 149, 149, 149, 165,
2496 165, 165, 166, 166, 166, 167, 167, 167, 1559, 168,
2497 168, 168, 169, 169, 169, 165, 1322, 1632, 166, 1633,
2498 1638, 167, 1322, 149, 149, 168, 1322, 719, 169, 149,
2499 1322, 1642, 149, 730, 730, 730, 758, 730, 1643, 1559,
2500 730, 1644, 1646, 149, 150, 150, 150, 150, 150, 150,
2501 150, 150, 150, 150, 150, 150, 150, 150, 150, 1649,
2502 150, 150, 150, 150, 150, 170, 170, 170, 171, 171,
2503 171, 172, 172, 172, 1650, 175, 175, 175, 176, 176,
2504 176, 170, 1653, 1654, 171, 1651, 1657, 172, 1652, 150,
2505 150, 175, 1664, 1651, 176, 150, 1652, 1666, 150, 738,
2507 738, 738, 1676, 738, 1677, 1679, 738, 1683, 1684, 150,
2508 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
2509 159, 159, 159, 159, 159, 1692, 159, 159, 159, 159,
2510 159, 177, 177, 177, 178, 178, 178, 179, 179, 179,
2511 1699, 180, 180, 180, 181, 181, 181, 177, 1703, 1683,
2512 178, 1705, 1711, 179, 1684, 159, 159, 180, 1717, 1718,
2513 181, 159, 899, 899, 899, 1719, 159, 160, 160, 160,
2514 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
2515 160, 160, 1720, 160, 160, 160, 160, 160, 182, 182,
2516 182, 185, 185, 185, 186, 186, 186, 1721, 189, 189,
2518 189, 190, 190, 190, 182, 1722, 1723, 185, 1724, 1725,
2519 186, 1726, 160, 160, 189, 1732, 1738, 190, 160, 764,
2520 764, 764, 1739, 160, 163, 163, 163, 163, 163, 163,
2521 163, 163, 163, 163, 163, 163, 163, 163, 163, 1740,
2522 163, 163, 163, 163, 163, 191, 191, 191, 192, 192,
2523 192, 193, 193, 193, 1741, 194, 194, 194, 195, 195,
2524 195, 191, 1742, 1743, 192, 1744, 1745, 193, 1746, 163,
2525 163, 194, 1751, 1752, 195, 163, 1754, 1755, 163, 754,
2526 754, 754, 764, 754, 314, 1756, 754, 1757, 1764, 163,
2527 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2529 164, 164, 164, 164, 164, 1765, 164, 164, 164, 164,
2530 164, 196, 196, 196, 199, 199, 199, 200, 200, 200,
2531 1121, 1121, 1121, 1766, 700, 700, 700, 196, 314, 314,
2532 199, 314, 1767, 200, 1768, 164, 164, 314, 314, 306,
2533 307, 164, 700, 1769, 164, 1124, 1124, 1124, 1770, 306,
2534 307, 1127, 1127, 1127, 1771, 164, 173, 173, 173, 173,
2535 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2536 173, 1773, 173, 173, 173, 173, 173, 306, 307, 549,
2537 549, 549, 1781, 306, 1793, 1796, 306, 557, 557, 557,
2538 1797, 307, 306, 306, 1800, 307, 549, 574, 574, 574,
2540 1789, 173, 173, 1803, 557, 1136, 1136, 1136, 1804, 173,
2541 1805, 173, 1806, 173, 574, 1123, 1123, 1123, 1161, 1161,
2542 1161, 173, 174, 174, 174, 174, 174, 174, 174, 174,
2543 174, 174, 174, 174, 174, 174, 174, 1789, 174, 174,
2544 174, 174, 174, 589, 589, 589, 596, 596, 596, 604,
2545 604, 604, 606, 606, 606, 621, 621, 621, 1807, 1808,
2546 589, 1123, 1809, 596, 1810, 1811, 604, 174, 174, 606,
2547 1812, 1788, 621, 1813, 1815, 174, 1818, 174, 1819, 174,
2548 1172, 1172, 1172, 1820, 1173, 1173, 1173, 174, 183, 183,
2549 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2551 183, 183, 183, 1788, 183, 183, 183, 183, 183, 629,
2552 629, 629, 634, 634, 634, 656, 656, 656, 678, 678,
2553 678, 682, 682, 682, 1822, 1825, 629, 1826, 1829, 634,
2554 1173, 1833, 656, 183, 183, 678, 1834, 1836, 682, 769,
2555 769, 769, 1839, 769, 1840, 1841, 769, 777, 777, 777,
2556 1842, 777, 1844, 1847, 777, 1849, 183, 184, 184, 184,
2557 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2558 184, 184, 1867, 184, 184, 184, 184, 184, 726, 726,
2559 726, 1866, 727, 727, 727, 1871, 1872, 729, 729, 729,
2560 701, 701, 701, 733, 733, 733, 726, 734, 734, 734,
2562 727, 1873, 184, 184, 729, 737, 737, 737, 701, 1867,
2563 1878, 733, 785, 785, 785, 734, 785, 1868, 1879, 785,
2564 1866, 1880, 737, 1881, 1882, 184, 187, 187, 187, 187,
2565 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2566 187, 727, 187, 187, 187, 187, 187, 701, 739, 739,
2567 739, 741, 741, 741, 1876, 745, 745, 745, 1883, 1868,
2568 734, 746, 746, 746, 1876, 739, 1884, 1876, 741, 1885,
2569 1886, 187, 187, 745, 788, 788, 788, 1887, 788, 746,
2570 1888, 788, 187, 188, 188, 188, 188, 188, 188, 188,
2571 188, 188, 188, 188, 188, 188, 188, 188, 1890, 188,
2573 188, 188, 188, 188, 751, 751, 751, 1891, 746, 752,
2574 752, 752, 1897, 753, 753, 753, 756, 756, 756, 768,
2575 768, 768, 751, 1279, 1279, 1279, 1898, 752, 188, 188,
2576 753, 803, 803, 803, 756, 803, 768, 1902, 803, 188,
2577 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
2578 197, 197, 197, 197, 197, 1905, 197, 197, 197, 197,
2579 197, 757, 757, 757, 771, 771, 771, 1913, 1914, 772,
2580 772, 772, 752, 776, 776, 776, 780, 780, 780, 757,
2581 1915, 1939, 771, 1940, 1943, 197, 197, 772, 1944, 1945,
2582 776, 1281, 1281, 1281, 780, 1935, 197, 1936, 757, 811,
2584 811, 811, 1945, 811, 1946, 1947, 811, 1949, 197, 198,
2585 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
2586 198, 198, 198, 198, 1935, 198, 198, 198, 198, 198,
2587 781, 781, 781, 1950, 772, 784, 784, 784, 1936, 787,
2588 787, 787, 789, 789, 789, 797, 797, 797, 781, 798,
2589 798, 798, 784, 1948, 198, 198, 787, 1951, 1937, 789,
2590 1283, 1283, 1283, 797, 1952, 198, 1948, 798, 1953, 802,
2591 802, 802, 804, 804, 804, 1955, 1956, 198, 240, 807,
2592 807, 807, 808, 808, 808, 240, 802, 1957, 1923, 804,
2593 781, 810, 810, 810, 240, 240, 1958, 807, 1923, 1937,
2595 808, 812, 812, 812, 1923, 1968, 798, 1877, 810, 813,
2596 813, 813, 1969, 1970, 815, 815, 815, 1877, 1924, 812,
2597 1877, 1974, 240, 240, 240, 1982, 1984, 813, 1924, 240,
2598 240, 815, 240, 808, 1924, 1992, 240, 1993, 240, 240,
2599 240, 816, 816, 816, 1994, 816, 1995, 1996, 816, 820,
2600 820, 820, 821, 821, 821, 822, 822, 822, 823, 823,
2601 823, 824, 824, 824, 825, 825, 825, 820, 1997, 813,
2602 821, 2002, 822, 2003, 2006, 823, 2007, 2011, 824, 826,
2603 826, 826, 825, 828, 828, 828, 829, 829, 829, 830,
2604 830, 830, 2012, 831, 831, 831, 2013, 826, 2014, 2015,
2606 828, 2016, 2017, 829, 2018, 2020, 830, 821, 2003, 2021,
2607 831, 832, 832, 832, 2022, 833, 833, 833, 2002, 824,
2608 835, 835, 835, 836, 836, 836, 2023, 836, 2024, 832,
2609 836, 2025, 2026, 833, 2027, 2032, 829, 835, 2036, 826,
2610 837, 837, 837, 838, 838, 838, 839, 839, 839, 2037,
2611 829, 831, 833, 840, 840, 840, 2038, 2039, 837, 2046,
2612 2049, 838, 2056, 839, 841, 841, 841, 842, 842, 842,
2613 840, 843, 843, 843, 848, 848, 848, 849, 849, 849,
2614 2051, 841, 852, 852, 852, 842, 853, 853, 853, 843,
2615 2051, 2052, 848, 2057, 2058, 849, 2059, 2060, 838, 2061,
2617 852, 2052, 2069, 840, 853, 854, 854, 854, 855, 855,
2618 855, 2054, 855, 2055, 2063, 855, 2070, 840, 856, 856,
2619 856, 2054, 854, 2055, 857, 857, 857, 858, 858, 858,
2620 859, 859, 859, 2071, 859, 2072, 856, 859, 2073, 2074,
2621 849, 843, 857, 2075, 858, 861, 861, 861, 2063, 853,
2622 862, 862, 862, 877, 877, 877, 878, 878, 878, 880,
2623 880, 880, 2076, 861, 905, 905, 905, 2079, 862, 2080,
2624 2082, 877, 2083, 2084, 878, 2086, 2091, 880, 906, 906,
2625 906, 905, 2092, 2093, 857, 907, 907, 907, 2095, 909,
2626 909, 909, 910, 910, 910, 2101, 906, 911, 911, 911,
2628 2102, 911, 2103, 907, 911, 2104, 880, 909, 2105, 910,
2629 914, 914, 914, 862, 916, 916, 916, 917, 917, 917,
2630 2106, 919, 919, 919, 921, 921, 921, 914, 921, 2107,
2631 2108, 921, 916, 2109, 2110, 917, 2112, 2113, 909, 919,
2632 924, 924, 924, 925, 925, 925, 2125, 925, 2126, 2127,
2633 925, 2128, 926, 926, 926, 2129, 2130, 924, 927, 927,
2634 927, 930, 930, 930, 932, 932, 932, 2131, 919, 926,
2635 914, 2132, 928, 928, 928, 927, 928, 2136, 930, 928,
2636 2137, 2117, 932, 933, 933, 933, 935, 935, 935, 938,
2637 938, 938, 940, 940, 940, 941, 941, 941, 944, 944,
2639 944, 933, 944, 2138, 935, 944, 938, 943, 943, 943,
2640 940, 2139, 2140, 941, 948, 948, 948, 949, 949, 949,
2641 951, 951, 951, 2117, 2141, 943, 961, 961, 961, 2143,
2642 961, 2144, 948, 961, 2145, 949, 2148, 2153, 951, 965,
2643 965, 965, 966, 966, 966, 935, 968, 968, 968, 971,
2644 971, 971, 2154, 2155, 943, 2156, 2157, 965, 2158, 2159,
2645 966, 972, 972, 972, 968, 972, 971, 2160, 972, 977,
2646 977, 977, 978, 978, 978, 980, 980, 980, 985, 985,
2647 985, 2161, 985, 2162, 2163, 985, 2164, 977, 2167, 2168,
2648 978, 2165, 2171, 980, 988, 988, 988, 989, 989, 989,
2650 2168, 989, 2167, 2174, 989, 2175, 968, 992, 992, 992,
2651 2178, 988, 993, 993, 993, 2180, 993, 2181, 2183, 993,
2652 1001, 1001, 1001, 2184, 992, 1002, 1002, 1002, 1004, 1004,
2653 1004, 2187, 2188, 1009, 1009, 1009, 2165, 1009, 1001, 980,
2654 1009, 2189, 2193, 1002, 2191, 2201, 1004, 1012, 1012, 1012,
2655 1013, 1013, 1013, 2203, 1013, 2205, 2191, 1013, 1016, 1016,
2656 1016, 1017, 1017, 1017, 1012, 1019, 1019, 1019, 1021, 1021,
2657 1021, 2207, 1021, 2214, 2214, 1021, 1016, 2215, 2217, 1017,
2658 1024, 1024, 1024, 1019, 1025, 1025, 1025, 1027, 1027, 1027,
2659 1035, 1035, 1035, 2212, 1004, 1036, 1036, 1036, 1024, 1029,
2661 1029, 1029, 1025, 1029, 2216, 1027, 1029, 2219, 1035, 1038,
2662 1038, 1038, 2192, 1036, 2198, 2216, 1019, 1039, 1039, 1039,
2663 2199, 1040, 1040, 1040, 2192, 1040, 2198, 1038, 1040, 1041,
2664 1041, 1041, 2199, 2212, 1039, 1042, 1042, 1042, 2220, 1042,
2665 2221, 2222, 1042, 1044, 1044, 1044, 1041, 1045, 1045, 1045,
2666 1049, 1049, 1049, 1027, 1047, 1047, 1047, 1053, 1053, 1053,
2667 2231, 1044, 1050, 1050, 1050, 1045, 1050, 1049, 1038, 1050,
2668 2233, 2236, 1047, 2238, 1053, 1054, 1054, 1054, 2230, 1054,
2669 2244, 2213, 1054, 1056, 1056, 1056, 1057, 1057, 1057, 1059,
2670 1059, 1059, 1061, 1061, 1061, 2213, 1061, 2230, 2245, 1061,
2672 2246, 1056, 2248, 2249, 1057, 2232, 2250, 1059, 1064, 1064,
2673 1064, 1065, 1065, 1065, 1067, 1067, 1067, 1068, 1068, 1068,
2674 1047, 1069, 1069, 1069, 2232, 1069, 1064, 2251, 1069, 1065,
2675 2258, 2235, 1067, 2259, 1068, 2260, 1072, 1072, 1072, 1073,
2676 1073, 1073, 2261, 1073, 2237, 2262, 1073, 1074, 1074, 1074,
2677 2235, 2263, 1059, 1072, 1075, 1075, 1075, 1077, 1077, 1077,
2678 1079, 1079, 1079, 2237, 2266, 1074, 1082, 1082, 1082, 1083,
2679 1083, 1083, 1075, 1067, 2267, 1077, 2268, 1079, 1085, 1085,
2680 1085, 1088, 1088, 1088, 1082, 2269, 2270, 1083, 1089, 1089,
2681 1089, 1091, 1091, 1091, 2271, 2273, 1085, 2275, 2277, 1088,
2683 1092, 1092, 1092, 2287, 1092, 2285, 1089, 1092, 2288, 1091,
2684 1095, 1095, 1095, 1096, 1096, 1096, 2289, 2285, 1077, 1098,
2685 1098, 1098, 1099, 1099, 1099, 2290, 1099, 2291, 1095, 1099,
2686 2286, 1096, 1103, 1103, 1103, 2292, 2296, 1098, 1085, 1104,
2687 1104, 1104, 2286, 2297, 1091, 1106, 1106, 1106, 2298, 2299,
2688 1103, 1108, 1108, 1108, 1115, 1115, 1115, 1104, 1139, 1139,
2689 1139, 2300, 2301, 1106, 1140, 1140, 1140, 2304, 1140, 1108,
2690 1108, 1140, 1115, 2302, 2305, 1139, 2306, 2307, 1098, 1141,
2691 1141, 1141, 1142, 1142, 1142, 1143, 1143, 1143, 2308, 1143,
2692 2309, 2310, 1143, 1146, 1146, 1146, 2311, 1141, 2302, 1142,
2694 1148, 1148, 1148, 2312, 1148, 1106, 2313, 1148, 1151, 1151,
2695 1151, 1146, 2314, 1152, 1152, 1152, 2315, 1152, 2316, 1115,
2696 1152, 2317, 1153, 1153, 1153, 1151, 1153, 2318, 2319, 1153,
2697 1157, 1157, 1157, 1158, 1158, 1158, 1141, 1158, 2320, 2321,
2698 1158, 2322, 1146, 1160, 1160, 1160, 2325, 1157, 1163, 1163,
2699 1163, 1164, 1164, 1164, 2326, 1164, 2327, 2328, 1164, 2329,
2700 2322, 1160, 1165, 1165, 1165, 1163, 1166, 1166, 1166, 1168,
2701 1168, 1168, 1179, 1179, 1179, 2330, 1180, 1180, 1180, 1165,
2702 1183, 1183, 1183, 2331, 1166, 2332, 2333, 1168, 2334, 1179,
2703 1185, 1185, 1185, 1160, 1180, 2335, 2336, 1183, 1184, 1184,
2705 1184, 2337, 1184, 2338, 2339, 1184, 2340, 1185, 1186, 1186,
2706 1186, 1187, 1187, 1187, 2342, 1166, 1189, 1189, 1189, 1192,
2707 1192, 1192, 1286, 1286, 1286, 1186, 1197, 1197, 1197, 1187,
2708 1193, 1193, 1193, 1189, 1193, 2343, 1192, 1193, 2341, 1180,
2709 1194, 1194, 1194, 1197, 1194, 2344, 2345, 1194, 1204, 1204,
2710 1204, 1206, 1206, 1206, 1186, 1209, 1209, 1209, 2341, 1209,
2711 2346, 2347, 1209, 1212, 1212, 1212, 1204, 2348, 1206, 1214,
2712 1214, 1214, 1216, 1216, 1216, 2349, 1187, 1220, 1220, 1220,
2713 1212, 2350, 1221, 1221, 1221, 2351, 2352, 1214, 2353, 2354,
2714 1216, 1222, 1222, 1222, 1220, 1222, 2355, 2356, 1222, 2357,
2716 1221, 1225, 1225, 1225, 2359, 1225, 2360, 2361, 1225, 1229,
2717 1229, 1229, 1204, 1230, 1230, 1230, 2358, 1231, 1231, 1231,
2718 2362, 1231, 2358, 1220, 1231, 2363, 2364, 1229, 2366, 1236,
2719 1236, 1236, 1214, 1236, 2367, 2369, 1236, 1216, 1221, 1240,
2720 1240, 1240, 1242, 1242, 1242, 1243, 1243, 1243, 2370, 1243,
2721 2372, 2373, 1243, 2376, 1248, 1248, 1248, 1240, 1248, 1230,
2722 1242, 1248, 1251, 1251, 1251, 1253, 1253, 1253, 1254, 1254,
2723 1254, 2377, 1254, 2378, 1229, 1254, 1257, 1257, 1257, 2375,
2724 1251, 2379, 1253, 1259, 1259, 1259, 1260, 1260, 1260, 1261,
2725 1261, 1261, 2381, 2375, 1257, 1262, 1262, 1262, 1242, 1240,
2727 1259, 1263, 1263, 1263, 1260, 2383, 2385, 1261, 2387, 1251,
2728 2389, 2390, 1262, 1266, 1266, 1266, 1273, 1273, 1273, 1263,
2729 1288, 1288, 1288, 2391, 2392, 1257, 1290, 1290, 1290, 2393,
2730 2394, 1266, 2395, 2396, 1273, 1295, 1295, 1295, 1297, 1297,
2731 1297, 1261, 1298, 1298, 1298, 2398, 1298, 2400, 2402, 1298,
2732 2403, 2404, 1260, 1301, 1301, 1301, 1302, 1302, 1302, 2405,
2733 1302, 2414, 1263, 1302, 1266, 1318, 1318, 1318, 1273, 2438,
2734 2464, 1301, 1290, 1307, 1307, 1307, 1329, 1329, 1329, 2439,
2735 1266, 1422, 2415, 1288, 1297, 1309, 1309, 1309, 2422, 1309,
2736 2406, 1307, 1309, 1313, 1313, 1313, 2422, 1313, 1421, 2464,
2738 1313, 2438, 1317, 1317, 1317, 1320, 1320, 1320, 2414, 1320,
2739 2418, 2439, 1320, 1323, 1323, 1323, 1325, 1325, 1325, 1301,
2740 1317, 1324, 1324, 1324, 1307, 1324, 2406, 2407, 1324, 2415,
2741 1323, 1330, 1330, 1330, 1325, 1331, 1331, 1331, 1333, 1333,
2742 1333, 1334, 1334, 1334, 1336, 1336, 1336, 1337, 1337, 1337,
2743 2416, 1337, 2417, 2418, 1337, 1338, 1338, 1338, 1344, 1344,
2744 1344, 1336, 1317, 2407, 1341, 1341, 1341, 1325, 1341, 1420,
2745 2440, 1341, 1419, 1338, 2419, 1344, 1345, 1345, 1345, 2440,
2746 1345, 2420, 2492, 1345, 2423, 2420, 1346, 1346, 1346, 1347,
2747 1347, 1347, 2423, 1347, 2430, 2428, 1347, 2416, 1331, 2417,
2749 2426, 1333, 1338, 1346, 1334, 1349, 1349, 1349, 1351, 1351,
2750 1351, 1352, 1352, 1352, 2424, 1352, 2425, 2419, 1352, 1353,
2751 1353, 1353, 2424, 1349, 2425, 1351, 1355, 1355, 1355, 2492,
2752 1355, 2421, 2428, 1355, 2430, 2421, 1353, 1358, 1358, 1358,
2753 1359, 1359, 1359, 2446, 1359, 2427, 2426, 1359, 1360, 1360,
2754 1360, 1365, 1365, 1365, 1358, 1366, 1366, 1366, 1368, 1368,
2755 1368, 2447, 1369, 1369, 1369, 1360, 1369, 1416, 1365, 1369,
2756 1370, 1370, 1370, 1366, 2429, 1368, 1372, 1372, 1372, 1373,
2757 1373, 1373, 1404, 1373, 2431, 2446, 1373, 1370, 1375, 1375,
2758 1375, 2427, 2452, 1372, 1377, 1377, 1377, 1381, 1381, 1381,
2760 1382, 1382, 1382, 2447, 1382, 2472, 1375, 1382, 1384, 1384,
2761 1384, 2429, 1377, 2472, 1381, 1386, 1386, 1386, 1402, 2434,
2762 1366, 1388, 1388, 1388, 2431, 2452, 1384, 1389, 1389, 1389,
2763 1390, 1390, 1390, 1386, 1391, 1391, 1391, 2432, 1388, 1393,
2764 1393, 1393, 2433, 2442, 1389, 1377, 2436, 1390, 1394, 1394,
2765 1394, 2435, 1391, 1395, 1395, 1395, 2444, 1393, 1396, 1396,
2766 1396, 1403, 1403, 1403, 2434, 1394, 1386, 1398, 1398, 1398,
2767 1395, 1398, 2432, 2448, 1398, 2458, 1396, 2433, 2442, 1403,
2768 1405, 1405, 1405, 2436, 2437, 1393, 2441, 1406, 1406, 1406,
2769 2444, 1406, 1401, 1390, 1406, 2441, 2435, 1405, 1397, 1392,
2771 1391, 1407, 1407, 1407, 1387, 1408, 1408, 1408, 1409, 1409,
2772 1409, 2445, 1403, 1410, 1410, 1410, 2458, 1410, 2448, 1407,
2773 1410, 2437, 1396, 1408, 2453, 1409, 1411, 1411, 1411, 1417,
2774 1417, 1417, 1418, 1418, 1418, 1423, 1423, 1423, 1428, 1428,
2775 1428, 1429, 1429, 1429, 1411, 2445, 1417, 1430, 1430, 1430,
2776 1418, 1432, 1432, 1432, 1434, 1434, 1434, 2453, 2443, 1407,
2777 1408, 1435, 1435, 1435, 1439, 1439, 1439, 1441, 1441, 1441,
2778 1444, 1444, 1444, 1446, 1446, 1446, 1448, 1448, 1448, 1449,
2779 1449, 1449, 1458, 1458, 1458, 1441, 1458, 2450, 1444, 1458,
2780 1446, 2449, 1418, 2443, 1448, 1385, 1449, 1461, 1461, 1461,
2782 2456, 1462, 1462, 1462, 1465, 1465, 1465, 1466, 1466, 1466,
2783 1468, 1468, 1468, 1383, 1380, 1461, 2454, 1441, 1462, 1469,
2784 1469, 1469, 2450, 1469, 2460, 2454, 1469, 1468, 1472, 1472,
2785 1472, 1475, 1475, 1475, 1448, 1475, 2449, 2456, 1475, 2451,
2786 1478, 1478, 1478, 1461, 1478, 2455, 1472, 1478, 1482, 1482,
2787 1482, 1485, 1485, 1485, 2455, 1485, 2468, 1379, 1485, 1488,
2788 1488, 1488, 2459, 1489, 1489, 1489, 1482, 1489, 2457, 2460,
2789 1489, 1491, 1491, 1491, 2451, 1491, 1488, 2461, 1491, 2465,
2790 2473, 1472, 1494, 1494, 1494, 1495, 1495, 1495, 2473, 1495,
2791 2468, 2462, 1495, 1496, 1496, 1496, 1500, 1500, 1500, 1494,
2793 1501, 1501, 1501, 2459, 1501, 2457, 2463, 1501, 2465, 1378,
2794 1496, 2466, 1376, 1500, 1502, 1502, 1502, 1504, 1504, 1504,
2795 2466, 1504, 2461, 2469, 1504, 1507, 1507, 1507, 2462, 1508,
2796 1508, 1508, 1502, 1508, 1374, 2474, 1508, 1510, 1510, 1510,
2797 2475, 1510, 1507, 2463, 1510, 1514, 1514, 1514, 1517, 1517,
2798 1517, 1519, 1519, 1519, 1521, 1521, 1521, 2469, 1521, 2470,
2799 1371, 1521, 1367, 1514, 2471, 1502, 1517, 1364, 1519, 1525,
2800 1525, 1525, 1528, 1528, 1528, 1530, 1530, 1530, 1531, 1531,
2801 1531, 2474, 1531, 2478, 2476, 1531, 2475, 1525, 1363, 2496,
2802 1528, 2479, 1530, 1532, 1532, 1532, 1362, 1519, 1533, 1533,
2804 1533, 2480, 1533, 2496, 2470, 1533, 1535, 1535, 1535, 2471,
2805 1532, 1517, 1537, 1537, 1537, 1538, 1538, 1538, 1539, 1539,
2806 1539, 2476, 1539, 2478, 1535, 1539, 1540, 1540, 1540, 2467,
2807 1537, 2479, 1538, 1541, 1541, 1541, 2480, 1541, 2467, 1361,
2808 1541, 2477, 2484, 1540, 1542, 1542, 1542, 1546, 1546, 1546,
2809 1548, 1548, 1548, 1354, 1548, 2482, 2481, 1548, 1551, 1551,
2810 1551, 1537, 1542, 2488, 2485, 1546, 1552, 1552, 1552, 1350,
2811 1348, 1535, 2488, 1553, 1553, 1553, 1551, 1553, 2477, 2484,
2812 1553, 1556, 1556, 1556, 1552, 1562, 1562, 1562, 1563, 1563,
2813 1563, 2481, 1563, 1340, 1339, 1563, 1564, 1564, 1564, 1556,
2815 2482, 2485, 1562, 1565, 1565, 1565, 1335, 2497, 1542, 1551,
2816 1332, 1546, 1328, 1327, 1564, 1568, 1568, 1568, 2497, 1552,
2817 1569, 1569, 1569, 1570, 1570, 1570, 1573, 1573, 1573, 1574,
2818 1574, 1574, 1575, 1575, 1575, 1576, 1576, 1576, 1578, 1578,
2819 1578, 1579, 1579, 1579, 1580, 1580, 1580, 1581, 1581, 1581,
2820 1582, 1582, 1582, 1584, 1584, 1584, 1587, 1587, 1587, 1564,
2821 1590, 1590, 1590, 1591, 1591, 1591, 2483, 1591, 1326, 1319,
2822 1591, 1584, 1316, 1312, 1587, 1308, 2486, 1590, 1593, 1593,
2823 1593, 1594, 1594, 1594, 1595, 1595, 1595, 1306, 1595, 1305,
2824 1296, 1595, 1606, 1606, 1606, 1294, 1593, 2487, 1594, 1607,
2826 1607, 1607, 1293, 2493, 1584, 1608, 1608, 1608, 2486, 1608,
2827 1606, 2483, 1608, 1609, 1609, 1609, 1607, 1611, 1611, 1611,
2828 1612, 1612, 1612, 1613, 1613, 1613, 1614, 1614, 1614, 2487,
2829 1614, 1292, 1291, 1614, 1615, 1615, 1615, 1685, 1685, 1685,
2830 1613, 1606, 1622, 1622, 1622, 2490, 1622, 2489, 1289, 1622,
2831 2493, 2491, 1615, 1626, 1626, 1626, 2489, 1626, 1287, 2494,
2832 1626, 1629, 1629, 1629, 1630, 1630, 1630, 1285, 1630, 1284,
2833 1282, 1630, 1634, 1634, 1634, 2495, 1634, 2490, 1629, 1634,
2834 1637, 1637, 1637, 2491, 1280, 1615, 1639, 1639, 1639, 1278,
2835 1639, 2494, 1277, 1639, 1645, 1645, 1645, 1276, 1637, 1647,
2837 1647, 1647, 1648, 1648, 1648, 1275, 1648, 2495, 1274, 1648,
2838 1272, 1271, 1645, 1655, 1655, 1655, 1647, 1658, 1658, 1658,
2839 1268, 1658, 1265, 1258, 1658, 1661, 1661, 1661, 1256, 1661,
2840 1255, 1655, 1661, 1665, 1665, 1665, 1667, 1667, 1667, 1252,
2841 1668, 1668, 1668, 1637, 1668, 1247, 1246, 1668, 1671, 1671,
2842 1671, 1665, 1671, 1241, 1667, 1671, 1674, 1674, 1674, 1675,
2843 1675, 1675, 1678, 1678, 1678, 1680, 1680, 1680, 1681, 1681,
2844 1681, 1682, 1682, 1682, 1674, 1239, 1675, 1690, 1690, 1690,
2845 1678, 1235, 1234, 1680, 1665, 1228, 1681, 1219, 1218, 1682,
2846 1217, 1215, 1674, 1686, 1686, 1686, 1213, 1686, 1208, 1207,
2848 1686, 1667, 1689, 1689, 1689, 1691, 1691, 1691, 1693, 1693,
2849 1693, 1694, 1694, 1694, 1695, 1695, 1695, 1696, 1696, 1696,
2850 1689, 1697, 1697, 1697, 1680, 1205, 1678, 1698, 1698, 1698,
2851 1700, 1700, 1700, 1701, 1701, 1701, 1702, 1702, 1702, 1704,
2852 1704, 1704, 1707, 1707, 1707, 1708, 1708, 1708, 1203, 1708,
2853 1202, 1201, 1708, 1712, 1712, 1712, 1200, 1704, 1199, 1707,
2854 1689, 1714, 1714, 1714, 1198, 1714, 1191, 1190, 1714, 1188,
2855 1182, 1712, 1727, 1727, 1727, 1728, 1728, 1728, 1181, 1728,
2856 1178, 1177, 1728, 1731, 1731, 1731, 1733, 1733, 1733, 1176,
2857 1727, 1734, 1734, 1734, 1175, 1734, 1174, 1171, 1734, 1737,
2859 1737, 1737, 1747, 1747, 1747, 1170, 1747, 1167, 1162, 1747,
2860 1750, 1750, 1750, 1753, 1753, 1753, 1159, 1737, 1758, 1758,
2861 1758, 1760, 1760, 1760, 1772, 1772, 1772, 1750, 1774, 1774,
2862 1774, 1753, 1727, 1761, 1761, 1761, 1758, 1761, 1760, 1156,
2863 1761, 1775, 1775, 1775, 1147, 1145, 1774, 1776, 1776, 1776,
2864 1777, 1777, 1777, 1778, 1778, 1778, 1144, 1138, 1775, 1779,
2865 1779, 1779, 1137, 1779, 1135, 1776, 1779, 1760, 1777, 1134,
2866 1778, 1780, 1780, 1780, 1782, 1782, 1782, 1783, 1783, 1783,
2867 1784, 1784, 1784, 1785, 1785, 1785, 1133, 1132, 1780, 1787,
2868 1787, 1787, 1782, 1790, 1790, 1790, 1131, 1130, 1784, 1129,
2870 1128, 1785, 1791, 1791, 1791, 1126, 1776, 1787, 1125, 1122,
2871 1777, 1792, 1792, 1792, 1794, 1794, 1794, 1795, 1795, 1795,
2872 1791, 1798, 1798, 1798, 1801, 1801, 1801, 1802, 1802, 1802,
2873 1120, 1802, 1119, 1118, 1802, 1814, 1814, 1814, 1117, 1798,
2874 1116, 1801, 1816, 1816, 1816, 1784, 1824, 1824, 1824, 1114,
2875 1787, 1113, 1112, 1814, 1827, 1827, 1827, 1828, 1828, 1828,
2876 1816, 1828, 1111, 1824, 1828, 1830, 1830, 1830, 1831, 1831,
2877 1831, 1827, 1835, 1835, 1835, 1837, 1837, 1837, 1846, 1846,
2878 1846, 1102, 1830, 1838, 1838, 1838, 1831, 1838, 1087, 1835,
2879 1838, 1086, 1837, 1081, 1814, 1846, 1848, 1848, 1848, 1850,
2881 1850, 1850, 1852, 1852, 1852, 1853, 1853, 1853, 1080, 1853,
2882 1078, 1071, 1853, 1854, 1854, 1854, 1070, 1850, 1060, 1852,
2883 1855, 1855, 1855, 1856, 1856, 1856, 1055, 1856, 1052, 1051,
2884 1856, 1854, 1859, 1859, 1859, 1860, 1860, 1860, 1855, 1860,
2885 1048, 1043, 1860, 1861, 1861, 1861, 1862, 1862, 1862, 1859,
2886 1864, 1864, 1864, 1865, 1865, 1865, 1869, 1869, 1869, 1034,
2887 1861, 1874, 1874, 1874, 1862, 1875, 1875, 1875, 1033, 1875,
2888 1032, 1865, 1875, 1028, 1869, 1889, 1889, 1889, 1874, 1892,
2889 1892, 1892, 1895, 1895, 1895, 1020, 1855, 1896, 1896, 1896,
2890 1015, 1896, 1014, 1889, 1896, 1008, 1892, 1007, 1006, 1895,
2892 1899, 1899, 1899, 1005, 1899, 1000, 999, 1899, 1903, 1903,
2893 1903, 1904, 1904, 1904, 998, 1904, 997, 996, 1904, 1906,
2894 1906, 1906, 1907, 1907, 1907, 1903, 1908, 1908, 1908, 995,
2895 1908, 994, 984, 1908, 1889, 983, 1906, 982, 981, 1907,
2896 1909, 1909, 1909, 1910, 1910, 1910, 976, 1910, 975, 970,
2897 1910, 1918, 1918, 1918, 1919, 1919, 1919, 1909, 1919, 969,
2898 964, 1919, 1920, 1920, 1920, 1921, 1921, 1921, 1918, 1922,
2899 1922, 1922, 960, 1922, 959, 958, 1922, 957, 956, 1920,
2900 955, 954, 1921, 1925, 1925, 1925, 1927, 1927, 1927, 1928,
2901 1928, 1928, 953, 1928, 952, 947, 1928, 1931, 1931, 1931,
2903 939, 1925, 937, 931, 1927, 1932, 1932, 1932, 929, 1932,
2904 920, 915, 1932, 904, 1931, 1933, 1933, 1933, 1938, 1938,
2905 1938, 1941, 1941, 1941, 1942, 1942, 1942, 902, 1942, 901,
2906 900, 1942, 898, 1933, 1960, 1960, 1960, 897, 1941, 1961,
2907 1961, 1961, 1962, 1962, 1962, 1963, 1963, 1963, 2005, 2005,
2908 2005, 1927, 1960, 1964, 1964, 1964, 896, 1964, 895, 1962,
2909 1964, 894, 1963, 1965, 1965, 1965, 893, 1965, 891, 890,
2910 1965, 1971, 1971, 1971, 889, 1971, 888, 887, 1971, 1975,
2911 1975, 1975, 1976, 1976, 1976, 1960, 1976, 886, 1962, 1976,
2912 1977, 1977, 1977, 885, 1977, 884, 1975, 1977, 1980, 1980,
2914 1980, 1981, 1981, 1981, 883, 1981, 882, 876, 1981, 1983,
2915 1983, 1983, 1985, 1985, 1985, 1980, 1985, 875, 874, 1985,
2916 1988, 1988, 1988, 1989, 1989, 1989, 1983, 1989, 871, 870,
2917 1989, 1990, 1990, 1990, 1991, 1991, 1991, 1988, 1991, 869,
2918 867, 1991, 1998, 1998, 1998, 1999, 1999, 1999, 1990, 1999,
2919 863, 860, 1999, 2004, 2004, 2004, 851, 2008, 2008, 2008,
2920 1998, 2008, 850, 847, 2008, 2019, 2019, 2019, 846, 845,
2921 2004, 2004, 2028, 2028, 2028, 2029, 2029, 2029, 2030, 2030,
2922 2030, 844, 2019, 834, 2031, 2031, 2031, 827, 2031, 819,
2923 2028, 2031, 818, 1998, 817, 2030, 2033, 2033, 2033, 814,
2925 2033, 809, 806, 2033, 2040, 2040, 2040, 805, 2040, 801,
2926 799, 2040, 2043, 2043, 2043, 796, 2043, 795, 794, 2043,
2927 793, 2028, 2047, 2047, 2047, 2048, 2048, 2048, 792, 2048,
2928 791, 790, 2048, 2050, 2050, 2050, 786, 2050, 782, 2047,
2929 2050, 2053, 2053, 2053, 779, 2053, 778, 775, 2053, 2062,
2930 2062, 2062, 2064, 2064, 2064, 2065, 2065, 2065, 2066, 2066,
2931 2066, 774, 2066, 773, 770, 2066, 767, 2062, 766, 2064,
2932 2064, 765, 2065, 2065, 763, 762, 2066, 2067, 2067, 2067,
2933 2068, 2068, 2068, 2077, 2077, 2077, 2078, 2078, 2078, 761,
2934 2078, 760, 759, 2078, 2087, 2087, 2087, 2088, 2088, 2088,
2936 2077, 2088, 755, 750, 2088, 2094, 2094, 2094, 2096, 2096,
2937 2096, 749, 2087, 2097, 2097, 2097, 748, 2097, 747, 744,
2938 2097, 743, 2094, 742, 740, 2096, 2100, 2100, 2100, 2115,
2939 2115, 2115, 2118, 2118, 2118, 2119, 2119, 2119, 736, 2119,
2940 732, 731, 2119, 2100, 2120, 2120, 2120, 2115, 2120, 2118,
2941 2118, 2120, 728, 2119, 2123, 2123, 2123, 725, 724, 2087,
2942 723, 722, 2120, 2121, 2121, 2121, 2121, 2121, 2121, 2121,
2943 2121, 2121, 721, 720, 2121, 2124, 2124, 2124, 718, 2121,
2944 2121, 2121, 2121, 2121, 2133, 2133, 2133, 717, 2133, 716,
2945 715, 2133, 2147, 2147, 2147, 714, 2147, 713, 712, 2147,
2947 711, 2142, 2142, 2142, 710, 2146, 2146, 2146, 2121, 2121,
2948 2122, 2122, 2122, 2122, 2122, 2122, 2122, 2122, 2122, 2142,
2949 709, 2122, 2146, 2149, 2149, 2149, 2122, 2122, 2122, 2122,
2950 2122, 2150, 2150, 2150, 708, 2150, 707, 706, 2150, 705,
2951 2149, 2151, 2151, 2151, 2152, 2152, 2152, 704, 2152, 703,
2952 699, 2152, 2185, 2185, 2185, 2122, 2122, 698, 2151, 2166,
2953 2166, 2166, 696, 2166, 695, 694, 2166, 2190, 2190, 2190,
2954 2185, 2190, 693, 692, 2190, 688, 686, 2166, 2169, 2169,
2955 2169, 2169, 2169, 2169, 2169, 2169, 2169, 685, 684, 2169,
2956 683, 679, 675, 674, 2169, 2169, 2169, 2169, 2169, 2194,
2958 2194, 2194, 671, 2194, 670, 669, 2194, 2197, 2197, 2197,
2959 668, 2197, 667, 666, 2197, 663, 2218, 2218, 2218, 662,
2960 2227, 2227, 2227, 2169, 2169, 2170, 2170, 2170, 2170, 2170,
2961 2170, 2170, 2170, 2170, 2218, 2218, 2170, 2227, 2228, 2228,
2962 2228, 2170, 2170, 2170, 2170, 2170, 2229, 2229, 2229, 2234,
2963 2234, 2234, 2252, 2252, 2252, 2228, 2243, 2243, 2243, 2247,
2964 2247, 2247, 661, 2229, 660, 657, 2234, 655, 652, 2252,
2965 2170, 2170, 651, 650, 2243, 649, 648, 2247, 2253, 2253,
2966 2253, 645, 2253, 644, 643, 2253, 2254, 2254, 2254, 2255,
2967 2255, 2255, 642, 2255, 641, 638, 2255, 2256, 2256, 2256,
2969 2257, 2257, 2257, 2254, 2257, 637, 636, 2257, 635, 633,
2970 2247, 2264, 2264, 2264, 2256, 2265, 2265, 2265, 630, 2265,
2971 628, 625, 2265, 2272, 2272, 2272, 624, 623, 2264, 2278,
2972 2278, 2278, 622, 2278, 620, 619, 2278, 618, 2281, 2281,
2973 2281, 2272, 2281, 615, 614, 2281, 2284, 2284, 2284, 613,
2974 2284, 612, 611, 2284, 2293, 2293, 2293, 610, 2293, 609,
2975 2272, 2293, 2388, 2388, 2388, 2397, 2397, 2397, 608, 2397,
2976 607, 605, 2397, 2498, 2498, 2498, 2499, 2499, 2499, 603,
2977 2388, 602, 599, 2397, 598, 597, 594, 591, 590, 588,
2978 583, 2498, 582, 580, 2499, 2502, 2502, 2502, 2502, 2502,
2980 2502, 2502, 2502, 2502, 2503, 2503, 2503, 2503, 2503, 2503,
2981 2503, 2503, 2503, 2504, 2504, 2504, 2504, 2504, 2504, 2504,
2982 2504, 2504, 2505, 2505, 2505, 2505, 2505, 2505, 2505, 2505,
2983 2505, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506,
2984 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2507, 2508,
2985 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2509, 2509,
2986 2509, 2509, 2509, 2509, 2509, 2509, 2509, 2510, 2510, 2510,
2987 2510, 2510, 2510, 2510, 2510, 2510, 2511, 2511, 2511, 2511,
2988 2511, 2511, 2511, 2511, 2511, 2512, 2512, 2512, 2512, 2512,
2989 2512, 2512, 2512, 2512, 2513, 2513, 2513, 2513, 2513, 2513,
2991 2513, 2513, 2513, 2514, 2514, 2514, 2514, 2514, 2514, 2514,
2992 2514, 2514, 2515, 2515, 2515, 2515, 2515, 2515, 2515, 2515,
2993 2515, 2516, 2516, 2516, 2516, 2516, 2516, 2516, 2516, 2516,
2994 2517, 2517, 2517, 2517, 2517, 2517, 2517, 2517, 2517, 2518,
2995 2518, 2518, 2518, 2518, 2518, 2518, 2518, 2518, 2519, 2519,
2996 2519, 2519, 2519, 2519, 2519, 2519, 2519, 2520, 2520, 2520,
2997 2520, 2520, 2520, 2520, 2520, 2520, 2521, 2521, 2521, 2521,
2998 2521, 2521, 2521, 2521, 2521, 2522, 2522, 2522, 2522, 2522,
2999 2522, 2522, 2522, 2522, 2523, 2523, 2523, 2523, 2523, 2523,
3000 2523, 2523, 2523, 2524, 2524, 2524, 2524, 2524, 2524, 2524,
3002 2524, 2524, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525,
3003 2525, 2526, 2526, 2526, 2526, 2526, 2526, 2526, 2526, 2526,
3004 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2528,
3005 2528, 2528, 2528, 2528, 2528, 2528, 2528, 2528, 2529, 2529,
3006 2529, 2529, 2529, 2529, 2529, 2529, 2529, 2530, 2530, 2530,
3007 2530, 2530, 2530, 2530, 2530, 2530, 2531, 2531, 2531, 2531,
3008 2531, 2531, 2531, 2531, 2531, 2532, 2532, 2532, 2532, 2532,
3009 2532, 2532, 2532, 2532, 2533, 2533, 2533, 2533, 2533, 2533,
3010 2533, 2533, 2533, 2534, 2534, 2534, 2534, 2534, 2534, 2534,
3011 2534, 2534, 2535, 2535, 2535, 2535, 2535, 2535, 2535, 2535,
3013 2535, 2536, 2536, 2536, 2536, 2536, 2536, 2536, 2536, 2536,
3014 2537, 2537, 2537, 2537, 2537, 2537, 2537, 2537, 2537, 2538,
3015 2538, 2538, 2538, 2538, 2538, 2538, 2538, 2538, 2539, 2539,
3016 2539, 2539, 2539, 2539, 2539, 2539, 2539, 2540, 2540, 2540,
3017 2540, 2540, 2540, 2540, 2540, 2540, 2541, 2541, 2541, 2541,
3018 2541, 2541, 2541, 2541, 2541, 2542, 2542, 2542, 2542, 2542,
3019 2542, 2542, 2542, 2542, 2543, 2543, 2543, 2543, 2543, 2543,
3020 2543, 2543, 2543, 2544, 2544, 2544, 2544, 2544, 2544, 2544,
3021 2544, 2544, 2545, 2545, 2545, 2545, 2545, 2545, 2545, 2545,
3022 2545, 2546, 2546, 2546, 579, 578, 577, 2546, 2547, 2547,
3024 2547, 576, 575, 571, 2547, 2548, 2548, 2548, 570, 569,
3025 568, 2548, 2549, 2549, 2549, 564, 563, 562, 2549, 2550,
3026 2550, 2550, 561, 560, 559, 2550, 2551, 2551, 2551, 558,
3027 556, 553, 2551, 2552, 2552, 2552, 552, 550, 548, 2552,
3028 2553, 2553, 2553, 545, 544, 538, 2553, 2554, 2554, 2554,
3029 536, 534, 531, 2554, 2555, 2555, 2555, 530, 527, 526,
3030 2555, 2556, 2556, 2556, 525, 523, 522, 2556, 2557, 2557,
3031 2557, 521, 520, 519, 2557, 2558, 2558, 2558, 516, 515,
3032 514, 2558, 2559, 2559, 2559, 513, 512, 506, 2559, 2560,
3033 2560, 2560, 505, 503, 497, 2560, 2561, 2561, 2561, 496,
3035 492, 488, 2561, 2562, 2562, 2562, 485, 481, 475, 2562,
3036 2563, 2563, 2563, 471, 463, 462, 2563, 2564, 2564, 2564,
3037 461, 460, 456, 2564, 2565, 2565, 2565, 452, 449, 448,
3038 2565, 2566, 2566, 2566, 2566, 2566, 2566, 2566, 447, 2566,
3039 2567, 2567, 2567, 443, 437, 436, 2567, 2568, 432, 428,
3040 424, 2568, 2569, 2569, 2569, 423, 419, 416, 2569, 2570,
3041 415, 410, 406, 2570, 2571, 2571, 2571, 402, 398, 397,
3042 2571, 2572, 396, 392, 386, 2572, 2573, 2573, 2573, 385,
3043 381, 375, 2573, 2574, 374, 373, 372, 2574, 2575, 2575,
3044 2575, 371, 370, 369, 2575, 2576, 365, 356, 355, 2576,
3046 2577, 2577, 2577, 354, 352, 348, 2577, 2578, 344, 341,
3047 340, 2578, 2579, 2579, 2579, 339, 338, 337, 2579, 2580,
3048 333, 329, 326, 2580, 2581, 2581, 2581, 325, 324, 320,
3049 2581, 2582, 316, 310, 303, 2582, 2583, 2583, 2583, 302,
3050 298, 292, 2583, 2584, 291, 290, 286, 2584, 2585, 2585,
3051 2585, 283, 282, 277, 2585, 2586, 275, 274, 270, 2586,
3052 2587, 2587, 2587, 267, 265, 264, 2587, 2588, 263, 259,
3053 253, 2588, 2589, 2589, 2589, 249, 245, 237, 2589, 2590,
3054 233, 229, 228, 2590, 2591, 2591, 2591, 227, 221, 220,
3055 2591, 2592, 218, 215, 203, 2592, 2593, 2593, 2593, 0,
3057 0, 0, 2593, 2594, 0, 0, 0, 2594, 2595, 2595,
3058 2595, 0, 0, 0, 2595, 2596, 0, 0, 0, 2596,
3059 2597, 2597, 2597, 0, 0, 0, 2597, 2598, 0, 0,
3060 0, 2598, 2599, 2599, 2599, 0, 0, 0, 2599, 2600,
3061 0, 0, 0, 2600, 2601, 2601, 2601, 0, 0, 0,
3062 2601, 2602, 0, 0, 0, 2602, 2603, 2603, 2603, 0,
3063 0, 0, 2603, 2604, 0, 0, 0, 2604, 2605, 2605,
3064 2605, 0, 0, 0, 2605, 2606, 0, 0, 0, 2606,
3065 2607, 2607, 2607, 2607, 2607, 2607, 2607, 2607, 2607, 2608,
3066 0, 0, 0, 0, 2608, 2609, 2609, 2609, 0, 0,
3068 0, 2609, 2610, 2610, 2610, 2610, 0, 0, 2610, 2610,
3069 2611, 2611, 2611, 0, 0, 0, 2611, 2612, 2612, 2612,
3070 2612, 0, 0, 2612, 2612, 2613, 2613, 2613, 0, 0,
3071 0, 2613, 2614, 2614, 2614, 2614, 0, 0, 2614, 2614,
3072 2615, 2615, 2615, 0, 0, 0, 2615, 2616, 2616, 2616,
3073 2616, 0, 0, 2616, 2616, 2617, 2617, 2617, 0, 0,
3074 0, 2617, 2618, 2618, 2618, 2618, 0, 0, 2618, 2618,
3075 2619, 2619, 2619, 0, 0, 0, 2619, 2620, 2620, 2620,
3076 2620, 0, 0, 2620, 2620, 2621, 2621, 2621, 0, 0,
3077 0, 2621, 2622, 2622, 2622, 2622, 0, 0, 2622, 2622,
3079 2623, 2623, 2623, 0, 0, 0, 2623, 2624, 2624, 2624,
3080 2624, 0, 0, 2624, 2624, 2625, 2625, 2625, 0, 0,
3081 0, 2625, 2626, 2626, 2626, 2626, 0, 0, 2626, 2626,
3082 2627, 2627, 2627, 0, 0, 0, 2627, 2628, 2628, 2628,
3083 2628, 0, 0, 2628, 2628, 2629, 2629, 2629, 0, 0,
3084 0, 2629, 2630, 2630, 2630, 2630, 0, 0, 2630, 2630,
3085 2631, 2631, 2631, 0, 0, 0, 2631, 2632, 2632, 2632,
3086 2632, 0, 0, 2632, 2632, 2633, 2633, 2633, 2633, 0,
3087 2633, 0, 2633, 2634, 2634, 2634, 2634, 0, 0, 2634,
3088 2634, 2635, 2635, 2635, 2635, 0, 2635, 0, 2635, 2636,
3090 2636, 2636, 2636, 0, 0, 2636, 2636, 2637, 2637, 2637,
3091 0, 0, 0, 2637, 2638, 2638, 2638, 2638, 0, 0,
3092 2638, 2638, 2639, 2639, 2639, 2639, 0, 2639, 0, 2639,
3093 2640, 2640, 2640, 2640, 0, 0, 2640, 2640, 2641, 2641,
3094 2641, 0, 0, 0, 2641, 2642, 2642, 2642, 2642, 0,
3095 0, 2642, 2642, 2643, 2643, 2643, 0, 0, 0, 2643,
3096 2644, 2644, 2644, 2644, 0, 0, 2644, 2644, 2645, 2645,
3097 2645, 2645, 0, 0, 2645, 2645, 2646, 2646, 2646, 0,
3098 0, 0, 2646, 2647, 2647, 2647, 2647, 0, 0, 2647,
3099 2647, 2648, 2648, 2648, 2648, 2648, 2648, 2648, 2648, 2648,
3101 2649, 0, 2649, 0, 0, 2649, 2650, 2650, 2650, 0,
3102 0, 0, 2650, 2651, 2651, 2651, 2651, 0, 0, 2651,
3103 2651, 2652, 2652, 2652, 2652, 0, 2652, 0, 2652, 2653,
3104 2653, 2653, 2653, 0, 0, 2653, 2653, 2654, 2654, 2654,
3105 2654, 0, 2654, 0, 2654, 2655, 2655, 2655, 2655, 0,
3106 0, 2655, 2655, 2656, 2656, 2656, 0, 0, 0, 2656,
3107 2657, 2657, 2657, 2657, 0, 0, 2657, 2657, 2658, 2658,
3108 2658, 0, 0, 0, 2658, 2659, 2659, 2659, 2659, 0,
3109 0, 2659, 2659, 2660, 2660, 2660, 0, 0, 0, 2660,
3110 2661, 2661, 2661, 2661, 0, 0, 2661, 2661, 2662, 2662,
3112 2662, 0, 0, 0, 2662, 2663, 2663, 2663, 2663, 0,
3113 0, 2663, 2663, 2664, 2664, 2664, 0, 0, 0, 2664,
3114 2665, 2665, 2665, 2665, 0, 0, 2665, 2665, 2666, 2666,
3115 2666, 0, 0, 0, 2666, 2667, 2667, 2667, 2667, 0,
3116 0, 2667, 2667, 2668, 2668, 2668, 0, 0, 0, 2668,
3117 2669, 2669, 2669, 2669, 0, 0, 2669, 2669, 2670, 2670,
3118 2670, 0, 0, 0, 2670, 2671, 2671, 2671, 2671, 0,
3119 0, 2671, 2671, 2672, 2672, 2672, 0, 0, 0, 2672,
3120 2673, 2673, 2673, 2673, 0, 0, 2673, 2673, 2674, 2674,
3121 2674, 0, 0, 0, 2674, 2675, 2675, 2675, 2675, 0,
3123 0, 2675, 2675, 2676, 2676, 2676, 0, 0, 0, 2676,
3124 2677, 2677, 2677, 2677, 0, 0, 2677, 2677, 2678, 2678,
3125 2678, 0, 0, 0, 2678, 2679, 2679, 2679, 2679, 0,
3126 0, 2679, 2679, 2680, 2680, 2680, 0, 0, 0, 2680,
3127 2681, 2681, 2681, 2681, 0, 0, 2681, 2681, 2682, 2682,
3128 2682, 0, 0, 0, 2682, 2683, 2683, 2683, 2683, 0,
3129 0, 2683, 2683, 2684, 2684, 2684, 0, 0, 0, 2684,
3130 2685, 2685, 2685, 2685, 0, 0, 2685, 2685, 2686, 2686,
3131 2686, 2686, 0, 0, 2686, 2686, 2687, 2687, 2687, 0,
3132 0, 0, 2687, 2688, 2688, 2688, 2688, 0, 0, 2688,
3134 2688, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689,
3135 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2690, 2691,
3136 2691, 2691, 0, 0, 0, 2691, 2692, 2692, 2692, 2692,
3137 0, 0, 2692, 2692, 2693, 2693, 2693, 2693, 0, 0,
3138 2693, 2693, 2694, 2694, 2694, 0, 0, 0, 2694, 2695,
3139 2695, 2695, 2695, 0, 0, 2695, 2695, 2696, 2696, 2696,
3140 0, 0, 0, 2696, 2697, 2697, 2697, 2697, 0, 0,
3141 2697, 2697, 2698, 2698, 2698, 0, 0, 0, 2698, 2699,
3142 2699, 2699, 2699, 0, 0, 2699, 2699, 2700, 2700, 2700,
3143 0, 0, 0, 2700, 2701, 2701, 2701, 0, 0, 0,
3145 2701, 2702, 2702, 2702, 2702, 0, 0, 2702, 2702, 2703,
3146 2703, 2703, 0, 0, 0, 2703, 2704, 2704, 2704, 2704,
3147 0, 0, 2704, 2704, 2705, 2705, 2705, 0, 0, 0,
3148 2705, 2706, 2706, 2706, 2706, 0, 0, 2706, 2706, 2707,
3149 2707, 2707, 0, 0, 0, 2707, 2708, 2708, 2708, 2708,
3150 0, 0, 2708, 2708, 2709, 2709, 2709, 0, 0, 0,
3151 2709, 2710, 2710, 2710, 2710, 0, 0, 2710, 2710, 2711,
3152 2711, 2711, 0, 0, 0, 2711, 2712, 2712, 2712, 2712,
3153 0, 0, 2712, 2712, 2713, 2713, 2713, 0, 0, 0,
3154 2713, 2714, 2714, 2714, 2714, 0, 0, 2714, 2714, 2715,
3156 2715, 2715, 0, 0, 0, 2715, 2716, 2716, 2716, 2716,
3157 0, 0, 2716, 2716, 2717, 2717, 2717, 0, 0, 0,
3158 2717, 2718, 2718, 2718, 2718, 0, 0, 2718, 2718, 2719,
3159 2719, 2719, 0, 0, 0, 2719, 2720, 2720, 2720, 2720,
3160 0, 0, 2720, 2720, 2721, 2721, 2721, 0, 0, 0,
3161 2721, 2722, 2722, 2722, 2722, 0, 0, 2722, 2722, 2723,
3162 2723, 2723, 2723, 0, 2723, 0, 2723, 2724, 2724, 2724,
3163 2724, 0, 0, 2724, 2724, 2725, 2725, 2725, 2725, 0,
3164 0, 2725, 2725, 2726, 2726, 2726, 2726, 0, 2726, 0,
3165 2726, 2727, 2727, 2727, 2727, 0, 0, 2727, 2727, 2728,
3167 2728, 2728, 2728, 2728, 2728, 2728, 2728, 2728, 2729, 2729,
3168 2729, 2729, 2729, 2729, 2729, 2729, 2729, 2730, 2730, 2730,
3169 0, 0, 0, 2730, 2731, 2731, 2731, 2731, 0, 0,
3170 2731, 2731, 2732, 2732, 2732, 2732, 0, 0, 2732, 2732,
3171 2733, 2733, 2733, 0, 0, 0, 2733, 2734, 2734, 2734,
3172 2734, 0, 0, 2734, 2734, 2735, 2735, 2735, 0, 0,
3173 0, 2735, 2736, 2736, 2736, 2736, 0, 0, 2736, 2736,
3174 2737, 2737, 2737, 0, 0, 0, 2737, 2738, 2738, 2738,
3175 2738, 0, 0, 2738, 2738, 2739, 2739, 2739, 0, 0,
3176 0, 2739, 2740, 2740, 2740, 0, 0, 0, 2740, 2741,
3178 2741, 2741, 2741, 0, 0, 2741, 2741, 2742, 2742, 2742,
3179 0, 0, 0, 2742, 2743, 2743, 2743, 2743, 0, 0,
3180 2743, 2743, 2744, 2744, 2744, 0, 0, 0, 2744, 2745,
3181 2745, 2745, 2745, 0, 0, 2745, 2745, 2746, 2746, 2746,
3182 0, 0, 0, 2746, 2747, 2747, 2747, 2747, 0, 0,
3183 2747, 2747, 2748, 2748, 2748, 0, 0, 0, 2748, 2749,
3184 2749, 2749, 2749, 0, 0, 2749, 2749, 2750, 2750, 2750,
3185 0, 0, 0, 2750, 2751, 2751, 2751, 2751, 0, 0,
3186 2751, 2751, 2752, 2752, 2752, 0, 0, 0, 2752, 2753,
3187 2753, 2753, 2753, 0, 0, 2753, 2753, 2754, 2754, 2754,
3189 2754, 0, 2754, 0, 2754, 2755, 2755, 2755, 2755, 0,
3190 0, 2755, 2755, 2756, 2756, 2756, 0, 0, 0, 2756,
3191 2757, 2757, 2757, 2757, 0, 0, 2757, 2757, 2758, 2758,
3192 2758, 2758, 0, 2758, 0, 2758, 2759, 2759, 2759, 2759,
3193 0, 0, 2759, 2759, 2760, 2760, 2760, 0, 0, 0,
3194 2760, 2761, 2761, 2761, 2761, 0, 0, 2761, 2761, 2762,
3195 2762, 2762, 2762, 0, 0, 2762, 2762, 2763, 2763, 2763,
3196 2763, 0, 0, 2763, 2763, 2764, 2764, 2764, 2764, 0,
3197 0, 2764, 2764, 2765, 2765, 2765, 2765, 2765, 2765, 2765,
3198 2765, 2765, 2766, 2766, 2766, 2766, 2766, 2766, 2766, 2766,
3200 2766, 2767, 2767, 2767, 2767, 0, 2767, 0, 2767, 2768,
3201 2768, 2768, 2768, 0, 0, 2768, 2768, 2769, 2769, 2769,
3202 2769, 0, 0, 2769, 2769, 2770, 2770, 2770, 0, 0,
3203 0, 2770, 2771, 2771, 2771, 2771, 0, 0, 2771, 2771,
3204 2772, 2772, 2772, 0, 0, 0, 2772, 2773, 2773, 2773,
3205 2773, 0, 0, 2773, 2773, 2774, 2774, 2774, 2774, 0,
3206 2774, 0, 2774, 2775, 2775, 2775, 2775, 0, 0, 2775,
3207 2775, 2776, 2776, 2776, 2776, 0, 2776, 0, 2776, 2777,
3208 2777, 2777, 2777, 0, 2777, 0, 2777, 2778, 2778, 2778,
3209 2778, 0, 0, 2778, 2778, 2779, 2779, 2779, 0, 0,
3211 0, 2779, 2780, 2780, 2780, 0, 0, 0, 2780, 2781,
3212 2781, 2781, 2781, 0, 0, 2781, 2781, 2782, 2782, 2782,
3213 0, 0, 0, 2782, 2783, 2783, 2783, 0, 0, 0,
3214 2783, 2784, 2784, 2784, 2784, 0, 0, 2784, 2784, 2785,
3215 2785, 2785, 0, 0, 0, 2785, 2786, 2786, 2786, 0,
3216 0, 0, 2786, 2787, 2787, 2787, 2787, 0, 0, 2787,
3217 2787, 2788, 2788, 2788, 0, 0, 0, 2788, 2789, 2789,
3218 2789, 2789, 0, 0, 2789, 2789, 2790, 2790, 2790, 0,
3219 0, 0, 2790, 2791, 2791, 2791, 2791, 0, 0, 2791,
3220 2791, 2792, 2792, 2792, 2792, 0, 0, 2792, 2792, 2793,
3222 2793, 2793, 0, 0, 0, 2793, 2794, 2794, 2794, 2794,
3223 0, 0, 2794, 2794, 2795, 2795, 2795, 2795, 0, 0,
3224 2795, 2795, 2796, 2796, 2796, 2796, 0, 0, 2796, 2796,
3225 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2797, 2798,
3226 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2799, 2799,
3227 2799, 2799, 0, 0, 2799, 2799, 2800, 2800, 2800, 2800,
3228 0, 0, 2800, 2800, 2801, 2801, 2801, 0, 0, 0,
3229 2801, 2802, 2802, 2802, 0, 0, 0, 2802, 2803, 2803,
3230 2803, 2803, 0, 0, 2803, 2803, 2804, 2804, 2804, 2804,
3231 0, 0, 2804, 2804, 2805, 2805, 2805, 2805, 2805, 2805,
3233 2805, 2805, 2805, 2806, 2806, 2806, 2806, 2806, 2806, 2806,
3234 2806, 2806, 2807, 2807, 2807, 2807, 2807, 2807, 2807, 2807,
3235 2807, 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808,
3236 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2810,
3237 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2501, 2501,
3238 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3239 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3240 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3241 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3242 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3244 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3245 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501,
3249 /* Table of booleans, true if rule could match eol. */
3250 static yyconst flex_int32_t yy_rule_can_match_eol[421] =
3252 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3253 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3254 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3255 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3256 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3257 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3258 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3259 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3260 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3261 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3262 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3263 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3264 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3265 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3266 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3267 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3268 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3269 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3270 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0,
3271 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
3272 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
3275 static yy_state_type yy_last_accepting_state;
3276 static char *yy_last_accepting_cpos;
3278 extern int surf_parse__flex_debug;
3279 int surf_parse__flex_debug = 0;
3281 /* The intent behind this definition is that it'll catch
3282 * any uses of REJECT which flex missed.
3284 #define REJECT reject_used_but_not_detected
3285 #define yymore() yymore_used_but_not_detected
3286 #define YY_MORE_ADJ 0
3287 #define YY_RESTORE_YY_MORE_OFFSET
3288 char *surf_parse_text;
3289 /* Validating XML processor for src/surf/simgrid.dtd.
3291 * This program was generated with the FleXML XML processor generator.
3292 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3293 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3294 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3296 * There are two, intertwined parts to this program, part A and part B.
3301 * Some parts, here collectively called "Part A", are found in the
3302 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3303 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3305 * You can redistribute, use, perform, display and/or modify "Part A"
3306 * provided the following two conditions hold:
3308 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3309 * FleXML; without even the implied warranty of MERCHANTABILITY or
3310 * FITNESS FOR A PARTICULAR PURPOSE.
3312 * 2. The program distribution conditions do not in any way affect the
3313 * distribution conditions of the FleXML system used to generate this
3314 * file or any version of FleXML derived from that system.
3316 * Notice that these are explicit rights granted to you for files
3317 * generated by the FleXML system. For your rights in connection with
3318 * the FleXML system itself please consult the GNU General Public License.
3323 * The other parts, here collectively called "Part B", and which came
3324 * from the DTD used by FleXML to generate this program, can be
3325 * distributed (or not, as the case may be) under the terms of whoever
3326 * wrote them, provided these terms respect and obey the two conditions
3327 * above under the heading "Part A".
3329 * The author of and contributors to FleXML specifically disclaim
3330 * any copyright interest in "Part B", unless "Part B" was written
3331 * by the author of or contributors to FleXML.
3335 /* Version strings. */
3336 const char rcs_surfxml_flexml_skeleton[] =
3337 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3338 const char rcs_surfxml_flexml[] =
3339 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3342 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3349 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3350 # ifndef __STRICT_ANSI__
3352 # include <process.h>
3355 # include <unistd.h>
3358 #ifndef FLEXML_INDEXSTACKSIZE
3359 #define FLEXML_INDEXSTACKSIZE 1000
3362 /* Generated definitions. */
3363 #define FLEXML_yylineno
3364 #ifndef FLEXML_BUFFERSTACKSIZE
3365 #define FLEXML_BUFFERSTACKSIZE 1000000
3367 #define FLEXML_NEED_BUFFERLIT
3369 /* XML processor api. */
3370 /* FleXML-provided data. */
3371 int surfxml_pcdata_ix;
3372 extern char *surfxml_bufferstack;
3373 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3374 AT_surfxml_random_generator AX_surfxml_random_generator;
3375 #define A_surfxml_random_generator AX_surfxml_random_generator
3376 short int surfxml_random_generator_isset;
3377 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3378 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3379 short int surfxml_ASroute_gw_dst_isset;
3380 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3381 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3382 short int surfxml_trace_connect_element_isset;
3383 AT_surfxml_prop_id AX_surfxml_prop_id;
3384 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3385 short int surfxml_prop_id_isset;
3386 AT_surfxml_host_id AX_surfxml_host_id;
3387 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3388 short int surfxml_host_id_isset;
3389 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3390 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3391 short int surfxml_ASroute_symmetrical_isset;
3392 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3393 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3394 short int surfxml_peer_lat_isset;
3395 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3396 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3397 short int surfxml_link_latency_file_isset;
3398 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3399 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3400 short int surfxml_peer_availability_file_isset;
3401 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3402 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3403 short int surfxml_link_ctn_direction_isset;
3404 AT_surfxml_host_state AX_surfxml_host_state;
3405 #define A_surfxml_host_state AX_surfxml_host_state
3406 short int surfxml_host_state_isset;
3407 AT_surfxml_AS_id AX_surfxml_AS_id;
3408 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3409 short int surfxml_AS_id_isset;
3410 AT_surfxml_host_power AX_surfxml_host_power;
3411 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3412 short int surfxml_host_power_isset;
3413 AT_surfxml_router_id AX_surfxml_router_id;
3414 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3415 short int surfxml_router_id_isset;
3416 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3417 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3418 short int surfxml_process_start_time_isset;
3419 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3420 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3421 short int surfxml_cluster_suffix_isset;
3422 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3423 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3424 short int surfxml_ASroute_src_isset;
3425 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3426 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3427 short int surfxml_cluster_prefix_isset;
3428 AT_surfxml_trace_file AX_surfxml_trace_file;
3429 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3430 short int surfxml_trace_file_isset;
3431 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3432 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3433 short int surfxml_link_sharing_policy_isset;
3434 AT_surfxml_random_min AX_surfxml_random_min;
3435 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3436 short int surfxml_random_min_isset;
3437 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3438 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3439 short int surfxml_link_ctn_id_isset;
3440 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3441 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3442 short int surfxml_peer_bw_out_isset;
3443 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3444 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3445 short int surfxml_cluster_availability_file_isset;
3446 AT_surfxml_storage_content AX_surfxml_storage_content;
3447 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
3448 short int surfxml_storage_content_isset;
3449 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3450 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3451 short int surfxml_process_kill_time_isset;
3452 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3453 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3454 short int surfxml_cluster_bb_bw_isset;
3455 AT_surfxml_argument_value AX_surfxml_argument_value;
3456 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3457 short int surfxml_argument_value_isset;
3458 AT_surfxml_link_state AX_surfxml_link_state;
3459 #define A_surfxml_link_state AX_surfxml_link_state
3460 short int surfxml_link_state_isset;
3461 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3462 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3463 short int surfxml_ASroute_gw_src_isset;
3464 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3465 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3466 short int surfxml_AS_routing_isset;
3467 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3468 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3469 short int surfxml_link_bandwidth_isset;
3470 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3471 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3472 short int surfxml_cluster_id_isset;
3473 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3474 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3475 short int surfxml_peer_bw_in_isset;
3476 AT_surfxml_random_mean AX_surfxml_random_mean;
3477 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3478 short int surfxml_random_mean_isset;
3479 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3480 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3481 short int surfxml_cluster_bb_lat_isset;
3482 AT_surfxml_link_latency AX_surfxml_link_latency;
3483 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3484 short int surfxml_link_latency_isset;
3485 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3486 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3487 short int surfxml_trace_connect_kind_isset;
3488 AT_surfxml_random_seed AX_surfxml_random_seed;
3489 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3490 short int surfxml_random_seed_isset;
3491 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3492 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3493 short int surfxml_cluster_state_file_isset;
3494 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3495 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3496 short int surfxml_link_bandwidth_file_isset;
3497 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3498 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3499 short int surfxml_route_symmetrical_isset;
3500 AT_surfxml_random_id AX_surfxml_random_id;
3501 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3502 short int surfxml_random_id_isset;
3503 AT_surfxml_random_max AX_surfxml_random_max;
3504 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3505 short int surfxml_random_max_isset;
3506 AT_surfxml_link_id AX_surfxml_link_id;
3507 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3508 short int surfxml_link_id_isset;
3509 AT_surfxml_storage_model AX_surfxml_storage_model;
3510 #define A_surfxml_storage_model (surfxml_bufferstack + AX_surfxml_storage_model)
3511 short int surfxml_storage_model_isset;
3512 AT_surfxml_process_host AX_surfxml_process_host;
3513 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3514 short int surfxml_process_host_isset;
3515 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3516 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3517 short int surfxml_host_availability_file_isset;
3518 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3519 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3520 short int surfxml_cluster_lat_isset;
3521 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3522 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3523 short int surfxml_trace_periodicity_isset;
3524 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3525 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3526 short int surfxml_cluster_bb_sharing_policy_isset;
3527 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3528 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3529 short int surfxml_router_coordinates_isset;
3530 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3531 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3532 short int surfxml_peer_coordinates_isset;
3533 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3534 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3535 short int surfxml_peer_state_file_isset;
3536 AT_surfxml_prop_value AX_surfxml_prop_value;
3537 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3538 short int surfxml_prop_value_isset;
3539 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3540 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3541 short int surfxml_ASroute_dst_isset;
3542 AT_surfxml_random_radical AX_surfxml_random_radical;
3543 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3544 short int surfxml_random_radical_isset;
3545 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3546 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3547 short int surfxml_link_state_file_isset;
3548 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3549 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3550 short int surfxml_trace_connect_trace_isset;
3551 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3552 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3553 short int surfxml_cluster_power_isset;
3554 AT_surfxml_process_function AX_surfxml_process_function;
3555 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3556 short int surfxml_process_function_isset;
3557 AT_surfxml_peer_id AX_surfxml_peer_id;
3558 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3559 short int surfxml_peer_id_isset;
3560 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3561 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3562 short int surfxml_cluster_router_id_isset;
3563 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3564 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3565 short int surfxml_cluster_sharing_policy_isset;
3566 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3567 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3568 short int surfxml_bypassRoute_dst_isset;
3569 AT_surfxml_host_core AX_surfxml_host_core;
3570 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3571 short int surfxml_host_core_isset;
3572 AT_surfxml_host_availability AX_surfxml_host_availability;
3573 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3574 short int surfxml_host_availability_isset;
3575 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3576 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3577 short int surfxml_bypassRoute_src_isset;
3578 AT_surfxml_route_src AX_surfxml_route_src;
3579 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3580 short int surfxml_route_src_isset;
3581 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3582 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3583 short int surfxml_bypassRoute_gw_dst_isset;
3584 AT_surfxml_storage_id AX_surfxml_storage_id;
3585 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
3586 short int surfxml_storage_id_isset;
3587 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3588 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3589 short int surfxml_host_coordinates_isset;
3590 AT_surfxml_trace_id AX_surfxml_trace_id;
3591 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3592 short int surfxml_trace_id_isset;
3593 AT_surfxml_peer_power AX_surfxml_peer_power;
3594 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3595 short int surfxml_peer_power_isset;
3596 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3597 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3598 short int surfxml_cluster_radical_isset;
3599 AT_surfxml_config_id AX_surfxml_config_id;
3600 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3601 short int surfxml_config_id_isset;
3602 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3603 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3604 short int surfxml_bypassRoute_gw_src_isset;
3605 AT_surfxml_include_file AX_surfxml_include_file;
3606 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3607 short int surfxml_include_file_isset;
3608 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3609 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3610 short int surfxml_random_std_deviation_isset;
3611 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3612 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3613 short int surfxml_cluster_core_isset;
3614 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3615 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3616 short int surfxml_host_state_file_isset;
3617 AT_surfxml_route_dst AX_surfxml_route_dst;
3618 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3619 short int surfxml_route_dst_isset;
3620 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3621 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3622 short int surfxml_cluster_bw_isset;
3623 AT_surfxml_platform_version AX_surfxml_platform_version;
3624 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3625 short int surfxml_platform_version_isset;
3629 # define ENTER(state) debug_enter(state,#state)
3630 # define LEAVE debug_leave()
3631 # define SET(state) debug_set(state,#state)
3632 static void debug_enter(int, const char*);
3633 static void debug_leave(void);
3634 static void debug_set(int, const char*);
3636 # define ENTER(state) (yy_push_state(state))
3637 # define LEAVE (yy_pop_state())
3638 # define SET(state) BEGIN(state)
3641 /* Generic actions. */
3642 #define SKIP /*skip*/
3643 #define SUCCEED CLEANUP; return 0
3645 #define FAIL return fail
3646 static int fail(const char*, ...);
3648 enum {flexml_max_err_msg_size = 512};
3649 static char flexml_err_msg[flexml_max_err_msg_size];
3650 const char * surfxml_parse_err_msg()
3652 return flexml_err_msg;
3654 static void reset_surfxml_parse_err_msg()
3656 flexml_err_msg[0] = '\0';
3660 static void cleanup(void);
3661 #define CLEANUP cleanup()
3663 /* Text buffer stack handling. */
3664 char *surfxml_bufferstack = NULL;
3665 static int blimit = FLEXML_BUFFERSTACKSIZE;
3666 static int bnext = 1;
3668 static int *indexstack = NULL;
3669 static int ilimit = FLEXML_INDEXSTACKSIZE;
3670 static int inext = 1;
3672 #define BUFFERSET(P) (P = bnext)
3673 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3674 #define BUFFERDONE (BUFFERPUTC('\0'))
3676 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3678 /* after this is called, there are at least 2 slots left in the stack */
3679 static int ck_blimit()
3681 if (bnext >= blimit) {
3682 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3684 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3686 surfxml_bufferstack = temp;
3692 /* after this is called, there are at least 2 slots left in the stack */
3693 static int ck_ilimit()
3695 if (inext >= ilimit) {
3696 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3698 int *temp = (int *) realloc(indexstack, ilimit);
3706 #ifdef FLEXML_NEED_BUFFERLIT
3707 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3709 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3710 assert(s <= e); BUFFERSET(*pp);
3712 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3713 else BUFFERPUTC(*s);
3719 static void pushbuffer(int p)
3722 indexstack[inext++] = p;
3723 indexstack[inext++] = bnext;
3726 static int popbuffer(void)
3729 bnext = indexstack[--inext];
3730 return indexstack[--inext];
3733 /* General internal entities are `unput' back onto the input stream... */
3734 #define ENTITYTEXT(T) \
3735 { char *s = (T), *e = s+strlen(s);\
3736 while (--e >= s) { unput(*e); }}
3738 /* Flex standard options. */
3739 #define YY_NO_INPUT 1
3740 /* Flex user-requested options. */
3741 /* XML character classes (currently restricted to ASCII). */
3742 /* "Common syntactic structures." */
3743 /* "Names and Tokens." */
3744 /* Miscellaneous. */
3745 /* Parser states (flex `exclusive start conditions'):
3747 * PROLOG the XML prolog of the document before <?xml...>
3748 * DOCTYPE the XML prolog of the document after <?xml...>
3749 * EPILOG after the root element
3750 * INCOMMENT inside an XML comment <!--....-->
3751 * INPI inside an XML PI <?...?>
3752 * VALUE1 inside a '...'-delimited literal
3753 * VALUE2 inside a "..."-delimited literal
3754 * CDATA inside a <![CDATA[...] ]> section.
3755 * ROOT_<tag> expect root element <tag>
3756 * AL_<tag> inside the attribute list for <tag>
3757 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3758 * IMPOSSIBLE dummy to permit disabling rules; must be last
3762 const char* *surfxml_statenames=NULL;
3773 #define ROOT_surfxml_platform 9
3774 #define AL_surfxml_platform 10
3775 #define S_surfxml_platform 11
3776 #define S_surfxml_platform_1 12
3777 #define S_surfxml_platform_2 13
3778 #define S_surfxml_platform_3 14
3779 #define S_surfxml_platform_4 15
3780 #define S_surfxml_platform_5 16
3781 #define S_surfxml_platform_6 17
3782 #define S_surfxml_platform_7 18
3783 #define S_surfxml_platform_8 19
3784 #define E_surfxml_platform 20
3785 #define AL_surfxml_include 21
3786 #define E_surfxml_include 22
3787 #define AL_surfxml_trace 23
3789 #define AL_surfxml_random 25
3790 #define S_surfxml_random 26
3791 #define S_surfxml_random_1 27
3792 #define S_surfxml_random_2 28
3793 #define E_surfxml_random 29
3794 #define AL_surfxml_trace_connect 30
3795 #define E_surfxml_trace_connect 31
3796 #define AL_surfxml_AS 32
3797 #define S_surfxml_AS 33
3798 #define S_surfxml_AS_1 34
3799 #define S_surfxml_AS_2 35
3800 #define S_surfxml_AS_3 36
3801 #define S_surfxml_AS_4 37
3802 #define S_surfxml_AS_5 38
3803 #define S_surfxml_AS_6 39
3804 #define S_surfxml_AS_7 40
3805 #define S_surfxml_AS_8 41
3806 #define S_surfxml_AS_9 42
3807 #define S_surfxml_AS_10 43
3808 #define S_surfxml_AS_11 44
3809 #define S_surfxml_AS_12 45
3810 #define S_surfxml_AS_13 46
3811 #define E_surfxml_AS 47
3812 #define AL_surfxml_storage 48
3813 #define S_surfxml_storage 49
3814 #define S_surfxml_storage_1 50
3815 #define S_surfxml_storage_2 51
3816 #define E_surfxml_storage 52
3817 #define AL_surfxml_host 53
3818 #define S_surfxml_host 54
3819 #define S_surfxml_host_1 55
3820 #define S_surfxml_host_2 56
3821 #define E_surfxml_host 57
3822 #define AL_surfxml_cluster 58
3823 #define E_surfxml_cluster 59
3824 #define AL_surfxml_peer 60
3825 #define E_surfxml_peer 61
3826 #define AL_surfxml_router 62
3827 #define E_surfxml_router 63
3828 #define AL_surfxml_link 64
3829 #define S_surfxml_link 65
3830 #define S_surfxml_link_1 66
3831 #define S_surfxml_link_2 67
3832 #define E_surfxml_link 68
3833 #define AL_surfxml_route 69
3834 #define S_surfxml_route 70
3835 #define S_surfxml_route_1 71
3836 #define S_surfxml_route_2 72
3837 #define E_surfxml_route 73
3838 #define AL_surfxml_ASroute 74
3839 #define S_surfxml_ASroute 75
3840 #define S_surfxml_ASroute_1 76
3841 #define S_surfxml_ASroute_2 77
3842 #define E_surfxml_ASroute 78
3843 #define AL_surfxml_link_ctn 79
3844 #define E_surfxml_link_ctn 80
3845 #define AL_surfxml_bypassRoute 81
3846 #define S_surfxml_bypassRoute 82
3847 #define S_surfxml_bypassRoute_1 83
3848 #define S_surfxml_bypassRoute_2 84
3849 #define E_surfxml_bypassRoute 85
3850 #define AL_surfxml_process 86
3851 #define S_surfxml_process 87
3852 #define S_surfxml_process_1 88
3853 #define S_surfxml_process_2 89
3854 #define E_surfxml_process 90
3855 #define AL_surfxml_argument 91
3856 #define E_surfxml_argument 92
3857 #define AL_surfxml_config 93
3858 #define S_surfxml_config 94
3859 #define S_surfxml_config_1 95
3860 #define S_surfxml_config_2 96
3861 #define E_surfxml_config 97
3862 #define AL_surfxml_prop 98
3863 #define E_surfxml_prop 99
3864 #define IMPOSSIBLE 100
3866 #ifndef YY_NO_UNISTD_H
3867 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3868 * down here because we want the user's section 1 to have been scanned first.
3869 * The user has a chance to override it with an option.
3871 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3872 # ifndef __STRICT_ANSI__
3874 # include <process.h>
3877 # include <unistd.h>
3881 #ifndef YY_EXTRA_TYPE
3882 #define YY_EXTRA_TYPE void *
3885 static int yy_init_globals (void );
3887 /* Accessor methods to globals.
3888 These are made visible to non-reentrant scanners for convenience. */
3890 int surf_parse_lex_destroy (void );
3892 int surf_parse_get_debug (void );
3894 void surf_parse_set_debug (int debug_flag );
3896 YY_EXTRA_TYPE surf_parse_get_extra (void );
3898 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3900 FILE *surf_parse_get_in (void );
3902 void surf_parse_set_in (FILE * in_str );
3904 FILE *surf_parse_get_out (void );
3906 void surf_parse_set_out (FILE * out_str );
3908 int surf_parse_get_leng (void );
3910 char *surf_parse_get_text (void );
3912 int surf_parse_get_lineno (void );
3914 void surf_parse_set_lineno (int line_number );
3916 /* Macros after this point can all be overridden by user definitions in
3920 #ifndef YY_SKIP_YYWRAP
3922 extern "C" int surf_parse_wrap (void );
3924 extern int surf_parse_wrap (void );
3929 static void yy_flex_strncpy (char *,yyconst char *,int );
3932 #ifdef YY_NEED_STRLEN
3933 static int yy_flex_strlen (yyconst char * );
3939 static int yyinput (void );
3941 static int input (void );
3946 static int yy_start_stack_ptr = 0;
3947 static int yy_start_stack_depth = 0;
3948 static int *yy_start_stack = NULL;
3950 static void yy_push_state (int new_state );
3952 static void yy_pop_state (void );
3954 /* Amount of stuff to slurp up with each read. */
3955 #ifndef YY_READ_BUF_SIZE
3957 /* On IA-64, the buffer size is 16k, not 8k */
3958 #define YY_READ_BUF_SIZE 16384
3960 #define YY_READ_BUF_SIZE 8192
3961 #endif /* __ia64__ */
3964 /* Copy whatever the last rule matched to the standard output. */
3966 /* This used to be an fputs(), but since the string might contain NUL's,
3967 * we now use fwrite().
3969 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3972 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3973 * is returned in "result".
3976 #define YY_INPUT(buf,result,max_size) \
3977 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3981 for ( n = 0; n < max_size && \
3982 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3983 buf[n] = (char) c; \
3985 buf[n++] = (char) c; \
3986 if ( c == EOF && ferror( surf_parse_in ) ) \
3987 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3993 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3995 if( errno != EINTR) \
3997 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4001 clearerr(surf_parse_in); \
4008 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4009 * we don't want an extra ';' after the "return" because that will cause
4010 * some compilers to complain about unreachable statements.
4013 #define yyterminate() return YY_NULL
4016 /* Number of entries by which start-condition stack grows. */
4017 #ifndef YY_START_STACK_INCR
4018 #define YY_START_STACK_INCR 25
4021 /* Report a fatal error. */
4022 #ifndef YY_FATAL_ERROR
4023 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4026 /* end tables serialization structures and prototypes */
4028 /* Default declaration of generated scanner - a define so the user can
4029 * easily add parameters.
4032 #define YY_DECL_IS_OURS 1
4034 extern int surf_parse_lex (void);
4036 #define YY_DECL int surf_parse_lex (void)
4037 #endif /* !YY_DECL */
4039 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4042 #ifndef YY_USER_ACTION
4043 #define YY_USER_ACTION
4046 /* Code executed at the end of each rule. */
4048 #define YY_BREAK break;
4051 #define YY_RULE_SETUP \
4054 /** The main scanner function which does all the work.
4058 register yy_state_type yy_current_state;
4059 register char *yy_cp, *yy_bp;
4060 register int yy_act;
4062 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4064 reset_surfxml_parse_err_msg();
4065 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4066 assert(surfxml_bufferstack);
4070 for (i = 0; i < blimit; i++) {
4071 surfxml_bufferstack[i] = '\377';
4075 surfxml_bufferstack[0] = '\0';
4076 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4082 surfxml_bufferliteral('\0', &bnext, "0.0");
4083 surfxml_bufferliteral('\0', &bnext, "2147483647");
4084 surfxml_bufferliteral('\0', &bnext, "1");
4085 surfxml_bufferliteral('\0', &bnext, "1.0");
4086 surfxml_bufferliteral('\0', &bnext, "1");
4087 surfxml_bufferliteral('\0', &bnext, "0.0");
4088 surfxml_bufferliteral('\0', &bnext, "-1.0");
4089 surfxml_bufferliteral('\0', &bnext, "-1.0");
4090 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4091 surfxml_statenames[PROLOG] = NULL;
4092 surfxml_statenames[DOCTYPE] = NULL;
4093 surfxml_statenames[EPILOG] = NULL;
4094 surfxml_statenames[INCOMMENT] = NULL;
4095 surfxml_statenames[INPI] = NULL;
4096 surfxml_statenames[VALUE1] = NULL;
4097 surfxml_statenames[VALUE2] = NULL;
4098 surfxml_statenames[CDATA] = NULL;
4099 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4100 surfxml_statenames[AL_surfxml_platform] = NULL;
4101 surfxml_statenames[S_surfxml_platform] = "platform";
4102 surfxml_statenames[S_surfxml_platform_1] = "platform";
4103 surfxml_statenames[S_surfxml_platform_2] = "platform";
4104 surfxml_statenames[S_surfxml_platform_3] = "platform";
4105 surfxml_statenames[S_surfxml_platform_4] = "platform";
4106 surfxml_statenames[S_surfxml_platform_5] = "platform";
4107 surfxml_statenames[S_surfxml_platform_6] = "platform";
4108 surfxml_statenames[S_surfxml_platform_7] = "platform";
4109 surfxml_statenames[S_surfxml_platform_8] = "platform";
4110 surfxml_statenames[E_surfxml_platform] = "platform";
4111 surfxml_statenames[AL_surfxml_include] = NULL;
4112 surfxml_statenames[E_surfxml_include] = "include";
4113 surfxml_statenames[AL_surfxml_trace] = NULL;
4114 surfxml_statenames[IN_trace] = "trace";
4115 surfxml_statenames[AL_surfxml_random] = NULL;
4116 surfxml_statenames[S_surfxml_random] = "random";
4117 surfxml_statenames[S_surfxml_random_1] = "random";
4118 surfxml_statenames[S_surfxml_random_2] = "random";
4119 surfxml_statenames[E_surfxml_random] = "random";
4120 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4121 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4122 surfxml_statenames[AL_surfxml_AS] = NULL;
4123 surfxml_statenames[S_surfxml_AS] = "AS";
4124 surfxml_statenames[S_surfxml_AS_1] = "AS";
4125 surfxml_statenames[S_surfxml_AS_2] = "AS";
4126 surfxml_statenames[S_surfxml_AS_3] = "AS";
4127 surfxml_statenames[S_surfxml_AS_4] = "AS";
4128 surfxml_statenames[S_surfxml_AS_5] = "AS";
4129 surfxml_statenames[S_surfxml_AS_6] = "AS";
4130 surfxml_statenames[S_surfxml_AS_7] = "AS";
4131 surfxml_statenames[S_surfxml_AS_8] = "AS";
4132 surfxml_statenames[S_surfxml_AS_9] = "AS";
4133 surfxml_statenames[S_surfxml_AS_10] = "AS";
4134 surfxml_statenames[S_surfxml_AS_11] = "AS";
4135 surfxml_statenames[S_surfxml_AS_12] = "AS";
4136 surfxml_statenames[S_surfxml_AS_13] = "AS";
4137 surfxml_statenames[E_surfxml_AS] = "AS";
4138 surfxml_statenames[AL_surfxml_storage] = NULL;
4139 surfxml_statenames[S_surfxml_storage] = "storage";
4140 surfxml_statenames[S_surfxml_storage_1] = "storage";
4141 surfxml_statenames[S_surfxml_storage_2] = "storage";
4142 surfxml_statenames[E_surfxml_storage] = "storage";
4143 surfxml_statenames[AL_surfxml_host] = NULL;
4144 surfxml_statenames[S_surfxml_host] = "host";
4145 surfxml_statenames[S_surfxml_host_1] = "host";
4146 surfxml_statenames[S_surfxml_host_2] = "host";
4147 surfxml_statenames[E_surfxml_host] = "host";
4148 surfxml_statenames[AL_surfxml_cluster] = NULL;
4149 surfxml_statenames[E_surfxml_cluster] = "cluster";
4150 surfxml_statenames[AL_surfxml_peer] = NULL;
4151 surfxml_statenames[E_surfxml_peer] = "peer";
4152 surfxml_statenames[AL_surfxml_router] = NULL;
4153 surfxml_statenames[E_surfxml_router] = "router";
4154 surfxml_statenames[AL_surfxml_link] = NULL;
4155 surfxml_statenames[S_surfxml_link] = "link";
4156 surfxml_statenames[S_surfxml_link_1] = "link";
4157 surfxml_statenames[S_surfxml_link_2] = "link";
4158 surfxml_statenames[E_surfxml_link] = "link";
4159 surfxml_statenames[AL_surfxml_route] = NULL;
4160 surfxml_statenames[S_surfxml_route] = "route";
4161 surfxml_statenames[S_surfxml_route_1] = "route";
4162 surfxml_statenames[S_surfxml_route_2] = "route";
4163 surfxml_statenames[E_surfxml_route] = "route";
4164 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4165 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4166 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4167 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4168 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4169 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4170 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4171 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4172 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4173 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4174 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4175 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4176 surfxml_statenames[AL_surfxml_process] = NULL;
4177 surfxml_statenames[S_surfxml_process] = "process";
4178 surfxml_statenames[S_surfxml_process_1] = "process";
4179 surfxml_statenames[S_surfxml_process_2] = "process";
4180 surfxml_statenames[E_surfxml_process] = "process";
4181 surfxml_statenames[AL_surfxml_argument] = NULL;
4182 surfxml_statenames[E_surfxml_argument] = "argument";
4183 surfxml_statenames[AL_surfxml_config] = NULL;
4184 surfxml_statenames[S_surfxml_config] = "config";
4185 surfxml_statenames[S_surfxml_config_1] = "config";
4186 surfxml_statenames[S_surfxml_config_2] = "config";
4187 surfxml_statenames[E_surfxml_config] = "config";
4188 surfxml_statenames[AL_surfxml_prop] = NULL;
4189 surfxml_statenames[E_surfxml_prop] = "prop";
4192 /* COMMENTS and PIs: handled uniformly for efficiency. */
4203 (yy_start) = 1; /* first start state */
4205 if ( ! surf_parse_in )
4206 surf_parse_in = stdin;
4208 if ( ! surf_parse_out )
4209 surf_parse_out = stdout;
4211 if ( ! YY_CURRENT_BUFFER ) {
4212 surf_parse_ensure_buffer_stack ();
4213 YY_CURRENT_BUFFER_LVALUE =
4214 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4217 surf_parse__load_buffer_state( );
4220 while ( 1 ) /* loops until end-of-file is reached */
4222 yy_cp = (yy_c_buf_p);
4224 /* Support of surf_parse_text. */
4225 *yy_cp = (yy_hold_char);
4227 /* yy_bp points to the position in yy_ch_buf of the start of
4232 yy_current_state = (yy_start);
4236 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4237 if ( yy_accept[yy_current_state] )
4239 (yy_last_accepting_state) = yy_current_state;
4240 (yy_last_accepting_cpos) = yy_cp;
4242 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4244 yy_current_state = (int) yy_def[yy_current_state];
4245 if ( yy_current_state >= 2502 )
4246 yy_c = yy_meta[(unsigned int) yy_c];
4248 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4251 while ( yy_base[yy_current_state] != 8449 );
4254 yy_act = yy_accept[yy_current_state];
4256 { /* have to back up */
4257 yy_cp = (yy_last_accepting_cpos);
4258 yy_current_state = (yy_last_accepting_state);
4259 yy_act = yy_accept[yy_current_state];
4262 YY_DO_BEFORE_ACTION;
4264 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4267 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4268 if ( surf_parse_text[yyl] == '\n' )
4270 surf_parse_lineno++;
4274 do_action: /* This label is used only to access EOF actions. */
4277 { /* beginning of action switch */
4278 case 0: /* must back up */
4279 /* undo the effects of YY_DO_BEFORE_ACTION */
4280 *yy_cp = (yy_hold_char);
4281 yy_cp = (yy_last_accepting_cpos);
4282 yy_current_state = (yy_last_accepting_state);
4283 goto yy_find_action;
4301 /* rule 6 can match eol */
4305 case YY_STATE_EOF(INCOMMENT):
4306 FAIL("EOF in comment.");
4315 /* rule 9 can match eol */
4319 case YY_STATE_EOF(INPI):
4320 FAIL("EOF in PI (processing instruction).");
4323 /* SPACES: skipped uniformly */
4325 /* rule 10 can match eol */
4329 /* PROLOG: determine root element and process it. */
4332 /* rule 11 can match eol */
4337 /* rule 12 can match eol */
4339 FAIL("Bad declaration %s.",surf_parse_text);
4343 /* rule 13 can match eol */
4345 SET(ROOT_surfxml_platform);
4348 /* rule 14 can match eol */
4350 FAIL("Bad declaration %s.",surf_parse_text);
4354 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4356 case YY_STATE_EOF(PROLOG):
4357 case YY_STATE_EOF(DOCTYPE):
4358 FAIL("EOF in prolog.");
4361 /* RULES DERIVED FROM DTD. */
4362 /* <!-- Small DTD for SURF based tools. --> */
4364 /* rule 16 can match eol */
4366 FAIL("Starting tag <platform> is not allowed here.");
4369 /* rule 17 can match eol */
4372 AX_surfxml_platform_version = 1;
4373 surfxml_platform_version_isset = 0;
4374 ENTER(AL_surfxml_platform); pushbuffer(0);
4379 /* rule 18 can match eol */
4381 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4384 /* rule 19 can match eol */
4386 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4391 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4397 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4399 case ROOT_surfxml_platform: SET(EPILOG); break;
4405 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4409 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4411 case YY_STATE_EOF(AL_surfxml_platform):
4412 FAIL("EOF in attribute list of `platform' element.");
4416 /* rule 24 can match eol */
4420 ETag_surfxml_platform();
4421 popbuffer(); /* attribute */
4423 case ROOT_surfxml_platform: SET(EPILOG); break;
4428 /* rule 25 can match eol */
4430 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4434 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4436 case YY_STATE_EOF(S_surfxml_platform_8):
4437 case YY_STATE_EOF(S_surfxml_platform_1):
4438 case YY_STATE_EOF(S_surfxml_platform_3):
4439 case YY_STATE_EOF(S_surfxml_platform):
4440 case YY_STATE_EOF(S_surfxml_platform_4):
4441 case YY_STATE_EOF(S_surfxml_platform_6):
4442 case YY_STATE_EOF(E_surfxml_platform):
4443 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4447 /* rule 27 can match eol */
4449 FAIL("Starting tag <include> is not allowed here.");
4452 /* rule 28 can match eol */
4455 AX_surfxml_include_file = 0;
4456 surfxml_include_file_isset = 0;
4457 ENTER(AL_surfxml_include); pushbuffer(0);
4462 /* rule 29 can match eol */
4464 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
4467 /* rule 30 can match eol */
4469 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
4474 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4475 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4481 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4482 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4484 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4485 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4486 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4487 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;
4493 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4497 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4499 case YY_STATE_EOF(AL_surfxml_include):
4500 FAIL("EOF in attribute list of `include' element.");
4504 /* rule 35 can match eol */
4508 ETag_surfxml_include();
4509 popbuffer(); /* attribute */
4511 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4512 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4513 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4514 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;
4519 /* rule 36 can match eol */
4521 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4525 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4527 case YY_STATE_EOF(E_surfxml_include):
4528 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4532 /* rule 38 can match eol */
4534 FAIL("Starting tag <trace> is not allowed here.");
4537 /* rule 39 can match eol */
4540 AX_surfxml_trace_id = 0;
4541 surfxml_trace_id_isset = 0;
4542 AX_surfxml_trace_file = 0;
4543 surfxml_trace_file_isset = 0;
4544 AX_surfxml_trace_periodicity = 0;
4545 surfxml_trace_periodicity_isset = 0;
4546 ENTER(AL_surfxml_trace); pushbuffer(0);
4551 /* rule 40 can match eol */
4553 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4556 /* rule 41 can match eol */
4558 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4561 /* rule 42 can match eol */
4563 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4566 /* rule 43 can match eol */
4568 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4571 /* rule 44 can match eol */
4573 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4576 /* rule 45 can match eol */
4578 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4583 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4584 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4585 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4591 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4592 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4593 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4595 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4596 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4597 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4598 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4599 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;
4600 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4606 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4610 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4612 case YY_STATE_EOF(AL_surfxml_trace):
4613 FAIL("EOF in attribute list of `trace' element.");
4617 /* rule 50 can match eol */
4622 ETag_surfxml_trace();
4623 surfxml_pcdata_ix = popbuffer();
4624 popbuffer(); /* attribute */
4626 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4627 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4628 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4629 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4630 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;
4631 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4636 /* rule 51 can match eol */
4638 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4640 case YY_STATE_EOF(IN_trace):
4641 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
4645 /* rule 52 can match eol */
4647 FAIL("Starting tag <random> is not allowed here.");
4650 /* rule 53 can match eol */
4653 AX_surfxml_random_id = 0;
4654 surfxml_random_id_isset = 0;
4655 AX_surfxml_random_min = 0;
4656 surfxml_random_min_isset = 0;
4657 AX_surfxml_random_max = 0;
4658 surfxml_random_max_isset = 0;
4659 AX_surfxml_random_mean = 0;
4660 surfxml_random_mean_isset = 0;
4661 AX_surfxml_random_std_deviation = 0;
4662 surfxml_random_std_deviation_isset = 0;
4663 AX_surfxml_random_seed = 5;
4664 surfxml_random_seed_isset = 0;
4665 AX_surfxml_random_radical = 0;
4666 surfxml_random_radical_isset = 0;
4667 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4668 surfxml_random_generator_isset = 0;
4669 ENTER(AL_surfxml_random); pushbuffer(0);
4674 /* rule 54 can match eol */
4676 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4679 /* rule 55 can match eol */
4681 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4684 /* rule 56 can match eol */
4686 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4689 /* rule 57 can match eol */
4691 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4694 /* rule 58 can match eol */
4696 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4699 /* rule 59 can match eol */
4701 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4704 /* rule 60 can match eol */
4706 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4709 /* rule 61 can match eol */
4711 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4714 /* rule 62 can match eol */
4716 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4719 /* rule 63 can match eol */
4721 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4724 /* rule 64 can match eol */
4726 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4729 /* rule 65 can match eol */
4731 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4734 /* rule 66 can match eol */
4736 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4739 /* rule 67 can match eol */
4741 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4744 /* rule 68 can match eol */
4746 /* rule 69 can match eol */
4748 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4751 /* rule 70 can match eol */
4753 /* rule 71 can match eol */
4755 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4758 /* rule 72 can match eol */
4760 /* rule 73 can match eol */
4762 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4765 /* rule 74 can match eol */
4767 /* rule 75 can match eol */
4769 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4774 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4775 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4776 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4777 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4778 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4779 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4785 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4786 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4787 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4788 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4789 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4790 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4792 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4798 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4802 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4804 case YY_STATE_EOF(AL_surfxml_random):
4805 FAIL("EOF in attribute list of `random' element.");
4809 /* rule 80 can match eol */
4813 ETag_surfxml_random();
4814 popbuffer(); /* attribute */
4816 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4821 /* rule 81 can match eol */
4823 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4827 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4829 case YY_STATE_EOF(S_surfxml_random):
4830 case YY_STATE_EOF(S_surfxml_random_2):
4831 case YY_STATE_EOF(E_surfxml_random):
4832 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
4836 /* rule 83 can match eol */
4838 FAIL("Starting tag <trace_connect> is not allowed here.");
4841 /* rule 84 can match eol */
4844 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4845 surfxml_trace_connect_kind_isset = 0;
4846 AX_surfxml_trace_connect_trace = 0;
4847 surfxml_trace_connect_trace_isset = 0;
4848 AX_surfxml_trace_connect_element = 0;
4849 surfxml_trace_connect_element_isset = 0;
4850 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4855 /* rule 85 can match eol */
4857 /* rule 86 can match eol */
4859 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4862 /* rule 87 can match eol */
4864 /* rule 88 can match eol */
4866 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4869 /* rule 89 can match eol */
4871 /* rule 90 can match eol */
4873 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4876 /* rule 91 can match eol */
4878 /* rule 92 can match eol */
4880 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4883 /* rule 93 can match eol */
4885 /* rule 94 can match eol */
4887 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4890 /* rule 95 can match eol */
4892 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4895 /* rule 96 can match eol */
4897 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4900 /* rule 97 can match eol */
4902 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4905 /* rule 98 can match eol */
4907 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4912 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4913 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4914 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4920 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4921 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4922 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4924 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4925 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4926 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4927 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4928 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;
4929 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4935 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4939 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4941 case YY_STATE_EOF(AL_surfxml_trace_connect):
4942 FAIL("EOF in attribute list of `trace_connect' element.");
4946 /* rule 103 can match eol */
4950 ETag_surfxml_trace_connect();
4951 popbuffer(); /* attribute */
4953 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4954 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4955 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4956 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4957 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;
4958 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4963 /* rule 104 can match eol */
4965 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4969 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4971 case YY_STATE_EOF(E_surfxml_trace_connect):
4972 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
4976 /* rule 106 can match eol */
4978 FAIL("Starting tag <AS> is not allowed here.");
4981 /* rule 107 can match eol */
4984 AX_surfxml_AS_id = 0;
4985 surfxml_AS_id_isset = 0;
4986 AX_surfxml_AS_routing = 0;
4987 surfxml_AS_routing_isset = 0;
4988 ENTER(AL_surfxml_AS); pushbuffer(0);
4993 /* rule 108 can match eol */
4995 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4998 /* rule 109 can match eol */
5000 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
5003 /* rule 110 can match eol */
5005 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
5008 /* rule 111 can match eol */
5010 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
5015 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5016 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5017 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5023 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5024 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5025 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5027 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5028 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;
5034 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5038 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5040 case YY_STATE_EOF(AL_surfxml_AS):
5041 FAIL("EOF in attribute list of `AS' element.");
5045 /* rule 116 can match eol */
5050 popbuffer(); /* attribute */
5052 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5053 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;
5058 /* rule 117 can match eol */
5060 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5064 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5066 case YY_STATE_EOF(S_surfxml_AS_9):
5067 case YY_STATE_EOF(S_surfxml_AS_1):
5068 case YY_STATE_EOF(S_surfxml_AS_11):
5069 case YY_STATE_EOF(S_surfxml_AS_6):
5070 case YY_STATE_EOF(E_surfxml_AS):
5071 case YY_STATE_EOF(S_surfxml_AS_3):
5072 case YY_STATE_EOF(S_surfxml_AS_13):
5073 case YY_STATE_EOF(S_surfxml_AS_8):
5074 case YY_STATE_EOF(S_surfxml_AS):
5075 case YY_STATE_EOF(S_surfxml_AS_4):
5076 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5080 /* rule 119 can match eol */
5082 FAIL("Starting tag <storage> is not allowed here.");
5085 /* rule 120 can match eol */
5088 AX_surfxml_storage_id = 0;
5089 surfxml_storage_id_isset = 0;
5090 AX_surfxml_storage_model = 0;
5091 surfxml_storage_model_isset = 0;
5092 AX_surfxml_storage_content = 0;
5093 surfxml_storage_content_isset = 0;
5094 ENTER(AL_surfxml_storage); pushbuffer(0);
5099 /* rule 121 can match eol */
5101 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_id);
5104 /* rule 122 can match eol */
5106 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_id);
5109 /* rule 123 can match eol */
5111 if (surfxml_storage_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage>");} surfxml_storage_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_model);
5114 /* rule 124 can match eol */
5116 if (surfxml_storage_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage>");} surfxml_storage_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_model);
5119 /* rule 125 can match eol */
5121 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content);
5124 /* rule 126 can match eol */
5126 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content);
5131 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5132 if (!AX_surfxml_storage_model) FAIL("Required attribute `model' not set for `storage' element.");
5133 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5139 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5140 if (!AX_surfxml_storage_model) FAIL("Required attribute `model' not set for `storage' element.");
5141 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5143 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5144 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5150 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5154 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5156 case YY_STATE_EOF(AL_surfxml_storage):
5157 FAIL("EOF in attribute list of `storage' element.");
5161 /* rule 131 can match eol */
5165 ETag_surfxml_storage();
5166 popbuffer(); /* attribute */
5168 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5169 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5174 /* rule 132 can match eol */
5176 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5180 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5182 case YY_STATE_EOF(E_surfxml_storage):
5183 case YY_STATE_EOF(S_surfxml_storage):
5184 case YY_STATE_EOF(S_surfxml_storage_2):
5185 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5189 /* rule 134 can match eol */
5191 FAIL("Starting tag <host> is not allowed here.");
5194 /* rule 135 can match eol */
5197 AX_surfxml_host_id = 0;
5198 surfxml_host_id_isset = 0;
5199 AX_surfxml_host_power = 0;
5200 surfxml_host_power_isset = 0;
5201 AX_surfxml_host_core = 16;
5202 surfxml_host_core_isset = 0;
5203 AX_surfxml_host_availability = 18;
5204 surfxml_host_availability_isset = 0;
5205 AX_surfxml_host_availability_file = 0;
5206 surfxml_host_availability_file_isset = 0;
5207 AX_surfxml_host_state = A_surfxml_host_state_ON;
5208 surfxml_host_state_isset = 0;
5209 AX_surfxml_host_state_file = 0;
5210 surfxml_host_state_file_isset = 0;
5211 AX_surfxml_host_coordinates = 0;
5212 surfxml_host_coordinates_isset = 0;
5213 ENTER(AL_surfxml_host); pushbuffer(0);
5218 /* rule 136 can match eol */
5220 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
5223 /* rule 137 can match eol */
5225 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
5228 /* rule 138 can match eol */
5230 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
5233 /* rule 139 can match eol */
5235 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
5238 /* rule 140 can match eol */
5240 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
5243 /* rule 141 can match eol */
5245 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
5248 /* rule 142 can match eol */
5250 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
5253 /* rule 143 can match eol */
5255 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
5258 /* rule 144 can match eol */
5260 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
5263 /* rule 145 can match eol */
5265 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
5268 /* rule 146 can match eol */
5270 /* rule 147 can match eol */
5272 A_surfxml_host_state = A_surfxml_host_state_ON;
5275 /* rule 148 can match eol */
5277 /* rule 149 can match eol */
5279 A_surfxml_host_state = A_surfxml_host_state_OFF;
5282 /* rule 150 can match eol */
5284 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
5287 /* rule 151 can match eol */
5289 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
5292 /* rule 152 can match eol */
5294 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
5297 /* rule 153 can match eol */
5299 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
5304 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5305 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5306 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5312 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5313 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5314 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
5316 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5322 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
5326 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
5328 case YY_STATE_EOF(AL_surfxml_host):
5329 FAIL("EOF in attribute list of `host' element.");
5333 /* rule 158 can match eol */
5337 ETag_surfxml_host();
5338 popbuffer(); /* attribute */
5340 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5345 /* rule 159 can match eol */
5347 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
5351 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
5353 case YY_STATE_EOF(S_surfxml_host):
5354 case YY_STATE_EOF(E_surfxml_host):
5355 case YY_STATE_EOF(S_surfxml_host_2):
5356 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
5360 /* rule 161 can match eol */
5362 FAIL("Starting tag <cluster> is not allowed here.");
5365 /* rule 162 can match eol */
5368 AX_surfxml_cluster_id = 0;
5369 surfxml_cluster_id_isset = 0;
5370 AX_surfxml_cluster_prefix = 0;
5371 surfxml_cluster_prefix_isset = 0;
5372 AX_surfxml_cluster_suffix = 0;
5373 surfxml_cluster_suffix_isset = 0;
5374 AX_surfxml_cluster_radical = 0;
5375 surfxml_cluster_radical_isset = 0;
5376 AX_surfxml_cluster_power = 0;
5377 surfxml_cluster_power_isset = 0;
5378 AX_surfxml_cluster_core = 22;
5379 surfxml_cluster_core_isset = 0;
5380 AX_surfxml_cluster_bw = 0;
5381 surfxml_cluster_bw_isset = 0;
5382 AX_surfxml_cluster_lat = 0;
5383 surfxml_cluster_lat_isset = 0;
5384 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5385 surfxml_cluster_sharing_policy_isset = 0;
5386 AX_surfxml_cluster_bb_bw = 0;
5387 surfxml_cluster_bb_bw_isset = 0;
5388 AX_surfxml_cluster_bb_lat = 0;
5389 surfxml_cluster_bb_lat_isset = 0;
5390 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5391 surfxml_cluster_bb_sharing_policy_isset = 0;
5392 AX_surfxml_cluster_availability_file = 0;
5393 surfxml_cluster_availability_file_isset = 0;
5394 AX_surfxml_cluster_state_file = 0;
5395 surfxml_cluster_state_file_isset = 0;
5396 AX_surfxml_cluster_router_id = 0;
5397 surfxml_cluster_router_id_isset = 0;
5398 ENTER(AL_surfxml_cluster); pushbuffer(0);
5403 /* rule 163 can match eol */
5405 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
5408 /* rule 164 can match eol */
5410 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
5413 /* rule 165 can match eol */
5415 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
5418 /* rule 166 can match eol */
5420 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
5423 /* rule 167 can match eol */
5425 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
5428 /* rule 168 can match eol */
5430 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
5433 /* rule 169 can match eol */
5435 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
5438 /* rule 170 can match eol */
5440 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
5443 /* rule 171 can match eol */
5445 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
5448 /* rule 172 can match eol */
5450 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
5453 /* rule 173 can match eol */
5455 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
5458 /* rule 174 can match eol */
5460 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
5463 /* rule 175 can match eol */
5465 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
5468 /* rule 176 can match eol */
5470 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
5473 /* rule 177 can match eol */
5475 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
5478 /* rule 178 can match eol */
5480 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
5483 /* rule 179 can match eol */
5485 /* rule 180 can match eol */
5487 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5490 /* rule 181 can match eol */
5492 /* rule 182 can match eol */
5494 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5497 /* rule 183 can match eol */
5499 /* rule 184 can match eol */
5501 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5504 /* rule 185 can match eol */
5506 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5509 /* rule 186 can match eol */
5511 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5514 /* rule 187 can match eol */
5516 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5519 /* rule 188 can match eol */
5521 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5524 /* rule 189 can match eol */
5526 /* rule 190 can match eol */
5528 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5531 /* rule 191 can match eol */
5533 /* rule 192 can match eol */
5535 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5538 /* rule 193 can match eol */
5540 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5543 /* rule 194 can match eol */
5545 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5548 /* rule 195 can match eol */
5550 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5553 /* rule 196 can match eol */
5555 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5558 /* rule 197 can match eol */
5560 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_router_id);
5563 /* rule 198 can match eol */
5565 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_router_id);
5570 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5571 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5572 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5573 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5574 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5575 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5576 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5577 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5583 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5584 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5585 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5586 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5587 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5588 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5589 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5590 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5592 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5593 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;
5599 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5603 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5605 case YY_STATE_EOF(AL_surfxml_cluster):
5606 FAIL("EOF in attribute list of `cluster' element.");
5610 /* rule 203 can match eol */
5614 ETag_surfxml_cluster();
5615 popbuffer(); /* attribute */
5617 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5618 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;
5623 /* rule 204 can match eol */
5625 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5629 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5631 case YY_STATE_EOF(E_surfxml_cluster):
5632 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
5636 /* rule 206 can match eol */
5638 FAIL("Starting tag <peer> is not allowed here.");
5641 /* rule 207 can match eol */
5644 AX_surfxml_peer_id = 0;
5645 surfxml_peer_id_isset = 0;
5646 AX_surfxml_peer_power = 0;
5647 surfxml_peer_power_isset = 0;
5648 AX_surfxml_peer_bw_in = 0;
5649 surfxml_peer_bw_in_isset = 0;
5650 AX_surfxml_peer_bw_out = 0;
5651 surfxml_peer_bw_out_isset = 0;
5652 AX_surfxml_peer_lat = 0;
5653 surfxml_peer_lat_isset = 0;
5654 AX_surfxml_peer_coordinates = 0;
5655 surfxml_peer_coordinates_isset = 0;
5656 AX_surfxml_peer_availability_file = 0;
5657 surfxml_peer_availability_file_isset = 0;
5658 AX_surfxml_peer_state_file = 0;
5659 surfxml_peer_state_file_isset = 0;
5660 ENTER(AL_surfxml_peer); pushbuffer(0);
5665 /* rule 208 can match eol */
5667 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5670 /* rule 209 can match eol */
5672 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5675 /* rule 210 can match eol */
5677 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5680 /* rule 211 can match eol */
5682 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5685 /* rule 212 can match eol */
5687 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5690 /* rule 213 can match eol */
5692 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5695 /* rule 214 can match eol */
5697 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5700 /* rule 215 can match eol */
5702 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5705 /* rule 216 can match eol */
5707 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5710 /* rule 217 can match eol */
5712 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5715 /* rule 218 can match eol */
5717 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5720 /* rule 219 can match eol */
5722 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5725 /* rule 220 can match eol */
5727 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5730 /* rule 221 can match eol */
5732 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5735 /* rule 222 can match eol */
5737 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5740 /* rule 223 can match eol */
5742 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5747 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5748 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5749 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5750 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5751 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5752 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5758 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5759 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5760 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5761 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5762 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5763 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5765 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5766 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;
5772 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5776 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5778 case YY_STATE_EOF(AL_surfxml_peer):
5779 FAIL("EOF in attribute list of `peer' element.");
5783 /* rule 228 can match eol */
5787 ETag_surfxml_peer();
5788 popbuffer(); /* attribute */
5790 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5791 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;
5796 /* rule 229 can match eol */
5798 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5802 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5804 case YY_STATE_EOF(E_surfxml_peer):
5805 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
5809 /* rule 231 can match eol */
5811 FAIL("Starting tag <router> is not allowed here.");
5814 /* rule 232 can match eol */
5817 AX_surfxml_router_id = 0;
5818 surfxml_router_id_isset = 0;
5819 AX_surfxml_router_coordinates = 0;
5820 surfxml_router_coordinates_isset = 0;
5821 ENTER(AL_surfxml_router); pushbuffer(0);
5826 /* rule 233 can match eol */
5828 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5831 /* rule 234 can match eol */
5833 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5836 /* rule 235 can match eol */
5838 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5841 /* rule 236 can match eol */
5843 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5848 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5849 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5855 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5856 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5858 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5864 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5868 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5870 case YY_STATE_EOF(AL_surfxml_router):
5871 FAIL("EOF in attribute list of `router' element.");
5875 /* rule 241 can match eol */
5879 ETag_surfxml_router();
5880 popbuffer(); /* attribute */
5882 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5887 /* rule 242 can match eol */
5889 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5893 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5895 case YY_STATE_EOF(E_surfxml_router):
5896 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
5900 /* rule 244 can match eol */
5902 FAIL("Starting tag <link> is not allowed here.");
5905 /* rule 245 can match eol */
5908 AX_surfxml_link_id = 0;
5909 surfxml_link_id_isset = 0;
5910 AX_surfxml_link_bandwidth = 0;
5911 surfxml_link_bandwidth_isset = 0;
5912 AX_surfxml_link_bandwidth_file = 0;
5913 surfxml_link_bandwidth_file_isset = 0;
5914 AX_surfxml_link_latency = 24;
5915 surfxml_link_latency_isset = 0;
5916 AX_surfxml_link_latency_file = 0;
5917 surfxml_link_latency_file_isset = 0;
5918 AX_surfxml_link_state = A_surfxml_link_state_ON;
5919 surfxml_link_state_isset = 0;
5920 AX_surfxml_link_state_file = 0;
5921 surfxml_link_state_file_isset = 0;
5922 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5923 surfxml_link_sharing_policy_isset = 0;
5924 ENTER(AL_surfxml_link); pushbuffer(0);
5929 /* rule 246 can match eol */
5931 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5934 /* rule 247 can match eol */
5936 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5939 /* rule 248 can match eol */
5941 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5944 /* rule 249 can match eol */
5946 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5949 /* rule 250 can match eol */
5951 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5954 /* rule 251 can match eol */
5956 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5959 /* rule 252 can match eol */
5961 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5964 /* rule 253 can match eol */
5966 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5969 /* rule 254 can match eol */
5971 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5974 /* rule 255 can match eol */
5976 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5979 /* rule 256 can match eol */
5981 /* rule 257 can match eol */
5983 A_surfxml_link_state = A_surfxml_link_state_ON;
5986 /* rule 258 can match eol */
5988 /* rule 259 can match eol */
5990 A_surfxml_link_state = A_surfxml_link_state_OFF;
5993 /* rule 260 can match eol */
5995 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5998 /* rule 261 can match eol */
6000 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
6003 /* rule 262 can match eol */
6005 /* rule 263 can match eol */
6007 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6010 /* rule 264 can match eol */
6012 /* rule 265 can match eol */
6014 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6017 /* rule 266 can match eol */
6019 /* rule 267 can match eol */
6021 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6026 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6027 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6028 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6034 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6035 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6036 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6038 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6039 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6045 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6049 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6051 case YY_STATE_EOF(AL_surfxml_link):
6052 FAIL("EOF in attribute list of `link' element.");
6056 /* rule 272 can match eol */
6060 ETag_surfxml_link();
6061 popbuffer(); /* attribute */
6063 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6064 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6069 /* rule 273 can match eol */
6071 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6075 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6077 case YY_STATE_EOF(E_surfxml_link):
6078 case YY_STATE_EOF(S_surfxml_link_2):
6079 case YY_STATE_EOF(S_surfxml_link):
6080 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6084 /* rule 275 can match eol */
6086 FAIL("Starting tag <route> is not allowed here.");
6089 /* rule 276 can match eol */
6092 AX_surfxml_route_src = 0;
6093 surfxml_route_src_isset = 0;
6094 AX_surfxml_route_dst = 0;
6095 surfxml_route_dst_isset = 0;
6096 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6097 surfxml_route_symmetrical_isset = 0;
6098 ENTER(AL_surfxml_route); pushbuffer(0);
6103 /* rule 277 can match eol */
6105 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
6108 /* rule 278 can match eol */
6110 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
6113 /* rule 279 can match eol */
6115 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
6118 /* rule 280 can match eol */
6120 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
6123 /* rule 281 can match eol */
6125 /* rule 282 can match eol */
6127 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6130 /* rule 283 can match eol */
6132 /* rule 284 can match eol */
6134 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
6139 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6140 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6141 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
6147 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6148 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6149 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
6151 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;
6157 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
6161 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
6163 case YY_STATE_EOF(AL_surfxml_route):
6164 FAIL("EOF in attribute list of `route' element.");
6168 /* rule 289 can match eol */
6172 ETag_surfxml_route();
6173 popbuffer(); /* attribute */
6175 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;
6180 /* rule 290 can match eol */
6182 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
6186 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
6188 case YY_STATE_EOF(S_surfxml_route):
6189 case YY_STATE_EOF(S_surfxml_route_2):
6190 case YY_STATE_EOF(E_surfxml_route):
6191 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
6195 /* rule 292 can match eol */
6197 FAIL("Starting tag <ASroute> is not allowed here.");
6200 /* rule 293 can match eol */
6203 AX_surfxml_ASroute_src = 0;
6204 surfxml_ASroute_src_isset = 0;
6205 AX_surfxml_ASroute_dst = 0;
6206 surfxml_ASroute_dst_isset = 0;
6207 AX_surfxml_ASroute_gw_src = 0;
6208 surfxml_ASroute_gw_src_isset = 0;
6209 AX_surfxml_ASroute_gw_dst = 0;
6210 surfxml_ASroute_gw_dst_isset = 0;
6211 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6212 surfxml_ASroute_symmetrical_isset = 0;
6213 ENTER(AL_surfxml_ASroute); pushbuffer(0);
6218 /* rule 294 can match eol */
6220 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
6223 /* rule 295 can match eol */
6225 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
6228 /* rule 296 can match eol */
6230 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
6233 /* rule 297 can match eol */
6235 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
6238 /* rule 298 can match eol */
6240 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
6243 /* rule 299 can match eol */
6245 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
6248 /* rule 300 can match eol */
6250 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
6253 /* rule 301 can match eol */
6255 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
6258 /* rule 302 can match eol */
6260 /* rule 303 can match eol */
6262 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6265 /* rule 304 can match eol */
6267 /* rule 305 can match eol */
6269 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6274 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6275 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6276 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6277 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6278 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6284 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6285 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6286 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6287 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6288 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6290 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;
6296 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6300 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6302 case YY_STATE_EOF(AL_surfxml_ASroute):
6303 FAIL("EOF in attribute list of `ASroute' element.");
6307 /* rule 310 can match eol */
6311 ETag_surfxml_ASroute();
6312 popbuffer(); /* attribute */
6314 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;
6319 /* rule 311 can match eol */
6321 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
6325 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
6327 case YY_STATE_EOF(E_surfxml_ASroute):
6328 case YY_STATE_EOF(S_surfxml_ASroute):
6329 case YY_STATE_EOF(S_surfxml_ASroute_2):
6330 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
6334 /* rule 313 can match eol */
6336 FAIL("Starting tag <link_ctn> is not allowed here.");
6339 /* rule 314 can match eol */
6342 AX_surfxml_link_ctn_id = 0;
6343 surfxml_link_ctn_id_isset = 0;
6344 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6345 surfxml_link_ctn_direction_isset = 0;
6346 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
6351 /* rule 315 can match eol */
6353 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
6356 /* rule 316 can match eol */
6358 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
6361 /* rule 317 can match eol */
6363 /* rule 318 can match eol */
6365 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
6368 /* rule 319 can match eol */
6370 /* rule 320 can match eol */
6372 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
6375 /* rule 321 can match eol */
6377 /* rule 322 can match eol */
6379 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6384 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6385 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
6391 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6392 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
6394 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6395 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6396 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6402 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
6406 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
6408 case YY_STATE_EOF(AL_surfxml_link_ctn):
6409 FAIL("EOF in attribute list of `link_ctn' element.");
6413 /* rule 327 can match eol */
6417 ETag_surfxml_link_ctn();
6418 popbuffer(); /* attribute */
6420 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6421 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6422 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6427 /* rule 328 can match eol */
6429 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6433 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6435 case YY_STATE_EOF(E_surfxml_link_ctn):
6436 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
6440 /* rule 330 can match eol */
6442 FAIL("Starting tag <bypassRoute> is not allowed here.");
6445 /* rule 331 can match eol */
6448 AX_surfxml_bypassRoute_src = 0;
6449 surfxml_bypassRoute_src_isset = 0;
6450 AX_surfxml_bypassRoute_dst = 0;
6451 surfxml_bypassRoute_dst_isset = 0;
6452 AX_surfxml_bypassRoute_gw_src = 0;
6453 surfxml_bypassRoute_gw_src_isset = 0;
6454 AX_surfxml_bypassRoute_gw_dst = 0;
6455 surfxml_bypassRoute_gw_dst_isset = 0;
6456 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6461 /* rule 332 can match eol */
6463 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6466 /* rule 333 can match eol */
6468 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6471 /* rule 334 can match eol */
6473 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6476 /* rule 335 can match eol */
6478 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6481 /* rule 336 can match eol */
6483 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6486 /* rule 337 can match eol */
6488 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6491 /* rule 338 can match eol */
6493 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6496 /* rule 339 can match eol */
6498 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6503 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6504 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6505 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6506 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6507 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6513 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6514 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6515 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6516 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6517 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6519 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;
6525 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6529 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6531 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6532 FAIL("EOF in attribute list of `bypassRoute' element.");
6536 /* rule 344 can match eol */
6540 ETag_surfxml_bypassRoute();
6541 popbuffer(); /* attribute */
6543 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;
6548 /* rule 345 can match eol */
6550 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6554 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6556 case YY_STATE_EOF(S_surfxml_bypassRoute):
6557 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6558 case YY_STATE_EOF(E_surfxml_bypassRoute):
6559 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6563 /* rule 347 can match eol */
6565 FAIL("Starting tag <process> is not allowed here.");
6568 /* rule 348 can match eol */
6571 AX_surfxml_process_host = 0;
6572 surfxml_process_host_isset = 0;
6573 AX_surfxml_process_function = 0;
6574 surfxml_process_function_isset = 0;
6575 AX_surfxml_process_start_time = 28;
6576 surfxml_process_start_time_isset = 0;
6577 AX_surfxml_process_kill_time = 33;
6578 surfxml_process_kill_time_isset = 0;
6579 ENTER(AL_surfxml_process); pushbuffer(0);
6584 /* rule 349 can match eol */
6586 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6589 /* rule 350 can match eol */
6591 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6594 /* rule 351 can match eol */
6596 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6599 /* rule 352 can match eol */
6601 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6604 /* rule 353 can match eol */
6606 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6609 /* rule 354 can match eol */
6611 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6614 /* rule 355 can match eol */
6616 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6619 /* rule 356 can match eol */
6621 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6626 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6627 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6628 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6634 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6635 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6636 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6638 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;
6644 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6648 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6650 case YY_STATE_EOF(AL_surfxml_process):
6651 FAIL("EOF in attribute list of `process' element.");
6655 /* rule 361 can match eol */
6659 ETag_surfxml_process();
6660 popbuffer(); /* attribute */
6662 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;
6667 /* rule 362 can match eol */
6669 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6673 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6675 case YY_STATE_EOF(E_surfxml_process):
6676 case YY_STATE_EOF(S_surfxml_process):
6677 case YY_STATE_EOF(S_surfxml_process_2):
6678 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
6682 /* rule 364 can match eol */
6684 FAIL("Starting tag <argument> is not allowed here.");
6687 /* rule 365 can match eol */
6690 AX_surfxml_argument_value = 0;
6691 surfxml_argument_value_isset = 0;
6692 ENTER(AL_surfxml_argument); pushbuffer(0);
6697 /* rule 366 can match eol */
6699 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6702 /* rule 367 can match eol */
6704 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6709 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6710 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6716 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6717 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6719 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6725 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6729 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6731 case YY_STATE_EOF(AL_surfxml_argument):
6732 FAIL("EOF in attribute list of `argument' element.");
6736 /* rule 372 can match eol */
6740 ETag_surfxml_argument();
6741 popbuffer(); /* attribute */
6743 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6748 /* rule 373 can match eol */
6750 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6754 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6756 case YY_STATE_EOF(E_surfxml_argument):
6757 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
6761 /* rule 375 can match eol */
6763 FAIL("Starting tag <config> is not allowed here.");
6766 /* rule 376 can match eol */
6769 AX_surfxml_config_id = 0;
6770 surfxml_config_id_isset = 0;
6771 ENTER(AL_surfxml_config); pushbuffer(0);
6776 /* rule 377 can match eol */
6778 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6781 /* rule 378 can match eol */
6783 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6788 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6794 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6796 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6802 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6806 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6808 case YY_STATE_EOF(AL_surfxml_config):
6809 FAIL("EOF in attribute list of `config' element.");
6813 /* rule 383 can match eol */
6817 ETag_surfxml_config();
6818 popbuffer(); /* attribute */
6820 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6825 /* rule 384 can match eol */
6827 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6831 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6833 case YY_STATE_EOF(S_surfxml_config):
6834 case YY_STATE_EOF(S_surfxml_config_2):
6835 case YY_STATE_EOF(E_surfxml_config):
6836 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6839 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6840 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6842 /* rule 386 can match eol */
6844 FAIL("Starting tag <prop> is not allowed here.");
6847 /* rule 387 can match eol */
6850 AX_surfxml_prop_id = 0;
6851 surfxml_prop_id_isset = 0;
6852 AX_surfxml_prop_value = 0;
6853 surfxml_prop_value_isset = 0;
6854 ENTER(AL_surfxml_prop); pushbuffer(0);
6859 /* rule 388 can match eol */
6861 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6864 /* rule 389 can match eol */
6866 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6869 /* rule 390 can match eol */
6871 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6874 /* rule 391 can match eol */
6876 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6881 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6882 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6883 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6889 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6890 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6891 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6893 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6894 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
6895 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6896 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6897 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6898 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6904 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6908 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6910 case YY_STATE_EOF(AL_surfxml_prop):
6911 FAIL("EOF in attribute list of `prop' element.");
6915 /* rule 396 can match eol */
6919 ETag_surfxml_prop();
6920 popbuffer(); /* attribute */
6922 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6923 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
6924 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6925 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6926 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6927 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6932 /* rule 397 can match eol */
6934 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6938 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6940 case YY_STATE_EOF(E_surfxml_prop):
6941 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
6944 /* EPILOG: after the root element. */
6948 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6950 case YY_STATE_EOF(EPILOG):
6954 /* CHARACTER DATA. */
6956 /* Non-defined standard entities... */
6977 /* Character entities. */
6980 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6984 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6988 /* rule 407 can match eol */
6990 /* rule 408 can match eol */
6992 /* rule 409 can match eol */
6994 /* rule 410 can match eol */
7005 FAIL("Unexpected `]""]>' in character data.");
7012 case YY_STATE_EOF(VALUE1):
7013 FAIL("EOF in literal (\"'\" expected).");
7020 case YY_STATE_EOF(VALUE2):
7021 FAIL("EOF in literal (`\"' expected).");
7025 /* rule 415 can match eol */
7027 BUFFERPUTC(surf_parse_text[0]);
7031 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
7038 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
7041 BUFFERPUTC(surf_parse_text[0]);
7043 case YY_STATE_EOF(CDATA):
7044 FAIL("EOF in CDATA section.");
7047 /* Impossible rules to avoid warnings from flex(1). */
7048 /* Ideally, this should be replaced by code in flexml.pl that
7049 generates just the states not covered by other rules. */
7052 /* rule 419 can match eol */
7054 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
7061 case YY_STATE_EOF(INITIAL):
7062 case YY_STATE_EOF(ROOT_surfxml_platform):
7063 case YY_STATE_EOF(S_surfxml_platform_2):
7064 case YY_STATE_EOF(S_surfxml_platform_5):
7065 case YY_STATE_EOF(S_surfxml_platform_7):
7066 case YY_STATE_EOF(S_surfxml_random_1):
7067 case YY_STATE_EOF(S_surfxml_AS_2):
7068 case YY_STATE_EOF(S_surfxml_AS_5):
7069 case YY_STATE_EOF(S_surfxml_AS_7):
7070 case YY_STATE_EOF(S_surfxml_AS_10):
7071 case YY_STATE_EOF(S_surfxml_AS_12):
7072 case YY_STATE_EOF(S_surfxml_storage_1):
7073 case YY_STATE_EOF(S_surfxml_host_1):
7074 case YY_STATE_EOF(S_surfxml_link_1):
7075 case YY_STATE_EOF(S_surfxml_route_1):
7076 case YY_STATE_EOF(S_surfxml_ASroute_1):
7077 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
7078 case YY_STATE_EOF(S_surfxml_process_1):
7079 case YY_STATE_EOF(S_surfxml_config_1):
7080 case YY_STATE_EOF(IMPOSSIBLE):
7083 case YY_END_OF_BUFFER:
7085 /* Amount of text matched not including the EOB char. */
7086 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
7088 /* Undo the effects of YY_DO_BEFORE_ACTION. */
7089 *yy_cp = (yy_hold_char);
7090 YY_RESTORE_YY_MORE_OFFSET
7092 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
7094 /* We're scanning a new file or input source. It's
7095 * possible that this happened because the user
7096 * just pointed surf_parse_in at a new source and called
7097 * surf_parse_lex(). If so, then we have to assure
7098 * consistency between YY_CURRENT_BUFFER and our
7099 * globals. Here is the right place to do so, because
7100 * this is the first action (other than possibly a
7101 * back-up) that will match for the new input source.
7103 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7104 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
7105 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
7108 /* Note that here we test for yy_c_buf_p "<=" to the position
7109 * of the first EOB in the buffer, since yy_c_buf_p will
7110 * already have been incremented past the NUL character
7111 * (since all states make transitions on EOB to the
7112 * end-of-buffer state). Contrast this with the test
7115 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7116 { /* This was really a NUL. */
7117 yy_state_type yy_next_state;
7119 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
7121 yy_current_state = yy_get_previous_state( );
7123 /* Okay, we're now positioned to make the NUL
7124 * transition. We couldn't have
7125 * yy_get_previous_state() go ahead and do it
7126 * for us because it doesn't know how to deal
7127 * with the possibility of jamming (and we don't
7128 * want to build jamming into it because then it
7129 * will run more slowly).
7132 yy_next_state = yy_try_NUL_trans( yy_current_state );
7134 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7136 if ( yy_next_state )
7138 /* Consume the NUL. */
7139 yy_cp = ++(yy_c_buf_p);
7140 yy_current_state = yy_next_state;
7146 yy_cp = (yy_c_buf_p);
7147 goto yy_find_action;
7151 else switch ( yy_get_next_buffer( ) )
7153 case EOB_ACT_END_OF_FILE:
7155 (yy_did_buffer_switch_on_eof) = 0;
7157 if ( surf_parse_wrap( ) )
7159 /* Note: because we've taken care in
7160 * yy_get_next_buffer() to have set up
7161 * surf_parse_text, we can now set up
7162 * yy_c_buf_p so that if some total
7163 * hoser (like flex itself) wants to
7164 * call the scanner after we return the
7165 * YY_NULL, it'll still work - another
7166 * YY_NULL will get returned.
7168 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
7170 yy_act = YY_STATE_EOF(YY_START);
7176 if ( ! (yy_did_buffer_switch_on_eof) )
7182 case EOB_ACT_CONTINUE_SCAN:
7184 (yytext_ptr) + yy_amount_of_matched_text;
7186 yy_current_state = yy_get_previous_state( );
7188 yy_cp = (yy_c_buf_p);
7189 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7192 case EOB_ACT_LAST_MATCH:
7194 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7196 yy_current_state = yy_get_previous_state( );
7198 yy_cp = (yy_c_buf_p);
7199 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7200 goto yy_find_action;
7207 "fatal flex scanner internal error--no action found" );
7208 } /* end of action switch */
7209 } /* end of scanning one token */
7210 } /* end of surf_parse_lex */
7212 /* yy_get_next_buffer - try to read in a new buffer
7214 * Returns a code representing an action:
7215 * EOB_ACT_LAST_MATCH -
7216 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
7217 * EOB_ACT_END_OF_FILE - end of file
7219 static int yy_get_next_buffer (void)
7221 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
7222 register char *source = (yytext_ptr);
7223 register int number_to_move, i;
7226 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
7228 "fatal flex scanner internal error--end of buffer missed" );
7230 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
7231 { /* Don't try to fill the buffer, so this is an EOF. */
7232 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
7234 /* We matched a single character, the EOB, so
7235 * treat this as a final EOF.
7237 return EOB_ACT_END_OF_FILE;
7242 /* We matched some text prior to the EOB, first
7245 return EOB_ACT_LAST_MATCH;
7249 /* Try to read more data. */
7251 /* First move last chars to start of buffer. */
7252 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7254 for ( i = 0; i < number_to_move; ++i )
7255 *(dest++) = *(source++);
7257 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7258 /* don't do the read, it's not guaranteed to return an EOF,
7261 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7266 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7268 while ( num_to_read <= 0 )
7269 { /* Not enough room in the buffer - grow it. */
7271 /* just a shorter name for the current buffer */
7272 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7274 int yy_c_buf_p_offset =
7275 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7277 if ( b->yy_is_our_buffer )
7279 int new_size = b->yy_buf_size * 2;
7281 if ( new_size <= 0 )
7282 b->yy_buf_size += b->yy_buf_size / 8;
7284 b->yy_buf_size *= 2;
7286 b->yy_ch_buf = (char *)
7287 /* Include room in for 2 EOB chars. */
7288 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7291 /* Can't grow it, we don't own it. */
7294 if ( ! b->yy_ch_buf )
7296 "fatal error - scanner input buffer overflow" );
7298 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7300 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7305 if ( num_to_read > YY_READ_BUF_SIZE )
7306 num_to_read = YY_READ_BUF_SIZE;
7308 /* Read in more data. */
7309 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7310 (yy_n_chars), (size_t) num_to_read );
7312 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7315 if ( (yy_n_chars) == 0 )
7317 if ( number_to_move == YY_MORE_ADJ )
7319 ret_val = EOB_ACT_END_OF_FILE;
7320 surf_parse_restart(surf_parse_in );
7325 ret_val = EOB_ACT_LAST_MATCH;
7326 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7327 YY_BUFFER_EOF_PENDING;
7332 ret_val = EOB_ACT_CONTINUE_SCAN;
7334 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7335 /* Extend the array by 50%, plus the number we really need. */
7336 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7337 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
7338 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7339 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
7342 (yy_n_chars) += number_to_move;
7343 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
7344 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
7346 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
7351 /* yy_get_previous_state - get the state just before the EOB char was reached */
7353 static yy_state_type yy_get_previous_state (void)
7355 register yy_state_type yy_current_state;
7356 register char *yy_cp;
7358 yy_current_state = (yy_start);
7360 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
7362 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
7363 if ( yy_accept[yy_current_state] )
7365 (yy_last_accepting_state) = yy_current_state;
7366 (yy_last_accepting_cpos) = yy_cp;
7368 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7370 yy_current_state = (int) yy_def[yy_current_state];
7371 if ( yy_current_state >= 2502 )
7372 yy_c = yy_meta[(unsigned int) yy_c];
7374 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7377 return yy_current_state;
7380 /* yy_try_NUL_trans - try to make a transition on the NUL character
7383 * next_state = yy_try_NUL_trans( current_state );
7385 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
7387 register int yy_is_jam;
7388 register char *yy_cp = (yy_c_buf_p);
7390 register YY_CHAR yy_c = 1;
7391 if ( yy_accept[yy_current_state] )
7393 (yy_last_accepting_state) = yy_current_state;
7394 (yy_last_accepting_cpos) = yy_cp;
7396 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7398 yy_current_state = (int) yy_def[yy_current_state];
7399 if ( yy_current_state >= 2502 )
7400 yy_c = yy_meta[(unsigned int) yy_c];
7402 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7403 yy_is_jam = (yy_current_state == 2501);
7405 return yy_is_jam ? 0 : yy_current_state;
7410 static int yyinput (void)
7412 static int input (void)
7418 *(yy_c_buf_p) = (yy_hold_char);
7420 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7422 /* yy_c_buf_p now points to the character we want to return.
7423 * If this occurs *before* the EOB characters, then it's a
7424 * valid NUL; if not, then we've hit the end of the buffer.
7426 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7427 /* This was really a NUL. */
7428 *(yy_c_buf_p) = '\0';
7431 { /* need more input */
7432 int offset = (yy_c_buf_p) - (yytext_ptr);
7435 switch ( yy_get_next_buffer( ) )
7437 case EOB_ACT_LAST_MATCH:
7438 /* This happens because yy_g_n_b()
7439 * sees that we've accumulated a
7440 * token and flags that we need to
7441 * try matching the token before
7442 * proceeding. But for input(),
7443 * there's no matching to consider.
7444 * So convert the EOB_ACT_LAST_MATCH
7445 * to EOB_ACT_END_OF_FILE.
7448 /* Reset buffer status. */
7449 surf_parse_restart(surf_parse_in );
7453 case EOB_ACT_END_OF_FILE:
7455 if ( surf_parse_wrap( ) )
7458 if ( ! (yy_did_buffer_switch_on_eof) )
7467 case EOB_ACT_CONTINUE_SCAN:
7468 (yy_c_buf_p) = (yytext_ptr) + offset;
7474 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7475 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7476 (yy_hold_char) = *++(yy_c_buf_p);
7480 surf_parse_lineno++;
7485 #endif /* ifndef YY_NO_INPUT */
7487 /** Immediately switch to a different input stream.
7488 * @param input_file A readable stream.
7490 * @note This function does not reset the start condition to @c INITIAL .
7492 void surf_parse_restart (FILE * input_file )
7495 if ( ! YY_CURRENT_BUFFER ){
7496 surf_parse_ensure_buffer_stack ();
7497 YY_CURRENT_BUFFER_LVALUE =
7498 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7501 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7502 surf_parse__load_buffer_state( );
7505 /** Switch to a different input buffer.
7506 * @param new_buffer The new input buffer.
7509 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7512 /* TODO. We should be able to replace this entire function body
7514 * surf_parse_pop_buffer_state();
7515 * surf_parse_push_buffer_state(new_buffer);
7517 surf_parse_ensure_buffer_stack ();
7518 if ( YY_CURRENT_BUFFER == new_buffer )
7521 if ( YY_CURRENT_BUFFER )
7523 /* Flush out information for old buffer. */
7524 *(yy_c_buf_p) = (yy_hold_char);
7525 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7526 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7529 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7530 surf_parse__load_buffer_state( );
7532 /* We don't actually know whether we did this switch during
7533 * EOF (surf_parse_wrap()) processing, but the only time this flag
7534 * is looked at is after surf_parse_wrap() is called, so it's safe
7535 * to go ahead and always set it.
7537 (yy_did_buffer_switch_on_eof) = 1;
7540 static void surf_parse__load_buffer_state (void)
7542 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7543 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7544 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7545 (yy_hold_char) = *(yy_c_buf_p);
7548 /** Allocate and initialize an input buffer state.
7549 * @param file A readable stream.
7550 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7552 * @return the allocated buffer state.
7554 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7558 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7560 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7562 b->yy_buf_size = size;
7564 /* yy_ch_buf has to be 2 characters longer than the size given because
7565 * we need to put in 2 end-of-buffer characters.
7567 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7568 if ( ! b->yy_ch_buf )
7569 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7571 b->yy_is_our_buffer = 1;
7573 surf_parse__init_buffer(b,file );
7578 /** Destroy the buffer.
7579 * @param b a buffer created with surf_parse__create_buffer()
7582 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7588 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7589 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7591 if ( b->yy_is_our_buffer )
7592 surf_parse_free((void *) b->yy_ch_buf );
7594 surf_parse_free((void *) b );
7598 extern int isatty (int );
7599 #endif /* __cplusplus */
7601 /* Initializes or reinitializes a buffer.
7602 * This function is sometimes called more than once on the same buffer,
7603 * such as during a surf_parse_restart() or at EOF.
7605 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7610 surf_parse__flush_buffer(b );
7612 b->yy_input_file = file;
7613 b->yy_fill_buffer = 1;
7615 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7616 * called from surf_parse_restart() or through yy_get_next_buffer.
7617 * In that case, we don't want to reset the lineno or column.
7619 if (b != YY_CURRENT_BUFFER){
7620 b->yy_bs_lineno = 1;
7621 b->yy_bs_column = 0;
7624 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7629 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7630 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7633 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7640 /* We always need two end-of-buffer characters. The first causes
7641 * a transition to the end-of-buffer state. The second causes
7642 * a jam in that state.
7644 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7645 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7647 b->yy_buf_pos = &b->yy_ch_buf[0];
7650 b->yy_buffer_status = YY_BUFFER_NEW;
7652 if ( b == YY_CURRENT_BUFFER )
7653 surf_parse__load_buffer_state( );
7656 /** Pushes the new state onto the stack. The new state becomes
7657 * the current state. This function will allocate the stack
7659 * @param new_buffer The new state.
7662 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7664 if (new_buffer == NULL)
7667 surf_parse_ensure_buffer_stack();
7669 /* This block is copied from surf_parse__switch_to_buffer. */
7670 if ( YY_CURRENT_BUFFER )
7672 /* Flush out information for old buffer. */
7673 *(yy_c_buf_p) = (yy_hold_char);
7674 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7675 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7678 /* Only push if top exists. Otherwise, replace top. */
7679 if (YY_CURRENT_BUFFER)
7680 (yy_buffer_stack_top)++;
7681 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7683 /* copied from surf_parse__switch_to_buffer. */
7684 surf_parse__load_buffer_state( );
7685 (yy_did_buffer_switch_on_eof) = 1;
7688 /** Removes and deletes the top of the stack, if present.
7689 * The next element becomes the new top.
7692 void surf_parse_pop_buffer_state (void)
7694 if (!YY_CURRENT_BUFFER)
7697 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7698 YY_CURRENT_BUFFER_LVALUE = NULL;
7699 if ((yy_buffer_stack_top) > 0)
7700 --(yy_buffer_stack_top);
7702 if (YY_CURRENT_BUFFER) {
7703 surf_parse__load_buffer_state( );
7704 (yy_did_buffer_switch_on_eof) = 1;
7708 /* Allocates the stack if it does not exist.
7709 * Guarantees space for at least one push.
7711 static void surf_parse_ensure_buffer_stack (void)
7715 if (!(yy_buffer_stack)) {
7717 /* First allocation is just for 2 elements, since we don't know if this
7718 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7719 * immediate realloc on the next call.
7722 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7723 (num_to_alloc * sizeof(struct yy_buffer_state*)
7725 if ( ! (yy_buffer_stack) )
7726 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7728 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7730 (yy_buffer_stack_max) = num_to_alloc;
7731 (yy_buffer_stack_top) = 0;
7735 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7737 /* Increase the buffer to prepare for a possible push. */
7738 int grow_size = 8 /* arbitrary grow size */;
7740 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7741 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7743 num_to_alloc * sizeof(struct yy_buffer_state*)
7745 if ( ! (yy_buffer_stack) )
7746 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7748 /* zero only the new slots.*/
7749 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7750 (yy_buffer_stack_max) = num_to_alloc;
7754 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7755 * @param base the character buffer
7756 * @param size the size in bytes of the character buffer
7758 * @return the newly allocated buffer state object.
7760 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7765 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7766 base[size-1] != YY_END_OF_BUFFER_CHAR )
7767 /* They forgot to leave room for the EOB's. */
7770 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7772 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7774 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7775 b->yy_buf_pos = b->yy_ch_buf = base;
7776 b->yy_is_our_buffer = 0;
7777 b->yy_input_file = 0;
7778 b->yy_n_chars = b->yy_buf_size;
7779 b->yy_is_interactive = 0;
7781 b->yy_fill_buffer = 0;
7782 b->yy_buffer_status = YY_BUFFER_NEW;
7784 surf_parse__switch_to_buffer(b );
7789 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7790 * scan from a @e copy of @a str.
7791 * @param yystr a NUL-terminated string to scan
7793 * @return the newly allocated buffer state object.
7794 * @note If you want to scan bytes that may contain NUL values, then use
7795 * surf_parse__scan_bytes() instead.
7797 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7800 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7803 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7804 * scan from a @e copy of @a bytes.
7805 * @param yybytes the byte buffer to scan
7806 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7808 * @return the newly allocated buffer state object.
7810 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7817 /* Get memory for full buffer, including space for trailing EOB's. */
7818 n = _yybytes_len + 2;
7819 buf = (char *) surf_parse_alloc(n );
7821 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7823 for ( i = 0; i < _yybytes_len; ++i )
7824 buf[i] = yybytes[i];
7826 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7828 b = surf_parse__scan_buffer(buf,n );
7830 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7832 /* It's okay to grow etc. this buffer, and we should throw it
7833 * away when we're done.
7835 b->yy_is_our_buffer = 1;
7840 static void yy_push_state (int new_state )
7842 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7846 (yy_start_stack_depth) += YY_START_STACK_INCR;
7847 new_size = (yy_start_stack_depth) * sizeof( int );
7849 if ( ! (yy_start_stack) )
7850 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7853 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7855 if ( ! (yy_start_stack) )
7856 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7859 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7864 static void yy_pop_state (void)
7866 if ( --(yy_start_stack_ptr) < 0 )
7867 YY_FATAL_ERROR( "start-condition stack underflow" );
7869 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7872 #ifndef YY_EXIT_FAILURE
7873 #define YY_EXIT_FAILURE 2
7876 static void yy_fatal_error (yyconst char* msg )
7878 (void) fprintf( stderr, "%s\n", msg );
7879 exit( YY_EXIT_FAILURE );
7882 /* Redefine yyless() so it works in section 3 code. */
7888 /* Undo effects of setting up surf_parse_text. */ \
7889 int yyless_macro_arg = (n); \
7890 YY_LESS_LINENO(yyless_macro_arg);\
7891 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7892 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7893 (yy_hold_char) = *(yy_c_buf_p); \
7894 *(yy_c_buf_p) = '\0'; \
7895 surf_parse_leng = yyless_macro_arg; \
7899 /* Accessor methods (get/set functions) to struct members. */
7901 /** Get the current line number.
7904 int surf_parse_get_lineno (void)
7907 return surf_parse_lineno;
7910 /** Get the input stream.
7913 FILE *surf_parse_get_in (void)
7915 return surf_parse_in;
7918 /** Get the output stream.
7921 FILE *surf_parse_get_out (void)
7923 return surf_parse_out;
7926 /** Get the length of the current token.
7929 int surf_parse_get_leng (void)
7931 return surf_parse_leng;
7934 /** Get the current token.
7938 char *surf_parse_get_text (void)
7940 return surf_parse_text;
7943 /** Set the current line number.
7944 * @param line_number
7947 void surf_parse_set_lineno (int line_number )
7950 surf_parse_lineno = line_number;
7953 /** Set the input stream. This does not discard the current
7955 * @param in_str A readable stream.
7957 * @see surf_parse__switch_to_buffer
7959 void surf_parse_set_in (FILE * in_str )
7961 surf_parse_in = in_str ;
7964 void surf_parse_set_out (FILE * out_str )
7966 surf_parse_out = out_str ;
7969 int surf_parse_get_debug (void)
7971 return surf_parse__flex_debug;
7974 void surf_parse_set_debug (int bdebug )
7976 surf_parse__flex_debug = bdebug ;
7979 static int yy_init_globals (void)
7981 /* Initialization is the same as for the non-reentrant scanner.
7982 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7985 /* We do not touch surf_parse_lineno unless the option is enabled. */
7986 surf_parse_lineno = 1;
7988 (yy_buffer_stack) = 0;
7989 (yy_buffer_stack_top) = 0;
7990 (yy_buffer_stack_max) = 0;
7991 (yy_c_buf_p) = (char *) 0;
7995 (yy_start_stack_ptr) = 0;
7996 (yy_start_stack_depth) = 0;
7997 (yy_start_stack) = NULL;
7999 /* Defined in main.c */
8001 surf_parse_in = stdin;
8002 surf_parse_out = stdout;
8004 surf_parse_in = (FILE *) 0;
8005 surf_parse_out = (FILE *) 0;
8008 /* For future reference: Set errno on error, since we are called by
8009 * surf_parse_lex_init()
8014 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8015 int surf_parse_lex_destroy (void)
8018 /* Pop the buffer stack, destroying each element. */
8019 while(YY_CURRENT_BUFFER){
8020 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8021 YY_CURRENT_BUFFER_LVALUE = NULL;
8022 surf_parse_pop_buffer_state();
8025 /* Destroy the stack itself. */
8026 surf_parse_free((yy_buffer_stack) );
8027 (yy_buffer_stack) = NULL;
8029 /* Destroy the start condition stack. */
8030 surf_parse_free((yy_start_stack) );
8031 (yy_start_stack) = NULL;
8033 /* Reset the globals. This is important in a non-reentrant scanner so the next time
8034 * surf_parse_lex() is called, initialization will occur. */
8041 * Internal utility routines.
8045 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
8048 for ( i = 0; i < n; ++i )
8053 #ifdef YY_NEED_STRLEN
8054 static int yy_flex_strlen (yyconst char * s )
8057 for ( n = 0; s[n]; ++n )
8064 void *surf_parse_alloc (yy_size_t size )
8066 return (void *) malloc( size );
8069 void *surf_parse_realloc (void * ptr, yy_size_t size )
8071 /* The cast to (char *) in the following accommodates both
8072 * implementations that use char* generic pointers, and those
8073 * that use void* generic pointers. It works with the latter
8074 * because both ANSI C and C++ allow castless assignment from
8075 * any pointer type to void*, and deal with argument conversions
8076 * as though doing an assignment.
8078 return (void *) realloc( (char *) ptr, size );
8081 void surf_parse_free (void * ptr )
8083 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
8086 #define YYTABLES_NAME "yytables"
8088 /* Element context stack lookup. */
8089 int surfxml_element_context(int i)
8091 return (0<i && i<yy_start_stack_depth
8092 ? yy_start_stack[yy_start_stack_ptr - i]
8097 void print_yy_stack(char* fmt, ...)
8099 int i = 0; va_list ap; va_start(ap, fmt);
8100 vfprintf(stderr, fmt, ap);
8101 if (surfxml_statenames) {
8102 for (i=1; i<yy_start_stack_ptr; i++) {
8103 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
8105 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
8110 void print_surfxml_bufferstack()
8113 fputs("Buffer: ", stderr);
8114 for (i = 0; i < blimit; i++) {
8115 if ( surfxml_bufferstack[i] == '\377' ) break;
8116 putc(surfxml_bufferstack[i], stderr);
8121 static void debug_enter(int state, const char* statename) {
8122 yy_push_state(state);
8123 if (surf_parse__flex_debug) {
8124 print_yy_stack("--ENTER(%s) : ",statename);
8125 print_surfxml_bufferstack();
8129 static void debug_leave(void) {
8130 if (surf_parse__flex_debug) {
8131 print_yy_stack("--LEAVE : ");
8132 print_surfxml_bufferstack();
8137 static void debug_set(int state, const char* statename) {
8139 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
8143 static void cleanup(void)
8145 if (surfxml_statenames) {
8146 free(surfxml_statenames);
8147 surfxml_statenames = NULL;
8149 free(surfxml_bufferstack);
8150 surfxml_bufferstack = NULL;
8156 static int fail(const char* fmt, ...)
8158 int chars_left, used;
8159 va_list ap; va_start(ap, fmt);
8160 #ifdef FLEXML_yylineno
8161 used = sprintf(flexml_err_msg,
8162 "Invalid XML (XML input line %d, state %d): ",
8163 surf_parse_lineno, YY_START);
8165 used = sprintf(flexml_err_msg,
8166 "Invalid XML (state %d): ",
8169 chars_left = flexml_max_err_msg_size - used - 1;
8170 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
8173 #ifndef FLEXML_quiet_parser
8174 /* print directly to sdterr */
8175 fprintf(stderr, "%s\n", flexml_err_msg);
8176 flexml_err_msg[0] = '\0';