ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 4565
Committed: Sun Aug 24 10:27:40 2014 UTC (11 years ago) by michael
Content type: text/x-csrc
File size: 147658 byte(s)
Log Message:
- Update GPL 2 license headers

File Contents

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

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision