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