build: scripts/config - update to kconfig-v5.14
[openwrt/staging/jow.git] / scripts / config / lexer.lex.c
1
2 #define YY_INT_ALIGNED short int
3
4 /* A lexical scanner generated by flex */
5
6 #define FLEX_SCANNER
7 #define YY_FLEX_MAJOR_VERSION 2
8 #define YY_FLEX_MINOR_VERSION 6
9 #define YY_FLEX_SUBMINOR_VERSION 4
10 #if YY_FLEX_SUBMINOR_VERSION > 0
11 #define FLEX_BETA
12 #endif
13
14 /* First, we deal with platform-specific or compiler-specific issues. */
15
16 /* begin standard C headers. */
17 #include <stdio.h>
18 #include <string.h>
19 #include <errno.h>
20 #include <stdlib.h>
21
22 /* end standard C headers. */
23
24 /* flex integer type definitions */
25
26 #ifndef FLEXINT_H
27 #define FLEXINT_H
28
29 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
30
31 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
32
33 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
34 * if you want the limit (max/min) macros for int types.
35 */
36 #ifndef __STDC_LIMIT_MACROS
37 #define __STDC_LIMIT_MACROS 1
38 #endif
39
40 #include <inttypes.h>
41 typedef int8_t flex_int8_t;
42 typedef uint8_t flex_uint8_t;
43 typedef int16_t flex_int16_t;
44 typedef uint16_t flex_uint16_t;
45 typedef int32_t flex_int32_t;
46 typedef uint32_t flex_uint32_t;
47 #else
48 typedef signed char flex_int8_t;
49 typedef short int flex_int16_t;
50 typedef int flex_int32_t;
51 typedef unsigned char flex_uint8_t;
52 typedef unsigned short int flex_uint16_t;
53 typedef unsigned int flex_uint32_t;
54
55 /* Limits of integral types. */
56 #ifndef INT8_MIN
57 #define INT8_MIN (-128)
58 #endif
59 #ifndef INT16_MIN
60 #define INT16_MIN (-32767-1)
61 #endif
62 #ifndef INT32_MIN
63 #define INT32_MIN (-2147483647-1)
64 #endif
65 #ifndef INT8_MAX
66 #define INT8_MAX (127)
67 #endif
68 #ifndef INT16_MAX
69 #define INT16_MAX (32767)
70 #endif
71 #ifndef INT32_MAX
72 #define INT32_MAX (2147483647)
73 #endif
74 #ifndef UINT8_MAX
75 #define UINT8_MAX (255U)
76 #endif
77 #ifndef UINT16_MAX
78 #define UINT16_MAX (65535U)
79 #endif
80 #ifndef UINT32_MAX
81 #define UINT32_MAX (4294967295U)
82 #endif
83
84 #ifndef SIZE_MAX
85 #define SIZE_MAX (~(size_t)0)
86 #endif
87
88 #endif /* ! C99 */
89
90 #endif /* ! FLEXINT_H */
91
92 /* begin standard C++ headers. */
93
94 /* TODO: this is always defined, so inline it */
95 #define yyconst const
96
97 #if defined(__GNUC__) && __GNUC__ >= 3
98 #define yynoreturn __attribute__((__noreturn__))
99 #else
100 #define yynoreturn
101 #endif
102
103 /* Returned upon end-of-file. */
104 #define YY_NULL 0
105
106 /* Promotes a possibly negative, possibly signed char to an
107 * integer in range [0..255] for use as an array index.
108 */
109 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
110
111 /* Enter a start condition. This macro really ought to take a parameter,
112 * but we do it the disgusting crufty way forced on us by the ()-less
113 * definition of BEGIN.
114 */
115 #define BEGIN (yy_start) = 1 + 2 *
116 /* Translate the current start state into a value that can be later handed
117 * to BEGIN to return to the state. The YYSTATE alias is for lex
118 * compatibility.
119 */
120 #define YY_START (((yy_start) - 1) / 2)
121 #define YYSTATE YY_START
122 /* Action number for EOF rule of a given start state. */
123 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
124 /* Special action meaning "start processing a new file". */
125 #define YY_NEW_FILE yyrestart( yyin )
126 #define YY_END_OF_BUFFER_CHAR 0
127
128 /* Size of default input buffer. */
129 #ifndef YY_BUF_SIZE
130 #ifdef __ia64__
131 /* On IA-64, the buffer size is 16k, not 8k.
132 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
133 * Ditto for the __ia64__ case accordingly.
134 */
135 #define YY_BUF_SIZE 32768
136 #else
137 #define YY_BUF_SIZE 16384
138 #endif /* __ia64__ */
139 #endif
140
141 /* The state buf must be large enough to hold one state per character in the main buffer.
142 */
143 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
144
145 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
146 #define YY_TYPEDEF_YY_BUFFER_STATE
147 typedef struct yy_buffer_state *YY_BUFFER_STATE;
148 #endif
149
150 #ifndef YY_TYPEDEF_YY_SIZE_T
151 #define YY_TYPEDEF_YY_SIZE_T
152 typedef size_t yy_size_t;
153 #endif
154
155 extern int yyleng;
156
157 extern FILE *yyin, *yyout;
158
159 #define EOB_ACT_CONTINUE_SCAN 0
160 #define EOB_ACT_END_OF_FILE 1
161 #define EOB_ACT_LAST_MATCH 2
162
163 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
164 * access to the local variable yy_act. Since yyless() is a macro, it would break
165 * existing scanners that call yyless() from OUTSIDE yylex.
166 * One obvious solution it to make yy_act a global. I tried that, and saw
167 * a 5% performance hit in a non-yylineno scanner, because yy_act is
168 * normally declared as a register variable-- so it is not worth it.
169 */
170 #define YY_LESS_LINENO(n) \
171 do { \
172 int yyl;\
173 for ( yyl = n; yyl < yyleng; ++yyl )\
174 if ( yytext[yyl] == '\n' )\
175 --yylineno;\
176 }while(0)
177 #define YY_LINENO_REWIND_TO(dst) \
178 do {\
179 const char *p;\
180 for ( p = yy_cp-1; p >= (dst); --p)\
181 if ( *p == '\n' )\
182 --yylineno;\
183 }while(0)
184
185 /* Return all but the first "n" matched characters back to the input stream. */
186 #define yyless(n) \
187 do \
188 { \
189 /* Undo effects of setting up yytext. */ \
190 int yyless_macro_arg = (n); \
191 YY_LESS_LINENO(yyless_macro_arg);\
192 *yy_cp = (yy_hold_char); \
193 YY_RESTORE_YY_MORE_OFFSET \
194 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
196 } \
197 while ( 0 )
198 #define unput(c) yyunput( c, (yytext_ptr) )
199
200 #ifndef YY_STRUCT_YY_BUFFER_STATE
201 #define YY_STRUCT_YY_BUFFER_STATE
202 struct yy_buffer_state
203 {
204 FILE *yy_input_file;
205
206 char *yy_ch_buf; /* input buffer */
207 char *yy_buf_pos; /* current position in input buffer */
208
209 /* Size of input buffer in bytes, not including room for EOB
210 * characters.
211 */
212 int yy_buf_size;
213
214 /* Number of characters read into yy_ch_buf, not including EOB
215 * characters.
216 */
217 int yy_n_chars;
218
219 /* Whether we "own" the buffer - i.e., we know we created it,
220 * and can realloc() it to grow it, and should free() it to
221 * delete it.
222 */
223 int yy_is_our_buffer;
224
225 /* Whether this is an "interactive" input source; if so, and
226 * if we're using stdio for input, then we want to use getc()
227 * instead of fread(), to make sure we stop fetching input after
228 * each newline.
229 */
230 int yy_is_interactive;
231
232 /* Whether we're considered to be at the beginning of a line.
233 * If so, '^' rules will be active on the next match, otherwise
234 * not.
235 */
236 int yy_at_bol;
237
238 int yy_bs_lineno; /**< The line count. */
239 int yy_bs_column; /**< The column count. */
240
241 /* Whether to try to fill the input buffer when we reach the
242 * end of it.
243 */
244 int yy_fill_buffer;
245
246 int yy_buffer_status;
247
248 #define YY_BUFFER_NEW 0
249 #define YY_BUFFER_NORMAL 1
250 /* When an EOF's been seen but there's still some text to process
251 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 * shouldn't try reading from the input source any more. We might
253 * still have a bunch of tokens to match, though, because of
254 * possible backing-up.
255 *
256 * When we actually see the EOF, we change the status to "new"
257 * (via yyrestart()), so that the user can continue scanning by
258 * just pointing yyin at a new input file.
259 */
260 #define YY_BUFFER_EOF_PENDING 2
261
262 };
263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
264
265 /* Stack of input buffers. */
266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
269
270 /* We provide macros for accessing buffer states in case in the
271 * future we want to put the buffer states in a more general
272 * "scanner state".
273 *
274 * Returns the top of the stack, or NULL.
275 */
276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
278 : NULL)
279 /* Same as previous macro, but useful when we know that the buffer stack is not
280 * NULL or when we need an lvalue. For internal use only.
281 */
282 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
283
284 /* yy_hold_char holds the character lost when yytext is formed. */
285 static char yy_hold_char;
286 static int yy_n_chars; /* number of characters read into yy_ch_buf */
287 int yyleng;
288
289 /* Points to current character in buffer. */
290 static char *yy_c_buf_p = NULL;
291 static int yy_init = 0; /* whether we need to initialize */
292 static int yy_start = 0; /* start state number */
293
294 /* Flag which is used to allow yywrap()'s to do buffer switches
295 * instead of setting up a fresh yyin. A bit of a hack ...
296 */
297 static int yy_did_buffer_switch_on_eof;
298
299 void yyrestart ( FILE *input_file );
300 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
301 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
302 void yy_delete_buffer ( YY_BUFFER_STATE b );
303 void yy_flush_buffer ( YY_BUFFER_STATE b );
304 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
305 void yypop_buffer_state ( void );
306
307 static void yyensure_buffer_stack ( void );
308 static void yy_load_buffer_state ( void );
309 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
310 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
311
312 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
313 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
314 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
315
316 void *yyalloc ( yy_size_t );
317 void *yyrealloc ( void *, yy_size_t );
318 void yyfree ( void * );
319
320 #define yy_new_buffer yy_create_buffer
321 #define yy_set_interactive(is_interactive) \
322 { \
323 if ( ! YY_CURRENT_BUFFER ){ \
324 yyensure_buffer_stack (); \
325 YY_CURRENT_BUFFER_LVALUE = \
326 yy_create_buffer( yyin, YY_BUF_SIZE ); \
327 } \
328 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
329 }
330 #define yy_set_bol(at_bol) \
331 { \
332 if ( ! YY_CURRENT_BUFFER ){\
333 yyensure_buffer_stack (); \
334 YY_CURRENT_BUFFER_LVALUE = \
335 yy_create_buffer( yyin, YY_BUF_SIZE ); \
336 } \
337 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
338 }
339 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
340
341 /* Begin user sect3 */
342
343 #define yywrap() (/*CONSTCOND*/1)
344 #define YY_SKIP_YYWRAP
345 typedef flex_uint8_t YY_CHAR;
346
347 FILE *yyin = NULL, *yyout = NULL;
348
349 typedef int yy_state_type;
350
351 extern int yylineno;
352 int yylineno = 1;
353
354 extern char *yytext;
355 #ifdef yytext_ptr
356 #undef yytext_ptr
357 #endif
358 #define yytext_ptr yytext
359
360 static const flex_int16_t yy_nxt[][43] =
361 {
362 {
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0
368 },
369
370 {
371 9, 10, 11, 12, 13, 14, 15, 16, 17, 14,
372 18, 19, 20, 21, 21, 22, 23, 24, 25, 26,
373 21, 21, 27, 28, 29, 30, 21, 21, 31, 32,
374 21, 33, 21, 34, 35, 36, 37, 38, 21, 39,
375 21, 21, 40
376
377 },
378
379 {
380 9, 10, 11, 12, 13, 14, 15, 16, 17, 14,
381 18, 19, 20, 21, 21, 22, 23, 24, 25, 26,
382 21, 21, 27, 28, 29, 30, 21, 21, 31, 32,
383 21, 33, 21, 34, 35, 36, 37, 38, 21, 39,
384 21, 21, 40
385 },
386
387 {
388 9, 41, 42, 43, 41, 41, 41, 41, 41, 41,
389 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
390 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
391 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
392 41, 41, 41
393
394 },
395
396 {
397 9, 41, 42, 43, 41, 41, 41, 41, 41, 41,
398 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
399 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
400 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
401 41, 41, 41
402 },
403
404 {
405 9, 44, 45, 46, 44, 44, 44, 44, 44, 44,
406 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
407 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
408 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
409 44, 44, 44
410
411 },
412
413 {
414 9, 44, 45, 46, 44, 44, 44, 44, 44, 44,
415 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
416 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
417 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
418 44, 44, 44
419 },
420
421 {
422 9, 47, 47, 48, 47, 49, 47, 50, 47, 49,
423 47, 47, 47, 47, 47, 47, 47, 47, 47, 51,
424 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
425 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
426 47, 47, 47
427
428 },
429
430 {
431 9, 47, 47, 48, 47, 49, 47, 50, 47, 49,
432 47, 47, 47, 47, 47, 47, 47, 47, 47, 51,
433 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
434 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
435 47, 47, 47
436 },
437
438 {
439 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
440 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
441 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
442 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
443 -9, -9, -9
444
445 },
446
447 {
448 9, -10, -10, -10, -10, -10, -10, -10, -10, -10,
449 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
450 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
451 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
452 -10, -10, -10
453 },
454
455 {
456 9, -11, 52, -11, -11, -11, -11, -11, -11, -11,
457 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
458 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
459 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
460 -11, -11, -11
461
462 },
463
464 {
465 9, -12, -12, -12, -12, -12, -12, -12, -12, -12,
466 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
467 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
468 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
469 -12, -12, -12
470 },
471
472 {
473 9, -13, -13, -13, -13, -13, -13, -13, -13, -13,
474 -13, -13, -13, -13, -13, -13, -13, 53, -13, -13,
475 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
476 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
477 -13, -13, -13
478
479 },
480
481 {
482 9, -14, -14, -14, -14, -14, -14, -14, -14, -14,
483 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
484 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
485 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
486 -14, -14, -14
487 },
488
489 {
490 9, 54, 54, -15, 54, 54, 54, 54, 54, 54,
491 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
492 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
493 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
494 54, 54, 54
495
496 },
497
498 {
499 9, -16, -16, -16, -16, -16, -16, 55, -16, -16,
500 -16, -16, -16, 55, 55, -16, -16, -16, -16, -16,
501 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
502 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
503 55, 55, -16
504 },
505
506 {
507 9, -17, -17, -17, -17, -17, -17, -17, 56, -17,
508 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
509 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
510 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
511 -17, -17, -17
512
513 },
514
515 {
516 9, -18, -18, -18, -18, -18, -18, -18, -18, -18,
517 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
518 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
519 -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
520 -18, -18, -18
521 },
522
523 {
524 9, -19, -19, -19, -19, -19, -19, -19, -19, -19,
525 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
526 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
527 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
528 -19, -19, -19
529
530 },
531
532 {
533 9, -20, -20, -20, -20, -20, -20, -20, -20, -20,
534 -20, -20, -20, -20, -20, -20, -20, 57, -20, -20,
535 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
536 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
537 -20, -20, -20
538 },
539
540 {
541 9, -21, -21, -21, -21, -21, -21, 55, -21, -21,
542 -21, -21, -21, 58, 58, -21, -21, -21, -21, -21,
543 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
544 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
545 58, 58, -21
546
547 },
548
549 {
550 9, -22, -22, -22, -22, -22, -22, -22, -22, -22,
551 -22, -22, -22, -22, -22, -22, -22, 59, -22, -22,
552 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
553 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
554 -22, -22, -22
555 },
556
557 {
558 9, -23, -23, -23, -23, -23, -23, -23, -23, -23,
559 -23, -23, -23, -23, -23, -23, -23, 60, -23, -23,
560 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
561 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
562 -23, -23, -23
563
564 },
565
566 {
567 9, -24, -24, -24, -24, -24, -24, -24, -24, -24,
568 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
569 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
570 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
571 -24, -24, -24
572 },
573
574 {
575 9, -25, -25, -25, -25, -25, -25, -25, -25, -25,
576 -25, -25, -25, -25, -25, -25, -25, 61, -25, -25,
577 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
578 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
579 -25, -25, -25
580
581 },
582
583 {
584 9, -26, -26, 62, -26, -26, -26, -26, -26, -26,
585 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
586 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
587 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
588 -26, -26, -26
589 },
590
591 {
592 9, -27, -27, -27, -27, -27, -27, 55, -27, -27,
593 -27, -27, -27, 58, 58, -27, -27, -27, -27, -27,
594 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
595 58, 58, 58, 63, 58, 58, 58, 58, 58, 58,
596 58, 58, -27
597
598 },
599
600 {
601 9, -28, -28, -28, -28, -28, -28, 55, -28, -28,
602 -28, -28, -28, 58, 58, -28, -28, -28, -28, -28,
603 58, 58, 58, 58, 58, 58, 58, 58, 64, 58,
604 58, 58, 58, 65, 58, 58, 58, 58, 58, 58,
605 58, 58, -28
606 },
607
608 {
609 9, -29, -29, -29, -29, -29, -29, 55, -29, -29,
610 -29, -29, -29, 58, 58, -29, -29, -29, -29, -29,
611 58, 58, 58, 58, 58, 66, 58, 58, 58, 58,
612 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
613 58, 58, -29
614
615 },
616
617 {
618 9, -30, -30, -30, -30, -30, -30, 55, -30, -30,
619 -30, -30, -30, 58, 58, -30, -30, -30, -30, -30,
620 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
621 58, 58, 67, 58, 58, 58, 58, 58, 58, 58,
622 58, 58, -30
623 },
624
625 {
626 9, -31, -31, -31, -31, -31, -31, 55, -31, -31,
627 -31, -31, -31, 58, 58, -31, -31, -31, -31, -31,
628 58, 58, 58, 58, 58, 68, 58, 58, 58, 58,
629 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
630 58, 58, -31
631
632 },
633
634 {
635 9, -32, -32, -32, -32, -32, -32, 55, -32, -32,
636 -32, -32, -32, 58, 58, -32, -32, -32, -32, -32,
637 58, 58, 58, 58, 58, 58, 69, 58, 58, 58,
638 58, 70, 71, 58, 58, 58, 58, 58, 58, 58,
639 58, 58, -32
640 },
641
642 {
643 9, -33, -33, -33, -33, -33, -33, 55, -33, -33,
644 -33, -33, -33, 58, 58, -33, -33, -33, -33, -33,
645 58, 72, 58, 58, 58, 73, 58, 58, 58, 58,
646 58, 58, 58, 74, 58, 58, 58, 58, 58, 58,
647 58, 58, -33
648
649 },
650
651 {
652 9, -34, -34, -34, -34, -34, -34, 55, -34, -34,
653 -34, -34, -34, 58, 58, -34, -34, -34, -34, -34,
654 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
655 58, 58, 75, 58, 76, 58, 58, 58, 58, 58,
656 58, 58, -34
657 },
658
659 {
660 9, -35, -35, -35, -35, -35, -35, 55, -35, -35,
661 -35, -35, -35, 58, 58, -35, -35, -35, -35, -35,
662 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
663 58, 58, 58, 58, 58, 77, 58, 58, 58, 58,
664 58, 58, -35
665
666 },
667
668 {
669 9, -36, -36, -36, -36, -36, -36, 55, -36, -36,
670 -36, -36, -36, 58, 58, -36, -36, -36, -36, -36,
671 58, 78, 58, 58, 58, 79, 58, 58, 58, 58,
672 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
673 58, 58, -36
674 },
675
676 {
677 9, -37, -37, -37, -37, -37, -37, 55, -37, -37,
678 -37, -37, -37, 58, 58, -37, -37, -37, -37, -37,
679 58, 58, 58, 58, 58, 80, 58, 58, 58, 58,
680 58, 58, 58, 81, 58, 58, 58, 82, 58, 58,
681 58, 58, -37
682
683 },
684
685 {
686 9, -38, -38, -38, -38, -38, -38, 55, -38, -38,
687 -38, -38, -38, 58, 58, -38, -38, -38, -38, -38,
688 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
689 58, 58, 58, 58, 58, 83, 58, 58, 58, 58,
690 58, 58, -38
691 },
692
693 {
694 9, -39, -39, -39, -39, -39, -39, 55, -39, -39,
695 -39, -39, -39, 58, 58, -39, -39, -39, -39, -39,
696 58, 58, 58, 58, 58, 58, 58, 58, 58, 84,
697 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
698 58, 58, -39
699
700 },
701
702 {
703 9, -40, -40, -40, -40, -40, -40, -40, -40, -40,
704 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
705 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
706 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
707 -40, -40, 85
708 },
709
710 {
711 9, 86, 87, -41, 86, 86, 86, 86, 86, 86,
712 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
713 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
714 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
715 86, 86, 86
716
717 },
718
719 {
720 9, -42, -42, -42, -42, -42, -42, -42, -42, -42,
721 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
722 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
723 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
724 -42, -42, -42
725 },
726
727 {
728 9, -43, -43, -43, -43, -43, -43, -43, -43, -43,
729 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
730 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
731 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
732 -43, -43, -43
733
734 },
735
736 {
737 9, 88, 88, -44, 88, 88, 88, 88, 88, 88,
738 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
739 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
740 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
741 88, 88, 88
742 },
743
744 {
745 9, -45, 89, 90, -45, -45, -45, -45, -45, -45,
746 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
747 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
748 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
749 -45, -45, -45
750
751 },
752
753 {
754 9, 91, -46, -46, 91, 91, 91, 91, 91, 91,
755 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
756 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
757 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
758 91, 91, 91
759 },
760
761 {
762 9, 92, 92, -47, 92, -47, 92, -47, 92, -47,
763 92, 92, 92, 92, 92, 92, 92, 92, 92, -47,
764 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
765 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
766 92, 92, 92
767
768 },
769
770 {
771 9, -48, -48, -48, -48, -48, -48, -48, -48, -48,
772 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
773 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
774 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
775 -48, -48, -48
776 },
777
778 {
779 9, -49, -49, -49, -49, -49, -49, -49, -49, -49,
780 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
781 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
782 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
783 -49, -49, -49
784
785 },
786
787 {
788 9, 93, 93, -50, 93, 93, 93, 93, 93, 93,
789 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
790 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
791 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
792 93, 93, 93
793 },
794
795 {
796 9, 94, 94, -51, 94, 94, 94, 94, 94, 94,
797 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
798 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
799 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
800 94, 94, 94
801
802 },
803
804 {
805 9, -52, 52, -52, -52, -52, -52, -52, -52, -52,
806 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
807 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
808 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
809 -52, -52, -52
810 },
811
812 {
813 9, -53, -53, -53, -53, -53, -53, -53, -53, -53,
814 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
815 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
816 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
817 -53, -53, -53
818
819 },
820
821 {
822 9, 54, 54, -54, 54, 54, 54, 54, 54, 54,
823 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
824 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
825 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
826 54, 54, 54
827 },
828
829 {
830 9, -55, -55, -55, -55, -55, -55, 55, -55, -55,
831 -55, -55, -55, 55, 55, -55, -55, -55, -55, -55,
832 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
833 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
834 55, 55, -55
835
836 },
837
838 {
839 9, -56, -56, -56, -56, -56, -56, -56, -56, -56,
840 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
841 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
842 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
843 -56, -56, -56
844 },
845
846 {
847 9, -57, -57, -57, -57, -57, -57, -57, -57, -57,
848 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
849 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
850 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
851 -57, -57, -57
852
853 },
854
855 {
856 9, -58, -58, -58, -58, -58, -58, 55, -58, -58,
857 -58, -58, -58, 58, 58, -58, -58, -58, -58, -58,
858 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
859 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
860 58, 58, -58
861 },
862
863 {
864 9, -59, -59, -59, -59, -59, -59, -59, -59, -59,
865 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
866 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
867 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
868 -59, -59, -59
869
870 },
871
872 {
873 9, -60, -60, -60, -60, -60, -60, -60, -60, -60,
874 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
875 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
876 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
877 -60, -60, -60
878 },
879
880 {
881 9, -61, -61, -61, -61, -61, -61, -61, -61, -61,
882 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
883 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
884 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
885 -61, -61, -61
886
887 },
888
889 {
890 9, -62, -62, -62, -62, -62, -62, -62, -62, -62,
891 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
892 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
893 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
894 -62, -62, -62
895 },
896
897 {
898 9, -63, -63, -63, -63, -63, -63, 55, -63, -63,
899 -63, -63, -63, 58, 58, -63, -63, -63, -63, -63,
900 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
901 58, 58, 58, 95, 58, 58, 58, 58, 58, 58,
902 58, 58, -63
903
904 },
905
906 {
907 9, -64, -64, -64, -64, -64, -64, 55, -64, -64,
908 -64, -64, -64, 58, 58, -64, -64, -64, -64, -64,
909 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
910 58, 58, 58, 96, 58, 58, 58, 58, 58, 58,
911 58, 58, -64
912 },
913
914 {
915 9, -65, -65, -65, -65, -65, -65, 55, -65, -65,
916 -65, -65, -65, 58, 58, -65, -65, -65, -65, -65,
917 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
918 58, 97, 98, 58, 58, 58, 58, 58, 58, 58,
919 58, 58, -65
920
921 },
922
923 {
924 9, -66, -66, -66, -66, -66, -66, 55, -66, -66,
925 -66, -66, -66, 58, 58, -66, -66, -66, -66, -66,
926 58, 58, 58, 58, 58, 58, 99, 58, 58, 58,
927 58, 58, 58, 58, 100, 58, 58, 58, 58, 58,
928 58, 58, -66
929 },
930
931 {
932 9, -67, -67, -67, -67, -67, -67, 55, -67, -67,
933 -67, -67, -67, 58, 58, -67, -67, -67, -67, -67,
934 58, 58, 58, 58, 101, 58, 58, 58, 58, 58,
935 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
936 58, 58, -67
937
938 },
939
940 {
941 9, -68, -68, -68, -68, -68, -68, 55, -68, -68,
942 -68, -68, -68, 58, 58, -68, -68, -68, -68, -68,
943 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
944 102, 58, 58, 58, 58, 58, 58, 58, 58, 58,
945 103, 58, -68
946 },
947
948 {
949 9, -69, -69, -69, -69, -69, -69, 55, -69, -69,
950 -69, -69, -69, 58, 58, -69, -69, -69, -69, -69,
951 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
952 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
953 58, 58, -69
954
955 },
956
957 {
958 9, -70, -70, -70, -70, -70, -70, 55, -70, -70,
959 -70, -70, -70, 58, 58, -70, -70, -70, -70, -70,
960 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
961 58, 58, 58, 58, 104, 58, 58, 58, 58, 58,
962 58, 58, -70
963 },
964
965 {
966 9, -71, -71, -71, -71, -71, -71, 55, -71, -71,
967 -71, -71, -71, 58, 58, -71, -71, -71, -71, -71,
968 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
969 58, 58, 58, 58, 58, 58, 58, 105, 58, 58,
970 58, 58, -71
971
972 },
973
974 {
975 9, -72, -72, -72, -72, -72, -72, 55, -72, -72,
976 -72, -72, -72, 58, 58, -72, -72, -72, -72, -72,
977 58, 58, 58, 58, 58, 58, 58, 58, 58, 106,
978 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
979 58, 58, -72
980 },
981
982 {
983 9, -73, -73, -73, -73, -73, -73, 55, -73, -73,
984 -73, -73, -73, 58, 58, -73, -73, -73, -73, -73,
985 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
986 58, 58, 107, 58, 58, 58, 58, 58, 58, 58,
987 58, 58, -73
988
989 },
990
991 {
992 9, -74, -74, -74, -74, -74, -74, 55, -74, -74,
993 -74, -74, -74, 58, 58, -74, -74, -74, -74, -74,
994 58, 58, 58, 58, 108, 58, 58, 58, 58, 58,
995 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
996 58, 58, -74
997 },
998
999 {
1000 9, -75, -75, -75, -75, -75, -75, 55, -75, -75,
1001 -75, -75, -75, 58, 58, -75, -75, -75, -75, -75,
1002 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1003 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1004 58, 58, -75
1005
1006 },
1007
1008 {
1009 9, -76, -76, -76, -76, -76, -76, 55, -76, -76,
1010 -76, -76, -76, 58, 58, -76, -76, -76, -76, -76,
1011 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1012 58, 58, 58, 58, 58, 58, 58, 109, 58, 58,
1013 58, 58, -76
1014 },
1015
1016 {
1017 9, -77, -77, -77, -77, -77, -77, 55, -77, -77,
1018 -77, -77, -77, 58, 58, -77, -77, -77, -77, -77,
1019 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1020 58, 58, 58, 110, 58, 58, 58, 58, 58, 58,
1021 58, 58, -77
1022
1023 },
1024
1025 {
1026 9, -78, -78, -78, -78, -78, -78, 55, -78, -78,
1027 -78, -78, -78, 58, 58, -78, -78, -78, -78, -78,
1028 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1029 58, 58, 111, 58, 58, 58, 58, 58, 58, 58,
1030 58, 58, -78
1031 },
1032
1033 {
1034 9, -79, -79, -79, -79, -79, -79, 55, -79, -79,
1035 -79, -79, -79, 58, 58, -79, -79, -79, -79, -79,
1036 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1037 58, 58, 58, 58, 58, 58, 112, 58, 58, 58,
1038 58, 58, -79
1039
1040 },
1041
1042 {
1043 9, -80, -80, -80, -80, -80, -80, 55, -80, -80,
1044 -80, -80, -80, 58, 58, -80, -80, -80, -80, -80,
1045 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1046 113, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1047 58, 58, -80
1048 },
1049
1050 {
1051 9, -81, -81, -81, -81, -81, -81, 55, -81, -81,
1052 -81, -81, -81, 58, 58, -81, -81, -81, -81, -81,
1053 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1054 58, 58, 58, 58, 58, 58, 58, 58, 114, 58,
1055 58, 58, -81
1056
1057 },
1058
1059 {
1060 9, -82, -82, -82, -82, -82, -82, 55, -82, -82,
1061 -82, -82, -82, 58, 58, -82, -82, -82, -82, -82,
1062 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1063 58, 58, 58, 58, 58, 115, 58, 58, 58, 58,
1064 58, 58, -82
1065 },
1066
1067 {
1068 9, -83, -83, -83, -83, -83, -83, 55, -83, -83,
1069 -83, -83, -83, 58, 58, -83, -83, -83, -83, -83,
1070 58, 58, 58, 58, 58, 58, 58, 58, 58, 116,
1071 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1072 58, 58, -83
1073
1074 },
1075
1076 {
1077 9, -84, -84, -84, -84, -84, -84, 55, -84, -84,
1078 -84, -84, -84, 58, 58, -84, -84, -84, -84, -84,
1079 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1080 58, 58, 58, 58, 58, 58, 117, 58, 58, 58,
1081 58, 58, -84
1082 },
1083
1084 {
1085 9, -85, -85, -85, -85, -85, -85, -85, -85, -85,
1086 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
1087 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
1088 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
1089 -85, -85, -85
1090
1091 },
1092
1093 {
1094 9, 86, 87, -86, 86, 86, 86, 86, 86, 86,
1095 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1096 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1097 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
1098 86, 86, 86
1099 },
1100
1101 {
1102 9, 87, 87, -87, 87, 87, 87, 87, 87, 87,
1103 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1104 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1105 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1106 87, 87, 87
1107
1108 },
1109
1110 {
1111 9, 88, 88, -88, 88, 88, 88, 88, 88, 88,
1112 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1113 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1114 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1115 88, 88, 88
1116 },
1117
1118 {
1119 9, -89, 89, 90, -89, -89, -89, -89, -89, -89,
1120 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
1121 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
1122 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
1123 -89, -89, -89
1124
1125 },
1126
1127 {
1128 9, 91, -90, -90, 91, 91, 91, 91, 91, 91,
1129 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1130 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1131 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1132 91, 91, 91
1133 },
1134
1135 {
1136 9, -91, -91, -91, -91, -91, -91, -91, -91, -91,
1137 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
1138 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
1139 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
1140 -91, -91, -91
1141
1142 },
1143
1144 {
1145 9, 92, 92, -92, 92, -92, 92, -92, 92, -92,
1146 92, 92, 92, 92, 92, 92, 92, 92, 92, -92,
1147 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1148 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1149 92, 92, 92
1150 },
1151
1152 {
1153 9, 93, 93, -93, 93, 93, 93, 93, 93, 93,
1154 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1155 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1156 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1157 93, 93, 93
1158
1159 },
1160
1161 {
1162 9, -94, -94, -94, -94, -94, -94, -94, -94, -94,
1163 -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
1164 -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
1165 -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
1166 -94, -94, -94
1167 },
1168
1169 {
1170 9, -95, -95, -95, -95, -95, -95, 55, -95, -95,
1171 -95, -95, -95, 58, 58, -95, -95, -95, -95, -95,
1172 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1173 118, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1174 58, 58, -95
1175
1176 },
1177
1178 {
1179 9, -96, -96, -96, -96, -96, -96, 55, -96, -96,
1180 -96, -96, -96, 58, 58, -96, -96, -96, -96, -96,
1181 58, 58, 58, 58, 58, 58, 58, 58, 58, 119,
1182 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1183 58, 58, -96
1184 },
1185
1186 {
1187 9, -97, -97, -97, -97, -97, -97, 55, -97, -97,
1188 -97, -97, -97, 58, 58, -97, -97, -97, -97, -97,
1189 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1190 58, 120, 58, 58, 58, 58, 58, 58, 58, 58,
1191 58, 58, -97
1192
1193 },
1194
1195 {
1196 9, -98, -98, -98, -98, -98, -98, 55, -98, -98,
1197 -98, -98, -98, 58, 58, -98, -98, -98, -98, -98,
1198 58, 58, 58, 58, 58, 58, 121, 58, 58, 58,
1199 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1200 58, 58, -98
1201 },
1202
1203 {
1204 9, -99, -99, -99, -99, -99, -99, 55, -99, -99,
1205 -99, -99, -99, 58, 58, -99, -99, -99, -99, -99,
1206 122, 123, 58, 58, 58, 58, 58, 58, 58, 58,
1207 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1208 58, 58, -99
1209
1210 },
1211
1212 {
1213 9, -100, -100, -100, -100, -100, -100, 55, -100, -100,
1214 -100, -100, -100, 58, 58, -100, -100, -100, -100, -100,
1215 58, 58, 58, 58, 58, 124, 58, 58, 58, 58,
1216 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1217 58, 58, -100
1218 },
1219
1220 {
1221 9, -101, -101, -101, -101, -101, -101, 55, -101, -101,
1222 -101, -101, -101, 58, 58, -101, -101, -101, -101, -101,
1223 58, 58, 58, 125, 58, 58, 58, 58, 58, 126,
1224 58, 127, 58, 58, 58, 58, 58, 58, 58, 58,
1225 58, 58, -101
1226
1227 },
1228
1229 {
1230 9, -102, -102, -102, -102, -102, -102, 55, -102, -102,
1231 -102, -102, -102, 58, 58, -102, -102, -102, -102, -102,
1232 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1233 58, 58, 58, 58, 128, 58, 58, 58, 58, 58,
1234 58, 58, -102
1235 },
1236
1237 {
1238 9, -103, -103, -103, -103, -103, -103, 55, -103, -103,
1239 -103, -103, -103, 58, 58, -103, -103, -103, -103, -103,
1240 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1241 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1242 58, 58, -103
1243
1244 },
1245
1246 {
1247 9, -104, -104, -104, -104, -104, -104, 55, -104, -104,
1248 -104, -104, -104, 58, 58, -104, -104, -104, -104, -104,
1249 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1250 129, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1251 58, 58, -104
1252 },
1253
1254 {
1255 9, -105, -105, -105, -105, -105, -105, 55, -105, -105,
1256 -105, -105, -105, 58, 58, -105, -105, -105, -105, -105,
1257 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1258 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1259 58, 58, -105
1260
1261 },
1262
1263 {
1264 9, -106, -106, -106, -106, -106, -106, 55, -106, -106,
1265 -106, -106, -106, 58, 58, -106, -106, -106, -106, -106,
1266 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1267 58, 58, 130, 58, 58, 58, 58, 58, 58, 58,
1268 58, 58, -106
1269 },
1270
1271 {
1272 9, -107, -107, -107, -107, -107, -107, 55, -107, -107,
1273 -107, -107, -107, 58, 58, -107, -107, -107, -107, -107,
1274 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1275 58, 58, 58, 58, 58, 58, 58, 58, 131, 58,
1276 58, 58, -107
1277
1278 },
1279
1280 {
1281 9, -108, -108, -108, -108, -108, -108, 55, -108, -108,
1282 -108, -108, -108, 58, 58, -108, -108, -108, -108, -108,
1283 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1284 58, 58, 58, 58, 58, 58, 58, 58, 132, 58,
1285 58, 58, -108
1286 },
1287
1288 {
1289 9, -109, -109, -109, -109, -109, -109, 55, -109, -109,
1290 -109, -109, -109, 58, 58, -109, -109, -109, -109, -109,
1291 58, 58, 58, 58, 58, 58, 58, 58, 58, 133,
1292 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1293 58, 58, -109
1294
1295 },
1296
1297 {
1298 9, -110, -110, -110, -110, -110, -110, 55, -110, -110,
1299 -110, -110, -110, 58, 58, -110, -110, -110, -110, -110,
1300 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1301 58, 134, 58, 58, 58, 58, 58, 58, 58, 58,
1302 58, 58, -110
1303 },
1304
1305 {
1306 9, -111, -111, -111, -111, -111, -111, 55, -111, -111,
1307 -111, -111, -111, 58, 58, -111, -111, -111, -111, -111,
1308 58, 58, 58, 58, 58, 58, 58, 135, 58, 58,
1309 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1310 58, 58, -111
1311
1312 },
1313
1314 {
1315 9, -112, -112, -112, -112, -112, -112, 55, -112, -112,
1316 -112, -112, -112, 58, 58, -112, -112, -112, -112, -112,
1317 58, 58, 58, 58, 58, 136, 58, 58, 58, 58,
1318 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1319 58, 58, -112
1320 },
1321
1322 {
1323 9, -113, -113, -113, -113, -113, -113, 55, -113, -113,
1324 -113, -113, -113, 58, 58, -113, -113, -113, -113, -113,
1325 58, 58, 58, 58, 58, 137, 58, 58, 58, 58,
1326 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1327 58, 58, -113
1328
1329 },
1330
1331 {
1332 9, -114, -114, -114, -114, -114, -114, 55, -114, -114,
1333 -114, -114, -114, 58, 58, -114, -114, -114, -114, -114,
1334 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1335 58, 58, 58, 58, 58, 138, 58, 58, 58, 58,
1336 58, 58, -114
1337 },
1338
1339 {
1340 9, -115, -115, -115, -115, -115, -115, 55, -115, -115,
1341 -115, -115, -115, 58, 58, -115, -115, -115, -115, -115,
1342 58, 58, 58, 58, 58, 58, 58, 58, 58, 139,
1343 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1344 58, 58, -115
1345
1346 },
1347
1348 {
1349 9, -116, -116, -116, -116, -116, -116, 55, -116, -116,
1350 -116, -116, -116, 58, 58, -116, -116, -116, -116, -116,
1351 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1352 58, 58, 58, 58, 58, 58, 140, 58, 58, 58,
1353 58, 58, -116
1354 },
1355
1356 {
1357 9, -117, -117, -117, -117, -117, -117, 55, -117, -117,
1358 -117, -117, -117, 58, 58, -117, -117, -117, -117, -117,
1359 58, 58, 58, 58, 58, 58, 58, 58, 58, 141,
1360 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1361 58, 58, -117
1362
1363 },
1364
1365 {
1366 9, -118, -118, -118, -118, -118, -118, 55, -118, -118,
1367 -118, -118, -118, 58, 58, -118, -118, -118, -118, -118,
1368 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1369 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1370 58, 58, -118
1371 },
1372
1373 {
1374 9, -119, -119, -119, -119, -119, -119, 55, -119, -119,
1375 -119, -119, -119, 58, 58, -119, -119, -119, -119, -119,
1376 58, 58, 58, 142, 58, 58, 58, 58, 58, 58,
1377 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1378 58, 58, -119
1379
1380 },
1381
1382 {
1383 9, -120, -120, -120, -120, -120, -120, 55, -120, -120,
1384 -120, -120, -120, 58, 58, -120, -120, -120, -120, -120,
1385 58, 58, 58, 58, 58, 143, 58, 58, 58, 58,
1386 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1387 58, 58, -120
1388 },
1389
1390 {
1391 9, -121, -121, -121, -121, -121, -121, 55, -121, -121,
1392 -121, -121, -121, 58, 58, -121, -121, -121, -121, -121,
1393 58, 58, 58, 58, 58, 58, 58, 58, 58, 144,
1394 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1395 58, 58, -121
1396
1397 },
1398
1399 {
1400 9, -122, -122, -122, -122, -122, -122, 55, -122, -122,
1401 -122, -122, -122, 58, 58, -122, -122, -122, -122, -122,
1402 58, 58, 145, 58, 58, 58, 58, 58, 58, 58,
1403 58, 58, 58, 58, 58, 58, 58, 146, 58, 58,
1404 58, 58, -122
1405 },
1406
1407 {
1408 9, -123, -123, -123, -123, -123, -123, 55, -123, -123,
1409 -123, -123, -123, 58, 58, -123, -123, -123, -123, -123,
1410 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1411 58, 58, 58, 58, 58, 58, 58, 58, 147, 58,
1412 58, 58, -123
1413
1414 },
1415
1416 {
1417 9, -124, -124, -124, -124, -124, -124, 55, -124, -124,
1418 -124, -124, -124, 58, 58, -124, -124, -124, -124, -124,
1419 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1420 58, 58, 148, 58, 58, 58, 58, 58, 58, 58,
1421 58, 58, -124
1422 },
1423
1424 {
1425 9, -125, -125, -125, -125, -125, -125, 55, -125, -125,
1426 -125, -125, -125, 58, 58, -125, -125, -125, -125, -125,
1427 58, 58, 58, 58, 58, 58, 58, 58, 149, 58,
1428 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1429 58, 58, -125
1430
1431 },
1432
1433 {
1434 9, -126, -126, -126, -126, -126, -126, 55, -126, -126,
1435 -126, -126, -126, 58, 58, -126, -126, -126, -126, -126,
1436 58, 58, 58, 58, 58, 58, 150, 58, 58, 58,
1437 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1438 58, 58, -126
1439 },
1440
1441 {
1442 9, -127, -127, -127, -127, -127, -127, 55, -127, -127,
1443 -127, -127, -127, 58, 58, -127, -127, -127, -127, -127,
1444 58, 58, 58, 58, 58, 151, 58, 58, 58, 58,
1445 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1446 58, 58, -127
1447
1448 },
1449
1450 {
1451 9, -128, -128, -128, -128, -128, -128, 55, -128, -128,
1452 -128, -128, -128, 58, 58, -128, -128, -128, -128, -128,
1453 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1454 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1455 58, 58, -128
1456 },
1457
1458 {
1459 9, -129, -129, -129, -129, -129, -129, 55, -129, -129,
1460 -129, -129, -129, 58, 58, -129, -129, -129, -129, -129,
1461 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1462 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1463 58, 152, -129
1464
1465 },
1466
1467 {
1468 9, -130, -130, -130, -130, -130, -130, 55, -130, -130,
1469 -130, -130, -130, 58, 58, -130, -130, -130, -130, -130,
1470 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1471 58, 153, 58, 58, 58, 58, 58, 58, 58, 58,
1472 58, 58, -130
1473 },
1474
1475 {
1476 9, -131, -131, -131, -131, -131, -131, 55, -131, -131,
1477 -131, -131, -131, 58, 58, -131, -131, -131, -131, -131,
1478 58, 58, 58, 154, 58, 58, 58, 58, 58, 58,
1479 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1480 58, 58, -131
1481
1482 },
1483
1484 {
1485 9, -132, -132, -132, -132, -132, -132, 55, -132, -132,
1486 -132, -132, -132, 58, 58, -132, -132, -132, -132, -132,
1487 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1488 155, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1489 58, 58, -132
1490 },
1491
1492 {
1493 9, -133, -133, -133, -133, -133, -133, 55, -133, -133,
1494 -133, -133, -133, 58, 58, -133, -133, -133, -133, -133,
1495 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1496 58, 58, 58, 156, 58, 58, 58, 58, 58, 58,
1497 58, 58, -133
1498
1499 },
1500
1501 {
1502 9, -134, -134, -134, -134, -134, -134, 55, -134, -134,
1503 -134, -134, -134, 58, 58, -134, -134, -134, -134, -134,
1504 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1505 58, 58, 58, 58, 157, 58, 58, 58, 58, 58,
1506 58, 58, -134
1507 },
1508
1509 {
1510 9, -135, -135, -135, -135, -135, -135, 55, -135, -135,
1511 -135, -135, -135, 58, 58, -135, -135, -135, -135, -135,
1512 58, 58, 58, 58, 58, 158, 58, 58, 58, 58,
1513 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1514 58, 58, -135
1515
1516 },
1517
1518 {
1519 9, -136, -136, -136, -136, -136, -136, 55, -136, -136,
1520 -136, -136, -136, 58, 58, -136, -136, -136, -136, -136,
1521 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1522 58, 58, 58, 58, 58, 58, 58, 159, 58, 58,
1523 58, 58, -136
1524 },
1525
1526 {
1527 9, -137, -137, -137, -137, -137, -137, 55, -137, -137,
1528 -137, -137, -137, 58, 58, -137, -137, -137, -137, -137,
1529 58, 58, 58, 160, 58, 58, 58, 58, 58, 58,
1530 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1531 58, 58, -137
1532
1533 },
1534
1535 {
1536 9, -138, -138, -138, -138, -138, -138, 55, -138, -138,
1537 -138, -138, -138, 58, 58, -138, -138, -138, -138, -138,
1538 58, 58, 58, 161, 58, 58, 58, 58, 58, 58,
1539 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1540 58, 58, -138
1541 },
1542
1543 {
1544 9, -139, -139, -139, -139, -139, -139, 55, -139, -139,
1545 -139, -139, -139, 58, 58, -139, -139, -139, -139, -139,
1546 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1547 58, 58, 162, 58, 58, 58, 58, 58, 58, 58,
1548 58, 58, -139
1549
1550 },
1551
1552 {
1553 9, -140, -140, -140, -140, -140, -140, 55, -140, -140,
1554 -140, -140, -140, 58, 58, -140, -140, -140, -140, -140,
1555 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1556 58, 58, 58, 58, 58, 58, 58, 163, 58, 58,
1557 58, 58, -140
1558 },
1559
1560 {
1561 9, -141, -141, -141, -141, -141, -141, 55, -141, -141,
1562 -141, -141, -141, 58, 58, -141, -141, -141, -141, -141,
1563 58, 58, 164, 58, 58, 58, 58, 58, 58, 58,
1564 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1565 58, 58, -141
1566
1567 },
1568
1569 {
1570 9, -142, -142, -142, -142, -142, -142, 55, -142, -142,
1571 -142, -142, -142, 58, 58, -142, -142, -142, -142, -142,
1572 58, 58, 58, 58, 58, 165, 58, 58, 58, 58,
1573 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1574 58, 58, -142
1575 },
1576
1577 {
1578 9, -143, -143, -143, -143, -143, -143, 55, -143, -143,
1579 -143, -143, -143, 58, 58, -143, -143, -143, -143, -143,
1580 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1581 58, 58, 166, 58, 58, 58, 58, 58, 58, 58,
1582 58, 58, -143
1583
1584 },
1585
1586 {
1587 9, -144, -144, -144, -144, -144, -144, 55, -144, -144,
1588 -144, -144, -144, 58, 58, -144, -144, -144, -144, -144,
1589 58, 58, 58, 58, 58, 58, 58, 167, 58, 58,
1590 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1591 58, 58, -144
1592 },
1593
1594 {
1595 9, -145, -145, -145, -145, -145, -145, 55, -145, -145,
1596 -145, -145, -145, 58, 58, -145, -145, -145, -145, -145,
1597 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1598 58, 58, 58, 168, 58, 58, 58, 58, 58, 58,
1599 58, 58, -145
1600
1601 },
1602
1603 {
1604 9, -146, -146, -146, -146, -146, -146, 55, -146, -146,
1605 -146, -146, -146, 58, 58, -146, -146, -146, -146, -146,
1606 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1607 58, 58, 58, 58, 58, 169, 58, 58, 58, 58,
1608 58, 58, -146
1609 },
1610
1611 {
1612 9, -147, -147, -147, -147, -147, -147, 55, -147, -147,
1613 -147, -147, -147, 58, 58, -147, -147, -147, -147, -147,
1614 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1615 170, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1616 58, 58, -147
1617
1618 },
1619
1620 {
1621 9, -148, -148, -148, -148, -148, -148, 55, -148, -148,
1622 -148, -148, -148, 58, 58, -148, -148, -148, -148, -148,
1623 58, 58, 58, 58, 171, 58, 58, 58, 58, 58,
1624 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1625 58, 58, -148
1626 },
1627
1628 {
1629 9, -149, -149, -149, -149, -149, -149, 55, -149, -149,
1630 -149, -149, -149, 58, 58, -149, -149, -149, -149, -149,
1631 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1632 58, 58, 58, 172, 58, 58, 58, 58, 58, 58,
1633 58, 58, -149
1634
1635 },
1636
1637 {
1638 9, -150, -150, -150, -150, -150, -150, 55, -150, -150,
1639 -150, -150, -150, 58, 58, -150, -150, -150, -150, -150,
1640 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1641 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1642 58, 58, -150
1643 },
1644
1645 {
1646 9, -151, -151, -151, -151, -151, -151, 55, -151, -151,
1647 -151, -151, -151, 58, 58, -151, -151, -151, -151, -151,
1648 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1649 58, 58, 173, 58, 58, 58, 58, 58, 58, 58,
1650 58, 58, -151
1651
1652 },
1653
1654 {
1655 9, -152, -152, -152, -152, -152, -152, 55, -152, -152,
1656 -152, -152, -152, 58, 58, -152, -152, -152, -152, -152,
1657 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1658 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1659 58, 58, -152
1660 },
1661
1662 {
1663 9, -153, -153, -153, -153, -153, -153, 55, -153, -153,
1664 -153, -153, -153, 58, 58, -153, -153, -153, -153, -153,
1665 58, 58, 58, 58, 58, 174, 58, 58, 58, 58,
1666 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1667 58, 58, -153
1668
1669 },
1670
1671 {
1672 9, -154, -154, -154, -154, -154, -154, 55, -154, -154,
1673 -154, -154, -154, 58, 58, -154, -154, -154, -154, -154,
1674 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1675 58, 58, 58, 175, 58, 58, 58, 58, 58, 58,
1676 58, 58, -154
1677 },
1678
1679 {
1680 9, -155, -155, -155, -155, -155, -155, 55, -155, -155,
1681 -155, -155, -155, 58, 58, -155, -155, -155, -155, -155,
1682 58, 58, 58, 58, 58, 176, 58, 58, 58, 58,
1683 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1684 58, 58, -155
1685
1686 },
1687
1688 {
1689 9, -156, -156, -156, -156, -156, -156, 55, -156, -156,
1690 -156, -156, -156, 58, 58, -156, -156, -156, -156, -156,
1691 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1692 58, 58, 177, 58, 58, 58, 58, 58, 58, 58,
1693 58, 58, -156
1694 },
1695
1696 {
1697 9, -157, -157, -157, -157, -157, -157, 55, -157, -157,
1698 -157, -157, -157, 58, 58, -157, -157, -157, -157, -157,
1699 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1700 58, 58, 58, 58, 58, 58, 58, 178, 58, 58,
1701 58, 58, -157
1702
1703 },
1704
1705 {
1706 9, -158, -158, -158, -158, -158, -158, 55, -158, -158,
1707 -158, -158, -158, 58, 58, -158, -158, -158, -158, -158,
1708 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1709 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1710 58, 58, -158
1711 },
1712
1713 {
1714 9, -159, -159, -159, -159, -159, -159, 55, -159, -159,
1715 -159, -159, -159, 58, 58, -159, -159, -159, -159, -159,
1716 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1717 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1718 58, 58, -159
1719
1720 },
1721
1722 {
1723 9, -160, -160, -160, -160, -160, -160, 55, -160, -160,
1724 -160, -160, -160, 58, 58, -160, -160, -160, -160, -160,
1725 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1726 58, 58, 58, 58, 58, 58, 58, 179, 58, 58,
1727 58, 58, -160
1728 },
1729
1730 {
1731 9, -161, -161, -161, -161, -161, -161, 55, -161, -161,
1732 -161, -161, -161, 58, 58, -161, -161, -161, -161, -161,
1733 58, 58, 58, 58, 58, 180, 58, 58, 58, 58,
1734 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1735 58, 58, -161
1736
1737 },
1738
1739 {
1740 9, -162, -162, -162, -162, -162, -162, 55, -162, -162,
1741 -162, -162, -162, 58, 58, -162, -162, -162, -162, -162,
1742 58, 58, 58, 58, 58, 58, 58, 181, 58, 58,
1743 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1744 58, 58, -162
1745 },
1746
1747 {
1748 9, -163, -163, -163, -163, -163, -163, 55, -163, -163,
1749 -163, -163, -163, 58, 58, -163, -163, -163, -163, -163,
1750 58, 182, 58, 58, 58, 58, 58, 58, 58, 58,
1751 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1752 58, 58, -163
1753
1754 },
1755
1756 {
1757 9, -164, -164, -164, -164, -164, -164, 55, -164, -164,
1758 -164, -164, -164, 58, 58, -164, -164, -164, -164, -164,
1759 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1760 183, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1761 58, 58, -164
1762 },
1763
1764 {
1765 9, -165, -165, -165, -165, -165, -165, 55, -165, -165,
1766 -165, -165, -165, 58, 58, -165, -165, -165, -165, -165,
1767 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1768 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1769 58, 58, -165
1770
1771 },
1772
1773 {
1774 9, -166, -166, -166, -166, -166, -166, 55, -166, -166,
1775 -166, -166, -166, 58, 58, -166, -166, -166, -166, -166,
1776 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1777 58, 58, 58, 58, 58, 58, 58, 184, 58, 58,
1778 58, 58, -166
1779 },
1780
1781 {
1782 9, -167, -167, -167, -167, -167, -167, 55, -167, -167,
1783 -167, -167, -167, 58, 58, -167, -167, -167, -167, -167,
1784 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1785 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1786 58, 58, -167
1787
1788 },
1789
1790 {
1791 9, -168, -168, -168, -168, -168, -168, 55, -168, -168,
1792 -168, -168, -168, 58, 58, -168, -168, -168, -168, -168,
1793 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1794 58, 58, 58, 185, 58, 58, 58, 58, 58, 58,
1795 58, 58, -168
1796 },
1797
1798 {
1799 9, -169, -169, -169, -169, -169, -169, 55, -169, -169,
1800 -169, -169, -169, 58, 58, -169, -169, -169, -169, -169,
1801 58, 58, 58, 58, 58, 58, 58, 58, 58, 186,
1802 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1803 58, 58, -169
1804
1805 },
1806
1807 {
1808 9, -170, -170, -170, -170, -170, -170, 55, -170, -170,
1809 -170, -170, -170, 58, 58, -170, -170, -170, -170, -170,
1810 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1811 58, 58, 58, 58, 58, 58, 58, 187, 58, 58,
1812 58, 58, -170
1813 },
1814
1815 {
1816 9, -171, -171, -171, -171, -171, -171, 55, -171, -171,
1817 -171, -171, -171, 58, 58, -171, -171, -171, -171, -171,
1818 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1819 58, 58, 58, 58, 58, 58, 188, 58, 58, 58,
1820 58, 58, -171
1821
1822 },
1823
1824 {
1825 9, -172, -172, -172, -172, -172, -172, 55, -172, -172,
1826 -172, -172, -172, 58, 58, -172, -172, -172, -172, -172,
1827 58, 58, 58, 58, 58, 58, 58, 58, 58, 189,
1828 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1829 58, 58, -172
1830 },
1831
1832 {
1833 9, -173, -173, -173, -173, -173, -173, 55, -173, -173,
1834 -173, -173, -173, 58, 58, -173, -173, -173, -173, -173,
1835 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1836 58, 58, 58, 58, 58, 58, 58, 58, 190, 58,
1837 58, 58, -173
1838
1839 },
1840
1841 {
1842 9, -174, -174, -174, -174, -174, -174, 55, -174, -174,
1843 -174, -174, -174, 58, 58, -174, -174, -174, -174, -174,
1844 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1845 58, 58, 191, 58, 58, 58, 58, 58, 58, 58,
1846 58, 58, -174
1847 },
1848
1849 {
1850 9, -175, -175, -175, -175, -175, -175, 55, -175, -175,
1851 -175, -175, -175, 58, 58, -175, -175, -175, -175, -175,
1852 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1853 58, 58, 192, 58, 58, 58, 58, 58, 58, 58,
1854 58, 58, -175
1855
1856 },
1857
1858 {
1859 9, -176, -176, -176, -176, -176, -176, 55, -176, -176,
1860 -176, -176, -176, 58, 58, -176, -176, -176, -176, -176,
1861 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1862 58, 58, 58, 58, 58, 58, 193, 58, 58, 58,
1863 58, 58, -176
1864 },
1865
1866 {
1867 9, -177, -177, -177, -177, -177, -177, 55, -177, -177,
1868 -177, -177, -177, 58, 58, -177, -177, -177, -177, -177,
1869 58, 194, 58, 58, 58, 58, 58, 58, 58, 58,
1870 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1871 58, 58, -177
1872
1873 },
1874
1875 {
1876 9, -178, -178, -178, -178, -178, -178, 55, -178, -178,
1877 -178, -178, -178, 58, 58, -178, -178, -178, -178, -178,
1878 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1879 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1880 58, 58, -178
1881 },
1882
1883 {
1884 9, -179, -179, -179, -179, -179, -179, 55, -179, -179,
1885 -179, -179, -179, 58, 58, -179, -179, -179, -179, -179,
1886 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1887 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1888 58, 58, -179
1889
1890 },
1891
1892 {
1893 9, -180, -180, -180, -180, -180, -180, 55, -180, -180,
1894 -180, -180, -180, 58, 58, -180, -180, -180, -180, -180,
1895 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1896 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1897 58, 58, -180
1898 },
1899
1900 {
1901 9, -181, -181, -181, -181, -181, -181, 55, -181, -181,
1902 -181, -181, -181, 58, 58, -181, -181, -181, -181, -181,
1903 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1904 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1905 58, 58, -181
1906
1907 },
1908
1909 {
1910 9, -182, -182, -182, -182, -182, -182, 55, -182, -182,
1911 -182, -182, -182, 58, 58, -182, -182, -182, -182, -182,
1912 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1913 58, 58, 58, 58, 58, 58, 58, 195, 58, 58,
1914 58, 58, -182
1915 },
1916
1917 {
1918 9, -183, -183, -183, -183, -183, -183, 55, -183, -183,
1919 -183, -183, -183, 58, 58, -183, -183, -183, -183, -183,
1920 58, 58, 58, 58, 58, 196, 58, 58, 58, 58,
1921 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1922 58, 58, -183
1923
1924 },
1925
1926 {
1927 9, -184, -184, -184, -184, -184, -184, 55, -184, -184,
1928 -184, -184, -184, 58, 58, -184, -184, -184, -184, -184,
1929 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1930 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1931 58, 58, -184
1932 },
1933
1934 {
1935 9, -185, -185, -185, -185, -185, -185, 55, -185, -185,
1936 -185, -185, -185, 58, 58, -185, -185, -185, -185, -185,
1937 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1938 197, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1939 58, 58, -185
1940
1941 },
1942
1943 {
1944 9, -186, -186, -186, -186, -186, -186, 55, -186, -186,
1945 -186, -186, -186, 58, 58, -186, -186, -186, -186, -186,
1946 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1947 58, 58, 58, 58, 58, 58, 198, 58, 58, 58,
1948 58, 58, -186
1949 },
1950
1951 {
1952 9, -187, -187, -187, -187, -187, -187, 55, -187, -187,
1953 -187, -187, -187, 58, 58, -187, -187, -187, -187, -187,
1954 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1955 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1956 58, 58, -187
1957
1958 },
1959
1960 {
1961 9, -188, -188, -188, -188, -188, -188, 55, -188, -188,
1962 -188, -188, -188, 58, 58, -188, -188, -188, -188, -188,
1963 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1964 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1965 58, 58, -188
1966 },
1967
1968 {
1969 9, -189, -189, -189, -189, -189, -189, 55, -189, -189,
1970 -189, -189, -189, 58, 58, -189, -189, -189, -189, -189,
1971 58, 58, 58, 199, 58, 58, 58, 58, 58, 58,
1972 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1973 58, 58, -189
1974
1975 },
1976
1977 {
1978 9, -190, -190, -190, -190, -190, -190, 55, -190, -190,
1979 -190, -190, -190, 58, 58, -190, -190, -190, -190, -190,
1980 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1981 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1982 58, 58, -190
1983 },
1984
1985 {
1986 9, -191, -191, -191, -191, -191, -191, 55, -191, -191,
1987 -191, -191, -191, 58, 58, -191, -191, -191, -191, -191,
1988 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1989 58, 58, 58, 58, 58, 58, 58, 58, 200, 58,
1990 58, 58, -191
1991
1992 },
1993
1994 {
1995 9, -192, -192, -192, -192, -192, -192, 55, -192, -192,
1996 -192, -192, -192, 58, 58, -192, -192, -192, -192, -192,
1997 58, 58, 58, 58, 58, 58, 201, 58, 58, 58,
1998 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1999 58, 58, -192
2000 },
2001
2002 {
2003 9, -193, -193, -193, -193, -193, -193, 55, -193, -193,
2004 -193, -193, -193, 58, 58, -193, -193, -193, -193, -193,
2005 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2006 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2007 58, 58, -193
2008
2009 },
2010
2011 {
2012 9, -194, -194, -194, -194, -194, -194, 55, -194, -194,
2013 -194, -194, -194, 58, 58, -194, -194, -194, -194, -194,
2014 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2015 202, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2016 58, 58, -194
2017 },
2018
2019 {
2020 9, -195, -195, -195, -195, -195, -195, 55, -195, -195,
2021 -195, -195, -195, 58, 58, -195, -195, -195, -195, -195,
2022 58, 58, 58, 58, 58, 203, 58, 58, 58, 58,
2023 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2024 58, 58, -195
2025
2026 },
2027
2028 {
2029 9, -196, -196, -196, -196, -196, -196, 55, -196, -196,
2030 -196, -196, -196, 58, 58, -196, -196, -196, -196, -196,
2031 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2032 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2033 58, 58, -196
2034 },
2035
2036 {
2037 9, -197, -197, -197, -197, -197, -197, 55, -197, -197,
2038 -197, -197, -197, 58, 58, -197, -197, -197, -197, -197,
2039 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2040 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2041 58, 58, -197
2042
2043 },
2044
2045 {
2046 9, -198, -198, -198, -198, -198, -198, 55, -198, -198,
2047 -198, -198, -198, 58, 58, -198, -198, -198, -198, -198,
2048 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2049 58, 58, 58, 58, 58, 58, 58, 204, 58, 58,
2050 58, 58, -198
2051 },
2052
2053 {
2054 9, -199, -199, -199, -199, -199, -199, 55, -199, -199,
2055 -199, -199, -199, 58, 58, -199, -199, -199, -199, -199,
2056 58, 58, 58, 58, 58, 205, 58, 58, 58, 58,
2057 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2058 58, 58, -199
2059
2060 },
2061
2062 {
2063 9, -200, -200, -200, -200, -200, -200, 55, -200, -200,
2064 -200, -200, -200, 58, 58, -200, -200, -200, -200, -200,
2065 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2066 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2067 58, 58, -200
2068 },
2069
2070 {
2071 9, -201, -201, -201, -201, -201, -201, 55, -201, -201,
2072 -201, -201, -201, 58, 58, -201, -201, -201, -201, -201,
2073 58, 58, 58, 58, 58, 58, 58, 58, 58, 206,
2074 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2075 58, 58, -201
2076
2077 },
2078
2079 {
2080 9, -202, -202, -202, -202, -202, -202, 55, -202, -202,
2081 -202, -202, -202, 58, 58, -202, -202, -202, -202, -202,
2082 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2083 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2084 58, 58, -202
2085 },
2086
2087 {
2088 9, -203, -203, -203, -203, -203, -203, 55, -203, -203,
2089 -203, -203, -203, 58, 58, -203, -203, -203, -203, -203,
2090 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2091 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2092 58, 58, -203
2093
2094 },
2095
2096 {
2097 9, -204, -204, -204, -204, -204, -204, 55, -204, -204,
2098 -204, -204, -204, 58, 58, -204, -204, -204, -204, -204,
2099 58, 207, 58, 58, 58, 58, 58, 58, 58, 58,
2100 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2101 58, 58, -204
2102 },
2103
2104 {
2105 9, -205, -205, -205, -205, -205, -205, 55, -205, -205,
2106 -205, -205, -205, 58, 58, -205, -205, -205, -205, -205,
2107 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2108 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2109 58, 58, -205
2110
2111 },
2112
2113 {
2114 9, -206, -206, -206, -206, -206, -206, 55, -206, -206,
2115 -206, -206, -206, 58, 58, -206, -206, -206, -206, -206,
2116 58, 58, 58, 58, 58, 58, 58, 208, 58, 58,
2117 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2118 58, 58, -206
2119 },
2120
2121 {
2122 9, -207, -207, -207, -207, -207, -207, 55, -207, -207,
2123 -207, -207, -207, 58, 58, -207, -207, -207, -207, -207,
2124 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2125 58, 58, 58, 58, 58, 58, 58, 209, 58, 58,
2126 58, 58, -207
2127
2128 },
2129
2130 {
2131 9, -208, -208, -208, -208, -208, -208, 55, -208, -208,
2132 -208, -208, -208, 58, 58, -208, -208, -208, -208, -208,
2133 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2134 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2135 58, 58, -208
2136 },
2137
2138 {
2139 9, -209, -209, -209, -209, -209, -209, 55, -209, -209,
2140 -209, -209, -209, 58, 58, -209, -209, -209, -209, -209,
2141 58, 58, 58, 58, 58, 210, 58, 58, 58, 58,
2142 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2143 58, 58, -209
2144
2145 },
2146
2147 {
2148 9, -210, -210, -210, -210, -210, -210, 55, -210, -210,
2149 -210, -210, -210, 58, 58, -210, -210, -210, -210, -210,
2150 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2151 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2152 58, 58, -210
2153 },
2154
2155 } ;
2156
2157 static yy_state_type yy_get_previous_state ( void );
2158 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
2159 static int yy_get_next_buffer ( void );
2160 static void yynoreturn yy_fatal_error ( const char* msg );
2161
2162 /* Done after the current pattern has been matched and before the
2163 * corresponding action - sets up yytext.
2164 */
2165 #define YY_DO_BEFORE_ACTION \
2166 (yytext_ptr) = yy_bp; \
2167 yyleng = (int) (yy_cp - yy_bp); \
2168 (yy_hold_char) = *yy_cp; \
2169 *yy_cp = '\0'; \
2170 (yy_c_buf_p) = yy_cp;
2171 #define YY_NUM_RULES 64
2172 #define YY_END_OF_BUFFER 65
2173 /* This struct is not used in this scanner,
2174 but its presence is necessary. */
2175 struct yy_trans_info
2176 {
2177 flex_int32_t yy_verify;
2178 flex_int32_t yy_nxt;
2179 };
2180 static const flex_int16_t yy_accept[211] =
2181 { 0,
2182 2, 2, 0, 0, 0, 0, 0, 0, 65, 51,
2183 2, 4, 43, 48, 1, 50, 51, 44, 45, 51,
2184 49, 51, 39, 37, 41, 51, 49, 49, 49, 49,
2185 49, 49, 49, 49, 49, 49, 49, 49, 49, 51,
2186 52, 54, 53, 63, 60, 62, 56, 59, 58, 55,
2187 57, 2, 38, 1, 50, 36, 47, 49, 46, 40,
2188 42, 3, 49, 49, 49, 49, 49, 49, 18, 49,
2189 49, 49, 49, 49, 25, 49, 49, 49, 49, 49,
2190 49, 49, 49, 49, 35, 52, 52, 63, 60, 62,
2191 61, 56, 55, 57, 49, 49, 49, 49, 49, 49,
2192
2193 49, 49, 17, 49, 20, 49, 49, 49, 49, 49,
2194 49, 49, 49, 49, 49, 49, 49, 5, 49, 49,
2195 49, 49, 49, 49, 49, 49, 49, 16, 49, 49,
2196 22, 49, 49, 49, 49, 49, 49, 49, 49, 49,
2197 49, 49, 49, 49, 49, 49, 49, 49, 49, 14,
2198 49, 19, 49, 49, 49, 49, 49, 28, 29, 49,
2199 49, 49, 49, 49, 6, 49, 8, 49, 49, 49,
2200 49, 49, 49, 49, 49, 49, 49, 27, 30, 31,
2201 32, 49, 49, 7, 49, 49, 11, 12, 49, 15,
2202 49, 49, 24, 49, 49, 34, 9, 49, 49, 21,
2203
2204 49, 26, 33, 49, 13, 49, 49, 23, 49, 10
2205 } ;
2206
2207 static const YY_CHAR yy_ec[256] =
2208 { 0,
2209 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
2210 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2211 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2212 1, 2, 4, 5, 6, 7, 1, 8, 9, 10,
2213 11, 1, 12, 1, 13, 14, 14, 13, 13, 13,
2214 13, 13, 13, 13, 13, 13, 13, 15, 1, 16,
2215 17, 18, 1, 1, 13, 13, 13, 13, 13, 13,
2216 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2217 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
2218 1, 19, 1, 1, 20, 1, 21, 22, 23, 24,
2219
2220 25, 26, 27, 28, 29, 13, 13, 30, 31, 32,
2221 33, 34, 13, 35, 36, 37, 38, 39, 13, 40,
2222 41, 13, 1, 42, 1, 1, 1, 1, 1, 1,
2223 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2224 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2225 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2226 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2227 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2228 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2229 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2230
2231 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2232 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2233 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2234 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2235 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2236 1, 1, 1, 1, 1
2237 } ;
2238
2239 /* Table of booleans, true if rule could match eol. */
2240 static const flex_int32_t yy_rule_can_match_eol[65] =
2241 { 0,
2242 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
2245 0, 1, 1, 0, 0, };
2246
2247 extern int yy_flex_debug;
2248 int yy_flex_debug = 0;
2249
2250 /* The intent behind this definition is that it'll catch
2251 * any uses of REJECT which flex missed.
2252 */
2253 #define REJECT reject_used_but_not_detected
2254 #define yymore() yymore_used_but_not_detected
2255 #define YY_MORE_ADJ 0
2256 #define YY_RESTORE_YY_MORE_OFFSET
2257 char *yytext;
2258 /* SPDX-License-Identifier: GPL-2.0-only */
2259 /*
2260 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
2261 */
2262
2263 #include <assert.h>
2264 #include <limits.h>
2265 #include <stdio.h>
2266 #include <stdlib.h>
2267 #include <string.h>
2268 #include <glob.h>
2269 #include <libgen.h>
2270
2271 #include "lkc.h"
2272 #include "parser.tab.h"
2273
2274 #define YY_DECL static int yylex1(void)
2275
2276 #define START_STRSIZE 16
2277
2278 static struct {
2279 struct file *file;
2280 int lineno;
2281 } current_pos;
2282
2283 static int prev_prev_token = T_EOL;
2284 static int prev_token = T_EOL;
2285 static char *text;
2286 static int text_size, text_asize;
2287
2288 struct buffer {
2289 struct buffer *parent;
2290 YY_BUFFER_STATE state;
2291 };
2292
2293 static struct buffer *current_buf;
2294
2295 static int last_ts, first_ts;
2296
2297 static char *expand_token(const char *in, size_t n);
2298 static void append_expanded_string(const char *in);
2299 static void zconf_endhelp(void);
2300 static void zconf_endfile(void);
2301
2302 static void new_string(void)
2303 {
2304 text = xmalloc(START_STRSIZE);
2305 text_asize = START_STRSIZE;
2306 text_size = 0;
2307 *text = 0;
2308 }
2309
2310 static void append_string(const char *str, int size)
2311 {
2312 int new_size = text_size + size + 1;
2313 if (new_size > text_asize) {
2314 new_size += START_STRSIZE - 1;
2315 new_size &= -START_STRSIZE;
2316 text = xrealloc(text, new_size);
2317 text_asize = new_size;
2318 }
2319 memcpy(text + text_size, str, size);
2320 text_size += size;
2321 text[text_size] = 0;
2322 }
2323
2324 static void alloc_string(const char *str, int size)
2325 {
2326 text = xmalloc(size + 1);
2327 memcpy(text, str, size);
2328 text[size] = 0;
2329 }
2330
2331 static void warn_ignored_character(char chr)
2332 {
2333 fprintf(stderr,
2334 "%s:%d:warning: ignoring unsupported character '%c'\n",
2335 current_file->name, yylineno, chr);
2336 }
2337
2338 #define INITIAL 0
2339 #define ASSIGN_VAL 1
2340 #define HELP 2
2341 #define STRING 3
2342
2343 #ifndef YY_NO_UNISTD_H
2344 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2345 * down here because we want the user's section 1 to have been scanned first.
2346 * The user has a chance to override it with an option.
2347 */
2348 #include <unistd.h>
2349 #endif
2350
2351 #ifndef YY_EXTRA_TYPE
2352 #define YY_EXTRA_TYPE void *
2353 #endif
2354
2355 static int yy_init_globals ( void );
2356
2357 /* Accessor methods to globals.
2358 These are made visible to non-reentrant scanners for convenience. */
2359
2360 int yylex_destroy ( void );
2361
2362 int yyget_debug ( void );
2363
2364 void yyset_debug ( int debug_flag );
2365
2366 YY_EXTRA_TYPE yyget_extra ( void );
2367
2368 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2369
2370 FILE *yyget_in ( void );
2371
2372 void yyset_in ( FILE * _in_str );
2373
2374 FILE *yyget_out ( void );
2375
2376 void yyset_out ( FILE * _out_str );
2377
2378 int yyget_leng ( void );
2379
2380 char *yyget_text ( void );
2381
2382 int yyget_lineno ( void );
2383
2384 void yyset_lineno ( int _line_number );
2385
2386 /* Macros after this point can all be overridden by user definitions in
2387 * section 1.
2388 */
2389
2390 #ifndef YY_SKIP_YYWRAP
2391 #ifdef __cplusplus
2392 extern "C" int yywrap ( void );
2393 #else
2394 extern int yywrap ( void );
2395 #endif
2396 #endif
2397
2398 #ifndef YY_NO_UNPUT
2399
2400 static void yyunput ( int c, char *buf_ptr );
2401
2402 #endif
2403
2404 #ifndef yytext_ptr
2405 static void yy_flex_strncpy ( char *, const char *, int );
2406 #endif
2407
2408 #ifdef YY_NEED_STRLEN
2409 static int yy_flex_strlen ( const char * );
2410 #endif
2411
2412 #ifndef YY_NO_INPUT
2413 #ifdef __cplusplus
2414 static int yyinput ( void );
2415 #else
2416 static int input ( void );
2417 #endif
2418
2419 #endif
2420
2421 /* Amount of stuff to slurp up with each read. */
2422 #ifndef YY_READ_BUF_SIZE
2423 #ifdef __ia64__
2424 /* On IA-64, the buffer size is 16k, not 8k */
2425 #define YY_READ_BUF_SIZE 16384
2426 #else
2427 #define YY_READ_BUF_SIZE 8192
2428 #endif /* __ia64__ */
2429 #endif
2430
2431 /* Copy whatever the last rule matched to the standard output. */
2432 #ifndef ECHO
2433 /* This used to be an fputs(), but since the string might contain NUL's,
2434 * we now use fwrite().
2435 */
2436 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2437 #endif
2438
2439 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2440 * is returned in "result".
2441 */
2442 #ifndef YY_INPUT
2443 #define YY_INPUT(buf,result,max_size) \
2444 errno=0; \
2445 while ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \
2446 { \
2447 if( errno != EINTR) \
2448 { \
2449 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2450 break; \
2451 } \
2452 errno=0; \
2453 clearerr(yyin); \
2454 }\
2455 \
2456
2457 #endif
2458
2459 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2460 * we don't want an extra ';' after the "return" because that will cause
2461 * some compilers to complain about unreachable statements.
2462 */
2463 #ifndef yyterminate
2464 #define yyterminate() return YY_NULL
2465 #endif
2466
2467 /* Number of entries by which start-condition stack grows. */
2468 #ifndef YY_START_STACK_INCR
2469 #define YY_START_STACK_INCR 25
2470 #endif
2471
2472 /* Report a fatal error. */
2473 #ifndef YY_FATAL_ERROR
2474 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2475 #endif
2476
2477 /* end tables serialization structures and prototypes */
2478
2479 /* Default declaration of generated scanner - a define so the user can
2480 * easily add parameters.
2481 */
2482 #ifndef YY_DECL
2483 #define YY_DECL_IS_OURS 1
2484
2485 extern int yylex (void);
2486
2487 #define YY_DECL int yylex (void)
2488 #endif /* !YY_DECL */
2489
2490 /* Code executed at the beginning of each rule, after yytext and yyleng
2491 * have been set up.
2492 */
2493 #ifndef YY_USER_ACTION
2494 #define YY_USER_ACTION
2495 #endif
2496
2497 /* Code executed at the end of each rule. */
2498 #ifndef YY_BREAK
2499 #define YY_BREAK /*LINTED*/break;
2500 #endif
2501
2502 #define YY_RULE_SETUP \
2503 YY_USER_ACTION
2504
2505 /** The main scanner function which does all the work.
2506 */
2507 YY_DECL
2508 {
2509 yy_state_type yy_current_state;
2510 char *yy_cp, *yy_bp;
2511 int yy_act;
2512
2513 if ( !(yy_init) )
2514 {
2515 (yy_init) = 1;
2516
2517 #ifdef YY_USER_INIT
2518 YY_USER_INIT;
2519 #endif
2520
2521 if ( ! (yy_start) )
2522 (yy_start) = 1; /* first start state */
2523
2524 if ( ! yyin )
2525 yyin = stdin;
2526
2527 if ( ! yyout )
2528 yyout = stdout;
2529
2530 if ( ! YY_CURRENT_BUFFER ) {
2531 yyensure_buffer_stack ();
2532 YY_CURRENT_BUFFER_LVALUE =
2533 yy_create_buffer( yyin, YY_BUF_SIZE );
2534 }
2535
2536 yy_load_buffer_state( );
2537 }
2538
2539 {
2540
2541 int str = 0;
2542 int ts, i;
2543
2544 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2545 {
2546 yy_cp = (yy_c_buf_p);
2547
2548 /* Support of yytext. */
2549 *yy_cp = (yy_hold_char);
2550
2551 /* yy_bp points to the position in yy_ch_buf of the start of
2552 * the current run.
2553 */
2554 yy_bp = yy_cp;
2555
2556 yy_current_state = (yy_start);
2557 yy_match:
2558 while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)] ]) > 0 )
2559 ++yy_cp;
2560
2561 yy_current_state = -yy_current_state;
2562
2563 yy_find_action:
2564 yy_act = yy_accept[yy_current_state];
2565
2566 YY_DO_BEFORE_ACTION;
2567
2568 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2569 {
2570 int yyl;
2571 for ( yyl = 0; yyl < yyleng; ++yyl )
2572 if ( yytext[yyl] == '\n' )
2573
2574 yylineno++;
2575 ;
2576 }
2577
2578 do_action: /* This label is used only to access EOF actions. */
2579
2580 switch ( yy_act )
2581 { /* beginning of action switch */
2582 case 1:
2583 YY_RULE_SETUP
2584 /* ignore comment */
2585 YY_BREAK
2586 case 2:
2587 YY_RULE_SETUP
2588 /* whitespaces */
2589 YY_BREAK
2590 case 3:
2591 /* rule 3 can match eol */
2592 YY_RULE_SETUP
2593 /* escaped new line */
2594 YY_BREAK
2595 case 4:
2596 /* rule 4 can match eol */
2597 YY_RULE_SETUP
2598 return T_EOL;
2599 YY_BREAK
2600 case 5:
2601 YY_RULE_SETUP
2602 return T_BOOL;
2603 YY_BREAK
2604 case 6:
2605 YY_RULE_SETUP
2606 return T_CHOICE;
2607 YY_BREAK
2608 case 7:
2609 YY_RULE_SETUP
2610 return T_COMMENT;
2611 YY_BREAK
2612 case 8:
2613 YY_RULE_SETUP
2614 return T_CONFIG;
2615 YY_BREAK
2616 case 9:
2617 YY_RULE_SETUP
2618 return T_DEF_BOOL;
2619 YY_BREAK
2620 case 10:
2621 YY_RULE_SETUP
2622 return T_DEF_TRISTATE;
2623 YY_BREAK
2624 case 11:
2625 YY_RULE_SETUP
2626 return T_DEFAULT;
2627 YY_BREAK
2628 case 12:
2629 YY_RULE_SETUP
2630 return T_DEPENDS;
2631 YY_BREAK
2632 case 13:
2633 YY_RULE_SETUP
2634 return T_ENDCHOICE;
2635 YY_BREAK
2636 case 14:
2637 YY_RULE_SETUP
2638 return T_ENDIF;
2639 YY_BREAK
2640 case 15:
2641 YY_RULE_SETUP
2642 return T_ENDMENU;
2643 YY_BREAK
2644 case 16:
2645 YY_RULE_SETUP
2646 return T_HELP;
2647 YY_BREAK
2648 case 17:
2649 YY_RULE_SETUP
2650 return T_HEX;
2651 YY_BREAK
2652 case 18:
2653 YY_RULE_SETUP
2654 return T_IF;
2655 YY_BREAK
2656 case 19:
2657 YY_RULE_SETUP
2658 return T_IMPLY;
2659 YY_BREAK
2660 case 20:
2661 YY_RULE_SETUP
2662 return T_INT;
2663 YY_BREAK
2664 case 21:
2665 YY_RULE_SETUP
2666 return T_MAINMENU;
2667 YY_BREAK
2668 case 22:
2669 YY_RULE_SETUP
2670 return T_MENU;
2671 YY_BREAK
2672 case 23:
2673 YY_RULE_SETUP
2674 return T_MENUCONFIG;
2675 YY_BREAK
2676 case 24:
2677 YY_RULE_SETUP
2678 return T_MODULES;
2679 YY_BREAK
2680 case 25:
2681 YY_RULE_SETUP
2682 return T_ON;
2683 YY_BREAK
2684 case 26:
2685 YY_RULE_SETUP
2686 return T_OPTIONAL;
2687 YY_BREAK
2688 case 27:
2689 YY_RULE_SETUP
2690 return T_PROMPT;
2691 YY_BREAK
2692 case 28:
2693 YY_RULE_SETUP
2694 return T_RANGE;
2695 YY_BREAK
2696 case 29:
2697 YY_RULE_SETUP
2698 return T_RESET;
2699 YY_BREAK
2700 case 30:
2701 YY_RULE_SETUP
2702 return T_SELECT;
2703 YY_BREAK
2704 case 31:
2705 YY_RULE_SETUP
2706 return T_SOURCE;
2707 YY_BREAK
2708 case 32:
2709 YY_RULE_SETUP
2710 return T_STRING;
2711 YY_BREAK
2712 case 33:
2713 YY_RULE_SETUP
2714 return T_TRISTATE;
2715 YY_BREAK
2716 case 34:
2717 YY_RULE_SETUP
2718 return T_VISIBLE;
2719 YY_BREAK
2720 case 35:
2721 YY_RULE_SETUP
2722 return T_OR;
2723 YY_BREAK
2724 case 36:
2725 YY_RULE_SETUP
2726 return T_AND;
2727 YY_BREAK
2728 case 37:
2729 YY_RULE_SETUP
2730 return T_EQUAL;
2731 YY_BREAK
2732 case 38:
2733 YY_RULE_SETUP
2734 return T_UNEQUAL;
2735 YY_BREAK
2736 case 39:
2737 YY_RULE_SETUP
2738 return T_LESS;
2739 YY_BREAK
2740 case 40:
2741 YY_RULE_SETUP
2742 return T_LESS_EQUAL;
2743 YY_BREAK
2744 case 41:
2745 YY_RULE_SETUP
2746 return T_GREATER;
2747 YY_BREAK
2748 case 42:
2749 YY_RULE_SETUP
2750 return T_GREATER_EQUAL;
2751 YY_BREAK
2752 case 43:
2753 YY_RULE_SETUP
2754 return T_NOT;
2755 YY_BREAK
2756 case 44:
2757 YY_RULE_SETUP
2758 return T_OPEN_PAREN;
2759 YY_BREAK
2760 case 45:
2761 YY_RULE_SETUP
2762 return T_CLOSE_PAREN;
2763 YY_BREAK
2764 case 46:
2765 YY_RULE_SETUP
2766 return T_COLON_EQUAL;
2767 YY_BREAK
2768 case 47:
2769 YY_RULE_SETUP
2770 return T_PLUS_EQUAL;
2771 YY_BREAK
2772 case 48:
2773 YY_RULE_SETUP
2774 {
2775 str = yytext[0];
2776 new_string();
2777 BEGIN(STRING);
2778 }
2779 YY_BREAK
2780 case 49:
2781 YY_RULE_SETUP
2782 {
2783 alloc_string(yytext, yyleng);
2784 yylval.string = text;
2785 return T_WORD;
2786 }
2787 YY_BREAK
2788 case 50:
2789 YY_RULE_SETUP
2790 {
2791 /* this token includes at least one '$' */
2792 yylval.string = expand_token(yytext, yyleng);
2793 if (strlen(yylval.string))
2794 return T_WORD;
2795 free(yylval.string);
2796 }
2797 YY_BREAK
2798 case 51:
2799 YY_RULE_SETUP
2800 warn_ignored_character(*yytext);
2801 YY_BREAK
2802
2803 case 52:
2804 YY_RULE_SETUP
2805 {
2806 alloc_string(yytext, yyleng);
2807 yylval.string = text;
2808 return T_ASSIGN_VAL;
2809 }
2810 YY_BREAK
2811 case 53:
2812 /* rule 53 can match eol */
2813 YY_RULE_SETUP
2814 { BEGIN(INITIAL); return T_EOL; }
2815 YY_BREAK
2816 case 54:
2817 YY_RULE_SETUP
2818
2819 YY_BREAK
2820
2821 case 55:
2822 YY_RULE_SETUP
2823 append_expanded_string(yytext);
2824 YY_BREAK
2825 case 56:
2826 YY_RULE_SETUP
2827 {
2828 append_string(yytext, yyleng);
2829 }
2830 YY_BREAK
2831 case 57:
2832 YY_RULE_SETUP
2833 {
2834 append_string(yytext + 1, yyleng - 1);
2835 }
2836 YY_BREAK
2837 case 58:
2838 YY_RULE_SETUP
2839 {
2840 if (str == yytext[0]) {
2841 BEGIN(INITIAL);
2842 yylval.string = text;
2843 return T_WORD_QUOTE;
2844 } else
2845 append_string(yytext, 1);
2846 }
2847 YY_BREAK
2848 case 59:
2849 /* rule 59 can match eol */
2850 YY_RULE_SETUP
2851 {
2852 fprintf(stderr,
2853 "%s:%d:warning: multi-line strings not supported\n",
2854 zconf_curname(), zconf_lineno());
2855 unput('\n');
2856 BEGIN(INITIAL);
2857 yylval.string = text;
2858 return T_WORD_QUOTE;
2859 }
2860 YY_BREAK
2861 case YY_STATE_EOF(STRING):
2862 {
2863 BEGIN(INITIAL);
2864 yylval.string = text;
2865 return T_WORD_QUOTE;
2866 }
2867 YY_BREAK
2868
2869 case 60:
2870 YY_RULE_SETUP
2871 {
2872 ts = 0;
2873 for (i = 0; i < yyleng; i++) {
2874 if (yytext[i] == '\t')
2875 ts = (ts & ~7) + 8;
2876 else
2877 ts++;
2878 }
2879 last_ts = ts;
2880 if (first_ts) {
2881 if (ts < first_ts) {
2882 zconf_endhelp();
2883 return T_HELPTEXT;
2884 }
2885 ts -= first_ts;
2886 while (ts > 8) {
2887 append_string(" ", 8);
2888 ts -= 8;
2889 }
2890 append_string(" ", ts);
2891 }
2892 }
2893 YY_BREAK
2894 case 61:
2895 /* rule 61 can match eol */
2896 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2897 YY_LINENO_REWIND_TO(yy_cp - 1);
2898 (yy_c_buf_p) = yy_cp -= 1;
2899 YY_DO_BEFORE_ACTION; /* set up yytext again */
2900 YY_RULE_SETUP
2901 {
2902 zconf_endhelp();
2903 return T_HELPTEXT;
2904 }
2905 YY_BREAK
2906 case 62:
2907 /* rule 62 can match eol */
2908 YY_RULE_SETUP
2909 {
2910 append_string("\n", 1);
2911 }
2912 YY_BREAK
2913 case 63:
2914 YY_RULE_SETUP
2915 {
2916 while (yyleng) {
2917 if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t'))
2918 break;
2919 yyleng--;
2920 }
2921 append_string(yytext, yyleng);
2922 if (!first_ts)
2923 first_ts = last_ts;
2924 }
2925 YY_BREAK
2926 case YY_STATE_EOF(HELP):
2927 {
2928 zconf_endhelp();
2929 return T_HELPTEXT;
2930 }
2931 YY_BREAK
2932
2933 case YY_STATE_EOF(INITIAL):
2934 case YY_STATE_EOF(ASSIGN_VAL):
2935 {
2936 BEGIN(INITIAL);
2937
2938 if (prev_token != T_EOL && prev_token != T_HELPTEXT)
2939 fprintf(stderr, "%s:%d:warning: no new line at end of file\n",
2940 current_file->name, yylineno);
2941
2942 if (current_file) {
2943 zconf_endfile();
2944 return T_EOL;
2945 }
2946 fclose(yyin);
2947 yyterminate();
2948 }
2949 YY_BREAK
2950 case 64:
2951 YY_RULE_SETUP
2952 YY_FATAL_ERROR( "flex scanner jammed" );
2953 YY_BREAK
2954
2955 case YY_END_OF_BUFFER:
2956 {
2957 /* Amount of text matched not including the EOB char. */
2958 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2959
2960 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2961 *yy_cp = (yy_hold_char);
2962 YY_RESTORE_YY_MORE_OFFSET
2963
2964 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2965 {
2966 /* We're scanning a new file or input source. It's
2967 * possible that this happened because the user
2968 * just pointed yyin at a new source and called
2969 * yylex(). If so, then we have to assure
2970 * consistency between YY_CURRENT_BUFFER and our
2971 * globals. Here is the right place to do so, because
2972 * this is the first action (other than possibly a
2973 * back-up) that will match for the new input source.
2974 */
2975 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2976 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2977 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2978 }
2979
2980 /* Note that here we test for yy_c_buf_p "<=" to the position
2981 * of the first EOB in the buffer, since yy_c_buf_p will
2982 * already have been incremented past the NUL character
2983 * (since all states make transitions on EOB to the
2984 * end-of-buffer state). Contrast this with the test
2985 * in input().
2986 */
2987 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2988 { /* This was really a NUL. */
2989 yy_state_type yy_next_state;
2990
2991 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2992
2993 yy_current_state = yy_get_previous_state( );
2994
2995 /* Okay, we're now positioned to make the NUL
2996 * transition. We couldn't have
2997 * yy_get_previous_state() go ahead and do it
2998 * for us because it doesn't know how to deal
2999 * with the possibility of jamming (and we don't
3000 * want to build jamming into it because then it
3001 * will run more slowly).
3002 */
3003
3004 yy_next_state = yy_try_NUL_trans( yy_current_state );
3005
3006 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3007
3008 if ( yy_next_state )
3009 {
3010 /* Consume the NUL. */
3011 yy_cp = ++(yy_c_buf_p);
3012 yy_current_state = yy_next_state;
3013 goto yy_match;
3014 }
3015
3016 else
3017 {
3018 yy_cp = (yy_c_buf_p);
3019 goto yy_find_action;
3020 }
3021 }
3022
3023 else switch ( yy_get_next_buffer( ) )
3024 {
3025 case EOB_ACT_END_OF_FILE:
3026 {
3027 (yy_did_buffer_switch_on_eof) = 0;
3028
3029 if ( yywrap( ) )
3030 {
3031 /* Note: because we've taken care in
3032 * yy_get_next_buffer() to have set up
3033 * yytext, we can now set up
3034 * yy_c_buf_p so that if some total
3035 * hoser (like flex itself) wants to
3036 * call the scanner after we return the
3037 * YY_NULL, it'll still work - another
3038 * YY_NULL will get returned.
3039 */
3040 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3041
3042 yy_act = YY_STATE_EOF(YY_START);
3043 goto do_action;
3044 }
3045
3046 else
3047 {
3048 if ( ! (yy_did_buffer_switch_on_eof) )
3049 YY_NEW_FILE;
3050 }
3051 break;
3052 }
3053
3054 case EOB_ACT_CONTINUE_SCAN:
3055 (yy_c_buf_p) =
3056 (yytext_ptr) + yy_amount_of_matched_text;
3057
3058 yy_current_state = yy_get_previous_state( );
3059
3060 yy_cp = (yy_c_buf_p);
3061 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3062 goto yy_match;
3063
3064 case EOB_ACT_LAST_MATCH:
3065 (yy_c_buf_p) =
3066 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3067
3068 yy_current_state = yy_get_previous_state( );
3069
3070 yy_cp = (yy_c_buf_p);
3071 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3072 goto yy_find_action;
3073 }
3074 break;
3075 }
3076
3077 default:
3078 YY_FATAL_ERROR(
3079 "fatal flex scanner internal error--no action found" );
3080 } /* end of action switch */
3081 } /* end of scanning one token */
3082 } /* end of user's declarations */
3083 } /* end of yylex */
3084
3085 /* yy_get_next_buffer - try to read in a new buffer
3086 *
3087 * Returns a code representing an action:
3088 * EOB_ACT_LAST_MATCH -
3089 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3090 * EOB_ACT_END_OF_FILE - end of file
3091 */
3092 static int yy_get_next_buffer (void)
3093 {
3094 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3095 char *source = (yytext_ptr);
3096 int number_to_move, i;
3097 int ret_val;
3098
3099 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3100 YY_FATAL_ERROR(
3101 "fatal flex scanner internal error--end of buffer missed" );
3102
3103 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3104 { /* Don't try to fill the buffer, so this is an EOF. */
3105 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3106 {
3107 /* We matched a single character, the EOB, so
3108 * treat this as a final EOF.
3109 */
3110 return EOB_ACT_END_OF_FILE;
3111 }
3112
3113 else
3114 {
3115 /* We matched some text prior to the EOB, first
3116 * process it.
3117 */
3118 return EOB_ACT_LAST_MATCH;
3119 }
3120 }
3121
3122 /* Try to read more data. */
3123
3124 /* First move last chars to start of buffer. */
3125 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3126
3127 for ( i = 0; i < number_to_move; ++i )
3128 *(dest++) = *(source++);
3129
3130 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3131 /* don't do the read, it's not guaranteed to return an EOF,
3132 * just force an EOF
3133 */
3134 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3135
3136 else
3137 {
3138 int num_to_read =
3139 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3140
3141 while ( num_to_read <= 0 )
3142 { /* Not enough room in the buffer - grow it. */
3143
3144 /* just a shorter name for the current buffer */
3145 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3146
3147 int yy_c_buf_p_offset =
3148 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3149
3150 if ( b->yy_is_our_buffer )
3151 {
3152 int new_size = b->yy_buf_size * 2;
3153
3154 if ( new_size <= 0 )
3155 b->yy_buf_size += b->yy_buf_size / 8;
3156 else
3157 b->yy_buf_size *= 2;
3158
3159 b->yy_ch_buf = (char *)
3160 /* Include room in for 2 EOB chars. */
3161 yyrealloc( (void *) b->yy_ch_buf,
3162 (yy_size_t) (b->yy_buf_size + 2) );
3163 }
3164 else
3165 /* Can't grow it, we don't own it. */
3166 b->yy_ch_buf = NULL;
3167
3168 if ( ! b->yy_ch_buf )
3169 YY_FATAL_ERROR(
3170 "fatal error - scanner input buffer overflow" );
3171
3172 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3173
3174 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3175 number_to_move - 1;
3176
3177 }
3178
3179 if ( num_to_read > YY_READ_BUF_SIZE )
3180 num_to_read = YY_READ_BUF_SIZE;
3181
3182 /* Read in more data. */
3183 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3184 (yy_n_chars), num_to_read );
3185
3186 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3187 }
3188
3189 if ( (yy_n_chars) == 0 )
3190 {
3191 if ( number_to_move == YY_MORE_ADJ )
3192 {
3193 ret_val = EOB_ACT_END_OF_FILE;
3194 yyrestart( yyin );
3195 }
3196
3197 else
3198 {
3199 ret_val = EOB_ACT_LAST_MATCH;
3200 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3201 YY_BUFFER_EOF_PENDING;
3202 }
3203 }
3204
3205 else
3206 ret_val = EOB_ACT_CONTINUE_SCAN;
3207
3208 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3209 /* Extend the array by 50%, plus the number we really need. */
3210 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3211 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3212 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
3213 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3214 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3215 /* "- 2" to take care of EOB's */
3216 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3217 }
3218
3219 (yy_n_chars) += number_to_move;
3220 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3221 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3222
3223 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3224
3225 return ret_val;
3226 }
3227
3228 /* yy_get_previous_state - get the state just before the EOB char was reached */
3229
3230 static yy_state_type yy_get_previous_state (void)
3231 {
3232 yy_state_type yy_current_state;
3233 char *yy_cp;
3234
3235 yy_current_state = (yy_start);
3236
3237 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3238 {
3239 yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
3240 }
3241
3242 return yy_current_state;
3243 }
3244
3245 /* yy_try_NUL_trans - try to make a transition on the NUL character
3246 *
3247 * synopsis
3248 * next_state = yy_try_NUL_trans( current_state );
3249 */
3250 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3251 {
3252 int yy_is_jam;
3253
3254 yy_current_state = yy_nxt[yy_current_state][1];
3255 yy_is_jam = (yy_current_state <= 0);
3256
3257 return yy_is_jam ? 0 : yy_current_state;
3258 }
3259
3260 #ifndef YY_NO_UNPUT
3261
3262 static void yyunput (int c, char * yy_bp )
3263 {
3264 char *yy_cp;
3265
3266 yy_cp = (yy_c_buf_p);
3267
3268 /* undo effects of setting up yytext */
3269 *yy_cp = (yy_hold_char);
3270
3271 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3272 { /* need to shift things up to make room */
3273 /* +2 for EOB chars. */
3274 int number_to_move = (yy_n_chars) + 2;
3275 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3276 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3277 char *source =
3278 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3279
3280 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3281 *--dest = *--source;
3282
3283 yy_cp += (int) (dest - source);
3284 yy_bp += (int) (dest - source);
3285 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3286 (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3287
3288 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3289 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3290 }
3291
3292 *--yy_cp = (char) c;
3293
3294 if ( c == '\n' ){
3295 --yylineno;
3296 }
3297
3298 (yytext_ptr) = yy_bp;
3299 (yy_hold_char) = *yy_cp;
3300 (yy_c_buf_p) = yy_cp;
3301 }
3302
3303 #endif
3304
3305 #ifndef YY_NO_INPUT
3306 #ifdef __cplusplus
3307 static int yyinput (void)
3308 #else
3309 static int input (void)
3310 #endif
3311
3312 {
3313 int c;
3314
3315 *(yy_c_buf_p) = (yy_hold_char);
3316
3317 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3318 {
3319 /* yy_c_buf_p now points to the character we want to return.
3320 * If this occurs *before* the EOB characters, then it's a
3321 * valid NUL; if not, then we've hit the end of the buffer.
3322 */
3323 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3324 /* This was really a NUL. */
3325 *(yy_c_buf_p) = '\0';
3326
3327 else
3328 { /* need more input */
3329 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3330 ++(yy_c_buf_p);
3331
3332 switch ( yy_get_next_buffer( ) )
3333 {
3334 case EOB_ACT_LAST_MATCH:
3335 /* This happens because yy_g_n_b()
3336 * sees that we've accumulated a
3337 * token and flags that we need to
3338 * try matching the token before
3339 * proceeding. But for input(),
3340 * there's no matching to consider.
3341 * So convert the EOB_ACT_LAST_MATCH
3342 * to EOB_ACT_END_OF_FILE.
3343 */
3344
3345 /* Reset buffer status. */
3346 yyrestart( yyin );
3347
3348 /*FALLTHROUGH*/
3349
3350 case EOB_ACT_END_OF_FILE:
3351 {
3352 if ( yywrap( ) )
3353 return 0;
3354
3355 if ( ! (yy_did_buffer_switch_on_eof) )
3356 YY_NEW_FILE;
3357 #ifdef __cplusplus
3358 return yyinput();
3359 #else
3360 return input();
3361 #endif
3362 }
3363
3364 case EOB_ACT_CONTINUE_SCAN:
3365 (yy_c_buf_p) = (yytext_ptr) + offset;
3366 break;
3367 }
3368 }
3369 }
3370
3371 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3372 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3373 (yy_hold_char) = *++(yy_c_buf_p);
3374
3375 if ( c == '\n' )
3376
3377 yylineno++;
3378 ;
3379
3380 return c;
3381 }
3382 #endif /* ifndef YY_NO_INPUT */
3383
3384 /** Immediately switch to a different input stream.
3385 * @param input_file A readable stream.
3386 *
3387 * @note This function does not reset the start condition to @c INITIAL .
3388 */
3389 void yyrestart (FILE * input_file )
3390 {
3391
3392 if ( ! YY_CURRENT_BUFFER ){
3393 yyensure_buffer_stack ();
3394 YY_CURRENT_BUFFER_LVALUE =
3395 yy_create_buffer( yyin, YY_BUF_SIZE );
3396 }
3397
3398 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3399 yy_load_buffer_state( );
3400 }
3401
3402 /** Switch to a different input buffer.
3403 * @param new_buffer The new input buffer.
3404 *
3405 */
3406 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3407 {
3408
3409 /* TODO. We should be able to replace this entire function body
3410 * with
3411 * yypop_buffer_state();
3412 * yypush_buffer_state(new_buffer);
3413 */
3414 yyensure_buffer_stack ();
3415 if ( YY_CURRENT_BUFFER == new_buffer )
3416 return;
3417
3418 if ( YY_CURRENT_BUFFER )
3419 {
3420 /* Flush out information for old buffer. */
3421 *(yy_c_buf_p) = (yy_hold_char);
3422 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3423 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3424 }
3425
3426 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3427 yy_load_buffer_state( );
3428
3429 /* We don't actually know whether we did this switch during
3430 * EOF (yywrap()) processing, but the only time this flag
3431 * is looked at is after yywrap() is called, so it's safe
3432 * to go ahead and always set it.
3433 */
3434 (yy_did_buffer_switch_on_eof) = 1;
3435 }
3436
3437 static void yy_load_buffer_state (void)
3438 {
3439 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3440 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3441 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3442 (yy_hold_char) = *(yy_c_buf_p);
3443 }
3444
3445 /** Allocate and initialize an input buffer state.
3446 * @param file A readable stream.
3447 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3448 *
3449 * @return the allocated buffer state.
3450 */
3451 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3452 {
3453 YY_BUFFER_STATE b;
3454
3455 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3456 if ( ! b )
3457 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3458
3459 b->yy_buf_size = size;
3460
3461 /* yy_ch_buf has to be 2 characters longer than the size given because
3462 * we need to put in 2 end-of-buffer characters.
3463 */
3464 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
3465 if ( ! b->yy_ch_buf )
3466 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3467
3468 b->yy_is_our_buffer = 1;
3469
3470 yy_init_buffer( b, file );
3471
3472 return b;
3473 }
3474
3475 /** Destroy the buffer.
3476 * @param b a buffer created with yy_create_buffer()
3477 *
3478 */
3479 void yy_delete_buffer (YY_BUFFER_STATE b )
3480 {
3481
3482 if ( ! b )
3483 return;
3484
3485 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3486 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3487
3488 if ( b->yy_is_our_buffer )
3489 yyfree( (void *) b->yy_ch_buf );
3490
3491 yyfree( (void *) b );
3492 }
3493
3494 /* Initializes or reinitializes a buffer.
3495 * This function is sometimes called more than once on the same buffer,
3496 * such as during a yyrestart() or at EOF.
3497 */
3498 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3499
3500 {
3501 int oerrno = errno;
3502
3503 yy_flush_buffer( b );
3504
3505 b->yy_input_file = file;
3506 b->yy_fill_buffer = 1;
3507
3508 /* If b is the current buffer, then yy_init_buffer was _probably_
3509 * called from yyrestart() or through yy_get_next_buffer.
3510 * In that case, we don't want to reset the lineno or column.
3511 */
3512 if (b != YY_CURRENT_BUFFER){
3513 b->yy_bs_lineno = 1;
3514 b->yy_bs_column = 0;
3515 }
3516
3517 b->yy_is_interactive = 0;
3518
3519 errno = oerrno;
3520 }
3521
3522 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3523 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3524 *
3525 */
3526 void yy_flush_buffer (YY_BUFFER_STATE b )
3527 {
3528 if ( ! b )
3529 return;
3530
3531 b->yy_n_chars = 0;
3532
3533 /* We always need two end-of-buffer characters. The first causes
3534 * a transition to the end-of-buffer state. The second causes
3535 * a jam in that state.
3536 */
3537 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3538 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3539
3540 b->yy_buf_pos = &b->yy_ch_buf[0];
3541
3542 b->yy_at_bol = 1;
3543 b->yy_buffer_status = YY_BUFFER_NEW;
3544
3545 if ( b == YY_CURRENT_BUFFER )
3546 yy_load_buffer_state( );
3547 }
3548
3549 /** Pushes the new state onto the stack. The new state becomes
3550 * the current state. This function will allocate the stack
3551 * if necessary.
3552 * @param new_buffer The new state.
3553 *
3554 */
3555 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3556 {
3557 if (new_buffer == NULL)
3558 return;
3559
3560 yyensure_buffer_stack();
3561
3562 /* This block is copied from yy_switch_to_buffer. */
3563 if ( YY_CURRENT_BUFFER )
3564 {
3565 /* Flush out information for old buffer. */
3566 *(yy_c_buf_p) = (yy_hold_char);
3567 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3568 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3569 }
3570
3571 /* Only push if top exists. Otherwise, replace top. */
3572 if (YY_CURRENT_BUFFER)
3573 (yy_buffer_stack_top)++;
3574 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3575
3576 /* copied from yy_switch_to_buffer. */
3577 yy_load_buffer_state( );
3578 (yy_did_buffer_switch_on_eof) = 1;
3579 }
3580
3581 /** Removes and deletes the top of the stack, if present.
3582 * The next element becomes the new top.
3583 *
3584 */
3585 void yypop_buffer_state (void)
3586 {
3587 if (!YY_CURRENT_BUFFER)
3588 return;
3589
3590 yy_delete_buffer(YY_CURRENT_BUFFER );
3591 YY_CURRENT_BUFFER_LVALUE = NULL;
3592 if ((yy_buffer_stack_top) > 0)
3593 --(yy_buffer_stack_top);
3594
3595 if (YY_CURRENT_BUFFER) {
3596 yy_load_buffer_state( );
3597 (yy_did_buffer_switch_on_eof) = 1;
3598 }
3599 }
3600
3601 /* Allocates the stack if it does not exist.
3602 * Guarantees space for at least one push.
3603 */
3604 static void yyensure_buffer_stack (void)
3605 {
3606 yy_size_t num_to_alloc;
3607
3608 if (!(yy_buffer_stack)) {
3609
3610 /* First allocation is just for 2 elements, since we don't know if this
3611 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3612 * immediate realloc on the next call.
3613 */
3614 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3615 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3616 (num_to_alloc * sizeof(struct yy_buffer_state*)
3617 );
3618 if ( ! (yy_buffer_stack) )
3619 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3620
3621 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3622
3623 (yy_buffer_stack_max) = num_to_alloc;
3624 (yy_buffer_stack_top) = 0;
3625 return;
3626 }
3627
3628 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3629
3630 /* Increase the buffer to prepare for a possible push. */
3631 yy_size_t grow_size = 8 /* arbitrary grow size */;
3632
3633 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3634 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3635 ((yy_buffer_stack),
3636 num_to_alloc * sizeof(struct yy_buffer_state*)
3637 );
3638 if ( ! (yy_buffer_stack) )
3639 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3640
3641 /* zero only the new slots.*/
3642 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3643 (yy_buffer_stack_max) = num_to_alloc;
3644 }
3645 }
3646
3647 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3648 * @param base the character buffer
3649 * @param size the size in bytes of the character buffer
3650 *
3651 * @return the newly allocated buffer state object.
3652 */
3653 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3654 {
3655 YY_BUFFER_STATE b;
3656
3657 if ( size < 2 ||
3658 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3659 base[size-1] != YY_END_OF_BUFFER_CHAR )
3660 /* They forgot to leave room for the EOB's. */
3661 return NULL;
3662
3663 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3664 if ( ! b )
3665 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3666
3667 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3668 b->yy_buf_pos = b->yy_ch_buf = base;
3669 b->yy_is_our_buffer = 0;
3670 b->yy_input_file = NULL;
3671 b->yy_n_chars = b->yy_buf_size;
3672 b->yy_is_interactive = 0;
3673 b->yy_at_bol = 1;
3674 b->yy_fill_buffer = 0;
3675 b->yy_buffer_status = YY_BUFFER_NEW;
3676
3677 yy_switch_to_buffer( b );
3678
3679 return b;
3680 }
3681
3682 /** Setup the input buffer state to scan a string. The next call to yylex() will
3683 * scan from a @e copy of @a str.
3684 * @param yystr a NUL-terminated string to scan
3685 *
3686 * @return the newly allocated buffer state object.
3687 * @note If you want to scan bytes that may contain NUL values, then use
3688 * yy_scan_bytes() instead.
3689 */
3690 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3691 {
3692
3693 return yy_scan_bytes( yystr, (int) strlen(yystr) );
3694 }
3695
3696 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3697 * scan from a @e copy of @a bytes.
3698 * @param yybytes the byte buffer to scan
3699 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3700 *
3701 * @return the newly allocated buffer state object.
3702 */
3703 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3704 {
3705 YY_BUFFER_STATE b;
3706 char *buf;
3707 yy_size_t n;
3708 int i;
3709
3710 /* Get memory for full buffer, including space for trailing EOB's. */
3711 n = (yy_size_t) (_yybytes_len + 2);
3712 buf = (char *) yyalloc( n );
3713 if ( ! buf )
3714 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3715
3716 for ( i = 0; i < _yybytes_len; ++i )
3717 buf[i] = yybytes[i];
3718
3719 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3720
3721 b = yy_scan_buffer( buf, n );
3722 if ( ! b )
3723 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3724
3725 /* It's okay to grow etc. this buffer, and we should throw it
3726 * away when we're done.
3727 */
3728 b->yy_is_our_buffer = 1;
3729
3730 return b;
3731 }
3732
3733 #ifndef YY_EXIT_FAILURE
3734 #define YY_EXIT_FAILURE 2
3735 #endif
3736
3737 static void yynoreturn yy_fatal_error (const char* msg )
3738 {
3739 fprintf( stderr, "%s\n", msg );
3740 exit( YY_EXIT_FAILURE );
3741 }
3742
3743 /* Redefine yyless() so it works in section 3 code. */
3744
3745 #undef yyless
3746 #define yyless(n) \
3747 do \
3748 { \
3749 /* Undo effects of setting up yytext. */ \
3750 int yyless_macro_arg = (n); \
3751 YY_LESS_LINENO(yyless_macro_arg);\
3752 yytext[yyleng] = (yy_hold_char); \
3753 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3754 (yy_hold_char) = *(yy_c_buf_p); \
3755 *(yy_c_buf_p) = '\0'; \
3756 yyleng = yyless_macro_arg; \
3757 } \
3758 while ( 0 )
3759
3760 /* Accessor methods (get/set functions) to struct members. */
3761
3762 /** Get the current line number.
3763 *
3764 */
3765 int yyget_lineno (void)
3766 {
3767
3768 return yylineno;
3769 }
3770
3771 /** Get the input stream.
3772 *
3773 */
3774 FILE *yyget_in (void)
3775 {
3776 return yyin;
3777 }
3778
3779 /** Get the output stream.
3780 *
3781 */
3782 FILE *yyget_out (void)
3783 {
3784 return yyout;
3785 }
3786
3787 /** Get the length of the current token.
3788 *
3789 */
3790 int yyget_leng (void)
3791 {
3792 return yyleng;
3793 }
3794
3795 /** Get the current token.
3796 *
3797 */
3798
3799 char *yyget_text (void)
3800 {
3801 return yytext;
3802 }
3803
3804 /** Set the current line number.
3805 * @param _line_number line number
3806 *
3807 */
3808 void yyset_lineno (int _line_number )
3809 {
3810
3811 yylineno = _line_number;
3812 }
3813
3814 /** Set the input stream. This does not discard the current
3815 * input buffer.
3816 * @param _in_str A readable stream.
3817 *
3818 * @see yy_switch_to_buffer
3819 */
3820 void yyset_in (FILE * _in_str )
3821 {
3822 yyin = _in_str ;
3823 }
3824
3825 void yyset_out (FILE * _out_str )
3826 {
3827 yyout = _out_str ;
3828 }
3829
3830 int yyget_debug (void)
3831 {
3832 return yy_flex_debug;
3833 }
3834
3835 void yyset_debug (int _bdebug )
3836 {
3837 yy_flex_debug = _bdebug ;
3838 }
3839
3840 static int yy_init_globals (void)
3841 {
3842 /* Initialization is the same as for the non-reentrant scanner.
3843 * This function is called from yylex_destroy(), so don't allocate here.
3844 */
3845
3846 /* We do not touch yylineno unless the option is enabled. */
3847 yylineno = 1;
3848
3849 (yy_buffer_stack) = NULL;
3850 (yy_buffer_stack_top) = 0;
3851 (yy_buffer_stack_max) = 0;
3852 (yy_c_buf_p) = NULL;
3853 (yy_init) = 0;
3854 (yy_start) = 0;
3855
3856 /* Defined in main.c */
3857 #ifdef YY_STDINIT
3858 yyin = stdin;
3859 yyout = stdout;
3860 #else
3861 yyin = NULL;
3862 yyout = NULL;
3863 #endif
3864
3865 /* For future reference: Set errno on error, since we are called by
3866 * yylex_init()
3867 */
3868 return 0;
3869 }
3870
3871 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3872 int yylex_destroy (void)
3873 {
3874
3875 /* Pop the buffer stack, destroying each element. */
3876 while(YY_CURRENT_BUFFER){
3877 yy_delete_buffer( YY_CURRENT_BUFFER );
3878 YY_CURRENT_BUFFER_LVALUE = NULL;
3879 yypop_buffer_state();
3880 }
3881
3882 /* Destroy the stack itself. */
3883 yyfree((yy_buffer_stack) );
3884 (yy_buffer_stack) = NULL;
3885
3886 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3887 * yylex() is called, initialization will occur. */
3888 yy_init_globals( );
3889
3890 return 0;
3891 }
3892
3893 /*
3894 * Internal utility routines.
3895 */
3896
3897 #ifndef yytext_ptr
3898 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3899 {
3900
3901 int i;
3902 for ( i = 0; i < n; ++i )
3903 s1[i] = s2[i];
3904 }
3905 #endif
3906
3907 #ifdef YY_NEED_STRLEN
3908 static int yy_flex_strlen (const char * s )
3909 {
3910 int n;
3911 for ( n = 0; s[n]; ++n )
3912 ;
3913
3914 return n;
3915 }
3916 #endif
3917
3918 void *yyalloc (yy_size_t size )
3919 {
3920 return malloc(size);
3921 }
3922
3923 void *yyrealloc (void * ptr, yy_size_t size )
3924 {
3925
3926 /* The cast to (char *) in the following accommodates both
3927 * implementations that use char* generic pointers, and those
3928 * that use void* generic pointers. It works with the latter
3929 * because both ANSI C and C++ allow castless assignment from
3930 * any pointer type to void*, and deal with argument conversions
3931 * as though doing an assignment.
3932 */
3933 return realloc(ptr, size);
3934 }
3935
3936 void yyfree (void * ptr )
3937 {
3938 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3939 }
3940
3941 #define YYTABLES_NAME "yytables"
3942
3943 /* second stage lexer */
3944 int yylex(void)
3945 {
3946 int token;
3947
3948 repeat:
3949 token = yylex1();
3950
3951 if (prev_token == T_EOL || prev_token == T_HELPTEXT) {
3952 if (token == T_EOL) {
3953 /* Do not pass unneeded T_EOL to the parser. */
3954 goto repeat;
3955 } else {
3956 /*
3957 * For the parser, update file/lineno at the first token
3958 * of each statement. Generally, \n is a statement
3959 * terminator in Kconfig, but it is not always true
3960 * because \n could be escaped by a backslash.
3961 */
3962 current_pos.file = current_file;
3963 current_pos.lineno = yylineno;
3964 }
3965 }
3966
3967 if (prev_prev_token == T_EOL && prev_token == T_WORD &&
3968 (token == T_EQUAL || token == T_COLON_EQUAL || token == T_PLUS_EQUAL))
3969 BEGIN(ASSIGN_VAL);
3970
3971 prev_prev_token = prev_token;
3972 prev_token = token;
3973
3974 return token;
3975 }
3976
3977 static char *expand_token(const char *in, size_t n)
3978 {
3979 char *out;
3980 int c;
3981 char c2;
3982 const char *rest, *end;
3983
3984 new_string();
3985 append_string(in, n);
3986
3987 /* get the whole line because we do not know the end of token. */
3988 while ((c = input()) != EOF) {
3989 if (c == '\n') {
3990 unput(c);
3991 break;
3992 }
3993 c2 = c;
3994 append_string(&c2, 1);
3995 }
3996
3997 rest = text;
3998 out = expand_one_token(&rest);
3999
4000 /* push back unused characters to the input stream */
4001 end = rest + strlen(rest);
4002 while (end > rest)
4003 unput(*--end);
4004
4005 free(text);
4006
4007 return out;
4008 }
4009
4010 static void append_expanded_string(const char *str)
4011 {
4012 const char *end;
4013 char *res;
4014
4015 str++;
4016
4017 res = expand_dollar(&str);
4018
4019 /* push back unused characters to the input stream */
4020 end = str + strlen(str);
4021 while (end > str)
4022 unput(*--end);
4023
4024 append_string(res, strlen(res));
4025
4026 free(res);
4027 }
4028
4029 void zconf_starthelp(void)
4030 {
4031 new_string();
4032 last_ts = first_ts = 0;
4033 BEGIN(HELP);
4034 }
4035
4036 static void zconf_endhelp(void)
4037 {
4038 yylval.string = text;
4039 BEGIN(INITIAL);
4040 }
4041
4042 /*
4043 * Try to open specified file with following names:
4044 * ./name
4045 * $(srctree)/name
4046 * The latter is used when srctree is separate from objtree
4047 * when compiling the kernel.
4048 * Return NULL if file is not found.
4049 */
4050 FILE *zconf_fopen(const char *name)
4051 {
4052 char *env, fullname[PATH_MAX+1];
4053 FILE *f;
4054
4055 f = fopen(name, "r");
4056 if (!f && name != NULL && name[0] != '/') {
4057 env = getenv(SRCTREE);
4058 if (env) {
4059 snprintf(fullname, sizeof(fullname),
4060 "%s/%s", env, name);
4061 f = fopen(fullname, "r");
4062 }
4063 }
4064 return f;
4065 }
4066
4067 void zconf_initscan(const char *name)
4068 {
4069 yyin = zconf_fopen(name);
4070 if (!yyin) {
4071 fprintf(stderr, "can't find file %s\n", name);
4072 exit(1);
4073 }
4074
4075 current_buf = xmalloc(sizeof(*current_buf));
4076 memset(current_buf, 0, sizeof(*current_buf));
4077
4078 current_file = file_lookup(name);
4079 yylineno = 1;
4080 }
4081
4082 static void __zconf_nextfile(const char *name)
4083 {
4084 struct file *iter;
4085 struct file *file = file_lookup(name);
4086 struct buffer *buf = xmalloc(sizeof(*buf));
4087 memset(buf, 0, sizeof(*buf));
4088
4089 current_buf->state = YY_CURRENT_BUFFER;
4090 yyin = zconf_fopen(file->name);
4091 if (!yyin) {
4092 fprintf(stderr, "%s:%d: can't open file \"%s\"\n",
4093 zconf_curname(), zconf_lineno(), file->name);
4094 exit(1);
4095 }
4096 yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
4097 buf->parent = current_buf;
4098 current_buf = buf;
4099
4100 current_file->lineno = yylineno;
4101 file->parent = current_file;
4102
4103 for (iter = current_file; iter; iter = iter->parent) {
4104 if (!strcmp(iter->name, file->name)) {
4105 fprintf(stderr,
4106 "Recursive inclusion detected.\n"
4107 "Inclusion path:\n"
4108 " current file : %s\n", file->name);
4109 iter = file;
4110 do {
4111 iter = iter->parent;
4112 fprintf(stderr, " included from: %s:%d\n",
4113 iter->name, iter->lineno - 1);
4114 } while (strcmp(iter->name, file->name));
4115 exit(1);
4116 }
4117 }
4118
4119 yylineno = 1;
4120 current_file = file;
4121 }
4122
4123 void zconf_nextfile(const char *name)
4124 {
4125 glob_t gl;
4126 int err;
4127 int i;
4128 char path[PATH_MAX], *p;
4129
4130 err = glob(name, GLOB_ERR | GLOB_MARK, NULL, &gl);
4131
4132 /* ignore wildcard patterns that return no result */
4133 if (err == GLOB_NOMATCH && strchr(name, '*')) {
4134 err = 0;
4135 gl.gl_pathc = 0;
4136 }
4137
4138 if (err == GLOB_NOMATCH) {
4139 p = strdup(current_file->name);
4140 if (p) {
4141 snprintf(path, sizeof(path), "%s/%s", dirname(p), name);
4142 err = glob(path, GLOB_ERR | GLOB_MARK, NULL, &gl);
4143 free(p);
4144 }
4145 }
4146
4147 if (err) {
4148 const char *reason = "unknown error";
4149
4150 switch (err) {
4151 case GLOB_NOSPACE:
4152 reason = "out of memory";
4153 break;
4154 case GLOB_ABORTED:
4155 reason = "read error";
4156 break;
4157 case GLOB_NOMATCH:
4158 reason = "No files found";
4159 break;
4160 default:
4161 break;
4162 }
4163
4164 printf("%s:%d: glob failed: %s \"%s\"\n", zconf_curname(), zconf_lineno(),
4165 reason, name);
4166
4167 exit(1);
4168 }
4169
4170 for (i = 0; i < gl.gl_pathc; i++)
4171 __zconf_nextfile(gl.gl_pathv[i]);
4172 }
4173
4174 static void zconf_endfile(void)
4175 {
4176 struct buffer *parent;
4177
4178 current_file = current_file->parent;
4179 if (current_file)
4180 yylineno = current_file->lineno;
4181
4182 parent = current_buf->parent;
4183 if (parent) {
4184 fclose(yyin);
4185 yy_delete_buffer(YY_CURRENT_BUFFER);
4186 yy_switch_to_buffer(parent->state);
4187 }
4188 free(current_buf);
4189 current_buf = parent;
4190 }
4191
4192 int zconf_lineno(void)
4193 {
4194 return current_pos.lineno;
4195 }
4196
4197 const char *zconf_curname(void)
4198 {
4199 return current_pos.file ? current_pos.file->name : "<none>";
4200 }
4201