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 343
407 #define YY_END_OF_BUFFER 344
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[1970] =
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 344, 342, 15, 10, 10, 15, 15, 322, 10, 322,
437 5, 6, 5, 8, 9, 8, 338, 330, 331, 339,
439 336, 339, 337, 341, 330, 331, 341, 342, 22, 10,
440 22, 22, 22, 20, 22, 26, 10, 26, 26, 26,
441 342, 342, 26, 37, 10, 37, 37, 37, 35, 37,
442 37, 37, 339, 338, 59, 10, 59, 59, 59, 57,
443 59, 59, 59, 59, 63, 10, 63, 342, 63, 82,
444 10, 82, 82, 82, 80, 82, 82, 82, 86, 10,
445 86, 95, 10, 95, 95, 95, 93, 95, 95, 99,
446 10, 99, 99, 342, 99, 99, 342, 342, 99, 342,
447 99, 342, 99, 120, 10, 120, 120, 120, 118, 120,
448 120, 120, 120, 120, 124, 10, 124, 124, 151, 10,
450 151, 151, 151, 149, 151, 151, 151, 151, 151, 151,
451 155, 10, 155, 162, 10, 162, 162, 162, 160, 162,
452 166, 10, 166, 193, 10, 193, 193, 193, 191, 193,
453 193, 193, 193, 197, 10, 197, 197, 210, 10, 210,
454 210, 210, 208, 210, 210, 214, 10, 214, 342, 214,
455 231, 10, 231, 231, 231, 229, 231, 231, 231, 235,
456 10, 235, 235, 248, 10, 248, 248, 248, 246, 248,
457 248, 252, 10, 252, 265, 10, 265, 265, 265, 263,
458 265, 265, 265, 269, 10, 269, 269, 282, 10, 282,
459 282, 282, 280, 282, 282, 282, 282, 286, 10, 286,
461 342, 286, 293, 10, 293, 293, 293, 291, 293, 297,
462 10, 297, 304, 10, 304, 304, 304, 302, 304, 308,
463 10, 308, 308, 308, 317, 10, 317, 317, 317, 315,
464 317, 317, 321, 10, 321, 10, 0, 2, 2, 0,
465 4, 7, 333, 332, 0, 0, 0, 0, 0, 0,
466 0, 21, 23, 23, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
468 38, 38, 38, 38, 0, 0, 0, 58, 60, 60,
469 60, 60, 60, 60, 60, 0, 0, 81, 83, 83,
470 83, 83, 0, 94, 96, 96, 96, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 119, 121, 121, 121,
473 121, 121, 121, 0, 150, 152, 152, 152, 152, 152,
474 152, 152, 152, 152, 152, 0, 161, 163, 163, 0,
475 192, 194, 194, 194, 194, 194, 194, 0, 209, 211,
476 211, 211, 211, 0, 0, 230, 232, 232, 232, 232,
477 232, 0, 247, 249, 249, 249, 0, 264, 266, 266,
478 266, 266, 0, 281, 283, 283, 283, 283, 283, 0,
479 0, 292, 294, 294, 0, 303, 305, 305, 0, 0,
480 316, 318, 318, 318, 0, 0, 0, 0, 0, 3,
481 0, 0, 0, 0, 0, 0, 0, 340, 0, 23,
483 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 87, 0, 0, 0, 38,
485 0, 0, 38, 0, 0, 0, 335, 60, 0, 0,
486 60, 60, 60, 60, 0, 0, 0, 83, 83, 83,
487 0, 0, 0, 0, 96, 0, 0, 88, 0, 0,
488 0, 0, 87, 0, 0, 121, 0, 0, 121, 121,
489 121, 0, 0, 152, 0, 0, 0, 0, 152, 152,
490 152, 152, 152, 152, 0, 0, 0, 0, 0, 0,
491 194, 0, 0, 194, 194, 194, 0, 0, 211, 211,
492 211, 0, 0, 0, 232, 232, 232, 232, 0, 0,
494 249, 0, 0, 0, 0, 266, 266, 266, 0, 0,
495 283, 283, 283, 283, 0, 0, 0, 294, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 318, 0, 0,
497 0, 14, 1, 0, 0, 328, 0, 0, 0, 325,
498 324, 0, 0, 23, 0, 0, 25, 0, 88, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 87, 0, 0, 0, 38, 0, 30, 29,
501 38, 0, 0, 0, 40, 0, 60, 0, 44, 43,
502 0, 0, 60, 0, 0, 60, 0, 0, 62, 0,
503 0, 83, 83, 83, 0, 0, 85, 0, 0, 90,
505 89, 96, 0, 0, 98, 0, 0, 0, 0, 0,
506 0, 0, 0, 121, 0, 103, 102, 121, 121, 121,
507 0, 0, 123, 0, 152, 152, 0, 138, 137, 0,
508 128, 127, 0, 0, 152, 152, 152, 152, 152, 0,
509 0, 154, 0, 0, 159, 158, 0, 0, 165, 0,
510 194, 0, 170, 169, 194, 194, 194, 0, 0, 196,
511 0, 0, 0, 0, 0, 211, 0, 0, 213, 0,
512 0, 0, 0, 232, 232, 0, 0, 232, 0, 0,
513 234, 0, 249, 0, 239, 238, 0, 0, 251, 0,
514 0, 0, 266, 266, 0, 0, 0, 0, 268, 0,
516 283, 283, 283, 283, 0, 0, 285, 0, 0, 294,
517 0, 0, 296, 0, 0, 301, 300, 0, 0, 307,
518 0, 0, 0, 312, 311, 318, 0, 0, 320, 0,
519 0, 0, 329, 323, 0, 0, 0, 23, 0, 0,
520 0, 0, 0, 0, 100, 167, 0, 0, 309, 0,
521 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
522 0, 60, 0, 48, 47, 0, 0, 0, 46, 45,
523 60, 0, 310, 83, 0, 0, 83, 0, 96, 0,
524 97, 0, 0, 101, 168, 0, 0, 0, 121, 121,
525 121, 121, 0, 152, 152, 0, 140, 139, 152, 152,
527 152, 152, 152, 0, 0, 194, 194, 194, 194, 0,
528 0, 203, 202, 0, 201, 200, 211, 0, 167, 0,
529 220, 219, 232, 232, 0, 218, 217, 232, 0, 249,
530 0, 0, 258, 257, 266, 266, 0, 256, 255, 0,
531 283, 0, 0, 283, 283, 0, 0, 294, 0, 0,
532 0, 318, 0, 0, 0, 0, 12, 0, 326, 327,
533 0, 23, 0, 0, 0, 0, 0, 0, 100, 167,
534 0, 0, 0, 309, 0, 198, 28, 0, 0, 27,
535 0, 0, 32, 31, 38, 0, 0, 60, 0, 50,
536 49, 60, 0, 310, 83, 0, 0, 0, 0, 0,
538 0, 96, 0, 0, 101, 168, 199, 199, 198, 121,
539 0, 0, 0, 0, 121, 121, 0, 0, 0, 152,
540 0, 0, 152, 152, 152, 152, 0, 0, 194, 194,
541 194, 0, 0, 194, 0, 211, 0, 0, 232, 232,
542 232, 0, 249, 0, 266, 266, 0, 283, 0, 273,
543 272, 283, 283, 0, 0, 0, 0, 0, 0, 0,
544 0, 0, 0, 0, 0, 0, 11, 0, 23, 0,
545 0, 0, 0, 0, 299, 0, 0, 0, 41, 198,
546 156, 28, 0, 298, 0, 27, 0, 0, 38, 0,
547 0, 60, 60, 0, 83, 0, 0, 0, 0, 0,
549 0, 0, 0, 0, 77, 76, 0, 96, 0, 0,
550 199, 157, 121, 0, 105, 104, 0, 0, 0, 121,
551 121, 0, 122, 0, 142, 141, 0, 0, 0, 136,
552 135, 0, 0, 152, 152, 0, 0, 0, 0, 194,
553 194, 194, 0, 0, 0, 194, 0, 195, 211, 0,
554 0, 0, 0, 0, 0, 232, 0, 249, 0, 0,
555 0, 0, 0, 0, 283, 283, 283, 0, 0, 0,
556 290, 289, 0, 0, 42, 0, 314, 313, 0, 319,
557 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
558 126, 299, 0, 0, 271, 41, 156, 0, 298, 125,
560 0, 270, 38, 0, 0, 39, 60, 60, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 216, 0, 157, 121, 0, 0,
563 121, 0, 0, 0, 144, 143, 0, 130, 129, 0,
564 0, 152, 0, 132, 131, 0, 0, 194, 0, 0,
565 194, 194, 0, 0, 194, 211, 0, 212, 0, 0,
566 224, 223, 0, 222, 221, 232, 0, 249, 0, 0,
567 262, 261, 0, 260, 259, 0, 283, 283, 283, 0,
568 0, 0, 0, 42, 0, 0, 0, 17, 0, 19,
569 18, 0, 215, 287, 0, 126, 236, 16, 271, 0,
571 125, 0, 270, 38, 334, 60, 60, 0, 61, 0,
572 79, 78, 0, 0, 0, 0, 0, 0, 0, 0,
573 0, 0, 0, 0, 92, 91, 216, 0, 121, 0,
574 0, 0, 0, 121, 0, 117, 116, 0, 134, 133,
575 152, 0, 0, 164, 194, 0, 176, 175, 194, 194,
576 0, 0, 0, 0, 194, 211, 237, 232, 0, 249,
577 0, 0, 0, 0, 283, 283, 0, 288, 0, 0,
578 306, 0, 0, 0, 17, 0, 287, 0, 236, 16,
579 0, 0, 38, 0, 0, 60, 0, 0, 0, 0,
580 0, 0, 0, 0, 0, 0, 0, 0, 121, 0,
582 111, 0, 110, 121, 152, 0, 153, 0, 0, 194,
583 194, 194, 0, 180, 0, 179, 194, 211, 237, 232,
584 0, 233, 0, 0, 0, 0, 0, 275, 274, 0,
585 0, 283, 0, 284, 288, 0, 0, 0, 0, 0,
586 24, 0, 0, 0, 38, 0, 0, 0, 60, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 121, 113, 112, 0, 0, 152, 0, 172, 171,
589 194, 194, 194, 182, 181, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 250, 0, 0, 279, 278,
591 0, 0, 0, 295, 0, 0, 0, 253, 0, 0,
593 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
594 0, 69, 0, 0, 0, 0, 68, 0, 254, 121,
595 0, 115, 114, 152, 194, 194, 194, 0, 184, 183,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 277, 276, 0, 0, 0, 253,
598 0, 0, 0, 34, 33, 0, 0, 0, 0, 60,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
600 0, 0, 121, 152, 194, 0, 0, 194, 0, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 65, 64, 0,
604 0, 0, 0, 0, 0, 0, 0, 75, 0, 0,
605 0, 74, 0, 0, 0, 107, 106, 121, 152, 194,
606 0, 178, 177, 194, 0, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 241, 0, 0, 240, 0, 267,
608 0, 0, 0, 0, 0, 0, 65, 64, 0, 0,
609 0, 0, 0, 52, 51, 0, 0, 0, 0, 0,
610 0, 0, 121, 0, 0, 0, 0, 0, 0, 207,
611 0, 206, 0, 228, 0, 227, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
613 55, 73, 0, 0, 72, 0, 0, 0, 84, 121,
615 0, 0, 0, 0, 174, 173, 0, 0, 0, 205,
616 204, 226, 225, 243, 245, 242, 244, 0, 0, 0,
617 12, 0, 12, 0, 0, 0, 67, 71, 66, 70,
618 121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 54, 53, 0, 109, 108, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 146, 0, 145, 0, 0, 186, 0, 0, 185,
628 0, 0, 0, 188, 0, 187, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
630 147, 190, 189, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 13, 0
635 static yyconst flex_int32_t yy_ec[256] =
637 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
638 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
641 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
642 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
643 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
644 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
645 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
646 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
648 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
649 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
650 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 static yyconst flex_int32_t yy_meta[71] =
669 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
670 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
671 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
672 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
673 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
674 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
675 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
678 static yyconst flex_int16_t yy_base[2218] =
680 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
681 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
682 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
683 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
684 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
685 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
686 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
687 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
688 745, 748, 756, 765, 768, 773, 776, 785, 803, 870,
689 823, 826, 831, 834, 851, 890, 893, 898, 937, 1001,
691 901, 918, 1065, 1120, 957, 960, 1175, 1239, 965, 968,
692 1021, 1024, 1029, 1032, 1085, 1088, 1303, 1367, 1093, 1096,
693 1140, 1143, 1148, 1151, 1195, 1198, 1431, 1495, 1203, 1206,
694 1259, 1262, 1267, 1270, 1323, 1326, 1559, 1614, 1331, 1334,
695 1669, 1733, 1387, 1390, 1395, 1398, 1451, 1454, 1459, 1462,
696 1797, 1861, 1515, 1518, 1523, 1526, 1579, 1582, 1587, 1590,
697 1925, 1992, 1634, 1637, 2059, 2114, 1642, 1645, 1689, 1692,
698 1697, 1700, 1753, 1756, 2169, 2236, 1761, 1764, 0, 0,
699 4658, 7106, 7106, 96, 100, 29, 41, 7106, 157, 51,
700 7106, 7106, 4637, 7106, 7106, 4626, 7106, 4640, 4636, 360,
702 7106, 7106, 7106, 7106, 4634, 4633, 4590, 84, 7106, 160,
703 4613, 0, 144, 7106, 4581, 7106, 164, 2299, 4581, 428,
704 224, 4613, 4562, 7106, 167, 4598, 0, 216, 7106, 4562,
705 4557, 4555, 344, 4551, 7106, 303, 4575, 0, 341, 7106,
706 4533, 4532, 41, 4509, 7106, 427, 13, 81, 141, 7106,
707 482, 4553, 0, 342, 7106, 4514, 4510, 4499, 7106, 492,
708 345, 7106, 548, 4530, 0, 347, 7106, 4499, 4478, 7106,
709 553, 1772, 198, 4480, 80, 4510, 226, 275, 364, 548,
710 59, 4519, 83, 7106, 613, 4500, 0, 405, 7106, 4452,
711 4467, 4445, 4437, 4441, 7106, 618, 203, 284, 7106, 621,
713 4470, 0, 469, 7106, 141, 4439, 4437, 153, 4433, 352,
714 7106, 676, 476, 7106, 682, 4452, 0, 532, 7106, 4421,
715 7106, 685, 780, 7106, 793, 4446, 0, 540, 7106, 4416,
716 4404, 4405, 147, 7106, 796, 348, 409, 7106, 857, 4430,
717 0, 541, 7106, 4381, 238, 7106, 924, 614, 4421, 4375,
718 7106, 985, 4389, 0, 660, 7106, 4344, 4338, 464, 7106,
719 993, 4393, 502, 7106, 1049, 4383, 0, 723, 7106, 4347,
720 4350, 7106, 1057, 972, 7106, 1113, 4379, 0, 734, 7106,
721 4326, 4321, 4307, 7106, 1168, 4357, 546, 7106, 1223, 4345,
722 0, 740, 7106, 4273, 4276, 4279, 4267, 7106, 1231, 479,
724 4317, 415, 7106, 1234, 4292, 0, 760, 7106, 4264, 7106,
725 1287, 1036, 7106, 1295, 4289, 0, 835, 7106, 4254, 7106,
726 1298, 1775, 4240, 180, 7106, 1352, 4281, 0, 841, 7106,
727 4246, 4248, 7106, 1355, 1210, 1358, 18, 4224, 7106, 4282,
728 4257, 7106, 7106, 7106, 1350, 241, 4211, 4209, 4184, 4213,
729 4173, 7106, 0, 4166, 4166, 4185, 4158, 4142, 478, 4151,
730 4154, 3, 373, 4145, 553, 4169, 607, 4141, 543, 7106,
731 0, 4145, 1821, 4118, 234, 4115, 4153, 7106, 0, 4112,
732 1828, 4100, 4121, 4107, 4103, 4088, 613, 7106, 0, 4096,
733 4086, 4097, 4077, 7106, 0, 1841, 4068, 4111, 4094, 4060,
735 4067, 4071, 532, 4087, 597, 660, 7106, 0, 4062, 1881,
736 4040, 4051, 4030, 4041, 7106, 0, 4041, 1884, 1888, 4021,
737 4012, 4026, 4025, 4023, 4017, 4018, 7106, 0, 1891, 3993,
738 7106, 0, 3995, 1895, 3984, 4001, 3999, 3977, 7106, 0,
739 3967, 3982, 3970, 3964, 3970, 7106, 0, 3953, 3937, 3928,
740 3914, 3948, 7106, 0, 3906, 1945, 3910, 7106, 0, 3894,
741 3912, 3903, 3902, 7106, 0, 3887, 3876, 3882, 3885, 3870,
742 3866, 7106, 0, 3857, 3866, 7106, 0, 1948, 3862, 772,
743 7106, 0, 1952, 3849, 3838, 3877, 3883, 648, 3827, 7106,
744 1407, 0, 3818, 3817, 3856, 3854, 3809, 7106, 3820, 3797,
746 1955, 1958, 1423, 3807, 3793, 3780, 3785, 3773, 3777, 3787,
747 3759, 3757, 3748, 3763, 3739, 1426, 3731, 3748, 3727, 3735,
748 1970, 1547, 3725, 3754, 2014, 2018, 7106, 3726, 2021, 1721,
749 2024, 3716, 2027, 3724, 2080, 2089, 3705, 3704, 3711, 3710,
750 2085, 2092, 2135, 1786, 3682, 2140, 2148, 1489, 3685, 3680,
751 3678, 3669, 1663, 3652, 3651, 3660, 2143, 1977, 3662, 3647,
752 3663, 2189, 2192, 425, 2196, 2045, 2199, 2104, 2202, 3657,
753 3655, 3650, 3618, 3628, 2256, 2259, 2263, 2223, 2266, 2269,
754 3624, 2281, 2290, 3622, 3592, 3583, 2303, 2306, 2311, 2315,
755 2333, 2329, 2337, 3588, 2340, 2363, 2366, 2369, 2372, 2375,
757 3594, 2387, 2396, 2405, 2412, 2415, 2419, 2426, 2433, 2437,
758 3594, 3569, 3576, 3561, 2440, 2445, 3568, 3547, 2448, 2452,
759 2459, 2471, 2482, 2485, 3553, 2490, 2494, 3543, 2508, 2514,
760 3586, 7106, 7106, 707, 3544, 7106, 3583, 3581, 3524, 7106,
761 7106, 3511, 3509, 3514, 2517, 2520, 7106, 2523, 1608, 3508,
762 3500, 3517, 3496, 3506, 3480, 3483, 3473, 741, 3486, 3459,
763 3474, 3469, 1852, 3456, 3469, 782, 2527, 2545, 7106, 7106,
764 2553, 3492, 2556, 2559, 7106, 2562, 3449, 2565, 7106, 7106,
765 2581, 2584, 2592, 2595, 2599, 3461, 2613, 2616, 7106, 2619,
766 790, 3449, 2622, 3448, 2625, 2628, 7106, 2640, 2647, 7106,
768 7106, 3439, 2655, 2659, 7106, 2662, 3433, 3444, 3417, 3425,
769 3414, 3413, 3411, 3417, 2665, 7106, 7106, 3410, 3416, 3409,
770 2681, 2686, 7106, 2689, 3396, 3408, 2693, 7106, 7106, 2701,
771 7106, 7106, 2709, 2712, 3391, 3394, 3399, 3383, 3382, 2720,
772 2723, 7106, 2727, 2730, 7106, 7106, 2742, 2746, 7106, 2752,
773 3367, 2755, 7106, 7106, 3368, 3371, 3354, 2765, 2771, 7106,
774 2774, 2777, 2780, 2795, 2798, 3338, 2806, 2809, 7106, 2817,
775 3346, 2813, 2821, 3336, 3336, 2832, 2836, 3332, 2844, 2850,
776 7106, 2853, 3343, 2856, 7106, 7106, 2864, 2872, 7106, 2875,
777 2878, 2884, 3321, 3319, 2896, 2899, 2907, 2910, 7106, 2915,
779 3312, 2918, 3323, 3300, 2921, 2929, 7106, 2936, 3298, 3307,
780 2940, 2943, 7106, 2948, 2955, 7106, 7106, 2951, 2963, 7106,
781 2970, 3303, 2975, 7106, 7106, 3301, 2983, 2989, 7106, 2995,
782 718, 3002, 7106, 7106, 3329, 3321, 3285, 3275, 3008, 3264,
783 3266, 3253, 3246, 3251, 1855, 1917, 3253, 3252, 1920, 3242,
784 3246, 3242, 3237, 3219, 3225, 3224, 3014, 3028, 3223, 3243,
785 3022, 3217, 3037, 7106, 7106, 3017, 3045, 3054, 7106, 7106,
786 3211, 3062, 2053, 3198, 3065, 3072, 3083, 3086, 3197, 3089,
787 7106, 3188, 3188, 2095, 2161, 3200, 3198, 3193, 3196, 3092,
788 3095, 3185, 3101, 3113, 3120, 3124, 7106, 7106, 3134, 3140,
790 3143, 3146, 3152, 3166, 3171, 3179, 3183, 3170, 3174, 3177,
791 3192, 7106, 7106, 3204, 7106, 7106, 3164, 3180, 2231, 3213,
792 7106, 7106, 3158, 3169, 3222, 7106, 7106, 3151, 3235, 3147,
793 3238, 3244, 7106, 7106, 3146, 3154, 3257, 7106, 7106, 3265,
794 3147, 3185, 3268, 3134, 3146, 3276, 3114, 3279, 3284, 3287,
795 3107, 3297, 3306, 710, 3144, 3311, 7106, 3143, 7106, 7106,
796 3101, 3101, 3316, 3093, 3106, 3088, 3100, 3087, 3116, 3319,
797 3085, 3071, 3065, 3325, 3067, 3330, 3338, 3060, 3059, 3341,
798 3044, 3345, 7106, 7106, 3052, 3063, 3353, 3035, 3357, 7106,
799 7106, 3016, 3368, 3372, 3015, 3377, 1459, 1873, 3387, 3392,
801 3405, 3026, 3012, 3008, 3408, 3411, 3414, 3417, 3420, 3022,
802 3427, 3430, 3438, 3441, 3010, 3006, 3449, 3456, 3459, 3468,
803 3482, 3486, 3494, 3500, 3503, 3506, 3512, 3524, 3009, 2983,
804 2999, 3527, 3531, 2998, 3539, 2990, 3545, 2995, 3548, 3551,
805 3559, 3569, 2983, 3577, 3580, 3583, 3588, 2975, 3601, 7106,
806 7106, 2972, 2949, 3591, 2962, 3613, 3616, 3624, 3634, 2950,
807 3627, 3647, 3637, 699, 339, 318, 7106, 2944, 3656, 3659,
808 2951, 2941, 2959, 2931, 3662, 2924, 2925, 2918, 3665, 3668,
809 3674, 3681, 2931, 3684, 2912, 3688, 2921, 2905, 2913, 2926,
810 3691, 2876, 2874, 3694, 3697, 2906, 2892, 519, 2873, 2884,
812 2870, 877, 2862, 3700, 7106, 7106, 3718, 3721, 2843, 2855,
813 3724, 3727, 2834, 3730, 7106, 7106, 3739, 2851, 2838, 2816,
814 3747, 3751, 7106, 3754, 7106, 7106, 3765, 3770, 3779, 7106,
815 7106, 3787, 3790, 3798, 3801, 3805, 3809, 3819, 3823, 2804,
816 3826, 2817, 3829, 2827, 2816, 2794, 3838, 7106, 2795, 3846,
817 2778, 3849, 3853, 3861, 3872, 2792, 3880, 2771, 3885, 3888,
818 3892, 3900, 3906, 3918, 2769, 2764, 2751, 3921, 2746, 3924,
819 7106, 7106, 3933, 3940, 3914, 3945, 7106, 7106, 3953, 7106,
820 837, 607, 670, 2745, 3959, 3962, 3972, 3977, 2730, 2732,
821 3984, 3987, 2731, 2730, 3992, 3995, 3998, 2727, 4001, 4004,
823 2711, 4007, 2715, 2721, 4010, 7106, 2700, 2713, 4013, 4017,
824 4020, 2719, 2714, 2704, 2708, 2697, 2704, 2698, 2682, 2686,
825 2676, 4035, 4038, 4041, 4049, 2648, 4056, 2643, 880, 885,
826 2641, 4059, 4062, 4070, 7106, 7106, 4079, 7106, 7106, 4087,
827 4090, 4098, 4101, 7106, 7106, 4109, 4112, 2640, 4116, 4119,
828 2634, 2620, 896, 897, 2623, 2630, 4134, 7106, 2617, 4137,
829 7106, 7106, 4146, 7106, 7106, 2626, 4154, 2613, 4158, 4161,
830 7106, 7106, 4173, 7106, 7106, 4181, 4184, 2619, 2597, 4187,
831 2589, 4190, 4193, 4196, 4212, 75, 822, 4216, 4222, 7106,
832 7106, 4232, 4235, 4238, 2586, 4241, 4244, 4251, 4254, 2588,
834 4257, 2587, 4260, 2575, 7106, 4263, 2573, 4266, 7106, 4269,
835 7106, 7106, 2612, 2597, 2608, 2582, 2584, 2582, 2568, 2578,
836 2562, 2565, 4277, 4285, 7106, 7106, 4281, 2523, 2526, 2551,
837 2569, 2546, 2544, 2501, 4296, 7106, 7106, 4304, 7106, 7106,
838 4312, 4315, 4318, 7106, 4321, 4324, 7106, 7106, 2487, 2481,
839 2512, 2532, 2509, 2524, 2481, 2456, 4339, 2447, 4342, 4345,
840 4348, 4351, 4354, 4357, 4372, 2448, 4375, 4378, 4381, 4384,
841 7106, 4390, 848, 1081, 4394, 4410, 4413, 2430, 4416, 4419,
842 2432, 2423, 2411, 4422, 4425, 2411, 2423, 2412, 2371, 2355,
843 2350, 2342, 2335, 2291, 108, 199, 4433, 217, 334, 418,
845 7106, 423, 7106, 4436, 4440, 4445, 7106, 4454, 4458, 411,
846 414, 534, 593, 7106, 609, 7106, 4466, 4472, 4475, 4479,
847 4484, 7106, 4491, 4497, 4505, 4509, 4512, 7106, 7106, 4520,
848 4524, 4532, 4538, 7106, 4541, 4544, 933, 1093, 913, 4550,
849 7106, 711, 713, 722, 4553, 4557, 757, 940, 724, 816,
850 843, 842, 887, 904, 903, 913, 942, 952, 970, 4565,
851 929, 921, 7106, 7106, 4574, 4577, 4585, 4588, 7106, 7106,
852 944, 966, 974, 7106, 7106, 4596, 4599, 4607, 4610, 4618,
853 4625, 4639, 1005, 1069, 4647, 7106, 4650, 4653, 7106, 7106,
854 4661, 4669, 4679, 7106, 1034, 1098, 1153, 4682, 988, 991,
856 4685, 4688, 1007, 1033, 1027, 1071, 1045, 1080, 1067, 1069,
857 1079, 7106, 1124, 1116, 1116, 1120, 7106, 4698, 4703, 4706,
858 4710, 7106, 7106, 4718, 1105, 4724, 1114, 4727, 7106, 7106,
859 4736, 1171, 1185, 4744, 1235, 1243, 1133, 1134, 1139, 1157,
860 1169, 1176, 4752, 4755, 7106, 7106, 1275, 1330, 4766, 4771,
861 1152, 1164, 4774, 7106, 7106, 1233, 1234, 1253, 1246, 4785,
862 1243, 1260, 1286, 1271, 1281, 1309, 1323, 1317, 4788, 4791,
863 4794, 4803, 1290, 4797, 1292, 4815, 4818, 1275, 1312, 1325,
864 1332, 1369, 1362, 1377, 1370, 1380, 1366, 1376, 1404, 1373,
865 1382, 1409, 4826, 1427, 4829, 4836, 4841, 4849, 4855, 1390,
867 1434, 1427, 1442, 4860, 4866, 1440, 1441, 7106, 1442, 1445,
868 1445, 7106, 1449, 4874, 4878, 7106, 7106, 1428, 4886, 4889,
869 4893, 7106, 7106, 4907, 1479, 1451, 1502, 1486, 1518, 1494,
870 1523, 1497, 1502, 1511, 7106, 1505, 1516, 7106, 4910, 7106,
871 1527, 4913, 4916, 4925, 4945, 4990, 4938, 4956, 1518, 1540,
872 1529, 1546, 4965, 7106, 7106, 1551, 1527, 1544, 1579, 1564,
873 1565, 4980, 1541, 4984, 5010, 5002, 5020, 5028, 5034, 7106,
874 1593, 7106, 1592, 7106, 1596, 7106, 1597, 1601, 1607, 1621,
875 1633, 1634, 5042, 1637, 1641, 5062, 5107, 1637, 7106, 1639,
876 7106, 7106, 1650, 1656, 7106, 1659, 1676, 5052, 7106, 1647,
878 5082, 1679, 1684, 5090, 7106, 7106, 5127, 1735, 1743, 7106,
879 7106, 7106, 7106, 7106, 7106, 7106, 7106, 1711, 1755, 1688,
880 1699, 1708, 1703, 5055, 1705, 1714, 7106, 7106, 7106, 7106,
881 5098, 1693, 1721, 1734, 1748, 1774, 1753, 1797, 1757, 5101,
882 1785, 1772, 1812, 5135, 1821, 1819, 5138, 5141, 1802, 1812,
883 1806, 1817, 1808, 1817, 1828, 1814, 1846, 1867, 5156, 1882,
884 7106, 7106, 5159, 7106, 7106, 1878, 1875, 1881, 1880, 1883,
885 1910, 1917, 1930, 1935, 1932, 1965, 7106, 1951, 1951, 1957,
886 1958, 1958, 1963, 1964, 1962, 1989, 1993, 2013, 1993, 2010,
887 2000, 2016, 2007, 2005, 2020, 2017, 2014, 2033, 2110, 2040,
889 2079, 2051, 2081, 2075, 2067, 2105, 2114, 2106, 2140, 2141,
890 2122, 7106, 2125, 7106, 2151, 2135, 7106, 2188, 2177, 7106,
891 2190, 2185, 2190, 7106, 2191, 7106, 2193, 5167, 2178, 2181,
892 2186, 2188, 5171, 2225, 2255, 2268, 2266, 2258, 2281, 7106,
893 7106, 7106, 7106, 2270, 2308, 2292, 2335, 2334, 2406, 2275,
894 2331, 2376, 2391, 2277, 2360, 2413, 2459, 2451, 2456, 2338,
895 2470, 2494, 2530, 2282, 2278, 5179, 5186, 7106, 7106, 5206,
896 5215, 5224, 5233, 5242, 5251, 5260, 5269, 5278, 5287, 5296,
897 5305, 5314, 5323, 5332, 5341, 5350, 5359, 5368, 5377, 5386,
898 5395, 5404, 5413, 5422, 5431, 5440, 5449, 5458, 5467, 5476,
900 5485, 5494, 5503, 5512, 5521, 5530, 5539, 5548, 5557, 5564,
901 5571, 5578, 5585, 5592, 5599, 5606, 5613, 5620, 5627, 5634,
902 5641, 5648, 5655, 5662, 5669, 5676, 5685, 5690, 5695, 5702,
903 5707, 5714, 5719, 5726, 5731, 5736, 5741, 5748, 5753, 5760,
904 5765, 5772, 5777, 5784, 5789, 5796, 5801, 5808, 5813, 5820,
905 5825, 5832, 5837, 5844, 5849, 5856, 5861, 5870, 5876, 5883,
906 5891, 5898, 5906, 5913, 5921, 5928, 5936, 5943, 5951, 5958,
907 5966, 5973, 5981, 5989, 5996, 6004, 6012, 6020, 6028, 6036,
908 6043, 6051, 6059, 6067, 6074, 6082, 6089, 6097, 6105, 6112,
909 6120, 6129, 6135, 6142, 6150, 6158, 6166, 6173, 6181, 6188,
911 6196, 6203, 6211, 6218, 6226, 6233, 6241, 6249, 6256, 6264,
912 6271, 6279, 6286, 6294, 6301, 6309, 6316, 6324, 6331, 6339,
913 6346, 6354, 6362, 6369, 6377, 6386, 6395, 6402, 6410, 6417,
914 6425, 6432, 6440, 6447, 6455, 6462, 6469, 6477, 6485, 6493,
915 6501, 6508, 6516, 6523, 6531, 6538, 6546, 6553, 6561, 6568,
916 6576, 6583, 6591, 6599, 6607, 6615, 6623, 6631, 6640, 6649,
917 6656, 6664, 6671, 6679, 6686, 6694, 6701, 6709, 6716, 6723,
918 6731, 6739, 6747, 6755, 6762, 6770, 6777, 6785, 6793, 6801,
919 6808, 6816, 6824, 6832, 6839, 6847, 6855, 6863, 6871, 6880,
920 6889, 6897, 6905, 6912, 6920, 6927, 6935, 6943, 6951, 6959,
922 6966, 6974, 6982, 6990, 6997, 7004, 7012, 7019, 7027, 7034,
923 7042, 7051, 7060, 7069, 7078, 7087, 7096
926 static yyconst flex_int16_t yy_def[2218] =
928 1970, 1970, 1971, 1971, 1971, 1971, 1972, 1972, 1973, 1973,
929 1974, 1974, 1975, 1975, 1975, 1975, 1976, 1976, 1970, 1970,
930 1977, 1977, 1978, 1978, 1978, 1978, 1978, 1978, 1970, 1970,
931 1978, 1978, 1970, 1970, 1978, 1978, 1978, 1978, 1979, 1979,
932 1975, 1975, 1980, 1980, 1981, 1981, 1970, 1970, 1981, 1981,
933 1981, 1981, 1982, 1982, 1983, 1983, 1984, 1984, 1985, 1985,
934 1985, 1985, 1970, 1970, 1985, 1985, 1985, 1985, 1970, 1970,
935 1985, 1985, 1970, 1970, 1985, 1985, 1985, 1985, 1970, 1970,
936 1985, 1985, 1970, 1970, 1985, 1985, 1985, 1985, 1986, 1986,
937 1987, 1987, 1970, 1970, 1987, 1987, 1987, 1987, 1988, 1988,
939 1989, 1989, 1990, 1990, 1991, 1991, 1992, 1992, 1993, 1993,
940 1970, 1970, 1993, 1993, 1993, 1993, 1994, 1994, 1995, 1995,
941 1970, 1970, 1995, 1995, 1995, 1995, 1996, 1996, 1997, 1997,
942 1970, 1970, 1997, 1997, 1997, 1997, 1998, 1998, 1999, 1999,
943 2000, 2000, 2001, 2001, 1970, 1970, 2001, 2001, 2001, 2001,
944 2002, 2002, 2003, 2003, 1970, 1970, 2003, 2003, 2003, 2003,
945 2004, 2004, 2005, 2005, 2006, 2006, 2007, 2007, 1970, 1970,
946 2007, 2007, 2007, 2007, 2008, 2008, 2009, 2009, 1970, 1970,
947 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
948 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
950 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
951 1969, 2010, 1969, 1969, 2010, 1969, 1969, 1969, 218, 218,
952 218, 220, 220, 1969, 1969, 1969, 2011, 1969, 1969, 2011,
953 2011, 2011, 1969, 1969, 1969, 1969, 1969, 2012, 1969, 1969,
954 2012, 2012, 2012, 2012, 1969, 1969, 220, 220, 220, 1969,
955 1969, 1969, 2013, 1969, 1969, 2013, 2013, 2013, 1969, 1969,
956 1969, 1969, 1969, 1969, 2014, 1969, 1969, 2014, 2014, 1969,
957 1969, 221, 221, 221, 272, 273, 273, 273, 273, 279,
958 280, 279, 279, 1969, 1969, 1969, 2015, 1969, 1969, 2015,
959 2015, 2015, 2015, 2015, 1969, 1969, 220, 220, 1969, 1969,
961 1969, 2016, 1969, 1969, 2016, 2016, 2016, 2016, 2016, 2016,
962 1969, 1969, 1969, 1969, 1969, 1969, 2017, 1969, 1969, 2017,
963 1969, 1969, 1969, 1969, 1969, 1969, 2018, 1969, 1969, 2018,
964 2018, 2018, 2018, 1969, 1969, 220, 220, 1969, 1969, 1969,
965 2019, 1969, 1969, 2019, 2019, 1969, 1969, 220, 348, 348,
966 1969, 1969, 1969, 2020, 1969, 1969, 2020, 2020, 2020, 1969,
967 1969, 348, 348, 1969, 1969, 1969, 2021, 1969, 1969, 2021,
968 2021, 1969, 1969, 1969, 1969, 1969, 1969, 2022, 1969, 1969,
969 2022, 2022, 2022, 1969, 1969, 348, 348, 1969, 1969, 1969,
970 2023, 1969, 1969, 2023, 2023, 2023, 2023, 1969, 1969, 220,
972 400, 400, 1969, 1969, 1969, 2024, 1969, 1969, 2024, 1969,
973 1969, 1969, 1969, 1969, 1969, 2025, 1969, 1969, 2025, 1969,
974 1969, 400, 422, 422, 1969, 1969, 1969, 2026, 1969, 1969,
975 2026, 2026, 1969, 1969, 1969, 1969, 2027, 1969, 1969, 1969,
976 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
977 1969, 1969, 2010, 2010, 2028, 1969, 1969, 1969, 1969, 1969,
978 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
979 2011, 2011, 2011, 2011, 1969, 2029, 1969, 1969, 2030, 2030,
980 2030, 2030, 2030, 2030, 2030, 2031, 1969, 1969, 2032, 2032,
981 2032, 2032, 2033, 1969, 2034, 2034, 2034, 2035, 1969, 1969,
983 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2015, 2015, 2015,
984 2015, 2015, 2015, 2036, 1969, 2016, 2016, 2016, 2016, 2016,
985 2016, 2016, 2016, 2016, 2016, 2037, 1969, 2038, 2038, 2039,
986 1969, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 1969, 2042,
987 2042, 2042, 2042, 2043, 1969, 1969, 2044, 2044, 2044, 2044,
988 2044, 2045, 1969, 2046, 2046, 2046, 2047, 1969, 2048, 2048,
989 2048, 2048, 2049, 1969, 2050, 2050, 2050, 2050, 2050, 2051,
990 1969, 1969, 2052, 2052, 2053, 1969, 2054, 2054, 2055, 1969,
991 1969, 2056, 2056, 2056, 2057, 2058, 1969, 2058, 1969, 1969,
992 1969, 2059, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2060,
994 2061, 2061, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
995 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2062,
996 1969, 1969, 2062, 1969, 2063, 2063, 1969, 2064, 1969, 1969,
997 2064, 2064, 2064, 2064, 2065, 2065, 1969, 2066, 2066, 2066,
998 2067, 2067, 1969, 1969, 2068, 2069, 2069, 1969, 1969, 1969,
999 1969, 1969, 1969, 1969, 1969, 2070, 1969, 1969, 2070, 2070,
1000 2070, 2071, 2071, 2072, 1969, 1969, 1969, 1969, 2072, 2072,
1001 2072, 2072, 2072, 2072, 2073, 2073, 1969, 1969, 2074, 2074,
1002 2075, 1969, 1969, 2075, 2075, 2075, 2076, 2076, 2077, 2077,
1003 2077, 2078, 2078, 1969, 2079, 2079, 2079, 2079, 2080, 2080,
1005 2081, 1969, 1969, 2082, 2082, 2083, 2083, 2083, 2084, 2084,
1006 2085, 2085, 2085, 2085, 2086, 2086, 1969, 2087, 2088, 2088,
1007 1969, 1969, 2089, 2089, 1969, 1969, 1969, 2090, 2091, 2091,
1008 2092, 1969, 1969, 2092, 1969, 1969, 2093, 1969, 1969, 1969,
1009 1969, 1969, 1969, 2094, 1969, 2095, 1969, 2095, 1969, 1969,
1010 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1011 1969, 1969, 1969, 1969, 1969, 1969, 2096, 1969, 1969, 1969,
1012 2096, 1969, 1969, 2097, 1969, 2097, 2098, 1969, 1969, 1969,
1013 1969, 1969, 2098, 1969, 1969, 2098, 1969, 2099, 1969, 2099,
1014 1969, 2100, 2100, 2100, 1969, 2101, 1969, 2101, 1969, 1969,
1016 1969, 2102, 1969, 2103, 1969, 2103, 1969, 1969, 1969, 1969,
1017 1969, 1969, 1969, 2104, 1969, 1969, 1969, 2104, 2104, 2104,
1018 1969, 2105, 1969, 2105, 2106, 2106, 1969, 1969, 1969, 1969,
1019 1969, 1969, 1969, 1969, 2106, 2106, 2106, 2106, 2106, 1969,
1020 2107, 1969, 2107, 1969, 1969, 1969, 1969, 2108, 1969, 2108,
1021 2109, 1969, 1969, 1969, 2109, 2109, 2109, 1969, 2110, 1969,
1022 2110, 1969, 1969, 1969, 1969, 2111, 1969, 2112, 1969, 2112,
1023 1969, 1969, 1969, 2113, 2113, 1969, 1969, 2113, 1969, 2114,
1024 1969, 2114, 2115, 1969, 1969, 1969, 1969, 2116, 1969, 2116,
1025 1969, 1969, 2117, 2117, 1969, 1969, 1969, 2118, 1969, 2118,
1027 2119, 2119, 2119, 2119, 1969, 2120, 1969, 2120, 1969, 2121,
1028 1969, 2122, 1969, 2122, 1969, 1969, 1969, 1969, 2123, 1969,
1029 2123, 1969, 1969, 1969, 1969, 2124, 1969, 2125, 1969, 2125,
1030 2126, 2127, 1969, 1969, 1969, 1969, 1969, 2128, 2129, 1969,
1031 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1032 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2130, 1969,
1033 2131, 2132, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1034 2132, 2133, 1969, 2134, 1969, 1969, 2134, 2135, 2136, 1969,
1035 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2137, 2137,
1036 2137, 2137, 2138, 2139, 2139, 1969, 1969, 1969, 2139, 2139,
1038 2139, 2139, 2139, 2140, 2141, 2142, 2142, 2142, 2142, 2143,
1039 1969, 1969, 1969, 1969, 1969, 1969, 2144, 2145, 1969, 1969,
1040 1969, 1969, 2146, 2146, 1969, 1969, 1969, 2146, 2147, 2148,
1041 2149, 1969, 1969, 1969, 2150, 2150, 1969, 1969, 1969, 2151,
1042 2152, 1969, 1969, 2152, 2152, 2153, 1969, 2154, 2155, 2156,
1043 1969, 2157, 2158, 2159, 2160, 2160, 1969, 2160, 1969, 1969,
1044 1969, 2161, 2162, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1045 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1046 1969, 1969, 1969, 1969, 2163, 1969, 2164, 2165, 1969, 1969,
1047 1969, 2165, 2166, 1969, 2167, 1969, 1969, 1969, 1969, 1969,
1049 2168, 2169, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2170,
1050 1969, 1969, 1969, 1969, 2170, 2170, 2171, 1969, 1969, 2172,
1051 1969, 1969, 2172, 2172, 2172, 2172, 2173, 2174, 2175, 2175,
1052 2175, 1969, 1969, 2175, 2176, 2177, 2178, 1969, 2179, 2179,
1053 2179, 2180, 2181, 2182, 2183, 2183, 2184, 2185, 1969, 1969,
1054 1969, 2185, 2185, 2186, 1969, 1969, 1969, 2187, 2188, 1969,
1055 1969, 1969, 2189, 2190, 2191, 2191, 1969, 1969, 2192, 2193,
1056 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1057 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2194, 1969,
1058 2195, 2196, 2196, 2197, 2198, 1969, 1969, 1969, 1969, 1969,
1060 1969, 1969, 1969, 1969, 1969, 1969, 2199, 2200, 1969, 1969,
1061 1969, 1969, 2201, 1969, 1969, 1969, 1969, 1969, 1969, 2201,
1062 2201, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1063 1969, 1969, 1969, 2202, 2202, 1969, 1969, 2203, 2204, 2205,
1064 2205, 2205, 1969, 1969, 1969, 2205, 1969, 1969, 2206, 2207,
1065 1969, 1969, 1969, 1969, 1969, 2208, 2209, 2210, 2211, 1969,
1066 1969, 1969, 1969, 2184, 2185, 2185, 2185, 2186, 1969, 1969,
1067 1969, 1969, 2187, 2188, 1969, 1969, 1969, 1969, 1969, 1969,
1068 2190, 2191, 2191, 1969, 1969, 1969, 2193, 1969, 1969, 1969,
1069 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1071 1969, 1969, 2194, 1969, 1969, 1969, 2196, 2196, 2197, 1969,
1072 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1073 1969, 2199, 1969, 1969, 1969, 1969, 1969, 2201, 1969, 1969,
1074 2201, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1075 1969, 2202, 1969, 1969, 1969, 2203, 2204, 2205, 1969, 1969,
1076 2205, 2205, 1969, 1969, 2205, 2206, 1969, 1969, 1969, 1969,
1077 1969, 1969, 1969, 1969, 1969, 2208, 2209, 2210, 2211, 1969,
1078 1969, 1969, 1969, 1969, 1969, 2184, 2185, 2185, 2185, 2186,
1079 1969, 2187, 2188, 1969, 2190, 2191, 2191, 1969, 1969, 1969,
1080 1969, 2193, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1082 1969, 1969, 1969, 2194, 1969, 2196, 2196, 1969, 1969, 1969,
1083 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1084 1969, 1969, 2199, 1969, 1969, 1969, 1969, 1969, 2201, 1969,
1085 1969, 1969, 1969, 2201, 1969, 1969, 1969, 1969, 1969, 1969,
1086 2202, 2203, 1969, 1969, 2205, 1969, 1969, 1969, 2205, 2205,
1087 1969, 1969, 1969, 1969, 2205, 2206, 1969, 2208, 2209, 2210,
1088 2211, 2184, 1969, 1969, 2185, 2185, 2186, 1969, 2187, 1969,
1089 1969, 2190, 2191, 2191, 1969, 2193, 1969, 1969, 1969, 1969,
1090 1969, 1969, 2194, 1969, 1969, 2196, 1969, 1969, 1969, 1969,
1091 1969, 1969, 1969, 1969, 1969, 1969, 2199, 1969, 2201, 1969,
1093 1969, 1969, 1969, 2201, 2202, 1969, 1969, 1969, 1969, 2205,
1094 2205, 2205, 1969, 1969, 1969, 1969, 2205, 2206, 1969, 2208,
1095 1969, 1969, 1969, 1969, 2211, 2184, 1969, 1969, 1969, 1969,
1096 1969, 2185, 1969, 1969, 1969, 2187, 2190, 2191, 2191, 1969,
1097 1969, 1969, 1969, 1969, 2194, 1969, 1969, 1969, 2196, 1969,
1098 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2199,
1099 1969, 2201, 1969, 1969, 1969, 1969, 2202, 1969, 1969, 1969,
1100 2205, 2205, 2205, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1101 1969, 1969, 1969, 1969, 1969, 1969, 2184, 1969, 1969, 1969,
1102 1969, 1969, 1969, 1969, 2190, 2191, 2191, 1969, 1969, 1969,
1104 1969, 1969, 1969, 1969, 1969, 1969, 2196, 1969, 1969, 1969,
1105 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2199, 1969, 2201,
1106 1969, 1969, 1969, 2202, 2205, 2205, 2205, 1969, 1969, 1969,
1107 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1108 1969, 1969, 2184, 1969, 1969, 1969, 2190, 2191, 2191, 1969,
1109 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2196,
1110 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2199, 1969,
1111 1969, 1969, 2201, 2202, 2205, 1969, 1969, 2205, 1969, 1969,
1112 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1113 1969, 1969, 2184, 2190, 2191, 2191, 2191, 1969, 1969, 1969,
1115 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1116 1969, 1969, 1969, 2199, 1969, 1969, 1969, 2201, 2202, 2205,
1117 1969, 1969, 1969, 2205, 1969, 1969, 1969, 1969, 1969, 1969,
1118 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1119 2190, 2191, 2191, 2191, 2212, 2213, 1969, 1969, 1969, 1969,
1120 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1121 1969, 2199, 2201, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1122 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1123 1969, 2190, 2191, 2214, 2215, 2212, 2213, 1969, 1969, 1969,
1124 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2201,
1126 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1127 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190, 2214, 2191,
1128 2216, 2215, 2217, 2191, 1969, 1969, 1969, 1969, 1969, 1969,
1129 2201, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190,
1130 2216, 1969, 2217, 2191, 1969, 1969, 1969, 1969, 1969, 1969,
1131 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190, 1969,
1132 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1133 1969, 1969, 1969, 1969, 1969, 2190, 1969, 1969, 1969, 1969,
1134 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190, 1969, 1969,
1135 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190, 1969,
1137 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 2190,
1138 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1139 2190, 1969, 1969, 1969, 1969, 1969, 1969, 2190, 1969, 1969,
1140 1969, 1969, 2190, 1969, 1969, 1969, 1969, 2190, 2190, 1969,
1141 1969, 1969, 1969, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1142 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1143 2190, 2190, 2190, 2190, 2190, 2190, 2190, 1969, 0, 1969,
1144 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1145 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1146 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1148 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1149 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1150 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1151 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1152 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1153 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1154 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1155 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1156 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1157 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1159 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1160 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1161 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1162 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1163 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1164 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1165 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1166 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1167 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1168 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1170 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1171 1969, 1969, 1969, 1969, 1969, 1969, 1969
1174 static yyconst flex_int16_t yy_nxt[7177] =
1176 1969, 184, 185, 184, 184, 185, 184, 184, 185, 184,
1177 184, 185, 184, 189, 185, 189, 195, 186, 192, 195,
1178 186, 192, 1969, 187, 486, 193, 187, 587, 193, 190,
1179 189, 185, 189, 437, 196, 198, 199, 196, 198, 199,
1180 200, 201, 588, 200, 201, 437, 190, 205, 206, 438,
1181 202, 198, 199, 202, 203, 440, 200, 198, 199, 610,
1182 203, 439, 200, 205, 206, 611, 202, 185, 185, 185,
1183 498, 439, 202, 487, 185, 185, 185, 217, 185, 217,
1184 217, 185, 217, 208, 217, 185, 217, 482, 440, 207,
1185 208, 483, 1969, 218, 1057, 484, 218, 436, 436, 436,
1187 219, 436, 436, 436, 439, 207, 209, 210, 185, 210,
1188 209, 209, 209, 209, 209, 209, 209, 211, 209, 209,
1189 209, 503, 209, 213, 209, 214, 209, 217, 185, 217,
1190 217, 185, 217, 460, 1473, 217, 185, 217, 185, 185,
1191 185, 487, 463, 219, 451, 463, 220, 468, 440, 209,
1192 209, 220, 486, 1558, 221, 185, 185, 185, 436, 436,
1193 436, 436, 436, 436, 439, 436, 436, 436, 436, 436,
1194 436, 221, 215, 209, 210, 185, 210, 209, 209, 209,
1195 209, 209, 209, 209, 211, 209, 209, 209, 517, 209,
1196 213, 209, 214, 209, 217, 185, 217, 217, 185, 217,
1198 536, 469, 185, 185, 185, 185, 185, 185, 518, 498,
1199 219, 537, 521, 219, 514, 522, 209, 209, 222, 504,
1200 440, 222, 217, 185, 217, 217, 185, 217, 217, 185,
1201 217, 217, 185, 217, 1559, 1969, 439, 1969, 220, 215,
1202 469, 220, 463, 587, 223, 500, 467, 223, 224, 225,
1203 185, 225, 224, 224, 224, 224, 224, 224, 224, 226,
1204 224, 224, 224, 487, 224, 228, 224, 229, 224, 246,
1205 185, 246, 465, 458, 246, 185, 246, 624, 185, 185,
1206 185, 1561, 198, 199, 469, 247, 1969, 200, 198, 199,
1207 247, 224, 224, 200, 248, 514, 466, 233, 593, 230,
1209 542, 594, 231, 233, 436, 436, 436, 543, 232, 224,
1210 225, 185, 225, 224, 224, 224, 224, 224, 224, 224,
1211 226, 224, 224, 224, 234, 224, 228, 224, 229, 224,
1212 234, 185, 185, 185, 246, 185, 246, 1057, 246, 185,
1213 246, 246, 185, 246, 469, 440, 440, 248, 475, 440,
1214 247, 440, 224, 224, 247, 476, 493, 249, 1057, 538,
1215 230, 439, 439, 231, 439, 439, 445, 439, 1283, 232,
1216 235, 236, 185, 236, 235, 235, 235, 235, 235, 235,
1217 235, 237, 235, 235, 235, 466, 235, 239, 235, 240,
1218 235, 246, 185, 246, 260, 185, 260, 1282, 1562, 260,
1220 185, 260, 271, 185, 271, 524, 446, 249, 487, 440,
1221 261, 458, 447, 235, 235, 261, 448, 525, 272, 612,
1222 538, 449, 241, 1563, 242, 439, 505, 243, 436, 436,
1223 436, 1564, 613, 244, 235, 236, 185, 236, 235, 235,
1224 235, 235, 235, 235, 235, 237, 235, 235, 235, 466,
1225 235, 239, 235, 240, 235, 271, 185, 271, 271, 185,
1226 271, 457, 1571, 271, 185, 271, 185, 185, 185, 469,
1227 1572, 272, 825, 440, 273, 469, 467, 235, 235, 273,
1228 440, 826, 274, 436, 436, 436, 241, 526, 242, 439,
1229 570, 243, 468, 436, 436, 436, 439, 244, 250, 251,
1231 185, 251, 250, 250, 250, 250, 250, 250, 250, 252,
1232 250, 250, 250, 552, 250, 254, 250, 255, 250, 185,
1233 185, 185, 271, 185, 271, 571, 550, 271, 185, 271,
1234 271, 185, 271, 551, 606, 274, 440, 607, 275, 487,
1235 1314, 250, 250, 275, 440, 440, 276, 1315, 256, 436,
1236 436, 436, 439, 257, 436, 436, 436, 563, 461, 1969,
1237 439, 439, 258, 250, 251, 185, 251, 250, 250, 250,
1238 250, 250, 250, 250, 252, 250, 250, 250, 612, 250,
1239 254, 250, 255, 250, 271, 185, 271, 185, 185, 185,
1240 1573, 652, 185, 185, 185, 271, 185, 271, 1574, 610,
1242 276, 501, 461, 277, 502, 619, 250, 250, 277, 606,
1243 506, 273, 615, 256, 436, 436, 436, 1575, 257, 436,
1244 436, 436, 436, 436, 436, 544, 1057, 258, 262, 263,
1245 185, 263, 262, 262, 262, 262, 262, 262, 262, 264,
1246 262, 262, 262, 612, 262, 266, 262, 267, 262, 271,
1247 185, 271, 185, 185, 185, 1386, 654, 185, 185, 185,
1248 271, 185, 271, 617, 440, 273, 615, 732, 278, 610,
1249 545, 262, 262, 278, 469, 637, 276, 436, 436, 436,
1250 439, 734, 268, 436, 436, 436, 436, 436, 436, 1057,
1251 269, 262, 263, 185, 263, 262, 262, 262, 262, 262,
1253 262, 262, 264, 262, 262, 262, 612, 262, 266, 262,
1254 267, 262, 271, 185, 271, 271, 185, 271, 732, 655,
1255 271, 185, 271, 185, 185, 185, 732, 440, 276, 732,
1256 931, 279, 1387, 1281, 262, 262, 279, 732, 440, 280,
1257 185, 185, 185, 439, 440, 268, 271, 185, 271, 271,
1258 185, 271, 1164, 269, 439, 1054, 280, 185, 185, 185,
1259 439, 1598, 281, 1599, 440, 281, 185, 185, 185, 271,
1260 185, 271, 1600, 282, 271, 185, 271, 271, 185, 271,
1261 439, 1603, 282, 1607, 440, 279, 271, 185, 271, 948,
1262 279, 530, 1604, 283, 436, 436, 436, 436, 436, 436,
1264 439, 949, 283, 284, 285, 185, 285, 284, 284, 284,
1265 284, 284, 284, 284, 286, 284, 284, 284, 725, 284,
1266 288, 284, 289, 284, 296, 185, 296, 296, 185, 296,
1267 956, 613, 185, 185, 185, 185, 185, 185, 956, 440,
1268 297, 1057, 949, 297, 1608, 440, 284, 284, 248, 290,
1269 973, 248, 296, 185, 296, 439, 732, 291, 436, 436,
1270 436, 439, 1385, 292, 1609, 1610, 293, 1057, 297, 294,
1271 284, 285, 185, 285, 284, 284, 284, 284, 284, 284,
1272 284, 286, 284, 284, 284, 1474, 284, 288, 284, 289,
1273 284, 296, 185, 296, 296, 185, 296, 1538, 1319, 296,
1275 185, 296, 312, 185, 312, 1320, 1430, 297, 1611, 1612,
1276 298, 1432, 1431, 284, 284, 298, 290, 1433, 313, 312,
1277 185, 312, 1451, 1453, 291, 436, 436, 436, 1452, 1454,
1278 292, 1613, 1057, 293, 1614, 313, 294, 299, 300, 185,
1279 300, 299, 299, 299, 299, 299, 299, 299, 301, 299,
1280 299, 299, 732, 299, 303, 299, 304, 299, 322, 185,
1281 322, 322, 185, 322, 1605, 1615, 335, 185, 335, 335,
1282 185, 335, 1597, 1616, 323, 1606, 440, 323, 1617, 1619,
1283 299, 299, 336, 557, 305, 336, 436, 436, 436, 1595,
1284 1620, 306, 439, 307, 436, 436, 436, 308, 1625, 309,
1286 310, 299, 300, 185, 300, 299, 299, 299, 299, 299,
1287 299, 299, 301, 299, 299, 299, 1626, 299, 303, 299,
1288 304, 299, 185, 185, 185, 185, 185, 185, 1627, 1637,
1289 335, 185, 335, 335, 185, 335, 1651, 1638, 248, 1652,
1290 440, 248, 1656, 1639, 299, 299, 336, 575, 305, 336,
1291 436, 436, 436, 732, 1657, 306, 439, 307, 436, 436,
1292 436, 308, 1658, 309, 310, 314, 315, 185, 315, 314,
1293 314, 314, 314, 314, 314, 314, 316, 314, 314, 314,
1294 1647, 314, 318, 314, 319, 314, 335, 185, 335, 335,
1295 185, 335, 1659, 1640, 347, 185, 347, 347, 185, 347,
1297 1057, 1641, 337, 1660, 1661, 337, 1662, 1642, 314, 314,
1298 348, 1663, 1057, 348, 436, 436, 436, 1057, 1664, 320,
1299 314, 315, 185, 315, 314, 314, 314, 314, 314, 314,
1300 314, 316, 314, 314, 314, 1539, 314, 318, 314, 319,
1301 314, 185, 185, 185, 185, 185, 185, 1596, 1665, 347,
1302 185, 347, 347, 185, 347, 1666, 1648, 349, 1667, 1668,
1303 349, 1675, 1678, 314, 314, 348, 1687, 1688, 348, 436,
1304 436, 436, 1057, 1689, 320, 324, 325, 185, 325, 324,
1305 324, 324, 324, 324, 324, 324, 326, 324, 324, 324,
1306 1690, 324, 328, 324, 329, 324, 347, 185, 347, 347,
1308 185, 347, 1691, 1679, 361, 185, 361, 361, 185, 361,
1309 1692, 1649, 350, 1680, 440, 350, 1698, 1681, 324, 324,
1310 362, 585, 330, 362, 436, 436, 436, 1682, 1699, 331,
1311 439, 332, 436, 436, 436, 436, 436, 436, 333, 324,
1312 325, 185, 325, 324, 324, 324, 324, 324, 324, 324,
1313 326, 324, 324, 324, 1700, 324, 328, 324, 329, 324,
1314 185, 185, 185, 185, 185, 185, 1701, 1683, 361, 185,
1315 361, 361, 185, 361, 1702, 1685, 349, 1684, 1703, 349,
1316 1706, 1707, 324, 324, 362, 1686, 330, 362, 436, 436,
1317 436, 1708, 1709, 331, 732, 332, 436, 436, 436, 436,
1319 436, 436, 333, 338, 339, 185, 339, 338, 338, 338,
1320 338, 338, 338, 338, 340, 338, 338, 338, 1710, 338,
1321 342, 338, 343, 338, 361, 185, 361, 361, 185, 361,
1322 1711, 1712, 373, 185, 373, 373, 185, 373, 1713, 1694,
1323 363, 1718, 1720, 363, 1724, 1725, 338, 338, 374, 1057,
1324 1726, 374, 344, 436, 436, 436, 436, 436, 436, 436,
1325 436, 436, 591, 591, 591, 1727, 345, 338, 339, 185,
1326 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1327 338, 338, 1695, 338, 342, 338, 343, 338, 385, 185,
1328 385, 385, 185, 385, 1728, 1729, 185, 185, 185, 185,
1330 185, 185, 1730, 1731, 386, 1732, 1733, 386, 1734, 1735,
1331 338, 338, 349, 1736, 1737, 349, 344, 1738, 592, 591,
1332 591, 591, 1749, 736, 749, 749, 749, 763, 763, 763,
1333 345, 351, 352, 185, 352, 351, 351, 351, 351, 351,
1334 351, 351, 353, 351, 351, 351, 732, 351, 355, 351,
1335 356, 351, 385, 185, 385, 385, 185, 385, 1750, 1751,
1336 385, 185, 385, 385, 185, 385, 1752, 1756, 386, 1757,
1337 1758, 386, 1759, 1760, 351, 351, 387, 1761, 1741, 387,
1338 357, 1196, 1763, 358, 1770, 750, 1197, 1771, 750, 1198,
1339 749, 749, 749, 1199, 359, 351, 352, 185, 352, 351,
1341 351, 351, 351, 351, 351, 351, 353, 351, 351, 351,
1342 1772, 351, 355, 351, 356, 351, 399, 185, 399, 399,
1343 185, 399, 1773, 1774, 185, 185, 185, 185, 185, 185,
1344 1775, 1776, 400, 1777, 1778, 400, 1779, 1780, 351, 351,
1345 401, 1781, 1788, 401, 357, 1789, 732, 358, 768, 768,
1346 768, 807, 769, 1790, 1791, 770, 1792, 1793, 359, 364,
1347 365, 185, 365, 364, 364, 364, 364, 364, 364, 364,
1348 366, 364, 364, 364, 1794, 364, 368, 364, 369, 364,
1349 399, 185, 399, 399, 185, 399, 1782, 1795, 399, 185,
1350 399, 399, 185, 399, 1796, 1797, 400, 1800, 1810, 400,
1352 1811, 1812, 364, 364, 402, 1813, 1814, 402, 370, 749,
1353 749, 749, 1815, 371, 364, 365, 185, 365, 364, 364,
1354 364, 364, 364, 364, 364, 366, 364, 364, 364, 1816,
1355 364, 368, 364, 369, 364, 411, 185, 411, 411, 185,
1356 411, 1817, 1820, 421, 185, 421, 421, 185, 421, 1820,
1357 1825, 412, 1826, 732, 412, 1827, 1821, 364, 364, 422,
1358 1823, 1828, 422, 370, 763, 763, 763, 1829, 371, 375,
1359 376, 185, 376, 375, 375, 375, 375, 375, 375, 375,
1360 377, 375, 375, 375, 1830, 375, 379, 375, 380, 375,
1361 185, 185, 185, 185, 185, 185, 1818, 1831, 421, 185,
1363 421, 421, 185, 421, 1842, 1832, 248, 1057, 1058, 248,
1364 1834, 1842, 375, 375, 423, 1833, 1820, 423, 381, 1845,
1365 1835, 382, 778, 778, 778, 807, 779, 1823, 1846, 780,
1366 732, 1849, 383, 375, 376, 185, 376, 375, 375, 375,
1367 375, 375, 375, 375, 377, 375, 375, 375, 1850, 375,
1368 379, 375, 380, 375, 421, 185, 421, 421, 185, 421,
1369 1820, 1836, 434, 185, 434, 434, 185, 434, 1840, 1838,
1370 424, 1837, 1851, 424, 1821, 1852, 375, 375, 435, 1839,
1371 1855, 435, 381, 498, 1858, 382, 579, 799, 799, 799,
1372 1842, 800, 1860, 499, 801, 1853, 383, 388, 389, 185,
1374 389, 388, 388, 388, 388, 388, 388, 388, 390, 388,
1375 388, 388, 1854, 388, 392, 388, 393, 388, 1856, 500,
1376 1842, 457, 621, 621, 621, 501, 1861, 1862, 502, 629,
1377 629, 629, 1866, 1867, 503, 1857, 1868, 580, 1869, 622,
1378 388, 388, 643, 643, 643, 1870, 630, 1871, 394, 1872,
1379 395, 1873, 396, 763, 763, 763, 1069, 1069, 1069, 644,
1380 397, 388, 389, 185, 389, 388, 388, 388, 388, 388,
1381 388, 388, 390, 388, 388, 388, 1874, 388, 392, 388,
1382 393, 388, 657, 657, 657, 665, 665, 665, 1875, 667,
1383 667, 667, 677, 677, 677, 1200, 682, 682, 682, 658,
1385 1201, 1877, 666, 1202, 388, 388, 668, 1203, 1878, 678,
1386 1879, 1880, 394, 683, 395, 1881, 396, 1882, 1070, 1070,
1387 1070, 1074, 1074, 1074, 397, 403, 404, 185, 404, 403,
1388 403, 403, 403, 403, 403, 403, 405, 403, 403, 403,
1389 1883, 403, 407, 403, 408, 403, 702, 702, 702, 721,
1390 721, 721, 1884, 726, 726, 726, 745, 745, 745, 745,
1391 745, 745, 1071, 703, 1885, 1886, 722, 1887, 403, 403,
1392 727, 621, 621, 621, 747, 1889, 1890, 747, 815, 815,
1393 815, 1891, 816, 1892, 732, 817, 1893, 1894, 622, 1895,
1394 1896, 409, 403, 404, 185, 404, 403, 403, 403, 403,
1396 403, 403, 403, 405, 403, 403, 403, 1888, 403, 407,
1397 403, 408, 403, 1897, 748, 773, 773, 773, 1898, 773,
1398 773, 773, 629, 629, 629, 781, 781, 781, 784, 784,
1399 784, 1900, 732, 775, 1901, 403, 403, 775, 1902, 630,
1400 1903, 1904, 782, 1905, 1906, 785, 827, 827, 827, 1899,
1401 828, 1907, 1908, 829, 1094, 1094, 1094, 1909, 409, 413,
1402 414, 185, 414, 413, 413, 413, 413, 413, 413, 413,
1403 415, 413, 413, 413, 1911, 413, 417, 413, 418, 413,
1404 776, 787, 787, 787, 1912, 1913, 795, 795, 795, 1914,
1405 787, 787, 787, 795, 795, 795, 1105, 1105, 1105, 789,
1407 1915, 1916, 413, 413, 797, 830, 830, 830, 789, 831,
1408 1917, 797, 832, 419, 413, 414, 185, 414, 413, 413,
1409 413, 413, 413, 413, 413, 415, 413, 413, 413, 732,
1410 413, 417, 413, 418, 413, 790, 643, 643, 643, 1918,
1411 1919, 803, 803, 803, 657, 657, 657, 1910, 1920, 803,
1412 803, 803, 1922, 644, 798, 1923, 1924, 413, 413, 805,
1413 732, 658, 1106, 1106, 1106, 1925, 1921, 805, 419, 425,
1414 426, 185, 426, 425, 425, 425, 425, 425, 425, 425,
1415 427, 425, 425, 425, 806, 425, 429, 425, 430, 425,
1416 821, 821, 821, 821, 821, 821, 1926, 665, 665, 665,
1418 667, 667, 667, 833, 833, 833, 1071, 1927, 823, 732,
1419 1929, 823, 425, 425, 666, 1930, 1931, 668, 1932, 1934,
1420 834, 1928, 1935, 431, 844, 844, 844, 1936, 845, 1937,
1421 1940, 846, 1070, 1070, 1070, 432, 425, 426, 185, 426,
1422 425, 425, 425, 425, 425, 425, 425, 427, 425, 425,
1423 425, 824, 425, 429, 425, 430, 425, 840, 840, 840,
1424 840, 840, 840, 1941, 677, 677, 677, 847, 847, 847,
1425 847, 847, 847, 1942, 1943, 842, 1138, 732, 842, 425,
1426 425, 678, 682, 682, 682, 849, 1966, 1966, 849, 732,
1427 431, 852, 852, 852, 732, 853, 732, 732, 854, 683,
1429 732, 732, 432, 440, 858, 858, 858, 858, 858, 858,
1430 455, 732, 862, 862, 862, 843, 864, 864, 864, 439,
1431 456, 1944, 860, 1557, 1946, 860, 1956, 732, 850, 863,
1432 867, 867, 867, 865, 1969, 1969, 1969, 1952, 867, 867,
1433 867, 872, 872, 872, 1945, 457, 458, 459, 869, 1948,
1434 732, 1969, 460, 732, 732, 461, 869, 732, 873, 462,
1435 861, 463, 1947, 464, 1969, 1969, 1969, 876, 876, 876,
1436 1969, 1969, 1969, 879, 879, 879, 879, 879, 879, 732,
1437 1556, 1969, 1555, 866, 877, 1554, 1950, 1969, 702, 702,
1438 702, 881, 1949, 1953, 881, 732, 870, 884, 884, 884,
1440 1553, 885, 1962, 1552, 886, 703, 887, 887, 887, 1957,
1441 732, 882, 874, 887, 887, 887, 891, 891, 891, 878,
1442 1969, 1969, 1969, 1958, 889, 732, 875, 895, 895, 895,
1443 1954, 889, 732, 892, 897, 897, 897, 1969, 897, 897,
1444 897, 905, 905, 905, 896, 1955, 905, 905, 905, 911,
1445 911, 911, 899, 911, 911, 911, 899, 1551, 1951, 907,
1446 721, 721, 721, 1550, 907, 1549, 890, 913, 893, 1959,
1447 732, 913, 915, 915, 915, 732, 916, 722, 732, 917,
1448 1545, 1544, 894, 918, 918, 918, 918, 918, 918, 732,
1449 1543, 726, 726, 726, 1542, 923, 923, 923, 1532, 924,
1451 1960, 920, 925, 1520, 920, 1961, 900, 908, 727, 927,
1452 927, 927, 1518, 732, 914, 927, 927, 927, 745, 745,
1453 745, 745, 745, 745, 745, 745, 745, 929, 957, 957,
1454 957, 1517, 1516, 929, 1963, 1515, 747, 1514, 1513, 747,
1455 1512, 1511, 747, 1964, 921, 958, 768, 768, 768, 732,
1456 769, 1504, 1503, 770, 1969, 1969, 1969, 773, 773, 773,
1457 773, 773, 773, 773, 773, 773, 778, 778, 778, 939,
1458 779, 1969, 1502, 780, 1501, 775, 930, 1500, 775, 1965,
1459 1499, 775, 781, 781, 781, 963, 963, 963, 1498, 964,
1460 1496, 1495, 965, 966, 966, 966, 784, 784, 784, 782,
1462 968, 968, 968, 1494, 969, 1493, 1492, 970, 961, 1491,
1463 967, 1490, 959, 785, 787, 787, 787, 787, 787, 787,
1464 787, 787, 787, 975, 975, 975, 795, 795, 795, 795,
1465 795, 795, 789, 1489, 1488, 789, 1487, 1486, 789, 1483,
1466 976, 795, 795, 795, 797, 1482, 1481, 797, 799, 799,
1467 799, 1478, 800, 1468, 1466, 801, 803, 803, 803, 797,
1468 803, 803, 803, 980, 980, 980, 815, 815, 815, 1465,
1469 816, 1460, 1458, 817, 805, 1457, 1456, 972, 805, 1455,
1470 1450, 981, 821, 821, 821, 1449, 978, 821, 821, 821,
1471 821, 821, 821, 1445, 827, 827, 827, 1434, 828, 1429,
1473 823, 829, 830, 830, 830, 823, 831, 1428, 823, 832,
1474 833, 833, 833, 996, 996, 996, 1422, 997, 1421, 1420,
1475 998, 840, 840, 840, 840, 840, 840, 834, 840, 840,
1476 840, 844, 844, 844, 1419, 845, 1418, 1417, 846, 842,
1477 1416, 1415, 842, 847, 847, 847, 842, 847, 847, 847,
1478 1414, 1413, 993, 847, 847, 847, 852, 852, 852, 1407,
1479 853, 849, 1406, 854, 1405, 849, 858, 858, 858, 1404,
1480 1402, 849, 858, 858, 858, 858, 858, 858, 862, 862,
1481 862, 1011, 1011, 1011, 860, 1012, 1400, 1398, 1013, 1397,
1482 860, 1395, 1004, 860, 1394, 863, 864, 864, 864, 1014,
1484 1014, 1014, 1388, 1015, 1381, 1379, 1016, 867, 867, 867,
1485 867, 867, 867, 865, 872, 872, 872, 1005, 867, 867,
1486 867, 1378, 1020, 1020, 1020, 869, 1021, 1377, 869, 1022,
1487 1368, 873, 1010, 876, 876, 876, 869, 1025, 1025, 1025,
1488 1366, 1026, 1359, 1356, 1027, 879, 879, 879, 1355, 1354,
1489 877, 879, 879, 879, 879, 879, 879, 884, 884, 884,
1490 1353, 885, 1352, 881, 886, 887, 887, 887, 1348, 881,
1491 1331, 1330, 881, 887, 887, 887, 887, 887, 887, 891,
1492 891, 891, 1018, 889, 1329, 1032, 1032, 1032, 1328, 1033,
1493 1326, 889, 1034, 1325, 889, 1321, 892, 895, 895, 895,
1495 1037, 1037, 1037, 1318, 1038, 1317, 1316, 1039, 897, 897,
1496 897, 897, 897, 897, 896, 1029, 897, 897, 897, 1042,
1497 1042, 1042, 905, 905, 905, 1313, 899, 1312, 1308, 899,
1498 905, 905, 905, 1031, 899, 1307, 1043, 905, 905, 905,
1499 907, 911, 911, 911, 911, 911, 911, 1304, 907, 911,
1500 911, 911, 918, 918, 918, 907, 915, 915, 915, 913,
1501 916, 1303, 913, 917, 918, 918, 918, 913, 1302, 1301,
1502 920, 918, 918, 918, 1300, 1040, 923, 923, 923, 1298,
1503 924, 1295, 920, 925, 927, 927, 927, 1294, 1293, 920,
1504 927, 927, 927, 1291, 1290, 1046, 927, 927, 927, 1289,
1506 1049, 1288, 929, 1056, 1056, 1056, 1284, 1275, 929, 745,
1507 745, 745, 1269, 1267, 929, 957, 957, 957, 966, 966,
1508 966, 1057, 1058, 773, 773, 773, 1266, 747, 1050, 1082,
1509 1082, 1082, 958, 1083, 1265, 967, 1084, 1258, 963, 963,
1510 963, 775, 964, 1251, 1249, 965, 1089, 1089, 1089, 1246,
1511 1090, 1242, 1241, 1091, 1053, 968, 968, 968, 1240, 969,
1512 1221, 1220, 970, 787, 787, 787, 975, 975, 975, 1213,
1513 1087, 1210, 1063, 1096, 1096, 1096, 1209, 1097, 1208, 1195,
1514 1098, 789, 1193, 976, 1099, 1099, 1099, 795, 795, 795,
1515 980, 980, 980, 1111, 1111, 1111, 1113, 1113, 1113, 1192,
1517 1190, 1100, 821, 821, 821, 797, 1189, 1188, 981, 1185,
1518 1112, 1093, 1184, 1114, 1118, 1118, 1118, 1069, 1069, 1069,
1519 823, 1969, 1969, 1969, 1179, 996, 996, 996, 1178, 997,
1520 1177, 1119, 998, 1176, 1101, 1121, 1121, 1121, 1969, 1175,
1521 1115, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1522 1174, 1173, 1122, 1969, 1969, 1969, 1172, 1171, 1969, 1169,
1523 1168, 1969, 1167, 1057, 1969, 1117, 1160, 840, 840, 840,
1524 1969, 1155, 847, 847, 847, 1132, 1132, 1132, 858, 858,
1525 858, 867, 867, 867, 1120, 842, 1042, 1042, 1042, 1124,
1526 849, 1153, 1133, 1011, 1011, 1011, 860, 1012, 1152, 869,
1528 1013, 1148, 1146, 1043, 1125, 1014, 1014, 1014, 1123, 1015,
1529 1145, 1143, 1016, 1141, 1020, 1020, 1020, 1140, 1021, 1134,
1530 1126, 1022, 1139, 1025, 1025, 1025, 1136, 1026, 1131, 1127,
1531 1027, 1130, 1135, 1129, 1116, 1128, 879, 879, 879, 887,
1532 887, 887, 1110, 1109, 1137, 1032, 1032, 1032, 1108, 1033,
1533 1107, 1104, 1034, 1103, 881, 1102, 1095, 889, 1037, 1037,
1534 1037, 1092, 1038, 1088, 1086, 1039, 897, 897, 897, 1149,
1535 1149, 1149, 1085, 1150, 1081, 1080, 1151, 905, 905, 905,
1536 1156, 1156, 1156, 1079, 899, 911, 911, 911, 918, 918,
1537 918, 1078, 1077, 1144, 1142, 907, 1076, 1157, 1161, 1161,
1539 1161, 1075, 1073, 913, 1072, 1068, 920, 927, 927, 927,
1540 1067, 1147, 1056, 1056, 1056, 1162, 1066, 745, 745, 745,
1541 1070, 1070, 1070, 1065, 1154, 929, 1074, 1074, 1074, 1064,
1542 1057, 1180, 1180, 1180, 1062, 747, 1061, 1060, 1159, 1182,
1543 1182, 1182, 1186, 1186, 1186, 1059, 1082, 1082, 1082, 1158,
1544 1083, 1052, 1051, 1084, 773, 773, 773, 1048, 1089, 1089,
1545 1089, 1165, 1090, 1047, 1045, 1091, 1163, 1170, 1044, 787,
1546 787, 787, 775, 1094, 1094, 1094, 1041, 1166, 1096, 1096,
1547 1096, 1036, 1097, 1183, 1035, 1098, 1187, 789, 1099, 1099,
1548 1099, 1030, 1181, 1204, 1204, 1204, 1028, 1205, 1024, 1023,
1550 1206, 1019, 1017, 1191, 1009, 1100, 795, 795, 795, 1105,
1551 1105, 1105, 1106, 1106, 1106, 1211, 1211, 1211, 1211, 1211,
1552 1211, 1180, 1180, 1180, 797, 1008, 1007, 1194, 1111, 1111,
1553 1111, 1214, 1214, 1214, 1006, 1215, 1003, 1002, 1216, 1113,
1554 1113, 1113, 1217, 1217, 1217, 1112, 1218, 1001, 1000, 1219,
1555 1222, 1222, 1222, 999, 995, 1207, 1114, 1118, 1118, 1118,
1556 1224, 1224, 1224, 994, 1225, 992, 991, 1226, 1223, 1227,
1557 1227, 1227, 990, 989, 1119, 988, 1212, 987, 986, 1181,
1558 985, 984, 1212, 1121, 1121, 1121, 1228, 1229, 1229, 1229,
1559 983, 1230, 982, 979, 1231, 1232, 1232, 1232, 977, 974,
1561 1122, 1969, 1969, 1969, 1969, 1969, 1969, 1236, 1236, 1236,
1562 971, 962, 1233, 840, 840, 840, 960, 955, 1969, 954,
1563 953, 1969, 952, 951, 1237, 847, 847, 847, 1132, 1132,
1564 1132, 842, 1243, 1243, 1243, 950, 1244, 947, 946, 1245,
1565 1247, 1247, 1247, 849, 945, 1133, 867, 867, 867, 1252,
1566 1252, 1252, 1254, 1254, 1254, 1235, 1234, 944, 1248, 943,
1567 1969, 1969, 1969, 942, 869, 941, 1253, 940, 938, 1255,
1568 879, 879, 879, 937, 1239, 936, 1238, 1969, 887, 887,
1569 887, 1260, 1260, 1260, 1262, 1262, 1262, 935, 881, 897,
1570 897, 897, 905, 905, 905, 1250, 889, 934, 1261, 933,
1572 932, 1263, 1149, 1149, 1149, 732, 1150, 899, 926, 1151,
1573 907, 922, 910, 1256, 1156, 1156, 1156, 1270, 1270, 1270,
1574 909, 1271, 1259, 904, 1272, 911, 911, 911, 1161, 1161,
1575 1161, 1157, 903, 902, 1257, 918, 918, 918, 1279, 1279,
1576 1279, 1268, 901, 913, 883, 1162, 871, 857, 1276, 1276,
1577 1276, 1264, 1277, 920, 856, 1278, 1280, 1285, 1285, 1285,
1578 745, 745, 745, 1292, 1292, 1292, 1296, 1296, 1296, 1180,
1579 1180, 1180, 855, 851, 1286, 1297, 1297, 1297, 747, 839,
1580 838, 1273, 1182, 1182, 1182, 1299, 1299, 1299, 1274, 1186,
1581 1186, 1186, 1305, 1305, 1305, 787, 787, 787, 1310, 1310,
1583 1310, 1204, 1204, 1204, 837, 1205, 836, 835, 1206, 820,
1584 1306, 819, 818, 789, 814, 1311, 813, 812, 1287, 795,
1585 795, 795, 1323, 1323, 1323, 1211, 1211, 1211, 1327, 1327,
1586 1327, 1214, 1214, 1214, 811, 1215, 810, 797, 1216, 1324,
1587 1217, 1217, 1217, 809, 1218, 808, 802, 1219, 1332, 1332,
1588 1332, 1309, 1222, 1222, 1222, 1224, 1224, 1224, 794, 1225,
1589 793, 792, 1226, 1322, 791, 1333, 1227, 1227, 1227, 786,
1590 1223, 1334, 1334, 1334, 783, 1335, 777, 772, 1336, 771,
1591 1229, 1229, 1229, 1228, 1230, 767, 766, 1231, 1232, 1232,
1592 1232, 1337, 1337, 1337, 765, 1338, 764, 762, 1339, 1340,
1594 1340, 1340, 1969, 1969, 1969, 1233, 1236, 1236, 1236, 761,
1595 1343, 1343, 1343, 760, 1344, 759, 1341, 1345, 758, 1969,
1596 840, 840, 840, 1237, 847, 847, 847, 1349, 1349, 1349,
1597 1243, 1243, 1243, 757, 1244, 756, 755, 1245, 842, 1247,
1598 1247, 1247, 849, 754, 1350, 753, 1342, 1357, 1357, 1357,
1599 1252, 1252, 1252, 752, 1360, 1360, 1360, 1248, 1361, 751,
1600 744, 1362, 1254, 1254, 1254, 1358, 743, 1253, 742, 1346,
1601 741, 1351, 740, 1363, 1363, 1363, 739, 1364, 738, 1255,
1602 1365, 879, 879, 879, 735, 1347, 887, 887, 887, 1260,
1603 1260, 1260, 733, 1370, 1370, 1370, 732, 1371, 730, 881,
1605 1372, 1262, 1262, 1262, 889, 728, 1261, 1373, 1373, 1373,
1606 724, 1374, 720, 718, 1375, 1384, 1384, 1384, 1263, 897,
1607 897, 897, 905, 905, 905, 1270, 1270, 1270, 717, 1271,
1608 716, 714, 1272, 1369, 911, 911, 911, 899, 713, 712,
1609 907, 918, 918, 918, 1367, 711, 1276, 1276, 1276, 710,
1610 1277, 708, 913, 1278, 1279, 1279, 1279, 707, 706, 920,
1611 1285, 1285, 1285, 1389, 1389, 1389, 705, 1390, 701, 700,
1612 1391, 698, 1280, 745, 745, 745, 697, 1286, 1393, 1393,
1613 1393, 1376, 696, 1382, 1380, 1396, 1396, 1396, 1292, 1292,
1614 1292, 747, 1383, 1399, 1399, 1399, 1296, 1296, 1296, 1297,
1616 1297, 1297, 1299, 1299, 1299, 1401, 1401, 1401, 1403, 1403,
1617 1403, 1305, 1305, 1305, 1408, 1408, 1408, 695, 1310, 1310,
1618 1310, 1410, 1410, 1410, 694, 1411, 693, 691, 1412, 1306,
1619 690, 689, 1409, 688, 1392, 1311, 795, 795, 795, 1323,
1620 1323, 1323, 1424, 1424, 1424, 686, 1425, 685, 684, 1426,
1621 1427, 1427, 1427, 681, 797, 680, 1324, 1327, 1327, 1327,
1622 1332, 1332, 1332, 1435, 1435, 1435, 676, 1436, 674, 673,
1623 1437, 1334, 1334, 1334, 672, 1335, 671, 1333, 1336, 670,
1624 1337, 1337, 1337, 1423, 1338, 669, 664, 1339, 1340, 1340,
1625 1340, 1438, 1438, 1438, 663, 1439, 661, 660, 1440, 1969,
1627 1969, 1969, 1343, 1343, 1343, 1341, 1344, 659, 656, 1345,
1628 840, 840, 840, 1443, 1443, 1443, 1969, 1349, 1349, 1349,
1629 1446, 1446, 1446, 653, 1447, 651, 650, 1448, 842, 649,
1630 648, 1444, 647, 645, 1350, 1357, 1357, 1357, 1360, 1360,
1631 1360, 642, 1361, 640, 639, 1362, 638, 1363, 1363, 1363,
1632 636, 1364, 634, 1358, 1365, 879, 879, 879, 1441, 887,
1633 887, 887, 1370, 1370, 1370, 633, 1371, 632, 631, 1372,
1634 628, 1442, 627, 881, 1373, 1373, 1373, 889, 1374, 626,
1635 623, 1375, 897, 897, 897, 1463, 1463, 1463, 905, 905,
1636 905, 911, 911, 911, 1470, 1470, 1470, 1384, 1384, 1384,
1638 899, 620, 1464, 618, 1459, 616, 907, 614, 609, 913,
1639 608, 605, 1471, 1472, 1472, 1472, 1462, 1475, 1475, 1475,
1640 604, 603, 1461, 1389, 1389, 1389, 602, 1390, 600, 599,
1641 1391, 732, 598, 745, 745, 745, 1393, 1393, 1393, 1477,
1642 1477, 1477, 1396, 1396, 1396, 1479, 1479, 1479, 1469, 597,
1643 1467, 747, 1480, 1480, 1480, 1399, 1399, 1399, 1401, 1401,
1644 1401, 1403, 1403, 1403, 1484, 1484, 1484, 1408, 1408, 1408,
1645 1410, 1410, 1410, 596, 1411, 595, 590, 1412, 795, 795,
1646 795, 1485, 1427, 1427, 1427, 1409, 1424, 1424, 1424, 1476,
1647 1425, 587, 589, 1426, 584, 583, 797, 1435, 1435, 1435,
1649 581, 1436, 463, 578, 1437, 1438, 1438, 1438, 576, 1439,
1650 574, 572, 1440, 1969, 1969, 1969, 1506, 1506, 1506, 1443,
1651 1443, 1443, 1508, 1508, 1508, 1446, 1446, 1446, 1969, 1447,
1652 1969, 569, 1448, 568, 1507, 567, 1497, 1444, 566, 1509,
1653 1519, 1519, 1519, 1521, 1521, 1521, 1523, 1523, 1523, 887,
1654 887, 887, 897, 897, 897, 1463, 1463, 1463, 1527, 1527,
1655 1527, 1522, 1528, 1524, 564, 1529, 1510, 889, 563, 562,
1656 899, 1505, 1464, 1530, 1530, 1530, 1533, 1533, 1533, 1535,
1657 1535, 1535, 911, 911, 911, 1470, 1470, 1470, 561, 560,
1658 1531, 1472, 1472, 1472, 1534, 1475, 1475, 1475, 558, 556,
1660 913, 555, 553, 1471, 552, 549, 1525, 548, 546, 732,
1661 1526, 1540, 1540, 1540, 1477, 1477, 1477, 1479, 1479, 1479,
1662 1480, 1480, 1480, 1484, 1484, 1484, 1546, 1546, 1546, 1541,
1663 1547, 461, 1969, 1548, 795, 795, 795, 1565, 1565, 1565,
1664 1485, 1969, 1969, 1969, 541, 1536, 1506, 1506, 1506, 539,
1665 1537, 535, 797, 534, 1566, 1508, 1508, 1508, 1969, 1568,
1666 1568, 1568, 533, 1569, 1507, 531, 1570, 1576, 1576, 1576,
1667 529, 527, 1509, 1578, 1578, 1578, 1519, 1519, 1519, 523,
1668 1580, 1580, 1580, 520, 1577, 1521, 1521, 1521, 519, 515,
1669 1579, 1560, 1523, 1523, 1523, 513, 1567, 1581, 1582, 1582,
1671 1582, 512, 1583, 1522, 511, 1584, 1585, 1585, 1585, 1524,
1672 897, 897, 897, 1527, 1527, 1527, 510, 1528, 509, 507,
1673 1529, 1530, 1530, 1530, 1586, 1588, 1588, 1588, 899, 1589,
1674 1969, 466, 1590, 1591, 1591, 1591, 502, 497, 1531, 1533,
1675 1533, 1533, 1535, 1535, 1535, 1593, 1593, 1593, 496, 494,
1676 1592, 1540, 1540, 1540, 1601, 1601, 1601, 1534, 1546, 1546,
1677 1546, 492, 1547, 1594, 491, 1548, 795, 795, 795, 1541,
1678 490, 1602, 488, 485, 1587, 1565, 1565, 1565, 1621, 1621,
1679 1621, 481, 1622, 480, 797, 1623, 1969, 1969, 1969, 1568,
1680 1568, 1568, 1566, 1569, 478, 477, 1570, 1576, 1576, 1576,
1682 1628, 1628, 1628, 1969, 1629, 474, 473, 1630, 1578, 1578,
1683 1578, 1631, 1631, 1631, 1577, 1632, 472, 470, 1633, 1580,
1684 1580, 1580, 469, 1618, 1969, 1579, 1634, 1634, 1634, 465,
1685 1635, 454, 452, 1636, 450, 444, 1581, 443, 444, 1624,
1686 1582, 1582, 1582, 443, 1583, 442, 441, 1584, 1585, 1585,
1687 1585, 897, 897, 897, 1588, 1588, 1588, 1969, 1589, 1969,
1688 1969, 1590, 1591, 1591, 1591, 1969, 1586, 1969, 1969, 899,
1689 1644, 1644, 1644, 1969, 1645, 1969, 1969, 1646, 1969, 1592,
1690 1593, 1593, 1593, 1650, 1650, 1650, 1601, 1601, 1601, 1653,
1691 1653, 1653, 1969, 1654, 1969, 1969, 1655, 1969, 1594, 795,
1693 795, 795, 1969, 1602, 1670, 1670, 1670, 1671, 1671, 1671,
1694 1969, 1621, 1621, 1621, 1643, 1622, 1969, 797, 1623, 1969,
1695 1969, 1969, 1969, 1969, 1672, 1676, 1676, 1676, 1628, 1628,
1696 1628, 1969, 1629, 1969, 1969, 1630, 1969, 1631, 1631, 1631,
1697 1969, 1632, 1677, 1969, 1633, 1634, 1634, 1634, 1669, 1635,
1698 1969, 1673, 1636, 897, 897, 897, 1644, 1644, 1644, 1969,
1699 1645, 1969, 1969, 1646, 1969, 1969, 1674, 1696, 1696, 1696,
1700 1969, 899, 1650, 1650, 1650, 1653, 1653, 1653, 1969, 1654,
1701 1969, 1969, 1655, 1969, 1697, 1057, 1704, 1704, 1704, 795,
1702 795, 795, 1670, 1670, 1670, 1671, 1671, 1671, 1969, 1969,
1704 1969, 1969, 1693, 1705, 1715, 1715, 1715, 797, 1716, 1969,
1705 1969, 1717, 1672, 1969, 1969, 1969, 1676, 1676, 1676, 1721,
1706 1721, 1721, 1969, 1722, 1969, 1969, 1723, 1739, 1739, 1739,
1707 1742, 1742, 1742, 1677, 1969, 1969, 1714, 1696, 1696, 1696,
1708 1969, 1969, 1744, 1744, 1744, 1740, 1745, 1743, 1057, 1746,
1709 1747, 1747, 1747, 1969, 1697, 1057, 1748, 1748, 1748, 1969,
1710 1057, 1704, 1704, 1704, 1969, 1969, 1719, 1753, 1753, 1753,
1711 1969, 1754, 1969, 1969, 1755, 795, 795, 795, 1705, 1715,
1712 1715, 1715, 1969, 1716, 1969, 1969, 1717, 1764, 1764, 1764,
1713 1766, 1766, 1766, 797, 1721, 1721, 1721, 1969, 1722, 1969,
1715 1969, 1723, 1969, 1969, 1765, 1969, 1969, 1767, 1768, 1768,
1716 1768, 1739, 1739, 1739, 1742, 1742, 1742, 1783, 1783, 1783,
1717 1969, 1784, 1969, 1969, 1785, 1769, 1744, 1744, 1744, 1740,
1718 1745, 1743, 1057, 1746, 1969, 1057, 1969, 1969, 1762, 1747,
1719 1747, 1747, 1969, 1969, 1057, 1055, 1055, 1055, 1055, 1055,
1720 1055, 1055, 1055, 1055, 1969, 1969, 1055, 1748, 1748, 1748,
1721 1969, 1055, 1055, 1055, 1057, 1055, 1753, 1753, 1753, 1969,
1722 1754, 1969, 1969, 1755, 1969, 1969, 1969, 1969, 1969, 1969,
1723 1969, 1798, 1798, 1798, 1969, 1764, 1764, 1764, 1055, 1055,
1724 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1799,
1726 1969, 1055, 1765, 1766, 1766, 1766, 1055, 1055, 1055, 1057,
1727 1055, 1801, 1801, 1801, 1969, 1802, 1969, 1969, 1803, 1969,
1728 1767, 1804, 1804, 1804, 1969, 1805, 1969, 1969, 1806, 1768,
1729 1768, 1768, 1969, 1055, 1055, 1807, 1807, 1807, 1969, 1808,
1730 1969, 1969, 1809, 1783, 1783, 1783, 1769, 1784, 1969, 1969,
1731 1785, 1969, 1969, 1798, 1798, 1798, 1844, 1844, 1844, 1969,
1732 1969, 1057, 1055, 1055, 1055, 1055, 1055, 1824, 1055, 1055,
1733 1055, 1799, 1969, 1055, 1057, 1058, 1969, 1969, 1055, 1055,
1734 1055, 1057, 1055, 1801, 1801, 1801, 1969, 1802, 1969, 1969,
1735 1803, 1804, 1804, 1804, 1969, 1805, 1969, 1969, 1806, 1847,
1737 1847, 1847, 1859, 1859, 1859, 1055, 1055, 1055, 1055, 1055,
1738 1055, 1055, 1055, 1055, 1055, 1824, 1848, 1969, 1055, 1969,
1739 732, 1969, 1969, 1055, 1055, 1055, 1057, 1055, 1807, 1807,
1740 1807, 1969, 1808, 1969, 1969, 1809, 1844, 1844, 1844, 1847,
1741 1847, 1847, 1863, 1863, 1863, 1969, 1864, 1969, 1969, 1865,
1742 1055, 1055, 1969, 1969, 1057, 1969, 1848, 1859, 1859, 1859,
1743 1863, 1863, 1863, 1969, 1864, 1969, 1969, 1865, 1933, 1933,
1744 1933, 1969, 1933, 1933, 1933, 732, 1938, 1969, 1969, 1939,
1745 1967, 1967, 1967, 1969, 1969, 1165, 732, 1967, 1967, 1967,
1746 732, 1969, 1876, 1969, 1969, 1969, 1969, 1969, 1968, 1969,
1748 1969, 1969, 1969, 1969, 1969, 1968, 182, 182, 182, 182,
1749 182, 182, 182, 182, 182, 183, 183, 183, 183, 183,
1750 183, 183, 183, 183, 188, 188, 188, 188, 188, 188,
1751 188, 188, 188, 191, 191, 191, 191, 191, 191, 191,
1752 191, 191, 194, 194, 194, 194, 194, 194, 194, 194,
1753 194, 197, 197, 197, 197, 197, 197, 197, 197, 197,
1754 204, 204, 204, 204, 204, 204, 204, 204, 204, 212,
1755 212, 212, 212, 212, 212, 212, 212, 212, 216, 216,
1756 216, 216, 216, 216, 216, 216, 216, 227, 227, 227,
1757 227, 227, 227, 227, 227, 227, 238, 238, 238, 238,
1759 238, 238, 238, 238, 238, 245, 245, 245, 245, 245,
1760 245, 245, 245, 245, 253, 253, 253, 253, 253, 253,
1761 253, 253, 253, 259, 259, 259, 259, 259, 259, 259,
1762 259, 259, 265, 265, 265, 265, 265, 265, 265, 265,
1763 265, 270, 270, 270, 270, 270, 270, 270, 270, 270,
1764 287, 287, 287, 287, 287, 287, 287, 287, 287, 295,
1765 295, 295, 295, 295, 295, 295, 295, 295, 302, 302,
1766 302, 302, 302, 302, 302, 302, 302, 311, 311, 311,
1767 311, 311, 311, 311, 311, 311, 317, 317, 317, 317,
1768 317, 317, 317, 317, 317, 321, 321, 321, 321, 321,
1770 321, 321, 321, 321, 327, 327, 327, 327, 327, 327,
1771 327, 327, 327, 334, 334, 334, 334, 334, 334, 334,
1772 334, 334, 341, 341, 341, 341, 341, 341, 341, 341,
1773 341, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1774 354, 354, 354, 354, 354, 354, 354, 354, 354, 360,
1775 360, 360, 360, 360, 360, 360, 360, 360, 367, 367,
1776 367, 367, 367, 367, 367, 367, 367, 372, 372, 372,
1777 372, 372, 372, 372, 372, 372, 378, 378, 378, 378,
1778 378, 378, 378, 378, 378, 384, 384, 384, 384, 384,
1779 384, 384, 384, 384, 391, 391, 391, 391, 391, 391,
1781 391, 391, 391, 398, 398, 398, 398, 398, 398, 398,
1782 398, 398, 406, 406, 406, 406, 406, 406, 406, 406,
1783 406, 410, 410, 410, 410, 410, 410, 410, 410, 410,
1784 416, 416, 416, 416, 416, 416, 416, 416, 416, 420,
1785 420, 420, 420, 420, 420, 420, 420, 420, 428, 428,
1786 428, 428, 428, 428, 428, 428, 428, 433, 433, 433,
1787 433, 433, 433, 433, 433, 433, 453, 453, 453, 1969,
1788 1969, 1969, 453, 471, 471, 471, 1969, 1969, 1969, 471,
1789 479, 479, 479, 1969, 1969, 1969, 479, 489, 489, 489,
1790 1969, 1969, 1969, 489, 495, 495, 495, 1969, 1969, 1969,
1792 495, 508, 508, 508, 1969, 1969, 1969, 508, 516, 516,
1793 516, 1969, 1969, 1969, 516, 528, 528, 528, 1969, 1969,
1794 1969, 528, 532, 532, 532, 1969, 1969, 1969, 532, 540,
1795 540, 540, 1969, 1969, 1969, 540, 547, 547, 547, 1969,
1796 1969, 1969, 547, 554, 554, 554, 1969, 1969, 1969, 554,
1797 559, 559, 559, 1969, 1969, 1969, 559, 565, 565, 565,
1798 1969, 1969, 1969, 565, 573, 573, 573, 1969, 1969, 1969,
1799 573, 577, 577, 577, 1969, 1969, 1969, 577, 582, 582,
1800 582, 1969, 1969, 1969, 582, 586, 586, 586, 586, 586,
1801 586, 586, 1969, 586, 601, 1969, 1969, 1969, 601, 625,
1803 1969, 1969, 1969, 625, 479, 479, 479, 1969, 1969, 1969,
1804 479, 635, 1969, 1969, 1969, 635, 489, 489, 489, 1969,
1805 1969, 1969, 489, 641, 1969, 1969, 1969, 641, 495, 495,
1806 495, 1969, 1969, 1969, 495, 646, 1969, 1969, 1969, 646,
1807 662, 1969, 1969, 1969, 662, 675, 1969, 1969, 1969, 675,
1808 528, 528, 528, 1969, 1969, 1969, 528, 679, 1969, 1969,
1809 1969, 679, 532, 532, 532, 1969, 1969, 1969, 532, 687,
1810 1969, 1969, 1969, 687, 540, 540, 540, 1969, 1969, 1969,
1811 540, 692, 1969, 1969, 1969, 692, 547, 547, 547, 1969,
1812 1969, 1969, 547, 699, 1969, 1969, 1969, 699, 554, 554,
1814 554, 1969, 1969, 1969, 554, 704, 1969, 1969, 1969, 704,
1815 559, 559, 559, 1969, 1969, 1969, 559, 709, 1969, 1969,
1816 1969, 709, 565, 565, 565, 1969, 1969, 1969, 565, 715,
1817 1969, 1969, 1969, 715, 573, 573, 573, 1969, 1969, 1969,
1818 573, 719, 1969, 1969, 1969, 719, 577, 577, 577, 1969,
1819 1969, 1969, 577, 723, 1969, 1969, 1969, 723, 582, 582,
1820 582, 1969, 1969, 1969, 582, 729, 1969, 1969, 1969, 729,
1821 731, 731, 731, 731, 731, 731, 731, 731, 731, 737,
1822 1969, 1969, 1969, 1969, 737, 453, 453, 453, 1969, 1969,
1823 1969, 453, 746, 746, 746, 746, 1969, 1969, 746, 746,
1825 471, 471, 471, 1969, 1969, 1969, 471, 774, 774, 774,
1826 774, 1969, 1969, 774, 774, 479, 479, 479, 1969, 1969,
1827 1969, 479, 788, 788, 788, 788, 1969, 1969, 788, 788,
1828 489, 489, 489, 1969, 1969, 1969, 489, 796, 796, 796,
1829 796, 1969, 1969, 796, 796, 495, 495, 495, 1969, 1969,
1830 1969, 495, 804, 804, 804, 804, 1969, 1969, 804, 804,
1831 508, 508, 508, 1969, 1969, 1969, 508, 822, 822, 822,
1832 822, 1969, 1969, 822, 822, 516, 516, 516, 1969, 1969,
1833 1969, 516, 841, 841, 841, 841, 1969, 1969, 841, 841,
1834 848, 848, 848, 848, 1969, 1969, 848, 848, 532, 532,
1836 532, 1969, 1969, 1969, 532, 859, 859, 859, 859, 1969,
1837 1969, 859, 859, 540, 540, 540, 540, 1969, 540, 1969,
1838 540, 868, 868, 868, 868, 1969, 1969, 868, 868, 547,
1839 547, 547, 547, 1969, 547, 1969, 547, 880, 880, 880,
1840 880, 1969, 1969, 880, 880, 554, 554, 554, 1969, 1969,
1841 1969, 554, 888, 888, 888, 888, 1969, 1969, 888, 888,
1842 559, 559, 559, 559, 1969, 559, 1969, 559, 898, 898,
1843 898, 898, 1969, 1969, 898, 898, 565, 565, 565, 1969,
1844 1969, 1969, 565, 906, 906, 906, 906, 1969, 1969, 906,
1845 906, 573, 573, 573, 1969, 1969, 1969, 573, 912, 912,
1847 912, 912, 1969, 1969, 912, 912, 919, 919, 919, 919,
1848 1969, 1969, 919, 919, 582, 582, 582, 1969, 1969, 1969,
1849 582, 928, 928, 928, 928, 1969, 1969, 928, 928, 731,
1850 731, 731, 731, 731, 731, 731, 731, 731, 737, 1969,
1851 737, 1969, 1969, 737, 453, 453, 453, 1969, 1969, 1969,
1852 453, 746, 746, 746, 746, 1969, 1969, 746, 746, 471,
1853 471, 471, 471, 1969, 471, 1969, 471, 774, 774, 774,
1854 774, 1969, 1969, 774, 774, 479, 479, 479, 1969, 1969,
1855 1969, 479, 788, 788, 788, 788, 1969, 1969, 788, 788,
1856 489, 489, 489, 1969, 1969, 1969, 489, 796, 796, 796,
1858 796, 1969, 1969, 796, 796, 495, 495, 495, 1969, 1969,
1859 1969, 495, 804, 804, 804, 804, 1969, 1969, 804, 804,
1860 508, 508, 508, 1969, 1969, 1969, 508, 822, 822, 822,
1861 822, 1969, 1969, 822, 822, 516, 516, 516, 1969, 1969,
1862 1969, 516, 841, 841, 841, 841, 1969, 1969, 841, 841,
1863 848, 848, 848, 848, 1969, 1969, 848, 848, 532, 532,
1864 532, 1969, 1969, 1969, 532, 859, 859, 859, 859, 1969,
1865 1969, 859, 859, 540, 540, 540, 1969, 1969, 1969, 540,
1866 868, 868, 868, 868, 1969, 1969, 868, 868, 547, 547,
1867 547, 1969, 1969, 1969, 547, 880, 880, 880, 880, 1969,
1869 1969, 880, 880, 554, 554, 554, 1969, 1969, 1969, 554,
1870 888, 888, 888, 888, 1969, 1969, 888, 888, 559, 559,
1871 559, 1969, 1969, 1969, 559, 898, 898, 898, 898, 1969,
1872 1969, 898, 898, 565, 565, 565, 1969, 1969, 1969, 565,
1873 906, 906, 906, 906, 1969, 1969, 906, 906, 573, 573,
1874 573, 1969, 1969, 1969, 573, 912, 912, 912, 912, 1969,
1875 1969, 912, 912, 919, 919, 919, 919, 1969, 1969, 919,
1876 919, 582, 582, 582, 1969, 1969, 1969, 582, 928, 928,
1877 928, 928, 1969, 1969, 928, 928, 731, 731, 731, 731,
1878 731, 731, 731, 731, 731, 1055, 1055, 1055, 1055, 1055,
1880 1055, 1055, 1055, 1055, 453, 453, 453, 1969, 1969, 1969,
1881 453, 746, 746, 746, 746, 1969, 1969, 746, 746, 471,
1882 471, 471, 1969, 1969, 1969, 471, 774, 774, 774, 774,
1883 1969, 1969, 774, 774, 479, 479, 479, 1969, 1969, 1969,
1884 479, 788, 788, 788, 788, 1969, 1969, 788, 788, 489,
1885 489, 489, 1969, 1969, 1969, 489, 796, 796, 796, 796,
1886 1969, 1969, 796, 796, 495, 495, 495, 1969, 1969, 1969,
1887 495, 508, 508, 508, 1969, 1969, 1969, 508, 822, 822,
1888 822, 822, 1969, 1969, 822, 822, 516, 516, 516, 516,
1889 1969, 516, 1969, 516, 841, 841, 841, 841, 1969, 1969,
1891 841, 841, 848, 848, 848, 848, 1969, 1969, 848, 848,
1892 532, 532, 532, 1969, 1969, 1969, 532, 859, 859, 859,
1893 859, 1969, 1969, 859, 859, 540, 540, 540, 1969, 1969,
1894 1969, 540, 868, 868, 868, 868, 1969, 1969, 868, 868,
1895 547, 547, 547, 1969, 1969, 1969, 547, 880, 880, 880,
1896 880, 1969, 1969, 880, 880, 554, 554, 554, 1969, 1969,
1897 1969, 554, 888, 888, 888, 888, 1969, 1969, 888, 888,
1898 559, 559, 559, 1969, 1969, 1969, 559, 898, 898, 898,
1899 898, 1969, 1969, 898, 898, 565, 565, 565, 1969, 1969,
1900 1969, 565, 906, 906, 906, 906, 1969, 1969, 906, 906,
1902 573, 573, 573, 573, 1969, 573, 1969, 573, 912, 912,
1903 912, 912, 1969, 1969, 912, 912, 919, 919, 919, 919,
1904 1969, 1969, 919, 919, 582, 582, 582, 582, 1969, 582,
1905 1969, 582, 928, 928, 928, 928, 1969, 1969, 928, 928,
1906 731, 731, 731, 731, 731, 731, 731, 731, 731, 1055,
1907 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 453, 453,
1908 453, 1969, 1969, 1969, 453, 746, 746, 746, 746, 1969,
1909 1969, 746, 746, 471, 471, 471, 1969, 1969, 1969, 471,
1910 774, 774, 774, 774, 1969, 1969, 774, 774, 479, 479,
1911 479, 1969, 1969, 1969, 479, 788, 788, 788, 788, 1969,
1913 1969, 788, 788, 489, 489, 489, 1969, 1969, 1969, 489,
1914 796, 796, 796, 796, 1969, 1969, 796, 796, 495, 495,
1915 495, 1969, 1969, 1969, 495, 508, 508, 508, 1969, 1969,
1916 1969, 508, 822, 822, 822, 822, 1969, 1969, 822, 822,
1917 516, 516, 516, 516, 1969, 516, 1969, 516, 841, 841,
1918 841, 841, 1969, 1969, 841, 841, 848, 848, 848, 848,
1919 1969, 1969, 848, 848, 532, 532, 532, 1969, 1969, 1969,
1920 532, 859, 859, 859, 859, 1969, 1969, 859, 859, 540,
1921 540, 540, 1969, 1969, 1969, 540, 868, 868, 868, 868,
1922 1969, 1969, 868, 868, 547, 547, 547, 547, 1969, 547,
1924 1969, 547, 880, 880, 880, 880, 1969, 1969, 880, 880,
1925 554, 554, 554, 1969, 1969, 1969, 554, 888, 888, 888,
1926 888, 1969, 1969, 888, 888, 559, 559, 559, 559, 1969,
1927 559, 1969, 559, 898, 898, 898, 898, 1969, 1969, 898,
1928 898, 565, 565, 565, 1969, 1969, 1969, 565, 906, 906,
1929 906, 906, 1969, 1969, 906, 906, 912, 912, 912, 912,
1930 1969, 1969, 912, 912, 919, 919, 919, 919, 1969, 1969,
1931 919, 919, 928, 928, 928, 928, 1969, 1969, 928, 928,
1932 731, 731, 731, 731, 731, 731, 731, 731, 731, 1055,
1933 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 453, 453,
1935 453, 453, 1969, 453, 1969, 453, 746, 746, 746, 746,
1936 1969, 1969, 746, 746, 471, 471, 471, 1969, 1969, 1969,
1937 471, 774, 774, 774, 774, 1969, 1969, 774, 774, 479,
1938 479, 479, 1969, 1969, 1969, 479, 788, 788, 788, 788,
1939 1969, 1969, 788, 788, 489, 489, 489, 489, 1969, 489,
1940 1969, 489, 796, 796, 796, 796, 1969, 1969, 796, 796,
1941 495, 495, 495, 495, 1969, 495, 1969, 495, 508, 508,
1942 508, 1969, 1969, 1969, 508, 516, 516, 516, 516, 1969,
1943 516, 1969, 516, 841, 841, 841, 841, 1969, 1969, 841,
1944 841, 848, 848, 848, 848, 1969, 1969, 848, 848, 532,
1946 532, 532, 1969, 1969, 1969, 532, 540, 540, 540, 1969,
1947 1969, 1969, 540, 868, 868, 868, 868, 1969, 1969, 868,
1948 868, 547, 547, 547, 1969, 1969, 1969, 547, 880, 880,
1949 880, 880, 1969, 1969, 880, 880, 554, 554, 554, 1969,
1950 1969, 1969, 554, 888, 888, 888, 888, 1969, 1969, 888,
1951 888, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786,
1952 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1819,
1953 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1822, 1822,
1954 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1841, 1841, 1841,
1955 1841, 1841, 1841, 1841, 1841, 1841, 1843, 1843, 1843, 1843,
1957 1843, 1843, 1843, 1843, 1843, 181, 1969, 1969, 1969, 1969,
1958 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1959 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1960 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1961 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1962 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1963 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
1964 1969, 1969, 1969, 1969, 1969, 1969
1967 static yyconst flex_int16_t yy_chk[7177] =
1969 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1970 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1971 4, 10, 0, 5, 247, 9, 6, 437, 10, 7,
1972 8, 8, 8, 186, 11, 13, 13, 12, 14, 14,
1973 13, 13, 437, 14, 14, 187, 8, 17, 17, 186,
1974 13, 15, 15, 14, 15, 190, 15, 16, 16, 462,
1975 16, 187, 16, 18, 18, 462, 15, 19, 19, 19,
1976 281, 190, 16, 247, 20, 20, 20, 23, 23, 23,
1977 24, 24, 24, 19, 25, 25, 25, 243, 208, 17,
1978 20, 243, 248, 23, 1386, 243, 24, 184, 184, 184,
1980 25, 185, 185, 185, 208, 18, 21, 21, 21, 21,
1981 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1982 21, 281, 21, 21, 21, 21, 21, 26, 26, 26,
1983 27, 27, 27, 275, 1386, 28, 28, 28, 29, 29,
1984 29, 248, 275, 26, 208, 283, 27, 283, 213, 21,
1985 21, 28, 249, 1495, 29, 30, 30, 30, 189, 189,
1986 189, 210, 210, 210, 213, 217, 217, 217, 225, 225,
1987 225, 30, 21, 22, 22, 22, 22, 22, 22, 22,
1988 22, 22, 22, 22, 22, 22, 22, 22, 305, 22,
1989 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1991 333, 249, 33, 33, 33, 34, 34, 34, 305, 273,
1992 31, 333, 308, 32, 297, 308, 22, 22, 33, 273,
1993 228, 34, 35, 35, 35, 36, 36, 36, 37, 37,
1994 37, 38, 38, 38, 1496, 221, 228, 277, 35, 22,
1995 424, 36, 424, 475, 37, 273, 273, 38, 39, 39,
1996 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1997 39, 39, 39, 297, 39, 39, 39, 39, 39, 45,
1998 45, 45, 221, 277, 46, 46, 46, 475, 47, 47,
1999 47, 1498, 41, 41, 221, 45, 278, 41, 42, 42,
2000 46, 39, 39, 42, 47, 298, 278, 41, 446, 39,
2002 345, 446, 39, 42, 236, 236, 236, 345, 39, 40,
2003 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2004 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2005 42, 48, 48, 48, 49, 49, 49, 1166, 50, 50,
2006 50, 51, 51, 51, 298, 239, 254, 48, 233, 261,
2007 49, 266, 40, 40, 50, 233, 261, 51, 1165, 336,
2008 40, 239, 254, 40, 233, 261, 200, 266, 1166, 40,
2009 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2010 43, 43, 43, 43, 43, 279, 43, 43, 43, 43,
2011 43, 52, 52, 52, 55, 55, 55, 1165, 1499, 56,
2013 56, 56, 59, 59, 59, 310, 200, 52, 336, 288,
2014 55, 279, 200, 43, 43, 56, 200, 310, 59, 463,
2015 337, 200, 43, 1500, 43, 288, 279, 43, 246, 246,
2016 246, 1502, 463, 43, 44, 44, 44, 44, 44, 44,
2017 44, 44, 44, 44, 44, 44, 44, 44, 44, 220,
2018 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2019 61, 402, 1510, 62, 62, 62, 63, 63, 63, 337,
2020 1511, 60, 664, 303, 61, 402, 220, 44, 44, 62,
2021 313, 664, 63, 251, 251, 251, 44, 313, 44, 303,
2022 400, 44, 220, 260, 260, 260, 313, 44, 53, 53,
2024 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2025 53, 53, 53, 363, 53, 53, 53, 53, 53, 64,
2026 64, 64, 65, 65, 65, 400, 359, 66, 66, 66,
2027 67, 67, 67, 359, 459, 64, 318, 459, 65, 400,
2028 1198, 53, 53, 66, 328, 342, 67, 1198, 53, 263,
2029 263, 263, 318, 53, 271, 271, 271, 387, 363, 280,
2030 328, 342, 53, 54, 54, 54, 54, 54, 54, 54,
2031 54, 54, 54, 54, 54, 54, 54, 54, 503, 54,
2032 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2033 1512, 503, 70, 70, 70, 71, 71, 71, 1513, 469,
2035 68, 280, 387, 69, 280, 469, 54, 54, 70, 465,
2036 280, 71, 465, 54, 285, 285, 285, 1515, 54, 296,
2037 296, 296, 300, 300, 300, 348, 1282, 54, 57, 57,
2038 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2039 57, 57, 57, 505, 57, 57, 57, 57, 57, 72,
2040 72, 72, 73, 73, 73, 1282, 505, 74, 74, 74,
2041 75, 75, 75, 467, 355, 72, 467, 588, 73, 487,
2042 348, 57, 57, 74, 348, 487, 75, 312, 312, 312,
2043 355, 588, 57, 315, 315, 315, 322, 322, 322, 1283,
2044 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2046 58, 58, 58, 58, 58, 58, 506, 58, 58, 58,
2047 58, 58, 76, 76, 76, 77, 77, 77, 1164, 506,
2048 78, 78, 78, 79, 79, 79, 734, 368, 76, 1054,
2049 734, 77, 1283, 1164, 58, 58, 78, 931, 379, 79,
2050 80, 80, 80, 368, 392, 58, 81, 81, 81, 82,
2051 82, 82, 1054, 58, 379, 931, 80, 83, 83, 83,
2052 392, 1542, 81, 1543, 407, 82, 84, 84, 84, 85,
2053 85, 85, 1544, 83, 86, 86, 86, 87, 87, 87,
2054 407, 1547, 84, 1549, 323, 85, 88, 88, 88, 758,
2055 86, 323, 1547, 87, 325, 325, 325, 335, 335, 335,
2057 323, 758, 88, 89, 89, 89, 89, 89, 89, 89,
2058 89, 89, 89, 89, 89, 89, 89, 89, 580, 89,
2059 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2060 766, 580, 93, 93, 93, 94, 94, 94, 791, 417,
2061 91, 1387, 766, 92, 1550, 429, 89, 89, 93, 89,
2062 791, 94, 95, 95, 95, 417, 1281, 89, 339, 339,
2063 339, 429, 1281, 89, 1551, 1552, 89, 1473, 95, 89,
2064 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2065 90, 90, 90, 90, 90, 1387, 90, 90, 90, 90,
2066 90, 96, 96, 96, 97, 97, 97, 1473, 1202, 98,
2068 98, 98, 101, 101, 101, 1202, 1329, 96, 1553, 1554,
2069 97, 1330, 1329, 90, 90, 98, 90, 1330, 101, 102,
2070 102, 102, 1353, 1354, 90, 347, 347, 347, 1353, 1354,
2071 90, 1555, 1539, 90, 1556, 102, 90, 99, 99, 99,
2072 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2073 99, 99, 1537, 99, 99, 99, 99, 99, 105, 105,
2074 105, 106, 106, 106, 1548, 1557, 109, 109, 109, 110,
2075 110, 110, 1539, 1558, 105, 1548, 374, 106, 1559, 1561,
2076 99, 99, 109, 374, 99, 110, 352, 352, 352, 1537,
2077 1562, 99, 374, 99, 361, 361, 361, 99, 1571, 99,
2079 99, 100, 100, 100, 100, 100, 100, 100, 100, 100,
2080 100, 100, 100, 100, 100, 100, 1572, 100, 100, 100,
2081 100, 100, 111, 111, 111, 112, 112, 112, 1573, 1583,
2082 113, 113, 113, 114, 114, 114, 1599, 1583, 111, 1600,
2083 412, 112, 1603, 1583, 100, 100, 113, 412, 100, 114,
2084 365, 365, 365, 1595, 1604, 100, 412, 100, 373, 373,
2085 373, 100, 1605, 100, 100, 103, 103, 103, 103, 103,
2086 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2087 1595, 103, 103, 103, 103, 103, 115, 115, 115, 116,
2088 116, 116, 1606, 1584, 119, 119, 119, 120, 120, 120,
2090 1474, 1584, 115, 1607, 1608, 116, 1609, 1584, 103, 103,
2091 119, 1610, 1538, 120, 376, 376, 376, 1596, 1611, 103,
2092 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2093 104, 104, 104, 104, 104, 1474, 104, 104, 104, 104,
2094 104, 121, 121, 121, 122, 122, 122, 1538, 1613, 123,
2095 123, 123, 124, 124, 124, 1614, 1596, 121, 1615, 1616,
2096 122, 1625, 1627, 104, 104, 123, 1637, 1638, 124, 385,
2097 385, 385, 1597, 1639, 104, 107, 107, 107, 107, 107,
2098 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2099 1640, 107, 107, 107, 107, 107, 125, 125, 125, 126,
2101 126, 126, 1641, 1632, 129, 129, 129, 130, 130, 130,
2102 1642, 1597, 125, 1632, 435, 126, 1651, 1633, 107, 107,
2103 129, 435, 107, 130, 389, 389, 389, 1633, 1652, 107,
2104 435, 107, 399, 399, 399, 404, 404, 404, 107, 108,
2105 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2106 108, 108, 108, 108, 1656, 108, 108, 108, 108, 108,
2107 131, 131, 131, 132, 132, 132, 1657, 1635, 133, 133,
2108 133, 134, 134, 134, 1658, 1636, 131, 1635, 1659, 132,
2109 1661, 1662, 108, 108, 133, 1636, 108, 134, 411, 411,
2110 411, 1663, 1664, 108, 1647, 108, 414, 414, 414, 421,
2112 421, 421, 108, 117, 117, 117, 117, 117, 117, 117,
2113 117, 117, 117, 117, 117, 117, 117, 117, 1665, 117,
2114 117, 117, 117, 117, 135, 135, 135, 136, 136, 136,
2115 1666, 1667, 139, 139, 139, 140, 140, 140, 1668, 1647,
2116 135, 1673, 1675, 136, 1678, 1679, 117, 117, 139, 1648,
2117 1680, 140, 117, 426, 426, 426, 434, 434, 434, 436,
2118 436, 436, 445, 445, 445, 1681, 117, 118, 118, 118,
2119 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
2120 118, 118, 1648, 118, 118, 118, 118, 118, 143, 143,
2121 143, 144, 144, 144, 1682, 1683, 145, 145, 145, 146,
2123 146, 146, 1684, 1685, 143, 1686, 1687, 144, 1688, 1689,
2124 118, 118, 145, 1690, 1691, 146, 118, 1692, 445, 591,
2125 591, 591, 1700, 591, 603, 603, 603, 616, 616, 616,
2126 118, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2127 127, 127, 127, 127, 127, 127, 1694, 127, 127, 127,
2128 127, 127, 147, 147, 147, 148, 148, 148, 1701, 1702,
2129 149, 149, 149, 150, 150, 150, 1703, 1706, 147, 1707,
2130 1709, 148, 1710, 1711, 127, 127, 149, 1713, 1694, 150,
2131 127, 1097, 1718, 127, 1725, 603, 1097, 1726, 616, 1097,
2132 648, 648, 648, 1097, 127, 128, 128, 128, 128, 128,
2134 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2135 1727, 128, 128, 128, 128, 128, 153, 153, 153, 154,
2136 154, 154, 1728, 1729, 155, 155, 155, 156, 156, 156,
2137 1730, 1731, 153, 1732, 1733, 154, 1734, 1736, 128, 128,
2138 155, 1737, 1749, 156, 128, 1750, 1741, 128, 622, 622,
2139 622, 648, 622, 1751, 1752, 622, 1756, 1757, 128, 137,
2140 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2141 137, 137, 137, 137, 1758, 137, 137, 137, 137, 137,
2142 157, 157, 157, 158, 158, 158, 1741, 1759, 159, 159,
2143 159, 160, 160, 160, 1760, 1761, 157, 1763, 1771, 158,
2145 1773, 1775, 137, 137, 159, 1777, 1778, 160, 137, 749,
2146 749, 749, 1779, 137, 138, 138, 138, 138, 138, 138,
2147 138, 138, 138, 138, 138, 138, 138, 138, 138, 1780,
2148 138, 138, 138, 138, 138, 163, 163, 163, 164, 164,
2149 164, 1781, 1784, 167, 167, 167, 168, 168, 168, 1785,
2150 1788, 163, 1790, 1782, 164, 1793, 1784, 138, 138, 167,
2151 1785, 1794, 168, 138, 653, 653, 653, 1796, 138, 141,
2152 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2153 141, 141, 141, 141, 1797, 141, 141, 141, 141, 141,
2154 169, 169, 169, 170, 170, 170, 1782, 1800, 171, 171,
2156 171, 172, 172, 172, 1821, 1802, 169, 1820, 1820, 170,
2157 1803, 1823, 141, 141, 171, 1802, 1822, 172, 141, 1825,
2158 1803, 141, 630, 630, 630, 653, 630, 1822, 1826, 630,
2159 1818, 1832, 141, 142, 142, 142, 142, 142, 142, 142,
2160 142, 142, 142, 142, 142, 142, 142, 142, 1833, 142,
2161 142, 142, 142, 142, 173, 173, 173, 174, 174, 174,
2162 1819, 1808, 177, 177, 177, 178, 178, 178, 1818, 1809,
2163 173, 1808, 1834, 174, 1819, 1835, 142, 142, 177, 1809,
2164 1837, 178, 142, 272, 1839, 142, 422, 644, 644, 644,
2165 1841, 644, 1842, 272, 644, 1836, 142, 151, 151, 151,
2167 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2168 151, 151, 1836, 151, 151, 151, 151, 151, 1838, 272,
2169 1843, 422, 473, 473, 473, 272, 1845, 1846, 272, 481,
2170 481, 481, 1849, 1850, 272, 1838, 1851, 422, 1852, 473,
2171 151, 151, 496, 496, 496, 1853, 481, 1854, 151, 1855,
2172 151, 1856, 151, 763, 763, 763, 945, 945, 945, 496,
2173 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
2174 152, 152, 152, 152, 152, 152, 1857, 152, 152, 152,
2175 152, 152, 510, 510, 510, 518, 518, 518, 1858, 519,
2176 519, 519, 529, 529, 529, 1098, 534, 534, 534, 510,
2178 1098, 1860, 518, 1098, 152, 152, 519, 1098, 1866, 529,
2179 1867, 1868, 152, 534, 152, 1869, 152, 1870, 946, 946,
2180 946, 949, 949, 949, 152, 161, 161, 161, 161, 161,
2181 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
2182 1871, 161, 161, 161, 161, 161, 556, 556, 556, 578,
2183 578, 578, 1872, 583, 583, 583, 601, 601, 601, 602,
2184 602, 602, 946, 556, 1873, 1874, 578, 1875, 161, 161,
2185 583, 621, 621, 621, 601, 1878, 1879, 602, 658, 658,
2186 658, 1880, 658, 1881, 1876, 658, 1882, 1883, 621, 1884,
2187 1885, 161, 162, 162, 162, 162, 162, 162, 162, 162,
2189 162, 162, 162, 162, 162, 162, 162, 1876, 162, 162,
2190 162, 162, 162, 1886, 602, 625, 625, 625, 1887, 626,
2191 626, 626, 629, 629, 629, 631, 631, 631, 633, 633,
2192 633, 1889, 1888, 625, 1890, 162, 162, 626, 1891, 629,
2193 1892, 1893, 631, 1894, 1895, 633, 666, 666, 666, 1888,
2194 666, 1896, 1897, 666, 973, 973, 973, 1898, 162, 165,
2195 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2196 165, 165, 165, 165, 1900, 165, 165, 165, 165, 165,
2197 626, 635, 635, 635, 1901, 1902, 641, 641, 641, 1903,
2198 636, 636, 636, 642, 642, 642, 984, 984, 984, 635,
2200 1904, 1905, 165, 165, 641, 668, 668, 668, 636, 668,
2201 1906, 642, 668, 165, 166, 166, 166, 166, 166, 166,
2202 166, 166, 166, 166, 166, 166, 166, 166, 166, 1899,
2203 166, 166, 166, 166, 166, 636, 643, 643, 643, 1907,
2204 1908, 646, 646, 646, 657, 657, 657, 1899, 1909, 647,
2205 647, 647, 1911, 643, 642, 1913, 1915, 166, 166, 646,
2206 1910, 657, 985, 985, 985, 1916, 1910, 647, 166, 175,
2207 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
2208 175, 175, 175, 175, 647, 175, 175, 175, 175, 175,
2209 662, 662, 662, 663, 663, 663, 1918, 665, 665, 665,
2211 667, 667, 667, 669, 669, 669, 985, 1919, 662, 1921,
2212 1922, 663, 175, 175, 665, 1923, 1925, 667, 1927, 1929,
2213 669, 1921, 1930, 175, 678, 678, 678, 1931, 678, 1932,
2214 1934, 678, 1019, 1019, 1019, 175, 176, 176, 176, 176,
2215 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2216 176, 663, 176, 176, 176, 176, 176, 675, 675, 675,
2217 676, 676, 676, 1935, 677, 677, 677, 679, 679, 679,
2218 680, 680, 680, 1936, 1937, 675, 1019, 1938, 676, 176,
2219 176, 677, 682, 682, 682, 679, 1965, 1964, 680, 1944,
2220 176, 683, 683, 683, 1950, 683, 1954, 1965, 683, 682,
2222 1939, 1964, 176, 218, 687, 687, 687, 688, 688, 688,
2223 218, 1946, 689, 689, 689, 676, 690, 690, 690, 218,
2224 218, 1938, 687, 1494, 1944, 688, 1954, 1945, 680, 689,
2225 692, 692, 692, 690, 691, 691, 691, 1950, 693, 693,
2226 693, 695, 695, 695, 1939, 218, 218, 218, 692, 1946,
2227 1951, 691, 218, 1948, 1947, 218, 693, 1960, 695, 218,
2228 688, 218, 1945, 218, 696, 696, 696, 697, 697, 697,
2229 698, 698, 698, 699, 699, 699, 700, 700, 700, 1955,
2230 1493, 696, 1492, 691, 697, 1491, 1948, 698, 702, 702,
2231 702, 699, 1947, 1951, 700, 1952, 693, 703, 703, 703,
2233 1490, 703, 1960, 1489, 703, 702, 704, 704, 704, 1955,
2234 1953, 700, 696, 705, 705, 705, 706, 706, 706, 698,
2235 707, 707, 707, 1956, 704, 1949, 696, 708, 708, 708,
2236 1952, 705, 1956, 706, 709, 709, 709, 707, 710, 710,
2237 710, 715, 715, 715, 708, 1953, 716, 716, 716, 719,
2238 719, 719, 709, 720, 720, 720, 710, 1488, 1949, 715,
2239 721, 721, 721, 1487, 716, 1486, 705, 719, 707, 1957,
2240 1958, 720, 722, 722, 722, 1959, 722, 721, 1957, 722,
2241 1483, 1482, 707, 723, 723, 723, 724, 724, 724, 1961,
2242 1481, 726, 726, 726, 1478, 727, 727, 727, 1466, 727,
2244 1958, 723, 727, 1458, 724, 1959, 710, 716, 726, 729,
2245 729, 729, 1456, 1962, 720, 730, 730, 730, 745, 745,
2246 745, 746, 746, 746, 748, 748, 748, 729, 767, 767,
2247 767, 1455, 1454, 730, 1961, 1453, 745, 1452, 1451, 746,
2248 1450, 1449, 748, 1962, 724, 767, 768, 768, 768, 1963,
2249 768, 1434, 1433, 768, 771, 771, 771, 773, 773, 773,
2250 774, 774, 774, 776, 776, 776, 778, 778, 778, 748,
2251 778, 771, 1432, 778, 1431, 773, 730, 1430, 774, 1963,
2252 1429, 776, 781, 781, 781, 782, 782, 782, 1428, 782,
2253 1422, 1421, 782, 783, 783, 783, 784, 784, 784, 781,
2255 785, 785, 785, 1420, 785, 1419, 1418, 785, 776, 1417,
2256 783, 1416, 771, 784, 787, 787, 787, 788, 788, 788,
2257 790, 790, 790, 793, 793, 793, 795, 795, 795, 796,
2258 796, 796, 787, 1415, 1414, 788, 1413, 1407, 790, 1404,
2259 793, 798, 798, 798, 795, 1402, 1400, 796, 799, 799,
2260 799, 1395, 799, 1381, 1379, 799, 803, 803, 803, 798,
2261 804, 804, 804, 806, 806, 806, 815, 815, 815, 1378,
2262 815, 1368, 1366, 815, 803, 1359, 1356, 790, 804, 1355,
2263 1352, 806, 821, 821, 821, 1351, 798, 822, 822, 822,
2264 824, 824, 824, 1348, 827, 827, 827, 1331, 827, 1328,
2266 821, 827, 830, 830, 830, 822, 830, 1326, 824, 830,
2267 833, 833, 833, 834, 834, 834, 1321, 834, 1320, 1319,
2268 834, 840, 840, 840, 841, 841, 841, 833, 843, 843,
2269 843, 844, 844, 844, 1318, 844, 1317, 1316, 844, 840,
2270 1315, 1314, 841, 847, 847, 847, 843, 848, 848, 848,
2271 1313, 1312, 824, 850, 850, 850, 852, 852, 852, 1308,
2272 852, 847, 1307, 852, 1304, 848, 858, 858, 858, 1303,
2273 1301, 850, 859, 859, 859, 861, 861, 861, 862, 862,
2274 862, 863, 863, 863, 858, 863, 1298, 1294, 863, 1293,
2275 859, 1290, 843, 861, 1289, 862, 864, 864, 864, 865,
2277 865, 865, 1284, 865, 1269, 1267, 865, 867, 867, 867,
2278 868, 868, 868, 864, 872, 872, 872, 850, 870, 870,
2279 870, 1266, 873, 873, 873, 867, 873, 1265, 868, 873,
2280 1258, 872, 861, 876, 876, 876, 870, 877, 877, 877,
2281 1256, 877, 1251, 1249, 877, 879, 879, 879, 1246, 1245,
2282 876, 880, 880, 880, 882, 882, 882, 884, 884, 884,
2283 1244, 884, 1242, 879, 884, 887, 887, 887, 1240, 880,
2284 1220, 1219, 882, 888, 888, 888, 890, 890, 890, 891,
2285 891, 891, 870, 887, 1218, 892, 892, 892, 1213, 892,
2286 1210, 888, 892, 1209, 890, 1203, 891, 895, 895, 895,
2288 896, 896, 896, 1201, 896, 1200, 1199, 896, 897, 897,
2289 897, 898, 898, 898, 895, 882, 900, 900, 900, 902,
2290 902, 902, 905, 905, 905, 1197, 897, 1196, 1193, 898,
2291 906, 906, 906, 890, 900, 1192, 902, 908, 908, 908,
2292 905, 911, 911, 911, 912, 912, 912, 1190, 906, 914,
2293 914, 914, 918, 918, 918, 908, 915, 915, 915, 911,
2294 915, 1189, 912, 915, 919, 919, 919, 914, 1188, 1187,
2295 918, 921, 921, 921, 1185, 900, 923, 923, 923, 1183,
2296 923, 1178, 919, 923, 927, 927, 927, 1177, 1176, 921,
2297 928, 928, 928, 1174, 1173, 908, 930, 930, 930, 1172,
2299 914, 1171, 927, 932, 932, 932, 1168, 1160, 928, 939,
2300 939, 939, 1155, 1153, 930, 957, 957, 957, 966, 966,
2301 966, 932, 932, 961, 961, 961, 1152, 939, 921, 958,
2302 958, 958, 957, 958, 1148, 966, 958, 1143, 963, 963,
2303 963, 961, 963, 1138, 1136, 963, 967, 967, 967, 1134,
2304 967, 1131, 1130, 967, 930, 968, 968, 968, 1129, 968,
2305 1116, 1115, 968, 972, 972, 972, 975, 975, 975, 1110,
2306 961, 1104, 939, 976, 976, 976, 1103, 976, 1102, 1095,
2307 976, 972, 1092, 975, 977, 977, 977, 978, 978, 978,
2308 980, 980, 980, 990, 990, 990, 991, 991, 991, 1088,
2310 1086, 977, 993, 993, 993, 978, 1085, 1081, 980, 1079,
2311 990, 972, 1078, 991, 994, 994, 994, 1069, 1069, 1069,
2312 993, 995, 995, 995, 1075, 996, 996, 996, 1073, 996,
2313 1072, 994, 996, 1071, 978, 999, 999, 999, 995, 1068,
2314 991, 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1002,
2315 1067, 1066, 999, 1003, 1003, 1003, 1065, 1064, 1000, 1062,
2316 1061, 1001, 1058, 1055, 1002, 993, 1051, 1004, 1004, 1004,
2317 1003, 1047, 1005, 1005, 1005, 1009, 1009, 1009, 1010, 1010,
2318 1010, 1018, 1018, 1018, 995, 1004, 1042, 1042, 1042, 1001,
2319 1005, 1045, 1009, 1011, 1011, 1011, 1010, 1011, 1044, 1018,
2321 1011, 1041, 1036, 1042, 1002, 1014, 1014, 1014, 1000, 1014,
2322 1035, 1030, 1014, 1028, 1020, 1020, 1020, 1024, 1020, 1009,
2323 1003, 1020, 1023, 1025, 1025, 1025, 1017, 1025, 1008, 1004,
2324 1025, 1007, 1010, 1006, 992, 1005, 1029, 1029, 1029, 1031,
2325 1031, 1031, 989, 988, 1018, 1032, 1032, 1032, 987, 1032,
2326 986, 983, 1032, 982, 1029, 979, 974, 1031, 1037, 1037,
2327 1037, 971, 1037, 962, 960, 1037, 1040, 1040, 1040, 1043,
2328 1043, 1043, 959, 1043, 956, 955, 1043, 1046, 1046, 1046,
2329 1048, 1048, 1048, 954, 1040, 1049, 1049, 1049, 1050, 1050,
2330 1050, 953, 952, 1031, 1029, 1046, 951, 1048, 1052, 1052,
2332 1052, 950, 948, 1049, 947, 944, 1050, 1053, 1053, 1053,
2333 943, 1040, 1056, 1056, 1056, 1052, 942, 1063, 1063, 1063,
2334 1070, 1070, 1070, 941, 1046, 1053, 1074, 1074, 1074, 940,
2335 1056, 1076, 1076, 1076, 938, 1063, 937, 936, 1050, 1077,
2336 1077, 1077, 1080, 1080, 1080, 935, 1082, 1082, 1082, 1049,
2337 1082, 926, 922, 1082, 1087, 1087, 1087, 910, 1089, 1089,
2338 1089, 1056, 1089, 909, 904, 1089, 1053, 1063, 903, 1093,
2339 1093, 1093, 1087, 1094, 1094, 1094, 901, 1056, 1096, 1096,
2340 1096, 894, 1096, 1077, 893, 1096, 1080, 1093, 1099, 1099,
2341 1099, 883, 1076, 1100, 1100, 1100, 878, 1100, 875, 874,
2343 1100, 871, 866, 1087, 857, 1099, 1101, 1101, 1101, 1105,
2344 1105, 1105, 1106, 1106, 1106, 1107, 1107, 1107, 1108, 1108,
2345 1108, 1109, 1109, 1109, 1101, 856, 855, 1093, 1111, 1111,
2346 1111, 1112, 1112, 1112, 851, 1112, 839, 838, 1112, 1113,
2347 1113, 1113, 1114, 1114, 1114, 1111, 1114, 837, 836, 1114,
2348 1117, 1117, 1117, 835, 826, 1101, 1113, 1118, 1118, 1118,
2349 1119, 1119, 1119, 825, 1119, 820, 819, 1119, 1117, 1120,
2350 1120, 1120, 818, 814, 1118, 813, 1107, 812, 811, 1108,
2351 810, 809, 1109, 1121, 1121, 1121, 1120, 1122, 1122, 1122,
2352 808, 1122, 807, 802, 1122, 1123, 1123, 1123, 794, 792,
2354 1121, 1124, 1124, 1124, 1125, 1125, 1125, 1126, 1126, 1126,
2355 786, 777, 1123, 1127, 1127, 1127, 772, 765, 1124, 764,
2356 762, 1125, 761, 760, 1126, 1128, 1128, 1128, 1132, 1132,
2357 1132, 1127, 1133, 1133, 1133, 759, 1133, 757, 756, 1133,
2358 1135, 1135, 1135, 1128, 755, 1132, 1137, 1137, 1137, 1139,
2359 1139, 1139, 1140, 1140, 1140, 1125, 1124, 754, 1135, 753,
2360 1141, 1141, 1141, 752, 1137, 751, 1139, 750, 744, 1140,
2361 1142, 1142, 1142, 743, 1128, 742, 1127, 1141, 1144, 1144,
2362 1144, 1145, 1145, 1145, 1146, 1146, 1146, 739, 1142, 1147,
2363 1147, 1147, 1154, 1154, 1154, 1137, 1144, 738, 1145, 737,
2365 735, 1146, 1149, 1149, 1149, 731, 1149, 1147, 728, 1149,
2366 1154, 725, 718, 1141, 1156, 1156, 1156, 1157, 1157, 1157,
2367 717, 1157, 1144, 714, 1157, 1158, 1158, 1158, 1161, 1161,
2368 1161, 1156, 713, 712, 1142, 1159, 1159, 1159, 1163, 1163,
2369 1163, 1154, 711, 1158, 701, 1161, 694, 686, 1162, 1162,
2370 1162, 1147, 1162, 1159, 685, 1162, 1163, 1169, 1169, 1169,
2371 1170, 1170, 1170, 1175, 1175, 1175, 1179, 1179, 1179, 1180,
2372 1180, 1180, 684, 681, 1169, 1181, 1181, 1181, 1170, 674,
2373 673, 1158, 1182, 1182, 1182, 1184, 1184, 1184, 1159, 1186,
2374 1186, 1186, 1191, 1191, 1191, 1194, 1194, 1194, 1195, 1195,
2376 1195, 1204, 1204, 1204, 672, 1204, 671, 670, 1204, 661,
2377 1191, 660, 659, 1194, 656, 1195, 655, 654, 1170, 1207,
2378 1207, 1207, 1208, 1208, 1208, 1211, 1211, 1211, 1212, 1212,
2379 1212, 1214, 1214, 1214, 652, 1214, 651, 1207, 1214, 1208,
2380 1217, 1217, 1217, 650, 1217, 649, 645, 1217, 1221, 1221,
2381 1221, 1194, 1222, 1222, 1222, 1224, 1224, 1224, 640, 1224,
2382 639, 638, 1224, 1207, 637, 1221, 1227, 1227, 1227, 634,
2383 1222, 1228, 1228, 1228, 632, 1228, 628, 624, 1228, 623,
2384 1229, 1229, 1229, 1227, 1229, 620, 619, 1229, 1232, 1232,
2385 1232, 1233, 1233, 1233, 618, 1233, 617, 615, 1233, 1234,
2387 1234, 1234, 1235, 1235, 1235, 1232, 1236, 1236, 1236, 614,
2388 1237, 1237, 1237, 613, 1237, 612, 1234, 1237, 611, 1235,
2389 1238, 1238, 1238, 1236, 1239, 1239, 1239, 1241, 1241, 1241,
2390 1243, 1243, 1243, 610, 1243, 609, 608, 1243, 1238, 1247,
2391 1247, 1247, 1239, 607, 1241, 606, 1235, 1250, 1250, 1250,
2392 1252, 1252, 1252, 605, 1253, 1253, 1253, 1247, 1253, 604,
2393 600, 1253, 1254, 1254, 1254, 1250, 599, 1252, 597, 1238,
2394 596, 1241, 595, 1255, 1255, 1255, 594, 1255, 593, 1254,
2395 1255, 1257, 1257, 1257, 589, 1239, 1259, 1259, 1259, 1260,
2396 1260, 1260, 587, 1261, 1261, 1261, 586, 1261, 585, 1257,
2398 1261, 1262, 1262, 1262, 1259, 584, 1260, 1263, 1263, 1263,
2399 579, 1263, 575, 574, 1263, 1275, 1275, 1275, 1262, 1264,
2400 1264, 1264, 1268, 1268, 1268, 1270, 1270, 1270, 571, 1270,
2401 570, 569, 1270, 1259, 1273, 1273, 1273, 1264, 568, 567,
2402 1268, 1274, 1274, 1274, 1257, 566, 1276, 1276, 1276, 563,
2403 1276, 562, 1273, 1276, 1279, 1279, 1279, 561, 560, 1274,
2404 1285, 1285, 1285, 1286, 1286, 1286, 557, 1286, 555, 552,
2405 1286, 551, 1279, 1287, 1287, 1287, 550, 1285, 1288, 1288,
2406 1288, 1264, 549, 1273, 1268, 1291, 1291, 1291, 1292, 1292,
2407 1292, 1287, 1274, 1295, 1295, 1295, 1296, 1296, 1296, 1297,
2409 1297, 1297, 1299, 1299, 1299, 1300, 1300, 1300, 1302, 1302,
2410 1302, 1305, 1305, 1305, 1309, 1309, 1309, 548, 1310, 1310,
2411 1310, 1311, 1311, 1311, 545, 1311, 544, 543, 1311, 1305,
2412 542, 541, 1309, 538, 1287, 1310, 1322, 1322, 1322, 1323,
2413 1323, 1323, 1324, 1324, 1324, 537, 1324, 536, 535, 1324,
2414 1325, 1325, 1325, 533, 1322, 530, 1323, 1327, 1327, 1327,
2415 1332, 1332, 1332, 1333, 1333, 1333, 526, 1333, 525, 524,
2416 1333, 1334, 1334, 1334, 523, 1334, 522, 1332, 1334, 521,
2417 1337, 1337, 1337, 1322, 1337, 520, 517, 1337, 1340, 1340,
2418 1340, 1341, 1341, 1341, 514, 1341, 513, 512, 1341, 1342,
2420 1342, 1342, 1343, 1343, 1343, 1340, 1343, 511, 509, 1343,
2421 1346, 1346, 1346, 1347, 1347, 1347, 1342, 1349, 1349, 1349,
2422 1350, 1350, 1350, 504, 1350, 502, 501, 1350, 1346, 500,
2423 499, 1347, 498, 497, 1349, 1357, 1357, 1357, 1360, 1360,
2424 1360, 493, 1360, 492, 491, 1360, 490, 1363, 1363, 1363,
2425 486, 1363, 485, 1357, 1363, 1367, 1367, 1367, 1342, 1369,
2426 1369, 1369, 1370, 1370, 1370, 484, 1370, 483, 482, 1370,
2427 480, 1346, 477, 1367, 1373, 1373, 1373, 1369, 1373, 476,
2428 474, 1373, 1376, 1376, 1376, 1377, 1377, 1377, 1380, 1380,
2429 1380, 1382, 1382, 1382, 1383, 1383, 1383, 1384, 1384, 1384,
2431 1376, 472, 1377, 468, 1367, 466, 1380, 464, 461, 1382,
2432 460, 458, 1383, 1385, 1385, 1385, 1376, 1388, 1388, 1388,
2433 457, 456, 1369, 1389, 1389, 1389, 455, 1389, 454, 451,
2434 1389, 1385, 450, 1392, 1392, 1392, 1393, 1393, 1393, 1394,
2435 1394, 1394, 1396, 1396, 1396, 1397, 1397, 1397, 1382, 449,
2436 1380, 1392, 1398, 1398, 1398, 1399, 1399, 1399, 1401, 1401,
2437 1401, 1403, 1403, 1403, 1406, 1406, 1406, 1408, 1408, 1408,
2438 1410, 1410, 1410, 448, 1410, 447, 441, 1410, 1423, 1423,
2439 1423, 1406, 1427, 1427, 1427, 1408, 1424, 1424, 1424, 1392,
2440 1424, 440, 438, 1424, 432, 431, 1423, 1435, 1435, 1435,
2442 427, 1435, 423, 419, 1435, 1438, 1438, 1438, 415, 1438,
2443 409, 405, 1438, 1441, 1441, 1441, 1442, 1442, 1442, 1443,
2444 1443, 1443, 1445, 1445, 1445, 1446, 1446, 1446, 401, 1446,
2445 1441, 397, 1446, 396, 1442, 395, 1423, 1443, 394, 1445,
2446 1457, 1457, 1457, 1459, 1459, 1459, 1460, 1460, 1460, 1461,
2447 1461, 1461, 1462, 1462, 1462, 1463, 1463, 1463, 1464, 1464,
2448 1464, 1459, 1464, 1460, 390, 1464, 1445, 1461, 386, 383,
2449 1462, 1441, 1463, 1465, 1465, 1465, 1467, 1467, 1467, 1468,
2450 1468, 1468, 1469, 1469, 1469, 1470, 1470, 1470, 382, 381,
2451 1465, 1472, 1472, 1472, 1467, 1475, 1475, 1475, 377, 371,
2453 1469, 370, 366, 1470, 362, 358, 1461, 357, 353, 1472,
2454 1462, 1476, 1476, 1476, 1477, 1477, 1477, 1479, 1479, 1479,
2455 1480, 1480, 1480, 1484, 1484, 1484, 1485, 1485, 1485, 1476,
2456 1485, 350, 349, 1485, 1497, 1497, 1497, 1504, 1504, 1504,
2457 1484, 1505, 1505, 1505, 344, 1469, 1506, 1506, 1506, 340,
2458 1472, 332, 1497, 331, 1504, 1508, 1508, 1508, 1505, 1509,
2459 1509, 1509, 330, 1509, 1506, 326, 1509, 1517, 1517, 1517,
2460 320, 316, 1508, 1518, 1518, 1518, 1519, 1519, 1519, 309,
2461 1520, 1520, 1520, 307, 1517, 1521, 1521, 1521, 306, 301,
2462 1518, 1497, 1523, 1523, 1523, 294, 1505, 1520, 1524, 1524,
2464 1524, 293, 1524, 1521, 292, 1524, 1525, 1525, 1525, 1523,
2465 1526, 1526, 1526, 1527, 1527, 1527, 291, 1527, 290, 286,
2466 1527, 1530, 1530, 1530, 1525, 1531, 1531, 1531, 1526, 1531,
2467 282, 276, 1531, 1532, 1532, 1532, 274, 269, 1530, 1533,
2468 1533, 1533, 1535, 1535, 1535, 1536, 1536, 1536, 268, 264,
2469 1532, 1540, 1540, 1540, 1545, 1545, 1545, 1533, 1546, 1546,
2470 1546, 258, 1546, 1536, 257, 1546, 1560, 1560, 1560, 1540,
2471 256, 1545, 252, 244, 1526, 1565, 1565, 1565, 1566, 1566,
2472 1566, 242, 1566, 241, 1560, 1566, 1567, 1567, 1567, 1568,
2473 1568, 1568, 1565, 1568, 237, 234, 1568, 1576, 1576, 1576,
2475 1577, 1577, 1577, 1567, 1577, 232, 231, 1577, 1578, 1578,
2476 1578, 1579, 1579, 1579, 1576, 1579, 230, 226, 1579, 1580,
2477 1580, 1580, 223, 1560, 222, 1578, 1581, 1581, 1581, 219,
2478 1581, 215, 211, 1581, 207, 206, 1580, 205, 199, 1567,
2479 1582, 1582, 1582, 198, 1582, 196, 193, 1582, 1585, 1585,
2480 1585, 1587, 1587, 1587, 1588, 1588, 1588, 181, 1588, 0,
2481 0, 1588, 1591, 1591, 1591, 0, 1585, 0, 0, 1587,
2482 1592, 1592, 1592, 0, 1592, 0, 0, 1592, 0, 1591,
2483 1593, 1593, 1593, 1598, 1598, 1598, 1601, 1601, 1601, 1602,
2484 1602, 1602, 0, 1602, 0, 0, 1602, 0, 1593, 1618,
2486 1618, 1618, 0, 1601, 1619, 1619, 1619, 1620, 1620, 1620,
2487 0, 1621, 1621, 1621, 1587, 1621, 0, 1618, 1621, 1624,
2488 1624, 1624, 0, 0, 1620, 1626, 1626, 1626, 1628, 1628,
2489 1628, 0, 1628, 0, 0, 1628, 1624, 1631, 1631, 1631,
2490 0, 1631, 1626, 0, 1631, 1634, 1634, 1634, 1618, 1634,
2491 0, 1620, 1634, 1643, 1643, 1643, 1644, 1644, 1644, 0,
2492 1644, 0, 0, 1644, 0, 0, 1624, 1649, 1649, 1649,
2493 0, 1643, 1650, 1650, 1650, 1653, 1653, 1653, 0, 1653,
2494 0, 0, 1653, 0, 1649, 1649, 1660, 1660, 1660, 1669,
2495 1669, 1669, 1670, 1670, 1670, 1671, 1671, 1671, 1674, 1674,
2497 1674, 0, 1643, 1660, 1672, 1672, 1672, 1669, 1672, 0,
2498 0, 1672, 1671, 0, 0, 1674, 1676, 1676, 1676, 1677,
2499 1677, 1677, 0, 1677, 0, 0, 1677, 1693, 1693, 1693,
2500 1695, 1695, 1695, 1676, 0, 0, 1669, 1696, 1696, 1696,
2501 0, 0, 1697, 1697, 1697, 1693, 1697, 1695, 1695, 1697,
2502 1698, 1698, 1698, 0, 1696, 1696, 1699, 1699, 1699, 0,
2503 1697, 1704, 1704, 1704, 0, 0, 1674, 1705, 1705, 1705,
2504 0, 1705, 0, 0, 1705, 1714, 1714, 1714, 1704, 1715,
2505 1715, 1715, 0, 1715, 0, 0, 1715, 1719, 1719, 1719,
2506 1720, 1720, 1720, 1714, 1721, 1721, 1721, 0, 1721, 0,
2508 0, 1721, 0, 0, 1719, 0, 0, 1720, 1724, 1724,
2509 1724, 1739, 1739, 1739, 1742, 1742, 1742, 1743, 1743, 1743,
2510 0, 1743, 0, 0, 1743, 1724, 1744, 1744, 1744, 1739,
2511 1744, 1742, 1742, 1744, 0, 1743, 0, 0, 1714, 1747,
2512 1747, 1747, 0, 0, 1744, 1745, 1745, 1745, 1745, 1745,
2513 1745, 1745, 1745, 1745, 0, 0, 1745, 1748, 1748, 1748,
2514 0, 1745, 1745, 1745, 1745, 1745, 1753, 1753, 1753, 0,
2515 1753, 0, 0, 1753, 0, 0, 0, 0, 0, 0,
2516 0, 1762, 1762, 1762, 0, 1764, 1764, 1764, 1745, 1745,
2517 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1762,
2519 0, 1746, 1764, 1766, 1766, 1766, 1746, 1746, 1746, 1746,
2520 1746, 1765, 1765, 1765, 0, 1765, 0, 0, 1765, 0,
2521 1766, 1767, 1767, 1767, 0, 1767, 0, 0, 1767, 1768,
2522 1768, 1768, 0, 1746, 1746, 1769, 1769, 1769, 0, 1769,
2523 0, 0, 1769, 1783, 1783, 1783, 1768, 1783, 0, 0,
2524 1783, 0, 0, 1798, 1798, 1798, 1824, 1824, 1824, 0,
2525 0, 1783, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786,
2526 1786, 1798, 0, 1786, 1824, 1824, 0, 0, 1786, 1786,
2527 1786, 1786, 1786, 1801, 1801, 1801, 0, 1801, 0, 0,
2528 1801, 1804, 1804, 1804, 0, 1804, 0, 0, 1804, 1831,
2530 1831, 1831, 1840, 1840, 1840, 1786, 1786, 1787, 1787, 1787,
2531 1787, 1787, 1787, 1787, 1787, 1787, 1831, 0, 1787, 0,
2532 1840, 0, 0, 1787, 1787, 1787, 1787, 1787, 1807, 1807,
2533 1807, 0, 1807, 0, 0, 1807, 1844, 1844, 1844, 1847,
2534 1847, 1847, 1848, 1848, 1848, 0, 1848, 0, 0, 1848,
2535 1787, 1787, 0, 0, 1844, 0, 1847, 1859, 1859, 1859,
2536 1863, 1863, 1863, 0, 1863, 0, 0, 1863, 1928, 1928,
2537 1928, 0, 1933, 1933, 1933, 1859, 1933, 0, 0, 1933,
2538 1966, 1966, 1966, 0, 0, 1844, 1928, 1967, 1967, 1967,
2539 1933, 0, 1859, 0, 0, 0, 0, 0, 1966, 0,
2541 0, 0, 0, 0, 0, 1967, 1970, 1970, 1970, 1970,
2542 1970, 1970, 1970, 1970, 1970, 1971, 1971, 1971, 1971, 1971,
2543 1971, 1971, 1971, 1971, 1972, 1972, 1972, 1972, 1972, 1972,
2544 1972, 1972, 1972, 1973, 1973, 1973, 1973, 1973, 1973, 1973,
2545 1973, 1973, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974,
2546 1974, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
2547 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1977,
2548 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1978, 1978,
2549 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 1979,
2550 1979, 1979, 1979, 1979, 1979, 1979, 1980, 1980, 1980, 1980,
2552 1980, 1980, 1980, 1980, 1980, 1981, 1981, 1981, 1981, 1981,
2553 1981, 1981, 1981, 1981, 1982, 1982, 1982, 1982, 1982, 1982,
2554 1982, 1982, 1982, 1983, 1983, 1983, 1983, 1983, 1983, 1983,
2555 1983, 1983, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984,
2556 1984, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985,
2557 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1987,
2558 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1988, 1988,
2559 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 1989,
2560 1989, 1989, 1989, 1989, 1989, 1989, 1990, 1990, 1990, 1990,
2561 1990, 1990, 1990, 1990, 1990, 1991, 1991, 1991, 1991, 1991,
2563 1991, 1991, 1991, 1991, 1992, 1992, 1992, 1992, 1992, 1992,
2564 1992, 1992, 1992, 1993, 1993, 1993, 1993, 1993, 1993, 1993,
2565 1993, 1993, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994,
2566 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995,
2567 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1997,
2568 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998, 1998,
2569 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 1999,
2570 1999, 1999, 1999, 1999, 1999, 1999, 2000, 2000, 2000, 2000,
2571 2000, 2000, 2000, 2000, 2000, 2001, 2001, 2001, 2001, 2001,
2572 2001, 2001, 2001, 2001, 2002, 2002, 2002, 2002, 2002, 2002,
2574 2002, 2002, 2002, 2003, 2003, 2003, 2003, 2003, 2003, 2003,
2575 2003, 2003, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004,
2576 2004, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005,
2577 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2007,
2578 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, 2008,
2579 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 2009,
2580 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 2010, 0,
2581 0, 0, 2010, 2011, 2011, 2011, 0, 0, 0, 2011,
2582 2012, 2012, 2012, 0, 0, 0, 2012, 2013, 2013, 2013,
2583 0, 0, 0, 2013, 2014, 2014, 2014, 0, 0, 0,
2585 2014, 2015, 2015, 2015, 0, 0, 0, 2015, 2016, 2016,
2586 2016, 0, 0, 0, 2016, 2017, 2017, 2017, 0, 0,
2587 0, 2017, 2018, 2018, 2018, 0, 0, 0, 2018, 2019,
2588 2019, 2019, 0, 0, 0, 2019, 2020, 2020, 2020, 0,
2589 0, 0, 2020, 2021, 2021, 2021, 0, 0, 0, 2021,
2590 2022, 2022, 2022, 0, 0, 0, 2022, 2023, 2023, 2023,
2591 0, 0, 0, 2023, 2024, 2024, 2024, 0, 0, 0,
2592 2024, 2025, 2025, 2025, 0, 0, 0, 2025, 2026, 2026,
2593 2026, 0, 0, 0, 2026, 2027, 2027, 2027, 2027, 2027,
2594 2027, 2027, 0, 2027, 2028, 0, 0, 0, 2028, 2029,
2596 0, 0, 0, 2029, 2030, 2030, 2030, 0, 0, 0,
2597 2030, 2031, 0, 0, 0, 2031, 2032, 2032, 2032, 0,
2598 0, 0, 2032, 2033, 0, 0, 0, 2033, 2034, 2034,
2599 2034, 0, 0, 0, 2034, 2035, 0, 0, 0, 2035,
2600 2036, 0, 0, 0, 2036, 2037, 0, 0, 0, 2037,
2601 2038, 2038, 2038, 0, 0, 0, 2038, 2039, 0, 0,
2602 0, 2039, 2040, 2040, 2040, 0, 0, 0, 2040, 2041,
2603 0, 0, 0, 2041, 2042, 2042, 2042, 0, 0, 0,
2604 2042, 2043, 0, 0, 0, 2043, 2044, 2044, 2044, 0,
2605 0, 0, 2044, 2045, 0, 0, 0, 2045, 2046, 2046,
2607 2046, 0, 0, 0, 2046, 2047, 0, 0, 0, 2047,
2608 2048, 2048, 2048, 0, 0, 0, 2048, 2049, 0, 0,
2609 0, 2049, 2050, 2050, 2050, 0, 0, 0, 2050, 2051,
2610 0, 0, 0, 2051, 2052, 2052, 2052, 0, 0, 0,
2611 2052, 2053, 0, 0, 0, 2053, 2054, 2054, 2054, 0,
2612 0, 0, 2054, 2055, 0, 0, 0, 2055, 2056, 2056,
2613 2056, 0, 0, 0, 2056, 2057, 0, 0, 0, 2057,
2614 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059,
2615 0, 0, 0, 0, 2059, 2060, 2060, 2060, 0, 0,
2616 0, 2060, 2061, 2061, 2061, 2061, 0, 0, 2061, 2061,
2618 2062, 2062, 2062, 0, 0, 0, 2062, 2063, 2063, 2063,
2619 2063, 0, 0, 2063, 2063, 2064, 2064, 2064, 0, 0,
2620 0, 2064, 2065, 2065, 2065, 2065, 0, 0, 2065, 2065,
2621 2066, 2066, 2066, 0, 0, 0, 2066, 2067, 2067, 2067,
2622 2067, 0, 0, 2067, 2067, 2068, 2068, 2068, 0, 0,
2623 0, 2068, 2069, 2069, 2069, 2069, 0, 0, 2069, 2069,
2624 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071, 2071,
2625 2071, 0, 0, 2071, 2071, 2072, 2072, 2072, 0, 0,
2626 0, 2072, 2073, 2073, 2073, 2073, 0, 0, 2073, 2073,
2627 2074, 2074, 2074, 2074, 0, 0, 2074, 2074, 2075, 2075,
2629 2075, 0, 0, 0, 2075, 2076, 2076, 2076, 2076, 0,
2630 0, 2076, 2076, 2077, 2077, 2077, 2077, 0, 2077, 0,
2631 2077, 2078, 2078, 2078, 2078, 0, 0, 2078, 2078, 2079,
2632 2079, 2079, 2079, 0, 2079, 0, 2079, 2080, 2080, 2080,
2633 2080, 0, 0, 2080, 2080, 2081, 2081, 2081, 0, 0,
2634 0, 2081, 2082, 2082, 2082, 2082, 0, 0, 2082, 2082,
2635 2083, 2083, 2083, 2083, 0, 2083, 0, 2083, 2084, 2084,
2636 2084, 2084, 0, 0, 2084, 2084, 2085, 2085, 2085, 0,
2637 0, 0, 2085, 2086, 2086, 2086, 2086, 0, 0, 2086,
2638 2086, 2087, 2087, 2087, 0, 0, 0, 2087, 2088, 2088,
2640 2088, 2088, 0, 0, 2088, 2088, 2089, 2089, 2089, 2089,
2641 0, 0, 2089, 2089, 2090, 2090, 2090, 0, 0, 0,
2642 2090, 2091, 2091, 2091, 2091, 0, 0, 2091, 2091, 2092,
2643 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 2093, 0,
2644 2093, 0, 0, 2093, 2094, 2094, 2094, 0, 0, 0,
2645 2094, 2095, 2095, 2095, 2095, 0, 0, 2095, 2095, 2096,
2646 2096, 2096, 2096, 0, 2096, 0, 2096, 2097, 2097, 2097,
2647 2097, 0, 0, 2097, 2097, 2098, 2098, 2098, 0, 0,
2648 0, 2098, 2099, 2099, 2099, 2099, 0, 0, 2099, 2099,
2649 2100, 2100, 2100, 0, 0, 0, 2100, 2101, 2101, 2101,
2651 2101, 0, 0, 2101, 2101, 2102, 2102, 2102, 0, 0,
2652 0, 2102, 2103, 2103, 2103, 2103, 0, 0, 2103, 2103,
2653 2104, 2104, 2104, 0, 0, 0, 2104, 2105, 2105, 2105,
2654 2105, 0, 0, 2105, 2105, 2106, 2106, 2106, 0, 0,
2655 0, 2106, 2107, 2107, 2107, 2107, 0, 0, 2107, 2107,
2656 2108, 2108, 2108, 2108, 0, 0, 2108, 2108, 2109, 2109,
2657 2109, 0, 0, 0, 2109, 2110, 2110, 2110, 2110, 0,
2658 0, 2110, 2110, 2111, 2111, 2111, 0, 0, 0, 2111,
2659 2112, 2112, 2112, 2112, 0, 0, 2112, 2112, 2113, 2113,
2660 2113, 0, 0, 0, 2113, 2114, 2114, 2114, 2114, 0,
2662 0, 2114, 2114, 2115, 2115, 2115, 0, 0, 0, 2115,
2663 2116, 2116, 2116, 2116, 0, 0, 2116, 2116, 2117, 2117,
2664 2117, 0, 0, 0, 2117, 2118, 2118, 2118, 2118, 0,
2665 0, 2118, 2118, 2119, 2119, 2119, 0, 0, 0, 2119,
2666 2120, 2120, 2120, 2120, 0, 0, 2120, 2120, 2121, 2121,
2667 2121, 0, 0, 0, 2121, 2122, 2122, 2122, 2122, 0,
2668 0, 2122, 2122, 2123, 2123, 2123, 2123, 0, 0, 2123,
2669 2123, 2124, 2124, 2124, 0, 0, 0, 2124, 2125, 2125,
2670 2125, 2125, 0, 0, 2125, 2125, 2126, 2126, 2126, 2126,
2671 2126, 2126, 2126, 2126, 2126, 2127, 2127, 2127, 2127, 2127,
2673 2127, 2127, 2127, 2127, 2128, 2128, 2128, 0, 0, 0,
2674 2128, 2129, 2129, 2129, 2129, 0, 0, 2129, 2129, 2130,
2675 2130, 2130, 0, 0, 0, 2130, 2131, 2131, 2131, 2131,
2676 0, 0, 2131, 2131, 2132, 2132, 2132, 0, 0, 0,
2677 2132, 2133, 2133, 2133, 2133, 0, 0, 2133, 2133, 2134,
2678 2134, 2134, 0, 0, 0, 2134, 2135, 2135, 2135, 2135,
2679 0, 0, 2135, 2135, 2136, 2136, 2136, 0, 0, 0,
2680 2136, 2137, 2137, 2137, 0, 0, 0, 2137, 2138, 2138,
2681 2138, 2138, 0, 0, 2138, 2138, 2139, 2139, 2139, 2139,
2682 0, 2139, 0, 2139, 2140, 2140, 2140, 2140, 0, 0,
2684 2140, 2140, 2141, 2141, 2141, 2141, 0, 0, 2141, 2141,
2685 2142, 2142, 2142, 0, 0, 0, 2142, 2143, 2143, 2143,
2686 2143, 0, 0, 2143, 2143, 2144, 2144, 2144, 0, 0,
2687 0, 2144, 2145, 2145, 2145, 2145, 0, 0, 2145, 2145,
2688 2146, 2146, 2146, 0, 0, 0, 2146, 2147, 2147, 2147,
2689 2147, 0, 0, 2147, 2147, 2148, 2148, 2148, 0, 0,
2690 0, 2148, 2149, 2149, 2149, 2149, 0, 0, 2149, 2149,
2691 2150, 2150, 2150, 0, 0, 0, 2150, 2151, 2151, 2151,
2692 2151, 0, 0, 2151, 2151, 2152, 2152, 2152, 0, 0,
2693 0, 2152, 2153, 2153, 2153, 2153, 0, 0, 2153, 2153,
2695 2154, 2154, 2154, 2154, 0, 2154, 0, 2154, 2155, 2155,
2696 2155, 2155, 0, 0, 2155, 2155, 2156, 2156, 2156, 2156,
2697 0, 0, 2156, 2156, 2157, 2157, 2157, 2157, 0, 2157,
2698 0, 2157, 2158, 2158, 2158, 2158, 0, 0, 2158, 2158,
2699 2159, 2159, 2159, 2159, 2159, 2159, 2159, 2159, 2159, 2160,
2700 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2161, 2161,
2701 2161, 0, 0, 0, 2161, 2162, 2162, 2162, 2162, 0,
2702 0, 2162, 2162, 2163, 2163, 2163, 0, 0, 0, 2163,
2703 2164, 2164, 2164, 2164, 0, 0, 2164, 2164, 2165, 2165,
2704 2165, 0, 0, 0, 2165, 2166, 2166, 2166, 2166, 0,
2706 0, 2166, 2166, 2167, 2167, 2167, 0, 0, 0, 2167,
2707 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2708 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 0, 0,
2709 0, 2170, 2171, 2171, 2171, 2171, 0, 0, 2171, 2171,
2710 2172, 2172, 2172, 2172, 0, 2172, 0, 2172, 2173, 2173,
2711 2173, 2173, 0, 0, 2173, 2173, 2174, 2174, 2174, 2174,
2712 0, 0, 2174, 2174, 2175, 2175, 2175, 0, 0, 0,
2713 2175, 2176, 2176, 2176, 2176, 0, 0, 2176, 2176, 2177,
2714 2177, 2177, 0, 0, 0, 2177, 2178, 2178, 2178, 2178,
2715 0, 0, 2178, 2178, 2179, 2179, 2179, 2179, 0, 2179,
2717 0, 2179, 2180, 2180, 2180, 2180, 0, 0, 2180, 2180,
2718 2181, 2181, 2181, 0, 0, 0, 2181, 2182, 2182, 2182,
2719 2182, 0, 0, 2182, 2182, 2183, 2183, 2183, 2183, 0,
2720 2183, 0, 2183, 2184, 2184, 2184, 2184, 0, 0, 2184,
2721 2184, 2185, 2185, 2185, 0, 0, 0, 2185, 2186, 2186,
2722 2186, 2186, 0, 0, 2186, 2186, 2187, 2187, 2187, 2187,
2723 0, 0, 2187, 2187, 2188, 2188, 2188, 2188, 0, 0,
2724 2188, 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189,
2725 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2191,
2726 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2192, 2192,
2728 2192, 2192, 0, 2192, 0, 2192, 2193, 2193, 2193, 2193,
2729 0, 0, 2193, 2193, 2194, 2194, 2194, 0, 0, 0,
2730 2194, 2195, 2195, 2195, 2195, 0, 0, 2195, 2195, 2196,
2731 2196, 2196, 0, 0, 0, 2196, 2197, 2197, 2197, 2197,
2732 0, 0, 2197, 2197, 2198, 2198, 2198, 2198, 0, 2198,
2733 0, 2198, 2199, 2199, 2199, 2199, 0, 0, 2199, 2199,
2734 2200, 2200, 2200, 2200, 0, 2200, 0, 2200, 2201, 2201,
2735 2201, 0, 0, 0, 2201, 2202, 2202, 2202, 2202, 0,
2736 2202, 0, 2202, 2203, 2203, 2203, 2203, 0, 0, 2203,
2737 2203, 2204, 2204, 2204, 2204, 0, 0, 2204, 2204, 2205,
2739 2205, 2205, 0, 0, 0, 2205, 2206, 2206, 2206, 0,
2740 0, 0, 2206, 2207, 2207, 2207, 2207, 0, 0, 2207,
2741 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2742 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 0,
2743 0, 0, 2210, 2211, 2211, 2211, 2211, 0, 0, 2211,
2744 2211, 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
2745 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2214,
2746 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2214, 2215, 2215,
2747 2215, 2215, 2215, 2215, 2215, 2215, 2215, 2216, 2216, 2216,
2748 2216, 2216, 2216, 2216, 2216, 2216, 2217, 2217, 2217, 2217,
2750 2217, 2217, 2217, 2217, 2217, 1969, 1969, 1969, 1969, 1969,
2751 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2752 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2753 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2754 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2755 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2756 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969,
2757 1969, 1969, 1969, 1969, 1969, 1969
2760 /* Table of booleans, true if rule could match eol. */
2761 static yyconst flex_int32_t yy_rule_can_match_eol[344] =
2763 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2764 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2766 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2767 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2769 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2770 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2771 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2772 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
2773 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2774 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2775 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2776 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2777 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
2778 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2779 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0,
2782 static yy_state_type yy_last_accepting_state;
2783 static char *yy_last_accepting_cpos;
2785 extern int surf_parse__flex_debug;
2786 int surf_parse__flex_debug = 0;
2788 /* The intent behind this definition is that it'll catch
2789 * any uses of REJECT which flex missed.
2791 #define REJECT reject_used_but_not_detected
2792 #define yymore() yymore_used_but_not_detected
2793 #define YY_MORE_ADJ 0
2794 #define YY_RESTORE_YY_MORE_OFFSET
2795 char *surf_parse_text;
2796 /* Validating XML processor for src/surf/simgrid.dtd.
2797 * Generated 2010/10/25 17:57:06.
2799 * This program was generated with the FleXML XML processor generator.
2800 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2801 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2802 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2804 * There are two, intertwined parts to this program, part A and part B.
2809 * Some parts, here collectively called "Part A", are found in the
2810 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2811 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2813 * You can redistribute, use, perform, display and/or modify "Part A"
2814 * provided the following two conditions hold:
2816 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2817 * FleXML; without even the implied warranty of MERCHANTABILITY or
2818 * FITNESS FOR A PARTICULAR PURPOSE.
2820 * 2. The program distribution conditions do not in any way affect the
2821 * distribution conditions of the FleXML system used to generate this
2822 * file or any version of FleXML derived from that system.
2824 * Notice that these are explicit rights granted to you for files
2825 * generated by the FleXML system. For your rights in connection with
2826 * the FleXML system itself please consult the GNU General Public License.
2831 * The other parts, here collectively called "Part B", and which came
2832 * from the DTD used by FleXML to generate this program, can be
2833 * distributed (or not, as the case may be) under the terms of whoever
2834 * wrote them, provided these terms respect and obey the two conditions
2835 * above under the heading "Part A".
2837 * The author of and contributors to FleXML specifically disclaim
2838 * any copyright interest in "Part B", unless "Part B" was written
2839 * by the author of or contributors to FleXML.
2843 /* Version strings. */
2844 const char rcs_surfxml_flexml_skeleton[] =
2845 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2846 const char rcs_surfxml_flexml[] =
2847 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2850 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2857 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2858 # ifndef __STRICT_ANSI__
2860 # include <process.h>
2863 # include <unistd.h>
2866 #ifndef FLEXML_INDEXSTACKSIZE
2867 #define FLEXML_INDEXSTACKSIZE 1000
2870 /* Generated definitions. */
2871 #define FLEXML_yylineno
2872 #ifndef FLEXML_BUFFERSTACKSIZE
2873 #define FLEXML_BUFFERSTACKSIZE 1000000
2875 #define FLEXML_NEED_BUFFERLIT
2877 /* XML processor api. */
2878 /* FleXML-provided data. */
2879 int surfxml_pcdata_ix;
2880 extern char *surfxml_bufferstack;
2881 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2882 AT_surfxml_random_generator AX_surfxml_random_generator;
2883 #define A_surfxml_random_generator AX_surfxml_random_generator
2884 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2885 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2886 AT_surfxml_link_id AX_surfxml_link_id;
2887 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2888 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
2889 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
2890 AT_surfxml_prop_id AX_surfxml_prop_id;
2891 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2892 AT_surfxml_host_id AX_surfxml_host_id;
2893 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2894 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2895 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2896 AT_surfxml_process_host AX_surfxml_process_host;
2897 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2898 AT_surfxml_ASroute_symetrical AX_surfxml_ASroute_symetrical;
2899 #define A_surfxml_ASroute_symetrical AX_surfxml_ASroute_symetrical
2900 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
2901 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
2902 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2903 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2904 AT_surfxml_host_state AX_surfxml_host_state;
2905 #define A_surfxml_host_state AX_surfxml_host_state
2906 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2907 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2908 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2909 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2910 AT_surfxml_prop_value AX_surfxml_prop_value;
2911 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2912 AT_surfxml_AS_id AX_surfxml_AS_id;
2913 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2914 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2915 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2916 AT_surfxml_host_power AX_surfxml_host_power;
2917 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2918 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2919 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2920 AT_surfxml_router_id AX_surfxml_router_id;
2921 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2922 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
2923 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
2924 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2925 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2926 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2927 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2928 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2929 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2930 AT_surfxml_process_function AX_surfxml_process_function;
2931 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2932 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2933 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2934 AT_surfxml_route_symetrical AX_surfxml_route_symetrical;
2935 #define A_surfxml_route_symetrical AX_surfxml_route_symetrical
2936 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2937 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2938 AT_surfxml_trace_file AX_surfxml_trace_file;
2939 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2940 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2941 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2942 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
2943 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
2944 AT_surfxml_random_min AX_surfxml_random_min;
2945 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2946 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
2947 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
2948 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
2949 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
2950 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2951 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2952 AT_surfxml_host_availability AX_surfxml_host_availability;
2953 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2954 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2955 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2956 AT_surfxml_argument_value AX_surfxml_argument_value;
2957 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2958 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
2959 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
2960 AT_surfxml_link_state AX_surfxml_link_state;
2961 #define A_surfxml_link_state AX_surfxml_link_state
2962 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2963 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2964 AT_surfxml_route_src AX_surfxml_route_src;
2965 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2966 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2967 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2968 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2969 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2970 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
2971 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
2972 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2973 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2974 AT_surfxml_random_mean AX_surfxml_random_mean;
2975 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2976 AT_surfxml_trace_id AX_surfxml_trace_id;
2977 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2978 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2979 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2980 AT_surfxml_link_latency AX_surfxml_link_latency;
2981 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2982 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2983 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2984 AT_surfxml_config_id AX_surfxml_config_id;
2985 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
2986 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
2987 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
2988 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
2989 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
2990 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2991 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2992 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2993 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2994 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2995 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2996 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2997 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2998 AT_surfxml_random_id AX_surfxml_random_id;
2999 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3000 AT_surfxml_route_dst AX_surfxml_route_dst;
3001 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3002 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3003 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3004 AT_surfxml_random_max AX_surfxml_random_max;
3005 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3006 AT_surfxml_platform_version AX_surfxml_platform_version;
3007 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3011 # define ENTER(state) debug_enter(state,#state)
3012 # define LEAVE debug_leave()
3013 # define SET(state) debug_set(state,#state)
3014 static void debug_enter(int, const char*);
3015 static void debug_leave(void);
3016 static void debug_set(int, const char*);
3018 # define ENTER(state) (yy_push_state(state))
3019 # define LEAVE (yy_pop_state())
3020 # define SET(state) BEGIN(state)
3023 /* Generic actions. */
3024 #define SKIP /*skip*/
3025 #define SUCCEED CLEANUP; return 0
3027 #define FAIL return fail
3028 static int fail(const char*, ...);
3030 enum {flexml_max_err_msg_size = 512};
3031 static char flexml_err_msg[flexml_max_err_msg_size];
3032 const char * surfxml_parse_err_msg()
3034 return flexml_err_msg;
3036 static void reset_surfxml_parse_err_msg()
3038 flexml_err_msg[0] = '\0';
3042 static void cleanup(void);
3043 #define CLEANUP cleanup()
3045 /* Text buffer stack handling. */
3046 char *surfxml_bufferstack = NULL;
3047 static int blimit = FLEXML_BUFFERSTACKSIZE;
3048 static int bnext = 1;
3050 static int *indexstack = NULL;
3051 static int ilimit = FLEXML_INDEXSTACKSIZE;
3052 static int inext = 1;
3054 #define BUFFERSET(P) (P = bnext)
3055 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3056 #define BUFFERDONE (BUFFERPUTC('\0'))
3058 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3060 /* after this is called, there are at least 2 slots left in the stack */
3061 static int ck_blimit()
3063 if (bnext >= blimit) {
3064 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3066 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3068 surfxml_bufferstack = temp;
3074 /* after this is called, there are at least 2 slots left in the stack */
3075 static int ck_ilimit()
3077 if (inext >= ilimit) {
3078 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3080 int *temp = (int *) realloc(indexstack, ilimit);
3088 #ifdef FLEXML_NEED_BUFFERLIT
3089 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3091 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3092 assert(s <= e); BUFFERSET(*pp);
3094 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3095 else BUFFERPUTC(*s);
3101 static void pushbuffer(int p)
3104 indexstack[inext++] = p;
3105 indexstack[inext++] = bnext;
3108 static int popbuffer(void)
3111 bnext = indexstack[--inext];
3112 return indexstack[--inext];
3115 /* General internal entities are `unput' back onto the input stream... */
3116 #define ENTITYTEXT(T) \
3117 { char *s = (T), *e = s+strlen(s);\
3118 while (--e >= s) { unput(*e); }}
3120 /* Flex standard options. */
3121 #define YY_NO_INPUT 1
3122 /* Flex user-requested options. */
3123 /* XML character classes (currently restricted to ASCII). */
3124 /* "Common syntactic structures." */
3125 /* "Names and Tokens." */
3126 /* Miscellaneous. */
3127 /* Parser states (flex `exclusive start conditions'):
3129 * PROLOG the XML prolog of the document before <?xml...>
3130 * DOCTYPE the XML prolog of the document after <?xml...>
3131 * EPILOG after the root element
3132 * INCOMMENT inside an XML comment <!--....-->
3133 * INPI inside an XML PI <?...?>
3134 * VALUE1 inside a '...'-delimited literal
3135 * VALUE2 inside a "..."-delimited literal
3136 * CDATA inside a <![CDATA[...] ]> section.
3137 * ROOT_<tag> expect root element <tag>
3138 * AL_<tag> inside the attribute list for <tag>
3139 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3140 * IMPOSSIBLE dummy to permit disabling rules; must be last
3144 const char* *surfxml_statenames=NULL;
3155 #define ROOT_surfxml_platform 9
3156 #define AL_surfxml_platform 10
3157 #define S_surfxml_platform 11
3158 #define S_surfxml_platform_1 12
3159 #define S_surfxml_platform_2 13
3160 #define S_surfxml_platform_3 14
3161 #define S_surfxml_platform_4 15
3162 #define S_surfxml_platform_5 16
3163 #define S_surfxml_platform_6 17
3164 #define E_surfxml_platform 18
3165 #define AL_surfxml_trace 19
3167 #define AL_surfxml_random 21
3168 #define S_surfxml_random 22
3169 #define S_surfxml_random_1 23
3170 #define S_surfxml_random_2 24
3171 #define E_surfxml_random 25
3172 #define AL_surfxml_trace_connect 26
3173 #define E_surfxml_trace_connect 27
3174 #define AL_surfxml_AS 28
3175 #define S_surfxml_AS 29
3176 #define S_surfxml_AS_1 30
3177 #define S_surfxml_AS_2 31
3178 #define S_surfxml_AS_3 32
3179 #define S_surfxml_AS_4 33
3180 #define S_surfxml_AS_5 34
3181 #define S_surfxml_AS_6 35
3182 #define S_surfxml_AS_7 36
3183 #define S_surfxml_AS_8 37
3184 #define S_surfxml_AS_9 38
3185 #define S_surfxml_AS_10 39
3186 #define S_surfxml_AS_11 40
3187 #define S_surfxml_AS_12 41
3188 #define S_surfxml_AS_13 42
3189 #define E_surfxml_AS 43
3190 #define AL_surfxml_host 44
3191 #define S_surfxml_host 45
3192 #define S_surfxml_host_1 46
3193 #define S_surfxml_host_2 47
3194 #define E_surfxml_host 48
3195 #define AL_surfxml_cluster 49
3196 #define E_surfxml_cluster 50
3197 #define AL_surfxml_router 51
3198 #define E_surfxml_router 52
3199 #define AL_surfxml_link 53
3200 #define S_surfxml_link 54
3201 #define S_surfxml_link_1 55
3202 #define S_surfxml_link_2 56
3203 #define E_surfxml_link 57
3204 #define AL_surfxml_route 58
3205 #define S_surfxml_route 59
3206 #define S_surfxml_route_1 60
3207 #define S_surfxml_route_2 61
3208 #define E_surfxml_route 62
3209 #define AL_surfxml_ASroute 63
3210 #define S_surfxml_ASroute 64
3211 #define S_surfxml_ASroute_1 65
3212 #define S_surfxml_ASroute_2 66
3213 #define E_surfxml_ASroute 67
3214 #define AL_surfxml_link_ctn 68
3215 #define E_surfxml_link_ctn 69
3216 #define AL_surfxml_bypassRoute 70
3217 #define S_surfxml_bypassRoute 71
3218 #define S_surfxml_bypassRoute_1 72
3219 #define S_surfxml_bypassRoute_2 73
3220 #define E_surfxml_bypassRoute 74
3221 #define AL_surfxml_process 75
3222 #define S_surfxml_process 76
3223 #define S_surfxml_process_1 77
3224 #define S_surfxml_process_2 78
3225 #define E_surfxml_process 79
3226 #define AL_surfxml_argument 80
3227 #define E_surfxml_argument 81
3228 #define AL_surfxml_config 82
3229 #define S_surfxml_config 83
3230 #define S_surfxml_config_1 84
3231 #define S_surfxml_config_2 85
3232 #define E_surfxml_config 86
3233 #define AL_surfxml_prop 87
3234 #define E_surfxml_prop 88
3235 #define IMPOSSIBLE 89
3237 #ifndef YY_NO_UNISTD_H
3238 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3239 * down here because we want the user's section 1 to have been scanned first.
3240 * The user has a chance to override it with an option.
3242 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3243 # ifndef __STRICT_ANSI__
3245 # include <process.h>
3248 # include <unistd.h>
3252 #ifndef YY_EXTRA_TYPE
3253 #define YY_EXTRA_TYPE void *
3256 static int yy_init_globals (void );
3258 /* Accessor methods to globals.
3259 These are made visible to non-reentrant scanners for convenience. */
3261 int surf_parse_lex_destroy (void );
3263 int surf_parse_get_debug (void );
3265 void surf_parse_set_debug (int debug_flag );
3267 YY_EXTRA_TYPE surf_parse_get_extra (void );
3269 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3271 FILE *surf_parse_get_in (void );
3273 void surf_parse_set_in (FILE * in_str );
3275 FILE *surf_parse_get_out (void );
3277 void surf_parse_set_out (FILE * out_str );
3279 int surf_parse_get_leng (void );
3281 char *surf_parse_get_text (void );
3283 int surf_parse_get_lineno (void );
3285 void surf_parse_set_lineno (int line_number );
3287 /* Macros after this point can all be overridden by user definitions in
3291 #ifndef YY_SKIP_YYWRAP
3293 extern "C" int surf_parse_wrap (void );
3295 extern int surf_parse_wrap (void );
3300 static void yy_flex_strncpy (char *,yyconst char *,int );
3303 #ifdef YY_NEED_STRLEN
3304 static int yy_flex_strlen (yyconst char * );
3310 static int yyinput (void );
3312 static int input (void );
3317 static int yy_start_stack_ptr = 0;
3318 static int yy_start_stack_depth = 0;
3319 static int *yy_start_stack = NULL;
3321 static void yy_push_state (int new_state );
3323 static void yy_pop_state (void );
3325 /* Amount of stuff to slurp up with each read. */
3326 #ifndef YY_READ_BUF_SIZE
3328 /* On IA-64, the buffer size is 16k, not 8k */
3329 #define YY_READ_BUF_SIZE 16384
3331 #define YY_READ_BUF_SIZE 8192
3332 #endif /* __ia64__ */
3335 /* Copy whatever the last rule matched to the standard output. */
3337 /* This used to be an fputs(), but since the string might contain NUL's,
3338 * we now use fwrite().
3340 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3343 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3344 * is returned in "result".
3347 #define YY_INPUT(buf,result,max_size) \
3348 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3352 for ( n = 0; n < max_size && \
3353 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3354 buf[n] = (char) c; \
3356 buf[n++] = (char) c; \
3357 if ( c == EOF && ferror( surf_parse_in ) ) \
3358 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3364 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3366 if( errno != EINTR) \
3368 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3372 clearerr(surf_parse_in); \
3379 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3380 * we don't want an extra ';' after the "return" because that will cause
3381 * some compilers to complain about unreachable statements.
3384 #define yyterminate() return YY_NULL
3387 /* Number of entries by which start-condition stack grows. */
3388 #ifndef YY_START_STACK_INCR
3389 #define YY_START_STACK_INCR 25
3392 /* Report a fatal error. */
3393 #ifndef YY_FATAL_ERROR
3394 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3397 /* end tables serialization structures and prototypes */
3399 /* Default declaration of generated scanner - a define so the user can
3400 * easily add parameters.
3403 #define YY_DECL_IS_OURS 1
3405 extern int surf_parse_lex (void);
3407 #define YY_DECL int surf_parse_lex (void)
3408 #endif /* !YY_DECL */
3410 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3413 #ifndef YY_USER_ACTION
3414 #define YY_USER_ACTION
3417 /* Code executed at the end of each rule. */
3419 #define YY_BREAK break;
3422 #define YY_RULE_SETUP \
3425 /** The main scanner function which does all the work.
3429 register yy_state_type yy_current_state;
3430 register char *yy_cp, *yy_bp;
3431 register int yy_act;
3433 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3435 reset_surfxml_parse_err_msg();
3436 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3437 assert(surfxml_bufferstack);
3441 for (i = 0; i < blimit; i++) {
3442 surfxml_bufferstack[i] = '\377';
3446 surfxml_bufferstack[0] = '\0';
3447 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3453 surfxml_bufferliteral('\0', &bnext, "0.0");
3454 surfxml_bufferliteral('\0', &bnext, "1.0");
3455 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3456 surfxml_bufferliteral('\0', &bnext, "0.0");
3457 surfxml_bufferliteral('\0', &bnext, "-1.0");
3458 surfxml_bufferliteral('\0', &bnext, "-1.0");
3459 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3460 surfxml_statenames[PROLOG] = NULL;
3461 surfxml_statenames[DOCTYPE] = NULL;
3462 surfxml_statenames[EPILOG] = NULL;
3463 surfxml_statenames[INCOMMENT] = NULL;
3464 surfxml_statenames[INPI] = NULL;
3465 surfxml_statenames[VALUE1] = NULL;
3466 surfxml_statenames[VALUE2] = NULL;
3467 surfxml_statenames[CDATA] = NULL;
3468 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3469 surfxml_statenames[AL_surfxml_platform] = NULL;
3470 surfxml_statenames[S_surfxml_platform] = "platform";
3471 surfxml_statenames[S_surfxml_platform_1] = "platform";
3472 surfxml_statenames[S_surfxml_platform_2] = "platform";
3473 surfxml_statenames[S_surfxml_platform_3] = "platform";
3474 surfxml_statenames[S_surfxml_platform_4] = "platform";
3475 surfxml_statenames[S_surfxml_platform_5] = "platform";
3476 surfxml_statenames[S_surfxml_platform_6] = "platform";
3477 surfxml_statenames[E_surfxml_platform] = "platform";
3478 surfxml_statenames[AL_surfxml_trace] = NULL;
3479 surfxml_statenames[IN_trace] = "trace";
3480 surfxml_statenames[AL_surfxml_random] = NULL;
3481 surfxml_statenames[S_surfxml_random] = "random";
3482 surfxml_statenames[S_surfxml_random_1] = "random";
3483 surfxml_statenames[S_surfxml_random_2] = "random";
3484 surfxml_statenames[E_surfxml_random] = "random";
3485 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3486 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3487 surfxml_statenames[AL_surfxml_AS] = NULL;
3488 surfxml_statenames[S_surfxml_AS] = "AS";
3489 surfxml_statenames[S_surfxml_AS_1] = "AS";
3490 surfxml_statenames[S_surfxml_AS_2] = "AS";
3491 surfxml_statenames[S_surfxml_AS_3] = "AS";
3492 surfxml_statenames[S_surfxml_AS_4] = "AS";
3493 surfxml_statenames[S_surfxml_AS_5] = "AS";
3494 surfxml_statenames[S_surfxml_AS_6] = "AS";
3495 surfxml_statenames[S_surfxml_AS_7] = "AS";
3496 surfxml_statenames[S_surfxml_AS_8] = "AS";
3497 surfxml_statenames[S_surfxml_AS_9] = "AS";
3498 surfxml_statenames[S_surfxml_AS_10] = "AS";
3499 surfxml_statenames[S_surfxml_AS_11] = "AS";
3500 surfxml_statenames[S_surfxml_AS_12] = "AS";
3501 surfxml_statenames[S_surfxml_AS_13] = "AS";
3502 surfxml_statenames[E_surfxml_AS] = "AS";
3503 surfxml_statenames[AL_surfxml_host] = NULL;
3504 surfxml_statenames[S_surfxml_host] = "host";
3505 surfxml_statenames[S_surfxml_host_1] = "host";
3506 surfxml_statenames[S_surfxml_host_2] = "host";
3507 surfxml_statenames[E_surfxml_host] = "host";
3508 surfxml_statenames[AL_surfxml_cluster] = NULL;
3509 surfxml_statenames[E_surfxml_cluster] = "cluster";
3510 surfxml_statenames[AL_surfxml_router] = NULL;
3511 surfxml_statenames[E_surfxml_router] = "router";
3512 surfxml_statenames[AL_surfxml_link] = NULL;
3513 surfxml_statenames[S_surfxml_link] = "link";
3514 surfxml_statenames[S_surfxml_link_1] = "link";
3515 surfxml_statenames[S_surfxml_link_2] = "link";
3516 surfxml_statenames[E_surfxml_link] = "link";
3517 surfxml_statenames[AL_surfxml_route] = NULL;
3518 surfxml_statenames[S_surfxml_route] = "route";
3519 surfxml_statenames[S_surfxml_route_1] = "route";
3520 surfxml_statenames[S_surfxml_route_2] = "route";
3521 surfxml_statenames[E_surfxml_route] = "route";
3522 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3523 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3524 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3525 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3526 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3527 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3528 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3529 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3530 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3531 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3532 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3533 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3534 surfxml_statenames[AL_surfxml_process] = NULL;
3535 surfxml_statenames[S_surfxml_process] = "process";
3536 surfxml_statenames[S_surfxml_process_1] = "process";
3537 surfxml_statenames[S_surfxml_process_2] = "process";
3538 surfxml_statenames[E_surfxml_process] = "process";
3539 surfxml_statenames[AL_surfxml_argument] = NULL;
3540 surfxml_statenames[E_surfxml_argument] = "argument";
3541 surfxml_statenames[AL_surfxml_config] = NULL;
3542 surfxml_statenames[S_surfxml_config] = "config";
3543 surfxml_statenames[S_surfxml_config_1] = "config";
3544 surfxml_statenames[S_surfxml_config_2] = "config";
3545 surfxml_statenames[E_surfxml_config] = "config";
3546 surfxml_statenames[AL_surfxml_prop] = NULL;
3547 surfxml_statenames[E_surfxml_prop] = "prop";
3550 /* COMMENTS and PIs: handled uniformly for efficiency. */
3561 (yy_start) = 1; /* first start state */
3563 if ( ! surf_parse_in )
3564 surf_parse_in = stdin;
3566 if ( ! surf_parse_out )
3567 surf_parse_out = stdout;
3569 if ( ! YY_CURRENT_BUFFER ) {
3570 surf_parse_ensure_buffer_stack ();
3571 YY_CURRENT_BUFFER_LVALUE =
3572 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3575 surf_parse__load_buffer_state( );
3578 while ( 1 ) /* loops until end-of-file is reached */
3580 yy_cp = (yy_c_buf_p);
3582 /* Support of surf_parse_text. */
3583 *yy_cp = (yy_hold_char);
3585 /* yy_bp points to the position in yy_ch_buf of the start of
3590 yy_current_state = (yy_start);
3594 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3595 if ( yy_accept[yy_current_state] )
3597 (yy_last_accepting_state) = yy_current_state;
3598 (yy_last_accepting_cpos) = yy_cp;
3600 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3602 yy_current_state = (int) yy_def[yy_current_state];
3603 if ( yy_current_state >= 1970 )
3604 yy_c = yy_meta[(unsigned int) yy_c];
3606 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3609 while ( yy_base[yy_current_state] != 7106 );
3612 yy_act = yy_accept[yy_current_state];
3614 { /* have to back up */
3615 yy_cp = (yy_last_accepting_cpos);
3616 yy_current_state = (yy_last_accepting_state);
3617 yy_act = yy_accept[yy_current_state];
3620 YY_DO_BEFORE_ACTION;
3622 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3625 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3626 if ( surf_parse_text[yyl] == '\n' )
3628 surf_parse_lineno++;
3632 do_action: /* This label is used only to access EOF actions. */
3635 { /* beginning of action switch */
3636 case 0: /* must back up */
3637 /* undo the effects of YY_DO_BEFORE_ACTION */
3638 *yy_cp = (yy_hold_char);
3639 yy_cp = (yy_last_accepting_cpos);
3640 yy_current_state = (yy_last_accepting_state);
3641 goto yy_find_action;
3659 /* rule 6 can match eol */
3663 case YY_STATE_EOF(INCOMMENT):
3664 FAIL("EOF in comment.");
3673 /* rule 9 can match eol */
3677 case YY_STATE_EOF(INPI):
3678 FAIL("EOF in PI (processing instruction).");
3681 /* SPACES: skipped uniformly */
3683 /* rule 10 can match eol */
3687 /* PROLOG: determine root element and process it. */
3690 /* rule 11 can match eol */
3695 /* rule 12 can match eol */
3697 FAIL("Bad declaration %s.",surf_parse_text);
3701 /* rule 13 can match eol */
3703 SET(ROOT_surfxml_platform);
3706 /* rule 14 can match eol */
3708 FAIL("Bad declaration %s.",surf_parse_text);
3712 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3714 case YY_STATE_EOF(PROLOG):
3715 case YY_STATE_EOF(DOCTYPE):
3716 FAIL("EOF in prolog.");
3719 /* RULES DERIVED FROM DTD. */
3720 /* <!-- Small DTD for SURF based tools. --> */
3722 /* rule 16 can match eol */
3724 FAIL("Starting tag <platform> is not allowed here.");
3727 /* rule 17 can match eol */
3730 AX_surfxml_platform_version = 1;
3731 ENTER(AL_surfxml_platform); pushbuffer(0);
3736 /* rule 18 can match eol */
3738 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3741 /* rule 19 can match eol */
3743 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3748 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3754 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3756 case ROOT_surfxml_platform: SET(EPILOG); break;
3762 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3766 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3768 case YY_STATE_EOF(AL_surfxml_platform):
3769 FAIL("EOF in attribute list of `platform' element.");
3773 /* rule 24 can match eol */
3777 ETag_surfxml_platform();
3778 popbuffer(); /* attribute */
3780 case ROOT_surfxml_platform: SET(EPILOG); break;
3785 /* rule 25 can match eol */
3787 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3791 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3793 case YY_STATE_EOF(S_surfxml_platform_2):
3794 case YY_STATE_EOF(S_surfxml_platform_1):
3795 case YY_STATE_EOF(S_surfxml_platform):
3796 case YY_STATE_EOF(S_surfxml_platform_4):
3797 case YY_STATE_EOF(S_surfxml_platform_6):
3798 case YY_STATE_EOF(E_surfxml_platform):
3799 FAIL("Premature EOF: `</platform>' expected.");
3803 /* rule 27 can match eol */
3805 FAIL("Starting tag <trace> is not allowed here.");
3808 /* rule 28 can match eol */
3811 AX_surfxml_trace_id = 0;
3812 AX_surfxml_trace_file = 0;
3813 AX_surfxml_trace_periodicity = 0;
3814 ENTER(AL_surfxml_trace); pushbuffer(0);
3819 /* rule 29 can match eol */
3821 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3824 /* rule 30 can match eol */
3826 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3829 /* rule 31 can match eol */
3831 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3834 /* rule 32 can match eol */
3836 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3839 /* rule 33 can match eol */
3841 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3844 /* rule 34 can match eol */
3846 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3851 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3852 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3853 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3859 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3860 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3861 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3863 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;
3864 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3865 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3866 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3867 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
3868 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3874 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3878 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3880 case YY_STATE_EOF(AL_surfxml_trace):
3881 FAIL("EOF in attribute list of `trace' element.");
3885 /* rule 39 can match eol */
3890 ETag_surfxml_trace();
3891 surfxml_pcdata_ix = popbuffer();
3892 popbuffer(); /* attribute */
3894 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;
3895 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3896 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3897 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3898 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
3899 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3904 /* rule 40 can match eol */
3906 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3908 case YY_STATE_EOF(IN_trace):
3909 FAIL("Premature EOF: `</trace>' expected.");
3913 /* rule 41 can match eol */
3915 FAIL("Starting tag <random> is not allowed here.");
3918 /* rule 42 can match eol */
3921 AX_surfxml_random_id = 0;
3922 AX_surfxml_random_min = 0;
3923 AX_surfxml_random_max = 0;
3924 AX_surfxml_random_mean = 0;
3925 AX_surfxml_random_std_deviation = 0;
3926 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3927 ENTER(AL_surfxml_random); pushbuffer(0);
3932 /* rule 43 can match eol */
3934 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3937 /* rule 44 can match eol */
3939 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3942 /* rule 45 can match eol */
3944 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3947 /* rule 46 can match eol */
3949 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3952 /* rule 47 can match eol */
3954 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3957 /* rule 48 can match eol */
3959 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3962 /* rule 49 can match eol */
3964 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3967 /* rule 50 can match eol */
3969 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3972 /* rule 51 can match eol */
3974 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
3977 /* rule 52 can match eol */
3979 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
3982 /* rule 53 can match eol */
3984 /* rule 54 can match eol */
3986 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3989 /* rule 55 can match eol */
3991 /* rule 56 can match eol */
3993 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3998 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3999 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4000 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4001 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4002 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4003 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4009 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4010 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4011 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4012 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4013 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4014 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4016 case S_surfxml_config: SET(E_surfxml_config); break;
4022 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4026 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4028 case YY_STATE_EOF(AL_surfxml_random):
4029 FAIL("EOF in attribute list of `random' element.");
4033 /* rule 61 can match eol */
4037 ETag_surfxml_random();
4038 popbuffer(); /* attribute */
4040 case S_surfxml_config: SET(E_surfxml_config); break;
4045 /* rule 62 can match eol */
4047 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4051 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4053 case YY_STATE_EOF(S_surfxml_random_2):
4054 case YY_STATE_EOF(S_surfxml_random):
4055 case YY_STATE_EOF(E_surfxml_random):
4056 FAIL("Premature EOF: `</random>' expected.");
4060 /* rule 64 can match eol */
4062 FAIL("Starting tag <trace_connect> is not allowed here.");
4065 /* rule 65 can match eol */
4068 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4069 AX_surfxml_trace_connect_trace = 0;
4070 AX_surfxml_trace_connect_element = 0;
4071 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4076 /* rule 66 can match eol */
4078 /* rule 67 can match eol */
4080 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4083 /* rule 68 can match eol */
4085 /* rule 69 can match eol */
4087 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4090 /* rule 70 can match eol */
4092 /* rule 71 can match eol */
4094 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4097 /* rule 72 can match eol */
4099 /* rule 73 can match eol */
4101 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4104 /* rule 74 can match eol */
4106 /* rule 75 can match eol */
4108 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4111 /* rule 76 can match eol */
4113 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4116 /* rule 77 can match eol */
4118 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4121 /* rule 78 can match eol */
4123 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4126 /* rule 79 can match eol */
4128 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4133 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4134 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4135 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4141 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4142 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4143 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4145 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;
4146 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4147 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4148 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4149 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4150 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4156 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4160 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4162 case YY_STATE_EOF(AL_surfxml_trace_connect):
4163 FAIL("EOF in attribute list of `trace_connect' element.");
4167 /* rule 84 can match eol */
4171 ETag_surfxml_trace_connect();
4172 popbuffer(); /* attribute */
4174 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;
4175 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4176 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4177 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4178 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4179 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4184 /* rule 85 can match eol */
4186 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4190 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4192 case YY_STATE_EOF(E_surfxml_trace_connect):
4193 FAIL("Premature EOF: `</trace_connect>' expected.");
4197 /* rule 87 can match eol */
4199 FAIL("Starting tag <AS> is not allowed here.");
4202 /* rule 88 can match eol */
4205 AX_surfxml_AS_id = 0;
4206 AX_surfxml_AS_routing = 0;
4207 ENTER(AL_surfxml_AS); pushbuffer(0);
4212 /* rule 89 can match eol */
4214 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4217 /* rule 90 can match eol */
4219 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4222 /* rule 91 can match eol */
4224 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4227 /* rule 92 can match eol */
4229 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4234 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4235 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4236 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4242 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4243 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4244 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4246 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4247 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4253 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4257 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4259 case YY_STATE_EOF(AL_surfxml_AS):
4260 FAIL("EOF in attribute list of `AS' element.");
4264 /* rule 97 can match eol */
4269 popbuffer(); /* attribute */
4271 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4272 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4277 /* rule 98 can match eol */
4279 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4283 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4285 case YY_STATE_EOF(S_surfxml_AS_1):
4286 case YY_STATE_EOF(S_surfxml_AS_9):
4287 case YY_STATE_EOF(S_surfxml_AS_11):
4288 case YY_STATE_EOF(S_surfxml_AS_6):
4289 case YY_STATE_EOF(E_surfxml_AS):
4290 case YY_STATE_EOF(S_surfxml_AS_3):
4291 case YY_STATE_EOF(S_surfxml_AS_13):
4292 case YY_STATE_EOF(S_surfxml_AS_8):
4293 case YY_STATE_EOF(S_surfxml_AS):
4294 case YY_STATE_EOF(S_surfxml_AS_4):
4295 FAIL("Premature EOF: `</AS>' expected.");
4299 /* rule 100 can match eol */
4301 FAIL("Starting tag <host> is not allowed here.");
4304 /* rule 101 can match eol */
4307 AX_surfxml_host_id = 0;
4308 AX_surfxml_host_power = 0;
4309 AX_surfxml_host_availability = 5;
4310 AX_surfxml_host_availability_file = 0;
4311 AX_surfxml_host_state = A_surfxml_host_state_ON;
4312 AX_surfxml_host_state_file = 0;
4313 AX_surfxml_host_vivaldi = 9;
4314 ENTER(AL_surfxml_host); pushbuffer(0);
4319 /* rule 102 can match eol */
4321 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4324 /* rule 103 can match eol */
4326 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4329 /* rule 104 can match eol */
4331 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4334 /* rule 105 can match eol */
4336 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4339 /* rule 106 can match eol */
4341 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4344 /* rule 107 can match eol */
4346 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4349 /* rule 108 can match eol */
4351 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4354 /* rule 109 can match eol */
4356 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4359 /* rule 110 can match eol */
4361 /* rule 111 can match eol */
4363 A_surfxml_host_state = A_surfxml_host_state_ON;
4366 /* rule 112 can match eol */
4368 /* rule 113 can match eol */
4370 A_surfxml_host_state = A_surfxml_host_state_OFF;
4373 /* rule 114 can match eol */
4375 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4378 /* rule 115 can match eol */
4380 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4383 /* rule 116 can match eol */
4385 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4388 /* rule 117 can match eol */
4390 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4395 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4396 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4397 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4403 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4404 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4405 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4407 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4413 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4417 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4419 case YY_STATE_EOF(AL_surfxml_host):
4420 FAIL("EOF in attribute list of `host' element.");
4424 /* rule 122 can match eol */
4428 ETag_surfxml_host();
4429 popbuffer(); /* attribute */
4431 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4436 /* rule 123 can match eol */
4438 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4442 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4444 case YY_STATE_EOF(S_surfxml_host):
4445 case YY_STATE_EOF(E_surfxml_host):
4446 case YY_STATE_EOF(S_surfxml_host_2):
4447 FAIL("Premature EOF: `</host>' expected.");
4451 /* rule 125 can match eol */
4453 FAIL("Starting tag <cluster> is not allowed here.");
4456 /* rule 126 can match eol */
4459 AX_surfxml_cluster_id = 0;
4460 AX_surfxml_cluster_prefix = 0;
4461 AX_surfxml_cluster_suffix = 0;
4462 AX_surfxml_cluster_radical = 0;
4463 AX_surfxml_cluster_power = 0;
4464 AX_surfxml_cluster_bw = 0;
4465 AX_surfxml_cluster_lat = 0;
4466 AX_surfxml_cluster_bb_bw = 0;
4467 AX_surfxml_cluster_bb_lat = 0;
4468 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4469 ENTER(AL_surfxml_cluster); pushbuffer(0);
4474 /* rule 127 can match eol */
4476 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4479 /* rule 128 can match eol */
4481 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4484 /* rule 129 can match eol */
4486 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4489 /* rule 130 can match eol */
4491 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4494 /* rule 131 can match eol */
4496 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4499 /* rule 132 can match eol */
4501 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4504 /* rule 133 can match eol */
4506 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4509 /* rule 134 can match eol */
4511 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4514 /* rule 135 can match eol */
4516 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4519 /* rule 136 can match eol */
4521 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4524 /* rule 137 can match eol */
4526 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4529 /* rule 138 can match eol */
4531 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4534 /* rule 139 can match eol */
4536 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4539 /* rule 140 can match eol */
4541 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4544 /* rule 141 can match eol */
4546 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4549 /* rule 142 can match eol */
4551 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4554 /* rule 143 can match eol */
4556 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4559 /* rule 144 can match eol */
4561 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4564 /* rule 145 can match eol */
4566 /* rule 146 can match eol */
4568 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4571 /* rule 147 can match eol */
4573 /* rule 148 can match eol */
4575 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4580 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4581 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4582 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4583 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4584 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4585 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4586 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4587 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4588 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4589 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4595 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4596 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4597 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4598 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4599 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4600 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4601 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4602 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4603 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4604 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4606 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4607 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4613 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4617 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4619 case YY_STATE_EOF(AL_surfxml_cluster):
4620 FAIL("EOF in attribute list of `cluster' element.");
4624 /* rule 153 can match eol */
4628 ETag_surfxml_cluster();
4629 popbuffer(); /* attribute */
4631 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4632 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4637 /* rule 154 can match eol */
4639 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4643 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4645 case YY_STATE_EOF(E_surfxml_cluster):
4646 FAIL("Premature EOF: `</cluster>' expected.");
4650 /* rule 156 can match eol */
4652 FAIL("Starting tag <router> is not allowed here.");
4655 /* rule 157 can match eol */
4658 AX_surfxml_router_id = 0;
4659 ENTER(AL_surfxml_router); pushbuffer(0);
4664 /* rule 158 can match eol */
4666 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4669 /* rule 159 can match eol */
4671 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4676 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4677 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4683 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4684 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4686 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4692 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4696 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4698 case YY_STATE_EOF(AL_surfxml_router):
4699 FAIL("EOF in attribute list of `router' element.");
4703 /* rule 164 can match eol */
4707 ETag_surfxml_router();
4708 popbuffer(); /* attribute */
4710 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4715 /* rule 165 can match eol */
4717 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4721 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4723 case YY_STATE_EOF(E_surfxml_router):
4724 FAIL("Premature EOF: `</router>' expected.");
4728 /* rule 167 can match eol */
4730 FAIL("Starting tag <link> is not allowed here.");
4733 /* rule 168 can match eol */
4736 AX_surfxml_link_id = 0;
4737 AX_surfxml_link_bandwidth = 0;
4738 AX_surfxml_link_bandwidth_file = 0;
4739 AX_surfxml_link_latency = 15;
4740 AX_surfxml_link_latency_file = 0;
4741 AX_surfxml_link_state = A_surfxml_link_state_ON;
4742 AX_surfxml_link_state_file = 0;
4743 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4744 ENTER(AL_surfxml_link); pushbuffer(0);
4749 /* rule 169 can match eol */
4751 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4754 /* rule 170 can match eol */
4756 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4759 /* rule 171 can match eol */
4761 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4764 /* rule 172 can match eol */
4766 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4769 /* rule 173 can match eol */
4771 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4774 /* rule 174 can match eol */
4776 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4779 /* rule 175 can match eol */
4781 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4784 /* rule 176 can match eol */
4786 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4789 /* rule 177 can match eol */
4791 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4794 /* rule 178 can match eol */
4796 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4799 /* rule 179 can match eol */
4801 /* rule 180 can match eol */
4803 A_surfxml_link_state = A_surfxml_link_state_ON;
4806 /* rule 181 can match eol */
4808 /* rule 182 can match eol */
4810 A_surfxml_link_state = A_surfxml_link_state_OFF;
4813 /* rule 183 can match eol */
4815 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4818 /* rule 184 can match eol */
4820 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4823 /* rule 185 can match eol */
4825 /* rule 186 can match eol */
4827 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4830 /* rule 187 can match eol */
4832 /* rule 188 can match eol */
4834 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4837 /* rule 189 can match eol */
4839 /* rule 190 can match eol */
4841 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
4846 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4847 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4848 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4854 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4855 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4856 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4858 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4859 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4865 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4869 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4871 case YY_STATE_EOF(AL_surfxml_link):
4872 FAIL("EOF in attribute list of `link' element.");
4876 /* rule 195 can match eol */
4880 ETag_surfxml_link();
4881 popbuffer(); /* attribute */
4883 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4884 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4889 /* rule 196 can match eol */
4891 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4895 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4897 case YY_STATE_EOF(E_surfxml_link):
4898 case YY_STATE_EOF(S_surfxml_link_2):
4899 case YY_STATE_EOF(S_surfxml_link):
4900 FAIL("Premature EOF: `</link>' expected.");
4904 /* rule 198 can match eol */
4906 FAIL("Starting tag <route> is not allowed here.");
4909 /* rule 199 can match eol */
4912 AX_surfxml_route_src = 0;
4913 AX_surfxml_route_dst = 0;
4914 AX_surfxml_route_symetrical = A_surfxml_route_symetrical_NO;
4915 ENTER(AL_surfxml_route); pushbuffer(0);
4920 /* rule 200 can match eol */
4922 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4925 /* rule 201 can match eol */
4927 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4930 /* rule 202 can match eol */
4932 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4935 /* rule 203 can match eol */
4937 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4940 /* rule 204 can match eol */
4942 /* rule 205 can match eol */
4944 A_surfxml_route_symetrical = A_surfxml_route_symetrical_YES;
4947 /* rule 206 can match eol */
4949 /* rule 207 can match eol */
4951 A_surfxml_route_symetrical = A_surfxml_route_symetrical_NO;
4956 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4957 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4958 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
4964 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4965 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4966 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
4968 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;
4974 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
4978 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
4980 case YY_STATE_EOF(AL_surfxml_route):
4981 FAIL("EOF in attribute list of `route' element.");
4985 /* rule 212 can match eol */
4989 ETag_surfxml_route();
4990 popbuffer(); /* attribute */
4992 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;
4997 /* rule 213 can match eol */
4999 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5003 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5005 case YY_STATE_EOF(S_surfxml_route):
5006 case YY_STATE_EOF(S_surfxml_route_2):
5007 case YY_STATE_EOF(E_surfxml_route):
5008 FAIL("Premature EOF: `</route>' expected.");
5012 /* rule 215 can match eol */
5014 FAIL("Starting tag <ASroute> is not allowed here.");
5017 /* rule 216 can match eol */
5020 AX_surfxml_ASroute_src = 0;
5021 AX_surfxml_ASroute_dst = 0;
5022 AX_surfxml_ASroute_gw_src = 0;
5023 AX_surfxml_ASroute_gw_dst = 0;
5024 AX_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_NO;
5025 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5030 /* rule 217 can match eol */
5032 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5035 /* rule 218 can match eol */
5037 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5040 /* rule 219 can match eol */
5042 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5045 /* rule 220 can match eol */
5047 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5050 /* rule 221 can match eol */
5052 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5055 /* rule 222 can match eol */
5057 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5060 /* rule 223 can match eol */
5062 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5065 /* rule 224 can match eol */
5067 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5070 /* rule 225 can match eol */
5072 /* rule 226 can match eol */
5074 A_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_YES;
5077 /* rule 227 can match eol */
5079 /* rule 228 can match eol */
5081 A_surfxml_ASroute_symetrical = A_surfxml_ASroute_symetrical_NO;
5086 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5087 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5088 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5089 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5090 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5096 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5097 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5098 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5099 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5100 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5102 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;
5108 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5112 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5114 case YY_STATE_EOF(AL_surfxml_ASroute):
5115 FAIL("EOF in attribute list of `ASroute' element.");
5119 /* rule 233 can match eol */
5123 ETag_surfxml_ASroute();
5124 popbuffer(); /* attribute */
5126 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;
5131 /* rule 234 can match eol */
5133 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5137 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5139 case YY_STATE_EOF(E_surfxml_ASroute):
5140 case YY_STATE_EOF(S_surfxml_ASroute):
5141 case YY_STATE_EOF(S_surfxml_ASroute_2):
5142 FAIL("Premature EOF: `</ASroute>' expected.");
5146 /* rule 236 can match eol */
5148 FAIL("Starting tag <link_ctn> is not allowed here.");
5151 /* rule 237 can match eol */
5154 AX_surfxml_link_ctn_id = 0;
5155 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5156 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5161 /* rule 238 can match eol */
5163 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5166 /* rule 239 can match eol */
5168 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5171 /* rule 240 can match eol */
5173 /* rule 241 can match eol */
5175 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5178 /* rule 242 can match eol */
5180 /* rule 243 can match eol */
5182 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5185 /* rule 244 can match eol */
5187 /* rule 245 can match eol */
5189 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5194 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5195 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5201 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5202 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5204 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5205 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5206 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5212 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5216 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5218 case YY_STATE_EOF(AL_surfxml_link_ctn):
5219 FAIL("EOF in attribute list of `link_ctn' element.");
5223 /* rule 250 can match eol */
5227 ETag_surfxml_link_ctn();
5228 popbuffer(); /* attribute */
5230 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5231 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5232 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5237 /* rule 251 can match eol */
5239 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5243 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5245 case YY_STATE_EOF(E_surfxml_link_ctn):
5246 FAIL("Premature EOF: `</link_ctn>' expected.");
5250 /* rule 253 can match eol */
5252 FAIL("Starting tag <bypassRoute> is not allowed here.");
5255 /* rule 254 can match eol */
5258 AX_surfxml_bypassRoute_src = 0;
5259 AX_surfxml_bypassRoute_dst = 0;
5260 AX_surfxml_bypassRoute_gw_src = 0;
5261 AX_surfxml_bypassRoute_gw_dst = 0;
5262 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5267 /* rule 255 can match eol */
5269 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5272 /* rule 256 can match eol */
5274 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5277 /* rule 257 can match eol */
5279 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5282 /* rule 258 can match eol */
5284 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5287 /* rule 259 can match eol */
5289 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5292 /* rule 260 can match eol */
5294 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5297 /* rule 261 can match eol */
5299 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5302 /* rule 262 can match eol */
5304 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5309 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5310 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5311 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5312 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5313 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5319 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5320 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5321 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5322 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5323 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5325 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;
5331 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5335 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5337 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5338 FAIL("EOF in attribute list of `bypassRoute' element.");
5342 /* rule 267 can match eol */
5346 ETag_surfxml_bypassRoute();
5347 popbuffer(); /* attribute */
5349 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;
5354 /* rule 268 can match eol */
5356 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5360 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5362 case YY_STATE_EOF(S_surfxml_bypassRoute):
5363 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5364 case YY_STATE_EOF(E_surfxml_bypassRoute):
5365 FAIL("Premature EOF: `</bypassRoute>' expected.");
5369 /* rule 270 can match eol */
5371 FAIL("Starting tag <process> is not allowed here.");
5374 /* rule 271 can match eol */
5377 AX_surfxml_process_host = 0;
5378 AX_surfxml_process_function = 0;
5379 AX_surfxml_process_start_time = 19;
5380 AX_surfxml_process_kill_time = 24;
5381 ENTER(AL_surfxml_process); pushbuffer(0);
5386 /* rule 272 can match eol */
5388 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5391 /* rule 273 can match eol */
5393 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5396 /* rule 274 can match eol */
5398 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5401 /* rule 275 can match eol */
5403 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5406 /* rule 276 can match eol */
5408 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5411 /* rule 277 can match eol */
5413 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5416 /* rule 278 can match eol */
5418 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5421 /* rule 279 can match eol */
5423 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5428 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5429 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5430 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5436 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5437 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5438 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5440 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5446 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5450 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5452 case YY_STATE_EOF(AL_surfxml_process):
5453 FAIL("EOF in attribute list of `process' element.");
5457 /* rule 284 can match eol */
5461 ETag_surfxml_process();
5462 popbuffer(); /* attribute */
5464 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5469 /* rule 285 can match eol */
5471 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5475 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5477 case YY_STATE_EOF(E_surfxml_process):
5478 case YY_STATE_EOF(S_surfxml_process):
5479 case YY_STATE_EOF(S_surfxml_process_2):
5480 FAIL("Premature EOF: `</process>' expected.");
5484 /* rule 287 can match eol */
5486 FAIL("Starting tag <argument> is not allowed here.");
5489 /* rule 288 can match eol */
5492 AX_surfxml_argument_value = 0;
5493 ENTER(AL_surfxml_argument); pushbuffer(0);
5498 /* rule 289 can match eol */
5500 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5503 /* rule 290 can match eol */
5505 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5510 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5511 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5517 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5518 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5520 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5526 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5530 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5532 case YY_STATE_EOF(AL_surfxml_argument):
5533 FAIL("EOF in attribute list of `argument' element.");
5537 /* rule 295 can match eol */
5541 ETag_surfxml_argument();
5542 popbuffer(); /* attribute */
5544 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5549 /* rule 296 can match eol */
5551 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5555 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5557 case YY_STATE_EOF(E_surfxml_argument):
5558 FAIL("Premature EOF: `</argument>' expected.");
5562 /* rule 298 can match eol */
5564 FAIL("Starting tag <config> is not allowed here.");
5567 /* rule 299 can match eol */
5570 AX_surfxml_config_id = 0;
5571 ENTER(AL_surfxml_config); pushbuffer(0);
5576 /* rule 300 can match eol */
5578 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
5581 /* rule 301 can match eol */
5583 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
5588 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
5594 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
5596 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5602 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
5606 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
5608 case YY_STATE_EOF(AL_surfxml_config):
5609 FAIL("EOF in attribute list of `config' element.");
5613 /* rule 306 can match eol */
5617 ETag_surfxml_config();
5618 popbuffer(); /* attribute */
5620 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5625 /* rule 307 can match eol */
5627 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
5631 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
5633 case YY_STATE_EOF(S_surfxml_config):
5634 case YY_STATE_EOF(S_surfxml_config_2):
5635 case YY_STATE_EOF(E_surfxml_config):
5636 FAIL("Premature EOF: `</config>' expected.");
5639 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5640 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5642 /* rule 309 can match eol */
5644 FAIL("Starting tag <prop> is not allowed here.");
5647 /* rule 310 can match eol */
5650 AX_surfxml_prop_id = 0;
5651 AX_surfxml_prop_value = 0;
5652 ENTER(AL_surfxml_prop); pushbuffer(0);
5657 /* rule 311 can match eol */
5659 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5662 /* rule 312 can match eol */
5664 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5667 /* rule 313 can match eol */
5669 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5672 /* rule 314 can match eol */
5674 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5679 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5680 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5681 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5687 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5688 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5689 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5691 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5692 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5693 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5694 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5695 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5701 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5705 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5707 case YY_STATE_EOF(AL_surfxml_prop):
5708 FAIL("EOF in attribute list of `prop' element.");
5712 /* rule 319 can match eol */
5716 ETag_surfxml_prop();
5717 popbuffer(); /* attribute */
5719 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5720 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5721 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5722 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5723 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5728 /* rule 320 can match eol */
5730 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5734 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5736 case YY_STATE_EOF(E_surfxml_prop):
5737 FAIL("Premature EOF: `</prop>' expected.");
5740 /* EPILOG: after the root element. */
5744 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5746 case YY_STATE_EOF(EPILOG):
5750 /* CHARACTER DATA. */
5752 /* Non-defined standard entities... */
5773 /* Character entities. */
5776 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5780 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5784 /* rule 330 can match eol */
5786 /* rule 331 can match eol */
5788 /* rule 332 can match eol */
5790 /* rule 333 can match eol */
5801 FAIL("Unexpected `]""]>' in character data.");
5808 case YY_STATE_EOF(VALUE1):
5809 FAIL("EOF in literal (\"'\" expected).");
5816 case YY_STATE_EOF(VALUE2):
5817 FAIL("EOF in literal (`\"' expected).");
5821 /* rule 338 can match eol */
5823 BUFFERPUTC(surf_parse_text[0]);
5827 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5834 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5837 BUFFERPUTC(surf_parse_text[0]);
5839 case YY_STATE_EOF(CDATA):
5840 FAIL("EOF in CDATA section.");
5843 /* Impossible rules to avoid warnings from flex(1). */
5844 /* Ideally, this should be replaced by code in flexml.pl that
5845 generates just the states not covered by other rules. */
5848 /* rule 342 can match eol */
5850 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5857 case YY_STATE_EOF(INITIAL):
5858 case YY_STATE_EOF(ROOT_surfxml_platform):
5859 case YY_STATE_EOF(S_surfxml_platform_3):
5860 case YY_STATE_EOF(S_surfxml_platform_5):
5861 case YY_STATE_EOF(S_surfxml_random_1):
5862 case YY_STATE_EOF(S_surfxml_AS_2):
5863 case YY_STATE_EOF(S_surfxml_AS_5):
5864 case YY_STATE_EOF(S_surfxml_AS_7):
5865 case YY_STATE_EOF(S_surfxml_AS_10):
5866 case YY_STATE_EOF(S_surfxml_AS_12):
5867 case YY_STATE_EOF(S_surfxml_host_1):
5868 case YY_STATE_EOF(S_surfxml_link_1):
5869 case YY_STATE_EOF(S_surfxml_route_1):
5870 case YY_STATE_EOF(S_surfxml_ASroute_1):
5871 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5872 case YY_STATE_EOF(S_surfxml_process_1):
5873 case YY_STATE_EOF(S_surfxml_config_1):
5874 case YY_STATE_EOF(IMPOSSIBLE):
5877 case YY_END_OF_BUFFER:
5879 /* Amount of text matched not including the EOB char. */
5880 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5882 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5883 *yy_cp = (yy_hold_char);
5884 YY_RESTORE_YY_MORE_OFFSET
5886 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5888 /* We're scanning a new file or input source. It's
5889 * possible that this happened because the user
5890 * just pointed surf_parse_in at a new source and called
5891 * surf_parse_lex(). If so, then we have to assure
5892 * consistency between YY_CURRENT_BUFFER and our
5893 * globals. Here is the right place to do so, because
5894 * this is the first action (other than possibly a
5895 * back-up) that will match for the new input source.
5897 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5898 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5899 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5902 /* Note that here we test for yy_c_buf_p "<=" to the position
5903 * of the first EOB in the buffer, since yy_c_buf_p will
5904 * already have been incremented past the NUL character
5905 * (since all states make transitions on EOB to the
5906 * end-of-buffer state). Contrast this with the test
5909 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5910 { /* This was really a NUL. */
5911 yy_state_type yy_next_state;
5913 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5915 yy_current_state = yy_get_previous_state( );
5917 /* Okay, we're now positioned to make the NUL
5918 * transition. We couldn't have
5919 * yy_get_previous_state() go ahead and do it
5920 * for us because it doesn't know how to deal
5921 * with the possibility of jamming (and we don't
5922 * want to build jamming into it because then it
5923 * will run more slowly).
5926 yy_next_state = yy_try_NUL_trans( yy_current_state );
5928 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5930 if ( yy_next_state )
5932 /* Consume the NUL. */
5933 yy_cp = ++(yy_c_buf_p);
5934 yy_current_state = yy_next_state;
5940 yy_cp = (yy_c_buf_p);
5941 goto yy_find_action;
5945 else switch ( yy_get_next_buffer( ) )
5947 case EOB_ACT_END_OF_FILE:
5949 (yy_did_buffer_switch_on_eof) = 0;
5951 if ( surf_parse_wrap( ) )
5953 /* Note: because we've taken care in
5954 * yy_get_next_buffer() to have set up
5955 * surf_parse_text, we can now set up
5956 * yy_c_buf_p so that if some total
5957 * hoser (like flex itself) wants to
5958 * call the scanner after we return the
5959 * YY_NULL, it'll still work - another
5960 * YY_NULL will get returned.
5962 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5964 yy_act = YY_STATE_EOF(YY_START);
5970 if ( ! (yy_did_buffer_switch_on_eof) )
5976 case EOB_ACT_CONTINUE_SCAN:
5978 (yytext_ptr) + yy_amount_of_matched_text;
5980 yy_current_state = yy_get_previous_state( );
5982 yy_cp = (yy_c_buf_p);
5983 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5986 case EOB_ACT_LAST_MATCH:
5988 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5990 yy_current_state = yy_get_previous_state( );
5992 yy_cp = (yy_c_buf_p);
5993 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5994 goto yy_find_action;
6001 "fatal flex scanner internal error--no action found" );
6002 } /* end of action switch */
6003 } /* end of scanning one token */
6004 } /* end of surf_parse_lex */
6006 /* yy_get_next_buffer - try to read in a new buffer
6008 * Returns a code representing an action:
6009 * EOB_ACT_LAST_MATCH -
6010 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6011 * EOB_ACT_END_OF_FILE - end of file
6013 static int yy_get_next_buffer (void)
6015 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6016 register char *source = (yytext_ptr);
6017 register int number_to_move, i;
6020 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6022 "fatal flex scanner internal error--end of buffer missed" );
6024 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6025 { /* Don't try to fill the buffer, so this is an EOF. */
6026 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6028 /* We matched a single character, the EOB, so
6029 * treat this as a final EOF.
6031 return EOB_ACT_END_OF_FILE;
6036 /* We matched some text prior to the EOB, first
6039 return EOB_ACT_LAST_MATCH;
6043 /* Try to read more data. */
6045 /* First move last chars to start of buffer. */
6046 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6048 for ( i = 0; i < number_to_move; ++i )
6049 *(dest++) = *(source++);
6051 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6052 /* don't do the read, it's not guaranteed to return an EOF,
6055 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6060 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6062 while ( num_to_read <= 0 )
6063 { /* Not enough room in the buffer - grow it. */
6065 /* just a shorter name for the current buffer */
6066 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6068 int yy_c_buf_p_offset =
6069 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6071 if ( b->yy_is_our_buffer )
6073 int new_size = b->yy_buf_size * 2;
6075 if ( new_size <= 0 )
6076 b->yy_buf_size += b->yy_buf_size / 8;
6078 b->yy_buf_size *= 2;
6080 b->yy_ch_buf = (char *)
6081 /* Include room in for 2 EOB chars. */
6082 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6085 /* Can't grow it, we don't own it. */
6088 if ( ! b->yy_ch_buf )
6090 "fatal error - scanner input buffer overflow" );
6092 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6094 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6099 if ( num_to_read > YY_READ_BUF_SIZE )
6100 num_to_read = YY_READ_BUF_SIZE;
6102 /* Read in more data. */
6103 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6104 (yy_n_chars), (size_t) num_to_read );
6106 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6109 if ( (yy_n_chars) == 0 )
6111 if ( number_to_move == YY_MORE_ADJ )
6113 ret_val = EOB_ACT_END_OF_FILE;
6114 surf_parse_restart(surf_parse_in );
6119 ret_val = EOB_ACT_LAST_MATCH;
6120 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6121 YY_BUFFER_EOF_PENDING;
6126 ret_val = EOB_ACT_CONTINUE_SCAN;
6128 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6129 /* Extend the array by 50%, plus the number we really need. */
6130 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6131 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6132 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6133 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6136 (yy_n_chars) += number_to_move;
6137 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6138 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6140 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6145 /* yy_get_previous_state - get the state just before the EOB char was reached */
6147 static yy_state_type yy_get_previous_state (void)
6149 register yy_state_type yy_current_state;
6150 register char *yy_cp;
6152 yy_current_state = (yy_start);
6154 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6156 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6157 if ( yy_accept[yy_current_state] )
6159 (yy_last_accepting_state) = yy_current_state;
6160 (yy_last_accepting_cpos) = yy_cp;
6162 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6164 yy_current_state = (int) yy_def[yy_current_state];
6165 if ( yy_current_state >= 1970 )
6166 yy_c = yy_meta[(unsigned int) yy_c];
6168 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6171 return yy_current_state;
6174 /* yy_try_NUL_trans - try to make a transition on the NUL character
6177 * next_state = yy_try_NUL_trans( current_state );
6179 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6181 register int yy_is_jam;
6182 register char *yy_cp = (yy_c_buf_p);
6184 register YY_CHAR yy_c = 1;
6185 if ( yy_accept[yy_current_state] )
6187 (yy_last_accepting_state) = yy_current_state;
6188 (yy_last_accepting_cpos) = yy_cp;
6190 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6192 yy_current_state = (int) yy_def[yy_current_state];
6193 if ( yy_current_state >= 1970 )
6194 yy_c = yy_meta[(unsigned int) yy_c];
6196 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6197 yy_is_jam = (yy_current_state == 1969);
6199 return yy_is_jam ? 0 : yy_current_state;
6204 static int yyinput (void)
6206 static int input (void)
6212 *(yy_c_buf_p) = (yy_hold_char);
6214 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6216 /* yy_c_buf_p now points to the character we want to return.
6217 * If this occurs *before* the EOB characters, then it's a
6218 * valid NUL; if not, then we've hit the end of the buffer.
6220 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6221 /* This was really a NUL. */
6222 *(yy_c_buf_p) = '\0';
6225 { /* need more input */
6226 int offset = (yy_c_buf_p) - (yytext_ptr);
6229 switch ( yy_get_next_buffer( ) )
6231 case EOB_ACT_LAST_MATCH:
6232 /* This happens because yy_g_n_b()
6233 * sees that we've accumulated a
6234 * token and flags that we need to
6235 * try matching the token before
6236 * proceeding. But for input(),
6237 * there's no matching to consider.
6238 * So convert the EOB_ACT_LAST_MATCH
6239 * to EOB_ACT_END_OF_FILE.
6242 /* Reset buffer status. */
6243 surf_parse_restart(surf_parse_in );
6247 case EOB_ACT_END_OF_FILE:
6249 if ( surf_parse_wrap( ) )
6252 if ( ! (yy_did_buffer_switch_on_eof) )
6261 case EOB_ACT_CONTINUE_SCAN:
6262 (yy_c_buf_p) = (yytext_ptr) + offset;
6268 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6269 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6270 (yy_hold_char) = *++(yy_c_buf_p);
6274 surf_parse_lineno++;
6279 #endif /* ifndef YY_NO_INPUT */
6281 /** Immediately switch to a different input stream.
6282 * @param input_file A readable stream.
6284 * @note This function does not reset the start condition to @c INITIAL .
6286 void surf_parse_restart (FILE * input_file )
6289 if ( ! YY_CURRENT_BUFFER ){
6290 surf_parse_ensure_buffer_stack ();
6291 YY_CURRENT_BUFFER_LVALUE =
6292 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6295 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6296 surf_parse__load_buffer_state( );
6299 /** Switch to a different input buffer.
6300 * @param new_buffer The new input buffer.
6303 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6306 /* TODO. We should be able to replace this entire function body
6308 * surf_parse_pop_buffer_state();
6309 * surf_parse_push_buffer_state(new_buffer);
6311 surf_parse_ensure_buffer_stack ();
6312 if ( YY_CURRENT_BUFFER == new_buffer )
6315 if ( YY_CURRENT_BUFFER )
6317 /* Flush out information for old buffer. */
6318 *(yy_c_buf_p) = (yy_hold_char);
6319 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6320 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6323 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6324 surf_parse__load_buffer_state( );
6326 /* We don't actually know whether we did this switch during
6327 * EOF (surf_parse_wrap()) processing, but the only time this flag
6328 * is looked at is after surf_parse_wrap() is called, so it's safe
6329 * to go ahead and always set it.
6331 (yy_did_buffer_switch_on_eof) = 1;
6334 static void surf_parse__load_buffer_state (void)
6336 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6337 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6338 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6339 (yy_hold_char) = *(yy_c_buf_p);
6342 /** Allocate and initialize an input buffer state.
6343 * @param file A readable stream.
6344 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6346 * @return the allocated buffer state.
6348 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6352 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6354 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6356 b->yy_buf_size = size;
6358 /* yy_ch_buf has to be 2 characters longer than the size given because
6359 * we need to put in 2 end-of-buffer characters.
6361 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6362 if ( ! b->yy_ch_buf )
6363 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6365 b->yy_is_our_buffer = 1;
6367 surf_parse__init_buffer(b,file );
6372 /** Destroy the buffer.
6373 * @param b a buffer created with surf_parse__create_buffer()
6376 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6382 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6383 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6385 if ( b->yy_is_our_buffer )
6386 surf_parse_free((void *) b->yy_ch_buf );
6388 surf_parse_free((void *) b );
6392 extern int isatty (int );
6393 #endif /* __cplusplus */
6395 /* Initializes or reinitializes a buffer.
6396 * This function is sometimes called more than once on the same buffer,
6397 * such as during a surf_parse_restart() or at EOF.
6399 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6404 surf_parse__flush_buffer(b );
6406 b->yy_input_file = file;
6407 b->yy_fill_buffer = 1;
6409 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6410 * called from surf_parse_restart() or through yy_get_next_buffer.
6411 * In that case, we don't want to reset the lineno or column.
6413 if (b != YY_CURRENT_BUFFER){
6414 b->yy_bs_lineno = 1;
6415 b->yy_bs_column = 0;
6418 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6423 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6424 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6427 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6434 /* We always need two end-of-buffer characters. The first causes
6435 * a transition to the end-of-buffer state. The second causes
6436 * a jam in that state.
6438 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6439 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6441 b->yy_buf_pos = &b->yy_ch_buf[0];
6444 b->yy_buffer_status = YY_BUFFER_NEW;
6446 if ( b == YY_CURRENT_BUFFER )
6447 surf_parse__load_buffer_state( );
6450 /** Pushes the new state onto the stack. The new state becomes
6451 * the current state. This function will allocate the stack
6453 * @param new_buffer The new state.
6456 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6458 if (new_buffer == NULL)
6461 surf_parse_ensure_buffer_stack();
6463 /* This block is copied from surf_parse__switch_to_buffer. */
6464 if ( YY_CURRENT_BUFFER )
6466 /* Flush out information for old buffer. */
6467 *(yy_c_buf_p) = (yy_hold_char);
6468 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6469 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6472 /* Only push if top exists. Otherwise, replace top. */
6473 if (YY_CURRENT_BUFFER)
6474 (yy_buffer_stack_top)++;
6475 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6477 /* copied from surf_parse__switch_to_buffer. */
6478 surf_parse__load_buffer_state( );
6479 (yy_did_buffer_switch_on_eof) = 1;
6482 /** Removes and deletes the top of the stack, if present.
6483 * The next element becomes the new top.
6486 void surf_parse_pop_buffer_state (void)
6488 if (!YY_CURRENT_BUFFER)
6491 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6492 YY_CURRENT_BUFFER_LVALUE = NULL;
6493 if ((yy_buffer_stack_top) > 0)
6494 --(yy_buffer_stack_top);
6496 if (YY_CURRENT_BUFFER) {
6497 surf_parse__load_buffer_state( );
6498 (yy_did_buffer_switch_on_eof) = 1;
6502 /* Allocates the stack if it does not exist.
6503 * Guarantees space for at least one push.
6505 static void surf_parse_ensure_buffer_stack (void)
6509 if (!(yy_buffer_stack)) {
6511 /* First allocation is just for 2 elements, since we don't know if this
6512 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6513 * immediate realloc on the next call.
6516 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6517 (num_to_alloc * sizeof(struct yy_buffer_state*)
6519 if ( ! (yy_buffer_stack) )
6520 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6522 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6524 (yy_buffer_stack_max) = num_to_alloc;
6525 (yy_buffer_stack_top) = 0;
6529 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6531 /* Increase the buffer to prepare for a possible push. */
6532 int grow_size = 8 /* arbitrary grow size */;
6534 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6535 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6537 num_to_alloc * sizeof(struct yy_buffer_state*)
6539 if ( ! (yy_buffer_stack) )
6540 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6542 /* zero only the new slots.*/
6543 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6544 (yy_buffer_stack_max) = num_to_alloc;
6548 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6549 * @param base the character buffer
6550 * @param size the size in bytes of the character buffer
6552 * @return the newly allocated buffer state object.
6554 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6559 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6560 base[size-1] != YY_END_OF_BUFFER_CHAR )
6561 /* They forgot to leave room for the EOB's. */
6564 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6566 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6568 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6569 b->yy_buf_pos = b->yy_ch_buf = base;
6570 b->yy_is_our_buffer = 0;
6571 b->yy_input_file = 0;
6572 b->yy_n_chars = b->yy_buf_size;
6573 b->yy_is_interactive = 0;
6575 b->yy_fill_buffer = 0;
6576 b->yy_buffer_status = YY_BUFFER_NEW;
6578 surf_parse__switch_to_buffer(b );
6583 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6584 * scan from a @e copy of @a str.
6585 * @param yystr a NUL-terminated string to scan
6587 * @return the newly allocated buffer state object.
6588 * @note If you want to scan bytes that may contain NUL values, then use
6589 * surf_parse__scan_bytes() instead.
6591 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6594 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6597 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6598 * scan from a @e copy of @a bytes.
6599 * @param yybytes the byte buffer to scan
6600 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6602 * @return the newly allocated buffer state object.
6604 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6611 /* Get memory for full buffer, including space for trailing EOB's. */
6612 n = _yybytes_len + 2;
6613 buf = (char *) surf_parse_alloc(n );
6615 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6617 for ( i = 0; i < _yybytes_len; ++i )
6618 buf[i] = yybytes[i];
6620 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6622 b = surf_parse__scan_buffer(buf,n );
6624 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6626 /* It's okay to grow etc. this buffer, and we should throw it
6627 * away when we're done.
6629 b->yy_is_our_buffer = 1;
6634 static void yy_push_state (int new_state )
6636 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6640 (yy_start_stack_depth) += YY_START_STACK_INCR;
6641 new_size = (yy_start_stack_depth) * sizeof( int );
6643 if ( ! (yy_start_stack) )
6644 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6647 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6649 if ( ! (yy_start_stack) )
6650 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6653 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6658 static void yy_pop_state (void)
6660 if ( --(yy_start_stack_ptr) < 0 )
6661 YY_FATAL_ERROR( "start-condition stack underflow" );
6663 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6666 #ifndef YY_EXIT_FAILURE
6667 #define YY_EXIT_FAILURE 2
6670 static void yy_fatal_error (yyconst char* msg )
6672 (void) fprintf( stderr, "%s\n", msg );
6673 exit( YY_EXIT_FAILURE );
6676 /* Redefine yyless() so it works in section 3 code. */
6682 /* Undo effects of setting up surf_parse_text. */ \
6683 int yyless_macro_arg = (n); \
6684 YY_LESS_LINENO(yyless_macro_arg);\
6685 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6686 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6687 (yy_hold_char) = *(yy_c_buf_p); \
6688 *(yy_c_buf_p) = '\0'; \
6689 surf_parse_leng = yyless_macro_arg; \
6693 /* Accessor methods (get/set functions) to struct members. */
6695 /** Get the current line number.
6698 int surf_parse_get_lineno (void)
6701 return surf_parse_lineno;
6704 /** Get the input stream.
6707 FILE *surf_parse_get_in (void)
6709 return surf_parse_in;
6712 /** Get the output stream.
6715 FILE *surf_parse_get_out (void)
6717 return surf_parse_out;
6720 /** Get the length of the current token.
6723 int surf_parse_get_leng (void)
6725 return surf_parse_leng;
6728 /** Get the current token.
6732 char *surf_parse_get_text (void)
6734 return surf_parse_text;
6737 /** Set the current line number.
6738 * @param line_number
6741 void surf_parse_set_lineno (int line_number )
6744 surf_parse_lineno = line_number;
6747 /** Set the input stream. This does not discard the current
6749 * @param in_str A readable stream.
6751 * @see surf_parse__switch_to_buffer
6753 void surf_parse_set_in (FILE * in_str )
6755 surf_parse_in = in_str ;
6758 void surf_parse_set_out (FILE * out_str )
6760 surf_parse_out = out_str ;
6763 int surf_parse_get_debug (void)
6765 return surf_parse__flex_debug;
6768 void surf_parse_set_debug (int bdebug )
6770 surf_parse__flex_debug = bdebug ;
6773 static int yy_init_globals (void)
6775 /* Initialization is the same as for the non-reentrant scanner.
6776 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6779 /* We do not touch surf_parse_lineno unless the option is enabled. */
6780 surf_parse_lineno = 1;
6782 (yy_buffer_stack) = 0;
6783 (yy_buffer_stack_top) = 0;
6784 (yy_buffer_stack_max) = 0;
6785 (yy_c_buf_p) = (char *) 0;
6789 (yy_start_stack_ptr) = 0;
6790 (yy_start_stack_depth) = 0;
6791 (yy_start_stack) = NULL;
6793 /* Defined in main.c */
6795 surf_parse_in = stdin;
6796 surf_parse_out = stdout;
6798 surf_parse_in = (FILE *) 0;
6799 surf_parse_out = (FILE *) 0;
6802 /* For future reference: Set errno on error, since we are called by
6803 * surf_parse_lex_init()
6808 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6809 int surf_parse_lex_destroy (void)
6812 /* Pop the buffer stack, destroying each element. */
6813 while(YY_CURRENT_BUFFER){
6814 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6815 YY_CURRENT_BUFFER_LVALUE = NULL;
6816 surf_parse_pop_buffer_state();
6819 /* Destroy the stack itself. */
6820 surf_parse_free((yy_buffer_stack) );
6821 (yy_buffer_stack) = NULL;
6823 /* Destroy the start condition stack. */
6824 surf_parse_free((yy_start_stack) );
6825 (yy_start_stack) = NULL;
6827 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6828 * surf_parse_lex() is called, initialization will occur. */
6835 * Internal utility routines.
6839 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6842 for ( i = 0; i < n; ++i )
6847 #ifdef YY_NEED_STRLEN
6848 static int yy_flex_strlen (yyconst char * s )
6851 for ( n = 0; s[n]; ++n )
6858 void *surf_parse_alloc (yy_size_t size )
6860 return (void *) malloc( size );
6863 void *surf_parse_realloc (void * ptr, yy_size_t size )
6865 /* The cast to (char *) in the following accommodates both
6866 * implementations that use char* generic pointers, and those
6867 * that use void* generic pointers. It works with the latter
6868 * because both ANSI C and C++ allow castless assignment from
6869 * any pointer type to void*, and deal with argument conversions
6870 * as though doing an assignment.
6872 return (void *) realloc( (char *) ptr, size );
6875 void surf_parse_free (void * ptr )
6877 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6880 #define YYTABLES_NAME "yytables"
6882 /* Element context stack lookup. */
6883 int surfxml_element_context(int i)
6885 return (0<i && i<yy_start_stack_depth
6886 ? yy_start_stack[yy_start_stack_ptr - i]
6891 void print_yy_stack(char* fmt, ...)
6893 int i = 0; va_list ap; va_start(ap, fmt);
6894 vfprintf(stderr, fmt, ap);
6895 if (surfxml_statenames) {
6896 for (i=1; i<yy_start_stack_ptr; i++) {
6897 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6899 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6904 void print_surfxml_bufferstack()
6907 fputs("Buffer: ", stderr);
6908 for (i = 0; i < blimit; i++) {
6909 if ( surfxml_bufferstack[i] == '\377' ) break;
6910 putc(surfxml_bufferstack[i], stderr);
6915 static void debug_enter(int state, const char* statename) {
6916 yy_push_state(state);
6917 if (surf_parse__flex_debug) {
6918 print_yy_stack("--ENTER(%s) : ",statename);
6919 print_surfxml_bufferstack();
6923 static void debug_leave(void) {
6924 if (surf_parse__flex_debug) {
6925 print_yy_stack("--LEAVE : ");
6926 print_surfxml_bufferstack();
6931 static void debug_set(int state, const char* statename) {
6933 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6937 static void cleanup(void)
6939 if (surfxml_statenames) {
6940 free(surfxml_statenames);
6941 surfxml_statenames = NULL;
6943 free(surfxml_bufferstack);
6944 surfxml_bufferstack = NULL;
6950 static int fail(const char* fmt, ...)
6952 int chars_left, used;
6953 va_list ap; va_start(ap, fmt);
6954 #ifdef FLEXML_yylineno
6955 used = sprintf(flexml_err_msg,
6956 "Invalid XML (XML input line %d, state %d): ",
6957 surf_parse_lineno, YY_START);
6959 used = sprintf(flexml_err_msg,
6960 "Invalid XML (state %d): ",
6963 chars_left = flexml_max_err_msg_size - used - 1;
6964 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6967 #ifndef FLEXML_quiet_parser
6968 /* print directly to sdterr */
6969 fprintf(stderr, "%s\n", flexml_err_msg);
6970 flexml_err_msg[0] = '\0';