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