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 459
407 #define YY_END_OF_BUFFER 460
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[2703] =
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, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 460, 458, 15, 10,
442 10, 15, 15, 438, 10, 438, 5, 6, 5, 8,
443 9, 8, 454, 446, 447, 455, 452, 455, 453, 457,
444 446, 447, 457, 458, 22, 10, 22, 22, 22, 20,
445 22, 26, 10, 26, 26, 458, 26, 458, 458, 26,
446 33, 10, 33, 33, 33, 31, 33, 37, 10, 37,
447 458, 37, 48, 10, 48, 48, 48, 46, 48, 48,
448 48, 455, 454, 78, 10, 78, 78, 78, 76, 78,
450 78, 78, 78, 78, 82, 10, 82, 458, 82, 101,
451 10, 101, 101, 101, 99, 101, 101, 101, 105, 10,
452 105, 114, 10, 114, 114, 114, 112, 114, 114, 118,
453 10, 118, 118, 458, 118, 118, 458, 458, 118, 458,
454 118, 458, 118, 129, 10, 129, 129, 129, 127, 129,
455 129, 129, 133, 10, 133, 133, 142, 10, 142, 142,
456 142, 140, 142, 142, 146, 10, 146, 146, 155, 10,
457 155, 155, 155, 153, 155, 155, 159, 10, 159, 168,
458 10, 168, 168, 168, 166, 168, 168, 172, 10, 172,
459 195, 10, 195, 195, 195, 193, 195, 195, 195, 195,
461 195, 199, 10, 199, 458, 199, 240, 10, 240, 240,
462 240, 238, 240, 240, 240, 240, 240, 240, 240, 240,
463 244, 10, 244, 265, 10, 265, 265, 265, 263, 265,
464 265, 265, 265, 265, 265, 265, 269, 10, 269, 278,
465 10, 278, 278, 278, 276, 278, 278, 282, 10, 282,
466 309, 10, 309, 309, 309, 307, 309, 309, 309, 309,
467 313, 10, 313, 313, 326, 10, 326, 326, 326, 324,
468 326, 326, 330, 10, 330, 458, 330, 347, 10, 347,
469 347, 347, 345, 347, 347, 347, 351, 10, 351, 351,
470 364, 10, 364, 364, 364, 362, 364, 364, 368, 10,
472 368, 381, 10, 381, 381, 381, 379, 381, 381, 381,
473 385, 10, 385, 385, 398, 10, 398, 398, 398, 396,
474 398, 398, 398, 398, 402, 10, 402, 458, 402, 409,
475 10, 409, 409, 409, 407, 409, 413, 10, 413, 420,
476 10, 420, 420, 420, 418, 420, 424, 10, 424, 424,
477 433, 10, 433, 433, 433, 431, 433, 433, 437, 10,
478 437, 10, 0, 2, 2, 0, 4, 7, 449, 448,
479 0, 0, 0, 0, 0, 0, 0, 21, 23, 23,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 0, 0, 0, 32, 34, 34, 0, 47, 49, 49,
484 49, 49, 0, 0, 0, 77, 79, 79, 79, 79,
485 79, 79, 79, 79, 79, 0, 0, 100, 102, 102,
486 102, 102, 0, 113, 115, 115, 115, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 128, 130, 130,
488 130, 130, 0, 141, 143, 143, 143, 0, 154, 156,
489 156, 156, 0, 167, 169, 169, 169, 0, 194, 196,
490 196, 196, 196, 196, 196, 0, 0, 239, 241, 241,
491 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
492 241, 241, 0, 264, 266, 266, 266, 266, 266, 266,
494 266, 266, 0, 277, 279, 279, 279, 0, 308, 310,
495 310, 310, 310, 310, 310, 0, 325, 327, 327, 327,
496 327, 0, 0, 346, 348, 348, 348, 348, 348, 0,
497 363, 365, 365, 365, 0, 380, 382, 382, 382, 382,
498 0, 397, 399, 399, 399, 399, 399, 0, 0, 408,
499 410, 410, 0, 419, 421, 421, 0, 432, 434, 434,
500 434, 0, 0, 0, 0, 0, 3, 0, 0, 0,
501 0, 0, 0, 0, 456, 0, 23, 0, 0, 107,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
505 0, 0, 0, 0, 34, 0, 0, 49, 0, 0,
506 49, 0, 0, 0, 451, 79, 0, 0, 79, 79,
507 79, 79, 79, 79, 0, 0, 0, 102, 102, 102,
508 0, 0, 0, 0, 115, 0, 0, 107, 0, 0,
509 0, 0, 0, 106, 0, 0, 130, 0, 0, 130,
510 0, 0, 0, 0, 143, 0, 0, 0, 0, 156,
511 0, 0, 169, 169, 0, 0, 196, 196, 196, 0,
512 0, 196, 196, 0, 0, 0, 0, 241, 241, 0,
513 0, 241, 0, 0, 241, 241, 241, 241, 241, 241,
514 241, 241, 0, 0, 266, 266, 266, 0, 0, 266,
516 266, 266, 0, 0, 279, 0, 0, 0, 0, 310,
517 0, 0, 310, 310, 310, 0, 0, 327, 327, 327,
518 0, 0, 0, 348, 348, 348, 348, 0, 0, 365,
519 0, 0, 0, 0, 382, 382, 382, 0, 0, 399,
520 399, 399, 399, 0, 0, 0, 410, 0, 0, 0,
521 0, 0, 0, 0, 0, 434, 0, 0, 0, 14,
522 1, 0, 0, 444, 0, 0, 0, 441, 440, 0,
523 0, 23, 0, 0, 25, 0, 107, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
527 0, 0, 34, 0, 0, 36, 0, 49, 0, 41,
528 40, 49, 0, 0, 0, 51, 0, 79, 0, 55,
529 54, 0, 0, 79, 0, 0, 79, 79, 79, 0,
530 0, 81, 0, 0, 102, 102, 102, 0, 0, 104,
531 0, 0, 109, 108, 115, 0, 0, 117, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 130, 0, 122,
533 121, 130, 0, 0, 132, 0, 0, 137, 136, 143,
534 0, 0, 145, 0, 0, 150, 149, 156, 0, 0,
535 158, 0, 169, 169, 0, 0, 171, 0, 196, 196,
536 196, 0, 176, 175, 196, 196, 0, 0, 198, 0,
538 0, 0, 241, 241, 241, 241, 0, 215, 214, 241,
539 0, 203, 202, 0, 0, 241, 241, 241, 241, 241,
540 241, 241, 0, 0, 243, 0, 266, 266, 266, 266,
541 0, 248, 247, 0, 0, 266, 266, 0, 0, 268,
542 0, 279, 0, 273, 272, 0, 0, 281, 0, 310,
543 0, 286, 285, 310, 310, 310, 0, 0, 312, 0,
544 0, 0, 0, 0, 327, 0, 0, 329, 0, 0,
545 0, 0, 348, 348, 0, 0, 348, 0, 0, 350,
546 0, 365, 0, 355, 354, 0, 0, 367, 0, 0,
547 0, 382, 382, 0, 0, 0, 0, 384, 0, 399,
549 399, 399, 399, 0, 0, 401, 0, 0, 410, 0,
550 0, 412, 0, 0, 417, 416, 0, 0, 423, 0,
551 0, 428, 427, 434, 0, 0, 436, 0, 0, 0,
552 445, 439, 0, 0, 0, 23, 0, 0, 0, 0,
553 0, 0, 173, 0, 283, 0, 0, 246, 0, 0,
554 425, 0, 0, 0, 0, 0, 0, 0, 0, 245,
555 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
556 79, 0, 59, 58, 0, 0, 0, 57, 56, 79,
557 0, 0, 79, 0, 426, 102, 0, 0, 102, 0,
558 115, 0, 116, 0, 0, 174, 284, 0, 0, 0,
560 0, 130, 130, 0, 143, 0, 0, 0, 0, 0,
561 0, 169, 0, 196, 196, 0, 0, 196, 196, 0,
562 0, 0, 241, 241, 241, 241, 0, 0, 0, 217,
563 216, 241, 241, 241, 241, 241, 241, 241, 0, 266,
564 266, 266, 266, 0, 256, 255, 266, 266, 0, 279,
565 0, 310, 310, 310, 310, 0, 0, 319, 318, 0,
566 317, 316, 327, 0, 283, 0, 336, 335, 348, 348,
567 0, 334, 333, 348, 0, 365, 0, 0, 374, 373,
568 382, 382, 0, 372, 371, 0, 399, 0, 0, 399,
569 399, 0, 0, 410, 0, 0, 434, 0, 0, 0,
571 0, 12, 0, 442, 443, 0, 23, 0, 0, 0,
572 0, 0, 0, 173, 0, 283, 0, 147, 0, 246,
573 0, 0, 425, 0, 314, 0, 39, 0, 0, 0,
574 0, 245, 0, 38, 0, 30, 29, 0, 0, 43,
575 42, 49, 0, 0, 79, 0, 61, 60, 79, 0,
576 65, 64, 79, 0, 426, 102, 0, 0, 0, 0,
577 0, 0, 115, 0, 0, 174, 284, 315, 0, 315,
578 314, 130, 0, 0, 0, 143, 0, 0, 152, 151,
579 0, 0, 165, 164, 169, 0, 196, 196, 0, 180,
580 179, 0, 0, 0, 0, 196, 0, 148, 0, 241,
582 0, 0, 241, 241, 0, 213, 212, 0, 0, 241,
583 241, 241, 241, 241, 241, 0, 266, 0, 0, 266,
584 266, 0, 0, 266, 0, 279, 0, 310, 310, 310,
585 0, 0, 310, 0, 327, 0, 0, 348, 348, 348,
586 0, 365, 0, 382, 382, 0, 399, 0, 389, 388,
587 399, 399, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 0, 11, 0, 23, 0, 0, 0,
589 0, 0, 415, 0, 0, 147, 0, 0, 0, 53,
590 314, 270, 0, 39, 0, 414, 52, 0, 0, 0,
591 38, 0, 0, 49, 0, 0, 79, 79, 79, 0,
593 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 96, 95, 0, 115, 0, 0, 315, 271, 0, 130,
595 0, 124, 123, 0, 0, 0, 0, 0, 0, 0,
596 0, 196, 196, 0, 178, 177, 0, 0, 0, 196,
597 0, 197, 148, 0, 241, 0, 225, 224, 0, 0,
598 241, 0, 211, 210, 0, 0, 241, 241, 241, 241,
599 0, 0, 0, 266, 0, 252, 251, 0, 0, 266,
600 0, 250, 249, 266, 0, 267, 279, 0, 310, 310,
601 310, 0, 0, 0, 310, 0, 311, 327, 0, 0,
602 0, 0, 0, 0, 348, 0, 365, 0, 0, 0,
604 0, 0, 0, 399, 399, 399, 0, 0, 0, 406,
605 405, 0, 0, 0, 430, 429, 0, 435, 0, 0,
606 0, 0, 0, 0, 0, 331, 0, 0, 201, 415,
607 28, 0, 0, 0, 387, 53, 270, 134, 0, 414,
608 52, 200, 27, 386, 0, 0, 49, 0, 0, 50,
609 79, 0, 0, 79, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 332, 0, 271, 135, 0, 0, 0, 0, 139, 138,
612 0, 0, 157, 0, 163, 162, 0, 196, 196, 0,
613 0, 196, 0, 241, 0, 227, 226, 241, 0, 205,
615 204, 0, 0, 241, 241, 241, 0, 207, 206, 0,
616 266, 0, 254, 253, 266, 266, 279, 0, 310, 0,
617 0, 310, 310, 0, 0, 310, 327, 0, 328, 0,
618 0, 340, 339, 0, 338, 337, 348, 0, 365, 0,
619 0, 378, 377, 0, 376, 375, 0, 399, 399, 399,
620 0, 0, 0, 0, 0, 0, 0, 17, 0, 19,
621 18, 0, 331, 403, 0, 201, 28, 352, 160, 16,
622 387, 134, 0, 0, 200, 27, 386, 0, 0, 49,
623 450, 79, 0, 67, 66, 79, 0, 80, 0, 98,
624 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 111, 110, 332, 0, 135, 0, 0,
627 126, 125, 0, 0, 0, 196, 196, 0, 0, 0,
628 0, 196, 161, 241, 241, 0, 209, 208, 241, 241,
629 241, 0, 266, 266, 266, 279, 0, 280, 310, 0,
630 292, 291, 310, 310, 0, 0, 0, 0, 310, 327,
631 353, 348, 0, 365, 0, 0, 0, 0, 399, 399,
632 0, 404, 0, 0, 422, 0, 0, 0, 17, 0,
633 403, 0, 352, 160, 16, 0, 0, 0, 0, 35,
634 49, 0, 0, 79, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
637 0, 196, 196, 0, 186, 0, 185, 196, 161, 241,
638 241, 0, 0, 241, 241, 0, 242, 266, 266, 266,
639 279, 0, 0, 310, 310, 310, 0, 296, 0, 295,
640 310, 327, 353, 348, 0, 349, 0, 0, 0, 0,
641 0, 391, 390, 0, 0, 399, 0, 400, 404, 0,
642 0, 0, 0, 0, 24, 0, 0, 0, 0, 49,
643 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 170,
645 196, 196, 188, 187, 0, 0, 241, 241, 0, 237,
646 236, 241, 0, 0, 266, 266, 0, 0, 279, 0,
648 288, 287, 310, 310, 310, 298, 297, 0, 0, 327,
649 348, 0, 0, 0, 0, 366, 0, 0, 395, 394,
650 0, 0, 0, 411, 0, 0, 0, 369, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
652 0, 0, 0, 0, 88, 0, 0, 0, 0, 87,
653 0, 370, 0, 0, 196, 0, 0, 0, 190, 189,
654 241, 241, 241, 0, 235, 234, 266, 0, 0, 0,
655 262, 261, 0, 0, 310, 310, 310, 0, 300, 299,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 393, 392, 0, 0, 0, 369, 119, 0,
659 0, 0, 45, 44, 0, 0, 0, 0, 0, 0,
660 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 370, 120, 0, 0, 0, 196, 0, 192,
662 191, 241, 241, 241, 266, 0, 258, 257, 0, 275,
663 274, 310, 0, 0, 310, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 119, 84, 83, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 94, 0, 0,
667 0, 93, 0, 0, 120, 0, 0, 182, 181, 196,
668 241, 241, 241, 266, 310, 0, 294, 293, 310, 0,
670 0, 0, 0, 0, 0, 0, 0, 0, 0, 357,
671 0, 0, 356, 0, 383, 0, 0, 0, 0, 0,
672 0, 84, 83, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 63, 62, 0, 0, 0, 0, 0, 0,
674 0, 0, 131, 196, 241, 241, 0, 0, 266, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 75, 71, 0, 0, 74, 70, 0, 92,
678 0, 0, 91, 0, 0, 0, 103, 196, 241, 241,
679 0, 0, 0, 266, 0, 290, 289, 0, 0, 0,
681 323, 0, 322, 0, 344, 0, 343, 0, 359, 361,
682 358, 360, 0, 0, 0, 12, 0, 12, 0, 0,
683 0, 0, 0, 86, 90, 85, 89, 196, 241, 241,
684 0, 0, 0, 0, 266, 0, 0, 0, 0, 321,
685 320, 342, 341, 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, 69, 0, 68, 0, 0, 184,
689 183, 0, 233, 232, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 260, 259, 0, 0, 0, 0,
692 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
694 0, 0, 0, 73, 72, 0, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 219, 0, 0, 218, 0,
699 0, 302, 0, 0, 301, 0, 0, 0, 0, 0,
700 223, 0, 222, 0, 304, 0, 303, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
703 0, 228, 0, 0, 0, 0, 0, 0, 231, 230,
704 221, 220, 306, 305, 0, 0, 0, 0, 0, 0,
705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 static yyconst flex_int32_t yy_ec[256] =
719 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
720 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
721 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
722 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
723 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
724 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
725 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
726 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
727 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
728 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
730 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
731 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
732 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
733 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 static yyconst flex_int32_t yy_meta[73] =
751 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
752 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
753 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
754 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
755 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
756 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
757 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
761 static yyconst flex_int16_t yy_base[3078] =
763 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
764 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
765 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
766 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
767 239, 256, 274, 328, 294, 297, 300, 304, 307, 348,
768 351, 354, 382, 445, 359, 414, 508, 574, 405, 408,
769 412, 417, 465, 468, 471, 475, 640, 707, 478, 528,
770 774, 839, 531, 534, 538, 541, 594, 597, 600, 604,
771 607, 660, 663, 666, 670, 673, 727, 730, 733, 737,
772 740, 794, 797, 800, 804, 807, 859, 862, 865, 869,
774 872, 889, 907, 967, 927, 930, 933, 937, 987, 990,
775 993, 997, 1027, 1094, 1047, 1050, 1053, 1057, 1060, 1114,
776 1117, 1120, 1161, 1222, 1124, 1127, 1283, 1350, 1181, 1184,
777 1417, 1483, 1187, 1191, 1194, 1242, 1245, 1248, 1252, 1255,
778 1549, 0, 1303, 1306, 1621, 0, 1309, 1313, 1693, 1750,
779 1316, 1370, 1807, 1873, 1373, 1376, 1380, 1383, 1437, 1440,
780 1443, 1447, 1939, 2005, 1503, 1506, 1509, 1513, 1713, 1716,
781 1719, 1723, 2071, 2137, 1770, 1773, 1776, 1780, 1827, 1830,
782 1833, 1837, 2203, 2260, 1840, 1893, 2317, 2383, 1896, 1899,
783 1903, 1906, 1959, 1962, 1965, 1969, 2449, 2515, 1972, 2025,
785 2028, 2031, 2035, 2038, 2091, 2094, 2581, 2650, 2097, 2101,
786 2719, 2776, 2104, 2157, 2160, 2163, 2167, 2170, 2223, 2226,
787 2833, 2902, 2229, 2233, 0, 0, 7416, 9694, 9694, 95,
788 100, 29, 41, 9694, 103, 51, 9694, 9694, 7405, 9694,
789 9694, 7394, 9694, 7405, 7405, 498, 9694, 9694, 9694, 9694,
790 7403, 7399, 7354, 145, 9694, 161, 7380, 0, 146, 9694,
791 7342, 9694, 166, 2967, 88, 204, 205, 254, 7382, 3,
792 9694, 169, 7373, 0, 153, 9694, 7331, 9694, 260, 302,
793 7375, 7364, 9694, 376, 7361, 0, 244, 9694, 7323, 7327,
794 7321, 419, 7326, 9694, 439, 7352, 0, 248, 9694, 7314,
796 7314, 311, 7316, 260, 9694, 567, 422, 7348, 7296, 9694,
797 624, 7338, 0, 479, 9694, 7294, 7295, 7286, 9694, 633,
798 482, 9694, 692, 7326, 0, 483, 9694, 7293, 7282, 9694,
799 697, 2226, 2234, 29, 35, 7317, 240, 135, 348, 2230,
800 59, 7326, 152, 9694, 700, 7317, 0, 485, 9694, 7270,
801 7279, 7268, 9694, 759, 7313, 31, 9694, 764, 7304, 0,
802 543, 9694, 7271, 7246, 9694, 767, 7305, 181, 9694, 824,
803 7296, 0, 545, 9694, 7259, 7261, 9694, 830, 546, 9694,
804 833, 7289, 0, 609, 9694, 7255, 7231, 9694, 895, 611,
805 9694, 898, 7282, 0, 612, 9694, 7228, 7234, 7243, 7228,
807 7222, 9694, 940, 311, 464, 210, 9694, 957, 7268, 0,
808 684, 9694, 6764, 311, 6770, 6778, 6780, 185, 376, 615,
809 9694, 1000, 685, 9694, 1017, 6808, 0, 751, 9694, 6758,
810 6756, 6763, 6772, 6773, 6759, 6752, 9694, 1077, 752, 9694,
811 1083, 6791, 0, 808, 9694, 6748, 6756, 9694, 1086, 944,
812 9694, 1089, 6780, 0, 809, 9694, 6749, 6745, 6746, 505,
813 9694, 1144, 6778, 364, 9694, 1150, 6769, 0, 873, 9694,
814 6721, 620, 9694, 1153, 1013, 6769, 6720, 9694, 1156, 6755,
815 0, 874, 9694, 6707, 6702, 687, 9694, 1211, 6758, 314,
816 9694, 1217, 6742, 0, 884, 9694, 6704, 6707, 9694, 1272,
818 945, 9694, 1278, 6738, 0, 941, 9694, 6690, 6681, 6684,
819 9694, 1333, 6732, 811, 9694, 1336, 6723, 0, 942, 9694,
820 6673, 6674, 6674, 6663, 9694, 1339, 607, 994, 527, 9694,
821 1343, 6708, 0, 1002, 9694, 6674, 9694, 1400, 1005, 9694,
822 1403, 6697, 0, 1061, 9694, 6664, 9694, 1406, 6702, 843,
823 9694, 1410, 6679, 0, 1062, 9694, 6646, 6647, 9694, 1450,
824 1455, 1467, 713, 6624, 9694, 6677, 6666, 9694, 9694, 9694,
825 1464, 435, 6607, 6602, 6600, 6635, 6595, 9694, 0, 6587,
826 6584, 6607, 6579, 6567, 687, 6576, 6575, 6570, 371, 1084,
827 960, 6559, 6557, 688, 1154, 6571, 757, 6548, 1212, 6537,
829 822, 1461, 1480, 9694, 0, 6542, 6539, 9694, 0, 6533,
830 1726, 6525, 1207, 6522, 6567, 9694, 0, 6521, 1783, 6509,
831 6530, 6516, 6511, 6491, 6491, 6476, 1483, 9694, 0, 6487,
832 6477, 6484, 6465, 9694, 0, 2295, 6462, 6499, 6481, 6446,
833 6453, 6447, 1410, 6426, 6453, 1413, 1476, 9694, 0, 6429,
834 2337, 6433, 6415, 9694, 0, 2340, 6411, 6407, 9694, 0,
835 2343, 6411, 6397, 9694, 0, 6396, 6391, 6393, 9694, 0,
836 6402, 1071, 2346, 6380, 6399, 6379, 435, 9694, 0, 6385,
837 6384, 2349, 6352, 2403, 6349, 6344, 6344, 6344, 6325, 6341,
838 6339, 6332, 6334, 9694, 0, 6334, 6321, 6306, 2406, 6299,
840 6290, 6309, 6290, 9694, 0, 6290, 2409, 6277, 9694, 0,
841 6280, 2412, 6267, 6284, 6282, 6266, 9694, 0, 6256, 6267,
842 6255, 6241, 6248, 9694, 0, 6236, 6254, 6231, 6218, 6251,
843 9694, 0, 6200, 2415, 6205, 9694, 0, 6187, 6205, 6192,
844 6192, 9694, 0, 6171, 6165, 6162, 6171, 6155, 6145, 9694,
845 0, 6144, 6151, 9694, 0, 2469, 6148, 9694, 0, 2472,
846 6129, 6124, 6165, 6170, 1114, 6119, 9694, 1846, 0, 6114,
847 6110, 6154, 6152, 6100, 9694, 6112, 6093, 2477, 2480, 1802,
848 6082, 6072, 6065, 6071, 6064, 6065, 6053, 6045, 6044, 6053,
849 6056, 6041, 6037, 6029, 6033, 6035, 6022, 6020, 1866, 6012,
851 6027, 6024, 6013, 6014, 6009, 2490, 2543, 6007, 2483, 1990,
852 5995, 6027, 2538, 2546, 9694, 5996, 2549, 2056, 2553, 5987,
853 2603, 5989, 5989, 5992, 2606, 2617, 5972, 5971, 5968, 5967,
854 2610, 2613, 2621, 2125, 5950, 2670, 2673, 1923, 5952, 5947,
855 5951, 5942, 5940, 1932, 5933, 5926, 5926, 2679, 2191, 5934,
856 2682, 2685, 2697, 2307, 5932, 2739, 2742, 2745, 2371, 5927,
857 2751, 2754, 5926, 5924, 2797, 2800, 5915, 5906, 5913, 2808,
858 2437, 5901, 5884, 2804, 2811, 5881, 5873, 5865, 1478, 2853,
859 2632, 5868, 2856, 2640, 2859, 5857, 5855, 5850, 5832, 5832,
860 5825, 5837, 2865, 2879, 5832, 1082, 5810, 2922, 2704, 2925,
862 5819, 5803, 2930, 2933, 5801, 2943, 2766, 2953, 2963, 5812,
863 2966, 2885, 5801, 5787, 5784, 2972, 2978, 2991, 3000, 3003,
864 3009, 3034, 5782, 3037, 3040, 3043, 3047, 3065, 3069, 5788,
865 3072, 3075, 3084, 3091, 3095, 3098, 3116, 3119, 3122, 5785,
866 5768, 5774, 5760, 3125, 3134, 5768, 5754, 3129, 3149, 3153,
867 3156, 3164, 3171, 3174, 3177, 5749, 3185, 3193, 5796, 9694,
868 9694, 992, 5755, 9694, 5796, 5786, 5726, 9694, 9694, 5718,
869 5717, 5725, 3198, 3204, 9694, 3207, 1744, 5710, 5698, 5712,
870 5694, 5693, 5675, 5682, 5674, 5670, 5667, 5663, 5644, 754,
871 5657, 5639, 5639, 5629, 5619, 5614, 1998, 5599, 5598, 5588,
873 1007, 5597, 3213, 3217, 3226, 9694, 3232, 3236, 3239, 9694,
874 9694, 3247, 5622, 3257, 3260, 9694, 3265, 5576, 3269, 9694,
875 9694, 3284, 3287, 3296, 3302, 3314, 5586, 3308, 5571, 3322,
876 3326, 9694, 3329, 1141, 5569, 3332, 5567, 3335, 3341, 9694,
877 3350, 3354, 9694, 9694, 5558, 3362, 3365, 9694, 3369, 5545,
878 5557, 5528, 5535, 5522, 5519, 5515, 5509, 5521, 3372, 9694,
879 9694, 5476, 3384, 3389, 9694, 3392, 3399, 9694, 9694, 5496,
880 3411, 3414, 9694, 3417, 3420, 9694, 9694, 3436, 3439, 3442,
881 9694, 3445, 3448, 3454, 3466, 3472, 9694, 3478, 5466, 5462,
882 3485, 3491, 9694, 9694, 5447, 5451, 3499, 3503, 9694, 3506,
884 5442, 5433, 5435, 5422, 5442, 5433, 3512, 9694, 9694, 3525,
885 3528, 9694, 9694, 3536, 3544, 5422, 5428, 5433, 5429, 5424,
886 5426, 5400, 3539, 3554, 9694, 3558, 5391, 5388, 5375, 5382,
887 3561, 9694, 9694, 3573, 3577, 5367, 5374, 3585, 3591, 9694,
888 3594, 5374, 3597, 9694, 9694, 3605, 3613, 9694, 3616, 5354,
889 3625, 9694, 9694, 5354, 5357, 5359, 3619, 3638, 9694, 3641,
890 3646, 3650, 3660, 3664, 5358, 3672, 3678, 9694, 3683, 5351,
891 3686, 3691, 5335, 5331, 3704, 3707, 5342, 3715, 3718, 9694,
892 3722, 5342, 3725, 9694, 9694, 3737, 3741, 9694, 3744, 3750,
893 3756, 5326, 5325, 3764, 3768, 3776, 3782, 9694, 3786, 5314,
895 3789, 5331, 5307, 3795, 3807, 9694, 3810, 5305, 5318, 3814,
896 3817, 9694, 3820, 3829, 9694, 9694, 3839, 3842, 9694, 3848,
897 3851, 9694, 9694, 5306, 3861, 3867, 9694, 3874, 883, 3880,
898 9694, 9694, 5338, 5336, 5298, 5279, 3886, 5271, 5275, 5264,
899 5262, 5270, 2064, 5258, 2255, 5257, 5258, 2250, 5267, 5255,
900 2509, 5245, 5252, 5242, 5232, 5226, 5216, 5206, 5204, 2572,
901 5213, 5212, 3889, 3893, 3901, 3908, 3911, 5211, 5229, 3920,
902 5201, 3926, 9694, 9694, 3935, 3939, 3953, 9694, 9694, 5199,
903 3947, 3961, 5194, 3970, 2575, 5183, 3973, 3976, 3984, 3991,
904 5182, 3994, 9694, 5173, 5127, 2826, 2894, 5135, 5138, 5132,
906 5129, 5120, 3997, 4003, 5124, 4006, 4015, 4026, 4034, 4037,
907 4041, 5123, 4049, 5120, 5111, 4055, 4058, 4073, 4077, 4080,
908 5099, 5089, 5104, 4083, 5080, 5096, 4086, 4095, 4104, 9694,
909 9694, 4112, 5073, 5090, 5073, 5070, 5082, 5057, 4115, 5068,
910 4118, 5049, 5057, 4124, 9694, 9694, 4136, 5065, 4139, 5054,
911 4142, 5049, 5053, 5037, 4146, 4149, 4154, 9694, 9694, 4164,
912 9694, 9694, 5029, 4172, 4175, 4180, 9694, 9694, 5017, 5028,
913 4193, 9694, 9694, 5011, 4208, 5009, 4211, 4215, 9694, 9694,
914 4997, 5012, 4223, 9694, 9694, 4231, 5004, 4234, 4238, 4992,
915 5010, 4246, 4996, 4252, 4255, 4258, 4270, 4261, 593, 5017,
917 4280, 9694, 5015, 9694, 9694, 4936, 4926, 4283, 4919, 4931,
918 4878, 4878, 4842, 2997, 4762, 4288, 4672, 4291, 4654, 4302,
919 4619, 4577, 4305, 4509, 4311, 4512, 4314, 4494, 4482, 4408,
920 4384, 4317, 4334, 4323, 4326, 9694, 9694, 4336, 4339, 9694,
921 9694, 4277, 4165, 4348, 16, 4351, 9694, 9694, 30, 4361,
922 9694, 9694, 79, 4370, 4375, 108, 4378, 1766, 2087, 4389,
923 4393, 4403, 165, 249, 278, 4407, 4410, 4413, 349, 4416,
924 4422, 338, 4425, 4431, 4439, 4443, 4446, 4449, 9694, 9694,
925 4465, 4468, 9694, 9694, 4461, 4480, 457, 499, 4487, 9694,
926 9694, 4495, 4499, 4507, 4513, 551, 4521, 4525, 575, 629,
928 4531, 4534, 4544, 615, 4549, 9694, 9694, 4557, 4562, 4570,
929 731, 776, 783, 828, 4575, 4578, 838, 4581, 4584, 4593,
930 877, 4599, 4602, 898, 4611, 922, 4617, 946, 997, 1022,
931 4620, 4623, 1056, 4631, 1060, 4638, 1126, 4644, 4650, 4653,
932 4657, 1143, 4662, 4671, 4676, 4681, 1139, 4690, 9694, 9694,
933 1149, 1143, 4684, 1158, 4703, 4710, 4724, 4728, 4731, 4736,
934 4749, 1241, 1305, 1279, 9694, 1173, 4752, 4755, 1209, 1203,
935 1229, 1207, 4758, 1261, 1255, 4761, 1268, 1261, 1262, 4764,
936 4770, 4774, 1280, 4777, 1297, 4784, 4787, 1284, 1328, 1323,
937 4790, 1339, 4793, 1341, 1371, 4796, 1333, 4799, 1342, 4802,
939 4805, 1378, 1379, 1426, 1380, 1411, 1421, 1451, 1446, 4817,
940 9694, 9694, 4808, 4827, 1446, 1480, 4830, 4833, 1466, 4836,
941 4845, 9694, 9694, 4839, 4861, 4864, 4872, 4875, 4879, 4882,
942 4897, 1465, 1474, 4900, 9694, 9694, 4909, 1505, 1507, 1490,
943 4917, 9694, 4920, 1654, 1667, 4926, 9694, 9694, 4936, 4939,
944 1675, 4947, 9694, 9694, 4955, 4958, 4966, 1676, 1687, 1679,
945 4969, 4973, 4987, 1681, 4990, 9694, 9694, 4998, 5002, 1693,
946 5010, 9694, 9694, 1686, 5018, 9694, 1700, 5021, 1699, 5024,
947 1733, 5027, 1754, 1756, 1736, 5042, 9694, 1743, 5045, 1756,
948 5048, 5051, 5066, 5071, 1781, 5079, 1784, 5085, 5088, 5091,
950 5099, 5106, 5117, 1786, 1789, 1793, 5120, 1791, 5123, 9694,
951 9694, 5131, 5139, 5146, 9694, 9694, 5154, 9694, 1836, 2082,
952 1851, 1805, 5158, 5161, 5169, 5176, 1805, 1827, 5188, 5193,
953 5196, 1843, 1859, 1853, 5199, 5202, 5205, 5208, 1853, 5211,
954 5214, 5217, 5220, 5223, 1856, 5226, 1865, 1882, 5229, 9694,
955 1864, 5233, 5236, 1884, 5251, 5255, 5258, 1902, 1899, 1915,
956 1935, 1935, 1944, 1942, 1942, 1949, 1946, 5266, 5273, 5278,
957 5286, 1933, 5291, 5294, 5297, 5300, 5308, 5316, 9694, 9694,
958 5311, 5330, 9694, 5334, 9694, 9694, 5342, 1939, 1936, 2009,
959 2020, 1945, 1968, 1986, 5345, 9694, 9694, 1987, 5354, 9694,
961 9694, 5363, 5366, 1998, 1991, 2002, 5374, 9694, 9694, 5382,
962 2004, 5385, 9694, 9694, 1997, 2010, 2003, 5396, 2031, 5401,
963 5404, 2057, 2050, 2141, 2152, 2055, 2070, 5415, 9694, 2064,
964 5419, 9694, 9694, 5427, 9694, 9694, 2079, 5435, 2071, 5438,
965 5442, 9694, 9694, 5450, 9694, 9694, 5458, 5461, 5464, 5467,
966 5470, 2068, 5473, 5495, 5498, 2157, 2116, 5504, 5507, 9694,
967 9694, 5517, 5520, 5526, 2085, 5529, 5536, 5539, 5542, 5545,
968 5548, 5551, 2113, 2125, 5554, 5557, 5560, 2129, 5563, 2124,
969 9694, 5566, 5569, 9694, 9694, 5577, 5584, 9694, 5588, 9694,
970 9694, 2171, 2158, 2173, 2169, 2176, 2209, 2199, 2214, 2211,
972 2219, 5596, 5599, 9694, 9694, 5607, 2215, 5610, 2221, 5615,
973 9694, 9694, 5623, 5626, 5629, 2233, 2240, 2267, 2294, 2275,
974 2295, 2252, 5632, 2251, 2260, 5636, 9694, 9694, 5648, 2271,
975 2301, 5652, 2298, 2304, 2305, 2307, 5657, 9694, 5660, 5672,
976 9694, 9694, 2304, 2304, 2340, 2364, 2344, 2367, 2325, 2330,
977 5666, 2332, 5681, 5684, 5687, 5690, 5693, 5696, 5711, 5714,
978 5717, 5720, 5723, 5736, 9694, 5742, 2413, 2379, 5732, 5751,
979 5747, 2315, 5755, 5761, 5766, 2348, 2360, 2362, 5771, 9694,
980 2352, 5774, 5777, 5785, 2383, 2379, 2397, 2389, 2404, 2401,
981 2397, 2412, 2400, 2439, 5792, 2411, 2417, 5795, 5798, 9694,
983 5804, 2423, 2432, 2493, 9694, 2492, 9694, 5807, 5817, 2437,
984 2458, 5825, 5828, 2449, 5836, 5843, 9694, 2442, 2448, 5846,
985 2465, 5854, 5865, 2483, 2479, 2484, 2538, 9694, 2545, 9694,
986 5857, 2500, 5875, 2501, 5878, 9694, 5881, 5884, 5892, 5899,
987 5902, 9694, 9694, 5911, 5914, 5922, 5925, 9694, 5929, 5932,
988 2544, 2660, 2577, 5935, 9694, 2512, 2504, 2517, 2527, 5940,
989 5944, 2725, 2839, 5954, 2588, 2607, 2607, 2610, 2639, 2617,
990 2626, 2655, 2669, 2683, 5958, 2641, 2632, 5961, 5966, 9694,
991 2631, 5972, 9694, 9694, 5980, 5986, 2632, 2646, 5994, 9694,
992 9694, 2654, 6002, 6005, 2642, 6020, 6023, 6026, 6034, 6041,
994 9694, 9694, 2658, 2665, 2678, 9694, 9694, 6052, 6055, 6063,
995 6066, 6070, 2726, 2851, 6084, 9694, 6087, 6090, 9694, 9694,
996 6098, 6106, 6116, 9694, 2772, 2923, 2967, 6119, 2720, 2747,
997 2754, 6122, 6125, 2780, 2783, 2849, 2787, 2790, 2896, 6136,
998 2807, 2807, 2820, 2828, 9694, 2868, 2853, 2855, 2859, 9694,
999 6140, 6143, 2877, 6146, 6154, 6149, 6161, 6172, 9694, 9694,
1000 2891, 2878, 2900, 6180, 9694, 9694, 2904, 6188, 6192, 6202,
1001 9694, 9694, 6210, 6213, 2895, 6221, 2907, 6224, 9694, 9694,
1002 6232, 6235, 6243, 6246, 2924, 2925, 2926, 2928, 2941, 2941,
1003 6254, 6257, 9694, 9694, 2988, 2976, 6265, 6268, 6273, 2923,
1005 2924, 6277, 9694, 9694, 2975, 2974, 2979, 2987, 2998, 2986,
1006 3013, 3024, 6285, 3013, 3035, 3052, 3038, 3021, 3042, 3056,
1007 3048, 6288, 6291, 6294, 6297, 6307, 6310, 3026, 6318, 9694,
1008 9694, 3028, 3024, 3018, 3049, 6326, 9694, 9694, 6334, 9694,
1009 9694, 3052, 6342, 6345, 3037, 6353, 3095, 3099, 6361, 3126,
1010 3147, 3067, 3077, 3107, 3072, 3081, 3132, 6369, 3150, 6372,
1011 6375, 6378, 6397, 6400, 6403, 3108, 3120, 3122, 3124, 3150,
1012 3164, 3173, 3164, 6406, 6409, 3183, 3192, 9694, 3193, 3196,
1013 3196, 9694, 3201, 6417, 6420, 6424, 6427, 9694, 9694, 3187,
1014 3190, 3196, 6436, 3197, 6439, 6443, 9694, 9694, 6457, 3221,
1016 3239, 3234, 3248, 3240, 3253, 3245, 3256, 3249, 3266, 9694,
1017 3259, 3269, 9694, 6460, 9694, 3288, 6463, 6466, 6485, 6505,
1018 6552, 6475, 6493, 3272, 3295, 3296, 3267, 3288, 3310, 3313,
1019 3300, 6525, 9694, 9694, 3335, 3314, 3315, 3350, 3329, 3344,
1020 6496, 6499, 9694, 3320, 3321, 3332, 6543, 6533, 3325, 6546,
1021 6572, 6564, 6582, 3391, 3359, 3391, 3367, 3401, 3371, 3402,
1022 3386, 3421, 3422, 3421, 3423, 3413, 6591, 3457, 3444, 6611,
1023 6658, 3421, 9694, 9694, 3398, 3446, 9694, 9694, 3423, 9694,
1024 3460, 3465, 9694, 3463, 3474, 6601, 9694, 3432, 3437, 3419,
1025 6631, 3472, 3485, 3443, 6639, 9694, 9694, 6647, 3527, 3546,
1027 9694, 3511, 9694, 3511, 9694, 3516, 9694, 3516, 9694, 9694,
1028 9694, 9694, 3531, 3529, 3548, 3527, 3562, 3527, 6604, 3537,
1029 3558, 3575, 3576, 9694, 9694, 9694, 9694, 6669, 6678, 6681,
1030 3591, 3575, 3616, 3581, 6687, 3650, 3583, 3655, 3595, 9694,
1031 9694, 9694, 9694, 6690, 3624, 3614, 3628, 6699, 3640, 3629,
1032 3646, 3638, 6705, 6709, 6718, 6723, 6731, 6736, 3629, 3638,
1033 3656, 3643, 3666, 3679, 6744, 6751, 3664, 3679, 3692, 3675,
1034 3697, 3710, 6762, 3713, 9694, 3702, 9694, 3703, 6765, 9694,
1035 9694, 6774, 9694, 9694, 6782, 3736, 3755, 3712, 3717, 3717,
1036 3719, 3740, 3738, 6790, 9694, 9694, 3744, 3762, 3762, 3764,
1038 3770, 3766, 3816, 9694, 3801, 3816, 3804, 3799, 3807, 3810,
1039 3817, 3823, 3830, 3828, 3841, 3841, 3843, 3849, 3853, 3850,
1040 3860, 3860, 3887, 9694, 9694, 3858, 3894, 3878, 3897, 3888,
1041 3890, 3908, 3897, 3903, 3921, 3910, 3911, 3933, 3924, 3927,
1042 3944, 3964, 3944, 3945, 3952, 3953, 3976, 3975, 4007, 3989,
1043 3983, 4012, 3998, 3988, 4021, 4005, 3996, 4037, 4029, 4018,
1044 4037, 4035, 4040, 4064, 4039, 9694, 4064, 4045, 9694, 4085,
1045 4060, 9694, 4085, 4070, 9694, 4089, 4075, 4099, 4092, 4107,
1046 9694, 4108, 9694, 4110, 9694, 4128, 9694, 4135, 6800, 4138,
1047 4165, 4146, 4171, 4141, 4143, 4144, 4146, 6803, 4185, 9694,
1049 4184, 9694, 4192, 4191, 4195, 4194, 4196, 4223, 9694, 9694,
1050 9694, 9694, 9694, 9694, 4200, 4210, 4279, 4291, 4225, 4281,
1051 4282, 4369, 4256, 4349, 4363, 4374, 4410, 4440, 4290, 4302,
1052 4186, 4276, 4311, 4383, 4453, 4455, 4437, 4487, 4402, 4510,
1053 4493, 4501, 4536, 4537, 4555, 4590, 4587, 4647, 4466, 4534,
1054 4616, 4642, 4368, 4378, 4678, 4691, 4726, 4795, 4656, 4680,
1055 4762, 4824, 4830, 4833, 4700, 4876, 4704, 4849, 4596, 4716,
1056 4851, 4887, 4618, 4709, 4888, 4914, 4890, 4906, 4419, 4608,
1057 4688, 4838, 4913, 4916, 4946, 4975, 4805, 4945, 4894, 4998,
1058 4963, 4990, 4472, 4550, 5014, 5019, 4202, 4852, 6811, 6814,
1060 9694, 9694, 6834, 6843, 6852, 6861, 6870, 6879, 6888, 6897,
1061 6906, 6915, 6924, 6933, 6942, 6951, 6960, 6969, 6978, 6987,
1062 6996, 7005, 7014, 7023, 7032, 7041, 7050, 7059, 7068, 7077,
1063 7086, 7095, 7104, 7113, 7122, 7131, 7140, 7149, 7158, 7167,
1064 7176, 7185, 7194, 7203, 7212, 7221, 7230, 7239, 7248, 7257,
1065 7266, 7275, 7282, 7289, 7296, 7303, 7310, 7317, 7324, 7331,
1066 7338, 7345, 7352, 7359, 7366, 7373, 7380, 7387, 7394, 7401,
1067 7408, 7415, 7422, 7429, 7436, 7445, 7452, 7457, 7464, 7469,
1068 7476, 7481, 7488, 7493, 7500, 7505, 7512, 7517, 7524, 7529,
1069 7536, 7541, 7548, 7553, 7560, 7565, 7572, 7577, 7584, 7589,
1071 7596, 7601, 7608, 7613, 7620, 7625, 7632, 7637, 7644, 7649,
1072 7656, 7661, 7668, 7673, 7680, 7685, 7692, 7697, 7704, 7709,
1073 7716, 7721, 7730, 7736, 7743, 7751, 7758, 7766, 7773, 7781,
1074 7788, 7796, 7803, 7811, 7818, 7826, 7833, 7841, 7848, 7856,
1075 7863, 7871, 7878, 7886, 7893, 7901, 7908, 7916, 7923, 7931,
1076 7938, 7946, 7953, 7961, 7969, 7977, 7985, 7993, 8000, 8008,
1077 8016, 8024, 8031, 8039, 8046, 8054, 8062, 8069, 8077, 8086,
1078 8092, 8099, 8107, 8115, 8123, 8131, 8139, 8146, 8154, 8161,
1079 8169, 8176, 8184, 8191, 8199, 8206, 8214, 8222, 8230, 8238,
1080 8246, 8253, 8261, 8268, 8276, 8283, 8291, 8298, 8306, 8313,
1082 8321, 8328, 8336, 8343, 8351, 8358, 8366, 8373, 8381, 8388,
1083 8396, 8403, 8411, 8419, 8426, 8434, 8443, 8452, 8459, 8467,
1084 8475, 8482, 8490, 8497, 8505, 8512, 8520, 8527, 8534, 8542,
1085 8549, 8557, 8565, 8572, 8580, 8587, 8595, 8602, 8610, 8617,
1086 8625, 8632, 8640, 8647, 8655, 8662, 8670, 8677, 8685, 8692,
1087 8700, 8707, 8715, 8722, 8730, 8738, 8746, 8754, 8762, 8770,
1088 8779, 8788, 8795, 8803, 8811, 8818, 8826, 8833, 8841, 8848,
1089 8856, 8863, 8870, 8878, 8886, 8894, 8902, 8910, 8918, 8925,
1090 8933, 8940, 8948, 8955, 8963, 8970, 8978, 8985, 8993, 9000,
1091 9008, 9016, 9024, 9031, 9039, 9047, 9055, 9062, 9070, 9078,
1093 9086, 9094, 9103, 9112, 9120, 9128, 9136, 9143, 9151, 9158,
1094 9166, 9174, 9182, 9190, 9198, 9206, 9214, 9222, 9230, 9237,
1095 9244, 9252, 9259, 9266, 9274, 9281, 9288, 9296, 9303, 9311,
1096 9318, 9326, 9334, 9341, 9349, 9357, 9365, 9374, 9383, 9391,
1097 9399, 9406, 9413, 9421, 9429, 9437, 9445, 9453, 9460, 9467,
1098 9475, 9482, 9489, 9497, 9504, 9511, 9518, 9526, 9533, 9541,
1099 9549, 9557, 9565, 9573, 9581, 9590, 9599, 9607, 9615, 9622,
1100 9630, 9639, 9648, 9657, 9666, 9675, 9684
1103 static yyconst flex_int16_t yy_def[3078] =
1105 2703, 2703, 2704, 2704, 2704, 2704, 2705, 2705, 2706, 2706,
1106 2707, 2707, 2708, 2708, 2708, 2708, 2709, 2709, 2703, 2703,
1107 2710, 2710, 2711, 2711, 2711, 2711, 2703, 2703, 2711, 2711,
1108 2711, 2711, 2703, 2703, 2711, 2711, 2703, 2703, 2711, 2711,
1109 2711, 2711, 2712, 2712, 2713, 2713, 2703, 2703, 2713, 2713,
1110 2713, 2713, 2714, 2714, 2708, 2708, 2715, 2715, 2716, 2716,
1111 2703, 2703, 2716, 2716, 2716, 2716, 2717, 2717, 2718, 2718,
1112 2719, 2719, 2720, 2720, 2720, 2720, 2703, 2703, 2720, 2720,
1113 2720, 2720, 2703, 2703, 2720, 2720, 2703, 2703, 2720, 2720,
1114 2720, 2720, 2703, 2703, 2720, 2720, 2703, 2703, 2720, 2720,
1116 2720, 2720, 2721, 2721, 2722, 2722, 2703, 2703, 2722, 2722,
1117 2722, 2722, 2723, 2723, 2724, 2724, 2703, 2703, 2724, 2724,
1118 2724, 2724, 2725, 2725, 2726, 2726, 2727, 2727, 2728, 2728,
1119 2729, 2729, 2730, 2730, 2703, 2703, 2730, 2730, 2730, 2730,
1120 2702, 141, 2731, 2731, 2702, 145, 2732, 2732, 2733, 2733,
1121 2734, 2734, 2735, 2735, 2736, 2736, 2703, 2703, 2736, 2736,
1122 2736, 2736, 2737, 2737, 2738, 2738, 2703, 2703, 2738, 2738,
1123 2738, 2738, 2739, 2739, 2740, 2740, 2703, 2703, 2740, 2740,
1124 2740, 2740, 2741, 2741, 2742, 2742, 2743, 2743, 2744, 2744,
1125 2703, 2703, 2744, 2744, 2744, 2744, 2745, 2745, 2746, 2746,
1127 2703, 2703, 2746, 2746, 2746, 2746, 2747, 2747, 2748, 2748,
1128 2749, 2749, 2750, 2750, 2703, 2703, 2750, 2750, 2750, 2750,
1129 2751, 2751, 2752, 2752, 2703, 2703, 2702, 2702, 2702, 2702,
1130 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1131 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1132 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2753, 2702, 2702,
1133 2753, 2702, 2702, 2702, 264, 264, 264, 264, 267, 267,
1134 2702, 2702, 2702, 2754, 2702, 2702, 2754, 2702, 2702, 267,
1135 280, 280, 2702, 2702, 2702, 2755, 2702, 2702, 2755, 2755,
1136 2755, 2702, 2702, 2702, 2702, 2702, 2756, 2702, 2702, 2756,
1138 2756, 2756, 2756, 2756, 2702, 2702, 280, 307, 307, 2702,
1139 2702, 2702, 2757, 2702, 2702, 2757, 2757, 2757, 2702, 2702,
1140 2702, 2702, 2702, 2702, 2758, 2702, 2702, 2758, 2758, 2702,
1141 2702, 268, 280, 268, 332, 333, 333, 333, 333, 339,
1142 340, 339, 339, 2702, 2702, 2702, 2759, 2702, 2702, 2759,
1143 2759, 2759, 2702, 2702, 307, 307, 2702, 2702, 2702, 2760,
1144 2702, 2702, 2760, 2760, 2702, 2702, 307, 307, 2702, 2702,
1145 2702, 2761, 2702, 2702, 2761, 2761, 2702, 2702, 2702, 2702,
1146 2702, 2702, 2762, 2702, 2702, 2762, 2762, 2702, 2702, 2702,
1147 2702, 2702, 2702, 2763, 2702, 2702, 2763, 2763, 2763, 2763,
1149 2763, 2702, 2702, 307, 307, 307, 2702, 2702, 2702, 2764,
1150 2702, 2702, 2764, 2764, 2764, 2764, 2764, 2764, 2764, 2764,
1151 2702, 2702, 2702, 2702, 2702, 2702, 2765, 2702, 2702, 2765,
1152 2765, 2765, 2765, 2765, 2765, 2765, 2702, 2702, 2702, 2702,
1153 2702, 2702, 2766, 2702, 2702, 2766, 2766, 2702, 2702, 2702,
1154 2702, 2702, 2702, 2767, 2702, 2702, 2767, 2767, 2767, 2767,
1155 2702, 2702, 307, 307, 2702, 2702, 2702, 2768, 2702, 2702,
1156 2768, 2768, 2702, 2702, 307, 475, 475, 2702, 2702, 2702,
1157 2769, 2702, 2702, 2769, 2769, 2769, 2702, 2702, 475, 475,
1158 2702, 2702, 2702, 2770, 2702, 2702, 2770, 2770, 2702, 2702,
1160 2702, 2702, 2702, 2702, 2771, 2702, 2702, 2771, 2771, 2771,
1161 2702, 2702, 475, 475, 2702, 2702, 2702, 2772, 2702, 2702,
1162 2772, 2772, 2772, 2772, 2702, 2702, 307, 307, 307, 2702,
1163 2702, 2702, 2773, 2702, 2702, 2773, 2702, 2702, 2702, 2702,
1164 2702, 2702, 2774, 2702, 2702, 2774, 2702, 2702, 307, 307,
1165 2702, 2702, 2702, 2775, 2702, 2702, 2775, 2775, 2702, 2702,
1166 2702, 2702, 2776, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1167 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2777, 2777,
1168 2778, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1169 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1171 2702, 2702, 2702, 2702, 2779, 2779, 2780, 2702, 2781, 2781,
1172 2781, 2781, 2702, 2782, 2702, 2702, 2783, 2783, 2783, 2783,
1173 2783, 2783, 2783, 2783, 2783, 2784, 2702, 2702, 2785, 2785,
1174 2785, 2785, 2786, 2702, 2787, 2787, 2787, 2788, 2702, 2702,
1175 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2789, 2789,
1176 2789, 2789, 2790, 2702, 2791, 2791, 2791, 2792, 2702, 2793,
1177 2793, 2793, 2794, 2702, 2795, 2795, 2795, 2796, 2702, 2797,
1178 2797, 2797, 2797, 2797, 2797, 2798, 2702, 2702, 2799, 2799,
1179 2799, 2799, 2799, 2799, 2799, 2799, 2799, 2799, 2799, 2799,
1180 2799, 2799, 2800, 2702, 2801, 2801, 2801, 2801, 2801, 2801,
1182 2801, 2801, 2802, 2702, 2803, 2803, 2803, 2804, 2702, 2805,
1183 2805, 2805, 2805, 2805, 2805, 2806, 2702, 2807, 2807, 2807,
1184 2807, 2808, 2702, 2702, 2809, 2809, 2809, 2809, 2809, 2810,
1185 2702, 2811, 2811, 2811, 2812, 2702, 2813, 2813, 2813, 2813,
1186 2814, 2702, 2815, 2815, 2815, 2815, 2815, 2816, 2702, 2702,
1187 2817, 2817, 2818, 2702, 2819, 2819, 2820, 2702, 2821, 2821,
1188 2821, 2822, 2823, 2702, 2823, 2702, 2702, 2702, 2824, 2702,
1189 2702, 2702, 2702, 2702, 2702, 2702, 2825, 2826, 2826, 2702,
1190 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1191 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1193 2702, 2702, 2702, 2702, 2827, 2828, 2828, 2829, 2702, 2702,
1194 2829, 2702, 2830, 2830, 2702, 2831, 2702, 2702, 2831, 2831,
1195 2831, 2831, 2831, 2831, 2832, 2832, 2702, 2833, 2833, 2833,
1196 2834, 2834, 2702, 2702, 2835, 2836, 2836, 2702, 2702, 2702,
1197 2702, 2702, 2702, 2702, 2702, 2702, 2837, 2702, 2702, 2837,
1198 2838, 2838, 2702, 2702, 2839, 2840, 2840, 2702, 2702, 2841,
1199 2842, 2842, 2843, 2843, 2844, 2844, 2845, 2845, 2845, 2702,
1200 2702, 2845, 2845, 2846, 2846, 2702, 2702, 2847, 2847, 2702,
1201 2702, 2847, 2702, 2702, 2847, 2847, 2847, 2847, 2847, 2847,
1202 2847, 2847, 2848, 2848, 2849, 2849, 2849, 2702, 2702, 2849,
1204 2849, 2849, 2850, 2850, 2851, 2702, 2702, 2852, 2852, 2853,
1205 2702, 2702, 2853, 2853, 2853, 2854, 2854, 2855, 2855, 2855,
1206 2856, 2856, 2702, 2857, 2857, 2857, 2857, 2858, 2858, 2859,
1207 2702, 2702, 2860, 2860, 2861, 2861, 2861, 2862, 2862, 2863,
1208 2863, 2863, 2863, 2864, 2864, 2702, 2865, 2866, 2866, 2702,
1209 2702, 2867, 2867, 2702, 2702, 2868, 2869, 2869, 2870, 2702,
1210 2702, 2870, 2702, 2702, 2871, 2702, 2702, 2702, 2702, 2702,
1211 2702, 2872, 2702, 2873, 2702, 2873, 2702, 2702, 2702, 2702,
1212 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1213 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1215 2702, 2702, 2874, 2702, 2875, 2702, 2875, 2876, 2702, 2702,
1216 2702, 2876, 2702, 2702, 2877, 2702, 2877, 2878, 2702, 2702,
1217 2702, 2702, 2702, 2878, 2702, 2702, 2878, 2878, 2878, 2702,
1218 2879, 2702, 2879, 2702, 2880, 2880, 2880, 2702, 2881, 2702,
1219 2881, 2702, 2702, 2702, 2882, 2702, 2883, 2702, 2883, 2702,
1220 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2884, 2702, 2702,
1221 2702, 2884, 2702, 2885, 2702, 2885, 2702, 2702, 2702, 2886,
1222 2702, 2887, 2702, 2887, 2702, 2702, 2702, 2888, 2702, 2889,
1223 2702, 2889, 2890, 2890, 2702, 2891, 2702, 2891, 2892, 2892,
1224 2892, 2702, 2702, 2702, 2892, 2892, 2702, 2893, 2702, 2893,
1226 2702, 2702, 2894, 2894, 2894, 2894, 2702, 2702, 2702, 2894,
1227 2702, 2702, 2702, 2702, 2702, 2894, 2894, 2894, 2894, 2894,
1228 2894, 2894, 2702, 2895, 2702, 2895, 2896, 2896, 2896, 2896,
1229 2702, 2702, 2702, 2702, 2702, 2896, 2896, 2702, 2897, 2702,
1230 2897, 2898, 2702, 2702, 2702, 2702, 2899, 2702, 2899, 2900,
1231 2702, 2702, 2702, 2900, 2900, 2900, 2702, 2901, 2702, 2901,
1232 2702, 2702, 2702, 2702, 2902, 2702, 2903, 2702, 2903, 2702,
1233 2702, 2702, 2904, 2904, 2702, 2702, 2904, 2702, 2905, 2702,
1234 2905, 2906, 2702, 2702, 2702, 2702, 2907, 2702, 2907, 2702,
1235 2702, 2908, 2908, 2702, 2702, 2702, 2909, 2702, 2909, 2910,
1237 2910, 2910, 2910, 2702, 2911, 2702, 2911, 2702, 2912, 2702,
1238 2913, 2702, 2913, 2702, 2702, 2702, 2702, 2914, 2702, 2914,
1239 2702, 2702, 2702, 2915, 2702, 2916, 2702, 2916, 2917, 2918,
1240 2702, 2702, 2702, 2702, 2702, 2919, 2920, 2702, 2702, 2702,
1241 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1242 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1243 2702, 2702, 2702, 2702, 2921, 2702, 2702, 2922, 2702, 2923,
1244 2924, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2924,
1245 2702, 2702, 2924, 2925, 2702, 2926, 2702, 2702, 2926, 2927,
1246 2928, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1248 2702, 2929, 2929, 2930, 2931, 2932, 2702, 2702, 2933, 2702,
1249 2702, 2934, 2935, 2936, 2936, 2702, 2702, 2936, 2936, 2937,
1250 2702, 2702, 2938, 2938, 2938, 2938, 2702, 2702, 2702, 2702,
1251 2702, 2938, 2938, 2938, 2938, 2938, 2938, 2938, 2939, 2940,
1252 2940, 2940, 2940, 2702, 2702, 2702, 2940, 2940, 2941, 2942,
1253 2943, 2944, 2944, 2944, 2944, 2945, 2702, 2702, 2702, 2702,
1254 2702, 2702, 2946, 2947, 2702, 2702, 2702, 2702, 2948, 2948,
1255 2702, 2702, 2702, 2948, 2949, 2950, 2951, 2702, 2702, 2702,
1256 2952, 2952, 2702, 2702, 2702, 2953, 2954, 2702, 2702, 2954,
1257 2954, 2955, 2702, 2956, 2957, 2958, 2959, 2960, 2961, 2962,
1259 2962, 2702, 2962, 2702, 2702, 2702, 2963, 2964, 2702, 2702,
1260 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1261 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1262 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2965, 2702, 2702,
1263 2702, 2966, 2702, 2967, 2968, 2702, 2702, 2702, 2968, 2702,
1264 2702, 2702, 2968, 2969, 2702, 2970, 2702, 2702, 2702, 2702,
1265 2702, 2971, 2972, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1266 2702, 2973, 2702, 2702, 2974, 2975, 2976, 2702, 2702, 2702,
1267 2977, 2702, 2702, 2702, 2978, 2979, 2980, 2980, 2702, 2702,
1268 2702, 2702, 2702, 2702, 2702, 2980, 2981, 2702, 2702, 2982,
1270 2702, 2702, 2982, 2982, 2702, 2702, 2702, 2702, 2702, 2982,
1271 2982, 2982, 2982, 2982, 2982, 2983, 2984, 2702, 2702, 2984,
1272 2984, 2702, 2702, 2984, 2985, 2986, 2987, 2988, 2988, 2988,
1273 2702, 2702, 2988, 2989, 2990, 2991, 2702, 2992, 2992, 2992,
1274 2993, 2994, 2995, 2996, 2996, 2997, 2998, 2702, 2702, 2702,
1275 2998, 2998, 2999, 2702, 2702, 2702, 3000, 3001, 2702, 2702,
1276 3002, 3003, 3004, 3004, 2702, 2702, 3005, 3006, 2702, 2702,
1277 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1278 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1279 2702, 2702, 3007, 3008, 2702, 3009, 3010, 3010, 3010, 3011,
1281 3012, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1282 2702, 2702, 3013, 3014, 2702, 2702, 2702, 2702, 2702, 3015,
1283 2702, 2702, 2702, 3016, 2702, 2702, 3017, 3018, 2702, 2702,
1284 3019, 3020, 3020, 2702, 2702, 2702, 2702, 2702, 2702, 3020,
1285 2702, 2702, 2702, 2702, 3021, 2702, 2702, 2702, 2702, 2702,
1286 3021, 2702, 2702, 2702, 2702, 2702, 3021, 3021, 3021, 3021,
1287 2702, 2702, 3022, 3023, 2702, 2702, 2702, 2702, 2702, 3023,
1288 2702, 2702, 2702, 3023, 2702, 2702, 3024, 3025, 3026, 3026,
1289 3026, 2702, 2702, 2702, 3026, 2702, 2702, 3027, 3028, 2702,
1290 2702, 2702, 2702, 2702, 3029, 3030, 3031, 3032, 2702, 2702,
1292 2702, 2702, 3033, 3034, 3034, 3034, 3035, 2702, 2702, 2702,
1293 2702, 3036, 3037, 2702, 2702, 2702, 2702, 2702, 3038, 3039,
1294 3039, 2702, 2702, 2702, 3040, 2702, 2702, 2702, 2702, 2702,
1295 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1296 2702, 2702, 2702, 2702, 2702, 3041, 3042, 2702, 2702, 2702,
1297 3043, 2702, 2702, 3043, 3044, 2702, 2702, 2702, 2702, 2702,
1298 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3045, 2702, 2702,
1299 2702, 2702, 2702, 2702, 2702, 2702, 3046, 2702, 2702, 2702,
1300 3047, 2702, 2702, 2702, 2702, 2702, 3048, 3049, 3049, 2702,
1301 2702, 3049, 2702, 3050, 2702, 2702, 2702, 3050, 2702, 2702,
1303 2702, 2702, 2702, 3050, 3050, 3050, 2702, 2702, 2702, 3051,
1304 3052, 2702, 2702, 2702, 3052, 3052, 3053, 3054, 3055, 2702,
1305 2702, 3055, 3055, 2702, 2702, 3055, 3056, 2702, 2702, 2702,
1306 2702, 2702, 2702, 2702, 2702, 2702, 3057, 3058, 3059, 3060,
1307 2702, 2702, 2702, 2702, 2702, 2702, 3061, 3062, 3062, 3062,
1308 3063, 2702, 3064, 3065, 3066, 3067, 3067, 2702, 2702, 2702,
1309 2702, 3068, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1310 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3069, 3070,
1311 2702, 3071, 2702, 2702, 2702, 3071, 2702, 2702, 2702, 2702,
1312 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1314 2702, 3045, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1315 2702, 2702, 3046, 3047, 3048, 3049, 3049, 2702, 2702, 2702,
1316 2702, 3049, 2702, 3050, 3050, 2702, 2702, 2702, 3050, 3050,
1317 3050, 3051, 3052, 3052, 3052, 3053, 2702, 2702, 3055, 2702,
1318 2702, 2702, 3055, 3055, 2702, 2702, 2702, 2702, 3055, 3056,
1319 2702, 3057, 3058, 3059, 3060, 3061, 2702, 2702, 3062, 3062,
1320 3063, 2702, 3064, 2702, 2702, 3066, 3067, 3067, 2702, 3068,
1321 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1322 3070, 2702, 2702, 3071, 2702, 2702, 2702, 2702, 2702, 2702,
1323 2702, 2702, 2702, 2702, 3045, 2702, 2702, 3046, 2702, 2702,
1325 3048, 3049, 3049, 2702, 2702, 2702, 2702, 3049, 2702, 3050,
1326 3050, 2702, 2702, 3050, 3050, 2702, 2702, 3052, 3052, 3052,
1327 3053, 2702, 2702, 3055, 3055, 3055, 2702, 2702, 2702, 2702,
1328 3055, 3056, 2702, 3057, 2702, 2702, 2702, 2702, 3060, 3061,
1329 2702, 2702, 2702, 2702, 2702, 3062, 2702, 2702, 2702, 3064,
1330 3066, 3067, 3067, 2702, 2702, 2702, 2702, 2702, 2702, 3070,
1331 2702, 2702, 2702, 3071, 2702, 2702, 2702, 2702, 2702, 2702,
1332 2702, 2702, 2702, 2702, 3045, 2702, 2702, 3046, 2702, 2702,
1333 3049, 3049, 2702, 2702, 2702, 2702, 3050, 3050, 2702, 2702,
1334 2702, 3050, 2702, 2702, 3052, 3052, 2702, 2702, 3053, 2702,
1336 2702, 2702, 3055, 3055, 3055, 2702, 2702, 2702, 2702, 3056,
1337 3057, 2702, 2702, 2702, 2702, 2702, 3061, 2702, 2702, 2702,
1338 2702, 2702, 2702, 2702, 3066, 3067, 3067, 2702, 2702, 2702,
1339 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3071,
1340 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1341 3045, 2702, 2702, 3046, 3049, 2702, 2702, 2702, 2702, 2702,
1342 3050, 3050, 3050, 2702, 2702, 2702, 3052, 2702, 2702, 2702,
1343 2702, 2702, 2702, 2702, 3055, 3055, 3055, 2702, 2702, 2702,
1344 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1345 3061, 2702, 2702, 2702, 3066, 3067, 3067, 2702, 2702, 2702,
1347 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1348 2702, 2702, 3071, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1349 2702, 3045, 2702, 2702, 3046, 2702, 2702, 3049, 2702, 2702,
1350 2702, 3050, 3050, 3050, 3052, 2702, 2702, 2702, 2702, 2702,
1351 2702, 3055, 2702, 2702, 3055, 2702, 2702, 2702, 2702, 2702,
1352 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3061, 3066, 3067,
1353 3067, 3067, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1354 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1355 2702, 2702, 2702, 3045, 2702, 3046, 2702, 2702, 2702, 3049,
1356 3050, 3050, 3050, 3052, 3055, 2702, 2702, 2702, 3055, 2702,
1358 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1359 2702, 2702, 2702, 2702, 2702, 3066, 3067, 3067, 3067, 3072,
1360 3073, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1361 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1362 3045, 2702, 2702, 3049, 3050, 3050, 2702, 2702, 3052, 2702,
1363 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1364 2702, 2702, 2702, 2702, 2702, 3066, 3067, 3074, 3075, 3072,
1365 3073, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1366 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3049, 3050, 3050,
1367 2702, 2702, 2702, 3052, 2702, 2702, 2702, 2702, 2702, 2702,
1369 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1370 2702, 2702, 3066, 3074, 3067, 3076, 3075, 3077, 3067, 2702,
1371 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3049, 3050, 3050,
1372 2702, 2702, 2702, 2702, 3052, 2702, 2702, 2702, 2702, 2702,
1373 2702, 2702, 2702, 3066, 3076, 2702, 3077, 3067, 2702, 2702,
1374 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1375 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1376 2702, 2702, 3066, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1377 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1378 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1380 2702, 2702, 3066, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1381 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1382 2702, 2702, 3066, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1383 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1384 2702, 3066, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1385 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3066, 2702,
1386 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1387 2702, 2702, 2702, 2702, 2702, 3066, 2702, 2702, 2702, 2702,
1388 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3066, 2702,
1389 2702, 2702, 2702, 2702, 2702, 2702, 2702, 3066, 2702, 2702,
1391 2702, 2702, 2702, 2702, 2702, 2702, 3066, 3066, 2702, 2702,
1392 2702, 2702, 2702, 2702, 3066, 3066, 3066, 3066, 3066, 3066,
1393 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1394 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1395 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1396 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1397 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1398 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1399 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1400 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066,
1402 2702, 0, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1403 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1404 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1405 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1406 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1407 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1408 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1409 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1410 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1411 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1413 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1414 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1415 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1416 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1417 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1418 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1419 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1420 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1421 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1422 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1424 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1425 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1426 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1427 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1428 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1429 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1430 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1431 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1432 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1433 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1435 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1436 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1437 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1438 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1439 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1440 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1441 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
1442 2702, 2702, 2702, 2702, 2702, 2702, 2702
1445 static yyconst flex_int16_t yy_nxt[9767] =
1447 2702, 230, 231, 230, 230, 231, 230, 230, 231, 230,
1448 230, 231, 230, 235, 231, 235, 241, 232, 238, 241,
1449 232, 238, 2702, 233, 2702, 239, 233, 2702, 239, 236,
1450 235, 231, 235, 563, 242, 244, 245, 242, 244, 245,
1451 246, 247, 653, 246, 247, 563, 236, 251, 252, 564,
1452 248, 244, 245, 248, 249, 566, 246, 244, 245, 598,
1453 249, 565, 246, 251, 252, 599, 248, 231, 231, 231,
1454 638, 565, 248, 231, 231, 231, 263, 231, 263, 263,
1455 231, 263, 1597, 254, 263, 231, 263, 642, 1598, 254,
1456 586, 253, 264, 599, 644, 264, 562, 562, 562, 595,
1458 265, 562, 562, 562, 562, 562, 562, 253, 255, 256,
1459 231, 256, 255, 255, 255, 255, 255, 255, 255, 257,
1460 255, 255, 255, 643, 255, 259, 255, 260, 255, 263,
1461 231, 263, 231, 231, 231, 231, 231, 231, 594, 263,
1462 231, 263, 263, 231, 263, 265, 2702, 1599, 266, 566,
1463 566, 266, 595, 255, 255, 264, 596, 566, 264, 263,
1464 231, 263, 562, 562, 562, 565, 565, 562, 562, 562,
1465 562, 562, 562, 565, 1601, 267, 261, 255, 256, 231,
1466 256, 255, 255, 255, 255, 255, 255, 255, 257, 255,
1467 255, 255, 658, 255, 259, 255, 260, 255, 263, 231,
1469 263, 231, 231, 231, 231, 231, 231, 577, 263, 231,
1470 263, 263, 231, 263, 267, 2702, 595, 268, 600, 1614,
1471 268, 676, 255, 255, 265, 596, 596, 265, 231, 231,
1472 231, 231, 231, 231, 263, 231, 263, 263, 231, 263,
1473 263, 231, 263, 599, 269, 261, 686, 269, 566, 687,
1474 267, 2702, 566, 267, 597, 601, 270, 263, 231, 263,
1475 598, 562, 562, 562, 565, 2702, 599, 602, 565, 595,
1476 600, 600, 599, 270, 271, 272, 231, 272, 271, 271,
1477 271, 271, 271, 271, 271, 273, 271, 271, 271, 584,
1478 271, 275, 271, 276, 271, 279, 231, 279, 279, 231,
1480 279, 231, 231, 231, 594, 231, 231, 231, 279, 231,
1481 279, 280, 624, 607, 280, 1615, 603, 281, 595, 271,
1482 271, 281, 676, 582, 280, 730, 625, 277, 271, 272,
1483 231, 272, 271, 271, 271, 271, 271, 271, 271, 273,
1484 271, 271, 271, 1616, 271, 275, 271, 276, 271, 279,
1485 231, 279, 279, 231, 279, 279, 231, 279, 598, 620,
1486 681, 244, 245, 621, 599, 280, 246, 622, 282, 596,
1487 677, 282, 588, 271, 271, 716, 292, 562, 562, 562,
1488 682, 277, 283, 284, 231, 284, 283, 283, 283, 283,
1489 283, 283, 283, 285, 283, 283, 283, 584, 283, 287,
1491 283, 288, 283, 1619, 1620, 293, 306, 231, 306, 306,
1492 231, 306, 646, 231, 231, 231, 244, 245, 231, 231,
1493 231, 246, 307, 613, 688, 307, 599, 283, 283, 308,
1494 614, 292, 788, 626, 308, 289, 789, 689, 290, 565,
1495 562, 562, 562, 596, 291, 283, 284, 231, 284, 283,
1496 283, 283, 283, 283, 283, 283, 285, 283, 283, 283,
1497 293, 283, 287, 283, 288, 283, 306, 231, 306, 306,
1498 231, 306, 306, 231, 306, 2702, 306, 231, 306, 320,
1499 231, 320, 307, 566, 627, 307, 566, 566, 309, 566,
1500 283, 283, 309, 633, 770, 321, 876, 771, 289, 565,
1502 877, 290, 565, 565, 571, 565, 1632, 291, 294, 295,
1503 231, 295, 294, 294, 294, 294, 294, 294, 294, 296,
1504 294, 294, 294, 677, 294, 298, 294, 299, 294, 320,
1505 231, 320, 331, 231, 331, 331, 231, 331, 748, 331,
1506 231, 331, 331, 231, 331, 321, 572, 566, 332, 566,
1507 566, 332, 573, 294, 294, 333, 574, 663, 333, 1633,
1508 714, 575, 300, 565, 301, 565, 565, 302, 562, 562,
1509 562, 715, 303, 304, 294, 295, 231, 295, 294, 294,
1510 294, 294, 294, 294, 294, 296, 294, 294, 294, 599,
1511 294, 298, 294, 299, 294, 231, 231, 231, 231, 231,
1513 231, 331, 231, 331, 1640, 331, 231, 331, 331, 231,
1514 331, 334, 960, 566, 334, 566, 566, 335, 748, 294,
1515 294, 335, 668, 1644, 336, 562, 562, 562, 300, 565,
1516 301, 565, 565, 302, 562, 562, 562, 1562, 303, 304,
1517 310, 311, 231, 311, 310, 310, 310, 310, 310, 310,
1518 310, 312, 310, 310, 310, 749, 310, 314, 310, 315,
1519 310, 331, 231, 331, 231, 231, 231, 231, 231, 231,
1520 690, 331, 231, 331, 331, 231, 331, 336, 1645, 1651,
1521 337, 691, 692, 337, 720, 310, 310, 333, 566, 566,
1522 333, 721, 316, 562, 562, 562, 693, 317, 562, 562,
1524 562, 562, 562, 562, 565, 565, 318, 310, 311, 231,
1525 311, 310, 310, 310, 310, 310, 310, 310, 312, 310,
1526 310, 310, 764, 310, 314, 310, 315, 310, 231, 231,
1527 231, 231, 231, 231, 331, 231, 331, 765, 331, 231,
1528 331, 331, 231, 331, 338, 783, 783, 338, 784, 797,
1529 336, 728, 310, 310, 336, 566, 566, 339, 729, 316,
1530 562, 562, 562, 703, 317, 562, 562, 562, 562, 562,
1531 562, 565, 565, 318, 322, 323, 231, 323, 322, 322,
1532 322, 322, 322, 322, 322, 324, 322, 322, 322, 1657,
1533 322, 326, 322, 327, 322, 331, 231, 331, 231, 231,
1535 231, 231, 231, 231, 1250, 331, 231, 331, 331, 231,
1536 331, 339, 566, 566, 340, 800, 1251, 340, 784, 322,
1537 322, 341, 741, 1658, 341, 562, 562, 562, 565, 565,
1538 328, 562, 562, 562, 562, 562, 562, 1659, 329, 322,
1539 323, 231, 323, 322, 322, 322, 322, 322, 322, 322,
1540 324, 322, 322, 322, 757, 322, 326, 322, 327, 322,
1541 231, 231, 231, 231, 231, 231, 331, 231, 331, 588,
1542 331, 231, 331, 331, 231, 331, 342, 566, 566, 342,
1543 800, 1660, 339, 797, 322, 322, 339, 1664, 566, 343,
1544 331, 231, 331, 565, 565, 328, 562, 562, 562, 562,
1546 562, 562, 960, 329, 565, 599, 343, 344, 345, 231,
1547 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1548 344, 344, 1399, 344, 348, 344, 349, 344, 354, 231,
1549 354, 354, 231, 354, 231, 231, 231, 1670, 231, 231,
1550 231, 562, 562, 562, 355, 566, 566, 355, 566, 566,
1551 308, 1674, 344, 344, 308, 708, 735, 350, 562, 562,
1552 562, 565, 565, 351, 565, 565, 352, 344, 345, 231,
1553 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1554 344, 344, 1677, 344, 348, 344, 349, 344, 354, 231,
1555 354, 354, 231, 354, 354, 231, 354, 1679, 354, 231,
1557 354, 562, 562, 562, 355, 2702, 566, 355, 793, 566,
1558 356, 960, 344, 344, 356, 1229, 753, 350, 562, 562,
1559 562, 794, 565, 351, 722, 565, 352, 357, 358, 231,
1560 358, 357, 357, 357, 357, 357, 357, 357, 359, 357,
1561 357, 357, 749, 357, 361, 357, 362, 357, 366, 231,
1562 366, 366, 231, 366, 231, 231, 231, 1261, 231, 231,
1563 231, 366, 231, 366, 367, 566, 566, 367, 1680, 1251,
1564 308, 723, 357, 357, 308, 599, 1681, 367, 562, 562,
1565 562, 565, 565, 363, 562, 562, 562, 562, 562, 562,
1566 562, 562, 562, 364, 357, 358, 231, 358, 357, 357,
1568 357, 357, 357, 357, 357, 359, 357, 357, 357, 1685,
1569 357, 361, 357, 362, 357, 366, 231, 366, 366, 231,
1570 366, 366, 231, 366, 1688, 378, 231, 378, 378, 231,
1571 378, 367, 868, 960, 368, 869, 790, 368, 1128, 357,
1572 357, 379, 791, 1129, 379, 562, 562, 562, 792, 962,
1573 363, 562, 562, 562, 562, 562, 562, 562, 562, 562,
1574 364, 369, 370, 231, 370, 369, 369, 369, 369, 369,
1575 369, 369, 371, 369, 369, 369, 1690, 369, 373, 369,
1576 374, 369, 389, 231, 389, 389, 231, 389, 403, 231,
1577 403, 1261, 403, 231, 403, 231, 231, 231, 390, 1697,
1579 1704, 390, 798, 1285, 404, 1705, 369, 369, 404, 1706,
1580 1708, 405, 562, 562, 562, 794, 764, 375, 562, 562,
1581 562, 376, 369, 370, 231, 370, 369, 369, 369, 369,
1582 369, 369, 369, 371, 369, 369, 369, 1722, 369, 373,
1583 369, 374, 369, 231, 231, 231, 403, 231, 403, 403,
1584 231, 403, 812, 403, 231, 403, 403, 231, 403, 405,
1585 960, 1726, 404, 1727, 802, 404, 1728, 369, 369, 406,
1586 791, 1729, 406, 562, 562, 562, 803, 1719, 375, 562,
1587 562, 562, 376, 380, 381, 231, 381, 380, 380, 380,
1588 380, 380, 380, 380, 382, 380, 380, 380, 1402, 380,
1590 384, 380, 385, 380, 422, 231, 422, 422, 231, 422,
1591 438, 231, 438, 1731, 438, 231, 438, 449, 231, 449,
1592 423, 1732, 1733, 423, 1402, 1734, 439, 1735, 380, 380,
1593 439, 1721, 1738, 450, 562, 562, 562, 562, 562, 562,
1594 562, 562, 562, 386, 562, 562, 562, 1739, 1742, 387,
1595 380, 381, 231, 381, 380, 380, 380, 380, 380, 380,
1596 380, 382, 380, 380, 380, 1720, 380, 384, 380, 385,
1597 380, 449, 231, 449, 462, 231, 462, 462, 231, 462,
1598 1743, 231, 231, 231, 231, 231, 231, 450, 1744, 1745,
1599 463, 1747, 1748, 463, 1751, 380, 380, 308, 1754, 1758,
1601 308, 562, 562, 562, 562, 562, 562, 562, 562, 562,
1602 386, 562, 562, 562, 1759, 1762, 387, 391, 392, 231,
1603 392, 391, 391, 391, 391, 391, 391, 391, 393, 391,
1604 391, 391, 1763, 391, 395, 391, 396, 391, 462, 231,
1605 462, 462, 231, 462, 462, 231, 462, 1760, 462, 231,
1606 462, 562, 562, 562, 463, 1761, 1764, 463, 798, 566,
1607 464, 798, 391, 391, 464, 397, 762, 398, 562, 562,
1608 562, 842, 1765, 399, 845, 565, 768, 768, 768, 400,
1609 1766, 1767, 401, 391, 392, 231, 392, 391, 391, 391,
1610 391, 391, 391, 391, 393, 391, 391, 391, 1771, 391,
1612 395, 391, 396, 391, 474, 231, 474, 474, 231, 474,
1613 231, 231, 231, 802, 231, 231, 231, 1772, 1774, 791,
1614 475, 1788, 1789, 475, 798, 792, 476, 1104, 391, 391,
1615 476, 397, 790, 398, 769, 802, 1105, 846, 791, 399,
1616 1790, 791, 1791, 1106, 803, 400, 1792, 827, 401, 407,
1617 408, 231, 408, 407, 407, 407, 407, 407, 407, 407,
1618 409, 407, 407, 407, 410, 407, 411, 407, 412, 407,
1619 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
1620 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
1621 410, 410, 410, 410, 407, 407, 410, 413, 414, 415,
1623 410, 410, 410, 410, 410, 416, 410, 417, 410, 410,
1624 410, 418, 410, 419, 420, 410, 410, 410, 410, 410,
1625 410, 424, 425, 231, 425, 424, 424, 424, 424, 424,
1626 424, 424, 426, 424, 424, 424, 427, 424, 428, 424,
1627 429, 424, 427, 427, 427, 427, 427, 427, 427, 427,
1628 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1629 427, 427, 427, 427, 427, 427, 424, 424, 427, 430,
1630 431, 432, 427, 427, 427, 427, 427, 433, 427, 434,
1631 427, 427, 427, 435, 427, 427, 436, 427, 427, 427,
1632 427, 427, 427, 440, 441, 231, 441, 440, 440, 440,
1634 440, 440, 440, 440, 442, 440, 440, 440, 1793, 440,
1635 444, 440, 445, 440, 474, 231, 474, 474, 231, 474,
1636 474, 231, 474, 1794, 474, 231, 474, 809, 809, 809,
1637 475, 1798, 1804, 475, 1805, 1806, 477, 1811, 440, 440,
1638 477, 1815, 1816, 446, 810, 977, 977, 977, 1817, 447,
1639 440, 441, 231, 441, 440, 440, 440, 440, 440, 440,
1640 440, 442, 440, 440, 440, 1819, 440, 444, 440, 445,
1641 440, 488, 231, 488, 488, 231, 488, 231, 231, 231,
1642 1823, 231, 231, 231, 817, 817, 817, 489, 1602, 1824,
1643 489, 1825, 1826, 476, 1603, 440, 440, 476, 1604, 1827,
1645 446, 818, 1605, 977, 977, 977, 447, 451, 452, 231,
1646 452, 451, 451, 451, 451, 451, 451, 451, 453, 451,
1647 451, 451, 1830, 451, 455, 451, 456, 451, 488, 231,
1648 488, 488, 231, 488, 488, 231, 488, 1837, 488, 231,
1649 488, 500, 231, 500, 489, 1839, 1848, 489, 1849, 1850,
1650 490, 1852, 451, 451, 490, 960, 457, 501, 768, 768,
1651 768, 1855, 964, 458, 1858, 459, 978, 997, 997, 997,
1652 1402, 1864, 460, 451, 452, 231, 452, 451, 451, 451,
1653 451, 451, 451, 451, 453, 451, 451, 451, 1865, 451,
1654 455, 451, 456, 451, 500, 231, 500, 512, 231, 512,
1656 512, 231, 512, 1868, 231, 231, 231, 231, 231, 231,
1657 501, 1869, 1870, 513, 1874, 1857, 513, 1878, 451, 451,
1658 476, 1880, 457, 476, 977, 977, 977, 1881, 1882, 458,
1659 978, 459, 1886, 997, 997, 997, 1892, 1893, 460, 465,
1660 466, 231, 466, 465, 465, 465, 465, 465, 465, 465,
1661 467, 465, 465, 465, 1894, 465, 469, 465, 470, 465,
1662 512, 231, 512, 512, 231, 512, 512, 231, 512, 1895,
1663 512, 231, 512, 526, 231, 526, 513, 1896, 1897, 513,
1664 1898, 1899, 514, 1900, 465, 465, 514, 1050, 1901, 527,
1665 471, 1009, 1009, 1009, 1907, 1010, 1050, 1916, 1011, 997,
1667 997, 997, 1917, 1922, 472, 465, 466, 231, 466, 465,
1668 465, 465, 465, 465, 465, 465, 467, 465, 465, 465,
1669 1923, 465, 469, 465, 470, 465, 526, 231, 526, 231,
1670 231, 231, 231, 231, 231, 1918, 526, 231, 526, 526,
1671 231, 526, 527, 1919, 1924, 528, 1920, 1925, 528, 1929,
1672 465, 465, 527, 1930, 1921, 527, 471, 1019, 1019, 1019,
1673 1931, 1020, 1933, 1934, 1021, 1414, 1414, 1414, 1935, 1936,
1674 472, 478, 479, 231, 479, 478, 478, 478, 478, 478,
1675 478, 478, 480, 478, 478, 478, 1939, 478, 482, 478,
1676 483, 478, 526, 231, 526, 526, 231, 526, 538, 231,
1678 538, 1402, 538, 231, 538, 548, 231, 548, 529, 1606,
1679 1943, 529, 1944, 1949, 539, 1607, 478, 478, 539, 1608,
1680 1950, 549, 484, 1609, 1951, 485, 1042, 1042, 1042, 1952,
1681 1043, 1954, 1856, 1044, 1962, 1402, 486, 478, 479, 231,
1682 479, 478, 478, 478, 478, 478, 478, 478, 480, 478,
1683 478, 478, 1972, 478, 482, 478, 483, 478, 548, 231,
1684 548, 231, 231, 231, 231, 231, 231, 1945, 548, 231,
1685 548, 548, 231, 548, 549, 1946, 1402, 308, 1947, 1976,
1686 308, 1968, 478, 478, 549, 1977, 1948, 549, 484, 1978,
1687 1981, 485, 1059, 1059, 1059, 1985, 1060, 1986, 1987, 1061,
1689 1988, 1989, 486, 491, 492, 231, 492, 491, 491, 491,
1690 491, 491, 491, 491, 493, 491, 491, 491, 1967, 491,
1691 495, 491, 496, 491, 548, 231, 548, 548, 231, 548,
1692 560, 231, 560, 1990, 560, 231, 560, 638, 1991, 1992,
1693 550, 2702, 1993, 550, 1994, 638, 561, 639, 491, 491,
1694 561, 1420, 1420, 1420, 497, 645, 1416, 1416, 1416, 498,
1695 491, 492, 231, 492, 491, 491, 491, 491, 491, 491,
1696 491, 493, 491, 491, 491, 640, 491, 495, 491, 496,
1697 491, 641, 1996, 640, 642, 641, 587, 1997, 642, 2002,
1698 643, 644, 2003, 2004, 647, 644, 833, 833, 833, 2005,
1700 593, 2006, 1417, 2007, 2008, 491, 491, 2010, 1067, 1067,
1701 1067, 497, 1068, 834, 2011, 1069, 498, 502, 503, 231,
1702 503, 502, 502, 502, 502, 502, 502, 502, 504, 502,
1703 502, 502, 2014, 502, 506, 502, 507, 502, 848, 848,
1704 848, 853, 853, 853, 858, 858, 858, 870, 870, 870,
1705 880, 880, 880, 2015, 2018, 849, 2019, 2020, 854, 2021,
1706 2025, 859, 502, 502, 871, 2026, 2027, 881, 508, 2028,
1707 2029, 509, 1075, 1075, 1075, 2030, 1076, 2031, 2032, 1077,
1708 2034, 2056, 510, 502, 503, 231, 503, 502, 502, 502,
1709 502, 502, 502, 502, 504, 502, 502, 502, 1402, 502,
1711 506, 502, 507, 502, 883, 883, 883, 898, 898, 898,
1712 906, 906, 906, 911, 911, 911, 931, 931, 931, 2057,
1713 2058, 884, 2059, 2060, 899, 2065, 2066, 907, 502, 502,
1714 912, 2067, 1402, 932, 508, 2053, 2068, 509, 1092, 1092,
1715 1092, 2069, 1093, 2070, 2071, 1094, 2072, 2073, 510, 515,
1716 516, 231, 516, 515, 515, 515, 515, 515, 515, 515,
1717 517, 515, 515, 515, 2052, 515, 519, 515, 520, 515,
1718 950, 950, 950, 954, 954, 954, 2074, 2076, 973, 973,
1719 973, 973, 973, 973, 809, 809, 809, 951, 2077, 2081,
1720 955, 1004, 1004, 1004, 515, 515, 975, 2082, 2083, 975,
1722 2084, 810, 521, 2087, 522, 2088, 523, 2092, 2095, 1006,
1723 1423, 1423, 1423, 2096, 524, 515, 516, 231, 516, 515,
1724 515, 515, 515, 515, 515, 515, 517, 515, 515, 515,
1725 2099, 515, 519, 515, 520, 515, 2103, 2104, 976, 1014,
1726 1014, 1014, 2105, 2106, 1004, 1004, 1004, 1014, 1014, 1014,
1727 817, 817, 817, 2107, 1022, 1022, 1022, 1016, 2110, 2111,
1728 515, 515, 1006, 960, 2128, 1016, 2129, 818, 521, 2130,
1729 522, 1023, 523, 1432, 1432, 1432, 1455, 1455, 1455, 2131,
1730 524, 530, 531, 231, 531, 530, 530, 530, 530, 530,
1731 530, 530, 532, 530, 530, 530, 1402, 530, 534, 530,
1733 535, 530, 2125, 1007, 1025, 1025, 1025, 1030, 1030, 1030,
1734 1017, 1038, 1038, 1038, 1038, 1038, 1038, 2141, 1030, 1030,
1735 1030, 1026, 833, 833, 833, 1032, 530, 530, 2142, 1040,
1736 2143, 2144, 1040, 1107, 1107, 1107, 1032, 1108, 2127, 834,
1737 1109, 1111, 1111, 1111, 2145, 1112, 2146, 2147, 1113, 536,
1738 530, 531, 231, 531, 530, 530, 530, 530, 530, 530,
1739 530, 532, 530, 530, 530, 1033, 530, 534, 530, 535,
1740 530, 1046, 1046, 1046, 1046, 1046, 1046, 1041, 2148, 1402,
1741 848, 848, 848, 1063, 1063, 1063, 1063, 1063, 1063, 1048,
1742 2149, 2150, 1048, 2152, 2153, 530, 530, 849, 853, 853,
1744 853, 1065, 2155, 2161, 1065, 1131, 1131, 1131, 2162, 1132,
1745 2163, 1049, 1133, 2167, 2175, 854, 2126, 2176, 536, 540,
1746 541, 231, 541, 540, 540, 540, 540, 540, 540, 540,
1747 542, 540, 540, 540, 2177, 540, 544, 540, 545, 540,
1748 1071, 1071, 1071, 1071, 1071, 1071, 858, 858, 858, 2134,
1749 2185, 1066, 1079, 1079, 1079, 1079, 1079, 1079, 1073, 2135,
1750 2186, 1073, 2136, 859, 540, 540, 2187, 1143, 1143, 1143,
1751 1081, 1144, 2199, 1081, 1145, 546, 540, 541, 231, 541,
1752 540, 540, 540, 540, 540, 540, 540, 542, 540, 540,
1753 540, 960, 540, 544, 540, 545, 540, 2200, 1085, 1085,
1755 1085, 1085, 1085, 1085, 2201, 1097, 1097, 1097, 1074, 870,
1756 870, 870, 1097, 1097, 1097, 1082, 1087, 2205, 2206, 1087,
1757 2195, 540, 540, 1099, 2209, 2210, 871, 1466, 1466, 1466,
1758 1099, 2214, 546, 551, 552, 231, 552, 551, 551, 551,
1759 551, 551, 551, 551, 553, 551, 551, 551, 2215, 551,
1760 555, 551, 556, 551, 880, 880, 880, 883, 883, 883,
1761 1114, 1114, 1114, 2137, 2216, 1088, 1123, 1123, 1123, 2217,
1762 2207, 881, 1100, 2138, 884, 2188, 2139, 1115, 551, 551,
1763 1123, 1123, 1123, 2208, 1125, 2189, 1151, 1151, 1151, 557,
1764 1152, 2190, 2218, 1153, 2219, 1467, 1467, 1467, 1125, 2220,
1766 2221, 558, 551, 552, 231, 552, 551, 551, 551, 551,
1767 551, 551, 551, 553, 551, 551, 551, 2211, 551, 555,
1768 551, 556, 551, 898, 898, 898, 1134, 1134, 1134, 2224,
1769 2212, 1138, 1138, 1138, 1138, 1138, 1138, 1126, 2232, 2233,
1770 899, 1417, 1402, 1135, 906, 906, 906, 551, 551, 1140,
1771 2234, 2235, 1140, 2242, 1146, 1146, 1146, 2245, 557, 2252,
1772 2253, 907, 2254, 2255, 1146, 1146, 1146, 911, 911, 911,
1773 558, 566, 1148, 1157, 1157, 1157, 2256, 2257, 581, 1157,
1774 1157, 1157, 1148, 2196, 912, 1141, 1402, 565, 582, 2264,
1775 2265, 1159, 1161, 1161, 1161, 1402, 2266, 1159, 1414, 1414,
1777 1414, 1163, 1163, 1163, 2702, 2702, 2702, 960, 2267, 1162,
1778 1166, 1166, 1166, 2268, 2269, 583, 584, 585, 1164, 2270,
1779 2271, 2702, 586, 587, 1149, 588, 589, 2197, 1168, 590,
1780 2260, 591, 592, 593, 1160, 1166, 1166, 1166, 1171, 1171,
1781 1171, 2702, 2702, 2702, 1175, 1175, 1175, 2272, 2702, 2702,
1782 2702, 2273, 2276, 1168, 2259, 1172, 2277, 2278, 2702, 2279,
1783 2280, 1176, 1165, 2281, 2282, 2702, 1178, 1178, 1178, 2283,
1784 1178, 1178, 1178, 931, 931, 931, 1183, 1183, 1183, 2290,
1785 1184, 2291, 2292, 1185, 1180, 1186, 1186, 1186, 1180, 2293,
1786 932, 1173, 1186, 1186, 1186, 1169, 1190, 1190, 1190, 2702,
1788 2702, 2702, 2294, 1188, 2295, 1174, 1177, 1181, 2299, 2308,
1789 1188, 2309, 2310, 1191, 2311, 2312, 2702, 1194, 1194, 1194,
1790 1196, 1196, 1196, 1196, 1196, 1196, 1204, 1204, 1204, 2300,
1791 1210, 1210, 1210, 2302, 1195, 1204, 1204, 1204, 1198, 2301,
1792 2313, 1198, 2324, 2303, 1206, 2325, 2326, 1189, 1212, 1192,
1793 1210, 1210, 1210, 1206, 950, 950, 950, 1214, 1214, 1214,
1794 2304, 1215, 2327, 1193, 1216, 1217, 1217, 1217, 1212, 960,
1795 2305, 951, 1217, 1217, 1217, 954, 954, 954, 1221, 1221,
1796 1221, 2306, 1222, 1219, 2328, 1223, 1225, 1225, 1225, 2329,
1797 1219, 2307, 955, 1199, 1225, 1225, 1225, 2330, 1207, 973,
1799 973, 973, 2331, 2316, 1227, 973, 973, 973, 973, 973,
1800 973, 2335, 1227, 1213, 1263, 1263, 1263, 975, 1004, 1004,
1801 1004, 2336, 2337, 975, 2338, 2339, 975, 1004, 1004, 1004,
1802 2340, 1264, 1220, 1004, 1004, 1004, 1006, 1266, 1266, 1266,
1803 1009, 1009, 1009, 2344, 1010, 1006, 2345, 1011, 2702, 2702,
1804 2702, 1006, 2346, 2349, 1267, 1237, 2354, 1228, 1014, 1014,
1805 1014, 1014, 1014, 1014, 2355, 2702, 1014, 1014, 1014, 2356,
1806 1019, 1019, 1019, 2357, 1020, 2358, 1016, 1021, 2359, 1016,
1807 2360, 2361, 1265, 2362, 1016, 1022, 1022, 1022, 1272, 1272,
1808 1272, 2363, 1273, 2364, 2365, 1274, 2372, 1275, 1275, 1275,
1810 2373, 2374, 1023, 1025, 1025, 1025, 2375, 960, 1268, 1281,
1811 1281, 1281, 2376, 1270, 1276, 1277, 1277, 1277, 2377, 1278,
1812 1026, 2378, 1279, 1030, 1030, 1030, 1282, 1030, 1030, 1030,
1813 1030, 1030, 1030, 1287, 1287, 1287, 1038, 1038, 1038, 2379,
1814 2380, 1032, 1038, 1038, 1038, 1032, 2381, 2382, 1032, 2366,
1815 1288, 1038, 1038, 1038, 1040, 1042, 1042, 1042, 2383, 1043,
1816 1040, 2384, 1044, 1046, 1046, 1046, 1046, 1046, 1046, 1040,
1817 1292, 1292, 1292, 1059, 1059, 1059, 2385, 1060, 2388, 2389,
1818 1061, 1048, 2390, 2394, 1048, 1063, 1063, 1063, 1293, 1284,
1819 1063, 1063, 1063, 1063, 1063, 1063, 2401, 2402, 1290, 2403,
1821 1067, 1067, 1067, 1065, 1068, 2404, 2405, 1069, 1065, 2406,
1822 2407, 1065, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
1823 1071, 1075, 1075, 1075, 2408, 1076, 2409, 2410, 1077, 2411,
1824 1073, 2412, 960, 1073, 2420, 2421, 1073, 1307, 1307, 1307,
1825 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1079, 1310,
1826 1310, 1310, 2415, 1304, 1308, 2702, 2702, 2702, 1081, 2422,
1827 2423, 1081, 2415, 2418, 1081, 2424, 1311, 1085, 1085, 1085,
1828 2425, 2426, 2702, 1085, 1085, 1085, 2416, 2413, 1306, 1085,
1829 1085, 1085, 2427, 1312, 2428, 1087, 1316, 1316, 1316, 2429,
1830 2430, 1087, 1092, 1092, 1092, 2435, 1093, 1087, 2431, 1094,
1832 1097, 1097, 1097, 1317, 1097, 1097, 1097, 1097, 1097, 1097,
1833 2432, 2433, 1309, 1107, 1107, 1107, 2440, 1108, 1099, 2441,
1834 1109, 2442, 1099, 2434, 2443, 1099, 1327, 1327, 1327, 1111,
1835 1111, 1111, 2446, 1112, 2415, 2446, 1113, 1114, 1114, 1114,
1836 1123, 1123, 1123, 1328, 1313, 1329, 1329, 1329, 2416, 1330,
1837 960, 2449, 1331, 2436, 1115, 1123, 1123, 1123, 1125, 1123,
1838 1123, 1123, 1131, 1131, 1131, 2437, 1132, 1402, 1403, 1133,
1839 2415, 1320, 2438, 1125, 1134, 1134, 1134, 1125, 1344, 1344,
1840 1344, 2418, 1345, 2450, 2439, 1346, 1138, 1138, 1138, 2451,
1841 2444, 1135, 1138, 1138, 1138, 1138, 1138, 1138, 1143, 1143,
1843 1143, 2452, 1144, 2461, 1140, 1145, 1146, 1146, 1146, 2464,
1844 1140, 2469, 2459, 1140, 1146, 1146, 1146, 1146, 1146, 1146,
1845 1157, 1157, 1157, 2472, 1148, 1339, 1151, 1151, 1151, 2446,
1846 1152, 2460, 1148, 1153, 2474, 1148, 2446, 2462, 1159, 1157,
1847 1157, 1157, 1157, 1157, 1157, 2475, 1349, 1161, 1161, 1161,
1848 2476, 1357, 1357, 1357, 2477, 1358, 2463, 1159, 1359, 2478,
1849 1159, 1163, 1163, 1163, 1162, 1360, 1360, 1360, 2488, 1361,
1850 2489, 2467, 1362, 1166, 1166, 1166, 2470, 2490, 1164, 1166,
1851 1166, 1166, 2491, 1351, 1166, 1166, 1166, 1171, 1171, 1171,
1852 2468, 1168, 1366, 1366, 1366, 2471, 1367, 1168, 2492, 1368,
1854 2493, 1356, 1168, 2497, 1172, 1175, 1175, 1175, 1371, 1371,
1855 1371, 2498, 1372, 2499, 2500, 1373, 1178, 1178, 1178, 1178,
1856 1178, 1178, 1176, 1178, 1178, 1178, 1183, 1183, 1183, 2501,
1857 1184, 2502, 2504, 1185, 1180, 2505, 2506, 1180, 1186, 1186,
1858 1186, 1180, 1186, 1186, 1186, 1186, 1186, 1186, 2511, 2512,
1859 1364, 1190, 1190, 1190, 2513, 2514, 1188, 1378, 1378, 1378,
1860 1188, 1379, 2507, 1188, 1380, 1194, 1194, 1194, 1191, 1383,
1861 1383, 1383, 2515, 1384, 2508, 2516, 1385, 1196, 1196, 1196,
1862 2517, 2509, 1195, 1196, 1196, 1196, 1375, 1196, 1196, 1196,
1863 1388, 1388, 1388, 2510, 2518, 1198, 1204, 1204, 1204, 2519,
1865 2520, 1198, 2521, 2522, 1377, 1198, 2524, 1389, 1204, 1204,
1866 1204, 1204, 1204, 1204, 1206, 1210, 1210, 1210, 1210, 1210,
1867 1210, 1210, 1210, 1210, 2525, 2526, 1206, 2527, 2528, 1206,
1868 1214, 1214, 1214, 1212, 1215, 960, 1212, 1216, 2529, 1212,
1869 1217, 1217, 1217, 1217, 1217, 1217, 2530, 2531, 1386, 1217,
1870 1217, 1217, 1221, 1221, 1221, 2532, 1222, 2533, 1219, 1223,
1871 2523, 1219, 1225, 1225, 1225, 2534, 2535, 1219, 1225, 1225,
1872 1225, 1392, 2536, 2537, 1395, 1225, 1225, 1225, 2538, 2539,
1873 1227, 1401, 1401, 1401, 2540, 2541, 1227, 973, 973, 973,
1874 1263, 1263, 1263, 1227, 1435, 1435, 1435, 2543, 1436, 1402,
1876 1403, 1437, 1004, 1004, 1004, 975, 960, 1264, 1396, 1266,
1877 1266, 1266, 1439, 1439, 1439, 2544, 1440, 2545, 2546, 1441,
1878 1006, 1014, 1014, 1014, 2547, 2542, 1267, 1272, 1272, 1272,
1879 2548, 1273, 2549, 2550, 1274, 1398, 1275, 1275, 1275, 1016,
1880 1446, 1446, 1446, 2551, 1447, 2552, 2553, 1448, 1281, 1281,
1881 1281, 2554, 1408, 1276, 1277, 1277, 1277, 2555, 1278, 1438,
1882 2556, 1279, 1450, 1450, 1450, 1282, 1451, 2557, 2558, 1452,
1883 1444, 1030, 1030, 1030, 1287, 1287, 1287, 1457, 1457, 1457,
1884 2560, 1458, 2561, 960, 1459, 1460, 1460, 1460, 2562, 1032,
1885 2563, 1288, 1038, 1038, 1038, 1292, 1292, 1292, 1473, 1473,
1887 1473, 2564, 1461, 2559, 1063, 1063, 1063, 1071, 1071, 1071,
1888 1040, 2565, 2566, 1293, 2567, 1474, 1307, 1307, 1307, 2568,
1889 2569, 1454, 1065, 2570, 2571, 1073, 2572, 1478, 1478, 1478,
1890 2573, 1479, 2574, 1308, 1480, 1079, 1079, 1079, 1310, 1310,
1891 1310, 1462, 1482, 1482, 1482, 2575, 1483, 2577, 960, 1484,
1892 1085, 1085, 1085, 1081, 2576, 1311, 1316, 1316, 1316, 1489,
1893 1489, 1489, 2578, 1490, 2579, 2580, 1491, 1475, 1087, 2581,
1894 1477, 2582, 2583, 1317, 1492, 1492, 1492, 2584, 1494, 1494,
1895 1494, 1097, 1097, 1097, 1501, 1501, 1501, 1327, 1327, 1327,
1896 2585, 1493, 2586, 2587, 1481, 1495, 1505, 1505, 1505, 1099,
1898 1506, 1502, 2588, 1507, 1328, 1329, 1329, 1329, 960, 1330,
1899 1486, 2590, 1331, 1508, 1508, 1508, 1123, 1123, 1123, 1518,
1900 1518, 1518, 2589, 2591, 1496, 1344, 1344, 1344, 2592, 1345,
1901 1509, 2593, 1346, 2594, 1125, 2595, 1519, 1522, 1522, 1522,
1902 1138, 1138, 1138, 1146, 1146, 1146, 1497, 1531, 1531, 1531,
1903 1157, 1157, 1157, 2596, 1523, 1357, 1357, 1357, 1140, 1358,
1904 2597, 1148, 1359, 2599, 1532, 1360, 1360, 1360, 1159, 1361,
1905 2600, 2601, 1362, 1166, 1166, 1166, 1416, 1416, 1416, 2602,
1906 1516, 1366, 1366, 1366, 2603, 1367, 2604, 2605, 1368, 2606,
1907 2609, 1168, 2610, 1533, 1371, 1371, 1371, 2611, 1372, 2612,
1909 2613, 1373, 2614, 1525, 1595, 960, 1534, 2699, 1527, 1178,
1910 1178, 1178, 1186, 1186, 1186, 960, 1378, 1378, 1378, 960,
1911 1379, 960, 1537, 1380, 1383, 1383, 1383, 1180, 1384, 960,
1912 1188, 1385, 1196, 1196, 1196, 1388, 1388, 1388, 1536, 1548,
1913 1548, 1548, 960, 1549, 960, 2633, 1550, 1204, 1204, 1204,
1914 1198, 2615, 1389, 1555, 1555, 1555, 1210, 1210, 1210, 1217,
1915 1217, 1217, 1225, 1225, 1225, 1206, 2617, 2625, 1543, 1541,
1916 1556, 1559, 1559, 1559, 1212, 960, 2618, 1219, 2616, 1546,
1917 1227, 1401, 1401, 1401, 973, 973, 973, 2621, 1560, 1416,
1918 1416, 1416, 1576, 1576, 1576, 960, 1553, 2623, 960, 1402,
1920 960, 960, 975, 1420, 1420, 1420, 1423, 1423, 1423, 960,
1921 960, 1558, 1581, 1581, 1581, 1584, 1584, 1584, 1432, 1432,
1922 1432, 960, 1557, 1561, 1591, 1591, 1591, 1435, 1435, 1435,
1923 960, 1436, 1563, 1594, 1437, 2634, 1568, 1004, 1004, 1004,
1924 1439, 1439, 1439, 2622, 1440, 2619, 2631, 1441, 1564, 1014,
1925 1014, 1014, 1446, 1446, 1446, 1006, 1447, 2620, 2632, 1448,
1926 2626, 1585, 1450, 1450, 1450, 2635, 1451, 1016, 960, 1452,
1927 1592, 1030, 1030, 1030, 2627, 1582, 1455, 1455, 1455, 1457,
1928 1457, 1457, 960, 1458, 2624, 2628, 1459, 960, 960, 1032,
1929 1460, 1460, 1460, 960, 1610, 1610, 1610, 960, 1611, 1590,
1931 1596, 1612, 960, 1593, 1038, 1038, 1038, 1461, 1466, 1466,
1932 1466, 1467, 1467, 1467, 1617, 1617, 1617, 1617, 1617, 1617,
1933 2655, 960, 1040, 1581, 1581, 1581, 1473, 1473, 1473, 960,
1934 2656, 1600, 1621, 1621, 1621, 1589, 1622, 2636, 960, 1623,
1935 1063, 1063, 1063, 1474, 1625, 1625, 1625, 1071, 1071, 1071,
1936 1478, 1478, 1478, 2641, 1479, 1613, 960, 1480, 1065, 960,
1937 1588, 1626, 1629, 1629, 1629, 1073, 1079, 1079, 1079, 1482,
1938 1482, 1482, 960, 1483, 960, 2629, 1484, 1618, 2681, 1630,
1939 1582, 1085, 1085, 1085, 1081, 960, 1618, 1624, 1489, 1489,
1940 1489, 960, 1490, 2639, 1627, 1491, 1492, 1492, 1492, 1087,
1942 1634, 1634, 1634, 2643, 1635, 2630, 960, 1636, 1494, 1494,
1943 1494, 2644, 960, 1493, 1637, 1637, 1637, 2637, 1638, 2638,
1944 960, 1639, 1641, 1641, 1641, 1495, 1643, 1643, 1643, 960,
1945 2651, 1628, 1501, 1501, 1501, 1646, 1646, 1646, 2695, 1647,
1946 1642, 1587, 1648, 2640, 1631, 1649, 1649, 1649, 1586, 1502,
1947 1505, 1505, 1505, 960, 1506, 960, 960, 1507, 1508, 1508,
1948 1508, 2642, 1650, 1652, 1652, 1652, 1583, 1653, 1580, 960,
1949 1654, 1655, 1655, 1655, 960, 1509, 1661, 1661, 1661, 1123,
1950 1123, 1123, 1518, 1518, 1518, 1665, 1665, 1665, 1656, 1666,
1951 2645, 2646, 1667, 1662, 1668, 1668, 1668, 1125, 2652, 1519,
1953 1522, 1522, 1522, 1671, 1671, 1671, 960, 1672, 2647, 960,
1954 1673, 1669, 1675, 1675, 1675, 960, 2696, 1523, 1146, 1146,
1955 1146, 1531, 1531, 1531, 1682, 1682, 1682, 960, 1683, 2675,
1956 1676, 1684, 1686, 1686, 1686, 960, 1148, 960, 1532, 1166,
1957 1166, 1166, 1579, 2648, 1663, 1691, 1691, 1691, 2649, 2671,
1958 1687, 1693, 1693, 1693, 2702, 2702, 2702, 1168, 1178, 1178,
1959 1178, 960, 1692, 1186, 1186, 1186, 960, 2682, 1694, 1678,
1960 2653, 2702, 1699, 1699, 1699, 960, 1180, 1701, 1701, 1701,
1961 1578, 1188, 1196, 1196, 1196, 1204, 1204, 1204, 2657, 1700,
1962 1689, 1548, 1548, 1548, 1702, 1549, 2654, 960, 1550, 960,
1964 1198, 2658, 1577, 1206, 1555, 1555, 1555, 960, 2650, 1698,
1965 960, 1709, 1709, 1709, 2669, 1710, 2661, 1695, 1711, 960,
1966 2676, 1556, 1575, 960, 1696, 1210, 1210, 1210, 960, 1217,
1967 1217, 1217, 1559, 1559, 1559, 960, 1707, 1714, 1714, 1714,
1968 2662, 1715, 2683, 1212, 1716, 960, 1703, 1219, 2667, 1560,
1969 1717, 1717, 1717, 1723, 1723, 1723, 973, 973, 973, 1730,
1970 1730, 1730, 1576, 1576, 1576, 1736, 1736, 1736, 1718, 2672,
1971 1724, 1581, 1581, 1581, 975, 1737, 1737, 1737, 1584, 1584,
1972 1584, 960, 2659, 1712, 1713, 1740, 1740, 1740, 1741, 1741,
1973 1741, 1591, 1591, 1591, 1004, 1004, 1004, 1749, 1749, 1749,
1975 1752, 1752, 1752, 1030, 1030, 1030, 1756, 1756, 1756, 1038,
1976 1038, 1038, 1006, 1574, 960, 1750, 1725, 1753, 1610, 1610,
1977 1610, 1032, 1611, 1757, 960, 1612, 2663, 1040, 1769, 1769,
1978 1769, 1617, 1617, 1617, 1773, 1773, 1773, 1775, 1775, 1775,
1979 1063, 1063, 1063, 960, 1746, 1770, 1621, 1621, 1621, 960,
1980 1622, 2660, 960, 1623, 1776, 1768, 2689, 960, 1065, 2670,
1981 2699, 1755, 1625, 1625, 1625, 1778, 1778, 1778, 960, 1779,
1982 960, 960, 1780, 1071, 1071, 1071, 1782, 1782, 1782, 1626,
1983 1629, 1629, 1629, 1784, 1784, 1784, 2665, 1785, 2664, 2666,
1984 1786, 1073, 2684, 1777, 1783, 960, 1573, 1630, 1085, 1085,
1986 1085, 1634, 1634, 1634, 2691, 1635, 960, 960, 1636, 960,
1987 1637, 1637, 1637, 960, 1638, 2673, 1087, 1639, 1641, 1641,
1988 1641, 1643, 1643, 1643, 2668, 960, 1781, 1646, 1646, 1646,
1989 1572, 1647, 960, 960, 1648, 960, 1642, 1649, 1649, 1649,
1990 1795, 1795, 1795, 1571, 1796, 1787, 2679, 1797, 1652, 1652,
1991 1652, 2674, 1653, 2677, 1650, 1654, 1655, 1655, 1655, 1799,
1992 1799, 1799, 2680, 1800, 960, 960, 1801, 1802, 1802, 1802,
1993 1661, 1661, 1661, 1656, 1807, 1807, 1807, 2685, 1808, 2678,
1994 2686, 1809, 960, 1570, 1803, 1569, 1567, 1662, 1123, 1123,
1995 1123, 1665, 1665, 1665, 960, 1666, 2690, 1566, 1667, 1668,
1997 1668, 1668, 2687, 1812, 1812, 1812, 1125, 1813, 2692, 960,
1998 1814, 1671, 1671, 1671, 2693, 1672, 1669, 960, 1673, 1675,
1999 1675, 1675, 1146, 1146, 1146, 1820, 1820, 1820, 1682, 1682,
2000 1682, 2688, 1683, 960, 1565, 1684, 1402, 1676, 960, 1810,
2001 1148, 2694, 1821, 1686, 1686, 1686, 1828, 1828, 1828, 1691,
2002 1691, 1691, 1831, 1831, 1831, 1554, 1832, 1552, 1551, 1833,
2003 1547, 1687, 1545, 1544, 1829, 2697, 1692, 1693, 1693, 1693,
2004 2698, 1822, 1834, 1834, 1834, 1542, 1835, 1540, 1539, 1836,
2005 1178, 1178, 1178, 1538, 1694, 1818, 1186, 1186, 1186, 1699,
2006 1699, 1699, 1841, 1841, 1841, 1535, 1842, 1530, 1180, 1843,
2008 1701, 1701, 1701, 1529, 1188, 1528, 1700, 1844, 1844, 1844,
2009 1526, 1845, 1524, 1521, 1846, 1520, 1517, 1702, 1196, 1196,
2010 1196, 1204, 1204, 1204, 1709, 1709, 1709, 1515, 1710, 1514,
2011 1513, 1711, 1210, 1210, 1210, 1840, 1198, 1512, 1511, 1206,
2012 1217, 1217, 1217, 1510, 1504, 1838, 1503, 1714, 1714, 1714,
2013 1212, 1715, 1500, 1499, 1716, 1717, 1717, 1717, 1219, 1723,
2014 1723, 1723, 1859, 1859, 1859, 1498, 1860, 1488, 1487, 1861,
2015 973, 973, 973, 1718, 1485, 1476, 1724, 1863, 1863, 1863,
2016 1472, 1471, 1847, 1853, 1470, 1851, 1469, 1468, 975, 1866,
2017 1866, 1866, 1465, 1854, 1730, 1730, 1730, 1867, 1867, 1867,
2019 1871, 1871, 1871, 1736, 1736, 1736, 1737, 1737, 1737, 1872,
2020 1872, 1872, 1740, 1740, 1740, 1741, 1741, 1741, 1875, 1875,
2021 1875, 1876, 1876, 1876, 1877, 1877, 1877, 1004, 1004, 1004,
2022 1749, 1749, 1749, 1862, 1752, 1752, 1752, 1883, 1883, 1883,
2023 1464, 1884, 1463, 1456, 1885, 1006, 1453, 1449, 1750, 1445,
2024 1443, 1753, 1887, 1887, 1887, 1873, 1756, 1756, 1756, 1889,
2025 1889, 1889, 1442, 1890, 1434, 1433, 1891, 1038, 1038, 1038,
2026 1888, 1431, 1430, 1757, 1769, 1769, 1769, 1429, 1879, 1903,
2027 1903, 1903, 1428, 1904, 1427, 1040, 1905, 1906, 1906, 1906,
2028 1426, 1770, 1773, 1773, 1773, 1908, 1908, 1908, 1775, 1775,
2030 1775, 1910, 1910, 1910, 1425, 1911, 1424, 1422, 1912, 1063,
2031 1063, 1063, 1071, 1071, 1071, 1776, 1902, 1778, 1778, 1778,
2032 1421, 1779, 1419, 1418, 1780, 1415, 1413, 1065, 1412, 1411,
2033 1073, 1782, 1782, 1782, 1410, 1784, 1784, 1784, 1409, 1785,
2034 1407, 1909, 1786, 1085, 1085, 1085, 1795, 1795, 1795, 1783,
2035 1796, 1406, 1405, 1797, 1404, 1799, 1799, 1799, 1397, 1800,
2036 1913, 1087, 1801, 1914, 1802, 1802, 1802, 1926, 1926, 1926,
2037 1394, 1927, 1393, 1391, 1928, 1807, 1807, 1807, 1390, 1808,
2038 1387, 1803, 1809, 1123, 1123, 1123, 1812, 1812, 1812, 1382,
2039 1813, 1381, 1376, 1814, 1374, 1370, 1915, 1937, 1937, 1937,
2041 1369, 1125, 1820, 1820, 1820, 1940, 1940, 1940, 1365, 1941,
2042 1363, 1355, 1942, 1354, 1353, 1938, 1828, 1828, 1828, 1821,
2043 1831, 1831, 1831, 1352, 1832, 1350, 1348, 1833, 1834, 1834,
2044 1834, 1347, 1835, 1343, 1829, 1836, 1178, 1178, 1178, 1186,
2045 1186, 1186, 1342, 1841, 1841, 1841, 1932, 1842, 1341, 1340,
2046 1843, 1844, 1844, 1844, 1180, 1845, 1338, 1188, 1846, 1196,
2047 1196, 1196, 1957, 1957, 1957, 2702, 2702, 2702, 2702, 2702,
2048 2702, 1204, 1204, 1204, 1210, 1210, 1210, 1198, 1337, 1958,
2049 1336, 1335, 2702, 1334, 1333, 2702, 1332, 1953, 1326, 1206,
2050 1325, 1324, 1212, 1323, 1322, 1956, 1964, 1964, 1964, 1966,
2052 1966, 1966, 1321, 1319, 1955, 1969, 1969, 1969, 1859, 1859,
2053 1859, 1318, 1860, 1315, 1965, 1861, 1959, 960, 973, 973,
2054 973, 1863, 1863, 1863, 1314, 1305, 1960, 1971, 1971, 1971,
2055 1866, 1866, 1866, 1963, 1303, 1961, 975, 1867, 1867, 1867,
2056 1973, 1973, 1973, 1974, 1974, 1974, 1975, 1975, 1975, 1871,
2057 1871, 1871, 1872, 1872, 1872, 1875, 1875, 1875, 1876, 1876,
2058 1876, 1877, 1877, 1877, 1979, 1979, 1979, 1982, 1982, 1982,
2059 1883, 1883, 1883, 1302, 1884, 1301, 1970, 1885, 2702, 2702,
2060 2702, 1300, 1980, 1299, 1983, 1887, 1887, 1887, 1298, 1889,
2061 1889, 1889, 1297, 1890, 1296, 2702, 1891, 1038, 1038, 1038,
2063 1903, 1903, 1903, 1888, 1904, 1295, 1294, 1905, 1906, 1906,
2064 1906, 1908, 1908, 1908, 1291, 1040, 1910, 1910, 1910, 1289,
2065 1911, 1286, 1283, 1912, 1063, 1063, 1063, 1999, 1999, 1999,
2066 1085, 1085, 1085, 2009, 2009, 2009, 1280, 1926, 1926, 1926,
2067 1271, 1927, 1065, 1984, 1928, 2000, 1269, 1262, 1087, 2012,
2068 2012, 2012, 1260, 2016, 2016, 2016, 1259, 1995, 1937, 1937,
2069 1937, 2022, 2022, 2022, 1258, 1257, 2013, 2033, 2033, 2033,
2070 1998, 2017, 1256, 1940, 1940, 1940, 1938, 1941, 2023, 1255,
2071 1942, 2001, 2035, 2035, 2035, 2037, 2037, 2037, 1186, 1186,
2072 1186, 1196, 1196, 1196, 1957, 1957, 1957, 2041, 2041, 2041,
2074 2036, 2042, 2038, 1254, 2043, 1253, 1188, 2024, 1252, 1198,
2075 1249, 1958, 2044, 2044, 2044, 2702, 2702, 2702, 2047, 2047,
2076 2047, 2049, 2049, 2049, 1210, 1210, 1210, 1248, 1247, 2045,
2077 1246, 1245, 2702, 1969, 1969, 1969, 2048, 1964, 1964, 1964,
2078 1244, 1243, 1212, 1966, 1966, 1966, 1242, 2039, 1971, 1971,
2079 1971, 2040, 2054, 2054, 2054, 1965, 1973, 1973, 1973, 1241,
2080 1240, 960, 1974, 1974, 1974, 1239, 2046, 1975, 1975, 1975,
2081 2055, 1238, 1979, 1979, 1979, 1982, 1982, 1982, 2061, 2061,
2082 2061, 1236, 2062, 1235, 1234, 2063, 2702, 2702, 2702, 2050,
2083 1980, 1233, 1983, 1038, 1038, 1038, 1063, 1063, 1063, 1999,
2085 1999, 1999, 1232, 2702, 2051, 2079, 2079, 2079, 2085, 2085,
2086 2085, 1040, 1231, 1230, 1065, 960, 1224, 2000, 2009, 2009,
2087 2009, 1209, 1208, 2080, 1203, 2086, 2012, 2012, 2012, 2089,
2088 2089, 2089, 1202, 2090, 1201, 1200, 2091, 2093, 2093, 2093,
2089 1182, 2064, 1170, 2013, 2016, 2016, 2016, 2097, 2097, 2097,
2090 1156, 1155, 2075, 1154, 2094, 2022, 2022, 2022, 2108, 2108,
2091 2108, 2078, 2017, 1150, 2098, 1142, 2100, 2100, 2100, 1137,
2092 2101, 1136, 2023, 2102, 1130, 2109, 2033, 2033, 2033, 2035,
2093 2035, 2035, 2037, 2037, 2037, 2112, 2112, 2112, 1127, 2113,
2094 1122, 1121, 2114, 2115, 2115, 2115, 1120, 2036, 1119, 2038,
2096 1196, 1196, 1196, 2041, 2041, 2041, 1118, 2042, 1117, 1116,
2097 2043, 2116, 2044, 2044, 2044, 2118, 2118, 2118, 1198, 2119,
2098 1110, 1103, 2120, 2121, 2121, 2121, 2047, 2047, 2047, 2045,
2099 2049, 2049, 2049, 2123, 2123, 2123, 2054, 2054, 2054, 1102,
2100 2122, 2132, 2132, 2132, 2048, 2061, 2061, 2061, 1101, 2062,
2101 1096, 2124, 2063, 1095, 2055, 2702, 2702, 2702, 2133, 1038,
2102 1038, 1038, 1063, 1063, 1063, 1091, 2117, 2079, 2079, 2079,
2103 1090, 1089, 2702, 2156, 2156, 2156, 1084, 1040, 1083, 1078,
2104 1065, 2085, 2085, 2085, 1070, 2080, 1062, 2158, 2158, 2158,
2105 2157, 2159, 1058, 1057, 2160, 2089, 2089, 2089, 2086, 2090,
2107 1056, 1055, 2091, 2093, 2093, 2093, 2164, 2164, 2164, 1054,
2108 2165, 1053, 1052, 2166, 1051, 2140, 1045, 1037, 2151, 1036,
2109 2094, 2168, 2168, 2168, 2097, 2097, 2097, 2170, 2170, 2170,
2110 1035, 2171, 2154, 1034, 2172, 2173, 2173, 2173, 2169, 1029,
2111 1028, 2098, 2100, 2100, 2100, 1027, 2101, 1024, 1018, 2102,
2112 1013, 1012, 2174, 2108, 2108, 2108, 2178, 2178, 2178, 1008,
2113 2179, 1003, 1002, 2180, 2181, 2181, 2181, 2183, 2183, 2183,
2114 2109, 2112, 2112, 2112, 1001, 2113, 1000, 999, 2114, 998,
2115 996, 2182, 995, 994, 2184, 2115, 2115, 2115, 1196, 1196,
2116 1196, 2118, 2118, 2118, 993, 2119, 992, 991, 2120, 2121,
2118 2121, 2121, 990, 2116, 989, 988, 1198, 2192, 2192, 2192,
2119 987, 2193, 986, 985, 2194, 984, 2122, 2123, 2123, 2123,
2120 2198, 2198, 2198, 2132, 2132, 2132, 2202, 2202, 2202, 983,
2121 2203, 982, 981, 2204, 980, 2124, 979, 2702, 2702, 2702,
2122 2133, 1038, 1038, 1038, 2223, 2223, 2223, 1063, 1063, 1063,
2123 2156, 2156, 2156, 2191, 2702, 2226, 2226, 2226, 972, 1040,
2124 971, 970, 2229, 2229, 2229, 1065, 2230, 2157, 969, 2231,
2125 968, 967, 2227, 2158, 2158, 2158, 966, 2159, 963, 961,
2126 2160, 2164, 2164, 2164, 960, 2165, 958, 956, 2166, 2168,
2127 2168, 2168, 2222, 2236, 2236, 2236, 2213, 2237, 953, 949,
2129 2238, 2228, 947, 2170, 2170, 2170, 2169, 2171, 2225, 946,
2130 2172, 2173, 2173, 2173, 2239, 2239, 2239, 945, 2240, 943,
2131 942, 2241, 2243, 2243, 2243, 2178, 2178, 2178, 2174, 2179,
2132 941, 940, 2180, 2181, 2181, 2181, 2246, 2246, 2246, 2244,
2133 2247, 939, 937, 2248, 2183, 2183, 2183, 2249, 2249, 2249,
2134 2182, 2250, 936, 935, 2251, 1196, 1196, 1196, 2192, 2192,
2135 2192, 2184, 2193, 934, 930, 2194, 2261, 2261, 2261, 2198,
2136 2198, 2198, 929, 1198, 2263, 2263, 2263, 927, 2202, 2202,
2137 2202, 926, 2203, 2262, 1402, 2204, 2274, 2274, 2274, 1038,
2138 1038, 1038, 2223, 2223, 2223, 2285, 2285, 2285, 1063, 1063,
2140 1063, 925, 924, 2275, 923, 922, 2258, 1040, 2226, 2226,
2141 2226, 2287, 2287, 2287, 920, 2288, 1065, 919, 2289, 2229,
2142 2229, 2229, 918, 2230, 917, 2227, 2231, 2236, 2236, 2236,
2143 915, 2237, 914, 913, 2238, 2239, 2239, 2239, 2284, 2240,
2144 910, 909, 2241, 2243, 2243, 2243, 2296, 2296, 2296, 2286,
2145 2297, 905, 904, 2298, 2246, 2246, 2246, 902, 2247, 901,
2146 2244, 2248, 2249, 2249, 2249, 900, 2250, 897, 896, 2251,
2147 2314, 2314, 2314, 2317, 2317, 2317, 2261, 2261, 2261, 2319,
2148 2319, 2319, 895, 2320, 894, 892, 2321, 891, 2315, 890,
2149 2318, 1402, 889, 2262, 1402, 888, 887, 1402, 2263, 2263,
2151 2263, 2322, 2322, 2322, 2323, 2323, 2323, 2274, 2274, 2274,
2152 2332, 2332, 2332, 886, 2333, 885, 882, 2334, 1038, 1038,
2153 1038, 2285, 2285, 2285, 2275, 2342, 2342, 2342, 2287, 2287,
2154 2287, 879, 2288, 878, 875, 2289, 1040, 2347, 2347, 2347,
2155 2350, 2350, 2350, 2343, 2296, 2296, 2296, 873, 2297, 872,
2156 867, 2298, 866, 864, 2348, 863, 862, 2351, 2352, 2352,
2157 2352, 2314, 2314, 2314, 2317, 2317, 2317, 2367, 2367, 2367,
2158 860, 2368, 857, 855, 2369, 2353, 2322, 2322, 2322, 2315,
2159 852, 2318, 1402, 2341, 850, 1402, 2319, 2319, 2319, 847,
2160 2320, 844, 843, 2321, 2323, 2323, 2323, 2386, 2386, 2386,
2162 2342, 2342, 2342, 841, 1402, 1400, 1400, 1400, 1400, 1400,
2163 1400, 1400, 1400, 1400, 840, 2387, 1400, 839, 2343, 838,
2164 837, 1400, 1400, 1400, 1402, 1400, 2332, 2332, 2332, 835,
2165 2333, 832, 830, 2334, 2391, 2391, 2391, 829, 2392, 828,
2166 826, 2393, 824, 823, 2347, 2347, 2347, 2350, 2350, 2350,
2167 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
2168 1400, 2348, 822, 1400, 2351, 2352, 2352, 2352, 1400, 1400,
2169 1400, 1402, 1400, 2395, 2395, 2395, 821, 2396, 820, 819,
2170 2397, 816, 2353, 2398, 2398, 2398, 815, 2399, 814, 811,
2171 2400, 808, 2367, 2367, 2367, 807, 2368, 1400, 1400, 2369,
2173 805, 804, 2386, 2386, 2386, 2448, 2448, 2448, 801, 799,
2174 1402, 1400, 1400, 1400, 1400, 1400, 2419, 1400, 1400, 1400,
2175 2387, 796, 1400, 1402, 1403, 795, 787, 1400, 1400, 1400,
2176 1402, 1400, 2391, 2391, 2391, 786, 2392, 785, 782, 2393,
2177 2395, 2395, 2395, 781, 2396, 780, 779, 2397, 2398, 2398,
2178 2398, 777, 2399, 776, 775, 2400, 1400, 1400, 1400, 1400,
2179 1400, 1400, 1400, 1400, 1400, 1400, 2419, 774, 773, 1400,
2180 2453, 2453, 2453, 772, 1400, 1400, 1400, 1402, 1400, 2455,
2181 2455, 2455, 2457, 2457, 2457, 767, 764, 2454, 2465, 2465,
2182 2465, 2473, 2473, 2473, 766, 761, 2456, 760, 758, 2458,
2184 2448, 2448, 2448, 1400, 1400, 2466, 2453, 2453, 2453, 960,
2185 2479, 2479, 2479, 757, 2480, 756, 754, 2481, 1402, 2455,
2186 2455, 2455, 752, 2454, 2482, 2482, 2482, 750, 2483, 747,
2187 746, 2484, 2457, 2457, 2457, 745, 2456, 2485, 2485, 2485,
2188 744, 2486, 742, 741, 2487, 2465, 2465, 2465, 740, 2458,
2189 739, 1563, 2494, 2494, 2494, 738, 2495, 736, 734, 2496,
2190 733, 731, 2466, 2473, 2473, 2473, 2479, 2479, 2479, 730,
2191 2480, 727, 726, 2481, 724, 2482, 2482, 2482, 588, 2483,
2192 2702, 960, 2484, 2485, 2485, 2485, 719, 2486, 717, 716,
2193 2487, 2494, 2494, 2494, 713, 2495, 712, 711, 2496, 709,
2195 2503, 2598, 2598, 2598, 2598, 2598, 2598, 707, 2607, 706,
2196 704, 2608, 2700, 2700, 2700, 2700, 2700, 2700, 702, 960,
2197 701, 700, 960, 699, 698, 697, 696, 694, 685, 684,
2198 2701, 683, 680, 2701, 228, 228, 228, 228, 228, 228,
2199 228, 228, 228, 229, 229, 229, 229, 229, 229, 229,
2200 229, 229, 234, 234, 234, 234, 234, 234, 234, 234,
2201 234, 237, 237, 237, 237, 237, 237, 237, 237, 237,
2202 240, 240, 240, 240, 240, 240, 240, 240, 240, 243,
2203 243, 243, 243, 243, 243, 243, 243, 243, 250, 250,
2204 250, 250, 250, 250, 250, 250, 250, 258, 258, 258,
2206 258, 258, 258, 258, 258, 258, 262, 262, 262, 262,
2207 262, 262, 262, 262, 262, 274, 274, 274, 274, 274,
2208 274, 274, 274, 274, 278, 278, 278, 278, 278, 278,
2209 278, 278, 278, 286, 286, 286, 286, 286, 286, 286,
2210 286, 286, 297, 297, 297, 297, 297, 297, 297, 297,
2211 297, 305, 305, 305, 305, 305, 305, 305, 305, 305,
2212 313, 313, 313, 313, 313, 313, 313, 313, 313, 319,
2213 319, 319, 319, 319, 319, 319, 319, 319, 325, 325,
2214 325, 325, 325, 325, 325, 325, 325, 330, 330, 330,
2215 330, 330, 330, 330, 330, 330, 347, 347, 347, 347,
2217 347, 347, 347, 347, 347, 353, 353, 353, 353, 353,
2218 353, 353, 353, 353, 360, 360, 360, 360, 360, 360,
2219 360, 360, 360, 365, 365, 365, 365, 365, 365, 365,
2220 365, 365, 372, 372, 372, 372, 372, 372, 372, 372,
2221 372, 377, 377, 377, 377, 377, 377, 377, 377, 377,
2222 383, 383, 383, 383, 383, 383, 383, 383, 383, 388,
2223 388, 388, 388, 388, 388, 388, 388, 388, 394, 394,
2224 394, 394, 394, 394, 394, 394, 394, 402, 402, 402,
2225 402, 402, 402, 402, 402, 402, 421, 421, 421, 421,
2226 421, 421, 421, 421, 421, 437, 437, 437, 437, 437,
2228 437, 437, 437, 437, 443, 443, 443, 443, 443, 443,
2229 443, 443, 443, 448, 448, 448, 448, 448, 448, 448,
2230 448, 448, 454, 454, 454, 454, 454, 454, 454, 454,
2231 454, 461, 461, 461, 461, 461, 461, 461, 461, 461,
2232 468, 468, 468, 468, 468, 468, 468, 468, 468, 473,
2233 473, 473, 473, 473, 473, 473, 473, 473, 481, 481,
2234 481, 481, 481, 481, 481, 481, 481, 487, 487, 487,
2235 487, 487, 487, 487, 487, 487, 494, 494, 494, 494,
2236 494, 494, 494, 494, 494, 499, 499, 499, 499, 499,
2237 499, 499, 499, 499, 505, 505, 505, 505, 505, 505,
2239 505, 505, 505, 511, 511, 511, 511, 511, 511, 511,
2240 511, 511, 518, 518, 518, 518, 518, 518, 518, 518,
2241 518, 525, 525, 525, 525, 525, 525, 525, 525, 525,
2242 533, 533, 533, 533, 533, 533, 533, 533, 533, 537,
2243 537, 537, 537, 537, 537, 537, 537, 537, 543, 543,
2244 543, 543, 543, 543, 543, 543, 543, 547, 547, 547,
2245 547, 547, 547, 547, 547, 547, 554, 554, 554, 554,
2246 554, 554, 554, 554, 554, 559, 559, 559, 559, 559,
2247 559, 559, 559, 559, 579, 579, 579, 678, 675, 674,
2248 579, 605, 605, 605, 673, 672, 671, 605, 609, 609,
2250 609, 669, 667, 666, 609, 617, 617, 617, 664, 662,
2251 661, 617, 629, 629, 629, 659, 658, 657, 629, 635,
2252 635, 635, 656, 654, 653, 635, 649, 649, 649, 652,
2253 651, 650, 649, 655, 655, 655, 648, 2702, 596, 655,
2254 660, 660, 660, 637, 636, 634, 660, 665, 665, 665,
2255 632, 631, 630, 665, 670, 670, 670, 628, 599, 2702,
2256 670, 679, 679, 679, 623, 619, 618, 679, 695, 695,
2257 695, 616, 615, 612, 695, 705, 705, 705, 611, 610,
2258 608, 705, 710, 710, 710, 596, 2702, 606, 710, 718,
2259 718, 718, 604, 2702, 580, 718, 725, 725, 725, 578,
2261 576, 570, 725, 732, 732, 732, 569, 570, 569, 732,
2262 737, 737, 737, 568, 567, 2702, 737, 743, 743, 743,
2263 2702, 2702, 2702, 743, 751, 751, 751, 2702, 2702, 2702,
2264 751, 755, 755, 755, 2702, 2702, 2702, 755, 759, 759,
2265 759, 2702, 2702, 2702, 759, 763, 763, 763, 763, 763,
2266 763, 763, 2702, 763, 579, 579, 579, 2702, 2702, 2702,
2267 579, 778, 2702, 2702, 2702, 778, 605, 605, 605, 2702,
2268 2702, 2702, 605, 806, 2702, 2702, 2702, 806, 609, 609,
2269 609, 2702, 2702, 2702, 609, 813, 2702, 2702, 2702, 813,
2270 617, 617, 617, 2702, 2702, 2702, 617, 825, 2702, 2702,
2272 2702, 825, 629, 629, 629, 2702, 2702, 2702, 629, 831,
2273 2702, 2702, 2702, 831, 635, 635, 635, 2702, 2702, 2702,
2274 635, 836, 2702, 2702, 2702, 836, 649, 649, 649, 2702,
2275 2702, 2702, 649, 851, 2702, 2702, 2702, 851, 655, 655,
2276 655, 2702, 2702, 2702, 655, 856, 2702, 2702, 2702, 856,
2277 660, 660, 660, 2702, 2702, 2702, 660, 861, 2702, 2702,
2278 2702, 861, 665, 665, 665, 2702, 2702, 2702, 665, 865,
2279 2702, 2702, 2702, 865, 670, 670, 670, 2702, 2702, 2702,
2280 670, 874, 2702, 2702, 2702, 874, 679, 679, 679, 2702,
2281 2702, 2702, 679, 893, 2702, 2702, 2702, 893, 695, 695,
2283 695, 2702, 2702, 2702, 695, 903, 2702, 2702, 2702, 903,
2284 705, 705, 705, 2702, 2702, 2702, 705, 908, 2702, 2702,
2285 2702, 908, 710, 710, 710, 2702, 2702, 2702, 710, 916,
2286 2702, 2702, 2702, 916, 718, 718, 718, 2702, 2702, 2702,
2287 718, 921, 2702, 2702, 2702, 921, 725, 725, 725, 2702,
2288 2702, 2702, 725, 928, 2702, 2702, 2702, 928, 732, 732,
2289 732, 2702, 2702, 2702, 732, 933, 2702, 2702, 2702, 933,
2290 737, 737, 737, 2702, 2702, 2702, 737, 938, 2702, 2702,
2291 2702, 938, 743, 743, 743, 2702, 2702, 2702, 743, 944,
2292 2702, 2702, 2702, 944, 751, 751, 751, 2702, 2702, 2702,
2294 751, 948, 2702, 2702, 2702, 948, 755, 755, 755, 2702,
2295 2702, 2702, 755, 952, 2702, 2702, 2702, 952, 759, 759,
2296 759, 2702, 2702, 2702, 759, 957, 2702, 2702, 2702, 957,
2297 959, 959, 959, 959, 959, 959, 959, 959, 959, 965,
2298 2702, 2702, 2702, 2702, 965, 579, 579, 579, 2702, 2702,
2299 2702, 579, 974, 974, 974, 974, 2702, 2702, 974, 974,
2300 605, 605, 605, 2702, 2702, 2702, 605, 1005, 1005, 1005,
2301 1005, 2702, 2702, 1005, 1005, 609, 609, 609, 2702, 2702,
2302 2702, 609, 1015, 1015, 1015, 1015, 2702, 2702, 1015, 1015,
2303 617, 617, 617, 2702, 2702, 2702, 617, 1031, 1031, 1031,
2305 1031, 2702, 2702, 1031, 1031, 629, 629, 629, 2702, 2702,
2306 2702, 629, 1039, 1039, 1039, 1039, 2702, 2702, 1039, 1039,
2307 635, 635, 635, 2702, 2702, 2702, 635, 1047, 1047, 1047,
2308 1047, 2702, 2702, 1047, 1047, 649, 649, 649, 2702, 2702,
2309 2702, 649, 1064, 1064, 1064, 1064, 2702, 2702, 1064, 1064,
2310 655, 655, 655, 2702, 2702, 2702, 655, 1072, 1072, 1072,
2311 1072, 2702, 2702, 1072, 1072, 660, 660, 660, 2702, 2702,
2312 2702, 660, 1080, 1080, 1080, 1080, 2702, 2702, 1080, 1080,
2313 665, 665, 665, 2702, 2702, 2702, 665, 1086, 1086, 1086,
2314 1086, 2702, 2702, 1086, 1086, 670, 670, 670, 2702, 2702,
2316 2702, 670, 1098, 1098, 1098, 1098, 2702, 2702, 1098, 1098,
2317 679, 679, 679, 2702, 2702, 2702, 679, 1124, 1124, 1124,
2318 1124, 2702, 2702, 1124, 1124, 695, 695, 695, 2702, 2702,
2319 2702, 695, 1139, 1139, 1139, 1139, 2702, 2702, 1139, 1139,
2320 705, 705, 705, 2702, 2702, 2702, 705, 1147, 1147, 1147,
2321 1147, 2702, 2702, 1147, 1147, 710, 710, 710, 2702, 2702,
2322 2702, 710, 1158, 1158, 1158, 1158, 2702, 2702, 1158, 1158,
2323 718, 718, 718, 718, 2702, 718, 2702, 718, 1167, 1167,
2324 1167, 1167, 2702, 2702, 1167, 1167, 725, 725, 725, 725,
2325 2702, 725, 2702, 725, 1179, 1179, 1179, 1179, 2702, 2702,
2327 1179, 1179, 732, 732, 732, 2702, 2702, 2702, 732, 1187,
2328 1187, 1187, 1187, 2702, 2702, 1187, 1187, 737, 737, 737,
2329 737, 2702, 737, 2702, 737, 1197, 1197, 1197, 1197, 2702,
2330 2702, 1197, 1197, 743, 743, 743, 2702, 2702, 2702, 743,
2331 1205, 1205, 1205, 1205, 2702, 2702, 1205, 1205, 751, 751,
2332 751, 2702, 2702, 2702, 751, 1211, 1211, 1211, 1211, 2702,
2333 2702, 1211, 1211, 1218, 1218, 1218, 1218, 2702, 2702, 1218,
2334 1218, 759, 759, 759, 2702, 2702, 2702, 759, 1226, 1226,
2335 1226, 1226, 2702, 2702, 1226, 1226, 959, 959, 959, 959,
2336 959, 959, 959, 959, 959, 965, 2702, 965, 2702, 2702,
2338 965, 579, 579, 579, 2702, 2702, 2702, 579, 974, 974,
2339 974, 974, 2702, 2702, 974, 974, 605, 605, 605, 605,
2340 2702, 605, 2702, 605, 1005, 1005, 1005, 1005, 2702, 2702,
2341 1005, 1005, 609, 609, 609, 609, 2702, 609, 2702, 609,
2342 1015, 1015, 1015, 1015, 2702, 2702, 1015, 1015, 617, 617,
2343 617, 2702, 2702, 2702, 617, 1031, 1031, 1031, 1031, 2702,
2344 2702, 1031, 1031, 629, 629, 629, 2702, 2702, 2702, 629,
2345 1039, 1039, 1039, 1039, 2702, 2702, 1039, 1039, 635, 635,
2346 635, 2702, 2702, 2702, 635, 1047, 1047, 1047, 1047, 2702,
2347 2702, 1047, 1047, 649, 649, 649, 2702, 2702, 2702, 649,
2349 1064, 1064, 1064, 1064, 2702, 2702, 1064, 1064, 655, 655,
2350 655, 2702, 2702, 2702, 655, 1072, 1072, 1072, 1072, 2702,
2351 2702, 1072, 1072, 660, 660, 660, 660, 2702, 660, 2702,
2352 660, 1080, 1080, 1080, 1080, 2702, 2702, 1080, 1080, 665,
2353 665, 665, 665, 2702, 665, 2702, 665, 1086, 1086, 1086,
2354 1086, 2702, 2702, 1086, 1086, 670, 670, 670, 2702, 2702,
2355 2702, 670, 1098, 1098, 1098, 1098, 2702, 2702, 1098, 1098,
2356 679, 679, 679, 2702, 2702, 2702, 679, 1124, 1124, 1124,
2357 1124, 2702, 2702, 1124, 1124, 695, 695, 695, 2702, 2702,
2358 2702, 695, 1139, 1139, 1139, 1139, 2702, 2702, 1139, 1139,
2360 705, 705, 705, 2702, 2702, 2702, 705, 1147, 1147, 1147,
2361 1147, 2702, 2702, 1147, 1147, 710, 710, 710, 2702, 2702,
2362 2702, 710, 1158, 1158, 1158, 1158, 2702, 2702, 1158, 1158,
2363 718, 718, 718, 2702, 2702, 2702, 718, 1167, 1167, 1167,
2364 1167, 2702, 2702, 1167, 1167, 725, 725, 725, 2702, 2702,
2365 2702, 725, 1179, 1179, 1179, 1179, 2702, 2702, 1179, 1179,
2366 732, 732, 732, 2702, 2702, 2702, 732, 1187, 1187, 1187,
2367 1187, 2702, 2702, 1187, 1187, 737, 737, 737, 2702, 2702,
2368 2702, 737, 1197, 1197, 1197, 1197, 2702, 2702, 1197, 1197,
2369 743, 743, 743, 2702, 2702, 2702, 743, 1205, 1205, 1205,
2371 1205, 2702, 2702, 1205, 1205, 751, 751, 751, 2702, 2702,
2372 2702, 751, 1211, 1211, 1211, 1211, 2702, 2702, 1211, 1211,
2373 1218, 1218, 1218, 1218, 2702, 2702, 1218, 1218, 759, 759,
2374 759, 2702, 2702, 2702, 759, 1226, 1226, 1226, 1226, 2702,
2375 2702, 1226, 1226, 959, 959, 959, 959, 959, 959, 959,
2376 959, 959, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
2377 1400, 579, 579, 579, 2702, 2702, 2702, 579, 974, 974,
2378 974, 974, 2702, 2702, 974, 974, 1005, 1005, 1005, 1005,
2379 2702, 2702, 1005, 1005, 609, 609, 609, 2702, 2702, 2702,
2380 609, 1015, 1015, 1015, 1015, 2702, 2702, 1015, 1015, 617,
2382 617, 617, 2702, 2702, 2702, 617, 1031, 1031, 1031, 1031,
2383 2702, 2702, 1031, 1031, 629, 629, 629, 2702, 2702, 2702,
2384 629, 1039, 1039, 1039, 1039, 2702, 2702, 1039, 1039, 635,
2385 635, 635, 2702, 2702, 2702, 635, 649, 649, 649, 2702,
2386 2702, 2702, 649, 1064, 1064, 1064, 1064, 2702, 2702, 1064,
2387 1064, 655, 655, 655, 2702, 2702, 2702, 655, 1072, 1072,
2388 1072, 1072, 2702, 2702, 1072, 1072, 1080, 1080, 1080, 1080,
2389 2702, 2702, 1080, 1080, 665, 665, 665, 2702, 2702, 2702,
2390 665, 1086, 1086, 1086, 1086, 2702, 2702, 1086, 1086, 670,
2391 670, 670, 2702, 2702, 2702, 670, 1098, 1098, 1098, 1098,
2393 2702, 2702, 1098, 1098, 679, 679, 679, 2702, 2702, 2702,
2394 679, 1124, 1124, 1124, 1124, 2702, 2702, 1124, 1124, 695,
2395 695, 695, 2702, 2702, 2702, 695, 1139, 1139, 1139, 1139,
2396 2702, 2702, 1139, 1139, 705, 705, 705, 2702, 2702, 2702,
2397 705, 1147, 1147, 1147, 1147, 2702, 2702, 1147, 1147, 710,
2398 710, 710, 2702, 2702, 2702, 710, 1158, 1158, 1158, 1158,
2399 2702, 2702, 1158, 1158, 718, 718, 718, 2702, 2702, 2702,
2400 718, 1167, 1167, 1167, 1167, 2702, 2702, 1167, 1167, 725,
2401 725, 725, 2702, 2702, 2702, 725, 1179, 1179, 1179, 1179,
2402 2702, 2702, 1179, 1179, 732, 732, 732, 2702, 2702, 2702,
2404 732, 1187, 1187, 1187, 1187, 2702, 2702, 1187, 1187, 737,
2405 737, 737, 2702, 2702, 2702, 737, 1197, 1197, 1197, 1197,
2406 2702, 2702, 1197, 1197, 743, 743, 743, 2702, 2702, 2702,
2407 743, 1205, 1205, 1205, 1205, 2702, 2702, 1205, 1205, 751,
2408 751, 751, 751, 2702, 751, 2702, 751, 1211, 1211, 1211,
2409 1211, 2702, 2702, 1211, 1211, 1218, 1218, 1218, 1218, 2702,
2410 2702, 1218, 1218, 759, 759, 759, 759, 2702, 759, 2702,
2411 759, 1226, 1226, 1226, 1226, 2702, 2702, 1226, 1226, 959,
2412 959, 959, 959, 959, 959, 959, 959, 959, 1400, 1400,
2413 1400, 1400, 1400, 1400, 1400, 1400, 1400, 579, 579, 579,
2415 2702, 2702, 2702, 579, 974, 974, 974, 974, 2702, 2702,
2416 974, 974, 1005, 1005, 1005, 1005, 2702, 2702, 1005, 1005,
2417 609, 609, 609, 2702, 2702, 2702, 609, 1015, 1015, 1015,
2418 1015, 2702, 2702, 1015, 1015, 617, 617, 617, 2702, 2702,
2419 2702, 617, 1031, 1031, 1031, 1031, 2702, 2702, 1031, 1031,
2420 629, 629, 629, 2702, 2702, 2702, 629, 1039, 1039, 1039,
2421 1039, 2702, 2702, 1039, 1039, 635, 635, 635, 2702, 2702,
2422 2702, 635, 649, 649, 649, 2702, 2702, 2702, 649, 1064,
2423 1064, 1064, 1064, 2702, 2702, 1064, 1064, 655, 655, 655,
2424 655, 2702, 655, 2702, 655, 1072, 1072, 1072, 1072, 2702,
2426 2702, 1072, 1072, 1080, 1080, 1080, 1080, 2702, 2702, 1080,
2427 1080, 665, 665, 665, 665, 2702, 665, 2702, 665, 1086,
2428 1086, 1086, 1086, 2702, 2702, 1086, 1086, 670, 670, 670,
2429 2702, 2702, 2702, 670, 1098, 1098, 1098, 1098, 2702, 2702,
2430 1098, 1098, 679, 679, 679, 2702, 2702, 2702, 679, 1124,
2431 1124, 1124, 1124, 2702, 2702, 1124, 1124, 695, 695, 695,
2432 2702, 2702, 2702, 695, 1139, 1139, 1139, 1139, 2702, 2702,
2433 1139, 1139, 705, 705, 705, 2702, 2702, 2702, 705, 1147,
2434 1147, 1147, 1147, 2702, 2702, 1147, 1147, 710, 710, 710,
2435 2702, 2702, 2702, 710, 1158, 1158, 1158, 1158, 2702, 2702,
2437 1158, 1158, 718, 718, 718, 2702, 2702, 2702, 718, 1167,
2438 1167, 1167, 1167, 2702, 2702, 1167, 1167, 725, 725, 725,
2439 725, 2702, 725, 2702, 725, 1179, 1179, 1179, 1179, 2702,
2440 2702, 1179, 1179, 732, 732, 732, 2702, 2702, 2702, 732,
2441 1187, 1187, 1187, 1187, 2702, 2702, 1187, 1187, 737, 737,
2442 737, 737, 2702, 737, 2702, 737, 1197, 1197, 1197, 1197,
2443 2702, 2702, 1197, 1197, 743, 743, 743, 2702, 2702, 2702,
2444 743, 1205, 1205, 1205, 1205, 2702, 2702, 1205, 1205, 1211,
2445 1211, 1211, 1211, 2702, 2702, 1211, 1211, 1218, 1218, 1218,
2446 1218, 2702, 2702, 1218, 1218, 1226, 1226, 1226, 1226, 2702,
2448 2702, 1226, 1226, 959, 959, 959, 959, 959, 959, 959,
2449 959, 959, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
2450 1400, 579, 579, 579, 579, 2702, 579, 2702, 579, 974,
2451 974, 974, 974, 2702, 2702, 974, 974, 1005, 1005, 1005,
2452 1005, 2702, 2702, 1005, 1005, 609, 609, 609, 2702, 2702,
2453 2702, 609, 1015, 1015, 1015, 1015, 2702, 2702, 1015, 1015,
2454 617, 617, 617, 2702, 2702, 2702, 617, 1031, 1031, 1031,
2455 1031, 2702, 2702, 1031, 1031, 629, 629, 629, 629, 2702,
2456 629, 2702, 629, 1039, 1039, 1039, 1039, 2702, 2702, 1039,
2457 1039, 635, 635, 635, 635, 2702, 635, 2702, 635, 649,
2459 649, 649, 649, 2702, 649, 2702, 649, 1064, 1064, 1064,
2460 1064, 2702, 2702, 1064, 1064, 1072, 1072, 1072, 1072, 2702,
2461 2702, 1072, 1072, 1080, 1080, 1080, 1080, 2702, 2702, 1080,
2462 1080, 1086, 1086, 1086, 1086, 2702, 2702, 1086, 1086, 670,
2463 670, 670, 2702, 2702, 2702, 670, 679, 679, 679, 2702,
2464 2702, 2702, 679, 1124, 1124, 1124, 1124, 2702, 2702, 1124,
2465 1124, 695, 695, 695, 2702, 2702, 2702, 695, 705, 705,
2466 705, 2702, 2702, 2702, 705, 1147, 1147, 1147, 1147, 2702,
2467 2702, 1147, 1147, 710, 710, 710, 2702, 2702, 2702, 710,
2468 718, 718, 718, 2702, 2702, 2702, 718, 1167, 1167, 1167,
2470 1167, 2702, 2702, 1167, 1167, 725, 725, 725, 2702, 2702,
2471 2702, 725, 1179, 1179, 1179, 1179, 2702, 2702, 1179, 1179,
2472 732, 732, 732, 2702, 2702, 2702, 732, 1187, 1187, 1187,
2473 1187, 2702, 2702, 1187, 1187, 1197, 1197, 1197, 1197, 2702,
2474 2702, 1197, 1197, 743, 743, 743, 2702, 2702, 2702, 743,
2475 1205, 1205, 1205, 1205, 2702, 2702, 1205, 1205, 1211, 1211,
2476 1211, 1211, 2702, 2702, 1211, 1211, 1218, 1218, 1218, 1218,
2477 2702, 2702, 1218, 1218, 959, 959, 959, 959, 959, 959,
2478 959, 959, 959, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
2479 1400, 1400, 974, 974, 974, 974, 2702, 2702, 974, 974,
2481 1005, 1005, 1005, 1005, 2702, 2702, 1005, 1005, 609, 609,
2482 609, 2702, 2702, 2702, 609, 617, 617, 617, 2702, 2702,
2483 2702, 617, 1031, 1031, 1031, 1031, 2702, 2702, 1031, 1031,
2484 1039, 1039, 1039, 1039, 2702, 2702, 1039, 1039, 1064, 1064,
2485 1064, 1064, 2702, 2702, 1064, 1064, 1072, 1072, 1072, 1072,
2486 2702, 2702, 1072, 1072, 1086, 1086, 1086, 1086, 2702, 2702,
2487 1086, 1086, 670, 670, 670, 2702, 2702, 2702, 670, 679,
2488 679, 679, 2702, 2702, 2702, 679, 1124, 1124, 1124, 1124,
2489 2702, 2702, 1124, 1124, 695, 695, 695, 2702, 2702, 2702,
2490 695, 705, 705, 705, 2702, 2702, 2702, 705, 1147, 1147,
2492 1147, 1147, 2702, 2702, 1147, 1147, 710, 710, 710, 2702,
2493 2702, 2702, 710, 718, 718, 718, 2702, 2702, 2702, 718,
2494 725, 725, 725, 2702, 2702, 2702, 725, 1179, 1179, 1179,
2495 1179, 2702, 2702, 1179, 1179, 732, 732, 732, 2702, 2702,
2496 2702, 732, 1187, 1187, 1187, 1187, 2702, 2702, 1187, 1187,
2497 1197, 1197, 1197, 1197, 2702, 2702, 1197, 1197, 743, 743,
2498 743, 743, 2702, 743, 2702, 743, 1205, 1205, 1205, 1205,
2499 2702, 2702, 1205, 1205, 1211, 1211, 1211, 1211, 2702, 2702,
2500 1211, 1211, 1218, 1218, 1218, 1218, 2702, 2702, 1218, 1218,
2501 959, 959, 959, 959, 959, 959, 959, 959, 959, 1400,
2503 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 974, 974,
2504 974, 974, 2702, 2702, 974, 974, 1005, 1005, 1005, 1005,
2505 2702, 2702, 1005, 1005, 609, 609, 609, 2702, 2702, 2702,
2506 609, 617, 617, 617, 617, 2702, 617, 2702, 617, 2370,
2507 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2371, 2371,
2508 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2414, 2414, 2414,
2509 2414, 2414, 2414, 2414, 2414, 2414, 2417, 2417, 2417, 2417,
2510 2417, 2417, 2417, 2417, 2417, 2445, 2445, 2445, 2445, 2445,
2511 2445, 2445, 2445, 2445, 2447, 2447, 2447, 2447, 2447, 2447,
2512 2447, 2447, 2447, 227, 2702, 2702, 2702, 2702, 2702, 2702,
2514 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2515 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2516 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2517 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2518 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2519 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
2520 2702, 2702, 2702, 2702, 2702, 2702
2523 static yyconst flex_int16_t yy_chk[9767] =
2525 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2526 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2527 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2528 8, 8, 8, 232, 11, 13, 13, 12, 14, 14,
2529 13, 13, 356, 14, 14, 233, 8, 17, 17, 232,
2530 13, 15, 15, 14, 15, 236, 15, 16, 16, 270,
2531 16, 233, 16, 18, 18, 270, 15, 19, 19, 19,
2532 341, 236, 16, 20, 20, 20, 23, 23, 23, 24,
2533 24, 24, 1445, 19, 25, 25, 25, 334, 1449, 20,
2534 335, 17, 23, 356, 334, 24, 230, 230, 230, 335,
2536 25, 231, 231, 231, 235, 235, 235, 18, 21, 21,
2537 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2538 21, 21, 21, 341, 21, 21, 21, 21, 21, 26,
2539 26, 26, 27, 27, 27, 28, 28, 28, 265, 29,
2540 29, 29, 30, 30, 30, 26, 338, 1453, 27, 254,
2541 259, 28, 265, 21, 21, 29, 338, 275, 30, 31,
2542 31, 31, 256, 256, 256, 254, 259, 263, 263, 263,
2543 272, 272, 272, 275, 1456, 31, 21, 22, 22, 22,
2544 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2545 22, 22, 368, 22, 22, 22, 22, 22, 32, 32,
2547 32, 33, 33, 33, 34, 34, 34, 254, 35, 35,
2548 35, 36, 36, 36, 32, 266, 343, 33, 343, 1463,
2549 34, 406, 22, 22, 35, 266, 267, 36, 37, 37,
2550 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2551 41, 41, 41, 368, 37, 22, 418, 38, 287, 418,
2552 39, 337, 298, 40, 266, 267, 41, 42, 42, 42,
2553 266, 279, 279, 279, 287, 268, 266, 267, 298, 267,
2554 266, 267, 406, 42, 43, 43, 43, 43, 43, 43,
2555 43, 43, 43, 43, 43, 43, 43, 43, 43, 337,
2556 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2558 46, 47, 47, 47, 268, 48, 48, 48, 49, 49,
2559 49, 45, 304, 280, 46, 1464, 268, 47, 268, 43,
2560 43, 48, 404, 280, 49, 490, 304, 43, 44, 44,
2561 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2562 44, 44, 44, 1465, 44, 44, 44, 44, 44, 50,
2563 50, 50, 51, 51, 51, 52, 52, 52, 280, 302,
2564 414, 55, 55, 302, 280, 50, 55, 302, 51, 339,
2565 404, 52, 490, 44, 44, 464, 55, 284, 284, 284,
2566 414, 44, 53, 53, 53, 53, 53, 53, 53, 53,
2567 53, 53, 53, 53, 53, 53, 53, 339, 53, 53,
2569 53, 53, 53, 1469, 1472, 55, 59, 59, 59, 60,
2570 60, 60, 339, 61, 61, 61, 56, 56, 62, 62,
2571 62, 56, 59, 292, 419, 60, 464, 53, 53, 61,
2572 292, 56, 589, 307, 62, 53, 589, 419, 53, 292,
2573 295, 295, 295, 307, 53, 54, 54, 54, 54, 54,
2574 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2575 56, 54, 54, 54, 54, 54, 63, 63, 63, 64,
2576 64, 64, 65, 65, 65, 405, 66, 66, 66, 69,
2577 69, 69, 63, 314, 307, 64, 321, 326, 65, 348,
2578 54, 54, 66, 321, 572, 69, 677, 572, 54, 314,
2580 677, 54, 321, 326, 246, 348, 1487, 54, 57, 57,
2581 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2582 57, 57, 57, 405, 57, 57, 57, 57, 57, 70,
2583 70, 70, 73, 73, 73, 74, 74, 74, 529, 75,
2584 75, 75, 76, 76, 76, 70, 246, 361, 73, 373,
2585 379, 74, 246, 57, 57, 75, 246, 379, 76, 1488,
2586 460, 246, 57, 361, 57, 373, 379, 57, 306, 306,
2587 306, 460, 57, 57, 58, 58, 58, 58, 58, 58,
2588 58, 58, 58, 58, 58, 58, 58, 58, 58, 529,
2589 58, 58, 58, 58, 58, 77, 77, 77, 78, 78,
2591 78, 79, 79, 79, 1496, 80, 80, 80, 81, 81,
2592 81, 77, 1399, 384, 78, 390, 395, 79, 527, 58,
2593 58, 80, 390, 1499, 81, 311, 311, 311, 58, 384,
2594 58, 390, 395, 58, 320, 320, 320, 1399, 58, 58,
2595 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2596 67, 67, 67, 67, 67, 527, 67, 67, 67, 67,
2597 67, 82, 82, 82, 83, 83, 83, 84, 84, 84,
2598 420, 85, 85, 85, 86, 86, 86, 82, 1500, 1504,
2599 83, 420, 420, 84, 472, 67, 67, 85, 411, 423,
2600 86, 472, 67, 323, 323, 323, 423, 67, 331, 331,
2602 331, 345, 345, 345, 411, 423, 67, 68, 68, 68,
2603 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2604 68, 68, 563, 68, 68, 68, 68, 68, 87, 87,
2605 87, 88, 88, 88, 89, 89, 89, 563, 90, 90,
2606 90, 91, 91, 91, 87, 585, 594, 88, 585, 594,
2607 89, 486, 68, 68, 90, 428, 439, 91, 486, 68,
2608 354, 354, 354, 439, 68, 358, 358, 358, 366, 366,
2609 366, 428, 439, 68, 71, 71, 71, 71, 71, 71,
2610 71, 71, 71, 71, 71, 71, 71, 71, 71, 1511,
2611 71, 71, 71, 71, 71, 92, 92, 92, 93, 93,
2613 93, 94, 94, 94, 990, 95, 95, 95, 96, 96,
2614 96, 92, 444, 455, 93, 597, 990, 94, 597, 71,
2615 71, 95, 514, 1512, 96, 370, 370, 370, 444, 455,
2616 71, 378, 378, 378, 381, 381, 381, 1513, 71, 72,
2617 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2618 72, 72, 72, 72, 550, 72, 72, 72, 72, 72,
2619 97, 97, 97, 98, 98, 98, 99, 99, 99, 514,
2620 100, 100, 100, 101, 101, 101, 97, 469, 482, 98,
2621 601, 1514, 99, 601, 72, 72, 100, 1517, 495, 101,
2622 102, 102, 102, 469, 482, 72, 389, 389, 389, 392,
2624 392, 392, 1229, 72, 495, 550, 102, 103, 103, 103,
2625 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2626 103, 103, 1229, 103, 103, 103, 103, 103, 105, 105,
2627 105, 106, 106, 106, 107, 107, 107, 1521, 108, 108,
2628 108, 403, 403, 403, 105, 506, 519, 106, 450, 501,
2629 107, 1524, 103, 103, 108, 450, 501, 103, 408, 408,
2630 408, 506, 519, 103, 450, 501, 103, 104, 104, 104,
2631 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2632 104, 104, 1526, 104, 104, 104, 104, 104, 109, 109,
2633 109, 110, 110, 110, 111, 111, 111, 1528, 112, 112,
2635 112, 422, 422, 422, 109, 528, 534, 110, 591, 539,
2636 111, 962, 104, 104, 112, 962, 539, 104, 425, 425,
2637 425, 591, 534, 104, 475, 539, 104, 113, 113, 113,
2638 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2639 113, 113, 528, 113, 113, 113, 113, 113, 115, 115,
2640 115, 116, 116, 116, 117, 117, 117, 1001, 118, 118,
2641 118, 119, 119, 119, 115, 544, 555, 116, 1529, 1001,
2642 117, 475, 113, 113, 118, 475, 1530, 119, 438, 438,
2643 438, 544, 555, 113, 441, 441, 441, 449, 449, 449,
2644 452, 452, 452, 113, 114, 114, 114, 114, 114, 114,
2646 114, 114, 114, 114, 114, 114, 114, 114, 114, 1533,
2647 114, 114, 114, 114, 114, 120, 120, 120, 121, 121,
2648 121, 122, 122, 122, 1535, 125, 125, 125, 126, 126,
2649 126, 120, 672, 765, 121, 672, 590, 122, 896, 114,
2650 114, 125, 590, 896, 126, 462, 462, 462, 590, 765,
2651 114, 466, 466, 466, 474, 474, 474, 479, 479, 479,
2652 114, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2653 123, 123, 123, 123, 123, 123, 1537, 123, 123, 123,
2654 123, 123, 129, 129, 129, 130, 130, 130, 133, 133,
2655 133, 1034, 134, 134, 134, 135, 135, 135, 129, 1542,
2657 1547, 130, 595, 1034, 133, 1551, 123, 123, 134, 1552,
2658 1554, 135, 488, 488, 488, 595, 613, 123, 492, 492,
2659 492, 123, 124, 124, 124, 124, 124, 124, 124, 124,
2660 124, 124, 124, 124, 124, 124, 124, 1566, 124, 124,
2661 124, 124, 124, 136, 136, 136, 137, 137, 137, 138,
2662 138, 138, 613, 139, 139, 139, 140, 140, 140, 136,
2663 1562, 1569, 137, 1570, 599, 138, 1571, 124, 124, 139,
2664 599, 1572, 140, 500, 500, 500, 599, 1562, 124, 503,
2665 503, 503, 124, 127, 127, 127, 127, 127, 127, 127,
2666 127, 127, 127, 127, 127, 127, 127, 127, 1564, 127,
2668 127, 127, 127, 127, 143, 143, 143, 144, 144, 144,
2669 147, 147, 147, 1574, 148, 148, 148, 151, 151, 151,
2670 143, 1575, 1577, 144, 1563, 1578, 147, 1579, 127, 127,
2671 148, 1564, 1583, 151, 512, 512, 512, 516, 516, 516,
2672 526, 526, 526, 127, 531, 531, 531, 1585, 1588, 127,
2673 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2674 128, 128, 128, 128, 128, 1563, 128, 128, 128, 128,
2675 128, 152, 152, 152, 155, 155, 155, 156, 156, 156,
2676 1589, 157, 157, 157, 158, 158, 158, 152, 1590, 1592,
2677 155, 1594, 1595, 156, 1597, 128, 128, 157, 1599, 1602,
2679 158, 538, 538, 538, 541, 541, 541, 548, 548, 548,
2680 128, 552, 552, 552, 1603, 1605, 128, 131, 131, 131,
2681 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2682 131, 131, 1606, 131, 131, 131, 131, 131, 159, 159,
2683 159, 160, 160, 160, 161, 161, 161, 1604, 162, 162,
2684 162, 560, 560, 560, 159, 1604, 1607, 160, 643, 561,
2685 161, 646, 131, 131, 162, 131, 561, 131, 562, 562,
2686 562, 643, 1608, 131, 646, 561, 571, 571, 571, 131,
2687 1608, 1609, 131, 132, 132, 132, 132, 132, 132, 132,
2688 132, 132, 132, 132, 132, 132, 132, 132, 1615, 132,
2690 132, 132, 132, 132, 165, 165, 165, 166, 166, 166,
2691 167, 167, 167, 602, 168, 168, 168, 1616, 1619, 602,
2692 165, 1632, 1633, 166, 647, 602, 167, 879, 132, 132,
2693 168, 132, 603, 132, 571, 627, 879, 647, 603, 132,
2694 1638, 627, 1639, 879, 603, 132, 1640, 627, 132, 141,
2695 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2696 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2697 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2698 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2699 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2701 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2702 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2703 141, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2704 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2705 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2706 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2707 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2708 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2709 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2710 145, 145, 145, 149, 149, 149, 149, 149, 149, 149,
2712 149, 149, 149, 149, 149, 149, 149, 149, 1644, 149,
2713 149, 149, 149, 149, 169, 169, 169, 170, 170, 170,
2714 171, 171, 171, 1645, 172, 172, 172, 611, 611, 611,
2715 169, 1651, 1658, 170, 1659, 1660, 171, 1664, 149, 149,
2716 172, 1670, 1674, 149, 611, 977, 977, 977, 1677, 149,
2717 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2718 150, 150, 150, 150, 150, 1679, 150, 150, 150, 150,
2719 150, 175, 175, 175, 176, 176, 176, 177, 177, 177,
2720 1681, 178, 178, 178, 619, 619, 619, 175, 1458, 1683,
2721 176, 1684, 1685, 177, 1458, 150, 150, 178, 1458, 1688,
2723 150, 619, 1458, 780, 780, 780, 150, 153, 153, 153,
2724 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2725 153, 153, 1690, 153, 153, 153, 153, 153, 179, 179,
2726 179, 180, 180, 180, 181, 181, 181, 1695, 182, 182,
2727 182, 185, 185, 185, 179, 1697, 1704, 180, 1705, 1706,
2728 181, 1708, 153, 153, 182, 1719, 153, 185, 768, 768,
2729 768, 1719, 768, 153, 1722, 153, 780, 799, 799, 799,
2730 1721, 1727, 153, 154, 154, 154, 154, 154, 154, 154,
2731 154, 154, 154, 154, 154, 154, 154, 154, 1728, 154,
2732 154, 154, 154, 154, 186, 186, 186, 189, 189, 189,
2734 190, 190, 190, 1732, 191, 191, 191, 192, 192, 192,
2735 186, 1733, 1734, 189, 1739, 1721, 190, 1745, 154, 154,
2736 191, 1747, 154, 192, 838, 838, 838, 1748, 1751, 154,
2737 799, 154, 1754, 844, 844, 844, 1758, 1759, 154, 163,
2738 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2739 163, 163, 163, 163, 1760, 163, 163, 163, 163, 163,
2740 193, 193, 193, 194, 194, 194, 195, 195, 195, 1761,
2741 196, 196, 196, 199, 199, 199, 193, 1762, 1763, 194,
2742 1764, 1765, 195, 1766, 163, 163, 196, 838, 1767, 199,
2743 163, 810, 810, 810, 1772, 810, 844, 1788, 810, 997,
2745 997, 997, 1789, 1792, 163, 164, 164, 164, 164, 164,
2746 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2747 1793, 164, 164, 164, 164, 164, 200, 200, 200, 201,
2748 201, 201, 202, 202, 202, 1790, 203, 203, 203, 204,
2749 204, 204, 200, 1790, 1794, 201, 1791, 1798, 202, 1804,
2750 164, 164, 203, 1805, 1791, 204, 164, 818, 818, 818,
2751 1806, 818, 1811, 1815, 818, 1243, 1243, 1243, 1816, 1817,
2752 164, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2753 173, 173, 173, 173, 173, 173, 1819, 173, 173, 173,
2754 173, 173, 205, 205, 205, 206, 206, 206, 209, 209,
2756 209, 1720, 210, 210, 210, 213, 213, 213, 205, 1459,
2757 1822, 206, 1823, 1826, 209, 1459, 173, 173, 210, 1459,
2758 1827, 213, 173, 1459, 1830, 173, 834, 834, 834, 1837,
2759 834, 1839, 1720, 834, 1852, 1857, 173, 174, 174, 174,
2760 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2761 174, 174, 1865, 174, 174, 174, 174, 174, 214, 214,
2762 214, 215, 215, 215, 216, 216, 216, 1824, 217, 217,
2763 217, 218, 218, 218, 214, 1824, 1856, 215, 1825, 1873,
2764 216, 1857, 174, 174, 217, 1874, 1825, 218, 174, 1878,
2765 1880, 174, 849, 849, 849, 1892, 849, 1893, 1894, 849,
2767 1895, 1896, 174, 183, 183, 183, 183, 183, 183, 183,
2768 183, 183, 183, 183, 183, 183, 183, 183, 1856, 183,
2769 183, 183, 183, 183, 219, 219, 219, 220, 220, 220,
2770 223, 223, 223, 1897, 224, 224, 224, 332, 1898, 1899,
2771 219, 340, 1900, 220, 1901, 333, 223, 332, 183, 183,
2772 224, 1248, 1248, 1248, 183, 333, 1245, 1245, 1245, 183,
2773 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2774 184, 184, 184, 184, 184, 332, 184, 184, 184, 184,
2775 184, 332, 1907, 333, 332, 340, 340, 1909, 340, 1916,
2776 332, 332, 1917, 1918, 340, 340, 636, 636, 636, 1919,
2778 333, 1920, 1245, 1921, 1922, 184, 184, 1924, 854, 854,
2779 854, 184, 854, 636, 1925, 854, 184, 187, 187, 187,
2780 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2781 187, 187, 1930, 187, 187, 187, 187, 187, 651, 651,
2782 651, 656, 656, 656, 661, 661, 661, 673, 673, 673,
2783 682, 682, 682, 1931, 1933, 651, 1934, 1935, 656, 1936,
2784 1943, 661, 187, 187, 673, 1944, 1945, 682, 187, 1946,
2785 1947, 187, 859, 859, 859, 1948, 859, 1949, 1950, 859,
2786 1952, 1972, 187, 188, 188, 188, 188, 188, 188, 188,
2787 188, 188, 188, 188, 188, 188, 188, 188, 1968, 188,
2789 188, 188, 188, 188, 684, 684, 684, 699, 699, 699,
2790 707, 707, 707, 712, 712, 712, 734, 734, 734, 1976,
2791 1977, 684, 1978, 1981, 699, 1985, 1986, 707, 188, 188,
2792 712, 1987, 1967, 734, 188, 1968, 1988, 188, 871, 871,
2793 871, 1989, 871, 1990, 1991, 871, 1992, 1993, 188, 197,
2794 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
2795 197, 197, 197, 197, 1967, 197, 197, 197, 197, 197,
2796 756, 756, 756, 760, 760, 760, 1994, 1996, 778, 778,
2797 778, 779, 779, 779, 809, 809, 809, 756, 1997, 2002,
2798 760, 806, 806, 806, 197, 197, 778, 2003, 2004, 779,
2800 2006, 809, 197, 2010, 197, 2011, 197, 2014, 2018, 806,
2801 1251, 1251, 1251, 2019, 197, 198, 198, 198, 198, 198,
2802 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
2803 2021, 198, 198, 198, 198, 198, 2024, 2025, 779, 813,
2804 813, 813, 2026, 2027, 807, 807, 807, 814, 814, 814,
2805 817, 817, 817, 2029, 819, 819, 819, 813, 2032, 2034,
2806 198, 198, 807, 2051, 2056, 814, 2057, 817, 198, 2058,
2807 198, 819, 198, 1260, 1260, 1260, 1285, 1285, 1285, 2059,
2808 198, 207, 207, 207, 207, 207, 207, 207, 207, 207,
2809 207, 207, 207, 207, 207, 207, 2053, 207, 207, 207,
2811 207, 207, 2051, 807, 821, 821, 821, 825, 825, 825,
2812 814, 831, 831, 831, 832, 832, 832, 2065, 826, 826,
2813 826, 821, 833, 833, 833, 825, 207, 207, 2066, 831,
2814 2067, 2068, 832, 881, 881, 881, 826, 881, 2053, 833,
2815 881, 884, 884, 884, 2069, 884, 2070, 2071, 884, 207,
2816 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
2817 208, 208, 208, 208, 208, 826, 208, 208, 208, 208,
2818 208, 836, 836, 836, 837, 837, 837, 832, 2072, 2052,
2819 848, 848, 848, 851, 851, 851, 852, 852, 852, 836,
2820 2073, 2074, 837, 2076, 2077, 208, 208, 848, 853, 853,
2822 853, 851, 2081, 2087, 852, 899, 899, 899, 2088, 899,
2823 2092, 837, 899, 2095, 2103, 853, 2052, 2104, 208, 211,
2824 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
2825 211, 211, 211, 211, 2105, 211, 211, 211, 211, 211,
2826 856, 856, 856, 857, 857, 857, 858, 858, 858, 2062,
2827 2113, 852, 861, 861, 861, 862, 862, 862, 856, 2062,
2828 2113, 857, 2062, 858, 211, 211, 2113, 907, 907, 907,
2829 861, 907, 2129, 862, 907, 211, 212, 212, 212, 212,
2830 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
2831 212, 2125, 212, 212, 212, 212, 212, 2130, 865, 865,
2833 865, 866, 866, 866, 2131, 874, 874, 874, 857, 870,
2834 870, 870, 875, 875, 875, 862, 865, 2134, 2135, 866,
2835 2125, 212, 212, 874, 2137, 2138, 870, 1296, 1296, 1296,
2836 875, 2141, 212, 221, 221, 221, 221, 221, 221, 221,
2837 221, 221, 221, 221, 221, 221, 221, 221, 2142, 221,
2838 221, 221, 221, 221, 880, 880, 880, 883, 883, 883,
2839 885, 885, 885, 2063, 2143, 866, 893, 893, 893, 2144,
2840 2136, 880, 875, 2063, 883, 2114, 2063, 885, 221, 221,
2841 894, 894, 894, 2136, 893, 2114, 912, 912, 912, 221,
2842 912, 2114, 2146, 912, 2147, 1297, 1297, 1297, 894, 2148,
2844 2149, 221, 222, 222, 222, 222, 222, 222, 222, 222,
2845 222, 222, 222, 222, 222, 222, 222, 2139, 222, 222,
2846 222, 222, 222, 898, 898, 898, 900, 900, 900, 2153,
2847 2139, 903, 903, 903, 904, 904, 904, 894, 2161, 2162,
2848 898, 1297, 2126, 900, 906, 906, 906, 222, 222, 903,
2849 2163, 2167, 904, 2175, 908, 908, 908, 2177, 222, 2185,
2850 2186, 906, 2187, 2188, 909, 909, 909, 911, 911, 911,
2851 222, 264, 908, 916, 916, 916, 2189, 2190, 264, 917,
2852 917, 917, 909, 2126, 911, 904, 2127, 264, 264, 2200,
2853 2201, 916, 918, 918, 918, 2196, 2205, 917, 1414, 1414,
2855 1414, 919, 919, 919, 920, 920, 920, 2195, 2206, 918,
2856 921, 921, 921, 2207, 2208, 264, 264, 264, 919, 2209,
2857 2210, 920, 264, 264, 909, 264, 264, 2127, 921, 264,
2858 2196, 264, 264, 264, 917, 922, 922, 922, 924, 924,
2859 924, 925, 925, 925, 926, 926, 926, 2211, 927, 927,
2860 927, 2212, 2214, 922, 2195, 924, 2215, 2216, 925, 2217,
2861 2218, 926, 920, 2219, 2220, 927, 928, 928, 928, 2221,
2862 929, 929, 929, 931, 931, 931, 932, 932, 932, 2228,
2863 932, 2232, 2233, 932, 928, 933, 933, 933, 929, 2234,
2864 931, 925, 934, 934, 934, 922, 935, 935, 935, 936,
2866 936, 936, 2235, 933, 2242, 925, 927, 929, 2245, 2252,
2867 934, 2253, 2254, 935, 2255, 2256, 936, 937, 937, 937,
2868 938, 938, 938, 939, 939, 939, 944, 944, 944, 2247,
2869 948, 948, 948, 2248, 937, 945, 945, 945, 938, 2247,
2870 2257, 939, 2266, 2248, 944, 2267, 2268, 934, 948, 936,
2871 949, 949, 949, 945, 950, 950, 950, 951, 951, 951,
2872 2250, 951, 2269, 936, 951, 952, 952, 952, 949, 2259,
2873 2250, 950, 953, 953, 953, 954, 954, 954, 955, 955,
2874 955, 2251, 955, 952, 2270, 955, 957, 957, 957, 2271,
2875 953, 2251, 954, 939, 958, 958, 958, 2272, 945, 973,
2877 973, 973, 2273, 2259, 957, 974, 974, 974, 976, 976,
2878 976, 2276, 958, 949, 1003, 1003, 1003, 973, 1004, 1004,
2879 1004, 2277, 2279, 974, 2280, 2281, 976, 1005, 1005, 1005,
2880 2283, 1003, 953, 1007, 1007, 1007, 1004, 1008, 1008, 1008,
2881 1009, 1009, 1009, 2290, 1009, 1005, 2291, 1009, 1012, 1012,
2882 1012, 1007, 2292, 2294, 1008, 976, 2300, 958, 1014, 1014,
2883 1014, 1015, 1015, 1015, 2301, 1012, 1017, 1017, 1017, 2302,
2884 1019, 1019, 1019, 2303, 1019, 2304, 1014, 1019, 2305, 1015,
2885 2306, 2307, 1007, 2308, 1017, 1022, 1022, 1022, 1023, 1023,
2886 1023, 2309, 1023, 2311, 2312, 1023, 2324, 1024, 1024, 1024,
2888 2325, 2326, 1022, 1025, 1025, 1025, 2327, 2316, 1012, 1028,
2889 1028, 1028, 2328, 1017, 1024, 1026, 1026, 1026, 2329, 1026,
2890 1025, 2330, 1026, 1030, 1030, 1030, 1028, 1031, 1031, 1031,
2891 1033, 1033, 1033, 1036, 1036, 1036, 1038, 1038, 1038, 2331,
2892 2335, 1030, 1039, 1039, 1039, 1031, 2336, 2337, 1033, 2316,
2893 1036, 1041, 1041, 1041, 1038, 1042, 1042, 1042, 2338, 1042,
2894 1039, 2339, 1042, 1046, 1046, 1046, 1047, 1047, 1047, 1041,
2895 1049, 1049, 1049, 1059, 1059, 1059, 2340, 1059, 2344, 2345,
2896 1059, 1046, 2346, 2349, 1047, 1063, 1063, 1063, 1049, 1033,
2897 1064, 1064, 1064, 1066, 1066, 1066, 2354, 2355, 1041, 2356,
2899 1067, 1067, 1067, 1063, 1067, 2357, 2358, 1067, 1064, 2359,
2900 2360, 1066, 1071, 1071, 1071, 1072, 1072, 1072, 1074, 1074,
2901 1074, 1075, 1075, 1075, 2361, 1075, 2362, 2363, 1075, 2364,
2902 1071, 2365, 2366, 1072, 2372, 2375, 1074, 1078, 1078, 1078,
2903 1079, 1079, 1079, 1080, 1080, 1080, 1082, 1082, 1082, 1083,
2904 1083, 1083, 2369, 1066, 1078, 1084, 1084, 1084, 1079, 2376,
2905 2379, 1080, 2368, 2369, 1082, 2381, 1083, 1085, 1085, 1085,
2906 2382, 2384, 1084, 1086, 1086, 1086, 2368, 2366, 1074, 1088,
2907 1088, 1088, 2385, 1084, 2388, 1085, 1091, 1091, 1091, 2389,
2908 2390, 1086, 1092, 1092, 1092, 2394, 1092, 1088, 2392, 1092,
2910 1097, 1097, 1097, 1091, 1098, 1098, 1098, 1100, 1100, 1100,
2911 2392, 2393, 1082, 1107, 1107, 1107, 2402, 1107, 1097, 2404,
2912 1107, 2406, 1098, 2393, 2408, 1100, 1110, 1110, 1110, 1111,
2913 1111, 1111, 2416, 1111, 2414, 2418, 1111, 1114, 1114, 1114,
2914 1123, 1123, 1123, 1110, 1088, 1115, 1115, 1115, 2414, 1115,
2915 2413, 2420, 1115, 2399, 1114, 1124, 1124, 1124, 1123, 1126,
2916 1126, 1126, 1131, 1131, 1131, 2399, 1131, 2415, 2415, 1131,
2917 2417, 1100, 2400, 1124, 1134, 1134, 1134, 1126, 1135, 1135,
2918 1135, 2417, 1135, 2421, 2400, 1135, 1138, 1138, 1138, 2422,
2919 2413, 1134, 1139, 1139, 1139, 1141, 1141, 1141, 1143, 1143,
2921 1143, 2423, 1143, 2432, 1138, 1143, 1146, 1146, 1146, 2434,
2922 1139, 2437, 2431, 1141, 1147, 1147, 1147, 1149, 1149, 1149,
2923 1157, 1157, 1157, 2439, 1146, 1126, 1151, 1151, 1151, 2445,
2924 1151, 2431, 1147, 1151, 2446, 1149, 2447, 2433, 1157, 1158,
2925 1158, 1158, 1160, 1160, 1160, 2449, 1141, 1161, 1161, 1161,
2926 2450, 1162, 1162, 1162, 2451, 1162, 2433, 1158, 1162, 2452,
2927 1160, 1163, 1163, 1163, 1161, 1164, 1164, 1164, 2459, 1164,
2928 2460, 2436, 1164, 1166, 1166, 1166, 2438, 2461, 1163, 1167,
2929 1167, 1167, 2462, 1149, 1169, 1169, 1169, 1171, 1171, 1171,
2930 2436, 1166, 1172, 1172, 1172, 2438, 1172, 1167, 2463, 1172,
2932 2464, 1160, 1169, 2467, 1171, 1175, 1175, 1175, 1176, 1176,
2933 1176, 2468, 1176, 2469, 2470, 1176, 1178, 1178, 1178, 1179,
2934 1179, 1179, 1175, 1181, 1181, 1181, 1183, 1183, 1183, 2471,
2935 1183, 2472, 2474, 1183, 1178, 2476, 2478, 1179, 1186, 1186,
2936 1186, 1181, 1187, 1187, 1187, 1189, 1189, 1189, 2488, 2489,
2937 1169, 1190, 1190, 1190, 2490, 2491, 1186, 1191, 1191, 1191,
2938 1187, 1191, 2486, 1189, 1191, 1194, 1194, 1194, 1190, 1195,
2939 1195, 1195, 2492, 1195, 2486, 2493, 1195, 1196, 1196, 1196,
2940 2497, 2487, 1194, 1197, 1197, 1197, 1181, 1199, 1199, 1199,
2941 1201, 1201, 1201, 2487, 2498, 1196, 1204, 1204, 1204, 2499,
2943 2500, 1197, 2501, 2502, 1189, 1199, 2505, 1201, 1205, 1205,
2944 1205, 1207, 1207, 1207, 1204, 1210, 1210, 1210, 1211, 1211,
2945 1211, 1213, 1213, 1213, 2506, 2507, 1205, 2508, 2509, 1207,
2946 1214, 1214, 1214, 1210, 1214, 2503, 1211, 1214, 2510, 1213,
2947 1217, 1217, 1217, 1218, 1218, 1218, 2511, 2512, 1199, 1220,
2948 1220, 1220, 1221, 1221, 1221, 2513, 1221, 2514, 1217, 1221,
2949 2503, 1218, 1225, 1225, 1225, 2515, 2516, 1220, 1226, 1226,
2950 1226, 1207, 2517, 2518, 1213, 1228, 1228, 1228, 2519, 2520,
2951 1225, 1230, 1230, 1230, 2521, 2522, 1226, 1237, 1237, 1237,
2952 1263, 1263, 1263, 1228, 1264, 1264, 1264, 2526, 1264, 1230,
2954 1230, 1264, 1265, 1265, 1265, 1237, 2523, 1263, 1220, 1266,
2955 1266, 1266, 1267, 1267, 1267, 2527, 1267, 2528, 2529, 1267,
2956 1265, 1270, 1270, 1270, 2530, 2523, 1266, 1272, 1272, 1272,
2957 2531, 1272, 2532, 2533, 1272, 1228, 1275, 1275, 1275, 1270,
2958 1276, 1276, 1276, 2534, 1276, 2535, 2536, 1276, 1281, 1281,
2959 1281, 2537, 1237, 1275, 1277, 1277, 1277, 2538, 1277, 1265,
2960 2539, 1277, 1282, 1282, 1282, 1281, 1282, 2540, 2541, 1282,
2961 1270, 1284, 1284, 1284, 1287, 1287, 1287, 1288, 1288, 1288,
2962 2543, 1288, 2544, 2542, 1288, 1289, 1289, 1289, 2545, 1284,
2963 2546, 1287, 1290, 1290, 1290, 1292, 1292, 1292, 1303, 1303,
2965 1303, 2547, 1289, 2542, 1304, 1304, 1304, 1306, 1306, 1306,
2966 1290, 2548, 2549, 1292, 2550, 1303, 1307, 1307, 1307, 2551,
2967 2552, 1284, 1304, 2553, 2554, 1306, 2555, 1308, 1308, 1308,
2968 2556, 1308, 2557, 1307, 1308, 1309, 1309, 1309, 1310, 1310,
2969 1310, 1290, 1311, 1311, 1311, 2558, 1311, 2560, 2559, 1311,
2970 1313, 1313, 1313, 1309, 2559, 1310, 1316, 1316, 1316, 1317,
2971 1317, 1317, 2561, 1317, 2562, 2563, 1317, 1304, 1313, 2564,
2972 1306, 2565, 2567, 1316, 1318, 1318, 1318, 2568, 1319, 1319,
2973 1319, 1320, 1320, 1320, 1324, 1324, 1324, 1327, 1327, 1327,
2974 2570, 1318, 2571, 2573, 1309, 1319, 1328, 1328, 1328, 1320,
2976 1328, 1324, 2574, 1328, 1327, 1329, 1329, 1329, 2576, 1329,
2977 1313, 2577, 1329, 1332, 1332, 1332, 1339, 1339, 1339, 1341,
2978 1341, 1341, 2576, 2578, 1319, 1344, 1344, 1344, 2579, 1344,
2979 1332, 2580, 1344, 2582, 1339, 2584, 1341, 1347, 1347, 1347,
2980 1349, 1349, 1349, 1351, 1351, 1351, 1320, 1355, 1355, 1355,
2981 1356, 1356, 1356, 2586, 1347, 1357, 1357, 1357, 1349, 1357,
2982 2588, 1351, 1357, 2590, 1355, 1360, 1360, 1360, 1356, 1360,
2983 2591, 2592, 1360, 1364, 1364, 1364, 1365, 1365, 1365, 2593,
2984 1339, 1366, 1366, 1366, 2594, 1366, 2595, 2596, 1366, 2597,
2985 2599, 1364, 2601, 1355, 1371, 1371, 1371, 2603, 1371, 2604,
2987 2605, 1371, 2606, 1349, 1443, 2631, 1356, 2697, 1351, 1375,
2988 1375, 1375, 1377, 1377, 1377, 2607, 1378, 1378, 1378, 2615,
2989 1378, 2697, 1365, 1378, 1383, 1383, 1383, 1375, 1383, 2616,
2990 1377, 1383, 1386, 1386, 1386, 1388, 1388, 1388, 1364, 1389,
2991 1389, 1389, 2608, 1389, 2619, 2631, 1389, 1392, 1392, 1392,
2992 1386, 2607, 1388, 1394, 1394, 1394, 1395, 1395, 1395, 1396,
2993 1396, 1396, 1398, 1398, 1398, 1392, 2615, 2623, 1377, 1375,
2994 1394, 1397, 1397, 1397, 1395, 2623, 2616, 1396, 2608, 1386,
2995 1398, 1401, 1401, 1401, 1408, 1408, 1408, 2619, 1397, 1416,
2996 1416, 1416, 1418, 1418, 1418, 2632, 1392, 2621, 2617, 1401,
2998 2620, 2621, 1408, 1420, 1420, 1420, 1423, 1423, 1423, 2629,
2999 2618, 1396, 1425, 1425, 1425, 1427, 1427, 1427, 1432, 1432,
3000 1432, 2630, 1395, 1398, 1434, 1434, 1434, 1435, 1435, 1435,
3001 2633, 1435, 1401, 1442, 1435, 2632, 1408, 1438, 1438, 1438,
3002 1439, 1439, 1439, 2620, 1439, 2617, 2629, 1439, 1401, 1444,
3003 1444, 1444, 1446, 1446, 1446, 1438, 1446, 2618, 2630, 1446,
3004 2624, 1427, 1450, 1450, 1450, 2633, 1450, 1444, 2624, 1450,
3005 1434, 1454, 1454, 1454, 2625, 1425, 1455, 1455, 1455, 1457,
3006 1457, 1457, 2625, 1457, 2622, 2626, 1457, 2653, 2622, 1454,
3007 1460, 1460, 1460, 2626, 1461, 1461, 1461, 2654, 1461, 1433,
3009 1444, 1461, 2634, 1438, 1462, 1462, 1462, 1460, 1466, 1466,
3010 1466, 1467, 1467, 1467, 1468, 1468, 1468, 1470, 1470, 1470,
3011 2653, 2639, 1462, 1471, 1471, 1471, 1473, 1473, 1473, 2627,
3012 2654, 1454, 1474, 1474, 1474, 1431, 1474, 2634, 2679, 1474,
3013 1475, 1475, 1475, 1473, 1476, 1476, 1476, 1477, 1477, 1477,
3014 1478, 1478, 1478, 2639, 1478, 1462, 2637, 1478, 1475, 2628,
3015 1430, 1476, 1485, 1485, 1485, 1477, 1481, 1481, 1481, 1482,
3016 1482, 1482, 2635, 1482, 2636, 2627, 1482, 1468, 2679, 1485,
3017 1470, 1486, 1486, 1486, 1481, 2649, 1471, 1475, 1489, 1489,
3018 1489, 2693, 1489, 2637, 1477, 1489, 1492, 1492, 1492, 1486,
3020 1493, 1493, 1493, 2641, 1493, 2628, 2638, 1493, 1494, 1494,
3021 1494, 2642, 2641, 1492, 1495, 1495, 1495, 2635, 1495, 2636,
3022 2642, 1495, 1497, 1497, 1497, 1494, 1498, 1498, 1498, 2640,
3023 2649, 1481, 1501, 1501, 1501, 1502, 1502, 1502, 2693, 1502,
3024 1497, 1429, 1502, 2638, 1486, 1503, 1503, 1503, 1428, 1501,
3025 1505, 1505, 1505, 2650, 1505, 2643, 2644, 1505, 1508, 1508,
3026 1508, 2640, 1503, 1509, 1509, 1509, 1426, 1509, 1424, 2694,
3027 1509, 1510, 1510, 1510, 2645, 1508, 1515, 1515, 1515, 1516,
3028 1516, 1516, 1518, 1518, 1518, 1519, 1519, 1519, 1510, 1519,
3029 2643, 2644, 1519, 1515, 1520, 1520, 1520, 1516, 2650, 1518,
3031 1522, 1522, 1522, 1523, 1523, 1523, 2647, 1523, 2645, 2646,
3032 1523, 1520, 1525, 1525, 1525, 2669, 2694, 1522, 1527, 1527,
3033 1527, 1531, 1531, 1531, 1532, 1532, 1532, 2680, 1532, 2673,
3034 1525, 1532, 1534, 1534, 1534, 2651, 1527, 2673, 1531, 1536,
3035 1536, 1536, 1422, 2646, 1516, 1538, 1538, 1538, 2647, 2669,
3036 1534, 1539, 1539, 1539, 1540, 1540, 1540, 1536, 1541, 1541,
3037 1541, 2652, 1538, 1543, 1543, 1543, 2648, 2680, 1539, 1527,
3038 2651, 1540, 1544, 1544, 1544, 2659, 1541, 1545, 1545, 1545,
3039 1421, 1543, 1546, 1546, 1546, 1553, 1553, 1553, 2655, 1544,
3040 1536, 1548, 1548, 1548, 1545, 1548, 2652, 2655, 1548, 2660,
3042 1546, 2656, 1419, 1553, 1555, 1555, 1555, 2681, 2648, 1543,
3043 2656, 1556, 1556, 1556, 2667, 1556, 2659, 1540, 1556, 2665,
3044 2674, 1555, 1417, 2667, 1541, 1557, 1557, 1557, 2674, 1558,
3045 1558, 1558, 1559, 1559, 1559, 2670, 1553, 1560, 1560, 1560,
3046 2660, 1560, 2681, 1557, 1560, 2657, 1546, 1558, 2665, 1559,
3047 1561, 1561, 1561, 1567, 1567, 1567, 1568, 1568, 1568, 1573,
3048 1573, 1573, 1576, 1576, 1576, 1580, 1580, 1580, 1561, 2670,
3049 1567, 1581, 1581, 1581, 1568, 1582, 1582, 1582, 1584, 1584,
3050 1584, 2661, 2657, 1557, 1558, 1586, 1586, 1586, 1587, 1587,
3051 1587, 1591, 1591, 1591, 1593, 1593, 1593, 1596, 1596, 1596,
3053 1598, 1598, 1598, 1600, 1600, 1600, 1601, 1601, 1601, 1613,
3054 1613, 1613, 1593, 1415, 2658, 1596, 1568, 1598, 1610, 1610,
3055 1610, 1600, 1610, 1601, 2687, 1610, 2661, 1613, 1614, 1614,
3056 1614, 1617, 1617, 1617, 1618, 1618, 1618, 1620, 1620, 1620,
3057 1624, 1624, 1624, 2662, 1593, 1614, 1621, 1621, 1621, 2663,
3058 1621, 2658, 2664, 1621, 1620, 1613, 2687, 2682, 1624, 2668,
3059 2698, 1600, 1625, 1625, 1625, 1626, 1626, 1626, 2668, 1626,
3060 2671, 2698, 1626, 1627, 1627, 1627, 1628, 1628, 1628, 1625,
3061 1629, 1629, 1629, 1630, 1630, 1630, 2663, 1630, 2662, 2664,
3062 1630, 1627, 2682, 1624, 1628, 2666, 1413, 1629, 1631, 1631,
3064 1631, 1634, 1634, 1634, 2689, 1634, 2672, 2675, 1634, 2677,
3065 1637, 1637, 1637, 2689, 1637, 2671, 1631, 1637, 1641, 1641,
3066 1641, 1643, 1643, 1643, 2666, 2678, 1627, 1646, 1646, 1646,
3067 1412, 1646, 2683, 2676, 1646, 2684, 1641, 1649, 1649, 1649,
3068 1650, 1650, 1650, 1411, 1650, 1631, 2677, 1650, 1652, 1652,
3069 1652, 2672, 1652, 2675, 1649, 1652, 1655, 1655, 1655, 1656,
3070 1656, 1656, 2678, 1656, 2688, 2685, 1656, 1657, 1657, 1657,
3071 1661, 1661, 1661, 1655, 1662, 1662, 1662, 2683, 1662, 2676,
3072 2684, 1662, 2691, 1410, 1657, 1409, 1407, 1661, 1663, 1663,
3073 1663, 1665, 1665, 1665, 2686, 1665, 2688, 1406, 1665, 1668,
3075 1668, 1668, 2685, 1669, 1669, 1669, 1663, 1669, 2690, 2692,
3076 1669, 1671, 1671, 1671, 2691, 1671, 1668, 2690, 1671, 1675,
3077 1675, 1675, 1678, 1678, 1678, 1680, 1680, 1680, 1682, 1682,
3078 1682, 2686, 1682, 2695, 1403, 1682, 1400, 1675, 2696, 1663,
3079 1678, 2692, 1680, 1686, 1686, 1686, 1689, 1689, 1689, 1691,
3080 1691, 1691, 1692, 1692, 1692, 1393, 1692, 1391, 1390, 1692,
3081 1387, 1686, 1382, 1381, 1689, 2695, 1691, 1693, 1693, 1693,
3082 2696, 1680, 1694, 1694, 1694, 1376, 1694, 1374, 1370, 1694,
3083 1696, 1696, 1696, 1369, 1693, 1678, 1698, 1698, 1698, 1699,
3084 1699, 1699, 1700, 1700, 1700, 1363, 1700, 1354, 1696, 1700,
3086 1701, 1701, 1701, 1353, 1698, 1352, 1699, 1702, 1702, 1702,
3087 1350, 1702, 1348, 1343, 1702, 1342, 1340, 1701, 1703, 1703,
3088 1703, 1707, 1707, 1707, 1709, 1709, 1709, 1338, 1709, 1337,
3089 1336, 1709, 1712, 1712, 1712, 1698, 1703, 1335, 1334, 1707,
3090 1713, 1713, 1713, 1333, 1326, 1696, 1325, 1714, 1714, 1714,
3091 1712, 1714, 1323, 1322, 1714, 1717, 1717, 1717, 1713, 1723,
3092 1723, 1723, 1724, 1724, 1724, 1321, 1724, 1315, 1314, 1724,
3093 1725, 1725, 1725, 1717, 1312, 1305, 1723, 1726, 1726, 1726,
3094 1302, 1301, 1703, 1712, 1300, 1707, 1299, 1298, 1725, 1729,
3095 1729, 1729, 1295, 1713, 1730, 1730, 1730, 1731, 1731, 1731,
3097 1735, 1735, 1735, 1736, 1736, 1736, 1737, 1737, 1737, 1738,
3098 1738, 1738, 1740, 1740, 1740, 1741, 1741, 1741, 1742, 1742,
3099 1742, 1743, 1743, 1743, 1744, 1744, 1744, 1746, 1746, 1746,
3100 1749, 1749, 1749, 1725, 1752, 1752, 1752, 1753, 1753, 1753,
3101 1294, 1753, 1291, 1286, 1753, 1746, 1283, 1280, 1749, 1271,
3102 1269, 1752, 1755, 1755, 1755, 1738, 1756, 1756, 1756, 1757,
3103 1757, 1757, 1268, 1757, 1262, 1261, 1757, 1768, 1768, 1768,
3104 1755, 1259, 1258, 1756, 1769, 1769, 1769, 1257, 1746, 1770,
3105 1770, 1770, 1256, 1770, 1255, 1768, 1770, 1771, 1771, 1771,
3106 1254, 1769, 1773, 1773, 1773, 1774, 1774, 1774, 1775, 1775,
3108 1775, 1776, 1776, 1776, 1253, 1776, 1252, 1250, 1776, 1777,
3109 1777, 1777, 1781, 1781, 1781, 1775, 1768, 1778, 1778, 1778,
3110 1249, 1778, 1247, 1246, 1778, 1244, 1242, 1777, 1241, 1240,
3111 1781, 1782, 1782, 1782, 1239, 1784, 1784, 1784, 1238, 1784,
3112 1236, 1774, 1784, 1787, 1787, 1787, 1795, 1795, 1795, 1782,
3113 1795, 1235, 1234, 1795, 1233, 1799, 1799, 1799, 1224, 1799,
3114 1777, 1787, 1799, 1781, 1802, 1802, 1802, 1803, 1803, 1803,
3115 1209, 1803, 1208, 1203, 1803, 1807, 1807, 1807, 1202, 1807,
3116 1200, 1802, 1807, 1810, 1810, 1810, 1812, 1812, 1812, 1193,
3117 1812, 1192, 1182, 1812, 1177, 1174, 1787, 1818, 1818, 1818,
3119 1173, 1810, 1820, 1820, 1820, 1821, 1821, 1821, 1170, 1821,
3120 1165, 1156, 1821, 1155, 1154, 1818, 1828, 1828, 1828, 1820,
3121 1831, 1831, 1831, 1150, 1831, 1142, 1137, 1831, 1834, 1834,
3122 1834, 1136, 1834, 1130, 1828, 1834, 1838, 1838, 1838, 1840,
3123 1840, 1840, 1129, 1841, 1841, 1841, 1810, 1841, 1128, 1127,
3124 1841, 1844, 1844, 1844, 1838, 1844, 1122, 1840, 1844, 1847,
3125 1847, 1847, 1848, 1848, 1848, 1849, 1849, 1849, 1850, 1850,
3126 1850, 1851, 1851, 1851, 1853, 1853, 1853, 1847, 1121, 1848,
3127 1120, 1119, 1849, 1118, 1117, 1850, 1116, 1838, 1106, 1851,
3128 1105, 1104, 1853, 1103, 1102, 1847, 1854, 1854, 1854, 1855,
3130 1855, 1855, 1101, 1096, 1840, 1858, 1858, 1858, 1859, 1859,
3131 1859, 1095, 1859, 1090, 1854, 1859, 1849, 1855, 1862, 1862,
3132 1862, 1863, 1863, 1863, 1089, 1070, 1850, 1864, 1864, 1864,
3133 1866, 1866, 1866, 1853, 1062, 1851, 1862, 1867, 1867, 1867,
3134 1868, 1868, 1868, 1869, 1869, 1869, 1870, 1870, 1870, 1871,
3135 1871, 1871, 1872, 1872, 1872, 1875, 1875, 1875, 1876, 1876,
3136 1876, 1877, 1877, 1877, 1879, 1879, 1879, 1882, 1882, 1882,
3137 1883, 1883, 1883, 1058, 1883, 1057, 1862, 1883, 1886, 1886,
3138 1886, 1056, 1879, 1055, 1882, 1887, 1887, 1887, 1054, 1889,
3139 1889, 1889, 1053, 1889, 1052, 1886, 1889, 1902, 1902, 1902,
3141 1903, 1903, 1903, 1887, 1903, 1051, 1050, 1903, 1906, 1906,
3142 1906, 1908, 1908, 1908, 1045, 1902, 1910, 1910, 1910, 1037,
3143 1910, 1035, 1029, 1910, 1913, 1913, 1913, 1914, 1914, 1914,
3144 1915, 1915, 1915, 1923, 1923, 1923, 1027, 1926, 1926, 1926,
3145 1018, 1926, 1913, 1886, 1926, 1914, 1013, 1002, 1915, 1929,
3146 1929, 1929, 1000, 1932, 1932, 1932, 999, 1902, 1937, 1937,
3147 1937, 1939, 1939, 1939, 998, 996, 1929, 1951, 1951, 1951,
3148 1913, 1932, 995, 1940, 1940, 1940, 1937, 1940, 1939, 994,
3149 1940, 1915, 1953, 1953, 1953, 1954, 1954, 1954, 1955, 1955,
3150 1955, 1956, 1956, 1956, 1957, 1957, 1957, 1958, 1958, 1958,
3152 1953, 1958, 1954, 993, 1958, 992, 1955, 1939, 991, 1956,
3153 989, 1957, 1959, 1959, 1959, 1960, 1960, 1960, 1961, 1961,
3154 1961, 1962, 1962, 1962, 1963, 1963, 1963, 988, 987, 1959,
3155 986, 985, 1960, 1969, 1969, 1969, 1961, 1964, 1964, 1964,
3156 984, 983, 1963, 1966, 1966, 1966, 982, 1955, 1971, 1971,
3157 1971, 1956, 1970, 1970, 1970, 1964, 1973, 1973, 1973, 981,
3158 980, 1966, 1974, 1974, 1974, 979, 1960, 1975, 1975, 1975,
3159 1970, 978, 1979, 1979, 1979, 1982, 1982, 1982, 1983, 1983,
3160 1983, 972, 1983, 971, 970, 1983, 1984, 1984, 1984, 1963,
3161 1979, 967, 1982, 1995, 1995, 1995, 1998, 1998, 1998, 1999,
3163 1999, 1999, 966, 1984, 1966, 2001, 2001, 2001, 2008, 2008,
3164 2008, 1995, 965, 963, 1998, 959, 956, 1999, 2009, 2009,
3165 2009, 947, 946, 2001, 943, 2008, 2012, 2012, 2012, 2013,
3166 2013, 2013, 942, 2013, 941, 940, 2013, 2015, 2015, 2015,
3167 930, 1984, 923, 2012, 2016, 2016, 2016, 2020, 2020, 2020,
3168 915, 914, 1995, 913, 2015, 2022, 2022, 2022, 2031, 2031,
3169 2031, 1998, 2016, 910, 2020, 905, 2023, 2023, 2023, 902,
3170 2023, 901, 2022, 2023, 897, 2031, 2033, 2033, 2033, 2035,
3171 2035, 2035, 2037, 2037, 2037, 2038, 2038, 2038, 895, 2038,
3172 892, 891, 2038, 2039, 2039, 2039, 890, 2035, 889, 2037,
3174 2040, 2040, 2040, 2041, 2041, 2041, 888, 2041, 887, 886,
3175 2041, 2039, 2044, 2044, 2044, 2045, 2045, 2045, 2040, 2045,
3176 882, 878, 2045, 2046, 2046, 2046, 2047, 2047, 2047, 2044,
3177 2049, 2049, 2049, 2050, 2050, 2050, 2054, 2054, 2054, 877,
3178 2046, 2060, 2060, 2060, 2047, 2061, 2061, 2061, 876, 2061,
3179 873, 2050, 2061, 872, 2054, 2064, 2064, 2064, 2060, 2075,
3180 2075, 2075, 2078, 2078, 2078, 869, 2040, 2079, 2079, 2079,
3181 868, 867, 2064, 2082, 2082, 2082, 864, 2075, 863, 860,
3182 2078, 2085, 2085, 2085, 855, 2079, 850, 2086, 2086, 2086,
3183 2082, 2086, 847, 846, 2086, 2089, 2089, 2089, 2085, 2089,
3185 845, 843, 2089, 2093, 2093, 2093, 2094, 2094, 2094, 842,
3186 2094, 841, 840, 2094, 839, 2064, 835, 830, 2075, 829,
3187 2093, 2096, 2096, 2096, 2097, 2097, 2097, 2098, 2098, 2098,
3188 828, 2098, 2078, 827, 2098, 2099, 2099, 2099, 2096, 824,
3189 823, 2097, 2100, 2100, 2100, 822, 2100, 820, 816, 2100,
3190 812, 811, 2099, 2108, 2108, 2108, 2109, 2109, 2109, 808,
3191 2109, 805, 804, 2109, 2110, 2110, 2110, 2111, 2111, 2111,
3192 2108, 2112, 2112, 2112, 803, 2112, 802, 801, 2112, 800,
3193 798, 2110, 797, 796, 2111, 2115, 2115, 2115, 2117, 2117,
3194 2117, 2118, 2118, 2118, 795, 2118, 794, 793, 2118, 2121,
3196 2121, 2121, 792, 2115, 791, 790, 2117, 2122, 2122, 2122,
3197 789, 2122, 788, 787, 2122, 786, 2121, 2123, 2123, 2123,
3198 2128, 2128, 2128, 2132, 2132, 2132, 2133, 2133, 2133, 785,
3199 2133, 784, 783, 2133, 782, 2123, 781, 2140, 2140, 2140,
3200 2132, 2151, 2151, 2151, 2152, 2152, 2152, 2154, 2154, 2154,
3201 2156, 2156, 2156, 2117, 2140, 2155, 2155, 2155, 777, 2151,
3202 776, 774, 2157, 2157, 2157, 2154, 2157, 2156, 773, 2157,
3203 772, 771, 2155, 2158, 2158, 2158, 770, 2158, 766, 764,
3204 2158, 2164, 2164, 2164, 763, 2164, 762, 761, 2164, 2168,
3205 2168, 2168, 2151, 2169, 2169, 2169, 2140, 2169, 757, 753,
3207 2169, 2155, 752, 2170, 2170, 2170, 2168, 2170, 2154, 749,
3208 2170, 2173, 2173, 2173, 2174, 2174, 2174, 748, 2174, 747,
3209 746, 2174, 2176, 2176, 2176, 2178, 2178, 2178, 2173, 2178,
3210 745, 744, 2178, 2181, 2181, 2181, 2182, 2182, 2182, 2176,
3211 2182, 741, 740, 2182, 2183, 2183, 2183, 2184, 2184, 2184,
3212 2181, 2184, 739, 738, 2184, 2191, 2191, 2191, 2192, 2192,
3213 2192, 2183, 2192, 735, 733, 2192, 2197, 2197, 2197, 2198,
3214 2198, 2198, 730, 2191, 2199, 2199, 2199, 729, 2202, 2202,
3215 2202, 728, 2202, 2197, 2197, 2202, 2213, 2213, 2213, 2222,
3216 2222, 2222, 2223, 2223, 2223, 2224, 2224, 2224, 2225, 2225,
3218 2225, 727, 726, 2213, 723, 722, 2191, 2222, 2226, 2226,
3219 2226, 2227, 2227, 2227, 721, 2227, 2225, 720, 2227, 2229,
3220 2229, 2229, 719, 2229, 716, 2226, 2229, 2236, 2236, 2236,
3221 715, 2236, 714, 713, 2236, 2239, 2239, 2239, 2222, 2239,
3222 711, 708, 2239, 2243, 2243, 2243, 2244, 2244, 2244, 2225,
3223 2244, 706, 703, 2244, 2246, 2246, 2246, 702, 2246, 701,
3224 2243, 2246, 2249, 2249, 2249, 700, 2249, 698, 697, 2249,
3225 2258, 2258, 2258, 2260, 2260, 2260, 2261, 2261, 2261, 2262,
3226 2262, 2262, 696, 2262, 693, 692, 2262, 691, 2258, 690,
3227 2260, 2260, 689, 2261, 2261, 688, 687, 2262, 2263, 2263,
3229 2263, 2264, 2264, 2264, 2265, 2265, 2265, 2274, 2274, 2274,
3230 2275, 2275, 2275, 686, 2275, 685, 683, 2275, 2284, 2284,
3231 2284, 2285, 2285, 2285, 2274, 2286, 2286, 2286, 2287, 2287,
3232 2287, 681, 2287, 680, 676, 2287, 2284, 2293, 2293, 2293,
3233 2295, 2295, 2295, 2286, 2296, 2296, 2296, 675, 2296, 674,
3234 671, 2296, 668, 667, 2293, 666, 663, 2295, 2299, 2299,
3235 2299, 2314, 2314, 2314, 2317, 2317, 2317, 2318, 2318, 2318,
3236 662, 2318, 658, 657, 2318, 2299, 2322, 2322, 2322, 2314,
3237 653, 2317, 2317, 2284, 652, 2318, 2319, 2319, 2319, 650,
3238 2319, 645, 644, 2319, 2323, 2323, 2323, 2341, 2341, 2341,
3240 2342, 2342, 2342, 642, 2319, 2320, 2320, 2320, 2320, 2320,
3241 2320, 2320, 2320, 2320, 641, 2341, 2320, 640, 2342, 639,
3242 638, 2320, 2320, 2320, 2320, 2320, 2332, 2332, 2332, 637,
3243 2332, 633, 632, 2332, 2348, 2348, 2348, 631, 2348, 630,
3244 626, 2348, 625, 624, 2347, 2347, 2347, 2350, 2350, 2350,
3245 2320, 2320, 2321, 2321, 2321, 2321, 2321, 2321, 2321, 2321,
3246 2321, 2347, 623, 2321, 2350, 2352, 2352, 2352, 2321, 2321,
3247 2321, 2321, 2321, 2351, 2351, 2351, 622, 2351, 621, 620,
3248 2351, 618, 2352, 2353, 2353, 2353, 615, 2353, 614, 612,
3249 2353, 610, 2367, 2367, 2367, 607, 2367, 2321, 2321, 2367,
3251 606, 600, 2386, 2386, 2386, 2419, 2419, 2419, 598, 596,
3252 2367, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3253 2386, 593, 2370, 2419, 2419, 592, 588, 2370, 2370, 2370,
3254 2370, 2370, 2391, 2391, 2391, 587, 2391, 586, 584, 2391,
3255 2395, 2395, 2395, 583, 2395, 582, 581, 2395, 2398, 2398,
3256 2398, 580, 2398, 577, 576, 2398, 2370, 2370, 2371, 2371,
3257 2371, 2371, 2371, 2371, 2371, 2371, 2371, 575, 574, 2371,
3258 2428, 2428, 2428, 573, 2371, 2371, 2371, 2371, 2371, 2429,
3259 2429, 2429, 2430, 2430, 2430, 567, 566, 2428, 2435, 2435,
3260 2435, 2444, 2444, 2444, 564, 558, 2429, 557, 553, 2430,
3262 2448, 2448, 2448, 2371, 2371, 2435, 2453, 2453, 2453, 2444,
3263 2454, 2454, 2454, 549, 2454, 546, 542, 2454, 2448, 2455,
3264 2455, 2455, 536, 2453, 2456, 2456, 2456, 532, 2456, 524,
3265 523, 2456, 2457, 2457, 2457, 522, 2455, 2458, 2458, 2458,
3266 521, 2458, 517, 513, 2458, 2465, 2465, 2465, 510, 2457,
3267 509, 2448, 2466, 2466, 2466, 508, 2466, 504, 498, 2466,
3268 497, 493, 2465, 2473, 2473, 2473, 2479, 2479, 2479, 489,
3269 2479, 485, 484, 2479, 480, 2482, 2482, 2482, 477, 2482,
3270 476, 2473, 2482, 2485, 2485, 2485, 471, 2485, 467, 463,
3271 2485, 2494, 2494, 2494, 459, 2494, 458, 457, 2494, 453,
3273 2473, 2589, 2589, 2589, 2598, 2598, 2598, 447, 2598, 446,
3274 442, 2598, 2699, 2699, 2699, 2700, 2700, 2700, 436, 2589,
3275 435, 434, 2598, 433, 432, 431, 430, 426, 417, 416,
3276 2699, 415, 413, 2700, 2703, 2703, 2703, 2703, 2703, 2703,
3277 2703, 2703, 2703, 2704, 2704, 2704, 2704, 2704, 2704, 2704,
3278 2704, 2704, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705,
3279 2705, 2706, 2706, 2706, 2706, 2706, 2706, 2706, 2706, 2706,
3280 2707, 2707, 2707, 2707, 2707, 2707, 2707, 2707, 2707, 2708,
3281 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2709, 2709,
3282 2709, 2709, 2709, 2709, 2709, 2709, 2709, 2710, 2710, 2710,
3284 2710, 2710, 2710, 2710, 2710, 2710, 2711, 2711, 2711, 2711,
3285 2711, 2711, 2711, 2711, 2711, 2712, 2712, 2712, 2712, 2712,
3286 2712, 2712, 2712, 2712, 2713, 2713, 2713, 2713, 2713, 2713,
3287 2713, 2713, 2713, 2714, 2714, 2714, 2714, 2714, 2714, 2714,
3288 2714, 2714, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715,
3289 2715, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716, 2716,
3290 2717, 2717, 2717, 2717, 2717, 2717, 2717, 2717, 2717, 2718,
3291 2718, 2718, 2718, 2718, 2718, 2718, 2718, 2718, 2719, 2719,
3292 2719, 2719, 2719, 2719, 2719, 2719, 2719, 2720, 2720, 2720,
3293 2720, 2720, 2720, 2720, 2720, 2720, 2721, 2721, 2721, 2721,
3295 2721, 2721, 2721, 2721, 2721, 2722, 2722, 2722, 2722, 2722,
3296 2722, 2722, 2722, 2722, 2723, 2723, 2723, 2723, 2723, 2723,
3297 2723, 2723, 2723, 2724, 2724, 2724, 2724, 2724, 2724, 2724,
3298 2724, 2724, 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2725,
3299 2725, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726, 2726,
3300 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2727, 2728,
3301 2728, 2728, 2728, 2728, 2728, 2728, 2728, 2728, 2729, 2729,
3302 2729, 2729, 2729, 2729, 2729, 2729, 2729, 2730, 2730, 2730,
3303 2730, 2730, 2730, 2730, 2730, 2730, 2731, 2731, 2731, 2731,
3304 2731, 2731, 2731, 2731, 2731, 2732, 2732, 2732, 2732, 2732,
3306 2732, 2732, 2732, 2732, 2733, 2733, 2733, 2733, 2733, 2733,
3307 2733, 2733, 2733, 2734, 2734, 2734, 2734, 2734, 2734, 2734,
3308 2734, 2734, 2735, 2735, 2735, 2735, 2735, 2735, 2735, 2735,
3309 2735, 2736, 2736, 2736, 2736, 2736, 2736, 2736, 2736, 2736,
3310 2737, 2737, 2737, 2737, 2737, 2737, 2737, 2737, 2737, 2738,
3311 2738, 2738, 2738, 2738, 2738, 2738, 2738, 2738, 2739, 2739,
3312 2739, 2739, 2739, 2739, 2739, 2739, 2739, 2740, 2740, 2740,
3313 2740, 2740, 2740, 2740, 2740, 2740, 2741, 2741, 2741, 2741,
3314 2741, 2741, 2741, 2741, 2741, 2742, 2742, 2742, 2742, 2742,
3315 2742, 2742, 2742, 2742, 2743, 2743, 2743, 2743, 2743, 2743,
3317 2743, 2743, 2743, 2744, 2744, 2744, 2744, 2744, 2744, 2744,
3318 2744, 2744, 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2745,
3319 2745, 2746, 2746, 2746, 2746, 2746, 2746, 2746, 2746, 2746,
3320 2747, 2747, 2747, 2747, 2747, 2747, 2747, 2747, 2747, 2748,
3321 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2749, 2749,
3322 2749, 2749, 2749, 2749, 2749, 2749, 2749, 2750, 2750, 2750,
3323 2750, 2750, 2750, 2750, 2750, 2750, 2751, 2751, 2751, 2751,
3324 2751, 2751, 2751, 2751, 2751, 2752, 2752, 2752, 2752, 2752,
3325 2752, 2752, 2752, 2752, 2753, 2753, 2753, 409, 401, 400,
3326 2753, 2754, 2754, 2754, 399, 398, 397, 2754, 2755, 2755,
3328 2755, 393, 387, 386, 2755, 2756, 2756, 2756, 382, 376,
3329 375, 2756, 2757, 2757, 2757, 371, 367, 364, 2757, 2758,
3330 2758, 2758, 363, 359, 355, 2758, 2759, 2759, 2759, 352,
3331 351, 350, 2759, 2760, 2760, 2760, 346, 342, 336, 2760,
3332 2761, 2761, 2761, 329, 328, 324, 2761, 2762, 2762, 2762,
3333 318, 317, 316, 2762, 2763, 2763, 2763, 312, 309, 308,
3334 2763, 2764, 2764, 2764, 303, 301, 300, 2764, 2765, 2765,
3335 2765, 296, 293, 291, 2765, 2766, 2766, 2766, 290, 289,
3336 285, 2766, 2767, 2767, 2767, 282, 281, 277, 2767, 2768,
3337 2768, 2768, 273, 269, 261, 2768, 2769, 2769, 2769, 257,
3339 253, 252, 2769, 2770, 2770, 2770, 251, 245, 244, 2770,
3340 2771, 2771, 2771, 242, 239, 227, 2771, 2772, 2772, 2772,
3341 0, 0, 0, 2772, 2773, 2773, 2773, 0, 0, 0,
3342 2773, 2774, 2774, 2774, 0, 0, 0, 2774, 2775, 2775,
3343 2775, 0, 0, 0, 2775, 2776, 2776, 2776, 2776, 2776,
3344 2776, 2776, 0, 2776, 2777, 2777, 2777, 0, 0, 0,
3345 2777, 2778, 0, 0, 0, 2778, 2779, 2779, 2779, 0,
3346 0, 0, 2779, 2780, 0, 0, 0, 2780, 2781, 2781,
3347 2781, 0, 0, 0, 2781, 2782, 0, 0, 0, 2782,
3348 2783, 2783, 2783, 0, 0, 0, 2783, 2784, 0, 0,
3350 0, 2784, 2785, 2785, 2785, 0, 0, 0, 2785, 2786,
3351 0, 0, 0, 2786, 2787, 2787, 2787, 0, 0, 0,
3352 2787, 2788, 0, 0, 0, 2788, 2789, 2789, 2789, 0,
3353 0, 0, 2789, 2790, 0, 0, 0, 2790, 2791, 2791,
3354 2791, 0, 0, 0, 2791, 2792, 0, 0, 0, 2792,
3355 2793, 2793, 2793, 0, 0, 0, 2793, 2794, 0, 0,
3356 0, 2794, 2795, 2795, 2795, 0, 0, 0, 2795, 2796,
3357 0, 0, 0, 2796, 2797, 2797, 2797, 0, 0, 0,
3358 2797, 2798, 0, 0, 0, 2798, 2799, 2799, 2799, 0,
3359 0, 0, 2799, 2800, 0, 0, 0, 2800, 2801, 2801,
3361 2801, 0, 0, 0, 2801, 2802, 0, 0, 0, 2802,
3362 2803, 2803, 2803, 0, 0, 0, 2803, 2804, 0, 0,
3363 0, 2804, 2805, 2805, 2805, 0, 0, 0, 2805, 2806,
3364 0, 0, 0, 2806, 2807, 2807, 2807, 0, 0, 0,
3365 2807, 2808, 0, 0, 0, 2808, 2809, 2809, 2809, 0,
3366 0, 0, 2809, 2810, 0, 0, 0, 2810, 2811, 2811,
3367 2811, 0, 0, 0, 2811, 2812, 0, 0, 0, 2812,
3368 2813, 2813, 2813, 0, 0, 0, 2813, 2814, 0, 0,
3369 0, 2814, 2815, 2815, 2815, 0, 0, 0, 2815, 2816,
3370 0, 0, 0, 2816, 2817, 2817, 2817, 0, 0, 0,
3372 2817, 2818, 0, 0, 0, 2818, 2819, 2819, 2819, 0,
3373 0, 0, 2819, 2820, 0, 0, 0, 2820, 2821, 2821,
3374 2821, 0, 0, 0, 2821, 2822, 0, 0, 0, 2822,
3375 2823, 2823, 2823, 2823, 2823, 2823, 2823, 2823, 2823, 2824,
3376 0, 0, 0, 0, 2824, 2825, 2825, 2825, 0, 0,
3377 0, 2825, 2826, 2826, 2826, 2826, 0, 0, 2826, 2826,
3378 2827, 2827, 2827, 0, 0, 0, 2827, 2828, 2828, 2828,
3379 2828, 0, 0, 2828, 2828, 2829, 2829, 2829, 0, 0,
3380 0, 2829, 2830, 2830, 2830, 2830, 0, 0, 2830, 2830,
3381 2831, 2831, 2831, 0, 0, 0, 2831, 2832, 2832, 2832,
3383 2832, 0, 0, 2832, 2832, 2833, 2833, 2833, 0, 0,
3384 0, 2833, 2834, 2834, 2834, 2834, 0, 0, 2834, 2834,
3385 2835, 2835, 2835, 0, 0, 0, 2835, 2836, 2836, 2836,
3386 2836, 0, 0, 2836, 2836, 2837, 2837, 2837, 0, 0,
3387 0, 2837, 2838, 2838, 2838, 2838, 0, 0, 2838, 2838,
3388 2839, 2839, 2839, 0, 0, 0, 2839, 2840, 2840, 2840,
3389 2840, 0, 0, 2840, 2840, 2841, 2841, 2841, 0, 0,
3390 0, 2841, 2842, 2842, 2842, 2842, 0, 0, 2842, 2842,
3391 2843, 2843, 2843, 0, 0, 0, 2843, 2844, 2844, 2844,
3392 2844, 0, 0, 2844, 2844, 2845, 2845, 2845, 0, 0,
3394 0, 2845, 2846, 2846, 2846, 2846, 0, 0, 2846, 2846,
3395 2847, 2847, 2847, 0, 0, 0, 2847, 2848, 2848, 2848,
3396 2848, 0, 0, 2848, 2848, 2849, 2849, 2849, 0, 0,
3397 0, 2849, 2850, 2850, 2850, 2850, 0, 0, 2850, 2850,
3398 2851, 2851, 2851, 0, 0, 0, 2851, 2852, 2852, 2852,
3399 2852, 0, 0, 2852, 2852, 2853, 2853, 2853, 0, 0,
3400 0, 2853, 2854, 2854, 2854, 2854, 0, 0, 2854, 2854,
3401 2855, 2855, 2855, 2855, 0, 2855, 0, 2855, 2856, 2856,
3402 2856, 2856, 0, 0, 2856, 2856, 2857, 2857, 2857, 2857,
3403 0, 2857, 0, 2857, 2858, 2858, 2858, 2858, 0, 0,
3405 2858, 2858, 2859, 2859, 2859, 0, 0, 0, 2859, 2860,
3406 2860, 2860, 2860, 0, 0, 2860, 2860, 2861, 2861, 2861,
3407 2861, 0, 2861, 0, 2861, 2862, 2862, 2862, 2862, 0,
3408 0, 2862, 2862, 2863, 2863, 2863, 0, 0, 0, 2863,
3409 2864, 2864, 2864, 2864, 0, 0, 2864, 2864, 2865, 2865,
3410 2865, 0, 0, 0, 2865, 2866, 2866, 2866, 2866, 0,
3411 0, 2866, 2866, 2867, 2867, 2867, 2867, 0, 0, 2867,
3412 2867, 2868, 2868, 2868, 0, 0, 0, 2868, 2869, 2869,
3413 2869, 2869, 0, 0, 2869, 2869, 2870, 2870, 2870, 2870,
3414 2870, 2870, 2870, 2870, 2870, 2871, 0, 2871, 0, 0,
3416 2871, 2872, 2872, 2872, 0, 0, 0, 2872, 2873, 2873,
3417 2873, 2873, 0, 0, 2873, 2873, 2874, 2874, 2874, 2874,
3418 0, 2874, 0, 2874, 2875, 2875, 2875, 2875, 0, 0,
3419 2875, 2875, 2876, 2876, 2876, 2876, 0, 2876, 0, 2876,
3420 2877, 2877, 2877, 2877, 0, 0, 2877, 2877, 2878, 2878,
3421 2878, 0, 0, 0, 2878, 2879, 2879, 2879, 2879, 0,
3422 0, 2879, 2879, 2880, 2880, 2880, 0, 0, 0, 2880,
3423 2881, 2881, 2881, 2881, 0, 0, 2881, 2881, 2882, 2882,
3424 2882, 0, 0, 0, 2882, 2883, 2883, 2883, 2883, 0,
3425 0, 2883, 2883, 2884, 2884, 2884, 0, 0, 0, 2884,
3427 2885, 2885, 2885, 2885, 0, 0, 2885, 2885, 2886, 2886,
3428 2886, 0, 0, 0, 2886, 2887, 2887, 2887, 2887, 0,
3429 0, 2887, 2887, 2888, 2888, 2888, 2888, 0, 2888, 0,
3430 2888, 2889, 2889, 2889, 2889, 0, 0, 2889, 2889, 2890,
3431 2890, 2890, 2890, 0, 2890, 0, 2890, 2891, 2891, 2891,
3432 2891, 0, 0, 2891, 2891, 2892, 2892, 2892, 0, 0,
3433 0, 2892, 2893, 2893, 2893, 2893, 0, 0, 2893, 2893,
3434 2894, 2894, 2894, 0, 0, 0, 2894, 2895, 2895, 2895,
3435 2895, 0, 0, 2895, 2895, 2896, 2896, 2896, 0, 0,
3436 0, 2896, 2897, 2897, 2897, 2897, 0, 0, 2897, 2897,
3438 2898, 2898, 2898, 0, 0, 0, 2898, 2899, 2899, 2899,
3439 2899, 0, 0, 2899, 2899, 2900, 2900, 2900, 0, 0,
3440 0, 2900, 2901, 2901, 2901, 2901, 0, 0, 2901, 2901,
3441 2902, 2902, 2902, 0, 0, 0, 2902, 2903, 2903, 2903,
3442 2903, 0, 0, 2903, 2903, 2904, 2904, 2904, 0, 0,
3443 0, 2904, 2905, 2905, 2905, 2905, 0, 0, 2905, 2905,
3444 2906, 2906, 2906, 0, 0, 0, 2906, 2907, 2907, 2907,
3445 2907, 0, 0, 2907, 2907, 2908, 2908, 2908, 0, 0,
3446 0, 2908, 2909, 2909, 2909, 2909, 0, 0, 2909, 2909,
3447 2910, 2910, 2910, 0, 0, 0, 2910, 2911, 2911, 2911,
3449 2911, 0, 0, 2911, 2911, 2912, 2912, 2912, 0, 0,
3450 0, 2912, 2913, 2913, 2913, 2913, 0, 0, 2913, 2913,
3451 2914, 2914, 2914, 2914, 0, 0, 2914, 2914, 2915, 2915,
3452 2915, 0, 0, 0, 2915, 2916, 2916, 2916, 2916, 0,
3453 0, 2916, 2916, 2917, 2917, 2917, 2917, 2917, 2917, 2917,
3454 2917, 2917, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918,
3455 2918, 2919, 2919, 2919, 0, 0, 0, 2919, 2920, 2920,
3456 2920, 2920, 0, 0, 2920, 2920, 2921, 2921, 2921, 2921,
3457 0, 0, 2921, 2921, 2922, 2922, 2922, 0, 0, 0,
3458 2922, 2923, 2923, 2923, 2923, 0, 0, 2923, 2923, 2924,
3460 2924, 2924, 0, 0, 0, 2924, 2925, 2925, 2925, 2925,
3461 0, 0, 2925, 2925, 2926, 2926, 2926, 0, 0, 0,
3462 2926, 2927, 2927, 2927, 2927, 0, 0, 2927, 2927, 2928,
3463 2928, 2928, 0, 0, 0, 2928, 2929, 2929, 2929, 0,
3464 0, 0, 2929, 2930, 2930, 2930, 2930, 0, 0, 2930,
3465 2930, 2931, 2931, 2931, 0, 0, 0, 2931, 2932, 2932,
3466 2932, 2932, 0, 0, 2932, 2932, 2933, 2933, 2933, 2933,
3467 0, 0, 2933, 2933, 2934, 2934, 2934, 0, 0, 0,
3468 2934, 2935, 2935, 2935, 2935, 0, 0, 2935, 2935, 2936,
3469 2936, 2936, 0, 0, 0, 2936, 2937, 2937, 2937, 2937,
3471 0, 0, 2937, 2937, 2938, 2938, 2938, 0, 0, 0,
3472 2938, 2939, 2939, 2939, 2939, 0, 0, 2939, 2939, 2940,
3473 2940, 2940, 0, 0, 0, 2940, 2941, 2941, 2941, 2941,
3474 0, 0, 2941, 2941, 2942, 2942, 2942, 0, 0, 0,
3475 2942, 2943, 2943, 2943, 2943, 0, 0, 2943, 2943, 2944,
3476 2944, 2944, 0, 0, 0, 2944, 2945, 2945, 2945, 2945,
3477 0, 0, 2945, 2945, 2946, 2946, 2946, 0, 0, 0,
3478 2946, 2947, 2947, 2947, 2947, 0, 0, 2947, 2947, 2948,
3479 2948, 2948, 0, 0, 0, 2948, 2949, 2949, 2949, 2949,
3480 0, 0, 2949, 2949, 2950, 2950, 2950, 0, 0, 0,
3482 2950, 2951, 2951, 2951, 2951, 0, 0, 2951, 2951, 2952,
3483 2952, 2952, 0, 0, 0, 2952, 2953, 2953, 2953, 2953,
3484 0, 0, 2953, 2953, 2954, 2954, 2954, 0, 0, 0,
3485 2954, 2955, 2955, 2955, 2955, 0, 0, 2955, 2955, 2956,
3486 2956, 2956, 2956, 0, 2956, 0, 2956, 2957, 2957, 2957,
3487 2957, 0, 0, 2957, 2957, 2958, 2958, 2958, 2958, 0,
3488 0, 2958, 2958, 2959, 2959, 2959, 2959, 0, 2959, 0,
3489 2959, 2960, 2960, 2960, 2960, 0, 0, 2960, 2960, 2961,
3490 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2962, 2962,
3491 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2963, 2963, 2963,
3493 0, 0, 0, 2963, 2964, 2964, 2964, 2964, 0, 0,
3494 2964, 2964, 2965, 2965, 2965, 2965, 0, 0, 2965, 2965,
3495 2966, 2966, 2966, 0, 0, 0, 2966, 2967, 2967, 2967,
3496 2967, 0, 0, 2967, 2967, 2968, 2968, 2968, 0, 0,
3497 0, 2968, 2969, 2969, 2969, 2969, 0, 0, 2969, 2969,
3498 2970, 2970, 2970, 0, 0, 0, 2970, 2971, 2971, 2971,
3499 2971, 0, 0, 2971, 2971, 2972, 2972, 2972, 0, 0,
3500 0, 2972, 2973, 2973, 2973, 0, 0, 0, 2973, 2974,
3501 2974, 2974, 2974, 0, 0, 2974, 2974, 2975, 2975, 2975,
3502 2975, 0, 2975, 0, 2975, 2976, 2976, 2976, 2976, 0,
3504 0, 2976, 2976, 2977, 2977, 2977, 2977, 0, 0, 2977,
3505 2977, 2978, 2978, 2978, 2978, 0, 2978, 0, 2978, 2979,
3506 2979, 2979, 2979, 0, 0, 2979, 2979, 2980, 2980, 2980,
3507 0, 0, 0, 2980, 2981, 2981, 2981, 2981, 0, 0,
3508 2981, 2981, 2982, 2982, 2982, 0, 0, 0, 2982, 2983,
3509 2983, 2983, 2983, 0, 0, 2983, 2983, 2984, 2984, 2984,
3510 0, 0, 0, 2984, 2985, 2985, 2985, 2985, 0, 0,
3511 2985, 2985, 2986, 2986, 2986, 0, 0, 0, 2986, 2987,
3512 2987, 2987, 2987, 0, 0, 2987, 2987, 2988, 2988, 2988,
3513 0, 0, 0, 2988, 2989, 2989, 2989, 2989, 0, 0,
3515 2989, 2989, 2990, 2990, 2990, 0, 0, 0, 2990, 2991,
3516 2991, 2991, 2991, 0, 0, 2991, 2991, 2992, 2992, 2992,
3517 2992, 0, 2992, 0, 2992, 2993, 2993, 2993, 2993, 0,
3518 0, 2993, 2993, 2994, 2994, 2994, 0, 0, 0, 2994,
3519 2995, 2995, 2995, 2995, 0, 0, 2995, 2995, 2996, 2996,
3520 2996, 2996, 0, 2996, 0, 2996, 2997, 2997, 2997, 2997,
3521 0, 0, 2997, 2997, 2998, 2998, 2998, 0, 0, 0,
3522 2998, 2999, 2999, 2999, 2999, 0, 0, 2999, 2999, 3000,
3523 3000, 3000, 3000, 0, 0, 3000, 3000, 3001, 3001, 3001,
3524 3001, 0, 0, 3001, 3001, 3002, 3002, 3002, 3002, 0,
3526 0, 3002, 3002, 3003, 3003, 3003, 3003, 3003, 3003, 3003,
3527 3003, 3003, 3004, 3004, 3004, 3004, 3004, 3004, 3004, 3004,
3528 3004, 3005, 3005, 3005, 3005, 0, 3005, 0, 3005, 3006,
3529 3006, 3006, 3006, 0, 0, 3006, 3006, 3007, 3007, 3007,
3530 3007, 0, 0, 3007, 3007, 3008, 3008, 3008, 0, 0,
3531 0, 3008, 3009, 3009, 3009, 3009, 0, 0, 3009, 3009,
3532 3010, 3010, 3010, 0, 0, 0, 3010, 3011, 3011, 3011,
3533 3011, 0, 0, 3011, 3011, 3012, 3012, 3012, 3012, 0,
3534 3012, 0, 3012, 3013, 3013, 3013, 3013, 0, 0, 3013,
3535 3013, 3014, 3014, 3014, 3014, 0, 3014, 0, 3014, 3015,
3537 3015, 3015, 3015, 0, 3015, 0, 3015, 3016, 3016, 3016,
3538 3016, 0, 0, 3016, 3016, 3017, 3017, 3017, 3017, 0,
3539 0, 3017, 3017, 3018, 3018, 3018, 3018, 0, 0, 3018,
3540 3018, 3019, 3019, 3019, 3019, 0, 0, 3019, 3019, 3020,
3541 3020, 3020, 0, 0, 0, 3020, 3021, 3021, 3021, 0,
3542 0, 0, 3021, 3022, 3022, 3022, 3022, 0, 0, 3022,
3543 3022, 3023, 3023, 3023, 0, 0, 0, 3023, 3024, 3024,
3544 3024, 0, 0, 0, 3024, 3025, 3025, 3025, 3025, 0,
3545 0, 3025, 3025, 3026, 3026, 3026, 0, 0, 0, 3026,
3546 3027, 3027, 3027, 0, 0, 0, 3027, 3028, 3028, 3028,
3548 3028, 0, 0, 3028, 3028, 3029, 3029, 3029, 0, 0,
3549 0, 3029, 3030, 3030, 3030, 3030, 0, 0, 3030, 3030,
3550 3031, 3031, 3031, 0, 0, 0, 3031, 3032, 3032, 3032,
3551 3032, 0, 0, 3032, 3032, 3033, 3033, 3033, 3033, 0,
3552 0, 3033, 3033, 3034, 3034, 3034, 0, 0, 0, 3034,
3553 3035, 3035, 3035, 3035, 0, 0, 3035, 3035, 3036, 3036,
3554 3036, 3036, 0, 0, 3036, 3036, 3037, 3037, 3037, 3037,
3555 0, 0, 3037, 3037, 3038, 3038, 3038, 3038, 3038, 3038,
3556 3038, 3038, 3038, 3039, 3039, 3039, 3039, 3039, 3039, 3039,
3557 3039, 3039, 3040, 3040, 3040, 3040, 0, 0, 3040, 3040,
3559 3041, 3041, 3041, 3041, 0, 0, 3041, 3041, 3042, 3042,
3560 3042, 0, 0, 0, 3042, 3043, 3043, 3043, 0, 0,
3561 0, 3043, 3044, 3044, 3044, 3044, 0, 0, 3044, 3044,
3562 3045, 3045, 3045, 3045, 0, 0, 3045, 3045, 3046, 3046,
3563 3046, 3046, 0, 0, 3046, 3046, 3047, 3047, 3047, 3047,
3564 0, 0, 3047, 3047, 3048, 3048, 3048, 3048, 0, 0,
3565 3048, 3048, 3049, 3049, 3049, 0, 0, 0, 3049, 3050,
3566 3050, 3050, 0, 0, 0, 3050, 3051, 3051, 3051, 3051,
3567 0, 0, 3051, 3051, 3052, 3052, 3052, 0, 0, 0,
3568 3052, 3053, 3053, 3053, 0, 0, 0, 3053, 3054, 3054,
3570 3054, 3054, 0, 0, 3054, 3054, 3055, 3055, 3055, 0,
3571 0, 0, 3055, 3056, 3056, 3056, 0, 0, 0, 3056,
3572 3057, 3057, 3057, 0, 0, 0, 3057, 3058, 3058, 3058,
3573 3058, 0, 0, 3058, 3058, 3059, 3059, 3059, 0, 0,
3574 0, 3059, 3060, 3060, 3060, 3060, 0, 0, 3060, 3060,
3575 3061, 3061, 3061, 3061, 0, 0, 3061, 3061, 3062, 3062,
3576 3062, 3062, 0, 3062, 0, 3062, 3063, 3063, 3063, 3063,
3577 0, 0, 3063, 3063, 3064, 3064, 3064, 3064, 0, 0,
3578 3064, 3064, 3065, 3065, 3065, 3065, 0, 0, 3065, 3065,
3579 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3066, 3067,
3581 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3067, 3068, 3068,
3582 3068, 3068, 0, 0, 3068, 3068, 3069, 3069, 3069, 3069,
3583 0, 0, 3069, 3069, 3070, 3070, 3070, 0, 0, 0,
3584 3070, 3071, 3071, 3071, 3071, 0, 3071, 0, 3071, 3072,
3585 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3073, 3073,
3586 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3074, 3074, 3074,
3587 3074, 3074, 3074, 3074, 3074, 3074, 3075, 3075, 3075, 3075,
3588 3075, 3075, 3075, 3075, 3075, 3076, 3076, 3076, 3076, 3076,
3589 3076, 3076, 3076, 3076, 3077, 3077, 3077, 3077, 3077, 3077,
3590 3077, 3077, 3077, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3592 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3593 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3594 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3595 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3596 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3597 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3598 2702, 2702, 2702, 2702, 2702, 2702
3601 /* Table of booleans, true if rule could match eol. */
3602 static yyconst flex_int32_t yy_rule_can_match_eol[460] =
3604 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3605 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3606 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3607 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3608 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3609 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3610 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3611 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3612 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3613 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3614 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3616 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3617 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3618 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3619 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3620 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3621 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3622 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3623 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3624 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
3625 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0,
3626 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
3629 static yy_state_type yy_last_accepting_state;
3630 static char *yy_last_accepting_cpos;
3632 extern int surf_parse__flex_debug;
3633 int surf_parse__flex_debug = 0;
3635 /* The intent behind this definition is that it'll catch
3636 * any uses of REJECT which flex missed.
3638 #define REJECT reject_used_but_not_detected
3639 #define yymore() yymore_used_but_not_detected
3640 #define YY_MORE_ADJ 0
3641 #define YY_RESTORE_YY_MORE_OFFSET
3642 char *surf_parse_text;
3643 /* Validating XML processor for src/surf/simgrid.dtd.
3645 * This program was generated with the FleXML XML processor generator.
3646 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3647 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3648 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3650 * There are two, intertwined parts to this program, part A and part B.
3655 * Some parts, here collectively called "Part A", are found in the
3656 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3657 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3659 * You can redistribute, use, perform, display and/or modify "Part A"
3660 * provided the following two conditions hold:
3662 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3663 * FleXML; without even the implied warranty of MERCHANTABILITY or
3664 * FITNESS FOR A PARTICULAR PURPOSE.
3666 * 2. The program distribution conditions do not in any way affect the
3667 * distribution conditions of the FleXML system used to generate this
3668 * file or any version of FleXML derived from that system.
3670 * Notice that these are explicit rights granted to you for files
3671 * generated by the FleXML system. For your rights in connection with
3672 * the FleXML system itself please consult the GNU General Public License.
3677 * The other parts, here collectively called "Part B", and which came
3678 * from the DTD used by FleXML to generate this program, can be
3679 * distributed (or not, as the case may be) under the terms of whoever
3680 * wrote them, provided these terms respect and obey the two conditions
3681 * above under the heading "Part A".
3683 * The author of and contributors to FleXML specifically disclaim
3684 * any copyright interest in "Part B", unless "Part B" was written
3685 * by the author of or contributors to FleXML.
3689 /* Version strings. */
3690 const char rcs_surfxml_flexml_skeleton[] =
3691 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3692 const char rcs_surfxml_flexml[] =
3693 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3696 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3703 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3704 # ifndef __STRICT_ANSI__
3706 # include <process.h>
3709 # include <unistd.h>
3712 #ifndef FLEXML_INDEXSTACKSIZE
3713 #define FLEXML_INDEXSTACKSIZE 1000
3716 /* Generated definitions. */
3717 #define FLEXML_yylineno
3718 #ifndef FLEXML_BUFFERSTACKSIZE
3719 #define FLEXML_BUFFERSTACKSIZE 1000000
3721 #define FLEXML_NEED_BUFFERLIT
3723 /* XML processor api. */
3724 /* FleXML-provided data. */
3725 int surfxml_pcdata_ix;
3726 extern char *surfxml_bufferstack;
3727 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3728 AT_surfxml_mount_name AX_surfxml_mount_name;
3729 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3730 short int surfxml_mount_name_isset;
3731 AT_surfxml_random_generator AX_surfxml_random_generator;
3732 #define A_surfxml_random_generator AX_surfxml_random_generator
3733 short int surfxml_random_generator_isset;
3734 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3735 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3736 short int surfxml_ASroute_gw_dst_isset;
3737 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3738 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3739 short int surfxml_trace_connect_element_isset;
3740 AT_surfxml_prop_id AX_surfxml_prop_id;
3741 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3742 short int surfxml_prop_id_isset;
3743 AT_surfxml_host_id AX_surfxml_host_id;
3744 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3745 short int surfxml_host_id_isset;
3746 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3747 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3748 short int surfxml_ASroute_symmetrical_isset;
3749 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3750 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3751 short int surfxml_peer_lat_isset;
3752 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3753 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3754 short int surfxml_link_latency_file_isset;
3755 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3756 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3757 short int surfxml_peer_availability_file_isset;
3758 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3759 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3760 short int surfxml_link_ctn_direction_isset;
3761 AT_surfxml_host_state AX_surfxml_host_state;
3762 #define A_surfxml_host_state AX_surfxml_host_state
3763 short int surfxml_host_state_isset;
3764 AT_surfxml_AS_id AX_surfxml_AS_id;
3765 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3766 short int surfxml_AS_id_isset;
3767 AT_surfxml_host_power AX_surfxml_host_power;
3768 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3769 short int surfxml_host_power_isset;
3770 AT_surfxml_router_id AX_surfxml_router_id;
3771 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3772 short int surfxml_router_id_isset;
3773 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3774 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3775 short int surfxml_storage_type_id_isset;
3776 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3777 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3778 short int surfxml_process_start_time_isset;
3779 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3780 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3781 short int surfxml_cluster_suffix_isset;
3782 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3783 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3784 short int surfxml_ASroute_src_isset;
3785 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3786 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3787 short int surfxml_cluster_prefix_isset;
3788 AT_surfxml_trace_file AX_surfxml_trace_file;
3789 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3790 short int surfxml_trace_file_isset;
3791 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3792 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3793 short int surfxml_link_sharing_policy_isset;
3794 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
3795 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
3796 short int surfxml_storage_typeId_isset;
3797 AT_surfxml_random_min AX_surfxml_random_min;
3798 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3799 short int surfxml_random_min_isset;
3800 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3801 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3802 short int surfxml_link_ctn_id_isset;
3803 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3804 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3805 short int surfxml_peer_bw_out_isset;
3806 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3807 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3808 short int surfxml_cluster_availability_file_isset;
3809 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3810 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3811 short int surfxml_process_kill_time_isset;
3812 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3813 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3814 short int surfxml_cluster_bb_bw_isset;
3815 AT_surfxml_argument_value AX_surfxml_argument_value;
3816 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3817 short int surfxml_argument_value_isset;
3818 AT_surfxml_link_state AX_surfxml_link_state;
3819 #define A_surfxml_link_state AX_surfxml_link_state
3820 short int surfxml_link_state_isset;
3821 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3822 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3823 short int surfxml_ASroute_gw_src_isset;
3824 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3825 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3826 short int surfxml_AS_routing_isset;
3827 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3828 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3829 short int surfxml_link_bandwidth_isset;
3830 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3831 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3832 short int surfxml_cluster_id_isset;
3833 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3834 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3835 short int surfxml_peer_bw_in_isset;
3836 AT_surfxml_random_mean AX_surfxml_random_mean;
3837 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3838 short int surfxml_random_mean_isset;
3839 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3840 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3841 short int surfxml_cluster_bb_lat_isset;
3842 AT_surfxml_link_latency AX_surfxml_link_latency;
3843 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3844 short int surfxml_link_latency_isset;
3845 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3846 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3847 short int surfxml_trace_connect_kind_isset;
3848 AT_surfxml_random_seed AX_surfxml_random_seed;
3849 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3850 short int surfxml_random_seed_isset;
3851 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3852 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3853 short int surfxml_cluster_state_file_isset;
3854 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3855 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3856 short int surfxml_link_bandwidth_file_isset;
3857 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
3858 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
3859 short int surfxml_storage_type_content_isset;
3860 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3861 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3862 short int surfxml_route_symmetrical_isset;
3863 AT_surfxml_random_id AX_surfxml_random_id;
3864 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3865 short int surfxml_random_id_isset;
3866 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
3867 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
3868 short int surfxml_mstorage_name_isset;
3869 AT_surfxml_random_max AX_surfxml_random_max;
3870 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3871 short int surfxml_random_max_isset;
3872 AT_surfxml_link_id AX_surfxml_link_id;
3873 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3874 short int surfxml_link_id_isset;
3875 AT_surfxml_process_host AX_surfxml_process_host;
3876 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3877 short int surfxml_process_host_isset;
3878 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3879 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3880 short int surfxml_host_availability_file_isset;
3881 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3882 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3883 short int surfxml_cluster_lat_isset;
3884 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3885 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3886 short int surfxml_trace_periodicity_isset;
3887 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3888 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3889 short int surfxml_cluster_bb_sharing_policy_isset;
3890 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3891 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3892 short int surfxml_router_coordinates_isset;
3893 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3894 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3895 short int surfxml_peer_coordinates_isset;
3896 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3897 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3898 short int surfxml_peer_state_file_isset;
3899 AT_surfxml_prop_value AX_surfxml_prop_value;
3900 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3901 short int surfxml_prop_value_isset;
3902 AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
3903 #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
3904 short int surfxml_mstorage_typeId_isset;
3905 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3906 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3907 short int surfxml_ASroute_dst_isset;
3908 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3909 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3910 short int surfxml_link_state_file_isset;
3911 AT_surfxml_random_radical AX_surfxml_random_radical;
3912 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3913 short int surfxml_random_radical_isset;
3914 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3915 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3916 short int surfxml_trace_connect_trace_isset;
3917 AT_surfxml_mount_id AX_surfxml_mount_id;
3918 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
3919 short int surfxml_mount_id_isset;
3920 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3921 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3922 short int surfxml_cluster_power_isset;
3923 AT_surfxml_process_function AX_surfxml_process_function;
3924 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3925 short int surfxml_process_function_isset;
3926 AT_surfxml_peer_id AX_surfxml_peer_id;
3927 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3928 short int surfxml_peer_id_isset;
3929 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3930 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3931 short int surfxml_cluster_router_id_isset;
3932 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3933 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3934 short int surfxml_cluster_sharing_policy_isset;
3935 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3936 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3937 short int surfxml_bypassRoute_dst_isset;
3938 AT_surfxml_host_core AX_surfxml_host_core;
3939 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3940 short int surfxml_host_core_isset;
3941 AT_surfxml_host_availability AX_surfxml_host_availability;
3942 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3943 short int surfxml_host_availability_isset;
3944 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
3945 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
3946 short int surfxml_storage_type_model_isset;
3947 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3948 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3949 short int surfxml_bypassRoute_src_isset;
3950 AT_surfxml_route_src AX_surfxml_route_src;
3951 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3952 short int surfxml_route_src_isset;
3953 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3954 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3955 short int surfxml_bypassRoute_gw_dst_isset;
3956 AT_surfxml_storage_id AX_surfxml_storage_id;
3957 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
3958 short int surfxml_storage_id_isset;
3959 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3960 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3961 short int surfxml_host_coordinates_isset;
3962 AT_surfxml_trace_id AX_surfxml_trace_id;
3963 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3964 short int surfxml_trace_id_isset;
3965 AT_surfxml_peer_power AX_surfxml_peer_power;
3966 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3967 short int surfxml_peer_power_isset;
3968 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3969 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3970 short int surfxml_cluster_radical_isset;
3971 AT_surfxml_config_id AX_surfxml_config_id;
3972 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3973 short int surfxml_config_id_isset;
3974 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3975 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3976 short int surfxml_bypassRoute_gw_src_isset;
3977 AT_surfxml_include_file AX_surfxml_include_file;
3978 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3979 short int surfxml_include_file_isset;
3980 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3981 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3982 short int surfxml_random_std_deviation_isset;
3983 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3984 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3985 short int surfxml_cluster_core_isset;
3986 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3987 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3988 short int surfxml_host_state_file_isset;
3989 AT_surfxml_route_dst AX_surfxml_route_dst;
3990 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3991 short int surfxml_route_dst_isset;
3992 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3993 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3994 short int surfxml_cluster_bw_isset;
3995 AT_surfxml_platform_version AX_surfxml_platform_version;
3996 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3997 short int surfxml_platform_version_isset;
4001 # define ENTER(state) debug_enter(state,#state)
4002 # define LEAVE debug_leave()
4003 # define SET(state) debug_set(state,#state)
4004 static void debug_enter(int, const char*);
4005 static void debug_leave(void);
4006 static void debug_set(int, const char*);
4008 # define ENTER(state) (yy_push_state(state))
4009 # define LEAVE (yy_pop_state())
4010 # define SET(state) BEGIN(state)
4013 /* Generic actions. */
4014 #define SKIP /*skip*/
4015 #define SUCCEED CLEANUP; return 0
4017 #define FAIL return fail
4018 static int fail(const char*, ...);
4020 enum {flexml_max_err_msg_size = 512};
4021 static char flexml_err_msg[flexml_max_err_msg_size];
4022 const char * surfxml_parse_err_msg()
4024 return flexml_err_msg;
4026 static void reset_surfxml_parse_err_msg()
4028 flexml_err_msg[0] = '\0';
4032 static void cleanup(void);
4033 #define CLEANUP cleanup()
4035 /* Text buffer stack handling. */
4036 char *surfxml_bufferstack = NULL;
4037 static int blimit = FLEXML_BUFFERSTACKSIZE;
4038 static int bnext = 1;
4040 static int *indexstack = NULL;
4041 static int ilimit = FLEXML_INDEXSTACKSIZE;
4042 static int inext = 1;
4044 #define BUFFERSET(P) (P = bnext)
4045 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4046 #define BUFFERDONE (BUFFERPUTC('\0'))
4048 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4050 /* after this is called, there are at least 2 slots left in the stack */
4051 static int ck_blimit()
4053 if (bnext >= blimit) {
4054 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4056 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4058 surfxml_bufferstack = temp;
4064 /* after this is called, there are at least 2 slots left in the stack */
4065 static int ck_ilimit()
4067 if (inext >= ilimit) {
4068 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4070 int *temp = (int *) realloc(indexstack, ilimit);
4078 #ifdef FLEXML_NEED_BUFFERLIT
4079 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4081 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4082 assert(s <= e); BUFFERSET(*pp);
4084 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4085 else BUFFERPUTC(*s);
4091 static void pushbuffer(int p)
4094 indexstack[inext++] = p;
4095 indexstack[inext++] = bnext;
4098 static int popbuffer(void)
4101 bnext = indexstack[--inext];
4102 return indexstack[--inext];
4105 /* General internal entities are `unput' back onto the input stream... */
4106 #define ENTITYTEXT(T) \
4107 { char *s = (T), *e = s+strlen(s);\
4108 while (--e >= s) { unput(*e); }}
4110 /* Flex standard options. */
4111 #define YY_NO_INPUT 1
4112 /* Flex user-requested options. */
4113 /* XML character classes (currently restricted to ASCII). */
4114 /* "Common syntactic structures." */
4115 /* "Names and Tokens." */
4116 /* Miscellaneous. */
4117 /* Parser states (flex `exclusive start conditions'):
4119 * PROLOG the XML prolog of the document before <?xml...>
4120 * DOCTYPE the XML prolog of the document after <?xml...>
4121 * EPILOG after the root element
4122 * INCOMMENT inside an XML comment <!--....-->
4123 * INPI inside an XML PI <?...?>
4124 * VALUE1 inside a '...'-delimited literal
4125 * VALUE2 inside a "..."-delimited literal
4126 * CDATA inside a <![CDATA[...] ]> section.
4127 * ROOT_<tag> expect root element <tag>
4128 * AL_<tag> inside the attribute list for <tag>
4129 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4130 * IMPOSSIBLE dummy to permit disabling rules; must be last
4134 const char* *surfxml_statenames=NULL;
4145 #define ROOT_surfxml_platform 9
4146 #define AL_surfxml_platform 10
4147 #define S_surfxml_platform 11
4148 #define S_surfxml_platform_1 12
4149 #define S_surfxml_platform_2 13
4150 #define S_surfxml_platform_3 14
4151 #define S_surfxml_platform_4 15
4152 #define S_surfxml_platform_5 16
4153 #define S_surfxml_platform_6 17
4154 #define S_surfxml_platform_7 18
4155 #define S_surfxml_platform_8 19
4156 #define E_surfxml_platform 20
4157 #define AL_surfxml_include 21
4158 #define S_surfxml_include 22
4159 #define S_surfxml_include_1 23
4160 #define S_surfxml_include_2 24
4161 #define E_surfxml_include 25
4162 #define AL_surfxml_trace 26
4164 #define AL_surfxml_random 28
4165 #define S_surfxml_random 29
4166 #define S_surfxml_random_1 30
4167 #define S_surfxml_random_2 31
4168 #define E_surfxml_random 32
4169 #define AL_surfxml_trace_connect 33
4170 #define E_surfxml_trace_connect 34
4171 #define AL_surfxml_AS 35
4172 #define S_surfxml_AS 36
4173 #define S_surfxml_AS_1 37
4174 #define S_surfxml_AS_2 38
4175 #define S_surfxml_AS_3 39
4176 #define S_surfxml_AS_4 40
4177 #define S_surfxml_AS_5 41
4178 #define S_surfxml_AS_6 42
4179 #define S_surfxml_AS_7 43
4180 #define S_surfxml_AS_8 44
4181 #define S_surfxml_AS_9 45
4182 #define S_surfxml_AS_10 46
4183 #define S_surfxml_AS_11 47
4184 #define S_surfxml_AS_12 48
4185 #define S_surfxml_AS_13 49
4186 #define E_surfxml_AS 50
4187 #define AL_surfxml_storage_type 51
4188 #define S_surfxml_storage_type 52
4189 #define S_surfxml_storage_type_1 53
4190 #define S_surfxml_storage_type_2 54
4191 #define E_surfxml_storage_type 55
4192 #define AL_surfxml_storage 56
4193 #define S_surfxml_storage 57
4194 #define S_surfxml_storage_1 58
4195 #define S_surfxml_storage_2 59
4196 #define E_surfxml_storage 60
4197 #define AL_surfxml_mount 61
4198 #define E_surfxml_mount 62
4199 #define AL_surfxml_mstorage 63
4200 #define E_surfxml_mstorage 64
4201 #define AL_surfxml_host 65
4202 #define S_surfxml_host 66
4203 #define S_surfxml_host_1 67
4204 #define S_surfxml_host_2 68
4205 #define E_surfxml_host 69
4206 #define AL_surfxml_cluster 70
4207 #define E_surfxml_cluster 71
4208 #define AL_surfxml_peer 72
4209 #define E_surfxml_peer 73
4210 #define AL_surfxml_router 74
4211 #define E_surfxml_router 75
4212 #define AL_surfxml_link 76
4213 #define S_surfxml_link 77
4214 #define S_surfxml_link_1 78
4215 #define S_surfxml_link_2 79
4216 #define E_surfxml_link 80
4217 #define AL_surfxml_route 81
4218 #define S_surfxml_route 82
4219 #define S_surfxml_route_1 83
4220 #define S_surfxml_route_2 84
4221 #define E_surfxml_route 85
4222 #define AL_surfxml_ASroute 86
4223 #define S_surfxml_ASroute 87
4224 #define S_surfxml_ASroute_1 88
4225 #define S_surfxml_ASroute_2 89
4226 #define E_surfxml_ASroute 90
4227 #define AL_surfxml_link_ctn 91
4228 #define E_surfxml_link_ctn 92
4229 #define AL_surfxml_bypassRoute 93
4230 #define S_surfxml_bypassRoute 94
4231 #define S_surfxml_bypassRoute_1 95
4232 #define S_surfxml_bypassRoute_2 96
4233 #define E_surfxml_bypassRoute 97
4234 #define AL_surfxml_process 98
4235 #define S_surfxml_process 99
4236 #define S_surfxml_process_1 100
4237 #define S_surfxml_process_2 101
4238 #define E_surfxml_process 102
4239 #define AL_surfxml_argument 103
4240 #define E_surfxml_argument 104
4241 #define AL_surfxml_config 105
4242 #define S_surfxml_config 106
4243 #define S_surfxml_config_1 107
4244 #define S_surfxml_config_2 108
4245 #define E_surfxml_config 109
4246 #define AL_surfxml_prop 110
4247 #define E_surfxml_prop 111
4248 #define IMPOSSIBLE 112
4250 #ifndef YY_NO_UNISTD_H
4251 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4252 * down here because we want the user's section 1 to have been scanned first.
4253 * The user has a chance to override it with an option.
4255 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4256 # ifndef __STRICT_ANSI__
4258 # include <process.h>
4261 # include <unistd.h>
4265 #ifndef YY_EXTRA_TYPE
4266 #define YY_EXTRA_TYPE void *
4269 static int yy_init_globals (void );
4271 /* Accessor methods to globals.
4272 These are made visible to non-reentrant scanners for convenience. */
4274 int surf_parse_lex_destroy (void );
4276 int surf_parse_get_debug (void );
4278 void surf_parse_set_debug (int debug_flag );
4280 YY_EXTRA_TYPE surf_parse_get_extra (void );
4282 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4284 FILE *surf_parse_get_in (void );
4286 void surf_parse_set_in (FILE * in_str );
4288 FILE *surf_parse_get_out (void );
4290 void surf_parse_set_out (FILE * out_str );
4292 int surf_parse_get_leng (void );
4294 char *surf_parse_get_text (void );
4296 int surf_parse_get_lineno (void );
4298 void surf_parse_set_lineno (int line_number );
4300 /* Macros after this point can all be overridden by user definitions in
4304 #ifndef YY_SKIP_YYWRAP
4306 extern "C" int surf_parse_wrap (void );
4308 extern int surf_parse_wrap (void );
4313 static void yy_flex_strncpy (char *,yyconst char *,int );
4316 #ifdef YY_NEED_STRLEN
4317 static int yy_flex_strlen (yyconst char * );
4323 static int yyinput (void );
4325 static int input (void );
4330 static int yy_start_stack_ptr = 0;
4331 static int yy_start_stack_depth = 0;
4332 static int *yy_start_stack = NULL;
4334 static void yy_push_state (int new_state );
4336 static void yy_pop_state (void );
4338 /* Amount of stuff to slurp up with each read. */
4339 #ifndef YY_READ_BUF_SIZE
4341 /* On IA-64, the buffer size is 16k, not 8k */
4342 #define YY_READ_BUF_SIZE 16384
4344 #define YY_READ_BUF_SIZE 8192
4345 #endif /* __ia64__ */
4348 /* Copy whatever the last rule matched to the standard output. */
4350 /* This used to be an fputs(), but since the string might contain NUL's,
4351 * we now use fwrite().
4353 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4356 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4357 * is returned in "result".
4360 #define YY_INPUT(buf,result,max_size) \
4361 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4365 for ( n = 0; n < max_size && \
4366 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4367 buf[n] = (char) c; \
4369 buf[n++] = (char) c; \
4370 if ( c == EOF && ferror( surf_parse_in ) ) \
4371 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4377 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4379 if( errno != EINTR) \
4381 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4385 clearerr(surf_parse_in); \
4392 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4393 * we don't want an extra ';' after the "return" because that will cause
4394 * some compilers to complain about unreachable statements.
4397 #define yyterminate() return YY_NULL
4400 /* Number of entries by which start-condition stack grows. */
4401 #ifndef YY_START_STACK_INCR
4402 #define YY_START_STACK_INCR 25
4405 /* Report a fatal error. */
4406 #ifndef YY_FATAL_ERROR
4407 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4410 /* end tables serialization structures and prototypes */
4412 /* Default declaration of generated scanner - a define so the user can
4413 * easily add parameters.
4416 #define YY_DECL_IS_OURS 1
4418 extern int surf_parse_lex (void);
4420 #define YY_DECL int surf_parse_lex (void)
4421 #endif /* !YY_DECL */
4423 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4426 #ifndef YY_USER_ACTION
4427 #define YY_USER_ACTION
4430 /* Code executed at the end of each rule. */
4432 #define YY_BREAK break;
4435 #define YY_RULE_SETUP \
4438 /** The main scanner function which does all the work.
4442 register yy_state_type yy_current_state;
4443 register char *yy_cp, *yy_bp;
4444 register int yy_act;
4446 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4448 reset_surfxml_parse_err_msg();
4449 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4450 assert(surfxml_bufferstack);
4454 for (i = 0; i < blimit; i++) {
4455 surfxml_bufferstack[i] = '\377';
4459 surfxml_bufferstack[0] = '\0';
4460 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4466 surfxml_bufferliteral('\0', &bnext, "0.0");
4467 surfxml_bufferliteral('\0', &bnext, "2147483647");
4468 surfxml_bufferliteral('\0', &bnext, "1");
4469 surfxml_bufferliteral('\0', &bnext, "1.0");
4470 surfxml_bufferliteral('\0', &bnext, "1");
4471 surfxml_bufferliteral('\0', &bnext, "0.0");
4472 surfxml_bufferliteral('\0', &bnext, "-1.0");
4473 surfxml_bufferliteral('\0', &bnext, "-1.0");
4474 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4475 surfxml_statenames[PROLOG] = NULL;
4476 surfxml_statenames[DOCTYPE] = NULL;
4477 surfxml_statenames[EPILOG] = NULL;
4478 surfxml_statenames[INCOMMENT] = NULL;
4479 surfxml_statenames[INPI] = NULL;
4480 surfxml_statenames[VALUE1] = NULL;
4481 surfxml_statenames[VALUE2] = NULL;
4482 surfxml_statenames[CDATA] = NULL;
4483 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4484 surfxml_statenames[AL_surfxml_platform] = NULL;
4485 surfxml_statenames[S_surfxml_platform] = "platform";
4486 surfxml_statenames[S_surfxml_platform_1] = "platform";
4487 surfxml_statenames[S_surfxml_platform_2] = "platform";
4488 surfxml_statenames[S_surfxml_platform_3] = "platform";
4489 surfxml_statenames[S_surfxml_platform_4] = "platform";
4490 surfxml_statenames[S_surfxml_platform_5] = "platform";
4491 surfxml_statenames[S_surfxml_platform_6] = "platform";
4492 surfxml_statenames[S_surfxml_platform_7] = "platform";
4493 surfxml_statenames[S_surfxml_platform_8] = "platform";
4494 surfxml_statenames[E_surfxml_platform] = "platform";
4495 surfxml_statenames[AL_surfxml_include] = NULL;
4496 surfxml_statenames[S_surfxml_include] = "include";
4497 surfxml_statenames[S_surfxml_include_1] = "include";
4498 surfxml_statenames[S_surfxml_include_2] = "include";
4499 surfxml_statenames[E_surfxml_include] = "include";
4500 surfxml_statenames[AL_surfxml_trace] = NULL;
4501 surfxml_statenames[IN_trace] = "trace";
4502 surfxml_statenames[AL_surfxml_random] = NULL;
4503 surfxml_statenames[S_surfxml_random] = "random";
4504 surfxml_statenames[S_surfxml_random_1] = "random";
4505 surfxml_statenames[S_surfxml_random_2] = "random";
4506 surfxml_statenames[E_surfxml_random] = "random";
4507 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4508 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4509 surfxml_statenames[AL_surfxml_AS] = NULL;
4510 surfxml_statenames[S_surfxml_AS] = "AS";
4511 surfxml_statenames[S_surfxml_AS_1] = "AS";
4512 surfxml_statenames[S_surfxml_AS_2] = "AS";
4513 surfxml_statenames[S_surfxml_AS_3] = "AS";
4514 surfxml_statenames[S_surfxml_AS_4] = "AS";
4515 surfxml_statenames[S_surfxml_AS_5] = "AS";
4516 surfxml_statenames[S_surfxml_AS_6] = "AS";
4517 surfxml_statenames[S_surfxml_AS_7] = "AS";
4518 surfxml_statenames[S_surfxml_AS_8] = "AS";
4519 surfxml_statenames[S_surfxml_AS_9] = "AS";
4520 surfxml_statenames[S_surfxml_AS_10] = "AS";
4521 surfxml_statenames[S_surfxml_AS_11] = "AS";
4522 surfxml_statenames[S_surfxml_AS_12] = "AS";
4523 surfxml_statenames[S_surfxml_AS_13] = "AS";
4524 surfxml_statenames[E_surfxml_AS] = "AS";
4525 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4526 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4527 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4528 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4529 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4530 surfxml_statenames[AL_surfxml_storage] = NULL;
4531 surfxml_statenames[S_surfxml_storage] = "storage";
4532 surfxml_statenames[S_surfxml_storage_1] = "storage";
4533 surfxml_statenames[S_surfxml_storage_2] = "storage";
4534 surfxml_statenames[E_surfxml_storage] = "storage";
4535 surfxml_statenames[AL_surfxml_mount] = NULL;
4536 surfxml_statenames[E_surfxml_mount] = "mount";
4537 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4538 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4539 surfxml_statenames[AL_surfxml_host] = NULL;
4540 surfxml_statenames[S_surfxml_host] = "host";
4541 surfxml_statenames[S_surfxml_host_1] = "host";
4542 surfxml_statenames[S_surfxml_host_2] = "host";
4543 surfxml_statenames[E_surfxml_host] = "host";
4544 surfxml_statenames[AL_surfxml_cluster] = NULL;
4545 surfxml_statenames[E_surfxml_cluster] = "cluster";
4546 surfxml_statenames[AL_surfxml_peer] = NULL;
4547 surfxml_statenames[E_surfxml_peer] = "peer";
4548 surfxml_statenames[AL_surfxml_router] = NULL;
4549 surfxml_statenames[E_surfxml_router] = "router";
4550 surfxml_statenames[AL_surfxml_link] = NULL;
4551 surfxml_statenames[S_surfxml_link] = "link";
4552 surfxml_statenames[S_surfxml_link_1] = "link";
4553 surfxml_statenames[S_surfxml_link_2] = "link";
4554 surfxml_statenames[E_surfxml_link] = "link";
4555 surfxml_statenames[AL_surfxml_route] = NULL;
4556 surfxml_statenames[S_surfxml_route] = "route";
4557 surfxml_statenames[S_surfxml_route_1] = "route";
4558 surfxml_statenames[S_surfxml_route_2] = "route";
4559 surfxml_statenames[E_surfxml_route] = "route";
4560 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4561 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4562 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4563 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4564 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4565 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4566 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4567 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4568 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4569 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4570 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4571 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4572 surfxml_statenames[AL_surfxml_process] = NULL;
4573 surfxml_statenames[S_surfxml_process] = "process";
4574 surfxml_statenames[S_surfxml_process_1] = "process";
4575 surfxml_statenames[S_surfxml_process_2] = "process";
4576 surfxml_statenames[E_surfxml_process] = "process";
4577 surfxml_statenames[AL_surfxml_argument] = NULL;
4578 surfxml_statenames[E_surfxml_argument] = "argument";
4579 surfxml_statenames[AL_surfxml_config] = NULL;
4580 surfxml_statenames[S_surfxml_config] = "config";
4581 surfxml_statenames[S_surfxml_config_1] = "config";
4582 surfxml_statenames[S_surfxml_config_2] = "config";
4583 surfxml_statenames[E_surfxml_config] = "config";
4584 surfxml_statenames[AL_surfxml_prop] = NULL;
4585 surfxml_statenames[E_surfxml_prop] = "prop";
4588 /* COMMENTS and PIs: handled uniformly for efficiency. */
4599 (yy_start) = 1; /* first start state */
4601 if ( ! surf_parse_in )
4602 surf_parse_in = stdin;
4604 if ( ! surf_parse_out )
4605 surf_parse_out = stdout;
4607 if ( ! YY_CURRENT_BUFFER ) {
4608 surf_parse_ensure_buffer_stack ();
4609 YY_CURRENT_BUFFER_LVALUE =
4610 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4613 surf_parse__load_buffer_state( );
4616 while ( 1 ) /* loops until end-of-file is reached */
4618 yy_cp = (yy_c_buf_p);
4620 /* Support of surf_parse_text. */
4621 *yy_cp = (yy_hold_char);
4623 /* yy_bp points to the position in yy_ch_buf of the start of
4628 yy_current_state = (yy_start);
4632 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4633 if ( yy_accept[yy_current_state] )
4635 (yy_last_accepting_state) = yy_current_state;
4636 (yy_last_accepting_cpos) = yy_cp;
4638 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4640 yy_current_state = (int) yy_def[yy_current_state];
4641 if ( yy_current_state >= 2703 )
4642 yy_c = yy_meta[(unsigned int) yy_c];
4644 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4647 while ( yy_base[yy_current_state] != 9694 );
4650 yy_act = yy_accept[yy_current_state];
4652 { /* have to back up */
4653 yy_cp = (yy_last_accepting_cpos);
4654 yy_current_state = (yy_last_accepting_state);
4655 yy_act = yy_accept[yy_current_state];
4658 YY_DO_BEFORE_ACTION;
4660 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4663 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4664 if ( surf_parse_text[yyl] == '\n' )
4666 surf_parse_lineno++;
4670 do_action: /* This label is used only to access EOF actions. */
4673 { /* beginning of action switch */
4674 case 0: /* must back up */
4675 /* undo the effects of YY_DO_BEFORE_ACTION */
4676 *yy_cp = (yy_hold_char);
4677 yy_cp = (yy_last_accepting_cpos);
4678 yy_current_state = (yy_last_accepting_state);
4679 goto yy_find_action;
4697 /* rule 6 can match eol */
4701 case YY_STATE_EOF(INCOMMENT):
4702 FAIL("EOF in comment.");
4711 /* rule 9 can match eol */
4715 case YY_STATE_EOF(INPI):
4716 FAIL("EOF in PI (processing instruction).");
4719 /* SPACES: skipped uniformly */
4721 /* rule 10 can match eol */
4725 /* PROLOG: determine root element and process it. */
4728 /* rule 11 can match eol */
4733 /* rule 12 can match eol */
4735 FAIL("Bad declaration %s.",surf_parse_text);
4739 /* rule 13 can match eol */
4741 SET(ROOT_surfxml_platform);
4744 /* rule 14 can match eol */
4746 FAIL("Bad declaration %s.",surf_parse_text);
4750 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4752 case YY_STATE_EOF(PROLOG):
4753 case YY_STATE_EOF(DOCTYPE):
4754 FAIL("EOF in prolog.");
4757 /* RULES DERIVED FROM DTD. */
4758 /* <!-- Small DTD for SURF based tools. --> */
4760 /* rule 16 can match eol */
4762 FAIL("Starting tag <platform> is not allowed here.");
4765 /* rule 17 can match eol */
4768 AX_surfxml_platform_version = 1;
4769 surfxml_platform_version_isset = 0;
4770 ENTER(AL_surfxml_platform); pushbuffer(0);
4775 /* rule 18 can match eol */
4777 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);
4780 /* rule 19 can match eol */
4782 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);
4787 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4793 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4795 case ROOT_surfxml_platform: SET(EPILOG); break;
4801 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4805 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4807 case YY_STATE_EOF(AL_surfxml_platform):
4808 FAIL("EOF in attribute list of `platform' element.");
4812 /* rule 24 can match eol */
4816 ETag_surfxml_platform();
4817 popbuffer(); /* attribute */
4819 case ROOT_surfxml_platform: SET(EPILOG); break;
4824 /* rule 25 can match eol */
4826 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4830 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4832 case YY_STATE_EOF(S_surfxml_platform_8):
4833 case YY_STATE_EOF(S_surfxml_platform_1):
4834 case YY_STATE_EOF(S_surfxml_platform_3):
4835 case YY_STATE_EOF(S_surfxml_platform):
4836 case YY_STATE_EOF(S_surfxml_platform_4):
4837 case YY_STATE_EOF(S_surfxml_platform_6):
4838 case YY_STATE_EOF(E_surfxml_platform):
4839 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4843 /* rule 27 can match eol */
4845 FAIL("Starting tag <include> is not allowed here.");
4848 /* rule 28 can match eol */
4851 AX_surfxml_include_file = 0;
4852 surfxml_include_file_isset = 0;
4853 ENTER(AL_surfxml_include); pushbuffer(0);
4858 /* rule 29 can match eol */
4860 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);
4863 /* rule 30 can match eol */
4865 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);
4870 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4871 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
4877 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4878 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4880 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4881 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4882 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4883 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;
4889 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4893 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4895 case YY_STATE_EOF(AL_surfxml_include):
4896 FAIL("EOF in attribute list of `include' element.");
4900 /* rule 35 can match eol */
4904 ETag_surfxml_include();
4905 popbuffer(); /* attribute */
4907 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4908 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4909 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4910 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;
4915 /* rule 36 can match eol */
4917 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4921 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4923 case YY_STATE_EOF(E_surfxml_include):
4924 case YY_STATE_EOF(S_surfxml_include):
4925 case YY_STATE_EOF(S_surfxml_include_2):
4926 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4930 /* rule 38 can match eol */
4932 FAIL("Starting tag <trace> is not allowed here.");
4935 /* rule 39 can match eol */
4938 AX_surfxml_trace_id = 0;
4939 surfxml_trace_id_isset = 0;
4940 AX_surfxml_trace_file = 0;
4941 surfxml_trace_file_isset = 0;
4942 AX_surfxml_trace_periodicity = 0;
4943 surfxml_trace_periodicity_isset = 0;
4944 ENTER(AL_surfxml_trace); pushbuffer(0);
4949 /* rule 40 can match eol */
4951 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);
4954 /* rule 41 can match eol */
4956 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);
4959 /* rule 42 can match eol */
4961 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);
4964 /* rule 43 can match eol */
4966 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);
4969 /* rule 44 can match eol */
4971 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);
4974 /* rule 45 can match eol */
4976 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);
4981 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4982 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4983 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4989 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4990 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4991 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4993 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;
4994 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4995 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4996 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4997 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;
4998 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5004 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
5008 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
5010 case YY_STATE_EOF(AL_surfxml_trace):
5011 FAIL("EOF in attribute list of `trace' element.");
5015 /* rule 50 can match eol */
5020 ETag_surfxml_trace();
5021 surfxml_pcdata_ix = popbuffer();
5022 popbuffer(); /* attribute */
5024 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;
5025 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5026 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5027 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); 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;
5029 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5034 /* rule 51 can match eol */
5036 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5038 case YY_STATE_EOF(IN_trace):
5039 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5043 /* rule 52 can match eol */
5045 FAIL("Starting tag <random> is not allowed here.");
5048 /* rule 53 can match eol */
5051 AX_surfxml_random_id = 0;
5052 surfxml_random_id_isset = 0;
5053 AX_surfxml_random_min = 0;
5054 surfxml_random_min_isset = 0;
5055 AX_surfxml_random_max = 0;
5056 surfxml_random_max_isset = 0;
5057 AX_surfxml_random_mean = 0;
5058 surfxml_random_mean_isset = 0;
5059 AX_surfxml_random_std_deviation = 0;
5060 surfxml_random_std_deviation_isset = 0;
5061 AX_surfxml_random_seed = 5;
5062 surfxml_random_seed_isset = 0;
5063 AX_surfxml_random_radical = 0;
5064 surfxml_random_radical_isset = 0;
5065 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5066 surfxml_random_generator_isset = 0;
5067 ENTER(AL_surfxml_random); pushbuffer(0);
5072 /* rule 54 can match eol */
5074 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);
5077 /* rule 55 can match eol */
5079 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);
5082 /* rule 56 can match eol */
5084 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);
5087 /* rule 57 can match eol */
5089 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);
5092 /* rule 58 can match eol */
5094 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);
5097 /* rule 59 can match eol */
5099 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);
5102 /* rule 60 can match eol */
5104 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);
5107 /* rule 61 can match eol */
5109 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);
5112 /* rule 62 can match eol */
5114 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);
5117 /* rule 63 can match eol */
5119 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);
5122 /* rule 64 can match eol */
5124 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);
5127 /* rule 65 can match eol */
5129 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);
5132 /* rule 66 can match eol */
5134 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);
5137 /* rule 67 can match eol */
5139 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);
5142 /* rule 68 can match eol */
5144 /* rule 69 can match eol */
5146 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5149 /* rule 70 can match eol */
5151 /* rule 71 can match eol */
5153 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5156 /* rule 72 can match eol */
5158 /* rule 73 can match eol */
5160 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5163 /* rule 74 can match eol */
5165 /* rule 75 can match eol */
5167 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5172 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5173 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5174 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5175 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5176 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5177 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
5183 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5184 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5185 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5186 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5187 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5188 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
5190 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5196 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5200 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5202 case YY_STATE_EOF(AL_surfxml_random):
5203 FAIL("EOF in attribute list of `random' element.");
5207 /* rule 80 can match eol */
5211 ETag_surfxml_random();
5212 popbuffer(); /* attribute */
5214 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5219 /* rule 81 can match eol */
5221 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5225 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5227 case YY_STATE_EOF(S_surfxml_random):
5228 case YY_STATE_EOF(S_surfxml_random_2):
5229 case YY_STATE_EOF(E_surfxml_random):
5230 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5234 /* rule 83 can match eol */
5236 FAIL("Starting tag <trace_connect> is not allowed here.");
5239 /* rule 84 can match eol */
5242 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5243 surfxml_trace_connect_kind_isset = 0;
5244 AX_surfxml_trace_connect_trace = 0;
5245 surfxml_trace_connect_trace_isset = 0;
5246 AX_surfxml_trace_connect_element = 0;
5247 surfxml_trace_connect_element_isset = 0;
5248 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5253 /* rule 85 can match eol */
5255 /* rule 86 can match eol */
5257 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5260 /* rule 87 can match eol */
5262 /* rule 88 can match eol */
5264 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5267 /* rule 89 can match eol */
5269 /* rule 90 can match eol */
5271 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5274 /* rule 91 can match eol */
5276 /* rule 92 can match eol */
5278 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5281 /* rule 93 can match eol */
5283 /* rule 94 can match eol */
5285 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5288 /* rule 95 can match eol */
5290 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);
5293 /* rule 96 can match eol */
5295 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);
5298 /* rule 97 can match eol */
5300 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);
5303 /* rule 98 can match eol */
5305 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);
5310 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5311 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5312 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5318 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5319 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5320 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5322 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;
5323 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5324 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5325 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5326 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;
5327 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5333 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5337 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5339 case YY_STATE_EOF(AL_surfxml_trace_connect):
5340 FAIL("EOF in attribute list of `trace_connect' element.");
5344 /* rule 103 can match eol */
5348 ETag_surfxml_trace_connect();
5349 popbuffer(); /* attribute */
5351 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;
5352 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5353 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5354 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5355 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;
5356 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5361 /* rule 104 can match eol */
5363 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5367 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5369 case YY_STATE_EOF(E_surfxml_trace_connect):
5370 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5374 /* rule 106 can match eol */
5376 FAIL("Starting tag <AS> is not allowed here.");
5379 /* rule 107 can match eol */
5382 AX_surfxml_AS_id = 0;
5383 surfxml_AS_id_isset = 0;
5384 AX_surfxml_AS_routing = 0;
5385 surfxml_AS_routing_isset = 0;
5386 ENTER(AL_surfxml_AS); pushbuffer(0);
5391 /* rule 108 can match eol */
5393 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);
5396 /* rule 109 can match eol */
5398 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);
5401 /* rule 110 can match eol */
5403 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);
5406 /* rule 111 can match eol */
5408 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);
5413 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5414 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5415 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5421 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5422 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5423 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5425 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5426 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;
5427 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5433 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5437 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5439 case YY_STATE_EOF(AL_surfxml_AS):
5440 FAIL("EOF in attribute list of `AS' element.");
5444 /* rule 116 can match eol */
5449 popbuffer(); /* attribute */
5451 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5452 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;
5453 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5458 /* rule 117 can match eol */
5460 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5464 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5466 case YY_STATE_EOF(S_surfxml_AS_9):
5467 case YY_STATE_EOF(S_surfxml_AS_1):
5468 case YY_STATE_EOF(S_surfxml_AS_11):
5469 case YY_STATE_EOF(S_surfxml_AS_6):
5470 case YY_STATE_EOF(E_surfxml_AS):
5471 case YY_STATE_EOF(S_surfxml_AS_3):
5472 case YY_STATE_EOF(S_surfxml_AS_13):
5473 case YY_STATE_EOF(S_surfxml_AS_8):
5474 case YY_STATE_EOF(S_surfxml_AS):
5475 case YY_STATE_EOF(S_surfxml_AS_4):
5476 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5480 /* rule 119 can match eol */
5482 FAIL("Starting tag <storage_type> is not allowed here.");
5485 /* rule 120 can match eol */
5488 AX_surfxml_storage_type_id = 0;
5489 surfxml_storage_type_id_isset = 0;
5490 AX_surfxml_storage_type_model = 0;
5491 surfxml_storage_type_model_isset = 0;
5492 AX_surfxml_storage_type_content = 0;
5493 surfxml_storage_type_content_isset = 0;
5494 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5499 /* rule 121 can match eol */
5501 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_id);
5504 /* rule 122 can match eol */
5506 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_id);
5509 /* rule 123 can match eol */
5511 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_model);
5514 /* rule 124 can match eol */
5516 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_model);
5519 /* rule 125 can match eol */
5521 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_content);
5524 /* rule 126 can match eol */
5526 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_content);
5531 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5532 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5533 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5539 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5540 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5541 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
5543 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5544 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5550 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5554 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5556 case YY_STATE_EOF(AL_surfxml_storage_type):
5557 FAIL("EOF in attribute list of `storage_type' element.");
5561 /* rule 131 can match eol */
5565 ETag_surfxml_storage_type();
5566 popbuffer(); /* attribute */
5568 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5569 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5574 /* rule 132 can match eol */
5576 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5580 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5582 case YY_STATE_EOF(E_surfxml_storage_type):
5583 case YY_STATE_EOF(S_surfxml_storage_type_2):
5584 case YY_STATE_EOF(S_surfxml_storage_type):
5585 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5589 /* rule 134 can match eol */
5591 FAIL("Starting tag <storage> is not allowed here.");
5594 /* rule 135 can match eol */
5597 AX_surfxml_storage_id = 0;
5598 surfxml_storage_id_isset = 0;
5599 AX_surfxml_storage_typeId = 0;
5600 surfxml_storage_typeId_isset = 0;
5601 ENTER(AL_surfxml_storage); pushbuffer(0);
5606 /* rule 136 can match eol */
5608 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);
5611 /* rule 137 can match eol */
5613 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);
5616 /* rule 138 can match eol */
5618 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_typeId);
5621 /* rule 139 can match eol */
5623 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_typeId);
5628 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5629 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5630 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5636 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5637 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5638 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5640 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5641 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5647 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5651 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5653 case YY_STATE_EOF(AL_surfxml_storage):
5654 FAIL("EOF in attribute list of `storage' element.");
5658 /* rule 144 can match eol */
5662 ETag_surfxml_storage();
5663 popbuffer(); /* attribute */
5665 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5666 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5671 /* rule 145 can match eol */
5673 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5677 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5679 case YY_STATE_EOF(E_surfxml_storage):
5680 case YY_STATE_EOF(S_surfxml_storage):
5681 case YY_STATE_EOF(S_surfxml_storage_2):
5682 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5686 /* rule 147 can match eol */
5688 FAIL("Starting tag <mount> is not allowed here.");
5691 /* rule 148 can match eol */
5694 AX_surfxml_mount_id = 0;
5695 surfxml_mount_id_isset = 0;
5696 AX_surfxml_mount_name = 0;
5697 surfxml_mount_name_isset = 0;
5698 ENTER(AL_surfxml_mount); pushbuffer(0);
5703 /* rule 149 can match eol */
5705 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_id);
5708 /* rule 150 can match eol */
5710 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_id);
5713 /* rule 151 can match eol */
5715 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_name);
5718 /* rule 152 can match eol */
5720 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_name);
5725 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5726 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5727 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
5733 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5734 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5735 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
5737 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5743 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
5747 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
5749 case YY_STATE_EOF(AL_surfxml_mount):
5750 FAIL("EOF in attribute list of `mount' element.");
5754 /* rule 157 can match eol */
5758 ETag_surfxml_mount();
5759 popbuffer(); /* attribute */
5761 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5766 /* rule 158 can match eol */
5768 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
5772 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
5774 case YY_STATE_EOF(E_surfxml_mount):
5775 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
5779 /* rule 160 can match eol */
5781 FAIL("Starting tag <mstorage> is not allowed here.");
5784 /* rule 161 can match eol */
5787 AX_surfxml_mstorage_typeId = 0;
5788 surfxml_mstorage_typeId_isset = 0;
5789 AX_surfxml_mstorage_name = 0;
5790 surfxml_mstorage_name_isset = 0;
5791 ENTER(AL_surfxml_mstorage); pushbuffer(0);
5796 /* rule 162 can match eol */
5798 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_typeId);
5801 /* rule 163 can match eol */
5803 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_typeId);
5806 /* rule 164 can match eol */
5808 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_name);
5811 /* rule 165 can match eol */
5813 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_name);
5818 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
5819 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5820 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
5826 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
5827 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5828 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
5830 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5836 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
5840 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
5842 case YY_STATE_EOF(AL_surfxml_mstorage):
5843 FAIL("EOF in attribute list of `mstorage' element.");
5847 /* rule 170 can match eol */
5851 ETag_surfxml_mstorage();
5852 popbuffer(); /* attribute */
5854 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5859 /* rule 171 can match eol */
5861 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
5865 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
5867 case YY_STATE_EOF(E_surfxml_mstorage):
5868 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
5872 /* rule 173 can match eol */
5874 FAIL("Starting tag <host> is not allowed here.");
5877 /* rule 174 can match eol */
5880 AX_surfxml_host_id = 0;
5881 surfxml_host_id_isset = 0;
5882 AX_surfxml_host_power = 0;
5883 surfxml_host_power_isset = 0;
5884 AX_surfxml_host_core = 16;
5885 surfxml_host_core_isset = 0;
5886 AX_surfxml_host_availability = 18;
5887 surfxml_host_availability_isset = 0;
5888 AX_surfxml_host_availability_file = 0;
5889 surfxml_host_availability_file_isset = 0;
5890 AX_surfxml_host_state = A_surfxml_host_state_ON;
5891 surfxml_host_state_isset = 0;
5892 AX_surfxml_host_state_file = 0;
5893 surfxml_host_state_file_isset = 0;
5894 AX_surfxml_host_coordinates = 0;
5895 surfxml_host_coordinates_isset = 0;
5896 ENTER(AL_surfxml_host); pushbuffer(0);
5901 /* rule 175 can match eol */
5903 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);
5906 /* rule 176 can match eol */
5908 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);
5911 /* rule 177 can match eol */
5913 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);
5916 /* rule 178 can match eol */
5918 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);
5921 /* rule 179 can match eol */
5923 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);
5926 /* rule 180 can match eol */
5928 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);
5931 /* rule 181 can match eol */
5933 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);
5936 /* rule 182 can match eol */
5938 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);
5941 /* rule 183 can match eol */
5943 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);
5946 /* rule 184 can match eol */
5948 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);
5951 /* rule 185 can match eol */
5953 /* rule 186 can match eol */
5955 A_surfxml_host_state = A_surfxml_host_state_ON;
5958 /* rule 187 can match eol */
5960 /* rule 188 can match eol */
5962 A_surfxml_host_state = A_surfxml_host_state_OFF;
5965 /* rule 189 can match eol */
5967 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);
5970 /* rule 190 can match eol */
5972 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);
5975 /* rule 191 can match eol */
5977 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);
5980 /* rule 192 can match eol */
5982 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);
5987 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5988 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5989 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5995 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5996 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5997 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
5999 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6005 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6009 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6011 case YY_STATE_EOF(AL_surfxml_host):
6012 FAIL("EOF in attribute list of `host' element.");
6016 /* rule 197 can match eol */
6020 ETag_surfxml_host();
6021 popbuffer(); /* attribute */
6023 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6028 /* rule 198 can match eol */
6030 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6034 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6036 case YY_STATE_EOF(S_surfxml_host):
6037 case YY_STATE_EOF(E_surfxml_host):
6038 case YY_STATE_EOF(S_surfxml_host_2):
6039 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6043 /* rule 200 can match eol */
6045 FAIL("Starting tag <cluster> is not allowed here.");
6048 /* rule 201 can match eol */
6051 AX_surfxml_cluster_id = 0;
6052 surfxml_cluster_id_isset = 0;
6053 AX_surfxml_cluster_prefix = 0;
6054 surfxml_cluster_prefix_isset = 0;
6055 AX_surfxml_cluster_suffix = 0;
6056 surfxml_cluster_suffix_isset = 0;
6057 AX_surfxml_cluster_radical = 0;
6058 surfxml_cluster_radical_isset = 0;
6059 AX_surfxml_cluster_power = 0;
6060 surfxml_cluster_power_isset = 0;
6061 AX_surfxml_cluster_core = 22;
6062 surfxml_cluster_core_isset = 0;
6063 AX_surfxml_cluster_bw = 0;
6064 surfxml_cluster_bw_isset = 0;
6065 AX_surfxml_cluster_lat = 0;
6066 surfxml_cluster_lat_isset = 0;
6067 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6068 surfxml_cluster_sharing_policy_isset = 0;
6069 AX_surfxml_cluster_bb_bw = 0;
6070 surfxml_cluster_bb_bw_isset = 0;
6071 AX_surfxml_cluster_bb_lat = 0;
6072 surfxml_cluster_bb_lat_isset = 0;
6073 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6074 surfxml_cluster_bb_sharing_policy_isset = 0;
6075 AX_surfxml_cluster_availability_file = 0;
6076 surfxml_cluster_availability_file_isset = 0;
6077 AX_surfxml_cluster_state_file = 0;
6078 surfxml_cluster_state_file_isset = 0;
6079 AX_surfxml_cluster_router_id = 0;
6080 surfxml_cluster_router_id_isset = 0;
6081 ENTER(AL_surfxml_cluster); pushbuffer(0);
6086 /* rule 202 can match eol */
6088 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);
6091 /* rule 203 can match eol */
6093 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);
6096 /* rule 204 can match eol */
6098 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);
6101 /* rule 205 can match eol */
6103 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);
6106 /* rule 206 can match eol */
6108 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);
6111 /* rule 207 can match eol */
6113 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);
6116 /* rule 208 can match eol */
6118 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);
6121 /* rule 209 can match eol */
6123 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);
6126 /* rule 210 can match eol */
6128 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);
6131 /* rule 211 can match eol */
6133 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);
6136 /* rule 212 can match eol */
6138 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);
6141 /* rule 213 can match eol */
6143 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);
6146 /* rule 214 can match eol */
6148 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);
6151 /* rule 215 can match eol */
6153 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);
6156 /* rule 216 can match eol */
6158 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);
6161 /* rule 217 can match eol */
6163 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);
6166 /* rule 218 can match eol */
6168 /* rule 219 can match eol */
6170 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6173 /* rule 220 can match eol */
6175 /* rule 221 can match eol */
6177 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6180 /* rule 222 can match eol */
6182 /* rule 223 can match eol */
6184 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6187 /* rule 224 can match eol */
6189 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);
6192 /* rule 225 can match eol */
6194 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);
6197 /* rule 226 can match eol */
6199 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);
6202 /* rule 227 can match eol */
6204 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);
6207 /* rule 228 can match eol */
6209 /* rule 229 can match eol */
6211 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6214 /* rule 230 can match eol */
6216 /* rule 231 can match eol */
6218 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6221 /* rule 232 can match eol */
6223 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);
6226 /* rule 233 can match eol */
6228 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);
6231 /* rule 234 can match eol */
6233 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);
6236 /* rule 235 can match eol */
6238 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);
6241 /* rule 236 can match eol */
6243 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);
6246 /* rule 237 can match eol */
6248 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);
6253 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6254 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6255 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6256 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6257 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6258 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6259 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6260 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6266 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6267 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6268 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6269 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6270 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6271 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6272 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6273 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6275 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6276 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;
6282 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6286 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6288 case YY_STATE_EOF(AL_surfxml_cluster):
6289 FAIL("EOF in attribute list of `cluster' element.");
6293 /* rule 242 can match eol */
6297 ETag_surfxml_cluster();
6298 popbuffer(); /* attribute */
6300 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6301 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;
6306 /* rule 243 can match eol */
6308 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6312 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6314 case YY_STATE_EOF(E_surfxml_cluster):
6315 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6319 /* rule 245 can match eol */
6321 FAIL("Starting tag <peer> is not allowed here.");
6324 /* rule 246 can match eol */
6327 AX_surfxml_peer_id = 0;
6328 surfxml_peer_id_isset = 0;
6329 AX_surfxml_peer_power = 0;
6330 surfxml_peer_power_isset = 0;
6331 AX_surfxml_peer_bw_in = 0;
6332 surfxml_peer_bw_in_isset = 0;
6333 AX_surfxml_peer_bw_out = 0;
6334 surfxml_peer_bw_out_isset = 0;
6335 AX_surfxml_peer_lat = 0;
6336 surfxml_peer_lat_isset = 0;
6337 AX_surfxml_peer_coordinates = 0;
6338 surfxml_peer_coordinates_isset = 0;
6339 AX_surfxml_peer_availability_file = 0;
6340 surfxml_peer_availability_file_isset = 0;
6341 AX_surfxml_peer_state_file = 0;
6342 surfxml_peer_state_file_isset = 0;
6343 ENTER(AL_surfxml_peer); pushbuffer(0);
6348 /* rule 247 can match eol */
6350 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);
6353 /* rule 248 can match eol */
6355 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);
6358 /* rule 249 can match eol */
6360 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);
6363 /* rule 250 can match eol */
6365 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);
6368 /* rule 251 can match eol */
6370 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);
6373 /* rule 252 can match eol */
6375 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);
6378 /* rule 253 can match eol */
6380 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);
6383 /* rule 254 can match eol */
6385 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);
6388 /* rule 255 can match eol */
6390 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);
6393 /* rule 256 can match eol */
6395 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);
6398 /* rule 257 can match eol */
6400 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);
6403 /* rule 258 can match eol */
6405 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);
6408 /* rule 259 can match eol */
6410 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);
6413 /* rule 260 can match eol */
6415 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);
6418 /* rule 261 can match eol */
6420 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);
6423 /* rule 262 can match eol */
6425 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);
6430 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6431 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6432 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6433 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6434 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6435 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
6441 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6442 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6443 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6444 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6445 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6446 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
6448 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6449 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;
6455 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6459 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6461 case YY_STATE_EOF(AL_surfxml_peer):
6462 FAIL("EOF in attribute list of `peer' element.");
6466 /* rule 267 can match eol */
6470 ETag_surfxml_peer();
6471 popbuffer(); /* attribute */
6473 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6474 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;
6479 /* rule 268 can match eol */
6481 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6485 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6487 case YY_STATE_EOF(E_surfxml_peer):
6488 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6492 /* rule 270 can match eol */
6494 FAIL("Starting tag <router> is not allowed here.");
6497 /* rule 271 can match eol */
6500 AX_surfxml_router_id = 0;
6501 surfxml_router_id_isset = 0;
6502 AX_surfxml_router_coordinates = 0;
6503 surfxml_router_coordinates_isset = 0;
6504 ENTER(AL_surfxml_router); pushbuffer(0);
6509 /* rule 272 can match eol */
6511 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);
6514 /* rule 273 can match eol */
6516 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);
6519 /* rule 274 can match eol */
6521 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);
6524 /* rule 275 can match eol */
6526 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);
6531 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6532 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6538 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6539 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6541 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6547 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6551 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6553 case YY_STATE_EOF(AL_surfxml_router):
6554 FAIL("EOF in attribute list of `router' element.");
6558 /* rule 280 can match eol */
6562 ETag_surfxml_router();
6563 popbuffer(); /* attribute */
6565 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6570 /* rule 281 can match eol */
6572 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6576 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6578 case YY_STATE_EOF(E_surfxml_router):
6579 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6583 /* rule 283 can match eol */
6585 FAIL("Starting tag <link> is not allowed here.");
6588 /* rule 284 can match eol */
6591 AX_surfxml_link_id = 0;
6592 surfxml_link_id_isset = 0;
6593 AX_surfxml_link_bandwidth = 0;
6594 surfxml_link_bandwidth_isset = 0;
6595 AX_surfxml_link_bandwidth_file = 0;
6596 surfxml_link_bandwidth_file_isset = 0;
6597 AX_surfxml_link_latency = 24;
6598 surfxml_link_latency_isset = 0;
6599 AX_surfxml_link_latency_file = 0;
6600 surfxml_link_latency_file_isset = 0;
6601 AX_surfxml_link_state = A_surfxml_link_state_ON;
6602 surfxml_link_state_isset = 0;
6603 AX_surfxml_link_state_file = 0;
6604 surfxml_link_state_file_isset = 0;
6605 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6606 surfxml_link_sharing_policy_isset = 0;
6607 ENTER(AL_surfxml_link); pushbuffer(0);
6612 /* rule 285 can match eol */
6614 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);
6617 /* rule 286 can match eol */
6619 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);
6622 /* rule 287 can match eol */
6624 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);
6627 /* rule 288 can match eol */
6629 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);
6632 /* rule 289 can match eol */
6634 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);
6637 /* rule 290 can match eol */
6639 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);
6642 /* rule 291 can match eol */
6644 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);
6647 /* rule 292 can match eol */
6649 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);
6652 /* rule 293 can match eol */
6654 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);
6657 /* rule 294 can match eol */
6659 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);
6662 /* rule 295 can match eol */
6664 /* rule 296 can match eol */
6666 A_surfxml_link_state = A_surfxml_link_state_ON;
6669 /* rule 297 can match eol */
6671 /* rule 298 can match eol */
6673 A_surfxml_link_state = A_surfxml_link_state_OFF;
6676 /* rule 299 can match eol */
6678 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);
6681 /* rule 300 can match eol */
6683 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);
6686 /* rule 301 can match eol */
6688 /* rule 302 can match eol */
6690 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6693 /* rule 303 can match eol */
6695 /* rule 304 can match eol */
6697 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6700 /* rule 305 can match eol */
6702 /* rule 306 can match eol */
6704 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6709 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6710 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6711 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6717 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6718 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6719 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6721 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6722 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6728 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6732 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6734 case YY_STATE_EOF(AL_surfxml_link):
6735 FAIL("EOF in attribute list of `link' element.");
6739 /* rule 311 can match eol */
6743 ETag_surfxml_link();
6744 popbuffer(); /* attribute */
6746 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6747 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6752 /* rule 312 can match eol */
6754 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6758 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6760 case YY_STATE_EOF(E_surfxml_link):
6761 case YY_STATE_EOF(S_surfxml_link_2):
6762 case YY_STATE_EOF(S_surfxml_link):
6763 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6767 /* rule 314 can match eol */
6769 FAIL("Starting tag <route> is not allowed here.");
6772 /* rule 315 can match eol */
6775 AX_surfxml_route_src = 0;
6776 surfxml_route_src_isset = 0;
6777 AX_surfxml_route_dst = 0;
6778 surfxml_route_dst_isset = 0;
6779 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6780 surfxml_route_symmetrical_isset = 0;
6781 ENTER(AL_surfxml_route); pushbuffer(0);
6786 /* rule 316 can match eol */
6788 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);
6791 /* rule 317 can match eol */
6793 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);
6796 /* rule 318 can match eol */
6798 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);
6801 /* rule 319 can match eol */
6803 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);
6806 /* rule 320 can match eol */
6808 /* rule 321 can match eol */
6810 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6813 /* rule 322 can match eol */
6815 /* rule 323 can match eol */
6817 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
6822 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6823 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6824 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
6830 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6831 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6832 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
6834 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;
6840 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
6844 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
6846 case YY_STATE_EOF(AL_surfxml_route):
6847 FAIL("EOF in attribute list of `route' element.");
6851 /* rule 328 can match eol */
6855 ETag_surfxml_route();
6856 popbuffer(); /* attribute */
6858 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;
6863 /* rule 329 can match eol */
6865 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
6869 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
6871 case YY_STATE_EOF(S_surfxml_route):
6872 case YY_STATE_EOF(S_surfxml_route_2):
6873 case YY_STATE_EOF(E_surfxml_route):
6874 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
6878 /* rule 331 can match eol */
6880 FAIL("Starting tag <ASroute> is not allowed here.");
6883 /* rule 332 can match eol */
6886 AX_surfxml_ASroute_src = 0;
6887 surfxml_ASroute_src_isset = 0;
6888 AX_surfxml_ASroute_dst = 0;
6889 surfxml_ASroute_dst_isset = 0;
6890 AX_surfxml_ASroute_gw_src = 0;
6891 surfxml_ASroute_gw_src_isset = 0;
6892 AX_surfxml_ASroute_gw_dst = 0;
6893 surfxml_ASroute_gw_dst_isset = 0;
6894 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6895 surfxml_ASroute_symmetrical_isset = 0;
6896 ENTER(AL_surfxml_ASroute); pushbuffer(0);
6901 /* rule 333 can match eol */
6903 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);
6906 /* rule 334 can match eol */
6908 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);
6911 /* rule 335 can match eol */
6913 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);
6916 /* rule 336 can match eol */
6918 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);
6921 /* rule 337 can match eol */
6923 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);
6926 /* rule 338 can match eol */
6928 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);
6931 /* rule 339 can match eol */
6933 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);
6936 /* rule 340 can match eol */
6938 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);
6941 /* rule 341 can match eol */
6943 /* rule 342 can match eol */
6945 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6948 /* rule 343 can match eol */
6950 /* rule 344 can match eol */
6952 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6957 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6958 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6959 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6960 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6961 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6967 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6968 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6969 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6970 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6971 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6973 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;
6979 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6983 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6985 case YY_STATE_EOF(AL_surfxml_ASroute):
6986 FAIL("EOF in attribute list of `ASroute' element.");
6990 /* rule 349 can match eol */
6994 ETag_surfxml_ASroute();
6995 popbuffer(); /* attribute */
6997 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;
7002 /* rule 350 can match eol */
7004 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
7008 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
7010 case YY_STATE_EOF(E_surfxml_ASroute):
7011 case YY_STATE_EOF(S_surfxml_ASroute):
7012 case YY_STATE_EOF(S_surfxml_ASroute_2):
7013 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
7017 /* rule 352 can match eol */
7019 FAIL("Starting tag <link_ctn> is not allowed here.");
7022 /* rule 353 can match eol */
7025 AX_surfxml_link_ctn_id = 0;
7026 surfxml_link_ctn_id_isset = 0;
7027 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7028 surfxml_link_ctn_direction_isset = 0;
7029 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7034 /* rule 354 can match eol */
7036 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);
7039 /* rule 355 can match eol */
7041 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);
7044 /* rule 356 can match eol */
7046 /* rule 357 can match eol */
7048 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7051 /* rule 358 can match eol */
7053 /* rule 359 can match eol */
7055 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7058 /* rule 360 can match eol */
7060 /* rule 361 can match eol */
7062 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7067 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7068 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7074 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7075 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7077 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7078 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7079 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7085 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7089 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7091 case YY_STATE_EOF(AL_surfxml_link_ctn):
7092 FAIL("EOF in attribute list of `link_ctn' element.");
7096 /* rule 366 can match eol */
7100 ETag_surfxml_link_ctn();
7101 popbuffer(); /* attribute */
7103 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7104 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7105 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7110 /* rule 367 can match eol */
7112 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7116 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7118 case YY_STATE_EOF(E_surfxml_link_ctn):
7119 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7123 /* rule 369 can match eol */
7125 FAIL("Starting tag <bypassRoute> is not allowed here.");
7128 /* rule 370 can match eol */
7131 AX_surfxml_bypassRoute_src = 0;
7132 surfxml_bypassRoute_src_isset = 0;
7133 AX_surfxml_bypassRoute_dst = 0;
7134 surfxml_bypassRoute_dst_isset = 0;
7135 AX_surfxml_bypassRoute_gw_src = 0;
7136 surfxml_bypassRoute_gw_src_isset = 0;
7137 AX_surfxml_bypassRoute_gw_dst = 0;
7138 surfxml_bypassRoute_gw_dst_isset = 0;
7139 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7144 /* rule 371 can match eol */
7146 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);
7149 /* rule 372 can match eol */
7151 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);
7154 /* rule 373 can match eol */
7156 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);
7159 /* rule 374 can match eol */
7161 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);
7164 /* rule 375 can match eol */
7166 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);
7169 /* rule 376 can match eol */
7171 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);
7174 /* rule 377 can match eol */
7176 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);
7179 /* rule 378 can match eol */
7181 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);
7186 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7187 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7188 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7189 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7190 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7196 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7197 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7198 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7199 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7200 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7202 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;
7208 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7212 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7214 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7215 FAIL("EOF in attribute list of `bypassRoute' element.");
7219 /* rule 383 can match eol */
7223 ETag_surfxml_bypassRoute();
7224 popbuffer(); /* attribute */
7226 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;
7231 /* rule 384 can match eol */
7233 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7237 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7239 case YY_STATE_EOF(S_surfxml_bypassRoute):
7240 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7241 case YY_STATE_EOF(E_surfxml_bypassRoute):
7242 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7246 /* rule 386 can match eol */
7248 FAIL("Starting tag <process> is not allowed here.");
7251 /* rule 387 can match eol */
7254 AX_surfxml_process_host = 0;
7255 surfxml_process_host_isset = 0;
7256 AX_surfxml_process_function = 0;
7257 surfxml_process_function_isset = 0;
7258 AX_surfxml_process_start_time = 28;
7259 surfxml_process_start_time_isset = 0;
7260 AX_surfxml_process_kill_time = 33;
7261 surfxml_process_kill_time_isset = 0;
7262 ENTER(AL_surfxml_process); pushbuffer(0);
7267 /* rule 388 can match eol */
7269 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);
7272 /* rule 389 can match eol */
7274 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);
7277 /* rule 390 can match eol */
7279 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);
7282 /* rule 391 can match eol */
7284 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);
7287 /* rule 392 can match eol */
7289 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);
7292 /* rule 393 can match eol */
7294 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);
7297 /* rule 394 can match eol */
7299 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);
7302 /* rule 395 can match eol */
7304 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);
7309 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7310 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7311 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7317 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7318 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7319 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7321 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;
7327 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7331 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7333 case YY_STATE_EOF(AL_surfxml_process):
7334 FAIL("EOF in attribute list of `process' element.");
7338 /* rule 400 can match eol */
7342 ETag_surfxml_process();
7343 popbuffer(); /* attribute */
7345 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;
7350 /* rule 401 can match eol */
7352 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7356 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7358 case YY_STATE_EOF(E_surfxml_process):
7359 case YY_STATE_EOF(S_surfxml_process):
7360 case YY_STATE_EOF(S_surfxml_process_2):
7361 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7365 /* rule 403 can match eol */
7367 FAIL("Starting tag <argument> is not allowed here.");
7370 /* rule 404 can match eol */
7373 AX_surfxml_argument_value = 0;
7374 surfxml_argument_value_isset = 0;
7375 ENTER(AL_surfxml_argument); pushbuffer(0);
7380 /* rule 405 can match eol */
7382 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);
7385 /* rule 406 can match eol */
7387 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);
7392 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7393 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7399 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7400 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7402 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7408 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7412 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7414 case YY_STATE_EOF(AL_surfxml_argument):
7415 FAIL("EOF in attribute list of `argument' element.");
7419 /* rule 411 can match eol */
7423 ETag_surfxml_argument();
7424 popbuffer(); /* attribute */
7426 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7431 /* rule 412 can match eol */
7433 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7437 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7439 case YY_STATE_EOF(E_surfxml_argument):
7440 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7444 /* rule 414 can match eol */
7446 FAIL("Starting tag <config> is not allowed here.");
7449 /* rule 415 can match eol */
7452 AX_surfxml_config_id = 0;
7453 surfxml_config_id_isset = 0;
7454 ENTER(AL_surfxml_config); pushbuffer(0);
7459 /* rule 416 can match eol */
7461 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);
7464 /* rule 417 can match eol */
7466 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);
7471 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7477 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7479 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7485 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7489 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7491 case YY_STATE_EOF(AL_surfxml_config):
7492 FAIL("EOF in attribute list of `config' element.");
7496 /* rule 422 can match eol */
7500 ETag_surfxml_config();
7501 popbuffer(); /* attribute */
7503 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7508 /* rule 423 can match eol */
7510 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7514 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7516 case YY_STATE_EOF(S_surfxml_config):
7517 case YY_STATE_EOF(S_surfxml_config_2):
7518 case YY_STATE_EOF(E_surfxml_config):
7519 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7522 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7523 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7525 /* rule 425 can match eol */
7527 FAIL("Starting tag <prop> is not allowed here.");
7530 /* rule 426 can match eol */
7533 AX_surfxml_prop_id = 0;
7534 surfxml_prop_id_isset = 0;
7535 AX_surfxml_prop_value = 0;
7536 surfxml_prop_value_isset = 0;
7537 ENTER(AL_surfxml_prop); pushbuffer(0);
7542 /* rule 427 can match eol */
7544 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);
7547 /* rule 428 can match eol */
7549 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);
7552 /* rule 429 can match eol */
7554 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);
7557 /* rule 430 can match eol */
7559 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);
7564 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7565 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7566 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7572 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7573 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7574 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7576 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7577 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7578 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7579 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7580 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7581 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7582 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7588 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
7592 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
7594 case YY_STATE_EOF(AL_surfxml_prop):
7595 FAIL("EOF in attribute list of `prop' element.");
7599 /* rule 435 can match eol */
7603 ETag_surfxml_prop();
7604 popbuffer(); /* attribute */
7606 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7607 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7608 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7609 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7610 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7611 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7612 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7617 /* rule 436 can match eol */
7619 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
7623 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
7625 case YY_STATE_EOF(E_surfxml_prop):
7626 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
7629 /* EPILOG: after the root element. */
7633 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
7635 case YY_STATE_EOF(EPILOG):
7639 /* CHARACTER DATA. */
7641 /* Non-defined standard entities... */
7662 /* Character entities. */
7665 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
7669 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
7673 /* rule 446 can match eol */
7675 /* rule 447 can match eol */
7677 /* rule 448 can match eol */
7679 /* rule 449 can match eol */
7690 FAIL("Unexpected `]""]>' in character data.");
7697 case YY_STATE_EOF(VALUE1):
7698 FAIL("EOF in literal (\"'\" expected).");
7705 case YY_STATE_EOF(VALUE2):
7706 FAIL("EOF in literal (`\"' expected).");
7710 /* rule 454 can match eol */
7712 BUFFERPUTC(surf_parse_text[0]);
7716 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
7723 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
7726 BUFFERPUTC(surf_parse_text[0]);
7728 case YY_STATE_EOF(CDATA):
7729 FAIL("EOF in CDATA section.");
7732 /* Impossible rules to avoid warnings from flex(1). */
7733 /* Ideally, this should be replaced by code in flexml.pl that
7734 generates just the states not covered by other rules. */
7737 /* rule 458 can match eol */
7739 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
7746 case YY_STATE_EOF(INITIAL):
7747 case YY_STATE_EOF(ROOT_surfxml_platform):
7748 case YY_STATE_EOF(S_surfxml_platform_2):
7749 case YY_STATE_EOF(S_surfxml_platform_5):
7750 case YY_STATE_EOF(S_surfxml_platform_7):
7751 case YY_STATE_EOF(S_surfxml_include_1):
7752 case YY_STATE_EOF(S_surfxml_random_1):
7753 case YY_STATE_EOF(S_surfxml_AS_2):
7754 case YY_STATE_EOF(S_surfxml_AS_5):
7755 case YY_STATE_EOF(S_surfxml_AS_7):
7756 case YY_STATE_EOF(S_surfxml_AS_10):
7757 case YY_STATE_EOF(S_surfxml_AS_12):
7758 case YY_STATE_EOF(S_surfxml_storage_type_1):
7759 case YY_STATE_EOF(S_surfxml_storage_1):
7760 case YY_STATE_EOF(S_surfxml_host_1):
7761 case YY_STATE_EOF(S_surfxml_link_1):
7762 case YY_STATE_EOF(S_surfxml_route_1):
7763 case YY_STATE_EOF(S_surfxml_ASroute_1):
7764 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
7765 case YY_STATE_EOF(S_surfxml_process_1):
7766 case YY_STATE_EOF(S_surfxml_config_1):
7767 case YY_STATE_EOF(IMPOSSIBLE):
7770 case YY_END_OF_BUFFER:
7772 /* Amount of text matched not including the EOB char. */
7773 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
7775 /* Undo the effects of YY_DO_BEFORE_ACTION. */
7776 *yy_cp = (yy_hold_char);
7777 YY_RESTORE_YY_MORE_OFFSET
7779 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
7781 /* We're scanning a new file or input source. It's
7782 * possible that this happened because the user
7783 * just pointed surf_parse_in at a new source and called
7784 * surf_parse_lex(). If so, then we have to assure
7785 * consistency between YY_CURRENT_BUFFER and our
7786 * globals. Here is the right place to do so, because
7787 * this is the first action (other than possibly a
7788 * back-up) that will match for the new input source.
7790 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7791 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
7792 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
7795 /* Note that here we test for yy_c_buf_p "<=" to the position
7796 * of the first EOB in the buffer, since yy_c_buf_p will
7797 * already have been incremented past the NUL character
7798 * (since all states make transitions on EOB to the
7799 * end-of-buffer state). Contrast this with the test
7802 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7803 { /* This was really a NUL. */
7804 yy_state_type yy_next_state;
7806 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
7808 yy_current_state = yy_get_previous_state( );
7810 /* Okay, we're now positioned to make the NUL
7811 * transition. We couldn't have
7812 * yy_get_previous_state() go ahead and do it
7813 * for us because it doesn't know how to deal
7814 * with the possibility of jamming (and we don't
7815 * want to build jamming into it because then it
7816 * will run more slowly).
7819 yy_next_state = yy_try_NUL_trans( yy_current_state );
7821 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7823 if ( yy_next_state )
7825 /* Consume the NUL. */
7826 yy_cp = ++(yy_c_buf_p);
7827 yy_current_state = yy_next_state;
7833 yy_cp = (yy_c_buf_p);
7834 goto yy_find_action;
7838 else switch ( yy_get_next_buffer( ) )
7840 case EOB_ACT_END_OF_FILE:
7842 (yy_did_buffer_switch_on_eof) = 0;
7844 if ( surf_parse_wrap( ) )
7846 /* Note: because we've taken care in
7847 * yy_get_next_buffer() to have set up
7848 * surf_parse_text, we can now set up
7849 * yy_c_buf_p so that if some total
7850 * hoser (like flex itself) wants to
7851 * call the scanner after we return the
7852 * YY_NULL, it'll still work - another
7853 * YY_NULL will get returned.
7855 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
7857 yy_act = YY_STATE_EOF(YY_START);
7863 if ( ! (yy_did_buffer_switch_on_eof) )
7869 case EOB_ACT_CONTINUE_SCAN:
7871 (yytext_ptr) + yy_amount_of_matched_text;
7873 yy_current_state = yy_get_previous_state( );
7875 yy_cp = (yy_c_buf_p);
7876 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7879 case EOB_ACT_LAST_MATCH:
7881 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7883 yy_current_state = yy_get_previous_state( );
7885 yy_cp = (yy_c_buf_p);
7886 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7887 goto yy_find_action;
7894 "fatal flex scanner internal error--no action found" );
7895 } /* end of action switch */
7896 } /* end of scanning one token */
7897 } /* end of surf_parse_lex */
7899 /* yy_get_next_buffer - try to read in a new buffer
7901 * Returns a code representing an action:
7902 * EOB_ACT_LAST_MATCH -
7903 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
7904 * EOB_ACT_END_OF_FILE - end of file
7906 static int yy_get_next_buffer (void)
7908 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
7909 register char *source = (yytext_ptr);
7910 register int number_to_move, i;
7913 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
7915 "fatal flex scanner internal error--end of buffer missed" );
7917 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
7918 { /* Don't try to fill the buffer, so this is an EOF. */
7919 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
7921 /* We matched a single character, the EOB, so
7922 * treat this as a final EOF.
7924 return EOB_ACT_END_OF_FILE;
7929 /* We matched some text prior to the EOB, first
7932 return EOB_ACT_LAST_MATCH;
7936 /* Try to read more data. */
7938 /* First move last chars to start of buffer. */
7939 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7941 for ( i = 0; i < number_to_move; ++i )
7942 *(dest++) = *(source++);
7944 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7945 /* don't do the read, it's not guaranteed to return an EOF,
7948 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7953 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7955 while ( num_to_read <= 0 )
7956 { /* Not enough room in the buffer - grow it. */
7958 /* just a shorter name for the current buffer */
7959 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7961 int yy_c_buf_p_offset =
7962 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7964 if ( b->yy_is_our_buffer )
7966 int new_size = b->yy_buf_size * 2;
7968 if ( new_size <= 0 )
7969 b->yy_buf_size += b->yy_buf_size / 8;
7971 b->yy_buf_size *= 2;
7973 b->yy_ch_buf = (char *)
7974 /* Include room in for 2 EOB chars. */
7975 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7978 /* Can't grow it, we don't own it. */
7981 if ( ! b->yy_ch_buf )
7983 "fatal error - scanner input buffer overflow" );
7985 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7987 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7992 if ( num_to_read > YY_READ_BUF_SIZE )
7993 num_to_read = YY_READ_BUF_SIZE;
7995 /* Read in more data. */
7996 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7997 (yy_n_chars), (size_t) num_to_read );
7999 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8002 if ( (yy_n_chars) == 0 )
8004 if ( number_to_move == YY_MORE_ADJ )
8006 ret_val = EOB_ACT_END_OF_FILE;
8007 surf_parse_restart(surf_parse_in );
8012 ret_val = EOB_ACT_LAST_MATCH;
8013 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
8014 YY_BUFFER_EOF_PENDING;
8019 ret_val = EOB_ACT_CONTINUE_SCAN;
8021 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
8022 /* Extend the array by 50%, plus the number we really need. */
8023 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
8024 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
8025 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8026 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8029 (yy_n_chars) += number_to_move;
8030 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8031 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8033 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8038 /* yy_get_previous_state - get the state just before the EOB char was reached */
8040 static yy_state_type yy_get_previous_state (void)
8042 register yy_state_type yy_current_state;
8043 register char *yy_cp;
8045 yy_current_state = (yy_start);
8047 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8049 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8050 if ( yy_accept[yy_current_state] )
8052 (yy_last_accepting_state) = yy_current_state;
8053 (yy_last_accepting_cpos) = yy_cp;
8055 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8057 yy_current_state = (int) yy_def[yy_current_state];
8058 if ( yy_current_state >= 2703 )
8059 yy_c = yy_meta[(unsigned int) yy_c];
8061 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8064 return yy_current_state;
8067 /* yy_try_NUL_trans - try to make a transition on the NUL character
8070 * next_state = yy_try_NUL_trans( current_state );
8072 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8074 register int yy_is_jam;
8075 register char *yy_cp = (yy_c_buf_p);
8077 register YY_CHAR yy_c = 1;
8078 if ( yy_accept[yy_current_state] )
8080 (yy_last_accepting_state) = yy_current_state;
8081 (yy_last_accepting_cpos) = yy_cp;
8083 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8085 yy_current_state = (int) yy_def[yy_current_state];
8086 if ( yy_current_state >= 2703 )
8087 yy_c = yy_meta[(unsigned int) yy_c];
8089 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8090 yy_is_jam = (yy_current_state == 2702);
8092 return yy_is_jam ? 0 : yy_current_state;
8097 static int yyinput (void)
8099 static int input (void)
8105 *(yy_c_buf_p) = (yy_hold_char);
8107 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8109 /* yy_c_buf_p now points to the character we want to return.
8110 * If this occurs *before* the EOB characters, then it's a
8111 * valid NUL; if not, then we've hit the end of the buffer.
8113 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8114 /* This was really a NUL. */
8115 *(yy_c_buf_p) = '\0';
8118 { /* need more input */
8119 int offset = (yy_c_buf_p) - (yytext_ptr);
8122 switch ( yy_get_next_buffer( ) )
8124 case EOB_ACT_LAST_MATCH:
8125 /* This happens because yy_g_n_b()
8126 * sees that we've accumulated a
8127 * token and flags that we need to
8128 * try matching the token before
8129 * proceeding. But for input(),
8130 * there's no matching to consider.
8131 * So convert the EOB_ACT_LAST_MATCH
8132 * to EOB_ACT_END_OF_FILE.
8135 /* Reset buffer status. */
8136 surf_parse_restart(surf_parse_in );
8140 case EOB_ACT_END_OF_FILE:
8142 if ( surf_parse_wrap( ) )
8145 if ( ! (yy_did_buffer_switch_on_eof) )
8154 case EOB_ACT_CONTINUE_SCAN:
8155 (yy_c_buf_p) = (yytext_ptr) + offset;
8161 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8162 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8163 (yy_hold_char) = *++(yy_c_buf_p);
8167 surf_parse_lineno++;
8172 #endif /* ifndef YY_NO_INPUT */
8174 /** Immediately switch to a different input stream.
8175 * @param input_file A readable stream.
8177 * @note This function does not reset the start condition to @c INITIAL .
8179 void surf_parse_restart (FILE * input_file )
8182 if ( ! YY_CURRENT_BUFFER ){
8183 surf_parse_ensure_buffer_stack ();
8184 YY_CURRENT_BUFFER_LVALUE =
8185 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8188 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8189 surf_parse__load_buffer_state( );
8192 /** Switch to a different input buffer.
8193 * @param new_buffer The new input buffer.
8196 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8199 /* TODO. We should be able to replace this entire function body
8201 * surf_parse_pop_buffer_state();
8202 * surf_parse_push_buffer_state(new_buffer);
8204 surf_parse_ensure_buffer_stack ();
8205 if ( YY_CURRENT_BUFFER == new_buffer )
8208 if ( YY_CURRENT_BUFFER )
8210 /* Flush out information for old buffer. */
8211 *(yy_c_buf_p) = (yy_hold_char);
8212 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8213 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8216 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8217 surf_parse__load_buffer_state( );
8219 /* We don't actually know whether we did this switch during
8220 * EOF (surf_parse_wrap()) processing, but the only time this flag
8221 * is looked at is after surf_parse_wrap() is called, so it's safe
8222 * to go ahead and always set it.
8224 (yy_did_buffer_switch_on_eof) = 1;
8227 static void surf_parse__load_buffer_state (void)
8229 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8230 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8231 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8232 (yy_hold_char) = *(yy_c_buf_p);
8235 /** Allocate and initialize an input buffer state.
8236 * @param file A readable stream.
8237 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8239 * @return the allocated buffer state.
8241 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8245 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8247 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8249 b->yy_buf_size = size;
8251 /* yy_ch_buf has to be 2 characters longer than the size given because
8252 * we need to put in 2 end-of-buffer characters.
8254 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8255 if ( ! b->yy_ch_buf )
8256 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8258 b->yy_is_our_buffer = 1;
8260 surf_parse__init_buffer(b,file );
8265 /** Destroy the buffer.
8266 * @param b a buffer created with surf_parse__create_buffer()
8269 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8275 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8276 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8278 if ( b->yy_is_our_buffer )
8279 surf_parse_free((void *) b->yy_ch_buf );
8281 surf_parse_free((void *) b );
8285 extern int isatty (int );
8286 #endif /* __cplusplus */
8288 /* Initializes or reinitializes a buffer.
8289 * This function is sometimes called more than once on the same buffer,
8290 * such as during a surf_parse_restart() or at EOF.
8292 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8297 surf_parse__flush_buffer(b );
8299 b->yy_input_file = file;
8300 b->yy_fill_buffer = 1;
8302 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8303 * called from surf_parse_restart() or through yy_get_next_buffer.
8304 * In that case, we don't want to reset the lineno or column.
8306 if (b != YY_CURRENT_BUFFER){
8307 b->yy_bs_lineno = 1;
8308 b->yy_bs_column = 0;
8311 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8316 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8317 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8320 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8327 /* We always need two end-of-buffer characters. The first causes
8328 * a transition to the end-of-buffer state. The second causes
8329 * a jam in that state.
8331 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8332 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8334 b->yy_buf_pos = &b->yy_ch_buf[0];
8337 b->yy_buffer_status = YY_BUFFER_NEW;
8339 if ( b == YY_CURRENT_BUFFER )
8340 surf_parse__load_buffer_state( );
8343 /** Pushes the new state onto the stack. The new state becomes
8344 * the current state. This function will allocate the stack
8346 * @param new_buffer The new state.
8349 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8351 if (new_buffer == NULL)
8354 surf_parse_ensure_buffer_stack();
8356 /* This block is copied from surf_parse__switch_to_buffer. */
8357 if ( YY_CURRENT_BUFFER )
8359 /* Flush out information for old buffer. */
8360 *(yy_c_buf_p) = (yy_hold_char);
8361 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8362 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8365 /* Only push if top exists. Otherwise, replace top. */
8366 if (YY_CURRENT_BUFFER)
8367 (yy_buffer_stack_top)++;
8368 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8370 /* copied from surf_parse__switch_to_buffer. */
8371 surf_parse__load_buffer_state( );
8372 (yy_did_buffer_switch_on_eof) = 1;
8375 /** Removes and deletes the top of the stack, if present.
8376 * The next element becomes the new top.
8379 void surf_parse_pop_buffer_state (void)
8381 if (!YY_CURRENT_BUFFER)
8384 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8385 YY_CURRENT_BUFFER_LVALUE = NULL;
8386 if ((yy_buffer_stack_top) > 0)
8387 --(yy_buffer_stack_top);
8389 if (YY_CURRENT_BUFFER) {
8390 surf_parse__load_buffer_state( );
8391 (yy_did_buffer_switch_on_eof) = 1;
8395 /* Allocates the stack if it does not exist.
8396 * Guarantees space for at least one push.
8398 static void surf_parse_ensure_buffer_stack (void)
8402 if (!(yy_buffer_stack)) {
8404 /* First allocation is just for 2 elements, since we don't know if this
8405 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8406 * immediate realloc on the next call.
8409 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8410 (num_to_alloc * sizeof(struct yy_buffer_state*)
8412 if ( ! (yy_buffer_stack) )
8413 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8415 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8417 (yy_buffer_stack_max) = num_to_alloc;
8418 (yy_buffer_stack_top) = 0;
8422 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8424 /* Increase the buffer to prepare for a possible push. */
8425 int grow_size = 8 /* arbitrary grow size */;
8427 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8428 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8430 num_to_alloc * sizeof(struct yy_buffer_state*)
8432 if ( ! (yy_buffer_stack) )
8433 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8435 /* zero only the new slots.*/
8436 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8437 (yy_buffer_stack_max) = num_to_alloc;
8441 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8442 * @param base the character buffer
8443 * @param size the size in bytes of the character buffer
8445 * @return the newly allocated buffer state object.
8447 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8452 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8453 base[size-1] != YY_END_OF_BUFFER_CHAR )
8454 /* They forgot to leave room for the EOB's. */
8457 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8459 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8461 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8462 b->yy_buf_pos = b->yy_ch_buf = base;
8463 b->yy_is_our_buffer = 0;
8464 b->yy_input_file = 0;
8465 b->yy_n_chars = b->yy_buf_size;
8466 b->yy_is_interactive = 0;
8468 b->yy_fill_buffer = 0;
8469 b->yy_buffer_status = YY_BUFFER_NEW;
8471 surf_parse__switch_to_buffer(b );
8476 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8477 * scan from a @e copy of @a str.
8478 * @param yystr a NUL-terminated string to scan
8480 * @return the newly allocated buffer state object.
8481 * @note If you want to scan bytes that may contain NUL values, then use
8482 * surf_parse__scan_bytes() instead.
8484 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8487 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8490 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8491 * scan from a @e copy of @a bytes.
8492 * @param yybytes the byte buffer to scan
8493 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8495 * @return the newly allocated buffer state object.
8497 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8504 /* Get memory for full buffer, including space for trailing EOB's. */
8505 n = _yybytes_len + 2;
8506 buf = (char *) surf_parse_alloc(n );
8508 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8510 for ( i = 0; i < _yybytes_len; ++i )
8511 buf[i] = yybytes[i];
8513 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8515 b = surf_parse__scan_buffer(buf,n );
8517 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8519 /* It's okay to grow etc. this buffer, and we should throw it
8520 * away when we're done.
8522 b->yy_is_our_buffer = 1;
8527 static void yy_push_state (int new_state )
8529 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8533 (yy_start_stack_depth) += YY_START_STACK_INCR;
8534 new_size = (yy_start_stack_depth) * sizeof( int );
8536 if ( ! (yy_start_stack) )
8537 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8540 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8542 if ( ! (yy_start_stack) )
8543 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8546 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8551 static void yy_pop_state (void)
8553 if ( --(yy_start_stack_ptr) < 0 )
8554 YY_FATAL_ERROR( "start-condition stack underflow" );
8556 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8559 #ifndef YY_EXIT_FAILURE
8560 #define YY_EXIT_FAILURE 2
8563 static void yy_fatal_error (yyconst char* msg )
8565 (void) fprintf( stderr, "%s\n", msg );
8566 exit( YY_EXIT_FAILURE );
8569 /* Redefine yyless() so it works in section 3 code. */
8575 /* Undo effects of setting up surf_parse_text. */ \
8576 int yyless_macro_arg = (n); \
8577 YY_LESS_LINENO(yyless_macro_arg);\
8578 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
8579 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
8580 (yy_hold_char) = *(yy_c_buf_p); \
8581 *(yy_c_buf_p) = '\0'; \
8582 surf_parse_leng = yyless_macro_arg; \
8586 /* Accessor methods (get/set functions) to struct members. */
8588 /** Get the current line number.
8591 int surf_parse_get_lineno (void)
8594 return surf_parse_lineno;
8597 /** Get the input stream.
8600 FILE *surf_parse_get_in (void)
8602 return surf_parse_in;
8605 /** Get the output stream.
8608 FILE *surf_parse_get_out (void)
8610 return surf_parse_out;
8613 /** Get the length of the current token.
8616 int surf_parse_get_leng (void)
8618 return surf_parse_leng;
8621 /** Get the current token.
8625 char *surf_parse_get_text (void)
8627 return surf_parse_text;
8630 /** Set the current line number.
8631 * @param line_number
8634 void surf_parse_set_lineno (int line_number )
8637 surf_parse_lineno = line_number;
8640 /** Set the input stream. This does not discard the current
8642 * @param in_str A readable stream.
8644 * @see surf_parse__switch_to_buffer
8646 void surf_parse_set_in (FILE * in_str )
8648 surf_parse_in = in_str ;
8651 void surf_parse_set_out (FILE * out_str )
8653 surf_parse_out = out_str ;
8656 int surf_parse_get_debug (void)
8658 return surf_parse__flex_debug;
8661 void surf_parse_set_debug (int bdebug )
8663 surf_parse__flex_debug = bdebug ;
8666 static int yy_init_globals (void)
8668 /* Initialization is the same as for the non-reentrant scanner.
8669 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
8672 /* We do not touch surf_parse_lineno unless the option is enabled. */
8673 surf_parse_lineno = 1;
8675 (yy_buffer_stack) = 0;
8676 (yy_buffer_stack_top) = 0;
8677 (yy_buffer_stack_max) = 0;
8678 (yy_c_buf_p) = (char *) 0;
8682 (yy_start_stack_ptr) = 0;
8683 (yy_start_stack_depth) = 0;
8684 (yy_start_stack) = NULL;
8686 /* Defined in main.c */
8688 surf_parse_in = stdin;
8689 surf_parse_out = stdout;
8691 surf_parse_in = (FILE *) 0;
8692 surf_parse_out = (FILE *) 0;
8695 /* For future reference: Set errno on error, since we are called by
8696 * surf_parse_lex_init()
8701 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8702 int surf_parse_lex_destroy (void)
8705 /* Pop the buffer stack, destroying each element. */
8706 while(YY_CURRENT_BUFFER){
8707 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8708 YY_CURRENT_BUFFER_LVALUE = NULL;
8709 surf_parse_pop_buffer_state();
8712 /* Destroy the stack itself. */
8713 surf_parse_free((yy_buffer_stack) );
8714 (yy_buffer_stack) = NULL;
8716 /* Destroy the start condition stack. */
8717 surf_parse_free((yy_start_stack) );
8718 (yy_start_stack) = NULL;
8720 /* Reset the globals. This is important in a non-reentrant scanner so the next time
8721 * surf_parse_lex() is called, initialization will occur. */
8728 * Internal utility routines.
8732 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
8735 for ( i = 0; i < n; ++i )
8740 #ifdef YY_NEED_STRLEN
8741 static int yy_flex_strlen (yyconst char * s )
8744 for ( n = 0; s[n]; ++n )
8751 void *surf_parse_alloc (yy_size_t size )
8753 return (void *) malloc( size );
8756 void *surf_parse_realloc (void * ptr, yy_size_t size )
8758 /* The cast to (char *) in the following accommodates both
8759 * implementations that use char* generic pointers, and those
8760 * that use void* generic pointers. It works with the latter
8761 * because both ANSI C and C++ allow castless assignment from
8762 * any pointer type to void*, and deal with argument conversions
8763 * as though doing an assignment.
8765 return (void *) realloc( (char *) ptr, size );
8768 void surf_parse_free (void * ptr )
8770 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
8773 #define YYTABLES_NAME "yytables"
8775 /* Element context stack lookup. */
8776 int surfxml_element_context(int i)
8778 return (0<i && i<yy_start_stack_depth
8779 ? yy_start_stack[yy_start_stack_ptr - i]
8784 void print_yy_stack(char* fmt, ...)
8786 int i = 0; va_list ap; va_start(ap, fmt);
8787 vfprintf(stderr, fmt, ap);
8788 if (surfxml_statenames) {
8789 for (i=1; i<yy_start_stack_ptr; i++) {
8790 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
8792 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
8797 void print_surfxml_bufferstack()
8800 fputs("Buffer: ", stderr);
8801 for (i = 0; i < blimit; i++) {
8802 if ( surfxml_bufferstack[i] == '\377' ) break;
8803 putc(surfxml_bufferstack[i], stderr);
8808 static void debug_enter(int state, const char* statename) {
8809 yy_push_state(state);
8810 if (surf_parse__flex_debug) {
8811 print_yy_stack("--ENTER(%s) : ",statename);
8812 print_surfxml_bufferstack();
8816 static void debug_leave(void) {
8817 if (surf_parse__flex_debug) {
8818 print_yy_stack("--LEAVE : ");
8819 print_surfxml_bufferstack();
8824 static void debug_set(int state, const char* statename) {
8826 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
8830 static void cleanup(void)
8832 if (surfxml_statenames) {
8833 free(surfxml_statenames);
8834 surfxml_statenames = NULL;
8836 free(surfxml_bufferstack);
8837 surfxml_bufferstack = NULL;
8843 static int fail(const char* fmt, ...)
8845 int chars_left, used;
8846 va_list ap; va_start(ap, fmt);
8847 #ifdef FLEXML_yylineno
8848 used = sprintf(flexml_err_msg,
8849 "Invalid XML (XML input line %d, state %d): ",
8850 surf_parse_lineno, YY_START);
8852 used = sprintf(flexml_err_msg,
8853 "Invalid XML (state %d): ",
8856 chars_left = flexml_max_err_msg_size - used - 1;
8857 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
8860 #ifndef FLEXML_quiet_parser
8861 /* print directly to sdterr */
8862 fprintf(stderr, "%s\n", flexml_err_msg);
8863 flexml_err_msg[0] = '\0';