OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [extra/] [config/] [lex.zconf.c_shipped] - Blame information for rev 1771

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.