/[svn]/ircd-hybrid-7.2/src/lex.yy.c
ViewVC logotype

Contents of /ircd-hybrid-7.2/src/lex.yy.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 632 - (show annotations)
Thu Jun 1 10:53:00 2006 UTC (13 years, 4 months ago) by michael
File MIME type: text/x-chdr
File size: 126246 byte(s)
- Added channel::disable_fake_channels which disallows creation of channels
  that have ascii 2, 3, 31 and 160 in their names.
- Minor improvements and cleanups to channel name validation routines
  backported from 7.3

1 /* A lexical scanner generated by flex */
2
3 /* Scanner skeleton version:
4 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
5 */
6
7 #define FLEX_SCANNER
8 #define YY_FLEX_MAJOR_VERSION 2
9 #define YY_FLEX_MINOR_VERSION 5
10
11 #include <stdio.h>
12 #include <unistd.h>
13
14
15 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
16 #ifdef c_plusplus
17 #ifndef __cplusplus
18 #define __cplusplus
19 #endif
20 #endif
21
22
23 #ifdef __cplusplus
24
25 #include <stdlib.h>
26
27 /* Use prototypes in function declarations. */
28 #define YY_USE_PROTOS
29
30 /* The "const" storage-class-modifier is valid. */
31 #define YY_USE_CONST
32
33 #else /* ! __cplusplus */
34
35 #if __STDC__
36
37 #define YY_USE_PROTOS
38 #define YY_USE_CONST
39
40 #endif /* __STDC__ */
41 #endif /* ! __cplusplus */
42
43 #ifdef __TURBOC__
44 #pragma warn -rch
45 #pragma warn -use
46 #include <io.h>
47 #include <stdlib.h>
48 #define YY_USE_CONST
49 #define YY_USE_PROTOS
50 #endif
51
52 #ifdef YY_USE_CONST
53 #define yyconst const
54 #else
55 #define yyconst
56 #endif
57
58
59 #ifdef YY_USE_PROTOS
60 #define YY_PROTO(proto) proto
61 #else
62 #define YY_PROTO(proto) ()
63 #endif
64
65 /* Returned upon end-of-file. */
66 #define YY_NULL 0
67
68 /* Promotes a possibly negative, possibly signed char to an unsigned
69 * integer for use as an array index. If the signed char is negative,
70 * we want to instead treat it as an 8-bit unsigned char, hence the
71 * double cast.
72 */
73 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
74
75 /* Enter a start condition. This macro really ought to take a parameter,
76 * but we do it the disgusting crufty way forced on us by the ()-less
77 * definition of BEGIN.
78 */
79 #define BEGIN yy_start = 1 + 2 *
80
81 /* Translate the current start state into a value that can be later handed
82 * to BEGIN to return to the state. The YYSTATE alias is for lex
83 * compatibility.
84 */
85 #define YY_START ((yy_start - 1) / 2)
86 #define YYSTATE YY_START
87
88 /* Action number for EOF rule of a given start state. */
89 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
90
91 /* Special action meaning "start processing a new file". */
92 #define YY_NEW_FILE yyrestart( yyin )
93
94 #define YY_END_OF_BUFFER_CHAR 0
95
96 /* Size of default input buffer. */
97 #define YY_BUF_SIZE 16384
98
99 typedef struct yy_buffer_state *YY_BUFFER_STATE;
100
101 extern int yyleng;
102 extern FILE *yyin, *yyout;
103
104 #define EOB_ACT_CONTINUE_SCAN 0
105 #define EOB_ACT_END_OF_FILE 1
106 #define EOB_ACT_LAST_MATCH 2
107
108 /* The funky do-while in the following #define is used to turn the definition
109 * int a single C statement (which needs a semi-colon terminator). This
110 * avoids problems with code like:
111 *
112 * if ( condition_holds )
113 * yyless( 5 );
114 * else
115 * do_something_else();
116 *
117 * Prior to using the do-while the compiler would get upset at the
118 * "else" because it interpreted the "if" statement as being all
119 * done when it reached the ';' after the yyless() call.
120 */
121
122 /* Return all but the first 'n' matched characters back to the input stream. */
123
124 #define yyless(n) \
125 do \
126 { \
127 /* Undo effects of setting up yytext. */ \
128 *yy_cp = yy_hold_char; \
129 YY_RESTORE_YY_MORE_OFFSET \
130 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
131 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
132 } \
133 while ( 0 )
134
135 #define unput(c) yyunput( c, yytext_ptr )
136
137 /* The following is because we cannot portably get our hands on size_t
138 * (without autoconf's help, which isn't available because we want
139 * flex-generated scanners to compile on their own).
140 */
141 typedef unsigned int yy_size_t;
142
143
144 struct yy_buffer_state
145 {
146 FILE *yy_input_file;
147
148 char *yy_ch_buf; /* input buffer */
149 char *yy_buf_pos; /* current position in input buffer */
150
151 /* Size of input buffer in bytes, not including room for EOB
152 * characters.
153 */
154 yy_size_t yy_buf_size;
155
156 /* Number of characters read into yy_ch_buf, not including EOB
157 * characters.
158 */
159 int yy_n_chars;
160
161 /* Whether we "own" the buffer - i.e., we know we created it,
162 * and can realloc() it to grow it, and should free() it to
163 * delete it.
164 */
165 int yy_is_our_buffer;
166
167 /* Whether this is an "interactive" input source; if so, and
168 * if we're using stdio for input, then we want to use getc()
169 * instead of fread(), to make sure we stop fetching input after
170 * each newline.
171 */
172 int yy_is_interactive;
173
174 /* Whether we're considered to be at the beginning of a line.
175 * If so, '^' rules will be active on the next match, otherwise
176 * not.
177 */
178 int yy_at_bol;
179
180 /* Whether to try to fill the input buffer when we reach the
181 * end of it.
182 */
183 int yy_fill_buffer;
184
185 int yy_buffer_status;
186 #define YY_BUFFER_NEW 0
187 #define YY_BUFFER_NORMAL 1
188 /* When an EOF's been seen but there's still some text to process
189 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
190 * shouldn't try reading from the input source any more. We might
191 * still have a bunch of tokens to match, though, because of
192 * possible backing-up.
193 *
194 * When we actually see the EOF, we change the status to "new"
195 * (via yyrestart()), so that the user can continue scanning by
196 * just pointing yyin at a new input file.
197 */
198 #define YY_BUFFER_EOF_PENDING 2
199 };
200
201 static YY_BUFFER_STATE yy_current_buffer = 0;
202
203 /* We provide macros for accessing buffer states in case in the
204 * future we want to put the buffer states in a more general
205 * "scanner state".
206 */
207 #define YY_CURRENT_BUFFER yy_current_buffer
208
209
210 /* yy_hold_char holds the character lost when yytext is formed. */
211 static char yy_hold_char;
212
213 static int yy_n_chars; /* number of characters read into yy_ch_buf */
214
215
216 int yyleng;
217
218 /* Points to current character in buffer. */
219 static char *yy_c_buf_p = (char *) 0;
220 static int yy_init = 1; /* whether we need to initialize */
221 static int yy_start = 0; /* start state number */
222
223 /* Flag which is used to allow yywrap()'s to do buffer switches
224 * instead of setting up a fresh yyin. A bit of a hack ...
225 */
226 static int yy_did_buffer_switch_on_eof;
227
228 void yyrestart YY_PROTO(( FILE *input_file ));
229
230 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
231 void yy_load_buffer_state YY_PROTO(( void ));
232 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
233 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
234 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
235 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
236 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
237
238 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
239 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
240 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
241
242 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
243 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
244 static void yy_flex_free YY_PROTO(( void * ));
245
246 #define yy_new_buffer yy_create_buffer
247
248 #define yy_set_interactive(is_interactive) \
249 { \
250 if ( ! yy_current_buffer ) \
251 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
252 yy_current_buffer->yy_is_interactive = is_interactive; \
253 }
254
255 #define yy_set_bol(at_bol) \
256 { \
257 if ( ! yy_current_buffer ) \
258 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
259 yy_current_buffer->yy_at_bol = at_bol; \
260 }
261
262 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
263
264
265 #define yywrap() 1
266 #define YY_SKIP_YYWRAP
267 typedef unsigned char YY_CHAR;
268 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
269 typedef int yy_state_type;
270 extern char *yytext;
271 #define yytext_ptr yytext
272
273 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
274 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
275 static int yy_get_next_buffer YY_PROTO(( void ));
276 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
277
278 /* Done after the current pattern has been matched and before the
279 * corresponding action - sets up yytext.
280 */
281 #define YY_DO_BEFORE_ACTION \
282 yytext_ptr = yy_bp; \
283 yytext_ptr -= yy_more_len; \
284 yyleng = (int) (yy_cp - yytext_ptr); \
285 yy_hold_char = *yy_cp; \
286 *yy_cp = '\0'; \
287 yy_c_buf_p = yy_cp;
288
289 #define YY_NUM_RULES 288
290 #define YY_END_OF_BUFFER 289
291 static yyconst short int yy_accept[1857] =
292 { 0,
293 4, 4, 289, 287, 4, 3, 287, 5, 287, 287,
294 6, 287, 287, 287, 287, 287, 287, 287, 287, 287,
295 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
296 287, 287, 287, 287, 287, 287, 8, 4, 3, 0,
297 7, 5, 286, 0, 2, 5, 6, 0, 0, 0,
298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
301 0, 0, 0, 280, 0, 0, 0, 0, 0, 0,
302 0, 0, 0, 0, 98, 0, 270, 0, 0, 0,
303
304 0, 0, 0, 0, 0, 0, 275, 0, 0, 0,
305 0, 0, 0, 0, 136, 0, 0, 0, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 285, 0, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
311 0, 0, 257, 0, 0, 0, 0, 0, 43, 0,
312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
314
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 118, 0, 0, 0, 0, 0,
319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321 0, 241, 0, 0, 0, 0, 0, 0, 0, 0,
322 178, 0, 0, 0, 0, 243, 169, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
325
326 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
327 234, 0, 265, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 0, 256, 236, 0, 0, 41,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
331 0, 0, 0, 0, 238, 0, 0, 0, 0, 0,
332 0, 0, 0, 0, 0, 92, 259, 0, 0, 0,
333 0, 99, 100, 0, 0, 103, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
336
337 0, 0, 130, 0, 0, 0, 134, 0, 0, 0,
338 0, 0, 143, 0, 0, 228, 0, 152, 0, 0,
339 0, 0, 0, 0, 0, 0, 0, 165, 0, 0,
340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
342 183, 0, 0, 0, 0, 0, 0, 194, 0, 0,
343 200, 255, 0, 0, 0, 0, 11, 0, 15, 0,
344 0, 18, 0, 264, 0, 0, 0, 235, 0, 0,
345 0, 29, 0, 0, 0, 0, 0, 237, 0, 0,
346 0, 0, 0, 251, 0, 0, 53, 0, 0, 0,
347
348 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
349 0, 0, 0, 0, 279, 74, 0, 0, 76, 0,
350 0, 0, 0, 0, 258, 0, 0, 0, 0, 0,
351 269, 0, 0, 105, 0, 0, 0, 0, 0, 0,
352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 274,
354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 0, 0, 0, 158, 0, 0, 0, 0,
357 0, 0, 0, 0, 172, 0, 0, 0, 0, 0,
358
359 0, 239, 0, 180, 0, 0, 284, 0, 0, 0,
360 0, 197, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 198, 0, 0, 254,
362 201, 0, 0, 10, 0, 13, 0, 0, 0, 0,
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
365 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 278, 0, 0, 0, 77, 0,
367 0, 0, 85, 0, 0, 0, 0, 0, 0, 268,
368 0, 0, 0, 0, 107, 0, 0, 110, 0, 0,
369
370 113, 0, 0, 0, 116, 252, 0, 0, 0, 121,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372 273, 0, 0, 0, 261, 227, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
374 0, 0, 0, 0, 147, 0, 0, 0, 0, 0,
375 0, 155, 0, 0, 159, 160, 162, 0, 0, 0,
376 0, 263, 0, 0, 0, 0, 176, 0, 179, 0,
377 0, 0, 0, 283, 0, 0, 195, 0, 0, 0,
378 0, 196, 185, 242, 0, 231, 0, 0, 0, 0,
379 0, 0, 0, 199, 248, 0, 0, 0, 0, 0,
380
381 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
382 0, 0, 31, 0, 34, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 108, 109, 0, 112, 0, 0, 0, 0,
388 119, 120, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 0, 0, 0, 0, 260, 226, 240, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 262,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 186, 230, 187, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 17, 0, 0, 0, 249,
398 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 51, 0, 0, 0, 244, 0, 58,
400 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
401 0, 0, 71, 73, 277, 0, 0, 0, 0, 0,
402
403 0, 0, 0, 0, 0, 94, 95, 0, 0, 0,
404 0, 267, 0, 0, 0, 0, 111, 114, 0, 0,
405 0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
406 0, 272, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 140, 0, 144, 0, 0, 0, 146, 0, 245,
408 0, 148, 0, 0, 0, 0, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 0, 0, 282,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413
414 0, 0, 21, 0, 0, 0, 0, 0, 0, 36,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 55, 0, 0, 0, 61, 64, 67, 0,
417 0, 0, 0, 0, 0, 0, 276, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 247, 0,
419 0, 266, 0, 0, 0, 0, 115, 0, 117, 0,
420 0, 0, 0, 123, 124, 0, 0, 0, 271, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 221, 0, 150, 0, 0, 0,
423 156, 157, 0, 163, 0, 0, 0, 0, 0, 0,
424
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 281, 0, 0, 0, 0, 0, 0, 0,
427 189, 190, 0, 0, 0, 0, 1, 0, 1, 0,
428 0, 0, 0, 19, 0, 0, 0, 0, 0, 32,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 82, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 204, 0, 0, 125, 0, 0, 126,
434 0, 0, 0, 83, 0, 0, 0, 0, 0, 0,
435
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
437 0, 0, 0, 0, 0, 0, 0, 173, 174, 0,
438 246, 177, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 253, 0, 0, 0, 188, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 35, 0, 0, 0, 42, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 81, 0, 0, 87, 88,
444 0, 0, 0, 0, 0, 0, 0, 0, 0, 223,
445 212, 0, 122, 0, 0, 229, 0, 0, 0, 0,
446
447 0, 0, 0, 0, 0, 0, 0, 0, 233, 0,
448 0, 149, 0, 0, 0, 0, 166, 0, 0, 0,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 191, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
452 44, 0, 0, 0, 0, 0, 0, 52, 56, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
454 0, 86, 0, 90, 0, 0, 0, 0, 0, 0,
455 106, 213, 0, 0, 0, 0, 0, 0, 0, 0,
456 132, 133, 135, 0, 0, 0, 0, 0, 0, 0,
457
458 0, 0, 151, 154, 0, 0, 0, 0, 0, 0,
459 250, 181, 0, 0, 0, 0, 0, 0, 0, 0,
460 0, 210, 0, 0, 0, 0, 12, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 50, 0, 0, 60, 0, 0, 66, 0,
463 70, 72, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 207, 0, 0, 131, 0,
465 0, 139, 0, 142, 0, 0, 0, 0, 0, 0,
466 0, 0, 171, 175, 0, 0, 0, 0, 0, 0,
467 193, 0, 0, 211, 0, 215, 0, 0, 0, 20,
468
469 23, 0, 0, 0, 0, 0, 0, 0, 46, 0,
470 0, 0, 0, 0, 62, 65, 68, 79, 0, 0,
471 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 127, 0, 0, 0, 0, 0, 145, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 9, 208, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 49, 0, 69, 80, 0,
476 89, 96, 0, 0, 102, 0, 0, 0, 0, 0,
477 128, 0, 0, 141, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479
480 0, 26, 27, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 84, 0, 101, 0, 0, 0, 0,
482 205, 0, 0, 138, 232, 0, 222, 161, 0, 0,
483 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
484 0, 28, 33, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 214, 0, 0, 0, 0, 0, 164,
486 0, 0, 0, 219, 218, 217, 220, 0, 0, 0,
487 0, 0, 38, 0, 0, 0, 0, 0, 203, 0,
488 0, 0, 206, 0, 137, 0, 0, 0, 0, 0,
489 184, 192, 0, 0, 0, 0, 0, 0, 0, 0,
490
491 0, 224, 0, 0, 0, 168, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 97, 0, 0, 0, 167,
493 170, 0, 0, 0, 0, 0, 45, 0, 0, 104,
494 0, 24, 182, 0, 0, 0, 0, 47, 0, 129,
495 0, 0, 0, 0, 48, 0, 0, 0, 40, 0,
496 37, 0, 0, 39, 209, 0
497 } ;
498
499 static yyconst int yy_ec[256] =
500 { 0,
501 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
504 1, 2, 1, 4, 5, 1, 1, 1, 1, 1,
505 1, 6, 1, 1, 1, 7, 8, 9, 9, 9,
506 9, 10, 9, 11, 9, 9, 9, 1, 1, 12,
507 1, 13, 1, 1, 15, 16, 17, 18, 19, 20,
508 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
509 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
510 1, 1, 1, 1, 14, 1, 15, 16, 17, 18,
511
512 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
513 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
514 39, 40, 1, 1, 1, 41, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522
523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1
529 } ;
530
531 static yyconst int yy_meta[42] =
532 { 0,
533 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537 1
538 } ;
539
540 static yyconst short int yy_base[1862] =
541 { 0,
542 0, 0, 1877, 1878, 1874, 0, 39, 0, 37, 39,
543 39, 35, 30, 56, 57, 30, 78, 58, 79, 91,
544 1846, 94, 109, 110, 125, 1844, 68, 1838, 97, 142,
545 161, 108, 1850, 47, 1845, 1851, 1878, 1867, 0, 92,
546 1878, 0, 1878, 1840, 1878, 0, 136, 117, 1840, 1832,
547 1839, 1830, 1829, 1833, 1827, 1828, 1825, 124, 1829, 1842,
548 57, 134, 128, 1817, 1816, 169, 140, 1820, 1824, 1820,
549 1833, 1835, 151, 162, 178, 1834, 1822, 1818, 41, 1831,
550 1830, 1814, 85, 1804, 146, 1821, 108, 1805, 1822, 171,
551 1823, 1812, 1809, 1800, 1799, 1811, 1794, 1806, 1808, 1801,
552
553 190, 1789, 1813, 72, 141, 149, 1788, 94, 1798, 1807,
554 1797, 1801, 176, 1805, 1807, 1793, 1800, 181, 1790, 1785,
555 31, 213, 1801, 188, 163, 193, 1792, 1794, 114, 1787,
556 1797, 1772, 1778, 1777, 1782, 1777, 198, 1792, 1779, 1774,
557 1774, 207, 1783, 1772, 197, 1781, 1776, 1765, 1780, 1777,
558 1772, 1771, 1754, 1763, 1768, 214, 1773, 1756, 1755, 1768,
559 1760, 1771, 1756, 1755, 1750, 1759, 1747, 1760, 1745, 1747,
560 1748, 1745, 1741, 1753, 1737, 1756, 1731, 1752, 1878, 1753,
561 211, 1739, 1751, 1735, 1741, 1747, 1730, 1742, 1733, 1740,
562 1732, 1738, 1733, 1732, 1735, 1727, 1729, 217, 1724, 1731,
563
564 1723, 1729, 1713, 1717, 1726, 1729, 1715, 1726, 1722, 223,
565 1706, 1707, 1724, 1718, 1707, 1712, 237, 1706, 1699, 162,
566 1704, 1714, 1698, 1710, 1696, 1699, 1697, 1693, 1709, 1684,
567 1702, 1696, 1686, 1690, 235, 1693, 1703, 1682, 1700, 1681,
568 236, 1678, 1693, 1696, 1692, 1672, 1683, 235, 1691, 1674,
569 1686, 1671, 1681, 1681, 1667, 1668, 1680, 1665, 1674, 1677,
570 1680, 1675, 1664, 219, 1678, 1662, 1672, 1653, 1656, 1655,
571 1878, 1667, 1659, 1650, 1654, 1878, 1668, 1647, 1646, 1664,
572 1649, 1654, 1653, 1642, 1655, 230, 1650, 1653, 1653, 1635,
573 1643, 1649, 1641, 198, 1633, 1639, 1636, 1638, 1634, 1878,
574
575 1635, 1630, 1630, 1630, 1627, 1619, 1641, 1878, 1637, 1628,
576 1878, 1618, 1618, 1631, 238, 1621, 1620, 1633, 1627, 1612,
577 1616, 1609, 1610, 1622, 1606, 1878, 1878, 1618, 1603, 1878,
578 1605, 1620, 1612, 1620, 1614, 1598, 1602, 1604, 1603, 1589,
579 1608, 1596, 1593, 1605, 1595, 1596, 1593, 1588, 1593, 1590,
580 1584, 1582, 1596, 1582, 1878, 1581, 1593, 1578, 1578, 1593,
581 1589, 1592, 240, 1587, 1591, 1878, 1571, 1576, 1568, 1569,
582 1567, 1878, 1878, 1585, 1579, 1583, 1580, 1576, 1569, 1570,
583 1576, 1559, 1570, 1555, 1573, 1555, 1560, 1571, 1551, 1564,
584 1552, 1555, 1557, 1564, 1559, 257, 1558, 1560, 1560, 1546,
585
586 1539, 1546, 1878, 1543, 1556, 1540, 1554, 1535, 1537, 1535,
587 1541, 1544, 261, 1548, 1524, 1878, 1546, 1878, 1544, 1524,
588 1528, 1524, 1517, 1521, 1536, 1518, 1519, 1536, 1519, 1520,
589 246, 260, 1528, 1512, 1517, 1518, 1526, 1522, 1524, 1507,
590 1520, 1522, 1503, 1508, 1518, 1498, 1519, 1517, 1516, 1502,
591 1878, 1510, 1494, 1504, 1493, 1502, 270, 1878, 1490, 1494,
592 1508, 1488, 1501, 1484, 1484, 1489, 1493, 1496, 1878, 193,
593 1485, 1878, 1499, 1878, 1480, 1485, 1492, 1878, 1490, 1492,
594 1475, 1878, 1472, 1486, 1485, 1486, 1476, 1878, 1475, 1477,
595 1473, 1470, 1474, 1878, 1473, 1466, 1878, 1475, 1463, 1474,
596
597 1457, 1462, 1471, 1473, 1468, 1467, 1453, 1458, 1464, 1878,
598 1463, 1467, 1454, 1453, 1445, 1878, 1462, 1437, 248, 1449,
599 1451, 1439, 1444, 1438, 1878, 1455, 1446, 1449, 1444, 1446,
600 1432, 1447, 1424, 1448, 1447, 1426, 1424, 1429, 1428, 1433,
601 1438, 1426, 1430, 1425, 1437, 1422, 1416, 1429, 1419, 1412,
602 1427, 1427, 1428, 244, 1416, 1423, 1411, 264, 1424, 1405,
603 1398, 1415, 1406, 1415, 1414, 1411, 267, 1399, 1413, 1410,
604 1405, 1408, 1400, 1393, 274, 1390, 1409, 1407, 1384, 283,
605 285, 1392, 1405, 1390, 275, 1878, 1395, 1382, 1396, 1391,
606 1394, 278, 1394, 1381, 1878, 1378, 1386, 1379, 1389, 1392,
607
608 1371, 1878, 1389, 1389, 1383, 1387, 1367, 1360, 1364, 1378,
609 1380, 1878, 1367, 1356, 1361, 1373, 1358, 1368, 1361, 1352,
610 1359, 285, 1358, 1357, 1355, 1361, 1371, 1351, 1352, 1878,
611 1878, 1361, 76, 1878, 137, 1878, 240, 252, 256, 277,
612 301, 285, 290, 291, 295, 306, 307, 293, 293, 293,
613 305, 295, 300, 312, 318, 305, 305, 309, 1878, 302,
614 323, 1878, 323, 325, 313, 323, 316, 317, 315, 319,
615 318, 326, 319, 321, 1878, 326, 319, 335, 1878, 342,
616 339, 344, 345, 341, 330, 337, 351, 350, 341, 1878,
617 346, 335, 351, 354, 1878, 352, 342, 1878, 358, 357,
618
619 1878, 349, 363, 361, 1878, 1878, 344, 360, 360, 1878,
620 367, 357, 371, 364, 360, 371, 374, 375, 366, 362,
621 1878, 361, 377, 369, 365, 366, 381, 383, 387, 378,
622 382, 390, 378, 375, 390, 395, 381, 383, 397, 386,
623 385, 399, 390, 402, 1878, 386, 390, 397, 406, 388,
624 394, 1878, 395, 406, 1878, 412, 411, 411, 391, 407,
625 415, 399, 418, 412, 408, 403, 1878, 411, 1878, 413,
626 412, 409, 423, 1878, 409, 418, 431, 412, 420, 436,
627 423, 1878, 1878, 1878, 435, 1878, 436, 438, 440, 422,
628 430, 439, 432, 1878, 1878, 433, 444, 434, 431, 449,
629
630 452, 440, 432, 441, 448, 454, 444, 455, 1878, 441,
631 446, 457, 1878, 445, 459, 452, 467, 448, 469, 461,
632 471, 458, 473, 469, 463, 464, 462, 473, 479, 465,
633 466, 475, 468, 484, 473, 471, 478, 472, 470, 484,
634 485, 1878, 488, 470, 486, 485, 492, 480, 498, 482,
635 486, 491, 498, 502, 493, 491, 506, 503, 485, 505,
636 502, 509, 1878, 1878, 510, 1878, 505, 498, 513, 514,
637 1878, 1878, 515, 502, 508, 518, 522, 511, 525, 516,
638 526, 522, 525, 531, 509, 1878, 1878, 1878, 528, 515,
639 535, 535, 517, 538, 539, 535, 525, 535, 531, 525,
640
641 530, 528, 522, 536, 540, 546, 536, 539, 535, 545,
642 541, 538, 539, 550, 558, 540, 556, 540, 551, 1878,
643 545, 556, 552, 556, 559, 554, 558, 556, 552, 573,
644 574, 575, 576, 577, 573, 574, 575, 563, 582, 579,
645 584, 1878, 1878, 1878, 580, 581, 584, 581, 580, 590,
646 603, 591, 576, 584, 583, 1878, 596, 582, 595, 1878,
647 596, 1878, 590, 585, 592, 600, 588, 596, 605, 601,
648 611, 597, 605, 1878, 599, 612, 609, 1878, 604, 1878,
649 606, 615, 618, 1878, 619, 615, 619, 625, 619, 623,
650 628, 629, 1878, 1878, 616, 631, 623, 629, 625, 635,
651
652 637, 641, 627, 622, 630, 1878, 1878, 631, 642, 633,
653 630, 631, 646, 651, 633, 642, 1878, 1878, 644, 644,
654 645, 642, 1878, 640, 646, 660, 642, 651, 664, 660,
655 661, 648, 656, 660, 656, 652, 668, 659, 669, 660,
656 670, 1878, 672, 1878, 653, 660, 676, 1878, 665, 1878,
657 663, 1878, 673, 680, 672, 673, 688, 669, 668, 676,
658 678, 693, 681, 694, 687, 678, 694, 693, 700, 698,
659 682, 698, 684, 696, 702, 692, 693, 694, 695, 692,
660 712, 689, 695, 700, 711, 713, 702, 695, 709, 712,
661 703, 709, 736, 735, 728, 709, 728, 730, 731, 707,
662
663 724, 735, 1878, 731, 732, 723, 735, 725, 736, 1878,
664 733, 731, 728, 730, 725, 746, 739, 734, 745, 754,
665 748, 752, 1878, 741, 750, 740, 1878, 1878, 1878, 748,
666 744, 741, 748, 747, 744, 745, 1878, 751, 765, 754,
667 747, 767, 756, 757, 766, 767, 767, 767, 775, 772,
668 772, 1878, 765, 760, 772, 780, 1878, 781, 1878, 763,
669 784, 765, 774, 1878, 1878, 784, 770, 769, 1878, 775,
670 779, 772, 770, 789, 794, 789, 797, 784, 787, 782,
671 801, 802, 798, 804, 806, 798, 1878, 799, 804, 808,
672 1878, 1878, 799, 1878, 809, 797, 794, 812, 793, 812,
673
674 803, 803, 815, 817, 804, 814, 818, 816, 810, 811,
675 812, 813, 1878, 810, 815, 812, 817, 822, 830, 816,
676 1878, 1878, 823, 838, 827, 850, 851, 843, 844, 825,
677 825, 840, 842, 1878, 845, 826, 836, 845, 837, 1878,
678 839, 837, 839, 841, 845, 844, 839, 849, 857, 859,
679 850, 864, 860, 846, 858, 850, 864, 856, 866, 854,
680 861, 869, 863, 864, 861, 875, 867, 1878, 876, 872,
681 877, 865, 866, 885, 865, 872, 888, 889, 874, 876,
682 892, 868, 869, 1878, 879, 877, 1878, 889, 889, 1878,
683 880, 897, 897, 1878, 887, 884, 891, 900, 891, 907,
684
685 893, 909, 889, 893, 893, 894, 895, 910, 902, 1878,
686 916, 914, 911, 900, 916, 922, 908, 1878, 1878, 923,
687 1878, 1878, 916, 923, 918, 909, 924, 925, 926, 927,
688 924, 925, 1878, 930, 916, 925, 1878, 931, 938, 931,
689 918, 927, 931, 920, 922, 945, 947, 943, 945, 950,
690 1878, 943, 937, 944, 1878, 946, 950, 952, 956, 943,
691 958, 946, 953, 942, 963, 946, 954, 954, 955, 953,
692 957, 955, 956, 952, 964, 1878, 974, 961, 1878, 1878,
693 976, 968, 959, 965, 977, 961, 962, 969, 966, 985,
694 1878, 981, 1878, 986, 975, 1878, 988, 987, 973, 989,
695
696 988, 975, 982, 979, 984, 997, 988, 997, 1878, 984,
697 995, 1878, 998, 993, 1008, 1008, 1878, 1010, 1000, 994,
698 993, 1010, 1010, 1013, 1016, 1000, 1001, 1002, 1003, 1009,
699 1005, 1006, 1024, 1006, 1878, 1024, 1014, 1014, 1012, 1016,
700 1023, 1025, 1025, 1026, 1018, 1878, 1025, 1033, 1035, 1020,
701 1878, 1041, 1037, 1031, 1024, 1041, 1026, 1878, 1878, 1033,
702 1036, 1030, 1035, 1036, 1045, 1038, 1047, 1048, 1878, 1052,
703 1054, 1878, 1049, 1878, 1043, 1060, 1061, 1047, 1054, 1055,
704 1878, 1878, 1060, 1063, 1049, 1054, 1064, 1058, 1070, 1068,
705 1878, 1878, 1878, 1073, 1058, 1071, 1067, 1061, 1063, 1060,
706
707 1080, 1068, 1878, 1878, 1062, 1069, 1073, 1080, 1082, 1079,
708 1878, 1878, 1087, 1087, 1090, 1091, 1092, 1093, 1089, 1090,
709 1096, 1878, 1096, 1078, 1094, 1082, 1878, 1086, 1082, 1088,
710 1084, 1089, 1101, 1102, 1090, 1106, 1110, 1108, 1098, 1113,
711 1109, 1111, 1878, 1101, 1102, 1878, 1111, 1112, 1878, 1113,
712 1878, 1878, 1103, 1107, 1107, 1105, 1105, 1123, 1106, 1115,
713 1116, 1129, 1123, 1132, 1126, 1878, 1129, 1117, 1878, 1117,
714 1125, 1878, 1134, 1878, 1135, 1118, 1138, 1126, 1134, 1130,
715 1140, 1121, 1878, 1878, 1127, 1136, 1134, 1135, 1136, 1137,
716 1878, 1153, 1148, 1878, 1134, 1878, 1152, 1153, 1158, 1878,
717
718 1878, 1137, 1146, 1139, 1162, 1148, 1145, 1157, 1878, 1164,
719 1168, 1151, 1150, 1164, 1878, 1878, 1878, 1175, 1159, 1155,
720 1878, 1156, 1161, 1163, 1173, 1174, 1161, 1180, 1161, 1178,
721 1878, 1180, 1169, 1177, 1169, 1183, 1878, 1188, 1178, 1178,
722 1187, 1168, 1194, 1190, 1191, 1183, 1184, 1185, 1186, 1187,
723 1190, 1202, 1878, 1878, 1191, 1209, 1204, 1203, 1193, 1189,
724 1206, 1193, 1212, 1206, 1212, 1878, 1207, 1878, 1878, 1211,
725 1878, 1878, 1204, 1199, 1878, 1220, 1206, 1208, 1204, 1205,
726 1225, 1214, 1207, 1878, 1209, 1217, 1225, 1226, 1220, 1233,
727 1228, 1235, 1232, 1225, 1226, 1227, 1228, 1226, 1227, 1231,
728
729 1239, 1878, 1878, 1240, 1234, 1229, 1234, 1231, 1245, 1237,
730 1251, 1238, 1251, 1878, 1241, 1878, 1244, 1243, 1244, 1254,
731 1878, 1241, 1252, 1878, 1878, 1250, 1878, 1878, 1244, 1258,
732 1256, 1260, 1878, 1242, 1243, 1244, 1245, 1251, 1257, 1261,
733 1255, 1878, 1878, 1270, 1256, 1255, 1260, 1265, 1266, 1268,
734 1277, 1278, 1275, 1878, 1280, 1268, 1278, 1268, 1284, 1878,
735 1281, 1279, 1283, 1878, 1878, 1878, 1878, 1284, 1290, 1270,
736 1277, 1291, 1878, 1293, 1299, 1295, 1287, 1289, 1878, 1300,
737 1291, 1293, 1878, 1293, 1878, 1289, 1296, 1304, 1298, 1308,
738 1878, 1878, 1311, 1308, 1296, 1312, 1304, 1312, 1317, 1299,
739
740 1311, 1878, 1305, 1313, 1318, 1878, 1319, 1320, 1319, 1309,
741 1328, 1314, 1311, 1319, 1318, 1878, 1313, 1322, 1331, 1878,
742 1878, 1317, 1332, 1333, 1336, 1319, 1878, 1322, 1338, 1878,
743 1338, 1878, 1878, 1344, 1331, 1331, 1333, 1878, 1329, 1878,
744 1329, 1347, 1330, 1332, 1878, 1344, 1349, 1341, 1878, 1343,
745 1878, 1337, 1353, 1878, 1878, 1878, 1372, 1373, 1375, 1376,
746 1377
747 } ;
748
749 static yyconst short int yy_def[1862] =
750 { 0,
751 1856, 1, 1856, 1856, 1856, 1857, 1858, 1859, 1856, 1856,
752 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
753 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
754 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1857, 1858,
755 1856, 1859, 1856, 1856, 1856, 1859, 1856, 1856, 1856, 1856,
756 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
757 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
758 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
759 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
760 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
761
762 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
763 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
764 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
765 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
766 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
767 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
768 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
769 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
770 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
771 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
772
773 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
774 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
775 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
776 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
777 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
778 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
779 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
780 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
781 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
782 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
783
784 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
785 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
786 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
787 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
788 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
789 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
790 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
791 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
792 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
793 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
794
795 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
796 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
797 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
798 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
799 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
800 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
801 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
802 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
803 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
804 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
805
806 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
807 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
808 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
809 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
810 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
811 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
812 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
813 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
814 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
815 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
816
817 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
818 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
819 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
820 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
821 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
822 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
823 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
824 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
825 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
826 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
827
828 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
829 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
830 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
831 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
832 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
833 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
834 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
835 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
836 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
837 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
838
839 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
840 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
841 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
842 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
843 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
844 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
845 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
846 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
847 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
848 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
849
850 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
851 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
852 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
853 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
854 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
855 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
856 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
857 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
858 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
859 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
860
861 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
862 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
863 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
864 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
865 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
866 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
867 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
868 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
869 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
870 1856, 1856, 1856, 1860, 1861, 1856, 1856, 1856, 1856, 1856,
871
872 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
873 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
874 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
875 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
876 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
877 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
878 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
879 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
880 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
881 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
882
883 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
884 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
885 1856, 1856, 1856, 1856, 1856, 1860, 1860, 1861, 1861, 1856,
886 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
887 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
888 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
889 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
890 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
891 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
892 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
893
894 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
895 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
896 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
897 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
898 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
899 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
900 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
901 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
902 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
903 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
904
905 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
906 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
907 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
908 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
909 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
910 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
911 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
912 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
913 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
914 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
915
916 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
917 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
918 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
919 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
920 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
921 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
922 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
923 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
924 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
925 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
926
927 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
928 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
929 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
930 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
931 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
932 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
933 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
934 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
935 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
936 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
937
938 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
939 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
940 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
941 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
942 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
943 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
944 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
945 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
946 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
947 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
948
949 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
950 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
951 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
952 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
953 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
954 1856, 1856, 1856, 1856, 1856, 0, 1856, 1856, 1856, 1856,
955 1856
956 } ;
957
958 static yyconst short int yy_nxt[1920] =
959 { 0,
960 4, 5, 6, 7, 8, 4, 9, 10, 11, 11,
961 11, 4, 4, 4, 12, 13, 14, 15, 16, 17,
962 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
963 28, 29, 30, 31, 32, 33, 34, 35, 36, 4,
964 37, 41, 41, 43, 45, 256, 46, 47, 47, 47,
965 71, 48, 49, 257, 50, 54, 72, 73, 55, 44,
966 51, 145, 52, 196, 56, 146, 197, 74, 57, 53,
967 58, 65, 59, 84, 165, 66, 85, 60, 61, 67,
968 86, 62, 118, 87, 63, 68, 166, 64, 69, 798,
969 119, 70, 75, 88, 41, 41, 120, 76, 77, 232,
970
971 78, 89, 79, 80, 233, 81, 82, 90, 92, 97,
972 201, 93, 83, 91, 239, 122, 98, 202, 94, 99,
973 95, 100, 101, 102, 106, 107, 240, 103, 108, 123,
974 207, 104, 109, 150, 141, 142, 208, 105, 110, 111,
975 143, 112, 275, 113, 47, 47, 47, 114, 167, 161,
976 151, 162, 276, 115, 170, 171, 168, 234, 179, 116,
977 124, 235, 204, 125, 126, 186, 127, 187, 169, 799,
978 128, 129, 180, 205, 130, 131, 132, 269, 188, 133,
979 189, 236, 134, 174, 175, 135, 237, 376, 176, 136,
980 377, 270, 137, 138, 245, 190, 177, 251, 139, 140,
981
982 191, 178, 192, 211, 266, 212, 223, 224, 225, 246,
983 271, 457, 226, 252, 253, 267, 284, 227, 272, 268,
984 637, 290, 296, 228, 333, 638, 229, 258, 297, 458,
985 259, 291, 285, 260, 261, 308, 262, 351, 292, 263,
986 364, 365, 309, 334, 293, 264, 372, 373, 392, 400,
987 352, 408, 427, 521, 428, 393, 448, 476, 409, 594,
988 477, 678, 800, 410, 394, 713, 449, 522, 411, 714,
989 401, 552, 553, 554, 575, 576, 595, 555, 596, 556,
990 679, 801, 557, 802, 558, 597, 718, 598, 622, 728,
991 559, 803, 623, 577, 624, 625, 729, 578, 719, 737,
992
993 745, 747, 738, 739, 753, 788, 626, 754, 740, 760,
994 804, 746, 761, 807, 805, 808, 809, 810, 748, 811,
995 812, 749, 789, 806, 813, 814, 815, 816, 817, 818,
996 819, 820, 821, 822, 823, 824, 825, 826, 827, 828,
997 829, 830, 831, 832, 833, 834, 835, 840, 836, 841,
998 837, 842, 843, 844, 838, 846, 847, 848, 849, 850,
999 839, 845, 852, 853, 854, 855, 856, 857, 858, 859,
1000 851, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1001 871, 872, 860, 873, 874, 875, 876, 861, 877, 878,
1002 879, 880, 881, 882, 883, 884, 885, 886, 887, 888,
1003
1004 889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
1005 899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
1006 909, 910, 911, 912, 913, 914, 915, 916, 917, 918,
1007 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
1008 929, 930, 935, 936, 937, 931, 938, 932, 939, 940,
1009 941, 933, 934, 942, 943, 944, 945, 946, 947, 948,
1010 949, 950, 951, 952, 953, 954, 955, 956, 957, 958,
1011 959, 960, 961, 962, 963, 964, 965, 966, 967, 968,
1012 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
1013 979, 980, 981, 982, 983, 984, 985, 986, 987, 988,
1014
1015 989, 991, 992, 990, 993, 994, 995, 996, 997, 998,
1016 999, 1000, 1001, 1004, 1005, 1006, 1007, 1008, 1009, 1010,
1017 1011, 1012, 1013, 1014, 1015, 1002, 1003, 1016, 1017, 1018,
1018 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028,
1019 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
1020 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
1021 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058,
1022 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068,
1023 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
1024 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088,
1025
1026 1089, 1090, 1091, 1092, 1093, 1096, 1094, 1097, 1098, 1099,
1027 1100, 1101, 1102, 1103, 1095, 1104, 1105, 1106, 1107, 1109,
1028 1110, 1111, 1108, 1114, 1112, 1115, 1120, 1121, 1122, 1123,
1029 1116, 1124, 1117, 1125, 1126, 1127, 1118, 1113, 1128, 1129,
1030 1130, 1131, 1119, 1132, 1133, 1134, 1135, 1136, 1137, 1138,
1031 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148,
1032 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158,
1033 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168,
1034 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1177, 1178, 1179,
1035 1180, 1181, 1182, 1183, 1184, 1175, 1185, 1186, 1187, 1188,
1036
1037 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
1038 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1039 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
1040 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1093, 1227, 1094,
1041 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1095, 1236, 1237,
1042 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
1043 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257,
1044 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
1045 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1046 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
1047
1048 1288, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
1049 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1289, 1306, 1307,
1050 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
1051 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
1052 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
1053 1338, 1339, 1340, 1227, 1227, 1229, 1229, 1341, 1342, 1343,
1054 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353,
1055 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363,
1056 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373,
1057 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
1058
1059 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
1060 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
1061 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
1062 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423,
1063 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433,
1064 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443,
1065 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453,
1066 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463,
1067 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473,
1068 1475, 1476, 1477, 1478, 1480, 1481, 1482, 1483, 1484, 1485,
1069
1070 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1474, 1494,
1071 1479, 1495, 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1498,
1072 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1073 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
1074 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1075 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1076 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
1077 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563,
1078 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
1079 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583,
1080
1081 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
1082 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603,
1083 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
1084 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,
1085 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
1086 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643,
1087 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653,
1088 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1663, 1662,
1089 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
1090 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683,
1091
1092 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
1093 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
1094 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713,
1095 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723,
1096 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733,
1097 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743,
1098 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753,
1099 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763,
1100 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773,
1101 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783,
1102
1103 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793,
1104 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803,
1105 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813,
1106 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823,
1107 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
1108 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843,
1109 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853,
1110 1854, 1855, 39, 40, 40, 42, 1226, 1228, 797, 796,
1111 795, 794, 793, 792, 791, 790, 787, 786, 785, 784,
1112 783, 782, 781, 780, 779, 778, 777, 776, 775, 774,
1113
1114 773, 772, 771, 770, 769, 768, 767, 766, 765, 764,
1115 763, 762, 759, 758, 757, 756, 755, 752, 751, 750,
1116 744, 743, 742, 741, 736, 735, 734, 733, 732, 731,
1117 730, 727, 726, 725, 724, 723, 722, 721, 720, 717,
1118 716, 715, 712, 711, 710, 709, 708, 707, 706, 705,
1119 704, 703, 702, 701, 700, 699, 698, 697, 696, 695,
1120 694, 693, 692, 691, 690, 689, 688, 687, 686, 685,
1121 684, 683, 682, 681, 680, 677, 676, 675, 674, 673,
1122 672, 671, 670, 669, 668, 667, 666, 665, 664, 663,
1123 662, 661, 660, 659, 658, 657, 656, 655, 654, 653,
1124
1125 652, 651, 650, 649, 648, 647, 646, 645, 644, 643,
1126 642, 641, 640, 639, 636, 635, 634, 633, 632, 631,
1127 630, 629, 628, 627, 621, 620, 619, 618, 617, 616,
1128 615, 614, 613, 612, 611, 610, 609, 608, 607, 606,
1129 605, 604, 603, 602, 601, 600, 599, 593, 592, 591,
1130 590, 589, 588, 587, 586, 585, 584, 583, 582, 581,
1131 580, 579, 574, 573, 572, 571, 570, 569, 568, 567,
1132 566, 565, 564, 563, 562, 561, 560, 551, 550, 549,
1133 548, 547, 546, 545, 544, 543, 542, 541, 540, 539,
1134 538, 537, 536, 535, 534, 533, 532, 531, 530, 529,
1135
1136 528, 527, 526, 525, 524, 523, 520, 519, 518, 517,
1137 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
1138 506, 505, 504, 503, 502, 501, 500, 499, 498, 497,
1139 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
1140 486, 485, 484, 483, 482, 481, 480, 479, 478, 475,
1141 474, 473, 472, 471, 470, 469, 468, 467, 466, 465,
1142 464, 463, 462, 461, 460, 459, 456, 455, 454, 453,
1143 452, 451, 450, 447, 446, 445, 444, 443, 442, 441,
1144 440, 439, 438, 437, 436, 435, 434, 433, 432, 431,
1145 430, 429, 426, 425, 424, 423, 422, 421, 420, 419,
1146
1147 418, 417, 416, 415, 414, 413, 412, 407, 406, 405,
1148 404, 403, 402, 399, 398, 397, 396, 395, 391, 390,
1149 389, 388, 387, 386, 385, 384, 383, 382, 381, 380,
1150 379, 378, 375, 374, 371, 370, 369, 368, 367, 366,
1151 363, 362, 361, 360, 359, 358, 357, 356, 355, 354,
1152 353, 350, 349, 348, 347, 346, 345, 344, 343, 342,
1153 341, 340, 339, 338, 337, 336, 335, 332, 331, 330,
1154 329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
1155 319, 318, 317, 316, 315, 314, 313, 312, 311, 310,
1156 307, 306, 305, 304, 303, 302, 301, 300, 299, 298,
1157
1158 295, 294, 289, 288, 287, 286, 283, 282, 281, 280,
1159 279, 278, 277, 274, 273, 265, 255, 254, 250, 249,
1160 248, 247, 244, 243, 242, 241, 238, 231, 230, 222,
1161 221, 220, 219, 218, 217, 216, 215, 214, 213, 210,
1162 209, 206, 203, 200, 199, 198, 195, 194, 193, 185,
1163 184, 183, 182, 181, 173, 172, 164, 163, 160, 159,
1164 158, 157, 156, 155, 154, 153, 152, 149, 38, 148,
1165 147, 144, 121, 117, 96, 38, 1856, 3, 1856, 1856,
1166 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1167 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1168
1169 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1170 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1171 } ;
1172
1173 static yyconst short int yy_chk[1920] =
1174 { 0,
1175 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1176 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1177 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1178 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1179 1, 7, 7, 9, 10, 121, 10, 11, 11, 11,
1180 16, 12, 12, 121, 12, 13, 16, 16, 13, 9,
1181 12, 34, 12, 79, 13, 34, 79, 16, 13, 12,
1182 14, 15, 14, 18, 61, 15, 18, 14, 14, 15,
1183 18, 14, 27, 18, 14, 15, 61, 14, 15, 633,
1184 27, 15, 17, 19, 40, 40, 27, 17, 17, 104,
1185
1186 17, 19, 17, 17, 104, 17, 17, 19, 20, 22,
1187 83, 20, 17, 19, 108, 29, 22, 83, 20, 22,
1188 20, 22, 23, 23, 24, 24, 108, 23, 24, 29,
1189 87, 23, 24, 48, 32, 32, 87, 23, 24, 25,
1190 32, 25, 129, 25, 47, 47, 47, 25, 62, 58,
1191 48, 58, 129, 25, 63, 63, 62, 105, 67, 25,
1192 30, 105, 85, 30, 30, 73, 30, 73, 62, 635,
1193 30, 30, 67, 85, 30, 30, 31, 125, 74, 31,
1194 74, 106, 31, 66, 66, 31, 106, 220, 66, 31,
1195 220, 125, 31, 31, 113, 74, 66, 118, 31, 31,
1196
1197 75, 66, 75, 90, 124, 90, 101, 101, 101, 113,
1198 126, 294, 101, 118, 118, 124, 137, 101, 126, 124,
1199 470, 142, 145, 101, 181, 470, 101, 122, 145, 294,
1200 122, 142, 137, 122, 122, 156, 122, 198, 142, 122,
1201 210, 210, 156, 181, 142, 122, 217, 217, 235, 241,
1202 198, 248, 264, 363, 264, 235, 286, 315, 248, 431,
1203 315, 519, 637, 248, 235, 554, 286, 363, 248, 554,
1204 241, 396, 396, 396, 413, 413, 431, 396, 432, 396,
1205 519, 638, 396, 639, 396, 432, 558, 432, 457, 567,
1206 396, 640, 457, 413, 457, 457, 567, 413, 558, 575,
1207
1208 580, 581, 575, 575, 585, 622, 457, 585, 575, 592,
1209 640, 580, 592, 642, 641, 643, 644, 645, 581, 646,
1210 647, 581, 622, 641, 648, 649, 650, 651, 652, 653,
1211 654, 655, 656, 657, 658, 660, 661, 663, 664, 665,
1212 666, 667, 668, 669, 670, 671, 672, 673, 672, 674,
1213 672, 676, 677, 678, 672, 680, 681, 682, 683, 684,
1214 672, 678, 685, 686, 687, 688, 689, 691, 692, 693,
1215 684, 694, 696, 697, 699, 700, 702, 703, 704, 707,
1216 708, 709, 693, 711, 712, 713, 714, 693, 715, 716,
1217 717, 718, 719, 720, 722, 723, 724, 725, 726, 727,
1218
1219 728, 729, 730, 731, 732, 733, 734, 735, 736, 737,
1220 738, 739, 740, 741, 742, 743, 744, 746, 747, 748,
1221 749, 750, 751, 753, 754, 756, 757, 758, 759, 760,
1222 761, 762, 763, 764, 764, 765, 766, 768, 770, 771,
1223 772, 773, 775, 776, 777, 773, 778, 773, 779, 780,
1224 781, 773, 773, 785, 787, 788, 789, 790, 791, 792,
1225 793, 796, 797, 798, 799, 800, 801, 802, 803, 804,
1226 805, 806, 807, 808, 810, 811, 812, 814, 815, 816,
1227 817, 818, 819, 820, 821, 822, 823, 824, 825, 826,
1228 827, 828, 829, 830, 831, 832, 833, 834, 835, 836,
1229
1230 837, 838, 839, 837, 840, 841, 843, 844, 845, 846,
1231 847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
1232 857, 858, 859, 860, 861, 849, 849, 862, 865, 867,
1233 868, 869, 870, 873, 874, 875, 876, 877, 878, 879,
1234 880, 881, 882, 883, 884, 885, 889, 890, 891, 892,
1235 893, 894, 895, 896, 897, 898, 899, 900, 901, 902,
1236 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1237 913, 914, 915, 916, 917, 918, 919, 921, 922, 923,
1238 924, 925, 926, 927, 928, 929, 930, 931, 932, 933,
1239 934, 935, 936, 937, 938, 939, 940, 941, 945, 946,
1240
1241 947, 948, 949, 950, 951, 952, 951, 953, 954, 955,
1242 957, 958, 959, 961, 951, 963, 964, 965, 966, 967,
1243 968, 969, 966, 970, 969, 971, 972, 973, 975, 976,
1244 971, 977, 971, 979, 981, 982, 971, 969, 983, 985,
1245 986, 987, 971, 988, 989, 990, 991, 992, 995, 996,
1246 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1008,
1247 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1019, 1020,
1248 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
1249 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041,
1250 1043, 1045, 1046, 1047, 1049, 1037, 1051, 1053, 1054, 1055,
1251
1252 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065,
1253 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075,
1254 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
1255 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1093,
1256 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1093, 1102, 1104,
1257 1105, 1106, 1107, 1108, 1109, 1111, 1112, 1113, 1114, 1115,
1258 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1126,
1259 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1138, 1139, 1140,
1260 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150,
1261 1151, 1153, 1154, 1155, 1156, 1158, 1160, 1161, 1162, 1163,
1262
1263 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
1264 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1166, 1184, 1185,
1265 1186, 1188, 1189, 1190, 1193, 1195, 1196, 1197, 1198, 1199,
1266 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
1267 1210, 1211, 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220,
1268 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
1269 1233, 1235, 1236, 1237, 1238, 1239, 1241, 1242, 1243, 1244,
1270 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254,
1271 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
1272 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1274, 1275,
1273
1274 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1286,
1275 1288, 1289, 1291, 1292, 1293, 1295, 1296, 1297, 1298, 1299,
1276 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309,
1277 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1320, 1323, 1324,
1278 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1334, 1335,
1279 1336, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346,
1280 1347, 1348, 1349, 1350, 1352, 1353, 1354, 1356, 1357, 1358,
1281 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368,
1282 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1377, 1378, 1381,
1283 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1392,
1284
1285 1394, 1395, 1397, 1398, 1399, 1400, 1401, 1402, 1381, 1403,
1286 1385, 1404, 1405, 1406, 1407, 1408, 1410, 1411, 1413, 1406,
1287 1414, 1415, 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
1288 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
1289 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
1290 1447, 1448, 1449, 1450, 1452, 1453, 1454, 1455, 1456, 1457,
1291 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1470,
1292 1471, 1473, 1475, 1476, 1477, 1478, 1479, 1480, 1483, 1484,
1293 1485, 1486, 1487, 1488, 1489, 1490, 1494, 1495, 1496, 1497,
1294 1498, 1499, 1500, 1501, 1502, 1505, 1506, 1507, 1508, 1509,
1295
1296 1510, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521,
1297 1523, 1524, 1525, 1526, 1528, 1529, 1530, 1531, 1532, 1533,
1298 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1544,
1299 1545, 1547, 1548, 1550, 1553, 1554, 1555, 1556, 1557, 1558,
1300 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1567, 1568, 1570,
1301 1571, 1573, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582,
1302 1585, 1586, 1587, 1588, 1589, 1590, 1592, 1593, 1595, 1597,
1303 1598, 1599, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1607,
1304 1610, 1611, 1612, 1613, 1614, 1618, 1619, 1620, 1622, 1623,
1305 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1632, 1633, 1634,
1306
1307 1635, 1636, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
1308 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1655, 1656, 1656,
1309 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1667,
1310 1670, 1673, 1674, 1676, 1677, 1678, 1679, 1680, 1681, 1682,
1311 1683, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
1312 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1704, 1705,
1313 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1715, 1717,
1314 1718, 1719, 1720, 1722, 1723, 1726, 1729, 1730, 1731, 1732,
1315 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1744, 1745,
1316 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1755, 1756,
1317
1318 1757, 1758, 1759, 1761, 1762, 1763, 1768, 1769, 1770, 1771,
1319 1772, 1774, 1775, 1776, 1777, 1778, 1780, 1781, 1782, 1784,
1320 1786, 1787, 1788, 1789, 1790, 1793, 1794, 1795, 1796, 1797,
1321 1798, 1799, 1800, 1801, 1803, 1804, 1805, 1807, 1808, 1809,
1322 1810, 1811, 1812, 1813, 1814, 1815, 1817, 1818, 1819, 1822,
1323 1823, 1824, 1825, 1826, 1828, 1829, 1831, 1834, 1835, 1836,
1324 1837, 1839, 1841, 1842, 1843, 1844, 1846, 1847, 1848, 1850,
1325 1852, 1853, 1857, 1858, 1858, 1859, 1860, 1861, 632, 629,
1326 628, 627, 626, 625, 624, 623, 621, 620, 619, 618,
1327 617, 616, 615, 614, 613, 611, 610, 609, 608, 607,
1328
1329 606, 605, 604, 603, 601, 600, 599, 598, 597, 596,
1330 594, 593, 591, 590, 589, 588, 587, 584, 583, 582,
1331 579, 578, 577, 576, 574, 573, 572, 571, 570, 569,
1332 568, 566, 565, 564, 563, 562, 561, 560, 559, 557,
1333 556, 555, 553, 552, 551, 550, 549, 548, 547, 546,
1334 545, 544, 543, 542, 541, 540, 539, 538, 537, 536,
1335 535, 534, 533, 532, 531, 530, 529, 528, 527, 526,
1336 524, 523, 522, 521, 520, 518, 517, 515, 514, 513,
1337 512, 511, 509, 508, 507, 506, 505, 504, 503, 502,
1338 501, 500, 499, 498, 496, 495, 493, 492, 491, 490,
1339
1340 489, 487, 486, 485, 484, 483, 481, 480, 479, 477,
1341 476, 475, 473, 471, 468, 467, 466, 465, 464, 463,
1342 462, 461, 460, 459, 456, 455, 454, 453, 452, 450,
1343 449, 448, 447, 446, 445, 444, 443, 442, 441, 440,
1344 439, 438, 437, 436, 435, 434, 433, 430, 429, 428,
1345 427, 426, 425, 424, 423, 422, 421, 420, 419, 417,
1346 415, 414, 412, 411, 410, 409, 408, 407, 406, 405,
1347 404, 402, 401, 400, 399, 398, 397, 395, 394, 393,
1348 392, 391, 390, 389, 388, 387, 386, 385, 384, 383,
1349 382, 381, 380, 379, 378, 377, 376, 375, 374, 371,
1350
1351 370, 369, 368, 367, 365, 364, 362, 361, 360, 359,
1352 358, 357, 356, 354, 353, 352, 351, 350, 349, 348,
1353 347, 346, 345, 344, 343, 342, 341, 340, 339, 338,
1354 337, 336, 335, 334, 333, 332, 331, 329, 328, 325,
1355 324, 323, 322, 321, 320, 319, 318, 317, 316, 314,
1356 313, 312, 310, 309, 307, 306, 305, 304, 303, 302,
1357 301, 299, 298, 297, 296, 295, 293, 292, 291, 290,
1358 289, 288, 287, 285, 284, 283, 282, 281, 280, 279,
1359 278, 277, 275, 274, 273, 272, 270, 269, 268, 267,
1360 266, 265, 263, 262, 261, 260, 259, 258, 257, 256,
1361
1362 255, 254, 253, 252, 251, 250, 249, 247, 246, 245,
1363 244, 243, 242, 240, 239, 238, 237, 236, 234, 233,
1364 232, 231, 230, 229, 228, 227, 226, 225, 224, 223,
1365 222, 221, 219, 218, 216, 215, 214, 213, 212, 211,
1366 209, 208, 207, 206, 205, 204, 203, 202, 201, 200,
1367 199, 197, 196, 195, 194, 193, 192, 191, 190, 189,
1368 188, 187, 186, 185, 184, 183, 182, 180, 178, 177,
1369 176, 175, 174, 173, 172, 171, 170, 169, 168, 167,
1370 166, 165, 164, 163, 162, 161, 160, 159, 158, 157,
1371 155, 154, 153, 152, 151, 150, 149, 148, 147, 146,
1372
1373 144, 143, 141, 140, 139, 138, 136, 135, 134, 133,
1374 132, 131, 130, 128, 127, 123, 120, 119, 117, 116,
1375 115, 114, 112, 111, 110, 109, 107, 103, 102, 100,
1376 99, 98, 97, 96, 95, 94, 93, 92, 91, 89,
1377 88, 86, 84, 82, 81, 80, 78, 77, 76, 72,
1378 71, 70, 69, 68, 65, 64, 60, 59, 57, 56,
1379 55, 54, 53, 52, 51, 50, 49, 44, 38, 36,
1380 35, 33, 28, 26, 21, 5, 3, 1856, 1856, 1856,
1381 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1382 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1383
1384 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1385 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1386 } ;
1387
1388 static yy_state_type yy_last_accepting_state;
1389 static char *yy_last_accepting_cpos;
1390
1391 /* The intent behind this definition is that it'll catch
1392 * any uses of REJECT which flex missed.
1393 */
1394 #define REJECT reject_used_but_not_detected
1395 static int yy_more_flag = 0;
1396 static int yy_more_len = 0;
1397 #define yymore() (yy_more_flag = 1)
1398 #define YY_MORE_ADJ yy_more_len
1399 #define YY_RESTORE_YY_MORE_OFFSET
1400 char *yytext;
1401 #line 1 "ircd_lexer.l"
1402 #define INITIAL 0
1403 /*
1404 * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
1405 * ircd_lexer.l: Scans the ircd configuration file for tokens.
1406 *
1407 * Copyright (C) 2002 by the past and present ircd coders, and others.
1408 *
1409 * This program is free software; you can redistribute it and/or modify
1410 * it under the terms of the GNU General Public License as published by
1411 * the Free Software Foundation; either version 2 of the License, or
1412 * (at your option) any later version.
1413 *
1414 * This program is distributed in the hope that it will be useful,
1415 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1416 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1417 * GNU General Public License for more details.
1418 *
1419 * You should have received a copy of the GNU General Public License
1420 * along with this program; if not, write to the Free Software
1421 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
1422 * USA
1423 *
1424 * $Id$
1425 */
1426 #define YY_NO_UNPUT 1
1427 #define YY_NEVER_INTERACTIVE 1
1428 #line 31 "ircd_lexer.l"
1429 #include "stdinc.h"
1430 #include "tools.h"
1431 #include "irc_string.h"
1432 #include "common.h"
1433 #include "s_conf.h"
1434 #include "memory.h"
1435 #include "hostmask.h"
1436 #include "s_log.h"
1437
1438 #include "y.tab.h"
1439
1440 #undef YY_INPUT
1441 #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg)
1442 #define YY_INPUT(buf,result,max_size) \
1443 if (!(result = conf_fbgets(buf, max_size, conf_fbfile_in))) \
1444 YY_FATAL_ERROR("input in flex scanner failed");
1445 #define MAX_INCLUDE_DEPTH 10
1446
1447
1448 unsigned int lineno = 1;
1449 char linebuf[IRCD_BUFSIZE];
1450 char conffilebuf[IRCD_BUFSIZE];
1451
1452 static int include_stack_ptr = 0;
1453 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1454 static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1455 static FBFILE *inc_fbfile_in[MAX_INCLUDE_DEPTH];
1456 static char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE];
1457 static void ccomment(void);
1458 static void cinclude(void);
1459 static int ieof(void);
1460 #line 1461 "lex.yy.c"
1461
1462 /* Macros after this point can all be overridden by user definitions in
1463 * section 1.
1464 */
1465
1466 #ifndef YY_SKIP_YYWRAP
1467 #ifdef __cplusplus
1468 extern "C" int yywrap YY_PROTO(( void ));
1469 #else
1470 extern int yywrap YY_PROTO(( void ));
1471 #endif
1472 #endif
1473
1474 #ifndef YY_NO_UNPUT
1475 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1476 #endif
1477
1478 #ifndef yytext_ptr
1479 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1480 #endif
1481
1482 #ifdef YY_NEED_STRLEN
1483 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1484 #endif
1485
1486 #ifndef YY_NO_INPUT
1487 #ifdef __cplusplus
1488 static int yyinput YY_PROTO(( void ));
1489 #else
1490 static int input YY_PROTO(( void ));
1491 #endif
1492 #endif
1493
1494 #if YY_STACK_USED
1495 static int yy_start_stack_ptr = 0;
1496 static int yy_start_stack_depth = 0;
1497 static int *yy_start_stack = 0;
1498 #ifndef YY_NO_PUSH_STATE
1499 static void yy_push_state YY_PROTO(( int new_state ));
1500 #endif
1501 #ifndef YY_NO_POP_STATE
1502 static void yy_pop_state YY_PROTO(( void ));
1503 #endif
1504 #ifndef YY_NO_TOP_STATE
1505 static int yy_top_state YY_PROTO(( void ));
1506 #endif
1507
1508 #else
1509 #define YY_NO_PUSH_STATE 1
1510 #define YY_NO_POP_STATE 1
1511 #define YY_NO_TOP_STATE 1
1512 #endif
1513
1514 #ifdef YY_MALLOC_DECL
1515 YY_MALLOC_DECL
1516 #else
1517 #if __STDC__
1518 #ifndef __cplusplus
1519 #include <stdlib.h>
1520 #endif
1521 #else
1522 /* Just try to get by without declaring the routines. This will fail
1523 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1524 * or sizeof(void*) != sizeof(int).
1525 */
1526 #endif
1527 #endif
1528
1529 /* Amount of stuff to slurp up with each read. */
1530 #ifndef YY_READ_BUF_SIZE
1531 #define YY_READ_BUF_SIZE 8192
1532 #endif
1533
1534 /* Copy whatever the last rule matched to the standard output. */
1535
1536 #ifndef ECHO
1537 /* This used to be an fputs(), but since the string might contain NUL's,
1538 * we now use fwrite().
1539 */
1540 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1541 #endif
1542
1543 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1544 * is returned in "result".
1545 */
1546 #ifndef YY_INPUT
1547 #define YY_INPUT(buf,result,max_size) \
1548 if ( yy_current_buffer->yy_is_interactive ) \
1549 { \
1550 int c = '*', n; \
1551 for ( n = 0; n < max_size && \
1552 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1553 buf[n] = (char) c; \
1554 if ( c == '\n' ) \
1555 buf[n++] = (char) c; \
1556 if ( c == EOF && ferror( yyin ) ) \
1557 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1558 result = n; \
1559 } \
1560 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1561 && ferror( yyin ) ) \
1562 YY_FATAL_ERROR( "input in flex scanner failed" );
1563 #endif
1564
1565 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1566 * we don't want an extra ';' after the "return" because that will cause
1567 * some compilers to complain about unreachable statements.
1568 */
1569 #ifndef yyterminate
1570 #define yyterminate() return YY_NULL
1571 #endif
1572
1573 /* Number of entries by which start-condition stack grows. */
1574 #ifndef YY_START_STACK_INCR
1575 #define YY_START_STACK_INCR 25
1576 #endif
1577
1578 /* Report a fatal error. */
1579 #ifndef YY_FATAL_ERROR
1580 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1581 #endif
1582
1583 /* Default declaration of generated scanner - a define so the user can
1584 * easily add parameters.
1585 */
1586 #ifndef YY_DECL
1587 #define YY_DECL int yylex YY_PROTO(( void ))
1588 #endif
1589
1590 /* Code executed at the beginning of each rule, after yytext and yyleng
1591 * have been set up.
1592 */
1593 #ifndef YY_USER_ACTION
1594 #define YY_USER_ACTION
1595 #endif
1596
1597 /* Code executed at the end of each rule. */
1598 #ifndef YY_BREAK
1599 #define YY_BREAK break;
1600 #endif
1601
1602 #define YY_RULE_SETUP \
1603 YY_USER_ACTION
1604
1605 YY_DECL
1606 {
1607 register yy_state_type yy_current_state;
1608 register char *yy_cp, *yy_bp;
1609 register int yy_act;
1610
1611 #line 70 "ircd_lexer.l"
1612
1613 #line 1614 "lex.yy.c"
1614
1615 if ( yy_init )
1616 {
1617 yy_init = 0;
1618
1619 #ifdef YY_USER_INIT
1620 YY_USER_INIT;
1621 #endif
1622
1623 if ( ! yy_start )
1624 yy_start = 1; /* first start state */
1625
1626 if ( ! yyin )
1627 yyin = stdin;
1628
1629 if ( ! yyout )
1630 yyout = stdout;
1631
1632 if ( ! yy_current_buffer )
1633 yy_current_buffer =
1634 yy_create_buffer( yyin, YY_BUF_SIZE );
1635
1636 yy_load_buffer_state();
1637 }
1638
1639 while ( 1 ) /* loops until end-of-file is reached */
1640 {
1641 yy_more_len = 0;
1642 if ( yy_more_flag )
1643 {
1644 yy_more_len = yy_c_buf_p - yytext_ptr;
1645 yy_more_flag = 0;
1646 }
1647 yy_cp = yy_c_buf_p;
1648
1649 /* Support of yytext. */
1650 *yy_cp = yy_hold_char;
1651
1652 /* yy_bp points to the position in yy_ch_buf of the start of
1653 * the current run.
1654 */
1655 yy_bp = yy_cp;
1656
1657 yy_current_state = yy_start;
1658 yy_match:
1659 do
1660 {
1661 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1662 if ( yy_accept[yy_current_state] )
1663 {
1664 yy_last_accepting_state = yy_current_state;
1665 yy_last_accepting_cpos = yy_cp;
1666 }
1667 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1668 {
1669 yy_current_state = (int) yy_def[yy_current_state];
1670 if ( yy_current_state >= 1857 )
1671 yy_c = yy_meta[(unsigned int) yy_c];
1672 }
1673 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1674 ++yy_cp;
1675 }
1676 while ( yy_base[yy_current_state] != 1878 );
1677
1678 yy_find_action:
1679 yy_act = yy_accept[yy_current_state];
1680 if ( yy_act == 0 )
1681 { /* have to back up */
1682 yy_cp = yy_last_accepting_cpos;
1683 yy_current_state = yy_last_accepting_state;
1684 yy_act = yy_accept[yy_current_state];
1685 }
1686
1687 YY_DO_BEFORE_ACTION;
1688
1689
1690 do_action: /* This label is used only to access EOF actions. */
1691
1692
1693 switch ( yy_act )
1694 { /* beginning of action switch */
1695 case 0: /* must back up */
1696 /* undo the effects of YY_DO_BEFORE_ACTION */
1697 *yy_cp = yy_hold_char;
1698 yy_cp = yy_last_accepting_cpos;
1699 yy_current_state = yy_last_accepting_state;
1700 goto yy_find_action;
1701
1702 case 1:
1703 YY_RULE_SETUP
1704 #line 71 "ircd_lexer.l"
1705 { cinclude(); }
1706 YY_BREAK
1707 case 2:
1708 YY_RULE_SETUP
1709 #line 72 "ircd_lexer.l"
1710 { ccomment(); }
1711 YY_BREAK
1712 case 3:
1713 YY_RULE_SETUP
1714 #line 74 "ircd_lexer.l"
1715 { strcpy(linebuf, yytext+1); ++lineno; yyless(1); }
1716 YY_BREAK
1717 case 4:
1718 YY_RULE_SETUP
1719 #line 76 "ircd_lexer.l"
1720 ;
1721 YY_BREAK
1722 case 5:
1723 YY_RULE_SETUP
1724 #line 77 "ircd_lexer.l"
1725 ;
1726 YY_BREAK
1727 case 6:
1728 YY_RULE_SETUP
1729 #line 79 "ircd_lexer.l"
1730 { yylval.number = atoi(yytext); return NUMBER; }
1731 YY_BREAK
1732 case 7:
1733 YY_RULE_SETUP
1734 #line 81 "ircd_lexer.l"
1735 { if (yytext[yyleng-2] == '\\')
1736 {
1737 yyless(yyleng-1); /* return last quote */
1738 yymore(); /* append next string */
1739 }
1740 else
1741 {
1742 yylval.string = yytext+1;
1743 if(yylval.string[yyleng-2] != '"')
1744 ilog(L_ERROR, "Unterminated character string");
1745 else
1746 {
1747 int i,j;
1748
1749 yylval.string[yyleng-2] = '\0'; /* remove close
1750 * quote
1751 */
1752
1753 for (j=i=0 ;yylval.string[i] != '\0'; i++,j++)
1754 {
1755 if (yylval.string[i] != '\\')
1756 {
1757 yylval.string[j] = yylval.string[i];
1758 }
1759 else
1760 {
1761 i++;
1762 if (yylval.string[i] == '\0') /* XXX
1763 * should not
1764 * happen
1765 */
1766 {
1767 ilog(L_ERROR,
1768 "Unterminated character string");
1769 break;
1770 }
1771 yylval.string[j] = yylval.string[i];
1772 }
1773 }
1774 yylval.string[j] = '\0';
1775 return QSTRING;
1776 }
1777 }
1778 }
1779 YY_BREAK
1780 case 8:
1781 YY_RULE_SETUP
1782 #line 126 "ircd_lexer.l"
1783 { return NOT; }
1784 YY_BREAK
1785 case 9:
1786 YY_RULE_SETUP
1787 #line 127 "ircd_lexer.l"
1788 { return ACCEPT_PASSWORD; }
1789 YY_BREAK
1790 case 10:
1791 YY_RULE_SETUP
1792 #line 128 "ircd_lexer.l"
1793 { return ACTION; }
1794 YY_BREAK
1795 case 11:
1796 YY_RULE_SETUP
1797 #line 129 "ircd_lexer.l"
1798 { return ADMIN; }
1799 YY_BREAK
1800 case 12:
1801 YY_RULE_SETUP
1802 #line 130 "ircd_lexer.l"
1803 { return ADMIN; }
1804 YY_BREAK
1805 case 13:
1806 YY_RULE_SETUP
1807 #line 131 "ircd_lexer.l"
1808 { return AFTYPE; }
1809 YY_BREAK
1810 case 14:
1811 YY_RULE_SETUP
1812 #line 132 "ircd_lexer.l"
1813 { return T_ALL; }
1814 YY_BREAK
1815 case 15:
1816 YY_RULE_SETUP
1817 #line 133 "ircd_lexer.l"
1818 { return T_ALLOW; }
1819 YY_BREAK
1820 case 16:
1821 YY_RULE_SETUP
1822 #line 134 "ircd_lexer.l"
1823 { return IRCD_AUTH; }
1824 YY_BREAK
1825 case 17:
1826 YY_RULE_SETUP
1827 #line 135 "ircd_lexer.l"
1828 { return AUTOCONN; }
1829 YY_BREAK
1830 case 18:
1831 YY_RULE_SETUP
1832 #line 136 "ircd_lexer.l"
1833 { return T_BLOCK; }
1834 YY_BREAK
1835 case 19:
1836 YY_RULE_SETUP
1837 #line 137 "ircd_lexer.l"
1838 { return BURST_AWAY; }
1839 YY_BREAK
1840 case 20:
1841 YY_RULE_SETUP
1842 #line 138 "ircd_lexer.l"
1843 { return BURST_TOPICWHO; }
1844 YY_BREAK
1845 case 21:
1846 YY_RULE_SETUP
1847 #line 139 "ircd_lexer.l"
1848 { return CAN_FLOOD; }
1849 YY_BREAK
1850 case 22:
1851 YY_RULE_SETUP
1852 #line 140 "ircd_lexer.l"
1853 { return CAN_IDLE; }
1854 YY_BREAK
1855 case 23:
1856 YY_RULE_SETUP
1857 #line 141 "ircd_lexer.l"
1858 { return CALLER_ID_WAIT; }
1859 YY_BREAK
1860 case 24:
1861 YY_RULE_SETUP
1862 #line 142 "ircd_lexer.l"
1863 { return OPERS_BYPASS_CALLERID; }
1864 YY_BREAK
1865 case 25:
1866 YY_RULE_SETUP
1867 #line 143 "ircd_lexer.l"
1868 { return CHANNEL; }
1869 YY_BREAK
1870 case 26:
1871 YY_RULE_SETUP
1872 #line 144 "ircd_lexer.l"
1873 { return CIDR_BITLEN_IPV4; }
1874 YY_BREAK
1875 case 27:
1876 YY_RULE_SETUP
1877 #line 145 "ircd_lexer.l"
1878 { return CIDR_BITLEN_IPV6; }
1879 YY_BREAK
1880 case 28:
1881 YY_RULE_SETUP
1882 #line 146 "ircd_lexer.l"
1883 { return CIPHER_PREFERENCE; }
1884 YY_BREAK
1885 case 29:
1886 YY_RULE_SETUP
1887 #line 147 "ircd_lexer.l"
1888 { return CLASS; }
1889 YY_BREAK
1890 case 30:
1891 YY_RULE_SETUP
1892 #line 148 "ircd_lexer.l"
1893 { return T_CLIENT_FLOOD; }
1894 YY_BREAK
1895 case 31:
1896 YY_RULE_SETUP
1897 #line 149 "ircd_lexer.l"
1898 { return T_CLUSTER; }
1899 YY_BREAK
1900 case 32:
1901 YY_RULE_SETUP
1902 #line 150 "ircd_lexer.l"
1903 { return COMPRESSED; }
1904 YY_BREAK
1905 case 33:
1906 YY_RULE_SETUP
1907 #line 151 "ircd_lexer.l"
1908 { return COMPRESSION_LEVEL; }
1909 YY_BREAK
1910