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 323
407 #define YY_END_OF_BUFFER 324
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[1800] =
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 324, 322, 15, 10, 10, 15, 15, 302, 10, 302,
437 5, 6, 5, 8, 9, 8, 318, 310, 311, 319,
439 316, 319, 317, 321, 310, 311, 321, 322, 22, 10,
440 22, 22, 22, 20, 22, 26, 10, 26, 26, 26,
441 322, 322, 26, 37, 10, 37, 37, 37, 35, 37,
442 37, 37, 319, 318, 59, 10, 59, 59, 59, 57,
443 59, 59, 59, 59, 63, 10, 63, 322, 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, 322, 99, 99, 322, 322, 99, 322,
447 99, 322, 99, 120, 10, 120, 120, 120, 118, 120,
448 120, 120, 120, 120, 124, 10, 124, 124, 147, 10,
450 147, 147, 147, 145, 147, 147, 147, 147, 147, 147,
451 151, 10, 151, 158, 10, 158, 158, 158, 156, 158,
452 162, 10, 162, 187, 10, 187, 187, 187, 185, 187,
453 187, 187, 187, 191, 10, 191, 191, 200, 10, 200,
454 200, 200, 198, 200, 200, 204, 10, 204, 322, 204,
455 217, 10, 217, 217, 217, 215, 217, 217, 217, 221,
456 10, 221, 221, 228, 10, 228, 228, 228, 226, 228,
457 232, 10, 232, 245, 10, 245, 245, 245, 243, 245,
458 245, 245, 249, 10, 249, 249, 262, 10, 262, 262,
459 262, 260, 262, 262, 262, 262, 266, 10, 266, 322,
461 266, 273, 10, 273, 273, 273, 271, 273, 277, 10,
462 277, 284, 10, 284, 284, 284, 282, 284, 288, 10,
463 288, 288, 288, 297, 10, 297, 297, 297, 295, 297,
464 297, 301, 10, 301, 10, 0, 2, 2, 0, 4,
465 7, 313, 312, 0, 0, 0, 0, 0, 0, 0,
466 21, 23, 23, 0, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 36, 38,
468 38, 38, 38, 0, 0, 0, 58, 60, 60, 60,
469 60, 60, 60, 60, 0, 0, 81, 83, 83, 83,
470 83, 0, 94, 96, 96, 96, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 119, 121, 121, 121, 121,
473 121, 121, 0, 146, 148, 148, 148, 148, 148, 148,
474 148, 148, 148, 0, 157, 159, 159, 0, 186, 188,
475 188, 188, 188, 188, 188, 0, 199, 201, 201, 201,
476 0, 0, 216, 218, 218, 218, 218, 0, 227, 229,
477 229, 0, 244, 246, 246, 246, 246, 0, 261, 263,
478 263, 263, 263, 263, 0, 0, 272, 274, 274, 0,
479 283, 285, 285, 0, 0, 296, 298, 298, 298, 0,
480 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
481 0, 0, 320, 0, 23, 0, 0, 88, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 87, 0, 0, 0, 38, 0, 0, 38, 0, 0,
485 0, 315, 60, 0, 0, 60, 60, 60, 60, 0,
486 0, 0, 83, 83, 83, 0, 0, 0, 0, 96,
487 0, 0, 88, 0, 0, 0, 0, 87, 0, 0,
488 121, 0, 0, 121, 121, 121, 0, 0, 148, 0,
489 0, 0, 0, 148, 148, 148, 148, 148, 0, 0,
490 0, 0, 0, 0, 188, 0, 0, 188, 188, 188,
491 0, 0, 201, 201, 0, 0, 0, 218, 218, 218,
492 0, 0, 0, 0, 0, 0, 246, 246, 246, 0,
494 0, 263, 263, 263, 263, 0, 0, 0, 274, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 298, 0,
496 0, 0, 14, 1, 0, 0, 308, 0, 0, 0,
497 305, 304, 0, 0, 23, 0, 0, 25, 0, 88,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 87, 0, 0, 0, 38, 0, 30,
500 29, 38, 0, 0, 0, 40, 0, 60, 0, 44,
501 43, 0, 0, 60, 0, 0, 60, 0, 0, 62,
502 0, 0, 83, 83, 83, 0, 0, 85, 0, 0,
503 90, 89, 96, 0, 0, 98, 0, 0, 0, 0,
505 0, 0, 0, 0, 121, 0, 103, 102, 121, 121,
506 121, 0, 0, 123, 0, 148, 148, 0, 138, 137,
507 0, 128, 127, 0, 0, 148, 148, 148, 148, 0,
508 0, 150, 0, 0, 155, 154, 0, 0, 161, 0,
509 188, 0, 166, 165, 188, 188, 188, 0, 0, 190,
510 0, 0, 0, 0, 0, 0, 0, 203, 0, 0,
511 0, 0, 218, 218, 0, 0, 0, 0, 220, 0,
512 0, 225, 224, 0, 0, 231, 0, 0, 0, 246,
513 246, 0, 0, 0, 0, 248, 0, 263, 263, 263,
514 263, 0, 0, 265, 0, 0, 274, 0, 0, 276,
516 0, 0, 281, 280, 0, 0, 287, 0, 0, 0,
517 292, 291, 298, 0, 0, 300, 0, 0, 0, 309,
518 303, 0, 0, 0, 23, 0, 0, 0, 0, 0,
519 0, 100, 163, 0, 0, 289, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 38, 0, 0, 60, 0,
521 48, 47, 0, 0, 0, 46, 45, 60, 0, 290,
522 83, 0, 0, 83, 0, 96, 0, 97, 0, 0,
523 101, 164, 0, 0, 0, 121, 121, 121, 121, 0,
524 148, 148, 0, 140, 139, 148, 148, 148, 148, 0,
525 0, 188, 188, 188, 188, 0, 0, 197, 196, 0,
527 195, 194, 0, 163, 0, 210, 209, 218, 218, 0,
528 208, 207, 0, 0, 0, 238, 237, 246, 246, 0,
529 236, 235, 0, 263, 0, 0, 263, 263, 0, 0,
530 274, 0, 0, 0, 298, 0, 0, 0, 0, 12,
531 0, 306, 307, 0, 23, 0, 0, 0, 0, 0,
532 0, 100, 163, 0, 0, 0, 289, 0, 192, 28,
533 0, 0, 27, 0, 0, 32, 31, 38, 0, 0,
534 60, 0, 50, 49, 60, 0, 290, 83, 0, 0,
535 0, 0, 0, 0, 96, 0, 0, 101, 164, 193,
536 193, 192, 121, 0, 0, 0, 0, 121, 121, 0,
538 0, 0, 148, 0, 0, 148, 148, 148, 0, 0,
539 188, 188, 188, 0, 0, 188, 0, 0, 0, 218,
540 218, 0, 0, 246, 246, 0, 263, 0, 253, 252,
541 263, 263, 0, 0, 0, 0, 0, 0, 0, 0,
542 0, 0, 0, 0, 0, 11, 0, 23, 0, 0,
543 0, 0, 0, 279, 0, 0, 0, 41, 192, 152,
544 28, 0, 278, 0, 27, 0, 0, 38, 0, 0,
545 60, 60, 0, 83, 0, 0, 0, 0, 0, 0,
546 0, 0, 0, 77, 76, 0, 96, 0, 0, 193,
547 153, 121, 0, 105, 104, 0, 0, 0, 121, 121,
549 0, 122, 0, 142, 141, 0, 0, 0, 136, 135,
550 0, 0, 148, 0, 0, 0, 0, 188, 188, 188,
551 0, 0, 0, 188, 0, 189, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 0, 0, 263,
553 263, 263, 0, 0, 0, 270, 269, 0, 0, 42,
554 0, 294, 293, 0, 299, 0, 0, 0, 0, 0,
555 0, 0, 205, 0, 0, 126, 279, 0, 0, 251,
556 41, 152, 0, 278, 125, 0, 250, 38, 0, 0,
557 39, 60, 60, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 0, 206,
560 0, 153, 121, 0, 0, 121, 0, 0, 0, 144,
561 143, 0, 130, 129, 0, 0, 0, 132, 131, 0,
562 0, 188, 0, 0, 188, 188, 0, 0, 188, 0,
563 202, 0, 0, 214, 213, 0, 212, 211, 0, 0,
564 0, 242, 241, 0, 240, 239, 0, 263, 263, 263,
565 0, 0, 0, 0, 42, 0, 0, 0, 17, 0,
566 19, 18, 0, 205, 267, 0, 126, 222, 16, 251,
567 0, 125, 0, 250, 38, 314, 60, 60, 0, 61,
568 0, 79, 78, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 92, 91, 206, 0, 121,
571 0, 0, 0, 0, 121, 0, 117, 116, 0, 134,
572 133, 0, 0, 160, 188, 0, 172, 171, 188, 188,
573 0, 0, 0, 0, 188, 223, 0, 0, 0, 0,
574 0, 263, 263, 0, 268, 0, 0, 286, 0, 0,
575 0, 17, 0, 267, 0, 222, 16, 0, 0, 38,
576 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 121, 0, 111, 0, 110,
578 121, 0, 149, 0, 0, 188, 188, 188, 0, 176,
579 0, 175, 188, 223, 0, 219, 0, 0, 0, 255,
580 254, 0, 0, 263, 0, 264, 268, 0, 0, 0,
582 0, 0, 24, 0, 0, 0, 38, 0, 0, 0,
583 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 121, 113, 112, 0, 0, 0, 168,
585 167, 188, 188, 188, 178, 177, 0, 0, 0, 230,
586 0, 0, 259, 258, 0, 0, 0, 275, 0, 0,
587 0, 233, 0, 0, 0, 0, 0, 0, 0, 0,
588 60, 0, 0, 0, 0, 69, 0, 0, 0, 0,
589 68, 0, 234, 121, 0, 115, 114, 188, 188, 188,
590 0, 180, 179, 0, 0, 257, 256, 0, 0, 0,
591 233, 0, 0, 0, 34, 33, 0, 0, 0, 0,
593 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594 234, 0, 0, 121, 188, 0, 0, 188, 0, 0,
595 0, 0, 0, 65, 64, 0, 0, 0, 0, 0,
596 0, 0, 0, 75, 0, 0, 0, 74, 0, 0,
597 0, 107, 106, 121, 188, 0, 174, 173, 188, 0,
598 247, 0, 0, 0, 0, 0, 0, 65, 64, 0,
599 0, 0, 0, 0, 52, 51, 0, 0, 0, 0,
600 0, 0, 0, 121, 0, 0, 0, 0, 0, 0,
601 0, 0, 0, 0, 0, 56, 0, 55, 73, 0,
602 0, 72, 0, 0, 0, 84, 121, 0, 170, 169,
604 0, 0, 0, 0, 0, 0, 12, 0, 12, 0,
605 0, 0, 67, 71, 66, 70, 121, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 54, 53, 0, 109,
608 108, 0, 0, 0, 0, 0, 11, 0, 0, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 182, 0, 181, 0, 184, 183, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 13, 0
617 static yyconst flex_int32_t yy_ec[256] =
619 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
620 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
621 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
622 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
623 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
624 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
625 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
626 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
627 16, 36, 37, 38, 16, 39, 40, 16, 41, 16,
628 42, 1, 43, 1, 44, 1, 45, 46, 47, 48,
630 49, 50, 51, 52, 53, 16, 54, 55, 56, 57,
631 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
632 68, 16, 1, 1, 1, 1, 1, 1, 1, 1,
633 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649 static yyconst flex_int32_t yy_meta[69] =
651 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
652 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
653 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
654 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
655 5, 1, 1, 5, 9, 9, 9, 9, 9, 9,
656 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
657 5, 5, 5, 5, 5, 5, 5, 5
660 static yyconst flex_int16_t yy_base[2015] =
662 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
663 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
664 104, 169, 75, 78, 83, 124, 127, 130, 133, 136,
665 189, 192, 195, 198, 201, 218, 221, 224, 242, 301,
666 320, 322, 365, 427, 262, 265, 268, 271, 275, 329,
667 332, 385, 489, 552, 388, 391, 615, 676, 394, 397,
668 447, 450, 453, 456, 459, 509, 512, 515, 518, 521,
669 572, 575, 578, 581, 584, 635, 638, 641, 644, 647,
670 696, 699, 702, 705, 708, 728, 731, 736, 754, 819,
671 774, 777, 780, 783, 786, 839, 842, 845, 884, 0,
673 848, 851, 952, 1005, 972, 975, 1058, 1120, 978, 981,
674 984, 1025, 1028, 1031, 1034, 1037, 1182, 1244, 1078, 1081,
675 1084, 1087, 1090, 1140, 1143, 1146, 1306, 1368, 1149, 1152,
676 1202, 1205, 1208, 1211, 1214, 1264, 1430, 1483, 1267, 1270,
677 1536, 1598, 1273, 1276, 1326, 1329, 1332, 1335, 1338, 1388,
678 1660, 1722, 1391, 1394, 1397, 1400, 1450, 1453, 1456, 1459,
679 1784, 1849, 1462, 1503, 1914, 1967, 1506, 1509, 1512, 1515,
680 1556, 1559, 1562, 1565, 2020, 2085, 1568, 1618, 0, 0,
681 4396, 6589, 6589, 95, 153, 29, 41, 6589, 156, 51,
682 6589, 6589, 4383, 6589, 6589, 4371, 6589, 4378, 4361, 1578,
684 6589, 6589, 6589, 6589, 4359, 4358, 4310, 147, 6589, 159,
685 4332, 0, 144, 6589, 4301, 6589, 227, 2146, 4302, 295,
686 229, 4333, 4285, 6589, 294, 4322, 0, 145, 6589, 4276,
687 4279, 4277, 334, 4277, 6589, 420, 4289, 0, 212, 6589,
688 4258, 4247, 292, 4227, 6589, 482, 82, 108, 173, 6589,
689 538, 4269, 0, 343, 6589, 4232, 4229, 4201, 6589, 542,
690 399, 6589, 545, 4241, 0, 405, 6589, 4211, 4200, 6589,
691 601, 1630, 1612, 4194, 31, 4226, 54, 131, 421, 600,
692 83, 4219, 28, 6589, 605, 4209, 0, 467, 6589, 4163,
693 4176, 4163, 4145, 4147, 6589, 667, 223, 228, 6589, 670,
695 4178, 0, 529, 6589, 172, 4149, 4148, 233, 4147, 4126,
696 6589, 739, 788, 6589, 748, 4157, 0, 530, 6589, 4127,
697 6589, 808, 853, 6589, 873, 4154, 0, 592, 6589, 4127,
698 4119, 4121, 8, 6589, 1112, 405, 407, 6589, 1115, 4144,
699 0, 593, 6589, 4094, 4094, 6589, 1174, 1576, 4141, 4097,
700 6589, 1177, 4130, 0, 723, 6589, 4082, 4077, 4076, 6589,
701 1231, 4124, 203, 6589, 1234, 4114, 0, 797, 6589, 4059,
702 6589, 1237, 1278, 6589, 1293, 4085, 0, 862, 6589, 4032,
703 4023, 4027, 6589, 1298, 4074, 347, 6589, 1301, 4054, 0,
704 1222, 6589, 4009, 4013, 4017, 4005, 6589, 1356, 758, 4055,
706 428, 6589, 1359, 4041, 0, 1346, 6589, 4014, 6589, 1362,
707 1402, 6589, 1418, 4037, 0, 1403, 6589, 3993, 6589, 1423,
708 1569, 3978, 268, 6589, 1587, 4018, 0, 1408, 6589, 3988,
709 3986, 6589, 1590, 1627, 1593, 18, 3963, 6589, 4018, 4007,
710 6589, 6589, 6589, 1630, 293, 3962, 3960, 3958, 4000, 3953,
711 6589, 0, 3945, 3943, 3963, 3938, 3929, 298, 3931, 3934,
712 153, 609, 3925, 421, 3947, 471, 3921, 420, 6589, 0,
713 3926, 1685, 3918, 371, 3901, 3942, 6589, 0, 3900, 1690,
714 3889, 3909, 3889, 3897, 3882, 605, 6589, 0, 3889, 3880,
715 3889, 3869, 6589, 0, 1696, 3863, 3904, 3887, 3845, 3853,
717 3853, 946, 3868, 999, 1052, 6589, 0, 3858, 1742, 3826,
718 3845, 3824, 3833, 6589, 0, 3839, 1747, 1750, 3816, 3778,
719 3794, 3793, 3790, 3788, 6589, 0, 1754, 3771, 6589, 0,
720 3768, 1804, 3761, 3777, 3767, 3755, 6589, 0, 3746, 3759,
721 3743, 3743, 6589, 0, 3724, 3741, 3736, 3760, 6589, 0,
722 1809, 3725, 6589, 0, 3705, 3723, 3718, 3714, 6589, 0,
723 3696, 3689, 3692, 3694, 3675, 3671, 6589, 0, 3676, 3684,
724 6589, 0, 1812, 3672, 1114, 6589, 0, 1815, 3662, 3655,
725 3692, 3698, 693, 3648, 6589, 1640, 0, 3644, 3637, 3676,
726 3675, 3632, 6589, 3643, 3625, 1818, 1875, 1623, 3634, 3612,
728 3606, 3611, 3605, 3608, 3619, 3604, 3593, 3585, 3602, 3582,
729 1714, 3572, 3586, 3572, 3579, 1869, 1833, 3566, 3594, 1878,
730 1881, 6589, 3567, 1934, 1900, 1941, 3558, 1944, 3565, 1987,
731 1991, 3543, 3544, 3550, 3550, 1994, 1997, 1947, 2040, 3532,
732 2048, 2105, 1717, 3529, 3524, 3512, 3503, 1779, 3501, 3500,
733 3509, 2000, 2051, 3511, 3496, 3512, 2062, 2111, 235, 2114,
734 2068, 2117, 2120, 2137, 3487, 3477, 3450, 3452, 2141, 2144,
735 2151, 2169, 2177, 2180, 3451, 2183, 2208, 3449, 3435, 3423,
736 2186, 2216, 2220, 2223, 2226, 2229, 3424, 2241, 2248, 2251,
737 2254, 2260, 2269, 2273, 2281, 2287, 2290, 2296, 2300, 2309,
739 2314, 3432, 3415, 3421, 3414, 2318, 2322, 3422, 3408, 2328,
740 2333, 2343, 2348, 2357, 2361, 3413, 2365, 2369, 3393, 2383,
741 2386, 3435, 6589, 6589, 337, 3398, 6589, 3433, 3416, 3368,
742 6589, 6589, 3364, 3346, 3355, 2389, 2393, 6589, 2396, 1703,
743 3344, 3327, 3345, 3326, 3319, 3296, 3302, 3287, 616, 3300,
744 3281, 3293, 3288, 1841, 3275, 3284, 677, 2408, 2419, 6589,
745 6589, 2427, 3305, 2430, 2433, 6589, 2436, 3259, 2455, 6589,
746 6589, 2441, 2463, 2471, 2474, 2480, 3271, 2492, 2495, 6589,
747 2498, 747, 3268, 2501, 3256, 2504, 2507, 6589, 2519, 2526,
748 6589, 6589, 3251, 2534, 2538, 6589, 2541, 3229, 3241, 3220,
750 3227, 3214, 3212, 3211, 3214, 2544, 6589, 6589, 3199, 3210,
751 3199, 2563, 2566, 6589, 2569, 3182, 3201, 2572, 6589, 6589,
752 2588, 6589, 6589, 2596, 2599, 3182, 3181, 3185, 3175, 2607,
753 2610, 6589, 2614, 2617, 6589, 6589, 2633, 2636, 6589, 2639,
754 3149, 2642, 6589, 6589, 3152, 3155, 3147, 2659, 2662, 6589,
755 2665, 2668, 2671, 2686, 2689, 2697, 2704, 6589, 2707, 3141,
756 2710, 2717, 3128, 3124, 2728, 2731, 2739, 2742, 6589, 2746,
757 2749, 6589, 6589, 2761, 2765, 6589, 2770, 2773, 2780, 3121,
758 3121, 2776, 2794, 2802, 2806, 6589, 2809, 3101, 2812, 3119,
759 3098, 2815, 2821, 6589, 2830, 3088, 3102, 2834, 2840, 6589,
761 2843, 2849, 6589, 6589, 2862, 2867, 6589, 2870, 3101, 2874,
762 6589, 6589, 3099, 2882, 2889, 6589, 2893, 572, 2896, 6589,
763 6589, 3129, 3124, 3090, 3075, 2901, 3068, 3074, 3055, 3052,
764 3057, 1844, 1908, 3059, 3051, 1872, 3033, 3041, 3039, 3030,
765 3019, 3024, 3023, 2904, 2916, 3022, 3047, 2908, 3011, 2927,
766 6589, 6589, 2935, 2938, 2954, 6589, 6589, 3006, 2946, 1937,
767 2996, 2965, 2968, 2976, 2979, 2995, 2983, 6589, 2986, 2984,
768 2076, 2108, 2995, 2991, 2983, 2986, 2986, 2989, 2976, 2994,
769 2998, 3008, 3016, 6589, 6589, 3026, 3032, 3035, 3039, 3045,
770 3057, 2970, 2974, 2959, 3060, 3064, 3072, 6589, 6589, 3083,
772 6589, 6589, 3091, 3094, 3099, 6589, 6589, 2952, 2966, 3110,
773 6589, 6589, 3119, 3122, 3125, 6589, 6589, 2946, 2960, 3141,
774 6589, 6589, 3133, 2953, 3153, 3156, 2941, 2932, 3164, 2919,
775 3167, 3171, 3177, 2915, 3185, 3190, 548, 2945, 3196, 6589,
776 2942, 6589, 6589, 2903, 2902, 3203, 2890, 2903, 2884, 2896,
777 2892, 2192, 3199, 2888, 2876, 2870, 3210, 2870, 3215, 3218,
778 2873, 2866, 3222, 2852, 3227, 6589, 6589, 2848, 2851, 3235,
779 2818, 3238, 6589, 6589, 2814, 3248, 3254, 2812, 3261, 1447,
780 1500, 3269, 3276, 3287, 2816, 2799, 2799, 3290, 3293, 3296,
781 3299, 3306, 2813, 3309, 3312, 3320, 3323, 2807, 2803, 3331,
783 3339, 3343, 3351, 3359, 3362, 3370, 3373, 3377, 3380, 3383,
784 2801, 2780, 2789, 3391, 3395, 2789, 3403, 3409, 2783, 3412,
785 3415, 3418, 3422, 3433, 3437, 3442, 2770, 3445, 6589, 6589,
786 2768, 2757, 3457, 2753, 3461, 3465, 3481, 3485, 2745, 3488,
787 3491, 3506, 836, 696, 672, 6589, 2738, 3509, 3512, 2745,
788 2736, 2755, 2727, 3515, 2724, 2709, 2699, 3518, 3521, 3527,
789 3531, 2713, 3537, 2696, 3540, 2709, 2692, 2692, 2716, 3543,
790 2678, 2675, 3546, 3549, 2703, 2684, 693, 2682, 2693, 2670,
791 786, 2668, 3552, 6589, 6589, 3569, 3572, 2648, 2660, 3575,
792 3578, 2641, 3581, 6589, 6589, 3590, 2652, 2650, 2630, 3601,
794 3604, 6589, 3608, 6589, 6589, 3619, 3623, 3631, 6589, 6589,
795 3639, 3642, 3650, 3653, 3657, 3671, 3674, 2618, 3677, 2632,
796 3680, 2626, 2624, 2604, 3695, 6589, 3698, 2592, 3703, 3707,
797 3721, 3724, 3734, 3739, 3742, 3746, 3754, 3760, 3768, 2597,
798 2596, 2597, 3772, 2592, 3775, 6589, 6589, 3787, 3791, 3796,
799 3799, 6589, 6589, 3811, 6589, 853, 1089, 981, 2591, 3814,
800 3817, 3825, 3835, 2570, 2574, 3844, 3847, 2572, 2572, 3850,
801 3853, 3856, 2567, 3859, 3862, 2566, 3865, 2569, 2565, 3868,
802 6589, 2545, 2559, 3871, 3874, 3878, 2563, 2558, 2555, 2555,
803 2547, 2552, 2547, 2544, 2547, 2539, 3892, 3895, 3898, 3906,
805 2519, 3913, 2508, 965, 970, 2507, 3916, 3919, 3927, 6589,
806 6589, 3938, 6589, 6589, 3946, 3949, 3957, 6589, 6589, 3965,
807 3968, 2508, 3971, 3974, 2509, 2498, 1018, 1023, 2501, 3989,
808 6589, 2495, 3992, 6589, 6589, 4001, 6589, 6589, 4009, 4012,
809 4015, 6589, 6589, 4031, 6589, 6589, 4040, 4043, 2502, 2493,
810 4046, 2471, 4049, 4052, 4061, 4075, 1054, 1033, 4078, 4081,
811 6589, 6589, 4089, 4094, 4097, 2469, 4100, 4108, 4111, 4114,
812 2474, 4117, 2469, 4120, 2462, 6589, 4123, 2456, 4126, 6589,
813 4129, 6589, 6589, 2492, 2478, 2488, 2483, 2466, 2466, 2450,
814 2461, 2450, 2453, 4137, 4145, 6589, 6589, 4156, 2407, 2417,
816 2441, 2457, 2435, 2446, 2405, 4159, 6589, 6589, 4167, 6589,
817 6589, 4176, 4179, 6589, 4182, 4185, 6589, 6589, 2399, 2393,
818 2422, 2442, 2415, 2417, 2375, 4200, 4203, 4207, 4210, 4213,
819 4216, 4231, 2371, 4234, 4237, 4240, 4243, 6589, 4249, 189,
820 611, 4253, 4263, 4268, 2355, 4271, 4274, 2360, 2358, 2346,
821 4277, 4282, 2355, 2367, 2361, 2371, 2357, 2344, 2339, 2332,
822 2337, 2322, 2313, 4290, 2280, 2278, 2333, 6589, 2314, 6589,
823 4295, 4298, 6589, 4302, 4313, 2264, 2251, 2226, 2260, 6589,
824 2252, 6589, 4309, 4321, 4328, 6589, 4331, 4334, 4337, 6589,
825 6589, 4353, 4356, 4364, 4367, 6589, 4371, 4374, 815, 1001,
827 1140, 4377, 6589, 2198, 2185, 2167, 4382, 4386, 389, 575,
828 2101, 2128, 2053, 2043, 2023, 2007, 1979, 1, 1, 80,
829 94, 4400, 115, 231, 6589, 6589, 4403, 4406, 4415, 6589,
830 6589, 247, 313, 352, 6589, 6589, 4423, 4426, 4434, 6589,
831 4441, 4444, 6589, 6589, 4437, 4456, 4464, 6589, 1663, 1681,
832 1691, 4467, 458, 481, 4470, 4473, 501, 569, 689, 723,
833 690, 723, 752, 764, 775, 6589, 834, 829, 839, 843,
834 6589, 4483, 4488, 4491, 4496, 6589, 6589, 913, 4504, 942,
835 4509, 6589, 6589, 4517, 4522, 6589, 6589, 1459, 1759, 4536,
836 4539, 937, 1035, 4542, 6589, 6589, 1081, 1073, 1085, 1124,
838 4550, 1127, 1146, 1163, 1149, 1136, 1197, 1212, 1200, 4555,
839 4558, 4561, 4568, 1178, 1182, 4579, 4582, 1174, 4590, 1302,
840 4593, 4597, 4602, 4616, 4621, 1227, 1256, 1251, 1264, 4624,
841 4627, 1265, 1269, 6589, 1314, 1317, 1317, 6589, 1326, 4635,
842 4638, 6589, 6589, 1331, 4646, 4650, 6589, 6589, 4658, 4664,
843 6589, 1742, 4667, 4670, 4679, 4699, 4742, 4689, 4692, 1380,
844 1411, 1403, 1437, 4719, 6589, 6589, 1461, 1438, 1445, 1472,
845 1468, 1489, 4710, 1474, 4733, 4762, 4736, 4770, 1512, 4784,
846 1631, 1750, 4804, 4847, 1520, 6589, 1538, 6589, 6589, 1569,
847 1570, 6589, 1573, 1619, 4778, 6589, 1598, 4793, 6589, 6589,
849 4824, 1659, 1740, 1809, 1880, 1804, 1644, 1751, 1647, 4815,
850 1675, 1680, 6589, 6589, 6589, 6589, 4838, 1691, 1719, 1733,
851 1735, 4841, 1762, 1759, 1800, 4867, 1824, 1823, 4872, 4875,
852 1795, 1819, 1849, 1867, 4890, 1870, 6589, 6589, 4893, 6589,
853 6589, 1858, 1858, 1861, 1861, 1942, 6589, 1870, 1879, 1878,
854 1882, 2039, 1878, 1929, 1920, 1933, 2063, 1933, 1955, 1938,
855 1956, 1986, 1986, 6589, 1996, 6589, 2049, 6589, 6589, 4901,
856 4905, 2112, 2114, 1995, 2110, 2157, 2184, 1996, 2115, 2142,
857 2217, 2188, 2195, 2036, 2117, 2248, 2275, 2285, 2307, 1998,
858 2245, 2308, 2354, 2215, 2140, 4915, 4920, 6589, 6589, 4940,
860 4949, 4958, 4967, 4976, 4985, 4994, 5003, 5012, 5021, 5030,
861 5039, 5048, 5057, 5066, 5075, 5084, 5093, 5102, 5111, 5120,
862 5129, 5138, 5147, 5156, 5165, 5174, 5183, 5192, 5201, 5210,
863 5219, 5228, 5237, 5246, 5255, 5264, 5273, 5282, 5289, 5296,
864 5303, 5310, 5317, 5324, 5331, 5338, 5345, 5352, 5359, 5366,
865 5373, 5380, 5387, 5394, 5401, 5410, 5415, 5420, 5425, 5432,
866 5437, 5444, 5449, 5454, 5459, 5464, 5471, 5476, 5483, 5488,
867 5495, 5500, 5507, 5512, 5519, 5524, 5531, 5536, 5543, 5548,
868 5555, 5560, 5567, 5572, 5581, 5587, 5594, 5602, 5609, 5617,
869 5624, 5632, 5639, 5647, 5654, 5662, 5669, 5677, 5684, 5692,
871 5700, 5707, 5715, 5723, 5731, 5739, 5747, 5755, 5763, 5771,
872 5778, 5786, 5793, 5801, 5809, 5816, 5824, 5833, 5839, 5846,
873 5854, 5862, 5870, 5877, 5885, 5892, 5900, 5907, 5915, 5922,
874 5930, 5937, 5945, 5953, 5960, 5968, 5976, 5983, 5991, 5999,
875 6006, 6014, 6021, 6029, 6036, 6044, 6052, 6059, 6067, 6076,
876 6085, 6092, 6100, 6107, 6115, 6122, 6130, 6137, 6145, 6152,
877 6159, 6167, 6175, 6183, 6191, 6198, 6206, 6214, 6221, 6229,
878 6237, 6244, 6252, 6259, 6267, 6275, 6283, 6291, 6299, 6307,
879 6316, 6325, 6332, 6340, 6347, 6355, 6362, 6370, 6377, 6385,
880 6392, 6399, 6407, 6415, 6423, 6431, 6438, 6446, 6454, 6462,
882 6470, 6478, 6486, 6494, 6501, 6509, 6517, 6525, 6534, 6543,
883 6552, 6561, 6570, 6579
886 static yyconst flex_int16_t yy_def[2015] =
888 1800, 1800, 1801, 1801, 1801, 1801, 1802, 1802, 1803, 1803,
889 1804, 1804, 1805, 1805, 1805, 1805, 1806, 1806, 1800, 1800,
890 1807, 1807, 1808, 1808, 1808, 1808, 1808, 1808, 1800, 1800,
891 1808, 1808, 1800, 1800, 1808, 1808, 1808, 1808, 1809, 1809,
892 1805, 1805, 1810, 1810, 1811, 1811, 1800, 1800, 1811, 1811,
893 1811, 1811, 1812, 1812, 1813, 1813, 1814, 1814, 1815, 1815,
894 1815, 1815, 1800, 1800, 1815, 1815, 1815, 1815, 1800, 1800,
895 1815, 1815, 1800, 1800, 1815, 1815, 1815, 1815, 1800, 1800,
896 1815, 1815, 1800, 1800, 1815, 1815, 1815, 1815, 1816, 1816,
897 1817, 1817, 1800, 1800, 1817, 1817, 1817, 1817, 1799, 99,
899 1818, 1818, 1819, 1819, 1820, 1820, 1821, 1821, 1822, 1822,
900 1800, 1800, 1822, 1822, 1822, 1822, 1823, 1823, 1824, 1824,
901 1800, 1800, 1824, 1824, 1824, 1824, 1825, 1825, 1826, 1826,
902 1800, 1800, 1826, 1826, 1826, 1826, 1827, 1827, 1828, 1828,
903 1829, 1829, 1830, 1830, 1800, 1800, 1830, 1830, 1830, 1830,
904 1831, 1831, 1832, 1832, 1800, 1800, 1832, 1832, 1832, 1832,
905 1833, 1833, 1834, 1834, 1835, 1835, 1836, 1836, 1800, 1800,
906 1836, 1836, 1836, 1836, 1837, 1837, 1838, 1838, 1800, 1800,
907 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
908 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
910 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
911 1799, 1839, 1799, 1799, 1839, 1799, 1799, 1799, 218, 218,
912 218, 220, 220, 1799, 1799, 1799, 1840, 1799, 1799, 1840,
913 1840, 1840, 1799, 1799, 1799, 1799, 1799, 1841, 1799, 1799,
914 1841, 1841, 1841, 1841, 1799, 1799, 220, 220, 220, 1799,
915 1799, 1799, 1842, 1799, 1799, 1842, 1842, 1842, 1799, 1799,
916 1799, 1799, 1799, 1799, 1843, 1799, 1799, 1843, 1843, 1799,
917 1799, 221, 221, 221, 272, 273, 273, 273, 273, 279,
918 280, 279, 279, 1799, 1799, 1799, 1844, 1799, 1799, 1844,
919 1844, 1844, 1844, 1844, 1799, 1799, 220, 220, 1799, 1799,
921 1799, 1845, 1799, 1799, 1845, 1845, 1845, 1845, 1845, 1845,
922 1799, 1799, 1799, 1799, 1799, 1799, 1846, 1799, 1799, 1846,
923 1799, 1799, 1799, 1799, 1799, 1799, 1847, 1799, 1799, 1847,
924 1847, 1847, 1847, 1799, 1799, 220, 220, 1799, 1799, 1799,
925 1848, 1799, 1799, 1848, 1848, 1799, 1799, 220, 348, 348,
926 1799, 1799, 1799, 1849, 1799, 1799, 1849, 1849, 1849, 1799,
927 1799, 348, 348, 1799, 1799, 1799, 1850, 1799, 1799, 1850,
928 1799, 1799, 1799, 1799, 1799, 1799, 1851, 1799, 1799, 1851,
929 1851, 1851, 1799, 1799, 348, 348, 1799, 1799, 1799, 1852,
930 1799, 1799, 1852, 1852, 1852, 1852, 1799, 1799, 220, 399,
932 399, 1799, 1799, 1799, 1853, 1799, 1799, 1853, 1799, 1799,
933 1799, 1799, 1799, 1799, 1854, 1799, 1799, 1854, 1799, 1799,
934 399, 421, 421, 1799, 1799, 1799, 1855, 1799, 1799, 1855,
935 1855, 1799, 1799, 1799, 1799, 1856, 1799, 1799, 1799, 1799,
936 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
937 1799, 1839, 1839, 1857, 1799, 1799, 1799, 1799, 1799, 1799,
938 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1840,
939 1840, 1840, 1840, 1799, 1858, 1799, 1799, 1841, 1841, 1841,
940 1841, 1841, 1841, 1841, 1859, 1799, 1799, 1860, 1860, 1860,
941 1860, 1861, 1799, 1862, 1862, 1862, 1863, 1799, 1799, 1799,
943 1799, 1799, 1799, 1799, 1799, 1799, 1844, 1844, 1844, 1844,
944 1844, 1844, 1864, 1799, 1845, 1845, 1845, 1845, 1845, 1845,
945 1845, 1845, 1845, 1865, 1799, 1846, 1846, 1866, 1799, 1867,
946 1867, 1867, 1867, 1867, 1867, 1868, 1799, 1869, 1869, 1869,
947 1870, 1799, 1799, 1871, 1871, 1871, 1871, 1872, 1799, 1873,
948 1873, 1874, 1799, 1875, 1875, 1875, 1875, 1876, 1799, 1877,
949 1877, 1877, 1877, 1877, 1878, 1799, 1799, 1879, 1879, 1880,
950 1799, 1881, 1881, 1882, 1799, 1799, 1883, 1883, 1883, 1884,
951 1885, 1799, 1885, 1799, 1799, 1799, 1886, 1799, 1799, 1799,
952 1799, 1799, 1799, 1799, 1887, 1888, 1888, 1799, 1799, 1799,
954 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
955 1799, 1799, 1799, 1799, 1889, 1799, 1799, 1889, 1799, 1890,
956 1890, 1799, 1891, 1799, 1799, 1891, 1891, 1891, 1891, 1892,
957 1892, 1799, 1893, 1893, 1893, 1894, 1894, 1799, 1799, 1895,
958 1896, 1896, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
959 1897, 1799, 1799, 1897, 1897, 1897, 1898, 1898, 1899, 1799,
960 1799, 1799, 1799, 1899, 1899, 1899, 1899, 1899, 1900, 1900,
961 1799, 1799, 1901, 1901, 1902, 1799, 1799, 1902, 1902, 1902,
962 1903, 1903, 1904, 1904, 1905, 1905, 1799, 1906, 1906, 1906,
963 1907, 1907, 1799, 1799, 1908, 1908, 1909, 1909, 1909, 1910,
965 1910, 1911, 1911, 1911, 1911, 1912, 1912, 1799, 1913, 1914,
966 1914, 1799, 1799, 1915, 1915, 1799, 1799, 1799, 1916, 1917,
967 1917, 1918, 1799, 1799, 1918, 1799, 1799, 1919, 1799, 1799,
968 1799, 1799, 1799, 1799, 1920, 1799, 1921, 1799, 1921, 1799,
969 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
970 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1922, 1799, 1799,
971 1799, 1922, 1799, 1799, 1923, 1799, 1923, 1924, 1799, 1799,
972 1799, 1799, 1799, 1924, 1799, 1799, 1924, 1799, 1925, 1799,
973 1925, 1799, 1926, 1926, 1926, 1799, 1927, 1799, 1927, 1799,
974 1799, 1799, 1928, 1799, 1929, 1799, 1929, 1799, 1799, 1799,
976 1799, 1799, 1799, 1799, 1930, 1799, 1799, 1799, 1930, 1930,
977 1930, 1799, 1931, 1799, 1931, 1932, 1932, 1799, 1799, 1799,
978 1799, 1799, 1799, 1799, 1799, 1932, 1932, 1932, 1932, 1799,
979 1933, 1799, 1933, 1799, 1799, 1799, 1799, 1934, 1799, 1934,
980 1935, 1799, 1799, 1799, 1935, 1935, 1935, 1799, 1936, 1799,
981 1936, 1799, 1799, 1799, 1799, 1799, 1937, 1799, 1937, 1799,
982 1799, 1799, 1938, 1938, 1799, 1799, 1799, 1939, 1799, 1939,
983 1799, 1799, 1799, 1799, 1940, 1799, 1940, 1799, 1799, 1941,
984 1941, 1799, 1799, 1799, 1942, 1799, 1942, 1943, 1943, 1943,
985 1943, 1799, 1944, 1799, 1944, 1799, 1945, 1799, 1946, 1799,
987 1946, 1799, 1799, 1799, 1799, 1947, 1799, 1947, 1799, 1799,
988 1799, 1799, 1948, 1799, 1949, 1799, 1949, 1950, 1951, 1799,
989 1799, 1799, 1799, 1799, 1952, 1953, 1799, 1799, 1799, 1799,
990 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
991 1799, 1799, 1799, 1799, 1799, 1954, 1799, 1955, 1956, 1799,
992 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1956, 1957, 1799,
993 1958, 1799, 1799, 1958, 1959, 1960, 1799, 1799, 1799, 1799,
994 1799, 1799, 1799, 1799, 1799, 1961, 1961, 1961, 1961, 1962,
995 1963, 1963, 1799, 1799, 1799, 1963, 1963, 1963, 1963, 1964,
996 1965, 1966, 1966, 1966, 1966, 1967, 1799, 1799, 1799, 1799,
998 1799, 1799, 1968, 1799, 1799, 1799, 1799, 1969, 1969, 1799,
999 1799, 1799, 1970, 1971, 1799, 1799, 1799, 1972, 1972, 1799,
1000 1799, 1799, 1973, 1974, 1799, 1799, 1974, 1974, 1975, 1799,
1001 1976, 1977, 1978, 1799, 1979, 1980, 1981, 1982, 1982, 1799,
1002 1982, 1799, 1799, 1799, 1983, 1984, 1799, 1799, 1799, 1799,
1003 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1004 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1985, 1799, 1986,
1005 1987, 1799, 1799, 1799, 1987, 1988, 1799, 1989, 1799, 1799,
1006 1799, 1799, 1799, 1990, 1991, 1799, 1799, 1799, 1799, 1799,
1007 1799, 1799, 1992, 1799, 1799, 1799, 1799, 1992, 1992, 1993,
1009 1799, 1799, 1994, 1799, 1799, 1994, 1994, 1994, 1995, 1996,
1010 1997, 1997, 1997, 1799, 1799, 1997, 1998, 1999, 1799, 2000,
1011 2000, 2001, 2002, 2003, 2003, 2004, 2005, 1799, 1799, 1799,
1012 2005, 2005, 2006, 1799, 1799, 1799, 2007, 2008, 1799, 1799,
1013 1799, 1980, 1981, 1982, 1982, 1799, 1799, 1983, 1984, 1799,
1014 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1015 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1985, 1799, 1986,
1016 1987, 1987, 1988, 1989, 1799, 1799, 1799, 1799, 1799, 1799,
1017 1799, 1799, 1799, 1799, 1799, 1990, 1991, 1799, 1799, 1799,
1018 1799, 1992, 1799, 1799, 1799, 1799, 1799, 1799, 1992, 1992,
1020 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1021 1799, 1799, 1994, 1799, 1799, 1995, 1996, 1997, 1997, 1997,
1022 1799, 1799, 1799, 1997, 1799, 1799, 1999, 1799, 1799, 1799,
1023 1799, 1799, 2001, 2002, 1799, 1799, 1799, 1799, 2004, 2005,
1024 2005, 2005, 2006, 1799, 1799, 1799, 1799, 2007, 2008, 1799,
1025 1799, 1799, 1799, 1799, 1799, 1981, 1982, 1982, 1799, 1799,
1026 1799, 1984, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1027 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1985, 1799, 1799,
1028 1799, 1987, 1987, 1988, 1799, 1799, 1799, 1799, 1799, 1799,
1029 1799, 1799, 1799, 1799, 1799, 1799, 1990, 1799, 1799, 1799,
1031 1799, 1799, 1992, 1799, 1799, 1992, 1799, 1799, 1799, 1799,
1032 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1995,
1033 1996, 1997, 1799, 1799, 1997, 1997, 1799, 1799, 1997, 1799,
1034 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 2001, 2002,
1035 1799, 1799, 1799, 1799, 1799, 1799, 2004, 2005, 2005, 2005,
1036 2006, 1799, 2007, 2008, 1799, 1981, 1982, 1982, 1799, 1799,
1037 1799, 1799, 1984, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1038 1799, 1799, 1799, 1799, 1985, 1799, 1987, 1987, 1799, 1799,
1039 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1040 1799, 1799, 1799, 1990, 1799, 1799, 1799, 1799, 1799, 1992,
1042 1799, 1799, 1799, 1799, 1992, 1799, 1799, 1799, 1799, 1799,
1043 1799, 1995, 1799, 1799, 1997, 1799, 1799, 1799, 1997, 1997,
1044 1799, 1799, 1799, 1799, 1997, 1799, 2001, 2002, 2004, 1799,
1045 1799, 2005, 2005, 2006, 1799, 2007, 1799, 1799, 1981, 1982,
1046 1982, 1799, 1984, 1799, 1799, 1799, 1799, 1799, 1799, 1985,
1047 1799, 1799, 1987, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1048 1799, 1799, 1799, 1990, 1799, 1992, 1799, 1799, 1799, 1799,
1049 1992, 1799, 1799, 1799, 1799, 1997, 1997, 1997, 1799, 1799,
1050 1799, 1799, 1997, 1799, 1799, 1799, 2002, 2004, 1799, 1799,
1051 1799, 1799, 1799, 2005, 1799, 1799, 1799, 2007, 1981, 1982,
1053 1982, 1799, 1799, 1799, 1799, 1799, 1985, 1799, 1799, 1799,
1054 1987, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1055 1799, 1990, 1799, 1992, 1799, 1799, 1799, 1799, 1799, 1799,
1056 1799, 1997, 1997, 1997, 1799, 1799, 1799, 1799, 1799, 1799,
1057 2004, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1981, 1982,
1058 1982, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1059 1987, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1060 1799, 1990, 1799, 1992, 1799, 1799, 1799, 1997, 1997, 1997,
1061 1799, 1799, 1799, 2004, 1799, 1799, 1799, 1981, 1982, 1982,
1062 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1064 1987, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1990,
1065 1799, 1799, 1799, 1992, 1997, 1799, 1799, 1997, 2004, 1981,
1066 1982, 1982, 1982, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1067 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1990,
1068 1799, 1799, 1799, 1992, 1997, 1799, 1799, 1799, 1997, 1799,
1069 1799, 1981, 1982, 1982, 1982, 2009, 2010, 1799, 1799, 1799,
1070 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1071 1799, 1799, 1990, 1992, 1799, 1799, 1799, 1799, 1981, 1982,
1072 2011, 2012, 2009, 2010, 1799, 1799, 1799, 1799, 1799, 1799,
1073 1799, 1799, 1799, 1799, 1799, 1799, 1992, 1799, 1799, 1799,
1075 1799, 1799, 1799, 1981, 2011, 1982, 2013, 2012, 2014, 1982,
1076 1799, 1799, 1799, 1799, 1799, 1799, 1992, 1799, 1799, 1799,
1077 1799, 1981, 2013, 1799, 2014, 1982, 1799, 1799, 1799, 1799,
1078 1799, 1799, 1799, 1799, 1981, 1799, 1799, 1799, 1799, 1799,
1079 1799, 1799, 1799, 1799, 1799, 1981, 1799, 1799, 1799, 1799,
1080 1799, 1981, 1799, 1799, 1799, 1799, 1981, 1799, 1799, 1799,
1081 1799, 1981, 1799, 1799, 1799, 1799, 1981, 1799, 1799, 1981,
1082 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981,
1083 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981,
1084 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1799, 0, 1799,
1086 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1087 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1088 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1089 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1090 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1091 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1092 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1093 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1094 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1095 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1097 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1098 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1099 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1100 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1101 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1102 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1103 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1104 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1105 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1106 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1108 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1109 1799, 1799, 1799, 1799
1112 static yyconst flex_int16_t yy_nxt[6658] =
1114 1799, 184, 185, 184, 184, 185, 184, 184, 185, 184,
1115 184, 185, 184, 189, 185, 189, 195, 186, 192, 195,
1116 186, 192, 1568, 187, 1569, 193, 187, 582, 193, 190,
1117 189, 185, 189, 436, 196, 198, 199, 196, 198, 199,
1118 200, 201, 583, 200, 201, 436, 190, 205, 206, 437,
1119 202, 198, 199, 202, 203, 439, 200, 198, 199, 534,
1120 203, 438, 200, 205, 206, 1799, 202, 185, 185, 185,
1121 535, 438, 202, 185, 185, 185, 217, 185, 217, 217,
1122 185, 217, 459, 208, 217, 185, 217, 207, 462, 208,
1123 467, 462, 218, 485, 497, 218, 435, 435, 435, 457,
1125 219, 1570, 1571, 207, 209, 210, 185, 210, 209, 209,
1126 209, 209, 209, 209, 209, 211, 209, 209, 209, 1799,
1127 209, 213, 209, 214, 209, 217, 185, 217, 217, 185,
1128 217, 217, 185, 217, 185, 185, 185, 185, 185, 185,
1129 486, 219, 1799, 502, 220, 209, 209, 220, 439, 439,
1130 221, 439, 465, 221, 435, 435, 435, 435, 435, 435,
1131 435, 435, 435, 1573, 438, 438, 486, 438, 215, 209,
1132 210, 185, 210, 209, 209, 209, 209, 209, 209, 209,
1133 211, 209, 209, 209, 485, 209, 213, 209, 214, 209,
1134 217, 185, 217, 217, 185, 217, 185, 185, 185, 185,
1136 185, 185, 217, 185, 217, 450, 219, 605, 1040, 219,
1137 209, 209, 222, 606, 548, 222, 439, 516, 220, 217,
1138 185, 217, 217, 185, 217, 217, 185, 217, 435, 435,
1139 435, 468, 438, 215, 513, 220, 1500, 517, 223, 513,
1140 1799, 223, 224, 225, 185, 225, 224, 224, 224, 224,
1141 224, 224, 224, 226, 224, 224, 224, 460, 224, 228,
1142 224, 229, 224, 246, 185, 246, 246, 185, 246, 185,
1143 185, 185, 185, 185, 185, 464, 246, 185, 246, 247,
1144 816, 486, 247, 224, 224, 248, 468, 468, 248, 817,
1145 520, 230, 247, 521, 231, 435, 435, 435, 1574, 1578,
1147 232, 224, 225, 185, 225, 224, 224, 224, 224, 224,
1148 224, 224, 226, 224, 224, 224, 465, 224, 228, 224,
1149 229, 224, 198, 199, 198, 199, 468, 200, 462, 200,
1150 246, 185, 246, 246, 185, 246, 481, 233, 474, 233,
1151 482, 466, 224, 224, 483, 475, 247, 439, 588, 249,
1152 230, 589, 601, 231, 438, 602, 723, 467, 558, 232,
1153 918, 1579, 234, 438, 234, 235, 236, 185, 236, 235,
1154 235, 235, 235, 235, 235, 235, 237, 235, 235, 235,
1155 582, 235, 239, 235, 240, 235, 246, 185, 246, 260,
1156 185, 260, 260, 185, 260, 271, 185, 271, 271, 185,
1158 271, 460, 249, 439, 1580, 261, 235, 235, 261, 439,
1159 492, 272, 619, 1557, 272, 241, 536, 242, 536, 438,
1160 243, 435, 435, 435, 1558, 438, 244, 235, 236, 185,
1161 236, 235, 235, 235, 235, 235, 235, 235, 237, 235,
1162 235, 235, 465, 235, 239, 235, 240, 235, 271, 185,
1163 271, 271, 185, 271, 185, 185, 185, 185, 185, 185,
1164 271, 185, 271, 486, 273, 468, 457, 273, 235, 235,
1165 274, 439, 456, 274, 605, 601, 275, 241, 610, 242,
1166 614, 504, 243, 435, 435, 435, 468, 438, 244, 250,
1167 251, 185, 251, 250, 250, 250, 250, 250, 250, 250,
1169 252, 250, 250, 250, 1592, 250, 254, 250, 255, 250,
1170 271, 185, 271, 271, 185, 271, 271, 185, 271, 185,
1171 185, 185, 185, 185, 185, 612, 275, 1593, 610, 276,
1172 250, 250, 276, 439, 439, 277, 1597, 256, 277, 435,
1173 435, 435, 257, 435, 435, 435, 435, 435, 435, 438,
1174 438, 258, 250, 251, 185, 251, 250, 250, 250, 250,
1175 250, 250, 250, 252, 250, 250, 250, 723, 250, 254,
1176 250, 255, 250, 271, 185, 271, 271, 185, 271, 185,
1177 185, 185, 185, 185, 185, 271, 185, 271, 1143, 273,
1178 1598, 723, 273, 250, 250, 278, 439, 439, 278, 1559,
1180 256, 276, 435, 435, 435, 257, 435, 435, 435, 1037,
1181 1560, 1799, 438, 438, 258, 262, 263, 185, 263, 262,
1182 262, 262, 262, 262, 262, 262, 264, 262, 262, 262,
1183 1040, 262, 266, 262, 267, 262, 271, 185, 271, 271,
1184 185, 271, 271, 185, 271, 185, 185, 185, 185, 185,
1185 185, 500, 276, 607, 501, 279, 262, 262, 279, 605,
1186 505, 280, 935, 1501, 280, 632, 608, 268, 435, 435,
1187 435, 435, 435, 435, 936, 269, 262, 263, 185, 263,
1188 262, 262, 262, 262, 262, 262, 262, 264, 262, 262,
1189 262, 1040, 262, 266, 262, 267, 262, 271, 185, 271,
1191 271, 185, 271, 185, 185, 185, 185, 185, 185, 271,
1192 185, 271, 723, 281, 1289, 1040, 281, 262, 262, 282,
1193 1258, 1290, 282, 943, 1599, 279, 725, 439, 268, 271,
1194 185, 271, 271, 185, 271, 936, 269, 271, 185, 271,
1195 435, 435, 435, 438, 1600, 279, 1601, 1602, 283, 435,
1196 435, 435, 1257, 283, 284, 285, 185, 285, 284, 284,
1197 284, 284, 284, 284, 284, 286, 284, 284, 284, 565,
1198 284, 288, 284, 289, 284, 296, 185, 296, 296, 185,
1199 296, 185, 185, 185, 185, 185, 185, 296, 185, 296,
1200 1603, 297, 439, 943, 297, 284, 284, 248, 290, 524,
1202 248, 439, 566, 297, 1604, 960, 291, 1294, 438, 435,
1203 435, 435, 292, 1605, 1295, 293, 486, 438, 294, 284,
1204 285, 185, 285, 284, 284, 284, 284, 284, 284, 284,
1205 286, 284, 284, 284, 723, 284, 288, 284, 289, 284,
1206 296, 185, 296, 296, 185, 296, 296, 185, 296, 312,
1207 185, 312, 312, 185, 312, 723, 297, 439, 1606, 298,
1208 284, 284, 298, 290, 528, 313, 439, 1607, 313, 1549,
1209 1256, 291, 723, 438, 435, 435, 435, 292, 1356, 1608,
1210 293, 1609, 438, 294, 299, 300, 185, 300, 299, 299,
1211 299, 299, 299, 299, 299, 301, 299, 299, 299, 302,
1213 299, 303, 299, 304, 299, 302, 302, 302, 302, 302,
1214 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1215 302, 302, 302, 302, 302, 299, 299, 302, 302, 305,
1216 302, 302, 302, 302, 302, 302, 306, 302, 307, 302,
1217 302, 302, 308, 302, 309, 310, 302, 302, 302, 302,
1218 302, 302, 314, 315, 185, 315, 314, 314, 314, 314,
1219 314, 314, 314, 316, 314, 314, 314, 1615, 314, 318,
1220 314, 319, 314, 322, 185, 322, 322, 185, 322, 335,
1221 185, 335, 335, 185, 335, 185, 185, 185, 1618, 323,
1222 607, 1401, 323, 314, 314, 336, 1403, 1402, 336, 1624,
1224 1040, 248, 1404, 647, 320, 314, 315, 185, 315, 314,
1225 314, 314, 314, 314, 314, 314, 316, 314, 314, 314,
1226 1040, 314, 318, 314, 319, 314, 185, 185, 185, 335,
1227 185, 335, 335, 185, 335, 335, 185, 335, 335, 185,
1228 335, 1358, 248, 607, 1421, 336, 314, 314, 336, 1423,
1229 1422, 337, 1040, 1550, 337, 1424, 649, 320, 324, 325,
1230 185, 325, 324, 324, 324, 324, 324, 324, 324, 326,
1231 324, 324, 324, 1040, 324, 328, 324, 329, 324, 347,
1232 185, 347, 347, 185, 347, 185, 185, 185, 185, 185,
1233 185, 347, 185, 347, 1441, 348, 607, 1625, 348, 324,
1235 324, 349, 1626, 330, 349, 1627, 1628, 348, 1040, 650,
1236 331, 1440, 332, 435, 435, 435, 435, 435, 435, 333,
1237 324, 325, 185, 325, 324, 324, 324, 324, 324, 324,
1238 324, 326, 324, 324, 324, 1357, 324, 328, 324, 329,
1239 324, 347, 185, 347, 347, 185, 347, 347, 185, 347,
1240 361, 185, 361, 361, 185, 361, 1629, 348, 716, 1040,
1241 350, 324, 324, 350, 1632, 330, 362, 1633, 1634, 362,
1242 1635, 608, 331, 1636, 332, 435, 435, 435, 435, 435,
1243 435, 333, 338, 339, 185, 339, 338, 338, 338, 338,
1244 338, 338, 338, 340, 338, 338, 338, 1551, 338, 342,
1246 338, 343, 338, 185, 185, 185, 185, 185, 185, 361,
1247 185, 361, 361, 185, 361, 361, 185, 361, 1637, 349,
1248 1638, 1639, 349, 338, 338, 362, 439, 1644, 362, 344,
1249 1645, 363, 435, 435, 435, 435, 435, 435, 435, 435,
1250 435, 1649, 438, 345, 338, 339, 185, 339, 338, 338,
1251 338, 338, 338, 338, 338, 340, 338, 338, 338, 1660,
1252 338, 342, 338, 343, 338, 361, 185, 361, 372, 185,
1253 372, 372, 185, 372, 384, 185, 384, 384, 185, 384,
1254 1661, 363, 439, 1662, 373, 338, 338, 373, 1663, 552,
1255 385, 344, 1667, 385, 435, 435, 435, 1668, 438, 435,
1257 435, 435, 435, 435, 435, 345, 351, 352, 185, 352,
1258 351, 351, 351, 351, 351, 351, 351, 353, 351, 351,
1259 351, 723, 351, 355, 351, 356, 351, 185, 185, 185,
1260 185, 185, 185, 384, 185, 384, 384, 185, 384, 384,
1261 185, 384, 1669, 349, 1670, 1671, 349, 351, 351, 385,
1262 439, 1652, 385, 357, 1672, 386, 358, 435, 435, 435,
1263 435, 435, 435, 435, 435, 435, 438, 359, 351, 352,
1264 185, 352, 351, 351, 351, 351, 351, 351, 351, 353,
1265 351, 351, 351, 1674, 351, 355, 351, 356, 351, 384,
1266 185, 384, 398, 185, 398, 398, 185, 398, 185, 185,
1268 185, 185, 185, 185, 1685, 386, 439, 439, 399, 351,
1269 351, 399, 439, 570, 400, 357, 1686, 400, 358, 435,
1270 435, 435, 438, 438, 435, 435, 435, 1687, 438, 359,
1271 364, 365, 185, 365, 364, 364, 364, 364, 364, 364,
1272 364, 366, 364, 364, 364, 1688, 364, 368, 364, 369,
1273 364, 398, 185, 398, 398, 185, 398, 398, 185, 398,
1274 398, 185, 398, 410, 185, 410, 1689, 399, 1690, 1175,
1275 399, 364, 364, 401, 1176, 1691, 401, 1177, 723, 411,
1276 1692, 1178, 370, 364, 365, 185, 365, 364, 364, 364,
1277 364, 364, 364, 364, 366, 364, 364, 364, 1693, 364,
1279 368, 364, 369, 364, 410, 185, 410, 420, 185, 420,
1280 420, 185, 420, 185, 185, 185, 185, 185, 185, 1694,
1281 411, 1620, 1179, 421, 364, 364, 421, 1180, 1697, 248,
1282 1181, 723, 248, 1711, 1182, 370, 374, 375, 185, 375,
1283 374, 374, 374, 374, 374, 374, 374, 376, 374, 374,
1284 374, 1712, 374, 378, 374, 379, 374, 420, 185, 420,
1285 420, 185, 420, 420, 185, 420, 420, 185, 420, 433,
1286 185, 433, 1704, 422, 1713, 1714, 422, 374, 374, 423,
1287 574, 1715, 423, 380, 444, 434, 381, 541, 435, 435,
1288 435, 435, 435, 435, 435, 435, 435, 382, 374, 375,
1290 185, 375, 374, 374, 374, 374, 374, 374, 374, 376,
1291 374, 374, 374, 456, 374, 378, 374, 379, 374, 433,
1292 185, 433, 445, 497, 740, 740, 740, 1716, 446, 575,
1293 542, 439, 447, 503, 468, 434, 1706, 448, 580, 374,
1294 374, 497, 586, 586, 586, 380, 1717, 438, 381, 1724,
1295 1707, 498, 586, 586, 586, 1724, 727, 499, 466, 382,
1296 387, 388, 185, 388, 387, 387, 387, 387, 387, 387,
1297 387, 389, 387, 387, 387, 499, 387, 391, 387, 392,
1298 387, 500, 723, 741, 501, 1718, 616, 616, 616, 1727,
1299 502, 624, 624, 624, 1728, 1719, 587, 638, 638, 638,
1301 1040, 387, 387, 617, 740, 740, 740, 1588, 625, 393,
1302 1040, 394, 1731, 395, 639, 754, 754, 754, 740, 740,
1303 740, 396, 387, 388, 185, 388, 387, 387, 387, 387,
1304 387, 387, 387, 389, 387, 387, 387, 1589, 387, 391,
1305 387, 392, 387, 652, 652, 652, 1732, 1590, 660, 660,
1306 660, 662, 662, 662, 1733, 671, 671, 671, 1706, 1706,
1307 653, 723, 1734, 387, 387, 661, 1720, 1724, 663, 1709,
1308 1709, 393, 672, 394, 741, 395, 1721, 798, 1040, 1736,
1309 754, 754, 754, 396, 402, 403, 185, 403, 402, 402,
1310 402, 402, 402, 402, 402, 404, 402, 402, 402, 1679,
1312 402, 406, 402, 407, 402, 676, 676, 676, 1724, 1621,
1313 693, 693, 693, 712, 712, 712, 717, 717, 717, 736,
1314 736, 736, 677, 1040, 1041, 402, 402, 694, 723, 1737,
1315 713, 1738, 1742, 718, 759, 759, 759, 738, 760, 798,
1316 1743, 761, 754, 754, 754, 1052, 1052, 1052, 408, 402,
1317 403, 185, 403, 402, 402, 402, 402, 402, 402, 402,
1318 404, 402, 402, 402, 1722, 402, 406, 402, 407, 402,
1319 616, 616, 616, 1057, 1057, 1057, 736, 736, 736, 764,
1320 764, 764, 764, 764, 764, 1706, 1744, 617, 1745, 1747,
1321 402, 402, 1748, 1749, 738, 1750, 1751, 766, 1753, 1707,
1323 766, 769, 769, 769, 1754, 770, 1755, 1756, 771, 1053,
1324 1053, 1053, 1758, 408, 412, 413, 185, 413, 412, 412,
1325 412, 412, 412, 412, 412, 414, 412, 412, 412, 739,
1326 412, 416, 412, 417, 412, 624, 624, 624, 1077, 1077,
1327 1077, 767, 772, 772, 772, 775, 775, 775, 638, 638,
1328 638, 1054, 625, 1759, 1760, 412, 412, 1761, 1763, 773,
1329 1764, 723, 776, 1765, 1766, 639, 418, 412, 413, 185,
1330 413, 412, 412, 412, 412, 412, 412, 412, 414, 412,
1331 412, 412, 1752, 412, 416, 412, 417, 412, 778, 778,
1332 778, 1768, 778, 778, 778, 786, 786, 786, 786, 786,
1334 786, 652, 652, 652, 1769, 723, 780, 1567, 412, 412,
1335 780, 1767, 1566, 788, 723, 723, 788, 723, 653, 418,
1336 424, 425, 185, 425, 424, 424, 424, 424, 424, 424,
1337 424, 426, 424, 424, 424, 781, 424, 428, 424, 429,
1338 424, 790, 790, 790, 1565, 791, 1780, 1776, 792, 794,
1339 794, 794, 806, 806, 806, 723, 807, 789, 723, 808,
1340 1792, 424, 424, 812, 812, 812, 1564, 796, 723, 818,
1341 818, 818, 430, 819, 1563, 1757, 820, 1088, 1088, 1088,
1342 1770, 814, 723, 1786, 431, 424, 425, 185, 425, 424,
1343 424, 424, 424, 424, 424, 424, 426, 424, 424, 424,
1345 1762, 424, 428, 424, 429, 424, 794, 794, 794, 1089,
1346 1089, 1089, 812, 812, 812, 660, 660, 660, 662, 662,
1347 662, 821, 821, 821, 796, 822, 424, 424, 823, 723,
1348 814, 723, 661, 723, 723, 663, 723, 430, 824, 824,
1349 824, 797, 830, 830, 830, 830, 830, 830, 1796, 431,
1350 439, 1054, 671, 671, 671, 825, 1562, 454, 1561, 723,
1351 832, 723, 1777, 832, 1787, 1781, 438, 455, 815, 672,
1352 834, 834, 834, 1774, 835, 1775, 723, 836, 837, 837,
1353 837, 837, 837, 837, 676, 676, 676, 848, 848, 848,
1354 456, 457, 458, 1052, 1052, 1052, 839, 459, 833, 839,
1356 460, 677, 1782, 723, 461, 850, 462, 723, 463, 842,
1357 842, 842, 1778, 843, 723, 1554, 844, 848, 848, 848,
1358 1796, 852, 852, 852, 854, 854, 854, 856, 856, 856,
1359 856, 856, 856, 1553, 723, 850, 723, 840, 853, 1779,
1360 1784, 855, 861, 861, 861, 858, 1552, 1785, 858, 1799,
1361 1799, 1799, 865, 865, 865, 867, 867, 867, 1788, 862,
1362 1536, 867, 867, 867, 723, 1535, 1799, 723, 851, 866,
1363 693, 693, 693, 869, 871, 871, 871, 1783, 872, 869,
1364 1534, 873, 874, 874, 874, 1789, 859, 694, 874, 874,
1365 874, 878, 878, 878, 723, 863, 870, 1799, 1799, 1799,
1367 876, 882, 882, 882, 723, 1533, 876, 1793, 879, 864,
1368 884, 884, 884, 1532, 1799, 884, 884, 884, 883, 892,
1369 892, 892, 1526, 892, 892, 892, 723, 723, 886, 898,
1370 898, 898, 1790, 886, 898, 898, 898, 894, 1525, 877,
1371 1524, 894, 1523, 880, 712, 712, 712, 900, 1521, 902,
1372 902, 902, 900, 903, 1791, 1794, 904, 881, 905, 905,
1373 905, 713, 905, 905, 905, 1520, 717, 717, 717, 1519,
1374 910, 910, 910, 723, 911, 1518, 907, 912, 1517, 1516,
1375 907, 887, 895, 718, 914, 914, 914, 914, 914, 914,
1376 736, 736, 736, 901, 736, 736, 736, 736, 736, 736,
1378 1515, 1795, 916, 1514, 1513, 916, 1512, 1511, 738, 944,
1379 944, 944, 738, 1507, 1506, 738, 1505, 1504, 908, 1494,
1380 759, 759, 759, 1483, 760, 1482, 945, 761, 1799, 1799,
1381 1799, 764, 764, 764, 764, 764, 764, 764, 764, 764,
1382 926, 1481, 772, 772, 772, 1799, 917, 1480, 1479, 766,
1383 1478, 1477, 766, 1471, 1470, 766, 769, 769, 769, 773,
1384 770, 1469, 1468, 771, 950, 950, 950, 1467, 951, 1466,
1385 1465, 952, 953, 953, 953, 775, 775, 775, 1463, 1462,
1386 948, 955, 955, 955, 946, 956, 1461, 1460, 957, 954,
1387 1459, 1458, 776, 778, 778, 778, 778, 778, 778, 778,
1389 778, 778, 962, 962, 962, 786, 786, 786, 786, 786,
1390 786, 780, 1457, 1456, 780, 1455, 1454, 780, 1453, 963,
1391 786, 786, 786, 788, 1450, 1449, 788, 790, 790, 790,
1392 1448, 791, 1445, 1435, 792, 794, 794, 794, 788, 794,
1393 794, 794, 967, 967, 967, 806, 806, 806, 1433, 807,
1394 1432, 1426, 808, 796, 959, 1425, 1420, 796, 1419, 1415,
1395 968, 1405, 1400, 965, 812, 812, 812, 812, 812, 812,
1396 812, 812, 812, 818, 818, 818, 1399, 819, 1393, 1392,
1397 820, 1391, 814, 1390, 1389, 814, 1388, 1387, 814, 821,
1398 821, 821, 1386, 822, 1385, 1384, 823, 824, 824, 824,
1400 983, 983, 983, 1378, 984, 1377, 1376, 985, 830, 830,
1401 830, 830, 830, 830, 825, 830, 830, 830, 834, 834,
1402 834, 1375, 835, 1373, 1371, 836, 832, 1369, 1368, 832,
1403 980, 1366, 1365, 832, 837, 837, 837, 837, 837, 837,
1404 837, 837, 837, 842, 842, 842, 1359, 843, 1352, 1350,
1405 844, 1349, 839, 1348, 1332, 839, 1329, 1328, 839, 1327,
1406 848, 848, 848, 848, 848, 848, 848, 848, 848, 852,
1407 852, 852, 997, 997, 997, 1326, 998, 990, 850, 999,
1408 1322, 850, 1306, 1305, 850, 1304, 853, 854, 854, 854,
1409 1000, 1000, 1000, 1303, 1001, 1301, 1300, 1002, 856, 856,
1411 856, 1296, 991, 1293, 855, 856, 856, 856, 856, 856,
1412 856, 861, 861, 861, 1292, 1291, 858, 1288, 1005, 1005,
1413 1005, 996, 1006, 858, 1287, 1007, 858, 1283, 862, 865,
1414 865, 865, 1010, 1010, 1010, 1282, 1011, 1279, 1278, 1012,
1415 867, 867, 867, 867, 867, 867, 866, 867, 867, 867,
1416 871, 871, 871, 1277, 872, 1276, 1275, 873, 869, 1273,
1417 1270, 869, 874, 874, 874, 869, 874, 874, 874, 1269,
1418 1003, 874, 874, 874, 878, 878, 878, 882, 882, 882,
1419 876, 1015, 1015, 1015, 876, 1016, 1268, 1266, 1017, 876,
1420 1265, 879, 1264, 1263, 883, 1020, 1020, 1020, 1259, 1021,
1422 1250, 1244, 1022, 884, 884, 884, 1013, 884, 884, 884,
1423 884, 884, 884, 1025, 1025, 1025, 892, 892, 892, 1242,
1424 1241, 886, 892, 892, 892, 886, 1014, 1240, 886, 1228,
1425 1026, 892, 892, 892, 894, 898, 898, 898, 1224, 1220,
1426 894, 898, 898, 898, 898, 898, 898, 1219, 1218, 894,
1427 902, 902, 902, 900, 903, 1200, 1199, 904, 1192, 900,
1428 1189, 1188, 900, 905, 905, 905, 1187, 1023, 905, 905,
1429 905, 905, 905, 905, 1174, 910, 910, 910, 1172, 911,
1430 1171, 907, 912, 914, 914, 914, 907, 1029, 1169, 907,
1431 914, 914, 914, 1032, 914, 914, 914, 1039, 1039, 1039,
1433 1168, 916, 736, 736, 736, 944, 944, 944, 916, 764,
1434 764, 764, 916, 1167, 1164, 1040, 1041, 1065, 1065, 1065,
1435 738, 1066, 945, 1163, 1067, 1158, 1033, 766, 950, 950,
1436 950, 1157, 951, 1156, 1155, 952, 953, 953, 953, 1072,
1437 1072, 1072, 1154, 1073, 1153, 1152, 1074, 778, 778, 778,
1438 1036, 1151, 1150, 954, 1070, 955, 955, 955, 1148, 956,
1439 1147, 1146, 957, 1046, 1040, 780, 962, 962, 962, 1079,
1440 1079, 1079, 1139, 1080, 1134, 1132, 1081, 1082, 1082, 1082,
1441 786, 786, 786, 963, 967, 967, 967, 1094, 1094, 1094,
1442 1096, 1096, 1096, 1076, 1083, 812, 812, 812, 788, 1101,
1444 1101, 1101, 968, 1131, 1095, 1127, 1125, 1097, 1124, 1799,
1445 1799, 1799, 1121, 814, 1120, 1113, 1102, 983, 983, 983,
1446 1112, 984, 1111, 1099, 985, 1084, 1799, 1104, 1104, 1104,
1447 1093, 1092, 1098, 1799, 1799, 1799, 1799, 1799, 1799, 1091,
1448 1799, 1799, 1799, 1090, 1105, 1087, 830, 830, 830, 1086,
1449 1799, 1085, 1078, 1799, 1075, 1071, 1100, 1799, 837, 837,
1450 837, 1114, 1114, 1114, 832, 848, 848, 848, 1069, 1068,
1451 1103, 1064, 1063, 997, 997, 997, 839, 998, 1115, 1107,
1452 999, 1062, 1061, 850, 1000, 1000, 1000, 1060, 1001, 1059,
1453 1058, 1002, 856, 856, 856, 1053, 1053, 1053, 1106, 1056,
1455 1005, 1005, 1005, 1116, 1006, 1108, 1109, 1007, 1055, 1051,
1456 858, 1010, 1010, 1010, 1050, 1011, 1049, 1117, 1012, 1110,
1457 867, 867, 867, 874, 874, 874, 1015, 1015, 1015, 1048,
1458 1016, 1047, 1045, 1017, 884, 884, 884, 1119, 869, 1044,
1459 1043, 876, 1020, 1020, 1020, 1042, 1021, 1035, 1034, 1022,
1460 1031, 1030, 886, 1118, 1025, 1025, 1025, 1128, 1128, 1128,
1461 1028, 1129, 1027, 1024, 1130, 892, 892, 892, 1135, 1135,
1462 1135, 1026, 898, 898, 898, 1123, 1122, 1126, 905, 905,
1463 905, 1019, 1018, 894, 1009, 1136, 1140, 1140, 1140, 1008,
1464 900, 914, 914, 914, 1004, 995, 907, 1039, 1039, 1039,
1466 1053, 1053, 1053, 1141, 736, 736, 736, 994, 993, 916,
1467 1133, 1057, 1057, 1057, 992, 1040, 1159, 1159, 1159, 1161,
1468 1161, 1161, 738, 1165, 1165, 1165, 1138, 989, 1065, 1065,
1469 1065, 988, 1066, 987, 1137, 1067, 764, 764, 764, 1072,
1470 1072, 1072, 986, 1073, 1144, 982, 1074, 981, 1142, 778,
1471 778, 778, 1149, 979, 766, 1077, 1077, 1077, 978, 977,
1472 1145, 1162, 1079, 1079, 1079, 1166, 1080, 780, 976, 1081,
1473 1082, 1082, 1082, 975, 974, 1160, 973, 1183, 1183, 1183,
1474 972, 1184, 971, 1170, 1185, 970, 969, 1083, 786, 786,
1475 786, 1088, 1088, 1088, 1089, 1089, 1089, 1190, 1190, 1190,
1477 1190, 1190, 1190, 966, 964, 1173, 788, 1159, 1159, 1159,
1478 1094, 1094, 1094, 1193, 1193, 1193, 961, 1194, 958, 949,
1479 1195, 1096, 1096, 1096, 1196, 1196, 1196, 1095, 1197, 947,
1480 942, 1198, 1201, 1201, 1201, 1186, 941, 940, 1097, 939,
1481 1101, 1101, 1101, 938, 1203, 1203, 1203, 937, 1204, 934,
1482 1202, 1205, 1206, 1206, 1206, 933, 1191, 1102, 932, 1160,
1483 1104, 1104, 1104, 1208, 1208, 1208, 1191, 1209, 931, 1207,
1484 1210, 1211, 1211, 1211, 1799, 1799, 1799, 1105, 1214, 1214,
1485 1214, 830, 830, 830, 837, 837, 837, 930, 1212, 929,
1486 928, 1799, 1114, 1114, 1114, 1215, 1221, 1221, 1221, 832,
1488 1222, 927, 839, 1223, 1225, 1225, 1225, 925, 924, 1115,
1489 856, 856, 856, 1229, 1229, 1229, 1231, 1231, 1231, 867,
1490 867, 867, 1226, 874, 874, 874, 923, 1213, 858, 922,
1491 1230, 1217, 921, 1232, 1235, 1235, 1235, 869, 1237, 1237,
1492 1237, 876, 1216, 884, 884, 884, 1128, 1128, 1128, 920,
1493 1129, 1236, 919, 1130, 723, 1238, 913, 1227, 892, 892,
1494 892, 886, 1135, 1135, 1135, 1234, 1245, 1245, 1245, 909,
1495 1246, 897, 896, 1247, 891, 890, 894, 889, 888, 1136,
1496 860, 1233, 898, 898, 898, 847, 905, 905, 905, 1140,
1497 1140, 1140, 1251, 1251, 1251, 846, 1252, 845, 841, 1253,
1499 900, 829, 828, 1239, 907, 1243, 1141, 1254, 1254, 1254,
1500 1260, 1260, 1260, 736, 736, 736, 1267, 1267, 1267, 1271,
1501 1271, 1271, 1159, 1159, 1159, 1255, 827, 1261, 1272, 1272,
1502 1272, 738, 1161, 1161, 1161, 826, 1248, 1249, 1274, 1274,
1503 1274, 1165, 1165, 1165, 1280, 1280, 1280, 778, 778, 778,
1504 1285, 1285, 1285, 1183, 1183, 1183, 811, 1184, 810, 809,
1505 1185, 805, 1281, 804, 803, 780, 802, 1286, 801, 1262,
1506 786, 786, 786, 1298, 1298, 1298, 1190, 1190, 1190, 1302,
1507 1302, 1302, 1193, 1193, 1193, 800, 1194, 799, 788, 1195,
1508 1299, 1196, 1196, 1196, 793, 1197, 785, 784, 1198, 783,
1510 782, 1284, 1307, 1307, 1307, 1201, 1201, 1201, 777, 1203,
1511 1203, 1203, 1297, 1204, 774, 768, 1205, 763, 762, 1308,
1512 1206, 1206, 1206, 1202, 1309, 1309, 1309, 758, 1310, 757,
1513 756, 1311, 1208, 1208, 1208, 755, 1209, 1207, 753, 1210,
1514 1211, 1211, 1211, 1312, 1312, 1312, 752, 1313, 751, 750,
1515 1314, 1315, 1315, 1315, 1214, 1214, 1214, 1212, 1317, 1317,
1516 1317, 749, 1318, 748, 747, 1319, 746, 745, 1316, 744,
1517 743, 1215, 830, 830, 830, 837, 837, 837, 1323, 1323,
1518 1323, 1221, 1221, 1221, 742, 1222, 735, 734, 1223, 733,
1519 832, 732, 731, 839, 730, 1324, 1225, 1225, 1225, 1330,
1521 1330, 1330, 729, 726, 1229, 1229, 1229, 724, 1333, 1333,
1522 1333, 723, 1334, 721, 1226, 1335, 719, 1331, 715, 1320,
1523 1325, 1230, 1231, 1231, 1231, 1336, 1336, 1336, 711, 1337,
1524 709, 708, 1338, 707, 1321, 867, 867, 867, 705, 1232,
1525 874, 874, 874, 1235, 1235, 1235, 704, 1341, 1341, 1341,
1526 703, 1342, 702, 869, 1343, 1237, 1237, 1237, 876, 701,
1527 1236, 1344, 1344, 1344, 699, 1345, 698, 697, 1346, 884,
1528 884, 884, 1238, 892, 892, 892, 1245, 1245, 1245, 696,
1529 1246, 692, 690, 1247, 689, 1340, 688, 886, 898, 898,
1530 898, 894, 905, 905, 905, 687, 1339, 1355, 1355, 1355,
1532 1251, 1251, 1251, 686, 1252, 684, 900, 1253, 683, 682,
1533 907, 680, 1254, 1254, 1254, 1260, 1260, 1260, 1360, 1360,
1534 1360, 679, 1361, 678, 675, 1362, 736, 736, 736, 1347,
1535 1255, 674, 1261, 1351, 670, 1353, 1364, 1364, 1364, 668,
1536 667, 1354, 666, 665, 738, 1367, 1367, 1367, 1267, 1267,
1537 1267, 1370, 1370, 1370, 1271, 1271, 1271, 1272, 1272, 1272,
1538 1274, 1274, 1274, 1372, 1372, 1372, 1374, 1374, 1374, 1280,
1539 1280, 1280, 1379, 1379, 1379, 1285, 1285, 1285, 664, 1381,
1540 1381, 1381, 659, 1382, 658, 1363, 1383, 1281, 656, 655,
1541 1380, 654, 1286, 786, 786, 786, 1298, 1298, 1298, 1395,
1543 1395, 1395, 651, 1396, 648, 646, 1397, 1398, 1398, 1398,
1544 645, 788, 644, 1299, 1302, 1302, 1302, 1307, 1307, 1307,
1545 1406, 1406, 1406, 643, 1407, 642, 640, 1408, 1309, 1309,
1546 1309, 637, 1310, 635, 1308, 1311, 634, 633, 1394, 1312,
1547 1312, 1312, 631, 1313, 629, 628, 1314, 1315, 1315, 1315,
1548 1409, 1409, 1409, 627, 1410, 626, 623, 1411, 1317, 1317,
1549 1317, 622, 1318, 621, 1316, 1319, 830, 830, 830, 1413,
1550 1413, 1413, 1323, 1323, 1323, 1416, 1416, 1416, 618, 1417,
1551 615, 613, 1418, 611, 832, 609, 604, 1414, 603, 1324,
1552 1330, 1330, 1330, 1333, 1333, 1333, 600, 1334, 599, 598,
1554 1335, 597, 1336, 1336, 1336, 595, 1337, 594, 1331, 1338,
1555 867, 867, 867, 874, 874, 874, 1341, 1341, 1341, 593,
1556 1342, 592, 591, 1343, 590, 1412, 585, 582, 869, 584,
1557 579, 876, 1344, 1344, 1344, 578, 1345, 576, 462, 1346,
1558 573, 884, 884, 884, 1430, 1430, 1430, 892, 892, 892,
1559 898, 898, 898, 1437, 1437, 1437, 571, 1427, 569, 886,
1560 567, 1431, 1355, 1355, 1355, 894, 1799, 564, 900, 563,
1561 562, 1438, 561, 559, 1428, 1429, 1439, 1439, 1439, 1442,
1562 1442, 1442, 1360, 1360, 1360, 558, 1361, 557, 556, 1362,
1563 736, 736, 736, 555, 723, 1364, 1364, 1364, 1444, 1444,
1565 1444, 1367, 1367, 1367, 553, 1436, 551, 1434, 738, 1446,
1566 1446, 1446, 1447, 1447, 1447, 1370, 1370, 1370, 1372, 1372,
1567 1372, 1374, 1374, 1374, 1451, 1451, 1451, 1379, 1379, 1379,
1568 1381, 1381, 1381, 549, 1382, 548, 547, 1383, 786, 786,
1569 786, 1452, 546, 545, 1443, 1380, 1395, 1395, 1395, 543,
1570 1396, 460, 1799, 1397, 540, 539, 788, 1398, 1398, 1398,
1571 1406, 1406, 1406, 537, 1407, 533, 532, 1408, 1409, 1409,
1572 1409, 531, 1410, 529, 527, 1411, 525, 1472, 1472, 1472,
1573 1413, 1413, 1413, 1474, 1474, 1474, 1416, 1416, 1416, 523,
1574 1417, 522, 519, 1418, 1464, 1473, 518, 514, 1414, 512,
1576 1475, 1484, 1484, 1484, 1485, 1485, 1485, 511, 874, 874,
1577 874, 884, 884, 884, 1430, 1430, 1430, 1489, 1489, 1489,
1578 510, 1490, 1486, 509, 1491, 1476, 876, 508, 506, 886,
1579 1799, 1431, 1492, 1492, 1492, 1495, 1495, 1495, 1497, 1497,
1580 1497, 898, 898, 898, 1437, 1437, 1437, 465, 501, 1493,
1581 1439, 1439, 1439, 1496, 1442, 1442, 1442, 496, 495, 900,
1582 493, 491, 1438, 1487, 1502, 1502, 1502, 1488, 723, 1444,
1583 1444, 1444, 1446, 1446, 1446, 1447, 1447, 1447, 1451, 1451,
1584 1451, 490, 1503, 1508, 1508, 1508, 489, 1509, 487, 484,
1585 1510, 786, 786, 786, 480, 1452, 1527, 1527, 1527, 1472,
1587 1472, 1472, 1498, 1474, 1474, 1474, 479, 1499, 477, 788,
1588 1537, 1537, 1537, 1528, 1529, 1529, 1529, 1473, 1530, 476,
1589 1475, 1531, 1484, 1484, 1484, 473, 472, 1538, 471, 1485,
1590 1485, 1485, 1539, 1539, 1539, 884, 884, 884, 1489, 1489,
1591 1489, 469, 1490, 468, 1799, 1491, 1522, 1486, 464, 453,
1592 1540, 451, 449, 886, 1492, 1492, 1492, 1542, 1542, 1542,
1593 443, 1543, 442, 443, 1544, 1545, 1545, 1545, 1495, 1495,
1594 1495, 1493, 1497, 1497, 1497, 1547, 1547, 1547, 1502, 1502,
1595 1502, 442, 1546, 1555, 1555, 1555, 1496, 1508, 1508, 1508,
1596 441, 1509, 440, 1548, 1510, 1799, 1503, 1541, 1799, 1799,
1598 1556, 786, 786, 786, 1527, 1527, 1527, 1575, 1575, 1575,
1599 1799, 1576, 1799, 1799, 1577, 1799, 1529, 1529, 1529, 788,
1600 1530, 1528, 1799, 1531, 1537, 1537, 1537, 1581, 1581, 1581,
1601 1799, 1582, 1799, 1799, 1583, 1539, 1539, 1539, 1545, 1545,
1602 1545, 1538, 884, 884, 884, 1542, 1542, 1542, 1799, 1543,
1603 1799, 1799, 1544, 1540, 1799, 1546, 1572, 1585, 1585, 1585,
1604 886, 1586, 1799, 1799, 1587, 1547, 1547, 1547, 1591, 1591,
1605 1591, 1555, 1555, 1555, 1594, 1594, 1594, 1799, 1595, 1799,
1606 1799, 1596, 1799, 1548, 786, 786, 786, 1799, 1556, 1611,
1607 1611, 1611, 1612, 1612, 1612, 1799, 1799, 1575, 1575, 1575,
1609 1799, 1576, 788, 1584, 1577, 1616, 1616, 1616, 1799, 1613,
1610 1581, 1581, 1581, 1799, 1582, 1799, 1799, 1583, 884, 884,
1611 884, 1799, 1617, 1585, 1585, 1585, 1799, 1586, 1799, 1799,
1612 1587, 1610, 1799, 1799, 1614, 1799, 886, 1622, 1622, 1622,
1613 1591, 1591, 1591, 1594, 1594, 1594, 1799, 1595, 1799, 1799,
1614 1596, 1630, 1630, 1630, 1623, 1040, 786, 786, 786, 1611,
1615 1611, 1611, 1612, 1612, 1612, 1619, 1799, 1799, 1631, 1641,
1616 1641, 1641, 1799, 1642, 788, 1799, 1643, 1799, 1799, 1613,
1617 1616, 1616, 1616, 1646, 1646, 1646, 1799, 1647, 1799, 1799,
1618 1648, 1650, 1650, 1650, 1653, 1653, 1653, 1617, 1622, 1622,
1620 1622, 1640, 1799, 1655, 1655, 1655, 1799, 1656, 1799, 1651,
1621 1657, 1654, 1040, 1799, 1799, 1623, 1040, 1658, 1658, 1658,
1622 1799, 1040, 1659, 1659, 1659, 1630, 1630, 1630, 1664, 1664,
1623 1664, 1799, 1665, 1799, 1799, 1666, 786, 786, 786, 1641,
1624 1641, 1641, 1631, 1642, 1799, 1799, 1643, 1675, 1675, 1675,
1625 1799, 1646, 1646, 1646, 788, 1647, 1799, 1799, 1648, 1677,
1626 1677, 1677, 1799, 1799, 1676, 1650, 1650, 1650, 1653, 1653,
1627 1653, 1680, 1680, 1680, 1799, 1681, 1678, 1799, 1682, 1799,
1628 1655, 1655, 1655, 1651, 1656, 1654, 1040, 1657, 1799, 1040,
1629 1658, 1658, 1658, 1659, 1659, 1659, 1799, 1673, 1040, 1038,
1631 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1799, 1799,
1632 1038, 1695, 1695, 1695, 1799, 1038, 1038, 1038, 1040, 1038,
1633 1664, 1664, 1664, 1799, 1665, 1799, 1799, 1666, 1799, 1696,
1634 1799, 1799, 1799, 1799, 1675, 1675, 1675, 1677, 1677, 1677,
1635 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
1636 1038, 1676, 1799, 1038, 1678, 1799, 1799, 1799, 1038, 1038,
1637 1038, 1040, 1038, 1698, 1698, 1698, 1799, 1699, 1799, 1799,
1638 1700, 1701, 1701, 1701, 1799, 1702, 1799, 1799, 1703, 1695,
1639 1695, 1695, 1799, 1038, 1038, 1680, 1680, 1680, 1799, 1681,
1640 1799, 1799, 1682, 1799, 1698, 1698, 1698, 1696, 1699, 1799,
1642 1799, 1700, 1799, 1040, 1038, 1038, 1038, 1038, 1038, 1710,
1643 1038, 1038, 1038, 1799, 1799, 1038, 1726, 1726, 1726, 1799,
1644 1038, 1038, 1038, 1040, 1038, 1701, 1701, 1701, 1799, 1702,
1645 1799, 1799, 1703, 1799, 1040, 1041, 1799, 1799, 1799, 1729,
1646 1729, 1729, 1735, 1735, 1735, 1038, 1038, 1038, 1038, 1038,
1647 1038, 1038, 1038, 1038, 1038, 1710, 1730, 1799, 1038, 1799,
1648 723, 1799, 1799, 1038, 1038, 1038, 1040, 1038, 1726, 1726,
1649 1726, 1799, 1799, 1729, 1729, 1729, 1739, 1739, 1739, 1799,
1650 1740, 1799, 1799, 1741, 1799, 1799, 1040, 1799, 1038, 1038,
1651 1730, 1735, 1735, 1735, 1739, 1739, 1739, 1799, 1740, 1799,
1653 1799, 1741, 1771, 1771, 1771, 1799, 1771, 1771, 1771, 723,
1654 1772, 1799, 1799, 1773, 1799, 1144, 1797, 1797, 1797, 1799,
1655 723, 1797, 1797, 1797, 723, 1799, 1746, 1799, 1799, 1799,
1656 1799, 1799, 1799, 1799, 1798, 1799, 1799, 1799, 1799, 1798,
1657 182, 182, 182, 182, 182, 182, 182, 182, 182, 183,
1658 183, 183, 183, 183, 183, 183, 183, 183, 188, 188,
1659 188, 188, 188, 188, 188, 188, 188, 191, 191, 191,
1660 191, 191, 191, 191, 191, 191, 194, 194, 194, 194,
1661 194, 194, 194, 194, 194, 197, 197, 197, 197, 197,
1662 197, 197, 197, 197, 204, 204, 204, 204, 204, 204,
1664 204, 204, 204, 212, 212, 212, 212, 212, 212, 212,
1665 212, 212, 216, 216, 216, 216, 216, 216, 216, 216,
1666 216, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1667 238, 238, 238, 238, 238, 238, 238, 238, 238, 245,
1668 245, 245, 245, 245, 245, 245, 245, 245, 253, 253,
1669 253, 253, 253, 253, 253, 253, 253, 259, 259, 259,
1670 259, 259, 259, 259, 259, 259, 265, 265, 265, 265,
1671 265, 265, 265, 265, 265, 270, 270, 270, 270, 270,
1672 270, 270, 270, 270, 287, 287, 287, 287, 287, 287,
1673 287, 287, 287, 295, 295, 295, 295, 295, 295, 295,
1675 295, 295, 311, 311, 311, 311, 311, 311, 311, 311,
1676 311, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1677 321, 321, 321, 321, 321, 321, 321, 321, 321, 327,
1678 327, 327, 327, 327, 327, 327, 327, 327, 334, 334,
1679 334, 334, 334, 334, 334, 334, 334, 341, 341, 341,
1680 341, 341, 341, 341, 341, 341, 346, 346, 346, 346,
1681 346, 346, 346, 346, 346, 354, 354, 354, 354, 354,
1682 354, 354, 354, 354, 360, 360, 360, 360, 360, 360,
1683 360, 360, 360, 367, 367, 367, 367, 367, 367, 367,
1684 367, 367, 371, 371, 371, 371, 371, 371, 371, 371,
1686 371, 377, 377, 377, 377, 377, 377, 377, 377, 377,
1687 383, 383, 383, 383, 383, 383, 383, 383, 383, 390,
1688 390, 390, 390, 390, 390, 390, 390, 390, 397, 397,
1689 397, 397, 397, 397, 397, 397, 397, 405, 405, 405,
1690 405, 405, 405, 405, 405, 405, 409, 409, 409, 409,
1691 409, 409, 409, 409, 409, 415, 415, 415, 415, 415,
1692 415, 415, 415, 415, 419, 419, 419, 419, 419, 419,
1693 419, 419, 419, 427, 427, 427, 427, 427, 427, 427,
1694 427, 427, 432, 432, 432, 432, 432, 432, 432, 432,
1695 432, 452, 452, 452, 1799, 1799, 1799, 452, 470, 470,
1697 470, 1799, 1799, 1799, 470, 478, 478, 478, 1799, 1799,
1698 1799, 478, 488, 488, 488, 1799, 1799, 1799, 488, 494,
1699 494, 494, 1799, 1799, 1799, 494, 507, 507, 507, 1799,
1700 1799, 1799, 507, 515, 515, 515, 1799, 1799, 1799, 515,
1701 526, 526, 526, 1799, 1799, 1799, 526, 530, 530, 530,
1702 1799, 1799, 1799, 530, 538, 538, 538, 1799, 1799, 1799,
1703 538, 544, 544, 544, 1799, 1799, 1799, 544, 550, 550,
1704 550, 1799, 1799, 1799, 550, 554, 554, 554, 1799, 1799,
1705 1799, 554, 560, 560, 560, 1799, 1799, 1799, 560, 568,
1706 568, 568, 1799, 1799, 1799, 568, 572, 572, 572, 1799,
1708 1799, 1799, 572, 577, 577, 577, 1799, 1799, 1799, 577,
1709 581, 581, 581, 581, 581, 581, 581, 1799, 581, 596,
1710 1799, 1799, 1799, 596, 620, 1799, 1799, 1799, 620, 630,
1711 1799, 1799, 1799, 630, 488, 488, 488, 1799, 1799, 1799,
1712 488, 636, 1799, 1799, 1799, 636, 494, 494, 494, 1799,
1713 1799, 1799, 494, 641, 1799, 1799, 1799, 641, 657, 1799,
1714 1799, 1799, 657, 669, 1799, 1799, 1799, 669, 673, 1799,
1715 1799, 1799, 673, 530, 530, 530, 1799, 1799, 1799, 530,
1716 681, 1799, 1799, 1799, 681, 538, 538, 538, 1799, 1799,
1717 1799, 538, 685, 1799, 1799, 1799, 685, 544, 544, 544,
1719 1799, 1799, 1799, 544, 691, 1799, 1799, 1799, 691, 550,
1720 550, 550, 1799, 1799, 1799, 550, 695, 1799, 1799, 1799,
1721 695, 554, 554, 554, 1799, 1799, 1799, 554, 700, 1799,
1722 1799, 1799, 700, 560, 560, 560, 1799, 1799, 1799, 560,
1723 706, 1799, 1799, 1799, 706, 568, 568, 568, 1799, 1799,
1724 1799, 568, 710, 1799, 1799, 1799, 710, 572, 572, 572,
1725 1799, 1799, 1799, 572, 714, 1799, 1799, 1799, 714, 577,
1726 577, 577, 1799, 1799, 1799, 577, 720, 1799, 1799, 1799,
1727 720, 722, 722, 722, 722, 722, 722, 722, 722, 722,
1728 728, 1799, 1799, 1799, 1799, 728, 452, 452, 452, 1799,
1730 1799, 1799, 452, 737, 737, 737, 737, 1799, 1799, 737,
1731 737, 470, 470, 470, 1799, 1799, 1799, 470, 765, 765,
1732 765, 765, 1799, 1799, 765, 765, 478, 478, 478, 1799,
1733 1799, 1799, 478, 779, 779, 779, 779, 1799, 1799, 779,
1734 779, 488, 488, 488, 1799, 1799, 1799, 488, 787, 787,
1735 787, 787, 1799, 1799, 787, 787, 494, 494, 494, 1799,
1736 1799, 1799, 494, 795, 795, 795, 795, 1799, 1799, 795,
1737 795, 507, 507, 507, 1799, 1799, 1799, 507, 813, 813,
1738 813, 813, 1799, 1799, 813, 813, 515, 515, 515, 1799,
1739 1799, 1799, 515, 831, 831, 831, 831, 1799, 1799, 831,
1741 831, 838, 838, 838, 838, 1799, 1799, 838, 838, 530,
1742 530, 530, 1799, 1799, 1799, 530, 849, 849, 849, 849,
1743 1799, 1799, 849, 849, 538, 538, 538, 538, 1799, 538,
1744 1799, 538, 857, 857, 857, 857, 1799, 1799, 857, 857,
1745 544, 544, 544, 544, 1799, 544, 1799, 544, 868, 868,
1746 868, 868, 1799, 1799, 868, 868, 875, 875, 875, 875,
1747 1799, 1799, 875, 875, 554, 554, 554, 554, 1799, 554,
1748 1799, 554, 885, 885, 885, 885, 1799, 1799, 885, 885,
1749 560, 560, 560, 1799, 1799, 1799, 560, 893, 893, 893,
1750 893, 1799, 1799, 893, 893, 568, 568, 568, 1799, 1799,
1752 1799, 568, 899, 899, 899, 899, 1799, 1799, 899, 899,
1753 906, 906, 906, 906, 1799, 1799, 906, 906, 577, 577,
1754 577, 1799, 1799, 1799, 577, 915, 915, 915, 915, 1799,
1755 1799, 915, 915, 722, 722, 722, 722, 722, 722, 722,
1756 722, 722, 728, 1799, 728, 1799, 1799, 728, 452, 452,
1757 452, 1799, 1799, 1799, 452, 737, 737, 737, 737, 1799,
1758 1799, 737, 737, 470, 470, 470, 470, 1799, 470, 1799,
1759 470, 765, 765, 765, 765, 1799, 1799, 765, 765, 478,
1760 478, 478, 1799, 1799, 1799, 478, 779, 779, 779, 779,
1761 1799, 1799, 779, 779, 488, 488, 488, 1799, 1799, 1799,
1763 488, 787, 787, 787, 787, 1799, 1799, 787, 787, 494,
1764 494, 494, 1799, 1799, 1799, 494, 795, 795, 795, 795,
1765 1799, 1799, 795, 795, 507, 507, 507, 1799, 1799, 1799,
1766 507, 813, 813, 813, 813, 1799, 1799, 813, 813, 515,
1767 515, 515, 1799, 1799, 1799, 515, 831, 831, 831, 831,
1768 1799, 1799, 831, 831, 838, 838, 838, 838, 1799, 1799,
1769 838, 838, 530, 530, 530, 1799, 1799, 1799, 530, 849,
1770 849, 849, 849, 1799, 1799, 849, 849, 857, 857, 857,
1771 857, 1799, 1799, 857, 857, 544, 544, 544, 1799, 1799,
1772 1799, 544, 868, 868, 868, 868, 1799, 1799, 868, 868,
1774 875, 875, 875, 875, 1799, 1799, 875, 875, 554, 554,
1775 554, 1799, 1799, 1799, 554, 885, 885, 885, 885, 1799,
1776 1799, 885, 885, 560, 560, 560, 1799, 1799, 1799, 560,
1777 893, 893, 893, 893, 1799, 1799, 893, 893, 568, 568,
1778 568, 1799, 1799, 1799, 568, 899, 899, 899, 899, 1799,
1779 1799, 899, 899, 906, 906, 906, 906, 1799, 1799, 906,
1780 906, 577, 577, 577, 1799, 1799, 1799, 577, 915, 915,
1781 915, 915, 1799, 1799, 915, 915, 722, 722, 722, 722,
1782 722, 722, 722, 722, 722, 1038, 1038, 1038, 1038, 1038,
1783 1038, 1038, 1038, 1038, 452, 452, 452, 1799, 1799, 1799,
1785 452, 737, 737, 737, 737, 1799, 1799, 737, 737, 470,
1786 470, 470, 1799, 1799, 1799, 470, 765, 765, 765, 765,
1787 1799, 1799, 765, 765, 478, 478, 478, 1799, 1799, 1799,
1788 478, 779, 779, 779, 779, 1799, 1799, 779, 779, 488,
1789 488, 488, 1799, 1799, 1799, 488, 787, 787, 787, 787,
1790 1799, 1799, 787, 787, 494, 494, 494, 1799, 1799, 1799,
1791 494, 507, 507, 507, 1799, 1799, 1799, 507, 813, 813,
1792 813, 813, 1799, 1799, 813, 813, 515, 515, 515, 515,
1793 1799, 515, 1799, 515, 831, 831, 831, 831, 1799, 1799,
1794 831, 831, 838, 838, 838, 838, 1799, 1799, 838, 838,
1796 530, 530, 530, 1799, 1799, 1799, 530, 849, 849, 849,
1797 849, 1799, 1799, 849, 849, 857, 857, 857, 857, 1799,
1798 1799, 857, 857, 544, 544, 544, 1799, 1799, 1799, 544,
1799 868, 868, 868, 868, 1799, 1799, 868, 868, 875, 875,
1800 875, 875, 1799, 1799, 875, 875, 554, 554, 554, 1799,
1801 1799, 1799, 554, 885, 885, 885, 885, 1799, 1799, 885,
1802 885, 560, 560, 560, 1799, 1799, 1799, 560, 893, 893,
1803 893, 893, 1799, 1799, 893, 893, 568, 568, 568, 568,
1804 1799, 568, 1799, 568, 899, 899, 899, 899, 1799, 1799,
1805 899, 899, 906, 906, 906, 906, 1799, 1799, 906, 906,
1807 577, 577, 577, 577, 1799, 577, 1799, 577, 915, 915,
1808 915, 915, 1799, 1799, 915, 915, 722, 722, 722, 722,
1809 722, 722, 722, 722, 722, 1038, 1038, 1038, 1038, 1038,
1810 1038, 1038, 1038, 1038, 452, 452, 452, 1799, 1799, 1799,
1811 452, 737, 737, 737, 737, 1799, 1799, 737, 737, 470,
1812 470, 470, 1799, 1799, 1799, 470, 765, 765, 765, 765,
1813 1799, 1799, 765, 765, 478, 478, 478, 1799, 1799, 1799,
1814 478, 779, 779, 779, 779, 1799, 1799, 779, 779, 488,
1815 488, 488, 1799, 1799, 1799, 488, 787, 787, 787, 787,
1816 1799, 1799, 787, 787, 494, 494, 494, 1799, 1799, 1799,
1818 494, 507, 507, 507, 1799, 1799, 1799, 507, 813, 813,
1819 813, 813, 1799, 1799, 813, 813, 515, 515, 515, 515,
1820 1799, 515, 1799, 515, 831, 831, 831, 831, 1799, 1799,
1821 831, 831, 838, 838, 838, 838, 1799, 1799, 838, 838,
1822 530, 530, 530, 1799, 1799, 1799, 530, 849, 849, 849,
1823 849, 1799, 1799, 849, 849, 857, 857, 857, 857, 1799,
1824 1799, 857, 857, 544, 544, 544, 544, 1799, 544, 1799,
1825 544, 868, 868, 868, 868, 1799, 1799, 868, 868, 875,
1826 875, 875, 875, 1799, 1799, 875, 875, 554, 554, 554,
1827 554, 1799, 554, 1799, 554, 885, 885, 885, 885, 1799,
1829 1799, 885, 885, 560, 560, 560, 1799, 1799, 1799, 560,
1830 893, 893, 893, 893, 1799, 1799, 893, 893, 899, 899,
1831 899, 899, 1799, 1799, 899, 899, 906, 906, 906, 906,
1832 1799, 1799, 906, 906, 1683, 1683, 1683, 1683, 1683, 1683,
1833 1683, 1683, 1683, 1684, 1684, 1684, 1684, 1684, 1684, 1684,
1834 1684, 1684, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705,
1835 1705, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
1836 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1725,
1837 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 181, 1799,
1838 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1840 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1841 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1842 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1843 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1844 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
1845 1799, 1799, 1799, 1799, 1799, 1799, 1799
1848 static yyconst flex_int16_t yy_chk[6658] =
1850 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1851 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1852 4, 10, 1518, 5, 1519, 9, 6, 436, 10, 7,
1853 8, 8, 8, 186, 11, 13, 13, 12, 14, 14,
1854 13, 13, 436, 14, 14, 187, 8, 17, 17, 186,
1855 13, 15, 15, 14, 15, 190, 15, 16, 16, 333,
1856 16, 187, 16, 18, 18, 277, 15, 19, 19, 19,
1857 333, 190, 16, 20, 20, 20, 23, 23, 23, 24,
1858 24, 24, 275, 19, 25, 25, 25, 17, 283, 20,
1859 283, 275, 23, 247, 281, 24, 184, 184, 184, 277,
1861 25, 1520, 1521, 18, 21, 21, 21, 21, 21, 21,
1862 21, 21, 21, 21, 21, 21, 21, 21, 21, 248,
1863 21, 21, 21, 21, 21, 26, 26, 26, 27, 27,
1864 27, 28, 28, 28, 29, 29, 29, 30, 30, 30,
1865 247, 26, 278, 281, 27, 21, 21, 28, 213, 228,
1866 29, 208, 278, 30, 185, 185, 185, 189, 189, 189,
1867 210, 210, 210, 1523, 213, 228, 248, 208, 21, 22,
1868 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
1869 22, 22, 22, 22, 249, 22, 22, 22, 22, 22,
1870 31, 31, 31, 32, 32, 32, 33, 33, 33, 34,
1872 34, 34, 35, 35, 35, 208, 31, 461, 1440, 32,
1873 22, 22, 33, 461, 363, 34, 239, 305, 35, 36,
1874 36, 36, 37, 37, 37, 38, 38, 38, 217, 217,
1875 217, 249, 239, 22, 297, 36, 1440, 305, 37, 298,
1876 221, 38, 39, 39, 39, 39, 39, 39, 39, 39,
1877 39, 39, 39, 39, 39, 39, 39, 363, 39, 39,
1878 39, 39, 39, 45, 45, 45, 46, 46, 46, 47,
1879 47, 47, 48, 48, 48, 221, 49, 49, 49, 45,
1880 659, 297, 46, 39, 39, 47, 298, 221, 48, 659,
1881 308, 39, 49, 308, 39, 225, 225, 225, 1524, 1532,
1883 39, 40, 40, 40, 40, 40, 40, 40, 40, 40,
1884 40, 40, 40, 40, 40, 40, 220, 40, 40, 40,
1885 40, 40, 41, 41, 42, 42, 423, 41, 423, 42,
1886 50, 50, 50, 51, 51, 51, 243, 41, 233, 42,
1887 243, 220, 40, 40, 243, 233, 50, 254, 445, 51,
1888 40, 445, 458, 40, 233, 458, 725, 220, 386, 40,
1889 725, 1533, 41, 254, 42, 43, 43, 43, 43, 43,
1890 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
1891 474, 43, 43, 43, 43, 43, 52, 52, 52, 55,
1892 55, 55, 56, 56, 56, 59, 59, 59, 60, 60,
1894 60, 386, 52, 261, 1534, 55, 43, 43, 56, 266,
1895 261, 59, 474, 1509, 60, 43, 336, 43, 337, 261,
1896 43, 236, 236, 236, 1509, 266, 43, 44, 44, 44,
1897 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
1898 44, 44, 279, 44, 44, 44, 44, 44, 61, 61,
1899 61, 62, 62, 62, 63, 63, 63, 64, 64, 64,
1900 65, 65, 65, 336, 61, 337, 279, 62, 44, 44,
1901 63, 288, 401, 64, 468, 464, 65, 44, 464, 44,
1902 468, 279, 44, 246, 246, 246, 401, 288, 44, 53,
1903 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1905 53, 53, 53, 53, 1553, 53, 53, 53, 53, 53,
1906 66, 66, 66, 67, 67, 67, 68, 68, 68, 69,
1907 69, 69, 70, 70, 70, 466, 66, 1554, 466, 67,
1908 53, 53, 68, 303, 318, 69, 1557, 53, 70, 251,
1909 251, 251, 53, 260, 260, 260, 263, 263, 263, 303,
1910 318, 53, 54, 54, 54, 54, 54, 54, 54, 54,
1911 54, 54, 54, 54, 54, 54, 54, 1037, 54, 54,
1912 54, 54, 54, 71, 71, 71, 72, 72, 72, 73,
1913 73, 73, 74, 74, 74, 75, 75, 75, 1037, 71,
1914 1558, 918, 72, 54, 54, 73, 328, 342, 74, 1510,
1916 54, 75, 271, 271, 271, 54, 285, 285, 285, 918,
1917 1510, 280, 328, 342, 54, 57, 57, 57, 57, 57,
1918 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1919 1441, 57, 57, 57, 57, 57, 76, 76, 76, 77,
1920 77, 77, 78, 78, 78, 79, 79, 79, 80, 80,
1921 80, 280, 76, 462, 280, 77, 57, 57, 78, 486,
1922 280, 79, 749, 1441, 80, 486, 462, 57, 296, 296,
1923 296, 300, 300, 300, 749, 57, 58, 58, 58, 58,
1924 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1925 58, 1145, 58, 58, 58, 58, 58, 81, 81, 81,
1927 82, 82, 82, 83, 83, 83, 84, 84, 84, 85,
1928 85, 85, 583, 81, 1177, 1144, 82, 58, 58, 83,
1929 1145, 1177, 84, 757, 1559, 85, 583, 355, 58, 86,
1930 86, 86, 87, 87, 87, 757, 58, 88, 88, 88,
1931 312, 312, 312, 355, 1560, 86, 1561, 1562, 87, 315,
1932 315, 315, 1144, 88, 89, 89, 89, 89, 89, 89,
1933 89, 89, 89, 89, 89, 89, 89, 89, 89, 399,
1934 89, 89, 89, 89, 89, 91, 91, 91, 92, 92,
1935 92, 93, 93, 93, 94, 94, 94, 95, 95, 95,
1936 1563, 91, 313, 782, 92, 89, 89, 93, 89, 313,
1938 94, 368, 399, 95, 1564, 782, 89, 1181, 313, 322,
1939 322, 322, 89, 1565, 1181, 89, 399, 368, 89, 90,
1940 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1941 90, 90, 90, 90, 1499, 90, 90, 90, 90, 90,
1942 96, 96, 96, 97, 97, 97, 98, 98, 98, 101,
1943 101, 101, 102, 102, 102, 1143, 96, 323, 1567, 97,
1944 90, 90, 98, 90, 323, 101, 378, 1568, 102, 1499,
1945 1143, 90, 1256, 323, 325, 325, 325, 90, 1256, 1569,
1946 90, 1570, 378, 90, 99, 99, 99, 99, 99, 99,
1947 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1949 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1950 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1951 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1952 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1953 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1954 99, 99, 103, 103, 103, 103, 103, 103, 103, 103,
1955 103, 103, 103, 103, 103, 103, 103, 1578, 103, 103,
1956 103, 103, 103, 105, 105, 105, 106, 106, 106, 109,
1957 109, 109, 110, 110, 110, 111, 111, 111, 1580, 105,
1958 502, 1304, 106, 103, 103, 109, 1305, 1304, 110, 1592,
1960 1258, 111, 1305, 502, 103, 104, 104, 104, 104, 104,
1961 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1962 1500, 104, 104, 104, 104, 104, 112, 112, 112, 113,
1963 113, 113, 114, 114, 114, 115, 115, 115, 116, 116,
1964 116, 1258, 112, 504, 1327, 113, 104, 104, 114, 1328,
1965 1327, 115, 1358, 1500, 116, 1328, 504, 104, 107, 107,
1966 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
1967 107, 107, 107, 1357, 107, 107, 107, 107, 107, 119,
1968 119, 119, 120, 120, 120, 121, 121, 121, 122, 122,
1969 122, 123, 123, 123, 1358, 119, 505, 1593, 120, 107,
1971 107, 121, 1597, 107, 122, 1598, 1599, 123, 1257, 505,
1972 107, 1357, 107, 335, 335, 335, 339, 339, 339, 107,
1973 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1974 108, 108, 108, 108, 108, 1257, 108, 108, 108, 108,
1975 108, 124, 124, 124, 125, 125, 125, 126, 126, 126,
1976 129, 129, 129, 130, 130, 130, 1600, 124, 575, 1501,
1977 125, 108, 108, 126, 1602, 108, 129, 1603, 1604, 130,
1978 1605, 575, 108, 1606, 108, 347, 347, 347, 352, 352,
1979 352, 108, 117, 117, 117, 117, 117, 117, 117, 117,
1980 117, 117, 117, 117, 117, 117, 117, 1501, 117, 117,
1982 117, 117, 117, 131, 131, 131, 132, 132, 132, 133,
1983 133, 133, 134, 134, 134, 135, 135, 135, 1607, 131,
1984 1608, 1609, 132, 117, 117, 133, 391, 1614, 134, 117,
1985 1615, 135, 361, 361, 361, 365, 365, 365, 372, 372,
1986 372, 1618, 391, 117, 118, 118, 118, 118, 118, 118,
1987 118, 118, 118, 118, 118, 118, 118, 118, 118, 1626,
1988 118, 118, 118, 118, 118, 136, 136, 136, 139, 139,
1989 139, 140, 140, 140, 143, 143, 143, 144, 144, 144,
1990 1627, 136, 373, 1628, 139, 118, 118, 140, 1629, 373,
1991 143, 118, 1632, 144, 375, 375, 375, 1633, 373, 384,
1993 384, 384, 388, 388, 388, 118, 127, 127, 127, 127,
1994 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1995 127, 1620, 127, 127, 127, 127, 127, 145, 145, 145,
1996 146, 146, 146, 147, 147, 147, 148, 148, 148, 149,
1997 149, 149, 1635, 145, 1636, 1637, 146, 127, 127, 147,
1998 406, 1620, 148, 127, 1639, 149, 127, 398, 398, 398,
1999 403, 403, 403, 410, 410, 410, 406, 127, 128, 128,
2000 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2001 128, 128, 128, 1644, 128, 128, 128, 128, 128, 150,
2002 150, 150, 153, 153, 153, 154, 154, 154, 155, 155,
2004 155, 156, 156, 156, 1660, 150, 411, 416, 153, 128,
2005 128, 154, 428, 411, 155, 128, 1661, 156, 128, 413,
2006 413, 413, 411, 416, 420, 420, 420, 1662, 428, 128,
2007 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2008 137, 137, 137, 137, 137, 1663, 137, 137, 137, 137,
2009 137, 157, 157, 157, 158, 158, 158, 159, 159, 159,
2010 160, 160, 160, 163, 163, 163, 1667, 157, 1668, 1080,
2011 158, 137, 137, 159, 1080, 1669, 160, 1080, 1588, 163,
2012 1670, 1080, 137, 138, 138, 138, 138, 138, 138, 138,
2013 138, 138, 138, 138, 138, 138, 138, 138, 1671, 138,
2015 138, 138, 138, 138, 164, 164, 164, 167, 167, 167,
2016 168, 168, 168, 169, 169, 169, 170, 170, 170, 1672,
2017 164, 1588, 1081, 167, 138, 138, 168, 1081, 1674, 169,
2018 1081, 1679, 170, 1685, 1081, 138, 141, 141, 141, 141,
2019 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2020 141, 1687, 141, 141, 141, 141, 141, 171, 171, 171,
2021 172, 172, 172, 173, 173, 173, 174, 174, 174, 177,
2022 177, 177, 1679, 171, 1690, 1691, 172, 141, 141, 173,
2023 421, 1693, 174, 141, 200, 177, 141, 348, 425, 425,
2024 425, 433, 433, 433, 435, 435, 435, 141, 142, 142,
2026 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2027 142, 142, 142, 421, 142, 142, 142, 142, 142, 178,
2028 178, 178, 200, 273, 598, 598, 598, 1694, 200, 421,
2029 348, 434, 200, 273, 348, 178, 1681, 200, 434, 142,
2030 142, 272, 444, 444, 444, 142, 1697, 434, 142, 1707,
2031 1681, 272, 586, 586, 586, 1709, 586, 273, 273, 142,
2032 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2033 151, 151, 151, 151, 151, 272, 151, 151, 151, 151,
2034 151, 272, 1549, 598, 272, 1702, 472, 472, 472, 1711,
2035 272, 480, 480, 480, 1712, 1702, 444, 495, 495, 495,
2037 1550, 151, 151, 472, 740, 740, 740, 1549, 480, 151,
2038 1551, 151, 1718, 151, 495, 611, 611, 611, 643, 643,
2039 643, 151, 152, 152, 152, 152, 152, 152, 152, 152,
2040 152, 152, 152, 152, 152, 152, 152, 1550, 152, 152,
2041 152, 152, 152, 509, 509, 509, 1719, 1551, 517, 517,
2042 517, 518, 518, 518, 1720, 527, 527, 527, 1682, 1708,
2043 509, 1652, 1721, 152, 152, 517, 1703, 1723, 518, 1682,
2044 1708, 152, 527, 152, 611, 152, 1703, 643, 1589, 1724,
2045 648, 648, 648, 152, 161, 161, 161, 161, 161, 161,
2046 161, 161, 161, 161, 161, 161, 161, 161, 161, 1652,
2048 161, 161, 161, 161, 161, 532, 532, 532, 1725, 1589,
2049 551, 551, 551, 573, 573, 573, 578, 578, 578, 596,
2050 596, 596, 532, 1706, 1706, 161, 161, 551, 1704, 1727,
2051 573, 1728, 1731, 578, 617, 617, 617, 596, 617, 648,
2052 1732, 617, 754, 754, 754, 932, 932, 932, 161, 162,
2053 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
2054 162, 162, 162, 162, 1704, 162, 162, 162, 162, 162,
2055 616, 616, 616, 936, 936, 936, 597, 597, 597, 620,
2056 620, 620, 621, 621, 621, 1705, 1733, 616, 1734, 1736,
2057 162, 162, 1742, 1743, 597, 1744, 1745, 620, 1748, 1705,
2059 621, 625, 625, 625, 1749, 625, 1750, 1751, 625, 933,
2060 933, 933, 1753, 162, 165, 165, 165, 165, 165, 165,
2061 165, 165, 165, 165, 165, 165, 165, 165, 165, 597,
2062 165, 165, 165, 165, 165, 624, 624, 624, 960, 960,
2063 960, 621, 626, 626, 626, 628, 628, 628, 638, 638,
2064 638, 933, 624, 1754, 1755, 165, 165, 1756, 1758, 626,
2065 1759, 1746, 628, 1760, 1761, 638, 165, 166, 166, 166,
2066 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2067 166, 166, 1746, 166, 166, 166, 166, 166, 630, 630,
2068 630, 1763, 631, 631, 631, 636, 636, 636, 637, 637,
2070 637, 652, 652, 652, 1765, 1762, 630, 1517, 166, 166,
2071 631, 1762, 1516, 636, 1774, 1778, 637, 1790, 652, 166,
2072 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
2073 175, 175, 175, 175, 175, 631, 175, 175, 175, 175,
2074 175, 639, 639, 639, 1515, 639, 1778, 1774, 639, 641,
2075 641, 641, 653, 653, 653, 1784, 653, 637, 1752, 653,
2076 1790, 175, 175, 657, 657, 657, 1514, 641, 1767, 661,
2077 661, 661, 175, 661, 1513, 1752, 661, 971, 971, 971,
2078 1767, 657, 1757, 1784, 175, 176, 176, 176, 176, 176,
2079 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2081 1757, 176, 176, 176, 176, 176, 642, 642, 642, 972,
2082 972, 972, 658, 658, 658, 660, 660, 660, 662, 662,
2083 662, 663, 663, 663, 642, 663, 176, 176, 663, 1775,
2084 658, 1772, 660, 1773, 1779, 662, 1785, 176, 664, 664,
2085 664, 642, 669, 669, 669, 670, 670, 670, 1795, 176,
2086 218, 972, 671, 671, 671, 664, 1512, 218, 1511, 1795,
2087 669, 1780, 1775, 670, 1785, 1779, 218, 218, 658, 671,
2088 672, 672, 672, 1772, 672, 1773, 1776, 672, 673, 673,
2089 673, 674, 674, 674, 676, 676, 676, 681, 681, 681,
2090 218, 218, 218, 1052, 1052, 1052, 673, 218, 670, 674,
2092 218, 676, 1780, 1777, 218, 681, 218, 1782, 218, 677,
2093 677, 677, 1776, 677, 1783, 1506, 677, 682, 682, 682,
2094 1794, 683, 683, 683, 684, 684, 684, 685, 685, 685,
2095 686, 686, 686, 1505, 1794, 682, 1781, 674, 683, 1777,
2096 1782, 684, 688, 688, 688, 685, 1504, 1783, 686, 689,
2097 689, 689, 690, 690, 690, 691, 691, 691, 1786, 688,
2098 1481, 692, 692, 692, 1791, 1479, 689, 1786, 682, 690,
2099 693, 693, 693, 691, 694, 694, 694, 1781, 694, 692,
2100 1478, 694, 695, 695, 695, 1787, 686, 693, 696, 696,
2101 696, 697, 697, 697, 1787, 689, 692, 698, 698, 698,
2103 695, 699, 699, 699, 1788, 1477, 696, 1791, 697, 689,
2104 700, 700, 700, 1476, 698, 701, 701, 701, 699, 706,
2105 706, 706, 1469, 707, 707, 707, 1789, 1792, 700, 710,
2106 710, 710, 1788, 701, 711, 711, 711, 706, 1467, 696,
2107 1466, 707, 1465, 698, 712, 712, 712, 710, 1463, 713,
2108 713, 713, 711, 713, 1789, 1792, 713, 698, 714, 714,
2109 714, 712, 715, 715, 715, 1462, 717, 717, 717, 1461,
2110 718, 718, 718, 1793, 718, 1460, 714, 718, 1459, 1458,
2111 715, 701, 707, 717, 720, 720, 720, 721, 721, 721,
2112 736, 736, 736, 711, 737, 737, 737, 739, 739, 739,
2114 1457, 1793, 720, 1456, 1455, 721, 1454, 1453, 736, 758,
2115 758, 758, 737, 1450, 1449, 739, 1448, 1445, 715, 1433,
2116 759, 759, 759, 1425, 759, 1424, 758, 759, 762, 762,
2117 762, 764, 764, 764, 765, 765, 765, 767, 767, 767,
2118 739, 1423, 772, 772, 772, 762, 721, 1422, 1421, 764,
2119 1420, 1419, 765, 1405, 1404, 767, 769, 769, 769, 772,
2120 769, 1403, 1402, 769, 773, 773, 773, 1401, 773, 1400,
2121 1399, 773, 774, 774, 774, 775, 775, 775, 1393, 1392,
2122 767, 776, 776, 776, 762, 776, 1391, 1390, 776, 774,
2123 1389, 1388, 775, 778, 778, 778, 779, 779, 779, 781,
2125 781, 781, 784, 784, 784, 786, 786, 786, 787, 787,
2126 787, 778, 1387, 1386, 779, 1385, 1384, 781, 1378, 784,
2127 789, 789, 789, 786, 1375, 1373, 787, 790, 790, 790,
2128 1371, 790, 1366, 1352, 790, 794, 794, 794, 789, 795,
2129 795, 795, 797, 797, 797, 806, 806, 806, 1350, 806,
2130 1349, 1332, 806, 794, 781, 1329, 1326, 795, 1325, 1322,
2131 797, 1306, 1303, 789, 812, 812, 812, 813, 813, 813,
2132 815, 815, 815, 818, 818, 818, 1301, 818, 1296, 1295,
2133 818, 1294, 812, 1293, 1292, 813, 1291, 1290, 815, 821,
2134 821, 821, 1289, 821, 1288, 1287, 821, 824, 824, 824,
2136 825, 825, 825, 1283, 825, 1282, 1279, 825, 830, 830,
2137 830, 831, 831, 831, 824, 833, 833, 833, 834, 834,
2138 834, 1278, 834, 1276, 1273, 834, 830, 1269, 1268, 831,
2139 815, 1265, 1264, 833, 837, 837, 837, 838, 838, 838,
2140 840, 840, 840, 842, 842, 842, 1259, 842, 1244, 1242,
2141 842, 1241, 837, 1240, 1228, 838, 1224, 1223, 840, 1222,
2142 848, 848, 848, 849, 849, 849, 851, 851, 851, 852,
2143 852, 852, 853, 853, 853, 1220, 853, 833, 848, 853,
2144 1218, 849, 1199, 1198, 851, 1197, 852, 854, 854, 854,
2145 855, 855, 855, 1192, 855, 1189, 1188, 855, 856, 856,
2147 856, 1182, 840, 1180, 854, 857, 857, 857, 859, 859,
2148 859, 861, 861, 861, 1179, 1178, 856, 1176, 862, 862,
2149 862, 851, 862, 857, 1175, 862, 859, 1172, 861, 865,
2150 865, 865, 866, 866, 866, 1171, 866, 1169, 1168, 866,
2151 867, 867, 867, 868, 868, 868, 865, 870, 870, 870,
2152 871, 871, 871, 1167, 871, 1166, 1164, 871, 867, 1162,
2153 1157, 868, 874, 874, 874, 870, 875, 875, 875, 1156,
2154 859, 877, 877, 877, 878, 878, 878, 882, 882, 882,
2155 874, 879, 879, 879, 875, 879, 1155, 1153, 879, 877,
2156 1152, 878, 1151, 1150, 882, 883, 883, 883, 1147, 883,
2158 1139, 1134, 883, 884, 884, 884, 870, 885, 885, 885,
2159 887, 887, 887, 889, 889, 889, 892, 892, 892, 1132,
2160 1131, 884, 893, 893, 893, 885, 877, 1127, 887, 1119,
2161 889, 895, 895, 895, 892, 898, 898, 898, 1116, 1113,
2162 893, 899, 899, 899, 901, 901, 901, 1112, 1111, 895,
2163 902, 902, 902, 898, 902, 1099, 1098, 902, 1093, 899,
2164 1087, 1086, 901, 905, 905, 905, 1085, 887, 906, 906,
2165 906, 908, 908, 908, 1078, 910, 910, 910, 1075, 910,
2166 1071, 905, 910, 914, 914, 914, 906, 895, 1069, 908,
2167 915, 915, 915, 901, 917, 917, 917, 919, 919, 919,
2169 1068, 914, 926, 926, 926, 944, 944, 944, 915, 948,
2170 948, 948, 917, 1064, 1062, 919, 919, 945, 945, 945,
2171 926, 945, 944, 1061, 945, 1058, 908, 948, 950, 950,
2172 950, 1056, 950, 1055, 1054, 950, 953, 953, 953, 954,
2173 954, 954, 1051, 954, 1050, 1049, 954, 959, 959, 959,
2174 917, 1048, 1047, 953, 948, 955, 955, 955, 1045, 955,
2175 1044, 1041, 955, 926, 1038, 959, 962, 962, 962, 963,
2176 963, 963, 1034, 963, 1030, 1028, 963, 964, 964, 964,
2177 965, 965, 965, 962, 967, 967, 967, 977, 977, 977,
2178 978, 978, 978, 959, 964, 980, 980, 980, 965, 981,
2180 981, 981, 967, 1027, 977, 1024, 1019, 978, 1018, 982,
2181 982, 982, 1009, 980, 1008, 994, 981, 983, 983, 983,
2182 993, 983, 992, 979, 983, 965, 982, 986, 986, 986,
2183 976, 975, 978, 987, 987, 987, 988, 988, 988, 974,
2184 989, 989, 989, 973, 986, 970, 990, 990, 990, 969,
2185 987, 966, 961, 988, 958, 949, 980, 989, 991, 991,
2186 991, 995, 995, 995, 990, 996, 996, 996, 947, 946,
2187 982, 943, 942, 997, 997, 997, 991, 997, 995, 988,
2188 997, 941, 940, 996, 1000, 1000, 1000, 939, 1000, 938,
2189 937, 1000, 1003, 1003, 1003, 1004, 1004, 1004, 987, 935,
2191 1005, 1005, 1005, 995, 1005, 989, 990, 1005, 934, 931,
2192 1003, 1010, 1010, 1010, 930, 1010, 929, 996, 1010, 991,
2193 1013, 1013, 1013, 1014, 1014, 1014, 1015, 1015, 1015, 928,
2194 1015, 927, 925, 1015, 1023, 1023, 1023, 1004, 1013, 924,
2195 923, 1014, 1020, 1020, 1020, 922, 1020, 913, 909, 1020,
2196 897, 896, 1023, 1003, 1025, 1025, 1025, 1026, 1026, 1026,
2197 891, 1026, 890, 888, 1026, 1029, 1029, 1029, 1031, 1031,
2198 1031, 1025, 1032, 1032, 1032, 1014, 1013, 1023, 1033, 1033,
2199 1033, 881, 880, 1029, 864, 1031, 1035, 1035, 1035, 863,
2200 1032, 1036, 1036, 1036, 860, 847, 1033, 1039, 1039, 1039,
2202 1053, 1053, 1053, 1035, 1046, 1046, 1046, 846, 845, 1036,
2203 1029, 1057, 1057, 1057, 841, 1039, 1059, 1059, 1059, 1060,
2204 1060, 1060, 1046, 1063, 1063, 1063, 1033, 829, 1065, 1065,
2205 1065, 828, 1065, 827, 1032, 1065, 1070, 1070, 1070, 1072,
2206 1072, 1072, 826, 1072, 1039, 817, 1072, 816, 1036, 1076,
2207 1076, 1076, 1046, 811, 1070, 1077, 1077, 1077, 810, 809,
2208 1039, 1060, 1079, 1079, 1079, 1063, 1079, 1076, 805, 1079,
2209 1082, 1082, 1082, 804, 803, 1059, 802, 1083, 1083, 1083,
2210 801, 1083, 800, 1070, 1083, 799, 798, 1082, 1084, 1084,
2211 1084, 1088, 1088, 1088, 1089, 1089, 1089, 1090, 1090, 1090,
2213 1091, 1091, 1091, 793, 785, 1076, 1084, 1092, 1092, 1092,
2214 1094, 1094, 1094, 1095, 1095, 1095, 783, 1095, 777, 768,
2215 1095, 1096, 1096, 1096, 1097, 1097, 1097, 1094, 1097, 763,
2216 756, 1097, 1100, 1100, 1100, 1084, 755, 753, 1096, 752,
2217 1101, 1101, 1101, 751, 1102, 1102, 1102, 750, 1102, 748,
2218 1100, 1102, 1103, 1103, 1103, 747, 1090, 1101, 746, 1091,
2219 1104, 1104, 1104, 1105, 1105, 1105, 1092, 1105, 745, 1103,
2220 1105, 1106, 1106, 1106, 1107, 1107, 1107, 1104, 1108, 1108,
2221 1108, 1109, 1109, 1109, 1110, 1110, 1110, 744, 1106, 743,
2222 742, 1107, 1114, 1114, 1114, 1108, 1115, 1115, 1115, 1109,
2224 1115, 741, 1110, 1115, 1117, 1117, 1117, 735, 734, 1114,
2225 1118, 1118, 1118, 1120, 1120, 1120, 1121, 1121, 1121, 1122,
2226 1122, 1122, 1117, 1123, 1123, 1123, 733, 1107, 1118, 730,
2227 1120, 1110, 729, 1121, 1124, 1124, 1124, 1122, 1125, 1125,
2228 1125, 1123, 1109, 1126, 1126, 1126, 1128, 1128, 1128, 728,
2229 1128, 1124, 726, 1128, 722, 1125, 719, 1118, 1133, 1133,
2230 1133, 1126, 1135, 1135, 1135, 1123, 1136, 1136, 1136, 716,
2231 1136, 709, 708, 1136, 705, 704, 1133, 703, 702, 1135,
2232 687, 1122, 1137, 1137, 1137, 680, 1138, 1138, 1138, 1140,
2233 1140, 1140, 1141, 1141, 1141, 679, 1141, 678, 675, 1141,
2235 1137, 668, 667, 1126, 1138, 1133, 1140, 1142, 1142, 1142,
2236 1148, 1148, 1148, 1149, 1149, 1149, 1154, 1154, 1154, 1158,
2237 1158, 1158, 1159, 1159, 1159, 1142, 666, 1148, 1160, 1160,
2238 1160, 1149, 1161, 1161, 1161, 665, 1137, 1138, 1163, 1163,
2239 1163, 1165, 1165, 1165, 1170, 1170, 1170, 1173, 1173, 1173,
2240 1174, 1174, 1174, 1183, 1183, 1183, 656, 1183, 655, 654,
2241 1183, 651, 1170, 650, 649, 1173, 647, 1174, 646, 1149,
2242 1186, 1186, 1186, 1187, 1187, 1187, 1190, 1190, 1190, 1191,
2243 1191, 1191, 1193, 1193, 1193, 645, 1193, 644, 1186, 1193,
2244 1187, 1196, 1196, 1196, 640, 1196, 635, 634, 1196, 633,
2246 632, 1173, 1200, 1200, 1200, 1201, 1201, 1201, 629, 1203,
2247 1203, 1203, 1186, 1203, 627, 623, 1203, 619, 618, 1200,
2248 1206, 1206, 1206, 1201, 1207, 1207, 1207, 615, 1207, 614,
2249 613, 1207, 1208, 1208, 1208, 612, 1208, 1206, 610, 1208,
2250 1211, 1211, 1211, 1212, 1212, 1212, 609, 1212, 608, 607,
2251 1212, 1213, 1213, 1213, 1214, 1214, 1214, 1211, 1215, 1215,
2252 1215, 606, 1215, 605, 604, 1215, 603, 602, 1213, 601,
2253 600, 1214, 1216, 1216, 1216, 1217, 1217, 1217, 1219, 1219,
2254 1219, 1221, 1221, 1221, 599, 1221, 595, 594, 1221, 592,
2255 1216, 591, 590, 1217, 589, 1219, 1225, 1225, 1225, 1227,
2257 1227, 1227, 588, 584, 1229, 1229, 1229, 582, 1230, 1230,
2258 1230, 581, 1230, 580, 1225, 1230, 579, 1227, 574, 1216,
2259 1219, 1229, 1231, 1231, 1231, 1232, 1232, 1232, 570, 1232,
2260 569, 566, 1232, 565, 1217, 1233, 1233, 1233, 564, 1231,
2261 1234, 1234, 1234, 1235, 1235, 1235, 563, 1236, 1236, 1236,
2262 562, 1236, 561, 1233, 1236, 1237, 1237, 1237, 1234, 558,
2263 1235, 1238, 1238, 1238, 557, 1238, 556, 555, 1238, 1239,
2264 1239, 1239, 1237, 1243, 1243, 1243, 1245, 1245, 1245, 552,
2265 1245, 548, 547, 1245, 546, 1234, 545, 1239, 1248, 1248,
2266 1248, 1243, 1249, 1249, 1249, 542, 1233, 1250, 1250, 1250,
2268 1251, 1251, 1251, 541, 1251, 540, 1248, 1251, 539, 536,
2269 1249, 535, 1254, 1254, 1254, 1260, 1260, 1260, 1261, 1261,
2270 1261, 534, 1261, 533, 531, 1261, 1262, 1262, 1262, 1239,
2271 1254, 528, 1260, 1243, 524, 1248, 1263, 1263, 1263, 523,
2272 522, 1249, 521, 520, 1262, 1266, 1266, 1266, 1267, 1267,
2273 1267, 1270, 1270, 1270, 1271, 1271, 1271, 1272, 1272, 1272,
2274 1274, 1274, 1274, 1275, 1275, 1275, 1277, 1277, 1277, 1280,
2275 1280, 1280, 1284, 1284, 1284, 1285, 1285, 1285, 519, 1286,
2276 1286, 1286, 516, 1286, 513, 1262, 1286, 1280, 512, 511,
2277 1284, 510, 1285, 1297, 1297, 1297, 1298, 1298, 1298, 1299,
2279 1299, 1299, 508, 1299, 503, 501, 1299, 1300, 1300, 1300,
2280 500, 1297, 499, 1298, 1302, 1302, 1302, 1307, 1307, 1307,
2281 1308, 1308, 1308, 498, 1308, 497, 496, 1308, 1309, 1309,
2282 1309, 492, 1309, 491, 1307, 1309, 490, 489, 1297, 1312,
2283 1312, 1312, 485, 1312, 484, 483, 1312, 1315, 1315, 1315,
2284 1316, 1316, 1316, 482, 1316, 481, 479, 1316, 1317, 1317,
2285 1317, 476, 1317, 475, 1315, 1317, 1320, 1320, 1320, 1321,
2286 1321, 1321, 1323, 1323, 1323, 1324, 1324, 1324, 473, 1324,
2287 471, 467, 1324, 465, 1320, 463, 460, 1321, 459, 1323,
2288 1330, 1330, 1330, 1333, 1333, 1333, 457, 1333, 456, 455,
2290 1333, 454, 1336, 1336, 1336, 453, 1336, 450, 1330, 1336,
2291 1339, 1339, 1339, 1340, 1340, 1340, 1341, 1341, 1341, 449,
2292 1341, 448, 447, 1341, 446, 1320, 440, 439, 1339, 437,
2293 431, 1340, 1344, 1344, 1344, 430, 1344, 426, 422, 1344,
2294 418, 1347, 1347, 1347, 1348, 1348, 1348, 1351, 1351, 1351,
2295 1353, 1353, 1353, 1354, 1354, 1354, 414, 1339, 408, 1347,
2296 404, 1348, 1355, 1355, 1355, 1351, 400, 396, 1353, 395,
2297 394, 1354, 393, 389, 1340, 1347, 1356, 1356, 1356, 1359,
2298 1359, 1359, 1360, 1360, 1360, 385, 1360, 382, 381, 1360,
2299 1363, 1363, 1363, 380, 1356, 1364, 1364, 1364, 1365, 1365,
2301 1365, 1367, 1367, 1367, 376, 1353, 370, 1351, 1363, 1368,
2302 1368, 1368, 1369, 1369, 1369, 1370, 1370, 1370, 1372, 1372,
2303 1372, 1374, 1374, 1374, 1377, 1377, 1377, 1379, 1379, 1379,
2304 1381, 1381, 1381, 366, 1381, 362, 359, 1381, 1394, 1394,
2305 1394, 1377, 358, 357, 1363, 1379, 1395, 1395, 1395, 353,
2306 1395, 350, 349, 1395, 345, 344, 1394, 1398, 1398, 1398,
2307 1406, 1406, 1406, 340, 1406, 332, 331, 1406, 1409, 1409,
2308 1409, 330, 1409, 326, 320, 1409, 316, 1412, 1412, 1412,
2309 1413, 1413, 1413, 1415, 1415, 1415, 1416, 1416, 1416, 310,
2310 1416, 309, 307, 1416, 1394, 1412, 306, 301, 1413, 294,
2312 1415, 1426, 1426, 1426, 1427, 1427, 1427, 293, 1428, 1428,
2313 1428, 1429, 1429, 1429, 1430, 1430, 1430, 1431, 1431, 1431,
2314 292, 1431, 1427, 291, 1431, 1415, 1428, 290, 286, 1429,
2315 282, 1430, 1432, 1432, 1432, 1434, 1434, 1434, 1435, 1435,
2316 1435, 1436, 1436, 1436, 1437, 1437, 1437, 276, 274, 1432,
2317 1439, 1439, 1439, 1434, 1442, 1442, 1442, 269, 268, 1436,
2318 264, 258, 1437, 1428, 1443, 1443, 1443, 1429, 1439, 1444,
2319 1444, 1444, 1446, 1446, 1446, 1447, 1447, 1447, 1451, 1451,
2320 1451, 257, 1443, 1452, 1452, 1452, 256, 1452, 252, 244,
2321 1452, 1464, 1464, 1464, 242, 1451, 1471, 1471, 1471, 1472,
2323 1472, 1472, 1436, 1474, 1474, 1474, 241, 1439, 237, 1464,
2324 1483, 1483, 1483, 1471, 1475, 1475, 1475, 1472, 1475, 234,
2325 1474, 1475, 1484, 1484, 1484, 232, 231, 1483, 230, 1485,
2326 1485, 1485, 1487, 1487, 1487, 1488, 1488, 1488, 1489, 1489,
2327 1489, 226, 1489, 223, 222, 1489, 1464, 1485, 219, 215,
2328 1487, 211, 207, 1488, 1492, 1492, 1492, 1493, 1493, 1493,
2329 206, 1493, 205, 199, 1493, 1494, 1494, 1494, 1495, 1495,
2330 1495, 1492, 1497, 1497, 1497, 1498, 1498, 1498, 1502, 1502,
2331 1502, 198, 1494, 1507, 1507, 1507, 1495, 1508, 1508, 1508,
2332 196, 1508, 193, 1498, 1508, 181, 1502, 1488, 0, 0,
2334 1507, 1522, 1522, 1522, 1527, 1527, 1527, 1528, 1528, 1528,
2335 0, 1528, 0, 0, 1528, 0, 1529, 1529, 1529, 1522,
2336 1529, 1527, 0, 1529, 1537, 1537, 1537, 1538, 1538, 1538,
2337 0, 1538, 0, 0, 1538, 1539, 1539, 1539, 1545, 1545,
2338 1545, 1537, 1541, 1541, 1541, 1542, 1542, 1542, 0, 1542,
2339 0, 0, 1542, 1539, 0, 1545, 1522, 1546, 1546, 1546,
2340 1541, 1546, 0, 0, 1546, 1547, 1547, 1547, 1552, 1552,
2341 1552, 1555, 1555, 1555, 1556, 1556, 1556, 0, 1556, 0,
2342 0, 1556, 0, 1547, 1572, 1572, 1572, 0, 1555, 1573,
2343 1573, 1573, 1574, 1574, 1574, 0, 0, 1575, 1575, 1575,
2345 0, 1575, 1572, 1541, 1575, 1579, 1579, 1579, 0, 1574,
2346 1581, 1581, 1581, 0, 1581, 0, 0, 1581, 1584, 1584,
2347 1584, 0, 1579, 1585, 1585, 1585, 0, 1585, 0, 0,
2348 1585, 1572, 0, 0, 1574, 0, 1584, 1590, 1590, 1590,
2349 1591, 1591, 1591, 1594, 1594, 1594, 0, 1594, 0, 0,
2350 1594, 1601, 1601, 1601, 1590, 1590, 1610, 1610, 1610, 1611,
2351 1611, 1611, 1612, 1612, 1612, 1584, 0, 0, 1601, 1613,
2352 1613, 1613, 0, 1613, 1610, 0, 1613, 0, 0, 1612,
2353 1616, 1616, 1616, 1617, 1617, 1617, 0, 1617, 0, 0,
2354 1617, 1619, 1619, 1619, 1621, 1621, 1621, 1616, 1622, 1622,
2356 1622, 1610, 0, 1623, 1623, 1623, 0, 1623, 0, 1619,
2357 1623, 1621, 1621, 0, 0, 1622, 1622, 1624, 1624, 1624,
2358 0, 1623, 1625, 1625, 1625, 1630, 1630, 1630, 1631, 1631,
2359 1631, 0, 1631, 0, 0, 1631, 1640, 1640, 1640, 1641,
2360 1641, 1641, 1630, 1641, 0, 0, 1641, 1645, 1645, 1645,
2361 0, 1646, 1646, 1646, 1640, 1646, 0, 0, 1646, 1649,
2362 1649, 1649, 0, 0, 1645, 1650, 1650, 1650, 1653, 1653,
2363 1653, 1654, 1654, 1654, 0, 1654, 1649, 0, 1654, 0,
2364 1655, 1655, 1655, 1650, 1655, 1653, 1653, 1655, 0, 1654,
2365 1658, 1658, 1658, 1659, 1659, 1659, 0, 1640, 1655, 1656,
2367 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 0, 0,
2368 1656, 1673, 1673, 1673, 0, 1656, 1656, 1656, 1656, 1656,
2369 1664, 1664, 1664, 0, 1664, 0, 0, 1664, 0, 1673,
2370 0, 0, 0, 0, 1675, 1675, 1675, 1677, 1677, 1677,
2371 1656, 1656, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657,
2372 1657, 1675, 0, 1657, 1677, 0, 0, 0, 1657, 1657,
2373 1657, 1657, 1657, 1676, 1676, 1676, 0, 1676, 0, 0,
2374 1676, 1678, 1678, 1678, 0, 1678, 0, 0, 1678, 1695,
2375 1695, 1695, 0, 1657, 1657, 1680, 1680, 1680, 0, 1680,
2376 0, 0, 1680, 0, 1698, 1698, 1698, 1695, 1698, 0,
2378 0, 1698, 0, 1680, 1683, 1683, 1683, 1683, 1683, 1683,
2379 1683, 1683, 1683, 0, 0, 1683, 1710, 1710, 1710, 0,
2380 1683, 1683, 1683, 1683, 1683, 1701, 1701, 1701, 0, 1701,
2381 0, 0, 1701, 0, 1710, 1710, 0, 0, 0, 1717,
2382 1717, 1717, 1722, 1722, 1722, 1683, 1683, 1684, 1684, 1684,
2383 1684, 1684, 1684, 1684, 1684, 1684, 1717, 0, 1684, 0,
2384 1722, 0, 0, 1684, 1684, 1684, 1684, 1684, 1726, 1726,
2385 1726, 0, 0, 1729, 1729, 1729, 1730, 1730, 1730, 0,
2386 1730, 0, 0, 1730, 0, 0, 1726, 0, 1684, 1684,
2387 1729, 1735, 1735, 1735, 1739, 1739, 1739, 0, 1739, 0,
2389 0, 1739, 1770, 1770, 1770, 0, 1771, 1771, 1771, 1735,
2390 1771, 0, 0, 1771, 0, 1726, 1796, 1796, 1796, 0,
2391 1770, 1797, 1797, 1797, 1771, 0, 1735, 0, 0, 0,
2392 0, 0, 0, 0, 1796, 0, 0, 0, 0, 1797,
2393 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1801,
2394 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1802, 1802,
2395 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1803, 1803, 1803,
2396 1803, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804,
2397 1804, 1804, 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1805,
2398 1805, 1805, 1805, 1805, 1806, 1806, 1806, 1806, 1806, 1806,
2400 1806, 1806, 1806, 1807, 1807, 1807, 1807, 1807, 1807, 1807,
2401 1807, 1807, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
2402 1808, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809,
2403 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1811,
2404 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1812, 1812,
2405 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1813, 1813, 1813,
2406 1813, 1813, 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814,
2407 1814, 1814, 1814, 1814, 1814, 1815, 1815, 1815, 1815, 1815,
2408 1815, 1815, 1815, 1815, 1816, 1816, 1816, 1816, 1816, 1816,
2409 1816, 1816, 1816, 1817, 1817, 1817, 1817, 1817, 1817, 1817,
2411 1817, 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2412 1818, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819,
2413 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1821,
2414 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1822, 1822,
2415 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1823, 1823, 1823,
2416 1823, 1823, 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824,
2417 1824, 1824, 1824, 1824, 1824, 1825, 1825, 1825, 1825, 1825,
2418 1825, 1825, 1825, 1825, 1826, 1826, 1826, 1826, 1826, 1826,
2419 1826, 1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827,
2420 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828, 1828, 1828,
2422 1828, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829,
2423 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1831,
2424 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1832, 1832,
2425 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1833, 1833, 1833,
2426 1833, 1833, 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834,
2427 1834, 1834, 1834, 1834, 1834, 1835, 1835, 1835, 1835, 1835,
2428 1835, 1835, 1835, 1835, 1836, 1836, 1836, 1836, 1836, 1836,
2429 1836, 1836, 1836, 1837, 1837, 1837, 1837, 1837, 1837, 1837,
2430 1837, 1837, 1838, 1838, 1838, 1838, 1838, 1838, 1838, 1838,
2431 1838, 1839, 1839, 1839, 0, 0, 0, 1839, 1840, 1840,
2433 1840, 0, 0, 0, 1840, 1841, 1841, 1841, 0, 0,
2434 0, 1841, 1842, 1842, 1842, 0, 0, 0, 1842, 1843,
2435 1843, 1843, 0, 0, 0, 1843, 1844, 1844, 1844, 0,
2436 0, 0, 1844, 1845, 1845, 1845, 0, 0, 0, 1845,
2437 1846, 1846, 1846, 0, 0, 0, 1846, 1847, 1847, 1847,
2438 0, 0, 0, 1847, 1848, 1848, 1848, 0, 0, 0,
2439 1848, 1849, 1849, 1849, 0, 0, 0, 1849, 1850, 1850,
2440 1850, 0, 0, 0, 1850, 1851, 1851, 1851, 0, 0,
2441 0, 1851, 1852, 1852, 1852, 0, 0, 0, 1852, 1853,
2442 1853, 1853, 0, 0, 0, 1853, 1854, 1854, 1854, 0,
2444 0, 0, 1854, 1855, 1855, 1855, 0, 0, 0, 1855,
2445 1856, 1856, 1856, 1856, 1856, 1856, 1856, 0, 1856, 1857,
2446 0, 0, 0, 1857, 1858, 0, 0, 0, 1858, 1859,
2447 0, 0, 0, 1859, 1860, 1860, 1860, 0, 0, 0,
2448 1860, 1861, 0, 0, 0, 1861, 1862, 1862, 1862, 0,
2449 0, 0, 1862, 1863, 0, 0, 0, 1863, 1864, 0,
2450 0, 0, 1864, 1865, 0, 0, 0, 1865, 1866, 0,
2451 0, 0, 1866, 1867, 1867, 1867, 0, 0, 0, 1867,
2452 1868, 0, 0, 0, 1868, 1869, 1869, 1869, 0, 0,
2453 0, 1869, 1870, 0, 0, 0, 1870, 1871, 1871, 1871,
2455 0, 0, 0, 1871, 1872, 0, 0, 0, 1872, 1873,
2456 1873, 1873, 0, 0, 0, 1873, 1874, 0, 0, 0,
2457 1874, 1875, 1875, 1875, 0, 0, 0, 1875, 1876, 0,
2458 0, 0, 1876, 1877, 1877, 1877, 0, 0, 0, 1877,
2459 1878, 0, 0, 0, 1878, 1879, 1879, 1879, 0, 0,
2460 0, 1879, 1880, 0, 0, 0, 1880, 1881, 1881, 1881,
2461 0, 0, 0, 1881, 1882, 0, 0, 0, 1882, 1883,
2462 1883, 1883, 0, 0, 0, 1883, 1884, 0, 0, 0,
2463 1884, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
2464 1886, 0, 0, 0, 0, 1886, 1887, 1887, 1887, 0,
2466 0, 0, 1887, 1888, 1888, 1888, 1888, 0, 0, 1888,
2467 1888, 1889, 1889, 1889, 0, 0, 0, 1889, 1890, 1890,
2468 1890, 1890, 0, 0, 1890, 1890, 1891, 1891, 1891, 0,
2469 0, 0, 1891, 1892, 1892, 1892, 1892, 0, 0, 1892,
2470 1892, 1893, 1893, 1893, 0, 0, 0, 1893, 1894, 1894,
2471 1894, 1894, 0, 0, 1894, 1894, 1895, 1895, 1895, 0,
2472 0, 0, 1895, 1896, 1896, 1896, 1896, 0, 0, 1896,
2473 1896, 1897, 1897, 1897, 0, 0, 0, 1897, 1898, 1898,
2474 1898, 1898, 0, 0, 1898, 1898, 1899, 1899, 1899, 0,
2475 0, 0, 1899, 1900, 1900, 1900, 1900, 0, 0, 1900,
2477 1900, 1901, 1901, 1901, 1901, 0, 0, 1901, 1901, 1902,
2478 1902, 1902, 0, 0, 0, 1902, 1903, 1903, 1903, 1903,
2479 0, 0, 1903, 1903, 1904, 1904, 1904, 1904, 0, 1904,
2480 0, 1904, 1905, 1905, 1905, 1905, 0, 0, 1905, 1905,
2481 1906, 1906, 1906, 1906, 0, 1906, 0, 1906, 1907, 1907,
2482 1907, 1907, 0, 0, 1907, 1907, 1908, 1908, 1908, 1908,
2483 0, 0, 1908, 1908, 1909, 1909, 1909, 1909, 0, 1909,
2484 0, 1909, 1910, 1910, 1910, 1910, 0, 0, 1910, 1910,
2485 1911, 1911, 1911, 0, 0, 0, 1911, 1912, 1912, 1912,
2486 1912, 0, 0, 1912, 1912, 1913, 1913, 1913, 0, 0,
2488 0, 1913, 1914, 1914, 1914, 1914, 0, 0, 1914, 1914,
2489 1915, 1915, 1915, 1915, 0, 0, 1915, 1915, 1916, 1916,
2490 1916, 0, 0, 0, 1916, 1917, 1917, 1917, 1917, 0,
2491 0, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 1918,
2492 1918, 1918, 1919, 0, 1919, 0, 0, 1919, 1920, 1920,
2493 1920, 0, 0, 0, 1920, 1921, 1921, 1921, 1921, 0,
2494 0, 1921, 1921, 1922, 1922, 1922, 1922, 0, 1922, 0,
2495 1922, 1923, 1923, 1923, 1923, 0, 0, 1923, 1923, 1924,
2496 1924, 1924, 0, 0, 0, 1924, 1925, 1925, 1925, 1925,
2497 0, 0, 1925, 1925, 1926, 1926, 1926, 0, 0, 0,
2499 1926, 1927, 1927, 1927, 1927, 0, 0, 1927, 1927, 1928,
2500 1928, 1928, 0, 0, 0, 1928, 1929, 1929, 1929, 1929,
2501 0, 0, 1929, 1929, 1930, 1930, 1930, 0, 0, 0,
2502 1930, 1931, 1931, 1931, 1931, 0, 0, 1931, 1931, 1932,
2503 1932, 1932, 0, 0, 0, 1932, 1933, 1933, 1933, 1933,
2504 0, 0, 1933, 1933, 1934, 1934, 1934, 1934, 0, 0,
2505 1934, 1934, 1935, 1935, 1935, 0, 0, 0, 1935, 1936,
2506 1936, 1936, 1936, 0, 0, 1936, 1936, 1937, 1937, 1937,
2507 1937, 0, 0, 1937, 1937, 1938, 1938, 1938, 0, 0,
2508 0, 1938, 1939, 1939, 1939, 1939, 0, 0, 1939, 1939,
2510 1940, 1940, 1940, 1940, 0, 0, 1940, 1940, 1941, 1941,
2511 1941, 0, 0, 0, 1941, 1942, 1942, 1942, 1942, 0,
2512 0, 1942, 1942, 1943, 1943, 1943, 0, 0, 0, 1943,
2513 1944, 1944, 1944, 1944, 0, 0, 1944, 1944, 1945, 1945,
2514 1945, 0, 0, 0, 1945, 1946, 1946, 1946, 1946, 0,
2515 0, 1946, 1946, 1947, 1947, 1947, 1947, 0, 0, 1947,
2516 1947, 1948, 1948, 1948, 0, 0, 0, 1948, 1949, 1949,
2517 1949, 1949, 0, 0, 1949, 1949, 1950, 1950, 1950, 1950,
2518 1950, 1950, 1950, 1950, 1950, 1951, 1951, 1951, 1951, 1951,
2519 1951, 1951, 1951, 1951, 1952, 1952, 1952, 0, 0, 0,
2521 1952, 1953, 1953, 1953, 1953, 0, 0, 1953, 1953, 1954,
2522 1954, 1954, 0, 0, 0, 1954, 1955, 1955, 1955, 1955,
2523 0, 0, 1955, 1955, 1956, 1956, 1956, 0, 0, 0,
2524 1956, 1957, 1957, 1957, 1957, 0, 0, 1957, 1957, 1958,
2525 1958, 1958, 0, 0, 0, 1958, 1959, 1959, 1959, 1959,
2526 0, 0, 1959, 1959, 1960, 1960, 1960, 0, 0, 0,
2527 1960, 1961, 1961, 1961, 0, 0, 0, 1961, 1962, 1962,
2528 1962, 1962, 0, 0, 1962, 1962, 1963, 1963, 1963, 1963,
2529 0, 1963, 0, 1963, 1964, 1964, 1964, 1964, 0, 0,
2530 1964, 1964, 1965, 1965, 1965, 1965, 0, 0, 1965, 1965,
2532 1966, 1966, 1966, 0, 0, 0, 1966, 1967, 1967, 1967,
2533 1967, 0, 0, 1967, 1967, 1968, 1968, 1968, 1968, 0,
2534 0, 1968, 1968, 1969, 1969, 1969, 0, 0, 0, 1969,
2535 1970, 1970, 1970, 1970, 0, 0, 1970, 1970, 1971, 1971,
2536 1971, 1971, 0, 0, 1971, 1971, 1972, 1972, 1972, 0,
2537 0, 0, 1972, 1973, 1973, 1973, 1973, 0, 0, 1973,
2538 1973, 1974, 1974, 1974, 0, 0, 0, 1974, 1975, 1975,
2539 1975, 1975, 0, 0, 1975, 1975, 1976, 1976, 1976, 1976,
2540 0, 1976, 0, 1976, 1977, 1977, 1977, 1977, 0, 0,
2541 1977, 1977, 1978, 1978, 1978, 1978, 0, 0, 1978, 1978,
2543 1979, 1979, 1979, 1979, 0, 1979, 0, 1979, 1980, 1980,
2544 1980, 1980, 0, 0, 1980, 1980, 1981, 1981, 1981, 1981,
2545 1981, 1981, 1981, 1981, 1981, 1982, 1982, 1982, 1982, 1982,
2546 1982, 1982, 1982, 1982, 1983, 1983, 1983, 0, 0, 0,
2547 1983, 1984, 1984, 1984, 1984, 0, 0, 1984, 1984, 1985,
2548 1985, 1985, 0, 0, 0, 1985, 1986, 1986, 1986, 1986,
2549 0, 0, 1986, 1986, 1987, 1987, 1987, 0, 0, 0,
2550 1987, 1988, 1988, 1988, 1988, 0, 0, 1988, 1988, 1989,
2551 1989, 1989, 0, 0, 0, 1989, 1990, 1990, 1990, 1990,
2552 0, 0, 1990, 1990, 1991, 1991, 1991, 0, 0, 0,
2554 1991, 1992, 1992, 1992, 0, 0, 0, 1992, 1993, 1993,
2555 1993, 1993, 0, 0, 1993, 1993, 1994, 1994, 1994, 1994,
2556 0, 1994, 0, 1994, 1995, 1995, 1995, 1995, 0, 0,
2557 1995, 1995, 1996, 1996, 1996, 1996, 0, 0, 1996, 1996,
2558 1997, 1997, 1997, 0, 0, 0, 1997, 1998, 1998, 1998,
2559 1998, 0, 0, 1998, 1998, 1999, 1999, 1999, 1999, 0,
2560 0, 1999, 1999, 2000, 2000, 2000, 2000, 0, 2000, 0,
2561 2000, 2001, 2001, 2001, 2001, 0, 0, 2001, 2001, 2002,
2562 2002, 2002, 2002, 0, 0, 2002, 2002, 2003, 2003, 2003,
2563 2003, 0, 2003, 0, 2003, 2004, 2004, 2004, 2004, 0,
2565 0, 2004, 2004, 2005, 2005, 2005, 0, 0, 0, 2005,
2566 2006, 2006, 2006, 2006, 0, 0, 2006, 2006, 2007, 2007,
2567 2007, 2007, 0, 0, 2007, 2007, 2008, 2008, 2008, 2008,
2568 0, 0, 2008, 2008, 2009, 2009, 2009, 2009, 2009, 2009,
2569 2009, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010, 2010,
2570 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011,
2571 2011, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012,
2572 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014,
2573 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 1799, 1799,
2574 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2576 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2577 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2578 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2579 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2580 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
2581 1799, 1799, 1799, 1799, 1799, 1799, 1799
2584 /* Table of booleans, true if rule could match eol. */
2585 static yyconst flex_int32_t yy_rule_can_match_eol[324] =
2587 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2588 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2590 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2591 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2593 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2594 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0,
2595 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2596 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
2597 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2598 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2599 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2600 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
2601 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2602 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0,
2605 static yy_state_type yy_last_accepting_state;
2606 static char *yy_last_accepting_cpos;
2608 extern int surf_parse__flex_debug;
2609 int surf_parse__flex_debug = 0;
2611 /* The intent behind this definition is that it'll catch
2612 * any uses of REJECT which flex missed.
2614 #define REJECT reject_used_but_not_detected
2615 #define yymore() yymore_used_but_not_detected
2616 #define YY_MORE_ADJ 0
2617 #define YY_RESTORE_YY_MORE_OFFSET
2618 char *surf_parse_text;
2619 /* Validating XML processor for src/surf/simgrid.dtd.
2620 * Generated 2010/10/11 11:35:07.
2622 * This program was generated with the FleXML XML processor generator.
2623 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2624 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2625 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2627 * There are two, intertwined parts to this program, part A and part B.
2632 * Some parts, here collectively called "Part A", are found in the
2633 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2634 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2636 * You can redistribute, use, perform, display and/or modify "Part A"
2637 * provided the following two conditions hold:
2639 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2640 * FleXML; without even the implied warranty of MERCHANTABILITY or
2641 * FITNESS FOR A PARTICULAR PURPOSE.
2643 * 2. The program distribution conditions do not in any way affect the
2644 * distribution conditions of the FleXML system used to generate this
2645 * file or any version of FleXML derived from that system.
2647 * Notice that these are explicit rights granted to you for files
2648 * generated by the FleXML system. For your rights in connection with
2649 * the FleXML system itself please consult the GNU General Public License.
2654 * The other parts, here collectively called "Part B", and which came
2655 * from the DTD used by FleXML to generate this program, can be
2656 * distributed (or not, as the case may be) under the terms of whoever
2657 * wrote them, provided these terms respect and obey the two conditions
2658 * above under the heading "Part A".
2660 * The author of and contributors to FleXML specifically disclaim
2661 * any copyright interest in "Part B", unless "Part B" was written
2662 * by the author of or contributors to FleXML.
2666 /* Version strings. */
2667 const char rcs_surfxml_flexml_skeleton[] =
2668 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2669 const char rcs_surfxml_flexml[] =
2670 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2673 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2680 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2681 # ifndef __STRICT_ANSI__
2683 # include <process.h>
2686 # include <unistd.h>
2689 #ifndef FLEXML_INDEXSTACKSIZE
2690 #define FLEXML_INDEXSTACKSIZE 1000
2693 /* Generated definitions. */
2694 #define FLEXML_yylineno
2695 #ifndef FLEXML_BUFFERSTACKSIZE
2696 #define FLEXML_BUFFERSTACKSIZE 1000000
2698 #define FLEXML_NEED_BUFFERLIT
2700 /* XML processor api. */
2701 /* FleXML-provided data. */
2702 int surfxml_pcdata_ix;
2703 extern char *surfxml_bufferstack;
2704 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2705 AT_surfxml_random_generator AX_surfxml_random_generator;
2706 #define A_surfxml_random_generator AX_surfxml_random_generator
2707 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2708 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2709 AT_surfxml_link_id AX_surfxml_link_id;
2710 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2711 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
2712 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
2713 AT_surfxml_prop_id AX_surfxml_prop_id;
2714 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2715 AT_surfxml_host_id AX_surfxml_host_id;
2716 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2717 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2718 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2719 AT_surfxml_process_host AX_surfxml_process_host;
2720 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2721 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2722 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2723 AT_surfxml_host_state AX_surfxml_host_state;
2724 #define A_surfxml_host_state AX_surfxml_host_state
2725 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2726 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2727 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2728 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2729 AT_surfxml_prop_value AX_surfxml_prop_value;
2730 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2731 AT_surfxml_AS_id AX_surfxml_AS_id;
2732 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2733 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2734 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2735 AT_surfxml_host_power AX_surfxml_host_power;
2736 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2737 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2738 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2739 AT_surfxml_router_id AX_surfxml_router_id;
2740 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2741 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
2742 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
2743 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2744 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2745 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2746 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2747 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2748 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2749 AT_surfxml_process_function AX_surfxml_process_function;
2750 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2751 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2752 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2753 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2754 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2755 AT_surfxml_trace_file AX_surfxml_trace_file;
2756 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2757 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2758 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2759 AT_surfxml_random_min AX_surfxml_random_min;
2760 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2761 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
2762 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
2763 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
2764 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
2765 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2766 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2767 AT_surfxml_host_availability AX_surfxml_host_availability;
2768 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2769 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2770 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2771 AT_surfxml_argument_value AX_surfxml_argument_value;
2772 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2773 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
2774 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
2775 AT_surfxml_link_state AX_surfxml_link_state;
2776 #define A_surfxml_link_state AX_surfxml_link_state
2777 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2778 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2779 AT_surfxml_route_src AX_surfxml_route_src;
2780 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2781 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2782 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2783 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2784 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2785 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
2786 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
2787 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2788 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2789 AT_surfxml_random_mean AX_surfxml_random_mean;
2790 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2791 AT_surfxml_trace_id AX_surfxml_trace_id;
2792 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2793 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2794 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2795 AT_surfxml_link_latency AX_surfxml_link_latency;
2796 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2797 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2798 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2799 AT_surfxml_config_id AX_surfxml_config_id;
2800 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
2801 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
2802 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
2803 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
2804 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
2805 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2806 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2807 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2808 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2809 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2810 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2811 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2812 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2813 AT_surfxml_random_id AX_surfxml_random_id;
2814 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2815 AT_surfxml_route_dst AX_surfxml_route_dst;
2816 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
2817 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
2818 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
2819 AT_surfxml_random_max AX_surfxml_random_max;
2820 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2821 AT_surfxml_platform_version AX_surfxml_platform_version;
2822 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
2826 # define ENTER(state) debug_enter(state,#state)
2827 # define LEAVE debug_leave()
2828 # define SET(state) debug_set(state,#state)
2829 static void debug_enter(int, const char*);
2830 static void debug_leave(void);
2831 static void debug_set(int, const char*);
2833 # define ENTER(state) (yy_push_state(state))
2834 # define LEAVE (yy_pop_state())
2835 # define SET(state) BEGIN(state)
2838 /* Generic actions. */
2839 #define SKIP /*skip*/
2840 #define SUCCEED CLEANUP; return 0
2842 #define FAIL return fail
2843 static int fail(const char*, ...);
2845 enum {flexml_max_err_msg_size = 512};
2846 static char flexml_err_msg[flexml_max_err_msg_size];
2847 const char * surfxml_parse_err_msg()
2849 return flexml_err_msg;
2851 static void reset_surfxml_parse_err_msg()
2853 flexml_err_msg[0] = '\0';
2857 static void cleanup(void);
2858 #define CLEANUP cleanup()
2860 /* Text buffer stack handling. */
2861 char *surfxml_bufferstack = NULL;
2862 static int blimit = FLEXML_BUFFERSTACKSIZE;
2863 static int bnext = 1;
2865 static int *indexstack = NULL;
2866 static int ilimit = FLEXML_INDEXSTACKSIZE;
2867 static int inext = 1;
2869 #define BUFFERSET(P) (P = bnext)
2870 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
2871 #define BUFFERDONE (BUFFERPUTC('\0'))
2873 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
2875 /* after this is called, there are at least 2 slots left in the stack */
2876 static int ck_blimit()
2878 if (bnext >= blimit) {
2879 blimit += FLEXML_BUFFERSTACKSIZE + 2;
2881 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
2883 surfxml_bufferstack = temp;
2889 /* after this is called, there are at least 2 slots left in the stack */
2890 static int ck_ilimit()
2892 if (inext >= ilimit) {
2893 ilimit += FLEXML_INDEXSTACKSIZE + 2;
2895 int *temp = (int *) realloc(indexstack, ilimit);
2903 #ifdef FLEXML_NEED_BUFFERLIT
2904 static void surfxml_bufferliteral(char c, int* pp, const char* text)
2906 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
2907 assert(s <= e); BUFFERSET(*pp);
2909 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
2910 else BUFFERPUTC(*s);
2916 static void pushbuffer(int p)
2919 indexstack[inext++] = p;
2920 indexstack[inext++] = bnext;
2923 static int popbuffer(void)
2926 bnext = indexstack[--inext];
2927 return indexstack[--inext];
2930 /* General internal entities are `unput' back onto the input stream... */
2931 #define ENTITYTEXT(T) \
2932 { char *s = (T), *e = s+strlen(s);\
2933 while (--e >= s) { unput(*e); }}
2935 /* Flex standard options. */
2936 #define YY_NO_INPUT 1
2937 /* Flex user-requested options. */
2938 /* XML character classes (currently restricted to ASCII). */
2939 /* "Common syntactic structures." */
2940 /* "Names and Tokens." */
2941 /* Miscellaneous. */
2942 /* Parser states (flex `exclusive start conditions'):
2944 * PROLOG the XML prolog of the document before <?xml...>
2945 * DOCTYPE the XML prolog of the document after <?xml...>
2946 * EPILOG after the root element
2947 * INCOMMENT inside an XML comment <!--....-->
2948 * INPI inside an XML PI <?...?>
2949 * VALUE1 inside a '...'-delimited literal
2950 * VALUE2 inside a "..."-delimited literal
2951 * CDATA inside a <![CDATA[...] ]> section.
2952 * ROOT_<tag> expect root element <tag>
2953 * AL_<tag> inside the attribute list for <tag>
2954 * IN_<tag> inside a <tag> with element contents (ready for end tag)
2955 * IMPOSSIBLE dummy to permit disabling rules; must be last
2959 const char* *surfxml_statenames=NULL;
2970 #define ROOT_surfxml_platform 9
2971 #define AL_surfxml_platform 10
2972 #define S_surfxml_platform 11
2973 #define S_surfxml_platform_1 12
2974 #define S_surfxml_platform_2 13
2975 #define S_surfxml_platform_3 14
2976 #define S_surfxml_platform_4 15
2977 #define S_surfxml_platform_5 16
2978 #define S_surfxml_platform_6 17
2979 #define E_surfxml_platform 18
2980 #define AL_surfxml_trace 19
2982 #define AL_surfxml_random 21
2983 #define S_surfxml_random 22
2984 #define S_surfxml_random_1 23
2985 #define S_surfxml_random_2 24
2986 #define E_surfxml_random 25
2987 #define AL_surfxml_trace_connect 26
2988 #define E_surfxml_trace_connect 27
2989 #define AL_surfxml_AS 28
2990 #define S_surfxml_AS 29
2991 #define S_surfxml_AS_1 30
2992 #define S_surfxml_AS_2 31
2993 #define S_surfxml_AS_3 32
2994 #define S_surfxml_AS_4 33
2995 #define S_surfxml_AS_5 34
2996 #define S_surfxml_AS_6 35
2997 #define S_surfxml_AS_7 36
2998 #define S_surfxml_AS_8 37
2999 #define S_surfxml_AS_9 38
3000 #define S_surfxml_AS_10 39
3001 #define S_surfxml_AS_11 40
3002 #define S_surfxml_AS_12 41
3003 #define S_surfxml_AS_13 42
3004 #define E_surfxml_AS 43
3005 #define AL_surfxml_host 44
3006 #define S_surfxml_host 45
3007 #define S_surfxml_host_1 46
3008 #define S_surfxml_host_2 47
3009 #define E_surfxml_host 48
3010 #define AL_surfxml_cluster 49
3011 #define E_surfxml_cluster 50
3012 #define AL_surfxml_router 51
3013 #define E_surfxml_router 52
3014 #define AL_surfxml_link 53
3015 #define S_surfxml_link 54
3016 #define S_surfxml_link_1 55
3017 #define S_surfxml_link_2 56
3018 #define E_surfxml_link 57
3019 #define AL_surfxml_route 58
3020 #define S_surfxml_route 59
3021 #define S_surfxml_route_1 60
3022 #define S_surfxml_route_2 61
3023 #define E_surfxml_route 62
3024 #define AL_surfxml_ASroute 63
3025 #define S_surfxml_ASroute 64
3026 #define S_surfxml_ASroute_1 65
3027 #define S_surfxml_ASroute_2 66
3028 #define E_surfxml_ASroute 67
3029 #define AL_surfxml_link_ctn 68
3030 #define E_surfxml_link_ctn 69
3031 #define AL_surfxml_bypassRoute 70
3032 #define S_surfxml_bypassRoute 71
3033 #define S_surfxml_bypassRoute_1 72
3034 #define S_surfxml_bypassRoute_2 73
3035 #define E_surfxml_bypassRoute 74
3036 #define AL_surfxml_process 75
3037 #define S_surfxml_process 76
3038 #define S_surfxml_process_1 77
3039 #define S_surfxml_process_2 78
3040 #define E_surfxml_process 79
3041 #define AL_surfxml_argument 80
3042 #define E_surfxml_argument 81
3043 #define AL_surfxml_config 82
3044 #define S_surfxml_config 83
3045 #define S_surfxml_config_1 84
3046 #define S_surfxml_config_2 85
3047 #define E_surfxml_config 86
3048 #define AL_surfxml_prop 87
3049 #define E_surfxml_prop 88
3050 #define IMPOSSIBLE 89
3052 #ifndef YY_NO_UNISTD_H
3053 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3054 * down here because we want the user's section 1 to have been scanned first.
3055 * The user has a chance to override it with an option.
3057 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3058 # ifndef __STRICT_ANSI__
3060 # include <process.h>
3063 # include <unistd.h>
3067 #ifndef YY_EXTRA_TYPE
3068 #define YY_EXTRA_TYPE void *
3071 static int yy_init_globals (void );
3073 /* Accessor methods to globals.
3074 These are made visible to non-reentrant scanners for convenience. */
3076 int surf_parse_lex_destroy (void );
3078 int surf_parse_get_debug (void );
3080 void surf_parse_set_debug (int debug_flag );
3082 YY_EXTRA_TYPE surf_parse_get_extra (void );
3084 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3086 FILE *surf_parse_get_in (void );
3088 void surf_parse_set_in (FILE * in_str );
3090 FILE *surf_parse_get_out (void );
3092 void surf_parse_set_out (FILE * out_str );
3094 int surf_parse_get_leng (void );
3096 char *surf_parse_get_text (void );
3098 int surf_parse_get_lineno (void );
3100 void surf_parse_set_lineno (int line_number );
3102 /* Macros after this point can all be overridden by user definitions in
3106 #ifndef YY_SKIP_YYWRAP
3108 extern "C" int surf_parse_wrap (void );
3110 extern int surf_parse_wrap (void );
3115 static void yy_flex_strncpy (char *,yyconst char *,int );
3118 #ifdef YY_NEED_STRLEN
3119 static int yy_flex_strlen (yyconst char * );
3125 static int yyinput (void );
3127 static int input (void );
3132 static int yy_start_stack_ptr = 0;
3133 static int yy_start_stack_depth = 0;
3134 static int *yy_start_stack = NULL;
3136 static void yy_push_state (int new_state );
3138 static void yy_pop_state (void );
3140 /* Amount of stuff to slurp up with each read. */
3141 #ifndef YY_READ_BUF_SIZE
3143 /* On IA-64, the buffer size is 16k, not 8k */
3144 #define YY_READ_BUF_SIZE 16384
3146 #define YY_READ_BUF_SIZE 8192
3147 #endif /* __ia64__ */
3150 /* Copy whatever the last rule matched to the standard output. */
3152 /* This used to be an fputs(), but since the string might contain NUL's,
3153 * we now use fwrite().
3155 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3158 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3159 * is returned in "result".
3162 #define YY_INPUT(buf,result,max_size) \
3163 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3167 for ( n = 0; n < max_size && \
3168 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3169 buf[n] = (char) c; \
3171 buf[n++] = (char) c; \
3172 if ( c == EOF && ferror( surf_parse_in ) ) \
3173 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3179 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3181 if( errno != EINTR) \
3183 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3187 clearerr(surf_parse_in); \
3194 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3195 * we don't want an extra ';' after the "return" because that will cause
3196 * some compilers to complain about unreachable statements.
3199 #define yyterminate() return YY_NULL
3202 /* Number of entries by which start-condition stack grows. */
3203 #ifndef YY_START_STACK_INCR
3204 #define YY_START_STACK_INCR 25
3207 /* Report a fatal error. */
3208 #ifndef YY_FATAL_ERROR
3209 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3212 /* end tables serialization structures and prototypes */
3214 /* Default declaration of generated scanner - a define so the user can
3215 * easily add parameters.
3218 #define YY_DECL_IS_OURS 1
3220 extern int surf_parse_lex (void);
3222 #define YY_DECL int surf_parse_lex (void)
3223 #endif /* !YY_DECL */
3225 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3228 #ifndef YY_USER_ACTION
3229 #define YY_USER_ACTION
3232 /* Code executed at the end of each rule. */
3234 #define YY_BREAK break;
3237 #define YY_RULE_SETUP \
3240 /** The main scanner function which does all the work.
3244 register yy_state_type yy_current_state;
3245 register char *yy_cp, *yy_bp;
3246 register int yy_act;
3248 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3250 reset_surfxml_parse_err_msg();
3251 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3252 assert(surfxml_bufferstack);
3256 for (i = 0; i < blimit; i++) {
3257 surfxml_bufferstack[i] = '\377';
3261 surfxml_bufferstack[0] = '\0';
3262 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3268 surfxml_bufferliteral('\0', &bnext, "0.0");
3269 surfxml_bufferliteral('\0', &bnext, "1.0");
3270 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3271 surfxml_bufferliteral('\0', &bnext, "0.0");
3272 surfxml_bufferliteral('\0', &bnext, "-1.0");
3273 surfxml_bufferliteral('\0', &bnext, "-1.0");
3274 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3275 surfxml_statenames[PROLOG] = NULL;
3276 surfxml_statenames[DOCTYPE] = NULL;
3277 surfxml_statenames[EPILOG] = NULL;
3278 surfxml_statenames[INCOMMENT] = NULL;
3279 surfxml_statenames[INPI] = NULL;
3280 surfxml_statenames[VALUE1] = NULL;
3281 surfxml_statenames[VALUE2] = NULL;
3282 surfxml_statenames[CDATA] = NULL;
3283 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3284 surfxml_statenames[AL_surfxml_platform] = NULL;
3285 surfxml_statenames[S_surfxml_platform] = "platform";
3286 surfxml_statenames[S_surfxml_platform_1] = "platform";
3287 surfxml_statenames[S_surfxml_platform_2] = "platform";
3288 surfxml_statenames[S_surfxml_platform_3] = "platform";
3289 surfxml_statenames[S_surfxml_platform_4] = "platform";
3290 surfxml_statenames[S_surfxml_platform_5] = "platform";
3291 surfxml_statenames[S_surfxml_platform_6] = "platform";
3292 surfxml_statenames[E_surfxml_platform] = "platform";
3293 surfxml_statenames[AL_surfxml_trace] = NULL;
3294 surfxml_statenames[IN_trace] = "trace";
3295 surfxml_statenames[AL_surfxml_random] = NULL;
3296 surfxml_statenames[S_surfxml_random] = "random";
3297 surfxml_statenames[S_surfxml_random_1] = "random";
3298 surfxml_statenames[S_surfxml_random_2] = "random";
3299 surfxml_statenames[E_surfxml_random] = "random";
3300 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3301 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3302 surfxml_statenames[AL_surfxml_AS] = NULL;
3303 surfxml_statenames[S_surfxml_AS] = "AS";
3304 surfxml_statenames[S_surfxml_AS_1] = "AS";
3305 surfxml_statenames[S_surfxml_AS_2] = "AS";
3306 surfxml_statenames[S_surfxml_AS_3] = "AS";
3307 surfxml_statenames[S_surfxml_AS_4] = "AS";
3308 surfxml_statenames[S_surfxml_AS_5] = "AS";
3309 surfxml_statenames[S_surfxml_AS_6] = "AS";
3310 surfxml_statenames[S_surfxml_AS_7] = "AS";
3311 surfxml_statenames[S_surfxml_AS_8] = "AS";
3312 surfxml_statenames[S_surfxml_AS_9] = "AS";
3313 surfxml_statenames[S_surfxml_AS_10] = "AS";
3314 surfxml_statenames[S_surfxml_AS_11] = "AS";
3315 surfxml_statenames[S_surfxml_AS_12] = "AS";
3316 surfxml_statenames[S_surfxml_AS_13] = "AS";
3317 surfxml_statenames[E_surfxml_AS] = "AS";
3318 surfxml_statenames[AL_surfxml_host] = NULL;
3319 surfxml_statenames[S_surfxml_host] = "host";
3320 surfxml_statenames[S_surfxml_host_1] = "host";
3321 surfxml_statenames[S_surfxml_host_2] = "host";
3322 surfxml_statenames[E_surfxml_host] = "host";
3323 surfxml_statenames[AL_surfxml_cluster] = NULL;
3324 surfxml_statenames[E_surfxml_cluster] = "cluster";
3325 surfxml_statenames[AL_surfxml_router] = NULL;
3326 surfxml_statenames[E_surfxml_router] = "router";
3327 surfxml_statenames[AL_surfxml_link] = NULL;
3328 surfxml_statenames[S_surfxml_link] = "link";
3329 surfxml_statenames[S_surfxml_link_1] = "link";
3330 surfxml_statenames[S_surfxml_link_2] = "link";
3331 surfxml_statenames[E_surfxml_link] = "link";
3332 surfxml_statenames[AL_surfxml_route] = NULL;
3333 surfxml_statenames[S_surfxml_route] = "route";
3334 surfxml_statenames[S_surfxml_route_1] = "route";
3335 surfxml_statenames[S_surfxml_route_2] = "route";
3336 surfxml_statenames[E_surfxml_route] = "route";
3337 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3338 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3339 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3340 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3341 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3342 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3343 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3344 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3345 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3346 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3347 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3348 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3349 surfxml_statenames[AL_surfxml_process] = NULL;
3350 surfxml_statenames[S_surfxml_process] = "process";
3351 surfxml_statenames[S_surfxml_process_1] = "process";
3352 surfxml_statenames[S_surfxml_process_2] = "process";
3353 surfxml_statenames[E_surfxml_process] = "process";
3354 surfxml_statenames[AL_surfxml_argument] = NULL;
3355 surfxml_statenames[E_surfxml_argument] = "argument";
3356 surfxml_statenames[AL_surfxml_config] = NULL;
3357 surfxml_statenames[S_surfxml_config] = "config";
3358 surfxml_statenames[S_surfxml_config_1] = "config";
3359 surfxml_statenames[S_surfxml_config_2] = "config";
3360 surfxml_statenames[E_surfxml_config] = "config";
3361 surfxml_statenames[AL_surfxml_prop] = NULL;
3362 surfxml_statenames[E_surfxml_prop] = "prop";
3365 /* COMMENTS and PIs: handled uniformly for efficiency. */
3376 (yy_start) = 1; /* first start state */
3378 if ( ! surf_parse_in )
3379 surf_parse_in = stdin;
3381 if ( ! surf_parse_out )
3382 surf_parse_out = stdout;
3384 if ( ! YY_CURRENT_BUFFER ) {
3385 surf_parse_ensure_buffer_stack ();
3386 YY_CURRENT_BUFFER_LVALUE =
3387 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3390 surf_parse__load_buffer_state( );
3393 while ( 1 ) /* loops until end-of-file is reached */
3395 yy_cp = (yy_c_buf_p);
3397 /* Support of surf_parse_text. */
3398 *yy_cp = (yy_hold_char);
3400 /* yy_bp points to the position in yy_ch_buf of the start of
3405 yy_current_state = (yy_start);
3409 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3410 if ( yy_accept[yy_current_state] )
3412 (yy_last_accepting_state) = yy_current_state;
3413 (yy_last_accepting_cpos) = yy_cp;
3415 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3417 yy_current_state = (int) yy_def[yy_current_state];
3418 if ( yy_current_state >= 1800 )
3419 yy_c = yy_meta[(unsigned int) yy_c];
3421 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3424 while ( yy_base[yy_current_state] != 6589 );
3427 yy_act = yy_accept[yy_current_state];
3429 { /* have to back up */
3430 yy_cp = (yy_last_accepting_cpos);
3431 yy_current_state = (yy_last_accepting_state);
3432 yy_act = yy_accept[yy_current_state];
3435 YY_DO_BEFORE_ACTION;
3437 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3440 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3441 if ( surf_parse_text[yyl] == '\n' )
3443 surf_parse_lineno++;
3447 do_action: /* This label is used only to access EOF actions. */
3450 { /* beginning of action switch */
3451 case 0: /* must back up */
3452 /* undo the effects of YY_DO_BEFORE_ACTION */
3453 *yy_cp = (yy_hold_char);
3454 yy_cp = (yy_last_accepting_cpos);
3455 yy_current_state = (yy_last_accepting_state);
3456 goto yy_find_action;
3474 /* rule 6 can match eol */
3478 case YY_STATE_EOF(INCOMMENT):
3479 FAIL("EOF in comment.");
3488 /* rule 9 can match eol */
3492 case YY_STATE_EOF(INPI):
3493 FAIL("EOF in PI (processing instruction).");
3496 /* SPACES: skipped uniformly */
3498 /* rule 10 can match eol */
3502 /* PROLOG: determine root element and process it. */
3505 /* rule 11 can match eol */
3510 /* rule 12 can match eol */
3512 FAIL("Bad declaration %s.",surf_parse_text);
3516 /* rule 13 can match eol */
3518 SET(ROOT_surfxml_platform);
3521 /* rule 14 can match eol */
3523 FAIL("Bad declaration %s.",surf_parse_text);
3527 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3529 case YY_STATE_EOF(PROLOG):
3530 case YY_STATE_EOF(DOCTYPE):
3531 FAIL("EOF in prolog.");
3534 /* RULES DERIVED FROM DTD. */
3535 /* <!-- Small DTD for SURF based tools. --> */
3537 /* rule 16 can match eol */
3539 FAIL("Starting tag <platform> is not allowed here.");
3542 /* rule 17 can match eol */
3545 AX_surfxml_platform_version = 1;
3546 ENTER(AL_surfxml_platform); pushbuffer(0);
3551 /* rule 18 can match eol */
3553 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3556 /* rule 19 can match eol */
3558 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3563 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3569 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3571 case ROOT_surfxml_platform: SET(EPILOG); break;
3577 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3581 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3583 case YY_STATE_EOF(AL_surfxml_platform):
3584 FAIL("EOF in attribute list of `platform' element.");
3588 /* rule 24 can match eol */
3592 ETag_surfxml_platform();
3593 popbuffer(); /* attribute */
3595 case ROOT_surfxml_platform: SET(EPILOG); break;
3600 /* rule 25 can match eol */
3602 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3606 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3608 case YY_STATE_EOF(S_surfxml_platform_2):
3609 case YY_STATE_EOF(S_surfxml_platform_1):
3610 case YY_STATE_EOF(S_surfxml_platform):
3611 case YY_STATE_EOF(S_surfxml_platform_4):
3612 case YY_STATE_EOF(S_surfxml_platform_6):
3613 case YY_STATE_EOF(E_surfxml_platform):
3614 FAIL("Premature EOF: `</platform>' expected.");
3618 /* rule 27 can match eol */
3620 FAIL("Starting tag <trace> is not allowed here.");
3623 /* rule 28 can match eol */
3626 AX_surfxml_trace_id = 0;
3627 AX_surfxml_trace_file = 0;
3628 AX_surfxml_trace_periodicity = 0;
3629 ENTER(AL_surfxml_trace); pushbuffer(0);
3634 /* rule 29 can match eol */
3636 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3639 /* rule 30 can match eol */
3641 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3644 /* rule 31 can match eol */
3646 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3649 /* rule 32 can match eol */
3651 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3654 /* rule 33 can match eol */
3656 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3659 /* rule 34 can match eol */
3661 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3666 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3667 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3668 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3674 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3675 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3676 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3678 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;
3679 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3680 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3681 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3682 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;
3683 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3689 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3693 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3695 case YY_STATE_EOF(AL_surfxml_trace):
3696 FAIL("EOF in attribute list of `trace' element.");
3700 /* rule 39 can match eol */
3705 ETag_surfxml_trace();
3706 surfxml_pcdata_ix = popbuffer();
3707 popbuffer(); /* attribute */
3709 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;
3710 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3711 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3712 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3713 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;
3714 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3719 /* rule 40 can match eol */
3721 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3723 case YY_STATE_EOF(IN_trace):
3724 FAIL("Premature EOF: `</trace>' expected.");
3728 /* rule 41 can match eol */
3730 FAIL("Starting tag <random> is not allowed here.");
3733 /* rule 42 can match eol */
3736 AX_surfxml_random_id = 0;
3737 AX_surfxml_random_min = 0;
3738 AX_surfxml_random_max = 0;
3739 AX_surfxml_random_mean = 0;
3740 AX_surfxml_random_std_deviation = 0;
3741 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3742 ENTER(AL_surfxml_random); pushbuffer(0);
3747 /* rule 43 can match eol */
3749 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3752 /* rule 44 can match eol */
3754 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3757 /* rule 45 can match eol */
3759 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3762 /* rule 46 can match eol */
3764 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3767 /* rule 47 can match eol */
3769 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3772 /* rule 48 can match eol */
3774 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3777 /* rule 49 can match eol */
3779 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3782 /* rule 50 can match eol */
3784 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3787 /* rule 51 can match eol */
3789 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
3792 /* rule 52 can match eol */
3794 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
3797 /* rule 53 can match eol */
3799 /* rule 54 can match eol */
3801 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3804 /* rule 55 can match eol */
3806 /* rule 56 can match eol */
3808 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3813 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3814 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3815 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3816 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3817 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3818 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
3824 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3825 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3826 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3827 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3828 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3829 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
3831 case S_surfxml_config: SET(E_surfxml_config); break;
3837 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
3841 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
3843 case YY_STATE_EOF(AL_surfxml_random):
3844 FAIL("EOF in attribute list of `random' element.");
3848 /* rule 61 can match eol */
3852 ETag_surfxml_random();
3853 popbuffer(); /* attribute */
3855 case S_surfxml_config: SET(E_surfxml_config); break;
3860 /* rule 62 can match eol */
3862 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
3866 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
3868 case YY_STATE_EOF(S_surfxml_random_2):
3869 case YY_STATE_EOF(S_surfxml_random):
3870 case YY_STATE_EOF(E_surfxml_random):
3871 FAIL("Premature EOF: `</random>' expected.");
3875 /* rule 64 can match eol */
3877 FAIL("Starting tag <trace_connect> is not allowed here.");
3880 /* rule 65 can match eol */
3883 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
3884 AX_surfxml_trace_connect_trace = 0;
3885 AX_surfxml_trace_connect_element = 0;
3886 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
3891 /* rule 66 can match eol */
3893 /* rule 67 can match eol */
3895 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
3898 /* rule 68 can match eol */
3900 /* rule 69 can match eol */
3902 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
3905 /* rule 70 can match eol */
3907 /* rule 71 can match eol */
3909 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
3912 /* rule 72 can match eol */
3914 /* rule 73 can match eol */
3916 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
3919 /* rule 74 can match eol */
3921 /* rule 75 can match eol */
3923 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
3926 /* rule 76 can match eol */
3928 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
3931 /* rule 77 can match eol */
3933 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
3936 /* rule 78 can match eol */
3938 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
3941 /* rule 79 can match eol */
3943 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
3948 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
3949 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
3950 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
3956 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
3957 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
3958 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
3960 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;
3961 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3962 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3963 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3964 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;
3965 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3971 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
3975 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
3977 case YY_STATE_EOF(AL_surfxml_trace_connect):
3978 FAIL("EOF in attribute list of `trace_connect' element.");
3982 /* rule 84 can match eol */
3986 ETag_surfxml_trace_connect();
3987 popbuffer(); /* attribute */
3989 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;
3990 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3991 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3992 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3993 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;
3994 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3999 /* rule 85 can match eol */
4001 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4005 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4007 case YY_STATE_EOF(E_surfxml_trace_connect):
4008 FAIL("Premature EOF: `</trace_connect>' expected.");
4012 /* rule 87 can match eol */
4014 FAIL("Starting tag <AS> is not allowed here.");
4017 /* rule 88 can match eol */
4020 AX_surfxml_AS_id = 0;
4021 AX_surfxml_AS_routing = 0;
4022 ENTER(AL_surfxml_AS); pushbuffer(0);
4027 /* rule 89 can match eol */
4029 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4032 /* rule 90 can match eol */
4034 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4037 /* rule 91 can match eol */
4039 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4042 /* rule 92 can match eol */
4044 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4049 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4050 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4051 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4057 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4058 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4059 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4061 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4062 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;
4068 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4072 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4074 case YY_STATE_EOF(AL_surfxml_AS):
4075 FAIL("EOF in attribute list of `AS' element.");
4079 /* rule 97 can match eol */
4084 popbuffer(); /* attribute */
4086 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4087 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;
4092 /* rule 98 can match eol */
4094 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4098 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4100 case YY_STATE_EOF(S_surfxml_AS_1):
4101 case YY_STATE_EOF(S_surfxml_AS_9):
4102 case YY_STATE_EOF(S_surfxml_AS_11):
4103 case YY_STATE_EOF(S_surfxml_AS_6):
4104 case YY_STATE_EOF(E_surfxml_AS):
4105 case YY_STATE_EOF(S_surfxml_AS_3):
4106 case YY_STATE_EOF(S_surfxml_AS_13):
4107 case YY_STATE_EOF(S_surfxml_AS_8):
4108 case YY_STATE_EOF(S_surfxml_AS):
4109 case YY_STATE_EOF(S_surfxml_AS_4):
4110 FAIL("Premature EOF: `</AS>' expected.");
4114 /* rule 100 can match eol */
4116 FAIL("Starting tag <host> is not allowed here.");
4119 /* rule 101 can match eol */
4122 AX_surfxml_host_id = 0;
4123 AX_surfxml_host_power = 0;
4124 AX_surfxml_host_availability = 5;
4125 AX_surfxml_host_availability_file = 0;
4126 AX_surfxml_host_state = A_surfxml_host_state_ON;
4127 AX_surfxml_host_state_file = 0;
4128 AX_surfxml_host_vivaldi = 9;
4129 ENTER(AL_surfxml_host); pushbuffer(0);
4134 /* rule 102 can match eol */
4136 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4139 /* rule 103 can match eol */
4141 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4144 /* rule 104 can match eol */
4146 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4149 /* rule 105 can match eol */
4151 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4154 /* rule 106 can match eol */
4156 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4159 /* rule 107 can match eol */
4161 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4164 /* rule 108 can match eol */
4166 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4169 /* rule 109 can match eol */
4171 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4174 /* rule 110 can match eol */
4176 /* rule 111 can match eol */
4178 A_surfxml_host_state = A_surfxml_host_state_ON;
4181 /* rule 112 can match eol */
4183 /* rule 113 can match eol */
4185 A_surfxml_host_state = A_surfxml_host_state_OFF;
4188 /* rule 114 can match eol */
4190 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4193 /* rule 115 can match eol */
4195 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4198 /* rule 116 can match eol */
4200 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4203 /* rule 117 can match eol */
4205 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4210 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4211 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4212 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4218 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4219 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4220 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4222 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4228 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4232 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4234 case YY_STATE_EOF(AL_surfxml_host):
4235 FAIL("EOF in attribute list of `host' element.");
4239 /* rule 122 can match eol */
4243 ETag_surfxml_host();
4244 popbuffer(); /* attribute */
4246 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4251 /* rule 123 can match eol */
4253 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4257 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4259 case YY_STATE_EOF(S_surfxml_host):
4260 case YY_STATE_EOF(E_surfxml_host):
4261 case YY_STATE_EOF(S_surfxml_host_2):
4262 FAIL("Premature EOF: `</host>' expected.");
4266 /* rule 125 can match eol */
4268 FAIL("Starting tag <cluster> is not allowed here.");
4271 /* rule 126 can match eol */
4274 AX_surfxml_cluster_id = 0;
4275 AX_surfxml_cluster_prefix = 0;
4276 AX_surfxml_cluster_suffix = 0;
4277 AX_surfxml_cluster_radical = 0;
4278 AX_surfxml_cluster_power = 0;
4279 AX_surfxml_cluster_bw = 0;
4280 AX_surfxml_cluster_lat = 0;
4281 AX_surfxml_cluster_bb_bw = 0;
4282 AX_surfxml_cluster_bb_lat = 0;
4283 ENTER(AL_surfxml_cluster); pushbuffer(0);
4288 /* rule 127 can match eol */
4290 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4293 /* rule 128 can match eol */
4295 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4298 /* rule 129 can match eol */
4300 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4303 /* rule 130 can match eol */
4305 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4308 /* rule 131 can match eol */
4310 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4313 /* rule 132 can match eol */
4315 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4318 /* rule 133 can match eol */
4320 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4323 /* rule 134 can match eol */
4325 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4328 /* rule 135 can match eol */
4330 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4333 /* rule 136 can match eol */
4335 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4338 /* rule 137 can match eol */
4340 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4343 /* rule 138 can match eol */
4345 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4348 /* rule 139 can match eol */
4350 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4353 /* rule 140 can match eol */
4355 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4358 /* rule 141 can match eol */
4360 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4363 /* rule 142 can match eol */
4365 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4368 /* rule 143 can match eol */
4370 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4373 /* rule 144 can match eol */
4375 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4380 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4381 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4382 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4383 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4384 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4385 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4386 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4387 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4388 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4389 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4395 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4396 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4397 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4398 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4399 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4400 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4401 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4402 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4403 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4404 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4406 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4407 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;
4413 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4417 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4419 case YY_STATE_EOF(AL_surfxml_cluster):
4420 FAIL("EOF in attribute list of `cluster' element.");
4424 /* rule 149 can match eol */
4428 ETag_surfxml_cluster();
4429 popbuffer(); /* attribute */
4431 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4432 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;
4437 /* rule 150 can match eol */
4439 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4443 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4445 case YY_STATE_EOF(E_surfxml_cluster):
4446 FAIL("Premature EOF: `</cluster>' expected.");
4450 /* rule 152 can match eol */
4452 FAIL("Starting tag <router> is not allowed here.");
4455 /* rule 153 can match eol */
4458 AX_surfxml_router_id = 0;
4459 ENTER(AL_surfxml_router); pushbuffer(0);
4464 /* rule 154 can match eol */
4466 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4469 /* rule 155 can match eol */
4471 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4476 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4477 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4483 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4484 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4486 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4492 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4496 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4498 case YY_STATE_EOF(AL_surfxml_router):
4499 FAIL("EOF in attribute list of `router' element.");
4503 /* rule 160 can match eol */
4507 ETag_surfxml_router();
4508 popbuffer(); /* attribute */
4510 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4515 /* rule 161 can match eol */
4517 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4521 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4523 case YY_STATE_EOF(E_surfxml_router):
4524 FAIL("Premature EOF: `</router>' expected.");
4528 /* rule 163 can match eol */
4530 FAIL("Starting tag <link> is not allowed here.");
4533 /* rule 164 can match eol */
4536 AX_surfxml_link_id = 0;
4537 AX_surfxml_link_bandwidth = 0;
4538 AX_surfxml_link_bandwidth_file = 0;
4539 AX_surfxml_link_latency = 15;
4540 AX_surfxml_link_latency_file = 0;
4541 AX_surfxml_link_state = A_surfxml_link_state_ON;
4542 AX_surfxml_link_state_file = 0;
4543 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4544 ENTER(AL_surfxml_link); pushbuffer(0);
4549 /* rule 165 can match eol */
4551 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4554 /* rule 166 can match eol */
4556 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4559 /* rule 167 can match eol */
4561 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4564 /* rule 168 can match eol */
4566 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4569 /* rule 169 can match eol */
4571 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4574 /* rule 170 can match eol */
4576 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4579 /* rule 171 can match eol */
4581 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4584 /* rule 172 can match eol */
4586 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4589 /* rule 173 can match eol */
4591 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4594 /* rule 174 can match eol */
4596 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4599 /* rule 175 can match eol */
4601 /* rule 176 can match eol */
4603 A_surfxml_link_state = A_surfxml_link_state_ON;
4606 /* rule 177 can match eol */
4608 /* rule 178 can match eol */
4610 A_surfxml_link_state = A_surfxml_link_state_OFF;
4613 /* rule 179 can match eol */
4615 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4618 /* rule 180 can match eol */
4620 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4623 /* rule 181 can match eol */
4625 /* rule 182 can match eol */
4627 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4630 /* rule 183 can match eol */
4632 /* rule 184 can match eol */
4634 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4639 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4640 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4641 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4647 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4648 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4649 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4651 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4652 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4658 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4662 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4664 case YY_STATE_EOF(AL_surfxml_link):
4665 FAIL("EOF in attribute list of `link' element.");
4669 /* rule 189 can match eol */
4673 ETag_surfxml_link();
4674 popbuffer(); /* attribute */
4676 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4677 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4682 /* rule 190 can match eol */
4684 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4688 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4690 case YY_STATE_EOF(E_surfxml_link):
4691 case YY_STATE_EOF(S_surfxml_link_2):
4692 case YY_STATE_EOF(S_surfxml_link):
4693 FAIL("Premature EOF: `</link>' expected.");
4697 /* rule 192 can match eol */
4699 FAIL("Starting tag <route> is not allowed here.");
4702 /* rule 193 can match eol */
4705 AX_surfxml_route_src = 0;
4706 AX_surfxml_route_dst = 0;
4707 ENTER(AL_surfxml_route); pushbuffer(0);
4712 /* rule 194 can match eol */
4714 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4717 /* rule 195 can match eol */
4719 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4722 /* rule 196 can match eol */
4724 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4727 /* rule 197 can match eol */
4729 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4734 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4735 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4736 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
4742 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4743 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4744 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
4746 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;
4752 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
4756 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
4758 case YY_STATE_EOF(AL_surfxml_route):
4759 FAIL("EOF in attribute list of `route' element.");
4763 /* rule 202 can match eol */
4767 ETag_surfxml_route();
4768 popbuffer(); /* attribute */
4770 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;
4775 /* rule 203 can match eol */
4777 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
4781 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
4783 case YY_STATE_EOF(S_surfxml_route):
4784 case YY_STATE_EOF(S_surfxml_route_2):
4785 case YY_STATE_EOF(E_surfxml_route):
4786 FAIL("Premature EOF: `</route>' expected.");
4790 /* rule 205 can match eol */
4792 FAIL("Starting tag <ASroute> is not allowed here.");
4795 /* rule 206 can match eol */
4798 AX_surfxml_ASroute_src = 0;
4799 AX_surfxml_ASroute_dst = 0;
4800 AX_surfxml_ASroute_gw_src = 0;
4801 AX_surfxml_ASroute_gw_dst = 0;
4802 ENTER(AL_surfxml_ASroute); pushbuffer(0);
4807 /* rule 207 can match eol */
4809 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
4812 /* rule 208 can match eol */
4814 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
4817 /* rule 209 can match eol */
4819 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
4822 /* rule 210 can match eol */
4824 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
4827 /* rule 211 can match eol */
4829 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
4832 /* rule 212 can match eol */
4834 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
4837 /* rule 213 can match eol */
4839 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4842 /* rule 214 can match eol */
4844 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4849 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4850 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4851 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4852 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4853 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
4859 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4860 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4861 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4862 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4863 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
4865 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;
4871 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
4875 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
4877 case YY_STATE_EOF(AL_surfxml_ASroute):
4878 FAIL("EOF in attribute list of `ASroute' element.");
4882 /* rule 219 can match eol */
4886 ETag_surfxml_ASroute();
4887 popbuffer(); /* attribute */
4889 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;
4894 /* rule 220 can match eol */
4896 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
4900 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
4902 case YY_STATE_EOF(E_surfxml_ASroute):
4903 case YY_STATE_EOF(S_surfxml_ASroute):
4904 case YY_STATE_EOF(S_surfxml_ASroute_2):
4905 FAIL("Premature EOF: `</ASroute>' expected.");
4909 /* rule 222 can match eol */
4911 FAIL("Starting tag <link_ctn> is not allowed here.");
4914 /* rule 223 can match eol */
4917 AX_surfxml_link_ctn_id = 0;
4918 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
4923 /* rule 224 can match eol */
4925 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
4928 /* rule 225 can match eol */
4930 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
4935 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
4936 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
4942 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
4943 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
4945 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
4946 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
4947 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
4953 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
4957 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
4959 case YY_STATE_EOF(AL_surfxml_link_ctn):
4960 FAIL("EOF in attribute list of `link_ctn' element.");
4964 /* rule 230 can match eol */
4968 ETag_surfxml_link_ctn();
4969 popbuffer(); /* attribute */
4971 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
4972 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
4973 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
4978 /* rule 231 can match eol */
4980 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
4984 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
4986 case YY_STATE_EOF(E_surfxml_link_ctn):
4987 FAIL("Premature EOF: `</link_ctn>' expected.");
4991 /* rule 233 can match eol */
4993 FAIL("Starting tag <bypassRoute> is not allowed here.");
4996 /* rule 234 can match eol */
4999 AX_surfxml_bypassRoute_src = 0;
5000 AX_surfxml_bypassRoute_dst = 0;
5001 AX_surfxml_bypassRoute_gw_src = 0;
5002 AX_surfxml_bypassRoute_gw_dst = 0;
5003 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5008 /* rule 235 can match eol */
5010 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5013 /* rule 236 can match eol */
5015 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5018 /* rule 237 can match eol */
5020 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5023 /* rule 238 can match eol */
5025 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5028 /* rule 239 can match eol */
5030 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5033 /* rule 240 can match eol */
5035 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5038 /* rule 241 can match eol */
5040 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5043 /* rule 242 can match eol */
5045 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5050 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5051 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5052 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5053 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5054 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5060 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5061 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5062 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5063 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5064 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5066 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;
5072 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5076 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5078 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5079 FAIL("EOF in attribute list of `bypassRoute' element.");
5083 /* rule 247 can match eol */
5087 ETag_surfxml_bypassRoute();
5088 popbuffer(); /* attribute */
5090 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;
5095 /* rule 248 can match eol */
5097 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5101 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5103 case YY_STATE_EOF(S_surfxml_bypassRoute):
5104 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5105 case YY_STATE_EOF(E_surfxml_bypassRoute):
5106 FAIL("Premature EOF: `</bypassRoute>' expected.");
5110 /* rule 250 can match eol */
5112 FAIL("Starting tag <process> is not allowed here.");
5115 /* rule 251 can match eol */
5118 AX_surfxml_process_host = 0;
5119 AX_surfxml_process_function = 0;
5120 AX_surfxml_process_start_time = 19;
5121 AX_surfxml_process_kill_time = 24;
5122 ENTER(AL_surfxml_process); pushbuffer(0);
5127 /* rule 252 can match eol */
5129 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5132 /* rule 253 can match eol */
5134 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5137 /* rule 254 can match eol */
5139 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5142 /* rule 255 can match eol */
5144 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5147 /* rule 256 can match eol */
5149 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5152 /* rule 257 can match eol */
5154 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5157 /* rule 258 can match eol */
5159 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5162 /* rule 259 can match eol */
5164 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5169 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5170 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5171 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5177 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5178 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5179 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5181 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;
5187 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5191 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5193 case YY_STATE_EOF(AL_surfxml_process):
5194 FAIL("EOF in attribute list of `process' element.");
5198 /* rule 264 can match eol */
5202 ETag_surfxml_process();
5203 popbuffer(); /* attribute */
5205 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;
5210 /* rule 265 can match eol */
5212 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5216 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5218 case YY_STATE_EOF(E_surfxml_process):
5219 case YY_STATE_EOF(S_surfxml_process):
5220 case YY_STATE_EOF(S_surfxml_process_2):
5221 FAIL("Premature EOF: `</process>' expected.");
5225 /* rule 267 can match eol */
5227 FAIL("Starting tag <argument> is not allowed here.");
5230 /* rule 268 can match eol */
5233 AX_surfxml_argument_value = 0;
5234 ENTER(AL_surfxml_argument); pushbuffer(0);
5239 /* rule 269 can match eol */
5241 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5244 /* rule 270 can match eol */
5246 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5251 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5252 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5258 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5259 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5261 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5267 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5271 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5273 case YY_STATE_EOF(AL_surfxml_argument):
5274 FAIL("EOF in attribute list of `argument' element.");
5278 /* rule 275 can match eol */
5282 ETag_surfxml_argument();
5283 popbuffer(); /* attribute */
5285 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5290 /* rule 276 can match eol */
5292 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5296 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5298 case YY_STATE_EOF(E_surfxml_argument):
5299 FAIL("Premature EOF: `</argument>' expected.");
5303 /* rule 278 can match eol */
5305 FAIL("Starting tag <config> is not allowed here.");
5308 /* rule 279 can match eol */
5311 AX_surfxml_config_id = 0;
5312 ENTER(AL_surfxml_config); pushbuffer(0);
5317 /* rule 280 can match eol */
5319 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
5322 /* rule 281 can match eol */
5324 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
5329 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
5335 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
5337 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5343 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
5347 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
5349 case YY_STATE_EOF(AL_surfxml_config):
5350 FAIL("EOF in attribute list of `config' element.");
5354 /* rule 286 can match eol */
5358 ETag_surfxml_config();
5359 popbuffer(); /* attribute */
5361 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5366 /* rule 287 can match eol */
5368 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
5372 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
5374 case YY_STATE_EOF(S_surfxml_config):
5375 case YY_STATE_EOF(S_surfxml_config_2):
5376 case YY_STATE_EOF(E_surfxml_config):
5377 FAIL("Premature EOF: `</config>' expected.");
5380 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5381 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5383 /* rule 289 can match eol */
5385 FAIL("Starting tag <prop> is not allowed here.");
5388 /* rule 290 can match eol */
5391 AX_surfxml_prop_id = 0;
5392 AX_surfxml_prop_value = 0;
5393 ENTER(AL_surfxml_prop); pushbuffer(0);
5398 /* rule 291 can match eol */
5400 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5403 /* rule 292 can match eol */
5405 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5408 /* rule 293 can match eol */
5410 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5413 /* rule 294 can match eol */
5415 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5420 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5421 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5422 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5428 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5429 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5430 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5432 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5433 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5434 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5435 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5436 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5442 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5446 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5448 case YY_STATE_EOF(AL_surfxml_prop):
5449 FAIL("EOF in attribute list of `prop' element.");
5453 /* rule 299 can match eol */
5457 ETag_surfxml_prop();
5458 popbuffer(); /* attribute */
5460 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5461 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5462 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5463 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5464 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5469 /* rule 300 can match eol */
5471 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5475 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5477 case YY_STATE_EOF(E_surfxml_prop):
5478 FAIL("Premature EOF: `</prop>' expected.");
5481 /* EPILOG: after the root element. */
5485 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5487 case YY_STATE_EOF(EPILOG):
5491 /* CHARACTER DATA. */
5493 /* Non-defined standard entities... */
5514 /* Character entities. */
5517 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5521 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5525 /* rule 310 can match eol */
5527 /* rule 311 can match eol */
5529 /* rule 312 can match eol */
5531 /* rule 313 can match eol */
5542 FAIL("Unexpected `]""]>' in character data.");
5549 case YY_STATE_EOF(VALUE1):
5550 FAIL("EOF in literal (\"'\" expected).");
5557 case YY_STATE_EOF(VALUE2):
5558 FAIL("EOF in literal (`\"' expected).");
5562 /* rule 318 can match eol */
5564 BUFFERPUTC(surf_parse_text[0]);
5568 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5575 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5578 BUFFERPUTC(surf_parse_text[0]);
5580 case YY_STATE_EOF(CDATA):
5581 FAIL("EOF in CDATA section.");
5584 /* Impossible rules to avoid warnings from flex(1). */
5585 /* Ideally, this should be replaced by code in flexml.pl that
5586 generates just the states not covered by other rules. */
5589 /* rule 322 can match eol */
5591 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5598 case YY_STATE_EOF(INITIAL):
5599 case YY_STATE_EOF(ROOT_surfxml_platform):
5600 case YY_STATE_EOF(S_surfxml_platform_3):
5601 case YY_STATE_EOF(S_surfxml_platform_5):
5602 case YY_STATE_EOF(S_surfxml_random_1):
5603 case YY_STATE_EOF(S_surfxml_AS_2):
5604 case YY_STATE_EOF(S_surfxml_AS_5):
5605 case YY_STATE_EOF(S_surfxml_AS_7):
5606 case YY_STATE_EOF(S_surfxml_AS_10):
5607 case YY_STATE_EOF(S_surfxml_AS_12):
5608 case YY_STATE_EOF(S_surfxml_host_1):
5609 case YY_STATE_EOF(S_surfxml_link_1):
5610 case YY_STATE_EOF(S_surfxml_route_1):
5611 case YY_STATE_EOF(S_surfxml_ASroute_1):
5612 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5613 case YY_STATE_EOF(S_surfxml_process_1):
5614 case YY_STATE_EOF(S_surfxml_config_1):
5615 case YY_STATE_EOF(IMPOSSIBLE):
5618 case YY_END_OF_BUFFER:
5620 /* Amount of text matched not including the EOB char. */
5621 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5623 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5624 *yy_cp = (yy_hold_char);
5625 YY_RESTORE_YY_MORE_OFFSET
5627 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5629 /* We're scanning a new file or input source. It's
5630 * possible that this happened because the user
5631 * just pointed surf_parse_in at a new source and called
5632 * surf_parse_lex(). If so, then we have to assure
5633 * consistency between YY_CURRENT_BUFFER and our
5634 * globals. Here is the right place to do so, because
5635 * this is the first action (other than possibly a
5636 * back-up) that will match for the new input source.
5638 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5639 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5640 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5643 /* Note that here we test for yy_c_buf_p "<=" to the position
5644 * of the first EOB in the buffer, since yy_c_buf_p will
5645 * already have been incremented past the NUL character
5646 * (since all states make transitions on EOB to the
5647 * end-of-buffer state). Contrast this with the test
5650 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5651 { /* This was really a NUL. */
5652 yy_state_type yy_next_state;
5654 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5656 yy_current_state = yy_get_previous_state( );
5658 /* Okay, we're now positioned to make the NUL
5659 * transition. We couldn't have
5660 * yy_get_previous_state() go ahead and do it
5661 * for us because it doesn't know how to deal
5662 * with the possibility of jamming (and we don't
5663 * want to build jamming into it because then it
5664 * will run more slowly).
5667 yy_next_state = yy_try_NUL_trans( yy_current_state );
5669 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5671 if ( yy_next_state )
5673 /* Consume the NUL. */
5674 yy_cp = ++(yy_c_buf_p);
5675 yy_current_state = yy_next_state;
5681 yy_cp = (yy_c_buf_p);
5682 goto yy_find_action;
5686 else switch ( yy_get_next_buffer( ) )
5688 case EOB_ACT_END_OF_FILE:
5690 (yy_did_buffer_switch_on_eof) = 0;
5692 if ( surf_parse_wrap( ) )
5694 /* Note: because we've taken care in
5695 * yy_get_next_buffer() to have set up
5696 * surf_parse_text, we can now set up
5697 * yy_c_buf_p so that if some total
5698 * hoser (like flex itself) wants to
5699 * call the scanner after we return the
5700 * YY_NULL, it'll still work - another
5701 * YY_NULL will get returned.
5703 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5705 yy_act = YY_STATE_EOF(YY_START);
5711 if ( ! (yy_did_buffer_switch_on_eof) )
5717 case EOB_ACT_CONTINUE_SCAN:
5719 (yytext_ptr) + yy_amount_of_matched_text;
5721 yy_current_state = yy_get_previous_state( );
5723 yy_cp = (yy_c_buf_p);
5724 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5727 case EOB_ACT_LAST_MATCH:
5729 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5731 yy_current_state = yy_get_previous_state( );
5733 yy_cp = (yy_c_buf_p);
5734 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5735 goto yy_find_action;
5742 "fatal flex scanner internal error--no action found" );
5743 } /* end of action switch */
5744 } /* end of scanning one token */
5745 } /* end of surf_parse_lex */
5747 /* yy_get_next_buffer - try to read in a new buffer
5749 * Returns a code representing an action:
5750 * EOB_ACT_LAST_MATCH -
5751 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5752 * EOB_ACT_END_OF_FILE - end of file
5754 static int yy_get_next_buffer (void)
5756 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5757 register char *source = (yytext_ptr);
5758 register int number_to_move, i;
5761 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5763 "fatal flex scanner internal error--end of buffer missed" );
5765 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5766 { /* Don't try to fill the buffer, so this is an EOF. */
5767 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5769 /* We matched a single character, the EOB, so
5770 * treat this as a final EOF.
5772 return EOB_ACT_END_OF_FILE;
5777 /* We matched some text prior to the EOB, first
5780 return EOB_ACT_LAST_MATCH;
5784 /* Try to read more data. */
5786 /* First move last chars to start of buffer. */
5787 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5789 for ( i = 0; i < number_to_move; ++i )
5790 *(dest++) = *(source++);
5792 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5793 /* don't do the read, it's not guaranteed to return an EOF,
5796 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5801 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5803 while ( num_to_read <= 0 )
5804 { /* Not enough room in the buffer - grow it. */
5806 /* just a shorter name for the current buffer */
5807 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5809 int yy_c_buf_p_offset =
5810 (int) ((yy_c_buf_p) - b->yy_ch_buf);
5812 if ( b->yy_is_our_buffer )
5814 int new_size = b->yy_buf_size * 2;
5816 if ( new_size <= 0 )
5817 b->yy_buf_size += b->yy_buf_size / 8;
5819 b->yy_buf_size *= 2;
5821 b->yy_ch_buf = (char *)
5822 /* Include room in for 2 EOB chars. */
5823 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
5826 /* Can't grow it, we don't own it. */
5829 if ( ! b->yy_ch_buf )
5831 "fatal error - scanner input buffer overflow" );
5833 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5835 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5840 if ( num_to_read > YY_READ_BUF_SIZE )
5841 num_to_read = YY_READ_BUF_SIZE;
5843 /* Read in more data. */
5844 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5845 (yy_n_chars), (size_t) num_to_read );
5847 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5850 if ( (yy_n_chars) == 0 )
5852 if ( number_to_move == YY_MORE_ADJ )
5854 ret_val = EOB_ACT_END_OF_FILE;
5855 surf_parse_restart(surf_parse_in );
5860 ret_val = EOB_ACT_LAST_MATCH;
5861 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5862 YY_BUFFER_EOF_PENDING;
5867 ret_val = EOB_ACT_CONTINUE_SCAN;
5869 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5870 /* Extend the array by 50%, plus the number we really need. */
5871 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5872 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
5873 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
5874 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
5877 (yy_n_chars) += number_to_move;
5878 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5879 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5881 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5886 /* yy_get_previous_state - get the state just before the EOB char was reached */
5888 static yy_state_type yy_get_previous_state (void)
5890 register yy_state_type yy_current_state;
5891 register char *yy_cp;
5893 yy_current_state = (yy_start);
5895 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5897 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5898 if ( yy_accept[yy_current_state] )
5900 (yy_last_accepting_state) = yy_current_state;
5901 (yy_last_accepting_cpos) = yy_cp;
5903 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5905 yy_current_state = (int) yy_def[yy_current_state];
5906 if ( yy_current_state >= 1800 )
5907 yy_c = yy_meta[(unsigned int) yy_c];
5909 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5912 return yy_current_state;
5915 /* yy_try_NUL_trans - try to make a transition on the NUL character
5918 * next_state = yy_try_NUL_trans( current_state );
5920 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
5922 register int yy_is_jam;
5923 register char *yy_cp = (yy_c_buf_p);
5925 register YY_CHAR yy_c = 1;
5926 if ( yy_accept[yy_current_state] )
5928 (yy_last_accepting_state) = yy_current_state;
5929 (yy_last_accepting_cpos) = yy_cp;
5931 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5933 yy_current_state = (int) yy_def[yy_current_state];
5934 if ( yy_current_state >= 1800 )
5935 yy_c = yy_meta[(unsigned int) yy_c];
5937 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5938 yy_is_jam = (yy_current_state == 1799);
5940 return yy_is_jam ? 0 : yy_current_state;
5945 static int yyinput (void)
5947 static int input (void)
5953 *(yy_c_buf_p) = (yy_hold_char);
5955 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
5957 /* yy_c_buf_p now points to the character we want to return.
5958 * If this occurs *before* the EOB characters, then it's a
5959 * valid NUL; if not, then we've hit the end of the buffer.
5961 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5962 /* This was really a NUL. */
5963 *(yy_c_buf_p) = '\0';
5966 { /* need more input */
5967 int offset = (yy_c_buf_p) - (yytext_ptr);
5970 switch ( yy_get_next_buffer( ) )
5972 case EOB_ACT_LAST_MATCH:
5973 /* This happens because yy_g_n_b()
5974 * sees that we've accumulated a
5975 * token and flags that we need to
5976 * try matching the token before
5977 * proceeding. But for input(),
5978 * there's no matching to consider.
5979 * So convert the EOB_ACT_LAST_MATCH
5980 * to EOB_ACT_END_OF_FILE.
5983 /* Reset buffer status. */
5984 surf_parse_restart(surf_parse_in );
5988 case EOB_ACT_END_OF_FILE:
5990 if ( surf_parse_wrap( ) )
5993 if ( ! (yy_did_buffer_switch_on_eof) )
6002 case EOB_ACT_CONTINUE_SCAN:
6003 (yy_c_buf_p) = (yytext_ptr) + offset;
6009 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6010 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6011 (yy_hold_char) = *++(yy_c_buf_p);
6015 surf_parse_lineno++;
6020 #endif /* ifndef YY_NO_INPUT */
6022 /** Immediately switch to a different input stream.
6023 * @param input_file A readable stream.
6025 * @note This function does not reset the start condition to @c INITIAL .
6027 void surf_parse_restart (FILE * input_file )
6030 if ( ! YY_CURRENT_BUFFER ){
6031 surf_parse_ensure_buffer_stack ();
6032 YY_CURRENT_BUFFER_LVALUE =
6033 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6036 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6037 surf_parse__load_buffer_state( );
6040 /** Switch to a different input buffer.
6041 * @param new_buffer The new input buffer.
6044 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6047 /* TODO. We should be able to replace this entire function body
6049 * surf_parse_pop_buffer_state();
6050 * surf_parse_push_buffer_state(new_buffer);
6052 surf_parse_ensure_buffer_stack ();
6053 if ( YY_CURRENT_BUFFER == new_buffer )
6056 if ( YY_CURRENT_BUFFER )
6058 /* Flush out information for old buffer. */
6059 *(yy_c_buf_p) = (yy_hold_char);
6060 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6061 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6064 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6065 surf_parse__load_buffer_state( );
6067 /* We don't actually know whether we did this switch during
6068 * EOF (surf_parse_wrap()) processing, but the only time this flag
6069 * is looked at is after surf_parse_wrap() is called, so it's safe
6070 * to go ahead and always set it.
6072 (yy_did_buffer_switch_on_eof) = 1;
6075 static void surf_parse__load_buffer_state (void)
6077 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6078 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6079 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6080 (yy_hold_char) = *(yy_c_buf_p);
6083 /** Allocate and initialize an input buffer state.
6084 * @param file A readable stream.
6085 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6087 * @return the allocated buffer state.
6089 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6093 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6095 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6097 b->yy_buf_size = size;
6099 /* yy_ch_buf has to be 2 characters longer than the size given because
6100 * we need to put in 2 end-of-buffer characters.
6102 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6103 if ( ! b->yy_ch_buf )
6104 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6106 b->yy_is_our_buffer = 1;
6108 surf_parse__init_buffer(b,file );
6113 /** Destroy the buffer.
6114 * @param b a buffer created with surf_parse__create_buffer()
6117 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6123 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6124 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6126 if ( b->yy_is_our_buffer )
6127 surf_parse_free((void *) b->yy_ch_buf );
6129 surf_parse_free((void *) b );
6133 extern int isatty (int );
6134 #endif /* __cplusplus */
6136 /* Initializes or reinitializes a buffer.
6137 * This function is sometimes called more than once on the same buffer,
6138 * such as during a surf_parse_restart() or at EOF.
6140 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6145 surf_parse__flush_buffer(b );
6147 b->yy_input_file = file;
6148 b->yy_fill_buffer = 1;
6150 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6151 * called from surf_parse_restart() or through yy_get_next_buffer.
6152 * In that case, we don't want to reset the lineno or column.
6154 if (b != YY_CURRENT_BUFFER){
6155 b->yy_bs_lineno = 1;
6156 b->yy_bs_column = 0;
6159 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6164 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6165 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6168 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6175 /* We always need two end-of-buffer characters. The first causes
6176 * a transition to the end-of-buffer state. The second causes
6177 * a jam in that state.
6179 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6180 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6182 b->yy_buf_pos = &b->yy_ch_buf[0];
6185 b->yy_buffer_status = YY_BUFFER_NEW;
6187 if ( b == YY_CURRENT_BUFFER )
6188 surf_parse__load_buffer_state( );
6191 /** Pushes the new state onto the stack. The new state becomes
6192 * the current state. This function will allocate the stack
6194 * @param new_buffer The new state.
6197 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6199 if (new_buffer == NULL)
6202 surf_parse_ensure_buffer_stack();
6204 /* This block is copied from surf_parse__switch_to_buffer. */
6205 if ( YY_CURRENT_BUFFER )
6207 /* Flush out information for old buffer. */
6208 *(yy_c_buf_p) = (yy_hold_char);
6209 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6210 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6213 /* Only push if top exists. Otherwise, replace top. */
6214 if (YY_CURRENT_BUFFER)
6215 (yy_buffer_stack_top)++;
6216 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6218 /* copied from surf_parse__switch_to_buffer. */
6219 surf_parse__load_buffer_state( );
6220 (yy_did_buffer_switch_on_eof) = 1;
6223 /** Removes and deletes the top of the stack, if present.
6224 * The next element becomes the new top.
6227 void surf_parse_pop_buffer_state (void)
6229 if (!YY_CURRENT_BUFFER)
6232 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6233 YY_CURRENT_BUFFER_LVALUE = NULL;
6234 if ((yy_buffer_stack_top) > 0)
6235 --(yy_buffer_stack_top);
6237 if (YY_CURRENT_BUFFER) {
6238 surf_parse__load_buffer_state( );
6239 (yy_did_buffer_switch_on_eof) = 1;
6243 /* Allocates the stack if it does not exist.
6244 * Guarantees space for at least one push.
6246 static void surf_parse_ensure_buffer_stack (void)
6250 if (!(yy_buffer_stack)) {
6252 /* First allocation is just for 2 elements, since we don't know if this
6253 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6254 * immediate realloc on the next call.
6257 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6258 (num_to_alloc * sizeof(struct yy_buffer_state*)
6260 if ( ! (yy_buffer_stack) )
6261 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6263 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6265 (yy_buffer_stack_max) = num_to_alloc;
6266 (yy_buffer_stack_top) = 0;
6270 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6272 /* Increase the buffer to prepare for a possible push. */
6273 int grow_size = 8 /* arbitrary grow size */;
6275 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6276 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6278 num_to_alloc * sizeof(struct yy_buffer_state*)
6280 if ( ! (yy_buffer_stack) )
6281 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6283 /* zero only the new slots.*/
6284 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6285 (yy_buffer_stack_max) = num_to_alloc;
6289 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6290 * @param base the character buffer
6291 * @param size the size in bytes of the character buffer
6293 * @return the newly allocated buffer state object.
6295 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6300 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6301 base[size-1] != YY_END_OF_BUFFER_CHAR )
6302 /* They forgot to leave room for the EOB's. */
6305 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6307 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6309 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6310 b->yy_buf_pos = b->yy_ch_buf = base;
6311 b->yy_is_our_buffer = 0;
6312 b->yy_input_file = 0;
6313 b->yy_n_chars = b->yy_buf_size;
6314 b->yy_is_interactive = 0;
6316 b->yy_fill_buffer = 0;
6317 b->yy_buffer_status = YY_BUFFER_NEW;
6319 surf_parse__switch_to_buffer(b );
6324 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6325 * scan from a @e copy of @a str.
6326 * @param yystr a NUL-terminated string to scan
6328 * @return the newly allocated buffer state object.
6329 * @note If you want to scan bytes that may contain NUL values, then use
6330 * surf_parse__scan_bytes() instead.
6332 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6335 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6338 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6339 * scan from a @e copy of @a bytes.
6340 * @param yybytes the byte buffer to scan
6341 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6343 * @return the newly allocated buffer state object.
6345 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6352 /* Get memory for full buffer, including space for trailing EOB's. */
6353 n = _yybytes_len + 2;
6354 buf = (char *) surf_parse_alloc(n );
6356 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6358 for ( i = 0; i < _yybytes_len; ++i )
6359 buf[i] = yybytes[i];
6361 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6363 b = surf_parse__scan_buffer(buf,n );
6365 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6367 /* It's okay to grow etc. this buffer, and we should throw it
6368 * away when we're done.
6370 b->yy_is_our_buffer = 1;
6375 static void yy_push_state (int new_state )
6377 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6381 (yy_start_stack_depth) += YY_START_STACK_INCR;
6382 new_size = (yy_start_stack_depth) * sizeof( int );
6384 if ( ! (yy_start_stack) )
6385 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6388 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6390 if ( ! (yy_start_stack) )
6391 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6394 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6399 static void yy_pop_state (void)
6401 if ( --(yy_start_stack_ptr) < 0 )
6402 YY_FATAL_ERROR( "start-condition stack underflow" );
6404 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6407 #ifndef YY_EXIT_FAILURE
6408 #define YY_EXIT_FAILURE 2
6411 static void yy_fatal_error (yyconst char* msg )
6413 (void) fprintf( stderr, "%s\n", msg );
6414 exit( YY_EXIT_FAILURE );
6417 /* Redefine yyless() so it works in section 3 code. */
6423 /* Undo effects of setting up surf_parse_text. */ \
6424 int yyless_macro_arg = (n); \
6425 YY_LESS_LINENO(yyless_macro_arg);\
6426 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6427 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6428 (yy_hold_char) = *(yy_c_buf_p); \
6429 *(yy_c_buf_p) = '\0'; \
6430 surf_parse_leng = yyless_macro_arg; \
6434 /* Accessor methods (get/set functions) to struct members. */
6436 /** Get the current line number.
6439 int surf_parse_get_lineno (void)
6442 return surf_parse_lineno;
6445 /** Get the input stream.
6448 FILE *surf_parse_get_in (void)
6450 return surf_parse_in;
6453 /** Get the output stream.
6456 FILE *surf_parse_get_out (void)
6458 return surf_parse_out;
6461 /** Get the length of the current token.
6464 int surf_parse_get_leng (void)
6466 return surf_parse_leng;
6469 /** Get the current token.
6473 char *surf_parse_get_text (void)
6475 return surf_parse_text;
6478 /** Set the current line number.
6479 * @param line_number
6482 void surf_parse_set_lineno (int line_number )
6485 surf_parse_lineno = line_number;
6488 /** Set the input stream. This does not discard the current
6490 * @param in_str A readable stream.
6492 * @see surf_parse__switch_to_buffer
6494 void surf_parse_set_in (FILE * in_str )
6496 surf_parse_in = in_str ;
6499 void surf_parse_set_out (FILE * out_str )
6501 surf_parse_out = out_str ;
6504 int surf_parse_get_debug (void)
6506 return surf_parse__flex_debug;
6509 void surf_parse_set_debug (int bdebug )
6511 surf_parse__flex_debug = bdebug ;
6514 static int yy_init_globals (void)
6516 /* Initialization is the same as for the non-reentrant scanner.
6517 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6520 /* We do not touch surf_parse_lineno unless the option is enabled. */
6521 surf_parse_lineno = 1;
6523 (yy_buffer_stack) = 0;
6524 (yy_buffer_stack_top) = 0;
6525 (yy_buffer_stack_max) = 0;
6526 (yy_c_buf_p) = (char *) 0;
6530 (yy_start_stack_ptr) = 0;
6531 (yy_start_stack_depth) = 0;
6532 (yy_start_stack) = NULL;
6534 /* Defined in main.c */
6536 surf_parse_in = stdin;
6537 surf_parse_out = stdout;
6539 surf_parse_in = (FILE *) 0;
6540 surf_parse_out = (FILE *) 0;
6543 /* For future reference: Set errno on error, since we are called by
6544 * surf_parse_lex_init()
6549 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6550 int surf_parse_lex_destroy (void)
6553 /* Pop the buffer stack, destroying each element. */
6554 while(YY_CURRENT_BUFFER){
6555 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6556 YY_CURRENT_BUFFER_LVALUE = NULL;
6557 surf_parse_pop_buffer_state();
6560 /* Destroy the stack itself. */
6561 surf_parse_free((yy_buffer_stack) );
6562 (yy_buffer_stack) = NULL;
6564 /* Destroy the start condition stack. */
6565 surf_parse_free((yy_start_stack) );
6566 (yy_start_stack) = NULL;
6568 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6569 * surf_parse_lex() is called, initialization will occur. */
6576 * Internal utility routines.
6580 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6583 for ( i = 0; i < n; ++i )
6588 #ifdef YY_NEED_STRLEN
6589 static int yy_flex_strlen (yyconst char * s )
6592 for ( n = 0; s[n]; ++n )
6599 void *surf_parse_alloc (yy_size_t size )
6601 return (void *) malloc( size );
6604 void *surf_parse_realloc (void * ptr, yy_size_t size )
6606 /* The cast to (char *) in the following accommodates both
6607 * implementations that use char* generic pointers, and those
6608 * that use void* generic pointers. It works with the latter
6609 * because both ANSI C and C++ allow castless assignment from
6610 * any pointer type to void*, and deal with argument conversions
6611 * as though doing an assignment.
6613 return (void *) realloc( (char *) ptr, size );
6616 void surf_parse_free (void * ptr )
6618 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6621 #define YYTABLES_NAME "yytables"
6623 /* Element context stack lookup. */
6624 int surfxml_element_context(int i)
6626 return (0<i && i<yy_start_stack_depth
6627 ? yy_start_stack[yy_start_stack_ptr - i]
6632 void print_yy_stack(char* fmt, ...)
6634 int i = 0; va_list ap; va_start(ap, fmt);
6635 vfprintf(stderr, fmt, ap);
6636 if (surfxml_statenames) {
6637 for (i=1; i<yy_start_stack_ptr; i++) {
6638 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6640 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6645 void print_surfxml_bufferstack()
6648 fputs("Buffer: ", stderr);
6649 for (i = 0; i < blimit; i++) {
6650 if ( surfxml_bufferstack[i] == '\377' ) break;
6651 putc(surfxml_bufferstack[i], stderr);
6656 static void debug_enter(int state, const char* statename) {
6657 yy_push_state(state);
6658 if (surf_parse__flex_debug) {
6659 print_yy_stack("--ENTER(%s) : ",statename);
6660 print_surfxml_bufferstack();
6664 static void debug_leave(void) {
6665 if (surf_parse__flex_debug) {
6666 print_yy_stack("--LEAVE : ");
6667 print_surfxml_bufferstack();
6672 static void debug_set(int state, const char* statename) {
6674 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6678 static void cleanup(void)
6680 if (surfxml_statenames) {
6681 free(surfxml_statenames);
6682 surfxml_statenames = NULL;
6684 free(surfxml_bufferstack);
6685 surfxml_bufferstack = NULL;
6691 static int fail(const char* fmt, ...)
6693 int chars_left, used;
6694 va_list ap; va_start(ap, fmt);
6695 #ifdef FLEXML_yylineno
6696 used = sprintf(flexml_err_msg,
6697 "Invalid XML (XML input line %d, state %d): ",
6698 surf_parse_lineno, YY_START);
6700 used = sprintf(flexml_err_msg,
6701 "Invalid XML (state %d): ",
6704 chars_left = flexml_max_err_msg_size - used - 1;
6705 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6708 #ifndef FLEXML_quiet_parser
6709 /* print directly to sdterr */
6710 fprintf(stderr, "%s\n", flexml_err_msg);
6711 flexml_err_msg[0] = '\0';