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