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