xref: /freebsd/contrib/unbound/util/configlexer.c (revision 6ef6ba9950260f42b47499d17874d00ca9290955)
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 
3537