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