source: menu/lex.zconf.c_shipped@ 1849935

2.4 ablfs-more legacy new_features trunk
Last change on this file since 1849935 was 743414b, checked in by Pierre Labastie <pierre@…>, 13 years ago

Changes slightly the code in menu directory so that "conf"
and "mconf" build without issuing warnings

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