xref: /freebsd/usr.bin/lex/initscan.c (revision 3bca8d2b3270c38e67c1c851b1dae9d8cb921b69)
1 
2 #line 2 "<stdout>"
3 
4 #define  YY_INT_ALIGNED short int
5 
6 /* A lexical scanner generated by flex */
7 
8 #define FLEX_SCANNER
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 6
11 #define YY_FLEX_SUBMINOR_VERSION 4
12 #if YY_FLEX_SUBMINOR_VERSION > 0
13 #define FLEX_BETA
14 #endif
15 
16 /* First, we deal with  platform-specific or compiler-specific issues. */
17 
18 #if defined(__FreeBSD__)
19 #include <sys/cdefs.h>
20 #else
21 #define	__dead2
22 #endif
23 
24 /* begin standard C headers. */
25 #include <stdio.h>
26 #include <string.h>
27 #include <errno.h>
28 #include <stdlib.h>
29 
30 /* end standard C headers. */
31 
32 /* flex integer type definitions */
33 
34 #ifndef FLEXINT_H
35 #define FLEXINT_H
36 
37 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
38 
39 #if defined(__FreeBSD__) || \
40     (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
41 
42 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
43  * if you want the limit (max/min) macros for int types.
44  */
45 #ifndef __STDC_LIMIT_MACROS
46 #define __STDC_LIMIT_MACROS 1
47 #endif
48 
49 #include <inttypes.h>
50 typedef int8_t flex_int8_t;
51 typedef uint8_t flex_uint8_t;
52 typedef int16_t flex_int16_t;
53 typedef uint16_t flex_uint16_t;
54 typedef int32_t flex_int32_t;
55 typedef uint32_t flex_uint32_t;
56 #else
57 typedef signed char flex_int8_t;
58 typedef short int flex_int16_t;
59 typedef int flex_int32_t;
60 typedef unsigned char flex_uint8_t;
61 typedef unsigned short int flex_uint16_t;
62 typedef unsigned int flex_uint32_t;
63 
64 /* Limits of integral types. */
65 #ifndef INT8_MIN
66 #define INT8_MIN               (-128)
67 #endif
68 #ifndef INT16_MIN
69 #define INT16_MIN              (-32767-1)
70 #endif
71 #ifndef INT32_MIN
72 #define INT32_MIN              (-2147483647-1)
73 #endif
74 #ifndef INT8_MAX
75 #define INT8_MAX               (127)
76 #endif
77 #ifndef INT16_MAX
78 #define INT16_MAX              (32767)
79 #endif
80 #ifndef INT32_MAX
81 #define INT32_MAX              (2147483647)
82 #endif
83 #ifndef UINT8_MAX
84 #define UINT8_MAX              (255U)
85 #endif
86 #ifndef UINT16_MAX
87 #define UINT16_MAX             (65535U)
88 #endif
89 #ifndef UINT32_MAX
90 #define UINT32_MAX             (4294967295U)
91 #endif
92 
93 #ifndef SIZE_MAX
94 #define SIZE_MAX               (~(size_t)0)
95 #endif
96 
97 #endif /* ! C99 */
98 
99 #endif /* ! FLEXINT_H */
100 
101 /* begin standard C++ headers. */
102 
103 /* TODO: this is always defined, so inline it */
104 #define yyconst const
105 
106 #if defined(__GNUC__) && __GNUC__ >= 3
107 #define yynoreturn __attribute__((__noreturn__))
108 #else
109 #define yynoreturn
110 #endif
111 
112 /* Returned upon end-of-file. */
113 #define YY_NULL 0
114 
115 /* Promotes a possibly negative, possibly signed char to an
116  *   integer in range [0..255] for use as an array index.
117  */
118 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
119 
120 /* Enter a start condition.  This macro really ought to take a parameter,
121  * but we do it the disgusting crufty way forced on us by the ()-less
122  * definition of BEGIN.
123  */
124 #define BEGIN (yy_start) = 1 + 2 *
125 /* Translate the current start state into a value that can be later handed
126  * to BEGIN to return to the state.  The YYSTATE alias is for lex
127  * compatibility.
128  */
129 #define YY_START (((yy_start) - 1) / 2)
130 #define YYSTATE YY_START
131 /* Action number for EOF rule of a given start state. */
132 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
133 /* Special action meaning "start processing a new file". */
134 #define YY_NEW_FILE yyrestart( yyin  )
135 #define YY_END_OF_BUFFER_CHAR 0
136 
137 /* Size of default input buffer. */
138 #ifndef YY_BUF_SIZE
139 #ifdef __ia64__
140 /* On IA-64, the buffer size is 16k, not 8k.
141  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
142  * Ditto for the __ia64__ case accordingly.
143  */
144 #define YY_BUF_SIZE 32768
145 #else
146 #define YY_BUF_SIZE 16384
147 #endif /* __ia64__ */
148 #endif
149 
150 /* The state buf must be large enough to hold one state per character in the main buffer.
151  */
152 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
153 
154 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
155 #define YY_TYPEDEF_YY_BUFFER_STATE
156 typedef struct yy_buffer_state *YY_BUFFER_STATE;
157 #endif
158 
159 #ifndef YY_TYPEDEF_YY_SIZE_T
160 #define YY_TYPEDEF_YY_SIZE_T
161 typedef size_t yy_size_t;
162 #endif
163 
164 extern int yyleng;
165 
166 extern FILE *yyin, *yyout;
167 
168 #define EOB_ACT_CONTINUE_SCAN 0
169 #define EOB_ACT_END_OF_FILE 1
170 #define EOB_ACT_LAST_MATCH 2
171 
172     #define YY_LESS_LINENO(n)
173     #define YY_LINENO_REWIND_TO(ptr)
174 
175 /* Return all but the first "n" matched characters back to the input stream. */
176 #define yyless(n) \
177 	do \
178 		{ \
179 		/* Undo effects of setting up yytext. */ \
180         int yyless_macro_arg = (n); \
181         YY_LESS_LINENO(yyless_macro_arg);\
182 		*yy_cp = (yy_hold_char); \
183 		YY_RESTORE_YY_MORE_OFFSET \
184 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
185 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
186 		} \
187 	while ( 0 )
188 #define unput(c) yyunput( c, (yytext_ptr)  )
189 
190 #ifndef YY_STRUCT_YY_BUFFER_STATE
191 #define YY_STRUCT_YY_BUFFER_STATE
192 struct yy_buffer_state
193 	{
194 	FILE *yy_input_file;
195 
196 	char *yy_ch_buf;		/* input buffer */
197 	char *yy_buf_pos;		/* current position in input buffer */
198 
199 	/* Size of input buffer in bytes, not including room for EOB
200 	 * characters.
201 	 */
202 	int yy_buf_size;
203 
204 	/* Number of characters read into yy_ch_buf, not including EOB
205 	 * characters.
206 	 */
207 	int yy_n_chars;
208 
209 	/* Whether we "own" the buffer - i.e., we know we created it,
210 	 * and can realloc() it to grow it, and should free() it to
211 	 * delete it.
212 	 */
213 	int yy_is_our_buffer;
214 
215 	/* Whether this is an "interactive" input source; if so, and
216 	 * if we're using stdio for input, then we want to use getc()
217 	 * instead of fread(), to make sure we stop fetching input after
218 	 * each newline.
219 	 */
220 	int yy_is_interactive;
221 
222 	/* Whether we're considered to be at the beginning of a line.
223 	 * If so, '^' rules will be active on the next match, otherwise
224 	 * not.
225 	 */
226 	int yy_at_bol;
227 
228     int yy_bs_lineno; /**< The line count. */
229     int yy_bs_column; /**< The column count. */
230 
231 	/* Whether to try to fill the input buffer when we reach the
232 	 * end of it.
233 	 */
234 	int yy_fill_buffer;
235 
236 	int yy_buffer_status;
237 
238 #define YY_BUFFER_NEW 0
239 #define YY_BUFFER_NORMAL 1
240 	/* When an EOF's been seen but there's still some text to process
241 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
242 	 * shouldn't try reading from the input source any more.  We might
243 	 * still have a bunch of tokens to match, though, because of
244 	 * possible backing-up.
245 	 *
246 	 * When we actually see the EOF, we change the status to "new"
247 	 * (via yyrestart()), so that the user can continue scanning by
248 	 * just pointing yyin at a new input file.
249 	 */
250 #define YY_BUFFER_EOF_PENDING 2
251 
252 	};
253 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
254 
255 /* Stack of input buffers. */
256 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
257 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
258 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
259 
260 /* We provide macros for accessing buffer states in case in the
261  * future we want to put the buffer states in a more general
262  * "scanner state".
263  *
264  * Returns the top of the stack, or NULL.
265  */
266 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
267                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
268                           : NULL)
269 #define yy_current_buffer YY_CURRENT_BUFFER
270 /* Same as previous macro, but useful when we know that the buffer stack is not
271  * NULL or when we need an lvalue. For internal use only.
272  */
273 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
274 
275 /* yy_hold_char holds the character lost when yytext is formed. */
276 static char yy_hold_char;
277 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
278 int yyleng;
279 
280 /* Points to current character in buffer. */
281 static char *yy_c_buf_p = NULL;
282 static int yy_init = 0;		/* whether we need to initialize */
283 static int yy_start = 0;	/* start state number */
284 
285 /* Flag which is used to allow yywrap()'s to do buffer switches
286  * instead of setting up a fresh yyin.  A bit of a hack ...
287  */
288 static int yy_did_buffer_switch_on_eof;
289 
290 void yyrestart ( FILE *input_file  );
291 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
292 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
293 void yy_delete_buffer ( YY_BUFFER_STATE b  );
294 void yy_flush_buffer ( YY_BUFFER_STATE b  );
295 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
296 void yypop_buffer_state ( void );
297 
298 static void yyensure_buffer_stack ( void );
299 static void yy_load_buffer_state ( void );
300 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
301 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
302 
303 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
304 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
305 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
306 
307 void *yyalloc ( yy_size_t  );
308 void *yyrealloc ( void *, yy_size_t  );
309 void yyfree ( void *  );
310 
311 #define yy_new_buffer yy_create_buffer
312 #define yy_set_interactive(is_interactive) \
313 	{ \
314 	if ( ! YY_CURRENT_BUFFER ){ \
315         yyensure_buffer_stack (); \
316 		YY_CURRENT_BUFFER_LVALUE =    \
317             yy_create_buffer( yyin, YY_BUF_SIZE ); \
318 	} \
319 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
320 	}
321 #define yy_set_bol(at_bol) \
322 	{ \
323 	if ( ! YY_CURRENT_BUFFER ){\
324         yyensure_buffer_stack (); \
325 		YY_CURRENT_BUFFER_LVALUE =    \
326             yy_create_buffer( yyin, YY_BUF_SIZE ); \
327 	} \
328 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
329 	}
330 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
331 
332 /* Begin user sect3 */
333 typedef flex_uint8_t YY_CHAR;
334 
335 FILE *yyin = NULL, *yyout = NULL;
336 
337 typedef int yy_state_type;
338 
339 extern int yylineno;
340 int yylineno = 1;
341 
342 extern char *yytext;
343 #ifdef yytext_ptr
344 #undef yytext_ptr
345 #endif
346 #define yytext_ptr yytext
347 
348 static yy_state_type yy_get_previous_state ( void );
349 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
350 static int yy_get_next_buffer ( void );
351 static void yynoreturn yy_fatal_error ( const char* msg  ) __dead2;
352 
353 /* Done after the current pattern has been matched and before the
354  * corresponding action - sets up yytext.
355  */
356 #define YY_DO_BEFORE_ACTION \
357 	(yytext_ptr) = yy_bp; \
358 	yyleng = (int) (yy_cp - yy_bp); \
359 	(yy_hold_char) = *yy_cp; \
360 	*yy_cp = '\0'; \
361 	(yy_c_buf_p) = yy_cp;
362 #define YY_NUM_RULES 253
363 #define YY_END_OF_BUFFER 254
364 /* This struct is not used in this scanner,
365    but its presence is necessary. */
366 struct yy_trans_info
367 	{
368 	flex_int32_t yy_verify;
369 	flex_int32_t yy_nxt;
370 	};
371 static const flex_int16_t yy_accept[1114] =
372     {   0,
373         0,    0,    0,    0,    0,    0,  246,  246,   40,   40,
374         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
375         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
376       239,  239,    0,    0,    0,    0,    0,    0,    0,    0,
377         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
378       250,  250,  239,  239,  254,  252,    9,   20,  252,   18,
379         1,   19,  252,  252,  252,  252,   17,  163,  148,  149,
380       163,  141,  163,  160,  161,  162,  162,  163,  163,  163,
381       162,  147,  137,  163,  163,  139,  140,  135,  136,  135,
382       134,  133,  134,  246,  247,  247,   40,   42,   40,   41,
383 
384        40,   40,   41,   41,   41,   50,   49,   51,  252,  169,
385       169,  164,  169,  165,  166,  168,  170,  218,  219,  218,
386       216,  215,  217,  171,  173,  171,  172,  171,  185,  185,
387       185,  185,  187,  189,  187,  187,  187,  187,  188,  228,
388       233,  228,  232,  231,  234,  229,  229,  229,  234,  234,
389       226,  227,  252,  130,  252,   21,   23,   21,   22,   22,
390        22,  235,  241,  235,  236,  242,  242,  242,  224,  224,
391       225,  224,  224,  224,  224,  224,  224,  224,  129,   53,
392        52,  129,  129,  129,  129,   54,  129,  129,  129,  129,
393       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
394 
395       129,  129,  129,  129,  129,  129,  129,   36,   33,   36,
396        34,   48,   45,  252,   48,   48,   44,   43,  175,  174,
397       176,  177,  178,  179,  180,  181,  182,   31,   32,   31,
398        30,   28,   29,   28,   27,   22,  250,  251,  251,  237,
399       237,  238,    9,   20,    0,   18,    1,   19,    0,    0,
400         0,   16,   10,    0,    0,    0,    0,    4,   16,    5,
401         0,    2,   17,  148,  149,    0,    0,    0,  143,    0,
402       159,  157,    0,  153,  153,    0,  243,  243,  243,    0,
403         0,  142,    0,  147,  137,    0,    0,    0,  139,  140,
404       152,  138,    0,  136,  134,  133,  131,  132,  246,  244,
405 
406       245,   40,   42,   40,   40,   37,   38,    0,   50,   49,
407        51,    0,  164,    0,  164,  167,  168,  219,  215,  173,
408         0,  183,  184,  189,  186,  228,  233,    0,    0,  221,
409       229,  229,  229,    0,  130,    0,   21,   23,   24,  235,
410       241,  240,  239,  240,    0,    0,  225,  220,    0,    0,
411        53,   52,    0,  128,    0,    0,  129,  129,  129,  129,
412       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
413       129,  129,  129,  129,  129,  129,   55,  129,  129,  129,
414       129,  129,  129,  129,  129,  129,  129,  129,    0,   35,
415        34,   48,   45,   46,   47,   31,   32,   29,   26,   25,
416 
417       250,  248,  249,  237,    0,   16,   10,    0,   14,    0,
418         0,    0,    0,    0,    4,   16,    5,    0,    6,    0,
419       144,    0,  145,    0,  158,    0,  153,  153,    0,  153,
420       153,  153,  243,  243,  155,  154,    0,  156,  138,  146,
421         0,  152,    0,  131,  132,   40,   40,    0,   39,    0,
422         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
423         0,    0,  230,  229,  229,    0,    0,  220,    0,    0,
424         0,    0,  129,  129,  129,  129,  129,  129,   65,  129,
425       129,  129,   70,  129,  129,  129,  129,  129,  129,  129,
426       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
427 
428       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
429       129,  129,  129,  129,  129,  129,  129,  129,    0,    0,
430         0,    0,   14,    0,    0,    0,    0,    0,    0,    4,
431         8,    5,    0,  153,  153,  153,  153,  153,  153,  153,
432       243,  156,    0,    0,   40,   40,    0,    0,    0,    0,
433         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
434         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
435         0,    0,   56,   57,  129,  129,  129,  129,  129,  129,
436       129,  129,  129,  129,   71,   72,  129,  129,  129,  129,
437        77,   78,  129,  129,  129,  129,  129,  129,  129,   83,
438 
439       129,  129,  129,  129,  129,  129,  129,  129,  129,   92,
440       129,  129,  129,  129,  129,  129,  129,  129,  129,    0,
441         0,    0,    0,   15,    0,    0,    0,    0,    0,    8,
442         8,    8,    0,  153,  153,  153,  153,  153,  153,  153,
443         0,    0,   40,   40,  214,    0,    0,    0,    0,    0,
444         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
445         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
446         0,    0,   58,  129,   60,  129,   62,  129,  129,  129,
447       129,   68,  129,  129,  129,   73,  129,  129,  129,  129,
448       129,  129,  129,  129,  129,  129,  129,   86,  129,  129,
449 
450       129,  129,   90,  129,  129,  129,  129,  129,  129,  129,
451       129,  129,  129,    0,    0,    0,    0,    3,    0,    0,
452         0,    8,    7,    8,    0,  153,  153,  153,    0,    0,
453        40,   40,    0,    0,    0,    0,    0,    0,    0,    0,
454         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
455         0,    0,    0,    0,    0,    0,  222,  223,  222,  223,
456       129,   61,  129,  129,  129,  129,  129,  129,  129,  125,
457       129,  129,  129,  129,  129,  129,  129,  129,  123,  129,
458        85,  129,   88,  129,   89,  129,  129,  129,  104,    0,
459       129,   94,  129,    0,   95,    0,    0,    0,    0,    0,
460 
461        12,    0,   13,    0,  151,    0,  150,    0,    0,    0,
462         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
463         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
464         0,  129,  129,  129,  129,  129,   66,  129,   69,  129,
465       129,  129,  129,  129,  129,  122,  129,   82,  129,  129,
466        87,  129,   91,  102,  124,    0,    0,    0,    0,    0,
467         0,  129,  129,    0,    0,    0,    0,    0,    0,    0,
468         0,    0,    0,  150,    0,    0,    0,    0,    0,    0,
469         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
470         0,    0,    0,    0,    0,    0,    0,    0,  129,  129,
471 
472       129,  129,  129,   67,  129,  129,  129,  129,   79,  129,
473       129,  129,  129,  129,  129,    0,    0,  113,    0,    0,
474         0,    0,    0,    0,   93,  129,    0,    0,  114,    0,
475         0,    0,    0,    0,    0,    0,    0,    0,   11,    0,
476       190,  191,  192,  193,  194,  195,  196,  197,  198,  199,
477       200,    0,    0,    0,    0,    0,    0,    0,    0,    0,
478         0,    0,    0,    0,  129,  129,  129,  129,  129,  129,
479       129,  129,  129,  129,  129,  129,   84,  129,  129,    0,
480         0,    0,    0,    0,    0,  115,    0,  103,    0,    0,
481         0,    0,    0,  116,    0,    0,    0,    0,    0,  201,
482 
483       202,  203,  204,  205,  206,  207,  208,  209,  210,  211,
484       212,    0,  129,  129,  129,  129,  129,  121,  129,  129,
485        75,  129,  129,  129,  129,  129,    0,    0,  109,    0,
486       119,  117,  110,    0,    0,    0,  120,  118,    0,    0,
487         0,    0,    0,    0,  213,  129,  129,  129,  129,  129,
488       125,   74,  129,   81,  129,  126,  129,  105,  107,    0,
489       106,  108,    0,    0,    0,    0,    0,    0,    0,  129,
490        63,  129,  129,  129,  129,   76,  129,  111,  112,   97,
491         0,    0,    0,    0,   98,  129,  129,  129,  129,  129,
492       127,   96,    0,  100,    0,  129,  129,  129,   66,  129,
493 
494        99,  101,  129,   64,  129,  129,  129,   67,  129,  129,
495        80,   59,    0
496     } ;
497 
498 static const YY_CHAR yy_ec[256] =
499     {   0,
500         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
501         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
502         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
503         1,    2,    1,    6,    7,    8,    9,    1,   10,   11,
504        12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
505        19,   19,   19,   19,   20,   21,   22,   23,    1,   24,
506        25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
507        34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
508        44,   45,   46,   47,   48,   49,   50,   51,   52,   44,
509        53,   54,   55,   56,   57,    1,   58,   59,   60,   61,
510 
511        62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
512        72,   73,   44,   74,   75,   76,   77,   78,   79,   80,
513        81,   44,   82,   83,   84,    1,    1,    1,    1,    1,
514         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
516         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
517         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
518         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
519         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
520         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
521 
522         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
523         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
525         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
526         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
527         1,    1,    1,    1,    1
528     } ;
529 
530 static const YY_CHAR yy_meta[85] =
531     {   0,
532         1,    1,    2,    1,    3,    4,    1,    1,    5,    6,
533         1,    7,    8,    9,    1,   10,    1,   11,   12,   12,
534        12,   12,   13,    1,    1,    1,    1,   14,   14,   14,
535        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
536        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
537        15,   15,   16,   17,   18,    1,   19,   14,   14,   14,
538        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
539        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
540        15,   20,    1,   21
541     } ;
542 
543 static const flex_int16_t yy_base[1221] =
544     {   0,
545         0,   84,  167,  250,  171,  184,  135,  142,  220,  231,
546       196,  200,  334,    0, 3627, 3625,  211,  416,  203,  212,
547       189,  225,  266,  417,  500,    0,  207,  208,  234,  421,
548       424,  436,  583,  588,  669,    0,  294,  304,  584,  751,
549       579,  580,  417,  576,  287,  306,  241,  441,  595,  608,
550       169,  238,  440,  754, 3680, 4511,  325, 4511, 3676,    0,
551       446, 4511, 3673,  430,  827, 3661,    0, 4511,  758, 4511,
552      3650, 4511,  453, 3621, 4511, 4511, 3619, 3584,  129,  746,
553       445,  766, 4511, 3604,  198, 3582, 4511, 4511, 4511, 3600,
554         0, 3599,  214,    0, 3506, 3483,    0, 4511, 3532, 4511,
555 
556       420,  119, 3481, 3478, 3446,    0, 3526, 4511, 3520, 4511,
557       482, 3520, 3518, 4511, 3455,    0, 4511, 4511, 4511, 3504,
558      4511,  598, 4511, 4511, 4511, 3499, 4511,  754, 4511, 3477,
559       759,  180, 4511, 4511, 3467,    0, 3442,  762, 4511,    0,
560      4511, 3459, 4511, 3406, 3434,    0,  562,  167, 3393, 3370,
561      4511, 4511,  326, 4511,  420,    0, 4511, 3418, 3402, 3366,
562      3342,    0, 4511, 3368, 4511, 3317,  444, 3314, 4511,  471,
563      4511, 3354, 3271, 3337,  572,  189, 3295, 3285, 4511, 3332,
564      4511, 3307, 3303,  585,  594, 4511,  746,  734,  744,  754,
565       763,  770,    0,  755,  748,  763,  818,  789,  240,  822,
566 
567       762,  381,  802,  791,  813,  824,  577, 4511, 4511, 3302,
568       871,    0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
569      4511, 4511, 4511, 4511, 4511, 4511, 4511,    0, 4511, 3279,
570      4511, 4511, 4511, 3276, 3260, 3259,    0, 3221, 3214,    0,
571      3264, 4511,  835, 4511, 3262,    0,  903, 4511, 3257,  842,
572       817,    0,    0,  910,  914,  918,  922,    0,  814,    0,
573       457, 4511,    0,  943, 4511, 3241, 3141,  483, 4511, 3217,
574      3212, 4511,  826,  556,  903,  930, 4511,  757,    0, 3134,
575      3131, 4511, 3129,  964, 4511, 3190, 3110, 3174, 3161, 4511,
576         0, 4511,  896, 4511,    0, 3172,    0,    0,    0, 4511,
577 
578      4511,    0, 4511,  910,  913, 4511, 4511,  602,    0, 3169,
579      4511,  957, 3164, 3161, 3127, 4511,    0, 4511,  976, 4511,
580      1020, 4511, 4511, 4511, 4511,    0, 4511, 3116,    0, 4511,
581         0,  926,  930,  644, 4511,  662,    0, 4511, 4511,    0,
582      4511, 4511, 3071, 3121,  794, 3037, 4511,    0,  934,  932,
583      3117, 4511, 3091, 4511,  938,  939,    0,  940,  738,  956,
584       802, 3059,  876,  978,  933,  933,  939,  948,  964, 1030,
585       938,  958,  976,  968,    0,  996, 4511,  999, 1057, 1068,
586       981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
587      1014,    0, 4511, 4511, 4511,    0, 4511, 4511, 4511, 4511,
588 
589         0, 4511, 4511,    0, 1078,    0,    0, 1153, 4511, 3063,
590      1166, 1077, 1076, 1091,    0, 1089,    0, 1018, 4511, 1022,
591      4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
592      1177, 1308, 1105,    0, 4511, 4511, 2954, 1198, 4511, 4511,
593      1144,    0, 1137,    0,    0, 1161, 1156, 1123, 4511, 1202,
594      1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
595      1323, 1382, 4511, 1172, 1166, 2589, 2537,    0, 1178, 1169,
596      1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323,    0, 1341,
597      1332, 1348,    0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
598      1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
599 
600      1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
601      1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
602      1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451,    0,
603      1143,    0, 1461, 1534, 1600, 1636,  204, 2525, 1606, 1681,
604      4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
605      1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
606      1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
607      1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
608      1731, 1711, 1702, 1718,    0,    0, 1719, 1706, 1716, 1735,
609         0,    0, 2553, 1722, 1732, 2540, 1725, 1722, 1733,    0,
610 
611      1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746,    0,
612      1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
613      1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780,    0,
614      1507, 1234, 2364,  732, 2273, 1809, 1845, 1430, 1076, 1585,
615      1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
616      1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
617      1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
618      1882, 1899,    0, 1887,    0, 1892,    0, 2260, 1900, 1891,
619      1909,    0, 1904, 2253, 1902,    0, 1916, 1907, 1918, 2227,
620      1912, 1909, 1924, 2201, 1908, 1918, 1922,    0, 1934, 1925,
621 
622      1931, 1947,    0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
623      1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
624      1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
625         0,    0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
626      2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
627      2037, 2035, 2045, 2051, 2054, 2061,    0,    0, 4511, 4511,
628      1922,    0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
629      2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085,    0, 2091,
630         0, 2074,    0, 1824,    0, 2091, 2094, 2082,    0, 2116,
631      2088,    0, 2092, 2133,    0, 1728, 2097, 2095, 1714, 1678,
632 
633      4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
634      1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
635      2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
636      2164, 2157, 2151, 2159, 2158, 2173,    0, 2165,    0, 2166,
637      2182, 2173, 2179, 2178, 2186,    0, 2185,    0, 2187, 2193,
638         0, 2202,    0,    0,    0, 2204, 2187, 2201, 2224, 2200,
639      2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
640      1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057,  984,
641       976,  969,  923,  913,  910,  931,  895,  891,  887,  881,
642       874,  856,  848,  843,  840,  804,  788, 2259, 2248, 2258,
643 
644      2265, 2264, 2241,    0, 2254, 2265, 2268, 2279,    0, 2262,
645      2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
646      2281, 2300, 2283, 2281,    0, 2303, 2307, 2292, 4511, 2302,
647      2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
648      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
649      4511,  746,  725,  597,  577,  441,  426,  420,  267,  253,
650       247,  230,  183,  181, 2317, 2338, 2342, 2330, 2336, 2343,
651      2339, 2331, 2334, 2350, 2341, 2345,    0, 2350, 2346, 2344,
652      2349, 2361, 2364, 2367, 2359, 4511, 2357,    0, 2358, 2362,
653      2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
654 
655      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
656      4511,  122, 2399, 2398, 2382, 2391, 2391,    0, 2407, 2408,
657         0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
658      4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
659      2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
660         0,    0, 2461,    0, 2444,    0, 2459, 4511, 4511, 2452,
661      4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
662         0, 2468, 2465, 2465, 2485,    0, 2465, 4511, 4511, 4511,
663      2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
664         0, 4511, 2497, 4511, 2510, 2500, 2502, 2500,    0, 2514,
665 
666      4511, 4511, 2516,    0, 2523, 2508, 2509,    0, 2528, 2531,
667         0,    0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
668      2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
669      2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
670      3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
671      3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
672      3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
673      3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
674      3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
675      3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
676 
677      4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
678      4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
679     } ;
680 
681 static const flex_int16_t yy_def[1221] =
682     {   0,
683      1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
684      1119, 1119, 1113,   13, 1120, 1120, 1121, 1121, 1122, 1122,
685      1123, 1123, 1124, 1124, 1113,   25, 1125, 1125, 1126, 1126,
686      1127, 1127, 1128, 1128, 1113,   35, 1129, 1129, 1130, 1130,
687      1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
688      1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
689      1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
690      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
691      1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
692      1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
693 
694      1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
695      1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
696      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
697      1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
698      1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
699      1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
700      1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
701      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
702      1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
703      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
704 
705      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
706      1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
707      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
708      1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
709      1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
710      1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
711      1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
712      1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
713      1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
714      1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
715 
716      1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
717      1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
718      1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
719      1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
720      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
721      1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
722      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
723      1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
724      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
725      1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
726 
727      1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
728      1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
729      1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
730      1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
731      1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
732      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
733      1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
734      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
735      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
736      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
737 
738      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
739      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
740      1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
741      1218, 1202, 1113, 1113, 1205,  432,  430,  430, 1205,  432,
742      1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
743      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
744      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
745      1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
746      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
747      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
748 
749      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
750      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
751      1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
752      1218, 1218, 1113,  534,  534, 1205,  432, 1205, 1205, 1205,
753      1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
754      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
755      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
756      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
757      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
758      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759 
760      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
761      1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
762      1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
763      1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
764      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765      1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
766      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
767      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
768      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
769      1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
770 
771      1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
772      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
773      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
774      1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
775      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
776      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
777      1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
778      1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779      1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
780      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
781 
782      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
783      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
784      1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
785      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
786      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
787      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788      1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
789      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
790      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
791      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
792 
793      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
794      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
795      1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
796      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
797      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
798      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
799      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
800      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
801      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
802      1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
803 
804      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
805      1217, 1217,    0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
806      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
808      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
809      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
810      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
811      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
812      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
813      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
814 
815      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
816      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
817     } ;
818 
819 static const flex_int16_t yy_nxt[4596] =
820     {   0,
821        56,   57,   58,   56,   59,   56,   56,   56,   56,   56,
822        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
823        56,   56,   56,   56,   56,   56,   56,   60,   60,   60,
824        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
825        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
826        60,   60,   56,   56,   56,   56,   60,   60,   60,   60,
827        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
828        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
829        60,   56,   56,   56,   56,   61,   62,   56,   63,   56,
830        64,   56,   65,   56,   56,   56,   56,   56,   56,   56,
831 
832        56,   66,   56,   56,   56,   56,   56,   56,   56,   56,
833        56,   67,   67,   67,   67,   67,   67,   67,   67,   67,
834        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
835        67,   67,   67,   67,   67,   67,   56,   56,   56,   56,
836        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
837        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
838        67,   67,   67,   67,   67,   56,   56,   56,   69,   70,
839       305,   71,   72,   89,   73,   90, 1045,   74,   75,   76,
840        76,  275,  276,   76,   77,   92,   89,   95,   90,   96,
841        78,   56,   93,   76,   95,  323,   96,  107,  108,  305,
842 
843       109,  107,  108, 1012,  109,  125,  291,  126,  127,  154,
844       154,  155,  155,  119,  125,  120,  126,  127,  333,   79,
845        80,  238,   98,  239,   99,  121,  638,   56,  100,  122,
846       122,  122,  122,   98,  323,   99,  157, 1011,  158,  105,
847       350,  130,  131,  233,  132,  234,  159,  333,   81,   76,
848        76,   82,   83,  235,   84,   72,  128,   73,   85,  427,
849        74,   75,   76,   76,  101,  128,   76,   77,  134,  350,
850       135,  102,  103,   86,  104,  101,   76,  130,  131,  292,
851       132,  136,  102,  103, 1010,  104,  160,  378,  161,  229,
852       238,  230,  239,  101,  123,  297,  209,  298,  231,  210,
853 
854       102, 1009,   79,   80,  101,   87,  209, 1008,  229,  210,
855       230,  102,  211,  211,  211,  211,  378,  231,  137,  138,
856       139, 1007,  211,  211,  211,  211,  243,  244,  335,  245,
857       336,   81,   76,   76,  110,  111,  112,  110,  113,  110,
858       110,  110,  110,  110,  110,  110,  114,  110,  114,  110,
859       110,  110,  110,  110,  110,  110,  110,  110,  110,  115,
860       110,  116,  116,  116,  116,  116,  116,  116,  116,  116,
861       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
862       116,  116,  116,  116,  116,  116,  110,  110,  110,  110,
863       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
864 
865       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
866       116,  116,  116,  116,  116,  110,  110,  110,  119,  134,
867       120,  135,  335,  157,  336,  158,  163,  383,  164,  165,
868       121,  250,  136,  159,  122,  122,  122,  122,  163,  224,
869       164,  165,  163,  233,  241,  234,  343,  247,  248,  242,
870       249,  304,  225,  235,  269,  269,  383,  270,  280,  419,
871       281,  420,  226,  282,  282,  282,  282,  227,  251,  137,
872       138,  139,  345,  160, 1006,  161,  166,  167,  168,  346,
873      1005,  304,  225,  312,  313,  423,  314,  424,  166,  167,
874       168,  226,  166,  167,  168, 1004,  227,  344,  251,  123,
875 
876       140,  140,  141,  140,  142,  143,  140,  140,  140,  144,
877       140,  140,  140,  140,  140,  140,  140,  145,  140,  140,
878       140,  140,  140,  140,  140,  140,  140,  146,  146,  146,
879       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
880       146,  146,  146,  146,  147,  146,  146,  146,  146,  146,
881       146,  148,  149,  140,  150,  140,  146,  146,  146,  146,
882       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
883       146,  146,  146,  147,  146,  146,  146,  146,  146,  146,
884       148,  151,  140,  152,  170,  171,  213,  172,  214,  170,
885       171,  173,  172,  332,  219,  219,  173,  157,  224,  158,
886 
887       174,  220,  220,  349,  449,  174,  450,  236,  428,  429,
888       157,  225,  158,  355,  221,  221,  319,  319,  319,  319,
889       236,  226,  356,  332,  222,  222,  227,  175,  388,  223,
890       223, 1003,  175,  349,  176,  177,  215,  178,  216,  176,
891       177,  225,  178,  355,  221,  221,  335,  160,  336,  161,
892       226, 1002,  356,  222,  222,  227,  175,  388,  223,  223,
893       160,  175,  161,  176,  335,  217,  336,  218,  176,  179,
894       180,  181,  179,  182,  183,  179,  179,  179,  179,  179,
895       179,  179,  179,  179,  179,  179,  179,  179,  184,  185,
896       179,  179,  179,  186,  179,  179,  187,  188,  189,  190,
897 
898       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
899       199,  200,  193,  201,  202,  203,  204,  205,  206,  193,
900       207,  179,  179,  179,  179,  179,  187,  188,  189,  190,
901       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
902       199,  200,  201,  202,  203,  204,  205,  206,  193,  207,
903       179,  179,  179,  213,  726,  214,  163,  362,  241,  264,
904       265,  360,  266,  242,  278,  278,  267,  284,  285,  361,
905       286,  363,  278,  278,  287,  433,  433,  278,  278, 1001,
906       278,  278,  475,  288,  358,  364,  369,  427,  370,  289,
907       359,  360,  365,  382,  371,  345,  279,  367,  372,  361,
908 
909      1000,  363,  346,  215,  279,  216,  166,  167,  168,  279,
910       963,  475,  279,  366,  358,  364,  369,  368,  370,  359,
911       376,  290,  365,  382,  371,  279,  962,  367,  372,  384,
912       377,  385,  217,  279,  218,  253,  243,  244,  279,  245,
913       268,  279,  366,  250,  386,  373,  368,  478,  268,  374,
914       376,  387,  405,  379,  254,  416,  255,  426,  255,  384,
915       377,  385,  961,  380,  255,  960,  381,  255,  256,  257,
916       959,  255,  258,  259,  386,  373,  478,  260,  958,  374,
917       251,  387,  405,  379,  254,  416,  255,  426,  255,  391,
918       391,  391,  391,  380,  255,  381,  957,  255,  256,  257,
919 
920       255,  258,  259,  956,  247,  248,  260,  249,  261,  955,
921       251,  408,  409,  954,  410,  408,  409,  953,  410,  408,
922       409,  480,  410,  408,  409,  430,  410,  443,  411,  411,
923       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
924       411,  411,  411,  411,  264,  265,  446,  266,  431,  431,
925       480,  267,  447,  952,  412,  428,  429,  443,  312,  313,
926       413,  314,  464,  414,  951,  284,  285,  950,  286,  465,
927       469,  470,  287,  471,  472,  473,  446,  949,  483,  484,
928       432,  288,  447,  412,  485,  476,  486,  289,  490,  474,
929       413,  487,  464,  414,  319,  319,  319,  319,  491,  465,
930 
931       469,  470,  477,  471,  472,  473,  481,  483,  484,  432,
932       482,  492,  499,  485,  493,  476,  486,  490,  474,  290,
933       419,  487,  420,  948,  419,  268,  420,  423,  491,  424,
934       947,  477,  391,  391,  391,  391,  481,  423,  946,  424,
935       482,  492,  499,  493,  494,  495,  268,  451,  452,  453,
936       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
937       455,  455,  458,  455,  455,  459,  455,  460,  455,  455,
938       461,  455,  488,  494,  495,  462,  489,  451,  452,  453,
939       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
940       455,  455,  458,  455,  459,  455,  460,  455,  455,  461,
941 
942       455,  496,  488,  497,  503,  489,  500,  504,  505,  506,
943       501,  945,  508,  498,  509,  502,  507,  944,  520,  428,
944       429,  527,  528,  277,  277,  449,  529,  450,  428,  429,
945       496,  531,  533,  497,  503,  943,  500,  504,  505,  506,
946       501,  508,  498,  509,  631,  502,  507,  510,  520,  511,
947       527,  528,  512,  513,  522,  523,  529,  524,  514,  515,
948       534,  531,  533,  942,  516,  517,  941,  526,  409,  518,
949       410,  525,  525,  525,  525,  543,  519,  510,  544,  511,
950       535,  535,  512,  513,  411,  411,  411,  411,  514,  515,
951       428,  429,  545,  516,  517,  539,  539,  546,  518,  542,
952 
953       542,  542,  542,  569,  449,  543,  450,  570,  544,  571,
954       572,  624,  536,  625,  936,  573,  427,  523,  935,  625,
955       526,  409,  545,  410,  632,  885,  624,  546,  625,  428,
956       429,  626,  523,  569,  524,  722,  723,  570,  724,  571,
957       572,  536,  427,  427,  573,  427,  427,  427,  427,  427,
958       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
959       427,  427,  427,  427,  427,  427,  427,  427,  427,  537,
960       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
961       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
962       537,  537,  537,  537,  428,  429,  884,  538,  427,  537,
963 
964       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
965       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
966       537,  537,  537,  427,  427,  427,  540,  540,  540,  540,
967       547,  547,  547,  547,  547,  540,  540,  540,  540,  540,
968       540,  547,  547,  547,  574,  547,  548,  549,  575,  547,
969       550,  576,  553,  558,  551,  883,  552,  577,  578,  579,
970       428,  429,  556,  557,  580,  540,  540,  540,  540,  540,
971       540,  554,  581,  574,  555,  583,  548,  549,  575,  582,
972       550,  576,  553,  558,  551,  552,  586,  577,  578,  579,
973       584,  587,  556,  557,  580,  882,  585,  588,  589,  881,
974 
975       554,  591,  581,  555, 1113,  583,  592,  593,  582,  559,
976       560,  561,  562,  594,  595,  563,  586,  596,  597,  584,
977       564,  587,  598,  599,  565,  585,  588,  566,  589,  567,
978       600,  591,  568,  601,  602,  603,  592,  593,  606,  559,
979       560,  561,  562,  594,  595,  563,  607,  596,  597,  604,
980       564,  608,  598,  599,  565,  605,  566,  609,  567,  610,
981       600,  568,  611,  601,  602,  603,  612,  614,  606,  613,
982       615,  616,  617,  618,  620,  607,  619,  621,  622,  604,
983       608,  623,  428,  429,  274,  605,  644,  609,  627,  610,
984       628,  629,  611,  633,  641,  642,  612,  614,  613,  880,
985 
986       615,  616,  617,  618,  620,  619,  621,  622,  631,  522,
987       523,  623,  524,  626,  523,  644,  524,  801,  627,  802,
988       628,  629,  879,  633,  641,  642,  525,  525,  525,  525,
989       525,  525,  525,  525,  427,  427,  878,  427,  427,  427,
990       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
991       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
992       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
993       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
994       634,  634,  634,  634,  634,  634,  428,  429,  632,  635,
995       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
996 
997       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
998       634,  634,  634,  634,  634,  427,  427,  427,  636,  636,
999       643,  547,  547,  877,  639,  639,  547,  547,  547,  547,
1000       547,  648,  651,  547,  876,  547,  547,  428,  429,  646,
1001       650,  647,  547,  653,  428,  429,  649,  655,  656,  657,
1002       643,  658,  428,  429,  637,  637,  637,  637,  428,  429,
1003       652,  648,  651,  637,  637,  637,  637,  637,  637,  646,
1004       650,  647,  547,  653,  547,  649,  547,  655,  656,  657,
1005       801,  658,  802,  547,  669,  547,  547,  661,  547,  652,
1006       654,  671,  659,  637,  637,  637,  637,  637,  637,  640,
1007 
1008       640,  640,  640,  660,  547,  662,  666,  663,  640,  640,
1009       640,  640,  640,  640,  669,  547,  547,  661,  670,  672,
1010       654,  671,  659,  673,  668,  875,  664,  674,  675,  665,
1011       676,  677,  678,  660,  662,  667,  666,  663,  640,  640,
1012       640,  640,  640,  640,  682,  684,  679,  670,  672,  683,
1013       685,  874,  686,  673,  668,  664,  674,  675,  665,  676,
1014       687,  677,  678,  680,  688,  667,  690,  691,  695,  681,
1015       872,  693,  694,  696,  682,  684,  697,  698,  683,  699,
1016       685,  686,  700,  701,  869,  702,  703,  704,  705,  687,
1017       706,  707,  709,  680,  688,  690,  708,  691,  695,  681,
1018 
1019       693,  694,  696,  710,  711,  713,  697,  698,  712,  699,
1020       714,  700,  716,  701,  702,  703,  715,  704,  705,  717,
1021       706,  707,  709,  719,  720,  708,  721,  727,  727,  729,
1022       547,  731,  710,  547,  711,  713,  547,  712,  732,  852,
1023       714,  757,  716,  547,  547,  715,  841,  547,  734,  717,
1024       738,  547,  719,  739,  720,  721,  737,  547,  733,  729,
1025       731,  428,  429,  728,  728,  728,  728,  547,  732,  735,
1026       757,  748,  728,  728,  728,  728,  728,  728,  734,  736,
1027       738,  547,  547,  739,  547,  740,  737,  733,  741,  742,
1028       547,  547,  547,  743,  428,  429,  547,  747,  547,  735,
1029 
1030       748,  744,  728,  728,  728,  728,  728,  728,  736,  745,
1031       547,  746,  547,  547,  753,  740,  547,  750,  741,  742,
1032       547,  749,  758,  743,  547,  751,  752,  747,  759,  754,
1033       760,  744,  761,  756,  762,  764,  755,  832,  766,  745,
1034       767,  746,  768,  771,  753,  765,  770,  750,  772,  773,
1035       775,  749,  758,  776,  751,  777,  752,  759,  779,  754,
1036       760,  761,  780,  756,  762,  764,  755,  766,  781,  782,
1037       767,  783,  768,  771,  765,  770,  784,  785,  772,  773,
1038       775,  786,  776,  787,  789,  777,  788,  779,  791,  792,
1039       793,  780,  795,  796,  547,  797,  798,  781,  799,  782,
1040 
1041       783,  803,  804,  722,  723,  784,  724,  785,  807,  547,
1042       786,  808,  547,  787,  789,  788,  547,  809,  791,  792,
1043       793,  547,  795,  796,  797,  811,  798,  547,  799,  547,
1044       547,  803,  804,  428,  429,  427,  810,  547,  547,  547,
1045       812,  808,  813,  547,  547,  547,  547,  809,  547,  814,
1046       806,  547,  547,  815,  817,  811,  819,  547,  821,  547,
1047       818,  816,  822,  805,  820,  824,  810,  547,  826,  812,
1048       823,  825,  813,  547,  828,  827,  547,  833,  814,  835,
1049       829,  836,  815,  547,  817,  830,  819,  834,  821,  818,
1050       816,  837,  822,  820,  831,  824,  838,  839,  826,  823,
1051 
1052       840,  825,  842,  843,  828,  827,  844,  833,  845,  835,
1053       829,  836,  846,  847,  849,  830,  848,  834,  850,  723,
1054       851,  837,  853,  854,  831,  838,  839,  855,  862,  840,
1055       863,  870,  842,  843,  718,  871,  844,  801,  845,  802,
1056       873,  794,  846,  847,  849,  848,  856,  857,  850,  851,
1057       547,  858,  853,  854,  859,  547,  855,  860,  862,  790,
1058       863,  870,  861,  864,  865,  871,  547,  887,  866,  873,
1059       547,  867,  547,  547,  868,  888,  856,  857,  547,  886,
1060       547,  858,  890,  547,  859,  547,  547,  860,  889,  547,
1061       892,  861,  899,  864,  865,  900,  891,  887,  866,  898,
1062 
1063       901,  867,  893,  902,  868,  888,  547,  894,  886,  895,
1064       904,  897,  890,  903,  906,  896,  778,  905,  889,  907,
1065       892,  908,  899,  909,  900,  891,  910,  911,  912,  898,
1066       901,  893,  902,  913,  914,  916,  894,  917,  895,  904,
1067       897,  918,  774,  903,  906,  896,  905,  923,  907,  928,
1068       915,  908,  909,  924,  925,  919,  910,  911,  912,  920,
1069       926,  927,  921,  913,  914,  916,  917,  929,  769,  933,
1070       934,  918,  922,  937,  930,  763,  923,  931,  928,  915,
1071       939,  547,  940,  924,  925,  919,  969,  932,  965,  920,
1072       926,  927,  921,  966,  967,  968,  970,  929,  933,  934,
1073 
1074       971,  922,  937,  972,  930,  964,  973,  931,  974,  975,
1075       976,  730,  977,  978,  979,  969,  932,  980,  965,  981,
1076       982,  983,  984,  966,  967,  968,  970,  985,  427,  986,
1077       971,  987,  988,  972,  964,  989,  973,  974,  990,  975,
1078       976,  977,  991,  978,  979,  992,  993,  980,  981,  994,
1079       982,  983,  984,  995,  996,  999,  997,  985,  986,  939,
1080       987,  940,  988, 1013,  939,  989,  940,  990, 1014, 1015,
1081      1016, 1017,  991,  998, 1018,  992,  993, 1019,  994, 1020,
1082      1021, 1022,  995,  996,  999, 1023,  997, 1024, 1025,  725,
1083      1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1084 
1085      1016, 1017,  998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1086      1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1087      1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1088      1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1089      1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1090      1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1091      1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1092      1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1093      1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1094      1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1095 
1096      1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1097      1072, 1088, 1073, 1089, 1090,  718, 1091, 1074, 1075, 1076,
1098      1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1099      1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1100      1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1101      1092, 1107, 1093, 1094, 1108,  692, 1109, 1110, 1095, 1111,
1102      1096, 1097, 1112, 1098, 1099, 1100,  375,  375,  689,  434,
1103      1101,  434,  541, 1102,  541, 1103, 1104, 1105,  645, 1106,
1104       427, 1107,  415,  415, 1108, 1109, 1110,  415,  590, 1111,
1105       344,  343, 1112,   68,   68,   68,   68,   68,   68,   68,
1106 
1107        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1108        68,   68,   68,   68,   88,   88,   88,   88,   88,   88,
1109        88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
1110        88,   88,   88,   88,   88,   91,   91,   91,   91,   91,
1111        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
1112        91,   91,   91,   91,   91,   91,   94,   94,   94,   94,
1113        94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
1114        94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
1115        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
1116        97,   97,   97,   97,   97,   97,   97,   97,  106,  106,
1117 
1118       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
1119       106,  106,  106,  106,  106,  106,  106,  106,  106,   56,
1120        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1121        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1122       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1123       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1124       118,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1125       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1126       124,  124,  129,  129,  129,  129,  129,  129,  129,  129,
1127       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
1128 
1129       129,  129,  129,  133,  133,  133,  133,  133,  133,  133,
1130       133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
1131       133,  133,  133,  133,  153,  153,  153,  153,  153,  153,
1132       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
1133       153,  153,  153,  153,  153,  156,  156,  156,  156,  156,
1134       156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1135       156,  156,  156,  156,  156,  156,  162,  162,  162,  162,
1136       162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
1137       162,  162,  162,  162,  162,  162,  162,  169,  169,  169,
1138       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1139 
1140       169,  169,  169,  169,  169,  169,  169,  169,  208,  208,
1141       208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
1142       208,  208,  208,  208,  208,  208,  208,  208,  208,  212,
1143       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1144       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1145       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1146       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1147       228,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1148       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1149       232,  232,  237,  237,  237,  237,  237,  237,  237,  237,
1150 
1151       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
1152       237,  237,  237,  240,  240,  240,  240,  240,  240,  240,
1153       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
1154       240,  240,  240,  240,  246,  547,  246,  438,  246,  246,
1155       455,  455,  455,  246,  252,  252,  252,  252,  252,  252,
1156       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
1157       252,  252,  252,  252,  263,  409,  263,  390,  263,  263,
1158       417,  417,  479,  263,  274,  417,  274,  274,  274,  274,
1159       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1160       274,  274,  274,  274,  274,  277,  354,  277,  277,  277,
1161 
1162       277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
1163       277,  277,  277,  277,  277,  277,  283,  283,  351,  283,
1164       348,  283,  283,  467,  466,  463,  283,  295,  315,  295,
1165       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1166       295,  295,  295,  295,  295,  295,  295,  295,  299,  299,
1167       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1168       299,  299,  299,  313,  299,  315,  299,  299,  299,  302,
1169       310,  302,  302,  296,  302,  302,  302,  302,  302,  302,
1170       302,  302,  302,  302,  441,  302,  440,  302,  302,  302,
1171       309,  439,  285,  309,  309,  309,  309,  309,  309,  309,
1172 
1173       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1174       309,  317,  438,  317,  436,  317,  317,  435,  425,  269,
1175       317,  322,  421,  322,  322,  322,  322,  322,  322,  322,
1176       322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
1177       322,  322,  325,  265,  325,  325,  325,  325,  325,  325,
1178       325,  325,  325,  325,  325,  325,  325,  325,  325,  248,
1179       325,  325,  325,  326,  244,  326,  341,  326,  403,  326,
1180       326,  326,  326,  402,  326,  326,  400,  399,  398,  326,
1181       328,  397,  328,  328,  328,  395,  328,  328,  328,  328,
1182       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1183 
1184       328,  331,  394,  331,  393,  331,  331,  390,  354,  352,
1185       331,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1186       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1187       334,  334,  337,  351,  337,  337,  337,  337,  337,  307,
1188       337,  337,  337,  337,  337,  337,  337,  306,  337,  330,
1189       337,  337,  337,  340,  348,  340,  347,  340,  340,  340,
1190       340,  340,  340,  340,  340,  340,  340,  340,  307,  306,
1191       341,  340,  340,  340,  342,  342,  342,  342,  342,  342,
1192       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1193       342,  342,  342,  342,  342,  353,  307,  353,  353,  353,
1194 
1195       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1196       353,  353,  353,  353,  353,  353,  357,  357,  306,  339,
1197       338,  357,  357,  389,  307,  389,  389,  389,  389,  389,
1198       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1199       389,  389,  389,  389,  392,  306,  330,  392,  392,  392,
1200       392,  392,  392,  392,  392,  392,  392,  392,  392,  329,
1201       392,  327,  392,  396,  321,  396,  396,  396,  396,  324,
1202       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1203       396,  396,  396,  396,  401,  401,  401,  401,  401,  401,
1204       401,  401,  401,  401,  401,  401,  401,  401,  401,  321,
1205 
1206       401,  320,  401,  401,  401,  404,  318,  404,  404,  404,
1207       316,  404,  404,  404,  404,  404,  404,  404,  404,  404,
1208       313,  315,  311,  404,  404,  404,  246,  310,  246,  308,
1209       246,  246,  307,  306,  303,  246,  406,  301,  406,  406,
1210       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1211       406,  406,  406,  406,  406,  406,  406,  407,  300,  407,
1212       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1213       407,  407,  407,  407,  407,  407,  407,  407,  418,  418,
1214       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1215       418,  418,  418,  418,  418,  418,  418,  418,  418,  263,
1216 
1217       296,  263,  294,  263,  263,  293,  285,  273,  263,  422,
1218       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1219       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1220       427,  272,  427,  427,  427,  427,  427,  427,  427,  427,
1221       427,  427,  427,  427,  427,  427,  427,  271,  427,  427,
1222       427,  274,  265,  274,  274,  274,  274,  274,  274,  274,
1223       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1224       274,  274,  437,  262,  437,  248,  437,  437,  244, 1113,
1225       117,  437,  117,  437,  442, 1113,  442,  442,  442,  442,
1226       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1227 
1228       442,  442,  442,  442,  442,  295, 1113,  295,  295,  295,
1229       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1230       295,  295,  295,  295,  295,  295,  444, 1113,  444,  444,
1231       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1232       444,  444,  444,  444,  444,  444,  444,  445, 1113,  445,
1233       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1234       445,  445,  445,  445,  445,  445,  445,  445,  299,  299,
1235       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1236       299,  299,  299, 1113,  299, 1113,  299,  299,  299,  302,
1237      1113,  302,  302, 1113,  302,  302,  302,  302,  302,  302,
1238 
1239       302,  302,  302,  302, 1113,  302, 1113,  302,  302,  302,
1240       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1241       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1242       448,  309, 1113, 1113,  309,  309,  309,  309,  309,  309,
1243       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1244       309,  309,  317, 1113,  317, 1113,  317,  317, 1113, 1113,
1245      1113,  317,  326, 1113,  326, 1113,  326, 1113,  326,  326,
1246       326,  326, 1113,  326,  326, 1113, 1113, 1113,  326,  328,
1247      1113,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1248       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1249 
1250       331, 1113,  331, 1113,  331,  331, 1113, 1113, 1113,  331,
1251       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1252       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1253       334,  337, 1113,  337,  337,  337,  337,  337, 1113,  337,
1254       337,  337,  337,  337,  337,  337, 1113,  337, 1113,  337,
1255       337,  337,  340, 1113,  340, 1113,  340,  340,  340,  340,
1256       340,  340,  340,  340,  340,  340,  340, 1113, 1113, 1113,
1257       340,  340,  340,  468, 1113,  468,  468,  468,  468,  468,
1258       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1259       468,  468,  468,  468,  353, 1113,  353,  353,  353,  353,
1260 
1261       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1262       353,  353,  353,  353,  353,  357,  357, 1113, 1113, 1113,
1263       357,  357,  389, 1113,  389,  389,  389,  389,  389,  389,
1264       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1265       389,  389,  389,  392, 1113, 1113,  392,  392,  392,  392,
1266       392,  392,  392,  392,  392,  392,  392,  392, 1113,  392,
1267      1113,  392,  396, 1113,  396,  396,  396,  396, 1113,  396,
1268       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1269       396,  396,  396,  401,  401,  401,  401,  401,  401,  401,
1270       401,  401,  401,  401,  401,  401,  401,  401, 1113,  401,
1271 
1272      1113,  401,  401,  401,  404, 1113,  404,  404,  404, 1113,
1273       404,  404,  404,  404,  404,  404,  404,  404,  404, 1113,
1274      1113, 1113,  404,  404,  404,  406, 1113,  406,  406,  406,
1275       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1276       406,  406,  406,  406,  406,  406,  407, 1113,  407,  407,
1277       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1278       407,  407,  407,  407,  407,  407,  407,  521,  521,  521,
1279       521,  521,  521,  521,  521,  521,  521,  521,  521,  521,
1280       521,  521,  521,  521,  521,  521,  521,  521,  530, 1113,
1281       530, 1113,  530,  530, 1113, 1113, 1113,  530,  532, 1113,
1282 
1283       532, 1113,  532,  532, 1113, 1113, 1113,  532,  418,  418,
1284       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1285       418,  418,  418,  418,  418,  418,  418,  418,  418,  422,
1286       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1287       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1288       427, 1113,  427,  427,  427,  427,  427,  427,  427,  427,
1289       427,  427,  427,  427,  427,  427,  427, 1113,  427,  427,
1290       427,  437, 1113,  437, 1113,  437,  437, 1113, 1113, 1113,
1291       437, 1113,  437,  442, 1113,  442,  442,  442,  442,  442,
1292       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1293 
1294       442,  442,  442,  442,  444, 1113,  444,  444,  444,  444,
1295       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1296       444,  444,  444,  444,  444,  445, 1113,  445,  445,  445,
1297       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1298       445,  445,  445,  445,  445,  445,  302, 1113,  302,  302,
1299      1113,  302,  302,  302,  302,  302,  302,  302,  302,  302,
1300       302, 1113,  302, 1113,  302,  302,  302,  448,  448,  448,
1301       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1302       448,  448,  448,  448,  448,  448,  448,  448,  331, 1113,
1303       331, 1113,  331,  331, 1113, 1113, 1113,  331,  342, 1113,
1304 
1305       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1306       342,  342,  342,  342,  342,  342,  342,  342,  342,  468,
1307      1113,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1308       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1309       357,  357, 1113, 1113, 1113,  357,  357,  630, 1113,  630,
1310       630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
1311       630,  630,  630,  630,  630,  630,  630,  630,  800,  800,
1312       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
1313       800,  800,  800,  800,  800,  800,  800,  800,  800,  938,
1314       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1315 
1316       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1317        55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1318      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1319      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1320      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1321      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1322      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1323      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1324      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1325      1113, 1113, 1113, 1113, 1113
1326 
1327     } ;
1328 
1329 static const flex_int16_t yy_chk[4596] =
1330     {   0,
1331         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1332         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1333         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1334         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1335         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1336         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1337         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1338         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1339         1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
1340         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1341 
1342         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1343         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1344         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1345         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1346         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1347         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1348         2,    2,    2,    2,    2,    2,    2,    2,    3,    3,
1349       102,    3,    3,    5,    3,    5, 1012,    3,    3,    3,
1350         3,   79,   79,    3,    3,    6,    6,    7,    6,    7,
1351         3,   21,    6,    3,    8,  132,    8,   11,   11,  102,
1352 
1353        11,   12,   12,  964,   12,   19,   85,   19,   19,   27,
1354        28,   27,   28,   17,   20,   17,   20,   20,  148,    3,
1355         3,   51,    9,   51,    9,   17,  537,   22,    9,   17,
1356        17,   17,   17,   10,  132,   10,   29,  963,   29,   10,
1357       176,   21,   21,   47,   21,   47,   29,  148,    3,    3,
1358         3,    4,    4,   47,    4,    4,   19,    4,    4,  537,
1359         4,    4,    4,    4,    9,   20,    4,    4,   23,  176,
1360        23,    9,    9,    4,    9,   10,    4,   22,   22,   85,
1361        22,   23,   10,   10,  962,   10,   29,  199,   29,   45,
1362        52,   45,   52,    9,   17,   93,   37,   93,   45,   37,
1363 
1364         9,  961,    4,    4,   10,    4,   38,  960,   46,   38,
1365        46,   10,   37,   37,   37,   37,  199,   46,   23,   23,
1366        23,  959,   38,   38,   38,   38,   57,   57,  153,   57,
1367       153,    4,    4,    4,   13,   13,   13,   13,   13,   13,
1368        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1369        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1370        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1371        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1372        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1373        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1374 
1375        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1376        13,   13,   13,   13,   13,   13,   13,   13,   18,   24,
1377        18,   24,  155,   30,  155,   30,   31,  202,   31,   31,
1378        18,   64,   24,   30,   18,   18,   18,   18,   32,   43,
1379        32,   32,   53,   48,   53,   48,  167,   61,   61,   53,
1380        61,  101,   43,   48,   73,   73,  202,   73,   81,  261,
1381        81,  261,   43,   81,   81,   81,   81,   43,   64,   24,
1382        24,   24,  170,   30,  958,   30,   31,   31,   31,  170,
1383       957,  101,   43,  111,  111,  268,  111,  268,   32,   32,
1384        32,   43,   53,   53,   53,  956,   43,  167,   64,   18,
1385 
1386        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1387        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1388        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1389        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1390        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1391        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1392        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1393        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1394        25,   25,   25,   25,   33,   33,   39,   33,   39,   34,
1395        34,   33,   34,  147,   41,   42,   34,   49,   44,   49,
1396 
1397        33,   41,   42,  175,  308,   34,  308,   49,  274,  274,
1398        50,   44,   50,  184,   41,   42,  122,  122,  122,  122,
1399        50,   44,  185,  147,   41,   42,   44,   33,  207,   41,
1400        42,  955,   34,  175,   33,   33,   39,   33,   39,   34,
1401        34,   44,   34,  184,   41,   42,  334,   49,  334,   49,
1402        44,  954,  185,   41,   42,   44,   33,  207,   41,   42,
1403        50,   34,   50,   33,  336,   39,  336,   39,   34,   35,
1404        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1405        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1406        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1407 
1408        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1409        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1410        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1411        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1412        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1413        35,   35,   35,   40,  634,   40,   54,  189,   54,   69,
1414        69,  188,   69,   54,   80,   80,   69,   82,   82,  188,
1415        82,  189,  128,  128,   82,  278,  278,  131,  131,  953,
1416       138,  138,  359,   82,  187,  190,  194,  634,  195,   82,
1417       187,  188,  191,  201,  196,  345,   80,  192,  196,  188,
1418 
1419       952,  189,  345,   40,  128,   40,   54,   54,   54,  131,
1420       897,  359,  138,  191,  187,  190,  194,  192,  195,  187,
1421       198,   82,  191,  201,  196,   80,  896,  192,  196,  203,
1422       198,  204,   40,  128,   40,   65,  243,  243,  131,  243,
1423        69,  138,  191,  250,  205,  197,  192,  361,   82,  197,
1424       198,  206,  251,  200,   65,  259,   65,  273,   65,  203,
1425       198,  204,  895,  200,   65,  894,  200,   65,   65,   65,
1426       893,   65,   65,   65,  205,  197,  361,   65,  892,  197,
1427       250,  206,  251,  200,   65,  259,   65,  273,   65,  211,
1428       211,  211,  211,  200,   65,  200,  891,   65,   65,   65,
1429 
1430        65,   65,   65,  890,  247,  247,   65,  247,   65,  889,
1431       250,  254,  254,  888,  254,  255,  255,  887,  255,  256,
1432       256,  363,  256,  257,  257,  275,  257,  293,  254,  254,
1433       254,  254,  255,  255,  255,  255,  256,  256,  256,  256,
1434       257,  257,  257,  257,  264,  264,  304,  264,  276,  276,
1435       363,  264,  305,  886,  254,  275,  275,  293,  312,  312,
1436       256,  312,  332,  257,  885,  284,  284,  884,  284,  333,
1437       349,  350,  284,  355,  356,  358,  304,  883,  365,  366,
1438       276,  284,  305,  254,  367,  360,  368,  284,  371,  358,
1439       256,  369,  332,  257,  319,  319,  319,  319,  372,  333,
1440 
1441       349,  350,  360,  355,  356,  358,  364,  365,  366,  276,
1442       364,  373,  381,  367,  374,  360,  368,  371,  358,  284,
1443       418,  369,  418,  882,  420,  264,  420,  422,  372,  422,
1444       881,  360,  391,  391,  391,  391,  364,  424,  880,  424,
1445       364,  373,  381,  374,  376,  378,  284,  321,  321,  321,
1446       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1447       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1448       321,  321,  370,  376,  378,  321,  370,  321,  321,  321,
1449       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1450       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1451 
1452       321,  379,  370,  380,  383,  370,  382,  383,  384,  385,
1453       382,  879,  386,  380,  387,  382,  385,  878,  405,  427,
1454       427,  412,  413,  433,  433,  448,  414,  448,  639,  639,
1455       379,  416,  426,  380,  383,  877,  382,  383,  384,  385,
1456       382,  386,  380,  387,  531,  382,  385,  388,  405,  388,
1457       412,  413,  388,  388,  408,  408,  414,  408,  388,  388,
1458       428,  416,  426,  876,  388,  388,  875,  411,  411,  388,
1459       411,  408,  408,  408,  408,  441,  388,  388,  443,  388,
1460       429,  429,  388,  388,  411,  411,  411,  411,  388,  388,
1461       428,  428,  446,  388,  388,  431,  431,  447,  388,  438,
1462 
1463       438,  438,  438,  464,  450,  441,  450,  465,  443,  469,
1464       470,  521,  429,  521,  871,  471,  429,  524,  870,  524,
1465       526,  526,  446,  526,  531,  818,  625,  447,  625,  431,
1466       431,  626,  626,  464,  626,  632,  632,  465,  632,  469,
1467       470,  429,  430,  430,  471,  430,  430,  430,  430,  430,
1468       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1469       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1470       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1471       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1472       430,  430,  430,  430,  430,  430,  817,  430,  430,  430,
1473 
1474       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1475       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1476       430,  430,  430,  430,  430,  430,  432,  432,  432,  432,
1477       451,  452,  453,  457,  456,  432,  432,  432,  432,  432,
1478       432,  454,  459,  460,  472,  461,  451,  452,  473,  458,
1479       453,  474,  457,  461,  454,  816,  456,  475,  476,  477,
1480       432,  432,  459,  460,  478,  432,  432,  432,  432,  432,
1481       432,  458,  480,  472,  458,  482,  451,  452,  473,  481,
1482       453,  474,  457,  461,  454,  456,  486,  475,  476,  477,
1483       484,  487,  459,  460,  478,  815,  485,  488,  489,  814,
1484 
1485       458,  491,  480,  458,  462,  482,  492,  493,  481,  462,
1486       462,  462,  462,  494,  495,  462,  486,  496,  497,  484,
1487       462,  487,  498,  499,  462,  485,  488,  462,  489,  462,
1488       500,  491,  462,  501,  502,  503,  492,  493,  505,  462,
1489       462,  462,  462,  494,  495,  462,  506,  496,  497,  504,
1490       462,  507,  498,  499,  462,  504,  462,  508,  462,  509,
1491       500,  462,  510,  501,  502,  503,  511,  513,  505,  512,
1492       514,  515,  516,  517,  519,  506,  518,  519,  519,  504,
1493       507,  520,  638,  638,  638,  504,  546,  508,  527,  509,
1494       528,  529,  510,  533,  543,  544,  511,  513,  512,  813,
1495 
1496       514,  515,  516,  517,  519,  518,  519,  519,  631,  522,
1497       522,  520,  522,  525,  525,  546,  525,  719,  527,  719,
1498       528,  529,  812,  533,  543,  544,  522,  522,  522,  522,
1499       525,  525,  525,  525,  534,  534,  811,  534,  534,  534,
1500       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1501       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1502       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1503       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1504       534,  534,  534,  534,  534,  534,  534,  534,  631,  534,
1505       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1506 
1507       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1508       534,  534,  534,  534,  534,  534,  534,  534,  535,  535,
1509       545,  548,  550,  810,  539,  539,  549,  552,  557,  551,
1510       554,  549,  552,  553,  809,  559,  558,  640,  640,  548,
1511       551,  548,  556,  554,  727,  727,  550,  556,  557,  558,
1512       545,  559,  535,  535,  536,  536,  536,  536,  539,  539,
1513       553,  549,  552,  536,  536,  536,  536,  536,  536,  548,
1514       551,  548,  555,  554,  562,  550,  560,  556,  557,  558,
1515       800,  559,  800,  563,  569,  561,  566,  562,  564,  553,
1516       555,  571,  560,  536,  536,  536,  536,  536,  536,  540,
1517 
1518       540,  540,  540,  561,  565,  563,  566,  564,  540,  540,
1519       540,  540,  540,  540,  569,  567,  568,  562,  570,  572,
1520       555,  571,  560,  575,  568,  808,  565,  576,  577,  565,
1521       578,  579,  580,  561,  563,  567,  566,  564,  540,  540,
1522       540,  540,  540,  540,  582,  584,  581,  570,  572,  583,
1523       587,  806,  588,  575,  568,  565,  576,  577,  565,  578,
1524       589,  579,  580,  581,  590,  567,  594,  595,  599,  581,
1525       799,  597,  598,  601,  582,  584,  602,  603,  583,  604,
1526       587,  588,  605,  606,  796,  607,  608,  609,  611,  589,
1527       612,  613,  615,  581,  590,  594,  614,  595,  599,  581,
1528 
1529       597,  598,  601,  616,  617,  619,  602,  603,  618,  604,
1530       620,  605,  621,  606,  607,  608,  620,  609,  611,  622,
1531       612,  613,  615,  627,  628,  614,  629,  636,  636,  641,
1532       651,  643,  616,  646,  617,  619,  647,  618,  644,  784,
1533       620,  669,  621,  650,  652,  620,  770,  660,  647,  622,
1534       651,  648,  627,  652,  628,  629,  650,  649,  646,  641,
1535       643,  636,  636,  637,  637,  637,  637,  653,  644,  648,
1536       669,  660,  637,  637,  637,  637,  637,  637,  647,  649,
1537       651,  654,  655,  652,  656,  653,  650,  646,  654,  655,
1538       657,  658,  659,  656,  728,  728,  665,  659,  663,  648,
1539 
1540       660,  657,  637,  637,  637,  637,  637,  637,  649,  658,
1541       661,  658,  662,  664,  665,  653,  667,  662,  654,  655,
1542       668,  661,  670,  656,  666,  663,  664,  659,  671,  666,
1543       672,  657,  674,  668,  676,  679,  667,  761,  680,  658,
1544       681,  658,  683,  687,  665,  679,  685,  662,  688,  689,
1545       691,  661,  670,  692,  663,  693,  664,  671,  695,  666,
1546       672,  674,  696,  668,  676,  679,  667,  680,  697,  699,
1547       681,  700,  683,  687,  679,  685,  701,  702,  688,  689,
1548       691,  704,  692,  705,  707,  693,  706,  695,  709,  710,
1549       711,  696,  713,  714,  733,  715,  716,  697,  717,  699,
1550 
1551       700,  720,  721,  722,  722,  701,  722,  702,  730,  736,
1552       704,  733,  734,  705,  707,  706,  737,  734,  709,  710,
1553       711,  735,  713,  714,  715,  736,  716,  739,  717,  740,
1554       738,  720,  721,  726,  726,  726,  735,  741,  743,  745,
1555       737,  733,  738,  744,  747,  742,  746,  734,  748,  739,
1556       729,  750,  749,  740,  742,  736,  744,  752,  746,  751,
1557       743,  741,  747,  725,  745,  749,  735,  753,  751,  737,
1558       748,  750,  738,  754,  753,  752,  755,  763,  739,  764,
1559       754,  765,  740,  756,  742,  755,  744,  763,  746,  743,
1560       741,  766,  747,  745,  756,  749,  767,  768,  751,  748,
1561 
1562       769,  750,  771,  772,  753,  752,  773,  763,  774,  764,
1563       754,  765,  775,  776,  778,  755,  777,  763,  780,  724,
1564       782,  766,  786,  787,  756,  767,  768,  788,  791,  769,
1565       793,  797,  771,  772,  718,  798,  773,  802,  774,  802,
1566       804,  712,  775,  776,  778,  777,  790,  790,  780,  782,
1567       820,  790,  786,  787,  790,  819,  788,  790,  791,  708,
1568       793,  797,  790,  794,  794,  798,  823,  820,  794,  804,
1569       821,  794,  824,  822,  794,  821,  790,  790,  825,  819,
1570       826,  790,  823,  827,  790,  828,  831,  790,  822,  830,
1571       825,  790,  832,  794,  794,  833,  824,  820,  794,  831,
1572 
1573       834,  794,  826,  835,  794,  821,  829,  827,  819,  828,
1574       838,  830,  823,  836,  841,  829,  694,  840,  822,  842,
1575       825,  843,  832,  844,  833,  824,  845,  847,  849,  831,
1576       834,  826,  835,  850,  852,  856,  827,  857,  828,  838,
1577       830,  858,  690,  836,  841,  829,  840,  860,  842,  865,
1578       852,  843,  844,  861,  862,  859,  845,  847,  849,  859,
1579       863,  864,  859,  850,  852,  856,  857,  866,  684,  868,
1580       869,  858,  859,  872,  867,  678,  860,  867,  865,  852,
1581       873,  898,  873,  861,  862,  859,  903,  867,  899,  859,
1582       863,  864,  859,  900,  901,  902,  905,  866,  868,  869,
1583 
1584       906,  859,  872,  907,  867,  898,  908,  867,  910,  911,
1585       912,  642,  913,  914,  915,  903,  867,  916,  899,  917,
1586       919,  920,  921,  900,  901,  902,  905,  922,  635,  923,
1587       906,  924,  926,  907,  898,  927,  908,  910,  928,  911,
1588       912,  913,  930,  914,  915,  931,  932,  916,  917,  933,
1589       919,  920,  921,  934,  935,  937,  936,  922,  923,  938,
1590       924,  938,  926,  965,  940,  927,  940,  928,  966,  967,
1591       968,  969,  930,  936,  970,  931,  932,  971,  933,  972,
1592       973,  974,  934,  935,  937,  975,  936,  976,  978,  633,
1593       979,  980,  965,  981,  982,  983,  984,  985,  966,  967,
1594 
1595       968,  969,  936,  987,  970,  989,  990,  971,  972,  973,
1596       991,  974,  992,  993,  975,  995,  999,  976,  978,  979,
1597       980,  996,  981,  998,  982,  983,  984,  985, 1015,  997,
1598      1013, 1014,  987,  997,  989,  990, 1016, 1017, 1019, 1020,
1599       991, 1022,  992,  993, 1023,  995,  999, 1024, 1025, 1026,
1600       996, 1027,  998, 1028, 1030, 1034, 1035, 1015,  997, 1036,
1601      1013, 1014,  997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1602      1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1603      1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1604      1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1605 
1606      1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1607      1048, 1073, 1049, 1074, 1075,  623, 1077, 1050, 1053, 1055,
1608      1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1609      1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1610      1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1611      1081, 1103, 1082, 1083, 1105,  596, 1106, 1107, 1084, 1109,
1612      1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157,  593, 1173,
1613      1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098,  547, 1100,
1614       538, 1103, 1166, 1166, 1105, 1106, 1107, 1166,  490, 1109,
1615       467,  466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1616 
1617      1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1618      1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1619      1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1620      1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1621      1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1622      1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1623      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1624      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1625      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1626      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1627 
1628      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1629      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1630      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1631      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1632      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1633      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1634      1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1635      1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1636      1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1637      1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1638 
1639      1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1640      1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1641      1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1642      1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1643      1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1644      1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1645      1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1646      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1647      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1648      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1649 
1650      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1651      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1652      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1653      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1654      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1655      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1656      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1657      1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1658      1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1659      1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1660 
1661      1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1662      1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1663      1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1664      1134, 1134, 1134, 1134, 1135,  455, 1135,  437, 1135, 1135,
1665      1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1666      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1667      1136, 1136, 1136, 1136, 1137,  410, 1137,  389, 1137, 1137,
1668      1167, 1167,  362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1669      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1670      1138, 1138, 1138, 1138, 1138, 1139,  353, 1139, 1139, 1139,
1671 
1672      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1673      1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140,  351, 1140,
1674       346, 1140, 1140,  344,  343,  328, 1140, 1141,  315, 1141,
1675      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1676      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1677      1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1678      1142, 1142, 1142,  314, 1142,  313, 1142, 1142, 1142, 1143,
1679       310, 1143, 1143,  296, 1143, 1143, 1143, 1143, 1143, 1143,
1680      1143, 1143, 1143, 1143,  289, 1143,  288, 1143, 1143, 1143,
1681      1144,  287,  286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1682 
1683      1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1684      1144, 1145,  283, 1145,  281, 1145, 1145,  280,  271,  270,
1685      1145, 1146,  267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1686      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1687      1146, 1146, 1147,  266, 1147, 1147, 1147, 1147, 1147, 1147,
1688      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,  249,
1689      1147, 1147, 1147, 1148,  245, 1148,  241, 1148,  239, 1148,
1690      1148, 1148, 1148,  238, 1148, 1148,  236,  235,  234, 1148,
1691      1149,  230, 1149, 1149, 1149,  216, 1149, 1149, 1149, 1149,
1692      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1693 
1694      1149, 1150,  215, 1150,  214, 1150, 1150,  210,  183,  182,
1695      1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1696      1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1697      1151, 1151, 1152,  180, 1152, 1152, 1152, 1152, 1152,  178,
1698      1152, 1152, 1152, 1152, 1152, 1152, 1152,  177, 1152,  174,
1699      1152, 1152, 1152, 1153,  173, 1153,  172, 1153, 1153, 1153,
1700      1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,  168,  166,
1701       164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1702      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1703      1154, 1154, 1154, 1154, 1154, 1155,  161, 1155, 1155, 1155,
1704 
1705      1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1706      1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156,  160,  159,
1707       158, 1156, 1156, 1158,  150, 1158, 1158, 1158, 1158, 1158,
1708      1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1709      1158, 1158, 1158, 1158, 1159,  149,  145, 1159, 1159, 1159,
1710      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,  144,
1711      1159,  142, 1159, 1160,  137, 1160, 1160, 1160, 1160,  135,
1712      1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1713      1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1714      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  130,
1715 
1716      1161,  126, 1161, 1161, 1161, 1162,  120, 1162, 1162, 1162,
1717       115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1718       113,  112,  109, 1162, 1162, 1162, 1163,  107, 1163,  105,
1719      1163, 1163,  104,  103,   99, 1163, 1164,   96, 1164, 1164,
1720      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1721      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165,   95, 1165,
1722      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1723      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1724      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1725      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1726 
1727        92, 1169,   90, 1169, 1169,   86,   84,   78, 1169, 1170,
1728      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1729      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1730      1171,   77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1731      1171, 1171, 1171, 1171, 1171, 1171, 1171,   74, 1171, 1171,
1732      1171, 1172,   71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1733      1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1734      1172, 1172, 1174,   66, 1174,   63, 1174, 1174,   59,   55,
1735        16, 1174,   15, 1174, 1175,    0, 1175, 1175, 1175, 1175,
1736      1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1737 
1738      1175, 1175, 1175, 1175, 1175, 1176,    0, 1176, 1176, 1176,
1739      1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1740      1176, 1176, 1176, 1176, 1176, 1176, 1177,    0, 1177, 1177,
1741      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1742      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178,    0, 1178,
1743      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1744      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1745      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1746      1179, 1179, 1179,    0, 1179,    0, 1179, 1179, 1179, 1180,
1747         0, 1180, 1180,    0, 1180, 1180, 1180, 1180, 1180, 1180,
1748 
1749      1180, 1180, 1180, 1180,    0, 1180,    0, 1180, 1180, 1180,
1750      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1751      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1752      1181, 1182,    0,    0, 1182, 1182, 1182, 1182, 1182, 1182,
1753      1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1754      1182, 1182, 1183,    0, 1183,    0, 1183, 1183,    0,    0,
1755         0, 1183, 1184,    0, 1184,    0, 1184,    0, 1184, 1184,
1756      1184, 1184,    0, 1184, 1184,    0,    0,    0, 1184, 1185,
1757         0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1758      1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1759 
1760      1186,    0, 1186,    0, 1186, 1186,    0,    0,    0, 1186,
1761      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1762      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1763      1187, 1188,    0, 1188, 1188, 1188, 1188, 1188,    0, 1188,
1764      1188, 1188, 1188, 1188, 1188, 1188,    0, 1188,    0, 1188,
1765      1188, 1188, 1189,    0, 1189,    0, 1189, 1189, 1189, 1189,
1766      1189, 1189, 1189, 1189, 1189, 1189, 1189,    0,    0,    0,
1767      1189, 1189, 1189, 1190,    0, 1190, 1190, 1190, 1190, 1190,
1768      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1769      1190, 1190, 1190, 1190, 1191,    0, 1191, 1191, 1191, 1191,
1770 
1771      1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1772      1191, 1191, 1191, 1191, 1191, 1192, 1192,    0,    0,    0,
1773      1192, 1192, 1193,    0, 1193, 1193, 1193, 1193, 1193, 1193,
1774      1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1775      1193, 1193, 1193, 1194,    0,    0, 1194, 1194, 1194, 1194,
1776      1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,    0, 1194,
1777         0, 1194, 1195,    0, 1195, 1195, 1195, 1195,    0, 1195,
1778      1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1779      1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1780      1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,    0, 1196,
1781 
1782         0, 1196, 1196, 1196, 1197,    0, 1197, 1197, 1197,    0,
1783      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,    0,
1784         0,    0, 1197, 1197, 1197, 1198,    0, 1198, 1198, 1198,
1785      1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1786      1198, 1198, 1198, 1198, 1198, 1198, 1199,    0, 1199, 1199,
1787      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1788      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1789      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1790      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201,    0,
1791      1201,    0, 1201, 1201,    0,    0,    0, 1201, 1202,    0,
1792 
1793      1202,    0, 1202, 1202,    0,    0,    0, 1202, 1203, 1203,
1794      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1795      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1796      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1797      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1798      1205,    0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1799      1205, 1205, 1205, 1205, 1205, 1205, 1205,    0, 1205, 1205,
1800      1205, 1207,    0, 1207,    0, 1207, 1207,    0,    0,    0,
1801      1207,    0, 1207, 1208,    0, 1208, 1208, 1208, 1208, 1208,
1802      1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1803 
1804      1208, 1208, 1208, 1208, 1209,    0, 1209, 1209, 1209, 1209,
1805      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1806      1209, 1209, 1209, 1209, 1209, 1210,    0, 1210, 1210, 1210,
1807      1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1808      1210, 1210, 1210, 1210, 1210, 1210, 1211,    0, 1211, 1211,
1809         0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1810      1211,    0, 1211,    0, 1211, 1211, 1211, 1212, 1212, 1212,
1811      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1812      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214,    0,
1813      1214,    0, 1214, 1214,    0,    0,    0, 1214, 1215,    0,
1814 
1815      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1816      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1817         0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1818      1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1819      1217, 1217,    0,    0,    0, 1217, 1217, 1218,    0, 1218,
1820      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1821      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1822      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1823      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1824      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1825 
1826      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1827      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1828      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1829      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1830      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1831      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1832      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1833      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1834      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1835      1113, 1113, 1113, 1113, 1113
1836 
1837     } ;
1838 
1839 static yy_state_type yy_last_accepting_state;
1840 static char *yy_last_accepting_cpos;
1841 
1842 extern int yy_flex_debug;
1843 int yy_flex_debug = 0;
1844 
1845 /* The intent behind this definition is that it'll catch
1846  * any uses of REJECT which flex missed.
1847  */
1848 #define REJECT reject_used_but_not_detected
1849 #define yymore() yymore_used_but_not_detected
1850 #define YY_MORE_ADJ 0
1851 #define YY_RESTORE_YY_MORE_OFFSET
1852 char *yytext;
1853 #line 1 "scan.l"
1854 /* scan.l - scanner for flex input -*-C-*- */
1855 #line 4 "scan.l"
1856 /*  Copyright (c) 1990 The Regents of the University of California. */
1857 /*  All rights reserved. */
1858 
1859 /*  This code is derived from software contributed to Berkeley by */
1860 /*  Vern Paxson. */
1861 
1862 /*  The United States Government has rights in this work pursuant */
1863 /*  to contract no. DE-AC03-76SF00098 between the United States */
1864 /*  Department of Energy and the University of California. */
1865 
1866 /*  This file is part of flex. */
1867 
1868 /*  Redistribution and use in source and binary forms, with or without */
1869 /*  modification, are permitted provided that the following conditions */
1870 /*  are met: */
1871 
1872 /*  1. Redistributions of source code must retain the above copyright */
1873 /*     notice, this list of conditions and the following disclaimer. */
1874 /*  2. Redistributions in binary form must reproduce the above copyright */
1875 /*     notice, this list of conditions and the following disclaimer in the */
1876 /*     documentation and/or other materials provided with the distribution. */
1877 
1878 /*  Neither the name of the University nor the names of its contributors */
1879 /*  may be used to endorse or promote products derived from this software */
1880 /*  without specific prior written permission. */
1881 
1882 /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1883 /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1884 /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1885 /*  PURPOSE. */
1886 
1887 #include "flexdef.h"
1888 #include "parse.h"
1889 extern bool tablesverify, tablesext;
1890 extern int trlcontxt; /* Set in  parse.y for each rule. */
1891 extern const char *escaped_qstart, *escaped_qend;
1892 extern int yylval;
1893 
1894 #define M4QSTART "[""["
1895 #define M4QEND "]""]"
1896 
1897 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1898 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1899 
1900 #define ACTION_ECHO add_action( yytext )
1901 #define ACTION_IFDEF(def, should_define) \
1902 	{ \
1903 	if ( should_define ) \
1904 		action_define( def, 1 ); \
1905 	}
1906 
1907 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1908 #define ACTION_ECHO_QEND   add_action (ESCAPED_QEND)
1909 
1910 #define ACTION_M4_IFDEF(def, should_define) \
1911     do{ \
1912         if ( should_define ) \
1913             buf_m4_define( &m4defs_buf, def, NULL);\
1914         else \
1915             buf_m4_undefine( &m4defs_buf, def);\
1916     } while(0)
1917 
1918 #define MARK_END_OF_PROLOG mark_prolog();
1919 
1920 #define YY_DECL \
1921 	int flexscan(void)
1922 
1923 #define RETURNCHAR \
1924 	yylval = (unsigned char) yytext[0]; \
1925 	return CHAR;
1926 
1927 #define RETURNNAME \
1928 	if(yyleng < MAXLINE) \
1929          { \
1930 	strncpy( nmstr, yytext, sizeof(nmstr) ); \
1931 	return NAME; \
1932 	 } \
1933 	else \
1934 	 do { \
1935 	   synerr(_("Input line too long\n")); \
1936 	   FLEX_EXIT(EXIT_FAILURE);  \
1937 	 } while (0)
1938 
1939 #define PUT_BACK_STRING(str, start) \
1940 	{ size_t i = strlen( str );	\
1941 	  while ( i > start )		\
1942 	    unput((str)[--i]);		\
1943 	}
1944 
1945 #define CHECK_REJECT(str) \
1946 	if ( all_upper( str ) ) \
1947 		reject = true;
1948 
1949 #define CHECK_YYMORE(str) \
1950 	if ( all_lower( str ) ) \
1951 		yymore_used = true;
1952 
1953 #define YY_USER_INIT \
1954 	if ( getenv("POSIXLY_CORRECT") ) \
1955 		posix_compat = true;
1956 
1957 #define START_CODEBLOCK(x) do { \
1958     /* Emit the needed line directive... */\
1959     if (indented_code == false) { \
1960         linenum++; \
1961         line_directive_out(NULL, 1); \
1962     } \
1963     add_action(M4QSTART); \
1964     yy_push_state(CODEBLOCK); \
1965     if ((indented_code = x)) ACTION_ECHO; \
1966 } while(0)
1967 
1968 #define END_CODEBLOCK do { \
1969     yy_pop_state();\
1970     add_action(M4QEND); \
1971     if (!indented_code) line_directive_out(NULL, 0);\
1972 } while (0)
1973 
1974 #line 1974 "<stdout>"
1975 
1976 #line 1976 "<stdout>"
1977 
1978 #define INITIAL 0
1979 #define SECT2 1
1980 #define SECT2PROLOG 2
1981 #define SECT3 3
1982 #define CODEBLOCK 4
1983 #define PICKUPDEF 5
1984 #define SC 6
1985 #define CARETISBOL 7
1986 #define NUM 8
1987 #define QUOTE 9
1988 #define FIRSTCCL 10
1989 #define CCL 11
1990 #define ACTION 12
1991 #define RECOVER 13
1992 #define COMMENT 14
1993 #define ACTION_STRING 15
1994 #define PERCENT_BRACE_ACTION 16
1995 #define OPTION 17
1996 #define LINEDIR 18
1997 #define CODEBLOCK_MATCH_BRACE 19
1998 #define GROUP_WITH_PARAMS 20
1999 #define GROUP_MINUS_PARAMS 21
2000 #define EXTENDED_COMMENT 22
2001 #define COMMENT_DISCARD 23
2002 #define CODE_COMMENT 24
2003 #define SECT3_NOESCAPE 25
2004 #define CHARACTER_CONSTANT 26
2005 
2006 #ifndef YY_NO_UNISTD_H
2007 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2008  * down here because we want the user's section 1 to have been scanned first.
2009  * The user has a chance to override it with an option.
2010  */
2011 #include <unistd.h>
2012 #endif
2013 
2014 #ifndef YY_EXTRA_TYPE
2015 #define YY_EXTRA_TYPE void *
2016 #endif
2017 
2018 static int yy_init_globals ( void );
2019 
2020 /* Accessor methods to globals.
2021    These are made visible to non-reentrant scanners for convenience. */
2022 
2023 int yylex_destroy ( void );
2024 
2025 int yyget_debug ( void );
2026 
2027 void yyset_debug ( int debug_flag  );
2028 
2029 YY_EXTRA_TYPE yyget_extra ( void );
2030 
2031 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2032 
2033 FILE *yyget_in ( void );
2034 
2035 void yyset_in  ( FILE * _in_str  );
2036 
2037 FILE *yyget_out ( void );
2038 
2039 void yyset_out  ( FILE * _out_str  );
2040 
2041 			int yyget_leng ( void );
2042 
2043 char *yyget_text ( void );
2044 
2045 int yyget_lineno ( void );
2046 
2047 void yyset_lineno ( int _line_number  );
2048 
2049 /* Macros after this point can all be overridden by user definitions in
2050  * section 1.
2051  */
2052 
2053 #ifndef YY_SKIP_YYWRAP
2054 #ifdef __cplusplus
2055 extern "C" int yywrap ( void );
2056 #else
2057 extern int yywrap ( void );
2058 #endif
2059 #endif
2060 
2061 #ifndef YY_NO_UNPUT
2062 
2063     static void yyunput ( int c, char *buf_ptr  );
2064 
2065 #endif
2066 
2067 #ifndef yytext_ptr
2068 static void yy_flex_strncpy ( char *, const char *, int );
2069 #endif
2070 
2071 #ifdef YY_NEED_STRLEN
2072 static int yy_flex_strlen ( const char * );
2073 #endif
2074 
2075 #ifndef YY_NO_INPUT
2076 #ifdef __cplusplus
2077 static int yyinput ( void );
2078 #else
2079 static int input ( void );
2080 #endif
2081 
2082 #endif
2083 
2084         static int yy_start_stack_ptr = 0;
2085         static int yy_start_stack_depth = 0;
2086         static int *yy_start_stack = NULL;
2087 
2088     static void yy_push_state ( int _new_state );
2089 
2090     static void yy_pop_state ( void );
2091 
2092 /* Amount of stuff to slurp up with each read. */
2093 #ifndef YY_READ_BUF_SIZE
2094 #ifdef __ia64__
2095 /* On IA-64, the buffer size is 16k, not 8k */
2096 #define YY_READ_BUF_SIZE 16384
2097 #else
2098 #define YY_READ_BUF_SIZE 8192
2099 #endif /* __ia64__ */
2100 #endif
2101 
2102 /* Copy whatever the last rule matched to the standard output. */
2103 #ifndef ECHO
2104 /* This used to be an fputs(), but since the string might contain NUL's,
2105  * we now use fwrite().
2106  */
2107 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2108 #endif
2109 
2110 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2111  * is returned in "result".
2112  */
2113 #ifndef YY_INPUT
2114 #define YY_INPUT(buf,result,max_size) \
2115 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2116 		{ \
2117 		int c = '*'; \
2118 		int n; \
2119 		for ( n = 0; n < max_size && \
2120 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2121 			buf[n] = (char) c; \
2122 		if ( c == '\n' ) \
2123 			buf[n++] = (char) c; \
2124 		if ( c == EOF && ferror( yyin ) ) \
2125 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2126 		result = n; \
2127 		} \
2128 	else \
2129 		{ \
2130 		errno=0; \
2131 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2132 			{ \
2133 			if( errno != EINTR) \
2134 				{ \
2135 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2136 				break; \
2137 				} \
2138 			errno=0; \
2139 			clearerr(yyin); \
2140 			} \
2141 		}\
2142 \
2143 
2144 #endif
2145 
2146 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2147  * we don't want an extra ';' after the "return" because that will cause
2148  * some compilers to complain about unreachable statements.
2149  */
2150 #ifndef yyterminate
2151 #define yyterminate() return YY_NULL
2152 #endif
2153 
2154 /* Number of entries by which start-condition stack grows. */
2155 #ifndef YY_START_STACK_INCR
2156 #define YY_START_STACK_INCR 25
2157 #endif
2158 
2159 /* Report a fatal error. */
2160 #ifndef YY_FATAL_ERROR
2161 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2162 #endif
2163 
2164 /* end tables serialization structures and prototypes */
2165 
2166 /* Default declaration of generated scanner - a define so the user can
2167  * easily add parameters.
2168  */
2169 #ifndef YY_DECL
2170 #define YY_DECL_IS_OURS 1
2171 
2172 extern int yylex (void);
2173 
2174 #define YY_DECL int yylex (void)
2175 #endif /* !YY_DECL */
2176 
2177 /* Code executed at the beginning of each rule, after yytext and yyleng
2178  * have been set up.
2179  */
2180 #ifndef YY_USER_ACTION
2181 #define YY_USER_ACTION
2182 #endif
2183 
2184 /* Code executed at the end of each rule. */
2185 #ifndef YY_BREAK
2186 #define YY_BREAK /*LINTED*/break;
2187 #endif
2188 
2189 #define YY_RULE_SETUP \
2190 	if ( yyleng > 0 ) \
2191 		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2192 				(yytext[yyleng - 1] == '\n'); \
2193 	YY_USER_ACTION
2194 
2195 /** The main scanner function which does all the work.
2196  */
2197 YY_DECL
2198 {
2199 	yy_state_type yy_current_state;
2200 	char *yy_cp, *yy_bp;
2201 	int yy_act;
2202 
2203 	if ( !(yy_init) )
2204 		{
2205 		(yy_init) = 1;
2206 
2207 #ifdef YY_USER_INIT
2208 		YY_USER_INIT;
2209 #endif
2210 
2211 		if ( ! (yy_start) )
2212 			(yy_start) = 1;	/* first start state */
2213 
2214 		if ( ! yyin )
2215 			yyin = stdin;
2216 
2217 		if ( ! yyout )
2218 			yyout = stdout;
2219 
2220 		if ( ! YY_CURRENT_BUFFER ) {
2221 			yyensure_buffer_stack ();
2222 			YY_CURRENT_BUFFER_LVALUE =
2223 				yy_create_buffer( yyin, YY_BUF_SIZE );
2224 		}
2225 
2226 		yy_load_buffer_state(  );
2227 		}
2228 
2229 	{
2230 #line 159 "scan.l"
2231 
2232 #line 161 "scan.l"
2233 	static int bracelevel, didadef, indented_code;
2234 	static int doing_rule_action = false;
2235 	static int option_sense;
2236 
2237 	int doing_codeblock = false;
2238 	int brace_depth=0, brace_start_line=0;
2239 	char nmdef[MAXLINE];
2240 
2241 
2242 #line 2242 "<stdout>"
2243 
2244 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2245 		{
2246 		yy_cp = (yy_c_buf_p);
2247 
2248 		/* Support of yytext. */
2249 		*yy_cp = (yy_hold_char);
2250 
2251 		/* yy_bp points to the position in yy_ch_buf of the start of
2252 		 * the current run.
2253 		 */
2254 		yy_bp = yy_cp;
2255 
2256 		yy_current_state = (yy_start);
2257 		yy_current_state += YY_AT_BOL();
2258 yy_match:
2259 		do
2260 			{
2261 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2262 			if ( yy_accept[yy_current_state] )
2263 				{
2264 				(yy_last_accepting_state) = yy_current_state;
2265 				(yy_last_accepting_cpos) = yy_cp;
2266 				}
2267 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2268 				{
2269 				yy_current_state = (int) yy_def[yy_current_state];
2270 				if ( yy_current_state >= 1114 )
2271 					yy_c = yy_meta[yy_c];
2272 				}
2273 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2274 			++yy_cp;
2275 			}
2276 		while ( yy_base[yy_current_state] != 4511 );
2277 
2278 yy_find_action:
2279 		yy_act = yy_accept[yy_current_state];
2280 		if ( yy_act == 0 )
2281 			{ /* have to back up */
2282 			yy_cp = (yy_last_accepting_cpos);
2283 			yy_current_state = (yy_last_accepting_state);
2284 			yy_act = yy_accept[yy_current_state];
2285 			}
2286 
2287 		YY_DO_BEFORE_ACTION;
2288 
2289 do_action:	/* This label is used only to access EOF actions. */
2290 
2291 		switch ( yy_act )
2292 	{ /* beginning of action switch */
2293 			case 0: /* must back up */
2294 			/* undo the effects of YY_DO_BEFORE_ACTION */
2295 			*yy_cp = (yy_hold_char);
2296 			yy_cp = (yy_last_accepting_cpos);
2297 			yy_current_state = (yy_last_accepting_state);
2298 			goto yy_find_action;
2299 
2300 case 1:
2301 YY_RULE_SETUP
2302 #line 171 "scan.l"
2303 START_CODEBLOCK(true);
2304 	YY_BREAK
2305 case 2:
2306 YY_RULE_SETUP
2307 #line 172 "scan.l"
2308 add_action("/*[""["); yy_push_state( COMMENT );
2309 	YY_BREAK
2310 case 3:
2311 YY_RULE_SETUP
2312 #line 173 "scan.l"
2313 yy_push_state( LINEDIR );
2314 	YY_BREAK
2315 case 4:
2316 YY_RULE_SETUP
2317 #line 174 "scan.l"
2318 return SCDECL;
2319 	YY_BREAK
2320 case 5:
2321 YY_RULE_SETUP
2322 #line 175 "scan.l"
2323 return XSCDECL;
2324 	YY_BREAK
2325 case 6:
2326 /* rule 6 can match eol */
2327 YY_RULE_SETUP
2328 #line 176 "scan.l"
2329 START_CODEBLOCK(false);
2330 	YY_BREAK
2331 case 7:
2332 /* rule 7 can match eol */
2333 YY_RULE_SETUP
2334 #line 177 "scan.l"
2335 {
2336                 brace_start_line = linenum;
2337                 ++linenum;
2338                 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2339                 brace_depth = 1;
2340                 yy_push_state(CODEBLOCK_MATCH_BRACE);
2341             }
2342 	YY_BREAK
2343 case 8:
2344 YY_RULE_SETUP
2345 #line 185 "scan.l"
2346 synerr( _("malformed '%top' directive") );
2347 	YY_BREAK
2348 case 9:
2349 YY_RULE_SETUP
2350 #line 187 "scan.l"
2351 /* discard */
2352 	YY_BREAK
2353 case 10:
2354 YY_RULE_SETUP
2355 #line 189 "scan.l"
2356 {
2357 			sectnum = 2;
2358 			bracelevel = 0;
2359 			mark_defs1();
2360 			line_directive_out(NULL, 1);
2361 			BEGIN(SECT2PROLOG);
2362 			return SECTEND;
2363 			}
2364 	YY_BREAK
2365 case 11:
2366 /* rule 11 can match eol */
2367 YY_RULE_SETUP
2368 #line 198 "scan.l"
2369 yytext_is_array = false; ++linenum;
2370 	YY_BREAK
2371 case 12:
2372 /* rule 12 can match eol */
2373 YY_RULE_SETUP
2374 #line 199 "scan.l"
2375 yytext_is_array = true; ++linenum;
2376 	YY_BREAK
2377 case 13:
2378 YY_RULE_SETUP
2379 #line 201 "scan.l"
2380 BEGIN(OPTION); return TOK_OPTION;
2381 	YY_BREAK
2382 case 14:
2383 /* rule 14 can match eol */
2384 YY_RULE_SETUP
2385 #line 203 "scan.l"
2386 ++linenum; /* ignore */
2387 	YY_BREAK
2388 case 15:
2389 /* rule 15 can match eol */
2390 YY_RULE_SETUP
2391 #line 204 "scan.l"
2392 ++linenum;	/* ignore */
2393 	YY_BREAK
2394 /* xgettext: no-c-format */
2395 case 16:
2396 /* rule 16 can match eol */
2397 YY_RULE_SETUP
2398 #line 207 "scan.l"
2399 synerr( _( "unrecognized '%' directive" ) );
2400 	YY_BREAK
2401 case 17:
2402 YY_RULE_SETUP
2403 #line 209 "scan.l"
2404 {
2405 			if(yyleng < MAXLINE)
2406         		 {
2407 			strncpy( nmstr, yytext, sizeof(nmstr) );
2408 			 }
2409 			else
2410 			 {
2411 			   synerr( _("Definition name too long\n"));
2412 			   FLEX_EXIT(EXIT_FAILURE);
2413 			 }
2414 
2415 			didadef = false;
2416 			BEGIN(PICKUPDEF);
2417 			}
2418 	YY_BREAK
2419 case 18:
2420 YY_RULE_SETUP
2421 #line 224 "scan.l"
2422 RETURNNAME;
2423 	YY_BREAK
2424 case 19:
2425 /* rule 19 can match eol */
2426 YY_RULE_SETUP
2427 #line 225 "scan.l"
2428 ++linenum; /* allows blank lines in section 1 */
2429 	YY_BREAK
2430 case 20:
2431 /* rule 20 can match eol */
2432 YY_RULE_SETUP
2433 #line 226 "scan.l"
2434 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2435 	YY_BREAK
2436 
2437 /* */
2438 case 21:
2439 YY_RULE_SETUP
2440 #line 231 "scan.l"
2441 ACTION_ECHO;
2442 	YY_BREAK
2443 case 22:
2444 YY_RULE_SETUP
2445 #line 232 "scan.l"
2446 ACTION_ECHO;
2447 	YY_BREAK
2448 case 23:
2449 /* rule 23 can match eol */
2450 YY_RULE_SETUP
2451 #line 234 "scan.l"
2452 ++linenum; ACTION_ECHO;
2453 	YY_BREAK
2454 
2455 
2456 case 24:
2457 YY_RULE_SETUP
2458 #line 237 "scan.l"
2459 add_action("*/]""]"); yy_pop_state();
2460 	YY_BREAK
2461 
2462 
2463 case 25:
2464 YY_RULE_SETUP
2465 #line 240 "scan.l"
2466 ACTION_ECHO; yy_pop_state();
2467 	YY_BREAK
2468 
2469 
2470 /* This is the same as COMMENT, but is discarded rather than output. */
2471 case 26:
2472 YY_RULE_SETUP
2473 #line 245 "scan.l"
2474 yy_pop_state();
2475 	YY_BREAK
2476 case 27:
2477 YY_RULE_SETUP
2478 #line 246 "scan.l"
2479 ;
2480 	YY_BREAK
2481 case 28:
2482 YY_RULE_SETUP
2483 #line 247 "scan.l"
2484 ;
2485 	YY_BREAK
2486 case 29:
2487 /* rule 29 can match eol */
2488 YY_RULE_SETUP
2489 #line 248 "scan.l"
2490 ++linenum;
2491 	YY_BREAK
2492 
2493 
2494 case 30:
2495 YY_RULE_SETUP
2496 #line 252 "scan.l"
2497 yy_pop_state();
2498 	YY_BREAK
2499 case 31:
2500 YY_RULE_SETUP
2501 #line 253 "scan.l"
2502 ;
2503 	YY_BREAK
2504 case 32:
2505 /* rule 32 can match eol */
2506 YY_RULE_SETUP
2507 #line 254 "scan.l"
2508 ++linenum;
2509 	YY_BREAK
2510 
2511 
2512 case 33:
2513 /* rule 33 can match eol */
2514 YY_RULE_SETUP
2515 #line 258 "scan.l"
2516 yy_pop_state();
2517 	YY_BREAK
2518 case 34:
2519 YY_RULE_SETUP
2520 #line 259 "scan.l"
2521 linenum = myctoi( yytext );
2522 	YY_BREAK
2523 case 35:
2524 YY_RULE_SETUP
2525 #line 261 "scan.l"
2526 {
2527 			free(infilename);
2528 			infilename = xstrdup(yytext + 1);
2529 			infilename[strlen( infilename ) - 1] = '\0';
2530 			}
2531 	YY_BREAK
2532 case 36:
2533 YY_RULE_SETUP
2534 #line 266 "scan.l"
2535 /* ignore spurious characters */
2536 	YY_BREAK
2537 
2538 
2539 case 37:
2540 YY_RULE_SETUP
2541 #line 269 "scan.l"
2542 ACTION_ECHO_QSTART;
2543 	YY_BREAK
2544 case 38:
2545 YY_RULE_SETUP
2546 #line 270 "scan.l"
2547 ACTION_ECHO_QEND;
2548 	YY_BREAK
2549 
2550 
2551 case 39:
2552 /* rule 39 can match eol */
2553 YY_RULE_SETUP
2554 #line 274 "scan.l"
2555 ++linenum; END_CODEBLOCK;
2556 	YY_BREAK
2557 case 40:
2558 YY_RULE_SETUP
2559 #line 275 "scan.l"
2560 ACTION_ECHO;
2561 	YY_BREAK
2562 case 41:
2563 YY_RULE_SETUP
2564 #line 276 "scan.l"
2565 ACTION_ECHO;
2566 	YY_BREAK
2567 case 42:
2568 /* rule 42 can match eol */
2569 YY_RULE_SETUP
2570 #line 277 "scan.l"
2571 {
2572 			++linenum;
2573 			ACTION_ECHO;
2574 			if ( indented_code ) END_CODEBLOCK;
2575 			}
2576 	YY_BREAK
2577 
2578 
2579 case 43:
2580 YY_RULE_SETUP
2581 #line 285 "scan.l"
2582 {
2583                 if( --brace_depth == 0){
2584                     /* TODO: Matched. */
2585                     yy_pop_state();
2586                 }else
2587                     buf_strnappend(&top_buf, yytext, yyleng);
2588             }
2589 	YY_BREAK
2590 case 44:
2591 YY_RULE_SETUP
2592 #line 293 "scan.l"
2593 {
2594                 brace_depth++;
2595                 buf_strnappend(&top_buf, yytext, yyleng);
2596             }
2597 	YY_BREAK
2598 case 45:
2599 /* rule 45 can match eol */
2600 YY_RULE_SETUP
2601 #line 298 "scan.l"
2602 {
2603                 ++linenum;
2604                 buf_strnappend(&top_buf, yytext, yyleng);
2605             }
2606 	YY_BREAK
2607 case 46:
2608 YY_RULE_SETUP
2609 #line 303 "scan.l"
2610 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2611 	YY_BREAK
2612 case 47:
2613 YY_RULE_SETUP
2614 #line 304 "scan.l"
2615 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2616 	YY_BREAK
2617 case 48:
2618 YY_RULE_SETUP
2619 #line 305 "scan.l"
2620 {
2621        buf_strnappend(&top_buf, yytext, yyleng);
2622     }
2623 	YY_BREAK
2624 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2625 #line 309 "scan.l"
2626 {
2627                 linenum = brace_start_line;
2628                 synerr(_("Unmatched '{'"));
2629                 yyterminate();
2630                 }
2631 	YY_BREAK
2632 
2633 
2634 case 49:
2635 YY_RULE_SETUP
2636 #line 318 "scan.l"
2637 /* separates name and definition */
2638 	YY_BREAK
2639 case 50:
2640 YY_RULE_SETUP
2641 #line 320 "scan.l"
2642 {
2643  		        if(yyleng < MAXLINE)
2644  		         {
2645 			strncpy( nmdef, yytext, sizeof(nmdef) );
2646  		         }
2647  		        else
2648  		         {
2649  		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2650  		           FLEX_EXIT(EXIT_FAILURE);
2651 			 }
2652 			/* Skip trailing whitespace. */
2653 			{
2654 			    size_t i = strlen( nmdef );
2655 			    while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2656 			       --i;
2657 			    nmdef[i] = '\0';
2658 			}
2659 
2660 			ndinstal( nmstr, nmdef );
2661 			didadef = true;
2662 			}
2663 	YY_BREAK
2664 case 51:
2665 /* rule 51 can match eol */
2666 YY_RULE_SETUP
2667 #line 342 "scan.l"
2668 {
2669 			if ( ! didadef )
2670 				synerr( _( "incomplete name definition" ) );
2671 			BEGIN(INITIAL);
2672 			++linenum;
2673 			}
2674 	YY_BREAK
2675 
2676 
2677 case 52:
2678 /* rule 52 can match eol */
2679 YY_RULE_SETUP
2680 #line 352 "scan.l"
2681 ++linenum; BEGIN(INITIAL);
2682 	YY_BREAK
2683 case 53:
2684 YY_RULE_SETUP
2685 #line 353 "scan.l"
2686 option_sense = true;
2687 	YY_BREAK
2688 case 54:
2689 YY_RULE_SETUP
2690 #line 355 "scan.l"
2691 return '=';
2692 	YY_BREAK
2693 case 55:
2694 YY_RULE_SETUP
2695 #line 357 "scan.l"
2696 option_sense = ! option_sense;
2697 	YY_BREAK
2698 case 56:
2699 YY_RULE_SETUP
2700 #line 359 "scan.l"
2701 csize = option_sense ? 128 : 256;
2702 	YY_BREAK
2703 case 57:
2704 YY_RULE_SETUP
2705 #line 360 "scan.l"
2706 csize = option_sense ? 256 : 128;
2707 	YY_BREAK
2708 case 58:
2709 YY_RULE_SETUP
2710 #line 362 "scan.l"
2711 long_align = option_sense;
2712 	YY_BREAK
2713 case 59:
2714 YY_RULE_SETUP
2715 #line 363 "scan.l"
2716 {
2717 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2718             interactive = option_sense;
2719 			}
2720 	YY_BREAK
2721 case 60:
2722 YY_RULE_SETUP
2723 #line 367 "scan.l"
2724 yytext_is_array = option_sense;
2725 	YY_BREAK
2726 case 61:
2727 YY_RULE_SETUP
2728 #line 368 "scan.l"
2729 backing_up_report = option_sense;
2730 	YY_BREAK
2731 case 62:
2732 YY_RULE_SETUP
2733 #line 369 "scan.l"
2734 interactive = ! option_sense;
2735 	YY_BREAK
2736 case 63:
2737 YY_RULE_SETUP
2738 #line 370 "scan.l"
2739 bison_bridge_lval = option_sense;
2740 	YY_BREAK
2741 case 64:
2742 YY_RULE_SETUP
2743 #line 371 "scan.l"
2744 { if((bison_bridge_lloc = option_sense))
2745                             bison_bridge_lval = true;
2746                      }
2747 	YY_BREAK
2748 case 65:
2749 YY_RULE_SETUP
2750 #line 374 "scan.l"
2751 C_plus_plus = option_sense;
2752 	YY_BREAK
2753 case 66:
2754 YY_RULE_SETUP
2755 #line 375 "scan.l"
2756 sf_set_case_ins(!option_sense);
2757 	YY_BREAK
2758 case 67:
2759 YY_RULE_SETUP
2760 #line 376 "scan.l"
2761 sf_set_case_ins(option_sense);
2762 	YY_BREAK
2763 case 68:
2764 YY_RULE_SETUP
2765 #line 377 "scan.l"
2766 ddebug = option_sense;
2767 	YY_BREAK
2768 case 69:
2769 YY_RULE_SETUP
2770 #line 378 "scan.l"
2771 spprdflt = ! option_sense;
2772 	YY_BREAK
2773 case 70:
2774 YY_RULE_SETUP
2775 #line 379 "scan.l"
2776 useecs = option_sense;
2777 	YY_BREAK
2778 case 71:
2779 YY_RULE_SETUP
2780 #line 380 "scan.l"
2781 {
2782 			useecs = usemecs = false;
2783 			use_read = fullspd = true;
2784 			}
2785 	YY_BREAK
2786 case 72:
2787 YY_RULE_SETUP
2788 #line 384 "scan.l"
2789 {
2790 			useecs = usemecs = false;
2791 			use_read = fulltbl = true;
2792 			}
2793 	YY_BREAK
2794 case 73:
2795 YY_RULE_SETUP
2796 #line 388 "scan.l"
2797 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2798 	YY_BREAK
2799 case 74:
2800 YY_RULE_SETUP
2801 #line 389 "scan.l"
2802 interactive = option_sense;
2803 	YY_BREAK
2804 case 75:
2805 YY_RULE_SETUP
2806 #line 390 "scan.l"
2807 lex_compat = option_sense;
2808 	YY_BREAK
2809 case 76:
2810 YY_RULE_SETUP
2811 #line 391 "scan.l"
2812 posix_compat = option_sense;
2813 	YY_BREAK
2814 case 77:
2815 YY_RULE_SETUP
2816 #line 392 "scan.l"
2817 gen_line_dirs = option_sense;
2818 	YY_BREAK
2819 case 78:
2820 YY_RULE_SETUP
2821 #line 393 "scan.l"
2822 {
2823 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2824             /* Override yywrap */
2825             if( option_sense == true )
2826                 do_yywrap = false;
2827 			}
2828 	YY_BREAK
2829 case 79:
2830 YY_RULE_SETUP
2831 #line 399 "scan.l"
2832 usemecs = option_sense;
2833 	YY_BREAK
2834 case 80:
2835 YY_RULE_SETUP
2836 #line 400 "scan.l"
2837 {
2838 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2839             interactive = !option_sense;
2840 			}
2841 	YY_BREAK
2842 case 81:
2843 YY_RULE_SETUP
2844 #line 404 "scan.l"
2845 performance_report += option_sense ? 1 : -1;
2846 	YY_BREAK
2847 case 82:
2848 YY_RULE_SETUP
2849 #line 405 "scan.l"
2850 yytext_is_array = ! option_sense;
2851 	YY_BREAK
2852 case 83:
2853 YY_RULE_SETUP
2854 #line 406 "scan.l"
2855 use_read = option_sense;
2856 	YY_BREAK
2857 case 84:
2858 YY_RULE_SETUP
2859 #line 407 "scan.l"
2860 reentrant = option_sense;
2861 	YY_BREAK
2862 case 85:
2863 YY_RULE_SETUP
2864 #line 408 "scan.l"
2865 reject_really_used = option_sense;
2866 	YY_BREAK
2867 case 86:
2868 YY_RULE_SETUP
2869 #line 409 "scan.l"
2870 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2871 	YY_BREAK
2872 case 87:
2873 YY_RULE_SETUP
2874 #line 410 "scan.l"
2875 do_stdinit = option_sense;
2876 	YY_BREAK
2877 case 88:
2878 YY_RULE_SETUP
2879 #line 411 "scan.l"
2880 use_stdout = option_sense;
2881 	YY_BREAK
2882 case 89:
2883 YY_RULE_SETUP
2884 #line 412 "scan.l"
2885 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2886 	YY_BREAK
2887 case 90:
2888 YY_RULE_SETUP
2889 #line 413 "scan.l"
2890 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2891 	YY_BREAK
2892 case 91:
2893 YY_RULE_SETUP
2894 #line 414 "scan.l"
2895 printstats = option_sense;
2896 	YY_BREAK
2897 case 92:
2898 YY_RULE_SETUP
2899 #line 415 "scan.l"
2900 nowarn = ! option_sense;
2901 	YY_BREAK
2902 case 93:
2903 YY_RULE_SETUP
2904 #line 416 "scan.l"
2905 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2906 	YY_BREAK
2907 case 94:
2908 YY_RULE_SETUP
2909 #line 417 "scan.l"
2910 yymore_really_used = option_sense;
2911 	YY_BREAK
2912 case 95:
2913 YY_RULE_SETUP
2914 #line 418 "scan.l"
2915 do_yywrap = option_sense;
2916 	YY_BREAK
2917 case 96:
2918 YY_RULE_SETUP
2919 #line 420 "scan.l"
2920 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2921 	YY_BREAK
2922 case 97:
2923 YY_RULE_SETUP
2924 #line 421 "scan.l"
2925 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2926 	YY_BREAK
2927 case 98:
2928 YY_RULE_SETUP
2929 #line 422 "scan.l"
2930 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2931 	YY_BREAK
2932 case 99:
2933 YY_RULE_SETUP
2934 #line 424 "scan.l"
2935 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2936 	YY_BREAK
2937 case 100:
2938 YY_RULE_SETUP
2939 #line 425 "scan.l"
2940 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2941 	YY_BREAK
2942 case 101:
2943 YY_RULE_SETUP
2944 #line 426 "scan.l"
2945 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2946 	YY_BREAK
2947 case 102:
2948 YY_RULE_SETUP
2949 #line 428 "scan.l"
2950 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2951 	YY_BREAK
2952 case 103:
2953 YY_RULE_SETUP
2954 #line 429 "scan.l"
2955 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2956 	YY_BREAK
2957 case 104:
2958 YY_RULE_SETUP
2959 #line 430 "scan.l"
2960 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2961 	YY_BREAK
2962 case 105:
2963 YY_RULE_SETUP
2964 #line 432 "scan.l"
2965 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2966 	YY_BREAK
2967 case 106:
2968 YY_RULE_SETUP
2969 #line 433 "scan.l"
2970 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2971 	YY_BREAK
2972 case 107:
2973 YY_RULE_SETUP
2974 #line 434 "scan.l"
2975 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2976 	YY_BREAK
2977 case 108:
2978 YY_RULE_SETUP
2979 #line 435 "scan.l"
2980 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2981 	YY_BREAK
2982 case 109:
2983 YY_RULE_SETUP
2984 #line 436 "scan.l"
2985 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2986 	YY_BREAK
2987 case 110:
2988 YY_RULE_SETUP
2989 #line 437 "scan.l"
2990 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2991 	YY_BREAK
2992 case 111:
2993 YY_RULE_SETUP
2994 #line 438 "scan.l"
2995 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2996 	YY_BREAK
2997 case 112:
2998 YY_RULE_SETUP
2999 #line 439 "scan.l"
3000 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
3001 	YY_BREAK
3002 case 113:
3003 YY_RULE_SETUP
3004 #line 440 "scan.l"
3005 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
3006 	YY_BREAK
3007 case 114:
3008 YY_RULE_SETUP
3009 #line 441 "scan.l"
3010 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
3011 	YY_BREAK
3012 case 115:
3013 YY_RULE_SETUP
3014 #line 442 "scan.l"
3015 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
3016 	YY_BREAK
3017 case 116:
3018 YY_RULE_SETUP
3019 #line 443 "scan.l"
3020 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
3021 	YY_BREAK
3022 case 117:
3023 YY_RULE_SETUP
3024 #line 444 "scan.l"
3025 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
3026 	YY_BREAK
3027 case 118:
3028 YY_RULE_SETUP
3029 #line 445 "scan.l"
3030 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
3031 	YY_BREAK
3032 case 119:
3033 YY_RULE_SETUP
3034 #line 446 "scan.l"
3035 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
3036 	YY_BREAK
3037 case 120:
3038 YY_RULE_SETUP
3039 #line 447 "scan.l"
3040 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
3041 	YY_BREAK
3042 case 121:
3043 YY_RULE_SETUP
3044 #line 449 "scan.l"
3045 return TOK_EXTRA_TYPE;
3046 	YY_BREAK
3047 case 122:
3048 YY_RULE_SETUP
3049 #line 450 "scan.l"
3050 return TOK_OUTFILE;
3051 	YY_BREAK
3052 case 123:
3053 YY_RULE_SETUP
3054 #line 451 "scan.l"
3055 return TOK_PREFIX;
3056 	YY_BREAK
3057 case 124:
3058 YY_RULE_SETUP
3059 #line 452 "scan.l"
3060 return TOK_YYCLASS;
3061 	YY_BREAK
3062 case 125:
3063 YY_RULE_SETUP
3064 #line 453 "scan.l"
3065 return TOK_HEADER_FILE;
3066 	YY_BREAK
3067 case 126:
3068 YY_RULE_SETUP
3069 #line 454 "scan.l"
3070 return TOK_TABLES_FILE;
3071 	YY_BREAK
3072 case 127:
3073 YY_RULE_SETUP
3074 #line 455 "scan.l"
3075 {
3076                     tablesverify = option_sense;
3077                     if(!tablesext && option_sense)
3078                         tablesext = true;
3079                     }
3080 	YY_BREAK
3081 case 128:
3082 YY_RULE_SETUP
3083 #line 462 "scan.l"
3084 {
3085 			if(yyleng-1 < MAXLINE)
3086         		 {
3087 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3088 			 }
3089 			else
3090 			 {
3091 			   synerr( _("Option line too long\n"));
3092 			   FLEX_EXIT(EXIT_FAILURE);
3093 			 }
3094 			nmstr[strlen( nmstr ) - 1] = '\0';
3095 			return NAME;
3096 			}
3097 	YY_BREAK
3098 case 129:
3099 YY_RULE_SETUP
3100 #line 476 "scan.l"
3101 {
3102 			format_synerr( _( "unrecognized %%option: %s" ),
3103 				yytext );
3104 			BEGIN(RECOVER);
3105 			}
3106 	YY_BREAK
3107 
3108 case 130:
3109 /* rule 130 can match eol */
3110 YY_RULE_SETUP
3111 #line 483 "scan.l"
3112 ++linenum; BEGIN(INITIAL);
3113 	YY_BREAK
3114 
3115 case 131:
3116 YY_RULE_SETUP
3117 #line 487 "scan.l"
3118 ++bracelevel; yyless( 2 );	/* eat only %{ */
3119 	YY_BREAK
3120 case 132:
3121 YY_RULE_SETUP
3122 #line 488 "scan.l"
3123 --bracelevel; yyless( 2 );	/* eat only %} */
3124 	YY_BREAK
3125 case 133:
3126 YY_RULE_SETUP
3127 #line 490 "scan.l"
3128 START_CODEBLOCK(true); /* indented code in prolog */
3129 	YY_BREAK
3130 case 134:
3131 YY_RULE_SETUP
3132 #line 492 "scan.l"
3133 {
3134         /* non-indented code */
3135 		if ( bracelevel <= 0 ) {
3136             /* not in %{ ... %} */
3137             yyless( 0 );	/* put it all back */
3138             yy_set_bol( 1 );
3139             mark_prolog();
3140             BEGIN(SECT2);
3141         } else {
3142             START_CODEBLOCK(true);
3143         }
3144     }
3145 	YY_BREAK
3146 case 135:
3147 YY_RULE_SETUP
3148 #line 505 "scan.l"
3149 ACTION_ECHO;
3150 	YY_BREAK
3151 case 136:
3152 /* rule 136 can match eol */
3153 YY_RULE_SETUP
3154 #line 506 "scan.l"
3155 ++linenum; ACTION_ECHO;
3156 	YY_BREAK
3157 case YY_STATE_EOF(SECT2PROLOG):
3158 #line 508 "scan.l"
3159 {
3160 			mark_prolog();
3161 			sectnum = 0;
3162 			yyterminate(); /* to stop the parser */
3163 			}
3164 	YY_BREAK
3165 
3166 
3167 case 137:
3168 /* rule 137 can match eol */
3169 YY_RULE_SETUP
3170 #line 516 "scan.l"
3171 ++linenum; /* allow blank lines in section 2 */
3172 	YY_BREAK
3173 case 138:
3174 YY_RULE_SETUP
3175 #line 518 "scan.l"
3176 {
3177 			indented_code = false;
3178 			doing_codeblock = true;
3179 			bracelevel = 1;
3180 			BEGIN(PERCENT_BRACE_ACTION);
3181 			}
3182 	YY_BREAK
3183 case 139:
3184 YY_RULE_SETUP
3185 #line 525 "scan.l"
3186 {
3187                         /* Allow "<" to appear in (?x) patterns. */
3188                         if (!sf_skip_ws())
3189                             BEGIN(SC);
3190                         return '<';
3191                     }
3192 	YY_BREAK
3193 case 140:
3194 YY_RULE_SETUP
3195 #line 531 "scan.l"
3196 return '^';
3197 	YY_BREAK
3198 case 141:
3199 YY_RULE_SETUP
3200 #line 532 "scan.l"
3201 BEGIN(QUOTE); return '"';
3202 	YY_BREAK
3203 case 142:
3204 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3205 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3206 YY_DO_BEFORE_ACTION; /* set up yytext again */
3207 YY_RULE_SETUP
3208 #line 533 "scan.l"
3209 {
3210 			BEGIN(NUM);
3211 			if ( lex_compat || posix_compat )
3212 				return BEGIN_REPEAT_POSIX;
3213 			else
3214 				return BEGIN_REPEAT_FLEX;
3215 			}
3216 	YY_BREAK
3217 case 143:
3218 /* rule 143 can match eol */
3219 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3220 YY_LINENO_REWIND_TO(yy_bp + 1);
3221 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3222 YY_DO_BEFORE_ACTION; /* set up yytext again */
3223 YY_RULE_SETUP
3224 #line 540 "scan.l"
3225 return '$';
3226 	YY_BREAK
3227 case 144:
3228 YY_RULE_SETUP
3229 #line 542 "scan.l"
3230 {
3231 			bracelevel = 1;
3232 			BEGIN(PERCENT_BRACE_ACTION);
3233 
3234 			if ( in_rule )
3235 				{
3236 				doing_rule_action = true;
3237 				in_rule = false;
3238 				return '\n';
3239 				}
3240 			}
3241 	YY_BREAK
3242 case 145:
3243 /* rule 145 can match eol */
3244 YY_RULE_SETUP
3245 #line 553 "scan.l"
3246 {
3247                         if (sf_skip_ws()){
3248                             /* We're in the middle of a (?x: ) pattern. */
3249                             /* Push back everything starting at the "|" */
3250                             int amt = (int) (strchr (yytext, '|') - yytext);
3251                             yyless(amt);
3252                         }
3253                         else {
3254                             add_action("]""]");
3255                             continued_action = true;
3256                             ++linenum;
3257                             return '\n';
3258                         }
3259                     }
3260 	YY_BREAK
3261 case 146:
3262 YY_RULE_SETUP
3263 #line 568 "scan.l"
3264 {
3265 
3266                 if (sf_skip_ws()){
3267                     /* We're in the middle of a (?x: ) pattern. */
3268                     yy_push_state(COMMENT_DISCARD);
3269                 }
3270                 else{
3271                     yyless( yyleng - 2 );	/* put back '/', '*' */
3272                     bracelevel = 0;
3273                     continued_action = false;
3274                     BEGIN(ACTION);
3275                 }
3276 			}
3277 	YY_BREAK
3278 case 147:
3279 YY_RULE_SETUP
3280 #line 582 "scan.l"
3281 /* allow indented rules */ ;
3282 	YY_BREAK
3283 case 148:
3284 YY_RULE_SETUP
3285 #line 584 "scan.l"
3286 {
3287             if (sf_skip_ws()){
3288                 /* We're in the middle of a (?x: ) pattern. */
3289             }
3290             else{
3291                 /* This rule is separate from the one below because
3292                  * otherwise we get variable trailing context, so
3293                  * we can't build the scanner using -{f,F}.
3294                  */
3295                 bracelevel = 0;
3296                 continued_action = false;
3297                 BEGIN(ACTION);
3298 
3299                 if ( in_rule )
3300                     {
3301                     doing_rule_action = true;
3302                     in_rule = false;
3303                     return '\n';
3304                     }
3305             }
3306 			}
3307 	YY_BREAK
3308 case 149:
3309 /* rule 149 can match eol */
3310 YY_RULE_SETUP
3311 #line 606 "scan.l"
3312 {
3313             if (sf_skip_ws()){
3314                 /* We're in the middle of a (?x: ) pattern. */
3315                 ++linenum;
3316             }
3317             else{
3318                 bracelevel = 0;
3319                 continued_action = false;
3320                 BEGIN(ACTION);
3321                 unput( '\n' );	/* so <ACTION> sees it */
3322 
3323                 if ( in_rule )
3324                     {
3325                     doing_rule_action = true;
3326                     in_rule = false;
3327                     return '\n';
3328                     }
3329             }
3330 			}
3331 	YY_BREAK
3332 case 150:
3333 #line 627 "scan.l"
3334 case 151:
3335 YY_RULE_SETUP
3336 #line 627 "scan.l"
3337 return EOF_OP;
3338 	YY_BREAK
3339 case 152:
3340 YY_RULE_SETUP
3341 #line 629 "scan.l"
3342 {
3343 			sectnum = 3;
3344 			BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3345 			outn("/* Begin user sect3 */");
3346 			yyterminate(); /* to stop the parser */
3347 
3348 			}
3349 	YY_BREAK
3350 case 153:
3351 YY_RULE_SETUP
3352 #line 637 "scan.l"
3353 {
3354 			int cclval;
3355 
3356 			if(yyleng < MAXLINE)
3357         		 {
3358 			strncpy( nmstr, yytext, sizeof(nmstr) );
3359 			 }
3360 			else
3361 			 {
3362 			   synerr( _("Input line too long\n"));
3363 			   FLEX_EXIT(EXIT_FAILURE);
3364 			 }
3365 
3366 			/* Check to see if we've already encountered this
3367 			 * ccl.
3368 			 */
3369 			if (0 /* <--- This "0" effectively disables the reuse of a
3370                    * character class (purely based on its source text).
3371                    * The reason it was disabled is so yacc/bison can parse
3372                    * ccl operations, such as ccl difference and union.
3373                    */
3374                 &&  (cclval = ccllookup( nmstr )) != 0 )
3375 				{
3376 				if ( input() != ']' )
3377 					synerr( _( "bad character class" ) );
3378 
3379 				yylval = cclval;
3380 				++cclreuse;
3381 				return PREVCCL;
3382 				}
3383 			else
3384 				{
3385 				/* We fudge a bit.  We know that this ccl will
3386 				 * soon be numbered as lastccl + 1 by cclinit.
3387 				 */
3388 				cclinstal( nmstr, lastccl + 1 );
3389 
3390 				/* Push back everything but the leading bracket
3391 				 * so the ccl can be rescanned.
3392 				 */
3393 				yyless( 1 );
3394 
3395 				BEGIN(FIRSTCCL);
3396 				return '[';
3397 				}
3398 			}
3399 	YY_BREAK
3400 case 154:
3401 YY_RULE_SETUP
3402 #line 683 "scan.l"
3403 return CCL_OP_DIFF;
3404 	YY_BREAK
3405 case 155:
3406 YY_RULE_SETUP
3407 #line 684 "scan.l"
3408 return CCL_OP_UNION;
3409 	YY_BREAK
3410 /* Check for :space: at the end of the rule so we don't
3411      * wrap the expanded regex in '(' ')' -- breaking trailing
3412      * context.
3413      */
3414 case 156:
3415 /* rule 156 can match eol */
3416 YY_RULE_SETUP
3417 #line 691 "scan.l"
3418 {
3419 			char *nmdefptr;
3420             int end_is_ws, end_ch;
3421 
3422             end_ch = yytext[yyleng-1];
3423             end_is_ws = end_ch != '}' ? 1 : 0;
3424 
3425  			if(yyleng-1 < MAXLINE)
3426          		 {
3427 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3428  			 }
3429  			else
3430  			 {
3431  			   synerr( _("Input line too long\n"));
3432  			   FLEX_EXIT(EXIT_FAILURE);
3433  			 }
3434 nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3435 
3436 			if ( (nmdefptr = ndlookup( nmstr )) == NULL )
3437 				format_synerr(
3438 					_( "undefined definition {%s}" ),
3439 						nmstr );
3440 
3441 			else
3442 				{ /* push back name surrounded by ()'s */
3443 				size_t len = strlen( nmdefptr );
3444                 if (end_is_ws)
3445                     unput(end_ch);
3446 
3447 				if ( lex_compat || nmdefptr[0] == '^' ||
3448 				     (len > 0 && nmdefptr[len - 1] == '$')
3449                      || (end_is_ws && trlcontxt && !sf_skip_ws()))
3450 					{ /* don't use ()'s after all */
3451 					PUT_BACK_STRING(nmdefptr, 0);
3452 
3453 					if ( nmdefptr[0] == '^' )
3454 						BEGIN(CARETISBOL);
3455 					}
3456 
3457 				else
3458 					{
3459 					unput(')');
3460 					PUT_BACK_STRING(nmdefptr, 0);
3461 					unput('(');
3462 					}
3463 				}
3464 			}
3465 	YY_BREAK
3466 case 157:
3467 YY_RULE_SETUP
3468 #line 739 "scan.l"
3469 {
3470                     if (sf_skip_ws())
3471                         yy_push_state(COMMENT_DISCARD);
3472                     else{
3473                         /* Push back the "*" and return "/" as usual. */
3474                         yyless(1);
3475                         return '/';
3476                     }
3477                 }
3478 	YY_BREAK
3479 case 158:
3480 YY_RULE_SETUP
3481 #line 749 "scan.l"
3482 {
3483                     if (lex_compat || posix_compat){
3484                         /* Push back the "?#" and treat it like a normal parens. */
3485                         yyless(1);
3486                         sf_push();
3487                         return '(';
3488                     }
3489                     else
3490                         yy_push_state(EXTENDED_COMMENT);
3491                 }
3492 	YY_BREAK
3493 case 159:
3494 YY_RULE_SETUP
3495 #line 759 "scan.l"
3496 {
3497                     sf_push();
3498                     if (lex_compat || posix_compat)
3499                         /* Push back the "?" and treat it like a normal parens. */
3500                         yyless(1);
3501                     else
3502                         BEGIN(GROUP_WITH_PARAMS);
3503                     return '(';
3504                 }
3505 	YY_BREAK
3506 case 160:
3507 YY_RULE_SETUP
3508 #line 768 "scan.l"
3509 sf_push(); return '(';
3510 	YY_BREAK
3511 case 161:
3512 YY_RULE_SETUP
3513 #line 769 "scan.l"
3514 {
3515                     if (_sf_top_ix > 0) {
3516                         sf_pop();
3517                         return ')';
3518                     } else
3519                         synerr(_("unbalanced parenthesis"));
3520                 }
3521 	YY_BREAK
3522 case 162:
3523 YY_RULE_SETUP
3524 #line 777 "scan.l"
3525 return (unsigned char) yytext[0];
3526 	YY_BREAK
3527 case 163:
3528 YY_RULE_SETUP
3529 #line 778 "scan.l"
3530 RETURNCHAR;
3531 	YY_BREAK
3532 
3533 
3534 case 164:
3535 /* rule 164 can match eol */
3536 YY_RULE_SETUP
3537 #line 783 "scan.l"
3538 ++linenum;	/* Allow blank lines & continuations */
3539 	YY_BREAK
3540 case 165:
3541 YY_RULE_SETUP
3542 #line 784 "scan.l"
3543 return (unsigned char) yytext[0];
3544 	YY_BREAK
3545 case 166:
3546 YY_RULE_SETUP
3547 #line 785 "scan.l"
3548 BEGIN(SECT2); return '>';
3549 	YY_BREAK
3550 case 167:
3551 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3552 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3553 YY_DO_BEFORE_ACTION; /* set up yytext again */
3554 YY_RULE_SETUP
3555 #line 786 "scan.l"
3556 BEGIN(CARETISBOL); return '>';
3557 	YY_BREAK
3558 case 168:
3559 YY_RULE_SETUP
3560 #line 787 "scan.l"
3561 RETURNNAME;
3562 	YY_BREAK
3563 case 169:
3564 YY_RULE_SETUP
3565 #line 788 "scan.l"
3566 {
3567 			format_synerr( _( "bad <start condition>: %s" ),
3568 				yytext );
3569 			}
3570 	YY_BREAK
3571 
3572 case 170:
3573 YY_RULE_SETUP
3574 #line 794 "scan.l"
3575 BEGIN(SECT2); return '^';
3576 	YY_BREAK
3577 
3578 case 171:
3579 YY_RULE_SETUP
3580 #line 798 "scan.l"
3581 RETURNCHAR;
3582 	YY_BREAK
3583 case 172:
3584 YY_RULE_SETUP
3585 #line 799 "scan.l"
3586 BEGIN(SECT2); return '"';
3587 	YY_BREAK
3588 case 173:
3589 /* rule 173 can match eol */
3590 YY_RULE_SETUP
3591 #line 801 "scan.l"
3592 {
3593 			synerr( _( "missing quote" ) );
3594 			BEGIN(SECT2);
3595 			++linenum;
3596 			return '"';
3597 			}
3598 	YY_BREAK
3599 
3600 
3601 case 174:
3602 YY_RULE_SETUP
3603 #line 810 "scan.l"
3604 BEGIN(SECT2);
3605 	YY_BREAK
3606 case 175:
3607 YY_RULE_SETUP
3608 #line 811 "scan.l"
3609 BEGIN(GROUP_MINUS_PARAMS);
3610 	YY_BREAK
3611 case 176:
3612 YY_RULE_SETUP
3613 #line 812 "scan.l"
3614 sf_set_case_ins(1);
3615 	YY_BREAK
3616 case 177:
3617 YY_RULE_SETUP
3618 #line 813 "scan.l"
3619 sf_set_dot_all(1);
3620 	YY_BREAK
3621 case 178:
3622 YY_RULE_SETUP
3623 #line 814 "scan.l"
3624 sf_set_skip_ws(1);
3625 	YY_BREAK
3626 
3627 
3628 case 179:
3629 YY_RULE_SETUP
3630 #line 817 "scan.l"
3631 BEGIN(SECT2);
3632 	YY_BREAK
3633 case 180:
3634 YY_RULE_SETUP
3635 #line 818 "scan.l"
3636 sf_set_case_ins(0);
3637 	YY_BREAK
3638 case 181:
3639 YY_RULE_SETUP
3640 #line 819 "scan.l"
3641 sf_set_dot_all(0);
3642 	YY_BREAK
3643 case 182:
3644 YY_RULE_SETUP
3645 #line 820 "scan.l"
3646 sf_set_skip_ws(0);
3647 	YY_BREAK
3648 
3649 
3650 case 183:
3651 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3652 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3653 YY_DO_BEFORE_ACTION; /* set up yytext again */
3654 YY_RULE_SETUP
3655 #line 824 "scan.l"
3656 BEGIN(CCL); return '^';
3657 	YY_BREAK
3658 case 184:
3659 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3660 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3661 YY_DO_BEFORE_ACTION; /* set up yytext again */
3662 YY_RULE_SETUP
3663 #line 825 "scan.l"
3664 return '^';
3665 	YY_BREAK
3666 case 185:
3667 YY_RULE_SETUP
3668 #line 826 "scan.l"
3669 BEGIN(CCL); RETURNCHAR;
3670 	YY_BREAK
3671 
3672 
3673 case 186:
3674 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3675 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3676 YY_DO_BEFORE_ACTION; /* set up yytext again */
3677 YY_RULE_SETUP
3678 #line 830 "scan.l"
3679 return '-';
3680 	YY_BREAK
3681 case 187:
3682 YY_RULE_SETUP
3683 #line 831 "scan.l"
3684 RETURNCHAR;
3685 	YY_BREAK
3686 case 188:
3687 YY_RULE_SETUP
3688 #line 832 "scan.l"
3689 BEGIN(SECT2); return ']';
3690 	YY_BREAK
3691 case 189:
3692 /* rule 189 can match eol */
3693 YY_RULE_SETUP
3694 #line 833 "scan.l"
3695 {
3696 			synerr( _( "bad character class" ) );
3697 			BEGIN(SECT2);
3698 			return ']';
3699 			}
3700 	YY_BREAK
3701 
3702 
3703 case 190:
3704 YY_RULE_SETUP
3705 #line 841 "scan.l"
3706 BEGIN(CCL); return CCE_ALNUM;
3707 	YY_BREAK
3708 case 191:
3709 YY_RULE_SETUP
3710 #line 842 "scan.l"
3711 BEGIN(CCL); return CCE_ALPHA;
3712 	YY_BREAK
3713 case 192:
3714 YY_RULE_SETUP
3715 #line 843 "scan.l"
3716 BEGIN(CCL); return CCE_BLANK;
3717 	YY_BREAK
3718 case 193:
3719 YY_RULE_SETUP
3720 #line 844 "scan.l"
3721 BEGIN(CCL); return CCE_CNTRL;
3722 	YY_BREAK
3723 case 194:
3724 YY_RULE_SETUP
3725 #line 845 "scan.l"
3726 BEGIN(CCL); return CCE_DIGIT;
3727 	YY_BREAK
3728 case 195:
3729 YY_RULE_SETUP
3730 #line 846 "scan.l"
3731 BEGIN(CCL); return CCE_GRAPH;
3732 	YY_BREAK
3733 case 196:
3734 YY_RULE_SETUP
3735 #line 847 "scan.l"
3736 BEGIN(CCL); return CCE_LOWER;
3737 	YY_BREAK
3738 case 197:
3739 YY_RULE_SETUP
3740 #line 848 "scan.l"
3741 BEGIN(CCL); return CCE_PRINT;
3742 	YY_BREAK
3743 case 198:
3744 YY_RULE_SETUP
3745 #line 849 "scan.l"
3746 BEGIN(CCL); return CCE_PUNCT;
3747 	YY_BREAK
3748 case 199:
3749 YY_RULE_SETUP
3750 #line 850 "scan.l"
3751 BEGIN(CCL); return CCE_SPACE;
3752 	YY_BREAK
3753 case 200:
3754 YY_RULE_SETUP
3755 #line 851 "scan.l"
3756 BEGIN(CCL); return CCE_UPPER;
3757 	YY_BREAK
3758 case 201:
3759 YY_RULE_SETUP
3760 #line 852 "scan.l"
3761 BEGIN(CCL); return CCE_XDIGIT;
3762 	YY_BREAK
3763 case 202:
3764 YY_RULE_SETUP
3765 #line 854 "scan.l"
3766 BEGIN(CCL); return CCE_NEG_ALNUM;
3767 	YY_BREAK
3768 case 203:
3769 YY_RULE_SETUP
3770 #line 855 "scan.l"
3771 BEGIN(CCL); return CCE_NEG_ALPHA;
3772 	YY_BREAK
3773 case 204:
3774 YY_RULE_SETUP
3775 #line 856 "scan.l"
3776 BEGIN(CCL); return CCE_NEG_BLANK;
3777 	YY_BREAK
3778 case 205:
3779 YY_RULE_SETUP
3780 #line 857 "scan.l"
3781 BEGIN(CCL); return CCE_NEG_CNTRL;
3782 	YY_BREAK
3783 case 206:
3784 YY_RULE_SETUP
3785 #line 858 "scan.l"
3786 BEGIN(CCL); return CCE_NEG_DIGIT;
3787 	YY_BREAK
3788 case 207:
3789 YY_RULE_SETUP
3790 #line 859 "scan.l"
3791 BEGIN(CCL); return CCE_NEG_GRAPH;
3792 	YY_BREAK
3793 case 208:
3794 YY_RULE_SETUP
3795 #line 860 "scan.l"
3796 BEGIN(CCL); return CCE_NEG_LOWER;
3797 	YY_BREAK
3798 case 209:
3799 YY_RULE_SETUP
3800 #line 861 "scan.l"
3801 BEGIN(CCL); return CCE_NEG_PRINT;
3802 	YY_BREAK
3803 case 210:
3804 YY_RULE_SETUP
3805 #line 862 "scan.l"
3806 BEGIN(CCL); return CCE_NEG_PUNCT;
3807 	YY_BREAK
3808 case 211:
3809 YY_RULE_SETUP
3810 #line 863 "scan.l"
3811 BEGIN(CCL); return CCE_NEG_SPACE;
3812 	YY_BREAK
3813 case 212:
3814 YY_RULE_SETUP
3815 #line 864 "scan.l"
3816 BEGIN(CCL); return CCE_NEG_UPPER;
3817 	YY_BREAK
3818 case 213:
3819 YY_RULE_SETUP
3820 #line 865 "scan.l"
3821 BEGIN(CCL); return CCE_NEG_XDIGIT;
3822 	YY_BREAK
3823 case 214:
3824 YY_RULE_SETUP
3825 #line 866 "scan.l"
3826 {
3827 			format_synerr(
3828 				_( "bad character class expression: %s" ),
3829 					yytext );
3830 			BEGIN(CCL); return CCE_ALNUM;
3831 			}
3832 	YY_BREAK
3833 
3834 
3835 case 215:
3836 YY_RULE_SETUP
3837 #line 875 "scan.l"
3838 {
3839 			yylval = myctoi( yytext );
3840 			return NUMBER;
3841 			}
3842 	YY_BREAK
3843 case 216:
3844 YY_RULE_SETUP
3845 #line 880 "scan.l"
3846 return ',';
3847 	YY_BREAK
3848 case 217:
3849 YY_RULE_SETUP
3850 #line 881 "scan.l"
3851 {
3852 			BEGIN(SECT2);
3853 			if ( lex_compat || posix_compat )
3854 				return END_REPEAT_POSIX;
3855 			else
3856 				return END_REPEAT_FLEX;
3857 			}
3858 	YY_BREAK
3859 case 218:
3860 YY_RULE_SETUP
3861 #line 889 "scan.l"
3862 {
3863 			synerr( _( "bad character inside {}'s" ) );
3864 			BEGIN(SECT2);
3865 			return '}';
3866 			}
3867 	YY_BREAK
3868 case 219:
3869 /* rule 219 can match eol */
3870 YY_RULE_SETUP
3871 #line 895 "scan.l"
3872 {
3873 			synerr( _( "missing }" ) );
3874 			BEGIN(SECT2);
3875 			++linenum;
3876 			return '}';
3877 			}
3878 	YY_BREAK
3879 
3880 
3881 case 220:
3882 YY_RULE_SETUP
3883 #line 905 "scan.l"
3884 bracelevel = 0;
3885 	YY_BREAK
3886 case 221:
3887 YY_RULE_SETUP
3888 #line 907 "scan.l"
3889 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3890 	YY_BREAK
3891 
3892 case 222:
3893 YY_RULE_SETUP
3894 #line 910 "scan.l"
3895 {
3896             ACTION_ECHO;
3897             CHECK_REJECT(yytext);
3898         }
3899 	YY_BREAK
3900 case 223:
3901 YY_RULE_SETUP
3902 #line 914 "scan.l"
3903 {
3904             ACTION_ECHO;
3905             CHECK_YYMORE(yytext);
3906         }
3907 	YY_BREAK
3908 
3909 case 224:
3910 YY_RULE_SETUP
3911 #line 920 "scan.l"
3912 ACTION_ECHO;
3913 	YY_BREAK
3914 case 225:
3915 /* rule 225 can match eol */
3916 YY_RULE_SETUP
3917 #line 921 "scan.l"
3918 {
3919 		++linenum;
3920 		ACTION_ECHO;
3921 		if (bracelevel <= 0 || (doing_codeblock && indented_code)) {
3922             if ( doing_rule_action )
3923                 add_action( "\tYY_BREAK]""]\n" );
3924 
3925             doing_rule_action = doing_codeblock = false;
3926             BEGIN(SECT2);
3927         }
3928     }
3929 	YY_BREAK
3930 
3931 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3932 
3933 case 226:
3934 YY_RULE_SETUP
3935 #line 937 "scan.l"
3936 ACTION_ECHO; ++bracelevel;
3937 	YY_BREAK
3938 case 227:
3939 YY_RULE_SETUP
3940 #line 938 "scan.l"
3941 ACTION_ECHO; --bracelevel;
3942 	YY_BREAK
3943 case 228:
3944 YY_RULE_SETUP
3945 #line 939 "scan.l"
3946 ACTION_ECHO;
3947 	YY_BREAK
3948 case 229:
3949 YY_RULE_SETUP
3950 #line 940 "scan.l"
3951 ACTION_ECHO;
3952 	YY_BREAK
3953 case 230:
3954 YY_RULE_SETUP
3955 #line 941 "scan.l"
3956 ACTION_ECHO; /* character constant */
3957 	YY_BREAK
3958 case 231:
3959 YY_RULE_SETUP
3960 #line 942 "scan.l"
3961 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3962 	YY_BREAK
3963 case 232:
3964 YY_RULE_SETUP
3965 #line 943 "scan.l"
3966 ACTION_ECHO; BEGIN(ACTION_STRING);
3967 	YY_BREAK
3968 case 233:
3969 /* rule 233 can match eol */
3970 YY_RULE_SETUP
3971 #line 944 "scan.l"
3972 {
3973                 ++linenum;
3974                 ACTION_ECHO;
3975                 if (bracelevel <= 0) {
3976                    if ( doing_rule_action )
3977                       add_action( "\tYY_BREAK]""]\n" );
3978 
3979                    doing_rule_action = false;
3980                    BEGIN(SECT2);
3981                 }
3982              }
3983 	YY_BREAK
3984 case 234:
3985 YY_RULE_SETUP
3986 #line 955 "scan.l"
3987 ACTION_ECHO;
3988 	YY_BREAK
3989 
3990 
3991 case 235:
3992 YY_RULE_SETUP
3993 #line 959 "scan.l"
3994 ACTION_ECHO;
3995 	YY_BREAK
3996 case 236:
3997 YY_RULE_SETUP
3998 #line 960 "scan.l"
3999 ACTION_ECHO; BEGIN(ACTION);
4000 	YY_BREAK
4001 
4002 
4003 case 237:
4004 YY_RULE_SETUP
4005 #line 963 "scan.l"
4006 ACTION_ECHO;
4007 	YY_BREAK
4008 case 238:
4009 YY_RULE_SETUP
4010 #line 964 "scan.l"
4011 ACTION_ECHO; BEGIN(ACTION);
4012 	YY_BREAK
4013 
4014 
4015 case 239:
4016 /* rule 239 can match eol */
4017 YY_RULE_SETUP
4018 #line 967 "scan.l"
4019 ACTION_ECHO;
4020 	YY_BREAK
4021 case 240:
4022 /* rule 240 can match eol */
4023 YY_RULE_SETUP
4024 #line 968 "scan.l"
4025 ACTION_ECHO;
4026 	YY_BREAK
4027 case 241:
4028 /* rule 241 can match eol */
4029 YY_RULE_SETUP
4030 #line 969 "scan.l"
4031 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); }
4032 	YY_BREAK
4033 case 242:
4034 YY_RULE_SETUP
4035 #line 970 "scan.l"
4036 ACTION_ECHO;
4037 	YY_BREAK
4038 
4039 case YY_STATE_EOF(COMMENT):
4040 case YY_STATE_EOF(CODE_COMMENT):
4041 case YY_STATE_EOF(COMMENT_DISCARD):
4042 case YY_STATE_EOF(ACTION):
4043 case YY_STATE_EOF(ACTION_STRING):
4044 case YY_STATE_EOF(CHARACTER_CONSTANT):
4045 #line 973 "scan.l"
4046 {
4047 			synerr( _( "EOF encountered inside an action" ) );
4048 			yyterminate();
4049 			}
4050 	YY_BREAK
4051 case YY_STATE_EOF(EXTENDED_COMMENT):
4052 case YY_STATE_EOF(GROUP_WITH_PARAMS):
4053 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
4054 #line 978 "scan.l"
4055 {
4056 			synerr( _( "EOF encountered inside pattern" ) );
4057 			yyterminate();
4058 			}
4059 	YY_BREAK
4060 case 243:
4061 YY_RULE_SETUP
4062 #line 983 "scan.l"
4063 {
4064 			yylval = myesc( (unsigned char *) yytext );
4065 
4066 			if ( YY_START == FIRSTCCL )
4067 				BEGIN(CCL);
4068 
4069 			return CHAR;
4070 			}
4071 	YY_BREAK
4072 
4073 case 244:
4074 YY_RULE_SETUP
4075 #line 993 "scan.l"
4076 fputs(escaped_qstart, yyout);
4077 	YY_BREAK
4078 case 245:
4079 YY_RULE_SETUP
4080 #line 994 "scan.l"
4081 fputs(escaped_qend, yyout);
4082 	YY_BREAK
4083 case 246:
4084 /* rule 246 can match eol */
4085 YY_RULE_SETUP
4086 #line 995 "scan.l"
4087 ECHO;
4088 	YY_BREAK
4089 case 247:
4090 YY_RULE_SETUP
4091 #line 996 "scan.l"
4092 ECHO;
4093 	YY_BREAK
4094 case YY_STATE_EOF(SECT3):
4095 #line 997 "scan.l"
4096 {
4097         sectnum = 0;
4098         yyterminate();
4099     }
4100 	YY_BREAK
4101 
4102 
4103 case 248:
4104 YY_RULE_SETUP
4105 #line 1003 "scan.l"
4106 fprintf(yyout, "[""[%s]""]", escaped_qstart);
4107 	YY_BREAK
4108 case 249:
4109 YY_RULE_SETUP
4110 #line 1004 "scan.l"
4111 fprintf(yyout, "[""[%s]""]", escaped_qend);
4112 	YY_BREAK
4113 case 250:
4114 /* rule 250 can match eol */
4115 YY_RULE_SETUP
4116 #line 1005 "scan.l"
4117 ECHO;
4118 	YY_BREAK
4119 case 251:
4120 YY_RULE_SETUP
4121 #line 1006 "scan.l"
4122 ECHO;
4123 	YY_BREAK
4124 case YY_STATE_EOF(SECT3_NOESCAPE):
4125 #line 1007 "scan.l"
4126 {
4127        sectnum = 0;
4128        yyterminate();
4129     }
4130 	YY_BREAK
4131 
4132 case 252:
4133 /* rule 252 can match eol */
4134 YY_RULE_SETUP
4135 #line 1012 "scan.l"
4136 format_synerr( _( "bad character: %s" ), yytext );
4137 	YY_BREAK
4138 case 253:
4139 YY_RULE_SETUP
4140 #line 1014 "scan.l"
4141 YY_FATAL_ERROR( "flex scanner jammed" );
4142 	YY_BREAK
4143 #line 4143 "<stdout>"
4144 case YY_STATE_EOF(INITIAL):
4145 case YY_STATE_EOF(SECT2):
4146 case YY_STATE_EOF(CODEBLOCK):
4147 case YY_STATE_EOF(PICKUPDEF):
4148 case YY_STATE_EOF(SC):
4149 case YY_STATE_EOF(CARETISBOL):
4150 case YY_STATE_EOF(NUM):
4151 case YY_STATE_EOF(QUOTE):
4152 case YY_STATE_EOF(FIRSTCCL):
4153 case YY_STATE_EOF(CCL):
4154 case YY_STATE_EOF(RECOVER):
4155 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4156 case YY_STATE_EOF(OPTION):
4157 case YY_STATE_EOF(LINEDIR):
4158 	yyterminate();
4159 
4160 	case YY_END_OF_BUFFER:
4161 		{
4162 		/* Amount of text matched not including the EOB char. */
4163 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4164 
4165 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
4166 		*yy_cp = (yy_hold_char);
4167 		YY_RESTORE_YY_MORE_OFFSET
4168 
4169 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4170 			{
4171 			/* We're scanning a new file or input source.  It's
4172 			 * possible that this happened because the user
4173 			 * just pointed yyin at a new source and called
4174 			 * yylex().  If so, then we have to assure
4175 			 * consistency between YY_CURRENT_BUFFER and our
4176 			 * globals.  Here is the right place to do so, because
4177 			 * this is the first action (other than possibly a
4178 			 * back-up) that will match for the new input source.
4179 			 */
4180 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4181 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4182 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4183 			}
4184 
4185 		/* Note that here we test for yy_c_buf_p "<=" to the position
4186 		 * of the first EOB in the buffer, since yy_c_buf_p will
4187 		 * already have been incremented past the NUL character
4188 		 * (since all states make transitions on EOB to the
4189 		 * end-of-buffer state).  Contrast this with the test
4190 		 * in input().
4191 		 */
4192 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4193 			{ /* This was really a NUL. */
4194 			yy_state_type yy_next_state;
4195 
4196 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4197 
4198 			yy_current_state = yy_get_previous_state(  );
4199 
4200 			/* Okay, we're now positioned to make the NUL
4201 			 * transition.  We couldn't have
4202 			 * yy_get_previous_state() go ahead and do it
4203 			 * for us because it doesn't know how to deal
4204 			 * with the possibility of jamming (and we don't
4205 			 * want to build jamming into it because then it
4206 			 * will run more slowly).
4207 			 */
4208 
4209 			yy_next_state = yy_try_NUL_trans( yy_current_state );
4210 
4211 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4212 
4213 			if ( yy_next_state )
4214 				{
4215 				/* Consume the NUL. */
4216 				yy_cp = ++(yy_c_buf_p);
4217 				yy_current_state = yy_next_state;
4218 				goto yy_match;
4219 				}
4220 
4221 			else
4222 				{
4223 				yy_cp = (yy_c_buf_p);
4224 				goto yy_find_action;
4225 				}
4226 			}
4227 
4228 		else switch ( yy_get_next_buffer(  ) )
4229 			{
4230 			case EOB_ACT_END_OF_FILE:
4231 				{
4232 				(yy_did_buffer_switch_on_eof) = 0;
4233 
4234 				if ( yywrap(  ) )
4235 					{
4236 					/* Note: because we've taken care in
4237 					 * yy_get_next_buffer() to have set up
4238 					 * yytext, we can now set up
4239 					 * yy_c_buf_p so that if some total
4240 					 * hoser (like flex itself) wants to
4241 					 * call the scanner after we return the
4242 					 * YY_NULL, it'll still work - another
4243 					 * YY_NULL will get returned.
4244 					 */
4245 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4246 
4247 					yy_act = YY_STATE_EOF(YY_START);
4248 					goto do_action;
4249 					}
4250 
4251 				else
4252 					{
4253 					if ( ! (yy_did_buffer_switch_on_eof) )
4254 						YY_NEW_FILE;
4255 					}
4256 				break;
4257 				}
4258 
4259 			case EOB_ACT_CONTINUE_SCAN:
4260 				(yy_c_buf_p) =
4261 					(yytext_ptr) + yy_amount_of_matched_text;
4262 
4263 				yy_current_state = yy_get_previous_state(  );
4264 
4265 				yy_cp = (yy_c_buf_p);
4266 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4267 				goto yy_match;
4268 
4269 			case EOB_ACT_LAST_MATCH:
4270 				(yy_c_buf_p) =
4271 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4272 
4273 				yy_current_state = yy_get_previous_state(  );
4274 
4275 				yy_cp = (yy_c_buf_p);
4276 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4277 				goto yy_find_action;
4278 			}
4279 		break;
4280 		}
4281 
4282 	default:
4283 		YY_FATAL_ERROR(
4284 			"fatal flex scanner internal error--no action found" );
4285 	} /* end of action switch */
4286 		} /* end of scanning one token */
4287 	} /* end of user's declarations */
4288 } /* end of yylex */
4289 
4290 /* yy_get_next_buffer - try to read in a new buffer
4291  *
4292  * Returns a code representing an action:
4293  *	EOB_ACT_LAST_MATCH -
4294  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4295  *	EOB_ACT_END_OF_FILE - end of file
4296  */
4297 static int yy_get_next_buffer (void)
4298 {
4299     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4300 	char *source = (yytext_ptr);
4301 	int number_to_move, i;
4302 	int ret_val;
4303 
4304 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4305 		YY_FATAL_ERROR(
4306 		"fatal flex scanner internal error--end of buffer missed" );
4307 
4308 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4309 		{ /* Don't try to fill the buffer, so this is an EOF. */
4310 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4311 			{
4312 			/* We matched a single character, the EOB, so
4313 			 * treat this as a final EOF.
4314 			 */
4315 			return EOB_ACT_END_OF_FILE;
4316 			}
4317 
4318 		else
4319 			{
4320 			/* We matched some text prior to the EOB, first
4321 			 * process it.
4322 			 */
4323 			return EOB_ACT_LAST_MATCH;
4324 			}
4325 		}
4326 
4327 	/* Try to read more data. */
4328 
4329 	/* First move last chars to start of buffer. */
4330 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4331 
4332 	for ( i = 0; i < number_to_move; ++i )
4333 		*(dest++) = *(source++);
4334 
4335 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4336 		/* don't do the read, it's not guaranteed to return an EOF,
4337 		 * just force an EOF
4338 		 */
4339 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4340 
4341 	else
4342 		{
4343 			int num_to_read =
4344 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4345 
4346 		while ( num_to_read <= 0 )
4347 			{ /* Not enough room in the buffer - grow it. */
4348 
4349 			/* just a shorter name for the current buffer */
4350 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4351 
4352 			int yy_c_buf_p_offset =
4353 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
4354 
4355 			if ( b->yy_is_our_buffer )
4356 				{
4357 				int new_size = b->yy_buf_size * 2;
4358 
4359 				if ( new_size <= 0 )
4360 					b->yy_buf_size += b->yy_buf_size / 8;
4361 				else
4362 					b->yy_buf_size *= 2;
4363 
4364 				b->yy_ch_buf = (char *)
4365 					/* Include room in for 2 EOB chars. */
4366 					yyrealloc( (void *) b->yy_ch_buf,
4367 							 (yy_size_t) (b->yy_buf_size + 2)  );
4368 				}
4369 			else
4370 				/* Can't grow it, we don't own it. */
4371 				b->yy_ch_buf = NULL;
4372 
4373 			if ( ! b->yy_ch_buf )
4374 				YY_FATAL_ERROR(
4375 				"fatal error - scanner input buffer overflow" );
4376 
4377 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4378 
4379 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4380 						number_to_move - 1;
4381 
4382 			}
4383 
4384 		if ( num_to_read > YY_READ_BUF_SIZE )
4385 			num_to_read = YY_READ_BUF_SIZE;
4386 
4387 		/* Read in more data. */
4388 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4389 			(yy_n_chars), num_to_read );
4390 
4391 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4392 		}
4393 
4394 	if ( (yy_n_chars) == 0 )
4395 		{
4396 		if ( number_to_move == YY_MORE_ADJ )
4397 			{
4398 			ret_val = EOB_ACT_END_OF_FILE;
4399 			yyrestart( yyin  );
4400 			}
4401 
4402 		else
4403 			{
4404 			ret_val = EOB_ACT_LAST_MATCH;
4405 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4406 				YY_BUFFER_EOF_PENDING;
4407 			}
4408 		}
4409 
4410 	else
4411 		ret_val = EOB_ACT_CONTINUE_SCAN;
4412 
4413 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4414 		/* Extend the array by 50%, plus the number we really need. */
4415 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4416 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4417 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4418 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4419 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4420 		/* "- 2" to take care of EOB's */
4421 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4422 	}
4423 
4424 	(yy_n_chars) += number_to_move;
4425 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4426 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4427 
4428 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4429 
4430 	return ret_val;
4431 }
4432 
4433 /* yy_get_previous_state - get the state just before the EOB char was reached */
4434 
4435     static yy_state_type yy_get_previous_state (void)
4436 {
4437 	yy_state_type yy_current_state;
4438 	char *yy_cp;
4439 
4440 	yy_current_state = (yy_start);
4441 	yy_current_state += YY_AT_BOL();
4442 
4443 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4444 		{
4445 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4446 		if ( yy_accept[yy_current_state] )
4447 			{
4448 			(yy_last_accepting_state) = yy_current_state;
4449 			(yy_last_accepting_cpos) = yy_cp;
4450 			}
4451 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4452 			{
4453 			yy_current_state = (int) yy_def[yy_current_state];
4454 			if ( yy_current_state >= 1114 )
4455 				yy_c = yy_meta[yy_c];
4456 			}
4457 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4458 		}
4459 
4460 	return yy_current_state;
4461 }
4462 
4463 /* yy_try_NUL_trans - try to make a transition on the NUL character
4464  *
4465  * synopsis
4466  *	next_state = yy_try_NUL_trans( current_state );
4467  */
4468     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4469 {
4470 	int yy_is_jam;
4471     	char *yy_cp = (yy_c_buf_p);
4472 
4473 	YY_CHAR yy_c = 1;
4474 	if ( yy_accept[yy_current_state] )
4475 		{
4476 		(yy_last_accepting_state) = yy_current_state;
4477 		(yy_last_accepting_cpos) = yy_cp;
4478 		}
4479 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4480 		{
4481 		yy_current_state = (int) yy_def[yy_current_state];
4482 		if ( yy_current_state >= 1114 )
4483 			yy_c = yy_meta[yy_c];
4484 		}
4485 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4486 	yy_is_jam = (yy_current_state == 1113);
4487 
4488 		return yy_is_jam ? 0 : yy_current_state;
4489 }
4490 
4491 #ifndef YY_NO_UNPUT
4492 
4493     static void yyunput (int c, char * yy_bp )
4494 {
4495 	char *yy_cp;
4496 
4497     yy_cp = (yy_c_buf_p);
4498 
4499 	/* undo effects of setting up yytext */
4500 	*yy_cp = (yy_hold_char);
4501 
4502 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4503 		{ /* need to shift things up to make room */
4504 		/* +2 for EOB chars. */
4505 		int number_to_move = (yy_n_chars) + 2;
4506 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4507 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4508 		char *source =
4509 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4510 
4511 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4512 			*--dest = *--source;
4513 
4514 		yy_cp += (int) (dest - source);
4515 		yy_bp += (int) (dest - source);
4516 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4517 			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4518 
4519 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4520 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4521 		}
4522 
4523 	*--yy_cp = (char) c;
4524 
4525 	(yytext_ptr) = yy_bp;
4526 	(yy_hold_char) = *yy_cp;
4527 	(yy_c_buf_p) = yy_cp;
4528 }
4529 
4530 #endif
4531 
4532 #ifndef YY_NO_INPUT
4533 #ifdef __cplusplus
4534     static int yyinput (void)
4535 #else
4536     static int input  (void)
4537 #endif
4538 
4539 {
4540 	int c;
4541 
4542 	*(yy_c_buf_p) = (yy_hold_char);
4543 
4544 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4545 		{
4546 		/* yy_c_buf_p now points to the character we want to return.
4547 		 * If this occurs *before* the EOB characters, then it's a
4548 		 * valid NUL; if not, then we've hit the end of the buffer.
4549 		 */
4550 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4551 			/* This was really a NUL. */
4552 			*(yy_c_buf_p) = '\0';
4553 
4554 		else
4555 			{ /* need more input */
4556 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4557 			++(yy_c_buf_p);
4558 
4559 			switch ( yy_get_next_buffer(  ) )
4560 				{
4561 				case EOB_ACT_LAST_MATCH:
4562 					/* This happens because yy_g_n_b()
4563 					 * sees that we've accumulated a
4564 					 * token and flags that we need to
4565 					 * try matching the token before
4566 					 * proceeding.  But for input(),
4567 					 * there's no matching to consider.
4568 					 * So convert the EOB_ACT_LAST_MATCH
4569 					 * to EOB_ACT_END_OF_FILE.
4570 					 */
4571 
4572 					/* Reset buffer status. */
4573 					yyrestart( yyin );
4574 
4575 					/*FALLTHROUGH*/
4576 
4577 				case EOB_ACT_END_OF_FILE:
4578 					{
4579 					if ( yywrap(  ) )
4580 #ifdef YY_FLEX_LEX_COMPAT
4581 						return 0;
4582 #else
4583 						return EOF;
4584 #endif
4585 
4586 					if ( ! (yy_did_buffer_switch_on_eof) )
4587 						YY_NEW_FILE;
4588 #ifdef __cplusplus
4589 					return yyinput();
4590 #else
4591 					return input();
4592 #endif
4593 					}
4594 
4595 				case EOB_ACT_CONTINUE_SCAN:
4596 					(yy_c_buf_p) = (yytext_ptr) + offset;
4597 					break;
4598 				}
4599 			}
4600 		}
4601 
4602 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4603 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4604 	(yy_hold_char) = *++(yy_c_buf_p);
4605 
4606 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4607 
4608 	return c;
4609 }
4610 #endif	/* ifndef YY_NO_INPUT */
4611 
4612 /** Immediately switch to a different input stream.
4613  * @param input_file A readable stream.
4614  *
4615  * @note This function does not reset the start condition to @c INITIAL .
4616  */
4617     void yyrestart  (FILE * input_file )
4618 {
4619 
4620 	if ( ! YY_CURRENT_BUFFER ){
4621         yyensure_buffer_stack ();
4622 		YY_CURRENT_BUFFER_LVALUE =
4623             yy_create_buffer( yyin, YY_BUF_SIZE );
4624 	}
4625 
4626 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4627 	yy_load_buffer_state(  );
4628 }
4629 
4630 /** Switch to a different input buffer.
4631  * @param new_buffer The new input buffer.
4632  *
4633  */
4634     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4635 {
4636 
4637 	/* TODO. We should be able to replace this entire function body
4638 	 * with
4639 	 *		yypop_buffer_state();
4640 	 *		yypush_buffer_state(new_buffer);
4641      */
4642 	yyensure_buffer_stack ();
4643 	if ( YY_CURRENT_BUFFER == new_buffer )
4644 		return;
4645 
4646 	if ( YY_CURRENT_BUFFER )
4647 		{
4648 		/* Flush out information for old buffer. */
4649 		*(yy_c_buf_p) = (yy_hold_char);
4650 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4651 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4652 		}
4653 
4654 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4655 	yy_load_buffer_state(  );
4656 
4657 	/* We don't actually know whether we did this switch during
4658 	 * EOF (yywrap()) processing, but the only time this flag
4659 	 * is looked at is after yywrap() is called, so it's safe
4660 	 * to go ahead and always set it.
4661 	 */
4662 	(yy_did_buffer_switch_on_eof) = 1;
4663 }
4664 
4665 static void yy_load_buffer_state  (void)
4666 {
4667     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4668 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4669 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4670 	(yy_hold_char) = *(yy_c_buf_p);
4671 }
4672 
4673 /** Allocate and initialize an input buffer state.
4674  * @param file A readable stream.
4675  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4676  *
4677  * @return the allocated buffer state.
4678  */
4679     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4680 {
4681 	YY_BUFFER_STATE b;
4682 
4683 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4684 	if ( ! b )
4685 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4686 
4687 	b->yy_buf_size = size;
4688 
4689 	/* yy_ch_buf has to be 2 characters longer than the size given because
4690 	 * we need to put in 2 end-of-buffer characters.
4691 	 */
4692 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4693 	if ( ! b->yy_ch_buf )
4694 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4695 
4696 	b->yy_is_our_buffer = 1;
4697 
4698 	yy_init_buffer( b, file );
4699 
4700 	return b;
4701 }
4702 
4703 /** Destroy the buffer.
4704  * @param b a buffer created with yy_create_buffer()
4705  *
4706  */
4707     void yy_delete_buffer (YY_BUFFER_STATE  b )
4708 {
4709 
4710 	if ( ! b )
4711 		return;
4712 
4713 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4714 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4715 
4716 	if ( b->yy_is_our_buffer )
4717 		yyfree( (void *) b->yy_ch_buf  );
4718 
4719 	yyfree( (void *) b  );
4720 }
4721 
4722 /* Initializes or reinitializes a buffer.
4723  * This function is sometimes called more than once on the same buffer,
4724  * such as during a yyrestart() or at EOF.
4725  */
4726     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4727 
4728 {
4729 	int oerrno = errno;
4730 
4731 	yy_flush_buffer( b );
4732 
4733 	b->yy_input_file = file;
4734 	b->yy_fill_buffer = 1;
4735 
4736     /* If b is the current buffer, then yy_init_buffer was _probably_
4737      * called from yyrestart() or through yy_get_next_buffer.
4738      * In that case, we don't want to reset the lineno or column.
4739      */
4740     if (b != YY_CURRENT_BUFFER){
4741         b->yy_bs_lineno = 1;
4742         b->yy_bs_column = 0;
4743     }
4744 
4745         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4746 
4747 	errno = oerrno;
4748 }
4749 
4750 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4751  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4752  *
4753  */
4754     void yy_flush_buffer (YY_BUFFER_STATE  b )
4755 {
4756     	if ( ! b )
4757 		return;
4758 
4759 	b->yy_n_chars = 0;
4760 
4761 	/* We always need two end-of-buffer characters.  The first causes
4762 	 * a transition to the end-of-buffer state.  The second causes
4763 	 * a jam in that state.
4764 	 */
4765 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4766 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4767 
4768 	b->yy_buf_pos = &b->yy_ch_buf[0];
4769 
4770 	b->yy_at_bol = 1;
4771 	b->yy_buffer_status = YY_BUFFER_NEW;
4772 
4773 	if ( b == YY_CURRENT_BUFFER )
4774 		yy_load_buffer_state(  );
4775 }
4776 
4777 /** Pushes the new state onto the stack. The new state becomes
4778  *  the current state. This function will allocate the stack
4779  *  if necessary.
4780  *  @param new_buffer The new state.
4781  *
4782  */
4783 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4784 {
4785     	if (new_buffer == NULL)
4786 		return;
4787 
4788 	yyensure_buffer_stack();
4789 
4790 	/* This block is copied from yy_switch_to_buffer. */
4791 	if ( YY_CURRENT_BUFFER )
4792 		{
4793 		/* Flush out information for old buffer. */
4794 		*(yy_c_buf_p) = (yy_hold_char);
4795 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4796 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4797 		}
4798 
4799 	/* Only push if top exists. Otherwise, replace top. */
4800 	if (YY_CURRENT_BUFFER)
4801 		(yy_buffer_stack_top)++;
4802 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4803 
4804 	/* copied from yy_switch_to_buffer. */
4805 	yy_load_buffer_state(  );
4806 	(yy_did_buffer_switch_on_eof) = 1;
4807 }
4808 
4809 /** Removes and deletes the top of the stack, if present.
4810  *  The next element becomes the new top.
4811  *
4812  */
4813 void yypop_buffer_state (void)
4814 {
4815     	if (!YY_CURRENT_BUFFER)
4816 		return;
4817 
4818 	yy_delete_buffer(YY_CURRENT_BUFFER );
4819 	YY_CURRENT_BUFFER_LVALUE = NULL;
4820 	if ((yy_buffer_stack_top) > 0)
4821 		--(yy_buffer_stack_top);
4822 
4823 	if (YY_CURRENT_BUFFER) {
4824 		yy_load_buffer_state(  );
4825 		(yy_did_buffer_switch_on_eof) = 1;
4826 	}
4827 }
4828 
4829 /* Allocates the stack if it does not exist.
4830  *  Guarantees space for at least one push.
4831  */
4832 static void yyensure_buffer_stack (void)
4833 {
4834 	yy_size_t num_to_alloc;
4835 
4836 	if (!(yy_buffer_stack)) {
4837 
4838 		/* First allocation is just for 2 elements, since we don't know if this
4839 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4840 		 * immediate realloc on the next call.
4841          */
4842       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4843 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4844 								(num_to_alloc * sizeof(struct yy_buffer_state*)
4845 								);
4846 		if ( ! (yy_buffer_stack) )
4847 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4848 
4849 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4850 
4851 		(yy_buffer_stack_max) = num_to_alloc;
4852 		(yy_buffer_stack_top) = 0;
4853 		return;
4854 	}
4855 
4856 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4857 
4858 		/* Increase the buffer to prepare for a possible push. */
4859 		yy_size_t grow_size = 8 /* arbitrary grow size */;
4860 
4861 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4862 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4863 								((yy_buffer_stack),
4864 								num_to_alloc * sizeof(struct yy_buffer_state*)
4865 								);
4866 		if ( ! (yy_buffer_stack) )
4867 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4868 
4869 		/* zero only the new slots.*/
4870 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4871 		(yy_buffer_stack_max) = num_to_alloc;
4872 	}
4873 }
4874 
4875 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4876  * @param base the character buffer
4877  * @param size the size in bytes of the character buffer
4878  *
4879  * @return the newly allocated buffer state object.
4880  */
4881 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4882 {
4883 	YY_BUFFER_STATE b;
4884 
4885 	if ( size < 2 ||
4886 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4887 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4888 		/* They forgot to leave room for the EOB's. */
4889 		return NULL;
4890 
4891 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4892 	if ( ! b )
4893 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4894 
4895 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
4896 	b->yy_buf_pos = b->yy_ch_buf = base;
4897 	b->yy_is_our_buffer = 0;
4898 	b->yy_input_file = NULL;
4899 	b->yy_n_chars = b->yy_buf_size;
4900 	b->yy_is_interactive = 0;
4901 	b->yy_at_bol = 1;
4902 	b->yy_fill_buffer = 0;
4903 	b->yy_buffer_status = YY_BUFFER_NEW;
4904 
4905 	yy_switch_to_buffer( b  );
4906 
4907 	return b;
4908 }
4909 
4910 /** Setup the input buffer state to scan a string. The next call to yylex() will
4911  * scan from a @e copy of @a str.
4912  * @param yystr a NUL-terminated string to scan
4913  *
4914  * @return the newly allocated buffer state object.
4915  * @note If you want to scan bytes that may contain NUL values, then use
4916  *       yy_scan_bytes() instead.
4917  */
4918 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4919 {
4920 
4921 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
4922 }
4923 
4924 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4925  * scan from a @e copy of @a bytes.
4926  * @param yybytes the byte buffer to scan
4927  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4928  *
4929  * @return the newly allocated buffer state object.
4930  */
4931 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
4932 {
4933 	YY_BUFFER_STATE b;
4934 	char *buf;
4935 	yy_size_t n;
4936 	int i;
4937 
4938 	/* Get memory for full buffer, including space for trailing EOB's. */
4939 	n = (yy_size_t) (_yybytes_len + 2);
4940 	buf = (char *) yyalloc( n  );
4941 	if ( ! buf )
4942 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4943 
4944 	for ( i = 0; i < _yybytes_len; ++i )
4945 		buf[i] = yybytes[i];
4946 
4947 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4948 
4949 	b = yy_scan_buffer( buf, n );
4950 	if ( ! b )
4951 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4952 
4953 	/* It's okay to grow etc. this buffer, and we should throw it
4954 	 * away when we're done.
4955 	 */
4956 	b->yy_is_our_buffer = 1;
4957 
4958 	return b;
4959 }
4960 
4961     static void yy_push_state (int  _new_state )
4962 {
4963     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4964 		{
4965 		yy_size_t new_size;
4966 
4967 		(yy_start_stack_depth) += YY_START_STACK_INCR;
4968 		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4969 
4970 		if ( ! (yy_start_stack) )
4971 			(yy_start_stack) = (int *) yyalloc( new_size  );
4972 
4973 		else
4974 			(yy_start_stack) = (int *) yyrealloc(
4975 					(void *) (yy_start_stack), new_size  );
4976 
4977 		if ( ! (yy_start_stack) )
4978 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4979 		}
4980 
4981 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4982 
4983 	BEGIN(_new_state);
4984 }
4985 
4986     static void yy_pop_state  (void)
4987 {
4988     	if ( --(yy_start_stack_ptr) < 0 )
4989 		YY_FATAL_ERROR( "start-condition stack underflow" );
4990 
4991 	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4992 }
4993 
4994 #ifndef YY_EXIT_FAILURE
4995 #define YY_EXIT_FAILURE 2
4996 #endif
4997 
4998 static void yynoreturn yy_fatal_error (const char* msg )
4999 {
5000 			fprintf( stderr, "%s\n", msg );
5001 	exit( YY_EXIT_FAILURE );
5002 }
5003 
5004 /* Redefine yyless() so it works in section 3 code. */
5005 
5006 #undef yyless
5007 #define yyless(n) \
5008 	do \
5009 		{ \
5010 		/* Undo effects of setting up yytext. */ \
5011         int yyless_macro_arg = (n); \
5012         YY_LESS_LINENO(yyless_macro_arg);\
5013 		yytext[yyleng] = (yy_hold_char); \
5014 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
5015 		(yy_hold_char) = *(yy_c_buf_p); \
5016 		*(yy_c_buf_p) = '\0'; \
5017 		yyleng = yyless_macro_arg; \
5018 		} \
5019 	while ( 0 )
5020 
5021 /* Accessor  methods (get/set functions) to struct members. */
5022 
5023 /** Get the current line number.
5024  *
5025  */
5026 int yyget_lineno  (void)
5027 {
5028 
5029     return yylineno;
5030 }
5031 
5032 /** Get the input stream.
5033  *
5034  */
5035 FILE *yyget_in  (void)
5036 {
5037         return yyin;
5038 }
5039 
5040 /** Get the output stream.
5041  *
5042  */
5043 FILE *yyget_out  (void)
5044 {
5045         return yyout;
5046 }
5047 
5048 /** Get the length of the current token.
5049  *
5050  */
5051 int yyget_leng  (void)
5052 {
5053         return yyleng;
5054 }
5055 
5056 /** Get the current token.
5057  *
5058  */
5059 
5060 char *yyget_text  (void)
5061 {
5062         return yytext;
5063 }
5064 
5065 /** Set the current line number.
5066  * @param _line_number line number
5067  *
5068  */
5069 void yyset_lineno (int  _line_number )
5070 {
5071 
5072     yylineno = _line_number;
5073 }
5074 
5075 /** Set the input stream. This does not discard the current
5076  * input buffer.
5077  * @param _in_str A readable stream.
5078  *
5079  * @see yy_switch_to_buffer
5080  */
5081 void yyset_in (FILE *  _in_str )
5082 {
5083         yyin = _in_str ;
5084 }
5085 
5086 void yyset_out (FILE *  _out_str )
5087 {
5088         yyout = _out_str ;
5089 }
5090 
5091 int yyget_debug  (void)
5092 {
5093         return yy_flex_debug;
5094 }
5095 
5096 void yyset_debug (int  _bdebug )
5097 {
5098         yy_flex_debug = _bdebug ;
5099 }
5100 
5101 static int yy_init_globals (void)
5102 {
5103         /* Initialization is the same as for the non-reentrant scanner.
5104      * This function is called from yylex_destroy(), so don't allocate here.
5105      */
5106 
5107     (yy_buffer_stack) = NULL;
5108     (yy_buffer_stack_top) = 0;
5109     (yy_buffer_stack_max) = 0;
5110     (yy_c_buf_p) = NULL;
5111     (yy_init) = 0;
5112     (yy_start) = 0;
5113 
5114     (yy_start_stack_ptr) = 0;
5115     (yy_start_stack_depth) = 0;
5116     (yy_start_stack) =  NULL;
5117 
5118 /* Defined in main.c */
5119 #ifdef YY_STDINIT
5120     yyin = stdin;
5121     yyout = stdout;
5122 #else
5123     yyin = NULL;
5124     yyout = NULL;
5125 #endif
5126 
5127     /* For future reference: Set errno on error, since we are called by
5128      * yylex_init()
5129      */
5130     return 0;
5131 }
5132 
5133 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5134 int yylex_destroy  (void)
5135 {
5136 
5137     /* Pop the buffer stack, destroying each element. */
5138 	while(YY_CURRENT_BUFFER){
5139 		yy_delete_buffer( YY_CURRENT_BUFFER  );
5140 		YY_CURRENT_BUFFER_LVALUE = NULL;
5141 		yypop_buffer_state();
5142 	}
5143 
5144 	/* Destroy the stack itself. */
5145 	yyfree((yy_buffer_stack) );
5146 	(yy_buffer_stack) = NULL;
5147 
5148     /* Destroy the start condition stack. */
5149         yyfree( (yy_start_stack)  );
5150         (yy_start_stack) = NULL;
5151 
5152     /* Reset the globals. This is important in a non-reentrant scanner so the next time
5153      * yylex() is called, initialization will occur. */
5154     yy_init_globals( );
5155 
5156     return 0;
5157 }
5158 
5159 /*
5160  * Internal utility routines.
5161  */
5162 
5163 #ifndef yytext_ptr
5164 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5165 {
5166 
5167 	int i;
5168 	for ( i = 0; i < n; ++i )
5169 		s1[i] = s2[i];
5170 }
5171 #endif
5172 
5173 #ifdef YY_NEED_STRLEN
5174 static int yy_flex_strlen (const char * s )
5175 {
5176 	int n;
5177 	for ( n = 0; s[n]; ++n )
5178 		;
5179 
5180 	return n;
5181 }
5182 #endif
5183 
5184 void *yyalloc (yy_size_t  size )
5185 {
5186 			return malloc(size);
5187 }
5188 
5189 void *yyrealloc  (void * ptr, yy_size_t  size )
5190 {
5191 
5192 	/* The cast to (char *) in the following accommodates both
5193 	 * implementations that use char* generic pointers, and those
5194 	 * that use void* generic pointers.  It works with the latter
5195 	 * because both ANSI C and C++ allow castless assignment from
5196 	 * any pointer type to void*, and deal with argument conversions
5197 	 * as though doing an assignment.
5198 	 */
5199 	return realloc(ptr, size);
5200 }
5201 
5202 void yyfree (void * ptr )
5203 {
5204 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
5205 }
5206 
5207 #define YYTABLES_NAME "yytables"
5208 
5209 #line 1014 "scan.l"
5210 
5211 
5212 
5213 int yywrap(void)
5214 	{
5215 	if ( --num_input_files > 0 )
5216 		{
5217 		set_input_file( *++input_files );
5218 		return 0;
5219 		}
5220 
5221 	else
5222 		return 1;
5223 	}
5224 
5225 
5226 /* set_input_file - open the given file (if NULL, stdin) for scanning */
5227 
5228 void set_input_file( char *file )
5229 	{
5230 	if ( file && strcmp( file, "-" ) )
5231 		{
5232 		infilename = xstrdup(file);
5233 		yyin = fopen( infilename, "r" );
5234 
5235 		if ( yyin == NULL )
5236 			lerr( _( "can't open %s" ), file );
5237 		}
5238 
5239 	else
5240 		{
5241 		yyin = stdin;
5242 		infilename = xstrdup("<stdin>");
5243 		}
5244 
5245 	linenum = 1;
5246 	}
5247 
5248