1 #line 2 "scanner.c" 2 3 #line 4 "scanner.c" 4 5 #define YY_INT_ALIGNED short int 6 7 /* A lexical scanner generated by flex */ 8 9 #define yy_create_buffer pcap__create_buffer 10 #define yy_delete_buffer pcap__delete_buffer 11 #define yy_flex_debug pcap__flex_debug 12 #define yy_init_buffer pcap__init_buffer 13 #define yy_flush_buffer pcap__flush_buffer 14 #define yy_load_buffer_state pcap__load_buffer_state 15 #define yy_switch_to_buffer pcap__switch_to_buffer 16 #define yyin pcap_in 17 #define yyleng pcap_leng 18 #define yylex pcap_lex 19 #define yylineno pcap_lineno 20 #define yyout pcap_out 21 #define yyrestart pcap_restart 22 #define yytext pcap_text 23 #define yywrap pcap_wrap 24 #define yyalloc pcap_alloc 25 #define yyrealloc pcap_realloc 26 #define yyfree pcap_free 27 28 #define FLEX_SCANNER 29 #define YY_FLEX_MAJOR_VERSION 2 30 #define YY_FLEX_MINOR_VERSION 5 31 #define YY_FLEX_SUBMINOR_VERSION 35 32 #if YY_FLEX_SUBMINOR_VERSION > 0 33 #define FLEX_BETA 34 #endif 35 36 /* First, we deal with platform-specific or compiler-specific issues. */ 37 38 /* begin standard C headers. */ 39 #include <stdio.h> 40 #include <string.h> 41 #include <errno.h> 42 #include <stdlib.h> 43 44 /* end standard C headers. */ 45 46 /* flex integer type definitions */ 47 48 #ifndef FLEXINT_H 49 #define FLEXINT_H 50 51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 52 53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 54 55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 56 * if you want the limit (max/min) macros for int types. 57 */ 58 #ifndef __STDC_LIMIT_MACROS 59 #define __STDC_LIMIT_MACROS 1 60 #endif 61 62 #include <inttypes.h> 63 typedef int8_t flex_int8_t; 64 typedef uint8_t flex_uint8_t; 65 typedef int16_t flex_int16_t; 66 typedef uint16_t flex_uint16_t; 67 typedef int32_t flex_int32_t; 68 typedef uint32_t flex_uint32_t; 69 #else 70 typedef signed char flex_int8_t; 71 typedef short int flex_int16_t; 72 typedef int flex_int32_t; 73 typedef unsigned char flex_uint8_t; 74 typedef unsigned short int flex_uint16_t; 75 typedef unsigned int flex_uint32_t; 76 77 /* Limits of integral types. */ 78 #ifndef INT8_MIN 79 #define INT8_MIN (-128) 80 #endif 81 #ifndef INT16_MIN 82 #define INT16_MIN (-32767-1) 83 #endif 84 #ifndef INT32_MIN 85 #define INT32_MIN (-2147483647-1) 86 #endif 87 #ifndef INT8_MAX 88 #define INT8_MAX (127) 89 #endif 90 #ifndef INT16_MAX 91 #define INT16_MAX (32767) 92 #endif 93 #ifndef INT32_MAX 94 #define INT32_MAX (2147483647) 95 #endif 96 #ifndef UINT8_MAX 97 #define UINT8_MAX (255U) 98 #endif 99 #ifndef UINT16_MAX 100 #define UINT16_MAX (65535U) 101 #endif 102 #ifndef UINT32_MAX 103 #define UINT32_MAX (4294967295U) 104 #endif 105 106 #endif /* ! C99 */ 107 108 #endif /* ! FLEXINT_H */ 109 110 #ifdef __cplusplus 111 112 /* The "const" storage-class-modifier is valid. */ 113 #define YY_USE_CONST 114 115 #else /* ! __cplusplus */ 116 117 /* C99 requires __STDC__ to be defined as 1. */ 118 #if defined (__STDC__) 119 120 #define YY_USE_CONST 121 122 #endif /* defined (__STDC__) */ 123 #endif /* ! __cplusplus */ 124 125 #ifdef YY_USE_CONST 126 #define yyconst const 127 #else 128 #define yyconst 129 #endif 130 131 /* Returned upon end-of-file. */ 132 #define YY_NULL 0 133 134 /* Promotes a possibly negative, possibly signed char to an unsigned 135 * integer for use as an array index. If the signed char is negative, 136 * we want to instead treat it as an 8-bit unsigned char, hence the 137 * double cast. 138 */ 139 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 140 141 /* Enter a start condition. This macro really ought to take a parameter, 142 * but we do it the disgusting crufty way forced on us by the ()-less 143 * definition of BEGIN. 144 */ 145 #define BEGIN (yy_start) = 1 + 2 * 146 147 /* Translate the current start state into a value that can be later handed 148 * to BEGIN to return to the state. The YYSTATE alias is for lex 149 * compatibility. 150 */ 151 #define YY_START (((yy_start) - 1) / 2) 152 #define YYSTATE YY_START 153 154 /* Action number for EOF rule of a given start state. */ 155 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 156 157 /* Special action meaning "start processing a new file". */ 158 #define YY_NEW_FILE pcap_restart(pcap_in ) 159 160 #define YY_END_OF_BUFFER_CHAR 0 161 162 /* Size of default input buffer. */ 163 #ifndef YY_BUF_SIZE 164 #ifdef __ia64__ 165 /* On IA-64, the buffer size is 16k, not 8k. 166 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 167 * Ditto for the __ia64__ case accordingly. 168 */ 169 #define YY_BUF_SIZE 32768 170 #else 171 #define YY_BUF_SIZE 16384 172 #endif /* __ia64__ */ 173 #endif 174 175 /* The state buf must be large enough to hold one state per character in the main buffer. 176 */ 177 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 178 179 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 180 #define YY_TYPEDEF_YY_BUFFER_STATE 181 typedef struct yy_buffer_state *YY_BUFFER_STATE; 182 #endif 183 184 extern int pcap_leng; 185 186 extern FILE *pcap_in, *pcap_out; 187 188 #define EOB_ACT_CONTINUE_SCAN 0 189 #define EOB_ACT_END_OF_FILE 1 190 #define EOB_ACT_LAST_MATCH 2 191 192 #define YY_LESS_LINENO(n) 193 194 /* Return all but the first "n" matched characters back to the input stream. */ 195 #define yyless(n) \ 196 do \ 197 { \ 198 /* Undo effects of setting up pcap_text. */ \ 199 int yyless_macro_arg = (n); \ 200 YY_LESS_LINENO(yyless_macro_arg);\ 201 *yy_cp = (yy_hold_char); \ 202 YY_RESTORE_YY_MORE_OFFSET \ 203 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 204 YY_DO_BEFORE_ACTION; /* set up pcap_text again */ \ 205 } \ 206 while ( 0 ) 207 208 #define unput(c) yyunput( c, (yytext_ptr) ) 209 210 #ifndef YY_TYPEDEF_YY_SIZE_T 211 #define YY_TYPEDEF_YY_SIZE_T 212 typedef size_t yy_size_t; 213 #endif 214 215 #ifndef YY_STRUCT_YY_BUFFER_STATE 216 #define YY_STRUCT_YY_BUFFER_STATE 217 struct yy_buffer_state 218 { 219 FILE *yy_input_file; 220 221 char *yy_ch_buf; /* input buffer */ 222 char *yy_buf_pos; /* current position in input buffer */ 223 224 /* Size of input buffer in bytes, not including room for EOB 225 * characters. 226 */ 227 yy_size_t yy_buf_size; 228 229 /* Number of characters read into yy_ch_buf, not including EOB 230 * characters. 231 */ 232 int yy_n_chars; 233 234 /* Whether we "own" the buffer - i.e., we know we created it, 235 * and can realloc() it to grow it, and should free() it to 236 * delete it. 237 */ 238 int yy_is_our_buffer; 239 240 /* Whether this is an "interactive" input source; if so, and 241 * if we're using stdio for input, then we want to use getc() 242 * instead of fread(), to make sure we stop fetching input after 243 * each newline. 244 */ 245 int yy_is_interactive; 246 247 /* Whether we're considered to be at the beginning of a line. 248 * If so, '^' rules will be active on the next match, otherwise 249 * not. 250 */ 251 int yy_at_bol; 252 253 int yy_bs_lineno; /**< The line count. */ 254 int yy_bs_column; /**< The column count. */ 255 256 /* Whether to try to fill the input buffer when we reach the 257 * end of it. 258 */ 259 int yy_fill_buffer; 260 261 int yy_buffer_status; 262 263 #define YY_BUFFER_NEW 0 264 #define YY_BUFFER_NORMAL 1 265 /* When an EOF's been seen but there's still some text to process 266 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 267 * shouldn't try reading from the input source any more. We might 268 * still have a bunch of tokens to match, though, because of 269 * possible backing-up. 270 * 271 * When we actually see the EOF, we change the status to "new" 272 * (via pcap_restart()), so that the user can continue scanning by 273 * just pointing pcap_in at a new input file. 274 */ 275 #define YY_BUFFER_EOF_PENDING 2 276 277 }; 278 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 279 280 /* Stack of input buffers. */ 281 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 282 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 283 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 284 285 /* We provide macros for accessing buffer states in case in the 286 * future we want to put the buffer states in a more general 287 * "scanner state". 288 * 289 * Returns the top of the stack, or NULL. 290 */ 291 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 292 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 293 : NULL) 294 295 /* Same as previous macro, but useful when we know that the buffer stack is not 296 * NULL or when we need an lvalue. For internal use only. 297 */ 298 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 299 300 /* yy_hold_char holds the character lost when pcap_text is formed. */ 301 static char yy_hold_char; 302 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 303 int pcap_leng; 304 305 /* Points to current character in buffer. */ 306 static char *yy_c_buf_p = (char *) 0; 307 static int yy_init = 0; /* whether we need to initialize */ 308 static int yy_start = 0; /* start state number */ 309 310 /* Flag which is used to allow pcap_wrap()'s to do buffer switches 311 * instead of setting up a fresh pcap_in. A bit of a hack ... 312 */ 313 static int yy_did_buffer_switch_on_eof; 314 315 void pcap_restart (FILE *input_file ); 316 void pcap__switch_to_buffer (YY_BUFFER_STATE new_buffer ); 317 YY_BUFFER_STATE pcap__create_buffer (FILE *file,int size ); 318 void pcap__delete_buffer (YY_BUFFER_STATE b ); 319 void pcap__flush_buffer (YY_BUFFER_STATE b ); 320 void pcap_push_buffer_state (YY_BUFFER_STATE new_buffer ); 321 void pcap_pop_buffer_state (void ); 322 323 static void pcap_ensure_buffer_stack (void ); 324 static void pcap__load_buffer_state (void ); 325 static void pcap__init_buffer (YY_BUFFER_STATE b,FILE *file ); 326 327 #define YY_FLUSH_BUFFER pcap__flush_buffer(YY_CURRENT_BUFFER ) 328 329 YY_BUFFER_STATE pcap__scan_buffer (char *base,yy_size_t size ); 330 YY_BUFFER_STATE pcap__scan_string (yyconst char *yy_str ); 331 YY_BUFFER_STATE pcap__scan_bytes (yyconst char *bytes,int len ); 332 333 void *pcap_alloc (yy_size_t ); 334 void *pcap_realloc (void *,yy_size_t ); 335 void pcap_free (void * ); 336 337 #define yy_new_buffer pcap__create_buffer 338 339 #define yy_set_interactive(is_interactive) \ 340 { \ 341 if ( ! YY_CURRENT_BUFFER ){ \ 342 pcap_ensure_buffer_stack (); \ 343 YY_CURRENT_BUFFER_LVALUE = \ 344 pcap__create_buffer(pcap_in,YY_BUF_SIZE ); \ 345 } \ 346 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 347 } 348 349 #define yy_set_bol(at_bol) \ 350 { \ 351 if ( ! YY_CURRENT_BUFFER ){\ 352 pcap_ensure_buffer_stack (); \ 353 YY_CURRENT_BUFFER_LVALUE = \ 354 pcap__create_buffer(pcap_in,YY_BUF_SIZE ); \ 355 } \ 356 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 357 } 358 359 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 360 361 /* Begin user sect3 */ 362 363 typedef unsigned char YY_CHAR; 364 365 FILE *pcap_in = (FILE *) 0, *pcap_out = (FILE *) 0; 366 367 typedef int yy_state_type; 368 369 extern int pcap_lineno; 370 371 int pcap_lineno = 1; 372 373 extern char *pcap_text; 374 #define yytext_ptr pcap_text 375 376 static yy_state_type yy_get_previous_state (void ); 377 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 378 static int yy_get_next_buffer (void ); 379 static void yy_fatal_error (yyconst char msg[] ); 380 381 /* Done after the current pattern has been matched and before the 382 * corresponding action - sets up pcap_text. 383 */ 384 #define YY_DO_BEFORE_ACTION \ 385 (yytext_ptr) = yy_bp; \ 386 pcap_leng = (size_t) (yy_cp - yy_bp); \ 387 (yy_hold_char) = *yy_cp; \ 388 *yy_cp = '\0'; \ 389 (yy_c_buf_p) = yy_cp; 390 391 #define YY_NUM_RULES 154 392 #define YY_END_OF_BUFFER 155 393 /* This struct is not used in this scanner, 394 but its presence is necessary. */ 395 struct yy_trans_info 396 { 397 flex_int32_t yy_verify; 398 flex_int32_t yy_nxt; 399 }; 400 static yyconst flex_int16_t yy_accept[1459] = 401 { 0, 402 0, 0, 155, 152, 112, 112, 112, 113, 152, 113, 403 113, 113, 153, 122, 122, 113, 113, 113, 113, 150, 404 150, 152, 150, 150, 150, 150, 150, 150, 150, 150, 405 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 406 150, 150, 113, 152, 116, 120, 67, 0, 150, 122, 407 0, 150, 150, 150, 0, 124, 118, 115, 117, 114, 408 119, 150, 151, 151, 150, 150, 150, 20, 150, 150, 409 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 410 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 411 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 412 413 7, 150, 34, 35, 150, 150, 150, 150, 150, 150, 414 150, 150, 150, 150, 150, 150, 150, 150, 91, 150, 415 68, 150, 150, 150, 150, 150, 150, 60, 150, 150, 416 150, 150, 85, 150, 150, 150, 150, 150, 150, 61, 417 150, 4, 150, 150, 150, 150, 150, 150, 150, 68, 418 120, 150, 123, 123, 150, 122, 150, 0, 124, 122, 419 124, 124, 124, 150, 150, 150, 67, 5, 150, 80, 420 150, 150, 150, 150, 150, 150, 150, 55, 106, 1, 421 0, 150, 21, 150, 150, 150, 150, 150, 150, 150, 422 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 423 424 36, 150, 150, 18, 43, 0, 150, 29, 150, 25, 425 70, 150, 150, 78, 37, 150, 99, 150, 150, 150, 426 150, 100, 150, 46, 69, 81, 105, 150, 14, 150, 427 3, 150, 150, 150, 150, 150, 93, 150, 150, 26, 428 150, 104, 150, 107, 38, 2, 150, 42, 150, 9, 429 150, 10, 88, 150, 87, 150, 150, 0, 150, 150, 430 123, 150, 150, 150, 150, 122, 0, 150, 0, 125, 431 124, 124, 0, 124, 0, 124, 0, 124, 0, 23, 432 150, 150, 150, 150, 64, 16, 41, 150, 39, 150, 433 150, 150, 30, 150, 97, 150, 150, 110, 150, 150, 434 435 103, 109, 45, 108, 111, 11, 150, 12, 13, 150, 436 150, 150, 32, 77, 150, 62, 3, 98, 47, 150, 437 150, 150, 74, 150, 150, 150, 150, 48, 150, 150, 438 40, 150, 6, 150, 92, 150, 8, 94, 150, 150, 439 0, 150, 53, 73, 15, 150, 123, 123, 150, 123, 440 123, 123, 150, 122, 150, 0, 124, 150, 0, 0, 441 124, 0, 124, 125, 124, 0, 0, 0, 0, 124, 442 124, 124, 124, 124, 0, 150, 56, 57, 58, 59, 443 150, 22, 150, 150, 150, 150, 31, 150, 150, 101, 444 102, 0, 19, 150, 150, 150, 86, 150, 33, 150, 445 446 79, 28, 27, 150, 150, 82, 150, 150, 150, 50, 447 17, 150, 150, 150, 150, 150, 150, 150, 150, 150, 448 150, 150, 150, 0, 150, 150, 123, 150, 150, 150, 449 150, 123, 123, 150, 122, 150, 0, 0, 124, 124, 450 124, 0, 0, 125, 124, 124, 125, 124, 0, 0, 451 124, 124, 124, 124, 124, 0, 0, 0, 0, 124, 452 124, 0, 124, 0, 124, 0, 96, 150, 150, 150, 453 24, 150, 150, 150, 150, 150, 150, 150, 150, 150, 454 150, 150, 150, 150, 150, 70, 150, 150, 150, 150, 455 150, 150, 150, 75, 76, 150, 95, 150, 150, 150, 456 457 150, 150, 150, 150, 150, 150, 150, 150, 150, 123, 458 123, 150, 123, 123, 123, 123, 150, 122, 150, 0, 459 124, 124, 0, 124, 0, 0, 124, 0, 124, 125, 460 124, 0, 0, 0, 124, 124, 0, 124, 125, 124, 461 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 462 124, 124, 0, 150, 150, 150, 150, 52, 63, 150, 463 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 464 150, 71, 150, 150, 44, 83, 84, 150, 150, 150, 465 150, 54, 148, 144, 150, 146, 145, 149, 150, 0, 466 150, 150, 123, 150, 150, 150, 123, 150, 122, 150, 467 468 0, 0, 124, 124, 124, 124, 124, 124, 0, 0, 469 125, 124, 124, 124, 0, 0, 124, 124, 124, 124, 470 124, 0, 0, 0, 0, 0, 0, 0, 124, 124, 471 124, 124, 124, 0, 0, 0, 0, 0, 124, 124, 472 0, 124, 0, 124, 0, 150, 150, 150, 150, 150, 473 150, 150, 150, 150, 150, 150, 150, 150, 127, 126, 474 150, 150, 72, 150, 150, 150, 147, 143, 150, 150, 475 123, 123, 123, 123, 150, 122, 150, 0, 124, 124, 476 0, 124, 124, 0, 124, 0, 0, 124, 0, 124, 477 125, 124, 0, 0, 0, 124, 124, 0, 124, 125, 478 479 124, 0, 0, 0, 0, 0, 124, 124, 0, 124, 480 125, 124, 0, 124, 124, 0, 0, 0, 0, 0, 481 0, 0, 124, 124, 124, 124, 124, 0, 65, 150, 482 55, 132, 139, 150, 150, 150, 150, 150, 150, 150, 483 150, 150, 66, 49, 150, 150, 0, 150, 150, 150, 484 150, 150, 122, 150, 0, 0, 124, 124, 124, 124, 485 124, 124, 124, 124, 124, 0, 0, 125, 124, 124, 486 124, 0, 0, 124, 124, 124, 124, 124, 0, 0, 487 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 488 0, 124, 124, 0, 0, 0, 0, 0, 0, 0, 489 490 124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 491 0, 124, 124, 0, 124, 0, 124, 0, 89, 150, 492 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 493 51, 121, 121, 123, 123, 150, 122, 150, 0, 124, 494 124, 0, 124, 124, 0, 124, 124, 0, 124, 0, 495 121, 124, 0, 124, 125, 124, 0, 0, 0, 124, 496 124, 0, 124, 125, 124, 0, 0, 0, 0, 0, 497 124, 124, 0, 124, 125, 124, 0, 0, 0, 0, 498 0, 0, 124, 124, 0, 124, 125, 124, 0, 124, 499 124, 124, 0, 0, 0, 0, 0, 0, 0, 124, 500 501 124, 124, 124, 124, 0, 150, 150, 150, 150, 150, 502 150, 150, 150, 137, 150, 90, 121, 121, 123, 150, 503 121, 121, 0, 0, 124, 124, 124, 124, 124, 124, 504 124, 124, 124, 124, 124, 124, 0, 121, 125, 124, 505 124, 124, 0, 0, 124, 124, 124, 124, 124, 0, 506 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 507 124, 0, 124, 124, 0, 0, 0, 0, 0, 0, 508 0, 124, 124, 124, 124, 124, 0, 124, 124, 124, 509 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 510 124, 124, 0, 0, 0, 0, 0, 0, 124, 124, 511 512 0, 124, 0, 124, 0, 150, 150, 150, 141, 150, 513 150, 150, 150, 150, 150, 150, 129, 123, 150, 122, 514 0, 124, 124, 0, 124, 124, 0, 124, 124, 0, 515 124, 124, 0, 124, 0, 0, 0, 124, 0, 0, 516 124, 125, 124, 0, 0, 0, 124, 124, 0, 124, 517 125, 124, 0, 0, 0, 0, 0, 124, 124, 0, 518 124, 125, 124, 0, 0, 0, 0, 0, 0, 124, 519 124, 0, 124, 125, 124, 0, 0, 0, 0, 0, 520 0, 124, 124, 0, 124, 125, 124, 0, 124, 124, 521 124, 0, 0, 0, 0, 0, 0, 0, 124, 124, 522 523 124, 124, 124, 0, 150, 150, 150, 150, 131, 150, 524 150, 150, 135, 150, 121, 0, 0, 124, 124, 124, 525 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 526 124, 124, 0, 0, 0, 125, 0, 0, 124, 0, 527 0, 124, 124, 124, 0, 0, 0, 0, 0, 0, 528 0, 124, 124, 124, 0, 124, 124, 0, 0, 0, 529 0, 0, 0, 0, 124, 124, 124, 0, 124, 124, 530 124, 0, 0, 0, 0, 0, 0, 0, 124, 124, 531 124, 0, 124, 124, 124, 0, 0, 0, 0, 0, 532 0, 0, 124, 124, 124, 0, 0, 0, 0, 0, 533 534 0, 124, 124, 0, 124, 0, 124, 0, 128, 140, 535 142, 136, 150, 150, 150, 150, 0, 0, 124, 0, 536 124, 0, 124, 124, 0, 124, 124, 0, 124, 124, 537 0, 124, 124, 0, 124, 0, 0, 0, 0, 124, 538 124, 0, 124, 0, 0, 124, 124, 124, 0, 0, 539 0, 0, 124, 124, 124, 0, 0, 0, 0, 0, 540 124, 124, 124, 0, 0, 0, 0, 0, 124, 124, 541 124, 0, 0, 0, 0, 0, 124, 124, 124, 124, 542 124, 124, 0, 0, 0, 0, 0, 0, 0, 124, 543 124, 124, 0, 150, 150, 150, 150, 0, 0, 0, 544 545 124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 546 124, 124, 0, 0, 0, 0, 124, 124, 124, 0, 547 0, 0, 0, 0, 124, 124, 124, 124, 0, 0, 548 0, 0, 0, 124, 124, 124, 124, 0, 0, 0, 549 0, 0, 124, 124, 124, 124, 0, 0, 0, 0, 550 0, 124, 0, 0, 0, 0, 0, 124, 124, 124, 551 150, 150, 150, 138, 124, 124, 124, 124, 124, 124, 552 124, 124, 0, 0, 0, 0, 124, 124, 0, 0, 553 124, 0, 0, 0, 124, 0, 0, 0, 124, 0, 554 0, 0, 124, 0, 0, 0, 124, 124, 124, 124, 555 556 0, 0, 0, 0, 0, 124, 133, 150, 130, 124, 557 0, 0, 124, 124, 0, 124, 124, 124, 0, 124, 558 124, 124, 0, 124, 124, 124, 0, 124, 124, 124, 559 0, 0, 0, 0, 124, 134, 124, 124, 0, 0, 560 0, 0, 0, 0, 124, 124, 124, 0, 0, 124, 561 124, 124, 124, 124, 0, 124, 124, 0 562 } ; 563 564 static yyconst flex_int32_t yy_ec[256] = 565 { 0, 566 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 567 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 569 1, 2, 5, 1, 1, 6, 1, 7, 1, 8, 570 8, 9, 9, 1, 10, 11, 9, 12, 13, 14, 571 15, 16, 17, 18, 17, 17, 17, 19, 1, 20, 572 21, 22, 1, 1, 23, 23, 23, 23, 23, 23, 573 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 574 24, 24, 24, 24, 24, 24, 24, 25, 24, 24, 575 26, 27, 26, 1, 28, 1, 29, 30, 31, 32, 576 577 33, 34, 35, 36, 37, 24, 38, 39, 40, 41, 578 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 579 52, 24, 1, 53, 1, 1, 1, 1, 1, 1, 580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 582 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 584 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 585 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 586 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 587 588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 589 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 593 1, 1, 1, 1, 1 594 } ; 595 596 static yyconst flex_int32_t yy_meta[54] = 597 { 0, 598 1, 2, 2, 1, 2, 1, 3, 2, 1, 4, 599 5, 6, 6, 6, 6, 6, 6, 6, 7, 3, 600 3, 3, 8, 4, 9, 3, 1, 4, 8, 8, 601 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 602 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 603 9, 4, 3 604 } ; 605 606 static yyconst flex_int16_t yy_base[1919] = 607 { 0, 608 0, 0, 3907, 53, 7401, 7401, 54, 3884, 60, 3897, 609 7401, 82, 7401, 100, 31, 152, 47, 3882, 49, 169, 610 211, 169, 61, 44, 126, 61, 30, 63, 76, 158, 611 215, 218, 160, 32, 166, 117, 230, 236, 208, 3855, 612 174, 3847, 3832, 281, 7401, 0, 7401, 297, 320, 344, 613 3865, 368, 0, 375, 0, 409, 7401, 7401, 7401, 7401, 614 7401, 279, 297, 0, 3838, 3834, 3848, 0, 3847, 3821, 615 3834, 3831, 3819, 3813, 3813, 3816, 3815, 3799, 3808, 3793, 616 3806, 3789, 225, 3798, 3801, 3786, 3770, 3783, 3772, 3777, 617 3767, 3765, 121, 83, 3770, 3768, 129, 3757, 3752, 3761, 618 619 148, 228, 0, 0, 37, 169, 3749, 3758, 226, 3741, 620 3739, 3742, 3731, 3721, 3729, 3720, 3719, 3724, 0, 3732, 621 0, 3715, 3706, 3700, 3701, 3701, 3701, 234, 3710, 3693, 622 3690, 3683, 56, 3679, 243, 3677, 160, 3676, 3687, 0, 623 3673, 0, 3672, 3656, 3661, 3668, 3659, 3649, 3663, 7401, 624 7401, 434, 458, 274, 499, 523, 547, 3657, 554, 3664, 625 578, 293, 3655, 3630, 3635, 3625, 0, 0, 3630, 0, 626 3639, 3619, 3608, 3607, 3608, 3604, 3604, 3596, 0, 0, 627 3591, 3581, 0, 3593, 3588, 3575, 3589, 3592, 3574, 3558, 628 3557, 3554, 3569, 3552, 3556, 3536, 3538, 3551, 3536, 3535, 629 630 0, 3539, 3533, 0, 0, 3537, 3527, 0, 3518, 0, 631 3515, 3502, 3509, 0, 0, 3497, 0, 3506, 3514, 272, 632 3496, 0, 3480, 3496, 0, 3491, 0, 3494, 0, 3474, 633 3478, 3472, 3475, 3471, 3444, 3440, 0, 3438, 3450, 0, 634 3438, 0, 3437, 0, 0, 0, 3434, 0, 171, 202, 635 3445, 0, 0, 3421, 0, 3418, 3419, 618, 3449, 641, 636 665, 3446, 672, 481, 115, 696, 3437, 720, 3436, 3435, 637 728, 294, 3420, 3419, 488, 769, 792, 3417, 0, 0, 638 3392, 381, 3395, 3399, 0, 0, 0, 3382, 0, 3381, 639 3382, 3366, 0, 3364, 0, 3358, 3360, 0, 3343, 3342, 640 641 0, 0, 0, 0, 0, 595, 3349, 0, 0, 3355, 642 3325, 3324, 0, 0, 3313, 0, 0, 0, 0, 3328, 643 3311, 3318, 0, 3310, 3294, 3310, 3283, 3279, 3290, 3279, 644 0, 3278, 0, 3264, 0, 261, 0, 0, 3247, 3241, 645 720, 3247, 0, 0, 0, 817, 841, 296, 882, 3274, 646 3273, 405, 905, 929, 953, 3242, 960, 602, 3241, 3240, 647 983, 757, 1007, 1030, 3239, 0, 3236, 408, 409, 1054, 648 3235, 1078, 297, 3224, 3210, 3179, 0, 0, 0, 0, 649 3173, 0, 3183, 3182, 3150, 3148, 0, 3165, 3160, 0, 650 0, 1097, 0, 3148, 3126, 3140, 0, 3131, 0, 3135, 651 652 3112, 0, 0, 3121, 3101, 366, 3089, 3104, 371, 3101, 653 0, 3090, 3060, 3063, 3053, 3048, 3059, 3052, 3038, 3039, 654 3032, 3038, 3053, 1134, 3062, 1157, 1181, 3059, 1188, 864, 655 165, 1212, 314, 1252, 1275, 1299, 3047, 3036, 1307, 315, 656 3014, 3013, 3012, 3010, 1348, 317, 3008, 3007, 496, 612, 657 1389, 3006, 1413, 321, 2981, 2988, 2979, 871, 0, 352, 658 2978, 1101, 1454, 1477, 2976, 0, 0, 2948, 2964, 2930, 659 0, 2939, 2923, 2928, 2940, 2925, 2940, 2939, 369, 2911, 660 408, 2911, 2916, 2904, 2914, 0, 2904, 2901, 2892, 2896, 661 2892, 2881, 2848, 0, 0, 2852, 0, 2847, 2838, 2850, 662 663 2849, 2843, 2824, 2818, 2816, 2821, 2826, 2824, 1502, 1526, 664 404, 1567, 2847, 2846, 614, 1591, 1615, 1622, 1646, 2822, 665 1653, 1677, 1700, 2821, 2820, 2819, 1723, 1108, 1747, 1770, 666 2818, 0, 1235, 0, 442, 2816, 1242, 1794, 1817, 2815, 667 0, 739, 766, 2822, 466, 786, 817, 1841, 2799, 1865, 668 433, 2798, 2805, 510, 2769, 2774, 2770, 0, 0, 2775, 669 2777, 2748, 2748, 2760, 2743, 2742, 2748, 2740, 2741, 2738, 670 2737, 0, 2728, 2722, 0, 0, 0, 2735, 2730, 2735, 671 2722, 0, 0, 0, 2711, 0, 0, 0, 2700, 1905, 672 2735, 1928, 1952, 2733, 1959, 358, 1983, 2007, 2014, 2038, 673 674 2724, 2722, 2046, 457, 2721, 2087, 493, 2720, 2705, 2704, 675 2703, 2128, 494, 2702, 879, 899, 2169, 2701, 2193, 523, 676 2699, 2706, 1128, 1130, 2705, 2689, 1251, 1317, 2234, 2680, 677 2258, 524, 2679, 2686, 1331, 0, 1338, 0, 467, 2677, 678 1371, 2299, 2322, 2674, 0, 2345, 354, 390, 534, 535, 679 622, 276, 591, 2645, 241, 551, 433, 1129, 2630, 2629, 680 1247, 2628, 2627, 1343, 854, 503, 2626, 2624, 2383, 2420, 681 2456, 2492, 553, 2516, 650, 2524, 2548, 2651, 2555, 2579, 682 2602, 2650, 2626, 2649, 2634, 2633, 2632, 2672, 1379, 2696, 683 2719, 2631, 0, 1436, 0, 680, 2629, 1443, 2743, 2766, 684 685 2627, 0, 1549, 0, 1556, 0, 681, 2611, 1888, 2790, 686 2813, 2610, 0, 555, 1895, 2617, 1451, 1471, 2616, 2615, 687 1502, 1564, 2837, 2605, 2861, 615, 2604, 2611, 617, 688, 688 634, 768, 1251, 1388, 2056, 1453, 808, 834, 898, 2083, 689 766, 923, 810, 833, 2081, 2085, 2903, 835, 2926, 921, 690 2949, 2114, 2973, 2997, 2587, 2586, 3005, 642, 2585, 3046, 691 643, 2584, 3087, 671, 2582, 2581, 2580, 2564, 3128, 742, 692 2563, 1694, 1904, 3169, 2562, 3193, 902, 2561, 2568, 2056, 693 2057, 2566, 2565, 2063, 2123, 3234, 2556, 3258, 930, 2555, 694 2541, 931, 2151, 2540, 2124, 2125, 2539, 2538, 2145, 2166, 695 696 3299, 2529, 3323, 954, 2527, 2534, 0, 2216, 0, 2223, 697 0, 737, 2525, 2281, 3364, 3387, 2524, 0, 897, 975, 698 976, 1000, 1904, 1001, 1566, 1022, 1046, 2276, 1047, 2105, 699 1048, 3412, 3435, 3459, 1029, 3499, 3523, 3547, 2501, 3554, 700 3578, 3601, 2500, 3625, 3648, 2499, 3672, 3695, 2498, 2497, 701 2495, 3718, 2368, 3742, 3765, 2494, 0, 2406, 0, 969, 702 2493, 2443, 3789, 3812, 2492, 0, 2463, 0, 2470, 0, 703 1016, 2445, 2477, 3836, 3859, 2443, 0, 0, 2484, 0, 704 2884, 0, 1087, 2429, 2891, 3883, 3906, 2428, 0, 0, 705 1077, 3028, 2434, 2231, 2295, 2431, 2397, 2296, 2316, 3930, 706 707 2375, 3954, 1080, 2347, 2354, 2359, 2360, 2361, 2127, 1128, 708 2233, 2298, 1071, 2362, 1203, 1072, 1126, 1150, 3996, 4020, 709 4029, 1204, 2345, 2331, 4047, 1107, 2330, 4088, 1110, 2329, 710 4129, 1157, 2325, 4170, 1158, 2324, 2306, 2305, 4210, 4234, 711 1159, 2286, 2414, 2415, 4275, 2283, 4299, 1182, 2282, 2289, 712 2596, 2643, 2273, 2269, 2899, 2900, 4340, 2259, 4364, 1187, 713 2241, 2248, 1246, 3035, 2247, 2903, 3043, 2244, 2243, 3056, 714 3062, 4405, 2202, 4429, 1248, 2201, 2208, 0, 1249, 3110, 715 2204, 3063, 3084, 2203, 2183, 3104, 3123, 4470, 2174, 4494, 716 1252, 2171, 2167, 0, 3151, 0, 3216, 0, 1166, 2154, 717 718 3223, 4535, 4558, 2135, 0, 3268, 3269, 3333, 1206, 2399, 719 2363, 1407, 3252, 2275, 1469, 1493, 1347, 4583, 4607, 4616, 720 2105, 4633, 4657, 4680, 2075, 4704, 4727, 2073, 4751, 4774, 721 2070, 4798, 4821, 2068, 2067, 4845, 1276, 2066, 2064, 3286, 722 4886, 2054, 2051, 0, 3350, 0, 1535, 2023, 3482, 4910, 723 2021, 2020, 0, 3489, 0, 3977, 0, 1576, 2019, 3984, 724 4934, 2017, 2016, 0, 0, 4036, 0, 4070, 0, 1599, 725 2015, 4077, 4958, 1991, 1989, 0, 0, 4111, 0, 4118, 726 0, 1630, 1986, 4152, 4982, 1985, 1911, 0, 0, 1386, 727 4159, 1876, 3125, 3145, 1857, 1832, 3164, 3166, 5006, 1819, 728 729 5030, 1389, 1803, 1807, 1495, 1669, 1670, 1520, 1671, 1741, 730 4168, 1692, 1716, 2401, 5072, 1776, 5089, 5113, 1390, 1775, 731 5154, 1453, 1753, 5195, 1561, 1752, 5236, 1566, 1730, 5277, 732 1568, 1729, 1728, 4196, 5318, 1724, 1709, 0, 1708, 3231, 733 3294, 5342, 1705, 1631, 1633, 3333, 3360, 1632, 1602, 3381, 734 3412, 5366, 1573, 1569, 1541, 1591, 4257, 1534, 3498, 3595, 735 1518, 1517, 3642, 3689, 5390, 1505, 1480, 1469, 0, 1621, 736 4264, 1464, 4180, 4181, 1463, 1423, 4205, 4209, 5414, 1394, 737 1391, 1398, 0, 1622, 4322, 1363, 4272, 4316, 1361, 1359, 738 4335, 4337, 5438, 1350, 1316, 1323, 0, 4387, 0, 4394, 739 740 0, 1756, 1314, 4452, 5462, 0, 1312, 0, 1740, 1763, 741 1764, 1786, 1787, 1974, 4488, 4504, 5486, 1623, 0, 1310, 742 5527, 0, 1276, 5551, 0, 1259, 5575, 0, 1253, 5599, 743 0, 1221, 5623, 0, 1217, 4402, 4446, 5647, 1196, 1114, 744 1108, 88, 138, 4460, 0, 1826, 214, 229, 4521, 0, 745 4623, 0, 1850, 322, 345, 0, 4868, 0, 4875, 0, 746 1874, 416, 460, 0, 5053, 0, 5060, 0, 1914, 501, 747 508, 0, 5079, 0, 5136, 0, 1937, 524, 580, 0, 748 1650, 5143, 589, 4531, 4552, 610, 611, 4632, 4674, 5671, 749 605, 0, 632, 2418, 1788, 1811, 1834, 5695, 627, 696, 750 751 0, 0, 0, 0, 0, 0, 5177, 0, 1967, 698, 752 699, 0, 4721, 4768, 709, 710, 0, 1652, 5184, 713, 753 4815, 4883, 741, 744, 0, 0, 1653, 5218, 778, 5088, 754 5192, 801, 803, 0, 0, 1816, 5259, 805, 5212, 5231, 755 808, 828, 0, 0, 1838, 5300, 849, 5233, 5253, 856, 756 858, 0, 0, 5307, 0, 5509, 0, 1968, 883, 0, 757 3083, 2964, 2161, 1921, 0, 7401, 0, 0, 0, 0, 758 0, 0, 5315, 5503, 892, 895, 0, 7401, 5517, 0, 759 7401, 0, 5718, 0, 7401, 0, 5725, 0, 7401, 0, 760 5732, 0, 7401, 0, 5739, 0, 7401, 0, 1840, 5746, 761 762 898, 5754, 5755, 937, 2022, 0, 1975, 3341, 2062, 0, 763 5755, 0, 1841, 5769, 946, 0, 1899, 5776, 973, 0, 764 1901, 5783, 976, 0, 1902, 5795, 996, 0, 1929, 5802, 765 1020, 0, 5809, 0, 7401, 2185, 1956, 5816, 1040, 0, 766 0, 0, 0, 0, 0, 1958, 5823, 1041, 0, 0, 767 0, 0, 0, 0, 0, 0, 0, 7401, 5841, 5849, 768 5853, 5856, 5859, 5862, 5865, 5868, 5871, 5874, 5877, 5880, 769 5883, 5886, 5889, 5892, 5895, 5898, 5901, 5905, 5909, 5912, 770 5915, 5918, 5921, 5924, 5927, 5930, 5933, 5937, 5941, 5944, 771 5947, 5951, 5953, 5956, 5959, 5962, 5965, 5968, 5971, 5974, 772 773 5977, 5981, 5983, 5986, 5990, 5995, 5999, 6002, 6006, 6009, 774 6012, 6015, 6018, 6021, 6024, 6027, 6031, 6035, 6038, 6042, 775 6046, 6051, 6055, 6057, 6061, 6064, 6068, 6071, 6074, 6078, 776 6080, 6083, 6086, 6089, 6092, 6095, 6098, 6101, 6104, 6107, 777 6111, 6113, 6116, 6119, 6122, 6126, 6128, 6131, 6134, 6139, 778 6143, 6148, 6152, 6154, 6158, 6161, 6165, 6170, 6174, 6177, 779 6180, 6183, 6186, 6189, 6192, 6195, 6199, 6203, 6206, 6210, 780 6214, 6219, 6223, 6225, 6229, 6232, 6236, 6239, 6244, 6248, 781 6253, 6257, 6259, 6263, 6266, 6270, 6273, 6276, 6279, 6283, 782 6285, 6288, 6293, 6297, 6300, 6303, 6306, 6309, 6312, 6315, 783 784 6318, 6321, 6325, 6327, 6330, 6333, 6336, 6340, 6342, 6345, 785 6348, 6351, 6354, 6358, 6360, 6363, 6366, 6369, 6374, 6378, 786 6383, 6387, 6389, 6393, 6396, 6400, 6405, 6409, 6412, 6415, 787 6418, 6421, 6424, 6427, 6430, 6434, 6438, 6441, 6445, 6449, 788 6454, 6458, 6460, 6464, 6467, 6471, 6474, 6479, 6483, 6488, 789 6492, 6494, 6498, 6501, 6505, 6508, 6511, 6516, 6520, 6525, 790 6529, 6531, 6535, 6538, 6542, 6545, 6548, 6551, 6555, 6557, 791 6560, 6565, 6569, 6572, 6575, 6578, 6581, 6584, 6587, 6590, 792 6593, 6596, 6599, 6602, 6606, 6608, 6611, 6614, 6617, 6620, 793 6624, 6626, 6629, 6632, 6635, 6638, 6641, 6645, 6647, 6650, 794 795 6653, 6656, 6659, 6662, 6666, 6668, 6671, 6674, 6677, 6680, 796 6685, 6689, 6694, 6698, 6700, 6704, 6707, 6711, 6716, 6720, 797 6723, 6726, 6729, 6732, 6735, 6738, 6741, 6744, 6747, 6751, 798 6755, 6758, 6762, 6766, 6771, 6775, 6777, 6781, 6784, 6788, 799 6791, 6796, 6800, 6805, 6809, 6811, 6815, 6818, 6822, 6825, 800 6828, 6833, 6837, 6842, 6846, 6848, 6852, 6855, 6859, 6862, 801 6865, 6870, 6874, 6879, 6883, 6885, 6889, 6892, 6896, 6899, 802 6902, 6905, 6909, 6911, 6914, 6917, 6922, 6926, 6929, 6932, 803 6935, 6938, 6941, 6944, 6947, 6950, 6953, 6956, 6959, 6963, 804 6967, 6970, 6973, 6977, 6980, 6983, 6987, 6989, 6992, 6995, 805 806 6999, 7001, 7004, 7007, 7010, 7014, 7016, 7019, 7022, 7025, 807 7029, 7031, 7034, 7037, 7040, 7044, 7046, 7049, 7052, 7057, 808 7061, 7066, 7070, 7072, 7076, 7079, 7083, 7088, 7092, 7095, 809 7098, 7101, 7104, 7107, 7110, 7113, 7116, 7120, 7122, 7125, 810 7129, 7134, 7138, 7139, 7142, 7147, 7151, 7156, 7160, 7161, 811 7164, 7167, 7172, 7176, 7181, 7185, 7186, 7189, 7192, 7197, 812 7201, 7206, 7210, 7211, 7214, 7217, 7222, 7226, 7231, 7235, 813 7236, 7239, 7242, 7245, 7249, 7251, 7256, 7260, 7263, 7266, 814 7269, 7272, 7275, 7278, 7282, 7287, 7291, 7292, 7295, 7298, 815 7301, 7304, 7307, 7310, 7313, 7316, 7319, 7322, 7327, 7331, 816 817 7334, 7337, 7340, 7344, 7348, 7352, 7356, 7360, 7363, 7366, 818 7370, 7373, 7376, 7379, 7382, 7385, 7389, 7392 819 } ; 820 821 static yyconst flex_int16_t yy_def[1919] = 822 { 0, 823 1458, 1, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 1458, 824 1458, 1458, 1458, 1458, 14, 1458, 1458, 1458, 1458, 14, 825 20, 1460, 20, 20, 20, 20, 20, 20, 21, 21, 826 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 827 21, 21, 1458, 1458, 1458, 1461, 1458, 21, 21, 20, 828 1462, 50, 21, 21, 21, 1458, 1458, 1458, 1458, 1458, 829 1458, 49, 1460, 1460, 52, 52, 52, 21, 21, 21, 830 21, 52, 21, 21, 52, 21, 21, 21, 52, 21, 831 21, 21, 21, 21, 52, 21, 21, 21, 21, 21, 832 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 833 834 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 835 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 836 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 837 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 838 21, 21, 21, 21, 21, 21, 21, 21, 21, 1458, 839 1458, 21, 21, 153, 21, 21, 156, 1463, 1458, 54, 840 1458, 161, 1464, 21, 21, 157, 21, 21, 21, 157, 841 21, 21, 21, 21, 21, 21, 157, 21, 21, 21, 842 21, 21, 21, 21, 157, 21, 21, 21, 21, 21, 843 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 844 845 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 846 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 847 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 848 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 849 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 850 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 851 21, 21, 21, 260, 261, 157, 1465, 266, 1466, 1467, 852 1458, 271, 1468, 1469, 1458, 1458, 1458, 1470, 1471, 21, 853 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 854 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 855 856 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 857 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 858 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 859 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 860 21, 21, 21, 21, 21, 21, 21, 347, 21, 261, 861 263, 261, 263, 263, 354, 1472, 1458, 353, 1473, 1474, 862 1458, 1458, 1458, 1458, 1475, 1476, 1477, 1478, 1478, 1458, 863 1479, 1458, 372, 1480, 1471, 21, 21, 21, 21, 21, 864 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 865 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 866 867 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 868 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 869 21, 21, 21, 21, 21, 21, 21, 21, 21, 426, 870 427, 427, 432, 426, 354, 435, 1481, 1482, 1458, 439, 871 1483, 1458, 1484, 1485, 1458, 445, 1486, 1487, 1488, 1488, 872 1458, 1489, 1458, 453, 1490, 1476, 1458, 1458, 1491, 1492, 873 1458, 1458, 1458, 1458, 1493, 1494, 21, 21, 21, 21, 874 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 875 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 876 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 877 878 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 879 510, 21, 427, 429, 427, 427, 516, 435, 518, 1495, 880 1458, 1458, 1458, 1496, 1497, 1498, 1458, 1458, 1458, 1458, 881 1499, 1500, 1458, 1501, 1502, 1458, 1458, 1458, 1458, 1503, 882 1504, 1505, 1505, 1491, 1492, 1506, 1506, 1458, 1507, 1458, 883 550, 1508, 1509, 21, 21, 21, 21, 21, 21, 21, 884 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 885 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 886 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 887 21, 21, 21, 21, 21, 593, 593, 597, 518, 599, 888 889 1510, 1511, 1458, 603, 1512, 1458, 606, 1513, 1458, 1514, 890 1515, 1458, 612, 1516, 1517, 1517, 1458, 1518, 1458, 619, 891 1519, 1520, 1521, 1521, 1522, 1523, 1524, 1524, 1458, 1525, 892 1458, 631, 1526, 1527, 1458, 1528, 1458, 1529, 1530, 1458, 893 1458, 1458, 1458, 1531, 1532, 600, 646, 646, 646, 646, 894 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 895 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 896 646, 671, 671, 671, 646, 671, 676, 1533, 1458, 1458, 897 1458, 1534, 1458, 1458, 1535, 1536, 1537, 1458, 1458, 1458, 898 1458, 1538, 1539, 1458, 1540, 1541, 1458, 1458, 1458, 1458, 899 900 1542, 1543, 1458, 1544, 1458, 1545, 1546, 1458, 1458, 1458, 901 1458, 1547, 1548, 1549, 1458, 1550, 1551, 1551, 1552, 1553, 902 1554, 1554, 1458, 1555, 1458, 725, 1556, 1557, 1558, 1558, 903 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 904 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 747, 1558, 905 747, 751, 751, 753, 1559, 1560, 1458, 757, 1561, 1458, 906 760, 1562, 1458, 763, 1563, 1458, 1564, 1565, 1458, 769, 907 1566, 1567, 1567, 1458, 1568, 1458, 776, 1569, 1570, 1571, 908 1571, 1572, 1573, 1574, 1574, 1458, 1575, 1458, 788, 1576, 909 1577, 1578, 1458, 1579, 1580, 1580, 1581, 1582, 1583, 1583, 910 911 1458, 1584, 1458, 803, 1585, 1586, 1587, 1458, 1588, 1458, 912 1589, 1590, 1458, 1458, 1458, 1458, 1591, 1592, 1593, 1593, 913 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 1593, 914 1593, 1593, 832, 832, 834, 832, 832, 837, 1594, 1458, 915 1458, 1458, 1595, 1458, 1458, 1596, 1458, 1458, 1597, 1598, 916 1599, 1458, 1458, 1458, 1458, 1600, 1601, 1458, 1602, 1603, 917 1458, 1458, 1458, 1458, 1604, 1605, 1458, 1606, 1458, 1607, 918 1608, 1458, 1458, 1458, 1458, 1609, 1610, 1611, 1458, 1612, 919 1458, 1613, 1614, 1458, 1458, 1458, 1458, 1615, 1616, 1617, 920 1618, 1458, 1619, 1620, 1620, 1621, 1622, 1623, 1623, 1458, 921 922 1624, 1458, 902, 1625, 1626, 1627, 1627, 1627, 1627, 1627, 923 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 919, 924 1627, 1627, 1628, 1629, 1458, 925, 1630, 1458, 928, 1631, 925 1458, 931, 1632, 1458, 934, 1633, 1458, 1634, 1458, 1458, 926 940, 1635, 1636, 1636, 1458, 1637, 1458, 947, 1638, 1639, 927 1640, 1640, 1641, 1642, 1643, 1643, 1458, 1644, 1458, 959, 928 1645, 1646, 1647, 1458, 1648, 1649, 1649, 1650, 1651, 1652, 929 1652, 1458, 1653, 1458, 974, 1654, 1655, 1656, 1657, 1458, 930 1658, 1659, 1659, 1660, 1661, 1662, 1662, 1458, 1663, 1458, 931 990, 1664, 1665, 1666, 1458, 1667, 1458, 1668, 1669, 1458, 932 933 1458, 1458, 1458, 1670, 1671, 1672, 1672, 1672, 1672, 1672, 934 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1018, 1672, 935 1673, 1458, 1458, 1458, 1674, 1458, 1458, 1675, 1458, 1458, 936 1676, 1458, 1458, 1677, 1678, 1458, 1036, 1679, 1680, 1458, 937 1458, 1681, 1682, 1683, 1458, 1684, 1685, 1458, 1458, 1458, 938 1686, 1687, 1688, 1458, 1689, 1458, 1690, 1691, 1458, 1458, 939 1458, 1692, 1693, 1694, 1695, 1458, 1696, 1458, 1697, 1698, 940 1458, 1458, 1458, 1699, 1700, 1701, 1702, 1458, 1703, 1458, 941 1704, 1705, 1458, 1458, 1458, 1706, 1707, 1708, 1709, 1710, 942 1458, 1711, 1712, 1712, 1713, 1714, 1715, 1715, 1458, 1716, 943 944 1458, 1101, 1717, 1718, 1719, 1719, 1719, 1719, 1719, 1719, 945 1719, 1719, 1719, 1719, 1719, 1720, 1458, 1458, 1118, 1721, 946 1458, 1121, 1722, 1458, 1124, 1723, 1458, 1127, 1724, 1458, 947 1130, 1725, 1458, 1458, 1458, 1726, 1727, 1728, 1729, 1730, 948 1730, 1458, 1731, 1732, 1733, 1734, 1734, 1735, 1736, 1737, 949 1737, 1458, 1738, 1739, 1740, 1741, 1458, 1742, 1743, 1743, 950 1744, 1745, 1746, 1746, 1458, 1747, 1748, 1749, 1750, 1751, 951 1458, 1752, 1753, 1753, 1754, 1755, 1756, 1756, 1458, 1757, 952 1758, 1759, 1760, 1761, 1458, 1762, 1763, 1763, 1764, 1765, 953 1766, 1766, 1458, 1767, 1768, 1769, 1770, 1458, 1771, 1458, 954 955 1772, 1773, 1458, 1458, 1458, 1774, 1775, 1776, 1777, 1777, 956 1777, 1777, 1777, 1777, 1777, 1777, 1458, 1217, 1778, 1779, 957 1458, 1780, 1781, 1458, 1782, 1783, 1458, 1784, 1785, 1458, 958 1786, 1787, 1458, 1788, 1789, 1790, 1790, 1458, 1791, 1792, 959 1793, 1794, 1795, 1458, 1796, 1797, 1458, 1798, 1458, 1799, 960 1458, 1800, 1801, 1458, 1802, 1803, 1458, 1804, 1458, 1805, 961 1806, 1458, 1807, 1808, 1458, 1809, 1458, 1810, 1811, 1458, 962 1812, 1813, 1458, 1814, 1458, 1815, 1816, 1458, 1817, 1818, 963 1819, 1458, 1820, 1821, 1821, 1822, 1823, 1824, 1824, 1458, 964 1825, 1826, 1827, 1828, 1828, 1828, 1828, 1458, 1829, 1830, 965 966 1831, 1832, 1833, 1834, 1835, 1836, 1458, 1837, 1838, 1458, 967 1839, 1840, 1841, 1841, 1842, 1843, 1844, 1845, 1458, 1846, 968 1847, 1847, 1848, 1849, 1850, 1851, 1852, 1458, 1853, 1854, 969 1854, 1855, 1856, 1857, 1858, 1859, 1458, 1860, 1861, 1861, 970 1862, 1863, 1864, 1865, 1866, 1458, 1867, 1868, 1868, 1869, 971 1870, 1871, 1872, 1458, 1873, 1458, 1874, 1875, 1458, 1876, 972 1877, 1877, 1877, 1877, 1878, 1458, 1879, 1880, 1881, 1882, 973 1883, 1884, 1885, 1885, 1886, 1887, 1888, 1458, 1458, 1889, 974 1458, 1890, 1458, 1891, 1458, 1892, 1458, 1893, 1458, 1894, 975 1458, 1895, 1458, 1896, 1458, 1897, 1458, 1872, 1898, 1458, 976 977 1873, 1899, 1899, 1874, 1875, 1900, 1877, 1877, 1877, 1901, 978 1458, 1902, 1903, 1458, 1889, 1890, 1904, 1458, 1891, 1892, 979 1905, 1458, 1893, 1894, 1906, 1458, 1895, 1896, 1907, 1458, 980 1897, 1908, 1458, 1909, 1458, 1877, 1910, 1458, 1902, 1911, 981 1912, 1913, 1914, 1915, 1908, 1916, 1458, 1909, 1917, 1911, 982 1912, 1913, 1914, 1915, 1918, 1917, 1918, 0, 1458, 1458, 983 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 984 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 985 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 986 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 987 988 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 989 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 990 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 991 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 992 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 993 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 994 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 995 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 996 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 997 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 998 999 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1000 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1001 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1002 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1003 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1004 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1005 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1006 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1007 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1008 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1009 1010 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1011 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1012 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1013 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1014 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1015 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1016 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1017 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1018 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1019 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1020 1021 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1022 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1023 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1024 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1025 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1026 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1027 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1028 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1029 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1030 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1031 1032 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1033 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458 1034 } ; 1035 1036 static yyconst flex_int16_t yy_nxt[7455] = 1037 { 0, 1038 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 1039 13, 14, 15, 15, 15, 15, 15, 15, 16, 17, 1040 18, 19, 20, 21, 21, 11, 22, 13, 23, 24, 1041 25, 26, 27, 28, 29, 30, 31, 21, 32, 33, 1042 34, 35, 36, 21, 37, 38, 39, 40, 41, 42, 1043 21, 21, 43, 44, 44, 53, 44, 44, 44, 44, 1044 44, 44, 44, 44, 116, 44, 57, 58, 44, 60, 1045 61, 44, 44, 117, 72, 83, 84, 209, 44, 44, 1046 44, 53, 44, 210, 240, 44, 44, 44, 73, 65, 1047 44, 66, 67, 79, 85, 74, 68, 80, 1134, 86, 1048 1049 44, 69, 241, 81, 87, 70, 82, 71, 44, 48, 1050 49, 50, 50, 50, 50, 50, 50, 50, 51, 195, 1051 88, 196, 52, 53, 54, 53, 352, 55, 52, 52, 1052 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 1053 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 1054 54, 53, 44, 123, 75, 44, 447, 44, 124, 125, 1055 44, 126, 127, 193, 76, 204, 194, 77, 199, 63, 1056 56, 78, 63, 200, 63, 53, 515, 63, 44, 62, 1057 52, 52, 52, 52, 52, 52, 52, 63, 110, 89, 1058 246, 90, 111, 53, 118, 63, 91, 92, 205, 93, 1059 1060 247, 112, 113, 94, 145, 114, 119, 115, 120, 211, 1061 121, 341, 146, 122, 212, 339, 147, 340, 148, 53, 1062 55, 53, 53, 53, 53, 53, 53, 53, 53, 1458, 1063 103, 104, 1222, 53, 181, 342, 140, 206, 141, 53, 1064 53, 53, 53, 53, 53, 95, 105, 447, 96, 97, 1065 106, 98, 142, 99, 107, 100, 108, 101, 128, 143, 1066 102, 182, 129, 109, 207, 234, 133, 183, 215, 208, 1067 130, 216, 134, 217, 135, 131, 136, 132, 235, 243, 1068 137, 44, 138, 139, 44, 738, 44, 53, 244, 44, 1069 155, 155, 155, 155, 155, 155, 155, 63, 53, 44, 1070 1071 63, 413, 63, 321, 735, 63, 414, 44, 152, 152, 1072 152, 152, 152, 152, 152, 63, 322, 1458, 1458, 152, 1073 53, 1458, 53, 63, 53, 152, 152, 152, 152, 152, 1074 152, 153, 154, 154, 154, 154, 154, 154, 53, 1458, 1075 1225, 1458, 155, 1458, 1458, 1458, 53, 1458, 155, 155, 1076 155, 155, 155, 155, 49, 156, 156, 156, 156, 156, 1077 156, 156, 275, 447, 53, 1458, 157, 1458, 53, 673, 1078 277, 1458, 157, 157, 157, 157, 157, 157, 62, 157, 1079 157, 157, 157, 157, 157, 157, 160, 160, 160, 160, 1080 160, 160, 160, 377, 378, 379, 380, 160, 490, 730, 1081 1082 53, 564, 494, 160, 160, 160, 160, 160, 160, 44, 1083 565, 491, 44, 381, 44, 431, 495, 44, 458, 458, 1084 161, 162, 162, 162, 162, 162, 162, 44, 53, 263, 1085 731, 163, 459, 1458, 1228, 44, 53, 163, 163, 163, 1086 163, 163, 163, 258, 567, 259, 259, 259, 259, 259, 1087 259, 259, 362, 568, 53, 263, 259, 1458, 459, 1458, 1088 523, 740, 259, 259, 259, 259, 259, 259, 260, 261, 1089 261, 261, 261, 261, 261, 261, 275, 462, 447, 53, 1090 262, 1458, 263, 1458, 1458, 464, 262, 262, 262, 262, 1091 262, 262, 349, 349, 349, 349, 349, 349, 349, 368, 1092 1093 369, 369, 369, 369, 369, 369, 533, 1458, 263, 264, 1094 262, 262, 262, 262, 262, 262, 262, 1458, 1458, 1231, 1095 534, 262, 377, 378, 379, 380, 447, 262, 262, 262, 1096 262, 262, 262, 265, 266, 266, 266, 266, 266, 266, 1097 266, 267, 1234, 1458, 1458, 268, 534, 1458, 1458, 53, 1098 746, 268, 268, 268, 268, 268, 268, 53, 268, 268, 1099 268, 268, 268, 268, 268, 271, 272, 272, 272, 272, 1100 272, 272, 273, 1458, 1458, 732, 274, 595, 733, 807, 1101 53, 53, 274, 274, 274, 274, 274, 274, 275, 276, 1102 276, 276, 276, 276, 276, 276, 277, 53, 447, 1198, 1103 1104 278, 739, 279, 595, 392, 807, 278, 278, 278, 278, 1105 278, 278, 393, 434, 434, 434, 434, 434, 434, 434, 1106 1200, 1001, 533, 1206, 596, 394, 55, 736, 279, 346, 1107 346, 346, 346, 346, 346, 346, 1458, 53, 429, 1458, 1108 346, 395, 1204, 55, 55, 1366, 346, 346, 346, 346, 1109 346, 346, 347, 348, 348, 348, 348, 348, 348, 734, 1110 752, 55, 1458, 349, 429, 1458, 1458, 1458, 53, 349, 1111 349, 349, 349, 349, 349, 260, 350, 350, 350, 350, 1112 350, 350, 350, 351, 351, 351, 351, 351, 351, 351, 1113 528, 537, 1458, 1458, 351, 1458, 53, 55, 681, 684, 1114 1115 351, 351, 351, 351, 351, 351, 353, 354, 354, 354, 1116 354, 354, 354, 354, 1299, 55, 1299, 447, 355, 1244, 1117 1040, 1458, 819, 1249, 355, 355, 355, 355, 355, 355, 1118 358, 355, 355, 355, 355, 355, 355, 355, 362, 363, 1119 363, 363, 363, 363, 363, 363, 364, 641, 417, 635, 1120 365, 1251, 366, 418, 1049, 643, 365, 365, 365, 365, 1121 365, 365, 419, 636, 420, 421, 1458, 422, 449, 450, 1122 450, 450, 450, 450, 450, 55, 635, 55, 366, 275, 1123 370, 370, 370, 370, 370, 370, 370, 277, 1257, 636, 1124 1458, 371, 1458, 55, 829, 55, 637, 371, 371, 371, 1125 1126 371, 371, 371, 372, 373, 373, 373, 373, 373, 373, 1127 638, 1259, 820, 1060, 374, 1265, 1458, 55, 1267, 55, 1128 374, 374, 374, 374, 374, 374, 424, 637, 425, 425, 1129 425, 425, 425, 425, 425, 55, 638, 55, 1072, 425, 1130 825, 1458, 55, 55, 747, 425, 425, 425, 425, 425, 1131 425, 426, 427, 427, 427, 427, 427, 427, 427, 1273, 1132 55, 55, 55, 428, 826, 429, 1275, 1458, 1084, 428, 1133 428, 428, 428, 428, 428, 512, 512, 512, 512, 512, 1134 512, 512, 542, 543, 543, 543, 543, 543, 543, 694, 1135 745, 429, 430, 428, 428, 428, 428, 428, 428, 428, 1136 1137 53, 1206, 1307, 695, 428, 1134, 55, 55, 1354, 694, 1138 428, 428, 428, 428, 428, 428, 432, 433, 433, 433, 1139 433, 433, 433, 1458, 55, 55, 1458, 434, 827, 695, 1140 55, 749, 55, 434, 434, 434, 434, 434, 434, 265, 1141 435, 435, 435, 435, 435, 435, 435, 1356, 55, 1458, 1142 55, 436, 1458, 830, 1458, 878, 1379, 436, 436, 436, 1143 436, 436, 436, 53, 436, 436, 436, 436, 436, 436, 1144 436, 439, 440, 440, 440, 440, 440, 440, 1458, 689, 1145 1458, 878, 441, 1383, 55, 55, 1387, 842, 441, 441, 1146 441, 441, 441, 441, 445, 446, 446, 446, 446, 446, 1147 1148 446, 447, 55, 55, 1458, 448, 1391, 906, 907, 55, 1149 55, 448, 448, 448, 448, 448, 448, 362, 451, 451, 1150 451, 451, 451, 451, 451, 364, 698, 55, 55, 452, 1151 1395, 55, 908, 910, 845, 452, 452, 452, 452, 452, 1152 452, 453, 454, 454, 454, 454, 454, 454, 447, 55, 1153 1411, 1433, 455, 53, 912, 55, 55, 55, 455, 455, 1154 455, 455, 455, 455, 275, 460, 460, 460, 460, 460, 1155 460, 460, 277, 55, 55, 55, 461, 915, 913, 53, 1156 55, 55, 461, 461, 461, 461, 461, 461, 462, 463, 1157 463, 463, 463, 463, 463, 463, 464, 709, 55, 55, 1158 1159 465, 994, 466, 1015, 1458, 848, 465, 465, 465, 465, 1160 465, 465, 546, 547, 547, 547, 547, 547, 547, 615, 1161 616, 616, 616, 616, 616, 616, 447, 994, 466, 475, 1162 1458, 1458, 447, 476, 1458, 55, 477, 55, 703, 478, 1163 703, 479, 480, 481, 482, 509, 509, 509, 509, 509, 1164 509, 509, 704, 55, 1458, 55, 509, 1458, 1011, 55, 1165 1458, 741, 509, 509, 509, 509, 509, 509, 510, 511, 1166 511, 511, 511, 511, 511, 53, 814, 55, 704, 512, 1167 1458, 1458, 1458, 1458, 816, 512, 512, 512, 512, 512, 1168 512, 426, 513, 513, 513, 513, 513, 513, 513, 514, 1169 1170 514, 514, 514, 514, 514, 514, 1458, 1458, 1458, 1458, 1171 514, 1458, 55, 55, 1299, 55, 514, 514, 514, 514, 1172 514, 514, 431, 516, 516, 516, 516, 516, 516, 516, 1173 55, 55, 1458, 55, 517, 1234, 263, 1458, 1017, 1231, 1174 517, 517, 517, 517, 517, 517, 623, 624, 624, 624, 1175 624, 624, 624, 627, 628, 628, 628, 628, 628, 628, 1176 55, 705, 263, 517, 517, 517, 517, 517, 517, 517, 1177 1065, 1228, 1458, 1077, 517, 706, 1458, 1225, 55, 742, 1178 517, 517, 517, 517, 517, 517, 518, 518, 518, 518, 1179 518, 518, 518, 53, 1222, 821, 1065, 519, 1458, 1077, 1180 1181 1458, 706, 1458, 519, 519, 519, 519, 519, 519, 53, 1182 519, 519, 519, 519, 519, 519, 519, 362, 522, 522, 1183 522, 522, 522, 522, 522, 523, 1458, 705, 1299, 524, 1184 1206, 366, 1003, 1084, 447, 524, 524, 524, 524, 524, 1185 524, 1458, 714, 715, 715, 715, 715, 715, 715, 717, 1186 718, 718, 718, 718, 718, 718, 55, 366, 528, 529, 1187 529, 529, 529, 529, 529, 529, 530, 1458, 1234, 885, 1188 531, 1080, 532, 1078, 55, 744, 531, 531, 531, 531, 1189 531, 531, 721, 722, 722, 722, 722, 722, 722, 53, 1190 772, 773, 773, 773, 773, 773, 773, 55, 532, 362, 1191 1192 535, 535, 535, 535, 535, 535, 535, 523, 1072, 447, 1193 1197, 536, 1231, 1458, 1458, 55, 55, 536, 536, 536, 1194 536, 536, 536, 537, 538, 538, 538, 538, 538, 538, 1195 538, 539, 822, 873, 55, 540, 1197, 541, 1110, 1458, 1196 1458, 540, 540, 540, 540, 540, 540, 780, 781, 781, 1197 781, 781, 781, 781, 784, 785, 785, 785, 785, 785, 1198 785, 808, 55, 541, 462, 548, 548, 548, 548, 548, 1199 548, 548, 464, 1068, 1066, 809, 549, 1458, 55, 1060, 1200 55, 808, 549, 549, 549, 549, 549, 549, 550, 551, 1201 551, 551, 551, 551, 551, 1458, 55, 824, 447, 552, 1202 1203 1113, 809, 55, 1458, 55, 552, 552, 552, 552, 552, 1204 552, 590, 810, 591, 591, 591, 591, 591, 591, 591, 1205 55, 1458, 55, 1228, 591, 1114, 811, 862, 1056, 55, 1206 591, 591, 591, 591, 591, 591, 592, 593, 593, 593, 1207 593, 593, 593, 593, 1054, 853, 1209, 55, 594, 1212, 1208 595, 1049, 811, 1024, 594, 594, 594, 594, 594, 594, 1209 792, 793, 793, 793, 793, 793, 793, 795, 796, 796, 1210 796, 796, 796, 796, 810, 55, 595, 592, 594, 594, 1211 594, 594, 594, 594, 594, 1458, 862, 447, 1458, 594, 1212 1458, 1225, 1458, 55, 1027, 594, 594, 594, 594, 594, 1213 1214 594, 431, 597, 597, 597, 597, 597, 597, 597, 873, 1215 911, 1458, 853, 598, 1458, 1256, 1458, 1030, 1458, 598, 1216 598, 598, 598, 598, 598, 53, 598, 598, 598, 598, 1217 598, 598, 598, 599, 599, 599, 599, 599, 599, 599, 1218 885, 1256, 1045, 1040, 600, 1264, 1272, 1458, 1033, 447, 1219 600, 600, 600, 600, 600, 600, 53, 600, 600, 600, 1220 600, 600, 600, 600, 603, 604, 604, 604, 604, 604, 1221 604, 1264, 1272, 1458, 1353, 605, 1382, 1386, 55, 55, 1222 55, 605, 605, 605, 605, 605, 605, 362, 451, 451, 1223 451, 451, 451, 451, 451, 523, 55, 55, 55, 452, 1224 1225 1353, 55, 1382, 1386, 858, 452, 452, 452, 452, 452, 1226 452, 606, 607, 607, 607, 607, 607, 607, 859, 55, 1227 1210, 1211, 608, 1222, 1215, 55, 447, 1136, 608, 608, 1228 608, 608, 608, 608, 612, 613, 613, 613, 613, 613, 1229 613, 447, 1241, 55, 859, 614, 1117, 1234, 1231, 55, 1230 55, 614, 614, 614, 614, 614, 614, 528, 617, 617, 1231 617, 617, 617, 617, 617, 530, 1001, 55, 55, 618, 1232 1228, 1225, 55, 55, 1003, 618, 618, 618, 618, 618, 1233 618, 619, 620, 620, 620, 620, 620, 620, 447, 1213, 1234 55, 55, 621, 1222, 1117, 55, 55, 55, 621, 621, 1235 1236 621, 621, 621, 621, 537, 629, 629, 629, 629, 629, 1237 629, 629, 539, 55, 55, 55, 630, 1001, 1362, 1294, 1238 55, 1206, 630, 630, 630, 630, 630, 630, 631, 632, 1239 632, 632, 632, 632, 632, 447, 1040, 1003, 55, 633, 1240 1390, 1363, 814, 55, 1222, 633, 633, 633, 633, 633, 1241 633, 462, 639, 639, 639, 639, 639, 639, 639, 464, 1242 1049, 55, 1394, 640, 1432, 1440, 1390, 997, 1225, 640, 1243 640, 640, 640, 640, 640, 641, 642, 642, 642, 642, 1244 642, 642, 642, 643, 1060, 1364, 995, 644, 1394, 645, 1245 1432, 1440, 1228, 644, 644, 644, 644, 644, 644, 799, 1246 1247 800, 800, 800, 800, 800, 800, 715, 715, 715, 715, 1248 715, 715, 715, 55, 858, 645, 669, 669, 669, 669, 1249 669, 669, 669, 1441, 1072, 1442, 1443, 669, 1458, 1086, 1250 55, 55, 1231, 669, 669, 669, 669, 669, 669, 670, 1251 670, 670, 670, 670, 670, 670, 909, 1084, 55, 1441, 1252 670, 1442, 1443, 1444, 1458, 1234, 670, 670, 670, 670, 1253 670, 670, 592, 671, 671, 671, 671, 671, 671, 671, 1254 672, 672, 672, 672, 672, 672, 672, 1134, 1204, 1444, 1255 1449, 672, 1455, 55, 55, 1299, 1206, 672, 672, 672, 1256 672, 672, 672, 431, 674, 674, 674, 674, 674, 674, 1257 1258 674, 55, 55, 447, 1033, 675, 1449, 1074, 1455, 447, 1259 1295, 675, 675, 675, 675, 675, 675, 53, 675, 675, 1260 675, 675, 675, 675, 675, 676, 676, 676, 676, 676, 1261 676, 676, 1204, 1030, 1062, 447, 677, 1027, 1051, 447, 1262 1458, 1024, 677, 677, 677, 677, 677, 677, 53, 677, 1263 677, 677, 677, 677, 677, 677, 528, 680, 680, 680, 1264 680, 680, 680, 680, 681, 55, 867, 867, 682, 1042, 1265 532, 55, 447, 869, 682, 682, 682, 682, 682, 682, 1266 868, 1458, 1136, 55, 447, 1117, 1033, 870, 1030, 55, 1267 55, 1027, 55, 1024, 55, 823, 532, 537, 683, 683, 1268 1269 683, 683, 683, 683, 683, 684, 868, 1458, 55, 685, 1270 55, 541, 55, 870, 55, 685, 685, 685, 685, 685, 1271 685, 831, 828, 1117, 338, 836, 836, 836, 836, 836, 1272 836, 836, 55, 869, 879, 879, 55, 541, 689, 690, 1273 690, 690, 690, 690, 690, 690, 691, 1458, 880, 1458, 1274 692, 916, 693, 1003, 55, 881, 692, 692, 692, 692, 1275 692, 692, 793, 793, 793, 793, 793, 793, 793, 882, 1276 55, 1010, 816, 1458, 880, 1458, 881, 885, 693, 528, 1277 696, 696, 696, 696, 696, 696, 696, 681, 55, 1086, 1278 1458, 697, 1033, 709, 55, 882, 1409, 697, 697, 697, 1279 1280 697, 697, 697, 698, 699, 699, 699, 699, 699, 699, 1281 699, 700, 55, 881, 879, 701, 1458, 702, 873, 1074, 1282 1030, 701, 701, 701, 701, 701, 701, 891, 892, 892, 1283 892, 892, 892, 892, 894, 895, 895, 895, 895, 895, 1284 895, 995, 55, 702, 537, 707, 707, 707, 707, 707, 1285 707, 707, 684, 698, 869, 996, 708, 867, 862, 1062, 1286 55, 1012, 708, 708, 708, 708, 708, 708, 709, 710, 1287 710, 710, 710, 710, 710, 710, 711, 1027, 1013, 689, 1288 712, 996, 713, 858, 55, 55, 712, 712, 712, 712, 1289 712, 712, 898, 899, 899, 899, 899, 899, 899, 853, 1290 1291 1051, 1024, 55, 55, 1042, 995, 997, 55, 713, 641, 1292 723, 723, 723, 723, 723, 723, 723, 643, 914, 1458, 1293 998, 724, 1112, 939, 924, 55, 997, 724, 724, 724, 1294 724, 724, 724, 725, 726, 726, 726, 726, 726, 726, 1295 1458, 1014, 1033, 1030, 727, 1458, 998, 1027, 1024, 1022, 1296 727, 727, 727, 727, 727, 727, 53, 53, 53, 53, 1297 53, 53, 53, 924, 814, 1003, 1458, 53, 55, 55, 1298 55, 55, 55, 53, 53, 53, 53, 53, 53, 943, 1299 944, 944, 944, 944, 944, 944, 55, 55, 55, 55, 1300 55, 729, 747, 816, 748, 748, 748, 748, 748, 748, 1301 1302 748, 1006, 1007, 1008, 1009, 748, 1016, 641, 55, 1109, 1303 55, 748, 748, 748, 748, 748, 748, 951, 952, 952, 1304 952, 952, 952, 952, 1045, 1045, 55, 55, 55, 53, 1305 749, 750, 750, 750, 750, 750, 750, 750, 1046, 1458, 1306 1108, 810, 750, 1216, 808, 55, 887, 848, 750, 750, 1307 750, 750, 750, 750, 955, 956, 956, 956, 956, 956, 1308 956, 875, 1361, 845, 1046, 1458, 53, 671, 671, 671, 1309 671, 671, 671, 671, 963, 964, 964, 964, 964, 964, 1310 964, 966, 967, 967, 967, 967, 967, 967, 970, 971, 1311 971, 971, 971, 971, 971, 979, 980, 980, 980, 980, 1312 1313 980, 980, 53, 672, 672, 672, 672, 672, 672, 672, 1314 864, 842, 855, 939, 672, 924, 848, 845, 842, 924, 1315 672, 672, 672, 672, 672, 672, 751, 350, 350, 350, 1316 350, 350, 350, 350, 265, 753, 753, 753, 753, 753, 1317 753, 753, 816, 643, 709, 887, 754, 848, 537, 705, 1318 703, 698, 754, 754, 754, 754, 754, 754, 53, 754, 1319 754, 754, 754, 754, 754, 754, 757, 758, 758, 758, 1320 758, 758, 758, 875, 845, 528, 694, 759, 689, 864, 1321 842, 855, 852, 759, 759, 759, 759, 759, 759, 528, 1322 617, 617, 617, 617, 617, 617, 617, 681, 768, 756, 1323 1324 848, 618, 845, 842, 840, 756, 1054, 618, 618, 618, 1325 618, 618, 618, 760, 761, 761, 761, 761, 761, 761, 1326 1055, 641, 816, 643, 762, 462, 637, 635, 711, 684, 1327 762, 762, 762, 762, 762, 762, 537, 629, 629, 629, 1328 629, 629, 629, 629, 684, 700, 1055, 681, 630, 691, 1329 768, 756, 684, 1054, 630, 630, 630, 630, 630, 630, 1330 763, 764, 764, 764, 764, 764, 764, 1458, 681, 756, 1331 53, 765, 53, 53, 743, 53, 53, 765, 765, 765, 1332 765, 765, 765, 769, 770, 770, 770, 770, 770, 770, 1333 447, 737, 643, 1458, 771, 464, 537, 711, 684, 362, 1334 1335 771, 771, 771, 771, 771, 771, 689, 774, 774, 774, 1336 774, 774, 774, 774, 691, 533, 528, 700, 775, 681, 1337 691, 688, 611, 602, 775, 775, 775, 775, 775, 775, 1338 776, 777, 777, 777, 777, 777, 777, 447, 684, 681, 1339 679, 778, 602, 592, 590, 668, 667, 778, 778, 778, 1340 778, 778, 778, 698, 786, 786, 786, 786, 786, 786, 1341 786, 700, 666, 665, 664, 787, 663, 662, 661, 660, 1342 659, 787, 787, 787, 787, 787, 787, 788, 789, 789, 1343 789, 789, 789, 789, 447, 658, 657, 656, 790, 655, 1344 654, 653, 652, 651, 790, 790, 790, 790, 790, 790, 1345 1346 709, 801, 801, 801, 801, 801, 801, 801, 711, 650, 1347 649, 648, 802, 647, 646, 462, 643, 464, 802, 802, 1348 802, 802, 802, 802, 803, 804, 804, 804, 804, 804, 1349 804, 447, 458, 539, 523, 805, 530, 611, 602, 523, 1350 602, 805, 805, 805, 805, 805, 805, 641, 812, 812, 1351 812, 812, 812, 812, 812, 643, 596, 596, 589, 813, 1352 588, 587, 586, 585, 584, 813, 813, 813, 813, 813, 1353 813, 814, 815, 815, 815, 815, 815, 815, 815, 816, 1354 583, 582, 581, 817, 335, 818, 237, 580, 579, 817, 1355 817, 817, 817, 817, 817, 982, 983, 983, 983, 983, 1356 1357 983, 983, 986, 987, 987, 987, 987, 987, 987, 1056, 1358 1056, 818, 55, 1066, 832, 832, 832, 832, 832, 832, 1359 832, 578, 577, 1057, 1458, 832, 576, 1067, 575, 574, 1360 55, 832, 832, 832, 832, 832, 832, 833, 833, 833, 1361 833, 833, 833, 833, 573, 572, 571, 570, 833, 1057, 1362 1458, 569, 566, 1067, 833, 833, 833, 833, 833, 833, 1363 834, 835, 835, 835, 835, 835, 835, 563, 562, 561, 1364 560, 836, 559, 55, 558, 557, 556, 836, 836, 836, 1365 836, 836, 836, 265, 837, 837, 837, 837, 837, 837, 1366 837, 55, 555, 554, 464, 838, 277, 447, 362, 539, 1367 1368 1408, 838, 838, 838, 838, 838, 838, 53, 838, 838, 1369 838, 838, 838, 838, 838, 689, 841, 841, 841, 841, 1370 841, 841, 841, 842, 523, 530, 447, 843, 527, 693, 1371 444, 438, 523, 843, 843, 843, 843, 843, 843, 892, 1372 892, 892, 892, 892, 892, 892, 964, 964, 964, 964, 1373 964, 964, 964, 1066, 521, 693, 698, 844, 844, 844, 1374 844, 844, 844, 844, 845, 438, 1068, 1458, 846, 430, 1375 702, 424, 1068, 1078, 846, 846, 846, 846, 846, 846, 1376 1069, 508, 507, 506, 505, 504, 1458, 1079, 503, 502, 1377 501, 500, 55, 1458, 1078, 499, 702, 709, 847, 847, 1378 1379 847, 847, 847, 847, 847, 848, 1069, 498, 1458, 849, 1380 55, 713, 1458, 1079, 1080, 849, 849, 849, 849, 849, 1381 849, 980, 980, 980, 980, 980, 980, 980, 1081, 1407, 1382 497, 496, 493, 1080, 1458, 1198, 492, 713, 853, 854, 1383 854, 854, 854, 854, 854, 854, 855, 1458, 489, 1199, 1384 856, 488, 857, 487, 1081, 1198, 856, 856, 856, 856, 1385 856, 856, 1090, 1091, 1091, 1091, 1091, 1091, 1091, 1458, 1386 486, 485, 119, 1458, 1200, 1199, 1200, 484, 857, 689, 1387 860, 860, 860, 860, 860, 860, 860, 842, 1201, 483, 1388 1458, 861, 474, 473, 472, 1458, 471, 861, 861, 861, 1389 1390 861, 861, 861, 862, 863, 863, 863, 863, 863, 863, 1391 863, 864, 470, 469, 1201, 865, 1458, 866, 468, 467, 1392 275, 865, 865, 865, 865, 865, 865, 1093, 1094, 1094, 1393 1094, 1094, 1094, 1094, 1097, 1098, 1098, 1098, 1098, 1098, 1394 1098, 1244, 464, 866, 698, 871, 871, 871, 871, 871, 1395 871, 871, 845, 277, 447, 1245, 872, 364, 444, 438, 1396 438, 55, 872, 872, 872, 872, 872, 872, 873, 874, 1397 874, 874, 874, 874, 874, 874, 875, 55, 55, 55, 1398 876, 1245, 877, 431, 431, 423, 876, 876, 876, 876, 1399 876, 876, 416, 1111, 415, 55, 55, 1140, 1141, 1141, 1400 1401 1141, 1141, 1141, 1141, 1244, 412, 1105, 1106, 877, 709, 1402 883, 883, 883, 883, 883, 883, 883, 848, 1458, 411, 1403 410, 884, 409, 408, 407, 406, 405, 884, 884, 884, 1404 884, 884, 884, 885, 886, 886, 886, 886, 886, 886, 1405 886, 887, 55, 1249, 1458, 888, 404, 889, 403, 402, 1406 55, 888, 888, 888, 888, 888, 888, 1250, 401, 400, 1407 55, 1146, 1147, 1147, 1147, 1147, 1147, 1147, 55, 399, 1408 1249, 1107, 398, 889, 814, 900, 900, 900, 900, 900, 1409 900, 900, 816, 1250, 1458, 397, 901, 1436, 396, 391, 1410 390, 1251, 901, 901, 901, 901, 901, 901, 902, 903, 1411 1412 903, 903, 903, 903, 903, 1252, 389, 388, 317, 904, 1413 1458, 387, 386, 385, 384, 904, 904, 904, 904, 904, 1414 904, 55, 1251, 917, 917, 917, 917, 917, 917, 917, 1415 383, 1252, 382, 376, 917, 277, 1458, 364, 273, 55, 1416 917, 917, 917, 917, 917, 917, 918, 918, 918, 918, 1417 918, 918, 918, 361, 270, 357, 264, 918, 258, 142, 1418 345, 344, 1458, 918, 918, 918, 918, 918, 918, 596, 1419 919, 919, 919, 919, 919, 919, 919, 343, 338, 317, 1420 337, 920, 336, 429, 335, 334, 333, 920, 920, 920, 1421 920, 920, 920, 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1422 1423 1156, 1157, 1157, 1157, 1157, 1157, 1157, 332, 1257, 429, 1424 920, 920, 920, 920, 920, 920, 920, 331, 330, 329, 1425 328, 920, 1258, 327, 326, 325, 324, 920, 920, 920, 1426 920, 920, 920, 265, 921, 921, 921, 921, 921, 921, 1427 921, 323, 320, 319, 318, 922, 317, 316, 1258, 315, 1428 314, 922, 922, 922, 922, 922, 922, 53, 922, 922, 1429 922, 922, 922, 922, 922, 925, 926, 926, 926, 926, 1430 926, 926, 313, 312, 311, 310, 927, 309, 308, 307, 1431 306, 305, 927, 927, 927, 927, 927, 927, 689, 774, 1432 774, 774, 774, 774, 774, 774, 842, 304, 303, 302, 1433 1434 775, 301, 300, 299, 298, 1257, 775, 775, 775, 775, 1435 775, 775, 928, 929, 929, 929, 929, 929, 929, 1458, 1436 297, 296, 295, 930, 142, 294, 293, 292, 291, 930, 1437 930, 930, 930, 930, 930, 698, 786, 786, 786, 786, 1438 786, 786, 786, 845, 290, 1458, 289, 787, 288, 287, 1439 286, 285, 1259, 787, 787, 787, 787, 787, 787, 931, 1440 932, 932, 932, 932, 932, 932, 1260, 284, 283, 282, 1441 933, 281, 280, 277, 265, 270, 933, 933, 933, 933, 1442 933, 933, 709, 801, 801, 801, 801, 801, 801, 801, 1443 848, 257, 1260, 256, 802, 255, 254, 253, 252, 1259, 1444 1445 802, 802, 802, 802, 802, 802, 934, 935, 935, 935, 1446 935, 935, 935, 1458, 251, 250, 249, 936, 248, 245, 1447 242, 239, 238, 936, 936, 936, 936, 936, 936, 940, 1448 941, 941, 941, 941, 941, 941, 447, 237, 236, 1458, 1449 942, 233, 232, 231, 230, 229, 942, 942, 942, 942, 1450 942, 942, 853, 945, 945, 945, 945, 945, 945, 945, 1451 855, 228, 227, 226, 946, 225, 224, 223, 222, 221, 1452 946, 946, 946, 946, 946, 946, 947, 948, 948, 948, 1453 948, 948, 948, 447, 220, 219, 218, 949, 214, 213, 1454 203, 202, 201, 949, 949, 949, 949, 949, 949, 862, 1455 1456 957, 957, 957, 957, 957, 957, 957, 864, 198, 197, 1457 192, 958, 191, 190, 189, 188, 187, 958, 958, 958, 1458 958, 958, 958, 959, 960, 960, 960, 960, 960, 960, 1459 447, 186, 185, 184, 961, 180, 179, 178, 177, 176, 1460 961, 961, 961, 961, 961, 961, 873, 972, 972, 972, 1461 972, 972, 972, 972, 875, 175, 174, 173, 973, 172, 1462 171, 170, 169, 168, 973, 973, 973, 973, 973, 973, 1463 974, 975, 975, 975, 975, 975, 975, 447, 167, 166, 1464 165, 976, 164, 159, 150, 149, 144, 976, 976, 976, 1465 976, 976, 976, 885, 988, 988, 988, 988, 988, 988, 1466 1467 988, 887, 59, 47, 45, 989, 1458, 1458, 1458, 1458, 1468 1458, 989, 989, 989, 989, 989, 989, 990, 991, 991, 1469 991, 991, 991, 991, 447, 1458, 1458, 1458, 992, 1458, 1470 1458, 1458, 1458, 1458, 992, 992, 992, 992, 992, 992, 1471 814, 999, 999, 999, 999, 999, 999, 999, 816, 1458, 1472 1458, 1458, 1000, 1458, 1458, 1458, 1458, 1458, 1000, 1000, 1473 1000, 1000, 1000, 1000, 1001, 1002, 1002, 1002, 1002, 1002, 1474 1002, 1002, 1003, 1458, 1458, 1458, 1004, 1458, 1005, 1458, 1475 1458, 1458, 1004, 1004, 1004, 1004, 1004, 1004, 1159, 1160, 1476 1160, 1160, 1160, 1160, 1160, 1163, 1164, 1164, 1164, 1164, 1477 1478 1164, 1164, 1458, 1458, 1005, 55, 596, 1018, 1018, 1018, 1479 1018, 1018, 1018, 1018, 1458, 1458, 1458, 1458, 1019, 1458, 1480 1458, 1458, 1458, 55, 1019, 1019, 1019, 1019, 1019, 1019, 1481 53, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 55, 265, 1482 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1170, 1171, 1171, 1483 1171, 1171, 1171, 1171, 1458, 1458, 55, 853, 1023, 1023, 1484 1023, 1023, 1023, 1023, 1023, 1024, 1458, 1458, 1458, 1025, 1485 1458, 857, 1458, 1458, 1458, 1025, 1025, 1025, 1025, 1025, 1486 1025, 1173, 1174, 1174, 1174, 1174, 1174, 1174, 1177, 1178, 1487 1178, 1178, 1178, 1178, 1178, 1458, 1458, 857, 862, 1026, 1488 1489 1026, 1026, 1026, 1026, 1026, 1026, 1027, 1458, 1458, 1458, 1490 1028, 1458, 866, 1458, 1458, 1458, 1028, 1028, 1028, 1028, 1491 1028, 1028, 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1187, 1492 1188, 1188, 1188, 1188, 1188, 1188, 1458, 1458, 866, 873, 1493 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1030, 1458, 1458, 1494 1458, 1031, 1458, 877, 1458, 1458, 1458, 1031, 1031, 1031, 1495 1031, 1031, 1031, 1191, 1192, 1192, 1192, 1192, 1192, 1192, 1496 1091, 1091, 1091, 1091, 1091, 1091, 1091, 55, 1458, 877, 1497 885, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033, 1458, 1498 1265, 1265, 1034, 1458, 889, 55, 1458, 1458, 1034, 1034, 1499 1500 1034, 1034, 1034, 1034, 1266, 1458, 1214, 1236, 1237, 1237, 1501 1237, 1237, 1237, 1237, 1458, 1267, 1458, 1458, 1458, 1267, 1502 889, 1036, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1268, 1503 1266, 1458, 1039, 1458, 1458, 1458, 1458, 1458, 1039, 1039, 1504 1039, 1039, 1039, 1039, 1040, 1041, 1041, 1041, 1041, 1041, 1505 1041, 1041, 1042, 1458, 1458, 1268, 1043, 1458, 1044, 1458, 1506 1458, 1458, 1043, 1043, 1043, 1043, 1043, 1043, 1157, 1157, 1507 1157, 1157, 1157, 1157, 1157, 1171, 1171, 1171, 1171, 1171, 1508 1171, 1171, 1273, 1458, 1044, 853, 1047, 1047, 1047, 1047, 1509 1047, 1047, 1047, 1024, 1458, 1458, 1274, 1048, 1458, 1458, 1510 1511 1458, 1458, 1458, 1048, 1048, 1048, 1048, 1048, 1048, 1049, 1512 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1458, 1458, 1513 1458, 1052, 1274, 1053, 1458, 1458, 1273, 1052, 1052, 1052, 1514 1052, 1052, 1052, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1515 1458, 1458, 1458, 1458, 1458, 1275, 1458, 1275, 1458, 1053, 1516 862, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1027, 1276, 1517 1458, 1458, 1059, 1458, 1458, 1458, 1458, 1458, 1059, 1059, 1518 1059, 1059, 1059, 1059, 1060, 1061, 1061, 1061, 1061, 1061, 1519 1061, 1061, 1062, 1458, 1458, 1276, 1063, 1458, 1064, 1458, 1520 1458, 1458, 1063, 1063, 1063, 1063, 1063, 1063, 1281, 1282, 1521 1522 1282, 1282, 1282, 1282, 1282, 1284, 1285, 1285, 1285, 1285, 1523 1285, 1285, 1307, 1458, 1064, 873, 1070, 1070, 1070, 1070, 1524 1070, 1070, 1070, 1030, 1458, 1458, 1308, 1071, 1458, 1458, 1525 1458, 1458, 1458, 1071, 1071, 1071, 1071, 1071, 1071, 1072, 1526 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1458, 1458, 1527 1458, 1075, 1308, 1076, 1458, 1458, 1307, 1075, 1075, 1075, 1528 1075, 1075, 1075, 1288, 1289, 1289, 1289, 1289, 1289, 1289, 1529 1458, 1313, 1314, 1314, 1314, 1314, 1314, 1314, 1458, 1076, 1530 885, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1033, 1458, 1531 1458, 1458, 1083, 1458, 1458, 1458, 1458, 55, 1083, 1083, 1532 1533 1083, 1083, 1083, 1083, 1084, 1085, 1085, 1085, 1085, 1085, 1534 1085, 1085, 1086, 55, 1458, 55, 1087, 1458, 1088, 1458, 1535 1458, 1458, 1087, 1087, 1087, 1087, 1087, 1087, 1296, 1458, 1536 1458, 55, 1318, 1319, 1319, 1319, 1319, 1319, 1319, 1458, 1537 1458, 1354, 1297, 1458, 1088, 1001, 1099, 1099, 1099, 1099, 1538 1099, 1099, 1099, 1003, 1458, 1355, 1458, 1100, 1458, 1458, 1539 1458, 1458, 1354, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1540 1102, 1102, 1102, 1102, 1102, 1102, 1458, 1458, 1458, 1458, 1541 1103, 1355, 1458, 1458, 1458, 1458, 1103, 1103, 1103, 1103, 1542 1103, 1103, 55, 596, 1115, 1115, 1115, 1115, 1115, 1115, 1543 1544 1115, 1458, 1458, 1458, 1458, 922, 1458, 1458, 1458, 1458, 1545 55, 922, 922, 922, 922, 922, 922, 53, 922, 922, 1546 922, 922, 922, 922, 922, 55, 265, 1020, 1020, 1020, 1547 1020, 1020, 1020, 1020, 1321, 1322, 1322, 1322, 1322, 1322, 1548 1322, 1458, 1356, 55, 1118, 1119, 1119, 1119, 1119, 1119, 1549 1119, 1458, 1458, 1458, 1458, 1120, 1357, 1458, 1458, 1458, 1550 1458, 1120, 1120, 1120, 1120, 1120, 1120, 853, 945, 945, 1551 945, 945, 945, 945, 945, 1024, 1458, 1458, 1458, 946, 1552 1458, 1458, 1357, 1458, 1356, 946, 946, 946, 946, 946, 1553 946, 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1458, 1458, 1554 1555 1458, 1458, 1123, 1458, 1458, 1458, 1458, 1458, 1123, 1123, 1556 1123, 1123, 1123, 1123, 862, 957, 957, 957, 957, 957, 1557 957, 957, 1027, 1458, 1458, 1458, 958, 1458, 1458, 1458, 1558 1458, 1379, 958, 958, 958, 958, 958, 958, 1124, 1125, 1559 1125, 1125, 1125, 1125, 1125, 1380, 1458, 1458, 1458, 1126, 1560 1458, 1458, 1458, 1458, 1458, 1126, 1126, 1126, 1126, 1126, 1561 1126, 873, 972, 972, 972, 972, 972, 972, 972, 1030, 1562 1458, 1380, 1458, 973, 1458, 1458, 1458, 1458, 1379, 973, 1563 973, 973, 973, 973, 973, 1127, 1128, 1128, 1128, 1128, 1564 1128, 1128, 1458, 1458, 1458, 1458, 1129, 1458, 1458, 1458, 1565 1566 1458, 1458, 1129, 1129, 1129, 1129, 1129, 1129, 885, 988, 1567 988, 988, 988, 988, 988, 988, 1033, 1458, 1458, 1458, 1568 989, 1458, 1458, 1458, 1458, 1383, 989, 989, 989, 989, 1569 989, 989, 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1384, 1570 1458, 1458, 1458, 1132, 1458, 1458, 1458, 1458, 1458, 1132, 1571 1132, 1132, 1132, 1132, 1132, 1134, 1135, 1135, 1135, 1135, 1572 1135, 1135, 1135, 1136, 1458, 1384, 1458, 1137, 1458, 1138, 1573 1458, 1458, 1458, 1137, 1137, 1137, 1137, 1137, 1137, 1327, 1574 1328, 1328, 1328, 1328, 1328, 1328, 1330, 1331, 1331, 1331, 1575 1331, 1331, 1331, 1383, 1458, 1138, 1040, 1142, 1142, 1142, 1576 1577 1142, 1142, 1142, 1142, 1042, 1458, 1458, 1458, 1143, 1458, 1578 1458, 1458, 1458, 1458, 1143, 1143, 1143, 1143, 1143, 1143, 1579 1049, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1051, 1458, 1580 1458, 1458, 1153, 1458, 1458, 1458, 1458, 1458, 1153, 1153, 1581 1153, 1153, 1153, 1153, 1060, 1165, 1165, 1165, 1165, 1165, 1582 1165, 1165, 1062, 1458, 1458, 1458, 1166, 1458, 1458, 1458, 1583 1458, 1458, 1166, 1166, 1166, 1166, 1166, 1166, 1072, 1179, 1584 1179, 1179, 1179, 1179, 1179, 1179, 1074, 1458, 1458, 1458, 1585 1180, 1458, 1458, 1458, 1458, 1458, 1180, 1180, 1180, 1180, 1586 1180, 1180, 1084, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1587 1588 1086, 1458, 1458, 1458, 1194, 1458, 1458, 1458, 1458, 1458, 1589 1194, 1194, 1194, 1194, 1194, 1194, 1001, 1202, 1202, 1202, 1590 1202, 1202, 1202, 1202, 1003, 1458, 1458, 1458, 1203, 1458, 1591 1458, 1458, 1458, 1458, 1203, 1203, 1203, 1203, 1203, 1203, 1592 1204, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1206, 1458, 1593 1458, 1458, 1207, 1458, 1208, 1458, 1458, 1458, 1207, 1207, 1594 1207, 1207, 1207, 1207, 1336, 1337, 1337, 1337, 1337, 1337, 1595 1337, 1339, 1340, 1340, 1340, 1340, 1340, 1340, 1458, 1458, 1596 1208, 55, 596, 513, 513, 513, 513, 513, 513, 513, 1597 1345, 1346, 1346, 1346, 1346, 1346, 1346, 1458, 1387, 55, 1598 1599 1217, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1458, 1458, 1600 1458, 1220, 1388, 1458, 1458, 1458, 1458, 1220, 1220, 1220, 1601 1220, 1220, 1220, 1040, 1221, 1221, 1221, 1221, 1221, 1221, 1602 1221, 1222, 1458, 1458, 1458, 1223, 1458, 1044, 1388, 1458, 1603 1458, 1223, 1223, 1223, 1223, 1223, 1223, 1348, 1349, 1349, 1604 1349, 1349, 1349, 1349, 1282, 1282, 1282, 1282, 1282, 1282, 1605 1282, 1458, 1458, 1044, 1049, 1224, 1224, 1224, 1224, 1224, 1606 1224, 1224, 1225, 1458, 1458, 1458, 1226, 1458, 1053, 1458, 1607 1458, 1458, 1226, 1226, 1226, 1226, 1226, 1226, 1373, 1374, 1608 1374, 1374, 1374, 1374, 1374, 1319, 1319, 1319, 1319, 1319, 1609 1610 1319, 1319, 1387, 1458, 1053, 1060, 1227, 1227, 1227, 1227, 1611 1227, 1227, 1227, 1228, 1458, 1458, 1458, 1229, 1458, 1064, 1612 1458, 1458, 1391, 1229, 1229, 1229, 1229, 1229, 1229, 1328, 1613 1328, 1328, 1328, 1328, 1328, 1328, 1392, 1458, 1458, 1458, 1614 1458, 1391, 1458, 1395, 1458, 1064, 1072, 1230, 1230, 1230, 1615 1230, 1230, 1230, 1230, 1231, 1458, 1458, 1396, 1232, 1458, 1616 1076, 1458, 1392, 1395, 1232, 1232, 1232, 1232, 1232, 1232, 1617 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1458, 1458, 1458, 1618 1458, 1458, 1458, 1396, 1458, 1458, 1076, 1084, 1233, 1233, 1619 1233, 1233, 1233, 1233, 1233, 1234, 1458, 1458, 1458, 1235, 1620 1621 1458, 1088, 1458, 1458, 1458, 1235, 1235, 1235, 1235, 1235, 1622 1235, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1399, 1400, 1623 1400, 1400, 1400, 1400, 1400, 1411, 1458, 1088, 1134, 1238, 1624 1238, 1238, 1238, 1238, 1238, 1238, 1136, 1458, 1458, 1412, 1625 1239, 1458, 1458, 1458, 1458, 1458, 1239, 1239, 1239, 1239, 1626 1239, 1239, 1040, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1627 1222, 1458, 1458, 1458, 1247, 1412, 1458, 1458, 1458, 1458, 1628 1247, 1247, 1247, 1247, 1247, 1247, 1049, 1253, 1253, 1253, 1629 1253, 1253, 1253, 1253, 1225, 1458, 1458, 1458, 1254, 1458, 1630 1458, 1458, 1458, 1458, 1254, 1254, 1254, 1254, 1254, 1254, 1631 1632 1060, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1228, 1458, 1633 1458, 1458, 1262, 1458, 1458, 1458, 1458, 1458, 1262, 1262, 1634 1262, 1262, 1262, 1262, 1072, 1269, 1269, 1269, 1269, 1269, 1635 1269, 1269, 1231, 1458, 1458, 1458, 1270, 1458, 1458, 1458, 1636 1458, 1458, 1270, 1270, 1270, 1270, 1270, 1270, 1084, 1277, 1637 1277, 1277, 1277, 1277, 1277, 1277, 1234, 1458, 1458, 1458, 1638 1278, 1458, 1458, 1458, 1458, 1458, 1278, 1278, 1278, 1278, 1639 1278, 1278, 1204, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1640 1206, 1458, 1458, 1458, 1291, 1458, 1458, 1458, 1458, 1458, 1641 1291, 1291, 1291, 1291, 1291, 1291, 1134, 1298, 1298, 1298, 1642 1643 1298, 1298, 1298, 1298, 1299, 1458, 1458, 1458, 1300, 1458, 1644 1138, 1458, 1458, 1411, 1300, 1300, 1300, 1300, 1300, 1300, 1645 1402, 1403, 1403, 1403, 1403, 1403, 1403, 1458, 1413, 1414, 1646 1414, 1414, 1414, 1414, 1414, 1458, 1138, 1040, 1142, 1142, 1647 1142, 1142, 1142, 1142, 1142, 1222, 1458, 1458, 1458, 1143, 1648 1458, 1458, 1458, 1458, 1458, 1143, 1143, 1143, 1143, 1143, 1649 1143, 1049, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1225, 1650 1458, 1458, 1458, 1153, 1458, 1458, 1458, 1458, 1458, 1153, 1651 1153, 1153, 1153, 1153, 1153, 1060, 1165, 1165, 1165, 1165, 1652 1165, 1165, 1165, 1228, 1458, 1458, 1458, 1166, 1458, 1458, 1653 1654 1458, 1458, 1458, 1166, 1166, 1166, 1166, 1166, 1166, 1072, 1655 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1231, 1458, 1458, 1656 1458, 1180, 1458, 1458, 1458, 1458, 1458, 1180, 1180, 1180, 1657 1180, 1180, 1180, 1084, 1193, 1193, 1193, 1193, 1193, 1193, 1658 1193, 1234, 1458, 1458, 1458, 1194, 1458, 1458, 1458, 1458, 1659 1458, 1194, 1194, 1194, 1194, 1194, 1194, 1134, 1309, 1309, 1660 1309, 1309, 1309, 1309, 1309, 1299, 1458, 1458, 1458, 1310, 1661 1458, 1458, 1458, 1458, 1458, 1310, 1310, 1310, 1310, 1310, 1662 1310, 1204, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1206, 1663 1458, 1458, 1458, 1359, 1458, 1458, 1458, 1458, 1458, 1359, 1664 1665 1359, 1359, 1359, 1359, 1359, 1134, 1238, 1238, 1238, 1238, 1666 1238, 1238, 1238, 1299, 1458, 1458, 1458, 1239, 1458, 1458, 1667 1458, 1458, 1458, 1239, 1239, 1239, 1239, 1239, 1239, 1417, 1668 1418, 1418, 1418, 1418, 1418, 1418, 1421, 1422, 1422, 1422, 1669 1422, 1422, 1422, 1425, 1426, 1426, 1426, 1426, 1426, 1426, 1670 1429, 1430, 1430, 1430, 1430, 1430, 1430, 1400, 1400, 1400, 1671 1400, 1400, 1400, 1400, 1433, 1433, 1437, 1438, 1438, 1438, 1672 1438, 1438, 1438, 1458, 1458, 1458, 1458, 1458, 1434, 1458, 1673 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1418, 1418, 1418, 1674 1418, 1418, 1418, 1418, 1422, 1422, 1422, 1422, 1422, 1422, 1675 1676 1422, 1458, 1458, 1458, 1434, 1458, 1426, 1426, 1426, 1426, 1677 1426, 1426, 1426, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1678 1446, 1447, 1447, 1447, 1447, 1447, 1447, 1438, 1438, 1438, 1679 1438, 1438, 1438, 1438, 1447, 1447, 1447, 1447, 1447, 1447, 1680 1447, 46, 1458, 1458, 1458, 1458, 46, 46, 46, 64, 1681 1458, 64, 64, 64, 64, 64, 64, 64, 151, 1458, 1682 151, 158, 158, 158, 269, 269, 269, 278, 278, 278, 1683 356, 356, 356, 359, 359, 359, 360, 360, 360, 367, 1684 367, 367, 365, 365, 365, 371, 371, 371, 375, 1458, 1685 375, 437, 437, 437, 442, 442, 442, 443, 443, 443, 1686 1687 452, 452, 452, 456, 1458, 456, 457, 457, 457, 369, 1688 369, 1458, 1458, 369, 461, 461, 461, 465, 465, 465, 1689 359, 359, 359, 520, 520, 520, 524, 524, 524, 525, 1690 525, 525, 526, 526, 526, 367, 367, 367, 531, 531, 1691 531, 450, 450, 1458, 1458, 450, 536, 536, 536, 540, 1692 540, 540, 544, 1458, 544, 545, 545, 545, 549, 549, 1693 549, 553, 1458, 553, 601, 601, 601, 452, 452, 452, 1694 609, 609, 609, 610, 610, 610, 618, 618, 618, 622, 1695 1458, 622, 625, 1458, 625, 626, 626, 626, 630, 630, 1696 630, 634, 1458, 634, 543, 543, 1458, 1458, 543, 547, 1697 1698 547, 1458, 1458, 547, 640, 640, 640, 644, 644, 644, 1699 553, 553, 1458, 553, 525, 525, 525, 678, 678, 678, 1700 682, 682, 682, 685, 685, 685, 686, 686, 686, 687, 1701 687, 687, 692, 692, 692, 616, 616, 1458, 1458, 616, 1702 697, 697, 697, 701, 701, 701, 622, 622, 1458, 622, 1703 624, 624, 1458, 1458, 624, 625, 625, 1458, 625, 626, 1704 626, 628, 628, 1458, 1458, 628, 708, 708, 708, 712, 1705 712, 712, 634, 634, 1458, 634, 716, 1458, 716, 719, 1706 1458, 719, 720, 720, 720, 724, 724, 724, 728, 1458, 1707 728, 755, 755, 755, 618, 618, 618, 630, 630, 630, 1708 1709 766, 766, 766, 767, 767, 767, 775, 775, 775, 779, 1710 1458, 779, 782, 1458, 782, 783, 783, 783, 787, 787, 1711 787, 791, 1458, 791, 794, 1458, 794, 797, 1458, 797, 1712 798, 798, 798, 802, 802, 802, 806, 1458, 806, 715, 1713 1458, 1458, 715, 716, 716, 1458, 716, 718, 718, 1458, 1714 1458, 718, 719, 719, 1458, 719, 720, 720, 722, 722, 1715 1458, 1458, 722, 813, 813, 813, 817, 817, 817, 728, 1716 728, 1458, 728, 53, 53, 53, 1458, 53, 53, 686, 1717 686, 686, 839, 839, 839, 843, 843, 843, 846, 846, 1718 846, 849, 849, 849, 850, 850, 850, 851, 851, 851, 1719 1720 856, 856, 856, 773, 773, 1458, 1458, 773, 861, 861, 1721 861, 865, 865, 865, 779, 779, 1458, 779, 781, 781, 1722 1458, 1458, 781, 782, 782, 1458, 782, 783, 783, 785, 1723 785, 1458, 1458, 785, 872, 872, 872, 876, 876, 876, 1724 791, 791, 1458, 791, 793, 1458, 1458, 793, 794, 794, 1725 1458, 794, 796, 796, 1458, 1458, 796, 797, 797, 1458, 1726 797, 798, 798, 800, 800, 1458, 1458, 800, 884, 884, 1727 884, 888, 888, 888, 806, 806, 1458, 806, 890, 1458, 1728 890, 893, 1458, 893, 896, 1458, 896, 897, 897, 897, 1729 901, 901, 901, 905, 1458, 905, 53, 53, 53, 1458, 1730 1731 53, 53, 923, 923, 923, 775, 775, 775, 787, 787, 1732 787, 802, 802, 802, 937, 937, 937, 938, 938, 938, 1733 946, 946, 946, 950, 1458, 950, 953, 1458, 953, 954, 1734 954, 954, 958, 958, 958, 962, 1458, 962, 965, 1458, 1735 965, 968, 1458, 968, 969, 969, 969, 973, 973, 973, 1736 977, 1458, 977, 978, 1458, 978, 981, 1458, 981, 984, 1737 1458, 984, 985, 985, 985, 989, 989, 989, 993, 1458, 1738 993, 890, 1458, 890, 892, 1458, 1458, 892, 893, 893, 1739 1458, 893, 895, 895, 1458, 1458, 895, 896, 896, 1458, 1740 896, 897, 897, 899, 899, 1458, 1458, 899, 1000, 1000, 1741 1742 1000, 1004, 1004, 1004, 905, 905, 1458, 905, 53, 53, 1743 53, 1458, 53, 53, 850, 850, 850, 1021, 1021, 1021, 1744 1025, 1025, 1025, 1028, 1028, 1028, 1031, 1031, 1031, 1034, 1745 1034, 1034, 1035, 1035, 1035, 1043, 1043, 1043, 944, 944, 1746 1458, 1458, 944, 1048, 1048, 1048, 1052, 1052, 1052, 950, 1747 950, 1458, 950, 952, 952, 1458, 1458, 952, 953, 953, 1748 1458, 953, 954, 954, 956, 956, 1458, 1458, 956, 1059, 1749 1059, 1059, 1063, 1063, 1063, 962, 962, 1458, 962, 964, 1750 1458, 1458, 964, 965, 965, 1458, 965, 967, 967, 1458, 1751 1458, 967, 968, 968, 1458, 968, 969, 969, 971, 971, 1752 1753 1458, 1458, 971, 1071, 1071, 1071, 1075, 1075, 1075, 977, 1754 977, 1458, 977, 978, 1458, 978, 980, 1458, 1458, 980, 1755 981, 981, 1458, 981, 983, 983, 1458, 1458, 983, 984, 1756 984, 1458, 984, 985, 985, 987, 987, 1458, 1458, 987, 1757 1083, 1083, 1083, 1087, 1087, 1087, 993, 993, 1458, 993, 1758 1089, 1458, 1089, 1092, 1458, 1092, 1095, 1458, 1095, 1096, 1759 1096, 1096, 1100, 1100, 1100, 1104, 1458, 1104, 53, 53, 1760 53, 1458, 53, 53, 1116, 1116, 1116, 946, 946, 946, 1761 958, 958, 958, 973, 973, 973, 989, 989, 989, 1133, 1762 1133, 1133, 1139, 1139, 1139, 1137, 1137, 1137, 1144, 1144, 1763 1764 1144, 1143, 1143, 1143, 1145, 1458, 1145, 1148, 1458, 1148, 1765 1149, 1149, 1149, 1154, 1154, 1154, 1153, 1153, 1153, 1155, 1766 1458, 1155, 1158, 1458, 1158, 1161, 1458, 1161, 1162, 1162, 1767 1162, 1167, 1167, 1167, 1166, 1166, 1166, 1168, 1458, 1168, 1768 1169, 1458, 1169, 1172, 1458, 1172, 1175, 1458, 1175, 1176, 1769 1176, 1176, 1181, 1181, 1181, 1180, 1180, 1180, 1182, 1458, 1770 1182, 1183, 1458, 1183, 1186, 1458, 1186, 1189, 1458, 1189, 1771 1190, 1190, 1190, 1195, 1195, 1195, 1194, 1194, 1194, 1196, 1772 1458, 1196, 1089, 1458, 1089, 1091, 1458, 1458, 1091, 1092, 1773 1092, 1458, 1092, 1094, 1094, 1458, 1458, 1094, 1095, 1095, 1774 1775 1458, 1095, 1096, 1096, 1098, 1098, 1458, 1458, 1098, 1203, 1776 1203, 1203, 1207, 1207, 1207, 1104, 1104, 1458, 1104, 53, 1777 53, 53, 1458, 53, 53, 1035, 1035, 1035, 1223, 1223, 1778 1223, 1226, 1226, 1226, 1229, 1229, 1229, 1232, 1232, 1232, 1779 1235, 1235, 1235, 1240, 1240, 1240, 1239, 1239, 1239, 1242, 1780 1458, 1242, 1243, 1243, 1243, 1141, 1141, 1458, 1458, 1141, 1781 1247, 1247, 1247, 1248, 1248, 1248, 1145, 1145, 1458, 1145, 1782 1147, 1147, 1458, 1458, 1147, 1148, 1148, 1458, 1148, 1149, 1783 1149, 1151, 1151, 1458, 1458, 1151, 1254, 1254, 1254, 1255, 1784 1255, 1255, 1155, 1155, 1458, 1155, 1157, 1458, 1458, 1157, 1785 1786 1158, 1158, 1458, 1158, 1160, 1160, 1458, 1458, 1160, 1161, 1787 1161, 1458, 1161, 1162, 1162, 1164, 1164, 1458, 1458, 1164, 1788 1262, 1262, 1262, 1263, 1263, 1263, 1168, 1168, 1458, 1168, 1789 1169, 1458, 1169, 1171, 1458, 1458, 1171, 1172, 1172, 1458, 1790 1172, 1174, 1174, 1458, 1458, 1174, 1175, 1175, 1458, 1175, 1791 1176, 1176, 1178, 1178, 1458, 1458, 1178, 1270, 1270, 1270, 1792 1271, 1271, 1271, 1182, 1182, 1458, 1182, 1183, 1458, 1183, 1793 1185, 1458, 1458, 1185, 1186, 1186, 1458, 1186, 1188, 1188, 1794 1458, 1458, 1188, 1189, 1189, 1458, 1189, 1190, 1190, 1192, 1795 1192, 1458, 1458, 1192, 1278, 1278, 1278, 1279, 1279, 1279, 1796 1797 1196, 1196, 1458, 1196, 1280, 1458, 1280, 1283, 1458, 1283, 1798 1286, 1458, 1286, 1287, 1287, 1287, 1292, 1458, 1292, 1291, 1799 1291, 1291, 1293, 1458, 1293, 53, 53, 53, 1458, 53, 1800 53, 1301, 1458, 1301, 1300, 1300, 1300, 1302, 1458, 1302, 1801 1143, 1143, 1143, 1303, 1458, 1303, 1153, 1153, 1153, 1304, 1802 1458, 1304, 1166, 1166, 1166, 1305, 1458, 1305, 1180, 1180, 1803 1180, 1306, 1458, 1306, 1194, 1194, 1194, 1237, 1237, 1458, 1804 1458, 1237, 1310, 1310, 1310, 1311, 1311, 1311, 367, 367, 1805 367, 1242, 1242, 1458, 1242, 1312, 1312, 1312, 1315, 1458, 1806 1315, 1316, 1316, 1316, 1317, 1317, 1317, 1320, 1458, 1320, 1807 1808 1323, 1458, 1323, 1324, 1324, 1324, 1325, 1325, 1325, 1326, 1809 1458, 1326, 1329, 1458, 1329, 1332, 1458, 1332, 1333, 1333, 1810 1333, 1334, 1334, 1334, 1335, 1458, 1335, 1338, 1458, 1338, 1811 1341, 1458, 1341, 1342, 1342, 1342, 1343, 1343, 1343, 1344, 1812 1458, 1344, 1347, 1458, 1347, 1350, 1458, 1350, 1351, 1351, 1813 1351, 1352, 1352, 1352, 1280, 1458, 1280, 1282, 1458, 1458, 1814 1282, 1283, 1283, 1458, 1283, 1285, 1285, 1458, 1458, 1285, 1815 1286, 1286, 1458, 1286, 1287, 1287, 1289, 1289, 1458, 1458, 1816 1289, 1359, 1359, 1359, 1360, 1458, 1360, 1293, 1293, 1458, 1817 1293, 53, 53, 53, 1458, 53, 53, 1365, 1365, 1365, 1818 1819 1239, 1239, 1239, 1367, 1458, 1367, 1368, 1458, 1368, 1369, 1820 1458, 1369, 1370, 1458, 1370, 1371, 1458, 1371, 1372, 1458, 1821 1372, 1375, 1458, 1375, 1376, 1376, 1376, 1377, 1377, 1377, 1822 1378, 1458, 1378, 1314, 1314, 1458, 1458, 1314, 1315, 1315, 1823 1458, 1315, 1316, 1316, 1381, 1458, 1381, 1319, 1458, 1458, 1824 1319, 1320, 1320, 1458, 1320, 1322, 1322, 1458, 1458, 1322, 1825 1323, 1323, 1458, 1323, 1324, 1324, 1385, 1458, 1385, 1326, 1826 1458, 1326, 1328, 1458, 1458, 1328, 1329, 1329, 1458, 1329, 1827 1331, 1331, 1458, 1458, 1331, 1332, 1332, 1458, 1332, 1333, 1828 1333, 1389, 1458, 1389, 1335, 1458, 1335, 1337, 1458, 1458, 1829 1830 1337, 1338, 1338, 1458, 1338, 1340, 1340, 1458, 1458, 1340, 1831 1341, 1341, 1458, 1341, 1342, 1342, 1393, 1458, 1393, 1344, 1832 1458, 1344, 1346, 1458, 1458, 1346, 1347, 1347, 1458, 1347, 1833 1349, 1349, 1458, 1458, 1349, 1350, 1350, 1458, 1350, 1351, 1834 1351, 1397, 1458, 1397, 1398, 1458, 1398, 1401, 1458, 1401, 1835 1404, 1458, 1404, 1405, 1405, 1405, 1406, 1458, 1406, 53, 1836 53, 53, 1458, 53, 53, 1410, 1458, 1410, 1312, 1458, 1837 1312, 1317, 1458, 1317, 1325, 1458, 1325, 1334, 1458, 1334, 1838 1343, 1458, 1343, 1352, 1458, 1352, 1374, 1374, 1458, 1458, 1839 1374, 1375, 1375, 1458, 1375, 1376, 1376, 1366, 1458, 1366, 1840 1841 1415, 1458, 1415, 1416, 1458, 1416, 1419, 1458, 1419, 1420, 1842 1458, 1420, 1423, 1458, 1423, 1424, 1458, 1424, 1427, 1458, 1843 1427, 1428, 1458, 1428, 1431, 1458, 1431, 1400, 1458, 1458, 1844 1400, 1403, 1403, 1458, 1458, 1403, 1435, 1458, 1435, 1377, 1845 1458, 1377, 1439, 1458, 1439, 1414, 1458, 1458, 1414, 1418, 1846 1458, 1458, 1418, 1422, 1458, 1458, 1422, 1426, 1458, 1458, 1847 1426, 1430, 1458, 1458, 1430, 1445, 1458, 1445, 1448, 1458, 1848 1448, 1438, 1458, 1458, 1438, 1450, 1458, 1450, 1451, 1458, 1849 1451, 1452, 1458, 1452, 1453, 1458, 1453, 1454, 1458, 1454, 1850 1447, 1458, 1458, 1447, 1456, 1458, 1456, 1457, 1458, 1457, 1851 1852 3, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1853 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1854 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1855 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1856 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1857 1458, 1458, 1458, 1458 1858 } ; 1859 1860 static yyconst flex_int16_t yy_chk[7455] = 1861 { 0, 1862 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1863 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1864 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1865 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1866 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1867 1, 1, 1, 4, 7, 15, 4, 7, 4, 7, 1868 9, 4, 7, 9, 34, 9, 17, 17, 9, 19, 1869 19, 4, 7, 34, 24, 27, 27, 105, 9, 4, 1870 7, 15, 12, 105, 133, 12, 9, 12, 24, 23, 1871 12, 23, 23, 26, 28, 24, 23, 26, 1242, 28, 1872 1873 12, 23, 133, 26, 29, 23, 26, 23, 12, 14, 1874 14, 14, 14, 14, 14, 14, 14, 14, 14, 94, 1875 29, 94, 14, 14, 14, 265, 265, 14, 14, 14, 1876 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1877 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1878 14, 14, 16, 36, 25, 16, 1243, 16, 36, 36, 1879 16, 36, 36, 93, 25, 101, 93, 25, 97, 22, 1880 16, 25, 22, 97, 22, 431, 431, 22, 16, 20, 1881 20, 20, 20, 20, 20, 20, 20, 22, 33, 30, 1882 137, 30, 33, 20, 35, 22, 30, 30, 101, 30, 1883 1884 137, 33, 33, 30, 41, 33, 35, 33, 35, 106, 1885 35, 250, 41, 35, 106, 249, 41, 249, 41, 20, 1886 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 1887 32, 32, 1247, 21, 83, 250, 39, 102, 39, 21, 1888 21, 21, 21, 21, 21, 31, 32, 1248, 31, 31, 1889 32, 31, 39, 31, 32, 31, 32, 31, 37, 39, 1890 31, 83, 37, 32, 102, 128, 38, 83, 109, 102, 1891 37, 109, 38, 109, 38, 37, 38, 37, 128, 135, 1892 38, 44, 38, 38, 44, 655, 44, 655, 135, 44, 1893 62, 62, 62, 62, 62, 62, 62, 63, 154, 44, 1894 1895 63, 336, 63, 220, 652, 63, 336, 44, 48, 48, 1896 48, 48, 48, 48, 48, 63, 220, 162, 272, 48, 1897 348, 373, 652, 63, 154, 48, 48, 48, 48, 48, 1898 48, 49, 49, 49, 49, 49, 49, 49, 433, 440, 1899 1254, 446, 49, 162, 272, 454, 348, 373, 49, 49, 1900 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 1901 50, 50, 460, 1255, 433, 440, 50, 446, 596, 596, 1902 460, 454, 50, 50, 50, 50, 50, 50, 52, 52, 1903 52, 52, 52, 52, 52, 52, 54, 54, 54, 54, 1904 54, 54, 54, 282, 282, 282, 282, 54, 406, 647, 1905 1906 647, 479, 409, 54, 54, 54, 54, 54, 54, 56, 1907 479, 406, 56, 282, 56, 352, 409, 56, 368, 369, 1908 56, 56, 56, 56, 56, 56, 56, 56, 511, 352, 1909 648, 56, 368, 369, 1262, 56, 648, 56, 56, 56, 1910 56, 56, 56, 152, 481, 152, 152, 152, 152, 152, 1911 152, 152, 535, 481, 511, 352, 152, 551, 368, 369, 1912 535, 657, 152, 152, 152, 152, 152, 152, 153, 153, 1913 153, 153, 153, 153, 153, 153, 545, 639, 1263, 657, 1914 153, 604, 153, 551, 545, 639, 153, 153, 153, 153, 1915 153, 153, 264, 264, 264, 264, 264, 264, 264, 275, 1916 1917 275, 275, 275, 275, 275, 275, 449, 604, 153, 155, 1918 155, 155, 155, 155, 155, 155, 155, 607, 613, 1270, 1919 449, 155, 554, 554, 554, 554, 1271, 155, 155, 155, 1920 155, 155, 155, 156, 156, 156, 156, 156, 156, 156, 1921 156, 156, 1278, 607, 613, 156, 449, 620, 632, 666, 1922 666, 156, 156, 156, 156, 156, 156, 157, 157, 157, 1923 157, 157, 157, 157, 157, 159, 159, 159, 159, 159, 1924 159, 159, 159, 620, 632, 649, 159, 673, 650, 714, 1925 649, 650, 159, 159, 159, 159, 159, 159, 161, 161, 1926 161, 161, 161, 161, 161, 161, 161, 656, 1279, 1283, 1927 1928 161, 656, 161, 673, 306, 714, 161, 161, 161, 161, 1929 161, 161, 306, 358, 358, 358, 358, 358, 358, 358, 1930 1286, 1287, 450, 1291, 515, 306, 729, 653, 161, 258, 1931 258, 258, 258, 258, 258, 258, 450, 653, 515, 726, 1932 258, 306, 1293, 731, 729, 1299, 258, 258, 258, 258, 1933 258, 258, 260, 260, 260, 260, 260, 260, 260, 651, 1934 675, 731, 450, 260, 515, 726, 758, 761, 651, 260, 1935 260, 260, 260, 260, 260, 261, 261, 261, 261, 261, 1936 261, 261, 261, 263, 263, 263, 263, 263, 263, 263, 1937 696, 707, 758, 761, 263, 764, 675, 730, 696, 707, 1938 1939 263, 263, 263, 263, 263, 263, 266, 266, 266, 266, 1940 266, 266, 266, 266, 1300, 730, 1310, 1311, 266, 1315, 1941 1316, 764, 730, 1320, 266, 266, 266, 266, 266, 266, 1942 268, 268, 268, 268, 268, 268, 268, 268, 271, 271, 1943 271, 271, 271, 271, 271, 271, 271, 812, 341, 542, 1944 271, 1323, 271, 341, 1324, 812, 271, 271, 271, 271, 1945 271, 271, 341, 542, 341, 341, 770, 341, 362, 362, 1946 362, 362, 362, 362, 362, 741, 543, 732, 271, 276, 1947 276, 276, 276, 276, 276, 276, 276, 276, 1329, 542, 1948 543, 276, 770, 741, 741, 732, 546, 276, 276, 276, 1949 1950 276, 276, 276, 277, 277, 277, 277, 277, 277, 277, 1951 546, 1332, 732, 1333, 277, 1338, 543, 737, 1341, 743, 1952 277, 277, 277, 277, 277, 277, 346, 547, 346, 346, 1953 346, 346, 346, 346, 346, 737, 546, 743, 1342, 346, 1954 737, 547, 744, 738, 748, 346, 346, 346, 346, 346, 1955 346, 347, 347, 347, 347, 347, 347, 347, 347, 1347, 1956 744, 738, 748, 347, 738, 347, 1350, 547, 1351, 347, 1957 347, 347, 347, 347, 347, 430, 430, 430, 430, 430, 1958 430, 430, 458, 458, 458, 458, 458, 458, 458, 615, 1959 665, 347, 349, 349, 349, 349, 349, 349, 349, 349, 1960 1961 665, 1359, 1375, 615, 349, 1376, 819, 739, 1401, 616, 1962 349, 349, 349, 349, 349, 349, 353, 353, 353, 353, 1963 353, 353, 353, 616, 819, 739, 777, 353, 739, 615, 1964 750, 750, 742, 353, 353, 353, 353, 353, 353, 354, 1965 354, 354, 354, 354, 354, 354, 354, 1404, 750, 616, 1966 742, 354, 777, 742, 789, 792, 1415, 354, 354, 354, 1967 354, 354, 354, 355, 355, 355, 355, 355, 355, 355, 1968 355, 357, 357, 357, 357, 357, 357, 357, 804, 860, 1969 789, 792, 357, 1419, 820, 821, 1423, 860, 357, 357, 1970 357, 357, 357, 357, 361, 361, 361, 361, 361, 361, 1971 1972 361, 361, 820, 821, 804, 361, 1427, 820, 821, 822, 1973 824, 361, 361, 361, 361, 361, 361, 363, 363, 363, 1974 363, 363, 363, 363, 363, 363, 871, 822, 824, 363, 1975 1431, 826, 822, 824, 871, 363, 363, 363, 363, 363, 1976 363, 364, 364, 364, 364, 364, 364, 364, 364, 826, 1977 1439, 1448, 364, 835, 826, 827, 829, 831, 364, 364, 1978 364, 364, 364, 364, 370, 370, 370, 370, 370, 370, 1979 370, 370, 370, 827, 829, 831, 370, 829, 827, 835, 1980 913, 916, 370, 370, 370, 370, 370, 370, 372, 372, 1981 372, 372, 372, 372, 372, 372, 372, 883, 913, 916, 1982 1983 372, 891, 372, 913, 903, 883, 372, 372, 372, 372, 1984 372, 372, 462, 462, 462, 462, 462, 462, 462, 528, 1985 528, 528, 528, 528, 528, 528, 1241, 891, 372, 392, 1986 903, 926, 1240, 392, 929, 917, 392, 910, 623, 392, 1987 624, 392, 392, 392, 392, 424, 424, 424, 424, 424, 1988 424, 424, 623, 917, 624, 910, 424, 926, 910, 918, 1989 929, 658, 424, 424, 424, 424, 424, 424, 426, 426, 1990 426, 426, 426, 426, 426, 658, 999, 918, 623, 426, 1991 624, 932, 935, 941, 999, 426, 426, 426, 426, 426, 1992 426, 427, 427, 427, 427, 427, 427, 427, 427, 429, 1993 1994 429, 429, 429, 429, 429, 429, 948, 932, 935, 941, 1995 429, 960, 915, 922, 1239, 1009, 429, 429, 429, 429, 1996 429, 429, 432, 432, 432, 432, 432, 432, 432, 432, 1997 915, 922, 948, 1009, 432, 1235, 432, 960, 915, 1232, 1998 432, 432, 432, 432, 432, 432, 533, 533, 533, 533, 1999 533, 533, 533, 537, 537, 537, 537, 537, 537, 537, 2000 733, 627, 432, 434, 434, 434, 434, 434, 434, 434, 2001 963, 1229, 975, 979, 434, 627, 991, 1226, 733, 661, 2002 434, 434, 434, 434, 434, 434, 435, 435, 435, 435, 2003 435, 435, 435, 661, 1223, 733, 963, 435, 975, 979, 2004 2005 1037, 627, 991, 435, 435, 435, 435, 435, 435, 436, 2006 436, 436, 436, 436, 436, 436, 436, 439, 439, 439, 2007 439, 439, 439, 439, 439, 439, 1037, 628, 1220, 439, 2008 1207, 439, 1203, 1196, 1195, 439, 439, 439, 439, 439, 2009 439, 628, 635, 635, 635, 635, 635, 635, 635, 637, 2010 637, 637, 637, 637, 637, 637, 1017, 439, 445, 445, 2011 445, 445, 445, 445, 445, 445, 445, 628, 1194, 1190, 2012 445, 1189, 445, 1186, 1017, 664, 445, 445, 445, 445, 2013 445, 445, 641, 641, 641, 641, 641, 641, 641, 664, 2014 689, 689, 689, 689, 689, 689, 689, 734, 445, 451, 2015 2016 451, 451, 451, 451, 451, 451, 451, 451, 1182, 1181, 2017 1090, 451, 1180, 1102, 1119, 734, 1012, 451, 451, 451, 2018 451, 451, 451, 453, 453, 453, 453, 453, 453, 453, 2019 453, 453, 734, 1176, 1012, 453, 1090, 453, 1012, 1102, 2020 1119, 453, 453, 453, 453, 453, 453, 694, 694, 694, 2021 694, 694, 694, 694, 698, 698, 698, 698, 698, 698, 2022 698, 717, 736, 453, 463, 463, 463, 463, 463, 463, 2023 463, 463, 463, 1175, 1172, 717, 463, 1122, 1015, 1168, 2024 736, 718, 463, 463, 463, 463, 463, 463, 464, 464, 2025 464, 464, 464, 464, 464, 718, 1015, 736, 1167, 464, 2026 2027 1015, 717, 1016, 1122, 1105, 464, 464, 464, 464, 464, 2028 464, 509, 721, 509, 509, 509, 509, 509, 509, 509, 2029 1016, 718, 1105, 1166, 509, 1016, 721, 1162, 1161, 1108, 2030 509, 509, 509, 509, 509, 509, 510, 510, 510, 510, 2031 510, 510, 510, 510, 1158, 1047, 1105, 1108, 510, 1108, 2032 510, 1155, 721, 1047, 510, 510, 510, 510, 510, 510, 2033 703, 703, 703, 703, 703, 703, 703, 705, 705, 705, 2034 705, 705, 705, 705, 722, 825, 510, 512, 512, 512, 2035 512, 512, 512, 512, 512, 1125, 1058, 1154, 722, 512, 2036 1128, 1153, 1131, 825, 1058, 512, 512, 512, 512, 512, 2037 2038 512, 516, 516, 516, 516, 516, 516, 516, 516, 1070, 2039 825, 1125, 1149, 516, 722, 1156, 1128, 1070, 1131, 516, 2040 516, 516, 516, 516, 516, 517, 517, 517, 517, 517, 2041 517, 517, 517, 518, 518, 518, 518, 518, 518, 518, 2042 1082, 1156, 1148, 1145, 518, 1170, 1184, 1218, 1082, 1144, 2043 518, 518, 518, 518, 518, 518, 519, 519, 519, 519, 2044 519, 519, 519, 519, 521, 521, 521, 521, 521, 521, 2045 521, 1170, 1184, 1218, 1281, 521, 1318, 1327, 1106, 1107, 2046 1109, 521, 521, 521, 521, 521, 521, 522, 522, 522, 2047 522, 522, 522, 522, 522, 522, 1106, 1107, 1109, 522, 2048 2049 1281, 1112, 1318, 1327, 772, 522, 522, 522, 522, 522, 2050 522, 523, 523, 523, 523, 523, 523, 523, 772, 1112, 2051 1106, 1107, 523, 1143, 1112, 1113, 1139, 1137, 523, 523, 2052 523, 523, 523, 523, 527, 527, 527, 527, 527, 527, 2053 527, 527, 1136, 1113, 772, 527, 1133, 1132, 1129, 1209, 2054 1110, 527, 527, 527, 527, 527, 527, 529, 529, 529, 2055 529, 529, 529, 529, 529, 529, 1202, 1209, 1110, 529, 2056 1126, 1123, 1210, 1211, 1202, 529, 529, 529, 529, 529, 2057 529, 530, 530, 530, 530, 530, 530, 530, 530, 1110, 2058 1210, 1211, 530, 1120, 1116, 1212, 1213, 1295, 530, 530, 2059 2060 530, 530, 530, 530, 538, 538, 538, 538, 538, 538, 2061 538, 538, 538, 1212, 1213, 1295, 538, 1104, 1295, 1213, 2062 1296, 1103, 538, 538, 538, 538, 538, 538, 539, 539, 2063 539, 539, 539, 539, 539, 539, 1246, 1100, 1296, 539, 2064 1336, 1296, 1096, 1297, 1246, 539, 539, 539, 539, 539, 2065 539, 548, 548, 548, 548, 548, 548, 548, 548, 548, 2066 1253, 1297, 1345, 548, 1399, 1413, 1336, 1095, 1253, 548, 2067 548, 548, 548, 548, 548, 550, 550, 550, 550, 550, 2068 550, 550, 550, 550, 1261, 1297, 1092, 550, 1345, 550, 2069 1399, 1413, 1261, 550, 550, 550, 550, 550, 550, 709, 2070 2071 709, 709, 709, 709, 709, 709, 715, 715, 715, 715, 2072 715, 715, 715, 823, 773, 550, 590, 590, 590, 590, 2073 590, 590, 590, 1417, 1269, 1421, 1425, 590, 773, 1087, 2074 1364, 823, 1269, 590, 590, 590, 590, 590, 590, 592, 2075 592, 592, 592, 592, 592, 592, 823, 1277, 1364, 1417, 2076 592, 1421, 1425, 1429, 773, 1277, 592, 592, 592, 592, 2077 592, 592, 593, 593, 593, 593, 593, 593, 593, 593, 2078 595, 595, 595, 595, 595, 595, 595, 1309, 1358, 1429, 2079 1437, 595, 1446, 1214, 1407, 1309, 1358, 595, 595, 595, 2080 595, 595, 595, 597, 597, 597, 597, 597, 597, 597, 2081 2082 597, 1214, 1407, 1086, 1083, 597, 1437, 1075, 1446, 1074, 2083 1214, 597, 597, 597, 597, 597, 597, 598, 598, 598, 2084 598, 598, 598, 598, 598, 599, 599, 599, 599, 599, 2085 599, 599, 1405, 1071, 1063, 1062, 599, 1059, 1052, 1051, 2086 1405, 1048, 599, 599, 599, 599, 599, 599, 600, 600, 2087 600, 600, 600, 600, 600, 600, 603, 603, 603, 603, 2088 603, 603, 603, 603, 603, 735, 780, 781, 603, 1043, 2089 603, 1409, 1042, 784, 603, 603, 603, 603, 603, 603, 2090 780, 781, 1039, 735, 1038, 1035, 1034, 784, 1031, 1409, 2091 745, 1028, 740, 1025, 746, 735, 603, 606, 606, 606, 2092 2093 606, 606, 606, 606, 606, 606, 780, 781, 745, 606, 2094 740, 606, 746, 784, 830, 606, 606, 606, 606, 606, 2095 606, 745, 740, 1021, 746, 752, 752, 752, 752, 752, 2096 752, 752, 830, 785, 795, 796, 909, 606, 612, 612, 2097 612, 612, 612, 612, 612, 612, 612, 785, 795, 796, 2098 612, 830, 612, 1004, 909, 799, 612, 612, 612, 612, 2099 612, 612, 793, 793, 793, 793, 793, 793, 793, 799, 2100 1363, 909, 1000, 785, 795, 796, 800, 993, 612, 617, 2101 617, 617, 617, 617, 617, 617, 617, 617, 1363, 992, 2102 800, 617, 989, 985, 1436, 799, 1363, 617, 617, 617, 2103 2104 617, 617, 617, 619, 619, 619, 619, 619, 619, 619, 2105 619, 619, 1436, 984, 981, 619, 800, 619, 977, 976, 2106 973, 619, 619, 619, 619, 619, 619, 808, 808, 808, 2107 808, 808, 808, 808, 810, 810, 810, 810, 810, 810, 2108 810, 894, 911, 619, 629, 629, 629, 629, 629, 629, 2109 629, 629, 629, 969, 968, 894, 629, 965, 962, 961, 2110 911, 911, 629, 629, 629, 629, 629, 629, 631, 631, 2111 631, 631, 631, 631, 631, 631, 631, 958, 911, 954, 2112 631, 894, 631, 953, 1014, 828, 631, 631, 631, 631, 2113 631, 631, 814, 814, 814, 814, 814, 814, 814, 950, 2114 2115 949, 946, 1014, 828, 942, 895, 898, 912, 631, 642, 2116 642, 642, 642, 642, 642, 642, 642, 642, 828, 895, 2117 898, 642, 1014, 938, 937, 912, 899, 642, 642, 642, 2118 642, 642, 642, 643, 643, 643, 643, 643, 643, 643, 2119 899, 912, 936, 933, 643, 895, 898, 930, 927, 924, 2120 643, 643, 643, 643, 643, 643, 646, 646, 646, 646, 2121 646, 646, 646, 923, 905, 904, 899, 646, 906, 907, 2122 908, 914, 1011, 646, 646, 646, 646, 646, 646, 853, 2123 853, 853, 853, 853, 853, 853, 906, 907, 908, 914, 2124 1011, 646, 669, 901, 669, 669, 669, 669, 669, 669, 2125 2126 669, 906, 907, 908, 908, 669, 914, 897, 1010, 1011, 2127 1114, 669, 669, 669, 669, 669, 669, 858, 858, 858, 2128 858, 858, 858, 858, 943, 944, 1010, 1294, 1114, 669, 2129 670, 670, 670, 670, 670, 670, 670, 670, 943, 944, 2130 1010, 896, 670, 1114, 893, 1294, 888, 884, 670, 670, 2131 670, 670, 670, 670, 862, 862, 862, 862, 862, 862, 2132 862, 876, 1294, 872, 943, 944, 670, 671, 671, 671, 2133 671, 671, 671, 671, 867, 867, 867, 867, 867, 867, 2134 867, 869, 869, 869, 869, 869, 869, 869, 873, 873, 2135 873, 873, 873, 873, 873, 879, 879, 879, 879, 879, 2136 2137 879, 879, 671, 672, 672, 672, 672, 672, 672, 672, 2138 865, 861, 856, 851, 672, 850, 849, 846, 843, 839, 2139 672, 672, 672, 672, 672, 672, 674, 674, 674, 674, 2140 674, 674, 674, 674, 676, 676, 676, 676, 676, 676, 2141 676, 676, 817, 813, 806, 805, 676, 802, 798, 797, 2142 794, 791, 676, 676, 676, 676, 676, 676, 677, 677, 2143 677, 677, 677, 677, 677, 677, 679, 679, 679, 679, 2144 679, 679, 679, 790, 787, 783, 782, 679, 779, 778, 2145 775, 771, 768, 679, 679, 679, 679, 679, 679, 680, 2146 680, 680, 680, 680, 680, 680, 680, 680, 767, 766, 2147 2148 765, 680, 762, 759, 756, 755, 951, 680, 680, 680, 2149 680, 680, 680, 681, 681, 681, 681, 681, 681, 681, 2150 951, 728, 727, 724, 681, 720, 719, 716, 712, 708, 2151 681, 681, 681, 681, 681, 681, 683, 683, 683, 683, 2152 683, 683, 683, 683, 683, 701, 951, 697, 683, 692, 2153 687, 686, 685, 952, 683, 683, 683, 683, 683, 683, 2154 684, 684, 684, 684, 684, 684, 684, 952, 682, 678, 2155 668, 684, 667, 663, 662, 660, 659, 684, 684, 684, 2156 684, 684, 684, 688, 688, 688, 688, 688, 688, 688, 2157 688, 654, 644, 952, 688, 640, 634, 633, 630, 626, 2158 2159 688, 688, 688, 688, 688, 688, 690, 690, 690, 690, 2160 690, 690, 690, 690, 690, 625, 622, 621, 690, 618, 2161 614, 611, 610, 609, 690, 690, 690, 690, 690, 690, 2162 691, 691, 691, 691, 691, 691, 691, 691, 608, 605, 2163 602, 691, 601, 594, 591, 589, 585, 691, 691, 691, 2164 691, 691, 691, 699, 699, 699, 699, 699, 699, 699, 2165 699, 699, 581, 580, 579, 699, 578, 574, 573, 571, 2166 570, 699, 699, 699, 699, 699, 699, 700, 700, 700, 2167 700, 700, 700, 700, 700, 569, 568, 567, 700, 566, 2168 565, 564, 563, 562, 700, 700, 700, 700, 700, 700, 2169 2170 710, 710, 710, 710, 710, 710, 710, 710, 710, 561, 2171 560, 557, 710, 556, 555, 553, 552, 549, 710, 710, 2172 710, 710, 710, 710, 711, 711, 711, 711, 711, 711, 2173 711, 711, 544, 540, 536, 711, 531, 526, 525, 524, 2174 520, 711, 711, 711, 711, 711, 711, 723, 723, 723, 2175 723, 723, 723, 723, 723, 723, 514, 513, 508, 723, 2176 507, 506, 505, 504, 503, 723, 723, 723, 723, 723, 2177 723, 725, 725, 725, 725, 725, 725, 725, 725, 725, 2178 502, 501, 500, 725, 499, 725, 498, 496, 493, 725, 2179 725, 725, 725, 725, 725, 881, 881, 881, 881, 881, 2180 2181 881, 881, 885, 885, 885, 885, 885, 885, 885, 955, 2182 956, 725, 747, 966, 747, 747, 747, 747, 747, 747, 2183 747, 492, 491, 955, 956, 747, 490, 966, 489, 488, 2184 747, 747, 747, 747, 747, 747, 747, 749, 749, 749, 2185 749, 749, 749, 749, 487, 485, 484, 483, 749, 955, 2186 956, 482, 480, 966, 749, 749, 749, 749, 749, 749, 2187 751, 751, 751, 751, 751, 751, 751, 478, 477, 476, 2188 475, 751, 474, 1362, 473, 472, 470, 751, 751, 751, 2189 751, 751, 751, 753, 753, 753, 753, 753, 753, 753, 2190 753, 1362, 469, 468, 465, 753, 461, 457, 456, 455, 2191 2192 1362, 753, 753, 753, 753, 753, 753, 754, 754, 754, 2193 754, 754, 754, 754, 754, 757, 757, 757, 757, 757, 2194 757, 757, 757, 757, 452, 448, 447, 757, 444, 757, 2195 443, 442, 441, 757, 757, 757, 757, 757, 757, 892, 2196 892, 892, 892, 892, 892, 892, 964, 964, 964, 964, 2197 964, 964, 964, 967, 438, 757, 760, 760, 760, 760, 2198 760, 760, 760, 760, 760, 437, 970, 967, 760, 428, 2199 760, 425, 971, 982, 760, 760, 760, 760, 760, 760, 2200 970, 423, 422, 421, 420, 419, 971, 982, 418, 417, 2201 416, 415, 1361, 967, 983, 414, 760, 763, 763, 763, 2202 2203 763, 763, 763, 763, 763, 763, 970, 413, 983, 763, 2204 1361, 763, 971, 982, 986, 763, 763, 763, 763, 763, 2205 763, 980, 980, 980, 980, 980, 980, 980, 986, 1361, 2206 412, 410, 408, 987, 983, 1093, 407, 763, 769, 769, 2207 769, 769, 769, 769, 769, 769, 769, 987, 405, 1093, 2208 769, 404, 769, 401, 986, 1094, 769, 769, 769, 769, 2209 769, 769, 995, 995, 995, 995, 995, 995, 995, 1094, 2210 400, 398, 396, 987, 1097, 1093, 1098, 395, 769, 774, 2211 774, 774, 774, 774, 774, 774, 774, 774, 1097, 394, 2212 1098, 774, 389, 388, 386, 1094, 385, 774, 774, 774, 2213 2214 774, 774, 774, 776, 776, 776, 776, 776, 776, 776, 2215 776, 776, 384, 383, 1097, 776, 1098, 776, 381, 376, 2216 375, 776, 776, 776, 776, 776, 776, 997, 997, 997, 2217 997, 997, 997, 997, 1001, 1001, 1001, 1001, 1001, 1001, 2218 1001, 1140, 374, 776, 786, 786, 786, 786, 786, 786, 2219 786, 786, 786, 371, 367, 1140, 786, 365, 360, 359, 2220 356, 1013, 786, 786, 786, 786, 786, 786, 788, 788, 2221 788, 788, 788, 788, 788, 788, 788, 1006, 1007, 1013, 2222 788, 1140, 788, 351, 350, 342, 788, 788, 788, 788, 2223 788, 788, 340, 1013, 339, 1006, 1007, 1040, 1040, 1040, 2224 2225 1040, 1040, 1040, 1040, 1141, 334, 1006, 1007, 788, 801, 2226 801, 801, 801, 801, 801, 801, 801, 801, 1141, 332, 2227 330, 801, 329, 328, 327, 326, 325, 801, 801, 801, 2228 801, 801, 801, 803, 803, 803, 803, 803, 803, 803, 2229 803, 803, 1008, 1146, 1141, 803, 324, 803, 322, 321, 2230 1408, 803, 803, 803, 803, 803, 803, 1146, 320, 315, 2231 1008, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1408, 312, 2232 1147, 1008, 311, 803, 815, 815, 815, 815, 815, 815, 2233 815, 815, 815, 1146, 1147, 310, 815, 1408, 307, 300, 2234 299, 1150, 815, 815, 815, 815, 815, 815, 816, 816, 2235 2236 816, 816, 816, 816, 816, 1150, 297, 296, 294, 816, 2237 1147, 292, 291, 290, 288, 816, 816, 816, 816, 816, 2238 816, 832, 1151, 832, 832, 832, 832, 832, 832, 832, 2239 284, 1150, 283, 281, 832, 278, 1151, 274, 273, 832, 2240 832, 832, 832, 832, 832, 832, 833, 833, 833, 833, 2241 833, 833, 833, 270, 269, 267, 262, 833, 259, 257, 2242 256, 254, 1151, 833, 833, 833, 833, 833, 833, 834, 2243 834, 834, 834, 834, 834, 834, 834, 251, 247, 243, 2244 241, 834, 239, 834, 238, 236, 235, 834, 834, 834, 2245 834, 834, 834, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 2246 2247 1054, 1054, 1054, 1054, 1054, 1054, 1054, 234, 1159, 834, 2248 836, 836, 836, 836, 836, 836, 836, 233, 232, 231, 2249 230, 836, 1159, 228, 226, 224, 223, 836, 836, 836, 2250 836, 836, 836, 837, 837, 837, 837, 837, 837, 837, 2251 837, 221, 219, 218, 216, 837, 213, 212, 1159, 211, 2252 209, 837, 837, 837, 837, 837, 837, 838, 838, 838, 2253 838, 838, 838, 838, 838, 840, 840, 840, 840, 840, 2254 840, 840, 207, 206, 203, 202, 840, 200, 199, 198, 2255 197, 196, 840, 840, 840, 840, 840, 840, 841, 841, 2256 841, 841, 841, 841, 841, 841, 841, 195, 194, 193, 2257 2258 841, 192, 191, 190, 189, 1160, 841, 841, 841, 841, 2259 841, 841, 842, 842, 842, 842, 842, 842, 842, 1160, 2260 188, 187, 186, 842, 185, 184, 182, 181, 178, 842, 2261 842, 842, 842, 842, 842, 844, 844, 844, 844, 844, 2262 844, 844, 844, 844, 177, 1160, 176, 844, 175, 174, 2263 173, 172, 1163, 844, 844, 844, 844, 844, 844, 845, 2264 845, 845, 845, 845, 845, 845, 1163, 171, 169, 166, 2265 845, 165, 164, 163, 160, 158, 845, 845, 845, 845, 2266 845, 845, 847, 847, 847, 847, 847, 847, 847, 847, 2267 847, 149, 1163, 148, 847, 147, 146, 145, 144, 1164, 2268 2269 847, 847, 847, 847, 847, 847, 848, 848, 848, 848, 2270 848, 848, 848, 1164, 143, 141, 139, 848, 138, 136, 2271 134, 132, 131, 848, 848, 848, 848, 848, 848, 852, 2272 852, 852, 852, 852, 852, 852, 852, 130, 129, 1164, 2273 852, 127, 126, 125, 124, 123, 852, 852, 852, 852, 2274 852, 852, 854, 854, 854, 854, 854, 854, 854, 854, 2275 854, 122, 120, 118, 854, 117, 116, 115, 114, 113, 2276 854, 854, 854, 854, 854, 854, 855, 855, 855, 855, 2277 855, 855, 855, 855, 112, 111, 110, 855, 108, 107, 2278 100, 99, 98, 855, 855, 855, 855, 855, 855, 863, 2279 2280 863, 863, 863, 863, 863, 863, 863, 863, 96, 95, 2281 92, 863, 91, 90, 89, 88, 87, 863, 863, 863, 2282 863, 863, 863, 864, 864, 864, 864, 864, 864, 864, 2283 864, 86, 85, 84, 864, 82, 81, 80, 79, 78, 2284 864, 864, 864, 864, 864, 864, 874, 874, 874, 874, 2285 874, 874, 874, 874, 874, 77, 76, 75, 874, 74, 2286 73, 72, 71, 70, 874, 874, 874, 874, 874, 874, 2287 875, 875, 875, 875, 875, 875, 875, 875, 69, 67, 2288 66, 875, 65, 51, 43, 42, 40, 875, 875, 875, 2289 875, 875, 875, 886, 886, 886, 886, 886, 886, 886, 2290 2291 886, 886, 18, 10, 8, 886, 3, 0, 0, 0, 2292 0, 886, 886, 886, 886, 886, 886, 887, 887, 887, 2293 887, 887, 887, 887, 887, 0, 0, 0, 887, 0, 2294 0, 0, 0, 0, 887, 887, 887, 887, 887, 887, 2295 900, 900, 900, 900, 900, 900, 900, 900, 900, 0, 2296 0, 0, 900, 0, 0, 0, 0, 0, 900, 900, 2297 900, 900, 900, 900, 902, 902, 902, 902, 902, 902, 2298 902, 902, 902, 0, 0, 0, 902, 0, 902, 0, 2299 0, 0, 902, 902, 902, 902, 902, 902, 1056, 1056, 2300 1056, 1056, 1056, 1056, 1056, 1060, 1060, 1060, 1060, 1060, 2301 2302 1060, 1060, 0, 0, 902, 919, 919, 919, 919, 919, 2303 919, 919, 919, 919, 0, 0, 0, 0, 919, 0, 2304 0, 0, 0, 919, 919, 919, 919, 919, 919, 919, 2305 920, 920, 920, 920, 920, 920, 920, 920, 921, 921, 2306 921, 921, 921, 921, 921, 921, 921, 1066, 1066, 1066, 2307 1066, 1066, 1066, 1066, 0, 0, 921, 925, 925, 925, 2308 925, 925, 925, 925, 925, 925, 0, 0, 0, 925, 2309 0, 925, 0, 0, 0, 925, 925, 925, 925, 925, 2310 925, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1072, 1072, 2311 1072, 1072, 1072, 1072, 1072, 0, 0, 925, 928, 928, 2312 2313 928, 928, 928, 928, 928, 928, 928, 0, 0, 0, 2314 928, 0, 928, 0, 0, 0, 928, 928, 928, 928, 2315 928, 928, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1080, 2316 1080, 1080, 1080, 1080, 1080, 1080, 0, 0, 928, 931, 2317 931, 931, 931, 931, 931, 931, 931, 931, 0, 0, 2318 0, 931, 0, 931, 0, 0, 0, 931, 931, 931, 2319 931, 931, 931, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 2320 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1111, 0, 931, 2321 934, 934, 934, 934, 934, 934, 934, 934, 934, 0, 2322 1173, 1174, 934, 0, 934, 1111, 0, 0, 934, 934, 2323 2324 934, 934, 934, 934, 1173, 1174, 1111, 1134, 1134, 1134, 2325 1134, 1134, 1134, 1134, 0, 1177, 0, 0, 0, 1178, 2326 934, 939, 939, 939, 939, 939, 939, 939, 939, 1177, 2327 1173, 1174, 939, 1178, 0, 0, 0, 0, 939, 939, 2328 939, 939, 939, 939, 940, 940, 940, 940, 940, 940, 2329 940, 940, 940, 0, 0, 1177, 940, 0, 940, 1178, 2330 0, 0, 940, 940, 940, 940, 940, 940, 1157, 1157, 2331 1157, 1157, 1157, 1157, 1157, 1171, 1171, 1171, 1171, 1171, 2332 1171, 1171, 1187, 0, 940, 945, 945, 945, 945, 945, 2333 945, 945, 945, 945, 0, 0, 1187, 945, 0, 0, 2334 2335 0, 0, 0, 945, 945, 945, 945, 945, 945, 947, 2336 947, 947, 947, 947, 947, 947, 947, 947, 0, 0, 2337 0, 947, 1187, 947, 0, 0, 1188, 947, 947, 947, 2338 947, 947, 947, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 2339 1188, 0, 0, 0, 0, 1191, 0, 1192, 0, 947, 2340 957, 957, 957, 957, 957, 957, 957, 957, 957, 1191, 2341 0, 1192, 957, 0, 0, 0, 1188, 0, 957, 957, 2342 957, 957, 957, 957, 959, 959, 959, 959, 959, 959, 2343 959, 959, 959, 0, 0, 1191, 959, 1192, 959, 0, 2344 0, 0, 959, 959, 959, 959, 959, 959, 1198, 1198, 2345 2346 1198, 1198, 1198, 1198, 1198, 1200, 1200, 1200, 1200, 1200, 2347 1200, 1200, 1236, 0, 959, 972, 972, 972, 972, 972, 2348 972, 972, 972, 972, 0, 0, 1236, 972, 0, 0, 2349 0, 0, 0, 972, 972, 972, 972, 972, 972, 974, 2350 974, 974, 974, 974, 974, 974, 974, 974, 0, 0, 2351 0, 974, 1236, 974, 0, 0, 1237, 974, 974, 974, 2352 974, 974, 974, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 2353 1237, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 0, 974, 2354 988, 988, 988, 988, 988, 988, 988, 988, 988, 0, 2355 0, 0, 988, 0, 0, 0, 1237, 1215, 988, 988, 2356 2357 988, 988, 988, 988, 990, 990, 990, 990, 990, 990, 2358 990, 990, 990, 1216, 0, 1215, 990, 0, 990, 0, 2359 0, 0, 990, 990, 990, 990, 990, 990, 1215, 0, 2360 0, 1216, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 0, 2361 0, 1284, 1216, 0, 990, 1002, 1002, 1002, 1002, 1002, 2362 1002, 1002, 1002, 1002, 0, 1284, 0, 1002, 0, 0, 2363 0, 0, 1285, 1002, 1002, 1002, 1002, 1002, 1002, 1003, 2364 1003, 1003, 1003, 1003, 1003, 1003, 1285, 0, 0, 0, 2365 1003, 1284, 0, 0, 0, 0, 1003, 1003, 1003, 1003, 2366 1003, 1003, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 2367 2368 1018, 0, 1285, 0, 0, 1018, 0, 0, 0, 0, 2369 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019, 1019, 2370 1019, 1019, 1019, 1019, 1019, 1020, 1020, 1020, 1020, 1020, 2371 1020, 1020, 1020, 1020, 1251, 1251, 1251, 1251, 1251, 1251, 2372 1251, 0, 1288, 1020, 1022, 1022, 1022, 1022, 1022, 1022, 2373 1022, 0, 0, 0, 0, 1022, 1288, 0, 0, 0, 2374 0, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1023, 1023, 2375 1023, 1023, 1023, 1023, 1023, 1023, 0, 0, 0, 1023, 2376 0, 0, 1288, 0, 1289, 1023, 1023, 1023, 1023, 1023, 2377 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1289, 0, 2378 2379 0, 0, 1024, 0, 0, 0, 0, 0, 1024, 1024, 2380 1024, 1024, 1024, 1024, 1026, 1026, 1026, 1026, 1026, 1026, 2381 1026, 1026, 1026, 0, 1289, 0, 1026, 0, 0, 0, 2382 0, 1313, 1026, 1026, 1026, 1026, 1026, 1026, 1027, 1027, 2383 1027, 1027, 1027, 1027, 1027, 1313, 0, 0, 0, 1027, 2384 0, 0, 0, 0, 0, 1027, 1027, 1027, 1027, 1027, 2385 1027, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 2386 0, 1313, 0, 1029, 0, 0, 0, 0, 1314, 1029, 2387 1029, 1029, 1029, 1029, 1029, 1030, 1030, 1030, 1030, 1030, 2388 1030, 1030, 1314, 0, 0, 0, 1030, 0, 0, 0, 2389 2390 0, 0, 1030, 1030, 1030, 1030, 1030, 1030, 1032, 1032, 2391 1032, 1032, 1032, 1032, 1032, 1032, 1032, 0, 1314, 0, 2392 1032, 0, 0, 0, 0, 1321, 1032, 1032, 1032, 1032, 2393 1032, 1032, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1321, 2394 0, 0, 0, 1033, 0, 0, 0, 0, 0, 1033, 2395 1033, 1033, 1033, 1033, 1033, 1036, 1036, 1036, 1036, 1036, 2396 1036, 1036, 1036, 1036, 0, 1321, 0, 1036, 0, 1036, 2397 0, 0, 0, 1036, 1036, 1036, 1036, 1036, 1036, 1257, 2398 1257, 1257, 1257, 1257, 1257, 1257, 1259, 1259, 1259, 1259, 2399 1259, 1259, 1259, 1322, 0, 1036, 1041, 1041, 1041, 1041, 2400 2401 1041, 1041, 1041, 1041, 1041, 0, 0, 1322, 1041, 0, 2402 0, 0, 0, 0, 1041, 1041, 1041, 1041, 1041, 1041, 2403 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 0, 2404 0, 0, 1050, 1322, 0, 0, 0, 0, 1050, 1050, 2405 1050, 1050, 1050, 1050, 1061, 1061, 1061, 1061, 1061, 1061, 2406 1061, 1061, 1061, 0, 0, 0, 1061, 0, 0, 0, 2407 0, 0, 1061, 1061, 1061, 1061, 1061, 1061, 1073, 1073, 2408 1073, 1073, 1073, 1073, 1073, 1073, 1073, 0, 0, 0, 2409 1073, 0, 0, 0, 0, 0, 1073, 1073, 1073, 1073, 2410 1073, 1073, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 2411 2412 1085, 0, 0, 0, 1085, 0, 0, 0, 0, 0, 2413 1085, 1085, 1085, 1085, 1085, 1085, 1099, 1099, 1099, 1099, 2414 1099, 1099, 1099, 1099, 1099, 0, 0, 0, 1099, 0, 2415 0, 0, 0, 0, 1099, 1099, 1099, 1099, 1099, 1099, 2416 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 0, 2417 0, 0, 1101, 0, 1101, 0, 0, 0, 1101, 1101, 2418 1101, 1101, 1101, 1101, 1265, 1265, 1265, 1265, 1265, 1265, 2419 1265, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 0, 0, 2420 1101, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 2421 1273, 1273, 1273, 1273, 1273, 1273, 1273, 0, 1330, 1115, 2422 2423 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 0, 0, 2424 0, 1117, 1330, 0, 0, 0, 0, 1117, 1117, 1117, 2425 1117, 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 2426 1118, 1118, 0, 0, 0, 1118, 0, 1118, 1330, 0, 2427 0, 1118, 1118, 1118, 1118, 1118, 1118, 1275, 1275, 1275, 2428 1275, 1275, 1275, 1275, 1282, 1282, 1282, 1282, 1282, 1282, 2429 1282, 0, 0, 1118, 1121, 1121, 1121, 1121, 1121, 1121, 2430 1121, 1121, 1121, 0, 0, 0, 1121, 0, 1121, 0, 2431 0, 0, 1121, 1121, 1121, 1121, 1121, 1121, 1307, 1307, 2432 1307, 1307, 1307, 1307, 1307, 1319, 1319, 1319, 1319, 1319, 2433 2434 1319, 1319, 1331, 0, 1121, 1124, 1124, 1124, 1124, 1124, 2435 1124, 1124, 1124, 1124, 0, 0, 1331, 1124, 0, 1124, 2436 0, 0, 1339, 1124, 1124, 1124, 1124, 1124, 1124, 1328, 2437 1328, 1328, 1328, 1328, 1328, 1328, 1339, 0, 0, 0, 2438 0, 1340, 1331, 1348, 0, 1124, 1127, 1127, 1127, 1127, 2439 1127, 1127, 1127, 1127, 1127, 1340, 0, 1348, 1127, 0, 2440 1127, 0, 1339, 1349, 1127, 1127, 1127, 1127, 1127, 1127, 2441 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1349, 0, 0, 2442 0, 1340, 0, 1348, 0, 0, 1127, 1130, 1130, 1130, 2443 1130, 1130, 1130, 1130, 1130, 1130, 0, 0, 0, 1130, 2444 2445 0, 1130, 0, 1349, 0, 1130, 1130, 1130, 1130, 1130, 2446 1130, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1354, 1354, 2447 1354, 1354, 1354, 1354, 1354, 1373, 0, 1130, 1135, 1135, 2448 1135, 1135, 1135, 1135, 1135, 1135, 1135, 0, 0, 1373, 2449 1135, 0, 0, 0, 0, 0, 1135, 1135, 1135, 1135, 2450 1135, 1135, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 2451 1142, 0, 0, 0, 1142, 1373, 0, 0, 0, 0, 2452 1142, 1142, 1142, 1142, 1142, 1142, 1152, 1152, 1152, 1152, 2453 1152, 1152, 1152, 1152, 1152, 0, 0, 0, 1152, 0, 2454 0, 0, 0, 0, 1152, 1152, 1152, 1152, 1152, 1152, 2455 2456 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 0, 2457 0, 0, 1165, 0, 0, 0, 0, 0, 1165, 1165, 2458 1165, 1165, 1165, 1165, 1179, 1179, 1179, 1179, 1179, 1179, 2459 1179, 1179, 1179, 0, 0, 0, 1179, 0, 0, 0, 2460 0, 0, 1179, 1179, 1179, 1179, 1179, 1179, 1193, 1193, 2461 1193, 1193, 1193, 1193, 1193, 1193, 1193, 0, 0, 0, 2462 1193, 0, 0, 0, 0, 0, 1193, 1193, 1193, 1193, 2463 1193, 1193, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 2464 1205, 0, 0, 0, 1205, 0, 0, 0, 0, 0, 2465 1205, 1205, 1205, 1205, 1205, 1205, 1217, 1217, 1217, 1217, 2466 2467 1217, 1217, 1217, 1217, 1217, 0, 0, 0, 1217, 0, 2468 1217, 0, 0, 1374, 1217, 1217, 1217, 1217, 1217, 1217, 2469 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1374, 1379, 1379, 2470 1379, 1379, 1379, 1379, 1379, 0, 1217, 1221, 1221, 1221, 2471 1221, 1221, 1221, 1221, 1221, 1221, 0, 0, 0, 1221, 2472 0, 0, 0, 1374, 0, 1221, 1221, 1221, 1221, 1221, 2473 1221, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 2474 0, 0, 0, 1224, 0, 0, 0, 0, 0, 1224, 2475 1224, 1224, 1224, 1224, 1224, 1227, 1227, 1227, 1227, 1227, 2476 1227, 1227, 1227, 1227, 0, 0, 0, 1227, 0, 0, 2477 2478 0, 0, 0, 1227, 1227, 1227, 1227, 1227, 1227, 1230, 2479 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 0, 0, 2480 0, 1230, 0, 0, 0, 0, 0, 1230, 1230, 1230, 2481 1230, 1230, 1230, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 2482 1233, 1233, 0, 0, 0, 1233, 0, 0, 0, 0, 2483 0, 1233, 1233, 1233, 1233, 1233, 1233, 1238, 1238, 1238, 2484 1238, 1238, 1238, 1238, 1238, 1238, 0, 0, 0, 1238, 2485 0, 0, 0, 0, 0, 1238, 1238, 1238, 1238, 1238, 2486 1238, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 2487 0, 0, 0, 1290, 0, 0, 0, 0, 0, 1290, 2488 2489 1290, 1290, 1290, 1290, 1290, 1298, 1298, 1298, 1298, 1298, 2490 1298, 1298, 1298, 1298, 0, 0, 0, 1298, 0, 0, 2491 0, 0, 0, 1298, 1298, 1298, 1298, 1298, 1298, 1383, 2492 1383, 1383, 1383, 1383, 1383, 1383, 1387, 1387, 1387, 1387, 2493 1387, 1387, 1387, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 2494 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1400, 1400, 1400, 2495 1400, 1400, 1400, 1400, 1402, 1403, 1411, 1411, 1411, 1411, 2496 1411, 1411, 1411, 0, 0, 0, 0, 0, 1402, 1403, 2497 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1418, 1418, 1418, 2498 1418, 1418, 1418, 1418, 1422, 1422, 1422, 1422, 1422, 1422, 2499 2500 1422, 0, 0, 0, 1402, 1403, 1426, 1426, 1426, 1426, 2501 1426, 1426, 1426, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 2502 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1438, 1438, 1438, 2503 1438, 1438, 1438, 1438, 1447, 1447, 1447, 1447, 1447, 1447, 2504 1447, 1459, 0, 0, 0, 0, 1459, 1459, 1459, 1460, 2505 0, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1461, 0, 2506 1461, 1462, 1462, 1462, 1463, 1463, 1463, 1464, 1464, 1464, 2507 1465, 1465, 1465, 1466, 1466, 1466, 1467, 1467, 1467, 1468, 2508 1468, 1468, 1469, 1469, 1469, 1470, 1470, 1470, 1471, 0, 2509 1471, 1472, 1472, 1472, 1473, 1473, 1473, 1474, 1474, 1474, 2510 2511 1475, 1475, 1475, 1476, 0, 1476, 1477, 1477, 1477, 1478, 2512 1478, 0, 0, 1478, 1479, 1479, 1479, 1480, 1480, 1480, 2513 1481, 1481, 1481, 1482, 1482, 1482, 1483, 1483, 1483, 1484, 2514 1484, 1484, 1485, 1485, 1485, 1486, 1486, 1486, 1487, 1487, 2515 1487, 1488, 1488, 0, 0, 1488, 1489, 1489, 1489, 1490, 2516 1490, 1490, 1491, 0, 1491, 1492, 1492, 1492, 1493, 1493, 2517 1493, 1494, 0, 1494, 1495, 1495, 1495, 1496, 1496, 1496, 2518 1497, 1497, 1497, 1498, 1498, 1498, 1499, 1499, 1499, 1500, 2519 0, 1500, 1501, 0, 1501, 1502, 1502, 1502, 1503, 1503, 2520 1503, 1504, 0, 1504, 1505, 1505, 0, 0, 1505, 1506, 2521 2522 1506, 0, 0, 1506, 1507, 1507, 1507, 1508, 1508, 1508, 2523 1509, 1509, 0, 1509, 1510, 1510, 1510, 1511, 1511, 1511, 2524 1512, 1512, 1512, 1513, 1513, 1513, 1514, 1514, 1514, 1515, 2525 1515, 1515, 1516, 1516, 1516, 1517, 1517, 0, 0, 1517, 2526 1518, 1518, 1518, 1519, 1519, 1519, 1520, 1520, 0, 1520, 2527 1521, 1521, 0, 0, 1521, 1522, 1522, 0, 1522, 1523, 2528 1523, 1524, 1524, 0, 0, 1524, 1525, 1525, 1525, 1526, 2529 1526, 1526, 1527, 1527, 0, 1527, 1528, 0, 1528, 1529, 2530 0, 1529, 1530, 1530, 1530, 1531, 1531, 1531, 1532, 0, 2531 1532, 1533, 1533, 1533, 1534, 1534, 1534, 1535, 1535, 1535, 2532 2533 1536, 1536, 1536, 1537, 1537, 1537, 1538, 1538, 1538, 1539, 2534 0, 1539, 1540, 0, 1540, 1541, 1541, 1541, 1542, 1542, 2535 1542, 1543, 0, 1543, 1544, 0, 1544, 1545, 0, 1545, 2536 1546, 1546, 1546, 1547, 1547, 1547, 1548, 0, 1548, 1549, 2537 0, 0, 1549, 1550, 1550, 0, 1550, 1551, 1551, 0, 2538 0, 1551, 1552, 1552, 0, 1552, 1553, 1553, 1554, 1554, 2539 0, 0, 1554, 1555, 1555, 1555, 1556, 1556, 1556, 1557, 2540 1557, 0, 1557, 1558, 1558, 1558, 0, 1558, 1558, 1559, 2541 1559, 1559, 1560, 1560, 1560, 1561, 1561, 1561, 1562, 1562, 2542 1562, 1563, 1563, 1563, 1564, 1564, 1564, 1565, 1565, 1565, 2543 2544 1566, 1566, 1566, 1567, 1567, 0, 0, 1567, 1568, 1568, 2545 1568, 1569, 1569, 1569, 1570, 1570, 0, 1570, 1571, 1571, 2546 0, 0, 1571, 1572, 1572, 0, 1572, 1573, 1573, 1574, 2547 1574, 0, 0, 1574, 1575, 1575, 1575, 1576, 1576, 1576, 2548 1577, 1577, 0, 1577, 1578, 0, 0, 1578, 1579, 1579, 2549 0, 1579, 1580, 1580, 0, 0, 1580, 1581, 1581, 0, 2550 1581, 1582, 1582, 1583, 1583, 0, 0, 1583, 1584, 1584, 2551 1584, 1585, 1585, 1585, 1586, 1586, 0, 1586, 1587, 0, 2552 1587, 1588, 0, 1588, 1589, 0, 1589, 1590, 1590, 1590, 2553 1591, 1591, 1591, 1592, 0, 1592, 1593, 1593, 1593, 0, 2554 2555 1593, 1593, 1594, 1594, 1594, 1595, 1595, 1595, 1596, 1596, 2556 1596, 1597, 1597, 1597, 1598, 1598, 1598, 1599, 1599, 1599, 2557 1600, 1600, 1600, 1601, 0, 1601, 1602, 0, 1602, 1603, 2558 1603, 1603, 1604, 1604, 1604, 1605, 0, 1605, 1606, 0, 2559 1606, 1607, 0, 1607, 1608, 1608, 1608, 1609, 1609, 1609, 2560 1610, 0, 1610, 1611, 0, 1611, 1612, 0, 1612, 1613, 2561 0, 1613, 1614, 1614, 1614, 1615, 1615, 1615, 1616, 0, 2562 1616, 1617, 0, 1617, 1618, 0, 0, 1618, 1619, 1619, 2563 0, 1619, 1620, 1620, 0, 0, 1620, 1621, 1621, 0, 2564 1621, 1622, 1622, 1623, 1623, 0, 0, 1623, 1624, 1624, 2565 2566 1624, 1625, 1625, 1625, 1626, 1626, 0, 1626, 1627, 1627, 2567 1627, 0, 1627, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 2568 1630, 1630, 1630, 1631, 1631, 1631, 1632, 1632, 1632, 1633, 2569 1633, 1633, 1634, 1634, 1634, 1635, 1635, 1635, 1636, 1636, 2570 0, 0, 1636, 1637, 1637, 1637, 1638, 1638, 1638, 1639, 2571 1639, 0, 1639, 1640, 1640, 0, 0, 1640, 1641, 1641, 2572 0, 1641, 1642, 1642, 1643, 1643, 0, 0, 1643, 1644, 2573 1644, 1644, 1645, 1645, 1645, 1646, 1646, 0, 1646, 1647, 2574 0, 0, 1647, 1648, 1648, 0, 1648, 1649, 1649, 0, 2575 0, 1649, 1650, 1650, 0, 1650, 1651, 1651, 1652, 1652, 2576 2577 0, 0, 1652, 1653, 1653, 1653, 1654, 1654, 1654, 1655, 2578 1655, 0, 1655, 1656, 0, 1656, 1657, 0, 0, 1657, 2579 1658, 1658, 0, 1658, 1659, 1659, 0, 0, 1659, 1660, 2580 1660, 0, 1660, 1661, 1661, 1662, 1662, 0, 0, 1662, 2581 1663, 1663, 1663, 1664, 1664, 1664, 1665, 1665, 0, 1665, 2582 1666, 0, 1666, 1667, 0, 1667, 1668, 0, 1668, 1669, 2583 1669, 1669, 1670, 1670, 1670, 1671, 0, 1671, 1672, 1672, 2584 1672, 0, 1672, 1672, 1673, 1673, 1673, 1674, 1674, 1674, 2585 1675, 1675, 1675, 1676, 1676, 1676, 1677, 1677, 1677, 1678, 2586 1678, 1678, 1679, 1679, 1679, 1680, 1680, 1680, 1681, 1681, 2587 2588 1681, 1682, 1682, 1682, 1683, 0, 1683, 1684, 0, 1684, 2589 1685, 1685, 1685, 1686, 1686, 1686, 1687, 1687, 1687, 1688, 2590 0, 1688, 1689, 0, 1689, 1690, 0, 1690, 1691, 1691, 2591 1691, 1692, 1692, 1692, 1693, 1693, 1693, 1694, 0, 1694, 2592 1695, 0, 1695, 1696, 0, 1696, 1697, 0, 1697, 1698, 2593 1698, 1698, 1699, 1699, 1699, 1700, 1700, 1700, 1701, 0, 2594 1701, 1702, 0, 1702, 1703, 0, 1703, 1704, 0, 1704, 2595 1705, 1705, 1705, 1706, 1706, 1706, 1707, 1707, 1707, 1708, 2596 0, 1708, 1709, 0, 1709, 1710, 0, 0, 1710, 1711, 2597 1711, 0, 1711, 1712, 1712, 0, 0, 1712, 1713, 1713, 2598 2599 0, 1713, 1714, 1714, 1715, 1715, 0, 0, 1715, 1716, 2600 1716, 1716, 1717, 1717, 1717, 1718, 1718, 0, 1718, 1719, 2601 1719, 1719, 0, 1719, 1719, 1720, 1720, 1720, 1721, 1721, 2602 1721, 1722, 1722, 1722, 1723, 1723, 1723, 1724, 1724, 1724, 2603 1725, 1725, 1725, 1726, 1726, 1726, 1727, 1727, 1727, 1728, 2604 0, 1728, 1729, 1729, 1729, 1730, 1730, 0, 0, 1730, 2605 1731, 1731, 1731, 1732, 1732, 1732, 1733, 1733, 0, 1733, 2606 1734, 1734, 0, 0, 1734, 1735, 1735, 0, 1735, 1736, 2607 1736, 1737, 1737, 0, 0, 1737, 1738, 1738, 1738, 1739, 2608 1739, 1739, 1740, 1740, 0, 1740, 1741, 0, 0, 1741, 2609 2610 1742, 1742, 0, 1742, 1743, 1743, 0, 0, 1743, 1744, 2611 1744, 0, 1744, 1745, 1745, 1746, 1746, 0, 0, 1746, 2612 1747, 1747, 1747, 1748, 1748, 1748, 1749, 1749, 0, 1749, 2613 1750, 0, 1750, 1751, 0, 0, 1751, 1752, 1752, 0, 2614 1752, 1753, 1753, 0, 0, 1753, 1754, 1754, 0, 1754, 2615 1755, 1755, 1756, 1756, 0, 0, 1756, 1757, 1757, 1757, 2616 1758, 1758, 1758, 1759, 1759, 0, 1759, 1760, 0, 1760, 2617 1761, 0, 0, 1761, 1762, 1762, 0, 1762, 1763, 1763, 2618 0, 0, 1763, 1764, 1764, 0, 1764, 1765, 1765, 1766, 2619 1766, 0, 0, 1766, 1767, 1767, 1767, 1768, 1768, 1768, 2620 2621 1769, 1769, 0, 1769, 1770, 0, 1770, 1771, 0, 1771, 2622 1772, 0, 1772, 1773, 1773, 1773, 1774, 0, 1774, 1775, 2623 1775, 1775, 1776, 0, 1776, 1777, 1777, 1777, 0, 1777, 2624 1777, 1778, 0, 1778, 1779, 1779, 1779, 1780, 0, 1780, 2625 1781, 1781, 1781, 1782, 0, 1782, 1783, 1783, 1783, 1784, 2626 0, 1784, 1785, 1785, 1785, 1786, 0, 1786, 1787, 1787, 2627 1787, 1788, 0, 1788, 1789, 1789, 1789, 1790, 1790, 0, 2628 0, 1790, 1791, 1791, 1791, 1792, 1792, 1792, 1793, 1793, 2629 1793, 1794, 1794, 0, 1794, 1795, 1795, 1795, 1796, 0, 2630 1796, 1797, 1797, 1797, 1798, 1798, 1798, 1799, 0, 1799, 2631 2632 1800, 0, 1800, 1801, 1801, 1801, 1802, 1802, 1802, 1803, 2633 0, 1803, 1804, 0, 1804, 1805, 0, 1805, 1806, 1806, 2634 1806, 1807, 1807, 1807, 1808, 0, 1808, 1809, 0, 1809, 2635 1810, 0, 1810, 1811, 1811, 1811, 1812, 1812, 1812, 1813, 2636 0, 1813, 1814, 0, 1814, 1815, 0, 1815, 1816, 1816, 2637 1816, 1817, 1817, 1817, 1818, 0, 1818, 1819, 0, 0, 2638 1819, 1820, 1820, 0, 1820, 1821, 1821, 0, 0, 1821, 2639 1822, 1822, 0, 1822, 1823, 1823, 1824, 1824, 0, 0, 2640 1824, 1825, 1825, 1825, 1826, 0, 1826, 1827, 1827, 0, 2641 1827, 1828, 1828, 1828, 0, 1828, 1828, 1829, 1829, 1829, 2642 2643 1830, 1830, 1830, 1831, 0, 1831, 1832, 0, 1832, 1833, 2644 0, 1833, 1834, 0, 1834, 1835, 0, 1835, 1836, 0, 2645 1836, 1837, 0, 1837, 1838, 1838, 1838, 1839, 1839, 1839, 2646 1840, 0, 1840, 1841, 1841, 0, 0, 1841, 1842, 1842, 2647 0, 1842, 1843, 1843, 1844, 0, 1844, 1845, 0, 0, 2648 1845, 1846, 1846, 0, 1846, 1847, 1847, 0, 0, 1847, 2649 1848, 1848, 0, 1848, 1849, 1849, 1850, 0, 1850, 1851, 2650 0, 1851, 1852, 0, 0, 1852, 1853, 1853, 0, 1853, 2651 1854, 1854, 0, 0, 1854, 1855, 1855, 0, 1855, 1856, 2652 1856, 1857, 0, 1857, 1858, 0, 1858, 1859, 0, 0, 2653 2654 1859, 1860, 1860, 0, 1860, 1861, 1861, 0, 0, 1861, 2655 1862, 1862, 0, 1862, 1863, 1863, 1864, 0, 1864, 1865, 2656 0, 1865, 1866, 0, 0, 1866, 1867, 1867, 0, 1867, 2657 1868, 1868, 0, 0, 1868, 1869, 1869, 0, 1869, 1870, 2658 1870, 1871, 0, 1871, 1872, 0, 1872, 1873, 0, 1873, 2659 1874, 0, 1874, 1875, 1875, 1875, 1876, 0, 1876, 1877, 2660 1877, 1877, 0, 1877, 1877, 1878, 0, 1878, 1879, 0, 2661 1879, 1880, 0, 1880, 1881, 0, 1881, 1882, 0, 1882, 2662 1883, 0, 1883, 1884, 0, 1884, 1885, 1885, 0, 0, 2663 1885, 1886, 1886, 0, 1886, 1887, 1887, 1888, 0, 1888, 2664 2665 1889, 0, 1889, 1890, 0, 1890, 1891, 0, 1891, 1892, 2666 0, 1892, 1893, 0, 1893, 1894, 0, 1894, 1895, 0, 2667 1895, 1896, 0, 1896, 1897, 0, 1897, 1898, 0, 0, 2668 1898, 1899, 1899, 0, 0, 1899, 1900, 0, 1900, 1901, 2669 0, 1901, 1902, 0, 1902, 1903, 0, 0, 1903, 1904, 2670 0, 0, 1904, 1905, 0, 0, 1905, 1906, 0, 0, 2671 1906, 1907, 0, 0, 1907, 1908, 0, 1908, 1909, 0, 2672 1909, 1910, 0, 0, 1910, 1911, 0, 1911, 1912, 0, 2673 1912, 1913, 0, 1913, 1914, 0, 1914, 1915, 0, 1915, 2674 1916, 0, 0, 1916, 1917, 0, 1917, 1918, 0, 1918, 2675 2676 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 2677 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 2678 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 2679 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 2680 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 2681 1458, 1458, 1458, 1458 2682 } ; 2683 2684 static yy_state_type yy_last_accepting_state; 2685 static char *yy_last_accepting_cpos; 2686 2687 extern int pcap__flex_debug; 2688 int pcap__flex_debug = 0; 2689 2690 /* The intent behind this definition is that it'll catch 2691 * any uses of REJECT which flex missed. 2692 */ 2693 #define REJECT reject_used_but_not_detected 2694 #define yymore() yymore_used_but_not_detected 2695 #define YY_MORE_ADJ 0 2696 #define YY_RESTORE_YY_MORE_OFFSET 2697 char *pcap_text; 2698 #line 1 "scanner.l" 2699 #line 2 "scanner.l" 2700 /* 2701 * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 2702 * The Regents of the University of California. All rights reserved. 2703 * 2704 * Redistribution and use in source and binary forms, with or without 2705 * modification, are permitted provided that: (1) source code distributions 2706 * retain the above copyright notice and this paragraph in its entirety, (2) 2707 * distributions including binary code include the above copyright notice and 2708 * this paragraph in its entirety in the documentation or other materials 2709 * provided with the distribution, and (3) all advertising materials mentioning 2710 * features or use of this software display the following acknowledgement: 2711 * ``This product includes software developed by the University of California, 2712 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of 2713 * the University nor the names of its contributors may be used to endorse 2714 * or promote products derived from this software without specific prior 2715 * written permission. 2716 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 2717 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 2718 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 2719 */ 2720 2721 #ifndef lint 2722 static const char rcsid[] _U_ = 2723 "@(#) $Header: /tcpdump/master/libpcap/scanner.l,v 1.112 2008-02-06 10:21:30 guy Exp $ (LBL)"; 2724 #endif 2725 2726 #ifdef HAVE_CONFIG_H 2727 #include "config.h" 2728 #endif 2729 2730 #ifdef WIN32 2731 #include <pcap-stdinc.h> 2732 #else /* WIN32 */ 2733 #if HAVE_INTTYPES_H 2734 #include <inttypes.h> 2735 #elif HAVE_STDINT_H 2736 #include <stdint.h> 2737 #endif 2738 #ifdef HAVE_SYS_BITYPES_H 2739 #include <sys/bitypes.h> 2740 #endif 2741 #include <sys/types.h> 2742 #endif /* WIN32 */ 2743 2744 #include <ctype.h> 2745 #include <string.h> 2746 2747 #include "pcap-int.h" 2748 2749 #include "gencode.h" 2750 #ifdef INET6 2751 #ifdef WIN32 2752 #include <pcap-stdinc.h> 2753 2754 #ifdef __MINGW32__ 2755 #include "ip6_misc.h" 2756 #endif 2757 #else /* WIN32 */ 2758 #include <sys/socket.h> /* for "struct sockaddr" in "struct addrinfo" */ 2759 #include <netdb.h> /* for "struct addrinfo" */ 2760 #endif /* WIN32 */ 2761 2762 /* Workaround for AIX 4.3 */ 2763 #if !defined(AI_NUMERICHOST) 2764 #define AI_NUMERICHOST 0x04 2765 #endif 2766 #endif /*INET6*/ 2767 #include <pcap/namedb.h> 2768 #include "tokdefs.h" 2769 2770 #ifdef HAVE_OS_PROTO_H 2771 #include "os-proto.h" 2772 #endif 2773 2774 static int stoi(char *); 2775 static inline int xdtoi(int); 2776 2777 #ifdef FLEX_SCANNER 2778 #define YY_NO_INPUT 2779 #define YY_NO_UNPUT 2780 static YY_BUFFER_STATE in_buffer; 2781 #else 2782 static const char *in_buffer; 2783 2784 #undef getc 2785 #define getc(fp) (*in_buffer == 0 ? EOF : *in_buffer++) 2786 #endif 2787 2788 #define yylval pcap_lval 2789 extern YYSTYPE yylval; 2790 2791 #line 2792 "scanner.c" 2792 2793 #define INITIAL 0 2794 2795 #ifndef YY_NO_UNISTD_H 2796 /* Special case for "unistd.h", since it is non-ANSI. We include it way 2797 * down here because we want the user's section 1 to have been scanned first. 2798 * The user has a chance to override it with an option. 2799 */ 2800 #include <unistd.h> 2801 #endif 2802 2803 #ifndef YY_EXTRA_TYPE 2804 #define YY_EXTRA_TYPE void * 2805 #endif 2806 2807 static int yy_init_globals (void ); 2808 2809 /* Accessor methods to globals. 2810 These are made visible to non-reentrant scanners for convenience. */ 2811 2812 int pcap_lex_destroy (void ); 2813 2814 int pcap_get_debug (void ); 2815 2816 void pcap_set_debug (int debug_flag ); 2817 2818 YY_EXTRA_TYPE pcap_get_extra (void ); 2819 2820 void pcap_set_extra (YY_EXTRA_TYPE user_defined ); 2821 2822 /* Macros after this point can all be overridden by user definitions in 2823 * section 1. 2824 */ 2825 2826 #ifndef YY_SKIP_YYWRAP 2827 #ifdef __cplusplus 2828 extern "C" int pcap_wrap (void ); 2829 #else 2830 extern int pcap_wrap (void ); 2831 #endif 2832 #endif 2833 2834 #ifndef yytext_ptr 2835 static void yy_flex_strncpy (char *,yyconst char *,int ); 2836 #endif 2837 2838 #ifdef YY_NEED_STRLEN 2839 static int yy_flex_strlen (yyconst char * ); 2840 #endif 2841 2842 #ifndef YY_NO_INPUT 2843 2844 #ifdef __cplusplus 2845 static int yyinput (void ); 2846 #else 2847 static int input (void ); 2848 #endif 2849 2850 #endif 2851 2852 /* Amount of stuff to slurp up with each read. */ 2853 #ifndef YY_READ_BUF_SIZE 2854 #ifdef __ia64__ 2855 /* On IA-64, the buffer size is 16k, not 8k */ 2856 #define YY_READ_BUF_SIZE 16384 2857 #else 2858 #define YY_READ_BUF_SIZE 8192 2859 #endif /* __ia64__ */ 2860 #endif 2861 2862 /* Copy whatever the last rule matched to the standard output. */ 2863 #ifndef ECHO 2864 /* This used to be an fputs(), but since the string might contain NUL's, 2865 * we now use fwrite(). 2866 */ 2867 #define ECHO do { if (fwrite( pcap_text, pcap_leng, 1, pcap_out )) {} } while (0) 2868 #endif 2869 2870 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2871 * is returned in "result". 2872 */ 2873 #ifndef YY_INPUT 2874 #define YY_INPUT(buf,result,max_size) \ 2875 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 2876 { \ 2877 int c = '*'; \ 2878 size_t n; \ 2879 for ( n = 0; n < max_size && \ 2880 (c = getc( pcap_in )) != EOF && c != '\n'; ++n ) \ 2881 buf[n] = (char) c; \ 2882 if ( c == '\n' ) \ 2883 buf[n++] = (char) c; \ 2884 if ( c == EOF && ferror( pcap_in ) ) \ 2885 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2886 result = n; \ 2887 } \ 2888 else \ 2889 { \ 2890 errno=0; \ 2891 while ( (result = fread(buf, 1, max_size, pcap_in))==0 && ferror(pcap_in)) \ 2892 { \ 2893 if( errno != EINTR) \ 2894 { \ 2895 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2896 break; \ 2897 } \ 2898 errno=0; \ 2899 clearerr(pcap_in); \ 2900 } \ 2901 }\ 2902 \ 2903 2904 #endif 2905 2906 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2907 * we don't want an extra ';' after the "return" because that will cause 2908 * some compilers to complain about unreachable statements. 2909 */ 2910 #ifndef yyterminate 2911 #define yyterminate() return YY_NULL 2912 #endif 2913 2914 /* Number of entries by which start-condition stack grows. */ 2915 #ifndef YY_START_STACK_INCR 2916 #define YY_START_STACK_INCR 25 2917 #endif 2918 2919 /* Report a fatal error. */ 2920 #ifndef YY_FATAL_ERROR 2921 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 2922 #endif 2923 2924 /* end tables serialization structures and prototypes */ 2925 2926 /* Default declaration of generated scanner - a define so the user can 2927 * easily add parameters. 2928 */ 2929 #ifndef YY_DECL 2930 #define YY_DECL_IS_OURS 1 2931 2932 extern int pcap_lex (void); 2933 2934 #define YY_DECL int pcap_lex (void) 2935 #endif /* !YY_DECL */ 2936 2937 /* Code executed at the beginning of each rule, after pcap_text and pcap_leng 2938 * have been set up. 2939 */ 2940 #ifndef YY_USER_ACTION 2941 #define YY_USER_ACTION 2942 #endif 2943 2944 /* Code executed at the end of each rule. */ 2945 #ifndef YY_BREAK 2946 #define YY_BREAK break; 2947 #endif 2948 2949 #define YY_RULE_SETUP \ 2950 YY_USER_ACTION 2951 2952 /** The main scanner function which does all the work. 2953 */ 2954 YY_DECL 2955 { 2956 register yy_state_type yy_current_state; 2957 register char *yy_cp, *yy_bp; 2958 register int yy_act; 2959 2960 #line 189 "scanner.l" 2961 2962 #line 2963 "scanner.c" 2963 2964 if ( !(yy_init) ) 2965 { 2966 (yy_init) = 1; 2967 2968 #ifdef YY_USER_INIT 2969 YY_USER_INIT; 2970 #endif 2971 2972 if ( ! (yy_start) ) 2973 (yy_start) = 1; /* first start state */ 2974 2975 if ( ! pcap_in ) 2976 pcap_in = stdin; 2977 2978 if ( ! pcap_out ) 2979 pcap_out = stdout; 2980 2981 if ( ! YY_CURRENT_BUFFER ) { 2982 pcap_ensure_buffer_stack (); 2983 YY_CURRENT_BUFFER_LVALUE = 2984 pcap__create_buffer(pcap_in,YY_BUF_SIZE ); 2985 } 2986 2987 pcap__load_buffer_state( ); 2988 } 2989 2990 while ( 1 ) /* loops until end-of-file is reached */ 2991 { 2992 yy_cp = (yy_c_buf_p); 2993 2994 /* Support of pcap_text. */ 2995 *yy_cp = (yy_hold_char); 2996 2997 /* yy_bp points to the position in yy_ch_buf of the start of 2998 * the current run. 2999 */ 3000 yy_bp = yy_cp; 3001 3002 yy_current_state = (yy_start); 3003 yy_match: 3004 do 3005 { 3006 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 3007 if ( yy_accept[yy_current_state] ) 3008 { 3009 (yy_last_accepting_state) = yy_current_state; 3010 (yy_last_accepting_cpos) = yy_cp; 3011 } 3012 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3013 { 3014 yy_current_state = (int) yy_def[yy_current_state]; 3015 if ( yy_current_state >= 1459 ) 3016 yy_c = yy_meta[(unsigned int) yy_c]; 3017 } 3018 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3019 ++yy_cp; 3020 } 3021 while ( yy_base[yy_current_state] != 7401 ); 3022 3023 yy_find_action: 3024 yy_act = yy_accept[yy_current_state]; 3025 if ( yy_act == 0 ) 3026 { /* have to back up */ 3027 yy_cp = (yy_last_accepting_cpos); 3028 yy_current_state = (yy_last_accepting_state); 3029 yy_act = yy_accept[yy_current_state]; 3030 } 3031 3032 YY_DO_BEFORE_ACTION; 3033 3034 do_action: /* This label is used only to access EOF actions. */ 3035 3036 switch ( yy_act ) 3037 { /* beginning of action switch */ 3038 case 0: /* must back up */ 3039 /* undo the effects of YY_DO_BEFORE_ACTION */ 3040 *yy_cp = (yy_hold_char); 3041 yy_cp = (yy_last_accepting_cpos); 3042 yy_current_state = (yy_last_accepting_state); 3043 goto yy_find_action; 3044 3045 case 1: 3046 YY_RULE_SETUP 3047 #line 190 "scanner.l" 3048 return DST; 3049 YY_BREAK 3050 case 2: 3051 YY_RULE_SETUP 3052 #line 191 "scanner.l" 3053 return SRC; 3054 YY_BREAK 3055 case 3: 3056 YY_RULE_SETUP 3057 #line 193 "scanner.l" 3058 return LINK; 3059 YY_BREAK 3060 case 4: 3061 YY_RULE_SETUP 3062 #line 194 "scanner.l" 3063 return LINK; 3064 YY_BREAK 3065 case 5: 3066 YY_RULE_SETUP 3067 #line 195 "scanner.l" 3068 return ARP; 3069 YY_BREAK 3070 case 6: 3071 YY_RULE_SETUP 3072 #line 196 "scanner.l" 3073 return RARP; 3074 YY_BREAK 3075 case 7: 3076 YY_RULE_SETUP 3077 #line 197 "scanner.l" 3078 return IP; 3079 YY_BREAK 3080 case 8: 3081 YY_RULE_SETUP 3082 #line 198 "scanner.l" 3083 return SCTP; 3084 YY_BREAK 3085 case 9: 3086 YY_RULE_SETUP 3087 #line 199 "scanner.l" 3088 return TCP; 3089 YY_BREAK 3090 case 10: 3091 YY_RULE_SETUP 3092 #line 200 "scanner.l" 3093 return UDP; 3094 YY_BREAK 3095 case 11: 3096 YY_RULE_SETUP 3097 #line 201 "scanner.l" 3098 return ICMP; 3099 YY_BREAK 3100 case 12: 3101 YY_RULE_SETUP 3102 #line 202 "scanner.l" 3103 return IGMP; 3104 YY_BREAK 3105 case 13: 3106 YY_RULE_SETUP 3107 #line 203 "scanner.l" 3108 return IGRP; 3109 YY_BREAK 3110 case 14: 3111 YY_RULE_SETUP 3112 #line 204 "scanner.l" 3113 return PIM; 3114 YY_BREAK 3115 case 15: 3116 YY_RULE_SETUP 3117 #line 205 "scanner.l" 3118 return VRRP; 3119 YY_BREAK 3120 case 16: 3121 YY_RULE_SETUP 3122 #line 206 "scanner.l" 3123 return CARP; 3124 YY_BREAK 3125 case 17: 3126 YY_RULE_SETUP 3127 #line 207 "scanner.l" 3128 return RADIO; 3129 YY_BREAK 3130 case 18: 3131 YY_RULE_SETUP 3132 #line 209 "scanner.l" 3133 return IPV6; 3134 YY_BREAK 3135 case 19: 3136 YY_RULE_SETUP 3137 #line 210 "scanner.l" 3138 return ICMPV6; 3139 YY_BREAK 3140 case 20: 3141 YY_RULE_SETUP 3142 #line 211 "scanner.l" 3143 return AH; 3144 YY_BREAK 3145 case 21: 3146 YY_RULE_SETUP 3147 #line 212 "scanner.l" 3148 return ESP; 3149 YY_BREAK 3150 case 22: 3151 YY_RULE_SETUP 3152 #line 214 "scanner.l" 3153 return ATALK; 3154 YY_BREAK 3155 case 23: 3156 YY_RULE_SETUP 3157 #line 215 "scanner.l" 3158 return AARP; 3159 YY_BREAK 3160 case 24: 3161 YY_RULE_SETUP 3162 #line 216 "scanner.l" 3163 return DECNET; 3164 YY_BREAK 3165 case 25: 3166 YY_RULE_SETUP 3167 #line 217 "scanner.l" 3168 return LAT; 3169 YY_BREAK 3170 case 26: 3171 YY_RULE_SETUP 3172 #line 218 "scanner.l" 3173 return SCA; 3174 YY_BREAK 3175 case 27: 3176 YY_RULE_SETUP 3177 #line 219 "scanner.l" 3178 return MOPRC; 3179 YY_BREAK 3180 case 28: 3181 YY_RULE_SETUP 3182 #line 220 "scanner.l" 3183 return MOPDL; 3184 YY_BREAK 3185 case 29: 3186 YY_RULE_SETUP 3187 #line 222 "scanner.l" 3188 return ISO; 3189 YY_BREAK 3190 case 30: 3191 YY_RULE_SETUP 3192 #line 223 "scanner.l" 3193 return ESIS; 3194 YY_BREAK 3195 case 31: 3196 YY_RULE_SETUP 3197 #line 224 "scanner.l" 3198 return ESIS; 3199 YY_BREAK 3200 case 32: 3201 YY_RULE_SETUP 3202 #line 225 "scanner.l" 3203 return ISIS; 3204 YY_BREAK 3205 case 33: 3206 YY_RULE_SETUP 3207 #line 226 "scanner.l" 3208 return ISIS; 3209 YY_BREAK 3210 case 34: 3211 YY_RULE_SETUP 3212 #line 227 "scanner.l" 3213 return L1; 3214 YY_BREAK 3215 case 35: 3216 YY_RULE_SETUP 3217 #line 228 "scanner.l" 3218 return L2; 3219 YY_BREAK 3220 case 36: 3221 YY_RULE_SETUP 3222 #line 229 "scanner.l" 3223 return IIH; 3224 YY_BREAK 3225 case 37: 3226 YY_RULE_SETUP 3227 #line 230 "scanner.l" 3228 return LSP; 3229 YY_BREAK 3230 case 38: 3231 YY_RULE_SETUP 3232 #line 231 "scanner.l" 3233 return SNP; 3234 YY_BREAK 3235 case 39: 3236 YY_RULE_SETUP 3237 #line 232 "scanner.l" 3238 return CSNP; 3239 YY_BREAK 3240 case 40: 3241 YY_RULE_SETUP 3242 #line 233 "scanner.l" 3243 return PSNP; 3244 YY_BREAK 3245 case 41: 3246 YY_RULE_SETUP 3247 #line 235 "scanner.l" 3248 return CLNP; 3249 YY_BREAK 3250 case 42: 3251 YY_RULE_SETUP 3252 #line 237 "scanner.l" 3253 return STP; 3254 YY_BREAK 3255 case 43: 3256 YY_RULE_SETUP 3257 #line 239 "scanner.l" 3258 return IPX; 3259 YY_BREAK 3260 case 44: 3261 YY_RULE_SETUP 3262 #line 241 "scanner.l" 3263 return NETBEUI; 3264 YY_BREAK 3265 case 45: 3266 YY_RULE_SETUP 3267 #line 243 "scanner.l" 3268 return HOST; 3269 YY_BREAK 3270 case 46: 3271 YY_RULE_SETUP 3272 #line 244 "scanner.l" 3273 return NET; 3274 YY_BREAK 3275 case 47: 3276 YY_RULE_SETUP 3277 #line 245 "scanner.l" 3278 return NETMASK; 3279 YY_BREAK 3280 case 48: 3281 YY_RULE_SETUP 3282 #line 246 "scanner.l" 3283 return PORT; 3284 YY_BREAK 3285 case 49: 3286 YY_RULE_SETUP 3287 #line 247 "scanner.l" 3288 return PORTRANGE; 3289 YY_BREAK 3290 case 50: 3291 YY_RULE_SETUP 3292 #line 248 "scanner.l" 3293 return PROTO; 3294 YY_BREAK 3295 case 51: 3296 YY_RULE_SETUP 3297 #line 249 "scanner.l" 3298 { 3299 #ifdef NO_PROTOCHAIN 3300 bpf_error("%s not supported", pcap_text); 3301 #else 3302 return PROTOCHAIN; 3303 #endif 3304 } 3305 YY_BREAK 3306 case 52: 3307 YY_RULE_SETUP 3308 #line 257 "scanner.l" 3309 return GATEWAY; 3310 YY_BREAK 3311 case 53: 3312 YY_RULE_SETUP 3313 #line 259 "scanner.l" 3314 return TYPE; 3315 YY_BREAK 3316 case 54: 3317 YY_RULE_SETUP 3318 #line 260 "scanner.l" 3319 return SUBTYPE; 3320 YY_BREAK 3321 case 55: 3322 YY_RULE_SETUP 3323 #line 261 "scanner.l" 3324 return DIR; 3325 YY_BREAK 3326 case 56: 3327 YY_RULE_SETUP 3328 #line 262 "scanner.l" 3329 return ADDR1; 3330 YY_BREAK 3331 case 57: 3332 YY_RULE_SETUP 3333 #line 263 "scanner.l" 3334 return ADDR2; 3335 YY_BREAK 3336 case 58: 3337 YY_RULE_SETUP 3338 #line 264 "scanner.l" 3339 return ADDR3; 3340 YY_BREAK 3341 case 59: 3342 YY_RULE_SETUP 3343 #line 265 "scanner.l" 3344 return ADDR4; 3345 YY_BREAK 3346 case 60: 3347 YY_RULE_SETUP 3348 #line 266 "scanner.l" 3349 return RA; 3350 YY_BREAK 3351 case 61: 3352 YY_RULE_SETUP 3353 #line 267 "scanner.l" 3354 return TA; 3355 YY_BREAK 3356 case 62: 3357 YY_RULE_SETUP 3358 #line 269 "scanner.l" 3359 return LESS; 3360 YY_BREAK 3361 case 63: 3362 YY_RULE_SETUP 3363 #line 270 "scanner.l" 3364 return GREATER; 3365 YY_BREAK 3366 case 64: 3367 YY_RULE_SETUP 3368 #line 271 "scanner.l" 3369 return CBYTE; 3370 YY_BREAK 3371 case 65: 3372 YY_RULE_SETUP 3373 #line 272 "scanner.l" 3374 return TK_BROADCAST; 3375 YY_BREAK 3376 case 66: 3377 YY_RULE_SETUP 3378 #line 273 "scanner.l" 3379 return TK_MULTICAST; 3380 YY_BREAK 3381 case 67: 3382 YY_RULE_SETUP 3383 #line 275 "scanner.l" 3384 return AND; 3385 YY_BREAK 3386 case 68: 3387 YY_RULE_SETUP 3388 #line 276 "scanner.l" 3389 return OR; 3390 YY_BREAK 3391 case 69: 3392 YY_RULE_SETUP 3393 #line 277 "scanner.l" 3394 return '!'; 3395 YY_BREAK 3396 case 70: 3397 YY_RULE_SETUP 3398 #line 279 "scanner.l" 3399 return LEN; 3400 YY_BREAK 3401 case 71: 3402 YY_RULE_SETUP 3403 #line 280 "scanner.l" 3404 return INBOUND; 3405 YY_BREAK 3406 case 72: 3407 YY_RULE_SETUP 3408 #line 281 "scanner.l" 3409 return OUTBOUND; 3410 YY_BREAK 3411 case 73: 3412 YY_RULE_SETUP 3413 #line 283 "scanner.l" 3414 return VLAN; 3415 YY_BREAK 3416 case 74: 3417 YY_RULE_SETUP 3418 #line 284 "scanner.l" 3419 return MPLS; 3420 YY_BREAK 3421 case 75: 3422 YY_RULE_SETUP 3423 #line 285 "scanner.l" 3424 return PPPOED; 3425 YY_BREAK 3426 case 76: 3427 YY_RULE_SETUP 3428 #line 286 "scanner.l" 3429 return PPPOES; 3430 YY_BREAK 3431 case 77: 3432 YY_RULE_SETUP 3433 #line 288 "scanner.l" 3434 return LANE; 3435 YY_BREAK 3436 case 78: 3437 YY_RULE_SETUP 3438 #line 289 "scanner.l" 3439 return LLC; 3440 YY_BREAK 3441 case 79: 3442 YY_RULE_SETUP 3443 #line 290 "scanner.l" 3444 return METAC; 3445 YY_BREAK 3446 case 80: 3447 YY_RULE_SETUP 3448 #line 291 "scanner.l" 3449 return BCC; 3450 YY_BREAK 3451 case 81: 3452 YY_RULE_SETUP 3453 #line 292 "scanner.l" 3454 return OAM; 3455 YY_BREAK 3456 case 82: 3457 YY_RULE_SETUP 3458 #line 293 "scanner.l" 3459 return OAMF4; 3460 YY_BREAK 3461 case 83: 3462 YY_RULE_SETUP 3463 #line 294 "scanner.l" 3464 return OAMF4EC; 3465 YY_BREAK 3466 case 84: 3467 YY_RULE_SETUP 3468 #line 295 "scanner.l" 3469 return OAMF4SC; 3470 YY_BREAK 3471 case 85: 3472 YY_RULE_SETUP 3473 #line 296 "scanner.l" 3474 return SC; 3475 YY_BREAK 3476 case 86: 3477 YY_RULE_SETUP 3478 #line 297 "scanner.l" 3479 return ILMIC; 3480 YY_BREAK 3481 case 87: 3482 YY_RULE_SETUP 3483 #line 298 "scanner.l" 3484 return VPI; 3485 YY_BREAK 3486 case 88: 3487 YY_RULE_SETUP 3488 #line 299 "scanner.l" 3489 return VCI; 3490 YY_BREAK 3491 case 89: 3492 YY_RULE_SETUP 3493 #line 300 "scanner.l" 3494 return CONNECTMSG; 3495 YY_BREAK 3496 case 90: 3497 YY_RULE_SETUP 3498 #line 301 "scanner.l" 3499 return METACONNECT; 3500 YY_BREAK 3501 case 91: 3502 YY_RULE_SETUP 3503 #line 303 "scanner.l" 3504 return PF_IFNAME; 3505 YY_BREAK 3506 case 92: 3507 YY_RULE_SETUP 3508 #line 304 "scanner.l" 3509 return PF_RSET; 3510 YY_BREAK 3511 case 93: 3512 YY_RULE_SETUP 3513 #line 305 "scanner.l" 3514 return PF_RNR; 3515 YY_BREAK 3516 case 94: 3517 YY_RULE_SETUP 3518 #line 306 "scanner.l" 3519 return PF_SRNR; 3520 YY_BREAK 3521 case 95: 3522 YY_RULE_SETUP 3523 #line 307 "scanner.l" 3524 return PF_REASON; 3525 YY_BREAK 3526 case 96: 3527 YY_RULE_SETUP 3528 #line 308 "scanner.l" 3529 return PF_ACTION; 3530 YY_BREAK 3531 case 97: 3532 YY_RULE_SETUP 3533 #line 310 "scanner.l" 3534 return FISU; 3535 YY_BREAK 3536 case 98: 3537 YY_RULE_SETUP 3538 #line 311 "scanner.l" 3539 return LSSU; 3540 YY_BREAK 3541 case 99: 3542 YY_RULE_SETUP 3543 #line 312 "scanner.l" 3544 return LSSU; 3545 YY_BREAK 3546 case 100: 3547 YY_RULE_SETUP 3548 #line 313 "scanner.l" 3549 return MSU; 3550 YY_BREAK 3551 case 101: 3552 YY_RULE_SETUP 3553 #line 314 "scanner.l" 3554 return HFISU; 3555 YY_BREAK 3556 case 102: 3557 YY_RULE_SETUP 3558 #line 315 "scanner.l" 3559 return HLSSU; 3560 YY_BREAK 3561 case 103: 3562 YY_RULE_SETUP 3563 #line 316 "scanner.l" 3564 return HMSU; 3565 YY_BREAK 3566 case 104: 3567 YY_RULE_SETUP 3568 #line 317 "scanner.l" 3569 return SIO; 3570 YY_BREAK 3571 case 105: 3572 YY_RULE_SETUP 3573 #line 318 "scanner.l" 3574 return OPC; 3575 YY_BREAK 3576 case 106: 3577 YY_RULE_SETUP 3578 #line 319 "scanner.l" 3579 return DPC; 3580 YY_BREAK 3581 case 107: 3582 YY_RULE_SETUP 3583 #line 320 "scanner.l" 3584 return SLS; 3585 YY_BREAK 3586 case 108: 3587 YY_RULE_SETUP 3588 #line 321 "scanner.l" 3589 return HSIO; 3590 YY_BREAK 3591 case 109: 3592 YY_RULE_SETUP 3593 #line 322 "scanner.l" 3594 return HOPC; 3595 YY_BREAK 3596 case 110: 3597 YY_RULE_SETUP 3598 #line 323 "scanner.l" 3599 return HDPC; 3600 YY_BREAK 3601 case 111: 3602 YY_RULE_SETUP 3603 #line 324 "scanner.l" 3604 return HSLS; 3605 YY_BREAK 3606 case 112: 3607 /* rule 112 can match eol */ 3608 YY_RULE_SETUP 3609 #line 326 "scanner.l" 3610 ; 3611 YY_BREAK 3612 case 113: 3613 YY_RULE_SETUP 3614 #line 327 "scanner.l" 3615 return pcap_text[0]; 3616 YY_BREAK 3617 case 114: 3618 YY_RULE_SETUP 3619 #line 328 "scanner.l" 3620 return GEQ; 3621 YY_BREAK 3622 case 115: 3623 YY_RULE_SETUP 3624 #line 329 "scanner.l" 3625 return LEQ; 3626 YY_BREAK 3627 case 116: 3628 YY_RULE_SETUP 3629 #line 330 "scanner.l" 3630 return NEQ; 3631 YY_BREAK 3632 case 117: 3633 YY_RULE_SETUP 3634 #line 331 "scanner.l" 3635 return '='; 3636 YY_BREAK 3637 case 118: 3638 YY_RULE_SETUP 3639 #line 332 "scanner.l" 3640 return LSH; 3641 YY_BREAK 3642 case 119: 3643 YY_RULE_SETUP 3644 #line 333 "scanner.l" 3645 return RSH; 3646 YY_BREAK 3647 case 120: 3648 YY_RULE_SETUP 3649 #line 334 "scanner.l" 3650 { yylval.e = pcap_ether_aton(((char *)pcap_text)+1); 3651 if (yylval.e == NULL) 3652 bpf_error("malloc"); 3653 return AID; } 3654 YY_BREAK 3655 case 121: 3656 YY_RULE_SETUP 3657 #line 338 "scanner.l" 3658 { yylval.e = pcap_ether_aton((char *)pcap_text); 3659 if (yylval.e == NULL) 3660 bpf_error("malloc"); 3661 return EID; } 3662 YY_BREAK 3663 case 122: 3664 YY_RULE_SETUP 3665 #line 342 "scanner.l" 3666 { yylval.i = stoi((char *)pcap_text); return NUM; } 3667 YY_BREAK 3668 case 123: 3669 YY_RULE_SETUP 3670 #line 343 "scanner.l" 3671 { 3672 yylval.s = sdup((char *)pcap_text); return HID; } 3673 YY_BREAK 3674 case 124: 3675 YY_RULE_SETUP 3676 #line 345 "scanner.l" 3677 { 3678 #ifdef INET6 3679 struct addrinfo hints, *res; 3680 memset(&hints, 0, sizeof(hints)); 3681 hints.ai_family = AF_INET6; 3682 hints.ai_flags = AI_NUMERICHOST; 3683 if (getaddrinfo(pcap_text, NULL, &hints, &res)) 3684 bpf_error("bogus IPv6 address %s", pcap_text); 3685 else { 3686 freeaddrinfo(res); 3687 yylval.s = sdup((char *)pcap_text); return HID6; 3688 } 3689 #else 3690 bpf_error("IPv6 address %s not supported", pcap_text); 3691 #endif /*INET6*/ 3692 } 3693 YY_BREAK 3694 case 125: 3695 YY_RULE_SETUP 3696 #line 361 "scanner.l" 3697 { bpf_error("bogus ethernet address %s", pcap_text); } 3698 YY_BREAK 3699 case 126: 3700 YY_RULE_SETUP 3701 #line 362 "scanner.l" 3702 { yylval.i = 0; return NUM; } 3703 YY_BREAK 3704 case 127: 3705 YY_RULE_SETUP 3706 #line 363 "scanner.l" 3707 { yylval.i = 1; return NUM; } 3708 YY_BREAK 3709 case 128: 3710 YY_RULE_SETUP 3711 #line 364 "scanner.l" 3712 { yylval.i = 0; return NUM; } 3713 YY_BREAK 3714 case 129: 3715 YY_RULE_SETUP 3716 #line 365 "scanner.l" 3717 { yylval.i = 3; return NUM; } 3718 YY_BREAK 3719 case 130: 3720 YY_RULE_SETUP 3721 #line 366 "scanner.l" 3722 { yylval.i = 4; return NUM; } 3723 YY_BREAK 3724 case 131: 3725 YY_RULE_SETUP 3726 #line 367 "scanner.l" 3727 { yylval.i = 5; return NUM; } 3728 YY_BREAK 3729 case 132: 3730 YY_RULE_SETUP 3731 #line 368 "scanner.l" 3732 { yylval.i = 8; return NUM; } 3733 YY_BREAK 3734 case 133: 3735 YY_RULE_SETUP 3736 #line 369 "scanner.l" 3737 { yylval.i = 9; return NUM; } 3738 YY_BREAK 3739 case 134: 3740 YY_RULE_SETUP 3741 #line 370 "scanner.l" 3742 { yylval.i = 10; return NUM; } 3743 YY_BREAK 3744 case 135: 3745 YY_RULE_SETUP 3746 #line 371 "scanner.l" 3747 { yylval.i = 11; return NUM; } 3748 YY_BREAK 3749 case 136: 3750 YY_RULE_SETUP 3751 #line 372 "scanner.l" 3752 { yylval.i = 12; return NUM; } 3753 YY_BREAK 3754 case 137: 3755 YY_RULE_SETUP 3756 #line 373 "scanner.l" 3757 { yylval.i = 13; return NUM; } 3758 YY_BREAK 3759 case 138: 3760 YY_RULE_SETUP 3761 #line 374 "scanner.l" 3762 { yylval.i = 14; return NUM; } 3763 YY_BREAK 3764 case 139: 3765 YY_RULE_SETUP 3766 #line 375 "scanner.l" 3767 { yylval.i = 15; return NUM; } 3768 YY_BREAK 3769 case 140: 3770 YY_RULE_SETUP 3771 #line 376 "scanner.l" 3772 { yylval.i = 16; return NUM; } 3773 YY_BREAK 3774 case 141: 3775 YY_RULE_SETUP 3776 #line 377 "scanner.l" 3777 { yylval.i = 17; return NUM; } 3778 YY_BREAK 3779 case 142: 3780 YY_RULE_SETUP 3781 #line 378 "scanner.l" 3782 { yylval.i = 18; return NUM; } 3783 YY_BREAK 3784 case 143: 3785 YY_RULE_SETUP 3786 #line 379 "scanner.l" 3787 { yylval.i = 13; return NUM; } 3788 YY_BREAK 3789 case 144: 3790 YY_RULE_SETUP 3791 #line 380 "scanner.l" 3792 { yylval.i = 0x01; return NUM; } 3793 YY_BREAK 3794 case 145: 3795 YY_RULE_SETUP 3796 #line 381 "scanner.l" 3797 { yylval.i = 0x02; return NUM; } 3798 YY_BREAK 3799 case 146: 3800 YY_RULE_SETUP 3801 #line 382 "scanner.l" 3802 { yylval.i = 0x04; return NUM; } 3803 YY_BREAK 3804 case 147: 3805 YY_RULE_SETUP 3806 #line 383 "scanner.l" 3807 { yylval.i = 0x08; return NUM; } 3808 YY_BREAK 3809 case 148: 3810 YY_RULE_SETUP 3811 #line 384 "scanner.l" 3812 { yylval.i = 0x10; return NUM; } 3813 YY_BREAK 3814 case 149: 3815 YY_RULE_SETUP 3816 #line 385 "scanner.l" 3817 { yylval.i = 0x20; return NUM; } 3818 YY_BREAK 3819 case 150: 3820 YY_RULE_SETUP 3821 #line 386 "scanner.l" 3822 { 3823 yylval.s = sdup((char *)pcap_text); return ID; } 3824 YY_BREAK 3825 case 151: 3826 YY_RULE_SETUP 3827 #line 388 "scanner.l" 3828 { yylval.s = sdup((char *)pcap_text + 1); return ID; } 3829 YY_BREAK 3830 case 152: 3831 YY_RULE_SETUP 3832 #line 389 "scanner.l" 3833 { 3834 bpf_error("illegal token: %s", pcap_text); } 3835 YY_BREAK 3836 case 153: 3837 YY_RULE_SETUP 3838 #line 391 "scanner.l" 3839 { bpf_error("illegal char '%c'", *pcap_text); } 3840 YY_BREAK 3841 case 154: 3842 YY_RULE_SETUP 3843 #line 392 "scanner.l" 3844 ECHO; 3845 YY_BREAK 3846 #line 3847 "scanner.c" 3847 case YY_STATE_EOF(INITIAL): 3848 yyterminate(); 3849 3850 case YY_END_OF_BUFFER: 3851 { 3852 /* Amount of text matched not including the EOB char. */ 3853 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3854 3855 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3856 *yy_cp = (yy_hold_char); 3857 YY_RESTORE_YY_MORE_OFFSET 3858 3859 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3860 { 3861 /* We're scanning a new file or input source. It's 3862 * possible that this happened because the user 3863 * just pointed pcap_in at a new source and called 3864 * pcap_lex(). If so, then we have to assure 3865 * consistency between YY_CURRENT_BUFFER and our 3866 * globals. Here is the right place to do so, because 3867 * this is the first action (other than possibly a 3868 * back-up) that will match for the new input source. 3869 */ 3870 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3871 YY_CURRENT_BUFFER_LVALUE->yy_input_file = pcap_in; 3872 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3873 } 3874 3875 /* Note that here we test for yy_c_buf_p "<=" to the position 3876 * of the first EOB in the buffer, since yy_c_buf_p will 3877 * already have been incremented past the NUL character 3878 * (since all states make transitions on EOB to the 3879 * end-of-buffer state). Contrast this with the test 3880 * in input(). 3881 */ 3882 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3883 { /* This was really a NUL. */ 3884 yy_state_type yy_next_state; 3885 3886 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3887 3888 yy_current_state = yy_get_previous_state( ); 3889 3890 /* Okay, we're now positioned to make the NUL 3891 * transition. We couldn't have 3892 * yy_get_previous_state() go ahead and do it 3893 * for us because it doesn't know how to deal 3894 * with the possibility of jamming (and we don't 3895 * want to build jamming into it because then it 3896 * will run more slowly). 3897 */ 3898 3899 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3900 3901 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3902 3903 if ( yy_next_state ) 3904 { 3905 /* Consume the NUL. */ 3906 yy_cp = ++(yy_c_buf_p); 3907 yy_current_state = yy_next_state; 3908 goto yy_match; 3909 } 3910 3911 else 3912 { 3913 yy_cp = (yy_c_buf_p); 3914 goto yy_find_action; 3915 } 3916 } 3917 3918 else switch ( yy_get_next_buffer( ) ) 3919 { 3920 case EOB_ACT_END_OF_FILE: 3921 { 3922 (yy_did_buffer_switch_on_eof) = 0; 3923 3924 if ( pcap_wrap( ) ) 3925 { 3926 /* Note: because we've taken care in 3927 * yy_get_next_buffer() to have set up 3928 * pcap_text, we can now set up 3929 * yy_c_buf_p so that if some total 3930 * hoser (like flex itself) wants to 3931 * call the scanner after we return the 3932 * YY_NULL, it'll still work - another 3933 * YY_NULL will get returned. 3934 */ 3935 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3936 3937 yy_act = YY_STATE_EOF(YY_START); 3938 goto do_action; 3939 } 3940 3941 else 3942 { 3943 if ( ! (yy_did_buffer_switch_on_eof) ) 3944 YY_NEW_FILE; 3945 } 3946 break; 3947 } 3948 3949 case EOB_ACT_CONTINUE_SCAN: 3950 (yy_c_buf_p) = 3951 (yytext_ptr) + yy_amount_of_matched_text; 3952 3953 yy_current_state = yy_get_previous_state( ); 3954 3955 yy_cp = (yy_c_buf_p); 3956 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3957 goto yy_match; 3958 3959 case EOB_ACT_LAST_MATCH: 3960 (yy_c_buf_p) = 3961 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3962 3963 yy_current_state = yy_get_previous_state( ); 3964 3965 yy_cp = (yy_c_buf_p); 3966 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3967 goto yy_find_action; 3968 } 3969 break; 3970 } 3971 3972 default: 3973 YY_FATAL_ERROR( 3974 "fatal flex scanner internal error--no action found" ); 3975 } /* end of action switch */ 3976 } /* end of scanning one token */ 3977 } /* end of pcap_lex */ 3978 3979 /* yy_get_next_buffer - try to read in a new buffer 3980 * 3981 * Returns a code representing an action: 3982 * EOB_ACT_LAST_MATCH - 3983 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3984 * EOB_ACT_END_OF_FILE - end of file 3985 */ 3986 static int yy_get_next_buffer (void) 3987 { 3988 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3989 register char *source = (yytext_ptr); 3990 register int number_to_move, i; 3991 int ret_val; 3992 3993 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 3994 YY_FATAL_ERROR( 3995 "fatal flex scanner internal error--end of buffer missed" ); 3996 3997 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 3998 { /* Don't try to fill the buffer, so this is an EOF. */ 3999 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 4000 { 4001 /* We matched a single character, the EOB, so 4002 * treat this as a final EOF. 4003 */ 4004 return EOB_ACT_END_OF_FILE; 4005 } 4006 4007 else 4008 { 4009 /* We matched some text prior to the EOB, first 4010 * process it. 4011 */ 4012 return EOB_ACT_LAST_MATCH; 4013 } 4014 } 4015 4016 /* Try to read more data. */ 4017 4018 /* First move last chars to start of buffer. */ 4019 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 4020 4021 for ( i = 0; i < number_to_move; ++i ) 4022 *(dest++) = *(source++); 4023 4024 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 4025 /* don't do the read, it's not guaranteed to return an EOF, 4026 * just force an EOF 4027 */ 4028 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 4029 4030 else 4031 { 4032 int num_to_read = 4033 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 4034 4035 while ( num_to_read <= 0 ) 4036 { /* Not enough room in the buffer - grow it. */ 4037 4038 /* just a shorter name for the current buffer */ 4039 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 4040 4041 int yy_c_buf_p_offset = 4042 (int) ((yy_c_buf_p) - b->yy_ch_buf); 4043 4044 if ( b->yy_is_our_buffer ) 4045 { 4046 int new_size = b->yy_buf_size * 2; 4047 4048 if ( new_size <= 0 ) 4049 b->yy_buf_size += b->yy_buf_size / 8; 4050 else 4051 b->yy_buf_size *= 2; 4052 4053 b->yy_ch_buf = (char *) 4054 /* Include room in for 2 EOB chars. */ 4055 pcap_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 4056 } 4057 else 4058 /* Can't grow it, we don't own it. */ 4059 b->yy_ch_buf = 0; 4060 4061 if ( ! b->yy_ch_buf ) 4062 YY_FATAL_ERROR( 4063 "fatal error - scanner input buffer overflow" ); 4064 4065 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 4066 4067 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 4068 number_to_move - 1; 4069 4070 } 4071 4072 if ( num_to_read > YY_READ_BUF_SIZE ) 4073 num_to_read = YY_READ_BUF_SIZE; 4074 4075 /* Read in more data. */ 4076 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 4077 (yy_n_chars), (size_t) num_to_read ); 4078 4079 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4080 } 4081 4082 if ( (yy_n_chars) == 0 ) 4083 { 4084 if ( number_to_move == YY_MORE_ADJ ) 4085 { 4086 ret_val = EOB_ACT_END_OF_FILE; 4087 pcap_restart(pcap_in ); 4088 } 4089 4090 else 4091 { 4092 ret_val = EOB_ACT_LAST_MATCH; 4093 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 4094 YY_BUFFER_EOF_PENDING; 4095 } 4096 } 4097 4098 else 4099 ret_val = EOB_ACT_CONTINUE_SCAN; 4100 4101 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 4102 /* Extend the array by 50%, plus the number we really need. */ 4103 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 4104 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) pcap_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 4105 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 4106 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 4107 } 4108 4109 (yy_n_chars) += number_to_move; 4110 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 4111 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 4112 4113 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 4114 4115 return ret_val; 4116 } 4117 4118 /* yy_get_previous_state - get the state just before the EOB char was reached */ 4119 4120 static yy_state_type yy_get_previous_state (void) 4121 { 4122 register yy_state_type yy_current_state; 4123 register char *yy_cp; 4124 4125 yy_current_state = (yy_start); 4126 4127 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 4128 { 4129 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 4130 if ( yy_accept[yy_current_state] ) 4131 { 4132 (yy_last_accepting_state) = yy_current_state; 4133 (yy_last_accepting_cpos) = yy_cp; 4134 } 4135 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4136 { 4137 yy_current_state = (int) yy_def[yy_current_state]; 4138 if ( yy_current_state >= 1459 ) 4139 yy_c = yy_meta[(unsigned int) yy_c]; 4140 } 4141 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 4142 } 4143 4144 return yy_current_state; 4145 } 4146 4147 /* yy_try_NUL_trans - try to make a transition on the NUL character 4148 * 4149 * synopsis 4150 * next_state = yy_try_NUL_trans( current_state ); 4151 */ 4152 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 4153 { 4154 register int yy_is_jam; 4155 register char *yy_cp = (yy_c_buf_p); 4156 4157 register YY_CHAR yy_c = 1; 4158 if ( yy_accept[yy_current_state] ) 4159 { 4160 (yy_last_accepting_state) = yy_current_state; 4161 (yy_last_accepting_cpos) = yy_cp; 4162 } 4163 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 4164 { 4165 yy_current_state = (int) yy_def[yy_current_state]; 4166 if ( yy_current_state >= 1459 ) 4167 yy_c = yy_meta[(unsigned int) yy_c]; 4168 } 4169 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 4170 yy_is_jam = (yy_current_state == 1458); 4171 4172 return yy_is_jam ? 0 : yy_current_state; 4173 } 4174 4175 #ifndef YY_NO_INPUT 4176 #ifdef __cplusplus 4177 static int yyinput (void) 4178 #else 4179 static int input (void) 4180 #endif 4181 4182 { 4183 int c; 4184 4185 *(yy_c_buf_p) = (yy_hold_char); 4186 4187 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 4188 { 4189 /* yy_c_buf_p now points to the character we want to return. 4190 * If this occurs *before* the EOB characters, then it's a 4191 * valid NUL; if not, then we've hit the end of the buffer. 4192 */ 4193 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 4194 /* This was really a NUL. */ 4195 *(yy_c_buf_p) = '\0'; 4196 4197 else 4198 { /* need more input */ 4199 int offset = (yy_c_buf_p) - (yytext_ptr); 4200 ++(yy_c_buf_p); 4201 4202 switch ( yy_get_next_buffer( ) ) 4203 { 4204 case EOB_ACT_LAST_MATCH: 4205 /* This happens because yy_g_n_b() 4206 * sees that we've accumulated a 4207 * token and flags that we need to 4208 * try matching the token before 4209 * proceeding. But for input(), 4210 * there's no matching to consider. 4211 * So convert the EOB_ACT_LAST_MATCH 4212 * to EOB_ACT_END_OF_FILE. 4213 */ 4214 4215 /* Reset buffer status. */ 4216 pcap_restart(pcap_in ); 4217 4218 /*FALLTHROUGH*/ 4219 4220 case EOB_ACT_END_OF_FILE: 4221 { 4222 if ( pcap_wrap( ) ) 4223 return EOF; 4224 4225 if ( ! (yy_did_buffer_switch_on_eof) ) 4226 YY_NEW_FILE; 4227 #ifdef __cplusplus 4228 return yyinput(); 4229 #else 4230 return input(); 4231 #endif 4232 } 4233 4234 case EOB_ACT_CONTINUE_SCAN: 4235 (yy_c_buf_p) = (yytext_ptr) + offset; 4236 break; 4237 } 4238 } 4239 } 4240 4241 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 4242 *(yy_c_buf_p) = '\0'; /* preserve pcap_text */ 4243 (yy_hold_char) = *++(yy_c_buf_p); 4244 4245 return c; 4246 } 4247 #endif /* ifndef YY_NO_INPUT */ 4248 4249 /** Immediately switch to a different input stream. 4250 * @param input_file A readable stream. 4251 * 4252 * @note This function does not reset the start condition to @c INITIAL . 4253 */ 4254 void pcap_restart (FILE * input_file ) 4255 { 4256 4257 if ( ! YY_CURRENT_BUFFER ){ 4258 pcap_ensure_buffer_stack (); 4259 YY_CURRENT_BUFFER_LVALUE = 4260 pcap__create_buffer(pcap_in,YY_BUF_SIZE ); 4261 } 4262 4263 pcap__init_buffer(YY_CURRENT_BUFFER,input_file ); 4264 pcap__load_buffer_state( ); 4265 } 4266 4267 /** Switch to a different input buffer. 4268 * @param new_buffer The new input buffer. 4269 * 4270 */ 4271 void pcap__switch_to_buffer (YY_BUFFER_STATE new_buffer ) 4272 { 4273 4274 /* TODO. We should be able to replace this entire function body 4275 * with 4276 * pcap_pop_buffer_state(); 4277 * pcap_push_buffer_state(new_buffer); 4278 */ 4279 pcap_ensure_buffer_stack (); 4280 if ( YY_CURRENT_BUFFER == new_buffer ) 4281 return; 4282 4283 if ( YY_CURRENT_BUFFER ) 4284 { 4285 /* Flush out information for old buffer. */ 4286 *(yy_c_buf_p) = (yy_hold_char); 4287 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4288 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4289 } 4290 4291 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4292 pcap__load_buffer_state( ); 4293 4294 /* We don't actually know whether we did this switch during 4295 * EOF (pcap_wrap()) processing, but the only time this flag 4296 * is looked at is after pcap_wrap() is called, so it's safe 4297 * to go ahead and always set it. 4298 */ 4299 (yy_did_buffer_switch_on_eof) = 1; 4300 } 4301 4302 static void pcap__load_buffer_state (void) 4303 { 4304 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 4305 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 4306 pcap_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 4307 (yy_hold_char) = *(yy_c_buf_p); 4308 } 4309 4310 /** Allocate and initialize an input buffer state. 4311 * @param file A readable stream. 4312 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 4313 * 4314 * @return the allocated buffer state. 4315 */ 4316 YY_BUFFER_STATE pcap__create_buffer (FILE * file, int size ) 4317 { 4318 YY_BUFFER_STATE b; 4319 4320 b = (YY_BUFFER_STATE) pcap_alloc(sizeof( struct yy_buffer_state ) ); 4321 if ( ! b ) 4322 YY_FATAL_ERROR( "out of dynamic memory in pcap__create_buffer()" ); 4323 4324 b->yy_buf_size = size; 4325 4326 /* yy_ch_buf has to be 2 characters longer than the size given because 4327 * we need to put in 2 end-of-buffer characters. 4328 */ 4329 b->yy_ch_buf = (char *) pcap_alloc(b->yy_buf_size + 2 ); 4330 if ( ! b->yy_ch_buf ) 4331 YY_FATAL_ERROR( "out of dynamic memory in pcap__create_buffer()" ); 4332 4333 b->yy_is_our_buffer = 1; 4334 4335 pcap__init_buffer(b,file ); 4336 4337 return b; 4338 } 4339 4340 /** Destroy the buffer. 4341 * @param b a buffer created with pcap__create_buffer() 4342 * 4343 */ 4344 void pcap__delete_buffer (YY_BUFFER_STATE b ) 4345 { 4346 4347 if ( ! b ) 4348 return; 4349 4350 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 4351 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 4352 4353 if ( b->yy_is_our_buffer ) 4354 pcap_free((void *) b->yy_ch_buf ); 4355 4356 pcap_free((void *) b ); 4357 } 4358 4359 #ifndef __cplusplus 4360 extern int isatty (int ); 4361 #endif /* __cplusplus */ 4362 4363 /* Initializes or reinitializes a buffer. 4364 * This function is sometimes called more than once on the same buffer, 4365 * such as during a pcap_restart() or at EOF. 4366 */ 4367 static void pcap__init_buffer (YY_BUFFER_STATE b, FILE * file ) 4368 4369 { 4370 int oerrno = errno; 4371 4372 pcap__flush_buffer(b ); 4373 4374 b->yy_input_file = file; 4375 b->yy_fill_buffer = 1; 4376 4377 /* If b is the current buffer, then pcap__init_buffer was _probably_ 4378 * called from pcap_restart() or through yy_get_next_buffer. 4379 * In that case, we don't want to reset the lineno or column. 4380 */ 4381 if (b != YY_CURRENT_BUFFER){ 4382 b->yy_bs_lineno = 1; 4383 b->yy_bs_column = 0; 4384 } 4385 4386 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 4387 4388 errno = oerrno; 4389 } 4390 4391 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 4392 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 4393 * 4394 */ 4395 void pcap__flush_buffer (YY_BUFFER_STATE b ) 4396 { 4397 if ( ! b ) 4398 return; 4399 4400 b->yy_n_chars = 0; 4401 4402 /* We always need two end-of-buffer characters. The first causes 4403 * a transition to the end-of-buffer state. The second causes 4404 * a jam in that state. 4405 */ 4406 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 4407 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 4408 4409 b->yy_buf_pos = &b->yy_ch_buf[0]; 4410 4411 b->yy_at_bol = 1; 4412 b->yy_buffer_status = YY_BUFFER_NEW; 4413 4414 if ( b == YY_CURRENT_BUFFER ) 4415 pcap__load_buffer_state( ); 4416 } 4417 4418 /** Pushes the new state onto the stack. The new state becomes 4419 * the current state. This function will allocate the stack 4420 * if necessary. 4421 * @param new_buffer The new state. 4422 * 4423 */ 4424 void pcap_push_buffer_state (YY_BUFFER_STATE new_buffer ) 4425 { 4426 if (new_buffer == NULL) 4427 return; 4428 4429 pcap_ensure_buffer_stack(); 4430 4431 /* This block is copied from pcap__switch_to_buffer. */ 4432 if ( YY_CURRENT_BUFFER ) 4433 { 4434 /* Flush out information for old buffer. */ 4435 *(yy_c_buf_p) = (yy_hold_char); 4436 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4437 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4438 } 4439 4440 /* Only push if top exists. Otherwise, replace top. */ 4441 if (YY_CURRENT_BUFFER) 4442 (yy_buffer_stack_top)++; 4443 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4444 4445 /* copied from pcap__switch_to_buffer. */ 4446 pcap__load_buffer_state( ); 4447 (yy_did_buffer_switch_on_eof) = 1; 4448 } 4449 4450 /** Removes and deletes the top of the stack, if present. 4451 * The next element becomes the new top. 4452 * 4453 */ 4454 void pcap_pop_buffer_state (void) 4455 { 4456 if (!YY_CURRENT_BUFFER) 4457 return; 4458 4459 pcap__delete_buffer(YY_CURRENT_BUFFER ); 4460 YY_CURRENT_BUFFER_LVALUE = NULL; 4461 if ((yy_buffer_stack_top) > 0) 4462 --(yy_buffer_stack_top); 4463 4464 if (YY_CURRENT_BUFFER) { 4465 pcap__load_buffer_state( ); 4466 (yy_did_buffer_switch_on_eof) = 1; 4467 } 4468 } 4469 4470 /* Allocates the stack if it does not exist. 4471 * Guarantees space for at least one push. 4472 */ 4473 static void pcap_ensure_buffer_stack (void) 4474 { 4475 int num_to_alloc; 4476 4477 if (!(yy_buffer_stack)) { 4478 4479 /* First allocation is just for 2 elements, since we don't know if this 4480 * scanner will even need a stack. We use 2 instead of 1 to avoid an 4481 * immediate realloc on the next call. 4482 */ 4483 num_to_alloc = 1; 4484 (yy_buffer_stack) = (struct yy_buffer_state**)pcap_alloc 4485 (num_to_alloc * sizeof(struct yy_buffer_state*) 4486 ); 4487 if ( ! (yy_buffer_stack) ) 4488 YY_FATAL_ERROR( "out of dynamic memory in pcap_ensure_buffer_stack()" ); 4489 4490 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 4491 4492 (yy_buffer_stack_max) = num_to_alloc; 4493 (yy_buffer_stack_top) = 0; 4494 return; 4495 } 4496 4497 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 4498 4499 /* Increase the buffer to prepare for a possible push. */ 4500 int grow_size = 8 /* arbitrary grow size */; 4501 4502 num_to_alloc = (yy_buffer_stack_max) + grow_size; 4503 (yy_buffer_stack) = (struct yy_buffer_state**)pcap_realloc 4504 ((yy_buffer_stack), 4505 num_to_alloc * sizeof(struct yy_buffer_state*) 4506 ); 4507 if ( ! (yy_buffer_stack) ) 4508 YY_FATAL_ERROR( "out of dynamic memory in pcap_ensure_buffer_stack()" ); 4509 4510 /* zero only the new slots.*/ 4511 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 4512 (yy_buffer_stack_max) = num_to_alloc; 4513 } 4514 } 4515 4516 /** Setup the input buffer state to scan directly from a user-specified character buffer. 4517 * @param base the character buffer 4518 * @param size the size in bytes of the character buffer 4519 * 4520 * @return the newly allocated buffer state object. 4521 */ 4522 YY_BUFFER_STATE pcap__scan_buffer (char * base, yy_size_t size ) 4523 { 4524 YY_BUFFER_STATE b; 4525 4526 if ( size < 2 || 4527 base[size-2] != YY_END_OF_BUFFER_CHAR || 4528 base[size-1] != YY_END_OF_BUFFER_CHAR ) 4529 /* They forgot to leave room for the EOB's. */ 4530 return 0; 4531 4532 b = (YY_BUFFER_STATE) pcap_alloc(sizeof( struct yy_buffer_state ) ); 4533 if ( ! b ) 4534 YY_FATAL_ERROR( "out of dynamic memory in pcap__scan_buffer()" ); 4535 4536 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 4537 b->yy_buf_pos = b->yy_ch_buf = base; 4538 b->yy_is_our_buffer = 0; 4539 b->yy_input_file = 0; 4540 b->yy_n_chars = b->yy_buf_size; 4541 b->yy_is_interactive = 0; 4542 b->yy_at_bol = 1; 4543 b->yy_fill_buffer = 0; 4544 b->yy_buffer_status = YY_BUFFER_NEW; 4545 4546 pcap__switch_to_buffer(b ); 4547 4548 return b; 4549 } 4550 4551 /** Setup the input buffer state to scan a string. The next call to pcap_lex() will 4552 * scan from a @e copy of @a str. 4553 * @param yystr a NUL-terminated string to scan 4554 * 4555 * @return the newly allocated buffer state object. 4556 * @note If you want to scan bytes that may contain NUL values, then use 4557 * pcap__scan_bytes() instead. 4558 */ 4559 YY_BUFFER_STATE pcap__scan_string (yyconst char * yystr ) 4560 { 4561 4562 return pcap__scan_bytes(yystr,strlen(yystr) ); 4563 } 4564 4565 /** Setup the input buffer state to scan the given bytes. The next call to pcap_lex() will 4566 * scan from a @e copy of @a bytes. 4567 * @param yybytes the byte buffer to scan 4568 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 4569 * 4570 * @return the newly allocated buffer state object. 4571 */ 4572 YY_BUFFER_STATE pcap__scan_bytes (yyconst char * yybytes, int _yybytes_len ) 4573 { 4574 YY_BUFFER_STATE b; 4575 char *buf; 4576 yy_size_t n; 4577 int i; 4578 4579 /* Get memory for full buffer, including space for trailing EOB's. */ 4580 n = _yybytes_len + 2; 4581 buf = (char *) pcap_alloc(n ); 4582 if ( ! buf ) 4583 YY_FATAL_ERROR( "out of dynamic memory in pcap__scan_bytes()" ); 4584 4585 for ( i = 0; i < _yybytes_len; ++i ) 4586 buf[i] = yybytes[i]; 4587 4588 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 4589 4590 b = pcap__scan_buffer(buf,n ); 4591 if ( ! b ) 4592 YY_FATAL_ERROR( "bad buffer in pcap__scan_bytes()" ); 4593 4594 /* It's okay to grow etc. this buffer, and we should throw it 4595 * away when we're done. 4596 */ 4597 b->yy_is_our_buffer = 1; 4598 4599 return b; 4600 } 4601 4602 #ifndef YY_EXIT_FAILURE 4603 #define YY_EXIT_FAILURE 2 4604 #endif 4605 4606 static void yy_fatal_error (yyconst char* msg ) 4607 { 4608 (void) fprintf( stderr, "%s\n", msg ); 4609 exit( YY_EXIT_FAILURE ); 4610 } 4611 4612 /* Redefine yyless() so it works in section 3 code. */ 4613 4614 #undef yyless 4615 #define yyless(n) \ 4616 do \ 4617 { \ 4618 /* Undo effects of setting up pcap_text. */ \ 4619 int yyless_macro_arg = (n); \ 4620 YY_LESS_LINENO(yyless_macro_arg);\ 4621 pcap_text[pcap_leng] = (yy_hold_char); \ 4622 (yy_c_buf_p) = pcap_text + yyless_macro_arg; \ 4623 (yy_hold_char) = *(yy_c_buf_p); \ 4624 *(yy_c_buf_p) = '\0'; \ 4625 pcap_leng = yyless_macro_arg; \ 4626 } \ 4627 while ( 0 ) 4628 4629 /* Accessor methods (get/set functions) to struct members. */ 4630 4631 /** Get the current token. 4632 * 4633 */ 4634 4635 int pcap_get_debug (void) 4636 { 4637 return pcap__flex_debug; 4638 } 4639 4640 void pcap_set_debug (int bdebug ) 4641 { 4642 pcap__flex_debug = bdebug ; 4643 } 4644 4645 static int yy_init_globals (void) 4646 { 4647 /* Initialization is the same as for the non-reentrant scanner. 4648 * This function is called from pcap_lex_destroy(), so don't allocate here. 4649 */ 4650 4651 (yy_buffer_stack) = 0; 4652 (yy_buffer_stack_top) = 0; 4653 (yy_buffer_stack_max) = 0; 4654 (yy_c_buf_p) = (char *) 0; 4655 (yy_init) = 0; 4656 (yy_start) = 0; 4657 4658 /* Defined in main.c */ 4659 #ifdef YY_STDINIT 4660 pcap_in = stdin; 4661 pcap_out = stdout; 4662 #else 4663 pcap_in = (FILE *) 0; 4664 pcap_out = (FILE *) 0; 4665 #endif 4666 4667 /* For future reference: Set errno on error, since we are called by 4668 * pcap_lex_init() 4669 */ 4670 return 0; 4671 } 4672 4673 /* pcap_lex_destroy is for both reentrant and non-reentrant scanners. */ 4674 int pcap_lex_destroy (void) 4675 { 4676 4677 /* Pop the buffer stack, destroying each element. */ 4678 while(YY_CURRENT_BUFFER){ 4679 pcap__delete_buffer(YY_CURRENT_BUFFER ); 4680 YY_CURRENT_BUFFER_LVALUE = NULL; 4681 pcap_pop_buffer_state(); 4682 } 4683 4684 /* Destroy the stack itself. */ 4685 pcap_free((yy_buffer_stack) ); 4686 (yy_buffer_stack) = NULL; 4687 4688 /* Reset the globals. This is important in a non-reentrant scanner so the next time 4689 * pcap_lex() is called, initialization will occur. */ 4690 yy_init_globals( ); 4691 4692 return 0; 4693 } 4694 4695 /* 4696 * Internal utility routines. 4697 */ 4698 4699 #ifndef yytext_ptr 4700 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 4701 { 4702 register int i; 4703 for ( i = 0; i < n; ++i ) 4704 s1[i] = s2[i]; 4705 } 4706 #endif 4707 4708 #ifdef YY_NEED_STRLEN 4709 static int yy_flex_strlen (yyconst char * s ) 4710 { 4711 register int n; 4712 for ( n = 0; s[n]; ++n ) 4713 ; 4714 4715 return n; 4716 } 4717 #endif 4718 4719 void *pcap_alloc (yy_size_t size ) 4720 { 4721 return (void *) malloc( size ); 4722 } 4723 4724 void *pcap_realloc (void * ptr, yy_size_t size ) 4725 { 4726 /* The cast to (char *) in the following accommodates both 4727 * implementations that use char* generic pointers, and those 4728 * that use void* generic pointers. It works with the latter 4729 * because both ANSI C and C++ allow castless assignment from 4730 * any pointer type to void*, and deal with argument conversions 4731 * as though doing an assignment. 4732 */ 4733 return (void *) realloc( (char *) ptr, size ); 4734 } 4735 4736 void pcap_free (void * ptr ) 4737 { 4738 free( (char *) ptr ); /* see pcap_realloc() for (char *) cast */ 4739 } 4740 4741 #define YYTABLES_NAME "yytables" 4742 4743 #line 392 "scanner.l" 4744 4745 4746 void 4747 lex_init(buf) 4748 const char *buf; 4749 { 4750 #ifdef FLEX_SCANNER 4751 in_buffer = pcap__scan_string(buf); 4752 #else 4753 in_buffer = buf; 4754 #endif 4755 } 4756 4757 /* 4758 * Do any cleanup necessary after parsing. 4759 */ 4760 void 4761 lex_cleanup() 4762 { 4763 #ifdef FLEX_SCANNER 4764 if (in_buffer != NULL) 4765 pcap__delete_buffer(in_buffer); 4766 in_buffer = NULL; 4767 #endif 4768 } 4769 4770 /* 4771 * Also define a pcap_wrap. Note that if we're using flex, it will 4772 * define a macro to map this identifier to pcap_wrap. 4773 */ 4774 int 4775 pcap_wrap() 4776 { 4777 return 1; 4778 } 4779 4780 /* Hex digit to integer. */ 4781 static inline int 4782 xdtoi(c) 4783 register int c; 4784 { 4785 if (isdigit(c)) 4786 return c - '0'; 4787 else if (islower(c)) 4788 return c - 'a' + 10; 4789 else 4790 return c - 'A' + 10; 4791 } 4792 4793 /* 4794 * Convert string to integer. Just like atoi(), but checks for 4795 * preceding 0x or 0 and uses hex or octal instead of decimal. 4796 */ 4797 static int 4798 stoi(s) 4799 char *s; 4800 { 4801 int base = 10; 4802 int n = 0; 4803 4804 if (*s == '0') { 4805 if (s[1] == 'x' || s[1] == 'X') { 4806 s += 2; 4807 base = 16; 4808 } 4809 else { 4810 base = 8; 4811 s += 1; 4812 } 4813 } 4814 while (*s) 4815 n = n * base + xdtoi(*s++); 4816 4817 return n; 4818 } 4819 4820