1 #include "config.h" 2 #include "util/configyyrename.h" 3 4 #line 3 "<stdout>" 5 6 #define YY_INT_ALIGNED short int 7 8 /* A lexical scanner generated by flex */ 9 10 #define FLEX_SCANNER 11 #define YY_FLEX_MAJOR_VERSION 2 12 #define YY_FLEX_MINOR_VERSION 6 13 #define YY_FLEX_SUBMINOR_VERSION 4 14 #if YY_FLEX_SUBMINOR_VERSION > 0 15 #define FLEX_BETA 16 #endif 17 18 /* First, we deal with platform-specific or compiler-specific issues. */ 19 20 /* begin standard C headers. */ 21 #include <stdio.h> 22 #include <string.h> 23 #include <errno.h> 24 #include <stdlib.h> 25 26 /* end standard C headers. */ 27 28 /* flex integer type definitions */ 29 30 #ifndef FLEXINT_H 31 #define FLEXINT_H 32 33 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 34 35 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 36 37 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 38 * if you want the limit (max/min) macros for int types. 39 */ 40 #ifndef __STDC_LIMIT_MACROS 41 #define __STDC_LIMIT_MACROS 1 42 #endif 43 44 #include <inttypes.h> 45 typedef int8_t flex_int8_t; 46 typedef uint8_t flex_uint8_t; 47 typedef int16_t flex_int16_t; 48 typedef uint16_t flex_uint16_t; 49 typedef int32_t flex_int32_t; 50 typedef uint32_t flex_uint32_t; 51 #else 52 typedef signed char flex_int8_t; 53 typedef short int flex_int16_t; 54 typedef int flex_int32_t; 55 typedef unsigned char flex_uint8_t; 56 typedef unsigned short int flex_uint16_t; 57 typedef unsigned int flex_uint32_t; 58 59 /* Limits of integral types. */ 60 #ifndef INT8_MIN 61 #define INT8_MIN (-128) 62 #endif 63 #ifndef INT16_MIN 64 #define INT16_MIN (-32767-1) 65 #endif 66 #ifndef INT32_MIN 67 #define INT32_MIN (-2147483647-1) 68 #endif 69 #ifndef INT8_MAX 70 #define INT8_MAX (127) 71 #endif 72 #ifndef INT16_MAX 73 #define INT16_MAX (32767) 74 #endif 75 #ifndef INT32_MAX 76 #define INT32_MAX (2147483647) 77 #endif 78 #ifndef UINT8_MAX 79 #define UINT8_MAX (255U) 80 #endif 81 #ifndef UINT16_MAX 82 #define UINT16_MAX (65535U) 83 #endif 84 #ifndef UINT32_MAX 85 #define UINT32_MAX (4294967295U) 86 #endif 87 88 #ifndef SIZE_MAX 89 #define SIZE_MAX (~(size_t)0) 90 #endif 91 92 #endif /* ! C99 */ 93 94 #endif /* ! FLEXINT_H */ 95 96 /* begin standard C++ headers. */ 97 98 /* TODO: this is always defined, so inline it */ 99 #define yyconst const 100 101 #if defined(__GNUC__) && __GNUC__ >= 3 102 #define yynoreturn __attribute__((__noreturn__)) 103 #else 104 #define yynoreturn 105 #endif 106 107 /* Returned upon end-of-file. */ 108 #define YY_NULL 0 109 110 /* Promotes a possibly negative, possibly signed char to an 111 * integer in range [0..255] for use as an array index. 112 */ 113 #define YY_SC_TO_UI(c) ((YY_CHAR) (c)) 114 115 /* Enter a start condition. This macro really ought to take a parameter, 116 * but we do it the disgusting crufty way forced on us by the ()-less 117 * definition of BEGIN. 118 */ 119 #define BEGIN (yy_start) = 1 + 2 * 120 /* Translate the current start state into a value that can be later handed 121 * to BEGIN to return to the state. The YYSTATE alias is for lex 122 * compatibility. 123 */ 124 #define YY_START (((yy_start) - 1) / 2) 125 #define YYSTATE YY_START 126 /* Action number for EOF rule of a given start state. */ 127 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 128 /* Special action meaning "start processing a new file". */ 129 #define YY_NEW_FILE yyrestart( yyin ) 130 #define YY_END_OF_BUFFER_CHAR 0 131 132 /* Size of default input buffer. */ 133 #ifndef YY_BUF_SIZE 134 #ifdef __ia64__ 135 /* On IA-64, the buffer size is 16k, not 8k. 136 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 137 * Ditto for the __ia64__ case accordingly. 138 */ 139 #define YY_BUF_SIZE 32768 140 #else 141 #define YY_BUF_SIZE 16384 142 #endif /* __ia64__ */ 143 #endif 144 145 /* The state buf must be large enough to hold one state per character in the main buffer. 146 */ 147 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 148 149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 150 #define YY_TYPEDEF_YY_BUFFER_STATE 151 typedef struct yy_buffer_state *YY_BUFFER_STATE; 152 #endif 153 154 #ifndef YY_TYPEDEF_YY_SIZE_T 155 #define YY_TYPEDEF_YY_SIZE_T 156 typedef size_t yy_size_t; 157 #endif 158 159 extern int yyleng; 160 161 extern FILE *yyin, *yyout; 162 163 #define EOB_ACT_CONTINUE_SCAN 0 164 #define EOB_ACT_END_OF_FILE 1 165 #define EOB_ACT_LAST_MATCH 2 166 167 #define YY_LESS_LINENO(n) 168 #define YY_LINENO_REWIND_TO(ptr) 169 170 /* Return all but the first "n" matched characters back to the input stream. */ 171 #define yyless(n) \ 172 do \ 173 { \ 174 /* Undo effects of setting up yytext. */ \ 175 int yyless_macro_arg = (n); \ 176 YY_LESS_LINENO(yyless_macro_arg);\ 177 *yy_cp = (yy_hold_char); \ 178 YY_RESTORE_YY_MORE_OFFSET \ 179 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 180 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 181 } \ 182 while ( 0 ) 183 #define unput(c) yyunput( c, (yytext_ptr) ) 184 185 #ifndef YY_STRUCT_YY_BUFFER_STATE 186 #define YY_STRUCT_YY_BUFFER_STATE 187 struct yy_buffer_state 188 { 189 FILE *yy_input_file; 190 191 char *yy_ch_buf; /* input buffer */ 192 char *yy_buf_pos; /* current position in input buffer */ 193 194 /* Size of input buffer in bytes, not including room for EOB 195 * characters. 196 */ 197 int yy_buf_size; 198 199 /* Number of characters read into yy_ch_buf, not including EOB 200 * characters. 201 */ 202 int yy_n_chars; 203 204 /* Whether we "own" the buffer - i.e., we know we created it, 205 * and can realloc() it to grow it, and should free() it to 206 * delete it. 207 */ 208 int yy_is_our_buffer; 209 210 /* Whether this is an "interactive" input source; if so, and 211 * if we're using stdio for input, then we want to use getc() 212 * instead of fread(), to make sure we stop fetching input after 213 * each newline. 214 */ 215 int yy_is_interactive; 216 217 /* Whether we're considered to be at the beginning of a line. 218 * If so, '^' rules will be active on the next match, otherwise 219 * not. 220 */ 221 int yy_at_bol; 222 223 int yy_bs_lineno; /**< The line count. */ 224 int yy_bs_column; /**< The column count. */ 225 226 /* Whether to try to fill the input buffer when we reach the 227 * end of it. 228 */ 229 int yy_fill_buffer; 230 231 int yy_buffer_status; 232 233 #define YY_BUFFER_NEW 0 234 #define YY_BUFFER_NORMAL 1 235 /* When an EOF's been seen but there's still some text to process 236 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 237 * shouldn't try reading from the input source any more. We might 238 * still have a bunch of tokens to match, though, because of 239 * possible backing-up. 240 * 241 * When we actually see the EOF, we change the status to "new" 242 * (via yyrestart()), so that the user can continue scanning by 243 * just pointing yyin at a new input file. 244 */ 245 #define YY_BUFFER_EOF_PENDING 2 246 247 }; 248 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 249 250 /* Stack of input buffers. */ 251 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 252 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 253 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ 254 255 /* We provide macros for accessing buffer states in case in the 256 * future we want to put the buffer states in a more general 257 * "scanner state". 258 * 259 * Returns the top of the stack, or NULL. 260 */ 261 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 262 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 263 : NULL) 264 /* Same as previous macro, but useful when we know that the buffer stack is not 265 * NULL or when we need an lvalue. For internal use only. 266 */ 267 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 268 269 /* yy_hold_char holds the character lost when yytext is formed. */ 270 static char yy_hold_char; 271 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 272 int yyleng; 273 274 /* Points to current character in buffer. */ 275 static char *yy_c_buf_p = NULL; 276 static int yy_init = 0; /* whether we need to initialize */ 277 static int yy_start = 0; /* start state number */ 278 279 /* Flag which is used to allow yywrap()'s to do buffer switches 280 * instead of setting up a fresh yyin. A bit of a hack ... 281 */ 282 static int yy_did_buffer_switch_on_eof; 283 284 void yyrestart ( FILE *input_file ); 285 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); 286 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); 287 void yy_delete_buffer ( YY_BUFFER_STATE b ); 288 void yy_flush_buffer ( YY_BUFFER_STATE b ); 289 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); 290 void yypop_buffer_state ( void ); 291 292 static void yyensure_buffer_stack ( void ); 293 static void yy_load_buffer_state ( void ); 294 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); 295 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) 296 297 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); 298 YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); 299 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); 300 301 void *yyalloc ( yy_size_t ); 302 void *yyrealloc ( void *, yy_size_t ); 303 void yyfree ( void * ); 304 305 #define yy_new_buffer yy_create_buffer 306 #define yy_set_interactive(is_interactive) \ 307 { \ 308 if ( ! YY_CURRENT_BUFFER ){ \ 309 yyensure_buffer_stack (); \ 310 YY_CURRENT_BUFFER_LVALUE = \ 311 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 312 } \ 313 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 314 } 315 #define yy_set_bol(at_bol) \ 316 { \ 317 if ( ! YY_CURRENT_BUFFER ){\ 318 yyensure_buffer_stack (); \ 319 YY_CURRENT_BUFFER_LVALUE = \ 320 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 321 } \ 322 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 323 } 324 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 325 326 /* Begin user sect3 */ 327 typedef flex_uint8_t YY_CHAR; 328 329 FILE *yyin = NULL, *yyout = NULL; 330 331 typedef int yy_state_type; 332 333 extern int yylineno; 334 int yylineno = 1; 335 336 extern char *yytext; 337 #ifdef yytext_ptr 338 #undef yytext_ptr 339 #endif 340 #define yytext_ptr yytext 341 342 static yy_state_type yy_get_previous_state ( void ); 343 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); 344 static int yy_get_next_buffer ( void ); 345 static void yynoreturn yy_fatal_error ( const char* msg ); 346 347 /* Done after the current pattern has been matched and before the 348 * corresponding action - sets up yytext. 349 */ 350 #define YY_DO_BEFORE_ACTION \ 351 (yytext_ptr) = yy_bp; \ 352 (yytext_ptr) -= (yy_more_len); \ 353 yyleng = (int) (yy_cp - (yytext_ptr)); \ 354 (yy_hold_char) = *yy_cp; \ 355 *yy_cp = '\0'; \ 356 (yy_c_buf_p) = yy_cp; 357 #define YY_NUM_RULES 294 358 #define YY_END_OF_BUFFER 295 359 /* This struct is not used in this scanner, 360 but its presence is necessary. */ 361 struct yy_trans_info 362 { 363 flex_int32_t yy_verify; 364 flex_int32_t yy_nxt; 365 }; 366 static const flex_int16_t yy_accept[2913] = 367 { 0, 368 1, 1, 276, 276, 280, 280, 284, 284, 288, 288, 369 1, 1, 295, 292, 1, 274, 274, 293, 2, 292, 370 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 371 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 372 292, 293, 276, 277, 277, 278, 293, 280, 281, 281, 373 282, 293, 287, 284, 285, 285, 286, 293, 288, 289, 374 289, 290, 293, 291, 275, 2, 279, 291, 293, 292, 375 0, 1, 2, 2, 2, 2, 292, 292, 292, 292, 376 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 377 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 378 379 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 380 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 381 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 382 292, 292, 292, 292, 292, 292, 292, 292, 292, 276, 383 0, 280, 0, 287, 0, 284, 288, 0, 291, 0, 384 2, 2, 291, 292, 292, 292, 292, 292, 292, 292, 385 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 386 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 387 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 388 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 389 390 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 391 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 392 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 393 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 394 291, 292, 292, 292, 292, 292, 292, 292, 292, 292, 395 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 396 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 397 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 398 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 399 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 400 401 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 402 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 403 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 404 292, 292, 292, 292, 292, 292, 292, 292, 292, 114, 405 292, 292, 292, 292, 292, 292, 292, 291, 292, 292, 406 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 407 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 408 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 409 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 410 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 411 412 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 413 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 414 292, 292, 96, 292, 292, 292, 292, 292, 292, 8, 415 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 416 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 417 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 418 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 419 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 420 292, 292, 292, 292, 119, 292, 291, 292, 292, 292, 421 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 422 423 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 424 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 425 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 426 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 427 292, 292, 292, 292, 269, 292, 292, 292, 292, 292, 428 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 429 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 430 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 431 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 432 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 433 434 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 435 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 436 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 437 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 438 292, 291, 292, 292, 292, 292, 292, 292, 292, 292, 439 292, 292, 292, 54, 292, 292, 292, 292, 292, 292, 440 292, 292, 292, 292, 292, 292, 292, 292, 214, 292, 441 14, 15, 292, 18, 17, 292, 292, 292, 292, 292, 442 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 443 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 444 445 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 446 292, 292, 292, 292, 292, 292, 292, 292, 113, 292, 447 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 448 292, 292, 292, 292, 292, 292, 292, 292, 292, 198, 449 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 450 292, 292, 292, 292, 3, 292, 292, 292, 292, 292, 451 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 452 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 453 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 454 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 455 456 292, 292, 292, 292, 292, 292, 292, 291, 292, 292, 457 292, 292, 292, 292, 292, 264, 292, 292, 263, 292, 458 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 459 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 460 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 461 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 462 292, 292, 292, 283, 292, 292, 292, 292, 292, 292, 463 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 464 292, 292, 292, 292, 292, 292, 292, 57, 292, 238, 465 292, 292, 292, 292, 292, 292, 292, 292, 270, 271, 466 467 292, 292, 292, 292, 292, 58, 292, 292, 292, 292, 468 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 469 292, 292, 292, 292, 292, 292, 187, 292, 292, 292, 470 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 471 292, 292, 292, 292, 292, 292, 292, 20, 292, 292, 472 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 473 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 474 292, 292, 292, 292, 292, 138, 292, 292, 283, 292, 475 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 476 292, 292, 292, 292, 292, 292, 292, 292, 292, 94, 477 478 292, 292, 292, 292, 292, 292, 292, 246, 292, 292, 479 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 480 159, 292, 292, 292, 292, 292, 292, 292, 292, 292, 481 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 482 292, 292, 292, 137, 292, 292, 292, 292, 292, 292, 483 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 484 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 485 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 486 292, 292, 292, 292, 93, 292, 292, 292, 292, 292, 487 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 488 489 292, 292, 292, 292, 292, 292, 292, 292, 31, 292, 490 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 491 292, 292, 292, 292, 292, 292, 292, 292, 32, 292, 492 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 493 292, 292, 55, 292, 292, 292, 292, 292, 292, 292, 494 292, 292, 112, 292, 292, 292, 292, 292, 111, 292, 495 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 496 292, 292, 292, 56, 292, 292, 292, 292, 292, 292, 497 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 498 292, 292, 292, 292, 292, 160, 292, 292, 292, 292, 499 500 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 501 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 502 292, 292, 292, 292, 45, 292, 292, 292, 292, 292, 503 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 504 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 505 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 506 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 507 292, 292, 292, 229, 292, 292, 292, 292, 292, 292, 508 292, 292, 292, 292, 292, 292, 292, 292, 49, 292, 509 50, 292, 292, 292, 292, 292, 97, 292, 98, 292, 510 511 292, 292, 292, 95, 292, 292, 292, 292, 292, 292, 512 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 513 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 514 292, 7, 292, 292, 292, 292, 292, 292, 292, 292, 515 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 516 207, 292, 292, 292, 292, 140, 292, 292, 292, 292, 517 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 518 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 519 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 520 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 521 522 292, 292, 292, 292, 292, 46, 292, 292, 292, 292, 523 292, 292, 292, 292, 292, 292, 292, 292, 292, 179, 524 292, 178, 292, 292, 292, 292, 292, 292, 292, 292, 525 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 526 292, 292, 292, 292, 292, 292, 292, 292, 16, 292, 527 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 528 292, 59, 292, 292, 292, 292, 292, 292, 292, 292, 529 186, 292, 292, 292, 292, 292, 292, 100, 292, 99, 530 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 531 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 532 533 170, 292, 292, 292, 292, 292, 292, 292, 292, 120, 534 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 535 292, 292, 292, 292, 292, 292, 292, 292, 292, 78, 536 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 537 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 538 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 539 292, 292, 292, 292, 292, 292, 292, 292, 292, 82, 540 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 541 292, 292, 292, 53, 292, 292, 292, 292, 292, 292, 542 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 543 544 292, 173, 174, 292, 292, 292, 240, 292, 292, 292, 545 292, 292, 292, 292, 292, 292, 292, 292, 292, 6, 546 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 547 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 548 244, 292, 292, 292, 265, 292, 292, 292, 292, 292, 549 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 550 292, 292, 292, 292, 292, 41, 292, 292, 292, 292, 551 292, 292, 292, 292, 292, 292, 292, 292, 43, 292, 552 292, 292, 292, 292, 292, 292, 292, 166, 292, 292, 553 292, 115, 292, 292, 292, 292, 292, 292, 292, 292, 554 555 292, 292, 191, 292, 167, 292, 292, 292, 204, 292, 556 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 557 292, 292, 292, 292, 292, 44, 292, 292, 292, 292, 558 292, 292, 292, 292, 292, 117, 105, 292, 106, 292, 559 292, 292, 104, 292, 292, 292, 292, 292, 292, 292, 560 292, 135, 292, 292, 292, 292, 292, 292, 292, 292, 561 292, 292, 292, 228, 292, 292, 292, 292, 292, 292, 562 292, 292, 168, 292, 292, 292, 292, 292, 171, 292, 563 177, 292, 292, 292, 292, 292, 203, 292, 292, 292, 564 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 565 566 292, 92, 292, 292, 292, 292, 292, 292, 292, 292, 567 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 568 292, 292, 292, 51, 292, 292, 292, 25, 292, 292, 569 292, 292, 292, 292, 292, 292, 292, 19, 292, 292, 570 292, 292, 292, 292, 26, 35, 292, 145, 292, 292, 571 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 572 292, 292, 292, 292, 292, 292, 292, 67, 69, 292, 573 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 574 292, 292, 248, 292, 292, 292, 215, 292, 292, 292, 575 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 576 577 292, 292, 292, 292, 292, 107, 292, 292, 292, 292, 578 292, 292, 292, 292, 292, 134, 292, 292, 292, 292, 579 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 580 292, 259, 292, 292, 292, 292, 292, 292, 292, 292, 581 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 582 139, 292, 292, 292, 292, 292, 292, 292, 292, 292, 583 292, 292, 292, 292, 197, 292, 292, 292, 292, 292, 584 292, 292, 292, 268, 292, 292, 292, 292, 292, 292, 585 292, 292, 292, 156, 292, 292, 292, 292, 292, 292, 586 292, 292, 101, 292, 292, 292, 292, 292, 292, 292, 587 588 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 589 292, 292, 151, 292, 161, 292, 292, 292, 292, 292, 590 123, 292, 292, 292, 292, 292, 88, 292, 292, 292, 591 292, 189, 292, 292, 292, 292, 292, 292, 205, 292, 592 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 593 292, 220, 292, 292, 292, 292, 292, 292, 292, 292, 594 292, 116, 292, 292, 292, 292, 292, 292, 292, 292, 595 292, 292, 155, 292, 292, 292, 292, 292, 70, 71, 596 292, 292, 292, 292, 292, 52, 292, 292, 292, 292, 597 292, 77, 162, 292, 180, 292, 208, 292, 292, 172, 598 599 241, 292, 292, 292, 292, 292, 63, 292, 164, 292, 600 292, 292, 292, 292, 9, 292, 292, 292, 91, 292, 601 292, 292, 292, 233, 292, 292, 292, 188, 292, 292, 602 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 603 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 604 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 605 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 606 292, 292, 292, 154, 292, 292, 292, 292, 292, 292, 607 292, 292, 292, 292, 141, 292, 247, 292, 292, 292, 608 292, 219, 292, 292, 292, 292, 292, 292, 292, 292, 609 610 199, 292, 292, 292, 292, 239, 292, 292, 292, 292, 611 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 612 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 613 262, 292, 163, 292, 292, 292, 292, 292, 292, 292, 614 62, 64, 292, 292, 292, 292, 292, 292, 292, 90, 615 292, 292, 292, 292, 231, 292, 292, 292, 243, 292, 616 292, 292, 292, 292, 292, 292, 193, 33, 27, 29, 617 292, 292, 292, 292, 292, 292, 292, 292, 292, 34, 618 292, 28, 30, 292, 292, 292, 292, 292, 292, 292, 619 292, 87, 292, 292, 292, 292, 292, 292, 292, 292, 620 621 292, 292, 292, 292, 292, 292, 292, 292, 292, 195, 622 192, 292, 292, 292, 292, 292, 292, 292, 292, 292, 623 292, 292, 292, 292, 292, 61, 292, 292, 118, 292, 624 108, 292, 292, 292, 292, 292, 292, 292, 292, 136, 625 13, 292, 292, 292, 292, 292, 292, 292, 292, 292, 626 257, 292, 260, 292, 292, 292, 292, 292, 292, 292, 627 292, 292, 292, 12, 292, 292, 21, 292, 292, 292, 628 237, 292, 292, 292, 245, 292, 65, 292, 201, 292, 629 292, 194, 292, 292, 60, 292, 292, 292, 292, 22, 630 292, 42, 292, 292, 292, 292, 292, 292, 292, 292, 631 632 292, 292, 292, 292, 150, 149, 292, 292, 292, 292, 633 292, 292, 292, 292, 292, 196, 190, 292, 206, 292, 634 292, 249, 292, 292, 292, 292, 292, 292, 292, 292, 635 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 636 292, 292, 292, 292, 292, 292, 72, 292, 292, 292, 637 232, 292, 292, 292, 292, 176, 292, 292, 292, 292, 638 200, 292, 292, 292, 292, 292, 292, 292, 292, 266, 639 267, 147, 66, 292, 292, 157, 292, 292, 102, 103, 640 292, 292, 292, 292, 142, 292, 144, 292, 181, 292, 641 292, 292, 292, 148, 292, 292, 209, 292, 292, 292, 642 643 292, 292, 292, 292, 125, 292, 292, 292, 292, 292, 644 292, 292, 292, 292, 292, 292, 216, 292, 292, 292, 645 23, 292, 242, 292, 292, 292, 292, 292, 292, 292, 646 292, 292, 292, 292, 182, 292, 292, 230, 292, 261, 647 292, 175, 292, 292, 292, 292, 47, 292, 292, 292, 648 292, 4, 292, 292, 124, 292, 292, 292, 292, 292, 649 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 650 292, 212, 36, 37, 292, 292, 292, 292, 292, 292, 651 292, 250, 292, 292, 292, 292, 292, 292, 218, 292, 652 292, 292, 185, 292, 292, 292, 292, 292, 292, 292, 653 654 292, 292, 75, 292, 48, 236, 292, 213, 292, 292, 655 292, 292, 11, 292, 292, 292, 292, 292, 292, 292, 656 183, 79, 292, 39, 292, 292, 292, 292, 292, 292, 657 292, 292, 153, 292, 292, 292, 292, 292, 127, 292, 658 292, 292, 292, 292, 292, 292, 292, 292, 217, 121, 659 292, 292, 109, 110, 292, 292, 292, 81, 85, 80, 660 292, 73, 292, 292, 292, 292, 292, 10, 292, 292, 661 292, 234, 292, 292, 273, 38, 292, 292, 292, 292, 662 292, 152, 292, 292, 292, 292, 292, 292, 292, 292, 663 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 664 665 86, 84, 292, 74, 258, 292, 292, 292, 292, 292, 666 292, 292, 169, 292, 292, 292, 184, 292, 292, 292, 667 292, 292, 292, 292, 292, 143, 68, 292, 292, 292, 668 292, 292, 251, 292, 292, 292, 292, 292, 292, 292, 669 122, 292, 83, 128, 129, 132, 133, 130, 131, 76, 670 292, 235, 292, 292, 146, 292, 292, 292, 292, 292, 671 211, 292, 292, 292, 292, 292, 292, 292, 292, 292, 672 292, 292, 292, 292, 292, 158, 40, 292, 292, 292, 673 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 674 292, 292, 292, 292, 292, 292, 292, 292, 89, 292, 675 676 210, 292, 227, 255, 292, 292, 292, 292, 292, 292, 677 292, 292, 292, 292, 5, 292, 202, 292, 292, 256, 678 292, 292, 292, 292, 292, 292, 292, 292, 24, 292, 679 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 680 292, 292, 126, 292, 292, 292, 292, 292, 292, 292, 681 292, 292, 165, 292, 292, 292, 292, 292, 292, 292, 682 292, 292, 252, 292, 292, 292, 292, 292, 292, 292, 683 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 684 272, 292, 292, 223, 292, 292, 292, 292, 292, 253, 685 292, 292, 292, 292, 292, 292, 254, 292, 292, 292, 686 687 221, 292, 224, 225, 292, 292, 292, 292, 292, 222, 688 226, 0 689 } ; 690 691 static const YY_CHAR yy_ec[256] = 692 { 0, 693 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 694 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 696 1, 2, 1, 5, 6, 1, 1, 1, 7, 1, 697 1, 1, 1, 1, 8, 1, 1, 1, 9, 1, 698 10, 11, 1, 12, 1, 1, 1, 13, 1, 1, 699 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, 700 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 701 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 702 1, 40, 1, 1, 1, 1, 41, 42, 43, 44, 703 704 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 705 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 706 65, 66, 1, 1, 1, 1, 1, 1, 1, 1, 707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 714 715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 716 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 717 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 718 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 719 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 720 1, 1, 1, 1, 1 721 } ; 722 723 static const YY_CHAR yy_meta[67] = 724 { 0, 725 1, 2, 3, 4, 5, 1, 6, 1, 1, 1, 726 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 727 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 728 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 729 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 730 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 731 1, 1, 1, 1, 1, 1 732 } ; 733 734 static const flex_int16_t yy_base[2927] = 735 { 0, 736 0, 0, 64, 67, 70, 72, 78, 84, 89, 92, 737 131, 137, 352, 307, 96, 8310, 8310, 8310, 109, 171, 738 85, 142, 215, 83, 117, 152, 207, 50, 110, 75, 739 167, 231, 112, 275, 121, 259, 323, 243, 291, 320, 740 170, 368, 289, 8310, 8310, 8310, 104, 288, 8310, 8310, 741 8310, 147, 286, 289, 8310, 8310, 8310, 305, 239, 8310, 742 8310, 8310, 160, 210, 8310, 372, 8310, 177, 382, 201, 743 386, 115, 0, 390, 0, 0, 160, 162, 199, 204, 744 188, 169, 303, 222, 256, 248, 377, 369, 254, 226, 745 313, 271, 365, 382, 296, 327, 396, 392, 381, 423, 746 747 411, 386, 420, 428, 417, 419, 444, 317, 427, 432, 748 452, 453, 456, 457, 458, 472, 462, 463, 466, 483, 749 479, 478, 504, 485, 212, 499, 514, 501, 500, 517, 750 512, 521, 545, 528, 525, 538, 543, 546, 539, 190, 751 164, 138, 231, 122, 590, 158, 79, 277, 66, 598, 752 602, 0, 572, 571, 591, 579, 586, 596, 594, 599, 753 589, 595, 609, 592, 606, 645, 618, 620, 629, 340, 754 651, 695, 647, 634, 650, 657, 637, 638, 656, 659, 755 661, 544, 676, 685, 642, 687, 696, 719, 702, 713, 756 678, 407, 729, 743, 718, 721, 740, 756, 723, 758, 757 758 727, 760, 763, 754, 759, 767, 742, 768, 753, 769, 759 766, 786, 788, 783, 787, 785, 802, 790, 812, 799, 760 814, 801, 827, 811, 818, 834, 826, 832, 842, 825, 761 845, 837, 841, 850, 617, 847, 861, 860, 843, 868, 762 863, 864, 859, 876, 880, 874, 886, 889, 893, 894, 763 909, 890, 900, 901, 904, 903, 908, 913, 912, 920, 764 928, 173, 916, 936, 943, 932, 935, 949, 947, 945, 765 958, 953, 962, 963, 971, 978, 968, 979, 973, 966, 766 970, 980, 989, 990, 1000, 992, 1004, 994, 1013, 1005, 767 1022, 1021, 1009, 1017, 1026, 1061, 1036, 1016, 1019, 1063, 768 769 1055, 1049, 1044, 1072, 1059, 1064, 1092, 1083, 1087, 1094, 770 668, 1099, 1114, 1101, 1108, 1105, 1110, 1100, 1107, 1060, 771 1118, 1119, 1123, 1128, 1143, 1156, 1139, 1155, 1160, 1151, 772 1162, 1163, 1191, 1239, 1164, 1172, 1182, 1187, 1178, 8310, 773 1203, 1196, 1288, 1201, 1198, 1241, 1211, 1205, 1227, 1230, 774 1238, 1229, 1256, 1244, 1188, 1236, 1257, 1269, 1259, 1274, 775 1266, 1293, 1284, 1283, 1308, 1285, 1301, 1310, 1319, 1314, 776 1306, 1311, 1346, 1327, 1326, 1332, 1336, 1356, 1351, 1353, 777 1359, 1343, 1337, 1365, 1370, 1377, 1385, 1384, 1363, 1392, 778 1389, 1406, 1379, 1403, 1410, 1397, 1408, 1412, 1404, 784, 779 780 1421, 1425, 1441, 1427, 1439, 1430, 1429, 1444, 1446, 1458, 781 1435, 1455, 1461, 1468, 1457, 1477, 1471, 1462, 1486, 1472, 782 1495, 1470, 8310, 1499, 1482, 1497, 1502, 1494, 1489, 8310, 783 1513, 1515, 1498, 1520, 1525, 1522, 1532, 1529, 1540, 1541, 784 1526, 1542, 1559, 1530, 1558, 1552, 1555, 1561, 1575, 1566, 785 1578, 1568, 1570, 1585, 1625, 1567, 1594, 1592, 1572, 1597, 786 1611, 1623, 1607, 1630, 1621, 1620, 1668, 1627, 1658, 1642, 787 1647, 1674, 1652, 1679, 1666, 1664, 1669, 1663, 1683, 1692, 788 1689, 1693, 1672, 1707, 8310, 1706, 1714, 1694, 1710, 1702, 789 1704, 1716, 1711, 1709, 1724, 1733, 1745, 1740, 1600, 1757, 790 791 1744, 1763, 1749, 1732, 1750, 1751, 1760, 1767, 1780, 1752, 792 1785, 1773, 1781, 1782, 1774, 1798, 1802, 1808, 1783, 1803, 793 1800, 1792, 1807, 1814, 1813, 1797, 1809, 1833, 1819, 1835, 794 1825, 1844, 1830, 1826, 1846, 1834, 1855, 1838, 1853, 1841, 795 1864, 1874, 1870, 1872, 8310, 1877, 1880, 1885, 1891, 1893, 796 1897, 1903, 1876, 1905, 1902, 1913, 1916, 1911, 1910, 1919, 797 1914, 1918, 1930, 1935, 1954, 1936, 1948, 1966, 1949, 1962, 798 1941, 1956, 1961, 1968, 1976, 1969, 1975, 1982, 1971, 1974, 799 1985, 1990, 1989, 1983, 1986, 2003, 1995, 2011, 2010, 2025, 800 2026, 1999, 2032, 2009, 2037, 2022, 2029, 2042, 2038, 2043, 801 802 2046, 2041, 2035, 2061, 2062, 2064, 2056, 2066, 2065, 2084, 803 2067, 2073, 2079, 2091, 2092, 2068, 2099, 2102, 2103, 2097, 804 2087, 2126, 2113, 2112, 2123, 2118, 2128, 2119, 2137, 2125, 805 2144, 2136, 2150, 2161, 2162, 2152, 2165, 2160, 2159, 2171, 806 2163, 2176, 2179, 2187, 2190, 2186, 2196, 2198, 2189, 2174, 807 2218, 2205, 2206, 8310, 2201, 2226, 2209, 2230, 2223, 2199, 808 2222, 2246, 2236, 2241, 2225, 2233, 2239, 2282, 8310, 2250, 809 8310, 8310, 2252, 8310, 8310, 2263, 2249, 2262, 2276, 2283, 810 2292, 2270, 2288, 2286, 2275, 2303, 2333, 2311, 2296, 2314, 811 2321, 2309, 2326, 2322, 2341, 2339, 2349, 2353, 2344, 2360, 812 813 2355, 2363, 2364, 2366, 2368, 2367, 2381, 2395, 2384, 2387, 814 2397, 2382, 2391, 2385, 2409, 2412, 2405, 2438, 8310, 2414, 815 2425, 2426, 2424, 2436, 2432, 2431, 2434, 2440, 2443, 2439, 816 2427, 2444, 2441, 2454, 2450, 2451, 2471, 2462, 2461, 8310, 817 2474, 2475, 2477, 2476, 2487, 2481, 2478, 2466, 2493, 2500, 818 2497, 2513, 2472, 2523, 8310, 2527, 2525, 2509, 2528, 2510, 819 2512, 2518, 2519, 2524, 2539, 2540, 2543, 2546, 2550, 2567, 820 2570, 2560, 2557, 2566, 2575, 2568, 2573, 2583, 2565, 2577, 821 2591, 2590, 2594, 2593, 2597, 2599, 2606, 2608, 2628, 2607, 822 2633, 2634, 2626, 2612, 2620, 2639, 2624, 2635, 2642, 2647, 823 824 2638, 2651, 2653, 2648, 2652, 2655, 2665, 2676, 2666, 2680, 825 2685, 2667, 2678, 2682, 2669, 8310, 2675, 2690, 8310, 2700, 826 2697, 2745, 2705, 2715, 2695, 2701, 2711, 2726, 2725, 2735, 827 2738, 2737, 2744, 2741, 2765, 2758, 2774, 2775, 2770, 2777, 828 2772, 2781, 2763, 2764, 2794, 1268, 2800, 2783, 2790, 2785, 829 2836, 2806, 2814, 2808, 2812, 2825, 2833, 2832, 2820, 2839, 830 2849, 2843, 2853, 8310, 2859, 2845, 2854, 2861, 2883, 2882, 831 2871, 2870, 2884, 2875, 2897, 2885, 2877, 2898, 2888, 2899, 832 2902, 2904, 2910, 2918, 2901, 2915, 2938, 8310, 2920, 8310, 833 2925, 2921, 2931, 2930, 2933, 2940, 2948, 2956, 8310, 8310, 834 835 2957, 2960, 2963, 2943, 2959, 8310, 2958, 2981, 2991, 2970, 836 2979, 2978, 2976, 2989, 2996, 3009, 2987, 3014, 3010, 3003, 837 3012, 3021, 3015, 3022, 3023, 3020, 8310, 3029, 3030, 3037, 838 3038, 3045, 3051, 3034, 3063, 3067, 3053, 3050, 3054, 3072, 839 3070, 3081, 3087, 3079, 3080, 3086, 3093, 8310, 3082, 3095, 840 3094, 3098, 3092, 3096, 3107, 3099, 3101, 3121, 3118, 3119, 841 3123, 3114, 3141, 3143, 3125, 3134, 3147, 3130, 3144, 3142, 842 410, 3145, 3146, 3156, 3152, 8310, 3159, 3153, 61, 3170, 843 3172, 3176, 3186, 3180, 3165, 3173, 3199, 3200, 3196, 3204, 844 3203, 3195, 3198, 3205, 3202, 3215, 3214, 3223, 3224, 8310, 845 846 3219, 3226, 3227, 3232, 3246, 3229, 3250, 8310, 3256, 3253, 847 3261, 3248, 3260, 3274, 3272, 3273, 3267, 3293, 3291, 3284, 848 8310, 3297, 3299, 3301, 3287, 3305, 3308, 3300, 3323, 3325, 849 3296, 3329, 3328, 3337, 3333, 3327, 3326, 3330, 3352, 3334, 850 3339, 3342, 3354, 8310, 3356, 3364, 3369, 3360, 3379, 3370, 851 3393, 3373, 3381, 3385, 3400, 3424, 3386, 3394, 3407, 3413, 852 3412, 3409, 3415, 3426, 3430, 3422, 3425, 3453, 3458, 3428, 853 3449, 3456, 3451, 3464, 3452, 3450, 3477, 3487, 3479, 3482, 854 3506, 3500, 1065, 3478, 8310, 3498, 3492, 3485, 3508, 3523, 855 3509, 3505, 3525, 3529, 3521, 3527, 3533, 3543, 3550, 3545, 856 857 3552, 3544, 3549, 3558, 3564, 3554, 3575, 3576, 8310, 3577, 858 3582, 3573, 3584, 3583, 3579, 3594, 3596, 3590, 3591, 3604, 859 3608, 3607, 3610, 3609, 3611, 3606, 3626, 3614, 8310, 3641, 860 3630, 3642, 3643, 3638, 3653, 3655, 3649, 3656, 3663, 3672, 861 3657, 3666, 8310, 3603, 3667, 3684, 3668, 3677, 3673, 3685, 862 3697, 3682, 8310, 3683, 3691, 3671, 3706, 3701, 8310, 3720, 863 3711, 3712, 3709, 3708, 3699, 3726, 3723, 3715, 3719, 3746, 864 3745, 3733, 3750, 8310, 3738, 3766, 3744, 3754, 3760, 3761, 865 3759, 3776, 3792, 3777, 3771, 3781, 3765, 3788, 3786, 3783, 866 3789, 3806, 3796, 3812, 3802, 8310, 3816, 3810, 3813, 3819, 867 868 3821, 3824, 3826, 3840, 3838, 3835, 3846, 3841, 3844, 3847, 869 3858, 3857, 3865, 3861, 3867, 3874, 3880, 3872, 3877, 3884, 870 3885, 3887, 3899, 3907, 8310, 3896, 3905, 3901, 3897, 3903, 871 3904, 3906, 3920, 3918, 3931, 3924, 3927, 3930, 3955, 3964, 872 3933, 3942, 3944, 3948, 3952, 3957, 3954, 3958, 3956, 3925, 873 3972, 3960, 3997, 3976, 3987, 4001, 3979, 3983, 3988, 3989, 874 4003, 3991, 3994, 4010, 4016, 4014, 4023, 4022, 4028, 4018, 875 4024, 4029, 4046, 8310, 4035, 4049, 4041, 4047, 4057, 4066, 876 4067, 4073, 4074, 4060, 4068, 4062, 4075, 4081, 8310, 4079, 877 8310, 4089, 4091, 4084, 4088, 4094, 8310, 4103, 8310, 4116, 878 879 4117, 4104, 4106, 8310, 4123, 4105, 4118, 4128, 4121, 4113, 880 4132, 4130, 4144, 4137, 4142, 4152, 4141, 4169, 4159, 4154, 881 4171, 4162, 4174, 4178, 4163, 4179, 4186, 4164, 4184, 4193, 882 4187, 8310, 4195, 4198, 4203, 4204, 4207, 4201, 4228, 4213, 883 4222, 4227, 4232, 4231, 4237, 4244, 4233, 4266, 4250, 4267, 884 8310, 4258, 4252, 4256, 4274, 8310, 4271, 4254, 4281, 4285, 885 4273, 4277, 4291, 4289, 4309, 4284, 4297, 4322, 4293, 4316, 886 4318, 4324, 4305, 4312, 4331, 4333, 4334, 4345, 4336, 4342, 887 4337, 4341, 4351, 4355, 4363, 4358, 4376, 4374, 4381, 4357, 888 4378, 4387, 4384, 4373, 4368, 4372, 4382, 4390, 4386, 4399, 889 890 4425, 4401, 4402, 4410, 4406, 8310, 4430, 4414, 4431, 4437, 891 4417, 4426, 4418, 4428, 4441, 4420, 4449, 4462, 4454, 8310, 892 4460, 8310, 4457, 4463, 4472, 4478, 4467, 4468, 4485, 4491, 893 4483, 4473, 4498, 4499, 4489, 4495, 4505, 4501, 4512, 4518, 894 4490, 4529, 4513, 4523, 4516, 4528, 4530, 4525, 8310, 4540, 895 4526, 4548, 4543, 4553, 4561, 4557, 4569, 4550, 4570, 4556, 896 4587, 8310, 4576, 4584, 4580, 4594, 4605, 4597, 4609, 4600, 897 8310, 4592, 4596, 4614, 4603, 4617, 4618, 8310, 4607, 8310, 898 4619, 4621, 4623, 4642, 4622, 4639, 4641, 4643, 4654, 4633, 899 4661, 4646, 4644, 4645, 4658, 4667, 4666, 4665, 4673, 4656, 900 901 8310, 4676, 4678, 4691, 4692, 4694, 4701, 4700, 4685, 8310, 902 4696, 4710, 4712, 4703, 4713, 4717, 4720, 4722, 4733, 4736, 903 4724, 4726, 4725, 4738, 4737, 4735, 4754, 4763, 4757, 8310, 904 4762, 4760, 4776, 4774, 4768, 4777, 4775, 4765, 4761, 4773, 905 4781, 4792, 4789, 4801, 4794, 4806, 4805, 4795, 4802, 4820, 906 4828, 4810, 4816, 4818, 4819, 4846, 4836, 4829, 4849, 4851, 907 4833, 4859, 4863, 4844, 4847, 4867, 4866, 4874, 4869, 8310, 908 4886, 4871, 4887, 4858, 4881, 4888, 4899, 4892, 4890, 4885, 909 4898, 4911, 4901, 8310, 4939, 4906, 4922, 4926, 4908, 4927, 910 4931, 4932, 4934, 4941, 4916, 4943, 4936, 4935, 4945, 4960, 911 912 4954, 8310, 8310, 4965, 4950, 4967, 8310, 4969, 4959, 4990, 913 4988, 4968, 4982, 4984, 4995, 4972, 4992, 4986, 4994, 8310, 914 5001, 5005, 5003, 5007, 5013, 5031, 5027, 5024, 5026, 5016, 915 5019, 5030, 5041, 5034, 5021, 5048, 5050, 5039, 5040, 5060, 916 8310, 5058, 5054, 5057, 8310, 5069, 5066, 5077, 5081, 5089, 917 5091, 5087, 5092, 5085, 5097, 5075, 5096, 5093, 5107, 5114, 918 5116, 5121, 5129, 5134, 5128, 8310, 5130, 5133, 5125, 5136, 919 5137, 5147, 5151, 5155, 5141, 5160, 5157, 5156, 8310, 5158, 920 5171, 5161, 5152, 5185, 5159, 5194, 5178, 8310, 5179, 5174, 921 5198, 8310, 5192, 5206, 5199, 5209, 5196, 5215, 5205, 5208, 922 923 5218, 5219, 8310, 5222, 8310, 5226, 5225, 5230, 8310, 5232, 924 5235, 5234, 5214, 5241, 5243, 5255, 5263, 5245, 5258, 5251, 925 5254, 5272, 5274, 5285, 5270, 8310, 5290, 5268, 5280, 5282, 926 5295, 5281, 5294, 5300, 5301, 8310, 8310, 5298, 8310, 5316, 927 5307, 5308, 8310, 5311, 5322, 5335, 5320, 5332, 5338, 5339, 928 5344, 8310, 5341, 5334, 5355, 5349, 5351, 5357, 5361, 5362, 929 5360, 5365, 5371, 8310, 5375, 5379, 5370, 5376, 5385, 5406, 930 5388, 5396, 8310, 5403, 5412, 5392, 5419, 5404, 8310, 5417, 931 8310, 5407, 5418, 5428, 5445, 5423, 8310, 5446, 5435, 5429, 932 5431, 5454, 5458, 5456, 5463, 5452, 5444, 5471, 5472, 5465, 933 934 5474, 8310, 5475, 5466, 5489, 5495, 5485, 5483, 5511, 5508, 935 5512, 5509, 5515, 5506, 5519, 5523, 5522, 5544, 5530, 5507, 936 5548, 5545, 5549, 8310, 5550, 5555, 5558, 8310, 5551, 5546, 937 5559, 5565, 5552, 5576, 5580, 5584, 5585, 8310, 5587, 5589, 938 5582, 5603, 5605, 5595, 8310, 8310, 5614, 8310, 5607, 5592, 939 5609, 5621, 5618, 5629, 5617, 5637, 5649, 5631, 5648, 5654, 940 5640, 5662, 5542, 5579, 5658, 5647, 5651, 8310, 8310, 5663, 941 5668, 5675, 5672, 5686, 5679, 5674, 5673, 5688, 5696, 5703, 942 5699, 5710, 8310, 5705, 5702, 5708, 8310, 5700, 5711, 5717, 943 5718, 5723, 5724, 5730, 5707, 5737, 5732, 5743, 5727, 5744, 944 945 5739, 5757, 5750, 5754, 5761, 8310, 5768, 5759, 5760, 5769, 946 5767, 5774, 5777, 5770, 5781, 8310, 5785, 5807, 5808, 5797, 947 5799, 5801, 5815, 5817, 5821, 5818, 5809, 5829, 5838, 5831, 948 5827, 8310, 5834, 5826, 5835, 5840, 5851, 5863, 5845, 5868, 949 5853, 5869, 5860, 5865, 5876, 5881, 5872, 5874, 5879, 5885, 950 8310, 5884, 5888, 5890, 5894, 5887, 5901, 5897, 5917, 5919, 951 5903, 5908, 5910, 5925, 8310, 5920, 5915, 5924, 5937, 5926, 952 5935, 5928, 5942, 8310, 5948, 5951, 5952, 5947, 5946, 5962, 953 5949, 5975, 5960, 8310, 5970, 5978, 5986, 5967, 5987, 5974, 954 5988, 5985, 8310, 5998, 6001, 5981, 6021, 6005, 6022, 6019, 955 956 6029, 6010, 6018, 6033, 6030, 6032, 6038, 6043, 6028, 6045, 957 6048, 6040, 8310, 6053, 8310, 6055, 6049, 6059, 6080, 6063, 958 8310, 6068, 6071, 6078, 6077, 6079, 8310, 6082, 6086, 6103, 959 6105, 8310, 6093, 6119, 6106, 6110, 6101, 6130, 8310, 6125, 960 6132, 6129, 6141, 6143, 6127, 6128, 6138, 6136, 6133, 6145, 961 6149, 8310, 6163, 6168, 6173, 6174, 6169, 6160, 6177, 6182, 962 6170, 8310, 6184, 6165, 6166, 6188, 6195, 6194, 6198, 6193, 963 6211, 6200, 8310, 6207, 6219, 6233, 6227, 6229, 8310, 8310, 964 6222, 6238, 6234, 6206, 6241, 8310, 6243, 6245, 6240, 6248, 965 6244, 8310, 8310, 6255, 8310, 6258, 8310, 6259, 6261, 8310, 966 967 8310, 6278, 6263, 6279, 6282, 6281, 8310, 6291, 8310, 6297, 968 6292, 6280, 6272, 6290, 8310, 6306, 6300, 6301, 8310, 6304, 969 6302, 6308, 6315, 8310, 6332, 6317, 6316, 8310, 6337, 6341, 970 6340, 6342, 6344, 6335, 6352, 6328, 6351, 6350, 6354, 6358, 971 6360, 6368, 6364, 6365, 6383, 6385, 6376, 6377, 6374, 6390, 972 6396, 6381, 6398, 6399, 6391, 6393, 6407, 6410, 6404, 6423, 973 6415, 6416, 6419, 6421, 6412, 6420, 6431, 6429, 6445, 6451, 974 6455, 6439, 6446, 8310, 6442, 6448, 6462, 6465, 6463, 6469, 975 6471, 6483, 6484, 6492, 8310, 6498, 8310, 6501, 6482, 6494, 976 6487, 8310, 6488, 6489, 6491, 6497, 6514, 6510, 6504, 6535, 977 978 8310, 6538, 6520, 6534, 6539, 8310, 6537, 6545, 6533, 6540, 979 6541, 6544, 6556, 6561, 6560, 6562, 6553, 6555, 6557, 6572, 980 6577, 6575, 6586, 6573, 6578, 6602, 6595, 6596, 6608, 6609, 981 8310, 6611, 8310, 6605, 6612, 6615, 6606, 6623, 6620, 6624, 982 8310, 8310, 6625, 6641, 6646, 6633, 6638, 6649, 6655, 8310, 983 6647, 6657, 6663, 6651, 8310, 6660, 6665, 6666, 8310, 6667, 984 6669, 6676, 6677, 6692, 6686, 6681, 8310, 8310, 8310, 8310, 985 6699, 6683, 6701, 6689, 6696, 6706, 6708, 6711, 6703, 8310, 986 6714, 8310, 8310, 6716, 6726, 6720, 6732, 6738, 6730, 6741, 987 6743, 8310, 6725, 6755, 6757, 6739, 6756, 6763, 6764, 6767, 988 989 6761, 6768, 6774, 6770, 6784, 6765, 6788, 6796, 6800, 8310, 990 8310, 6790, 6804, 6802, 6814, 6811, 6813, 6815, 6817, 6819, 991 6799, 6807, 6820, 6831, 6825, 8310, 6834, 6830, 8310, 6838, 992 8310, 6848, 6849, 6841, 6843, 6858, 6860, 6861, 6863, 8310, 993 8310, 6852, 6864, 6855, 6873, 6876, 6883, 6878, 6897, 6885, 994 8310, 6887, 8310, 6886, 6903, 6908, 6890, 6914, 6921, 6923, 995 6925, 6918, 6922, 8310, 6919, 6924, 8310, 6932, 6929, 6942, 996 8310, 6938, 6940, 6944, 8310, 6947, 8310, 6958, 8310, 6941, 997 6977, 8310, 6953, 6959, 8310, 6962, 6975, 6976, 6965, 8310, 998 6963, 8310, 6971, 6982, 6992, 6983, 6980, 6994, 6984, 6996, 999 1000 6985, 7001, 7013, 7011, 8310, 8310, 7030, 7004, 7009, 7012, 1001 7010, 7006, 7019, 7031, 7034, 8310, 8310, 7040, 8310, 7039, 1002 7046, 8310, 7023, 7050, 7051, 7055, 7052, 7061, 7071, 7063, 1003 7064, 7057, 7094, 7074, 7086, 7098, 7101, 7103, 7105, 7084, 1004 7109, 7095, 7090, 7110, 7118, 7120, 8310, 7107, 7121, 7117, 1005 8310, 7123, 7132, 7149, 7147, 8310, 7153, 7145, 7146, 7148, 1006 8310, 7142, 7156, 7159, 7161, 7162, 7196, 7158, 7183, 8310, 1007 8310, 8310, 8310, 7168, 7175, 8310, 7185, 7187, 8310, 8310, 1008 7176, 7191, 7186, 7210, 8310, 7195, 8310, 7188, 8310, 7203, 1009 7211, 7223, 7220, 8310, 7212, 7241, 8310, 7225, 7231, 7232, 1010 1011 7237, 7228, 7230, 7235, 8310, 7258, 7255, 7256, 7254, 7247, 1012 7250, 7273, 7252, 7268, 7259, 7266, 8310, 7272, 7274, 7276, 1013 8310, 7280, 8310, 7277, 7281, 7298, 7297, 7293, 7295, 7304, 1014 7305, 7300, 7313, 7311, 8310, 7315, 7319, 8310, 7307, 8310, 1015 7335, 8310, 7327, 7329, 7331, 7339, 8310, 7348, 7332, 7337, 1016 7342, 8310, 7349, 7351, 8310, 7358, 7346, 7367, 7380, 7362, 1017 7381, 7372, 7375, 7366, 7396, 7378, 7389, 7392, 7398, 7403, 1018 7413, 8310, 8310, 8310, 7405, 7395, 7408, 7404, 7418, 7423, 1019 7402, 8310, 7429, 7431, 7419, 7442, 7435, 7443, 8310, 7449, 1020 7432, 7445, 8310, 7455, 7457, 7459, 7446, 7461, 7467, 7468, 1021 1022 7471, 7469, 8310, 7475, 8310, 8310, 7458, 8310, 7470, 7478, 1023 7481, 7482, 8310, 7489, 7485, 7486, 7498, 7490, 7495, 7510, 1024 8310, 8310, 7511, 8310, 7518, 7516, 7509, 7525, 7512, 7520, 1025 7529, 7526, 8310, 7534, 7537, 7535, 7532, 7543, 8310, 7538, 1026 7541, 7552, 7555, 7551, 7547, 7568, 7556, 7561, 8310, 8310, 1027 7571, 7567, 8310, 8310, 7589, 7592, 7593, 8310, 8310, 8310, 1028 7600, 8310, 7601, 7607, 7610, 7612, 7599, 8310, 7614, 7604, 1029 7609, 8310, 7616, 7615, 8310, 8310, 7608, 7618, 7613, 7620, 1030 7631, 8310, 7635, 7642, 7637, 7632, 7654, 7640, 7652, 7659, 1031 7666, 7675, 7647, 7648, 7656, 7680, 7682, 7669, 7676, 7684, 1032 1033 8310, 8310, 7691, 8310, 8310, 7692, 7694, 7697, 7700, 7701, 1034 7705, 7706, 8310, 7699, 7710, 7693, 8310, 7698, 7722, 7714, 1035 7718, 7711, 7733, 7715, 7736, 8310, 8310, 7721, 7740, 7720, 1036 7750, 7735, 8310, 7749, 7759, 7741, 7760, 7745, 7756, 7768, 1037 8310, 7754, 8310, 8310, 8310, 8310, 8310, 8310, 8310, 8310, 1038 7772, 8310, 7771, 7785, 8310, 7766, 7779, 7786, 7777, 7780, 1039 8310, 7782, 7792, 7795, 7806, 7799, 7809, 7807, 7804, 7811, 1040 7812, 7815, 7830, 7822, 7824, 8310, 8310, 7832, 7833, 7825, 1041 7839, 7854, 7857, 7861, 7862, 7849, 7859, 7860, 7864, 7872, 1042 7867, 7878, 7870, 7884, 7880, 7874, 7883, 7882, 8310, 7888, 1043 1044 8310, 7890, 8310, 8310, 7912, 7913, 7910, 7897, 7926, 7927, 1045 7909, 7915, 7919, 7931, 8310, 7924, 8310, 7920, 7929, 8310, 1046 7932, 7943, 7930, 7950, 7951, 7947, 7957, 7967, 8310, 7955, 1047 7961, 7968, 7976, 7974, 7982, 7987, 7991, 7993, 7978, 7990, 1048 7999, 7986, 8310, 8002, 8003, 8005, 8008, 8009, 8007, 8018, 1049 8025, 8014, 8310, 8016, 8035, 8041, 8021, 8031, 8043, 8052, 1050 8054, 8048, 8310, 8058, 8062, 8068, 8065, 8071, 8064, 8075, 1051 8078, 8051, 8089, 8074, 8100, 8099, 8101, 8085, 8102, 8091, 1052 8310, 8113, 8096, 8310, 8112, 8114, 8103, 8124, 8131, 8310, 1053 8120, 8126, 8129, 8135, 8125, 8147, 8310, 8138, 8150, 8153, 1054 1055 8310, 8152, 8310, 8310, 8156, 8149, 8159, 8155, 8164, 8310, 1056 8310, 8310, 8218, 8225, 8232, 8239, 8246, 83, 8253, 8260, 1057 8267, 8274, 8281, 8288, 8295, 8302 1058 } ; 1059 1060 static const flex_int16_t yy_def[2927] = 1061 { 0, 1062 2912, 1, 2913, 2913, 2914, 2914, 2915, 2915, 2916, 2916, 1063 2917, 2917, 2912, 2918, 2912, 2912, 2912, 2912, 2919, 2918, 1064 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1065 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1066 2918, 2918, 2920, 2912, 2912, 2912, 2920, 2921, 2912, 2912, 1067 2912, 2921, 2922, 2912, 2912, 2912, 2912, 2922, 2923, 2912, 1068 2912, 2912, 2923, 2924, 2912, 2925, 2912, 2924, 2924, 2918, 1069 2918, 2912, 2926, 2919, 2926, 2919, 2918, 2918, 2918, 2918, 1070 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1071 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1072 1073 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1074 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1075 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1076 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2920, 1077 2920, 2921, 2921, 2922, 2922, 2912, 2923, 2923, 2924, 2924, 1078 2925, 2925, 2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1079 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1080 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1081 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1082 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1083 1084 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1085 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1086 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1087 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1088 2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1089 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1090 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1091 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1092 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1093 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1094 1095 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1096 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1097 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1098 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1099 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2924, 2918, 2918, 1100 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1101 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1102 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1103 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1104 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1105 1106 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1107 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1108 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1109 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1110 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1111 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1112 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1113 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1114 2918, 2918, 2918, 2918, 2912, 2918, 2924, 2918, 2918, 2918, 1115 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1116 1117 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1118 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1119 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1120 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1121 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1122 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1123 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1124 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1125 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1126 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1127 1128 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1129 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1130 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1131 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1132 2918, 2924, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1133 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1134 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1135 2912, 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 1136 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1137 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1138 1139 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1140 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1141 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1142 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1143 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1144 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1145 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1146 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1147 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1148 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1149 1150 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2924, 2918, 2918, 1151 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 1152 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1153 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1154 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1155 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1156 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1157 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1158 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 1159 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 1160 1161 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1162 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1163 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1164 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1165 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 1166 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1167 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1168 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2924, 2918, 1169 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1170 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1171 1172 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 1173 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1174 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1175 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1176 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1177 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1178 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1179 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1180 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1181 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1182 1183 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1184 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1185 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1186 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1187 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1188 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1189 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1190 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1191 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1192 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1193 1194 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1195 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1196 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1197 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1198 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1199 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1200 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1201 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1202 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1203 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 1204 1205 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1206 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1207 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1208 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1209 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1210 2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1211 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1212 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1213 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1214 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1215 1216 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1217 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1218 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1219 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1220 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1221 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1222 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1223 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 1224 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1225 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1226 1227 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1228 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1229 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1230 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1231 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1232 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1233 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1234 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1235 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1236 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1237 1238 2918, 2912, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1239 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1240 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1241 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1242 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1243 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1244 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1245 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1246 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 1247 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1248 1249 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 1250 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1251 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1252 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918, 1253 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1254 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1255 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1256 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1257 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1258 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1259 1260 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1261 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1262 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 1263 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 1264 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918, 2918, 1265 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1266 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 1267 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1268 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1269 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1270 1271 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1272 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1273 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1274 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1275 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1276 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1277 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1278 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1279 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1280 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1281 1282 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1283 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1284 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1285 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1286 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1287 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1288 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1289 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 1290 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1291 2918, 2912, 2912, 2918, 2912, 2918, 2912, 2918, 2918, 2912, 1292 1293 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 1294 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 1295 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 1296 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1297 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1298 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1299 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1300 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1301 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2918, 1302 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1303 1304 2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1305 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1306 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1307 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1308 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1309 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 1310 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2912, 2912, 1311 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1312 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1313 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1314 1315 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1316 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1317 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 1318 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1319 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1320 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1321 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 1322 2912, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2912, 2918, 1323 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2912, 1324 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1325 1326 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 1327 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2912, 2918, 1328 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1329 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1330 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1331 2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 1332 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 1333 2912, 2912, 2912, 2918, 2918, 2912, 2918, 2918, 2912, 2912, 1334 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2912, 2918, 1335 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 1336 1337 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1338 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1339 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1340 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2912, 2918, 2912, 1341 2918, 2912, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1342 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1343 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1344 2918, 2912, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1345 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1346 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1347 1348 2918, 2918, 2912, 2918, 2912, 2912, 2918, 2912, 2918, 2918, 1349 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1350 2912, 2912, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1351 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1352 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2912, 1353 2918, 2918, 2912, 2912, 2918, 2918, 2918, 2912, 2912, 2912, 1354 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 1355 2918, 2912, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 1356 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1357 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1358 1359 2912, 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 1360 2918, 2918, 2912, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1361 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 1362 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1363 2912, 2918, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 1364 2918, 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 1365 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1366 2918, 2918, 2918, 2918, 2918, 2912, 2912, 2918, 2918, 2918, 1367 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1368 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1369 1370 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 1371 2918, 2918, 2918, 2918, 2912, 2918, 2912, 2918, 2918, 2912, 1372 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 1373 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1374 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1375 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1376 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1377 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 2918, 1378 2912, 2918, 2918, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 1379 2918, 2918, 2918, 2918, 2918, 2918, 2912, 2918, 2918, 2918, 1380 1381 2912, 2918, 2912, 2912, 2918, 2918, 2918, 2918, 2918, 2912, 1382 2912, 0, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 1383 2912, 2912, 2912, 2912, 2912, 2912 1384 } ; 1385 1386 static const flex_int16_t yy_nxt[8377] = 1387 { 0, 1388 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 1389 14, 14, 18, 20, 21, 22, 23, 24, 25, 14, 1390 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 1391 36, 37, 38, 39, 40, 14, 14, 14, 41, 42, 1392 20, 21, 22, 23, 24, 25, 14, 26, 27, 28, 1393 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 1394 39, 40, 14, 14, 14, 41, 44, 45, 46, 44, 1395 45, 46, 49, 50, 49, 50, 51, 102, 51, 54, 1396 55, 56, 57, 70, 18, 54, 55, 56, 57, 71, 1397 18, 60, 61, 62, 60, 61, 62, 72, 82, 92, 1398 1399 150, 73, 104, 47, 102, 150, 47, 140, 140, 52, 1400 75, 52, 75, 75, 71, 75, 72, 58, 148, 93, 1401 73, 75, 71, 58, 71, 82, 92, 103, 63, 104, 1402 94, 63, 15, 16, 17, 65, 66, 67, 15, 16, 1403 17, 65, 66, 67, 95, 112, 93, 118, 76, 71, 1404 142, 71, 68, 142, 103, 83, 71, 94, 68, 146, 1405 71, 145, 84, 147, 147, 96, 85, 140, 140, 86, 1406 69, 95, 112, 97, 118, 154, 69, 143, 155, 68, 1407 105, 71, 83, 369, 159, 68, 77, 78, 106, 84, 1408 79, 71, 96, 85, 107, 80, 86, 139, 108, 71, 1409 1410 97, 71, 154, 153, 81, 155, 71, 105, 71, 71, 1411 71, 159, 71, 77, 78, 106, 150, 79, 156, 222, 1412 158, 107, 80, 98, 139, 108, 99, 71, 157, 141, 1413 153, 81, 87, 100, 142, 101, 88, 142, 71, 89, 1414 71, 90, 91, 71, 109, 156, 71, 158, 110, 150, 1415 98, 71, 162, 99, 71, 157, 128, 171, 129, 87, 1416 100, 71, 101, 88, 111, 71, 89, 130, 90, 91, 1417 71, 109, 119, 131, 164, 110, 120, 163, 148, 162, 1418 147, 147, 71, 128, 171, 129, 121, 71, 170, 122, 1419 146, 111, 113, 71, 130, 71, 114, 174, 71, 119, 1420 1421 131, 164, 115, 120, 163, 116, 144, 132, 144, 144, 1422 71, 144, 117, 121, 71, 170, 122, 133, 160, 113, 1423 172, 134, 135, 114, 174, 145, 179, 143, 141, 115, 1424 71, 161, 116, 136, 132, 71, 200, 137, 173, 117, 1425 123, 138, 71, 124, 133, 160, 71, 261, 134, 135, 1426 125, 2912, 71, 179, 126, 127, 71, 180, 161, 71, 1427 136, 2912, 71, 200, 137, 173, 71, 123, 138, 70, 1428 124, 70, 70, 75, 70, 75, 75, 125, 75, 71, 1429 70, 126, 127, 149, 180, 149, 149, 70, 149, 70, 1430 70, 75, 70, 75, 75, 165, 75, 175, 70, 168, 1431 1432 169, 166, 75, 167, 71, 176, 177, 183, 71, 182, 1433 2912, 152, 181, 178, 294, 2912, 71, 190, 188, 1147, 1434 71, 71, 165, 2912, 175, 71, 168, 169, 166, 76, 1435 167, 71, 176, 177, 183, 71, 182, 191, 184, 181, 1436 178, 185, 189, 193, 190, 198, 71, 194, 196, 71, 1437 71, 202, 201, 197, 186, 187, 71, 192, 71, 71, 1438 199, 2912, 71, 195, 191, 184, 71, 71, 185, 189, 1439 193, 71, 198, 206, 194, 196, 211, 203, 202, 201, 1440 197, 186, 187, 71, 192, 204, 205, 199, 207, 208, 1441 195, 71, 71, 209, 210, 71, 71, 71, 212, 213, 1442 1443 206, 71, 71, 211, 203, 71, 216, 2912, 214, 217, 1444 221, 71, 204, 205, 215, 207, 208, 71, 71, 218, 1445 209, 210, 71, 223, 71, 212, 213, 224, 228, 2912, 1446 219, 227, 2912, 216, 220, 214, 217, 221, 71, 71, 1447 71, 215, 236, 71, 225, 230, 218, 226, 229, 231, 1448 223, 71, 235, 71, 224, 228, 71, 219, 227, 232, 1449 71, 220, 237, 239, 71, 240, 2912, 71, 233, 236, 1450 280, 225, 230, 238, 226, 229, 231, 71, 71, 235, 1451 234, 2912, 71, 71, 71, 71, 232, 241, 242, 237, 1452 239, 144, 240, 144, 144, 233, 144, 280, 243, 149, 1453 1454 238, 149, 149, 75, 149, 75, 75, 234, 75, 245, 1455 71, 150, 244, 246, 241, 242, 247, 249, 71, 250, 1456 251, 2912, 252, 248, 254, 71, 253, 255, 71, 340, 1457 71, 71, 2912, 71, 71, 71, 245, 259, 71, 244, 1458 246, 152, 260, 247, 249, 71, 250, 251, 71, 252, 1459 248, 254, 256, 253, 255, 258, 71, 71, 257, 71, 1460 270, 274, 262, 276, 259, 271, 263, 272, 71, 260, 1461 275, 2912, 284, 71, 273, 278, 71, 71, 279, 2912, 1462 430, 71, 258, 264, 71, 257, 71, 270, 274, 71, 1463 71, 277, 271, 263, 272, 71, 71, 275, 71, 284, 1464 1465 71, 273, 278, 281, 285, 279, 293, 71, 2912, 282, 1466 264, 265, 283, 286, 2912, 71, 266, 71, 277, 291, 1467 2912, 267, 2912, 2912, 71, 298, 71, 268, 269, 2912, 1468 281, 285, 287, 293, 71, 71, 282, 288, 265, 283, 1469 286, 71, 295, 266, 305, 292, 291, 300, 267, 289, 1470 296, 290, 71, 299, 268, 269, 303, 71, 71, 287, 1471 71, 297, 71, 301, 288, 304, 71, 306, 71, 295, 1472 307, 305, 292, 308, 311, 2912, 289, 302, 290, 71, 1473 299, 71, 71, 303, 309, 310, 312, 313, 297, 314, 1474 2912, 315, 71, 71, 2912, 71, 545, 71, 71, 71, 1475 1476 308, 311, 71, 316, 302, 71, 71, 71, 71, 317, 1477 318, 309, 310, 312, 313, 319, 314, 320, 315, 321, 1478 322, 325, 71, 71, 71, 71, 71, 71, 323, 71, 1479 316, 326, 327, 324, 328, 330, 317, 318, 71, 333, 1480 71, 71, 319, 329, 320, 332, 321, 322, 331, 334, 1481 71, 71, 336, 71, 341, 323, 335, 71, 326, 327, 1482 324, 337, 330, 339, 71, 71, 71, 338, 343, 2912, 1483 329, 71, 332, 71, 344, 331, 71, 342, 346, 350, 1484 71, 71, 71, 335, 71, 347, 71, 348, 337, 71, 1485 339, 345, 2912, 354, 338, 349, 355, 352, 71, 71, 1486 1487 71, 344, 150, 71, 342, 346, 350, 71, 351, 353, 1488 356, 357, 347, 71, 348, 71, 358, 359, 345, 71, 1489 365, 2912, 349, 363, 352, 71, 360, 366, 71, 71, 1490 362, 361, 71, 71, 367, 351, 353, 356, 357, 71, 1491 71, 368, 71, 71, 359, 364, 370, 71, 71, 371, 1492 363, 71, 71, 360, 366, 71, 372, 362, 361, 71, 1493 373, 367, 374, 376, 375, 378, 377, 71, 368, 380, 1494 2912, 71, 364, 370, 71, 71, 371, 381, 382, 379, 1495 387, 385, 71, 372, 71, 2912, 71, 373, 71, 374, 1496 376, 375, 71, 377, 383, 2912, 386, 71, 388, 2912, 1497 1498 389, 71, 71, 392, 381, 71, 379, 71, 385, 71, 1499 71, 384, 71, 390, 391, 393, 402, 71, 71, 71, 1500 395, 383, 394, 386, 396, 388, 397, 389, 71, 71, 1501 392, 71, 403, 71, 2912, 398, 413, 399, 384, 71, 1502 390, 391, 393, 71, 71, 401, 412, 395, 71, 394, 1503 404, 396, 71, 397, 400, 71, 71, 411, 71, 403, 1504 71, 71, 398, 413, 399, 71, 422, 439, 419, 2912, 1505 417, 423, 401, 412, 418, 71, 1267, 404, 414, 424, 1506 415, 400, 405, 71, 411, 406, 420, 421, 71, 2912, 1507 407, 408, 409, 410, 71, 419, 416, 417, 71, 71, 1508 1509 71, 418, 71, 71, 71, 414, 424, 415, 428, 405, 1510 427, 71, 406, 420, 421, 429, 431, 407, 408, 409, 1511 410, 425, 71, 416, 426, 434, 71, 432, 433, 435, 1512 442, 71, 437, 71, 438, 428, 441, 427, 71, 71, 1513 71, 436, 429, 431, 71, 443, 71, 71, 425, 71, 1514 440, 426, 434, 71, 432, 433, 435, 71, 71, 437, 1515 444, 438, 71, 441, 454, 448, 445, 71, 436, 455, 1516 449, 446, 443, 447, 2912, 2912, 2912, 440, 71, 2912, 1517 456, 453, 71, 450, 2912, 2912, 451, 444, 452, 2912, 1518 71, 454, 448, 445, 71, 71, 467, 449, 446, 71, 1519 1520 447, 71, 71, 71, 471, 468, 457, 456, 453, 469, 1521 450, 71, 458, 451, 470, 452, 459, 71, 472, 483, 1522 494, 71, 474, 467, 460, 2912, 71, 71, 482, 486, 1523 71, 471, 468, 457, 473, 71, 469, 71, 487, 458, 1524 71, 470, 71, 459, 150, 472, 483, 494, 484, 474, 1525 71, 460, 461, 485, 462, 482, 486, 489, 488, 490, 1526 491, 473, 495, 492, 496, 487, 71, 463, 71, 71, 1527 464, 2912, 465, 497, 466, 71, 1022, 71, 71, 461, 1528 71, 462, 493, 71, 489, 488, 490, 491, 2912, 495, 1529 504, 499, 2912, 501, 463, 71, 71, 464, 71, 465, 1530 1531 497, 466, 475, 476, 498, 71, 500, 71, 71, 493, 1532 502, 503, 477, 71, 478, 479, 480, 506, 499, 481, 1533 501, 505, 71, 71, 71, 507, 509, 71, 512, 475, 1534 476, 498, 71, 500, 511, 2912, 508, 502, 503, 477, 1535 71, 478, 479, 480, 506, 71, 481, 71, 505, 71, 1536 71, 510, 507, 71, 516, 512, 513, 514, 71, 515, 1537 517, 511, 518, 508, 526, 71, 71, 521, 2912, 522, 1538 519, 71, 524, 2912, 525, 71, 71, 2912, 510, 2912, 1539 534, 516, 71, 2912, 523, 71, 515, 517, 520, 518, 1540 71, 526, 71, 527, 521, 71, 522, 519, 71, 524, 1541 1542 528, 525, 71, 529, 71, 533, 530, 534, 535, 71, 1543 536, 523, 538, 537, 541, 520, 71, 531, 71, 532, 1544 527, 539, 2912, 71, 71, 543, 540, 528, 71, 544, 1545 529, 71, 533, 530, 549, 535, 71, 536, 546, 538, 1546 542, 541, 71, 71, 531, 71, 532, 71, 539, 71, 1547 547, 71, 543, 540, 548, 550, 544, 551, 2912, 557, 1548 71, 553, 552, 554, 71, 546, 71, 542, 71, 71, 1549 2912, 555, 561, 2912, 71, 564, 2912, 547, 71, 556, 1550 71, 548, 550, 71, 551, 71, 557, 558, 553, 552, 1551 554, 559, 560, 562, 71, 563, 71, 71, 555, 561, 1552 1553 71, 71, 564, 565, 568, 566, 556, 71, 567, 71, 1554 71, 71, 569, 574, 558, 570, 71, 571, 559, 560, 1555 562, 71, 563, 572, 578, 71, 573, 579, 71, 581, 1556 565, 568, 566, 71, 71, 567, 71, 71, 71, 569, 1557 574, 71, 570, 575, 571, 576, 580, 577, 586, 582, 1558 572, 578, 71, 573, 71, 583, 591, 588, 587, 71, 1559 584, 71, 2912, 585, 71, 71, 589, 2912, 71, 71, 1560 575, 71, 576, 580, 577, 592, 582, 595, 2912, 71, 1561 71, 71, 583, 591, 588, 587, 593, 584, 594, 590, 1562 585, 71, 596, 597, 71, 598, 599, 71, 71, 610, 1563 1564 71, 600, 592, 613, 595, 71, 71, 71, 612, 71, 1565 601, 71, 654, 593, 71, 594, 590, 71, 2912, 596, 1566 597, 611, 598, 599, 71, 614, 610, 615, 600, 2912, 1567 613, 71, 2912, 71, 618, 612, 71, 601, 602, 71, 1568 616, 621, 2912, 603, 617, 604, 71, 619, 611, 620, 1569 71, 605, 614, 606, 615, 624, 607, 608, 2912, 71, 1570 71, 618, 71, 609, 71, 602, 71, 616, 621, 71, 1571 603, 617, 604, 625, 619, 622, 620, 626, 605, 627, 1572 606, 71, 624, 607, 608, 623, 71, 628, 632, 629, 1573 609, 71, 630, 631, 634, 2912, 633, 71, 2912, 639, 1574 1575 625, 643, 71, 71, 626, 71, 627, 71, 71, 636, 1576 637, 71, 623, 71, 628, 632, 629, 635, 71, 630, 1577 631, 634, 71, 633, 638, 640, 639, 641, 71, 645, 1578 642, 71, 71, 71, 644, 646, 636, 637, 648, 649, 1579 650, 71, 647, 71, 635, 71, 71, 659, 71, 71, 1580 71, 638, 640, 150, 641, 71, 645, 642, 651, 652, 1581 653, 644, 646, 71, 655, 648, 649, 650, 656, 647, 1582 657, 71, 71, 658, 659, 2912, 660, 662, 661, 71, 1583 667, 673, 663, 71, 71, 651, 652, 653, 71, 71, 1584 71, 71, 668, 671, 672, 656, 71, 669, 670, 71, 1585 1586 658, 664, 71, 660, 662, 661, 71, 667, 665, 663, 1587 674, 666, 71, 71, 675, 676, 677, 679, 678, 71, 1588 71, 71, 71, 680, 71, 670, 687, 681, 664, 682, 1589 683, 71, 684, 692, 2912, 665, 71, 71, 666, 71, 1590 685, 71, 71, 677, 679, 678, 71, 71, 71, 686, 1591 680, 688, 71, 71, 681, 689, 682, 683, 71, 684, 1592 694, 690, 691, 693, 71, 71, 699, 685, 698, 71, 1593 695, 700, 71, 71, 71, 696, 686, 71, 688, 697, 1594 71, 701, 689, 71, 705, 71, 2912, 694, 690, 691, 1595 693, 702, 71, 699, 71, 698, 703, 695, 700, 704, 1596 1597 707, 706, 696, 71, 713, 2912, 697, 708, 701, 71, 1598 710, 71, 711, 71, 2912, 71, 71, 2912, 702, 71, 1599 712, 715, 719, 703, 71, 2912, 704, 707, 706, 709, 1600 71, 713, 71, 717, 708, 714, 71, 710, 716, 711, 1601 720, 71, 71, 718, 71, 721, 722, 712, 715, 71, 1602 71, 723, 71, 71, 726, 71, 709, 71, 71, 724, 1603 717, 725, 714, 727, 730, 716, 2912, 720, 734, 71, 1604 718, 732, 721, 722, 71, 71, 728, 729, 723, 731, 1605 71, 726, 733, 736, 737, 735, 724, 71, 71, 739, 1606 727, 730, 738, 71, 740, 71, 741, 745, 732, 742, 1607 1608 71, 71, 751, 748, 747, 71, 731, 71, 71, 733, 1609 71, 737, 735, 71, 71, 71, 743, 744, 749, 738, 1610 746, 71, 71, 741, 71, 71, 742, 753, 71, 71, 1611 748, 747, 754, 750, 71, 752, 757, 755, 71, 756, 1612 759, 2912, 71, 743, 744, 749, 758, 746, 71, 71, 1613 71, 760, 761, 766, 753, 2912, 768, 767, 2912, 762, 1614 750, 71, 752, 757, 71, 71, 756, 759, 71, 764, 1615 2912, 71, 763, 758, 71, 765, 71, 71, 760, 761, 1616 71, 71, 71, 768, 767, 71, 762, 772, 769, 770, 1617 773, 775, 774, 776, 771, 71, 764, 777, 781, 763, 1618 1619 71, 71, 765, 71, 71, 71, 71, 71, 780, 2912, 1620 778, 2912, 71, 787, 772, 769, 770, 773, 71, 774, 1621 776, 771, 779, 71, 777, 781, 71, 782, 786, 789, 1622 71, 71, 783, 784, 785, 780, 71, 778, 71, 788, 1623 787, 71, 71, 790, 792, 793, 791, 794, 2912, 779, 1624 796, 71, 71, 798, 782, 786, 789, 71, 71, 783, 1625 784, 785, 71, 797, 71, 71, 788, 71, 795, 799, 1626 790, 792, 793, 791, 794, 71, 71, 796, 800, 801, 1627 798, 804, 802, 71, 803, 805, 816, 807, 2912, 71, 1628 797, 71, 806, 808, 809, 795, 799, 2912, 71, 71, 1629 1630 71, 71, 71, 810, 71, 800, 801, 812, 804, 802, 1631 71, 803, 805, 71, 807, 150, 811, 819, 71, 806, 1632 808, 809, 815, 813, 814, 71, 71, 820, 71, 71, 1633 810, 817, 821, 822, 812, 71, 826, 71, 71, 818, 1634 71, 823, 2912, 811, 71, 71, 824, 825, 71, 815, 1635 813, 814, 827, 828, 820, 831, 829, 71, 817, 821, 1636 830, 71, 71, 826, 71, 71, 818, 842, 823, 71, 1637 832, 833, 71, 824, 825, 71, 2912, 839, 71, 827, 1638 71, 840, 831, 829, 841, 71, 2912, 830, 71, 71, 1639 843, 71, 844, 847, 842, 2912, 845, 832, 833, 834, 1640 1641 2912, 71, 71, 835, 839, 846, 836, 850, 840, 71, 1642 851, 841, 849, 837, 71, 71, 838, 843, 848, 844, 1643 847, 71, 71, 845, 863, 71, 834, 71, 859, 860, 1644 835, 71, 846, 836, 850, 71, 2912, 2912, 864, 849, 1645 837, 865, 71, 838, 861, 848, 852, 853, 71, 854, 1646 71, 863, 855, 71, 866, 859, 860, 856, 862, 870, 1647 71, 71, 868, 857, 858, 71, 867, 2912, 865, 872, 1648 869, 861, 71, 852, 853, 2912, 854, 871, 71, 855, 1649 71, 866, 875, 71, 856, 862, 870, 873, 71, 868, 1650 857, 858, 71, 867, 71, 874, 872, 869, 877, 71, 1651 1652 876, 878, 71, 71, 871, 71, 71, 71, 879, 875, 1653 882, 880, 883, 881, 873, 884, 886, 888, 2912, 885, 1654 71, 71, 874, 71, 71, 877, 71, 876, 878, 887, 1655 71, 891, 892, 893, 71, 879, 71, 882, 880, 883, 1656 881, 894, 884, 895, 71, 889, 885, 896, 71, 897, 1657 890, 71, 899, 71, 898, 900, 887, 902, 891, 901, 1658 904, 903, 906, 71, 71, 71, 71, 2912, 894, 909, 1659 71, 71, 907, 71, 896, 71, 897, 71, 71, 71, 1660 71, 898, 71, 71, 902, 905, 901, 904, 903, 71, 1661 71, 908, 910, 71, 913, 911, 912, 914, 916, 907, 1662 1663 71, 71, 915, 918, 917, 71, 919, 2912, 923, 2912, 1664 71, 71, 905, 71, 71, 71, 71, 71, 908, 910, 1665 71, 913, 911, 912, 914, 916, 71, 920, 921, 915, 1666 918, 917, 71, 919, 922, 923, 71, 927, 924, 71, 1667 2912, 926, 928, 930, 931, 929, 925, 2912, 71, 71, 1668 932, 71, 71, 933, 920, 921, 934, 71, 71, 937, 1669 935, 922, 71, 71, 71, 924, 71, 71, 926, 928, 1670 930, 931, 929, 925, 940, 936, 938, 932, 71, 71, 1671 933, 939, 71, 934, 942, 71, 937, 935, 943, 71, 1672 947, 941, 944, 945, 946, 948, 71, 949, 950, 71, 1673 1674 2912, 2912, 936, 938, 71, 71, 71, 71, 939, 71, 1675 952, 942, 71, 957, 71, 943, 71, 947, 941, 944, 1676 945, 946, 71, 951, 949, 950, 953, 954, 955, 71, 1677 71, 956, 71, 71, 958, 959, 71, 952, 71, 960, 1678 961, 962, 963, 964, 965, 71, 71, 71, 969, 970, 1679 951, 71, 966, 953, 954, 955, 967, 968, 956, 71, 1680 974, 958, 971, 71, 976, 71, 960, 71, 972, 963, 1681 964, 965, 71, 71, 71, 969, 973, 71, 71, 966, 1682 975, 71, 978, 967, 968, 977, 71, 71, 979, 971, 1683 71, 71, 71, 980, 71, 972, 981, 2912, 982, 985, 1684 1685 986, 983, 2912, 973, 71, 71, 71, 975, 71, 978, 1686 984, 987, 977, 1000, 71, 150, 988, 71, 997, 71, 1687 980, 71, 999, 981, 71, 982, 985, 986, 983, 71, 1688 990, 998, 989, 2912, 71, 2912, 71, 984, 987, 71, 1689 71, 2912, 1002, 988, 71, 997, 2912, 2912, 1001, 999, 1690 71, 1007, 1003, 2912, 71, 1005, 1008, 990, 998, 989, 1691 991, 1004, 992, 1006, 71, 71, 993, 1009, 994, 1002, 1692 1019, 1020, 2912, 995, 71, 1001, 71, 71, 996, 1003, 1693 71, 1010, 1005, 71, 71, 1011, 2912, 991, 1004, 992, 1694 1006, 1012, 1014, 993, 1009, 994, 1015, 71, 1017, 1018, 1695 1696 995, 1013, 71, 71, 71, 996, 1021, 1023, 1010, 71, 1697 1016, 71, 1011, 71, 71, 1026, 71, 1024, 1012, 1014, 1698 71, 1025, 71, 1015, 71, 1017, 1018, 2912, 1013, 71, 1699 1034, 1035, 2912, 71, 1036, 2912, 1037, 1016, 1038, 71, 1700 2912, 2912, 1026, 2912, 1024, 71, 1041, 71, 1025, 1027, 1701 1039, 71, 1040, 71, 1028, 1044, 1029, 1034, 1035, 71, 1702 1047, 1036, 1030, 1037, 71, 1038, 1046, 1031, 1032, 1045, 1703 1042, 71, 71, 1041, 1033, 71, 1027, 1039, 71, 1040, 1704 1043, 1028, 71, 1029, 71, 1048, 1049, 1047, 71, 1030, 1705 1050, 1053, 71, 71, 1031, 1032, 1045, 1042, 71, 1051, 1706 1707 71, 1033, 1052, 1055, 1056, 1054, 1057, 1043, 1058, 71, 1708 71, 2912, 1048, 1049, 71, 1059, 71, 2912, 1053, 1066, 1709 1060, 71, 71, 71, 71, 1061, 1051, 71, 1063, 1052, 1710 1055, 1064, 1054, 1057, 1062, 1058, 71, 71, 71, 1065, 1711 71, 71, 1059, 71, 1067, 1068, 1066, 1060, 1069, 71, 1712 1081, 1070, 1061, 1071, 71, 1063, 1073, 71, 1064, 71, 1713 71, 1062, 1072, 1074, 71, 1076, 1065, 1075, 2912, 71, 1714 71, 1067, 71, 1077, 1078, 1069, 1080, 71, 1070, 71, 1715 1071, 1079, 71, 1073, 1082, 1088, 1083, 71, 1084, 1072, 1716 1074, 2912, 1076, 1085, 1075, 71, 71, 71, 71, 71, 1717 1718 1077, 1078, 71, 1080, 1086, 1089, 1091, 1087, 1079, 71, 1719 1090, 1082, 1088, 1083, 1092, 71, 1094, 71, 71, 1095, 1720 71, 1096, 2912, 1093, 2912, 1097, 71, 2912, 71, 1099, 1721 71, 1086, 1089, 1091, 1087, 71, 1098, 1090, 1100, 1102, 1722 1103, 1092, 71, 1101, 1104, 1108, 1095, 1105, 71, 71, 1723 1093, 71, 1097, 71, 71, 1107, 1099, 1109, 1106, 71, 1724 71, 71, 71, 1098, 1111, 1100, 1102, 1103, 71, 71, 1725 1101, 1104, 1110, 71, 1105, 2912, 71, 71, 1112, 2912, 1726 1113, 1115, 1107, 1114, 71, 1106, 1116, 1117, 1119, 71, 1727 71, 1111, 71, 71, 1120, 1118, 1121, 1122, 2912, 1110, 1728 1729 1124, 1127, 71, 1123, 1129, 1112, 71, 1113, 1115, 71, 1730 1114, 71, 1125, 1116, 1117, 1128, 1133, 1130, 71, 71, 1731 71, 71, 1118, 1121, 1122, 71, 71, 1126, 1131, 1132, 1732 1123, 71, 71, 71, 71, 71, 1134, 71, 71, 1125, 1733 71, 1135, 1128, 1133, 1130, 1138, 71, 1137, 1139, 1136, 1734 1140, 1142, 1141, 71, 1126, 1131, 1132, 71, 71, 1143, 1735 71, 1144, 71, 1134, 71, 1153, 1146, 1149, 1135, 71, 1736 1145, 2912, 1138, 71, 1137, 1148, 1136, 1159, 1142, 1141, 1737 71, 71, 71, 71, 71, 71, 71, 1150, 1144, 1151, 1738 1152, 71, 71, 1146, 1149, 71, 1154, 1145, 71, 1155, 1739 1740 1156, 1158, 1148, 1157, 71, 1160, 1161, 1162, 2912, 71, 1741 2912, 71, 71, 1163, 1150, 71, 1151, 1152, 1164, 71, 1742 1165, 1166, 1168, 1154, 1167, 71, 1155, 1156, 1158, 1169, 1743 1157, 1174, 1160, 1171, 71, 71, 2912, 71, 71, 71, 1744 1163, 71, 71, 71, 71, 1164, 1170, 1165, 1166, 1168, 1745 1172, 1167, 1175, 71, 71, 1173, 1169, 1176, 71, 1177, 1746 1171, 1179, 71, 71, 1178, 71, 71, 1180, 71, 1184, 1747 1185, 71, 2912, 1170, 1187, 1188, 1181, 1172, 1182, 1175, 1748 1186, 1183, 1173, 2912, 1176, 71, 1177, 71, 1179, 71, 1749 1191, 1178, 71, 1190, 1180, 71, 1184, 1185, 1192, 71, 1750 1751 71, 1187, 1188, 1181, 1189, 1182, 71, 1186, 1183, 1196, 1752 1193, 71, 71, 71, 1194, 1195, 1197, 1191, 1198, 1199, 1753 1190, 1202, 1200, 71, 1201, 1192, 71, 1205, 2912, 2912, 1754 71, 1189, 71, 2912, 2912, 71, 71, 1193, 71, 71, 1755 71, 1194, 1195, 1197, 71, 1198, 1199, 71, 1202, 1200, 1756 1203, 1201, 1204, 1206, 1205, 1207, 1208, 1209, 1210, 1211, 1757 1212, 1214, 71, 1218, 71, 71, 71, 71, 71, 71, 1758 1213, 1215, 71, 71, 1216, 1217, 71, 1203, 71, 1204, 1759 1206, 71, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1220, 1760 1219, 71, 1221, 71, 1223, 71, 1222, 1213, 1215, 71, 1761 1762 1224, 1216, 1217, 71, 1226, 1225, 2912, 1227, 71, 71, 1763 1228, 1236, 71, 1229, 1238, 1237, 1220, 1219, 71, 1221, 1764 71, 1223, 1242, 1222, 71, 71, 1239, 2912, 2912, 1240, 1765 1241, 1226, 71, 71, 1227, 1245, 2912, 1228, 1236, 71, 1766 1229, 1230, 1237, 1243, 1231, 1232, 71, 1244, 71, 1233, 1767 2912, 71, 71, 1239, 71, 1234, 1240, 1241, 1246, 1235, 1768 1250, 71, 1245, 71, 71, 71, 1247, 71, 1230, 71, 1769 1243, 1231, 1232, 1248, 1244, 1249, 1233, 1252, 1255, 1251, 1770 1256, 1254, 1234, 1253, 1257, 1246, 1235, 1250, 71, 71, 1771 71, 71, 71, 1247, 1258, 71, 1259, 71, 1260, 2912, 1772 1773 1248, 1268, 1249, 71, 1252, 1255, 1251, 1256, 1254, 2912, 1774 1253, 2912, 2912, 1266, 1269, 1271, 71, 71, 71, 1270, 1775 2912, 71, 1276, 1259, 71, 1260, 71, 1261, 1268, 1272, 1776 1273, 71, 1262, 2912, 1263, 1274, 1264, 71, 1265, 71, 1777 1266, 1269, 1271, 1275, 71, 71, 1270, 71, 71, 1276, 1778 1278, 1277, 1279, 1281, 1261, 2912, 1272, 2912, 1280, 1262, 1779 71, 1263, 71, 1264, 71, 1265, 71, 1283, 71, 1282, 1780 1275, 1284, 71, 1285, 1286, 1288, 1289, 1278, 1277, 1279, 1781 1281, 1290, 71, 71, 71, 1280, 1287, 1291, 71, 71, 1782 1292, 71, 1293, 71, 1283, 1297, 1282, 71, 1284, 1294, 1783 1784 1285, 1286, 1288, 71, 1295, 1296, 1299, 1301, 1290, 1300, 1785 1325, 1298, 71, 1287, 71, 71, 71, 1292, 71, 1293, 1786 1304, 71, 71, 71, 1302, 1306, 1294, 1309, 1308, 71, 1787 71, 1295, 1296, 71, 1301, 71, 1300, 1303, 1298, 1305, 1788 1310, 1307, 71, 71, 1311, 71, 71, 71, 71, 71, 1789 71, 1302, 1306, 71, 1309, 1308, 1312, 1313, 1316, 1314, 1790 1315, 2912, 1319, 2912, 1303, 71, 1305, 1310, 1307, 71, 1791 1317, 1311, 1318, 1320, 1326, 1328, 1323, 71, 1336, 2912, 1792 71, 71, 71, 1312, 1313, 1316, 1314, 1315, 71, 1319, 1793 1322, 1324, 71, 1321, 71, 71, 71, 1317, 1329, 1318, 1794 1795 1320, 1327, 71, 1323, 1330, 71, 71, 71, 1331, 1332, 1796 71, 71, 71, 1337, 1333, 1334, 71, 1322, 1324, 1338, 1797 1321, 71, 71, 71, 71, 1329, 1335, 1339, 1327, 1345, 1798 71, 1330, 2912, 1343, 1344, 1331, 71, 1340, 71, 1346, 1799 71, 1333, 1334, 1341, 1342, 71, 1338, 71, 71, 1349, 1800 71, 71, 1348, 1335, 71, 1347, 1345, 1351, 71, 71, 1801 1343, 1344, 71, 1350, 1340, 71, 1346, 1353, 1352, 1354, 1802 1341, 1342, 71, 1355, 1357, 1358, 1349, 71, 1356, 1348, 1803 1359, 1369, 1347, 71, 71, 71, 1361, 1360, 1368, 71, 1804 1350, 1366, 2912, 71, 1353, 1352, 1354, 1367, 71, 71, 1805 1806 71, 1357, 1358, 1362, 71, 71, 1363, 1359, 1369, 1364, 1807 71, 1370, 1365, 1361, 1360, 71, 71, 1371, 1366, 1373, 1808 71, 1372, 71, 1374, 1367, 71, 1375, 71, 71, 1376, 1809 1362, 71, 1381, 1363, 1377, 71, 1364, 1382, 1370, 1365, 1810 1379, 71, 1378, 1380, 1371, 71, 1373, 1385, 1372, 71, 1811 1374, 71, 71, 1375, 1383, 71, 1376, 1384, 71, 1381, 1812 71, 1377, 1386, 71, 1382, 71, 1387, 1379, 1389, 1378, 1813 1380, 1390, 1388, 2912, 71, 1392, 1393, 71, 1391, 71, 1814 71, 1383, 1394, 71, 1384, 71, 71, 1397, 1396, 1386, 1815 1399, 1395, 1402, 1387, 1403, 1389, 71, 71, 1390, 1388, 1816 1817 71, 1401, 1392, 1393, 71, 1391, 71, 1398, 1406, 1394, 1818 1400, 71, 1404, 71, 1397, 1396, 71, 1399, 1395, 71, 1819 1405, 1407, 1408, 71, 71, 1412, 71, 1409, 1401, 1410, 1820 2912, 1411, 1432, 1413, 1398, 71, 71, 1400, 71, 1404, 1821 71, 1416, 71, 71, 71, 71, 71, 1405, 1407, 1408, 1822 1414, 1415, 1412, 1417, 1409, 1424, 1410, 71, 1411, 71, 1823 1413, 1418, 1419, 71, 71, 1423, 71, 1420, 1416, 71, 1824 71, 1421, 71, 1427, 1428, 1425, 1422, 1414, 1415, 1426, 1825 1417, 71, 1424, 71, 2912, 1429, 1431, 71, 1418, 1433, 1826 1430, 71, 1423, 71, 71, 71, 71, 71, 1434, 71, 1827 1828 1427, 1428, 1425, 71, 1435, 1437, 1426, 1436, 1438, 2912, 1829 1439, 71, 1429, 1431, 1440, 71, 1433, 1430, 71, 1441, 1830 1442, 1445, 71, 1446, 1444, 1434, 71, 71, 71, 1443, 1831 71, 1447, 1437, 71, 1436, 1449, 71, 1439, 1448, 1450, 1832 71, 1440, 71, 1452, 1451, 1453, 1441, 1442, 1445, 71, 1833 1446, 1444, 1458, 71, 1454, 71, 1443, 71, 1447, 2912, 1834 1455, 71, 71, 71, 1456, 1448, 1450, 71, 71, 1462, 1835 1452, 1451, 1453, 1460, 71, 1461, 1459, 1457, 2912, 1458, 1836 71, 1454, 1470, 1463, 1464, 71, 71, 1455, 71, 1465, 1837 1466, 1456, 1467, 1471, 1469, 1476, 71, 1475, 1468, 71, 1838 1839 1460, 71, 1461, 1459, 1457, 71, 71, 71, 1474, 1472, 1840 1463, 1464, 71, 71, 71, 1478, 1465, 1466, 71, 1467, 1841 71, 1469, 1473, 71, 1475, 1468, 1477, 71, 71, 1480, 1842 71, 1479, 1481, 71, 1482, 1474, 1472, 1484, 1483, 1485, 1843 2912, 1486, 71, 71, 71, 71, 1488, 1490, 1487, 1473, 1844 1492, 2912, 71, 1477, 2912, 71, 71, 71, 1479, 1481, 1845 71, 1482, 71, 1489, 1484, 1483, 1485, 71, 1486, 71, 1846 1491, 71, 1493, 1488, 1490, 1487, 71, 1492, 1495, 1494, 1847 71, 71, 1496, 71, 1498, 1497, 1501, 1506, 1499, 1500, 1848 1489, 71, 1504, 71, 1502, 1503, 2912, 1491, 71, 1493, 1849 1850 1507, 71, 71, 71, 1509, 1495, 1494, 1510, 71, 1496, 1851 71, 1498, 1497, 71, 1506, 1499, 1500, 71, 71, 1504, 1852 1505, 1502, 1503, 71, 1508, 71, 71, 1507, 1511, 1512, 1853 1518, 1509, 71, 1515, 71, 1513, 1514, 71, 1516, 2912, 1854 71, 1517, 71, 71, 2912, 2912, 71, 1505, 1522, 2912, 1855 1525, 1508, 71, 1521, 1519, 1511, 1512, 1518, 1524, 1520, 1856 1515, 71, 1513, 1514, 1530, 1516, 71, 71, 1517, 1523, 1857 71, 71, 71, 1526, 1528, 1522, 71, 1525, 2912, 2912, 1858 1521, 1519, 1527, 71, 1529, 1524, 1520, 1531, 1533, 71, 1859 1534, 71, 1532, 71, 1535, 71, 1523, 71, 1536, 1537, 1860 1861 1547, 2912, 2912, 2912, 1540, 71, 71, 1538, 1542, 1527, 1862 71, 1529, 71, 71, 1531, 1533, 71, 1534, 1539, 1532, 1863 71, 1535, 1541, 71, 71, 1536, 1537, 1552, 71, 1543, 1864 71, 1540, 71, 1548, 1538, 1542, 71, 1544, 1553, 1549, 1865 1545, 1550, 1551, 1557, 71, 1539, 2912, 1555, 71, 1541, 1866 1554, 71, 1546, 2912, 1552, 71, 1543, 71, 1556, 1558, 1867 1548, 71, 1559, 71, 1544, 1564, 1549, 1545, 1550, 1551, 1868 71, 1560, 71, 71, 1555, 71, 71, 1554, 1563, 1546, 1869 71, 71, 1561, 1565, 71, 1556, 1558, 1562, 1567, 1559, 1870 71, 1566, 1568, 2912, 71, 1569, 71, 71, 1560, 1570, 1871 1872 1573, 1571, 71, 1572, 1574, 1563, 2912, 71, 1575, 1561, 1873 1577, 71, 71, 71, 1562, 71, 1576, 71, 1566, 1568, 1874 71, 71, 1569, 71, 1578, 71, 71, 1573, 1571, 71, 1875 1572, 1574, 1579, 1580, 1581, 1575, 1582, 1577, 71, 1583, 1876 71, 71, 1584, 1576, 1588, 71, 1585, 1593, 1586, 71, 1877 1587, 1578, 1589, 71, 1590, 2912, 71, 71, 1591, 71, 1878 1580, 1581, 1592, 1582, 71, 71, 1583, 71, 1594, 71, 1879 71, 1588, 2912, 1585, 1593, 1586, 71, 1587, 1601, 1589, 1880 71, 1590, 1597, 1595, 1602, 1591, 1596, 1598, 71, 1592, 1881 1603, 1604, 1599, 71, 1600, 1594, 71, 1619, 1605, 71, 1882 1883 1606, 71, 71, 1607, 1609, 1601, 71, 71, 1608, 1597, 1884 1595, 71, 71, 1596, 1598, 1610, 1611, 71, 1604, 1599, 1885 1612, 1600, 71, 1613, 71, 1605, 1614, 1606, 71, 71, 1886 71, 1609, 1615, 1616, 71, 1608, 1617, 71, 71, 1618, 1887 71, 1620, 1610, 1611, 71, 1621, 1623, 1612, 1622, 1626, 1888 1613, 71, 71, 1614, 1624, 71, 1628, 71, 1625, 1615, 1889 1616, 1629, 71, 1617, 71, 71, 1618, 71, 71, 71, 1890 1633, 1630, 1621, 1623, 1631, 1622, 1626, 1627, 1632, 71, 1891 1637, 1624, 71, 1628, 1634, 1625, 1639, 71, 1629, 71, 1892 1635, 1643, 71, 1636, 1640, 71, 71, 1633, 1630, 1641, 1893 1894 71, 1631, 1642, 1638, 1627, 1632, 1645, 1637, 71, 71, 1895 1644, 1634, 1646, 1639, 1647, 71, 1648, 1635, 1649, 71, 1896 1636, 1652, 1651, 71, 1650, 1656, 71, 1657, 1653, 1642, 1897 1638, 71, 1654, 71, 2912, 71, 71, 1644, 1655, 71, 1898 1668, 1647, 71, 1660, 71, 1649, 71, 1662, 71, 1651, 1899 1658, 1650, 1659, 71, 1657, 1653, 71, 71, 71, 1654, 1900 71, 71, 71, 1661, 1663, 1655, 1666, 1664, 1669, 1665, 1901 1660, 1670, 71, 1675, 1662, 1672, 1671, 1658, 71, 1659, 1902 71, 71, 71, 71, 71, 71, 1678, 1667, 1679, 1673, 1903 1661, 1663, 1674, 71, 1664, 71, 1665, 71, 1670, 1676, 1904 1905 71, 1677, 1672, 1671, 71, 71, 71, 1681, 2912, 1682, 1906 1680, 1683, 71, 1678, 1667, 71, 1673, 71, 1684, 1674, 1907 1686, 1685, 1688, 1687, 71, 2912, 1676, 1690, 1677, 1692, 1908 71, 71, 1699, 71, 1681, 71, 1682, 1680, 1683, 71, 1909 71, 1694, 71, 1689, 1691, 1684, 1693, 1686, 1685, 71, 1910 1687, 71, 71, 1702, 1690, 1697, 71, 1695, 1698, 71, 1911 1696, 71, 1700, 71, 71, 71, 1703, 1701, 1694, 1705, 1912 1689, 1691, 71, 1693, 71, 71, 71, 71, 1704, 1706, 1913 1702, 1707, 1697, 1708, 1695, 1698, 1709, 1696, 2912, 1700, 1914 1712, 1711, 1710, 71, 1701, 1714, 71, 1713, 2912, 71, 1915 1916 71, 71, 71, 1715, 71, 1704, 1706, 71, 1707, 1717, 1917 1718, 1716, 71, 71, 71, 71, 71, 1712, 1711, 1710, 1918 71, 1720, 1714, 1721, 1713, 1719, 1722, 1724, 71, 1725, 1919 1715, 71, 1726, 71, 71, 1727, 1717, 1718, 1716, 1723, 1920 71, 71, 1735, 1728, 71, 71, 1730, 1729, 1720, 71, 1921 1721, 1731, 1719, 1722, 1724, 71, 1725, 71, 71, 71, 1922 1732, 1736, 1733, 1737, 1734, 1738, 1723, 71, 71, 1735, 1923 1728, 1739, 71, 1730, 1729, 71, 1740, 1741, 1731, 1743, 1924 1742, 1745, 1744, 71, 1746, 71, 71, 1732, 71, 1733, 1925 71, 1734, 1738, 1747, 1749, 1750, 1751, 71, 71, 1754, 1926 1927 1752, 1748, 71, 1740, 1741, 71, 71, 1742, 71, 1744, 1928 71, 1746, 1753, 71, 1755, 1756, 1757, 1759, 1761, 2912, 1929 71, 1758, 1750, 1751, 71, 71, 71, 71, 1748, 71, 1930 1760, 71, 1765, 1762, 1769, 1768, 1766, 71, 71, 1753, 1931 71, 1755, 1756, 1757, 1759, 71, 1763, 71, 1758, 1767, 1932 71, 1764, 1770, 1773, 1774, 71, 1775, 1760, 1778, 1765, 1933 1762, 71, 1768, 1766, 1771, 71, 71, 1772, 1776, 1777, 1934 71, 71, 1779, 71, 71, 71, 1767, 1781, 71, 1770, 1935 71, 1774, 71, 1775, 71, 1778, 1780, 1782, 1783, 71, 1936 1784, 1771, 1785, 71, 1772, 1776, 1777, 1786, 71, 71, 1937 1938 1787, 1788, 2912, 1790, 71, 1793, 71, 71, 71, 1789, 1939 1792, 71, 1797, 1780, 1782, 1783, 1791, 1784, 1796, 1785, 1940 1800, 71, 1795, 71, 1794, 71, 1799, 71, 1788, 71, 1941 1790, 71, 1793, 71, 71, 1798, 1789, 1792, 1801, 1802, 1942 71, 1803, 71, 1791, 71, 1796, 71, 1804, 1805, 1795, 1943 1806, 1794, 71, 1799, 1807, 71, 1808, 1812, 71, 1810, 1944 71, 1811, 1798, 71, 1809, 71, 71, 1814, 1803, 71, 1945 71, 1813, 2912, 71, 1804, 1805, 1815, 1806, 71, 71, 1946 71, 1807, 1821, 1808, 1819, 1818, 1810, 71, 1811, 71, 1947 1817, 1809, 1816, 71, 1814, 1822, 71, 71, 1813, 71, 1948 1949 1820, 1824, 1823, 1815, 1828, 71, 1831, 1825, 71, 1821, 1950 1826, 1819, 1818, 1832, 71, 1827, 71, 1817, 1829, 1816, 1951 71, 1835, 1822, 1830, 71, 1833, 71, 1820, 71, 1823, 1952 71, 71, 71, 1831, 1825, 71, 71, 1826, 1837, 1834, 1953 1832, 1838, 1827, 1836, 1840, 1829, 71, 1839, 1845, 1846, 1954 1830, 1841, 1833, 71, 1847, 71, 1842, 1844, 1849, 1848, 1955 71, 1843, 1850, 1854, 71, 1837, 1834, 71, 71, 71, 1956 1836, 1840, 71, 71, 1839, 71, 71, 1852, 1841, 1851, 1957 71, 1853, 1855, 1842, 1844, 1857, 71, 1856, 1843, 1858, 1958 71, 71, 1859, 1860, 71, 71, 71, 71, 71, 71, 1959 1960 71, 1861, 1862, 1863, 1852, 1864, 1851, 1866, 1853, 1855, 1961 71, 1868, 1857, 71, 1856, 1865, 1858, 71, 71, 1867, 1962 1860, 1869, 1871, 1872, 71, 1873, 1883, 2912, 1870, 1862, 1963 1863, 71, 1864, 71, 1866, 71, 1874, 71, 71, 1876, 1964 1875, 1877, 1865, 1879, 71, 71, 1867, 71, 71, 1878, 1965 1872, 1882, 1873, 71, 71, 1870, 1880, 71, 71, 1881, 1966 1885, 71, 1884, 1874, 71, 71, 1876, 1875, 1877, 71, 1967 1879, 71, 1886, 71, 71, 1887, 1878, 1888, 1882, 1889, 1968 71, 1890, 71, 1880, 71, 1891, 1881, 1885, 1892, 1884, 1969 71, 1893, 1894, 71, 71, 1900, 1895, 71, 1898, 1886, 1970 1971 2912, 1899, 71, 1896, 1888, 1902, 1889, 71, 1890, 71, 1972 1906, 71, 1891, 71, 1897, 1892, 1901, 1904, 1893, 71, 1973 71, 71, 1900, 1895, 71, 1898, 1905, 1903, 1899, 71, 1974 1896, 1907, 1902, 71, 71, 1908, 1909, 71, 1910, 71, 1975 71, 1897, 1912, 1901, 1904, 1914, 71, 71, 1911, 1913, 1976 71, 1916, 1915, 1905, 1903, 71, 2912, 2912, 1907, 71, 1977 1918, 71, 1908, 1909, 1917, 1910, 1919, 2912, 1920, 2912, 1978 1921, 71, 1914, 71, 71, 1911, 1913, 71, 71, 1915, 1979 71, 1923, 1932, 71, 1922, 1924, 1925, 1918, 71, 1928, 1980 71, 1917, 1927, 1919, 71, 1920, 71, 1921, 1926, 71, 1981 1982 71, 71, 1929, 1931, 71, 1936, 1933, 1930, 1923, 71, 1983 71, 1922, 1924, 1925, 71, 71, 1928, 1934, 71, 1927, 1984 1938, 1935, 1940, 1942, 71, 1926, 1939, 71, 1937, 1929, 1985 1931, 71, 1936, 1933, 1930, 71, 1941, 1944, 1943, 1945, 1986 2912, 1951, 71, 71, 1934, 71, 71, 1938, 1935, 1940, 1987 1942, 71, 1946, 1939, 1948, 1937, 71, 71, 71, 1947, 1988 1949, 1950, 71, 1941, 1944, 1943, 1945, 71, 71, 1952, 1989 71, 1953, 1954, 1955, 71, 2912, 1958, 2912, 1959, 1946, 1990 1956, 1948, 1957, 71, 71, 71, 1947, 1949, 1950, 1960, 1991 1961, 71, 1964, 71, 1962, 71, 1952, 71, 1953, 1954, 1992 1993 1955, 1965, 71, 1958, 71, 71, 1963, 1956, 1966, 1957, 1994 71, 71, 1967, 71, 71, 1968, 1960, 1961, 1969, 1964, 1995 2912, 1962, 71, 2912, 71, 1970, 1971, 1974, 71, 1972, 1996 1975, 2912, 1976, 1963, 71, 1966, 1977, 1973, 2912, 1967, 1997 1982, 2912, 1968, 1978, 1981, 71, 71, 71, 71, 2022, 1998 71, 71, 1970, 1971, 71, 1983, 1972, 1975, 71, 1976, 1999 1984, 71, 71, 1977, 1973, 1979, 1985, 1982, 1980, 71, 2000 1978, 1981, 1988, 1986, 1987, 1989, 1990, 1993, 1991, 2912, 2001 1992, 71, 1994, 71, 71, 71, 2023, 71, 71, 71, 2002 71, 71, 1979, 1985, 71, 1980, 2912, 71, 71, 1988, 2003 2004 1986, 1987, 1989, 1990, 71, 1991, 1995, 1992, 1996, 1994, 2005 1997, 1999, 1998, 2000, 2001, 71, 2004, 2912, 71, 71, 2006 2002, 71, 2003, 71, 71, 2007, 71, 2008, 71, 2013, 2007 2912, 71, 2005, 1995, 71, 1996, 2009, 1997, 1999, 1998, 2008 2000, 2001, 71, 2004, 71, 2006, 71, 2002, 71, 2003, 2009 2012, 2010, 2007, 71, 2008, 2011, 71, 71, 2014, 2005, 2010 71, 2015, 2016, 2009, 2017, 2019, 2912, 2025, 71, 2020, 2011 71, 2018, 2006, 2024, 2021, 2027, 71, 2012, 2010, 71, 2012 2036, 2028, 2011, 2026, 2032, 2014, 71, 71, 71, 2016, 2013 71, 2017, 2019, 71, 2025, 2029, 2031, 71, 2018, 2033, 2014 2015 2024, 71, 71, 2034, 2035, 2037, 2030, 71, 2028, 2038, 2016 2026, 71, 71, 71, 71, 2039, 2040, 2041, 71, 2052, 2017 2912, 2042, 2029, 2031, 2044, 71, 2033, 71, 2046, 2912, 2018 2034, 2035, 2037, 2030, 2043, 71, 2038, 2045, 71, 71, 2019 2049, 71, 71, 2040, 71, 2048, 71, 71, 2042, 71, 2020 71, 2044, 2047, 2053, 2050, 2046, 71, 71, 2051, 2054, 2021 2055, 2043, 71, 71, 2045, 2056, 71, 2049, 2057, 71, 2022 2058, 71, 2048, 2062, 2059, 2060, 71, 2912, 71, 2047, 2023 2053, 2050, 71, 71, 2061, 2051, 2054, 2055, 2063, 71, 2024 2064, 2065, 2056, 71, 2070, 2057, 71, 2058, 71, 71, 2025 2026 71, 2059, 2060, 2067, 2066, 2068, 71, 71, 71, 71, 2027 2069, 2061, 2072, 71, 2071, 2063, 71, 2064, 2065, 2073, 2028 71, 2070, 2075, 2074, 71, 2076, 2077, 2912, 2078, 2079, 2029 2067, 2066, 2068, 2080, 2082, 2912, 71, 2069, 71, 2072, 2030 71, 2071, 2083, 2086, 2087, 2081, 71, 71, 71, 2075, 2031 2074, 2088, 2076, 2077, 71, 2078, 71, 71, 2089, 2084, 2032 71, 2082, 2085, 2092, 2091, 71, 71, 2090, 71, 2083, 2033 71, 2087, 2081, 71, 71, 2093, 2094, 71, 2088, 71, 2034 2095, 2097, 2099, 2096, 71, 2089, 2084, 2098, 2100, 2085, 2035 71, 2091, 71, 2101, 2090, 2103, 2912, 2912, 2102, 71, 2036 2037 2107, 2106, 71, 2094, 71, 2104, 2109, 71, 71, 2099, 2038 2096, 71, 2112, 71, 2098, 71, 2105, 2110, 71, 2111, 2039 71, 2108, 2103, 71, 71, 2102, 71, 71, 2106, 71, 2040 2113, 2115, 2104, 71, 2116, 2117, 71, 2119, 2124, 2112, 2041 71, 2118, 71, 2105, 2110, 2114, 2111, 71, 2108, 71, 2042 2121, 2122, 2120, 2123, 71, 2126, 71, 2113, 71, 71, 2043 2128, 2116, 2117, 71, 71, 71, 2125, 71, 2118, 2127, 2044 2134, 2130, 2114, 2131, 71, 2133, 71, 2121, 2122, 2120, 2045 2123, 71, 2126, 2129, 2132, 71, 71, 71, 71, 2135, 2046 71, 71, 2136, 2125, 2137, 2138, 2127, 2134, 2130, 71, 2047 2048 2131, 71, 2133, 2139, 2140, 2143, 71, 2142, 2147, 71, 2049 2129, 2132, 2141, 71, 71, 2145, 2135, 71, 2146, 2136, 2050 71, 2137, 2138, 2144, 71, 71, 71, 71, 2148, 2150, 2051 2139, 2140, 2143, 2912, 2142, 2147, 2151, 71, 2149, 2141, 2052 71, 2912, 2145, 2154, 71, 2146, 2152, 2153, 2155, 71, 2053 2144, 2156, 2161, 2157, 2160, 2162, 2163, 71, 71, 2158, 2054 71, 71, 2166, 2151, 2159, 2149, 2167, 71, 71, 71, 2055 2154, 71, 71, 2152, 2153, 2155, 2165, 71, 2156, 71, 2056 2157, 2160, 71, 2163, 71, 2164, 2158, 71, 71, 2166, 2057 2174, 2159, 71, 2168, 71, 2170, 2172, 2171, 71, 2173, 2058 2059 2176, 2169, 71, 2165, 2175, 2912, 2177, 71, 2181, 2912, 2060 71, 2912, 2164, 2185, 2178, 2912, 71, 71, 71, 71, 2061 2168, 71, 2170, 2172, 2171, 71, 2173, 2176, 2169, 2180, 2062 2179, 2175, 71, 2177, 2184, 2181, 2182, 2187, 2183, 2192, 2063 71, 2178, 71, 2186, 71, 71, 2189, 2188, 2190, 71, 2064 2191, 2194, 2912, 2912, 2193, 2912, 2180, 2179, 71, 2196, 2065 2195, 2184, 2198, 2182, 71, 2183, 71, 71, 71, 71, 2066 2186, 71, 71, 2189, 2188, 71, 2197, 71, 2194, 2199, 2067 71, 2193, 71, 2200, 71, 2201, 2196, 2195, 71, 2198, 2068 2203, 2202, 2204, 2205, 2206, 2207, 2912, 2209, 2210, 71, 2069 2070 2215, 2208, 71, 2197, 71, 71, 2199, 71, 71, 71, 2071 2200, 2212, 71, 71, 2211, 2214, 71, 2203, 2202, 2204, 2072 2205, 71, 2207, 71, 2209, 2210, 2213, 71, 2208, 2216, 2073 2217, 2912, 71, 71, 71, 2218, 2219, 71, 2212, 71, 2074 2220, 2211, 2214, 2222, 2226, 71, 71, 2221, 2223, 2225, 2075 71, 2224, 2229, 2213, 2227, 2912, 2216, 2217, 71, 2228, 2076 2231, 71, 2218, 2219, 2230, 2232, 71, 2233, 71, 2912, 2077 2222, 2226, 71, 71, 2221, 2223, 2225, 71, 2224, 71, 2078 71, 2227, 71, 71, 71, 2235, 2228, 71, 2234, 2236, 2079 2912, 2230, 2232, 2241, 71, 2237, 2239, 71, 71, 2240, 2080 2081 71, 2238, 71, 2242, 2243, 2244, 2246, 2247, 2245, 2252, 2082 2912, 71, 2235, 2250, 2912, 2234, 2236, 71, 71, 71, 2083 71, 71, 2237, 2239, 2249, 2251, 2240, 2912, 2238, 71, 2084 71, 71, 2244, 2246, 2247, 2245, 71, 2248, 2253, 71, 2085 71, 71, 2254, 71, 2255, 71, 2257, 71, 2256, 2912, 2086 2258, 2249, 2251, 2259, 71, 71, 71, 2260, 2262, 2261, 2087 2265, 2263, 2267, 2912, 2248, 2253, 2268, 71, 2266, 2254, 2088 2269, 71, 2270, 2257, 71, 2256, 71, 2258, 2264, 71, 2089 71, 71, 2273, 71, 2260, 2262, 2261, 2265, 2263, 71, 2090 71, 71, 2271, 71, 2272, 2266, 2274, 71, 2275, 71, 2091 2092 2276, 2277, 2912, 71, 71, 2264, 2278, 71, 2280, 2273, 2093 2282, 2283, 2281, 71, 2284, 71, 71, 2285, 2279, 2271, 2094 71, 2272, 71, 2274, 71, 2275, 2286, 2276, 2277, 71, 2095 71, 2292, 71, 2278, 2287, 71, 2288, 71, 71, 2281, 2096 2289, 2284, 2293, 71, 2285, 2279, 71, 2290, 2291, 71, 2097 2294, 71, 2295, 2286, 71, 71, 2296, 2912, 71, 71, 2098 71, 2287, 71, 2288, 2299, 2297, 2301, 2289, 71, 2293, 2099 71, 2298, 2303, 2302, 2290, 2291, 2300, 2294, 71, 2295, 2100 2306, 71, 2304, 2296, 71, 71, 2308, 71, 2309, 2307, 2101 71, 2299, 2297, 2301, 71, 2310, 2311, 2305, 2298, 2303, 2102 2103 2302, 71, 71, 2300, 71, 2312, 2912, 2306, 71, 2304, 2104 71, 2313, 2315, 2308, 2314, 2309, 2307, 2316, 2317, 2319, 2105 2318, 71, 71, 71, 2305, 2320, 71, 71, 71, 2321, 2106 71, 71, 2312, 71, 2324, 2322, 71, 71, 2313, 2315, 2107 71, 2314, 2323, 71, 2316, 2317, 2319, 2318, 2325, 71, 2108 2326, 2329, 2320, 71, 2327, 2328, 2321, 2331, 2330, 71, 2109 2334, 2324, 2322, 2332, 2342, 2340, 2912, 2341, 2912, 2323, 2110 2333, 2335, 71, 71, 71, 2325, 71, 71, 71, 71, 2111 71, 2327, 2328, 71, 71, 2330, 2336, 2334, 2338, 2912, 2112 2332, 2337, 71, 2339, 71, 71, 71, 2333, 2335, 71, 2113 2114 71, 71, 2343, 2346, 2344, 2347, 2345, 2912, 2351, 2350, 2115 2348, 71, 71, 2336, 71, 2338, 71, 71, 2337, 2349, 2116 2339, 2353, 2352, 2912, 2912, 71, 2355, 2912, 2912, 2343, 2117 2346, 2344, 2347, 2345, 71, 71, 2350, 2348, 2358, 2357, 2118 2359, 71, 2354, 2356, 71, 71, 2349, 71, 71, 2352, 2119 71, 71, 2360, 2355, 71, 2361, 2363, 2362, 2364, 71, 2120 2365, 2367, 71, 71, 71, 2358, 2357, 2359, 2366, 2354, 2121 2356, 2368, 71, 2370, 2369, 2371, 2372, 71, 2375, 2360, 2122 71, 2377, 2361, 2363, 2362, 71, 71, 2365, 71, 2379, 2123 71, 2376, 2373, 2382, 71, 2366, 71, 2374, 2368, 71, 2124 2125 2370, 2369, 71, 2372, 71, 71, 71, 2378, 71, 2380, 2126 2381, 2912, 2383, 2385, 2386, 71, 71, 2384, 2376, 2373, 2127 71, 2387, 71, 2390, 2374, 71, 2392, 2388, 71, 2389, 2128 2391, 71, 2912, 2393, 2378, 71, 2380, 2381, 71, 2383, 2129 71, 2386, 71, 2394, 2384, 71, 2395, 71, 2387, 2396, 2130 71, 2912, 2401, 71, 2388, 71, 2389, 2391, 2397, 71, 2131 2393, 2398, 2399, 2400, 71, 71, 2404, 2912, 2405, 71, 2132 2394, 71, 2402, 2395, 2403, 2406, 2396, 71, 71, 2401, 2133 71, 2411, 71, 2407, 2408, 2397, 2912, 2412, 2398, 2399, 2134 2400, 2409, 2414, 2404, 71, 71, 71, 2413, 2410, 2402, 2135 2136 71, 2403, 71, 71, 71, 2415, 71, 71, 2416, 71, 2137 2407, 2408, 2417, 71, 2412, 2418, 2419, 2420, 2409, 2414, 2138 2428, 2421, 2425, 71, 2413, 2410, 2422, 71, 2423, 71, 2139 2424, 2912, 2415, 2426, 2429, 71, 2427, 2912, 71, 71, 2140 2430, 71, 2418, 71, 2420, 2434, 71, 2428, 2431, 2432, 2141 71, 2433, 71, 71, 71, 2423, 71, 2424, 71, 71, 2142 2426, 2429, 2435, 2427, 71, 2436, 2437, 2430, 2439, 71, 2143 71, 2438, 2434, 71, 2442, 2431, 2432, 71, 2433, 2440, 2144 71, 2441, 71, 2444, 2443, 2447, 2446, 71, 71, 2435, 2145 2912, 71, 2436, 2437, 71, 2439, 2445, 71, 2438, 71, 2146 2147 71, 2442, 71, 71, 2449, 2450, 2440, 2448, 2441, 2451, 2148 2444, 2443, 71, 2446, 2453, 71, 2452, 71, 2454, 2455, 2149 2456, 2458, 71, 2445, 71, 71, 71, 2457, 2459, 71, 2150 2460, 2449, 2450, 2912, 2448, 2912, 71, 2461, 2462, 2463, 2151 2464, 2453, 71, 2452, 2912, 2454, 2455, 71, 2466, 2465, 2152 2912, 2469, 2470, 71, 2457, 2467, 2471, 71, 71, 2472, 2153 71, 71, 71, 71, 71, 2462, 2463, 2464, 71, 2468, 2154 2473, 71, 2478, 2474, 2479, 2466, 2465, 71, 2469, 71, 2155 71, 71, 2467, 71, 2475, 2477, 71, 2480, 2912, 2476, 2156 2482, 2481, 71, 2483, 2485, 2487, 2468, 71, 71, 2478, 2157 2158 2474, 71, 71, 2484, 71, 2486, 2489, 2488, 2493, 2490, 2159 71, 2492, 2477, 2502, 71, 71, 71, 2482, 2481, 71, 2160 2483, 71, 71, 71, 71, 2494, 2491, 2495, 2501, 2912, 2161 2484, 71, 2486, 71, 2488, 71, 2490, 2496, 2492, 2498, 2162 71, 2499, 2497, 71, 2500, 71, 2505, 2504, 71, 71, 2163 71, 71, 71, 2491, 2495, 2501, 2503, 2506, 71, 2507, 2164 2509, 2508, 71, 2912, 2912, 2510, 2498, 2912, 2499, 71, 2165 71, 2500, 2513, 71, 2504, 2517, 2912, 2519, 71, 71, 2166 2511, 2512, 2514, 2503, 2506, 71, 2507, 2509, 2508, 71, 2167 71, 71, 2510, 2515, 71, 2518, 71, 2516, 2523, 2513, 2168 2169 71, 2520, 71, 71, 2519, 2522, 2521, 2511, 2512, 2514, 2170 71, 2524, 2528, 71, 2525, 2912, 2526, 2912, 2527, 2535, 2171 2515, 2912, 2518, 71, 2516, 71, 2529, 2530, 2531, 71, 2172 2912, 2532, 2522, 71, 71, 2538, 2536, 71, 2524, 2528, 2173 71, 2525, 71, 2526, 71, 2527, 71, 2537, 71, 71, 2174 2533, 2539, 2534, 2529, 2530, 2531, 71, 71, 2532, 71, 2175 71, 2540, 71, 2536, 2541, 2542, 2543, 2544, 2547, 2545, 2176 2912, 71, 2546, 2912, 2537, 2548, 2912, 2533, 2539, 2534, 2177 2555, 71, 2549, 2553, 71, 71, 71, 71, 71, 2550, 2178 2912, 2541, 71, 2543, 2544, 71, 2545, 71, 71, 2546, 2179 2180 71, 71, 2548, 2551, 2554, 2556, 2557, 71, 2552, 2549, 2181 2553, 2558, 2560, 2559, 71, 71, 2550, 2562, 2561, 2563, 2182 2565, 2564, 71, 2912, 71, 71, 71, 71, 2566, 2569, 2183 71, 2554, 2556, 2557, 71, 71, 2567, 2572, 2558, 2560, 2184 2559, 2568, 71, 2573, 2574, 2561, 2563, 2565, 2564, 71, 2185 71, 71, 2578, 2912, 2570, 2566, 2569, 2571, 2575, 71, 2186 2576, 2577, 71, 2567, 71, 2579, 2582, 71, 2568, 71, 2187 71, 71, 2580, 2581, 71, 2587, 71, 2583, 2589, 2578, 2188 71, 2570, 2586, 2584, 2571, 2575, 71, 2576, 2577, 71, 2189 2585, 71, 2593, 71, 71, 71, 2588, 71, 71, 2580, 2190 2191 2581, 2591, 2594, 2590, 2583, 71, 2595, 71, 2592, 2586, 2192 2584, 71, 71, 71, 2596, 71, 71, 2585, 2597, 71, 2193 71, 2598, 2601, 2588, 2600, 2603, 2599, 2605, 2591, 2594, 2194 2590, 2606, 71, 2595, 71, 2592, 71, 71, 2602, 71, 2195 2607, 2596, 2604, 71, 71, 2597, 71, 2608, 2598, 2601, 2196 71, 2600, 71, 2599, 71, 2609, 2612, 2610, 71, 2611, 2197 2613, 2912, 2617, 2912, 2614, 2602, 71, 2607, 71, 2604, 2198 71, 71, 2615, 2616, 71, 2619, 71, 2618, 71, 2621, 2199 2620, 71, 2609, 2612, 2610, 71, 2611, 71, 71, 2617, 2200 71, 2614, 2622, 2624, 2623, 2626, 2627, 71, 2628, 2615, 2201 2202 2616, 71, 2619, 2629, 2618, 71, 71, 2620, 2912, 2630, 2203 2633, 71, 2625, 2631, 71, 2638, 2639, 71, 2634, 71, 2204 71, 2623, 2626, 2627, 2632, 2628, 2635, 2637, 71, 2636, 2205 2641, 71, 2642, 2640, 71, 71, 2630, 71, 2912, 2625, 2206 2631, 71, 71, 71, 71, 2634, 2643, 71, 2644, 2646, 2207 2645, 2632, 71, 2635, 2637, 2649, 2636, 71, 71, 2642, 2208 2640, 2650, 71, 2651, 2647, 2648, 2652, 2653, 71, 2654, 2209 71, 71, 2656, 2643, 71, 2644, 2655, 2645, 2657, 2658, 2210 2659, 71, 71, 2660, 71, 71, 2661, 2662, 71, 2663, 2211 2651, 2647, 2648, 2652, 71, 2667, 71, 71, 71, 2656, 2212 2213 71, 2668, 2672, 2655, 2664, 2657, 71, 71, 71, 71, 2214 71, 2669, 2665, 2661, 71, 2666, 2663, 71, 2670, 2671, 2215 71, 71, 2667, 2675, 71, 71, 2673, 2674, 71, 71, 2216 2676, 2664, 2679, 2677, 71, 2678, 2680, 71, 2669, 2665, 2217 2681, 2682, 2666, 2683, 2912, 2670, 2671, 2912, 71, 71, 2218 71, 71, 2686, 2673, 2674, 71, 2687, 71, 2689, 71, 2219 2677, 2688, 2678, 2680, 71, 71, 2684, 2681, 71, 2685, 2220 2683, 71, 2690, 71, 71, 2694, 71, 71, 2698, 2686, 2221 71, 2693, 71, 2687, 2691, 2689, 71, 2692, 2688, 2697, 2222 71, 71, 2700, 2684, 71, 71, 2685, 2695, 2696, 2690, 2223 2224 71, 2701, 2694, 2699, 2702, 2698, 71, 71, 2693, 2703, 2225 71, 2691, 2704, 2705, 2692, 2712, 2697, 2706, 2707, 2700, 2226 2708, 2709, 2710, 2711, 2695, 2696, 2713, 2717, 71, 2720, 2227 2699, 71, 71, 2716, 2714, 2715, 2703, 2719, 71, 71, 2228 71, 2721, 2712, 71, 2726, 2718, 71, 71, 71, 71, 2229 2725, 71, 71, 71, 71, 71, 2720, 71, 2722, 71, 2230 2716, 2714, 2715, 2724, 2719, 2723, 2727, 2728, 2721, 2729, 2231 71, 71, 2718, 2732, 71, 2736, 71, 2725, 2733, 71, 2232 2730, 71, 2734, 2731, 2735, 2722, 71, 71, 2741, 2737, 2233 2724, 71, 2723, 71, 2728, 71, 2729, 2738, 71, 2739, 2234 2235 2740, 2742, 2736, 2743, 2744, 71, 2745, 2730, 71, 2746, 2236 2731, 2735, 2747, 2748, 71, 71, 2737, 2749, 2750, 71, 2237 2751, 71, 2752, 71, 2738, 2753, 2739, 2740, 2742, 2754, 2238 71, 71, 71, 71, 2755, 2758, 71, 71, 71, 71, 2239 71, 2756, 2760, 2757, 71, 71, 2759, 2751, 2761, 71, 2240 71, 2762, 2753, 71, 71, 2763, 2754, 71, 2764, 71, 2241 71, 71, 2758, 2765, 2767, 2766, 2768, 2769, 2756, 2760, 2242 2757, 2912, 71, 2759, 71, 71, 2771, 2770, 2762, 71, 2243 71, 2774, 2763, 2776, 71, 2764, 2772, 2775, 71, 71, 2244 2765, 2767, 2766, 71, 2769, 71, 2773, 2777, 71, 71, 2245 2246 2779, 2778, 2780, 2771, 2770, 71, 2782, 71, 2774, 2781, 2247 71, 71, 2785, 2772, 2775, 2784, 71, 2783, 71, 71, 2248 2786, 71, 2788, 2773, 71, 71, 2787, 2779, 2778, 2780, 2249 2912, 71, 2789, 2782, 71, 2790, 2781, 2799, 71, 2785, 2250 2792, 2791, 2784, 71, 2783, 71, 71, 2786, 71, 2788, 2251 71, 71, 2793, 2787, 71, 2795, 2796, 2794, 2797, 2789, 2252 2800, 71, 2790, 71, 71, 2798, 2801, 2792, 2791, 71, 2253 2802, 71, 71, 2803, 2804, 2807, 2912, 2812, 71, 2793, 2254 2805, 2808, 2795, 2796, 2794, 2797, 2815, 2800, 71, 2809, 2255 2912, 2806, 2798, 71, 2817, 2912, 71, 2802, 71, 71, 2256 2257 71, 71, 2807, 71, 2810, 2811, 71, 2805, 2808, 71, 2258 2813, 71, 2814, 71, 2816, 2818, 2809, 71, 2806, 71, 2259 2819, 71, 71, 71, 2820, 2912, 2821, 71, 2823, 71, 2260 2822, 2810, 2811, 2824, 2825, 2826, 71, 2813, 2912, 2814, 2261 2827, 2816, 2818, 2829, 2912, 2832, 2831, 2819, 71, 71, 2262 2828, 71, 71, 2821, 71, 2823, 2830, 2822, 71, 71, 2263 2834, 2835, 2826, 71, 2833, 71, 71, 2827, 71, 71, 2264 71, 71, 2832, 2831, 2839, 2836, 2837, 2828, 2838, 2912, 2265 2843, 2845, 71, 2830, 2840, 2841, 71, 2834, 2835, 71, 2266 71, 2833, 2842, 2844, 71, 2846, 71, 2851, 2853, 2912, 2267 2268 71, 2839, 2836, 2837, 2847, 2838, 71, 71, 2848, 2850, 2269 2849, 2840, 2841, 71, 2859, 71, 2852, 71, 2854, 2842, 2270 2844, 71, 2846, 2912, 2856, 71, 71, 2862, 2863, 71, 2271 71, 2847, 71, 2912, 2855, 2848, 2850, 2849, 71, 2857, 2272 2858, 71, 71, 2852, 71, 2854, 71, 71, 71, 2860, 2273 2861, 2856, 2867, 71, 2862, 71, 2864, 71, 2866, 2865, 2274 71, 2855, 2868, 2881, 71, 2870, 2857, 2858, 2869, 2912, 2275 71, 2871, 2912, 2872, 71, 2874, 2860, 2861, 2876, 2867, 2276 71, 2878, 71, 2864, 2877, 2866, 2865, 71, 2883, 2868, 2277 71, 71, 2870, 71, 2879, 2869, 2873, 71, 2871, 2875, 2278 2279 2872, 71, 2874, 71, 71, 2876, 2882, 71, 2878, 2880, 2280 71, 2877, 2884, 71, 71, 2883, 2887, 71, 2885, 2888, 2281 2886, 2879, 2889, 2873, 71, 2890, 2875, 2891, 71, 2892, 2282 71, 2893, 2897, 2882, 2894, 71, 2880, 2901, 71, 71, 2283 71, 71, 71, 2887, 2896, 2885, 2888, 2886, 2900, 2889, 2284 2903, 71, 71, 71, 2891, 2895, 2892, 2898, 2893, 71, 2285 2899, 2894, 2904, 71, 71, 71, 2902, 2910, 71, 2906, 2286 71, 2896, 2905, 2907, 71, 2900, 2911, 71, 2912, 2912, 2287 2908, 2912, 2895, 2912, 2898, 2912, 71, 2899, 71, 71, 2288 2909, 71, 71, 2902, 71, 71, 2906, 2912, 71, 2905, 2289 2290 2907, 2912, 2912, 71, 2912, 2912, 2912, 2908, 2912, 2912, 2291 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2909, 43, 43, 2292 43, 43, 43, 43, 43, 48, 48, 48, 48, 48, 2293 48, 48, 53, 53, 53, 53, 53, 53, 53, 59, 2294 59, 59, 59, 59, 59, 59, 64, 64, 64, 64, 2295 64, 64, 64, 74, 74, 2912, 74, 74, 74, 74, 2296 140, 140, 2912, 2912, 2912, 140, 140, 142, 142, 2912, 2297 2912, 142, 2912, 142, 144, 2912, 2912, 2912, 2912, 2912, 2298 144, 147, 147, 2912, 2912, 2912, 147, 147, 149, 2912, 2299 2912, 2912, 2912, 2912, 149, 151, 151, 2912, 151, 151, 2300 2301 151, 151, 75, 75, 2912, 75, 75, 75, 75, 13, 2302 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2303 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2304 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2305 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2306 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2307 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2308 2912, 2912, 2912, 2912, 2912, 2912 2309 } ; 2310 2311 static const flex_int16_t yy_chk[8377] = 2312 { 0, 2313 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2314 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2315 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2316 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2317 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2319 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 2320 4, 4, 5, 5, 6, 6, 5, 28, 6, 7, 2321 7, 7, 7, 2918, 7, 8, 8, 8, 8, 28, 2322 8, 9, 9, 9, 10, 10, 10, 15, 21, 24, 2323 2324 979, 15, 30, 3, 28, 149, 4, 47, 47, 5, 2325 19, 6, 19, 19, 30, 19, 72, 7, 147, 24, 2326 72, 19, 24, 8, 21, 21, 24, 29, 9, 30, 2327 25, 10, 11, 11, 11, 11, 11, 11, 12, 12, 2328 12, 12, 12, 12, 25, 33, 24, 35, 19, 29, 2329 52, 33, 11, 52, 29, 22, 25, 25, 12, 146, 2330 35, 144, 22, 63, 63, 26, 22, 141, 141, 22, 2331 11, 25, 33, 26, 35, 77, 12, 142, 78, 11, 2332 31, 22, 22, 262, 82, 12, 20, 20, 31, 22, 2333 20, 26, 26, 22, 31, 20, 22, 41, 31, 77, 2334 2335 26, 78, 77, 68, 20, 78, 31, 31, 82, 41, 2336 20, 82, 262, 20, 20, 31, 68, 20, 79, 125, 2337 81, 31, 20, 27, 41, 31, 27, 81, 80, 140, 2338 68, 20, 23, 27, 143, 27, 23, 143, 79, 23, 2339 70, 23, 23, 80, 32, 79, 27, 81, 32, 64, 2340 27, 125, 84, 27, 23, 80, 38, 90, 38, 23, 2341 27, 84, 27, 23, 32, 90, 23, 38, 23, 23, 2342 32, 32, 36, 38, 86, 32, 36, 85, 59, 84, 2343 148, 148, 38, 38, 90, 38, 36, 86, 89, 36, 2344 54, 32, 34, 89, 38, 85, 34, 92, 36, 36, 2345 2346 38, 86, 34, 36, 85, 34, 58, 39, 58, 58, 2347 92, 58, 34, 36, 34, 89, 36, 39, 83, 34, 2348 91, 39, 39, 34, 92, 53, 95, 48, 43, 34, 2349 39, 83, 34, 40, 39, 95, 108, 40, 91, 34, 2350 37, 40, 83, 37, 39, 83, 14, 170, 39, 39, 2351 37, 13, 91, 95, 37, 37, 108, 96, 83, 40, 2352 40, 0, 37, 108, 40, 91, 96, 37, 40, 42, 2353 37, 42, 42, 66, 42, 66, 66, 37, 66, 170, 2354 42, 37, 37, 69, 96, 69, 69, 71, 69, 71, 2355 71, 74, 71, 74, 74, 87, 74, 93, 71, 88, 2356 2357 88, 87, 74, 87, 93, 94, 94, 99, 88, 98, 2358 0, 66, 97, 94, 192, 0, 87, 102, 101, 971, 2359 99, 94, 87, 0, 93, 102, 88, 88, 87, 74, 2360 87, 98, 94, 94, 99, 97, 98, 103, 100, 97, 2361 94, 100, 101, 104, 102, 106, 192, 104, 105, 971, 2362 101, 110, 109, 105, 100, 100, 105, 103, 106, 103, 2363 107, 0, 100, 104, 103, 100, 109, 104, 100, 101, 2364 104, 110, 106, 114, 104, 105, 118, 111, 110, 109, 2365 105, 100, 100, 107, 103, 112, 113, 107, 115, 116, 2366 104, 111, 112, 116, 117, 113, 114, 115, 119, 120, 2367 2368 114, 117, 118, 118, 111, 119, 121, 0, 120, 122, 2369 124, 116, 112, 113, 120, 115, 116, 122, 121, 123, 2370 116, 117, 120, 126, 124, 119, 120, 127, 129, 0, 2371 123, 128, 0, 121, 123, 120, 122, 124, 126, 129, 2372 128, 120, 135, 123, 127, 131, 123, 127, 130, 132, 2373 126, 131, 134, 127, 127, 129, 130, 123, 128, 133, 2374 132, 123, 136, 138, 135, 139, 0, 134, 133, 135, 2375 182, 127, 131, 137, 127, 130, 132, 136, 139, 134, 2376 133, 0, 137, 182, 133, 138, 133, 153, 154, 136, 2377 138, 145, 139, 145, 145, 133, 145, 182, 155, 150, 2378 2379 137, 150, 150, 151, 150, 151, 151, 133, 151, 156, 2380 154, 153, 155, 157, 153, 154, 158, 159, 156, 160, 2381 161, 0, 162, 158, 164, 157, 163, 165, 161, 235, 2382 155, 164, 0, 159, 162, 158, 156, 168, 160, 155, 2383 157, 151, 169, 158, 159, 165, 160, 161, 163, 162, 2384 158, 164, 166, 163, 165, 167, 235, 167, 166, 168, 2385 173, 177, 171, 179, 168, 174, 171, 175, 169, 169, 2386 178, 0, 185, 174, 176, 180, 177, 178, 181, 0, 2387 311, 185, 167, 171, 166, 166, 173, 173, 177, 175, 2388 171, 179, 174, 171, 175, 179, 176, 178, 180, 185, 2389 2390 181, 176, 180, 183, 186, 181, 191, 311, 0, 184, 2391 171, 172, 184, 187, 0, 183, 172, 191, 179, 189, 2392 0, 172, 0, 0, 184, 195, 186, 172, 172, 0, 2393 183, 186, 188, 191, 172, 187, 184, 188, 172, 184, 2394 187, 189, 193, 172, 201, 190, 189, 197, 172, 188, 2395 194, 188, 190, 196, 172, 172, 199, 195, 188, 188, 2396 196, 194, 199, 198, 188, 200, 201, 202, 193, 193, 2397 203, 201, 190, 204, 207, 0, 188, 198, 188, 197, 2398 196, 207, 194, 199, 205, 206, 208, 209, 194, 210, 2399 0, 211, 209, 204, 0, 198, 400, 200, 205, 202, 2400 2401 204, 207, 203, 212, 198, 211, 206, 208, 210, 213, 2402 214, 205, 206, 208, 209, 215, 210, 216, 211, 217, 2403 218, 221, 214, 400, 216, 212, 215, 213, 219, 218, 2404 212, 222, 222, 220, 223, 225, 213, 214, 220, 228, 2405 222, 217, 215, 224, 216, 227, 217, 218, 226, 229, 2406 224, 219, 231, 221, 236, 219, 230, 225, 222, 222, 2407 220, 232, 225, 234, 230, 227, 223, 233, 237, 0, 2408 224, 228, 227, 226, 238, 226, 232, 236, 239, 243, 2409 233, 229, 239, 230, 231, 240, 236, 241, 232, 234, 2410 234, 238, 0, 247, 233, 242, 248, 245, 243, 238, 2411 2412 237, 238, 241, 242, 236, 239, 243, 240, 244, 246, 2413 249, 250, 240, 246, 241, 244, 251, 252, 238, 245, 2414 258, 0, 242, 256, 245, 247, 253, 259, 248, 252, 2415 255, 254, 249, 250, 260, 244, 246, 249, 250, 253, 2416 254, 261, 256, 255, 252, 257, 263, 257, 251, 264, 2417 256, 259, 258, 253, 259, 263, 265, 255, 254, 260, 2418 266, 260, 267, 269, 268, 271, 270, 261, 261, 273, 2419 0, 266, 257, 263, 267, 264, 264, 274, 275, 272, 2420 279, 277, 265, 265, 270, 0, 269, 266, 268, 267, 2421 269, 268, 272, 270, 276, 0, 278, 271, 280, 0, 2422 2423 281, 273, 274, 284, 274, 280, 272, 277, 277, 281, 2424 275, 276, 279, 282, 283, 285, 293, 276, 278, 282, 2425 287, 276, 286, 278, 288, 280, 289, 281, 283, 284, 2426 284, 286, 294, 288, 0, 290, 299, 291, 276, 285, 2427 282, 283, 285, 287, 290, 292, 298, 287, 293, 286, 2428 295, 288, 289, 289, 291, 298, 294, 297, 299, 294, 2429 292, 291, 290, 299, 291, 295, 305, 320, 303, 0, 2430 301, 305, 292, 298, 302, 297, 1083, 295, 300, 306, 2431 300, 291, 296, 303, 297, 296, 304, 304, 302, 0, 2432 296, 296, 296, 296, 301, 303, 300, 301, 305, 320, 2433 2434 296, 302, 300, 306, 1083, 300, 306, 300, 309, 296, 2435 308, 304, 296, 304, 304, 310, 312, 296, 296, 296, 2436 296, 307, 308, 300, 307, 315, 309, 313, 314, 316, 2437 323, 307, 318, 310, 319, 309, 322, 308, 312, 318, 2438 314, 317, 310, 312, 316, 324, 319, 315, 307, 317, 2439 321, 307, 315, 313, 313, 314, 316, 321, 322, 318, 2440 325, 319, 323, 322, 330, 327, 325, 324, 317, 331, 2441 328, 326, 324, 326, 0, 0, 0, 321, 327, 0, 2442 332, 329, 325, 328, 0, 0, 328, 325, 328, 0, 2443 330, 330, 327, 325, 328, 326, 335, 328, 326, 329, 2444 2445 326, 331, 332, 335, 339, 336, 333, 332, 329, 337, 2446 328, 336, 333, 328, 338, 328, 333, 339, 341, 345, 2447 355, 337, 342, 335, 333, 0, 338, 355, 344, 347, 2448 333, 339, 336, 333, 341, 342, 337, 345, 348, 333, 2449 344, 338, 341, 333, 348, 341, 345, 355, 346, 342, 2450 347, 333, 334, 346, 334, 344, 347, 350, 349, 351, 2451 352, 341, 356, 353, 357, 348, 349, 334, 352, 350, 2452 334, 0, 334, 357, 334, 356, 846, 351, 334, 334, 2453 346, 334, 354, 354, 350, 349, 351, 352, 0, 356, 2454 364, 359, 0, 361, 334, 353, 357, 334, 359, 334, 2455 2456 357, 334, 343, 343, 358, 361, 360, 846, 358, 354, 2457 362, 363, 343, 360, 343, 343, 343, 366, 359, 343, 2458 361, 365, 364, 363, 366, 367, 369, 343, 372, 343, 2459 343, 358, 362, 360, 371, 0, 368, 362, 363, 343, 2460 367, 343, 343, 343, 366, 371, 343, 365, 365, 368, 2461 372, 370, 367, 370, 375, 372, 373, 373, 369, 374, 2462 376, 371, 377, 368, 383, 375, 374, 379, 0, 380, 2463 378, 376, 381, 0, 382, 377, 383, 0, 370, 0, 2464 389, 375, 382, 0, 380, 373, 374, 376, 378, 377, 2465 379, 383, 380, 384, 379, 378, 380, 378, 381, 381, 2466 2467 385, 382, 389, 386, 384, 388, 387, 389, 390, 385, 2468 391, 380, 393, 392, 396, 378, 386, 387, 393, 387, 2469 384, 394, 0, 388, 387, 398, 395, 385, 391, 399, 2470 386, 390, 388, 387, 404, 390, 396, 391, 401, 393, 2471 397, 396, 394, 399, 387, 392, 387, 397, 394, 395, 2472 402, 398, 398, 395, 403, 405, 399, 406, 0, 411, 2473 401, 408, 407, 409, 402, 401, 404, 397, 407, 406, 2474 0, 410, 415, 0, 411, 418, 0, 402, 405, 410, 2475 403, 403, 405, 408, 406, 409, 411, 412, 408, 407, 2476 409, 413, 414, 416, 412, 417, 415, 410, 410, 415, 2477 2478 413, 418, 418, 419, 422, 420, 410, 414, 421, 422, 2479 417, 420, 424, 429, 412, 425, 416, 426, 413, 414, 2480 416, 425, 417, 427, 433, 419, 428, 434, 429, 436, 2481 419, 422, 420, 428, 421, 421, 426, 433, 424, 424, 2482 429, 427, 425, 431, 426, 431, 435, 432, 440, 437, 2483 427, 433, 431, 428, 432, 438, 444, 442, 441, 434, 2484 439, 436, 0, 439, 435, 441, 443, 0, 438, 444, 2485 431, 437, 431, 435, 432, 445, 437, 448, 0, 439, 2486 440, 442, 438, 444, 442, 441, 446, 439, 447, 443, 2487 439, 446, 449, 450, 447, 451, 452, 445, 443, 456, 2488 2489 448, 453, 445, 459, 448, 450, 456, 452, 458, 453, 2490 454, 459, 499, 446, 449, 447, 443, 451, 0, 449, 2491 450, 457, 451, 452, 454, 460, 456, 461, 453, 0, 2492 459, 458, 0, 457, 463, 458, 460, 454, 455, 499, 2493 462, 466, 0, 455, 462, 455, 463, 464, 457, 465, 2494 461, 455, 460, 455, 461, 468, 455, 455, 0, 466, 2495 465, 463, 462, 455, 455, 455, 468, 462, 466, 464, 2496 455, 462, 455, 469, 464, 467, 465, 470, 455, 471, 2497 455, 470, 468, 455, 455, 467, 471, 472, 476, 473, 2498 455, 473, 474, 475, 478, 0, 477, 469, 0, 483, 2499 2500 469, 488, 478, 476, 470, 475, 471, 467, 477, 480, 2501 481, 483, 467, 472, 472, 476, 473, 479, 474, 474, 2502 475, 478, 479, 477, 482, 484, 483, 486, 481, 490, 2503 487, 480, 482, 488, 489, 491, 480, 481, 493, 494, 2504 495, 490, 492, 491, 479, 486, 484, 504, 494, 489, 2505 493, 482, 484, 487, 486, 492, 490, 487, 496, 497, 2506 498, 489, 491, 495, 500, 493, 494, 495, 501, 492, 2507 502, 504, 496, 503, 504, 0, 505, 507, 506, 498, 2508 510, 515, 508, 501, 497, 496, 497, 498, 503, 505, 2509 506, 510, 511, 513, 514, 501, 500, 511, 512, 507, 2510 2511 503, 509, 502, 505, 507, 506, 508, 510, 509, 508, 2512 516, 509, 512, 515, 517, 518, 519, 521, 520, 509, 2513 513, 514, 519, 522, 511, 512, 529, 523, 509, 524, 2514 525, 522, 526, 534, 0, 509, 526, 516, 509, 521, 2515 527, 517, 520, 519, 521, 520, 523, 518, 527, 528, 2516 522, 530, 525, 524, 523, 531, 524, 525, 529, 526, 2517 536, 532, 533, 535, 531, 534, 539, 527, 538, 533, 2518 537, 540, 528, 536, 530, 537, 528, 538, 530, 537, 2519 540, 541, 531, 532, 546, 535, 0, 536, 532, 533, 2520 535, 542, 539, 539, 537, 538, 543, 537, 540, 544, 2521 2522 548, 547, 537, 541, 553, 0, 537, 549, 541, 543, 2523 550, 544, 551, 542, 0, 553, 546, 0, 542, 547, 2524 552, 555, 559, 543, 548, 0, 544, 548, 547, 549, 2525 549, 553, 550, 557, 549, 554, 551, 550, 556, 551, 2526 560, 555, 552, 558, 554, 561, 562, 552, 555, 559, 2527 558, 563, 556, 561, 566, 557, 549, 562, 560, 564, 2528 557, 565, 554, 567, 569, 556, 0, 560, 573, 563, 2529 558, 571, 561, 562, 564, 566, 568, 568, 563, 570, 2530 571, 566, 572, 575, 576, 574, 564, 567, 569, 578, 2531 567, 569, 577, 565, 578, 572, 579, 582, 571, 580, 2532 2533 573, 570, 587, 585, 584, 568, 570, 574, 576, 572, 2534 579, 576, 574, 580, 577, 575, 581, 581, 586, 577, 2535 583, 578, 584, 579, 581, 585, 580, 589, 583, 582, 2536 585, 584, 590, 586, 587, 588, 592, 590, 592, 591, 2537 594, 0, 586, 581, 581, 586, 593, 583, 594, 589, 2538 588, 595, 596, 601, 589, 0, 603, 602, 0, 597, 2539 586, 596, 588, 592, 590, 591, 591, 594, 597, 599, 2540 0, 593, 598, 593, 603, 600, 595, 599, 595, 596, 2541 602, 598, 600, 603, 602, 601, 597, 607, 604, 605, 2542 608, 610, 609, 611, 606, 607, 599, 612, 616, 598, 2543 2544 604, 605, 600, 606, 609, 608, 611, 616, 615, 0, 2545 613, 0, 612, 621, 607, 604, 605, 608, 613, 609, 2546 611, 606, 614, 610, 612, 616, 621, 617, 620, 623, 2547 614, 615, 618, 619, 619, 615, 620, 613, 617, 622, 2548 621, 618, 619, 624, 626, 627, 625, 628, 0, 614, 2549 630, 624, 623, 632, 617, 620, 623, 626, 628, 618, 2550 619, 619, 625, 631, 630, 622, 622, 627, 629, 633, 2551 624, 626, 627, 625, 628, 632, 629, 630, 634, 635, 2552 632, 638, 636, 631, 637, 639, 650, 641, 0, 633, 2553 631, 636, 640, 642, 643, 629, 633, 0, 639, 638, 2554 2555 634, 635, 641, 644, 637, 634, 635, 646, 638, 636, 2556 640, 637, 639, 650, 641, 642, 645, 652, 643, 640, 2557 642, 643, 649, 647, 648, 646, 644, 653, 649, 645, 2558 644, 651, 655, 656, 646, 647, 660, 648, 660, 651, 2559 655, 657, 0, 645, 652, 653, 658, 659, 657, 649, 2560 647, 648, 661, 662, 653, 665, 663, 651, 651, 655, 2561 664, 661, 659, 660, 665, 656, 651, 677, 657, 658, 2562 666, 667, 666, 658, 659, 663, 0, 670, 667, 661, 2563 664, 673, 665, 663, 676, 662, 0, 664, 677, 670, 2564 678, 673, 679, 682, 677, 0, 680, 666, 667, 668, 2565 2566 0, 678, 676, 668, 670, 681, 668, 685, 673, 682, 2567 686, 676, 684, 668, 685, 679, 668, 678, 683, 679, 2568 682, 668, 680, 680, 692, 684, 668, 683, 688, 689, 2569 668, 681, 681, 668, 685, 689, 0, 0, 693, 684, 2570 668, 694, 686, 668, 690, 683, 687, 687, 692, 687, 2571 688, 692, 687, 690, 695, 688, 689, 687, 691, 699, 2572 691, 694, 697, 687, 687, 693, 696, 0, 694, 701, 2573 698, 690, 687, 687, 687, 0, 687, 700, 696, 687, 2574 695, 695, 704, 699, 687, 691, 699, 702, 697, 697, 2575 687, 687, 698, 696, 701, 703, 701, 698, 706, 700, 2576 2577 705, 707, 702, 703, 700, 704, 706, 705, 708, 704, 2578 711, 709, 712, 710, 702, 713, 715, 717, 0, 714, 2579 707, 712, 703, 709, 714, 706, 710, 705, 707, 716, 2580 713, 720, 721, 722, 708, 708, 711, 711, 709, 712, 2581 710, 723, 713, 724, 717, 718, 714, 725, 715, 726, 2582 718, 716, 728, 720, 727, 729, 716, 731, 720, 730, 2583 733, 732, 735, 723, 721, 722, 731, 0, 723, 738, 2584 726, 725, 736, 727, 725, 724, 726, 718, 730, 728, 2585 733, 727, 729, 732, 731, 734, 730, 733, 732, 735, 2586 736, 737, 739, 734, 743, 741, 742, 744, 746, 736, 2587 2588 739, 738, 745, 748, 747, 748, 749, 0, 753, 0, 2589 737, 753, 734, 741, 742, 744, 743, 747, 737, 739, 2590 746, 743, 741, 742, 744, 746, 745, 750, 751, 745, 2591 748, 747, 749, 749, 752, 753, 751, 757, 754, 750, 2592 0, 756, 758, 760, 761, 759, 754, 0, 758, 760, 2593 762, 761, 752, 763, 750, 751, 764, 762, 763, 767, 2594 765, 752, 754, 764, 757, 754, 756, 759, 756, 758, 2595 760, 761, 759, 754, 770, 766, 768, 762, 765, 766, 2596 763, 769, 767, 764, 772, 768, 767, 765, 773, 769, 2597 777, 771, 774, 775, 776, 778, 773, 779, 780, 772, 2598 2599 0, 0, 766, 768, 779, 774, 770, 776, 769, 771, 2600 782, 772, 777, 787, 775, 773, 780, 777, 771, 774, 2601 775, 776, 778, 781, 779, 780, 783, 784, 785, 782, 2602 781, 786, 784, 783, 788, 789, 785, 782, 786, 790, 2603 791, 792, 793, 794, 795, 787, 790, 788, 798, 799, 2604 781, 794, 795, 783, 784, 785, 796, 797, 786, 795, 2605 803, 788, 800, 797, 805, 793, 790, 789, 801, 793, 2606 794, 795, 791, 792, 798, 798, 802, 801, 796, 795, 2607 804, 799, 807, 796, 797, 806, 800, 804, 808, 800, 2608 802, 805, 803, 809, 806, 801, 810, 0, 811, 814, 2609 2610 815, 812, 0, 802, 807, 809, 812, 804, 815, 807, 2611 813, 817, 806, 826, 817, 808, 818, 813, 823, 810, 2612 809, 814, 825, 810, 811, 811, 814, 815, 812, 818, 2613 821, 824, 820, 0, 825, 0, 821, 813, 817, 820, 2614 826, 0, 828, 818, 823, 823, 0, 0, 827, 825, 2615 827, 833, 829, 0, 824, 831, 833, 821, 824, 820, 2616 822, 830, 822, 832, 829, 828, 822, 834, 822, 828, 2617 843, 844, 0, 822, 830, 827, 832, 831, 822, 829, 2618 834, 835, 831, 833, 822, 836, 0, 822, 830, 822, 2619 832, 837, 838, 822, 834, 822, 839, 836, 841, 842, 2620 2621 822, 837, 843, 844, 835, 822, 845, 847, 835, 839, 2622 840, 841, 836, 837, 838, 850, 840, 848, 837, 838, 2623 842, 849, 848, 839, 850, 841, 842, 0, 837, 849, 2624 852, 853, 0, 845, 854, 0, 855, 840, 856, 847, 2625 0, 0, 850, 0, 848, 852, 859, 854, 849, 851, 2626 857, 855, 858, 853, 851, 862, 851, 852, 853, 859, 2627 866, 854, 851, 855, 856, 856, 865, 851, 851, 863, 2628 860, 858, 857, 859, 851, 851, 851, 857, 860, 858, 2629 861, 851, 862, 851, 866, 867, 868, 866, 861, 851, 2630 869, 872, 863, 867, 851, 851, 863, 860, 865, 870, 2631 2632 868, 851, 871, 874, 875, 873, 876, 861, 877, 872, 2633 871, 0, 867, 868, 874, 878, 877, 0, 872, 885, 2634 879, 870, 869, 873, 876, 880, 870, 879, 882, 871, 2635 874, 883, 873, 876, 881, 877, 875, 878, 880, 884, 2636 885, 881, 878, 882, 886, 887, 885, 879, 889, 883, 2637 904, 891, 880, 892, 886, 882, 894, 884, 883, 889, 2638 892, 881, 893, 895, 891, 897, 884, 896, 0, 894, 2639 893, 886, 895, 898, 901, 889, 903, 887, 891, 896, 2640 892, 902, 904, 894, 905, 910, 907, 897, 908, 893, 2641 895, 0, 897, 908, 896, 898, 901, 907, 905, 902, 2642 2643 898, 901, 903, 903, 909, 911, 913, 909, 902, 910, 2644 912, 905, 910, 907, 914, 913, 916, 912, 911, 917, 2645 908, 918, 0, 915, 0, 919, 917, 0, 914, 921, 2646 909, 909, 911, 913, 909, 915, 920, 912, 922, 924, 2647 925, 914, 920, 923, 926, 931, 917, 928, 916, 919, 2648 915, 921, 919, 918, 923, 930, 921, 932, 929, 926, 2649 922, 924, 925, 920, 934, 922, 924, 925, 928, 929, 2650 923, 926, 933, 934, 928, 0, 930, 931, 935, 0, 2651 936, 938, 930, 937, 932, 929, 939, 940, 942, 938, 2652 933, 934, 937, 939, 943, 941, 944, 945, 0, 933, 2653 2654 947, 951, 935, 946, 953, 935, 936, 936, 938, 941, 2655 937, 940, 949, 939, 940, 952, 957, 954, 944, 945, 2656 942, 949, 941, 944, 945, 946, 943, 950, 955, 956, 2657 946, 953, 947, 951, 950, 954, 958, 952, 956, 949, 2658 957, 959, 952, 957, 954, 962, 955, 961, 963, 960, 2659 964, 966, 965, 962, 950, 955, 956, 959, 960, 967, 2660 958, 968, 961, 958, 965, 978, 970, 973, 959, 968, 2661 969, 0, 962, 966, 961, 972, 960, 985, 966, 965, 2662 963, 970, 964, 969, 972, 973, 967, 974, 968, 975, 2663 977, 975, 978, 970, 973, 974, 980, 969, 977, 981, 2664 2665 982, 984, 972, 983, 985, 986, 987, 988, 0, 980, 2666 0, 981, 986, 989, 974, 982, 975, 977, 990, 984, 2667 991, 992, 994, 980, 993, 983, 981, 982, 984, 995, 2668 983, 1001, 986, 997, 992, 989, 0, 993, 987, 988, 2669 989, 995, 991, 990, 994, 990, 996, 991, 992, 994, 2670 998, 993, 1002, 997, 996, 999, 995, 1003, 1001, 1004, 2671 997, 1006, 998, 999, 1005, 1002, 1003, 1007, 1006, 1009, 2672 1010, 1004, 0, 996, 1012, 1013, 1007, 998, 1007, 1002, 2673 1011, 1007, 999, 0, 1003, 1005, 1004, 1012, 1006, 1007, 2674 1016, 1005, 1010, 1015, 1007, 1009, 1009, 1010, 1017, 1013, 2675 2676 1011, 1012, 1013, 1007, 1014, 1007, 1017, 1011, 1007, 1022, 2677 1018, 1015, 1016, 1014, 1019, 1020, 1023, 1016, 1024, 1025, 2678 1015, 1028, 1026, 1020, 1027, 1017, 1025, 1031, 0, 0, 2679 1019, 1014, 1018, 0, 0, 1031, 1022, 1018, 1023, 1028, 2680 1024, 1019, 1020, 1023, 1026, 1024, 1025, 1027, 1028, 1026, 2681 1029, 1027, 1030, 1032, 1031, 1033, 1034, 1035, 1036, 1037, 2682 1038, 1040, 1029, 1045, 1030, 1037, 1036, 1033, 1032, 1038, 2683 1039, 1041, 1035, 1040, 1042, 1043, 1034, 1029, 1041, 1030, 2684 1032, 1042, 1033, 1034, 1035, 1036, 1037, 1038, 1040, 1047, 2685 1046, 1039, 1048, 1043, 1050, 1045, 1049, 1039, 1041, 1048, 2686 2687 1051, 1042, 1043, 1046, 1052, 1051, 0, 1053, 1047, 1050, 2688 1054, 1057, 1052, 1055, 1059, 1058, 1047, 1046, 1049, 1048, 2689 1053, 1050, 1063, 1049, 1054, 1057, 1060, 0, 0, 1061, 2690 1062, 1052, 1051, 1058, 1053, 1066, 0, 1054, 1057, 1055, 2691 1055, 1056, 1058, 1064, 1056, 1056, 1059, 1065, 1062, 1056, 2692 0, 1061, 1060, 1060, 1063, 1056, 1061, 1062, 1067, 1056, 2693 1070, 1066, 1066, 1056, 1067, 1064, 1068, 1070, 1056, 1065, 2694 1064, 1056, 1056, 1069, 1065, 1069, 1056, 1072, 1075, 1071, 2695 1076, 1074, 1056, 1073, 1077, 1067, 1056, 1070, 1071, 1076, 2696 1073, 1075, 1068, 1068, 1078, 1072, 1079, 1069, 1080, 0, 2697 2698 1069, 1084, 1069, 1074, 1072, 1075, 1071, 1076, 1074, 0, 2699 1073, 0, 0, 1082, 1086, 1088, 1077, 1084, 1079, 1087, 2700 0, 1080, 1092, 1079, 1088, 1080, 1078, 1081, 1084, 1089, 2701 1090, 1087, 1081, 0, 1081, 1090, 1081, 1086, 1081, 1082, 2702 1082, 1086, 1088, 1091, 1092, 1081, 1087, 1089, 1091, 1092, 2703 1094, 1093, 1095, 1097, 1081, 0, 1089, 0, 1096, 1081, 2704 1095, 1081, 1090, 1081, 1093, 1081, 1096, 1099, 1094, 1098, 2705 1091, 1100, 1097, 1101, 1102, 1104, 1105, 1094, 1093, 1095, 2706 1097, 1106, 1098, 1102, 1100, 1096, 1103, 1107, 1103, 1099, 2707 1108, 1101, 1110, 1106, 1099, 1114, 1098, 1104, 1100, 1111, 2708 2709 1101, 1102, 1104, 1105, 1112, 1113, 1116, 1118, 1106, 1117, 2710 1144, 1115, 1112, 1103, 1107, 1108, 1110, 1108, 1115, 1110, 2711 1121, 1111, 1114, 1113, 1119, 1123, 1111, 1126, 1125, 1118, 2712 1119, 1112, 1113, 1116, 1118, 1117, 1117, 1120, 1115, 1122, 2713 1127, 1124, 1144, 1120, 1128, 1126, 1122, 1121, 1124, 1123, 2714 1125, 1119, 1123, 1128, 1126, 1125, 1130, 1131, 1134, 1132, 2715 1133, 0, 1137, 0, 1120, 1127, 1122, 1127, 1124, 1131, 2716 1135, 1128, 1136, 1138, 1145, 1147, 1141, 1134, 1156, 0, 2717 1130, 1132, 1133, 1130, 1131, 1134, 1132, 1133, 1137, 1137, 2718 1140, 1142, 1135, 1139, 1136, 1138, 1141, 1135, 1148, 1136, 2719 2720 1138, 1146, 1139, 1141, 1149, 1142, 1145, 1147, 1150, 1151, 2721 1156, 1140, 1149, 1157, 1152, 1154, 1148, 1140, 1142, 1158, 2722 1139, 1152, 1154, 1146, 1150, 1148, 1155, 1160, 1146, 1165, 2723 1155, 1149, 0, 1163, 1164, 1150, 1151, 1161, 1165, 1166, 2724 1158, 1152, 1154, 1161, 1162, 1157, 1158, 1164, 1163, 1169, 2725 1161, 1162, 1168, 1155, 1168, 1167, 1165, 1171, 1169, 1160, 2726 1163, 1164, 1167, 1170, 1161, 1166, 1166, 1173, 1172, 1175, 2727 1161, 1162, 1172, 1176, 1177, 1178, 1169, 1175, 1176, 1168, 2728 1179, 1187, 1167, 1177, 1171, 1170, 1181, 1180, 1186, 1173, 2729 1170, 1184, 0, 1178, 1173, 1172, 1175, 1185, 1181, 1179, 2730 2731 1180, 1177, 1178, 1182, 1187, 1176, 1182, 1179, 1187, 1183, 2732 1185, 1188, 1183, 1181, 1180, 1182, 1184, 1189, 1184, 1191, 2733 1186, 1190, 1190, 1192, 1185, 1189, 1193, 1188, 1191, 1194, 2734 1182, 1183, 1200, 1182, 1195, 1193, 1183, 1201, 1188, 1183, 2735 1198, 1195, 1197, 1199, 1189, 1192, 1191, 1204, 1190, 1198, 2736 1192, 1194, 1199, 1193, 1202, 1197, 1194, 1203, 1200, 1200, 2737 1201, 1195, 1205, 1202, 1201, 1203, 1206, 1198, 1208, 1197, 2738 1199, 1209, 1207, 0, 1206, 1211, 1212, 1205, 1210, 1204, 2739 1208, 1202, 1213, 1209, 1203, 1207, 1210, 1216, 1215, 1205, 2740 1218, 1214, 1221, 1206, 1222, 1208, 1212, 1211, 1209, 1207, 2741 2742 1214, 1220, 1211, 1212, 1213, 1210, 1215, 1217, 1226, 1213, 2743 1219, 1218, 1223, 1216, 1216, 1215, 1219, 1218, 1214, 1217, 2744 1224, 1227, 1228, 1220, 1221, 1232, 1222, 1229, 1220, 1230, 2745 0, 1231, 1250, 1233, 1217, 1226, 1229, 1219, 1223, 1223, 2746 1228, 1236, 1230, 1231, 1227, 1232, 1224, 1224, 1227, 1228, 2747 1234, 1235, 1232, 1237, 1229, 1242, 1230, 1234, 1231, 1233, 2748 1233, 1238, 1239, 1236, 1250, 1241, 1237, 1239, 1236, 1238, 2749 1235, 1240, 1241, 1245, 1246, 1243, 1240, 1234, 1235, 1244, 2750 1237, 1242, 1242, 1243, 0, 1247, 1249, 1244, 1238, 1251, 2751 1248, 1245, 1241, 1247, 1239, 1249, 1246, 1248, 1252, 1252, 2752 2753 1245, 1246, 1243, 1240, 1253, 1255, 1244, 1254, 1256, 0, 2754 1257, 1251, 1247, 1249, 1258, 1254, 1251, 1248, 1257, 1259, 2755 1260, 1263, 1258, 1264, 1262, 1252, 1255, 1259, 1260, 1261, 2756 1262, 1265, 1255, 1263, 1254, 1267, 1253, 1257, 1266, 1268, 2757 1256, 1258, 1261, 1270, 1269, 1271, 1259, 1260, 1263, 1264, 2758 1264, 1262, 1275, 1266, 1272, 1265, 1261, 1270, 1265, 0, 2759 1273, 1268, 1267, 1271, 1273, 1266, 1268, 1269, 1272, 1279, 2760 1270, 1269, 1271, 1277, 1275, 1278, 1276, 1273, 0, 1275, 2761 1277, 1272, 1287, 1280, 1281, 1273, 1278, 1273, 1276, 1282, 2762 1283, 1273, 1284, 1288, 1286, 1295, 1279, 1294, 1285, 1284, 2763 2764 1277, 1286, 1278, 1276, 1273, 1280, 1281, 1285, 1293, 1290, 2765 1280, 1281, 1282, 1283, 1287, 1298, 1282, 1283, 1290, 1284, 2766 1288, 1286, 1292, 1294, 1294, 1285, 1296, 1295, 1292, 1301, 2767 1293, 1300, 1302, 1296, 1303, 1293, 1290, 1306, 1305, 1307, 2768 0, 1308, 1298, 1302, 1306, 1303, 1310, 1312, 1309, 1292, 2769 1314, 0, 1310, 1296, 0, 1300, 1301, 1307, 1300, 1302, 2770 1309, 1303, 1305, 1311, 1306, 1305, 1307, 1308, 1308, 1312, 2771 1313, 1311, 1315, 1310, 1312, 1309, 1314, 1314, 1317, 1316, 2772 1317, 1315, 1318, 1313, 1320, 1319, 1323, 1328, 1321, 1322, 2773 1311, 1316, 1326, 1320, 1324, 1325, 0, 1313, 1319, 1315, 2774 2775 1329, 1322, 1325, 1328, 1331, 1317, 1316, 1333, 1318, 1318, 2776 1321, 1320, 1319, 1323, 1328, 1321, 1322, 1324, 1326, 1326, 2777 1327, 1324, 1325, 1329, 1330, 1327, 1331, 1329, 1334, 1335, 2778 1340, 1331, 1330, 1337, 1333, 1336, 1336, 1334, 1338, 0, 2779 1338, 1339, 1335, 1336, 0, 0, 1337, 1327, 1344, 0, 2780 1347, 1330, 1340, 1343, 1341, 1334, 1335, 1340, 1346, 1342, 2781 1337, 1341, 1336, 1336, 1353, 1338, 1342, 1339, 1339, 1345, 2782 1344, 1343, 1347, 1348, 1350, 1344, 1345, 1347, 0, 0, 2783 1343, 1341, 1349, 1346, 1352, 1346, 1342, 1354, 1357, 1349, 2784 1358, 1353, 1355, 1358, 1359, 1354, 1345, 1352, 1360, 1361, 2785 2786 1369, 0, 0, 0, 1364, 1348, 1350, 1362, 1366, 1349, 2787 1357, 1352, 1361, 1355, 1354, 1357, 1362, 1358, 1363, 1355, 2788 1359, 1359, 1365, 1366, 1360, 1360, 1361, 1374, 1364, 1367, 2789 1363, 1364, 1369, 1370, 1362, 1366, 1367, 1368, 1375, 1371, 2790 1368, 1372, 1373, 1379, 1373, 1363, 0, 1377, 1365, 1365, 2791 1376, 1374, 1368, 0, 1374, 1370, 1367, 1371, 1378, 1380, 2792 1370, 1368, 1381, 1372, 1368, 1386, 1371, 1368, 1372, 1373, 2793 1375, 1382, 1376, 1377, 1377, 1379, 1381, 1376, 1385, 1368, 2794 1382, 1380, 1383, 1387, 1378, 1378, 1380, 1384, 1389, 1381, 2795 1383, 1388, 1390, 0, 1384, 1391, 1390, 1386, 1382, 1392, 2796 2797 1395, 1393, 1385, 1394, 1396, 1385, 0, 1395, 1397, 1383, 2798 1399, 1396, 1394, 1388, 1384, 1387, 1398, 1391, 1388, 1390, 2799 1389, 1397, 1391, 1393, 1400, 1399, 1392, 1395, 1393, 1398, 2800 1394, 1396, 1401, 1402, 1403, 1397, 1404, 1399, 1400, 1405, 2801 1402, 1403, 1407, 1398, 1411, 1405, 1408, 1416, 1409, 1404, 2802 1410, 1400, 1412, 1408, 1413, 0, 1411, 1413, 1414, 1416, 2803 1402, 1403, 1415, 1404, 1401, 1412, 1405, 1414, 1417, 1407, 2804 1409, 1411, 0, 1408, 1416, 1409, 1410, 1410, 1424, 1412, 2805 1415, 1413, 1419, 1418, 1425, 1414, 1418, 1421, 1417, 1415, 2806 1426, 1427, 1421, 1419, 1423, 1417, 1423, 1441, 1428, 1421, 2807 2808 1429, 1418, 1424, 1430, 1432, 1424, 1427, 1428, 1431, 1419, 2809 1418, 1425, 1432, 1418, 1421, 1433, 1434, 1426, 1427, 1421, 2810 1435, 1423, 1431, 1436, 1429, 1428, 1437, 1429, 1435, 1441, 2811 1430, 1432, 1438, 1439, 1436, 1431, 1439, 1433, 1434, 1440, 2812 1438, 1442, 1433, 1434, 1437, 1443, 1445, 1435, 1444, 1448, 2813 1436, 1439, 1443, 1437, 1446, 1445, 1451, 1440, 1447, 1438, 2814 1439, 1452, 1444, 1439, 1448, 1451, 1440, 1446, 1442, 1447, 2815 1456, 1453, 1443, 1445, 1454, 1444, 1448, 1450, 1455, 1450, 2816 1458, 1446, 1453, 1451, 1456, 1447, 1460, 1452, 1452, 1458, 2817 1457, 1464, 1454, 1457, 1461, 1460, 1456, 1456, 1453, 1461, 2818 2819 1455, 1454, 1463, 1459, 1450, 1455, 1466, 1458, 1457, 1459, 2820 1465, 1456, 1467, 1460, 1468, 1463, 1469, 1457, 1470, 1465, 2821 1457, 1474, 1473, 1464, 1472, 1477, 1461, 1479, 1475, 1463, 2822 1459, 1472, 1476, 1466, 0, 1473, 1468, 1465, 1476, 1470, 2823 1490, 1468, 1475, 1483, 1467, 1470, 1479, 1485, 1469, 1473, 2824 1481, 1472, 1482, 1474, 1479, 1475, 1476, 1477, 1481, 1476, 2825 1482, 1485, 1483, 1484, 1486, 1476, 1489, 1487, 1491, 1488, 2826 1483, 1492, 1490, 1497, 1485, 1494, 1493, 1481, 1486, 1482, 2827 1487, 1484, 1488, 1493, 1494, 1492, 1500, 1489, 1502, 1495, 2828 1484, 1486, 1496, 1489, 1487, 1500, 1488, 1495, 1492, 1498, 2829 2830 1491, 1499, 1494, 1493, 1498, 1497, 1496, 1504, 0, 1505, 2831 1503, 1506, 1499, 1500, 1489, 1502, 1495, 1503, 1507, 1496, 2832 1509, 1508, 1512, 1511, 1509, 0, 1498, 1514, 1499, 1516, 2833 1504, 1505, 1523, 1506, 1504, 1511, 1505, 1503, 1506, 1508, 2834 1507, 1518, 1514, 1513, 1515, 1507, 1517, 1509, 1508, 1512, 2835 1511, 1513, 1515, 1526, 1514, 1521, 1516, 1519, 1522, 1517, 2836 1520, 1518, 1524, 1521, 1523, 1522, 1527, 1525, 1518, 1529, 2837 1513, 1515, 1519, 1517, 1526, 1520, 1525, 1524, 1528, 1531, 2838 1526, 1532, 1521, 1533, 1519, 1522, 1534, 1520, 0, 1524, 2839 1537, 1536, 1535, 1527, 1525, 1539, 1529, 1538, 0, 1532, 2840 2841 1539, 1531, 1528, 1540, 1538, 1528, 1531, 1535, 1532, 1542, 2842 1543, 1541, 1540, 1534, 1537, 1533, 1536, 1537, 1536, 1535, 2843 1541, 1545, 1539, 1546, 1538, 1544, 1547, 1548, 1543, 1549, 2844 1540, 1542, 1550, 1545, 1548, 1551, 1542, 1543, 1541, 1547, 2845 1544, 1549, 1558, 1552, 1547, 1546, 1554, 1553, 1545, 1552, 2846 1546, 1555, 1544, 1547, 1548, 1553, 1549, 1554, 1555, 1550, 2847 1556, 1559, 1557, 1560, 1557, 1561, 1547, 1551, 1558, 1558, 2848 1552, 1562, 1561, 1554, 1553, 1557, 1563, 1564, 1555, 1566, 2849 1565, 1568, 1567, 1564, 1569, 1556, 1565, 1556, 1559, 1557, 2850 1560, 1557, 1561, 1571, 1573, 1574, 1575, 1574, 1562, 1578, 2851 2852 1576, 1572, 1563, 1563, 1564, 1567, 1566, 1565, 1569, 1567, 2853 1572, 1569, 1577, 1568, 1579, 1579, 1579, 1580, 1582, 0, 2854 1575, 1579, 1574, 1575, 1580, 1571, 1573, 1576, 1572, 1579, 2855 1581, 1578, 1586, 1583, 1590, 1589, 1587, 1581, 1577, 1577, 2856 1583, 1579, 1579, 1579, 1580, 1586, 1585, 1589, 1579, 1588, 2857 1582, 1585, 1591, 1594, 1595, 1595, 1596, 1581, 1599, 1586, 2858 1583, 1587, 1589, 1587, 1592, 1588, 1590, 1593, 1597, 1598, 2859 1591, 1592, 1600, 1593, 1598, 1597, 1588, 1604, 1585, 1591, 2860 1594, 1595, 1596, 1596, 1599, 1599, 1601, 1605, 1606, 1605, 2861 1608, 1592, 1609, 1601, 1593, 1597, 1598, 1610, 1609, 1600, 2862 2863 1611, 1612, 0, 1614, 1604, 1617, 1606, 1612, 1608, 1613, 2864 1616, 1616, 1622, 1601, 1605, 1606, 1615, 1608, 1621, 1609, 2865 1625, 1613, 1619, 1614, 1618, 1618, 1624, 1611, 1612, 1610, 2866 1614, 1617, 1617, 1619, 1615, 1623, 1613, 1616, 1626, 1627, 2867 1621, 1628, 1623, 1615, 1622, 1621, 1624, 1629, 1630, 1619, 2868 1631, 1618, 1625, 1624, 1632, 1630, 1633, 1637, 1631, 1635, 2869 1635, 1636, 1623, 1628, 1634, 1629, 1627, 1639, 1628, 1632, 2870 1626, 1638, 0, 1634, 1629, 1630, 1640, 1631, 1638, 1639, 2871 1633, 1632, 1647, 1633, 1644, 1643, 1635, 1636, 1636, 1637, 2872 1642, 1634, 1640, 1643, 1639, 1648, 1644, 1642, 1638, 1640, 2873 2874 1646, 1650, 1649, 1640, 1653, 1647, 1656, 1651, 1646, 1647, 2875 1652, 1644, 1643, 1657, 1656, 1652, 1648, 1642, 1654, 1640, 2876 1649, 1660, 1648, 1655, 1654, 1658, 1652, 1646, 1650, 1649, 2877 1651, 1653, 1658, 1656, 1651, 1657, 1655, 1652, 1662, 1659, 2878 1657, 1663, 1652, 1661, 1665, 1654, 1659, 1664, 1670, 1671, 2879 1655, 1667, 1658, 1660, 1672, 1661, 1668, 1669, 1673, 1672, 2880 1662, 1668, 1674, 1678, 1669, 1662, 1659, 1665, 1663, 1667, 2881 1661, 1665, 1668, 1664, 1664, 1670, 1671, 1676, 1667, 1675, 2882 1675, 1677, 1680, 1668, 1669, 1682, 1672, 1681, 1668, 1683, 2883 1673, 1683, 1684, 1685, 1674, 1678, 1677, 1680, 1685, 1676, 2884 2885 1682, 1686, 1687, 1689, 1676, 1690, 1675, 1693, 1677, 1680, 2886 1681, 1695, 1682, 1690, 1681, 1691, 1683, 1687, 1689, 1694, 2887 1685, 1696, 1698, 1699, 1684, 1700, 1713, 0, 1697, 1687, 2888 1689, 1693, 1690, 1686, 1693, 1697, 1701, 1691, 1695, 1704, 2889 1702, 1706, 1691, 1708, 1699, 1694, 1694, 1700, 1696, 1707, 2890 1699, 1712, 1700, 1713, 1698, 1697, 1710, 1701, 1702, 1711, 2891 1715, 1704, 1714, 1701, 1707, 1706, 1704, 1702, 1706, 1708, 2892 1708, 1710, 1716, 1712, 1711, 1717, 1707, 1718, 1712, 1719, 2893 1714, 1720, 1715, 1710, 1718, 1721, 1711, 1715, 1722, 1714, 2894 1720, 1723, 1724, 1721, 1716, 1730, 1725, 1719, 1728, 1716, 2895 2896 0, 1729, 1717, 1727, 1718, 1732, 1719, 1728, 1720, 1725, 2897 1738, 1722, 1721, 1723, 1727, 1722, 1731, 1734, 1723, 1729, 2898 1732, 1730, 1730, 1725, 1724, 1728, 1735, 1733, 1729, 1727, 2899 1727, 1740, 1732, 1733, 1731, 1741, 1742, 1738, 1744, 1734, 2900 1735, 1727, 1746, 1731, 1734, 1748, 1741, 1742, 1745, 1747, 2901 1744, 1750, 1749, 1735, 1733, 1740, 0, 0, 1740, 1747, 2902 1753, 1745, 1741, 1742, 1751, 1744, 1754, 0, 1755, 0, 2903 1756, 1748, 1748, 1754, 1746, 1745, 1747, 1749, 1750, 1749, 2904 1753, 1758, 1767, 1751, 1757, 1759, 1760, 1753, 1756, 1763, 2905 1757, 1751, 1762, 1754, 1755, 1755, 1758, 1756, 1761, 1761, 2906 2907 1759, 1760, 1763, 1766, 1762, 1771, 1768, 1765, 1758, 1767, 2908 1763, 1757, 1759, 1760, 1765, 1768, 1763, 1769, 1766, 1762, 2909 1774, 1770, 1776, 1778, 1769, 1761, 1775, 1771, 1772, 1763, 2910 1766, 1776, 1771, 1768, 1765, 1772, 1777, 1782, 1780, 1783, 2911 0, 1790, 1774, 1778, 1769, 1770, 1782, 1774, 1770, 1776, 2912 1778, 1775, 1784, 1775, 1786, 1772, 1780, 1783, 1777, 1785, 2913 1788, 1789, 1786, 1777, 1782, 1780, 1783, 1784, 1790, 1791, 2914 1791, 1792, 1793, 1794, 1789, 0, 1797, 0, 1798, 1784, 2915 1795, 1786, 1796, 1797, 1785, 1788, 1785, 1788, 1789, 1799, 2916 1800, 1796, 1804, 1792, 1801, 1794, 1791, 1793, 1792, 1793, 2917 2918 1794, 1805, 1795, 1797, 1800, 1804, 1803, 1795, 1806, 1796, 2919 1798, 1799, 1807, 1801, 1803, 1808, 1799, 1800, 1809, 1804, 2920 0, 1801, 1808, 0, 1807, 1810, 1811, 1813, 1805, 1812, 2921 1814, 0, 1815, 1803, 1806, 1806, 1816, 1812, 0, 1807, 2922 1820, 0, 1808, 1817, 1819, 1814, 1820, 1810, 1812, 1863, 2923 1809, 1811, 1810, 1811, 1813, 1821, 1812, 1814, 1815, 1815, 2924 1821, 1817, 1816, 1816, 1812, 1818, 1822, 1820, 1818, 1819, 2925 1817, 1819, 1826, 1823, 1825, 1827, 1829, 1832, 1830, 0, 2926 1831, 1863, 1833, 1818, 1822, 1830, 1864, 1821, 1823, 1825, 2927 1829, 1833, 1818, 1822, 1826, 1818, 0, 1827, 1831, 1826, 2928 2929 1823, 1825, 1827, 1829, 1832, 1830, 1834, 1831, 1835, 1833, 2930 1836, 1839, 1837, 1840, 1841, 1834, 1844, 0, 1864, 1835, 2931 1842, 1841, 1843, 1836, 1837, 1849, 1839, 1850, 1840, 1855, 2932 0, 1850, 1847, 1834, 1844, 1835, 1851, 1836, 1839, 1837, 2933 1840, 1841, 1842, 1844, 1843, 1847, 1849, 1842, 1851, 1843, 2934 1854, 1852, 1849, 1847, 1850, 1853, 1855, 1853, 1856, 1847, 2935 1852, 1857, 1858, 1851, 1859, 1861, 0, 1866, 1854, 1862, 2936 1858, 1860, 1847, 1865, 1862, 1870, 1856, 1854, 1852, 1861, 2937 1877, 1871, 1853, 1867, 1873, 1856, 1866, 1859, 1857, 1858, 2938 1867, 1859, 1861, 1860, 1866, 1871, 1872, 1865, 1860, 1874, 2939 2940 1865, 1862, 1870, 1875, 1876, 1878, 1871, 1871, 1871, 1879, 2941 1867, 1873, 1877, 1876, 1872, 1880, 1881, 1882, 1875, 1895, 2942 0, 1884, 1871, 1872, 1886, 1874, 1874, 1878, 1889, 0, 2943 1875, 1876, 1878, 1871, 1885, 1879, 1879, 1888, 1881, 1888, 2944 1892, 1885, 1880, 1881, 1884, 1891, 1895, 1886, 1884, 1882, 2945 1889, 1886, 1890, 1896, 1893, 1889, 1890, 1891, 1894, 1897, 2946 1898, 1885, 1892, 1893, 1888, 1899, 1899, 1892, 1900, 1894, 2947 1901, 1897, 1891, 1905, 1902, 1903, 1896, 0, 1901, 1890, 2948 1896, 1893, 1898, 1900, 1904, 1894, 1897, 1898, 1907, 1903, 2949 1908, 1909, 1899, 1904, 1914, 1900, 1902, 1901, 1908, 1909, 2950 2951 1905, 1902, 1903, 1911, 1910, 1912, 1911, 1907, 1910, 1914, 2952 1913, 1904, 1917, 1912, 1915, 1907, 1913, 1908, 1909, 1918, 2953 1915, 1914, 1920, 1919, 1917, 1921, 1922, 0, 1923, 1924, 2954 1911, 1910, 1912, 1925, 1927, 0, 1920, 1913, 1921, 1917, 2955 1922, 1915, 1928, 1930, 1931, 1926, 1918, 1919, 1927, 1920, 2956 1919, 1933, 1921, 1922, 1923, 1923, 1924, 1926, 1934, 1929, 2957 1925, 1927, 1929, 1937, 1936, 1934, 1931, 1935, 1928, 1928, 2958 1930, 1931, 1926, 1933, 1935, 1938, 1939, 1929, 1933, 1936, 2959 1940, 1942, 1944, 1941, 1939, 1934, 1929, 1943, 1945, 1929, 2960 1937, 1936, 1941, 1946, 1935, 1948, 0, 0, 1947, 1943, 2961 2962 1953, 1952, 1938, 1939, 1944, 1949, 1955, 1940, 1942, 1944, 2963 1941, 1947, 1958, 1948, 1943, 1945, 1950, 1956, 1949, 1957, 2964 1946, 1954, 1948, 1952, 1950, 1947, 1956, 1953, 1952, 1954, 2965 1959, 1960, 1949, 1955, 1961, 1962, 1958, 1964, 1970, 1958, 2966 1957, 1963, 1961, 1950, 1956, 1959, 1957, 1962, 1954, 1963, 2967 1967, 1968, 1966, 1969, 1967, 1972, 1959, 1959, 1960, 1966, 2968 1975, 1961, 1962, 1968, 1964, 1970, 1971, 1972, 1963, 1973, 2969 1981, 1977, 1959, 1978, 1971, 1980, 1969, 1967, 1968, 1966, 2970 1969, 1973, 1972, 1976, 1979, 1979, 1978, 1975, 1981, 1982, 2971 1976, 1977, 1983, 1971, 1985, 1986, 1973, 1981, 1977, 1983, 2972 2973 1978, 1980, 1980, 1987, 1988, 1991, 1988, 1990, 1996, 1985, 2974 1976, 1979, 1989, 1990, 1982, 1994, 1982, 1986, 1995, 1983, 2975 1996, 1985, 1986, 1992, 1992, 1987, 1989, 1991, 1997, 1999, 2976 1987, 1988, 1991, 0, 1990, 1996, 2000, 1994, 1998, 1989, 2977 1995, 0, 1994, 2003, 1998, 1995, 2001, 2002, 2004, 2002, 2978 1992, 2005, 2010, 2006, 2009, 2011, 2012, 2003, 2000, 2007, 2979 1997, 1999, 2017, 2000, 2008, 1998, 2018, 2009, 2001, 2005, 2980 2003, 2006, 2004, 2001, 2002, 2004, 2016, 2007, 2005, 2012, 2981 2006, 2009, 2008, 2012, 2010, 2014, 2007, 2011, 2017, 2017, 2982 2024, 2008, 2014, 2019, 2016, 2020, 2022, 2020, 2018, 2023, 2983 2984 2026, 2019, 2020, 2016, 2025, 0, 2028, 2022, 2033, 0, 2985 2023, 0, 2014, 2037, 2029, 0, 2025, 2024, 2026, 2019, 2986 2019, 2028, 2020, 2022, 2020, 2029, 2023, 2026, 2019, 2031, 2987 2030, 2025, 2033, 2028, 2036, 2033, 2034, 2040, 2035, 2045, 2988 2037, 2029, 2030, 2038, 2031, 2035, 2042, 2041, 2043, 2036, 2989 2044, 2047, 0, 0, 2046, 0, 2031, 2030, 2034, 2049, 2990 2048, 2036, 2051, 2034, 2040, 2035, 2045, 2046, 2042, 2038, 2991 2038, 2041, 2049, 2042, 2041, 2048, 2050, 2047, 2047, 2053, 2992 2043, 2046, 2044, 2054, 2050, 2055, 2049, 2048, 2051, 2051, 2993 2057, 2056, 2058, 2059, 2060, 2061, 0, 2064, 2065, 2058, 2994 2995 2070, 2063, 2053, 2050, 2064, 2065, 2053, 2054, 2057, 2061, 2996 2054, 2067, 2055, 2056, 2066, 2069, 2059, 2057, 2056, 2058, 2997 2059, 2060, 2061, 2063, 2064, 2065, 2068, 2066, 2063, 2071, 2998 2072, 0, 2070, 2068, 2067, 2074, 2075, 2069, 2067, 2072, 2999 2076, 2066, 2069, 2078, 2084, 2084, 2074, 2077, 2081, 2083, 3000 2071, 2082, 2088, 2068, 2085, 0, 2071, 2072, 2075, 2087, 3001 2090, 2081, 2074, 2075, 2089, 2091, 2077, 2094, 2078, 0, 3002 2078, 2084, 2076, 2083, 2077, 2081, 2083, 2082, 2082, 2089, 3003 2085, 2085, 2087, 2091, 2088, 2098, 2087, 2090, 2096, 2099, 3004 0, 2089, 2091, 2106, 2094, 2102, 2104, 2096, 2098, 2105, 3005 3006 2099, 2103, 2103, 2108, 2110, 2111, 2113, 2114, 2112, 2121, 3007 0, 2113, 2098, 2118, 0, 2096, 2099, 2102, 2104, 2112, 3008 2106, 2105, 2102, 2104, 2117, 2120, 2105, 0, 2103, 2114, 3009 2108, 2111, 2111, 2113, 2114, 2112, 2110, 2116, 2122, 2117, 3010 2118, 2121, 2123, 2120, 2125, 2116, 2127, 2122, 2126, 0, 3011 2129, 2117, 2120, 2130, 2123, 2127, 2126, 2131, 2133, 2132, 3012 2136, 2134, 2138, 0, 2116, 2122, 2139, 2136, 2137, 2123, 3013 2140, 2125, 2141, 2127, 2134, 2126, 2129, 2129, 2135, 2131, 3014 2130, 2132, 2144, 2133, 2131, 2133, 2132, 2136, 2134, 2138, 3015 2137, 2135, 2142, 2139, 2143, 2137, 2145, 2140, 2146, 2141, 3016 3017 2147, 2148, 0, 2143, 2144, 2135, 2149, 2142, 2151, 2144, 3018 2153, 2154, 2152, 2149, 2155, 2147, 2148, 2156, 2150, 2142, 3019 2152, 2143, 2145, 2145, 2146, 2146, 2157, 2147, 2148, 2150, 3020 2155, 2163, 2156, 2149, 2158, 2151, 2159, 2153, 2154, 2152, 3021 2160, 2155, 2164, 2159, 2156, 2150, 2157, 2161, 2162, 2158, 3022 2165, 2165, 2166, 2157, 2161, 2162, 2167, 0, 2163, 2166, 3023 2164, 2158, 2160, 2159, 2170, 2168, 2172, 2160, 2168, 2164, 3024 2167, 2169, 2175, 2173, 2161, 2162, 2171, 2165, 2172, 2166, 3025 2178, 2175, 2176, 2167, 2169, 2173, 2180, 2176, 2181, 2179, 3026 2170, 2170, 2168, 2172, 2171, 2182, 2183, 2177, 2169, 2175, 3027 3028 2173, 2177, 2179, 2171, 2178, 2184, 0, 2178, 2180, 2176, 3029 2181, 2186, 2189, 2180, 2188, 2181, 2179, 2190, 2191, 2194, 3030 2193, 2189, 2182, 2183, 2177, 2195, 2191, 2193, 2194, 2196, 3031 2195, 2184, 2184, 2190, 2199, 2197, 2196, 2186, 2186, 2189, 3032 2188, 2188, 2198, 2199, 2190, 2191, 2194, 2193, 2200, 2198, 3033 2202, 2205, 2195, 2197, 2203, 2204, 2196, 2208, 2207, 2203, 3034 2211, 2199, 2197, 2209, 2219, 2217, 0, 2218, 0, 2198, 3035 2210, 2212, 2209, 2204, 2200, 2200, 2207, 2202, 2205, 2210, 3036 2211, 2203, 2204, 2212, 2208, 2207, 2213, 2211, 2215, 0, 3037 2209, 2214, 2217, 2216, 2218, 2213, 2219, 2210, 2212, 2215, 3038 3039 2214, 2216, 2220, 2223, 2221, 2224, 2222, 0, 2228, 2227, 3040 2225, 2220, 2224, 2213, 2222, 2215, 2221, 2225, 2214, 2226, 3041 2216, 2230, 2229, 0, 0, 2223, 2234, 0, 0, 2220, 3042 2223, 2221, 2224, 2222, 2227, 2228, 2227, 2225, 2237, 2236, 3043 2238, 2226, 2232, 2235, 2234, 2237, 2226, 2229, 2230, 2229, 3044 2232, 2235, 2239, 2234, 2236, 2240, 2244, 2243, 2245, 2239, 3045 2246, 2248, 2238, 2240, 2243, 2237, 2236, 2238, 2247, 2232, 3046 2235, 2249, 2246, 2252, 2251, 2253, 2254, 2247, 2258, 2239, 3047 2244, 2261, 2240, 2244, 2243, 2245, 2251, 2246, 2248, 2263, 3048 2254, 2260, 2256, 2266, 2249, 2247, 2252, 2257, 2249, 2256, 3049 3050 2252, 2251, 2253, 2254, 2257, 2258, 2260, 2262, 2261, 2264, 3051 2265, 0, 2271, 2273, 2274, 2262, 2263, 2272, 2260, 2256, 3052 2266, 2275, 2272, 2278, 2257, 2265, 2281, 2276, 2274, 2277, 3053 2279, 2264, 0, 2284, 2262, 2275, 2264, 2265, 2271, 2271, 3054 2273, 2274, 2279, 2285, 2272, 2276, 2286, 2277, 2275, 2287, 3055 2278, 0, 2293, 2281, 2276, 2284, 2277, 2279, 2288, 2286, 3056 2284, 2289, 2290, 2291, 2293, 2285, 2296, 0, 2297, 2289, 3057 2285, 2287, 2294, 2286, 2295, 2298, 2287, 2288, 2296, 2293, 3058 2290, 2303, 2291, 2299, 2300, 2288, 0, 2304, 2289, 2290, 3059 2291, 2301, 2306, 2296, 2294, 2297, 2295, 2305, 2302, 2294, 3060 3061 2301, 2295, 2298, 2299, 2306, 2307, 2300, 2302, 2308, 2304, 3062 2299, 2300, 2309, 2303, 2304, 2312, 2313, 2314, 2301, 2306, 3063 2321, 2315, 2318, 2305, 2305, 2302, 2315, 2307, 2316, 2312, 3064 2317, 0, 2307, 2319, 2322, 2308, 2320, 0, 2321, 2309, 3065 2323, 2314, 2312, 2313, 2314, 2328, 2322, 2321, 2324, 2325, 3066 2316, 2327, 2317, 2315, 2318, 2316, 2319, 2317, 2320, 2323, 3067 2319, 2322, 2330, 2320, 2325, 2332, 2333, 2323, 2335, 2328, 3068 2324, 2334, 2328, 2327, 2338, 2324, 2325, 2330, 2327, 2336, 3069 2334, 2337, 2335, 2342, 2339, 2345, 2344, 2332, 2333, 2330, 3070 0, 2342, 2332, 2333, 2344, 2335, 2343, 2336, 2334, 2337, 3071 3072 2338, 2338, 2339, 2343, 2347, 2348, 2336, 2346, 2337, 2349, 3073 2342, 2339, 2345, 2344, 2352, 2346, 2350, 2348, 2354, 2355, 3074 2356, 2358, 2347, 2343, 2350, 2354, 2352, 2357, 2359, 2357, 3075 2360, 2347, 2348, 0, 2346, 0, 2349, 2361, 2362, 2363, 3076 2365, 2352, 2355, 2350, 0, 2354, 2355, 2356, 2368, 2366, 3077 0, 2372, 2373, 2358, 2357, 2369, 2374, 2362, 2365, 2376, 3078 2359, 2363, 2360, 2366, 2361, 2362, 2363, 2365, 2369, 2370, 3079 2378, 2368, 2384, 2380, 2386, 2368, 2366, 2372, 2372, 2373, 3080 2380, 2370, 2369, 2374, 2381, 2383, 2376, 2387, 0, 2381, 3081 2389, 2388, 2383, 2391, 2394, 2396, 2370, 2378, 2384, 2384, 3082 3083 2380, 2386, 2391, 2393, 2389, 2395, 2398, 2397, 2402, 2399, 3084 2393, 2401, 2383, 2412, 2387, 2388, 2381, 2389, 2388, 2397, 3085 2391, 2394, 2396, 2399, 2401, 2403, 2400, 2404, 2411, 0, 3086 2393, 2395, 2395, 2398, 2397, 2400, 2399, 2407, 2401, 2408, 3087 2402, 2409, 2407, 2408, 2410, 2412, 2415, 2414, 2409, 2411, 3088 2404, 2410, 2403, 2400, 2404, 2411, 2413, 2418, 2413, 2420, 3089 2423, 2421, 2423, 0, 0, 2424, 2408, 0, 2409, 2407, 3090 2414, 2410, 2426, 2415, 2414, 2430, 0, 2432, 2420, 2418, 3091 2425, 2425, 2427, 2413, 2418, 2421, 2420, 2423, 2421, 2424, 3092 2425, 2427, 2424, 2428, 2426, 2431, 2432, 2429, 2435, 2426, 3093 3094 2428, 2433, 2430, 2431, 2432, 2434, 2433, 2425, 2425, 2427, 3095 2429, 2436, 2440, 2434, 2437, 0, 2438, 0, 2439, 2448, 3096 2428, 0, 2431, 2440, 2429, 2435, 2441, 2442, 2443, 2443, 3097 0, 2444, 2434, 2433, 2442, 2452, 2449, 2436, 2436, 2440, 3098 2437, 2437, 2438, 2438, 2439, 2439, 2448, 2450, 2441, 2444, 3099 2445, 2453, 2446, 2441, 2442, 2443, 2450, 2445, 2444, 2446, 3100 2449, 2454, 2452, 2449, 2455, 2457, 2458, 2459, 2463, 2460, 3101 0, 2453, 2462, 0, 2450, 2464, 0, 2445, 2453, 2446, 3102 2474, 2462, 2465, 2468, 2458, 2459, 2455, 2460, 2454, 2466, 3103 0, 2455, 2457, 2458, 2459, 2463, 2460, 2468, 2464, 2462, 3104 3105 2465, 2466, 2464, 2467, 2469, 2475, 2477, 2474, 2467, 2465, 3106 2468, 2478, 2482, 2481, 2475, 2481, 2466, 2484, 2483, 2486, 3107 2490, 2488, 2469, 0, 2477, 2483, 2478, 2488, 2491, 2495, 3108 2482, 2469, 2475, 2477, 2486, 2467, 2492, 2498, 2478, 2482, 3109 2481, 2493, 2490, 2499, 2500, 2483, 2486, 2490, 2488, 2484, 3110 2491, 2495, 2504, 0, 2496, 2491, 2495, 2496, 2501, 2493, 3111 2502, 2503, 2492, 2492, 2498, 2506, 2509, 2502, 2493, 2503, 3112 2499, 2500, 2507, 2508, 2504, 2514, 2501, 2510, 2516, 2504, 3113 2496, 2496, 2513, 2511, 2496, 2501, 2510, 2502, 2503, 2511, 3114 2512, 2513, 2522, 2509, 2507, 2508, 2515, 2506, 2515, 2507, 3115 3116 2508, 2519, 2524, 2518, 2510, 2516, 2525, 2514, 2520, 2513, 3117 2511, 2518, 2512, 2519, 2526, 2520, 2524, 2512, 2527, 2522, 3118 2525, 2528, 2531, 2515, 2530, 2533, 2529, 2536, 2519, 2524, 3119 2518, 2537, 2528, 2525, 2529, 2520, 2527, 2526, 2532, 2532, 3120 2539, 2526, 2534, 2530, 2531, 2527, 2539, 2541, 2528, 2531, 3121 2534, 2530, 2533, 2529, 2536, 2543, 2546, 2544, 2537, 2545, 3122 2548, 0, 2553, 0, 2549, 2532, 2543, 2539, 2544, 2534, 3123 2545, 2549, 2550, 2551, 2541, 2556, 2550, 2554, 2546, 2558, 3124 2557, 2551, 2543, 2546, 2544, 2557, 2545, 2548, 2553, 2553, 3125 2554, 2549, 2559, 2561, 2560, 2562, 2563, 2556, 2564, 2550, 3126 3127 2551, 2560, 2556, 2565, 2554, 2564, 2558, 2557, 0, 2566, 3128 2569, 2562, 2561, 2567, 2563, 2577, 2578, 2566, 2570, 2559, 3129 2561, 2560, 2562, 2563, 2568, 2564, 2571, 2576, 2567, 2575, 3130 2580, 2568, 2581, 2579, 2576, 2565, 2566, 2569, 0, 2561, 3131 2567, 2581, 2570, 2578, 2575, 2570, 2583, 2577, 2584, 2586, 3132 2585, 2568, 2571, 2571, 2576, 2588, 2575, 2579, 2585, 2581, 3133 2579, 2590, 2580, 2591, 2587, 2587, 2592, 2594, 2583, 2595, 3134 2584, 2591, 2597, 2583, 2587, 2584, 2596, 2585, 2598, 2599, 3135 2600, 2586, 2588, 2601, 2592, 2597, 2602, 2604, 2590, 2607, 3136 2591, 2587, 2587, 2592, 2594, 2612, 2595, 2607, 2596, 2597, 3137 3138 2598, 2614, 2618, 2596, 2609, 2598, 2599, 2600, 2602, 2609, 3139 2601, 2615, 2610, 2602, 2604, 2611, 2607, 2610, 2616, 2617, 3140 2611, 2612, 2612, 2623, 2615, 2616, 2619, 2620, 2614, 2618, 3141 2625, 2609, 2628, 2626, 2619, 2627, 2629, 2617, 2615, 2610, 3142 2630, 2631, 2611, 2632, 0, 2616, 2617, 0, 2627, 2620, 3143 2623, 2629, 2636, 2619, 2620, 2626, 2637, 2625, 2640, 2630, 3144 2626, 2638, 2627, 2629, 2628, 2632, 2634, 2630, 2631, 2635, 3145 2632, 2637, 2641, 2634, 2636, 2645, 2635, 2640, 2648, 2636, 3146 2641, 2644, 2638, 2637, 2642, 2640, 2645, 2643, 2638, 2647, 3147 2644, 2642, 2652, 2634, 2643, 2647, 2635, 2646, 2646, 2641, 3148 3149 2648, 2655, 2645, 2651, 2656, 2648, 2652, 2646, 2644, 2657, 3150 2651, 2642, 2661, 2663, 2643, 2667, 2647, 2664, 2664, 2652, 3151 2665, 2665, 2666, 2666, 2646, 2646, 2669, 2674, 2655, 2679, 3152 2651, 2656, 2657, 2673, 2670, 2671, 2657, 2678, 2667, 2661, 3153 2663, 2680, 2667, 2670, 2686, 2677, 2664, 2677, 2671, 2665, 3154 2685, 2666, 2679, 2669, 2674, 2673, 2679, 2678, 2681, 2680, 3155 2673, 2670, 2671, 2684, 2678, 2683, 2687, 2688, 2680, 2689, 3156 2681, 2686, 2677, 2691, 2683, 2694, 2685, 2685, 2691, 2688, 3157 2690, 2684, 2692, 2690, 2693, 2681, 2693, 2694, 2699, 2695, 3158 2684, 2689, 2683, 2687, 2688, 2695, 2689, 2696, 2690, 2697, 3159 3160 2698, 2700, 2694, 2703, 2706, 2691, 2707, 2690, 2698, 2708, 3161 2690, 2693, 2709, 2710, 2692, 2699, 2695, 2711, 2712, 2696, 3162 2714, 2697, 2715, 2700, 2696, 2716, 2697, 2698, 2700, 2718, 3163 2703, 2706, 2716, 2707, 2719, 2722, 2708, 2718, 2714, 2709, 3164 2710, 2720, 2724, 2721, 2711, 2712, 2723, 2714, 2725, 2715, 3165 2722, 2728, 2716, 2720, 2724, 2729, 2718, 2721, 2730, 2730, 3166 2728, 2719, 2722, 2731, 2734, 2732, 2735, 2736, 2720, 2724, 3167 2721, 0, 2723, 2723, 2732, 2725, 2738, 2737, 2728, 2729, 3168 2736, 2742, 2729, 2753, 2738, 2730, 2739, 2751, 2734, 2731, 3169 2731, 2734, 2732, 2742, 2736, 2739, 2740, 2754, 2735, 2737, 3170 3171 2757, 2756, 2758, 2738, 2737, 2756, 2760, 2740, 2742, 2759, 3172 2753, 2751, 2764, 2739, 2751, 2763, 2759, 2762, 2757, 2760, 3173 2765, 2762, 2767, 2740, 2754, 2758, 2766, 2757, 2756, 2758, 3174 0, 2763, 2768, 2760, 2764, 2769, 2759, 2780, 2766, 2764, 3175 2771, 2770, 2763, 2769, 2762, 2765, 2768, 2765, 2767, 2767, 3176 2770, 2771, 2772, 2766, 2772, 2774, 2775, 2773, 2778, 2768, 3177 2781, 2774, 2769, 2775, 2780, 2779, 2782, 2771, 2770, 2773, 3178 2783, 2778, 2779, 2784, 2785, 2788, 0, 2793, 2781, 2772, 3179 2786, 2789, 2774, 2775, 2773, 2778, 2796, 2781, 2786, 2790, 3180 0, 2787, 2779, 2782, 2798, 0, 2783, 2783, 2787, 2788, 3181 3182 2784, 2785, 2788, 2789, 2791, 2792, 2791, 2786, 2789, 2793, 3183 2794, 2790, 2795, 2796, 2797, 2800, 2790, 2792, 2787, 2795, 3184 2802, 2798, 2797, 2794, 2805, 0, 2806, 2800, 2808, 2802, 3185 2807, 2791, 2792, 2809, 2810, 2811, 2808, 2794, 0, 2795, 3186 2812, 2797, 2800, 2814, 0, 2819, 2818, 2802, 2811, 2807, 3187 2813, 2805, 2806, 2806, 2812, 2808, 2816, 2807, 2813, 2818, 3188 2822, 2823, 2811, 2816, 2821, 2809, 2810, 2812, 2819, 2823, 3189 2814, 2821, 2819, 2818, 2827, 2824, 2825, 2813, 2826, 0, 3190 2832, 2834, 2822, 2816, 2828, 2830, 2826, 2822, 2823, 2824, 3191 2825, 2821, 2831, 2833, 2830, 2835, 2827, 2840, 2842, 0, 3192 3193 2831, 2827, 2824, 2825, 2836, 2826, 2828, 2832, 2837, 2839, 3194 2838, 2828, 2830, 2834, 2849, 2833, 2841, 2839, 2844, 2831, 3195 2833, 2835, 2835, 0, 2846, 2842, 2836, 2852, 2854, 2840, 3196 2837, 2836, 2838, 0, 2845, 2837, 2839, 2838, 2841, 2847, 3197 2848, 2844, 2845, 2841, 2846, 2844, 2849, 2847, 2848, 2850, 3198 2851, 2846, 2857, 2852, 2852, 2854, 2855, 2850, 2856, 2855, 3199 2857, 2845, 2858, 2872, 2851, 2860, 2847, 2848, 2859, 0, 3200 2858, 2861, 0, 2862, 2855, 2865, 2850, 2851, 2867, 2857, 3201 2856, 2869, 2859, 2855, 2868, 2856, 2855, 2862, 2874, 2858, 3202 2872, 2860, 2860, 2861, 2870, 2859, 2864, 2864, 2861, 2866, 3203 3204 2862, 2865, 2865, 2869, 2867, 2867, 2873, 2866, 2869, 2871, 3205 2868, 2868, 2875, 2874, 2870, 2874, 2878, 2871, 2876, 2879, 3206 2877, 2870, 2880, 2864, 2878, 2882, 2866, 2883, 2873, 2885, 3207 2880, 2886, 2891, 2873, 2887, 2883, 2871, 2895, 2876, 2875, 3208 2877, 2879, 2887, 2878, 2889, 2876, 2879, 2877, 2894, 2880, 3209 2898, 2885, 2882, 2886, 2883, 2888, 2885, 2892, 2886, 2891, 3210 2893, 2887, 2899, 2888, 2895, 2892, 2896, 2908, 2893, 2902, 3211 2889, 2889, 2900, 2905, 2894, 2894, 2909, 2898, 0, 0, 3212 2906, 0, 2888, 0, 2892, 0, 2896, 2893, 2906, 2899, 3213 2907, 2902, 2900, 2896, 2908, 2905, 2902, 0, 2907, 2900, 3214 3215 2905, 0, 0, 2909, 0, 0, 0, 2906, 0, 0, 3216 0, 0, 0, 0, 0, 0, 0, 2907, 2913, 2913, 3217 2913, 2913, 2913, 2913, 2913, 2914, 2914, 2914, 2914, 2914, 3218 2914, 2914, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2916, 3219 2916, 2916, 2916, 2916, 2916, 2916, 2917, 2917, 2917, 2917, 3220 2917, 2917, 2917, 2919, 2919, 0, 2919, 2919, 2919, 2919, 3221 2920, 2920, 0, 0, 0, 2920, 2920, 2921, 2921, 0, 3222 0, 2921, 0, 2921, 2922, 0, 0, 0, 0, 0, 3223 2922, 2923, 2923, 0, 0, 0, 2923, 2923, 2924, 0, 3224 0, 0, 0, 0, 2924, 2925, 2925, 0, 2925, 2925, 3225 3226 2925, 2925, 2926, 2926, 0, 2926, 2926, 2926, 2926, 2912, 3227 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3228 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3229 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3230 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3231 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3232 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 3233 2912, 2912, 2912, 2912, 2912, 2912 3234 } ; 3235 3236 static yy_state_type yy_last_accepting_state; 3237 static char *yy_last_accepting_cpos; 3238 3239 extern int yy_flex_debug; 3240 int yy_flex_debug = 0; 3241 3242 /* The intent behind this definition is that it'll catch 3243 * any uses of REJECT which flex missed. 3244 */ 3245 #define REJECT reject_used_but_not_detected 3246 static int yy_more_flag = 0; 3247 static int yy_more_len = 0; 3248 #define yymore() ((yy_more_flag) = 1) 3249 #define YY_MORE_ADJ (yy_more_len) 3250 #define YY_RESTORE_YY_MORE_OFFSET 3251 char *yytext; 3252 #line 1 "util/configlexer.lex" 3253 #line 2 "util/configlexer.lex" 3254 /* 3255 * configlexer.lex - lexical analyzer for unbound config file 3256 * 3257 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 3258 * 3259 * See LICENSE for the license. 3260 * 3261 */ 3262 3263 /* because flex keeps having sign-unsigned compare problems that are unfixed*/ 3264 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2)))) 3265 #pragma GCC diagnostic ignored "-Wsign-compare" 3266 #endif 3267 3268 #include <ctype.h> 3269 #include <strings.h> 3270 #ifdef HAVE_GLOB_H 3271 # include <glob.h> 3272 #endif 3273 3274 #include "util/config_file.h" 3275 #include "util/configparser.h" 3276 void ub_c_error(const char *message); 3277 3278 #if 0 3279 #define LEXOUT(s) printf s /* used ONLY when debugging */ 3280 #else 3281 #define LEXOUT(s) 3282 #endif 3283 3284 /** avoid warning in about fwrite return value */ 3285 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext) 3286 3287 /** A parser variable, this is a statement in the config file which is 3288 * of the form variable: value1 value2 ... nargs is the number of values. */ 3289 #define YDVAR(nargs, var) \ 3290 num_args=(nargs); \ 3291 LEXOUT(("v(%s%d) ", yytext, num_args)); \ 3292 if(num_args > 0) { BEGIN(val); } \ 3293 return (var); 3294 3295 struct inc_state { 3296 char* filename; 3297 int line; 3298 YY_BUFFER_STATE buffer; 3299 struct inc_state* next; 3300 }; 3301 static struct inc_state* config_include_stack = NULL; 3302 static int inc_depth = 0; 3303 static int inc_prev = 0; 3304 static int num_args = 0; 3305 3306 void init_cfg_parse(void) 3307 { 3308 config_include_stack = NULL; 3309 inc_depth = 0; 3310 inc_prev = 0; 3311 num_args = 0; 3312 } 3313 3314 static void config_start_include(const char* filename) 3315 { 3316 FILE *input; 3317 struct inc_state* s; 3318 char* nm; 3319 if(inc_depth++ > 100000) { 3320 ub_c_error_msg("too many include files"); 3321 return; 3322 } 3323 if(*filename == '\0') { 3324 ub_c_error_msg("empty include file name"); 3325 return; 3326 } 3327 s = (struct inc_state*)malloc(sizeof(*s)); 3328 if(!s) { 3329 ub_c_error_msg("include %s: malloc failure", filename); 3330 return; 3331 } 3332 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, 3333 strlen(cfg_parser->chroot)) == 0) { 3334 filename += strlen(cfg_parser->chroot); 3335 } 3336 nm = strdup(filename); 3337 if(!nm) { 3338 ub_c_error_msg("include %s: strdup failure", filename); 3339 free(s); 3340 return; 3341 } 3342 input = fopen(filename, "r"); 3343 if(!input) { 3344 ub_c_error_msg("cannot open include file '%s': %s", 3345 filename, strerror(errno)); 3346 free(s); 3347 free(nm); 3348 return; 3349 } 3350 LEXOUT(("switch_to_include_file(%s)\n", filename)); 3351 s->filename = cfg_parser->filename; 3352 s->line = cfg_parser->line; 3353 s->buffer = YY_CURRENT_BUFFER; 3354 s->next = config_include_stack; 3355 config_include_stack = s; 3356 cfg_parser->filename = nm; 3357 cfg_parser->line = 1; 3358 yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE)); 3359 } 3360 3361 static void config_start_include_glob(const char* filename) 3362 { 3363 3364 /* check for wildcards */ 3365 #ifdef HAVE_GLOB 3366 glob_t g; 3367 int i, r, flags; 3368 if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') && 3369 !strchr(filename, '{') && !strchr(filename, '~'))) { 3370 flags = 0 3371 #ifdef GLOB_ERR 3372 | GLOB_ERR 3373 #endif 3374 /* do not set GLOB_NOSORT so the results are sorted 3375 and in a predictable order. */ 3376 #ifdef GLOB_BRACE 3377 | GLOB_BRACE 3378 #endif 3379 #ifdef GLOB_TILDE 3380 | GLOB_TILDE 3381 #endif 3382 ; 3383 memset(&g, 0, sizeof(g)); 3384 if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot, 3385 strlen(cfg_parser->chroot)) == 0) { 3386 filename += strlen(cfg_parser->chroot); 3387 } 3388 r = glob(filename, flags, NULL, &g); 3389 if(r) { 3390 /* some error */ 3391 globfree(&g); 3392 if(r == GLOB_NOMATCH) 3393 return; /* no matches for pattern */ 3394 config_start_include(filename); /* let original deal with it */ 3395 return; 3396 } 3397 /* process files found, if any */ 3398 for(i=(int)g.gl_pathc-1; i>=0; i--) { 3399 config_start_include(g.gl_pathv[i]); 3400 } 3401 globfree(&g); 3402 return; 3403 } 3404 #endif /* HAVE_GLOB */ 3405 3406 config_start_include(filename); 3407 } 3408 3409 static void config_end_include(void) 3410 { 3411 struct inc_state* s = config_include_stack; 3412 --inc_depth; 3413 if(!s) return; 3414 free(cfg_parser->filename); 3415 cfg_parser->filename = s->filename; 3416 cfg_parser->line = s->line; 3417 yy_delete_buffer(YY_CURRENT_BUFFER); 3418 yy_switch_to_buffer(s->buffer); 3419 config_include_stack = s->next; 3420 free(s); 3421 } 3422 3423 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */ 3424 #define yy_set_bol(at_bol) \ 3425 { \ 3426 if ( ! yy_current_buffer ) \ 3427 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 3428 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \ 3429 } 3430 #endif 3431 3432 #line 3431 "<stdout>" 3433 #define YY_NO_INPUT 1 3434 #line 184 "util/configlexer.lex" 3435 #ifndef YY_NO_UNPUT 3436 #define YY_NO_UNPUT 1 3437 #endif 3438 #ifndef YY_NO_INPUT 3439 #define YY_NO_INPUT 1 3440 #endif 3441 #line 3440 "<stdout>" 3442 3443 #line 3442 "<stdout>" 3444 3445 #define INITIAL 0 3446 #define quotedstring 1 3447 #define singlequotedstr 2 3448 #define include 3 3449 #define include_quoted 4 3450 #define val 5 3451 3452 #ifndef YY_NO_UNISTD_H 3453 /* Special case for "unistd.h", since it is non-ANSI. We include it way 3454 * down here because we want the user's section 1 to have been scanned first. 3455 * The user has a chance to override it with an option. 3456 */ 3457 #include <unistd.h> 3458 #endif 3459 3460 #ifndef YY_EXTRA_TYPE 3461 #define YY_EXTRA_TYPE void * 3462 #endif 3463 3464 static int yy_init_globals ( void ); 3465 3466 /* Accessor methods to globals. 3467 These are made visible to non-reentrant scanners for convenience. */ 3468 3469 int yylex_destroy ( void ); 3470 3471 int yyget_debug ( void ); 3472 3473 void yyset_debug ( int debug_flag ); 3474 3475 YY_EXTRA_TYPE yyget_extra ( void ); 3476 3477 void yyset_extra ( YY_EXTRA_TYPE user_defined ); 3478 3479 FILE *yyget_in ( void ); 3480 3481 void yyset_in ( FILE * _in_str ); 3482 3483 FILE *yyget_out ( void ); 3484 3485 void yyset_out ( FILE * _out_str ); 3486 3487 int yyget_leng ( void ); 3488 3489 char *yyget_text ( void ); 3490 3491 int yyget_lineno ( void ); 3492 3493 void yyset_lineno ( int _line_number ); 3494 3495 /* Macros after this point can all be overridden by user definitions in 3496 * section 1. 3497 */ 3498 3499 #ifndef YY_SKIP_YYWRAP 3500 #ifdef __cplusplus 3501 extern "C" int yywrap ( void ); 3502 #else 3503 extern int yywrap ( void ); 3504 #endif 3505 #endif 3506 3507 #ifndef YY_NO_UNPUT 3508 3509 #endif 3510 3511 #ifndef yytext_ptr 3512 static void yy_flex_strncpy ( char *, const char *, int ); 3513 #endif 3514 3515 #ifdef YY_NEED_STRLEN 3516 static int yy_flex_strlen ( const char * ); 3517 #endif 3518 3519 #ifndef YY_NO_INPUT 3520 #ifdef __cplusplus 3521 static int yyinput ( void ); 3522 #else 3523 static int input ( void ); 3524 #endif 3525 3526 #endif 3527 3528 /* Amount of stuff to slurp up with each read. */ 3529 #ifndef YY_READ_BUF_SIZE 3530 #ifdef __ia64__ 3531 /* On IA-64, the buffer size is 16k, not 8k */ 3532 #define YY_READ_BUF_SIZE 16384 3533 #else 3534 #define YY_READ_BUF_SIZE 8192 3535 #endif /* __ia64__ */ 3536 #endif 3537 3538 /* Copy whatever the last rule matched to the standard output. */ 3539 #ifndef ECHO 3540 /* This used to be an fputs(), but since the string might contain NUL's, 3541 * we now use fwrite(). 3542 */ 3543 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) 3544 #endif 3545 3546 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 3547 * is returned in "result". 3548 */ 3549 #ifndef YY_INPUT 3550 #define YY_INPUT(buf,result,max_size) \ 3551 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 3552 { \ 3553 int c = '*'; \ 3554 int n; \ 3555 for ( n = 0; n < max_size && \ 3556 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 3557 buf[n] = (char) c; \ 3558 if ( c == '\n' ) \ 3559 buf[n++] = (char) c; \ 3560 if ( c == EOF && ferror( yyin ) ) \ 3561 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 3562 result = n; \ 3563 } \ 3564 else \ 3565 { \ 3566 errno=0; \ 3567 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ 3568 { \ 3569 if( errno != EINTR) \ 3570 { \ 3571 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 3572 break; \ 3573 } \ 3574 errno=0; \ 3575 clearerr(yyin); \ 3576 } \ 3577 }\ 3578 \ 3579 3580 #endif 3581 3582 /* No semi-colon after return; correct usage is to write "yyterminate();" - 3583 * we don't want an extra ';' after the "return" because that will cause 3584 * some compilers to complain about unreachable statements. 3585 */ 3586 #ifndef yyterminate 3587 #define yyterminate() return YY_NULL 3588 #endif 3589 3590 /* Number of entries by which start-condition stack grows. */ 3591 #ifndef YY_START_STACK_INCR 3592 #define YY_START_STACK_INCR 25 3593 #endif 3594 3595 /* Report a fatal error. */ 3596 #ifndef YY_FATAL_ERROR 3597 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 3598 #endif 3599 3600 /* end tables serialization structures and prototypes */ 3601 3602 /* Default declaration of generated scanner - a define so the user can 3603 * easily add parameters. 3604 */ 3605 #ifndef YY_DECL 3606 #define YY_DECL_IS_OURS 1 3607 3608 extern int yylex (void); 3609 3610 #define YY_DECL int yylex (void) 3611 #endif /* !YY_DECL */ 3612 3613 /* Code executed at the beginning of each rule, after yytext and yyleng 3614 * have been set up. 3615 */ 3616 #ifndef YY_USER_ACTION 3617 #define YY_USER_ACTION 3618 #endif 3619 3620 /* Code executed at the end of each rule. */ 3621 #ifndef YY_BREAK 3622 #define YY_BREAK /*LINTED*/break; 3623 #endif 3624 3625 #define YY_RULE_SETUP \ 3626 YY_USER_ACTION 3627 3628 /** The main scanner function which does all the work. 3629 */ 3630 YY_DECL 3631 { 3632 yy_state_type yy_current_state; 3633 char *yy_cp, *yy_bp; 3634 int yy_act; 3635 3636 if ( !(yy_init) ) 3637 { 3638 (yy_init) = 1; 3639 3640 #ifdef YY_USER_INIT 3641 YY_USER_INIT; 3642 #endif 3643 3644 if ( ! (yy_start) ) 3645 (yy_start) = 1; /* first start state */ 3646 3647 if ( ! yyin ) 3648 yyin = stdin; 3649 3650 if ( ! yyout ) 3651 yyout = stdout; 3652 3653 if ( ! YY_CURRENT_BUFFER ) { 3654 yyensure_buffer_stack (); 3655 YY_CURRENT_BUFFER_LVALUE = 3656 yy_create_buffer( yyin, YY_BUF_SIZE ); 3657 } 3658 3659 yy_load_buffer_state( ); 3660 } 3661 3662 { 3663 #line 204 "util/configlexer.lex" 3664 3665 #line 3664 "<stdout>" 3666 3667 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ 3668 { 3669 (yy_more_len) = 0; 3670 if ( (yy_more_flag) ) 3671 { 3672 (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr)); 3673 (yy_more_flag) = 0; 3674 } 3675 yy_cp = (yy_c_buf_p); 3676 3677 /* Support of yytext. */ 3678 *yy_cp = (yy_hold_char); 3679 3680 /* yy_bp points to the position in yy_ch_buf of the start of 3681 * the current run. 3682 */ 3683 yy_bp = yy_cp; 3684 3685 yy_current_state = (yy_start); 3686 yy_match: 3687 do 3688 { 3689 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; 3690 if ( yy_accept[yy_current_state] ) 3691 { 3692 (yy_last_accepting_state) = yy_current_state; 3693 (yy_last_accepting_cpos) = yy_cp; 3694 } 3695 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3696 { 3697 yy_current_state = (int) yy_def[yy_current_state]; 3698 if ( yy_current_state >= 2913 ) 3699 yy_c = yy_meta[yy_c]; 3700 } 3701 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 3702 ++yy_cp; 3703 } 3704 while ( yy_base[yy_current_state] != 8310 ); 3705 3706 yy_find_action: 3707 yy_act = yy_accept[yy_current_state]; 3708 if ( yy_act == 0 ) 3709 { /* have to back up */ 3710 yy_cp = (yy_last_accepting_cpos); 3711 yy_current_state = (yy_last_accepting_state); 3712 yy_act = yy_accept[yy_current_state]; 3713 } 3714 3715 YY_DO_BEFORE_ACTION; 3716 3717 do_action: /* This label is used only to access EOF actions. */ 3718 3719 switch ( yy_act ) 3720 { /* beginning of action switch */ 3721 case 0: /* must back up */ 3722 /* undo the effects of YY_DO_BEFORE_ACTION */ 3723 *yy_cp = (yy_hold_char); 3724 yy_cp = (yy_last_accepting_cpos); 3725 yy_current_state = (yy_last_accepting_state); 3726 goto yy_find_action; 3727 3728 case 1: 3729 YY_RULE_SETUP 3730 #line 205 "util/configlexer.lex" 3731 { 3732 LEXOUT(("SP ")); /* ignore */ } 3733 YY_BREAK 3734 case 2: 3735 YY_RULE_SETUP 3736 #line 207 "util/configlexer.lex" 3737 { 3738 /* note that flex makes the longest match and '.' is any but not nl */ 3739 LEXOUT(("comment(%s) ", yytext)); /* ignore */ } 3740 YY_BREAK 3741 case 3: 3742 YY_RULE_SETUP 3743 #line 210 "util/configlexer.lex" 3744 { YDVAR(0, VAR_SERVER) } 3745 YY_BREAK 3746 case 4: 3747 YY_RULE_SETUP 3748 #line 211 "util/configlexer.lex" 3749 { YDVAR(1, VAR_QNAME_MINIMISATION) } 3750 YY_BREAK 3751 case 5: 3752 YY_RULE_SETUP 3753 #line 212 "util/configlexer.lex" 3754 { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) } 3755 YY_BREAK 3756 case 6: 3757 YY_RULE_SETUP 3758 #line 213 "util/configlexer.lex" 3759 { YDVAR(1, VAR_NUM_THREADS) } 3760 YY_BREAK 3761 case 7: 3762 YY_RULE_SETUP 3763 #line 214 "util/configlexer.lex" 3764 { YDVAR(1, VAR_VERBOSITY) } 3765 YY_BREAK 3766 case 8: 3767 YY_RULE_SETUP 3768 #line 215 "util/configlexer.lex" 3769 { YDVAR(1, VAR_PORT) } 3770 YY_BREAK 3771 case 9: 3772 YY_RULE_SETUP 3773 #line 216 "util/configlexer.lex" 3774 { YDVAR(1, VAR_OUTGOING_RANGE) } 3775 YY_BREAK 3776 case 10: 3777 YY_RULE_SETUP 3778 #line 217 "util/configlexer.lex" 3779 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) } 3780 YY_BREAK 3781 case 11: 3782 YY_RULE_SETUP 3783 #line 218 "util/configlexer.lex" 3784 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) } 3785 YY_BREAK 3786 case 12: 3787 YY_RULE_SETUP 3788 #line 219 "util/configlexer.lex" 3789 { YDVAR(1, VAR_OUTGOING_NUM_TCP) } 3790 YY_BREAK 3791 case 13: 3792 YY_RULE_SETUP 3793 #line 220 "util/configlexer.lex" 3794 { YDVAR(1, VAR_INCOMING_NUM_TCP) } 3795 YY_BREAK 3796 case 14: 3797 YY_RULE_SETUP 3798 #line 221 "util/configlexer.lex" 3799 { YDVAR(1, VAR_DO_IP4) } 3800 YY_BREAK 3801 case 15: 3802 YY_RULE_SETUP 3803 #line 222 "util/configlexer.lex" 3804 { YDVAR(1, VAR_DO_IP6) } 3805 YY_BREAK 3806 case 16: 3807 YY_RULE_SETUP 3808 #line 223 "util/configlexer.lex" 3809 { YDVAR(1, VAR_PREFER_IP6) } 3810 YY_BREAK 3811 case 17: 3812 YY_RULE_SETUP 3813 #line 224 "util/configlexer.lex" 3814 { YDVAR(1, VAR_DO_UDP) } 3815 YY_BREAK 3816 case 18: 3817 YY_RULE_SETUP 3818 #line 225 "util/configlexer.lex" 3819 { YDVAR(1, VAR_DO_TCP) } 3820 YY_BREAK 3821 case 19: 3822 YY_RULE_SETUP 3823 #line 226 "util/configlexer.lex" 3824 { YDVAR(1, VAR_TCP_UPSTREAM) } 3825 YY_BREAK 3826 case 20: 3827 YY_RULE_SETUP 3828 #line 227 "util/configlexer.lex" 3829 { YDVAR(1, VAR_TCP_MSS) } 3830 YY_BREAK 3831 case 21: 3832 YY_RULE_SETUP 3833 #line 228 "util/configlexer.lex" 3834 { YDVAR(1, VAR_OUTGOING_TCP_MSS) } 3835 YY_BREAK 3836 case 22: 3837 YY_RULE_SETUP 3838 #line 229 "util/configlexer.lex" 3839 { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) } 3840 YY_BREAK 3841 case 23: 3842 YY_RULE_SETUP 3843 #line 230 "util/configlexer.lex" 3844 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) } 3845 YY_BREAK 3846 case 24: 3847 YY_RULE_SETUP 3848 #line 231 "util/configlexer.lex" 3849 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) } 3850 YY_BREAK 3851 case 25: 3852 YY_RULE_SETUP 3853 #line 232 "util/configlexer.lex" 3854 { YDVAR(1, VAR_SSL_UPSTREAM) } 3855 YY_BREAK 3856 case 26: 3857 YY_RULE_SETUP 3858 #line 233 "util/configlexer.lex" 3859 { YDVAR(1, VAR_SSL_UPSTREAM) } 3860 YY_BREAK 3861 case 27: 3862 YY_RULE_SETUP 3863 #line 234 "util/configlexer.lex" 3864 { YDVAR(1, VAR_SSL_SERVICE_KEY) } 3865 YY_BREAK 3866 case 28: 3867 YY_RULE_SETUP 3868 #line 235 "util/configlexer.lex" 3869 { YDVAR(1, VAR_SSL_SERVICE_KEY) } 3870 YY_BREAK 3871 case 29: 3872 YY_RULE_SETUP 3873 #line 236 "util/configlexer.lex" 3874 { YDVAR(1, VAR_SSL_SERVICE_PEM) } 3875 YY_BREAK 3876 case 30: 3877 YY_RULE_SETUP 3878 #line 237 "util/configlexer.lex" 3879 { YDVAR(1, VAR_SSL_SERVICE_PEM) } 3880 YY_BREAK 3881 case 31: 3882 YY_RULE_SETUP 3883 #line 238 "util/configlexer.lex" 3884 { YDVAR(1, VAR_SSL_PORT) } 3885 YY_BREAK 3886 case 32: 3887 YY_RULE_SETUP 3888 #line 239 "util/configlexer.lex" 3889 { YDVAR(1, VAR_SSL_PORT) } 3890 YY_BREAK 3891 case 33: 3892 YY_RULE_SETUP 3893 #line 240 "util/configlexer.lex" 3894 { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 3895 YY_BREAK 3896 case 34: 3897 YY_RULE_SETUP 3898 #line 241 "util/configlexer.lex" 3899 { YDVAR(1, VAR_TLS_CERT_BUNDLE) } 3900 YY_BREAK 3901 case 35: 3902 YY_RULE_SETUP 3903 #line 242 "util/configlexer.lex" 3904 { YDVAR(1, VAR_TLS_WIN_CERT) } 3905 YY_BREAK 3906 case 36: 3907 YY_RULE_SETUP 3908 #line 243 "util/configlexer.lex" 3909 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 3910 YY_BREAK 3911 case 37: 3912 YY_RULE_SETUP 3913 #line 244 "util/configlexer.lex" 3914 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 3915 YY_BREAK 3916 case 38: 3917 YY_RULE_SETUP 3918 #line 245 "util/configlexer.lex" 3919 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 3920 YY_BREAK 3921 case 39: 3922 YY_RULE_SETUP 3923 #line 246 "util/configlexer.lex" 3924 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) } 3925 YY_BREAK 3926 case 40: 3927 YY_RULE_SETUP 3928 #line 247 "util/configlexer.lex" 3929 { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) } 3930 YY_BREAK 3931 case 41: 3932 YY_RULE_SETUP 3933 #line 248 "util/configlexer.lex" 3934 { YDVAR(1, VAR_TLS_CIPHERS) } 3935 YY_BREAK 3936 case 42: 3937 YY_RULE_SETUP 3938 #line 249 "util/configlexer.lex" 3939 { YDVAR(1, VAR_TLS_CIPHERSUITES) } 3940 YY_BREAK 3941 case 43: 3942 YY_RULE_SETUP 3943 #line 250 "util/configlexer.lex" 3944 { YDVAR(1, VAR_USE_SYSTEMD) } 3945 YY_BREAK 3946 case 44: 3947 YY_RULE_SETUP 3948 #line 251 "util/configlexer.lex" 3949 { YDVAR(1, VAR_DO_DAEMONIZE) } 3950 YY_BREAK 3951 case 45: 3952 YY_RULE_SETUP 3953 #line 252 "util/configlexer.lex" 3954 { YDVAR(1, VAR_INTERFACE) } 3955 YY_BREAK 3956 case 46: 3957 YY_RULE_SETUP 3958 #line 253 "util/configlexer.lex" 3959 { YDVAR(1, VAR_INTERFACE) } 3960 YY_BREAK 3961 case 47: 3962 YY_RULE_SETUP 3963 #line 254 "util/configlexer.lex" 3964 { YDVAR(1, VAR_OUTGOING_INTERFACE) } 3965 YY_BREAK 3966 case 48: 3967 YY_RULE_SETUP 3968 #line 255 "util/configlexer.lex" 3969 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) } 3970 YY_BREAK 3971 case 49: 3972 YY_RULE_SETUP 3973 #line 256 "util/configlexer.lex" 3974 { YDVAR(1, VAR_SO_RCVBUF) } 3975 YY_BREAK 3976 case 50: 3977 YY_RULE_SETUP 3978 #line 257 "util/configlexer.lex" 3979 { YDVAR(1, VAR_SO_SNDBUF) } 3980 YY_BREAK 3981 case 51: 3982 YY_RULE_SETUP 3983 #line 258 "util/configlexer.lex" 3984 { YDVAR(1, VAR_SO_REUSEPORT) } 3985 YY_BREAK 3986 case 52: 3987 YY_RULE_SETUP 3988 #line 259 "util/configlexer.lex" 3989 { YDVAR(1, VAR_IP_TRANSPARENT) } 3990 YY_BREAK 3991 case 53: 3992 YY_RULE_SETUP 3993 #line 260 "util/configlexer.lex" 3994 { YDVAR(1, VAR_IP_FREEBIND) } 3995 YY_BREAK 3996 case 54: 3997 YY_RULE_SETUP 3998 #line 261 "util/configlexer.lex" 3999 { YDVAR(1, VAR_CHROOT) } 4000 YY_BREAK 4001 case 55: 4002 YY_RULE_SETUP 4003 #line 262 "util/configlexer.lex" 4004 { YDVAR(1, VAR_USERNAME) } 4005 YY_BREAK 4006 case 56: 4007 YY_RULE_SETUP 4008 #line 263 "util/configlexer.lex" 4009 { YDVAR(1, VAR_DIRECTORY) } 4010 YY_BREAK 4011 case 57: 4012 YY_RULE_SETUP 4013 #line 264 "util/configlexer.lex" 4014 { YDVAR(1, VAR_LOGFILE) } 4015 YY_BREAK 4016 case 58: 4017 YY_RULE_SETUP 4018 #line 265 "util/configlexer.lex" 4019 { YDVAR(1, VAR_PIDFILE) } 4020 YY_BREAK 4021 case 59: 4022 YY_RULE_SETUP 4023 #line 266 "util/configlexer.lex" 4024 { YDVAR(1, VAR_ROOT_HINTS) } 4025 YY_BREAK 4026 case 60: 4027 YY_RULE_SETUP 4028 #line 267 "util/configlexer.lex" 4029 { YDVAR(1, VAR_STREAM_WAIT_SIZE) } 4030 YY_BREAK 4031 case 61: 4032 YY_RULE_SETUP 4033 #line 268 "util/configlexer.lex" 4034 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) } 4035 YY_BREAK 4036 case 62: 4037 YY_RULE_SETUP 4038 #line 269 "util/configlexer.lex" 4039 { YDVAR(1, VAR_MSG_BUFFER_SIZE) } 4040 YY_BREAK 4041 case 63: 4042 YY_RULE_SETUP 4043 #line 270 "util/configlexer.lex" 4044 { YDVAR(1, VAR_MSG_CACHE_SIZE) } 4045 YY_BREAK 4046 case 64: 4047 YY_RULE_SETUP 4048 #line 271 "util/configlexer.lex" 4049 { YDVAR(1, VAR_MSG_CACHE_SLABS) } 4050 YY_BREAK 4051 case 65: 4052 YY_RULE_SETUP 4053 #line 272 "util/configlexer.lex" 4054 { YDVAR(1, VAR_RRSET_CACHE_SIZE) } 4055 YY_BREAK 4056 case 66: 4057 YY_RULE_SETUP 4058 #line 273 "util/configlexer.lex" 4059 { YDVAR(1, VAR_RRSET_CACHE_SLABS) } 4060 YY_BREAK 4061 case 67: 4062 YY_RULE_SETUP 4063 #line 274 "util/configlexer.lex" 4064 { YDVAR(1, VAR_CACHE_MAX_TTL) } 4065 YY_BREAK 4066 case 68: 4067 YY_RULE_SETUP 4068 #line 275 "util/configlexer.lex" 4069 { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) } 4070 YY_BREAK 4071 case 69: 4072 YY_RULE_SETUP 4073 #line 276 "util/configlexer.lex" 4074 { YDVAR(1, VAR_CACHE_MIN_TTL) } 4075 YY_BREAK 4076 case 70: 4077 YY_RULE_SETUP 4078 #line 277 "util/configlexer.lex" 4079 { YDVAR(1, VAR_INFRA_HOST_TTL) } 4080 YY_BREAK 4081 case 71: 4082 YY_RULE_SETUP 4083 #line 278 "util/configlexer.lex" 4084 { YDVAR(1, VAR_INFRA_LAME_TTL) } 4085 YY_BREAK 4086 case 72: 4087 YY_RULE_SETUP 4088 #line 279 "util/configlexer.lex" 4089 { YDVAR(1, VAR_INFRA_CACHE_SLABS) } 4090 YY_BREAK 4091 case 73: 4092 YY_RULE_SETUP 4093 #line 280 "util/configlexer.lex" 4094 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) } 4095 YY_BREAK 4096 case 74: 4097 YY_RULE_SETUP 4098 #line 281 "util/configlexer.lex" 4099 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) } 4100 YY_BREAK 4101 case 75: 4102 YY_RULE_SETUP 4103 #line 282 "util/configlexer.lex" 4104 { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) } 4105 YY_BREAK 4106 case 76: 4107 YY_RULE_SETUP 4108 #line 283 "util/configlexer.lex" 4109 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) } 4110 YY_BREAK 4111 case 77: 4112 YY_RULE_SETUP 4113 #line 284 "util/configlexer.lex" 4114 { YDVAR(1, VAR_JOSTLE_TIMEOUT) } 4115 YY_BREAK 4116 case 78: 4117 YY_RULE_SETUP 4118 #line 285 "util/configlexer.lex" 4119 { YDVAR(1, VAR_DELAY_CLOSE) } 4120 YY_BREAK 4121 case 79: 4122 YY_RULE_SETUP 4123 #line 286 "util/configlexer.lex" 4124 { YDVAR(1, VAR_TARGET_FETCH_POLICY) } 4125 YY_BREAK 4126 case 80: 4127 YY_RULE_SETUP 4128 #line 287 "util/configlexer.lex" 4129 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) } 4130 YY_BREAK 4131 case 81: 4132 YY_RULE_SETUP 4133 #line 288 "util/configlexer.lex" 4134 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) } 4135 YY_BREAK 4136 case 82: 4137 YY_RULE_SETUP 4138 #line 289 "util/configlexer.lex" 4139 { YDVAR(1, VAR_HARDEN_GLUE) } 4140 YY_BREAK 4141 case 83: 4142 YY_RULE_SETUP 4143 #line 290 "util/configlexer.lex" 4144 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) } 4145 YY_BREAK 4146 case 84: 4147 YY_RULE_SETUP 4148 #line 291 "util/configlexer.lex" 4149 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) } 4150 YY_BREAK 4151 case 85: 4152 YY_RULE_SETUP 4153 #line 292 "util/configlexer.lex" 4154 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) } 4155 YY_BREAK 4156 case 86: 4157 YY_RULE_SETUP 4158 #line 293 "util/configlexer.lex" 4159 { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) } 4160 YY_BREAK 4161 case 87: 4162 YY_RULE_SETUP 4163 #line 294 "util/configlexer.lex" 4164 { YDVAR(1, VAR_USE_CAPS_FOR_ID) } 4165 YY_BREAK 4166 case 88: 4167 YY_RULE_SETUP 4168 #line 295 "util/configlexer.lex" 4169 { YDVAR(1, VAR_CAPS_WHITELIST) } 4170 YY_BREAK 4171 case 89: 4172 YY_RULE_SETUP 4173 #line 296 "util/configlexer.lex" 4174 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) } 4175 YY_BREAK 4176 case 90: 4177 YY_RULE_SETUP 4178 #line 297 "util/configlexer.lex" 4179 { YDVAR(1, VAR_PRIVATE_ADDRESS) } 4180 YY_BREAK 4181 case 91: 4182 YY_RULE_SETUP 4183 #line 298 "util/configlexer.lex" 4184 { YDVAR(1, VAR_PRIVATE_DOMAIN) } 4185 YY_BREAK 4186 case 92: 4187 YY_RULE_SETUP 4188 #line 299 "util/configlexer.lex" 4189 { YDVAR(1, VAR_PREFETCH_KEY) } 4190 YY_BREAK 4191 case 93: 4192 YY_RULE_SETUP 4193 #line 300 "util/configlexer.lex" 4194 { YDVAR(1, VAR_PREFETCH) } 4195 YY_BREAK 4196 case 94: 4197 YY_RULE_SETUP 4198 #line 301 "util/configlexer.lex" 4199 { YDVAR(1, VAR_DENY_ANY) } 4200 YY_BREAK 4201 case 95: 4202 YY_RULE_SETUP 4203 #line 302 "util/configlexer.lex" 4204 { YDVAR(0, VAR_STUB_ZONE) } 4205 YY_BREAK 4206 case 96: 4207 YY_RULE_SETUP 4208 #line 303 "util/configlexer.lex" 4209 { YDVAR(1, VAR_NAME) } 4210 YY_BREAK 4211 case 97: 4212 YY_RULE_SETUP 4213 #line 304 "util/configlexer.lex" 4214 { YDVAR(1, VAR_STUB_ADDR) } 4215 YY_BREAK 4216 case 98: 4217 YY_RULE_SETUP 4218 #line 305 "util/configlexer.lex" 4219 { YDVAR(1, VAR_STUB_HOST) } 4220 YY_BREAK 4221 case 99: 4222 YY_RULE_SETUP 4223 #line 306 "util/configlexer.lex" 4224 { YDVAR(1, VAR_STUB_PRIME) } 4225 YY_BREAK 4226 case 100: 4227 YY_RULE_SETUP 4228 #line 307 "util/configlexer.lex" 4229 { YDVAR(1, VAR_STUB_FIRST) } 4230 YY_BREAK 4231 case 101: 4232 YY_RULE_SETUP 4233 #line 308 "util/configlexer.lex" 4234 { YDVAR(1, VAR_STUB_NO_CACHE) } 4235 YY_BREAK 4236 case 102: 4237 YY_RULE_SETUP 4238 #line 309 "util/configlexer.lex" 4239 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } 4240 YY_BREAK 4241 case 103: 4242 YY_RULE_SETUP 4243 #line 310 "util/configlexer.lex" 4244 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) } 4245 YY_BREAK 4246 case 104: 4247 YY_RULE_SETUP 4248 #line 311 "util/configlexer.lex" 4249 { YDVAR(0, VAR_FORWARD_ZONE) } 4250 YY_BREAK 4251 case 105: 4252 YY_RULE_SETUP 4253 #line 312 "util/configlexer.lex" 4254 { YDVAR(1, VAR_FORWARD_ADDR) } 4255 YY_BREAK 4256 case 106: 4257 YY_RULE_SETUP 4258 #line 313 "util/configlexer.lex" 4259 { YDVAR(1, VAR_FORWARD_HOST) } 4260 YY_BREAK 4261 case 107: 4262 YY_RULE_SETUP 4263 #line 314 "util/configlexer.lex" 4264 { YDVAR(1, VAR_FORWARD_FIRST) } 4265 YY_BREAK 4266 case 108: 4267 YY_RULE_SETUP 4268 #line 315 "util/configlexer.lex" 4269 { YDVAR(1, VAR_FORWARD_NO_CACHE) } 4270 YY_BREAK 4271 case 109: 4272 YY_RULE_SETUP 4273 #line 316 "util/configlexer.lex" 4274 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 4275 YY_BREAK 4276 case 110: 4277 YY_RULE_SETUP 4278 #line 317 "util/configlexer.lex" 4279 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) } 4280 YY_BREAK 4281 case 111: 4282 YY_RULE_SETUP 4283 #line 318 "util/configlexer.lex" 4284 { YDVAR(0, VAR_AUTH_ZONE) } 4285 YY_BREAK 4286 case 112: 4287 YY_RULE_SETUP 4288 #line 319 "util/configlexer.lex" 4289 { YDVAR(1, VAR_ZONEFILE) } 4290 YY_BREAK 4291 case 113: 4292 YY_RULE_SETUP 4293 #line 320 "util/configlexer.lex" 4294 { YDVAR(1, VAR_MASTER) } 4295 YY_BREAK 4296 case 114: 4297 YY_RULE_SETUP 4298 #line 321 "util/configlexer.lex" 4299 { YDVAR(1, VAR_URL) } 4300 YY_BREAK 4301 case 115: 4302 YY_RULE_SETUP 4303 #line 322 "util/configlexer.lex" 4304 { YDVAR(1, VAR_ALLOW_NOTIFY) } 4305 YY_BREAK 4306 case 116: 4307 YY_RULE_SETUP 4308 #line 323 "util/configlexer.lex" 4309 { YDVAR(1, VAR_FOR_DOWNSTREAM) } 4310 YY_BREAK 4311 case 117: 4312 YY_RULE_SETUP 4313 #line 324 "util/configlexer.lex" 4314 { YDVAR(1, VAR_FOR_UPSTREAM) } 4315 YY_BREAK 4316 case 118: 4317 YY_RULE_SETUP 4318 #line 325 "util/configlexer.lex" 4319 { YDVAR(1, VAR_FALLBACK_ENABLED) } 4320 YY_BREAK 4321 case 119: 4322 YY_RULE_SETUP 4323 #line 326 "util/configlexer.lex" 4324 { YDVAR(0, VAR_VIEW) } 4325 YY_BREAK 4326 case 120: 4327 YY_RULE_SETUP 4328 #line 327 "util/configlexer.lex" 4329 { YDVAR(1, VAR_VIEW_FIRST) } 4330 YY_BREAK 4331 case 121: 4332 YY_RULE_SETUP 4333 #line 328 "util/configlexer.lex" 4334 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) } 4335 YY_BREAK 4336 case 122: 4337 YY_RULE_SETUP 4338 #line 329 "util/configlexer.lex" 4339 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) } 4340 YY_BREAK 4341 case 123: 4342 YY_RULE_SETUP 4343 #line 330 "util/configlexer.lex" 4344 { YDVAR(2, VAR_ACCESS_CONTROL) } 4345 YY_BREAK 4346 case 124: 4347 YY_RULE_SETUP 4348 #line 331 "util/configlexer.lex" 4349 { YDVAR(1, VAR_SEND_CLIENT_SUBNET) } 4350 YY_BREAK 4351 case 125: 4352 YY_RULE_SETUP 4353 #line 332 "util/configlexer.lex" 4354 { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) } 4355 YY_BREAK 4356 case 126: 4357 YY_RULE_SETUP 4358 #line 333 "util/configlexer.lex" 4359 { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) } 4360 YY_BREAK 4361 case 127: 4362 YY_RULE_SETUP 4363 #line 334 "util/configlexer.lex" 4364 { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) } 4365 YY_BREAK 4366 case 128: 4367 YY_RULE_SETUP 4368 #line 335 "util/configlexer.lex" 4369 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) } 4370 YY_BREAK 4371 case 129: 4372 YY_RULE_SETUP 4373 #line 336 "util/configlexer.lex" 4374 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) } 4375 YY_BREAK 4376 case 130: 4377 YY_RULE_SETUP 4378 #line 337 "util/configlexer.lex" 4379 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) } 4380 YY_BREAK 4381 case 131: 4382 YY_RULE_SETUP 4383 #line 338 "util/configlexer.lex" 4384 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) } 4385 YY_BREAK 4386 case 132: 4387 YY_RULE_SETUP 4388 #line 339 "util/configlexer.lex" 4389 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) } 4390 YY_BREAK 4391 case 133: 4392 YY_RULE_SETUP 4393 #line 340 "util/configlexer.lex" 4394 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) } 4395 YY_BREAK 4396 case 134: 4397 YY_RULE_SETUP 4398 #line 341 "util/configlexer.lex" 4399 { YDVAR(1, VAR_HIDE_IDENTITY) } 4400 YY_BREAK 4401 case 135: 4402 YY_RULE_SETUP 4403 #line 342 "util/configlexer.lex" 4404 { YDVAR(1, VAR_HIDE_VERSION) } 4405 YY_BREAK 4406 case 136: 4407 YY_RULE_SETUP 4408 #line 343 "util/configlexer.lex" 4409 { YDVAR(1, VAR_HIDE_TRUSTANCHOR) } 4410 YY_BREAK 4411 case 137: 4412 YY_RULE_SETUP 4413 #line 344 "util/configlexer.lex" 4414 { YDVAR(1, VAR_IDENTITY) } 4415 YY_BREAK 4416 case 138: 4417 YY_RULE_SETUP 4418 #line 345 "util/configlexer.lex" 4419 { YDVAR(1, VAR_VERSION) } 4420 YY_BREAK 4421 case 139: 4422 YY_RULE_SETUP 4423 #line 346 "util/configlexer.lex" 4424 { YDVAR(1, VAR_MODULE_CONF) } 4425 YY_BREAK 4426 case 140: 4427 YY_RULE_SETUP 4428 #line 347 "util/configlexer.lex" 4429 { YDVAR(1, VAR_DLV_ANCHOR) } 4430 YY_BREAK 4431 case 141: 4432 YY_RULE_SETUP 4433 #line 348 "util/configlexer.lex" 4434 { YDVAR(1, VAR_DLV_ANCHOR_FILE) } 4435 YY_BREAK 4436 case 142: 4437 YY_RULE_SETUP 4438 #line 349 "util/configlexer.lex" 4439 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) } 4440 YY_BREAK 4441 case 143: 4442 YY_RULE_SETUP 4443 #line 350 "util/configlexer.lex" 4444 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) } 4445 YY_BREAK 4446 case 144: 4447 YY_RULE_SETUP 4448 #line 351 "util/configlexer.lex" 4449 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) } 4450 YY_BREAK 4451 case 145: 4452 YY_RULE_SETUP 4453 #line 352 "util/configlexer.lex" 4454 { YDVAR(1, VAR_TRUST_ANCHOR) } 4455 YY_BREAK 4456 case 146: 4457 YY_RULE_SETUP 4458 #line 353 "util/configlexer.lex" 4459 { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) } 4460 YY_BREAK 4461 case 147: 4462 YY_RULE_SETUP 4463 #line 354 "util/configlexer.lex" 4464 { YDVAR(1, VAR_ROOT_KEY_SENTINEL) } 4465 YY_BREAK 4466 case 148: 4467 YY_RULE_SETUP 4468 #line 355 "util/configlexer.lex" 4469 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) } 4470 YY_BREAK 4471 case 149: 4472 YY_RULE_SETUP 4473 #line 356 "util/configlexer.lex" 4474 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) } 4475 YY_BREAK 4476 case 150: 4477 YY_RULE_SETUP 4478 #line 357 "util/configlexer.lex" 4479 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) } 4480 YY_BREAK 4481 case 151: 4482 YY_RULE_SETUP 4483 #line 358 "util/configlexer.lex" 4484 { YDVAR(1, VAR_BOGUS_TTL) } 4485 YY_BREAK 4486 case 152: 4487 YY_RULE_SETUP 4488 #line 359 "util/configlexer.lex" 4489 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } 4490 YY_BREAK 4491 case 153: 4492 YY_RULE_SETUP 4493 #line 360 "util/configlexer.lex" 4494 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } 4495 YY_BREAK 4496 case 154: 4497 YY_RULE_SETUP 4498 #line 361 "util/configlexer.lex" 4499 { YDVAR(1, VAR_AGGRESSIVE_NSEC) } 4500 YY_BREAK 4501 case 155: 4502 YY_RULE_SETUP 4503 #line 362 "util/configlexer.lex" 4504 { YDVAR(1, VAR_IGNORE_CD_FLAG) } 4505 YY_BREAK 4506 case 156: 4507 YY_RULE_SETUP 4508 #line 363 "util/configlexer.lex" 4509 { YDVAR(1, VAR_SERVE_EXPIRED) } 4510 YY_BREAK 4511 case 157: 4512 YY_RULE_SETUP 4513 #line 364 "util/configlexer.lex" 4514 { YDVAR(1, VAR_SERVE_EXPIRED_TTL) } 4515 YY_BREAK 4516 case 158: 4517 YY_RULE_SETUP 4518 #line 365 "util/configlexer.lex" 4519 { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) } 4520 YY_BREAK 4521 case 159: 4522 YY_RULE_SETUP 4523 #line 366 "util/configlexer.lex" 4524 { YDVAR(1, VAR_FAKE_DSA) } 4525 YY_BREAK 4526 case 160: 4527 YY_RULE_SETUP 4528 #line 367 "util/configlexer.lex" 4529 { YDVAR(1, VAR_FAKE_SHA1) } 4530 YY_BREAK 4531 case 161: 4532 YY_RULE_SETUP 4533 #line 368 "util/configlexer.lex" 4534 { YDVAR(1, VAR_VAL_LOG_LEVEL) } 4535 YY_BREAK 4536 case 162: 4537 YY_RULE_SETUP 4538 #line 369 "util/configlexer.lex" 4539 { YDVAR(1, VAR_KEY_CACHE_SIZE) } 4540 YY_BREAK 4541 case 163: 4542 YY_RULE_SETUP 4543 #line 370 "util/configlexer.lex" 4544 { YDVAR(1, VAR_KEY_CACHE_SLABS) } 4545 YY_BREAK 4546 case 164: 4547 YY_RULE_SETUP 4548 #line 371 "util/configlexer.lex" 4549 { YDVAR(1, VAR_NEG_CACHE_SIZE) } 4550 YY_BREAK 4551 case 165: 4552 YY_RULE_SETUP 4553 #line 372 "util/configlexer.lex" 4554 { 4555 YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } 4556 YY_BREAK 4557 case 166: 4558 YY_RULE_SETUP 4559 #line 374 "util/configlexer.lex" 4560 { YDVAR(1, VAR_ADD_HOLDDOWN) } 4561 YY_BREAK 4562 case 167: 4563 YY_RULE_SETUP 4564 #line 375 "util/configlexer.lex" 4565 { YDVAR(1, VAR_DEL_HOLDDOWN) } 4566 YY_BREAK 4567 case 168: 4568 YY_RULE_SETUP 4569 #line 376 "util/configlexer.lex" 4570 { YDVAR(1, VAR_KEEP_MISSING) } 4571 YY_BREAK 4572 case 169: 4573 YY_RULE_SETUP 4574 #line 377 "util/configlexer.lex" 4575 { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) } 4576 YY_BREAK 4577 case 170: 4578 YY_RULE_SETUP 4579 #line 378 "util/configlexer.lex" 4580 { YDVAR(1, VAR_USE_SYSLOG) } 4581 YY_BREAK 4582 case 171: 4583 YY_RULE_SETUP 4584 #line 379 "util/configlexer.lex" 4585 { YDVAR(1, VAR_LOG_IDENTITY) } 4586 YY_BREAK 4587 case 172: 4588 YY_RULE_SETUP 4589 #line 380 "util/configlexer.lex" 4590 { YDVAR(1, VAR_LOG_TIME_ASCII) } 4591 YY_BREAK 4592 case 173: 4593 YY_RULE_SETUP 4594 #line 381 "util/configlexer.lex" 4595 { YDVAR(1, VAR_LOG_QUERIES) } 4596 YY_BREAK 4597 case 174: 4598 YY_RULE_SETUP 4599 #line 382 "util/configlexer.lex" 4600 { YDVAR(1, VAR_LOG_REPLIES) } 4601 YY_BREAK 4602 case 175: 4603 YY_RULE_SETUP 4604 #line 383 "util/configlexer.lex" 4605 { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) } 4606 YY_BREAK 4607 case 176: 4608 YY_RULE_SETUP 4609 #line 384 "util/configlexer.lex" 4610 { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) } 4611 YY_BREAK 4612 case 177: 4613 YY_RULE_SETUP 4614 #line 385 "util/configlexer.lex" 4615 { YDVAR(1, VAR_LOG_SERVFAIL) } 4616 YY_BREAK 4617 case 178: 4618 YY_RULE_SETUP 4619 #line 386 "util/configlexer.lex" 4620 { YDVAR(2, VAR_LOCAL_ZONE) } 4621 YY_BREAK 4622 case 179: 4623 YY_RULE_SETUP 4624 #line 387 "util/configlexer.lex" 4625 { YDVAR(1, VAR_LOCAL_DATA) } 4626 YY_BREAK 4627 case 180: 4628 YY_RULE_SETUP 4629 #line 388 "util/configlexer.lex" 4630 { YDVAR(1, VAR_LOCAL_DATA_PTR) } 4631 YY_BREAK 4632 case 181: 4633 YY_RULE_SETUP 4634 #line 389 "util/configlexer.lex" 4635 { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } 4636 YY_BREAK 4637 case 182: 4638 YY_RULE_SETUP 4639 #line 390 "util/configlexer.lex" 4640 { YDVAR(1, VAR_INSECURE_LAN_ZONES) } 4641 YY_BREAK 4642 case 183: 4643 YY_RULE_SETUP 4644 #line 391 "util/configlexer.lex" 4645 { YDVAR(1, VAR_STATISTICS_INTERVAL) } 4646 YY_BREAK 4647 case 184: 4648 YY_RULE_SETUP 4649 #line 392 "util/configlexer.lex" 4650 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } 4651 YY_BREAK 4652 case 185: 4653 YY_RULE_SETUP 4654 #line 393 "util/configlexer.lex" 4655 { YDVAR(1, VAR_EXTENDED_STATISTICS) } 4656 YY_BREAK 4657 case 186: 4658 YY_RULE_SETUP 4659 #line 394 "util/configlexer.lex" 4660 { YDVAR(1, VAR_SHM_ENABLE) } 4661 YY_BREAK 4662 case 187: 4663 YY_RULE_SETUP 4664 #line 395 "util/configlexer.lex" 4665 { YDVAR(1, VAR_SHM_KEY) } 4666 YY_BREAK 4667 case 188: 4668 YY_RULE_SETUP 4669 #line 396 "util/configlexer.lex" 4670 { YDVAR(0, VAR_REMOTE_CONTROL) } 4671 YY_BREAK 4672 case 189: 4673 YY_RULE_SETUP 4674 #line 397 "util/configlexer.lex" 4675 { YDVAR(1, VAR_CONTROL_ENABLE) } 4676 YY_BREAK 4677 case 190: 4678 YY_RULE_SETUP 4679 #line 398 "util/configlexer.lex" 4680 { YDVAR(1, VAR_CONTROL_INTERFACE) } 4681 YY_BREAK 4682 case 191: 4683 YY_RULE_SETUP 4684 #line 399 "util/configlexer.lex" 4685 { YDVAR(1, VAR_CONTROL_PORT) } 4686 YY_BREAK 4687 case 192: 4688 YY_RULE_SETUP 4689 #line 400 "util/configlexer.lex" 4690 { YDVAR(1, VAR_CONTROL_USE_CERT) } 4691 YY_BREAK 4692 case 193: 4693 YY_RULE_SETUP 4694 #line 401 "util/configlexer.lex" 4695 { YDVAR(1, VAR_SERVER_KEY_FILE) } 4696 YY_BREAK 4697 case 194: 4698 YY_RULE_SETUP 4699 #line 402 "util/configlexer.lex" 4700 { YDVAR(1, VAR_SERVER_CERT_FILE) } 4701 YY_BREAK 4702 case 195: 4703 YY_RULE_SETUP 4704 #line 403 "util/configlexer.lex" 4705 { YDVAR(1, VAR_CONTROL_KEY_FILE) } 4706 YY_BREAK 4707 case 196: 4708 YY_RULE_SETUP 4709 #line 404 "util/configlexer.lex" 4710 { YDVAR(1, VAR_CONTROL_CERT_FILE) } 4711 YY_BREAK 4712 case 197: 4713 YY_RULE_SETUP 4714 #line 405 "util/configlexer.lex" 4715 { YDVAR(1, VAR_PYTHON_SCRIPT) } 4716 YY_BREAK 4717 case 198: 4718 YY_RULE_SETUP 4719 #line 406 "util/configlexer.lex" 4720 { YDVAR(0, VAR_PYTHON) } 4721 YY_BREAK 4722 case 199: 4723 YY_RULE_SETUP 4724 #line 407 "util/configlexer.lex" 4725 { YDVAR(1, VAR_DOMAIN_INSECURE) } 4726 YY_BREAK 4727 case 200: 4728 YY_RULE_SETUP 4729 #line 408 "util/configlexer.lex" 4730 { YDVAR(1, VAR_MINIMAL_RESPONSES) } 4731 YY_BREAK 4732 case 201: 4733 YY_RULE_SETUP 4734 #line 409 "util/configlexer.lex" 4735 { YDVAR(1, VAR_RRSET_ROUNDROBIN) } 4736 YY_BREAK 4737 case 202: 4738 YY_RULE_SETUP 4739 #line 410 "util/configlexer.lex" 4740 { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) } 4741 YY_BREAK 4742 case 203: 4743 YY_RULE_SETUP 4744 #line 411 "util/configlexer.lex" 4745 { YDVAR(1, VAR_MAX_UDP_SIZE) } 4746 YY_BREAK 4747 case 204: 4748 YY_RULE_SETUP 4749 #line 412 "util/configlexer.lex" 4750 { YDVAR(1, VAR_DNS64_PREFIX) } 4751 YY_BREAK 4752 case 205: 4753 YY_RULE_SETUP 4754 #line 413 "util/configlexer.lex" 4755 { YDVAR(1, VAR_DNS64_SYNTHALL) } 4756 YY_BREAK 4757 case 206: 4758 YY_RULE_SETUP 4759 #line 414 "util/configlexer.lex" 4760 { YDVAR(1, VAR_DNS64_IGNORE_AAAA) } 4761 YY_BREAK 4762 case 207: 4763 YY_RULE_SETUP 4764 #line 415 "util/configlexer.lex" 4765 { YDVAR(1, VAR_DEFINE_TAG) } 4766 YY_BREAK 4767 case 208: 4768 YY_RULE_SETUP 4769 #line 416 "util/configlexer.lex" 4770 { YDVAR(2, VAR_LOCAL_ZONE_TAG) } 4771 YY_BREAK 4772 case 209: 4773 YY_RULE_SETUP 4774 #line 417 "util/configlexer.lex" 4775 { YDVAR(2, VAR_ACCESS_CONTROL_TAG) } 4776 YY_BREAK 4777 case 210: 4778 YY_RULE_SETUP 4779 #line 418 "util/configlexer.lex" 4780 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } 4781 YY_BREAK 4782 case 211: 4783 YY_RULE_SETUP 4784 #line 419 "util/configlexer.lex" 4785 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } 4786 YY_BREAK 4787 case 212: 4788 YY_RULE_SETUP 4789 #line 420 "util/configlexer.lex" 4790 { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } 4791 YY_BREAK 4792 case 213: 4793 YY_RULE_SETUP 4794 #line 421 "util/configlexer.lex" 4795 { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } 4796 YY_BREAK 4797 case 214: 4798 YY_RULE_SETUP 4799 #line 422 "util/configlexer.lex" 4800 { YDVAR(0, VAR_DNSTAP) } 4801 YY_BREAK 4802 case 215: 4803 YY_RULE_SETUP 4804 #line 423 "util/configlexer.lex" 4805 { YDVAR(1, VAR_DNSTAP_ENABLE) } 4806 YY_BREAK 4807 case 216: 4808 YY_RULE_SETUP 4809 #line 424 "util/configlexer.lex" 4810 { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } 4811 YY_BREAK 4812 case 217: 4813 YY_RULE_SETUP 4814 #line 425 "util/configlexer.lex" 4815 { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } 4816 YY_BREAK 4817 case 218: 4818 YY_RULE_SETUP 4819 #line 426 "util/configlexer.lex" 4820 { YDVAR(1, VAR_DNSTAP_SEND_VERSION) } 4821 YY_BREAK 4822 case 219: 4823 YY_RULE_SETUP 4824 #line 427 "util/configlexer.lex" 4825 { YDVAR(1, VAR_DNSTAP_IDENTITY) } 4826 YY_BREAK 4827 case 220: 4828 YY_RULE_SETUP 4829 #line 428 "util/configlexer.lex" 4830 { YDVAR(1, VAR_DNSTAP_VERSION) } 4831 YY_BREAK 4832 case 221: 4833 YY_RULE_SETUP 4834 #line 429 "util/configlexer.lex" 4835 { 4836 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } 4837 YY_BREAK 4838 case 222: 4839 YY_RULE_SETUP 4840 #line 431 "util/configlexer.lex" 4841 { 4842 YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } 4843 YY_BREAK 4844 case 223: 4845 YY_RULE_SETUP 4846 #line 433 "util/configlexer.lex" 4847 { 4848 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } 4849 YY_BREAK 4850 case 224: 4851 YY_RULE_SETUP 4852 #line 435 "util/configlexer.lex" 4853 { 4854 YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } 4855 YY_BREAK 4856 case 225: 4857 YY_RULE_SETUP 4858 #line 437 "util/configlexer.lex" 4859 { 4860 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } 4861 YY_BREAK 4862 case 226: 4863 YY_RULE_SETUP 4864 #line 439 "util/configlexer.lex" 4865 { 4866 YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } 4867 YY_BREAK 4868 case 227: 4869 YY_RULE_SETUP 4870 #line 441 "util/configlexer.lex" 4871 { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } 4872 YY_BREAK 4873 case 228: 4874 YY_RULE_SETUP 4875 #line 442 "util/configlexer.lex" 4876 { YDVAR(1, VAR_IP_RATELIMIT) } 4877 YY_BREAK 4878 case 229: 4879 YY_RULE_SETUP 4880 #line 443 "util/configlexer.lex" 4881 { YDVAR(1, VAR_RATELIMIT) } 4882 YY_BREAK 4883 case 230: 4884 YY_RULE_SETUP 4885 #line 444 "util/configlexer.lex" 4886 { YDVAR(1, VAR_IP_RATELIMIT_SLABS) } 4887 YY_BREAK 4888 case 231: 4889 YY_RULE_SETUP 4890 #line 445 "util/configlexer.lex" 4891 { YDVAR(1, VAR_RATELIMIT_SLABS) } 4892 YY_BREAK 4893 case 232: 4894 YY_RULE_SETUP 4895 #line 446 "util/configlexer.lex" 4896 { YDVAR(1, VAR_IP_RATELIMIT_SIZE) } 4897 YY_BREAK 4898 case 233: 4899 YY_RULE_SETUP 4900 #line 447 "util/configlexer.lex" 4901 { YDVAR(1, VAR_RATELIMIT_SIZE) } 4902 YY_BREAK 4903 case 234: 4904 YY_RULE_SETUP 4905 #line 448 "util/configlexer.lex" 4906 { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } 4907 YY_BREAK 4908 case 235: 4909 YY_RULE_SETUP 4910 #line 449 "util/configlexer.lex" 4911 { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } 4912 YY_BREAK 4913 case 236: 4914 YY_RULE_SETUP 4915 #line 450 "util/configlexer.lex" 4916 { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) } 4917 YY_BREAK 4918 case 237: 4919 YY_RULE_SETUP 4920 #line 451 "util/configlexer.lex" 4921 { YDVAR(1, VAR_RATELIMIT_FACTOR) } 4922 YY_BREAK 4923 case 238: 4924 YY_RULE_SETUP 4925 #line 452 "util/configlexer.lex" 4926 { YDVAR(1, VAR_LOW_RTT) } 4927 YY_BREAK 4928 case 239: 4929 YY_RULE_SETUP 4930 #line 453 "util/configlexer.lex" 4931 { YDVAR(1, VAR_FAST_SERVER_NUM) } 4932 YY_BREAK 4933 case 240: 4934 YY_RULE_SETUP 4935 #line 454 "util/configlexer.lex" 4936 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 4937 YY_BREAK 4938 case 241: 4939 YY_RULE_SETUP 4940 #line 455 "util/configlexer.lex" 4941 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 4942 YY_BREAK 4943 case 242: 4944 YY_RULE_SETUP 4945 #line 456 "util/configlexer.lex" 4946 { YDVAR(1, VAR_FAST_SERVER_PERMIL) } 4947 YY_BREAK 4948 case 243: 4949 YY_RULE_SETUP 4950 #line 457 "util/configlexer.lex" 4951 { YDVAR(2, VAR_RESPONSE_IP_TAG) } 4952 YY_BREAK 4953 case 244: 4954 YY_RULE_SETUP 4955 #line 458 "util/configlexer.lex" 4956 { YDVAR(2, VAR_RESPONSE_IP) } 4957 YY_BREAK 4958 case 245: 4959 YY_RULE_SETUP 4960 #line 459 "util/configlexer.lex" 4961 { YDVAR(2, VAR_RESPONSE_IP_DATA) } 4962 YY_BREAK 4963 case 246: 4964 YY_RULE_SETUP 4965 #line 460 "util/configlexer.lex" 4966 { YDVAR(0, VAR_DNSCRYPT) } 4967 YY_BREAK 4968 case 247: 4969 YY_RULE_SETUP 4970 #line 461 "util/configlexer.lex" 4971 { YDVAR(1, VAR_DNSCRYPT_ENABLE) } 4972 YY_BREAK 4973 case 248: 4974 YY_RULE_SETUP 4975 #line 462 "util/configlexer.lex" 4976 { YDVAR(1, VAR_DNSCRYPT_PORT) } 4977 YY_BREAK 4978 case 249: 4979 YY_RULE_SETUP 4980 #line 463 "util/configlexer.lex" 4981 { YDVAR(1, VAR_DNSCRYPT_PROVIDER) } 4982 YY_BREAK 4983 case 250: 4984 YY_RULE_SETUP 4985 #line 464 "util/configlexer.lex" 4986 { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) } 4987 YY_BREAK 4988 case 251: 4989 YY_RULE_SETUP 4990 #line 465 "util/configlexer.lex" 4991 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) } 4992 YY_BREAK 4993 case 252: 4994 YY_RULE_SETUP 4995 #line 466 "util/configlexer.lex" 4996 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) } 4997 YY_BREAK 4998 case 253: 4999 YY_RULE_SETUP 5000 #line 467 "util/configlexer.lex" 5001 { 5002 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) } 5003 YY_BREAK 5004 case 254: 5005 YY_RULE_SETUP 5006 #line 469 "util/configlexer.lex" 5007 { 5008 YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) } 5009 YY_BREAK 5010 case 255: 5011 YY_RULE_SETUP 5012 #line 471 "util/configlexer.lex" 5013 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) } 5014 YY_BREAK 5015 case 256: 5016 YY_RULE_SETUP 5017 #line 472 "util/configlexer.lex" 5018 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) } 5019 YY_BREAK 5020 case 257: 5021 YY_RULE_SETUP 5022 #line 473 "util/configlexer.lex" 5023 { YDVAR(1, VAR_IPSECMOD_ENABLED) } 5024 YY_BREAK 5025 case 258: 5026 YY_RULE_SETUP 5027 #line 474 "util/configlexer.lex" 5028 { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) } 5029 YY_BREAK 5030 case 259: 5031 YY_RULE_SETUP 5032 #line 475 "util/configlexer.lex" 5033 { YDVAR(1, VAR_IPSECMOD_HOOK) } 5034 YY_BREAK 5035 case 260: 5036 YY_RULE_SETUP 5037 #line 476 "util/configlexer.lex" 5038 { YDVAR(1, VAR_IPSECMOD_MAX_TTL) } 5039 YY_BREAK 5040 case 261: 5041 YY_RULE_SETUP 5042 #line 477 "util/configlexer.lex" 5043 { YDVAR(1, VAR_IPSECMOD_WHITELIST) } 5044 YY_BREAK 5045 case 262: 5046 YY_RULE_SETUP 5047 #line 478 "util/configlexer.lex" 5048 { YDVAR(1, VAR_IPSECMOD_STRICT) } 5049 YY_BREAK 5050 case 263: 5051 YY_RULE_SETUP 5052 #line 479 "util/configlexer.lex" 5053 { YDVAR(0, VAR_CACHEDB) } 5054 YY_BREAK 5055 case 264: 5056 YY_RULE_SETUP 5057 #line 480 "util/configlexer.lex" 5058 { YDVAR(1, VAR_CACHEDB_BACKEND) } 5059 YY_BREAK 5060 case 265: 5061 YY_RULE_SETUP 5062 #line 481 "util/configlexer.lex" 5063 { YDVAR(1, VAR_CACHEDB_SECRETSEED) } 5064 YY_BREAK 5065 case 266: 5066 YY_RULE_SETUP 5067 #line 482 "util/configlexer.lex" 5068 { YDVAR(1, VAR_CACHEDB_REDISHOST) } 5069 YY_BREAK 5070 case 267: 5071 YY_RULE_SETUP 5072 #line 483 "util/configlexer.lex" 5073 { YDVAR(1, VAR_CACHEDB_REDISPORT) } 5074 YY_BREAK 5075 case 268: 5076 YY_RULE_SETUP 5077 #line 484 "util/configlexer.lex" 5078 { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) } 5079 YY_BREAK 5080 case 269: 5081 YY_RULE_SETUP 5082 #line 485 "util/configlexer.lex" 5083 { YDVAR(0, VAR_IPSET) } 5084 YY_BREAK 5085 case 270: 5086 YY_RULE_SETUP 5087 #line 486 "util/configlexer.lex" 5088 { YDVAR(1, VAR_IPSET_NAME_V4) } 5089 YY_BREAK 5090 case 271: 5091 YY_RULE_SETUP 5092 #line 487 "util/configlexer.lex" 5093 { YDVAR(1, VAR_IPSET_NAME_V6) } 5094 YY_BREAK 5095 case 272: 5096 YY_RULE_SETUP 5097 #line 488 "util/configlexer.lex" 5098 { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) } 5099 YY_BREAK 5100 case 273: 5101 YY_RULE_SETUP 5102 #line 489 "util/configlexer.lex" 5103 { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) } 5104 YY_BREAK 5105 case 274: 5106 /* rule 274 can match eol */ 5107 YY_RULE_SETUP 5108 #line 490 "util/configlexer.lex" 5109 { LEXOUT(("NL\n")); cfg_parser->line++; } 5110 YY_BREAK 5111 /* Quoted strings. Strip leading and ending quotes */ 5112 case 275: 5113 YY_RULE_SETUP 5114 #line 493 "util/configlexer.lex" 5115 { BEGIN(quotedstring); LEXOUT(("QS ")); } 5116 YY_BREAK 5117 case YY_STATE_EOF(quotedstring): 5118 #line 494 "util/configlexer.lex" 5119 { 5120 yyerror("EOF inside quoted string"); 5121 if(--num_args == 0) { BEGIN(INITIAL); } 5122 else { BEGIN(val); } 5123 } 5124 YY_BREAK 5125 case 276: 5126 YY_RULE_SETUP 5127 #line 499 "util/configlexer.lex" 5128 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 5129 YY_BREAK 5130 case 277: 5131 /* rule 277 can match eol */ 5132 YY_RULE_SETUP 5133 #line 500 "util/configlexer.lex" 5134 { yyerror("newline inside quoted string, no end \""); 5135 cfg_parser->line++; BEGIN(INITIAL); } 5136 YY_BREAK 5137 case 278: 5138 YY_RULE_SETUP 5139 #line 502 "util/configlexer.lex" 5140 { 5141 LEXOUT(("QE ")); 5142 if(--num_args == 0) { BEGIN(INITIAL); } 5143 else { BEGIN(val); } 5144 yytext[yyleng - 1] = '\0'; 5145 yylval.str = strdup(yytext); 5146 if(!yylval.str) 5147 yyerror("out of memory"); 5148 return STRING_ARG; 5149 } 5150 YY_BREAK 5151 /* Single Quoted strings. Strip leading and ending quotes */ 5152 case 279: 5153 YY_RULE_SETUP 5154 #line 514 "util/configlexer.lex" 5155 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } 5156 YY_BREAK 5157 case YY_STATE_EOF(singlequotedstr): 5158 #line 515 "util/configlexer.lex" 5159 { 5160 yyerror("EOF inside quoted string"); 5161 if(--num_args == 0) { BEGIN(INITIAL); } 5162 else { BEGIN(val); } 5163 } 5164 YY_BREAK 5165 case 280: 5166 YY_RULE_SETUP 5167 #line 520 "util/configlexer.lex" 5168 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 5169 YY_BREAK 5170 case 281: 5171 /* rule 281 can match eol */ 5172 YY_RULE_SETUP 5173 #line 521 "util/configlexer.lex" 5174 { yyerror("newline inside quoted string, no end '"); 5175 cfg_parser->line++; BEGIN(INITIAL); } 5176 YY_BREAK 5177 case 282: 5178 YY_RULE_SETUP 5179 #line 523 "util/configlexer.lex" 5180 { 5181 LEXOUT(("SQE ")); 5182 if(--num_args == 0) { BEGIN(INITIAL); } 5183 else { BEGIN(val); } 5184 yytext[yyleng - 1] = '\0'; 5185 yylval.str = strdup(yytext); 5186 if(!yylval.str) 5187 yyerror("out of memory"); 5188 return STRING_ARG; 5189 } 5190 YY_BREAK 5191 /* include: directive */ 5192 case 283: 5193 YY_RULE_SETUP 5194 #line 535 "util/configlexer.lex" 5195 { 5196 LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } 5197 YY_BREAK 5198 case YY_STATE_EOF(include): 5199 #line 537 "util/configlexer.lex" 5200 { 5201 yyerror("EOF inside include directive"); 5202 BEGIN(inc_prev); 5203 } 5204 YY_BREAK 5205 case 284: 5206 YY_RULE_SETUP 5207 #line 541 "util/configlexer.lex" 5208 { LEXOUT(("ISP ")); /* ignore */ } 5209 YY_BREAK 5210 case 285: 5211 /* rule 285 can match eol */ 5212 YY_RULE_SETUP 5213 #line 542 "util/configlexer.lex" 5214 { LEXOUT(("NL\n")); cfg_parser->line++;} 5215 YY_BREAK 5216 case 286: 5217 YY_RULE_SETUP 5218 #line 543 "util/configlexer.lex" 5219 { LEXOUT(("IQS ")); BEGIN(include_quoted); } 5220 YY_BREAK 5221 case 287: 5222 YY_RULE_SETUP 5223 #line 544 "util/configlexer.lex" 5224 { 5225 LEXOUT(("Iunquotedstr(%s) ", yytext)); 5226 config_start_include_glob(yytext); 5227 BEGIN(inc_prev); 5228 } 5229 YY_BREAK 5230 case YY_STATE_EOF(include_quoted): 5231 #line 549 "util/configlexer.lex" 5232 { 5233 yyerror("EOF inside quoted string"); 5234 BEGIN(inc_prev); 5235 } 5236 YY_BREAK 5237 case 288: 5238 YY_RULE_SETUP 5239 #line 553 "util/configlexer.lex" 5240 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } 5241 YY_BREAK 5242 case 289: 5243 /* rule 289 can match eol */ 5244 YY_RULE_SETUP 5245 #line 554 "util/configlexer.lex" 5246 { yyerror("newline before \" in include name"); 5247 cfg_parser->line++; BEGIN(inc_prev); } 5248 YY_BREAK 5249 case 290: 5250 YY_RULE_SETUP 5251 #line 556 "util/configlexer.lex" 5252 { 5253 LEXOUT(("IQE ")); 5254 yytext[yyleng - 1] = '\0'; 5255 config_start_include_glob(yytext); 5256 BEGIN(inc_prev); 5257 } 5258 YY_BREAK 5259 case YY_STATE_EOF(INITIAL): 5260 case YY_STATE_EOF(val): 5261 #line 562 "util/configlexer.lex" 5262 { 5263 LEXOUT(("LEXEOF ")); 5264 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ 5265 if (!config_include_stack) { 5266 yyterminate(); 5267 } else { 5268 fclose(yyin); 5269 config_end_include(); 5270 } 5271 } 5272 YY_BREAK 5273 case 291: 5274 YY_RULE_SETUP 5275 #line 573 "util/configlexer.lex" 5276 { LEXOUT(("unquotedstr(%s) ", yytext)); 5277 if(--num_args == 0) { BEGIN(INITIAL); } 5278 yylval.str = strdup(yytext); return STRING_ARG; } 5279 YY_BREAK 5280 case 292: 5281 YY_RULE_SETUP 5282 #line 577 "util/configlexer.lex" 5283 { 5284 ub_c_error_msg("unknown keyword '%s'", yytext); 5285 } 5286 YY_BREAK 5287 case 293: 5288 YY_RULE_SETUP 5289 #line 581 "util/configlexer.lex" 5290 { 5291 ub_c_error_msg("stray '%s'", yytext); 5292 } 5293 YY_BREAK 5294 case 294: 5295 YY_RULE_SETUP 5296 #line 585 "util/configlexer.lex" 5297 ECHO; 5298 YY_BREAK 5299 #line 5298 "<stdout>" 5300 5301 case YY_END_OF_BUFFER: 5302 { 5303 /* Amount of text matched not including the EOB char. */ 5304 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 5305 5306 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 5307 *yy_cp = (yy_hold_char); 5308 YY_RESTORE_YY_MORE_OFFSET 5309 5310 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 5311 { 5312 /* We're scanning a new file or input source. It's 5313 * possible that this happened because the user 5314 * just pointed yyin at a new source and called 5315 * yylex(). If so, then we have to assure 5316 * consistency between YY_CURRENT_BUFFER and our 5317 * globals. Here is the right place to do so, because 5318 * this is the first action (other than possibly a 5319 * back-up) that will match for the new input source. 5320 */ 5321 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 5322 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 5323 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 5324 } 5325 5326 /* Note that here we test for yy_c_buf_p "<=" to the position 5327 * of the first EOB in the buffer, since yy_c_buf_p will 5328 * already have been incremented past the NUL character 5329 * (since all states make transitions on EOB to the 5330 * end-of-buffer state). Contrast this with the test 5331 * in input(). 5332 */ 5333 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 5334 { /* This was really a NUL. */ 5335 yy_state_type yy_next_state; 5336 5337 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 5338 5339 yy_current_state = yy_get_previous_state( ); 5340 5341 /* Okay, we're now positioned to make the NUL 5342 * transition. We couldn't have 5343 * yy_get_previous_state() go ahead and do it 5344 * for us because it doesn't know how to deal 5345 * with the possibility of jamming (and we don't 5346 * want to build jamming into it because then it 5347 * will run more slowly). 5348 */ 5349 5350 yy_next_state = yy_try_NUL_trans( yy_current_state ); 5351 5352 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 5353 5354 if ( yy_next_state ) 5355 { 5356 /* Consume the NUL. */ 5357 yy_cp = ++(yy_c_buf_p); 5358 yy_current_state = yy_next_state; 5359 goto yy_match; 5360 } 5361 5362 else 5363 { 5364 yy_cp = (yy_c_buf_p); 5365 goto yy_find_action; 5366 } 5367 } 5368 5369 else switch ( yy_get_next_buffer( ) ) 5370 { 5371 case EOB_ACT_END_OF_FILE: 5372 { 5373 (yy_did_buffer_switch_on_eof) = 0; 5374 5375 if ( yywrap( ) ) 5376 { 5377 /* Note: because we've taken care in 5378 * yy_get_next_buffer() to have set up 5379 * yytext, we can now set up 5380 * yy_c_buf_p so that if some total 5381 * hoser (like flex itself) wants to 5382 * call the scanner after we return the 5383 * YY_NULL, it'll still work - another 5384 * YY_NULL will get returned. 5385 */ 5386 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 5387 5388 yy_act = YY_STATE_EOF(YY_START); 5389 goto do_action; 5390 } 5391 5392 else 5393 { 5394 if ( ! (yy_did_buffer_switch_on_eof) ) 5395 YY_NEW_FILE; 5396 } 5397 break; 5398 } 5399 5400 case EOB_ACT_CONTINUE_SCAN: 5401 (yy_c_buf_p) = 5402 (yytext_ptr) + yy_amount_of_matched_text; 5403 5404 yy_current_state = yy_get_previous_state( ); 5405 5406 yy_cp = (yy_c_buf_p); 5407 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 5408 goto yy_match; 5409 5410 case EOB_ACT_LAST_MATCH: 5411 (yy_c_buf_p) = 5412 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 5413 5414 yy_current_state = yy_get_previous_state( ); 5415 5416 yy_cp = (yy_c_buf_p); 5417 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 5418 goto yy_find_action; 5419 } 5420 break; 5421 } 5422 5423 default: 5424 YY_FATAL_ERROR( 5425 "fatal flex scanner internal error--no action found" ); 5426 } /* end of action switch */ 5427 } /* end of scanning one token */ 5428 } /* end of user's declarations */ 5429 } /* end of yylex */ 5430 5431 /* yy_get_next_buffer - try to read in a new buffer 5432 * 5433 * Returns a code representing an action: 5434 * EOB_ACT_LAST_MATCH - 5435 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 5436 * EOB_ACT_END_OF_FILE - end of file 5437 */ 5438 static int yy_get_next_buffer (void) 5439 { 5440 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 5441 char *source = (yytext_ptr); 5442 int number_to_move, i; 5443 int ret_val; 5444 5445 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 5446 YY_FATAL_ERROR( 5447 "fatal flex scanner internal error--end of buffer missed" ); 5448 5449 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 5450 { /* Don't try to fill the buffer, so this is an EOF. */ 5451 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 5452 { 5453 /* We matched a single character, the EOB, so 5454 * treat this as a final EOF. 5455 */ 5456 return EOB_ACT_END_OF_FILE; 5457 } 5458 5459 else 5460 { 5461 /* We matched some text prior to the EOB, first 5462 * process it. 5463 */ 5464 return EOB_ACT_LAST_MATCH; 5465 } 5466 } 5467 5468 /* Try to read more data. */ 5469 5470 /* First move last chars to start of buffer. */ 5471 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); 5472 5473 for ( i = 0; i < number_to_move; ++i ) 5474 *(dest++) = *(source++); 5475 5476 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 5477 /* don't do the read, it's not guaranteed to return an EOF, 5478 * just force an EOF 5479 */ 5480 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 5481 5482 else 5483 { 5484 int num_to_read = 5485 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 5486 5487 while ( num_to_read <= 0 ) 5488 { /* Not enough room in the buffer - grow it. */ 5489 5490 /* just a shorter name for the current buffer */ 5491 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 5492 5493 int yy_c_buf_p_offset = 5494 (int) ((yy_c_buf_p) - b->yy_ch_buf); 5495 5496 if ( b->yy_is_our_buffer ) 5497 { 5498 int new_size = b->yy_buf_size * 2; 5499 5500 if ( new_size <= 0 ) 5501 b->yy_buf_size += b->yy_buf_size / 8; 5502 else 5503 b->yy_buf_size *= 2; 5504 5505 b->yy_ch_buf = (char *) 5506 /* Include room in for 2 EOB chars. */ 5507 yyrealloc( (void *) b->yy_ch_buf, 5508 (yy_size_t) (b->yy_buf_size + 2) ); 5509 } 5510 else 5511 /* Can't grow it, we don't own it. */ 5512 b->yy_ch_buf = NULL; 5513 5514 if ( ! b->yy_ch_buf ) 5515 YY_FATAL_ERROR( 5516 "fatal error - scanner input buffer overflow" ); 5517 5518 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 5519 5520 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 5521 number_to_move - 1; 5522 5523 } 5524 5525 if ( num_to_read > YY_READ_BUF_SIZE ) 5526 num_to_read = YY_READ_BUF_SIZE; 5527 5528 /* Read in more data. */ 5529 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 5530 (yy_n_chars), num_to_read ); 5531 5532 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 5533 } 5534 5535 if ( (yy_n_chars) == 0 ) 5536 { 5537 if ( number_to_move == YY_MORE_ADJ ) 5538 { 5539 ret_val = EOB_ACT_END_OF_FILE; 5540 yyrestart( yyin ); 5541 } 5542 5543 else 5544 { 5545 ret_val = EOB_ACT_LAST_MATCH; 5546 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 5547 YY_BUFFER_EOF_PENDING; 5548 } 5549 } 5550 5551 else 5552 ret_val = EOB_ACT_CONTINUE_SCAN; 5553 5554 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 5555 /* Extend the array by 50%, plus the number we really need. */ 5556 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 5557 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( 5558 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); 5559 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 5560 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 5561 /* "- 2" to take care of EOB's */ 5562 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); 5563 } 5564 5565 (yy_n_chars) += number_to_move; 5566 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 5567 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 5568 5569 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 5570 5571 return ret_val; 5572 } 5573 5574 /* yy_get_previous_state - get the state just before the EOB char was reached */ 5575 5576 static yy_state_type yy_get_previous_state (void) 5577 { 5578 yy_state_type yy_current_state; 5579 char *yy_cp; 5580 5581 yy_current_state = (yy_start); 5582 5583 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 5584 { 5585 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 5586 if ( yy_accept[yy_current_state] ) 5587 { 5588 (yy_last_accepting_state) = yy_current_state; 5589 (yy_last_accepting_cpos) = yy_cp; 5590 } 5591 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 5592 { 5593 yy_current_state = (int) yy_def[yy_current_state]; 5594 if ( yy_current_state >= 2913 ) 5595 yy_c = yy_meta[yy_c]; 5596 } 5597 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 5598 } 5599 5600 return yy_current_state; 5601 } 5602 5603 /* yy_try_NUL_trans - try to make a transition on the NUL character 5604 * 5605 * synopsis 5606 * next_state = yy_try_NUL_trans( current_state ); 5607 */ 5608 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 5609 { 5610 int yy_is_jam; 5611 char *yy_cp = (yy_c_buf_p); 5612 5613 YY_CHAR yy_c = 1; 5614 if ( yy_accept[yy_current_state] ) 5615 { 5616 (yy_last_accepting_state) = yy_current_state; 5617 (yy_last_accepting_cpos) = yy_cp; 5618 } 5619 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 5620 { 5621 yy_current_state = (int) yy_def[yy_current_state]; 5622 if ( yy_current_state >= 2913 ) 5623 yy_c = yy_meta[yy_c]; 5624 } 5625 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 5626 yy_is_jam = (yy_current_state == 2912); 5627 5628 return yy_is_jam ? 0 : yy_current_state; 5629 } 5630 5631 #ifndef YY_NO_UNPUT 5632 5633 #endif 5634 5635 #ifndef YY_NO_INPUT 5636 #ifdef __cplusplus 5637 static int yyinput (void) 5638 #else 5639 static int input (void) 5640 #endif 5641 5642 { 5643 int c; 5644 5645 *(yy_c_buf_p) = (yy_hold_char); 5646 5647 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 5648 { 5649 /* yy_c_buf_p now points to the character we want to return. 5650 * If this occurs *before* the EOB characters, then it's a 5651 * valid NUL; if not, then we've hit the end of the buffer. 5652 */ 5653 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 5654 /* This was really a NUL. */ 5655 *(yy_c_buf_p) = '\0'; 5656 5657 else 5658 { /* need more input */ 5659 int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); 5660 ++(yy_c_buf_p); 5661 5662 switch ( yy_get_next_buffer( ) ) 5663 { 5664 case EOB_ACT_LAST_MATCH: 5665 /* This happens because yy_g_n_b() 5666 * sees that we've accumulated a 5667 * token and flags that we need to 5668 * try matching the token before 5669 * proceeding. But for input(), 5670 * there's no matching to consider. 5671 * So convert the EOB_ACT_LAST_MATCH 5672 * to EOB_ACT_END_OF_FILE. 5673 */ 5674 5675 /* Reset buffer status. */ 5676 yyrestart( yyin ); 5677 5678 /*FALLTHROUGH*/ 5679 5680 case EOB_ACT_END_OF_FILE: 5681 { 5682 if ( yywrap( ) ) 5683 return 0; 5684 5685 if ( ! (yy_did_buffer_switch_on_eof) ) 5686 YY_NEW_FILE; 5687 #ifdef __cplusplus 5688 return yyinput(); 5689 #else 5690 return input(); 5691 #endif 5692 } 5693 5694 case EOB_ACT_CONTINUE_SCAN: 5695 (yy_c_buf_p) = (yytext_ptr) + offset; 5696 break; 5697 } 5698 } 5699 } 5700 5701 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 5702 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 5703 (yy_hold_char) = *++(yy_c_buf_p); 5704 5705 return c; 5706 } 5707 #endif /* ifndef YY_NO_INPUT */ 5708 5709 /** Immediately switch to a different input stream. 5710 * @param input_file A readable stream. 5711 * 5712 * @note This function does not reset the start condition to @c INITIAL . 5713 */ 5714 void yyrestart (FILE * input_file ) 5715 { 5716 5717 if ( ! YY_CURRENT_BUFFER ){ 5718 yyensure_buffer_stack (); 5719 YY_CURRENT_BUFFER_LVALUE = 5720 yy_create_buffer( yyin, YY_BUF_SIZE ); 5721 } 5722 5723 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 5724 yy_load_buffer_state( ); 5725 } 5726 5727 /** Switch to a different input buffer. 5728 * @param new_buffer The new input buffer. 5729 * 5730 */ 5731 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 5732 { 5733 5734 /* TODO. We should be able to replace this entire function body 5735 * with 5736 * yypop_buffer_state(); 5737 * yypush_buffer_state(new_buffer); 5738 */ 5739 yyensure_buffer_stack (); 5740 if ( YY_CURRENT_BUFFER == new_buffer ) 5741 return; 5742 5743 if ( YY_CURRENT_BUFFER ) 5744 { 5745 /* Flush out information for old buffer. */ 5746 *(yy_c_buf_p) = (yy_hold_char); 5747 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 5748 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 5749 } 5750 5751 YY_CURRENT_BUFFER_LVALUE = new_buffer; 5752 yy_load_buffer_state( ); 5753 5754 /* We don't actually know whether we did this switch during 5755 * EOF (yywrap()) processing, but the only time this flag 5756 * is looked at is after yywrap() is called, so it's safe 5757 * to go ahead and always set it. 5758 */ 5759 (yy_did_buffer_switch_on_eof) = 1; 5760 } 5761 5762 static void yy_load_buffer_state (void) 5763 { 5764 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 5765 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 5766 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 5767 (yy_hold_char) = *(yy_c_buf_p); 5768 } 5769 5770 /** Allocate and initialize an input buffer state. 5771 * @param file A readable stream. 5772 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 5773 * 5774 * @return the allocated buffer state. 5775 */ 5776 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 5777 { 5778 YY_BUFFER_STATE b; 5779 5780 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 5781 if ( ! b ) 5782 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 5783 5784 b->yy_buf_size = size; 5785 5786 /* yy_ch_buf has to be 2 characters longer than the size given because 5787 * we need to put in 2 end-of-buffer characters. 5788 */ 5789 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); 5790 if ( ! b->yy_ch_buf ) 5791 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 5792 5793 b->yy_is_our_buffer = 1; 5794 5795 yy_init_buffer( b, file ); 5796 5797 return b; 5798 } 5799 5800 /** Destroy the buffer. 5801 * @param b a buffer created with yy_create_buffer() 5802 * 5803 */ 5804 void yy_delete_buffer (YY_BUFFER_STATE b ) 5805 { 5806 5807 if ( ! b ) 5808 return; 5809 5810 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 5811 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 5812 5813 if ( b->yy_is_our_buffer ) 5814 yyfree( (void *) b->yy_ch_buf ); 5815 5816 yyfree( (void *) b ); 5817 } 5818 5819 /* Initializes or reinitializes a buffer. 5820 * This function is sometimes called more than once on the same buffer, 5821 * such as during a yyrestart() or at EOF. 5822 */ 5823 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 5824 5825 { 5826 int oerrno = errno; 5827 5828 yy_flush_buffer( b ); 5829 5830 b->yy_input_file = file; 5831 b->yy_fill_buffer = 1; 5832 5833 /* If b is the current buffer, then yy_init_buffer was _probably_ 5834 * called from yyrestart() or through yy_get_next_buffer. 5835 * In that case, we don't want to reset the lineno or column. 5836 */ 5837 if (b != YY_CURRENT_BUFFER){ 5838 b->yy_bs_lineno = 1; 5839 b->yy_bs_column = 0; 5840 } 5841 5842 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 5843 5844 errno = oerrno; 5845 } 5846 5847 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 5848 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 5849 * 5850 */ 5851 void yy_flush_buffer (YY_BUFFER_STATE b ) 5852 { 5853 if ( ! b ) 5854 return; 5855 5856 b->yy_n_chars = 0; 5857 5858 /* We always need two end-of-buffer characters. The first causes 5859 * a transition to the end-of-buffer state. The second causes 5860 * a jam in that state. 5861 */ 5862 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 5863 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 5864 5865 b->yy_buf_pos = &b->yy_ch_buf[0]; 5866 5867 b->yy_at_bol = 1; 5868 b->yy_buffer_status = YY_BUFFER_NEW; 5869 5870 if ( b == YY_CURRENT_BUFFER ) 5871 yy_load_buffer_state( ); 5872 } 5873 5874 /** Pushes the new state onto the stack. The new state becomes 5875 * the current state. This function will allocate the stack 5876 * if necessary. 5877 * @param new_buffer The new state. 5878 * 5879 */ 5880 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 5881 { 5882 if (new_buffer == NULL) 5883 return; 5884 5885 yyensure_buffer_stack(); 5886 5887 /* This block is copied from yy_switch_to_buffer. */ 5888 if ( YY_CURRENT_BUFFER ) 5889 { 5890 /* Flush out information for old buffer. */ 5891 *(yy_c_buf_p) = (yy_hold_char); 5892 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 5893 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 5894 } 5895 5896 /* Only push if top exists. Otherwise, replace top. */ 5897 if (YY_CURRENT_BUFFER) 5898 (yy_buffer_stack_top)++; 5899 YY_CURRENT_BUFFER_LVALUE = new_buffer; 5900 5901 /* copied from yy_switch_to_buffer. */ 5902 yy_load_buffer_state( ); 5903 (yy_did_buffer_switch_on_eof) = 1; 5904 } 5905 5906 /** Removes and deletes the top of the stack, if present. 5907 * The next element becomes the new top. 5908 * 5909 */ 5910 void yypop_buffer_state (void) 5911 { 5912 if (!YY_CURRENT_BUFFER) 5913 return; 5914 5915 yy_delete_buffer(YY_CURRENT_BUFFER ); 5916 YY_CURRENT_BUFFER_LVALUE = NULL; 5917 if ((yy_buffer_stack_top) > 0) 5918 --(yy_buffer_stack_top); 5919 5920 if (YY_CURRENT_BUFFER) { 5921 yy_load_buffer_state( ); 5922 (yy_did_buffer_switch_on_eof) = 1; 5923 } 5924 } 5925 5926 /* Allocates the stack if it does not exist. 5927 * Guarantees space for at least one push. 5928 */ 5929 static void yyensure_buffer_stack (void) 5930 { 5931 yy_size_t num_to_alloc; 5932 5933 if (!(yy_buffer_stack)) { 5934 5935 /* First allocation is just for 2 elements, since we don't know if this 5936 * scanner will even need a stack. We use 2 instead of 1 to avoid an 5937 * immediate realloc on the next call. 5938 */ 5939 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ 5940 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 5941 (num_to_alloc * sizeof(struct yy_buffer_state*) 5942 ); 5943 if ( ! (yy_buffer_stack) ) 5944 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 5945 5946 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 5947 5948 (yy_buffer_stack_max) = num_to_alloc; 5949 (yy_buffer_stack_top) = 0; 5950 return; 5951 } 5952 5953 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 5954 5955 /* Increase the buffer to prepare for a possible push. */ 5956 yy_size_t grow_size = 8 /* arbitrary grow size */; 5957 5958 num_to_alloc = (yy_buffer_stack_max) + grow_size; 5959 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 5960 ((yy_buffer_stack), 5961 num_to_alloc * sizeof(struct yy_buffer_state*) 5962 ); 5963 if ( ! (yy_buffer_stack) ) 5964 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 5965 5966 /* zero only the new slots.*/ 5967 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 5968 (yy_buffer_stack_max) = num_to_alloc; 5969 } 5970 } 5971 5972 /** Setup the input buffer state to scan directly from a user-specified character buffer. 5973 * @param base the character buffer 5974 * @param size the size in bytes of the character buffer 5975 * 5976 * @return the newly allocated buffer state object. 5977 */ 5978 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 5979 { 5980 YY_BUFFER_STATE b; 5981 5982 if ( size < 2 || 5983 base[size-2] != YY_END_OF_BUFFER_CHAR || 5984 base[size-1] != YY_END_OF_BUFFER_CHAR ) 5985 /* They forgot to leave room for the EOB's. */ 5986 return NULL; 5987 5988 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 5989 if ( ! b ) 5990 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 5991 5992 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ 5993 b->yy_buf_pos = b->yy_ch_buf = base; 5994 b->yy_is_our_buffer = 0; 5995 b->yy_input_file = NULL; 5996 b->yy_n_chars = b->yy_buf_size; 5997 b->yy_is_interactive = 0; 5998 b->yy_at_bol = 1; 5999 b->yy_fill_buffer = 0; 6000 b->yy_buffer_status = YY_BUFFER_NEW; 6001 6002 yy_switch_to_buffer( b ); 6003 6004 return b; 6005 } 6006 6007 /** Setup the input buffer state to scan a string. The next call to yylex() will 6008 * scan from a @e copy of @a str. 6009 * @param yystr a NUL-terminated string to scan 6010 * 6011 * @return the newly allocated buffer state object. 6012 * @note If you want to scan bytes that may contain NUL values, then use 6013 * yy_scan_bytes() instead. 6014 */ 6015 YY_BUFFER_STATE yy_scan_string (const char * yystr ) 6016 { 6017 6018 return yy_scan_bytes( yystr, (int) strlen(yystr) ); 6019 } 6020 6021 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will 6022 * scan from a @e copy of @a bytes. 6023 * @param yybytes the byte buffer to scan 6024 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 6025 * 6026 * @return the newly allocated buffer state object. 6027 */ 6028 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) 6029 { 6030 YY_BUFFER_STATE b; 6031 char *buf; 6032 yy_size_t n; 6033 int i; 6034 6035 /* Get memory for full buffer, including space for trailing EOB's. */ 6036 n = (yy_size_t) (_yybytes_len + 2); 6037 buf = (char *) yyalloc( n ); 6038 if ( ! buf ) 6039 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 6040 6041 for ( i = 0; i < _yybytes_len; ++i ) 6042 buf[i] = yybytes[i]; 6043 6044 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 6045 6046 b = yy_scan_buffer( buf, n ); 6047 if ( ! b ) 6048 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 6049 6050 /* It's okay to grow etc. this buffer, and we should throw it 6051 * away when we're done. 6052 */ 6053 b->yy_is_our_buffer = 1; 6054 6055 return b; 6056 } 6057 6058 #ifndef YY_EXIT_FAILURE 6059 #define YY_EXIT_FAILURE 2 6060 #endif 6061 6062 static void yynoreturn yy_fatal_error (const char* msg ) 6063 { 6064 fprintf( stderr, "%s\n", msg ); 6065 exit( YY_EXIT_FAILURE ); 6066 } 6067 6068 /* Redefine yyless() so it works in section 3 code. */ 6069 6070 #undef yyless 6071 #define yyless(n) \ 6072 do \ 6073 { \ 6074 /* Undo effects of setting up yytext. */ \ 6075 int yyless_macro_arg = (n); \ 6076 YY_LESS_LINENO(yyless_macro_arg);\ 6077 yytext[yyleng] = (yy_hold_char); \ 6078 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 6079 (yy_hold_char) = *(yy_c_buf_p); \ 6080 *(yy_c_buf_p) = '\0'; \ 6081 yyleng = yyless_macro_arg; \ 6082 } \ 6083 while ( 0 ) 6084 6085 /* Accessor methods (get/set functions) to struct members. */ 6086 6087 /** Get the current line number. 6088 * 6089 */ 6090 int yyget_lineno (void) 6091 { 6092 6093 return yylineno; 6094 } 6095 6096 /** Get the input stream. 6097 * 6098 */ 6099 FILE *yyget_in (void) 6100 { 6101 return yyin; 6102 } 6103 6104 /** Get the output stream. 6105 * 6106 */ 6107 FILE *yyget_out (void) 6108 { 6109 return yyout; 6110 } 6111 6112 /** Get the length of the current token. 6113 * 6114 */ 6115 int yyget_leng (void) 6116 { 6117 return yyleng; 6118 } 6119 6120 /** Get the current token. 6121 * 6122 */ 6123 6124 char *yyget_text (void) 6125 { 6126 return yytext; 6127 } 6128 6129 /** Set the current line number. 6130 * @param _line_number line number 6131 * 6132 */ 6133 void yyset_lineno (int _line_number ) 6134 { 6135 6136 yylineno = _line_number; 6137 } 6138 6139 /** Set the input stream. This does not discard the current 6140 * input buffer. 6141 * @param _in_str A readable stream. 6142 * 6143 * @see yy_switch_to_buffer 6144 */ 6145 void yyset_in (FILE * _in_str ) 6146 { 6147 yyin = _in_str ; 6148 } 6149 6150 void yyset_out (FILE * _out_str ) 6151 { 6152 yyout = _out_str ; 6153 } 6154 6155 int yyget_debug (void) 6156 { 6157 return yy_flex_debug; 6158 } 6159 6160 void yyset_debug (int _bdebug ) 6161 { 6162 yy_flex_debug = _bdebug ; 6163 } 6164 6165 static int yy_init_globals (void) 6166 { 6167 /* Initialization is the same as for the non-reentrant scanner. 6168 * This function is called from yylex_destroy(), so don't allocate here. 6169 */ 6170 6171 (yy_buffer_stack) = NULL; 6172 (yy_buffer_stack_top) = 0; 6173 (yy_buffer_stack_max) = 0; 6174 (yy_c_buf_p) = NULL; 6175 (yy_init) = 0; 6176 (yy_start) = 0; 6177 6178 /* Defined in main.c */ 6179 #ifdef YY_STDINIT 6180 yyin = stdin; 6181 yyout = stdout; 6182 #else 6183 yyin = NULL; 6184 yyout = NULL; 6185 #endif 6186 6187 /* For future reference: Set errno on error, since we are called by 6188 * yylex_init() 6189 */ 6190 return 0; 6191 } 6192 6193 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 6194 int yylex_destroy (void) 6195 { 6196 6197 /* Pop the buffer stack, destroying each element. */ 6198 while(YY_CURRENT_BUFFER){ 6199 yy_delete_buffer( YY_CURRENT_BUFFER ); 6200 YY_CURRENT_BUFFER_LVALUE = NULL; 6201 yypop_buffer_state(); 6202 } 6203 6204 /* Destroy the stack itself. */ 6205 yyfree((yy_buffer_stack) ); 6206 (yy_buffer_stack) = NULL; 6207 6208 /* Reset the globals. This is important in a non-reentrant scanner so the next time 6209 * yylex() is called, initialization will occur. */ 6210 yy_init_globals( ); 6211 6212 return 0; 6213 } 6214 6215 /* 6216 * Internal utility routines. 6217 */ 6218 6219 #ifndef yytext_ptr 6220 static void yy_flex_strncpy (char* s1, const char * s2, int n ) 6221 { 6222 6223 int i; 6224 for ( i = 0; i < n; ++i ) 6225 s1[i] = s2[i]; 6226 } 6227 #endif 6228 6229 #ifdef YY_NEED_STRLEN 6230 static int yy_flex_strlen (const char * s ) 6231 { 6232 int n; 6233 for ( n = 0; s[n]; ++n ) 6234 ; 6235 6236 return n; 6237 } 6238 #endif 6239 6240 void *yyalloc (yy_size_t size ) 6241 { 6242 return malloc(size); 6243 } 6244 6245 void *yyrealloc (void * ptr, yy_size_t size ) 6246 { 6247 6248 /* The cast to (char *) in the following accommodates both 6249 * implementations that use char* generic pointers, and those 6250 * that use void* generic pointers. It works with the latter 6251 * because both ANSI C and C++ allow castless assignment from 6252 * any pointer type to void*, and deal with argument conversions 6253 * as though doing an assignment. 6254 */ 6255 return realloc(ptr, size); 6256 } 6257 6258 void yyfree (void * ptr ) 6259 { 6260 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 6261 } 6262 6263 #define YYTABLES_NAME "yytables" 6264 6265 #line 585 "util/configlexer.lex" 6266 6267 6268