xref: /netbsd-src/external/bsd/unbound/dist/util/configlexer.c (revision 91f7d55fb697b5e0475da4718fa34c3a3ebeac85)
1 #include "config.h"
2 #include "util/configyyrename.h"
3 
4 #line 2 "<stdout>"
5 
6 #define  YY_INT_ALIGNED short int
7 
8 /* A lexical scanner generated by flex */
9 
10 #define FLEX_SCANNER
11 #define YY_FLEX_MAJOR_VERSION 2
12 #define YY_FLEX_MINOR_VERSION 6
13 #define YY_FLEX_SUBMINOR_VERSION 4
14 #if YY_FLEX_SUBMINOR_VERSION > 0
15 #define FLEX_BETA
16 #endif
17 
18 /* First, we deal with  platform-specific or compiler-specific issues. */
19 
20 /* begin standard C headers. */
21 #include <stdio.h>
22 #include <string.h>
23 #include <errno.h>
24 #include <stdlib.h>
25 
26 /* end standard C headers. */
27 
28 /* flex integer type definitions */
29 
30 #ifndef FLEXINT_H
31 #define FLEXINT_H
32 
33 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34 
35 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
36 
37 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
38  * if you want the limit (max/min) macros for int types.
39  */
40 #ifndef __STDC_LIMIT_MACROS
41 #define __STDC_LIMIT_MACROS 1
42 #endif
43 
44 #include <inttypes.h>
45 typedef int8_t flex_int8_t;
46 typedef uint8_t flex_uint8_t;
47 typedef int16_t flex_int16_t;
48 typedef uint16_t flex_uint16_t;
49 typedef int32_t flex_int32_t;
50 typedef uint32_t flex_uint32_t;
51 #else
52 typedef signed char flex_int8_t;
53 typedef short int flex_int16_t;
54 typedef int flex_int32_t;
55 typedef unsigned char flex_uint8_t;
56 typedef unsigned short int flex_uint16_t;
57 typedef unsigned int flex_uint32_t;
58 
59 /* Limits of integral types. */
60 #ifndef INT8_MIN
61 #define INT8_MIN               (-128)
62 #endif
63 #ifndef INT16_MIN
64 #define INT16_MIN              (-32767-1)
65 #endif
66 #ifndef INT32_MIN
67 #define INT32_MIN              (-2147483647-1)
68 #endif
69 #ifndef INT8_MAX
70 #define INT8_MAX               (127)
71 #endif
72 #ifndef INT16_MAX
73 #define INT16_MAX              (32767)
74 #endif
75 #ifndef INT32_MAX
76 #define INT32_MAX              (2147483647)
77 #endif
78 #ifndef UINT8_MAX
79 #define UINT8_MAX              (255U)
80 #endif
81 #ifndef UINT16_MAX
82 #define UINT16_MAX             (65535U)
83 #endif
84 #ifndef UINT32_MAX
85 #define UINT32_MAX             (4294967295U)
86 #endif
87 
88 #ifndef SIZE_MAX
89 #define SIZE_MAX               (~(size_t)0)
90 #endif
91 
92 #endif /* ! C99 */
93 
94 #endif /* ! FLEXINT_H */
95 
96 /* begin standard C++ headers. */
97 
98 /* TODO: this is always defined, so inline it */
99 #define yyconst const
100 
101 #if defined(__GNUC__) && __GNUC__ >= 3
102 #define yynoreturn __attribute__((__noreturn__))
103 #else
104 #define yynoreturn
105 #endif
106 
107 /* Returned upon end-of-file. */
108 #define YY_NULL 0
109 
110 /* Promotes a possibly negative, possibly signed char to an
111  *   integer in range [0..255] for use as an array index.
112  */
113 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
114 
115 /* Enter a start condition.  This macro really ought to take a parameter,
116  * but we do it the disgusting crufty way forced on us by the ()-less
117  * definition of BEGIN.
118  */
119 #define BEGIN (yy_start) = 1 + 2 *
120 /* Translate the current start state into a value that can be later handed
121  * to BEGIN to return to the state.  The YYSTATE alias is for lex
122  * compatibility.
123  */
124 #define YY_START (((yy_start) - 1) / 2)
125 #define YYSTATE YY_START
126 /* Action number for EOF rule of a given start state. */
127 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
128 /* Special action meaning "start processing a new file". */
129 #define YY_NEW_FILE yyrestart( yyin  )
130 #define YY_END_OF_BUFFER_CHAR 0
131 
132 /* Size of default input buffer. */
133 #ifndef YY_BUF_SIZE
134 #ifdef __ia64__
135 /* On IA-64, the buffer size is 16k, not 8k.
136  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
137  * Ditto for the __ia64__ case accordingly.
138  */
139 #define YY_BUF_SIZE 32768
140 #else
141 #define YY_BUF_SIZE 16384
142 #endif /* __ia64__ */
143 #endif
144 
145 /* The state buf must be large enough to hold one state per character in the main buffer.
146  */
147 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
148 
149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
150 #define YY_TYPEDEF_YY_BUFFER_STATE
151 typedef struct yy_buffer_state *YY_BUFFER_STATE;
152 #endif
153 
154 #ifndef YY_TYPEDEF_YY_SIZE_T
155 #define YY_TYPEDEF_YY_SIZE_T
156 typedef size_t yy_size_t;
157 #endif
158 
159 extern int yyleng;
160 
161 extern FILE *yyin, *yyout;
162 
163 #define EOB_ACT_CONTINUE_SCAN 0
164 #define EOB_ACT_END_OF_FILE 1
165 #define EOB_ACT_LAST_MATCH 2
166 
167     #define YY_LESS_LINENO(n)
168     #define YY_LINENO_REWIND_TO(ptr)
169 
170 /* Return all but the first "n" matched characters back to the input stream. */
171 #define yyless(n) \
172 	do \
173 		{ \
174 		/* Undo effects of setting up yytext. */ \
175         int yyless_macro_arg = (n); \
176         YY_LESS_LINENO(yyless_macro_arg);\
177 		*yy_cp = (yy_hold_char); \
178 		YY_RESTORE_YY_MORE_OFFSET \
179 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
180 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
181 		} \
182 	while ( 0 )
183 #define unput(c) yyunput( c, (yytext_ptr)  )
184 
185 #ifndef YY_STRUCT_YY_BUFFER_STATE
186 #define YY_STRUCT_YY_BUFFER_STATE
187 struct yy_buffer_state
188 	{
189 	FILE *yy_input_file;
190 
191 	char *yy_ch_buf;		/* input buffer */
192 	char *yy_buf_pos;		/* current position in input buffer */
193 
194 	/* Size of input buffer in bytes, not including room for EOB
195 	 * characters.
196 	 */
197 	int yy_buf_size;
198 
199 	/* Number of characters read into yy_ch_buf, not including EOB
200 	 * characters.
201 	 */
202 	int yy_n_chars;
203 
204 	/* Whether we "own" the buffer - i.e., we know we created it,
205 	 * and can realloc() it to grow it, and should free() it to
206 	 * delete it.
207 	 */
208 	int yy_is_our_buffer;
209 
210 	/* Whether this is an "interactive" input source; if so, and
211 	 * if we're using stdio for input, then we want to use getc()
212 	 * instead of fread(), to make sure we stop fetching input after
213 	 * each newline.
214 	 */
215 	int yy_is_interactive;
216 
217 	/* Whether we're considered to be at the beginning of a line.
218 	 * If so, '^' rules will be active on the next match, otherwise
219 	 * not.
220 	 */
221 	int yy_at_bol;
222 
223     int yy_bs_lineno; /**< The line count. */
224     int yy_bs_column; /**< The column count. */
225 
226 	/* Whether to try to fill the input buffer when we reach the
227 	 * end of it.
228 	 */
229 	int yy_fill_buffer;
230 
231 	int yy_buffer_status;
232 
233 #define YY_BUFFER_NEW 0
234 #define YY_BUFFER_NORMAL 1
235 	/* When an EOF's been seen but there's still some text to process
236 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
237 	 * shouldn't try reading from the input source any more.  We might
238 	 * still have a bunch of tokens to match, though, because of
239 	 * possible backing-up.
240 	 *
241 	 * When we actually see the EOF, we change the status to "new"
242 	 * (via yyrestart()), so that the user can continue scanning by
243 	 * just pointing yyin at a new input file.
244 	 */
245 #define YY_BUFFER_EOF_PENDING 2
246 
247 	};
248 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
249 
250 /* Stack of input buffers. */
251 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
252 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
253 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
254 
255 /* We provide macros for accessing buffer states in case in the
256  * future we want to put the buffer states in a more general
257  * "scanner state".
258  *
259  * Returns the top of the stack, or NULL.
260  */
261 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
262                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
263                           : NULL)
264 /* Same as previous macro, but useful when we know that the buffer stack is not
265  * NULL or when we need an lvalue. For internal use only.
266  */
267 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
268 
269 /* yy_hold_char holds the character lost when yytext is formed. */
270 static char yy_hold_char;
271 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
272 int yyleng;
273 
274 /* Points to current character in buffer. */
275 static char *yy_c_buf_p = NULL;
276 static int yy_init = 0;		/* whether we need to initialize */
277 static int yy_start = 0;	/* start state number */
278 
279 /* Flag which is used to allow yywrap()'s to do buffer switches
280  * instead of setting up a fresh yyin.  A bit of a hack ...
281  */
282 static int yy_did_buffer_switch_on_eof;
283 
284 void yyrestart ( FILE *input_file  );
285 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
286 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
287 void yy_delete_buffer ( YY_BUFFER_STATE b  );
288 void yy_flush_buffer ( YY_BUFFER_STATE b  );
289 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
290 void yypop_buffer_state ( void );
291 
292 static void yyensure_buffer_stack ( void );
293 static void yy_load_buffer_state ( void );
294 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
295 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
296 
297 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
298 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
299 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
300 
301 void *yyalloc ( yy_size_t  );
302 void *yyrealloc ( void *, yy_size_t  );
303 void yyfree ( void *  );
304 
305 #define yy_new_buffer yy_create_buffer
306 #define yy_set_interactive(is_interactive) \
307 	{ \
308 	if ( ! YY_CURRENT_BUFFER ){ \
309         yyensure_buffer_stack (); \
310 		YY_CURRENT_BUFFER_LVALUE =    \
311             yy_create_buffer( yyin, YY_BUF_SIZE ); \
312 	} \
313 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
314 	}
315 #define yy_set_bol(at_bol) \
316 	{ \
317 	if ( ! YY_CURRENT_BUFFER ){\
318         yyensure_buffer_stack (); \
319 		YY_CURRENT_BUFFER_LVALUE =    \
320             yy_create_buffer( yyin, YY_BUF_SIZE ); \
321 	} \
322 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
323 	}
324 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
325 
326 /* Begin user sect3 */
327 typedef flex_uint8_t YY_CHAR;
328 
329 FILE *yyin = NULL, *yyout = NULL;
330 
331 typedef int yy_state_type;
332 
333 extern int yylineno;
334 int yylineno = 1;
335 
336 extern char *yytext;
337 #ifdef yytext_ptr
338 #undef yytext_ptr
339 #endif
340 #define yytext_ptr yytext
341 
342 static yy_state_type yy_get_previous_state ( void );
343 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
344 static int yy_get_next_buffer ( void );
345 static void yynoreturn yy_fatal_error ( const char* msg  );
346 
347 /* Done after the current pattern has been matched and before the
348  * corresponding action - sets up yytext.
349  */
350 #define YY_DO_BEFORE_ACTION \
351 	(yytext_ptr) = yy_bp; \
352 	(yytext_ptr) -= (yy_more_len); \
353 	yyleng = (int) (yy_cp - (yytext_ptr)); \
354 	(yy_hold_char) = *yy_cp; \
355 	*yy_cp = '\0'; \
356 	(yy_c_buf_p) = yy_cp;
357 #define YY_NUM_RULES 384
358 #define YY_END_OF_BUFFER 385
359 /* This struct is not used in this scanner,
360    but its presence is necessary. */
361 struct yy_trans_info
362 	{
363 	flex_int32_t yy_verify;
364 	flex_int32_t yy_nxt;
365 	};
366 static const flex_int16_t yy_accept[3807] =
367     {   0,
368         1,    1,  358,  358,  362,  362,  366,  366,  370,  370,
369         1,    1,  374,  374,  378,  378,  385,  382,    1,  356,
370       356,  383,    2,  382,  382,  382,  382,  382,  382,  382,
371       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
372       382,  382,  382,  382,  382,  383,  358,  359,  359,  360,
373       383,  362,  363,  363,  364,  383,  369,  366,  367,  367,
374       368,  383,  370,  371,  371,  372,  383,  381,  357,    2,
375       361,  381,  383,  377,  374,  375,  375,  376,  383,  378,
376       379,  379,  380,  383,  382,    0,    1,    2,    2,    2,
377         2,  382,  382,  382,  382,  382,  382,  382,  382,  382,
378 
379       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
380       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
381       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
382       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
383       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
384       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
385       358,    0,  362,    0,  369,    0,  366,  370,    0,  381,
386         0,    2,    2,  381,  377,    0,  374,  378,    0,  382,
387       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
388       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
389 
390       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
391       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
392       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
393       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
394       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
395       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
396       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
397       382,  382,  382,  382,  382,  382,  382,  382,  381,  382,
398       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
399       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
400 
401       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
402       382,  382,  354,  382,  382,  382,  382,  382,  382,  382,
403       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
404       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
405       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
406       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
407       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
408       382,  382,  136,  382,  382,  382,  382,  382,  382,  382,
409       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
410       382,  382,  382,  382,  146,  382,  382,  382,  382,  382,
411 
412       382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
413       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
414       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
415       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
416       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
417       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
418       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
419       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
420       382,  382,  382,  382,  382,  382,  382,  382,  118,  382,
421       382,  353,  382,  382,  382,  382,  382,  382,  382,  382,
422 
423         8,  382,  382,  382,  382,  382,  382,  382,  382,  382,
424       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
425       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
426       382,  382,  382,  137,  382,  382,  382,  382,  382,  382,
427       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
428       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
429       382,  382,  382,  382,  382,  382,  382,  151,  382,  382,
430       381,  382,  382,  382,  382,  382,  382,  382,  382,  382,
431       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
432       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
433 
434       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
435       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
436       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
437       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
438       382,  382,  382,  382,  344,  382,  382,  382,  382,  382,
439       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
440       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
441       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
442       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
443       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
444 
445       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
446       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
447       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
448       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
449       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
450       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
451       382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
452       382,  382,  382,  382,  382,  382,   71,  382,  382,  382,
453       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
454       382,  382,  266,  382,   14,   15,  382,  382,   20,   19,
455 
456       382,  382,  245,  382,  382,  382,  382,  382,  382,  382,
457       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
458       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
459       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
460       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
461       382,  382,  382,  382,  382,  382,  382,  144,  382,  382,
462       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
463       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
464       382,  382,  382,  382,  382,  382,  382,  243,  382,  382,
465       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
466 
467       382,  382,  382,  382,  382,  382,  382,  382,  382,    3,
468       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
469       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
470       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
471       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
472       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
473       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
474       382,  381,  382,  382,  382,  382,  382,  382,  382,  382,
475       334,  382,  382,  382,  333,  382,  382,  382,  382,  382,
476       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
477 
478       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
479       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
480       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
481       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
482       382,  382,  382,  382,  382,  382,  382,  382,  365,  382,
483       382,  382,  382,  382,  382,  382,  382,   70,  382,  382,
484       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
485       382,  382,  382,  382,   74,  382,  303,  382,  382,  382,
486       382,  382,  382,  382,  382,  382,  382,  382,  345,  346,
487       382,  382,  382,  382,  382,  382,  382,  382,  382,   75,
488 
489       382,  382,  145,  382,  382,  382,  382,  382,  382,  382,
490       382,  382,  382,  382,  382,  382,  382,  382,  382,  140,
491       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
492       232,  382,  382,  382,  382,  382,  382,  382,  382,  382,
493       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
494       382,  382,  382,  382,   22,  382,  382,  382,  382,  382,
495       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
496       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
497       382,  382,  382,  382,  382,  382,  382,  172,  382,  382,
498       382,  382,  382,  381,  365,  382,  382,  382,  382,  382,
499 
500       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
501       382,  382,  382,  382,  382,  382,  382,  382,  382,  116,
502       382,  382,  382,  382,  382,  382,  382,  382,  311,  382,
503       382,  382,  382,  382,  382,  382,  382,  382,  382,   16,
504       382,  382,  382,  382,  382,  382,  382,  382,  200,  382,
505       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
506       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
507       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
508       382,  171,  382,  382,  382,  382,  382,  382,  382,  382,
509       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
510 
511       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
512       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
513       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
514       382,  115,  382,  382,  382,  382,  382,  382,  382,  382,
515       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
516       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
517       382,  382,  382,  382,   37,  382,  382,  382,  382,  382,
518       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
519       382,  382,  382,  382,  382,  382,  382,   38,  382,  382,
520       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
521 
522       382,  382,  382,  382,   72,  382,  382,  382,  382,  382,
523       382,  382,  382,  382,  382,  143,  382,  382,  382,  381,
524       382,  382,  382,  382,  382,  382,  135,  382,  382,  382,
525       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
526       382,  382,  382,  382,   73,  382,  382,  382,  382,  382,
527       382,  382,  382,  382,  382,  382,  382,  382,  270,  382,
528       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
529       382,  382,  382,  201,  382,  382,  382,  382,  382,  382,
530       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
531       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
532 
533       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
534       382,  382,  382,  382,  382,   60,  382,  382,  382,  382,
535       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
536       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
537       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
538       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
539       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
540       382,  382,  382,  382,  289,  382,  382,  382,  382,  382,
541       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
542       382,  382,  382,  382,  382,  382,   65,  382,   66,  382,
543 
544       382,  382,  382,  382,  382,  119,  382,  120,  382,  382,
545       382,  382,  382,  117,  382,  382,  382,  382,  382,  382,
546       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
547       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
548       382,  382,  382,  382,  382,  382,  382,    7,  382,  382,
549       382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
550       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
551       382,  382,  382,  382,  255,  382,  382,  382,  382,  382,
552       175,  382,  382,  382,  382,  382,  382,  382,  382,  382,
553       382,  382,  382,  382,  382,  382,  382,  271,  382,  382,
554 
555       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
556       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
557       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
558       382,  382,  382,  382,  382,  382,  382,  382,  382,   51,
559       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
560       382,   61,  382,  382,  382,  382,  382,  382,  382,  382,
561       382,  382,  382,  382,  382,  382,  223,  382,  222,  382,
562       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
563       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
564       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
565 
566       382,  382,   17,   18,  382,  382,  382,  382,  382,  382,
567       382,  382,  382,  382,  382,  382,  382,  382,  382,   76,
568       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
569       382,  382,  382,  231,  382,  382,  382,  382,  382,  382,
570       382,  122,  382,  121,  382,  382,  382,  382,  382,  382,
571       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
572       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
573       214,  382,  382,  382,  382,  382,  382,  382,  382,  382,
574       152,  382,  382,  382,  381,  382,  382,  382,  382,  382,
575       382,  382,  382,  382,  382,  382,  382,  110,  382,  382,
576 
577       382,  382,  382,  382,  382,  382,  382,  382,   97,  382,
578       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
579       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
580       382,  382,  382,  382,  382,  244,  382,  382,  382,  382,
581       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
582       382,  382,  382,  382,  382,  382,  102,  382,  382,  382,
583       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
584       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
585       382,  382,  382,  382,   69,  382,  382,  382,  382,  382,
586       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
587 
588       382,  382,  382,  217,  218,  382,  382,  382,  305,  382,
589       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
590       382,  382,  382,  382,  382,    6,  382,  382,  382,  382,
591       382,  382,  382,  324,  382,  382,  382,  382,  382,  382,
592       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
593       382,  382,  382,  382,  309,  382,  382,  382,  382,  382,
594       382,  382,  335,  382,  382,  382,  382,  382,  382,  382,
595       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
596       382,  382,  382,  382,  382,  382,  382,  382,   48,  382,
597       382,  382,  382,  382,   50,  382,  382,  382,   98,  382,
598 
599       382,  382,  382,  382,   58,  382,  382,  382,  382,  382,
600       382,  382,  382,  382,  382,  382,  381,  382,  210,  382,
601       382,  382,  147,  382,  382,  382,  382,  382,  382,  382,
602       382,  382,  382,  382,  382,  236,  382,  382,  211,  382,
603       382,  382,  382,  251,  382,  382,  382,  382,  382,  382,
604       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
605       382,  382,  382,  382,   59,  382,  382,  382,  382,  382,
606       382,  382,  382,  382,  382,  382,  149,  128,  382,  129,
607       382,  382,  382,  382,  127,  382,  382,  382,  382,  382,
608       382,  382,  382,  382,  382,  168,  382,  382,   56,  382,
609 
610       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
611       382,  382,  382,  382,  382,  382,  382,  382,  382,  287,
612       382,  382,  382,  382,  382,  382,  382,  382,  382,  212,
613       382,  382,  382,  382,  382,  215,  382,  221,  382,  382,
614       382,  382,  382,  382,  382,  382,  250,  382,  382,  382,
615       382,  382,  382,  254,  382,  382,  382,  382,  382,  382,
616       382,  382,  382,  382,  382,  114,  382,  382,  382,  382,
617       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
618       382,  382,  382,  382,  382,  382,  382,  141,  382,  382,
619       382,  382,  382,  382,  382,  382,   67,  382,  382,  382,
620 
621       382,   31,  382,  382,  382,  382,  382,  382,  382,  382,
622       382,  382,  382,  382,   21,  382,  382,  382,  382,  382,
623       382,  382,   32,   41,  382,  180,  382,  382,  382,  382,
624       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
625       208,  382,  382,  381,  382,  382,  382,  382,  349,  382,
626       382,   84,   86,  382,  382,  382,  382,  382,  382,  382,
627       382,  350,  382,  382,  382,  382,  382,  382,  382,  313,
628       382,  382,  382,  382,  267,  382,  382,  382,  382,  382,
629       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
630       382,  382,  382,  382,  382,  382,  382,  382,  130,  382,
631 
632       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
633       382,  167,  382,   52,  382,  382,  382,  382,  382,  382,
634       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
635       382,  382,  382,  382,  261,  382,  382,  382,  382,  382,
636       382,  382,  382,  328,  382,  382,  382,  382,  382,  382,
637       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
638       382,  382,  382,  382,  382,  174,  382,  382,  382,  382,
639       382,  382,  382,  382,  382,  382,  382,  382,  382,  322,
640       382,  382,  382,  382,  242,  382,  382,  382,  382,  382,
641       382,  382,  382,  382,  382,  382,  341,  382,  382,  382,
642 
643       382,  382,  382,  382,  382,  382,  382,  382,  382,  193,
644       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
645       382,  123,  382,  382,  382,  382,  382,  382,  382,  382,
646       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
647       382,  382,  382,  382,  382,  187,  382,  202,  382,  382,
648       382,  382,  382,  382,  382,  381,  382,  155,  382,  382,
649       382,  382,  382,  382,  109,  382,  382,  382,  382,  234,
650       382,  382,  382,  382,  382,  382,  382,  252,  382,  382,
651       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
652       382,  382,  382,  382,  279,  382,  382,  382,  382,  382,
653 
654       382,  382,  382,  382,  382,  382,  148,  382,  382,  382,
655       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
656       382,  382,  382,  382,  382,  191,  382,  382,  382,  382,
657       382,  382,  382,   87,  382,   88,  382,  382,  382,  382,
658       382,  264,  382,  382,  382,  382,  382,   68,  331,  382,
659       382,  382,  382,  382,   96,  203,  382,  224,  382,  256,
660       382,  382,  216,  306,  382,  382,  382,  382,  301,  382,
661       382,  382,   80,  382,  205,  382,  382,  382,  382,  382,
662       382,    9,  382,  382,  382,  382,  382,  113,  382,  382,
663       382,  382,  382,  382,  293,  382,  382,  382,  382,  382,
664 
665       382,  233,  382,  382,  382,  382,  382,  382,  382,  382,
666       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
667       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
668       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
669       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
670       382,  382,  382,  382,  382,  382,  382,  382,  381,  382,
671       382,  382,  382,  190,  382,  382,  382,  382,  382,  382,
672       382,  382,  382,  382,  382,  192,  176,  382,  312,  382,
673       382,  382,  382,  382,  278,  382,  382,  382,  382,  382,
674       382,  382,  382,  382,  382,  382,  246,  382,  382,  382,
675 
676       382,  382,  382,  304,  382,  382,  382,  382,  382,  382,
677       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
678       382,  382,  173,  382,  382,  382,  382,  382,  382,  382,
679       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
680       382,  382,  382,  382,  332,  382,  204,  382,  382,  382,
681       382,  382,  382,  382,  382,  382,   79,   81,  382,  382,
682       382,  382,  382,  382,  382,  382,  382,  382,  112,  382,
683       382,  382,  382,  382,  382,  291,  382,  382,  382,  382,
684       382,  382,  382,  308,  382,  382,  382,  382,  382,  382,
685       382,  382,  382,  382,  382,  382,  382,  238,  382,   39,
686 
687        33,   35,  382,  382,  382,  382,  382,  382,  382,  382,
688       382,  382,  382,  382,  382,   40,  382,   34,   36,  382,
689        42,  382,  382,  382,  382,  382,  382,  382,  108,  382,
690       186,  382,  382,  382,  382,  382,  382,  382,  381,  382,
691       382,  382,  382,  382,  382,  336,  382,  382,  382,  382,
692       382,  240,  237,  382,  382,  382,  382,  382,  382,  382,
693       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
694       382,  382,   78,  382,  382,  382,  150,  382,  131,  382,
695       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
696       169,   53,  382,  382,  382,  373,   13,  382,  382,  382,
697 
698       382,  382,  382,  382,  156,  382,  382,  382,  382,  382,
699       382,  382,  382,  326,  382,  329,  382,  382,  382,  382,
700       382,  382,  382,  382,  382,  382,  382,  382,  382,   12,
701       382,  382,   23,  382,  382,  382,  382,  382,  382,  382,
702       297,  382,  382,  343,  382,  382,  382,  382,  310,  382,
703       382,  382,  382,   82,  382,  248,  382,  382,  382,  382,
704       382,  239,  382,  382,  382,  382,   77,  382,  382,  382,
705       382,  382,  382,   24,  382,  382,   49,  382,  382,  382,
706       382,  382,  382,  382,  382,  382,  382,  382,  382,  185,
707       184,  382,  382,  373,  382,  382,  382,  382,  382,  382,
708 
709       382,  382,  382,  241,  235,  382,  253,  382,  382,  314,
710       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
711       382,  382,  382,  382,  198,  382,  382,  382,  382,  382,
712       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
713       382,  382,  382,  382,  382,  382,  382,   89,  382,  382,
714       382,  382,  382,  382,  382,  382,  292,  382,  382,  382,
715       382,  220,  382,  382,  382,  382,  382,  382,  247,  382,
716       382,  382,  382,  382,  382,  382,  382,  382,  382,  299,
717       382,  382,  382,  337,  382,  339,  338,  182,  382,  382,
718       382,   83,  382,  382,  382,  382,  194,  382,  382,  382,
719 
720       382,  382,  124,  126,  125,  382,  382,  382,   26,  382,
721       382,  177,  382,  179,  382,  225,  382,  382,  382,  382,
722       183,  382,  382,  382,  382,  257,  382,  382,  382,  382,
723       382,  382,  382,  158,  382,  382,  382,  382,  382,  382,
724       382,  382,  382,  382,  382,  382,  269,  382,  382,  382,
725       382,  382,  382,  382,  351,  382,   28,  382,  307,  382,
726       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
727       382,  382,  382,  382,  382,  382,  382,   94,  226,  382,
728       382,  263,  382,  382,  382,  290,  382,  330,  382,  219,
729       382,  382,  302,  382,  382,  382,  300,   62,  382,  382,
730 
731       382,  382,  382,  382,  382,    4,  382,  382,  382,  382,
732       382,  139,  382,  157,  382,  382,  382,  199,   30,  382,
733       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
734       382,  382,  382,  382,  382,  382,  382,  382,  260,   43,
735        44,  382,  382,  382,  382,  382,  382,  382,  315,  382,
736       382,  382,  382,  382,  382,  382,  277,  382,  382,  382,
737       382,  382,  382,  382,  382,  229,  382,  382,  382,  382,
738       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
739       382,   93,   92,  382,  382,   63,  382,  382,  288,  296,
740       382,  265,  382,  382,  382,  382,  382,   11,  382,  382,
741 
742       382,  382,  355,  382,  382,  382,  382,  382,  138,  382,
743       382,  382,  382,  382,  382,  227,   99,  382,  382,   46,
744       382,  382,  382,  382,  382,  382,  382,  382,  189,  382,
745       382,  382,  382,  382,  382,  382,  160,  382,  382,  382,
746       382,  268,  382,  382,  382,  382,  382,  276,  382,  382,
747       382,  382,  153,  382,  382,  382,  132,  134,  133,  382,
748       382,  382,  101,  105,  100,  382,  170,  382,  382,  382,
749       382,   90,  382,  262,  298,  382,  382,  382,  382,  382,
750       382,   10,  382,  382,  382,  382,  382,  294,  342,  382,
751       382,  382,  382,  382,  382,  382,  382,  348,   45,  382,
752 
753       382,  382,  382,  382,  188,  382,  382,  382,  382,  382,
754       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
755       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
756       106,  104,  382,  382,   57,  382,  382,   91,  382,  327,
757       382,  382,  382,  382,   25,  382,  382,  382,  382,  382,
758       213,  382,  382,  340,  382,  382,  382,  382,  228,  382,
759       382,  382,  382,  382,  382,  382,  382,  382,  209,  382,
760       382,  178,   85,  382,  382,  382,  382,  382,  316,  382,
761       382,  382,  382,  382,  382,  382,  273,  382,  382,  272,
762       154,  382,  382,  103,  382,   54,  382,  382,  161,  162,
763 
764       165,  166,  163,  164,   95,  325,  382,  382,  295,  142,
765       382,  382,  382,  382,   27,  382,  181,  382,  382,  382,
766       382,  207,  382,  259,  382,  382,  382,  382,  382,  382,
767       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
768       382,  382,  382,  382,  382,  382,  196,  195,  230,   47,
769       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
770       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
771       382,  382,  382,  382,  323,  382,  382,  382,  382,  111,
772       382,  258,  382,  286,  320,  382,  382,  382,  382,  382,
773       382,  382,  382,  382,  382,  382,  352,  382,  107,   55,
774 
775        64,    5,  382,  382,  249,  382,  382,  321,  382,  382,
776       382,  382,  382,  382,  382,  382,  382,  274,   29,  382,
777       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
778       382,  275,  382,  382,  382,  159,  382,  382,  382,  382,
779       382,  382,  382,  382,  197,  382,  206,  382,  382,  382,
780       382,  382,  382,  382,  382,  382,  317,  382,  382,  382,
781       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
782       382,  382,  382,  382,  347,  382,  382,  282,  382,  382,
783       382,  382,  382,  318,  382,  382,  382,  382,  382,  382,
784       319,  382,  382,  382,  280,  382,  283,  284,  382,  382,
785 
786       382,  382,  382,  281,  285,    0
787     } ;
788 
789 static const YY_CHAR yy_ec[256] =
790     {   0,
791         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
792         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
793         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
794         1,    2,    1,    5,    6,    1,    1,    1,    7,    1,
795         1,    1,    1,    1,    8,    1,    1,    1,    9,    1,
796        10,   11,    1,   12,    1,    1,    1,   13,    1,    1,
797         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
798        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
799        30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
800         1,   40,    1,    1,    1,    1,   41,   42,   43,   44,
801 
802        45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
803        55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
804        65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
805         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
806         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
807         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
808         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
809         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
810         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
811         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
812 
813         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
814         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
815         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
816         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
817         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
818         1,    1,    1,    1,    1
819     } ;
820 
821 static const YY_CHAR yy_meta[67] =
822     {   0,
823         1,    2,    3,    4,    5,    1,    6,    1,    1,    1,
824         1,    1,    7,    1,    1,    1,    1,    1,    1,    1,
825         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
826         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
827         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
828         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
829         1,    1,    1,    1,    1,    1
830     } ;
831 
832 static const flex_int16_t yy_base[3825] =
833     {   0,
834         0,    0,   64,   67,   70,   72,   78,   84,   89,   92,
835       131,  137,  112,  118,  123,  142,  616,  527,   96,10823,
836     10823,10823,  160,  185,  116,  183,  229,  132,  175,  173,
837       232,   50,   66,  120,  263,  275,  159,  323,  134,  375,
838       416,  286,  308,  283,  126,  258,  516,10823,10823,10823,
839        95,  496,10823,10823,10823,  187,  471,  490,10823,10823,
840     10823,  238,  449,10823,10823,10823,  104,  401,10823,  351,
841     10823,  194,  369,  379,  381,10823,10823,10823,  375,  309,
842     10823,10823,10823,  146,  307,  392,  177,    0,  405,    0,
843         0,  201,  270,  233,  230,  310,  259,  290,  371,  178,
844 
845       335,  396,  413,  415,  330,  358,  417,  368,  442,  402,
846       453,  423,  448,  451,  450,  454,  412,  481,  476,  469,
847       480,  503,  494,  475,  463,  381,  504,  502,  511,  512,
848       514,  515,  530,  531,  532,  551,  543,  345,  544,  561,
849       540,  542,  554,  591,  559,  581,  577,  596,  595,  373,
850       579,  599,  569,  608,  603,  622,  616,  621,  629,  624,
851       281,  180,  273,  339,  268,  668,  273,  228,  222,  210,
852       678,  682,    0,  650,  152,  690,  188,  128,  672,  663,
853       680,  660,  670,  665,  683,  675,  692,  674,  679,  699,
854       676,  697,  702,  727,  705,  709,  716,  250,  743,  787,
855 
856       732,  722,  745,  720,  747,  748,  738,  731,  761,  758,
857       766,  721,  754,  767,  785,  765,  794,  798,  835,  810,
858       786,  789,  256,  816,  825,  258,  802,  418,  845,  829,
859       792,  833,   91,  851,  843,  856,  857,  862,  848,  863,
860       865,  867,  880,  852,  879,  882,  892,  889,  884,  888,
861       881,  910,  908,  900,  917,  911,  922,  923,  919,  928,
862       912,  929,  945,  924,  946,  957,  959,  939,  967,  951,
863       950,  970,  965,  981,  980,  977,  960,  984,  976,  974,
864       987,  982, 1000,  990, 1007, 1023, 1024, 1016, 1020, 1029,
865      1015, 1014, 1017, 1022, 1019, 1037, 1011, 1042, 1050, 1052,
866 
867      1058,  167, 1043, 1064, 1066, 1055, 1072, 1075, 1070, 1080,
868      1081, 1049,10823, 1088, 1082, 1108, 1102, 1111, 1106, 1112,
869      1114, 1116, 1117, 1098, 1103, 1099, 1115, 1123, 1129, 1131,
870      1130, 1133, 1135, 1163, 1147, 1166, 1155, 1171, 1170, 1156,
871      1205, 1172, 1157, 1180, 1250, 1174, 1176, 1194, 1207, 1220,
872       320, 1208, 1178, 1237, 1203, 1204, 1243, 1239, 1247, 1258,
873      1273, 1262, 1264, 1272, 1286, 1288, 1290, 1284, 1259, 1289,
874      1232, 1306,10823, 1292, 1305, 1245, 1316, 1330, 1337, 1324,
875      1281, 1355, 1317, 1322, 1319, 1327, 1351, 1403, 1451, 1339,
876      1360, 1346, 1357, 1366,10823, 1392, 1382, 1500, 1387, 1391,
877 
878      1410, 1407, 1405, 1398, 1431, 1432, 1409, 1352, 1438, 1423,
879      1350, 1448, 1465, 1459, 1457, 1460, 1478, 1458, 1490, 1483,
880      1365, 1505, 1491, 1496, 1507, 1529, 1501, 1520, 1532, 1546,
881      1530, 1531, 1533, 1538, 1541, 1559, 1547, 1564, 1558, 1568,
882      1569, 1556, 1565, 1574, 1582, 1589, 1604, 1649, 1609, 1596,
883      1593, 1602, 1601, 1620, 1617, 1615, 1614, 1616, 1629, 1630,
884      1651, 1595, 1415, 1653, 1642, 1659, 1664, 1668, 1656, 1675,
885      1679, 1683, 1691, 1689, 1685, 1686, 1695, 1706, 1687, 1698,
886      1712, 1716, 1714, 1723, 1732, 1719, 1728, 1439,10823, 1743,
887      1741,10823, 1727, 1744, 1736, 1749, 1739, 1756, 1745, 1750,
888 
889     10823, 1773, 1763, 1774, 1778, 1768, 1779, 1771, 1783, 1792,
890      1772, 1803, 1799, 1790, 1800, 1807, 1801, 1805, 1809, 1827,
891      1819, 1830, 1822, 1826, 1836, 1831, 1832, 1841, 1846, 1834,
892      1857, 1842, 1903,10823, 1859, 1860, 1865, 1862, 1869, 1886,
893      1878, 1893, 1905, 1885, 1920, 1924, 1926, 1953, 1927, 1912,
894      1930, 1936, 1941, 1963, 1874, 1965, 1956, 1962, 1960, 1972,
895      1957, 1955, 1989, 1969, 1987, 1980, 1991,10823, 1999, 2005,
896      2007, 1875, 1998, 2000, 1993, 2003, 1986, 2004, 2022, 2024,
897      2016, 2021, 2030, 2033, 2045, 2052, 2046, 2057, 2064, 2049,
898      2050, 2048, 2051, 2060, 2067, 2086, 2047, 2069, 2085, 2082,
899 
900      2083,  158, 2076, 2099, 2100, 2091, 2106, 2089, 2087, 2092,
901      2112, 2116, 2101, 2103, 2114, 2118, 2113, 2127, 2133, 2129,
902      2131, 2145, 2134, 2148, 2141, 2156, 2144, 2160, 2161, 2143,
903      2158, 2170, 2172, 2164, 2178, 2195, 2182, 2193, 2184, 2188,
904      2205, 2208, 2209, 2197,10823, 2219, 2217, 2215, 2234, 2236,
905      2225, 2242, 2227, 2230, 2244, 2245, 2254, 2229, 2262, 2255,
906      2261, 2268, 2256, 2252, 2274, 2275, 2282, 2272, 2286, 2293,
907      2299, 2287, 2302, 2301, 2297, 2298, 2304, 2311, 2308, 2313,
908      2317, 2339, 2333, 2321, 2332, 2325, 2355, 2334, 2338, 2357,
909      2358, 2348, 2361, 2366, 2352, 2379, 2374, 2383, 2384, 2388,
910 
911      2393, 2404, 2391, 2394, 2398, 2410, 2397, 2411, 2406, 2408,
912      2424, 2429, 2422, 2425, 2433, 2430, 2435, 2440, 2443, 2446,
913      2456, 2474, 2451, 2453, 2461, 2449, 2467, 2465, 2468, 2478,
914      2483, 2480, 2493, 2485, 2499, 2496, 2500, 2516, 2508, 2527,
915      2525, 2520, 2512, 2526, 2524, 2535, 2541, 2514, 2546, 2543,
916      2558, 2562, 2547, 2561, 2567, 2560, 2568, 2570, 2577, 2573,
917      2580, 2505, 2576, 2598, 2606, 2597, 2603, 2599, 2613, 2607,
918      2596, 2615, 2626, 2636, 2624, 2623,10823, 2628, 2618, 2630,
919      2638, 2642, 2640, 2639, 2643, 2665, 2660, 2670, 2653, 2656,
920      2655, 2707,10823, 2657,10823,10823, 1473, 2669,10823,10823,
921 
922      2684, 2688,10823, 2679, 2697, 2696, 2698, 2706, 2717, 2721,
923      2720, 2724, 2736, 2732, 2740, 2779, 2735, 2733, 2745, 2743,
924      2772, 2744, 2774, 2782, 2765, 2785, 2789, 2795, 2799, 2828,
925      2808, 2818, 2817, 2825, 2833, 2831, 2835, 2843, 2690, 2837,
926      2829, 2850, 2845, 2847, 2852, 2846, 2877, 2865, 2868, 2883,
927      2870, 2873, 2864, 2762, 2894, 2887, 2906,10823, 2897, 2769,
928      2890, 2900, 2896, 2856, 2898, 2895, 2915, 2914, 2923, 2928,
929      2932, 2921, 2926, 2922, 2933, 2947, 2929, 2944, 2941, 2945,
930      2952, 2960, 2946, 2970, 2949, 2959, 2956,10823, 2971, 2973,
931      2961, 2978, 2987, 2981, 2991, 2996, 2989, 2986, 2997, 3002,
932 
933      3027, 3012, 3009, 3016, 3013, 3025, 3017, 3028, 3045,10823,
934      3033, 3047, 3030, 3044, 3042, 3059, 3050, 3060, 3057, 3061,
935      3058, 3066, 3078, 3074, 3076, 3071, 3087, 3088, 3083, 3085,
936      3097, 3107, 3094, 3103, 3115, 3118, 3106, 3108, 3123, 3116,
937      3129, 3119, 3126, 3122, 3131, 3134, 3162, 3165, 3153, 3170,
938      3155, 3152, 3175, 3176, 3173, 3164, 3178, 3179, 3166, 3185,
939      3181, 3193, 3192, 3189, 3188, 3214, 3203, 3218, 3206, 3216,
940      3226, 3231, 3212, 3228, 3234, 3225, 3237, 3245, 3241, 3248,
941     10823, 3239, 3251, 3256,10823, 3264, 3259, 3255, 3304, 3284,
942      3294, 3281, 3287, 3296, 3274, 3314, 3290, 3310, 3322, 3316,
943 
944      3333, 3326, 3334, 3340, 3323, 3353, 3343, 3354, 3349, 3339,
945      3351, 3350, 3360, 3374, 3367, 3383, 3254, 3389, 3392,  477,
946      3394, 3371, 3378, 3384, 3429, 3395, 3399, 3398, 3401, 3417,
947      3409, 3415, 3419, 3411, 3438, 3432, 3434, 3431, 3468, 3461,
948      3457, 3454, 3467, 3459, 3471, 3473, 3481, 3470,10823, 3476,
949      3484, 3482, 3486, 3479, 3507, 3500, 3496,10823, 3511, 3512,
950      3506, 3529, 3516, 3517, 3526, 3510, 3527, 3535, 3533, 3537,
951      3542, 3534, 3548, 3564,10823, 3550,10823, 3556, 3554, 3559,
952      3571, 3585, 3560, 3575, 3572, 3573, 3591, 3599,10823,10823,
953      3600, 3602, 3586, 3593, 3613, 3614, 3601, 3609, 3606,10823,
954 
955      3622, 3630,10823, 3641, 3620, 3636, 3629, 3628, 3634, 3637,
956      3640, 3646, 3661, 3657, 3633, 3679, 3663, 3677, 3667,10823,
957      3686, 3680, 3668, 3688, 3691, 3684, 3690, 3692, 3707, 3709,
958     10823, 3695, 3713, 3719, 3710, 3703, 3732, 3724, 3717, 3738,
959      3742, 3727, 3728, 3730, 3746, 3740, 3766, 3768, 3769, 3770,
960      3773, 3771, 3774, 3776,10823, 3777, 3763, 3764, 3788, 3780,
961      3786, 3783, 3790, 3789, 3796, 3801, 3815, 3819, 3813, 3825,
962      3809, 3817, 3812, 3837, 3838, 3828, 3845, 3834, 3840, 3821,
963      3841, 3842,  552, 3848, 3854, 3852, 3849,10823, 3864, 3873,
964      3870, 3877, 3879, 3865,  115, 3875, 3880, 3876, 3891, 3890,
965 
966      3893, 3894, 3904, 3918, 3919, 3910, 3911, 3923, 3930, 3929,
967      3922, 3926, 3937, 3933, 3920, 3938, 3951, 3947, 3952,10823,
968      3943, 3959, 3968, 3963, 3961, 3974, 3957, 3978,10823, 3987,
969      3995, 3988, 3982, 3999, 3998, 4008, 4009, 4013, 4007,10823,
970      4022, 4010, 4005, 4018, 4025, 4032, 4036, 4023,10823, 4041,
971      4043, 4055, 4044, 4056, 4049, 4057, 4050, 4052, 4059, 4069,
972      4070, 4082, 4083, 4071, 4079, 4084, 4097, 4086, 4093, 4112,
973      4094, 4098, 4106, 4108, 4107, 4120, 4117, 4113, 4122, 4124,
974      4128,10823, 4151, 4139, 4129, 4144, 4140, 4141, 4153, 4149,
975      4174, 4163, 4159, 4164, 4171, 4209, 4176, 4184, 4167, 4196,
976 
977      4202, 4199, 4188, 4216, 4220, 4211, 4192, 4226, 4253, 4230,
978      4215, 4235, 4236, 4243, 4242, 4241, 4259, 4252, 4247, 4272,
979      4269, 4276, 4277, 4280, 4268, 4303, 4293, 4273, 4288, 4307,
980      4286,10823, 4306, 4311, 4302, 4300, 4327, 4340, 4332, 4333,
981      4325, 4338, 4337, 4346, 4339, 4352, 4348, 4361, 4356, 4360,
982      4368, 4363, 4375, 4367, 4382, 4379, 4374, 4385, 4388, 4301,
983      4390, 4396, 4395, 4409,10823, 4394, 4420, 4407, 4419, 4414,
984      4413, 4416, 4429, 4434, 4421, 4423, 4424, 4431, 4443, 4432,
985      4451, 4447, 4469, 4457, 4456, 4466, 4455,10823, 4472, 4464,
986      4474, 4480, 4483, 4481, 4490, 4499, 4500, 4506, 4508, 4510,
987 
988      4501, 4512, 4513, 4516,10823, 4521, 4526, 4517, 4527, 4528,
989      4525, 4531, 4530, 4551, 4540,10823, 4557, 4545, 4554, 4555,
990      4546, 4542, 4576, 4579, 4569, 4572,10823, 4581, 4574, 4578,
991      4584, 4580, 4592, 4595, 4568, 4611, 4596, 4593, 4599, 4619,
992      4610, 4614, 4606, 4625,10823, 4613, 4620, 4653, 4631, 4633,
993      4627, 4636, 4651, 4652, 4660, 4655, 4669, 4658,10823, 4678,
994      4677, 4663, 4688, 4683, 4680, 4682, 4684, 4698, 4707, 4695,
995      4694, 4715, 4697,10823, 4704, 4701, 4705, 4725, 4731, 4730,
996      4724, 4741, 4737, 4738, 4736, 4742, 4744, 4745, 4747, 4762,
997      4770, 4768, 4761, 4764, 4763, 4771, 4791, 4781, 4776, 4782,
998 
999      4798, 4806, 4815, 4800, 4812, 4816, 4811, 4804, 4801, 4819,
1000      4826, 4835, 4837, 4833, 4847,10823, 4836, 4841, 4843, 4832,
1001      4844, 4851, 4839, 4866, 4857, 4860, 4868, 4877, 4872, 4870,
1002      4906, 4910, 4871, 4887, 4892, 4893, 4881, 4897, 4903, 4901,
1003      4905, 4930, 4926, 4909, 4914, 4920, 4916, 4945, 4925, 4940,
1004      4950, 4932, 4947, 4936, 4941, 4957, 4961, 4952, 4943, 4970,
1005      4974, 4962, 4967, 4971, 4969, 4995, 4999, 5000, 5002, 4991,
1006      4994, 5001, 4998, 5028,10823, 4996, 5012, 5019, 5025, 5023,
1007      5029, 5035, 5039, 5021, 5038, 5036, 5059, 5055, 5054, 5064,
1008      5057, 5051, 5066, 5063, 5078, 5079,10823, 5070,10823, 5094,
1009 
1010      5071, 5095, 5098, 5106, 5087,10823, 5103,10823, 5105, 5109,
1011      5096, 5097, 5101,10823, 5115, 5110, 5121, 5102, 5123, 5119,
1012      5134, 5130, 5133, 5148, 5140, 5160, 5155, 5150, 5144, 5157,
1013      5138, 5146, 5168, 5171, 5170, 5186, 5177, 5174, 5190, 5180,
1014      5201, 5181, 5187, 5198, 5207, 5197, 5205,10823, 5220, 5219,
1015      5213, 5218, 5215, 5217, 5225, 5236, 5227, 5232, 5242, 5247,
1016      5259, 5240, 5245, 5252, 5261, 5267, 5268, 5250, 5278, 5284,
1017      5286, 5279, 5290, 5288,10823, 5282, 5301, 5283, 5285, 5308,
1018     10823, 5313, 5295, 5320, 5323, 5311, 5309, 5315, 5329, 5333,
1019      5326, 5331, 5335, 5360, 5338, 5359, 5365,10823, 5340, 5367,
1020 
1021      5348, 5371, 5369, 5353, 5386, 5388, 5380, 5396, 5401, 5393,
1022      5398, 5395, 5391, 5387, 5390, 5413, 5394, 5424, 5431, 5422,
1023      5436, 5411, 5437, 5432, 5439, 5423, 5425, 5433, 5428, 5426,
1024      5443, 5451, 5453, 5458, 5452, 5478, 5454, 5468, 5479,10823,
1025      5481, 5484, 5475, 5494, 5470, 5483, 5471, 5498, 5513, 5500,
1026      5510,10823, 5522, 5504, 5525, 5517, 5531, 5518, 5521, 5514,
1027      5536, 5541, 5540, 5546, 5557, 5548,10823, 5556,10823, 5545,
1028      5575, 5547, 5579, 5573, 5568, 5584, 5588, 5577, 5580, 5589,
1029      5596, 5605, 5597, 5604, 5600, 5606, 5611, 5610, 5630, 5616,
1030      5625, 5635, 5641, 5637, 5628, 5638, 5632, 5646, 5647, 5658,
1031 
1032      5649, 5667,10823,10823, 5645, 5662, 5681, 5683, 5668, 5687,
1033      5697, 5690, 5692, 5688, 5699, 5685, 5695, 5715, 5739,10823,
1034      5721, 5722, 5714, 5740, 5724, 5726, 5728, 5744, 5752, 5749,
1035      5742, 5755, 5751,10823, 5741, 5750, 5760, 5763, 5762, 5777,
1036      5764,10823, 5784,10823, 5766, 5776, 5779, 5788, 5789, 5790,
1037      5787, 5801, 5805, 5806, 5815, 5809, 5813, 5836, 5821, 5822,
1038      5834, 5819, 5823, 5825, 5838, 5840, 5848, 5832, 5842, 5837,
1039     10823, 5860, 5850, 5868, 5869, 5856, 5873, 5879, 5877, 5865,
1040     10823, 5880, 5881, 5895, 5882, 5887, 5889, 5893, 5907, 5904,
1041      5910, 5921, 5913, 5917, 5916, 5918, 5915,10823, 5914, 5929,
1042 
1043      5937, 5940, 5920, 5953, 5936, 5955, 5941, 5966,10823, 5964,
1044      5975, 5962, 5977, 5973, 5972, 5976, 5980, 5954, 5965, 5979,
1045      5990, 5989, 6004, 5986, 6000, 6003, 6010, 6011, 5999, 6029,
1046      6023, 6017, 6025, 6045, 6022,10823, 6035, 6038, 6039, 6037,
1047      6047, 6046, 6055, 6062, 6054, 6076, 6059, 6077, 6082, 6066,
1048      6070, 6074, 6088, 6096, 6097, 6099,10823, 6104, 6089, 6110,
1049      6085, 6106, 6092, 6118, 6113, 6105, 6115, 6128, 6124, 6109,
1050      6136, 6138, 6145, 6144, 6155, 6148, 6154, 6151, 6157, 6158,
1051      6159, 6163, 6173, 6186,10823, 6197, 6181, 6178, 6196, 6188,
1052      6187, 6208, 6200, 6192, 6190, 6216, 6204, 6220, 6213, 6210,
1053 
1054      6227, 6234, 6222,10823,10823, 6241, 6219, 6236,10823, 6243,
1055      6229, 6256, 6239, 6237, 6248, 6265, 6246, 6259, 6269, 6272,
1056      6261, 6277, 6282, 6264, 6268,10823, 6298, 6292, 6303, 6280,
1057      6295, 6311, 6308,10823, 6293, 6318, 6315, 6316, 6314, 6313,
1058      6306, 6317, 6329, 6319, 6344, 6333, 6335, 6348, 6339, 6340,
1059      6359, 6337, 6350, 6369,10823, 6360, 6363, 6367, 6368, 6374,
1060      6364, 6355,10823, 6384, 6377, 6392, 6396, 6397, 6405, 6400,
1061      6410, 6415, 6413, 6401, 6407, 6416, 6412, 6418, 6427, 6430,
1062      6451, 6434, 6440, 6454, 6443, 6460, 6462, 6464,10823, 6457,
1063      6469, 6472, 6470, 6471,10823, 6473, 6506, 6477,10823, 6481,
1064 
1065      6483, 6489, 6476, 6510,10823, 6499, 6513, 6502, 6519, 6497,
1066      6518, 6501, 6530, 6527, 6512, 6515, 6529, 6536,10823, 6539,
1067      6533, 6538,10823, 6532, 6550, 6554, 6564, 6567, 6556, 6549,
1068      6573, 6566, 6579, 6568, 6576,10823, 6581, 6587,10823, 6589,
1069      6593, 6578, 6601,10823, 6595, 6598, 6599, 6588, 6600, 6613,
1070      6616, 6620, 6630, 6612, 6624, 6617, 6619, 6637, 6644, 6647,
1071      6634, 6645, 6640, 6639,10823, 6672, 6651, 6661, 6666, 6636,
1072      6676, 6678, 6674, 6668, 6685, 6679,10823,10823, 6655,10823,
1073      6688, 6682, 6694, 6704,10823, 6707, 6709, 6699, 6711, 6726,
1074      6706, 6715, 6712, 6724, 6732,10823, 6741, 6742,10823, 6721,
1075 
1076      6739, 6737, 6738, 6751, 6753, 6754, 6759, 6781, 6756, 6734,
1077      6764, 6769, 6780, 6736, 6779, 6778, 6799, 6787, 6819,10823,
1078      6796, 6801, 6800, 6813, 6814, 6809, 6815, 6826, 6827,10823,
1079      6828, 6842, 6839, 6845, 6854,10823, 6853,10823, 6846, 6858,
1080      6851, 6866, 6856, 6859, 6803, 6872,10823, 6874, 6873, 6870,
1081      6878, 6891, 6880,10823, 6893, 6903, 6894, 6895, 6890, 6916,
1082      6919, 6902, 6914, 6932, 6920,10823, 6917, 6931, 6921, 6934,
1083      6937, 6939, 6941, 6942, 6954, 6947, 6955, 6949, 6959, 6972,
1084      6970, 6963, 6977, 6984, 6964, 6966, 6969,10823, 6991, 6994,
1085      6990, 6989, 7013, 6997, 7011, 7014,10823, 7012, 7015, 6996,
1086 
1087      7024,10823, 7018, 7035, 7023, 7034, 7030, 7042, 7045, 7049,
1088      7019, 7050, 7051, 7062,10823, 7056, 7061, 7054, 7075, 7079,
1089      7076, 7078,10823,10823, 7091,10823, 7092, 7081, 7094, 7095,
1090      7089, 7090, 7115, 7111, 7127, 7112, 7116, 7124, 7129, 7119,
1091     10823, 7125, 7138, 7123, 7153, 7154, 7163, 7157,10823, 7156,
1092      7146,10823,10823, 7149, 7168, 7173, 7169, 7170, 7176, 7180,
1093      7171,10823, 7184, 7187, 7181, 7205, 7182, 7207, 7190,10823,
1094      7214, 7200, 7217, 7203,10823, 7197, 7226, 7213, 7210, 7230,
1095      7224, 7227, 7239, 7233, 7234, 7228, 7260, 7252, 7241, 7253,
1096      7248, 7254, 7265, 7257, 7273, 7269, 7270, 7285,10823, 7281,
1097 
1098      7283, 7287, 7292, 7290, 7294, 7301, 7303, 7295, 7304, 7300,
1099      7328,10823, 7317,10823, 7322, 7312, 7330, 7339, 7323, 7337,
1100      7349, 7345, 7329, 7334, 7346, 7352, 7366, 7371, 7372, 7377,
1101      7363, 7368, 7369, 7385,10823, 7380, 7387, 7376, 7396, 7399,
1102      7400, 7402, 7401,10823, 7412, 7405, 7410, 7407, 7420, 7421,
1103      7422, 7431, 7418, 7440, 7427, 7438, 7450, 7451, 7439, 7446,
1104      7458, 7444, 7456, 7448, 7445,10823, 7469, 7460, 7457, 7479,
1105      7463, 7487, 7488, 7490, 7496, 7495, 7480, 7483, 7500,10823,
1106      7489, 7486, 7509, 7516,10823, 7508, 7503, 7510, 7519, 7536,
1107      7538, 7522, 7537, 7543, 7529, 7551,10823, 7548, 7530, 7546,
1108 
1109      7545, 7558, 7563, 7567, 7557, 7561, 7578, 7589, 7593,10823,
1110      7597, 7588, 7590, 7594, 7601, 7577, 7585, 7609, 7610, 7626,
1111      7608,10823, 7627, 7636, 7637, 7624, 7648, 7649, 7629, 7640,
1112      7652, 7657, 7660, 7645, 7658, 7675, 7653, 7672, 7674, 7677,
1113      7679, 7676, 7696, 7698, 7691,10823, 7687,10823, 7689, 7685,
1114      7710, 7701, 7718, 7715, 7725, 7728, 7721,10823, 7704, 7713,
1115      7730, 7717, 7740, 7734,10823, 7723, 7742, 7748, 7752,10823,
1116      7762, 7766, 7753, 7760, 7774, 7777, 7780,10823, 7778, 7779,
1117      7783, 7789, 7791, 7785, 7795, 7797, 7801, 7805, 7799, 7800,
1118      7822, 7808, 7806, 7809,10823, 7821, 7827, 7831, 7829, 7832,
1119 
1120      7833, 7836, 7835, 7839, 7851, 7840,10823, 7860, 7848, 7854,
1121      7856, 7857, 7869, 7859, 7872, 7890, 7882, 7892, 7896, 7884,
1122      7886, 7889, 7907, 7900, 7891,10823, 7898, 7906, 7909, 7899,
1123      7933, 7923, 7928,10823, 7929,10823, 7926, 7932, 7941, 7944,
1124      7950,10823, 7949, 7939, 7958, 7917, 7962,10823,10823, 7960,
1125      7967, 7968, 7945, 7966,10823,10823, 7982,10823, 7965,10823,
1126      7970, 7985,10823,10823, 7981, 7972, 7978, 7979,10823, 7999,
1127      8009, 8003,10823, 8015,10823, 8021, 7997, 8018, 8006, 8007,
1128      8027,10823, 8016, 8034, 8026, 8028, 8020,10823, 8023, 8042,
1129      8046, 8062, 8045, 8043,10823, 8060, 8065, 8069, 8055, 8056,
1130 
1131      8059,10823, 8079, 8081, 8083, 8066, 8082, 8086, 8089, 8095,
1132      8098, 8100, 8093, 8118, 8108, 8109, 8125, 8117, 8104, 8133,
1133      8134, 8137, 8126, 8140, 8131, 8143, 8146, 8150, 8153, 8156,
1134      8139, 8160, 8162, 8158, 8174, 8171, 8165, 8188, 8191, 8183,
1135      8193, 8185, 8189, 8192, 8180, 8198, 8202, 8206, 8205, 8219,
1136      8208, 8187, 8214, 8223, 8215, 8224, 8221, 8235, 8232, 8246,
1137      8245, 8241, 8242,10823, 8240, 8253, 8252, 8255, 8273, 8263,
1138      8281, 8282, 8288, 8289, 8290,10823,10823, 8292,10823, 8294,
1139      8279, 8285, 8280, 8283,10823, 8307, 8310, 8308, 8309, 8322,
1140      8312, 8336, 8313, 8323, 8324, 8343,10823, 8348, 8345, 8339,
1141 
1142      8340, 8337, 8347,10823, 8367, 8361, 8359, 8360, 8363, 8375,
1143      8368, 8366, 8373, 8369, 8379, 8388, 8390, 8399, 8401, 8387,
1144      8395, 8410,10823, 8420, 8421, 8265, 8405, 8409, 8414, 8411,
1145      8417, 8428, 8435, 8419, 8422, 8425, 8440, 8448, 8441, 8458,
1146      8462, 8453, 8468, 8465,10823, 8452,10823, 8467, 8454, 8472,
1147      8481, 8477, 8485, 8488, 8486, 8483,10823,10823, 8487, 8498,
1148      8514, 8496, 8503, 8504, 8519, 8510, 8509, 8523,10823, 8511,
1149      8520, 8533, 8536, 8542, 8543,10823, 8537, 8555, 8538, 8549,
1150      8551, 8553, 8557,10823, 8560, 8562, 8570, 8576, 8561, 8575,
1151      8581, 8585, 8582, 8580, 8593, 8586, 8592,10823, 8589,10823,
1152 
1153     10823,10823, 8613, 8602, 8600, 8615, 8612, 8617, 8618, 8619,
1154      8626, 8627, 8624, 8623, 8632,10823, 8634,10823,10823, 8651,
1155     10823, 8655, 8650, 8661, 8640, 8646, 8659, 8663,10823, 8654,
1156     10823, 8667, 8674, 8670, 8676, 8680, 8684, 8681, 8702, 8697,
1157      8705, 8691, 8695, 8316, 8712,10823, 8714, 8706, 8718, 8719,
1158      8720,10823,10823, 8722, 8725, 8727, 8743, 8729, 8746, 8739,
1159      8731, 8755, 8758, 8756, 8745, 8761, 8747, 8772, 8776, 8770,
1160      8752, 8728,10823, 8774, 8779, 8786,10823, 8782,10823, 8788,
1161      8795, 8799, 8780, 8792, 8801, 8803, 8813, 8808, 8819, 8824,
1162     10823,10823, 8815, 8839, 8830,10823,10823, 8826, 8827, 8828,
1163 
1164      8840, 8838, 8842, 8843,10823, 8852, 8855, 8857, 8853, 8869,
1165      8856, 8873, 8874,10823, 8872,10823, 8870, 8877, 8892, 8882,
1166      8899, 8908, 8883, 8888, 8916, 8912, 8905, 8896, 8917,10823,
1167      8909, 8911,10823, 8930, 8925, 8923, 8919, 8933, 8931, 8926,
1168     10823, 8955, 8943,10823, 8942, 8936, 8962, 8965,10823, 8966,
1169      8963, 8968, 8969,10823, 8971,10823, 8952, 8970, 8964, 8985,
1170      8989,10823, 8957, 8986, 8987, 9008,10823, 8981, 9010, 9011,
1171      9012, 9004, 9005,10823, 9019, 9002,10823, 9003, 9021, 9024,
1172      9022, 9026, 9027, 9030, 9037, 9042, 9031, 9040, 9057,10823,
1173     10823, 9064, 9058,   73, 9065, 9039, 9051, 9052, 9067, 9079,
1174 
1175      9050, 9076, 9081,10823,10823, 9082,10823, 9078, 9090,10823,
1176      9070, 9098, 9103, 9094, 9091, 9092, 9106, 9102, 9115, 9113,
1177      9121, 9120, 9117, 9133,10823, 9150, 9157, 9137, 9135, 9145,
1178      9148, 9154, 9164, 9166, 9142, 9169, 9151, 9153, 9161, 9172,
1179      9182, 9176, 9184, 9181, 9180, 9185, 9198,10823, 9202, 9204,
1180      9207, 9206, 9215, 9213, 9223, 9208,10823, 9220, 9217, 9230,
1181      9231,10823, 9238, 9232, 9234, 9239, 9240, 9245,10823, 9242,
1182      9252, 9256, 9258, 9255, 9259, 9263, 9265, 9257, 9293,10823,
1183      9281, 9286, 9269,10823, 9282,10823,10823,10823, 9298, 9271,
1184      9285,10823, 9275, 9292, 9289, 9300,10823, 9310, 9311, 9308,
1185 
1186      9320, 9316,10823,10823,10823, 9304, 9327, 9325,10823, 9319,
1187      9341,10823, 9330,10823, 9337,10823, 9335, 9343, 9322, 9344,
1188     10823, 9346, 9347, 9349, 9378,10823, 9365, 9372, 9377, 9374,
1189      9361, 9367, 9384,10823, 9396, 9388, 9390, 9397, 9380, 9391,
1190      9400, 9407, 9401, 9405, 9404, 9414,10823, 9422, 9428, 9430,
1191      9436, 9423, 9425, 9432,10823, 9418,10823, 9443,10823, 9431,
1192      9441, 9448, 9462, 9463, 9457, 9458, 9468, 9474, 9460, 9471,
1193      9481, 9469, 9465, 9485, 9486, 9494, 9495,10823,10823, 9502,
1194      9501,10823, 9510, 9517, 9519,10823, 9499,10823, 9523,10823,
1195      9508, 9509,10823, 9522, 9518, 9526,10823,10823, 9530, 9512,
1196 
1197      9539, 9538, 9533, 9540, 9536,10823, 9561, 9550, 9549, 9551,
1198      9570,10823, 9576,10823, 9552, 9578, 9575,10823,10823, 9559,
1199      9558, 9574, 9587, 9577, 9573, 9590, 9583, 9589, 9586, 9617,
1200      9596, 9610, 9604, 9618, 9611, 9625, 9627, 9631,10823,10823,
1201     10823, 9623, 9614, 9644, 9629, 9637, 9648, 9642,10823, 9641,
1202      9647, 9658, 9651, 9653, 9659, 9665,10823, 9654, 9661, 9657,
1203      9678, 9672, 9675, 9673, 9674,10823, 9695, 9696, 9698, 9702,
1204      9697, 9703, 9712, 9713, 9714, 9706, 9717, 9718, 9693, 9732,
1205      9721,10823,10823, 9728, 9720,10823, 9737, 9743,10823,10823,
1206      9730,10823, 9729, 9738, 9735, 9739, 9766,10823, 9750, 9742,
1207 
1208      9752, 9758,10823, 9753, 9765, 9775, 9782, 9779,10823, 9778,
1209      9757, 9770, 9784, 9781, 9799,10823,10823, 9791, 9789,10823,
1210      9807, 9809, 9801, 9824, 9808, 9813, 9822, 9827,10823, 9825,
1211      9828, 9817, 9818, 9841, 9831, 9844,10823, 9845, 9842, 9847,
1212      9855,10823, 9839, 9860, 9868, 9862, 9873,10823, 9874, 9870,
1213      9896, 9887,10823, 9884, 9895, 9880,10823,10823,10823, 9881,
1214      9899, 9905,10823,10823,10823, 9900,10823, 9916, 9913, 9902,
1215      9924,10823, 9919,10823,10823, 9928, 9939, 9951, 9930, 9954,
1216      9929,10823, 9936, 9935, 9947, 9940, 9945,10823,10823, 9964,
1217      9968, 9950, 9953, 9960, 9975, 9961, 9956,10823,10823, 9957,
1218 
1219      9983, 9985, 9984, 9986,10823, 9980, 9994,10004, 9996,10007,
1220     10014,10015,10003,10017,10024,10029,10032,10012,10023,10019,
1221     10042,10043,10034,10052,10059,10049,10057,10058,10051,10063,
1222     10823,10823,10062,10067,10823,10071,10064,10823,10065,10823,
1223     10072,10077,10087,10088,10823,10096,10097,10101,10102,10079,
1224     10823,10094,10107,10823,10109,10104,10099,10092,10823,10110,
1225     10116,10108,10117,10118,10128,10130,10119,10122,10823,10135,
1226     10148,10823,10823,10138,10155,10137,10152,10143,10823,10164,
1227     10171,10145,10146,10157,10169,10165,10823,10168,10180,10823,
1228     10823,10193,10184,10823,10201,10823,10178,10186,10823,10823,
1229 
1230     10823,10823,10823,10823,10823,10823,10195,10207,10823,10823,
1231     10196,10212,10215,10217,10823,10218,10823,10198,10223,10226,
1232     10220,10823,10224,10823,10229,10208,10236,10247,10228,10253,
1233     10245,10242,10244,10248,10257,10251,10268,10271,10281,10269,
1234     10275,10289,10273,10297,10279,10296,10823,10823,10823,10823,
1235     10291,10295,10303,10298,10311,10319,10312,10327,10310,10313,
1236     10328,10330,10336,10318,10334,10353,10337,10332,10345,10352,
1237     10346,10365,10367,10369,10823,10374,10360,10362,10382,10823,
1238     10368,10823,10370,10823,10823,10384,10385,10390,10372,10358,
1239     10395,10389,10387,10401,10399,10405,10823,10406,10823,10823,
1240 
1241     10823,10823,10402,10414,10823,10410,10415,10823,10416,10430,
1242     10421,10425,10426,10437,10444,10450,10445,10823,10823,10448,
1243     10442,10451,10454,10453,10464,10472,10469,10479,10481,10471,
1244     10493,10823,10489,10487,10494,10823,10498,10485,10496,10488,
1245     10491,10514,10505,10509,10823,10525,10823,10527,10530,10523,
1246     10516,10519,10520,10543,10540,10546,10823,10537,10547,10549,
1247     10555,10557,10572,10554,10560,10578,10575,10587,10591,10585,
1248     10586,10581,10596,10584,10823,10594,10590,10823,10605,10617,
1249     10606,10607,10614,10823,10597,10612,10616,10628,10638,10633,
1250     10823,10645,10646,10641,10823,10642,10823,10823,10649,10632,
1251 
1252     10644,10650,10657,10823,10823,10823,10703,10710,10717,10724,
1253     10731,10738,10745,  100,10752,10759,10766,10773,10780,10787,
1254     10794,10801,10808,10815
1255     } ;
1256 
1257 static const flex_int16_t yy_def[3825] =
1258     {   0,
1259      3806,    1, 3807, 3807, 3808, 3808, 3809, 3809, 3810, 3810,
1260      3811, 3811, 3812, 3812, 3813, 3813, 3806, 3814, 3806, 3806,
1261      3806, 3806, 3815, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1262      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1263      3814, 3814, 3814, 3814, 3814, 3814, 3816, 3806, 3806, 3806,
1264      3816, 3817, 3806, 3806, 3806, 3817, 3818, 3806, 3806, 3806,
1265      3806, 3818, 3819, 3806, 3806, 3806, 3819, 3820, 3806, 3821,
1266      3806, 3820, 3820, 3822, 3806, 3806, 3806, 3806, 3822, 3823,
1267      3806, 3806, 3806, 3823, 3814, 3814, 3806, 3824, 3815, 3824,
1268      3815, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1269 
1270      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1271      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1272      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1273      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1274      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1275      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1276      3816, 3816, 3817, 3817, 3818, 3818, 3806, 3819, 3819, 3820,
1277      3820, 3821, 3821, 3820, 3822, 3822, 3806, 3823, 3823, 3814,
1278      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1279      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1280 
1281      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1282      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1283      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1284      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1285      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1286      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1287      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1288      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1289      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1290      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1291 
1292      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1293      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1294      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1295      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1296      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1297      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1298      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1299      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1300      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1301      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1302 
1303      3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1304      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1305      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1306      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1307      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1308      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1309      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1310      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1311      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1312      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1313 
1314      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1315      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1316      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1317      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1318      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1319      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1320      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1321      3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1322      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1323      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1324 
1325      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1326      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1327      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1328      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1329      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1330      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1331      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1332      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1333      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1334      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1335 
1336      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1337      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1338      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1339      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1340      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1341      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1342      3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1343      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1344      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1345      3814, 3814, 3806, 3814, 3806, 3806, 3814, 3814, 3806, 3806,
1346 
1347      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1348      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1349      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1350      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1351      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1352      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1353      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1354      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1355      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1356      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1357 
1358      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1359      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1360      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1361      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1362      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1363      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1364      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1365      3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1366      3806, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1367      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1368 
1369      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1370      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1371      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1372      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1373      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1374      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1375      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1376      3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1377      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806,
1378      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1379 
1380      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1381      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1382      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1383      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1384      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1385      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1386      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1387      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1388      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1389      3814, 3814, 3814, 3820, 3820, 3814, 3814, 3814, 3814, 3814,
1390 
1391      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1392      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1393      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1394      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1395      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1396      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1397      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1398      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1399      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1400      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1401 
1402      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1403      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1404      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1405      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1406      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1407      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1408      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1409      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1410      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1411      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1412 
1413      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1414      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3820,
1415      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1416      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1417      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1418      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1419      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1420      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1421      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1422      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1423 
1424      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1425      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1426      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1427      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1428      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1429      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1430      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1431      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1432      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1433      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1434 
1435      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1436      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1437      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1438      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1439      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1440      3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1441      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1442      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1443      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1444      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1445 
1446      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1447      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1448      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1449      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1450      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1451      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1452      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1453      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1454      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1455      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1456 
1457      3814, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1458      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1459      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1460      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1461      3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1462      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1463      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1464      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1465      3806, 3814, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814,
1466      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1467 
1468      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1469      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1470      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1471      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1472      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1473      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1474      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1475      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1476      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1477      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1478 
1479      3814, 3814, 3814, 3806, 3806, 3814, 3814, 3814, 3806, 3814,
1480      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1481      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1482      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1483      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1484      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1485      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1486      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1487      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1488      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3806, 3814,
1489 
1490      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1491      3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814, 3806, 3814,
1492      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1493      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814,
1494      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1495      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1496      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1497      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806,
1498      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1499      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814,
1500 
1501      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1502      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1503      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1504      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1505      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1506      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1507      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1508      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1509      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1510      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1511 
1512      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1513      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1514      3814, 3814, 3806, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1515      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1516      3806, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3806, 3814,
1517      3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1518      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1519      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1520      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1521      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1522 
1523      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1524      3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1525      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1526      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1527      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1528      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1529      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1530      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1531      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1532      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1533 
1534      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1535      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1536      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1537      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1538      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1539      3814, 3814, 3814, 3814, 3814, 3820, 3814, 3806, 3814, 3814,
1540      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806,
1541      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1542      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1543      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1544 
1545      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1546      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1547      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1548      3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1549      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1550      3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814, 3806,
1551      3814, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1552      3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1553      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1554      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1555 
1556      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1557      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1558      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1559      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1560      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1561      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1562      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1563      3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814,
1564      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1565      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1566 
1567      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1568      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1569      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1570      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1571      3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1572      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3814,
1573      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1574      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1575      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1576      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806,
1577 
1578      3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1579      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3806, 3814,
1580      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1581      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1582      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1583      3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1584      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1585      3814, 3814, 3806, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1586      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1587      3806, 3806, 3814, 3814, 3814, 3806, 3806, 3814, 3814, 3814,
1588 
1589      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1590      3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1591      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1592      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1593      3806, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1594      3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1595      3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1596      3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814, 3814,
1597      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1598      3806, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814,
1599 
1600      3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814, 3814, 3806,
1601      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1602      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1603      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1604      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1605      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1606      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1607      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1608      3814, 3814, 3814, 3806, 3814, 3806, 3806, 3806, 3814, 3814,
1609      3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1610 
1611      3814, 3814, 3806, 3806, 3806, 3814, 3814, 3814, 3806, 3814,
1612      3814, 3806, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1613      3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1614      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1615      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1616      3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3806, 3814,
1617      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1618      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1619      3814, 3806, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3806,
1620      3814, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3814, 3814,
1621 
1622      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1623      3814, 3806, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3814,
1624      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1625      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806,
1626      3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1627      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1628      3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1629      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1630      3814, 3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3806,
1631      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1632 
1633      3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1634      3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3814, 3806,
1635      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1636      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1637      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1638      3814, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3806, 3814,
1639      3814, 3814, 3806, 3806, 3806, 3814, 3806, 3814, 3814, 3814,
1640      3814, 3806, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814,
1641      3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1642      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1643 
1644      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1645      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1646      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1647      3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3806,
1648      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1649      3806, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1650      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1651      3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1652      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806,
1653      3806, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3806, 3806,
1654 
1655      3806, 3806, 3806, 3806, 3806, 3806, 3814, 3814, 3806, 3806,
1656      3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1657      3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1658      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1659      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3806, 3806,
1660      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1661      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1662      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806,
1663      3814, 3806, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814,
1664      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3806,
1665 
1666      3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814,
1667      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1668      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1669      3814, 3806, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1670      3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1671      3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1672      3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1673      3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814,
1674      3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1675      3806, 3814, 3814, 3814, 3806, 3814, 3806, 3806, 3814, 3814,
1676 
1677      3814, 3814, 3814, 3806, 3806,    0, 3806, 3806, 3806, 3806,
1678      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
1679      3806, 3806, 3806, 3806
1680     } ;
1681 
1682 static const flex_int16_t yy_nxt[10890] =
1683     {   0,
1684        18,   19,   20,   21,   22,   23,   22,   18,   18,   18,
1685        18,   18,   22,   24,   25,   26,   27,   28,   29,   18,
1686        30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
1687        40,   41,   42,   43,   44,   18,   18,   18,   45,   46,
1688        24,   25,   26,   27,   28,   29,   18,   30,   31,   32,
1689        33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1690        43,   44,   18,   18,   18,   45,   48,   49,   50,   48,
1691        49,   50,   53,   54,   53,   54,   55,  120,   55,   58,
1692        59,   60,   61,  121,   22,   58,   59,   60,   61,   86,
1693        22,   64,   65,   66,   64,   65,   66,   87,  161,  161,
1694 
1695        85,   88,  351,   51,  120,   86,   51,  168,  168,   56,
1696       121,   56,  171,   75,   76,   77,   78,   62,   22,   75,
1697        76,   77,   78,   62,   22,   81,   82,   83,   67,   98,
1698        86,   67,   19,   20,   21,   69,   70,   71,   19,   20,
1699        21,   69,   70,   71,   81,   82,   83,  122,  109,  178,
1700       178,   79,   72,  160,  171,   86,   98,   79,   72,   86,
1701       138,   90,   84,   90,   90,   86,   90,  179,  110,  797,
1702        73,   86,   90,   86,  122,  109,   73,  426,   87,   72,
1703       160,   84,   88,  161,  161,   72,  113,  138,  111,  177,
1704       163,  176,  131,  163,  114,  110,   99,   86,   86,   91,
1705 
1706        92,   93,  112,  100,   94,  115,   86,  101,  189,   95,
1707       102,   96,   86,  113,   86,  111,  180,   86,   97,  131,
1708       174,  114,   86,   99,   86,  168,  168,   92,   93,  112,
1709       100,   94,  115,  171,  101,  189,   95,  102,   96,  165,
1710        86,  165,  165,  180,  165,   97,  103,  174,  116,  171,
1711       104,  117,  182,  105,  183,  106,  107,  301,  118,   85,
1712       119,   85,   85,  339,   85,  343,  108,  169,   86,   86,
1713        85,   86,   86,  103,  167,  116,  123,  104,  117,  182,
1714       105,  183,  106,  107,  124,  118,  181,  119,  127,   86,
1715       125,  185,  128,  108,  126,   86,  157,   86,   86,  149,
1716 
1717       158,  150,   86,  123,  159,  186,  129,  166,  130,   86,
1718       151,  124,  164,  181,   86,  127,  152,  125,  185,  128,
1719       162,  126,   86,  157,  153,   86,  149,  158,  150,   86,
1720       490,  159,  186,  129,  154,  130,  132,  151,  155,  156,
1721       133,  184,  163,  152,  134,  163,   86,   86,  179,   86,
1722       135,  153,   90,  136,   90,   90,  190,   90,  246,   86,
1723       137,  154,   86,  132,  198,  155,  156,  133,  184,   86,
1724       170,  134,  170,  170,   86,  170,  175,  135,  175,  175,
1725       136,  175,  177,  190,   86,  246,  187,  137,  139,  199,
1726       173,  198,  140,   85,  202,   85,   85,   86,   85,  188,
1727 
1728       231,  266,  141,  142,   85,  143,   90,   86,   90,   90,
1729        86,   90,   86,  187,   86,  139,  199,   90,  176,  140,
1730        86,  202,  191,  192,  200,  345,  188,  231,  266,  141,
1731       142,  193,  143,  144,  205,   86,  145,  194,  214,  195,
1732       171,   86,  201,  146,   91,  196,  197,  147,  148,  191,
1733       192,   86,   86,  209,   86,   86,   86,   86,  193,  203,
1734       144,  205,   86,  145,  194,  214,  195,  211,  204,  201,
1735       146,  213,  196,  197,  147,  148,  206,  207,  210,  230,
1736       209,   86,  212,  219,  208, 1250,  203,   86,  169,   86,
1737        86,  167,   86,   86,  211,  204,  215,  222,  213,  216,
1738 
1739       221,  229,   86,  206,  207,  210,  230,  220,   86,  212,
1740       166,  208,  217,  218,   86,   86,   86,  223,  224,   86,
1741        86,  234,  225,  215,  222,  227,  216,  221,  229,  232,
1742       228,  238,  235,   86,  220,  164,  233,  236,  226,  217,
1743       218,   86,   86,   86,  223,  224,  237,  240,  234,  225,
1744        86,   86,  227,   86,   86,  162,  232,  228,  238,  235,
1745       239, 1410,  241,  233,  236,  226,   86,  251,  242,   86,
1746        86,   86,  243,  237,  240,  245,  247,  248,  244,   86,
1747       252,   86,   86,   86,  257,  253,  249,  239,  258,  241,
1748        86,   86,  250,   86,  251,  242,  259,  269,   86,  243,
1749 
1750        86,  260,  245,  247,  248,  244,  254,  252,   86,  261,
1751       267,  257,  253,  249,  264, 3806,   86,  255,   86,  250,
1752        86,  256,  270,  259,  269,  265,  262,  273,  260,  263,
1753        86,  271,  268,  254,   86,   86,  261,  267,   86,  274,
1754       275,  264,   86,  272,  255, 3806,  277,   86,  256,  270,
1755       278,  276,  265,  262,  273,   86,  263, 3806,  271,  268,
1756        86,   86, 3806,   86, 3806,  279,  274,  275,   86,  165,
1757       272,  165,  165,  277,  165,  178,  178,  278,  276,  170,
1758       280,  170,  170,   90,  170,   90,   90,  281,   90,  171,
1759       283,  175,  279,  175,  175, 3806,  175,  284,  288,   86,
1760 
1761       285,  282,   86,  286,   86,  290,  291,  280,  293,   86,
1762       287, 3806,  289,   86,   86,   86,  292,  283,   86,   86,
1763       294,  173,   86,  295,  284,  288,  299,  285,  282,  300,
1764       286,   86,  290,  291,  296,  293,   86,  287,   86,  289,
1765       297,   86,  298,  292,   86,  310,  311,  294,   86,  323,
1766       295,  314,  312,  299,  302,   86,  300,  313,  303,   86,
1767        86,   86,  317,  318,  315,  316,   86,  297,  319,  298,
1768        86,   86,  310,  311,  321,  304,  323,   86,  314, 3806,
1769       324, 3806,   86,  322,   86,  303,   86,   86, 3806,  317,
1770       318,  315,  316,   86,  325,  328,  320,   86, 3806,  349,
1771 
1772        86,  321,  304,  305,   86,   86,   86,  324,  306,  326,
1773       322,  329,  327,  307, 3806,  330, 3806,  338,  337,  308,
1774       309,  325,  328,  320,   86,   86,   86,  336,   86,  340,
1775       305,   86,  341,   86,  344,  306,  326,   86,  329,  327,
1776       307,   86,  330,  342,  338,  337,  308,  309,  331,   86,
1777       350,  332,  346,  333,  336,   86,  340, 3806,  352,  353,
1778      3806,  344,  348,  354,   86,  334,  347,  335,   86,  357,
1779       342,  355,   86,  358,   86,  331,  356,  350,  332, 3806,
1780       333,  359,   86, 3806,   86,  361,  353,   86,  364,  348,
1781        86,   86,  334,  347,  335,   86,   86,  360,  355,  365,
1782 
1783       358,   86,   86,  356,   86,  362,   86,  366,  359,  367,
1784       368,  369,  361,  371,  363,  364,  370,  372,   86,   86,
1785        86,   86,  373,   86,  360,  374,  365,   86,   86,  378,
1786       375,   86,  362,  376,  366,  382,  367,  368,  369,   86,
1787       371,  363,  381,  370,  383,  377,  384,   86, 3806,   86,
1788        86,   86,  374,  379,  380,  386,   86,  375,   86,  385,
1789       376,   86,   86,   86,  388,  387,  389,   86,   86,  381,
1790       390,  383,  377,  384,  391,  392,  393,  395,   86, 3806,
1791       379,  380,  386,  394,   86,   86,  385,  398,  396,   86,
1792        86,  399,  387, 3806, 3806,  401,   86,  390,   86,   86,
1793 
1794       403,  402,  392,  393,   86,  404,   86,  405,  400,   86,
1795       394,  397, 3806,   86,  406,  171,   86,  407,  399,   86,
1796        86,   86,  401,   86,  409,  408,   86,  403,  402,   86,
1797       410,  411,  404,  412,  405,  400,  414,  413,  397,   86,
1798       416,  406,  415,  418,  407,  419,   86,  417,  421,  422,
1799        86,  409,  408,   86,   86,   86,   86,  420,   86,   86,
1800       412,   86,   86,   86,  413,  423,  424,  416,   86,  415,
1801       418,  425,  419,  427,  417,  421,   86,  428, 3806,  429,
1802       437,   86,   86,  430,  420,  431,  434, 3806,   86,   86,
1803       433,   86,  423,  424,   86,  438, 3806,   86,  425,  432,
1804 
1805       427,  435,  436,   86,  428,   86,  429,  437,  439,   86,
1806       430,   86,  431,  434,   86,  440,  441,  433,  442,   86,
1807        86,   86,  443,  447,  448,  445,  432,   86,  435,  436,
1808       450,  446,  452,  451, 3806,  439,  454,   86,   86,  444,
1809       453,   86,   86,  441,  455,   86,  457,   86,  449,  443,
1810        86,   86,  445,   86,   86,   86,   86,  450,  446,  452,
1811       451,  456,   86,  454,  458,  459,  444,  453,   86,   86,
1812        86,  455,   86,  457,   86,  449,  460,  461,  465,  464,
1813       467,  462, 3806, 3806, 3806,  466,   86,  475,  456,  483,
1814       492,  458,  459,  474,   86,   86,   86,  476,  463, 3806,
1815 
1816      3806,  484,   86,  460,  461,   86,  464,  467,  462,   86,
1817        86,   86,  466,   86,  475,   86,  483,   86,  485,   86,
1818       474,  486,  487,  491,  476,  463,  468,  488,  484,  469,
1819       495,  496,  489,   86,  470,  471,  472,  473, 3806,  512,
1820      3806, 3806,   86,   86,   86,  485,   86,   86,  486,  487,
1821       491, 3806,  519,  468, 3806, 3806,  469,  495,  496,   86,
1822       499,  470,  471,  472,  473,  477,  493,  478,  500,  494,
1823       501,   86,  497,  498, 3806,  503,   86,  504,   86,  479,
1824       480,  481,   86,  482,   86, 3806,   86,  499,  526,   86,
1825       502,  510,  477,  493,  478,  500,  494,   86,   86,  497,
1826 
1827       498,   86,  503,   86,  504,  507,  479,  480,  481,  505,
1828       482,   86,   86,  506,  508,  509,  511,  502,  510,  513,
1829        86,  514,  518,   86,  517,   86,  533,   86,   86,   86,
1830       515,   86,  507,  520, 3806,  532,  505,  516,  531,  534,
1831       506,  508,  509,  511,   86,   86,  513,  521,  514,  518,
1832       525,  517,  523,  522,  524,   86,   86,  515,   86,  576,
1833       520,   86,  532,   86,  516,  531,   86, 3806,  535,   86,
1834       527,  548,  591,  551,  521,  549,   86,  525,   86,  523,
1835       522,  524,  579,  528,  552,   86,  529, 3806,  530,   86,
1836        86,   86,  553,  550,   86,  535,   86,  527,  548,   86,
1837 
1838       551, 3806,  549, 3806,   86,   86, 3806,  554,  556,  579,
1839       528,  552,  566,  529,  565,  530,  536,  567,  537,  553,
1840       550,   86,  568,  555,  538,  569,   86,  645,  539,  572,
1841        86,   86,  570,  540,  554,  556,  541,   86,  571,  566,
1842       575,  565,   86,  536,  171,  537,   86, 3806,   86,   86,
1843       555,  538,  569,  574,   86,  539,  572, 3806,  573,  570,
1844       540,  578,   86,  541,  542,  571,  543,  575,  577, 3806,
1845        86,   86,  581,  671,  580,  588,  583,   86,   86,  544,
1846       574,  582,  545, 1010,  546,  573,  547,   86,  578,  585,
1847        86,  542,  586,  543,  584,  577,   86,   86,   86,   86,
1848 
1849       671,  580,  588,  583,   86,  587,  544,  589,  582,  545,
1850       590,  546,   86,  547,  557,  558,  585,   86,  592,  586,
1851       594,  584,   86,  593,  559,  560,  561,  562,  563,   86,
1852        86,  564,  587,  595,  589,   86,  596,  590,  597,   86,
1853        86,  557,  558, 3806,   86,  592,   86,  594,  598,  599,
1854       593,  559,  560,  561,  562,  563,  600,  601,  564,   86,
1855       595,  604,  602,  603,  608,  597,  605,  606,   86,   86,
1856        86,   86,   86,  607,  612,  598,  599,   86,  609,  610,
1857        86, 3806,  615, 3806,  613,   86,   86,  616,  604,  602,
1858       603,  608,  617,  605,  606,   86,  611,   86,   86,  614,
1859 
1860       607,  612,  618,   86,   86,  609,  610,   86,   86,  615,
1861       633,  613,  619,   86,  616,  620,  631,  632,  634,  617,
1862       644,   86,  635,  611,  621,  622,  614,  636,   86,  618,
1863       639,  640,   86,  638,   86,   86,  623,  633,  624,  619,
1864        86,   86,  620,   86,  632,  634,  641,  644,   86,  635,
1865       637,  621,  622,   86,   86,   86,   86,  639,  640,   86,
1866       638, 3806,  642,  623,  643,  624,  625,  647,   86,   86,
1867       646,  649,  648,  641,  626,  627, 3806,  637,  628,  629,
1868      3806,   86,  630,  651,  650, 3806, 3806, 3806,   86,  642,
1869        86,  643,   86,  625,  647,   86,  653,  646,   86,  648,
1870 
1871       654,  626,  627,   86,  655,  628,  629,   86,  652,  630,
1872       651,  650,  656,  657,   86,  663,  659,  658,   86,  660,
1873       662,  661,   86,  653,   86,   86,   86,  654,   86,  664,
1874        86,  655,  665, 3806,   86,  652,  667,   86,  666,  656,
1875       657,  670,  663,  659,  658,   86,  660,  662,  661,  668,
1876       672,   86,  669,   86,  673,   86,  664, 3806,   86,  665,
1877       674, 3806,   86,  667,  675,  666,   86,   86,  670,  676,
1878       677,   86,  678,  679,  681,   86,  668,  680,   86,  669,
1879        86,  673,   86,   86,   86,  686,  688,  674,   86,   86,
1880       690,  675,  689,  684,  687,   86,  676,  677,  692,  678,
1881 
1882       679,  681,   86,  682,  680,  683,  685,   86,  699,  691,
1883        86,   86,   86,   86,  695, 3806,  696,   86,   86,  689,
1884       684,  687,   86,  693,  701,  692,  694,  697,  698,   86,
1885       682,   86,  683,  685,  702, 3806,  691,  700,   86,   86,
1886        86,  695,   86,  696,   86,  704,   86,  705,   86,  710,
1887       693,  701,  708,  694,  697,  698,  706,  703,   86,  707,
1888       709,   86,  713,  712,  700,   86,   86,  715,  711,   86,
1889        86,   86,  704,   86,  705,   86,  710, 3806,  727,  708,
1890        86,   86,  764,  706,  703,   86,  707,  709,  714,  713,
1891       712,  724,  726,  725,  715,  711,   86, 3806,   86,   86,
1892 
1893       728,   86, 3806,  729,   86,  727,  730, 3806,   86,  731,
1894      3806,  748,  734,   86,   86,  714,  716,   86,  724,  726,
1895       725,  717,  732,  718,   86,   86,  733,  728, 3806,  719,
1896       729,  720,   86,  730,  721,  722,  731,  735,  748,  734,
1897       743,  723,   86,  716,   86,  744, 3806,  739,  717,  732,
1898       718,   86,  737,  733,  742,  738,  719,  736,  720,   86,
1899       740,  721,  722,   86,  735,   86,   86,  743,  723,   86,
1900       741,  745,  744,  746,  739,   86,  747, 3806,  749,  737,
1901        86,  742,  738,  750,  736,  753,  751,  752,  754,  755,
1902       757, 3806,   86,  769,   86,   86,   86,  741,  745,   86,
1903 
1904       746,   86,   86,  747,   86,  749,  756,  759,   86,  760,
1905       750,   86,  753,  751,  752,  754,  755,  757,  758,   86,
1906       761,  762,  765,  763,  767,   86,   86,  766,   86,  768,
1907        86,  770,   86,  756,  759,  774,  760,   86,   86,   86,
1908       772,  773,   86,   86,   86,  758,  171,  761,  762,  765,
1909       763,  767,  771,  776,  766,   86,  768,  777,  770,  778,
1910        86,   86,  774,   86,  780,  783,  775,  772,  773,   86,
1911       779,  781,   86,  782,  784,  791,  792,  786,  785,  771,
1912       776,  793,  787,  798,   86,   86,   86,   86,   86,   86,
1913        86,   86,  783,  775,  795,  796,   86,  779,  801,   86,
1914 
1915       782,  784,  791,   86,  786,  785,   86,  788,   86,  787,
1916       794,  799,  800,  802,  789,   86,  806,  790,  803,  804,
1917       805,   86,   86,  810,   86,   86,   86,  807,   86,  811,
1918        86,   86,  809,  808,  788,  812,  816,  794,   86,   86,
1919        86,  789,   86,  806,  790,   86,  804,  805,  813,  815,
1920       810,   86,   86,   86,  807,   86,  811,   86,  814,  809,
1921       808,  818,  812,  817,  819,  820,   86,  821,   86,  822,
1922        86,  823,   86,   86,  826,  813,  815, 3806,  825,  829,
1923        86,  830,   86,   86,   86,  814,  827,   86,  818, 3806,
1924       817,  819,  820,  824,  821,   86,  822,   86,  823,   86,
1925 
1926        86,  826,  828,   86,  831,  825,  837, 3806,  830,   86,
1927       832,   86,  836,  827,  838,  833,  839,   86,  834,  835,
1928       824,   86,  840,   86,  843,  841,  844,   86, 3806,  828,
1929       846,  831,   86,  837,   86,  842,   86,  832,  845,  836,
1930       850,  838,  833,  839,   86,  834,  835,   86,   86,  840,
1931       847,  843,  841,  849,   86,  852,   86,  846,   86,  851,
1932       853,  857,  842,  854,   86,  845,   86,  850,   86,   86,
1933       855,  856,  848,   86,  858,   86,  859,  847,  863,  867,
1934       849,   86,  852,   86,   86,  861,  851,  853,  857,  862,
1935       854,   86,  860,   86,   86,   86,  865,  855,  856,  848,
1936 
1937        86,   86,  864,  859,  868,  863,  866,   86,  869,  870,
1938       871,   86,  861,   86,   86,  872,  862,  873,  874,  860,
1939       880,   86, 3806,  865,  876,   86,   86,  875,  878,  864,
1940       877,  868,   86,  866,  881,  869,   86,   86,   86,  879,
1941        86,   86,  872,   86,  873,  874,  882,   86,  883,  885,
1942        86,  876,   86,  886,  875,  878,   86,  877,  884,  889,
1943        86,  881,  887,  890,   86,  895,  879,  888, 3806, 3806,
1944      3806,   86,   86,   86,  891,  883,  885,   86,   86,  896,
1945       886,  892,  897,  898,  899,  884,  889,   86,  893,  894,
1946       890,   86,  900,  901,   86,  905,   86,   86,  909,  903,
1947 
1948        86,  891,  902,  910, 3806,   86,  896,  911,  892,  897,
1949       898,  899, 3806,   86,  904,  893,  894,  906,   86,  900,
1950       901,  907,   86,   86,  913,  915,  903,   86,  914,  902,
1951        86,  908,   86,   86,  911,  912,   86,   86,  917,  916,
1952       922,  904, 3806,   86,  906,   86,  923,   86,  907,   86,
1953        86,  913,  915,  920,  918,  914,  924,  921,  908,  919,
1954       932,   86,  912,   86,   86,  917,  916,  925,   86,   86,
1955       926, 3806,   86,  923,   86,  934,  927, 3806,  931,   86,
1956       920,  918,   86,  924,  921,   86,  919,  928,   86,  929,
1957        86,  935,   86,  933,  925,   86,  936,  926,  930,  939,
1958 
1959        86,  937,  934,  927,   86,  931,   86,   86, 3806,  938,
1960       940, 3806,  971,   86,  928,  942,  929,   86,  935,   86,
1961       933,  941,   86,  936,   86,  930,  939,  945,  937,  943,
1962       944,  946,   86,  947,  948,   86,  938,  940,   86,   86,
1963       949,  950,  942,  952,   86,  957,  951,   86,  941,  953,
1964       954,   86,  955,   86,  945,   86,  943,  944,  946,   86,
1965       947,  948,  959,   86,   86,   86,   86,  949,  950,  956,
1966       952,  958,  957,  951,   86,  960,  953,  954,  963,  955,
1967        86,  961,   86,  962,  964,   86,   86,  966, 3806,  959,
1968       965,  967, 3806,  972,  969, 3806,  956,   86,  958,   86,
1969 
1970        86,   86,  960,  968,  970,  963,   86,   86,  961,   86,
1971       962,  964,   86,  973,  966,  171,   86,  965,  967,   86,
1972       972,  969,  974,  975,  976,  989,  977,  981,  978,  980,
1973       968,  970, 3806,  979, 3806,   86,   86,   86,   86,  982,
1974       973,  986,   86,  984,  987,   86,   86,  983,  985,  974,
1975       975,  976,   86,  977,   86,  978,  980,   86,  992,  988,
1976       979,  990,   86,   86,  993,   86,  982,   86,  986,   86,
1977       991,  987,  996,  995,  983,   86,  994,   86,   86,   86,
1978       997,   86,   86,  999, 1009,  992,  988, 1001,  990,  998,
1979      3806,  993,   86, 1000,   86,   86,   86,  991, 1011,   86,
1980 
1981       995, 3806, 1058,  994,   86, 1012, 1013,  997,   86,   86,
1982       999, 1009, 3806, 1014, 1001, 1015,  998, 1016,   86, 3806,
1983      1000, 1002, 1018,   86, 1003, 1011, 1017,   86, 1004,   86,
1984      1019, 1005, 1012, 1013, 1020,   86,   86,   86, 1006, 1007,
1985      1014, 1008, 1015, 1021, 1016,   86,   86, 1025, 1002, 1018,
1986      1035, 1003, 3806, 1017, 1022, 1004,   86, 1019, 1005,   86,
1987        86, 1020, 1023,   86, 1024, 1006, 1007, 1034, 1008, 1073,
1988      1021,   86,   86, 1037,   86,   86, 1079, 1035, 1036,   86,
1989      1039, 1022,   86,   86,   86, 3806, 3806, 3806, 1038, 1023,
1990      1040, 1024, 1026, 1027, 1034, 1028, 1043, 3806, 1029, 1042,
1991 
1992      1037,   86, 1044, 1030,   86, 1036, 1041, 1039,   86, 1031,
1993      1032,   86, 1033,   86, 1047, 1038, 1045, 1040,   86, 1026,
1994      1027,   86, 1028, 1043,   86, 1029, 1042, 1050,   86, 1044,
1995      1030, 1051, 1046, 1041,   86, 1048, 1031, 1032,   86, 1033,
1996      1049, 1047, 1053, 1045, 1052, 3806, 1054,   86, 1055, 3806,
1997      1056, 1059, 3806, 1060, 1050, 3806,   86,   86, 1051, 1046,
1998      1057, 1062, 3806, 1083,   86, 3806, 1065,   86,   86, 1053,
1999        86, 1052,   86, 1054,   86, 1055,   86, 1056, 1059, 1063,
2000      1060, 1061,   86, 1064,   86,   86,   86, 1057, 1062,   86,
2001      1066,   86, 1067, 1065, 1068,   86, 1069, 1071, 1072, 1075,
2002 
2003      1070, 3806, 1085,   86,   86, 3806, 1063,   86, 1061,   86,
2004      1064, 1074,   86, 1076, 1078, 1084,   86, 1066, 1077, 1067,
2005      1080, 1068,   86, 1069, 1071, 1072,   86, 1070, 1082,   86,
2006      1086, 1081, 1087,   86,   86,   86,   86,   86, 1074,   86,
2007      1089, 1078, 1084, 1088, 1090,   86, 1092, 1080, 1096, 3806,
2008      1094, 1091, 1093,   86,   86, 1082, 1104, 1086, 1081, 1087,
2009        86,   86,   86, 1095, 1100,   86, 1102,   86,   86, 1098,
2010      1088,   86,   86, 1092, 1097, 1096, 1099, 1094, 1091, 1093,
2011        86, 1101, 1103,   86,   86,   86,   86, 1106,   86, 1105,
2012      1095,   86, 1107, 1102, 1108,   86, 1098, 1109,   86,   86,
2013 
2014        86, 1097, 1112, 1099, 1111, 1110, 1113, 3806, 1101,   86,
2015        86, 3806,   86, 1114, 1106, 1115, 1105,   86, 1117, 1107,
2016        86, 1108, 1122, 1116, 1109,   86,   86, 1118,   86, 1112,
2017        86, 1111, 1110, 1113, 1119,   86,   86, 3806, 1121, 1120,
2018      1114,   86, 1115, 1123, 1124, 1117, 1125, 1130,   86, 1122,
2019      1116,   86,   86, 1126, 1118,   86,   86, 3806, 1127, 1131,
2020      1128, 1133, 3806, 1132,   86, 1121,   86,   86, 1129,   86,
2021      1123, 1124,   86, 1125, 1130, 1134, 1135, 3806, 1145, 1140,
2022      1126,   86, 1136,   86,   86, 1127,   86, 1128, 1133,   86,
2023      1132, 1138, 1137, 1139, 1142, 1129,   86,   86,   86,   86,
2024 
2025        86, 1141, 1134, 1135, 1143,   86, 1140, 1144, 1146, 1136,
2026        86, 1148, 1147,   86, 1152,   86, 1149,   86, 1138, 1137,
2027      1139, 1142,   86, 1150,   86, 1151,   86,   86, 1141, 1153,
2028      1155, 1143, 1154,   86, 1144, 1146,   86, 1156, 1148, 1147,
2029      1157, 1152,   86, 1149, 1158,   86,   86,   86, 1159, 1160,
2030      1150, 1161, 1151, 1163,   86,   86, 1153,   86,   86, 1154,
2031      1162,   86,   86, 1164, 1156,   86, 1165, 1157,   86, 1166,
2032        86, 1158, 1167,   86, 3806, 1159, 1160, 1169, 1161, 1168,
2033      1163, 1170, 1172, 1173, 1171, 3806, 3806, 1162, 1181, 1174,
2034      1164,   86,   86, 1165,   86, 1175, 1178, 3806, 1180, 1179,
2035 
2036      1182,   86, 1176,   86,   86,   86, 1168, 1183, 1170,   86,
2037      1177, 1171,   86, 1185,   86,   86, 1174,   86,   86, 1184,
2038        86, 1186, 1175, 1178,   86, 1180, 1179,   86,   86, 1176,
2039      1188,   86,   86, 1190, 1183, 1187, 1189, 1177, 1194, 1196,
2040      1185, 1191,   86, 1195, 1197,   86, 1184, 1198, 3806, 3806,
2041      3806,   86, 3806,   86, 1192,   86, 1193,   86, 1202, 1199,
2042      1190, 1247, 1187, 1189,   86,   86, 1196,   86, 1191, 1200,
2043       171, 1197, 1201,   86, 1198, 1204,   86, 1205,   86, 1203,
2044        86, 1192, 1206, 1193,   86, 1202, 1199,   86, 1209, 1207,
2045        86, 1208, 3806,   86,   86,   86, 1200, 1218,   86, 1201,
2046 
2047      3806, 1216, 1204,   86, 1205, 3806, 1203, 1217, 1220, 1206,
2048      3806, 1221, 3806,   86, 1219, 1209, 1207, 1224, 1208, 1210,
2049        86, 1211, 3806,   86, 1218, 1212,   86, 1213, 1216,   86,
2050      1222, 1223, 1214,   86, 1217,   86, 1225, 1215, 1221, 1226,
2051      1228, 1219, 1227,   86, 1224, 1229, 1210, 1230, 1211,   86,
2052      1234, 1240, 1212,   86, 1213,   86, 1232, 1222, 1223, 1214,
2053      1231,   86,   86, 1225, 1215,   86, 1226, 1237, 1233, 1227,
2054      1235, 1238,   86,   86, 1230, 1239, 1242, 1234,   86,   86,
2055      1236, 1243,   86, 1232, 1241, 1245, 3806, 1231,   86,   86,
2056        86, 1244,   86,   86, 1237, 1233, 1248, 1235, 1238,   86,
2057 
2058      1246, 1251, 1239, 1242, 1249, 1252,   86, 1236, 1243, 1253,
2059        86, 1241, 1245,   86, 1254, 3806, 1263,   86, 1244, 1262,
2060      3806, 3806,   86,   86, 1264, 1265, 1267, 1246,   86, 3806,
2061      1266,   86, 1252,   86,   86, 1268, 1253,   86,   86, 1270,
2062        86, 1254, 1255, 1263, 3806, 1269, 1262, 1256,   86, 1257,
2063        86, 1264, 1265, 1267,   86, 1258,   86, 1266,   86, 1274,
2064      1259, 1260, 1268, 1272, 1271, 1273, 1270, 1261,   86, 1255,
2065        86,   86, 1269,   86, 1256, 1275, 1257,   86, 1276, 3806,
2066      3806, 1277, 1258, 1285, 1278, 1282, 1274, 1259, 1260, 1280,
2067      1272, 1271, 1273,   86, 1261, 1279,   86, 1283,   86, 1286,
2068 
2069        86, 1281, 1284, 1288, 1289, 1276,   86,   86, 1277,   86,
2070        86, 1278,   86, 1287, 1290,   86, 1280, 1291,   86, 3806,
2071        86,   86, 1279,   86, 1283,   86, 1286, 1292, 1281, 1284,
2072      1288, 1289, 1293, 1294, 1295,   86, 1296, 1297, 3806,   86,
2073      1287, 3806, 1300, 1299, 1291,   86,   86, 3806, 1298,   86,
2074        86,   86, 1306, 1301, 1292,   86,   86, 1303, 1304, 1293,
2075      1294, 1295, 3806, 1305, 1297,   86,   86, 1302,   86, 1300,
2076      1299, 1308,   86,   86,   86, 1298,   86, 1307, 1309, 1306,
2077      1301,   86, 1310, 3806, 1303, 1304, 1311,   86, 1313,   86,
2078      1305, 1315, 1314,   86, 1302,   86, 1312, 3806,   86,   86,
2079 
2080      1318, 1316, 1317,   86, 1307, 1309, 1324, 1323, 1319, 1310,
2081        86,   86,   86, 1311,   86, 1313, 1320, 1321, 1315, 1322,
2082      1325, 1326, 1327, 1312,   86,   86, 3806, 1318, 1316, 1317,
2083        86, 1329,   86, 1324, 1323, 1319, 1328, 1331,   86,   86,
2084        86,   86, 1332, 1320, 1321,   86, 1322, 1335,   86, 1327,
2085      1330, 1336,   86,   86, 1333, 1337, 1340, 1334, 1329,   86,
2086      1338,   86, 1339, 1328, 1344, 1345, 3806,   86,   86,   86,
2087      1341, 1342,   86,   86, 1335,   86,   86, 1330, 1336,   86,
2088        86, 1333, 1337, 1340, 1334,   86, 1346, 1338, 1343, 1339,
2089      1347, 3806, 1345, 1349, 1348, 1351,   86, 1341, 1342, 1350,
2090 
2091        86, 1352,   86, 3806, 3806, 1353,   86,   86, 1354, 1357,
2092      1364, 1356, 1355, 1360, 3806, 1343,   86, 1347,   86,   86,
2093      1349, 1348, 1351,   86, 1358,   86, 1350,   86, 1352,   86,
2094        86,   86, 1353, 1359,   86, 1354, 1357, 1362, 1356, 1355,
2095      1360, 1361,   86, 1363, 1365, 1366,   86, 1367,   86,   86,
2096      3806, 1358,   86, 1368, 3806, 1369,   86, 1370,   86, 1371,
2097      1359, 1373, 1372,   86, 1362, 1374,   86,   86, 1361,   86,
2098      1363,   86, 1366, 1375, 1367, 1376, 1377,   86, 1380,   86,
2099      1368,   86, 1369, 1382, 1370,   86, 1371, 1378, 1373, 1372,
2100      1379, 1381, 1374, 1384, 1383, 1386, 1385, 1387, 1388, 3806,
2101 
2102      3806, 3806,   86,   86, 1389,   86, 1391,   86,   86,   86,
2103        86, 1390,   86,   86, 1378,   86,   86, 1379, 1381,   86,
2104      1384, 1383,   86, 1385, 1387,   86, 1392,   86,   86,   86,
2105      1394, 1389, 1393, 1391, 1395,   86, 1396, 3806, 1390, 1398,
2106        86, 1399, 1397, 1400, 1401, 1402, 1405, 1407,   86, 3806,
2107      3806,   86,   86, 1392,   86, 1403,   86, 1394,   86, 1393,
2108        86, 1395, 1404, 1396,   86, 1408, 1398,   86, 1399, 1397,
2109      1400, 1406, 1409,   86, 1407, 1412,   86,   86, 1411,   86,
2110        86,   86, 1403, 1413,   86, 1416, 1414,   86,   86, 1404,
2111      1417,   86, 1408,   86, 1418, 1415, 1419, 1420, 1406, 1409,
2112 
2113      1423, 1421, 1412,   86,  171, 1411, 1427, 1422, 1424,   86,
2114      1413, 1425,   86, 1414,   86,   86,   86, 1417,   86,   86,
2115      1426, 1418, 1415, 1419, 1420, 1429, 1430, 1423, 1421,   86,
2116        86, 3806,   86,   86, 1422, 1424, 1428, 1431, 1425, 1432,
2117      1433, 3806, 3806,   86, 1434, 3806, 1435, 1426, 1436,   86,
2118        86, 1440, 1437, 1441, 1438, 1445, 3806,   86,   86,   86,
2119      1439,   86,   86, 1428, 1431,   86, 1432, 1433,   86,   86,
2120      1442, 1434,   86, 1435, 1443, 1436,   86,   86, 1440, 1437,
2121      1441, 1438,   86, 1444, 1447, 1446,   86, 1439, 1449, 1451,
2122        86,   86, 1450, 1448, 1459, 1452,   86, 1442,   86, 3806,
2123 
2124        86, 1443,   86, 1456, 1453, 1458, 1454,   86, 1457, 1455,
2125      1444, 1447, 1446,   86, 3806, 1449, 1451,   86, 1460, 1450,
2126      1448,   86, 1452, 1462, 1461, 1469,   86,   86, 1465, 1468,
2127      1456, 1453, 1458, 1454,   86, 1457, 1455,   86,   86, 1466,
2128      1463, 1467, 1470, 1464,   86, 1460,   86,   86,   86,   86,
2129      1462, 1461,   86, 1474, 1473, 1465, 1468,   86, 1471, 1472,
2130      1475,   86,   86, 3806,   86, 1479, 1466, 1463, 1467, 1470,
2131      1464,   86, 1476, 1478, 3806,   86, 1477, 1481, 1480, 1482,
2132        86, 1473,   86,   86, 1484, 1471, 1472, 1475,   86,   86,
2133      1483,   86, 1479, 1485,   86,   86,   86, 1486,   86, 1476,
2134 
2135      1478, 1487, 1489, 1477, 1481, 1480, 1482, 1488,   86,   86,
2136        86, 1484, 1490, 1493, 1491, 1492, 1494, 1483,   86, 1495,
2137      1485,   86,   86,   86, 1486,   86, 1496, 1498, 1487, 1489,
2138      1497, 1505,   86,   86, 1488, 1499,   86,   86, 1500, 1490,
2139      1493, 1491, 1492, 1494, 1501,   86,   86,   86, 1502, 1504,
2140      1503,   86,   86, 1496, 1498, 1509,   86, 1497, 1507,   86,
2141      1506,   86, 1499,   86, 1510, 1500, 1508,   86,   86, 1512,
2142      1513, 1501, 1511, 1514, 1530, 1502, 1504, 1503,   86,   86,
2143        86, 1515, 1509,   86, 1520, 1518, 1516, 1506,   86, 1519,
2144        86, 1510,   86, 1508, 1517, 1534, 1512, 1513,   86, 1511,
2145 
2146      1514, 1528,   86,   86, 3806, 1529,   86, 3806, 3806, 1531,
2147        86, 1520, 1518,   86, 3806,   86, 1519, 3806, 3806, 1532,
2148      1533, 1517, 1521,   86, 1537, 1538, 1522,   86, 1528, 1523,
2149      1524,   86, 1529, 1535, 1525,   86, 1531, 1536,   86, 1539,
2150      1526,   86, 1544, 1545, 1527, 1543, 1532, 1533,   86, 1521,
2151        86, 1537, 1538, 1522,   86,   86, 1523, 1524, 1546,   86,
2152      1535, 1525, 1542, 1547, 1536,   86, 1539, 1526, 1540,   86,
2153      1541, 1527, 1543, 1548,   86,   86, 1549, 1551, 1550, 1552,
2154        86,   86,   86, 1554, 3806, 1546,   86, 1553, 3806, 1542,
2155      1547,   86,   86, 1557, 1555, 1540, 1556, 1541,   86, 1564,
2156 
2157      1548, 1565, 3806, 1549, 1551, 1550, 3806,   86,   86, 1568,
2158      1563,   86,   86, 1597, 1553,   86,   86, 1566, 1567,   86,
2159      1557, 1555, 1569, 1556, 1558,   86, 1564,   86, 1565, 1559,
2160      1572, 1560,   86, 1561, 1571, 1562, 1568, 1563, 1570,   86,
2161        86,   86,   86, 3806, 3806,   86,   86, 1574, 1573, 1569,
2162        86, 1558, 1575, 1576, 1577, 1579, 1559, 1572, 1560, 1578,
2163      1561, 1571, 1562, 1580,   86, 1570,   86, 1581, 1585, 1586,
2164      1582,   86,   86, 3806, 1584, 1573,   86,   86,   86,   86,
2165      1576, 1577, 1579, 1583, 1587,   86, 1578,   86, 1588, 1589,
2166      1580,   86, 1590, 1591, 1581,   86, 1586, 1582, 1593,   86,
2167 
2168        86, 1584,   86, 1592, 1594, 1596,   86,   86, 1599, 1602,
2169      1583, 1587, 1600,   86,   86, 1588, 1589, 1598,   86, 1590,
2170      1591,   86, 1595, 1601,   86, 1593, 1606,   86, 1608,   86,
2171      1592, 1594, 1596,   86,   86,   86, 1602, 1603, 1604, 1600,
2172      1605, 3806, 1609, 1614, 1598, 1607,   86, 3806,   86, 1595,
2173      1601, 1610,   86,   86, 1611,   86, 1612, 1613,   86,   86,
2174        86, 1616,   86,   86, 1603, 1604, 1617, 1605,   86, 1609,
2175        86,   86, 1607,   86, 1620, 1615, 1619, 1621, 1610, 1618,
2176      1622, 1611,   86, 1612, 1613, 1623,   86, 1624, 1616, 3806,
2177        86, 1625, 3806, 1617,   86,   86,   86, 1627, 1629, 1626,
2178 
2179      3806, 1620, 1615,   86, 1621,   86, 1618, 1622,   86, 1628,
2180      1630,   86, 1623,   86, 1624, 1632, 1631, 3806, 1625,   86,
2181        86, 1634,   86, 1633, 1627, 1629, 1626, 1635, 1640,   86,
2182      1637, 1636, 1638, 1641, 1642, 1644, 1628, 1630,   86,   86,
2183        86, 1639, 1632, 1631, 1643,   86, 1645,   86, 1634,   86,
2184      1633,   86,   86, 1647, 1635,   86,   86, 1637, 1636, 1638,
2185        86, 1642, 1646, 1648,   86,   86,   86,   86, 1639,   86,
2186        86, 1643, 1649, 1645, 1650, 1651, 1652, 1655, 1654,   86,
2187      1647,   86, 1653, 1656,   86,   86, 1657, 1658, 1660, 1646,
2188        86, 1664, 3806,   86,  171, 1659,   86, 3806, 1668, 1649,
2189 
2190      1661, 1650, 1651, 1652, 1655, 1654, 1662,   86,   86, 1653,
2191      1663,   86, 1665,   86, 1658,   86, 1666,   86,   86,   86,
2192        86, 1667, 1659,   86, 1669, 1668, 1675, 1661, 1670, 1672,
2193      1671,   86,   86, 1662,   86,   86, 1673, 1663,   86, 1665,
2194      1674, 1676, 1677, 1666, 1678,   86, 1679, 1684, 1667,   86,
2195        86, 1669,   86,   86, 1683, 1670, 1672, 1671,   86,   86,
2196      1680, 1682, 1685, 1673,   86, 1681,   86, 1674, 1676, 1677,
2197        86, 1678,   86, 1679, 1684,   86, 1691, 1689, 1686, 1687,
2198      1690, 1683, 1688, 1692, 1693, 1694, 1696, 3806, 1682, 1685,
2199        86,   86,   86, 1695,   86, 1697, 3806,   86, 3806,   86,
2200 
2201      1698, 1702,   86, 1691, 1689, 1686, 1687, 1690,   86, 1688,
2202      1692, 1693, 1701, 1696, 1699, 1703,   86,   86, 1700,   86,
2203      1695,   86,   86,   86, 1704, 1705, 1706,   86, 1702, 1708,
2204      1709, 1710, 1707,   86,   86, 1711,   86,   86, 1712, 1701,
2205        86, 1699, 1703,   86,   86, 1700,   86, 1713, 1716, 3806,
2206      3806, 1704, 1705, 1706,   86, 1715, 1708, 1709, 1710, 1707,
2207      1714, 1717, 1711,   86,   86, 1712, 1718, 1719, 1720,   86,
2208        86, 1721, 1722, 3806, 1713,   86,   86,   86, 1723, 1724,
2209        86,   86, 1715,   86,   86, 1726,   86, 1714, 1717, 1725,
2210      1728, 1727, 1730, 1718, 1719, 1720, 1729, 1733, 1721, 1722,
2211 
2212        86,   86,   86,   86, 1731, 1723, 1724,   86, 1732,   86,
2213        86, 1735, 1726, 1736, 1734,   86, 1725, 1728, 1727, 1730,
2214        86,   86, 1737, 1729, 1733, 1739, 1738, 3806, 1740, 1741,
2215        86, 1731, 1742, 1745, 1743, 1732, 1744,   86, 1735,   86,
2216        86, 1734, 1746,   86, 1747,   86, 1748, 3806, 1752, 3806,
2217        86,   86, 1739, 1738,   86,   86, 1741, 1753,   86, 1742,
2218      1749, 1743, 1755, 1744, 1754,   86, 1758, 3806, 1756, 3806,
2219      1760,   86,   86, 1748,   86,   86,   86, 1757,   86, 1750,
2220        86, 1751,   86,   86, 1753, 1759,   86, 1749, 1762, 1755,
2221        86, 1754, 1761, 1758, 1763, 1756,   86, 1760, 1764,   86,
2222 
2223      1771, 1765, 1774, 1770, 1757,   86, 1750,   86, 1751,   86,
2224        86,   86, 1759, 1766, 1775, 1762,   86, 1768, 1767, 1761,
2225        86, 1763, 1769, 1772, 1773, 1764,   86, 1771, 1765, 1774,
2226      1770,   86,   86, 1777, 1776, 1778,   86, 1779, 3806, 1781,
2227        86, 1775,   86, 1780,   86,   86, 1782, 1783,   86,   86,
2228      1772, 1773, 1785,   86, 1784,   86, 1786, 1788, 1787,   86,
2229      1777, 1776, 1778, 1789,   86,   86, 1781, 1791, 1790,   86,
2230      1780,   86, 1792, 1782, 1783,   86, 1796, 1799, 1795,   86,
2231        86, 1784,   86, 1786,   86, 1787,   86, 1798, 1793,   86,
2232      1789,   86, 1794, 1802, 1791, 1790,   86, 1797, 1800, 1792,
2233 
2234        86,   86, 1801, 1796, 1799, 1795,   86, 1803,   86,   86,
2235        86, 1804, 3806,   86, 1798, 1793, 1807, 1805, 1806, 1794,
2236      1802, 1808, 1809, 1810, 1797, 1800, 1814, 1815, 1822, 1801,
2237        86, 3806, 3806,   86,   86,   86, 1816,   86,   86,   86,
2238        86,   86, 1811, 1807, 1805, 1806, 1812, 1820, 1808, 1809,
2239      1810,   86, 1817, 1814, 1815, 1818, 1821, 1819,   86, 1813,
2240        86, 1824,   86, 1816,   86, 1823, 1825,   86,   86, 1811,
2241      1827, 3806, 1826, 1812,   86,   86, 3806,   86,   86, 1817,
2242      1828, 1830, 1818, 1821, 1819, 1833, 1813, 1831, 1824, 1829,
2243        86, 1834, 1823,   86,   86, 1832,   86, 1827,   86, 1826,
2244 
2245      1835, 1836,   86,   86, 1837,   86, 3806, 1828, 1830,   86,
2246        86, 1839, 1838, 1840, 1831, 1842, 1829,   86,   86, 1841,
2247      1843, 1844, 1832, 1851, 1845, 1846,   86, 1835, 3806, 1847,
2248      1848, 1837, 1853,   86,   86,   86,   86,   86, 1839, 1838,
2249        86,   86,   86, 1849,   86,   86, 1841, 1843,   86,   86,
2250      1851, 1845, 1846, 1850,   86, 1852, 1847, 1848,   86, 1853,
2251        86, 1854,   86, 1855, 1856, 1857, 1858, 1859, 1860,   86,
2252      1849, 1861,   86,   86, 1862, 1864, 3806,   86, 1865,   86,
2253      1850, 1866, 1852,   86, 1863,   86, 1871,   86, 1854,   86,
2254      1855, 1856, 1857, 1858,   86, 1860,   86, 1867, 1861,   86,
2255 
2256      1868, 1862, 1864, 1869, 1870, 1865, 1872,   86, 1866,   86,
2257        86, 1863, 1873,   86, 1874, 1875,   86, 3806, 1876,   86,
2258        86, 1877, 1880, 1878, 1867,   86,   86, 1868, 1879,   86,
2259      1869, 1870, 1881, 1872, 1882, 1884,   86,   86, 1883, 1873,
2260        86, 1874, 1875, 1885,   86, 1876,   86, 1886, 1877, 1880,
2261      1878, 1887,   86, 1890,  171, 1879,   86,   86,   86,   86,
2262      1893, 1882, 1884, 1892,   86, 1883,   86, 1888, 1889, 1891,
2263      1885,   86, 1895, 1898, 1886,   86, 1894, 1896, 1887,   86,
2264      1890,   86, 1901, 1897,   86, 1900,   86, 1893, 1899,   86,
2265      1892,   86, 1902, 1904, 1888, 1889, 1891, 1906,   86, 1895,
2266 
2267        86, 1903, 3806, 1894, 1896, 1907,   86,   86, 1908, 1901,
2268      1897, 1905, 1900, 1909, 1910, 1899, 1911,   86,   86, 1902,
2269      3806,   86,   86,   86,   86,   86, 1912,   86, 1903,   86,
2270      1913, 1914, 1907, 1915,   86, 1908, 1916, 1917, 1905, 1918,
2271        86, 1910, 1919, 1911, 1920, 1928, 1921,   86,   86, 3806,
2272        86, 3806,   86, 1912,   86, 1923, 1922, 1913, 1914,   86,
2273      1915, 1932,   86, 1916, 1917,   86, 1918, 1924,   86, 1919,
2274        86, 1920,   86, 1921,   86, 1925, 1929,   86, 1926,   86,
2275      1930, 1936, 1923, 1922, 1933, 1934, 1935,   86, 1932, 1937,
2276      1927, 3806,   86, 1938, 1924, 1939, 1931, 1940,   86,   86,
2277 
2278      1943, 1950, 1925, 1929,   86, 1926,   86, 1930,   86, 1941,
2279        86, 1933, 1934, 1935, 1942, 1944, 1937, 1927, 1947,   86,
2280      1945, 1946, 1948, 1931, 1940,   86,   86,   86, 1949,   86,
2281        86, 1951,   86,   86,   86,   86, 1941,   86, 1952, 1953,
2282        86, 1942, 1944, 1954, 1957, 1947, 1955, 1945, 1946, 1948,
2283        86, 3806,   86, 1959, 1956, 1949, 1958, 1960, 1963, 1962,
2284      1961,   86,   86,   86,   86,   86, 1953,   86, 1970, 1964,
2285        86,   86,   86, 1955, 3806,   86,   86, 1965,   86, 1966,
2286      1959, 1956,   86, 1958, 1960, 1963, 1962, 1961, 1967, 1968,
2287        86,   86,   86,   86, 1969, 1970, 1964,   86, 1972, 1971,
2288 
2289      1975, 1976, 1977, 1979, 1965, 1973, 1966,   86, 1974,   86,
2290        86, 1978, 3806, 1983,   86, 1967, 1968,   86,   86, 3806,
2291        86, 1969,   86,   86, 1980, 1972, 1971, 1975, 1981, 1977,
2292      1979, 1984, 1973,   86, 1985, 1974, 1986,   86, 1978,   86,
2293      1983, 1988, 1987,   86, 1989, 1990, 1982, 1991, 3806,   86,
2294      1992, 1980,   86,   86, 3806, 1981,   86,   86, 1984, 2004,
2295        86,   86, 1994, 1986,   86, 1996, 1993, 1995, 1988, 1987,
2296        86, 1989, 1990, 1982, 1991,   86, 1999, 1992, 1997,   86,
2297        86, 1998, 2002, 2000,   86,   86,   86,   86, 2001, 1994,
2298      2003, 2005, 1996, 1993, 1995,   86,   86, 2006, 2007, 2008,
2299 
2300      2009, 3806, 2010, 1999, 3806, 1997, 2012,   86, 1998, 2002,
2301      2000, 2011,   86, 2013,   86, 2001,   86, 2003,   86,   86,
2302      2014, 2016, 3806,   86, 2006, 2007, 2008,   86,   86, 2010,
2303      2015, 2017, 2019, 2012, 2018,   86,   86, 3806, 2011,   86,
2304      2013, 2020, 2025,   86,   86,   86, 2024, 2014, 2016,   86,
2305        86, 2021, 2023, 2026, 2022,   86, 2027, 2015, 2017, 2019,
2306      2028, 2018, 2030, 2029,   86, 2033, 2035,   86, 2020,   86,
2307      2034,   86, 2031, 2024,   86, 2032,   86,   86, 2021, 2023,
2308        86, 2022, 2037, 2027,   86,   86,   86, 2028,   86, 2030,
2309      2029, 2036, 2038, 2035, 2039, 3806, 2041,   86, 2040, 2031,
2310 
2311      3806,   86, 2032, 2045, 3806, 2049,   86,   86, 2042, 2037,
2312      2043, 3806, 2050, 2047, 2044, 2051, 2048, 2046, 2036, 2038,
2313        86, 2039,   86, 2041,   86, 2040,   86,   86, 2052,   86,
2314      2045,   86, 2049, 2061,   86, 2042,   86, 2043,   86, 2050,
2315      2047, 2044, 2051, 2048, 2046, 2053, 2054, 2056, 2058, 2057,
2316      2060, 2055, 3806,   86,   86, 2052, 2063, 2059, 2062, 2064,
2317        86,   86, 2067,   86, 3806,   86, 2065,   86, 2066, 2068,
2318      2072, 2076, 2053, 2069, 2056, 2058, 2057, 2060,   86,   86,
2319        86,   86, 2070,   86, 2059, 2062, 2071, 2073,   86,   86,
2320        86,   86, 2074, 2065,   86, 2066, 2068, 2078, 2075,   86,
2321 
2322      2069,   86,   86,   86, 2077,   86, 2082, 2079, 2081, 2070,
2323      2080, 2083, 2084, 2071, 2073,   86,   86, 3806,   86, 2074,
2324      2091, 2089, 2085,   86, 2078, 2075,   86,   86,   86,   86,
2325      2086, 2077, 2087, 2082, 2079, 2081, 2093, 2080, 2083, 2084,
2326        86, 2088, 2090, 2092,   86,   86, 2095, 2094,   86, 2085,
2327      2099, 2096,   86, 2097,   86, 2101, 2098, 2086,   86, 2087,
2328        86,   86,   86, 2093,   86, 2100, 2102, 2104, 2088, 2090,
2329      2103,   86, 2105,   86, 2094,   86,   86,   86, 2096,   86,
2330      2097,   86, 2106, 2098, 2107, 3806, 2108,   86, 2109,   86,
2331      2110, 3806, 2100, 2102, 2104,   86, 2111, 2103, 2112,   86,
2332 
2333      2113, 2119, 2115, 2114,   86, 3806, 2117,   86,   86, 2106,
2334      2116, 2107,   86, 2108, 2118, 2109,   86, 2110,   86,   86,
2335        86,  171, 2123, 2111, 2120, 2112,   86, 2113,   86, 2115,
2336      2114, 2121,   86, 2117,   86, 2122, 2126, 2116, 2124, 2125,
2337      2127, 2118, 2128,   86, 2132, 2130,   86, 2129, 2136,   86,
2338      2134, 2120,   86,   86,   86,   86,   86,   86, 2121,   86,
2339        86, 2131, 2122, 2126, 2133, 2124, 2125, 2127,   86, 2128,
2340      2137, 2135, 2130, 2138, 2129,   86,   86, 2134, 2139,   86,
2341        86, 2140, 2141, 2142, 2143, 2144, 2148, 3806, 2131, 3806,
2342      2146, 2133,   86,   86,   86, 2147, 2145, 2137, 2135, 2149,
2343 
2344      2138,   86, 3806,   86,   86,   86, 2152, 2154, 2140, 2150,
2345      2142,   86,   86, 2148,   86,   86,   86, 2146,   86,   86,
2346      2151, 2153, 2147, 2145, 2155,   86, 2149, 2157,   86,   86,
2347      2156, 2160, 2158, 2152, 2154, 3806, 2150, 2165,   86,   86,
2348      2163, 3806,   86,   86, 2164, 2159, 2161, 2151, 2153,   86,
2349        86, 2155, 2166, 2162, 2157, 2167,   86, 2156, 2160, 2158,
2350      2173,   86,   86, 2168,   86, 2171, 2177, 2163,   86, 2169,
2351      2170, 2164, 2159, 2161,   86, 2176,   86,   86,   86, 2172,
2352      2162, 2174, 2167, 2175,   86,   86,   86, 2173, 2178, 2180,
2353      2168, 2179, 2171,   86,   86, 2181, 2169, 2170,   86, 2182,
2354 
2355      2185,   86, 2176, 2183, 2187,   86, 2172, 2184, 2174,   86,
2356      2175, 2189, 2186,   86, 2188,   86,   86, 2191, 2179, 2190,
2357      2192,   86, 2181, 2193,   86, 2196, 2182,   86,   86, 2194,
2358      2183,   86, 2198, 2195, 2184,   86,   86, 2197,   86, 2186,
2359      2199, 2188, 2201,   86,   86,   86, 2190, 2192,   86,   86,
2360      2193, 2200,   86, 2202,   86, 2203, 2194,   86, 2204, 2198,
2361      2195, 2205, 2206,   86, 2197, 2214, 3806,   86, 3806, 2201,
2362      3806, 3806, 2207, 2208, 2209,   86, 3806,   86, 2200, 2210,
2363      2202, 2212, 2203,   86,   86, 2204, 2211,   86, 2205, 2213,
2364        86, 2215, 2217,   86,   86, 2216,   86,   86,   86, 2207,
2365 
2366      2208, 2209,   86, 2218, 2219, 2222, 2210, 2221, 2212, 2220,
2367      2223, 2224,   86, 2211, 2225, 2226, 2213,   86, 2215, 2217,
2368        86, 2227, 2216, 2229, 2228,   86,   86,   86, 2230,   86,
2369      2218,   86, 2222, 2232, 2221,   86,   86, 2223, 2224,   86,
2370      2235, 2225, 2231,   86, 2234, 2233, 2236,   86, 2227,   86,
2371      2229, 2228,   86, 2238, 2237,   86, 2239, 2240,   86,   86,
2372      2232,   86, 2242, 2243, 2241, 2245,   86, 2235,   86, 2231,
2373      2244, 2234, 2233,   86, 2246,   86,   86, 2247,   86, 2248,
2374        86, 2237,   86, 2239, 2240,   86, 2249,   86, 2250, 2242,
2375      2253, 2241, 2245, 2251, 2254,   86, 2256, 2244,   86, 2252,
2376 
2377        86, 2246, 2255,   86,   86, 2257, 2248,   86,   86, 2258,
2378      2259,   86, 2260, 2249, 2261, 2250,   86, 2253, 2262,   86,
2379      2251,   86, 2263, 2256, 2264, 2265, 2252, 2266, 3806, 2255,
2380      3806,   86,   86, 2267,   86, 2268, 2258,   86, 2270, 2260,
2381      2269, 2261,   86, 2273, 2272,   86, 2278,   86, 2271, 2263,
2382        86, 2264,   86,   86,   86,   86,   86,   86,   86, 2274,
2383      2267, 2277, 2268, 2275, 2279, 2270, 2280, 2269,   86, 2281,
2384      2273, 2272,   86, 2276,   86, 2271,   86, 2282,   86,   86,
2385      2288, 3806, 2291,   86, 2287, 2283, 2274,   86, 2277,   86,
2386      2275, 2279, 2285, 2293,   86, 2290, 2281, 2286,   86,   86,
2387 
2388      2276, 2284,   86,   86, 2282, 2294,   86,   86,   86, 2291,
2389      2289, 2287, 2283,   86, 2295, 2292,   86, 2297, 2296, 2285,
2390      2293, 2298, 2290,   86, 2286, 2302, 2299, 3806, 2284, 2306,
2391      3806,   86, 2294, 2304, 2303,   86,   86, 2289, 2300,   86,
2392        86, 2295, 2292, 2301,   86, 2296,   86, 2305, 2298,   86,
2393      2307,   86,   86, 2299,   86,   86, 2306,   86, 2310, 2308,
2394      2304, 2303, 2309, 3806, 2311, 2300,   86, 2312, 2314,   86,
2395      2301, 2313, 2315,   86, 2305, 2316, 3806, 2307, 2318,   86,
2396      2317, 3806,   86, 2323, 2327, 2324, 2308, 2322, 2328, 2309,
2397        86, 2311, 2319,   86, 2312, 2314,   86, 2320, 2313,   86,
2398 
2399      2331,   86, 2316,   86, 2321, 2318, 2330, 2317,   86,   86,
2400        86,   86,   86, 2325, 2322,   86,   86, 2332, 2326, 2319,
2401        86, 2329,   86, 2333, 2320, 2338, 2335, 2331,   86, 2334,
2402      3806, 2321, 2336, 2330, 2337, 2339,   86, 2340,   86, 2341,
2403        86,   86, 3806, 2342, 2349,   86, 2344, 2343, 2329,   86,
2404      2333,   86,   86, 2335,   86, 2348, 2334,   86,   86, 2336,
2405      2345, 2337, 2339, 2346, 2347, 2350,   86, 2351,  171,   86,
2406      2342,   86,   86, 2344, 2343,   86, 2352,   86,   86, 2353,
2407      2356, 2355, 2348, 2354, 2357, 3806, 2359, 2345,   86,   86,
2408      2346, 2347, 2350,   86, 2351,   86, 2358, 2360, 2361, 2362,
2409 
2410      2370, 3806, 2365,   86, 2363,   86,   86,   86, 2355, 2364,
2411      2354, 2357,   86, 2359, 2366,   86, 2369,   86,   86, 2367,
2412        86, 2371, 2368, 2358, 2360, 2361,   86,   86,   86, 2365,
2413      2372, 2363,   86, 2373,   86, 2374, 2364,   86,   86,   86,
2414        86, 2366, 2375, 2369, 2376, 2377, 2367, 2378, 2371, 2368,
2415      2379,   86,   86, 2380, 2382,   86,   86, 2372,   86,   86,
2416      2373, 2381, 2374,   86, 2383, 2386, 2384, 2399, 2392,   86,
2417      2385, 2376, 2377,   86, 2378,   86,   86, 2379,   86,   86,
2418      2380, 2389, 2390,   86,   86, 2387,   86, 2391, 2381, 2393,
2419        86, 2383, 2386, 2384,   86, 2392, 2388, 2385, 2395, 2394,
2420 
2421        86, 2396, 2397, 2400, 2398,   86, 2406,   86, 2389, 2390,
2422      2401,   86, 2387,   86, 2391,   86, 2393,   86,   86, 3806,
2423      2409,   86, 2402, 2388,   86, 2395, 2394,   86, 2396, 2397,
2424      2400, 2398, 2403,   86, 2404, 2405, 2412, 2401,   86, 2408,
2425      2407, 2410, 2411,   86, 2418,   86,   86, 2409,   86, 2402,
2426        86,   86, 2413, 2414,   86, 2415, 2416, 2417, 2427, 2403,
2427        86, 2404, 2405,   86, 2419,   86, 2408, 2407, 2410, 2411,
2428      2420,   86, 2423,   86, 2431,   86,   86,   86,   86, 2413,
2429        86,   86, 2415, 2416, 2417, 2427, 2422, 2421, 2428, 2426,
2430        86, 2419,   86,   86, 2424,   86, 2429, 2420,   86, 2423,
2431 
2432      2432, 2431, 2425,   86, 2430, 2433, 2434, 3806,   86, 3806,
2433      2462, 2435, 3806, 2422, 2421, 2428, 2426,   86,   86,   86,
2434        86, 2424, 2436, 2429, 2443, 2444,   86, 2432, 2441, 2425,
2435      2447, 2430, 2433, 2437, 2438,   86, 2442, 2439,   86,   86,
2436        86, 2446,   86, 2448, 2445, 2450, 3806, 3806,   86, 2436,
2437      2440, 2443,   86,   86,   86, 2441, 2451, 2447,   86, 2449,
2438      2437, 2438, 2453, 2442, 2439,   86,   86,   86, 2446, 2452,
2439      2448, 2445, 2450, 2454, 2455, 2458, 2456, 2440,   86, 2457,
2440      2459,   86, 2466, 2451,   86,   86, 2449, 2460, 2464, 2453,
2441        86, 2461,   86,   86, 2469,   86, 2452,   86,   86, 2465,
2442 
2443      2454, 2455, 2458, 2456, 2463,   86, 2457, 2459, 2468,   86,
2444      2470,   86,   86,   86, 2460, 2464, 2467,   86, 2461,   86,
2445      2471, 2469, 2474, 2475, 2472, 2473, 2465, 2477, 3806,   86,
2446        86, 2463,   86,   86,   86, 2468, 2476, 2470, 2478, 2479,
2447      2481,   86,   86, 2467, 2480, 2484, 2485, 2471, 2482, 2474,
2448      2486, 2472, 2473,   86, 2477,   86,   86, 2483,   86,   86,
2449        86, 2490, 2487, 2476, 2491, 2478, 2494, 2481, 2488, 2492,
2450        86,   86, 2484,   86, 2489, 2482,   86, 2486,   86, 2493,
2451        86,   86, 2497, 2502, 2483, 2501,   86, 2498,   86, 2487,
2452      2499, 2491, 2495,   86,   86, 2488, 2492, 2500,   86, 2503,
2453 
2454      2496, 2489,   86,   86, 2507,   86, 2493, 2504,   86,   86,
2455      2502,   86, 2501, 2516, 2498, 2505,   86, 2499, 2506, 2495,
2456      2509, 2511, 2508,   86, 2500, 2510, 2503, 2496,   86,   86,
2457        86, 2507, 2512,   86, 2504,   86,   86, 2514, 2513, 2515,
2458      2516, 2517, 2505, 2518, 2521, 2506, 2522, 3806, 2511, 2508,
2459        86,   86,   86,   86,   86, 2519, 2527,   86,   86, 2512,
2460      2523, 3806,   86,   86, 2514, 2513, 2515, 2520, 2517,   86,
2461      2518, 2521, 2524,   86,   86, 2525, 2528, 2526, 2529, 2530,
2462      2531,   86, 2519, 2527,   86, 2532, 2533, 2523,   86,   86,
2463        86, 3806, 2534,   86, 2520,   86, 2535, 2536, 3806, 2524,
2464 
2465        86,   86, 2525, 2528, 2526, 2529, 2530, 2531, 2537, 2538,
2466      2540, 2545, 2532, 2533,   86,   86, 2541,   86,   86, 2534,
2467        86, 2542, 2539, 2535, 2536, 2543, 2544, 2546,   86,   86,
2468        86,   86, 2547,   86,   86, 2537, 2538, 2540, 2545, 2548,
2469      2551, 3806, 2549, 2541, 2553, 2555, 2552, 2550, 2542, 2539,
2470        86,   86, 2543, 2544,   86,   86, 2554, 2556,   86, 2547,
2471      2557, 2559,  171,   86,   86, 2558,   86, 2551,   86, 2549,
2472      2560, 2553, 2561, 2552, 2550, 3806, 2562,   86, 2563, 2564,
2473      2565, 3806, 2570, 2554, 2556,   86, 2566, 3806,   86, 2571,
2474      2569, 2574,   86,   86, 2578,   86,   86, 2580, 2576, 2561,
2475 
2476      2567, 2573,   86, 2562, 2572, 2563, 2564,   86,   86,   86,
2477        86, 2568,   86, 2566, 2575,   86, 2571, 2569, 2577,   86,
2478        86,   86, 3806,   86, 2579, 2576,   86, 2567, 2573,   86,
2479      2581, 2572, 2582, 2583, 2585, 2584,   86, 2588, 2568,   86,
2480      2595, 2575,   86, 2586,   86, 2577,   86, 2589, 2587,   86,
2481      2593, 2579,   86,   86, 2590, 2591,   86, 2581, 2598, 2582,
2482      2583, 2585, 2584,   86, 2588,   86,   86,   86, 2594,   86,
2483      2586, 2592,   86,   86, 2589, 2587, 2596, 2593,   86, 2597,
2484        86, 2590, 2591, 2599, 2601, 2598, 2600,   86, 2603, 2602,
2485      2604,   86,   86,   86, 2605, 2594,   86, 2607, 2592,   86,
2486 
2487      2606, 2608, 3806, 2596,   86, 3806, 2597, 2618,   86,   86,
2488      2599, 2601,   86, 2600, 2609, 2603, 2602, 2604, 2610, 2616,
2489        86, 2605,   86, 2611,   86, 2612,   86, 2606, 2608,   86,
2490      2613,   86, 2614,   86,   86, 2619, 2615, 2617, 2622,   86,
2491        86, 2609,   86,   86, 2620, 2610, 2616, 2621, 2623, 2626,
2492      2611,   86, 2612, 2624, 2629, 2625,   86, 2613, 3806, 2614,
2493      2628,   86,   86, 2615, 2617, 2622, 2627,   86,   86,   86,
2494      2630, 2620, 2631,   86, 2621, 2623,   86, 2632,   86, 2633,
2495      2624, 2629, 2625, 2634,   86,   86, 2635, 2628,   86, 2636,
2496      2637,   86, 2642, 2627, 2639, 2638, 3806, 2630, 2640, 2631,
2497 
2498      2643, 2641,   86, 2644, 2632,   86, 2633,   86,   86, 2645,
2499        86,   86, 2648, 2635, 2649,   86,   86, 2637, 2650,   86,
2500      2646, 2639, 2638, 2647,   86, 2640,   86, 2643, 2641, 2651,
2501      2644, 2654, 2655, 2656, 3806,   86, 2645, 2652,   86,   86,
2502        86,   86, 2653, 2658,   86, 2650,   86, 2646, 2659,   86,
2503      2647,   86, 2660, 2657, 2661, 2662, 2651,   86, 2654,   86,
2504        86,   86, 2663, 2664, 2652, 2665,   86, 2666, 2669, 2653,
2505        86, 2667, 2673, 2668, 2670, 2659, 2671,   86,   86,   86,
2506      2657, 2661, 2662,   86,   86,   86, 2672,   86, 2674,   86,
2507        86, 2675, 2665, 2676, 2666,   86,   86,   86, 2667,   86,
2508 
2509      2668, 2670,   86, 2671, 2677, 2679, 2678, 2682,   86, 2680,
2510      2684, 2683, 3806, 2672, 2685, 2674, 2686, 2687,   86,   86,
2511      2676, 2688,   86, 2689, 2681,   86,   86,   86,   86,   86,
2512      2691, 2677, 2679, 2678,   86,   86, 2680, 2684, 2683,   86,
2513      2690, 2685,   86, 2686, 2687, 2692, 2693,   86,   86,   86,
2514      2695, 2681, 2694, 2696, 2697,   86, 2699, 2691,   86, 2698,
2515      2702,   86, 2703, 3806, 2700, 2704, 3806, 2690,   86,   86,
2516      3806, 2705, 2692, 2693, 2710,   86,   86,   86, 2701, 2694,
2517      2696, 2697,   86, 2699,   86,   86, 2698,   86, 2706, 2703,
2518        86, 2700, 2704, 2707, 2708, 2709,   86,   86, 2705, 2711,
2519 
2520        86, 2710,   86, 2712, 2716, 2701,   86, 2718, 2713, 3806,
2521      2722, 2719, 2717, 3806, 2721, 2706,   86,   86, 2720, 3806,
2522      2707, 2708, 2709, 2714,   86, 2715, 2711,   86,   86,   86,
2523      2712, 2724,   86,   86, 2718, 2713,   86, 2722, 2719, 2717,
2524        86, 2721, 2723, 2725, 2727, 2720, 2726,   86,   86,   86,
2525      2714, 2730, 2715, 2728, 2729, 2731, 2732, 3806, 2724, 2735,
2526      3806, 3806, 2733,   86, 3806,   86,   86, 2734,   86, 2723,
2527      2725, 2727, 3806, 2726, 2736,   86,   86, 2737, 2730,   86,
2528      2728, 2729, 2738, 2739,   86, 2741, 3806,   86,   86, 2733,
2529      2740,   86,   86, 2742, 2734, 2743,   86,   86, 2744,   86,
2530 
2531      2745, 2736, 2746, 2747, 2737, 2748, 2752, 2749, 2754, 2738,
2532      2739,   86, 2741,   86,   86,   86,   86, 2740,   86, 2750,
2533      2742, 2751, 2743, 2753,   86, 2744,   86, 2745,   86, 2746,
2534        86, 2755, 2762, 2752, 2749,   86, 2757,   86, 2758, 2756,
2535        86, 2763, 2764,   86, 2765, 2759, 2750, 2768, 2751,   86,
2536      2753, 2767,   86, 2760,   86, 2761,   86,   86, 2755, 2762,
2537        86, 2766,   86, 2757,   86, 2758, 2756,  171, 2763,   86,
2538      2769, 2765, 2759,   86, 2768, 2770, 2771, 2772, 2767,   86,
2539      2760,   86, 2761, 2773, 2775, 2774, 2776,   86, 2766, 2777,
2540      2779,   86,   86, 2778, 2780, 3806, 2782, 2769, 2783,   86,
2541 
2542      2781,   86, 2770, 2771, 2772,   86, 2784, 2785, 3806, 3806,
2543      2773, 2775, 2774,   86, 2787, 2792,   86,   86,   86,   86,
2544      2778, 2780,   86, 2786,   86, 2789, 2794, 2781,   86, 2788,
2545        86, 2790, 2793, 2784,   86, 2791,   86, 2795,   86,   86,
2546        86, 2787, 2796, 2797,   86,   86, 2798,   86,   86, 2799,
2547      2786, 3806, 2789, 2794, 2800, 2803, 2788, 2801, 2790, 2793,
2548        86,   86, 2791, 2804, 2795, 2805,   86, 2802,   86, 2796,
2549        86,   86,   86, 2798,   86,   86, 2799, 2806,   86,   86,
2550      2807, 2800, 2803, 2810, 2801, 2811, 2808,   86, 2809, 2813,
2551        86, 2812, 2805,   86, 2802,   86,   86, 2814,   86,   86,
2552 
2553      2815, 3806, 3806, 2823, 2806, 2816, 2827, 2807,   86, 2817,
2554      2810,   86, 2811, 2808, 2818, 2809, 2813, 2819, 2812, 3806,
2555      2820,   86, 2824,   86, 2821,   86, 2826, 2815,   86,   86,
2556        86,   86, 2816, 2822, 2825,   86, 2817,   86,   86,   86,
2557      2828, 2818, 2830, 2829, 2819,   86,   86, 2820,   86, 2824,
2558      2831, 2821, 2832, 2826, 2834, 2840,   86, 2845, 2833, 2835,
2559      2822, 2825,   86, 2836, 2837,   86, 2838,   86,   86, 2830,
2560      2829,   86,   86, 2839, 2843, 2841, 2842, 2831,   86, 2832,
2561        86, 2834, 2840,   86,   86, 2833, 2835, 2846,   86,   86,
2562      2836, 2837, 2844, 2838, 2847, 2848, 2849,   86, 2851,   86,
2563 
2564      2839,   86, 2841, 2842,   86,   86,   86,   86, 2853,   86,
2565      2852,   86, 2854, 2850, 2846, 2857, 2855,   86,   86, 2844,
2566        86,   86, 2848, 2849,   86, 2851, 2856, 2858, 2859, 2860,
2567      3806, 2861, 2869, 3806, 2862, 2853,   86, 2852,   86, 2854,
2568      2850, 2863,   86, 2855, 2864,   86,   86, 2865,   86, 2866,
2569      2867, 2870, 2868, 2856,   86,   86, 2860,   86, 2861,   86,
2570        86, 2862,   86, 2871, 2872,   86,   86,   86, 2863, 2873,
2571      2875, 2864, 2876,   86, 2865, 2874, 2866, 2867, 2870, 2868,
2572      2877,   86,   86, 2878,   86,   86, 2879, 2880, 2881, 2882,
2573      2871, 2872, 2883, 2884,   86,   86, 2886, 2875,   86,   86,
2574 
2575      2885,   86, 2874, 2887,   86,   86, 2889, 2877,   86, 2890,
2576      2878, 2888, 3806, 2879, 2880, 2881, 2882, 2893,   86, 2883,
2577        86,   86,   86, 2886, 2891,   86, 2892, 2885,   86, 2898,
2578      2887, 2899,   86, 2889,   86, 2894, 2890,   86, 2888,   86,
2579      2895, 2896, 2897,   86, 2893, 2900, 2901,   86,   86, 2902,
2580      2903, 2891, 3806, 2892, 2904, 3806,   86,   86, 2899, 2907,
2581      2906, 2905, 2894, 2908,   86,   86, 2909, 2895, 2896, 2897,
2582        86, 2911,   86,   86, 3806, 3806,   86, 2903,   86,   86,
2583      2910, 2904,   86, 2916, 2912,   86, 2907, 2906, 2905,   86,
2584      2908, 2914,   86, 2909, 2913,   86, 2917,   86, 2911,   86,
2585 
2586      2918,   86, 2915, 2919,   86, 2921, 2920, 2910, 2923, 2922,
2587        86, 2912, 2925,   86, 3806, 2926, 2924, 2929, 2914,   86,
2588      2931, 2913,   86, 2917,   86, 2932,   86,   86,   86, 2915,
2589        86,   86,   86, 2920, 2927, 2923, 2922,   86, 2928, 2925,
2590      2930,   86, 2926, 2924,   86,   86, 2933,   86, 2934, 2938,
2591      2936, 2935, 2932,   86,   86, 2937, 2939, 3806,   86, 2940,
2592        86, 2927,   86,   86, 2946, 2928, 2941, 2930, 2942, 2943,
2593      2944,  171, 2998, 2933,   86, 2934, 2938, 2936, 2935,   86,
2594        86,   86, 2937, 2939,   86,   86, 2940, 2945, 2948, 2949,
2595      2947,   86,   86, 2941,   86, 2942, 2943, 2944, 2950, 2951,
2596 
2597      2952, 2953,   86, 2954,   86, 2955, 3806, 2956, 2958, 2957,
2598      2960, 2959,   86, 3806, 2945, 2948, 2949, 2947,   86,   86,
2599        86,   86,   86, 3099,   86, 2950, 2951,   86,   86,   86,
2600      2954,   86, 2955,   86, 2956, 2958, 2957, 2960, 2959, 2961,
2601      2962, 2964, 2963, 2965, 2966, 2968,   86,   86,   86,   86,
2602      2967,   86,   86, 2969, 2970,   86, 2971, 2973, 2976, 2977,
2603      3806,   86,   86,   86, 2972, 2974, 2961, 2962, 2964, 2963,
2604      2965, 2966, 2968, 2979, 2975,   86,   86, 2967,   86,   86,
2605      2969, 2970,   86, 2971,   86, 2976,   86,   86, 2978, 2980,
2606      2981, 2972, 2974, 2982, 2983, 2984, 2985, 2987,   86,   86,
2607 
2608        86, 2975,   86, 2986, 2989,   86,   86,   86,   86, 2990,
2609      2988, 2991,   86, 2992,   86, 2978, 2980, 2981,   86, 2993,
2610      2982, 2983, 2984, 2985, 2987, 2994,   86,   86, 2995,   86,
2611      2986, 2989, 2996, 2997,   86, 2999, 2990, 2988,   86, 3000,
2612        86, 3001, 3002, 3003,   86, 3004, 2993, 3005,   86,   86,
2613        86, 3006, 2994,   86, 3007, 2995,   86, 3008,   86,   86,
2614        86,   86, 2999, 3009,   86, 3014, 3000,   86, 3001, 3002,
2615      3003, 3010, 3004, 3011,   86, 3012, 3013, 3016, 3006,   86,
2616        86, 3007, 3015, 3017, 3008, 3019, 3806,   86, 3018, 3806,
2617      3009,   86,   86,   86, 3022, 3806, 3020,   86, 3010, 3806,
2618 
2619      3011,   86, 3012, 3013,   86, 3024,   86,   86, 3030, 3015,
2620      3017,   86, 3019, 3021, 3026, 3018,   86, 3023, 3025, 3027,
2621        86, 3022,   86, 3020,   86,   86,   86,   86, 3028, 3029,
2622      3031, 3033, 3024, 3034, 3032,   86, 3035,   86, 3037, 3036,
2623      3021, 3026,   86,   86, 3023, 3025, 3027, 3038,   86,   86,
2624        86, 3039, 3040,   86, 3041, 3028, 3029, 3031,   86,   86,
2625      3034, 3032,   86, 3035, 3043, 3037, 3036, 3044, 3042, 3049,
2626      3045, 3047,   86, 3054, 3038,   86,   86,   86, 3039, 3040,
2627      3046,   86,   86, 3051, 3050, 3048, 3052, 3806,   86, 3053,
2628        86, 3043,   86, 3056,   86, 3042,   86, 3045, 3047,   86,
2629 
2630        86,   86, 3057, 3058, 3062, 3806, 3055, 3046, 3059,   86,
2631      3051, 3050, 3048, 3052,   86,   86, 3053, 3060, 3061,   86,
2632        86,   86, 3063, 3065,   86,   86, 3064, 3067,   86, 3057,
2633      3058,   86,   86, 3055, 3066, 3059, 3074, 3068, 3806,   86,
2634      3071,   86, 3069, 3070, 3060, 3061, 3077, 3072, 3073, 3063,
2635      3065,   86,   86, 3064,   86, 3075,   86,   86,   86, 3076,
2636      3082, 3066,   86,   86, 3068,   86,   86, 3071, 3078, 3069,
2637      3070,   86, 3079,   86, 3072, 3073, 3080, 3083, 3081,   86,
2638      3084, 3086, 3075, 3085, 3087,   86, 3076, 3082, 3090,   86,
2639        86, 3088, 3091,   86,   86, 3078, 3806, 3089,   86, 3079,
2640 
2641        86, 3092,   86, 3080, 3083, 3081,   86, 3084, 3086,   86,
2642      3085, 3087, 3093,   86, 3094,   86, 3095, 3806, 3088,   86,
2643        86, 3097, 3096,   86, 3089, 3098, 3806, 3101, 3092, 3100,
2644        86, 3104, 3105, 3102,   86, 3103,   86, 3107, 3114, 3093,
2645      3125,  171, 3108, 3095,   86,   86, 3111, 3106, 3097, 3096,
2646      3109,   86, 3098,   86, 3101, 3110, 3100,   86,   86,   86,
2647      3102,   86, 3103, 3112,   86, 3113,   86,   86,   86, 3108,
2648        86, 3115, 3118, 3111, 3106, 3116, 3124, 3117,   86, 3121,
2649      3120, 3119,   86, 3122,   86,   86,   86, 3123, 3806, 3806,
2650      3112,   86, 3113, 3126,   86,   86, 3127,   86, 3115, 3118,
2651 
2652        86, 3128, 3116, 3124, 3117, 3130, 3129, 3120, 3119,   86,
2653      3133,   86, 3131,   86, 3123,   86, 3132, 3134,   86,   86,
2654      3126,   86, 3135, 3127, 3136,   86, 3137,   86, 3128, 3138,
2655      3806,   86, 3130, 3129,   86, 3139, 3806, 3133,   86, 3131,
2656        86, 3140,   86, 3132, 3134, 3141, 3142,   86, 3143, 3135,
2657      3148, 3136,   86, 3137,   86, 3806, 3138, 3144,   86, 3145,
2658      3146, 3149, 3139,   86, 3806,   86,   86,   86, 3140,   86,
2659      3153, 3147, 3141, 3151, 3150, 3143, 3152,   86,   86,   86,
2660      3154,   86,   86, 3156, 3144, 3157, 3145, 3146, 3149, 3806,
2661      3155,   86,   86, 3161,   86,   86,   86, 3153, 3147, 3159,
2662 
2663      3151, 3150, 3160, 3152, 3162, 3158, 3164, 3154,   86,   86,
2664      3156,   86,   86,   86, 3166, 3165,   86, 3155, 3167, 3163,
2665      3161,   86,   86, 3168, 3169, 3170, 3159,   86, 3806, 3160,
2666      3173,   86, 3158, 3171, 3172,   86, 3174, 3175,   86, 3177,
2667      3176, 3166, 3806, 3180,   86, 3167, 3163,   86,   86, 3178,
2668        86,   86, 3170, 3181, 3184,   86,   86, 3173,   86, 3179,
2669      3171, 3172,   86, 3174,   86,   86, 3177, 3176, 3182,   86,
2670        86, 3185,   86, 3183, 3186,   86, 3178, 3187, 3188, 3189,
2671      3181,   86,   86, 3192, 3193, 3190, 3179, 3194, 3195, 3199,
2672      3191,   86, 3196, 3203,   86, 3182,   86, 3197, 3185, 3806,
2673 
2674      3183,   86,   86,   86,   86,   86, 3189,   86,   86,   86,
2675        86, 3193, 3190, 3198, 3194, 3195, 3199, 3191, 3200, 3201,
2676        86, 3202, 3204, 3205,   86,   86,   86, 3206,   86, 3207,
2677      3208, 3209, 3210, 3212, 3214, 3211, 3806, 3213, 3220, 3216,
2678      3198,   86,   86,   86,   86, 3200, 3201,   86, 3202,   86,
2679        86,   86, 3221, 3215, 3206, 3217, 3207, 3208,   86, 3210,
2680        86,   86, 3211,   86, 3213,   86,   86, 3218, 3219,   86,
2681        86, 3223, 3225, 3222, 3227, 3224,   86, 3226,   86,   86,
2682      3215,   86, 3217, 3228, 3229, 3230, 3231, 3232, 3806,   86,
2683        86,   86, 3233, 3234, 3218, 3219,   86,   86, 3236, 3235,
2684 
2685      3222, 3227, 3224,   86,   86, 3237,   86, 3238, 3243,   86,
2686      3228, 3229, 3230, 3239, 3232,   86, 3240,   86,   86, 3233,
2687        86,   86, 3244, 3241, 3242, 3236, 3235, 3247, 3246,   86,
2688        86,   86, 3237,   86, 3238, 3243, 3249,   86, 3245, 3248,
2689      3239,   86,   86, 3240, 3250,   86, 3251, 3259, 3252, 3244,
2690      3241, 3242,   86, 3253,   86, 3246,   86, 3254, 3260,   86,
2691        86, 3261, 3255, 3249, 3256, 3245, 3248, 3262, 3258, 3257,
2692      3265, 3250,   86, 3251,   86, 3252,   86, 3263, 3806, 3264,
2693      3253,   86, 3269, 3267,   86, 3260, 3266,   86, 3261,   86,
2694        86, 3268,   86,   86, 3262, 3258,   86, 3265, 3270, 3271,
2695 
2696        86, 3273, 3274,   86, 3263,   86, 3264, 3272,   86, 3269,
2697      3267,   86, 3275, 3266, 3278,   86, 3279, 3276, 3268,   86,
2698        86,   86, 3280,   86,   86, 3270, 3271, 3282, 3273, 3274,
2699      3277, 3283, 3286, 3281, 3272, 3806, 3287,   86, 3285, 3275,
2700      3284,   86, 3288,   86, 3276,   86,   86,   86, 3289, 3280,
2701      3290, 3293,   86, 3291,   86, 3292,   86, 3277, 3283,   86,
2702      3281, 3294,   86, 3287, 3297, 3285, 3295, 3284, 3298,   86,
2703        86,   86, 3296,   86, 3299, 3289, 3300,   86,   86,   86,
2704      3291,   86, 3292, 3312,   86, 3309, 3302, 3314, 3294, 3304,
2705      3301,   86, 3303, 3295,   86,   86,   86,   86,   86, 3296,
2706 
2707      3305, 3299,   86, 3300,   86, 3306, 3307, 3308,   86, 3310,
2708        86, 3313, 3309, 3302,   86, 3311, 3304, 3301, 3315, 3303,
2709        86,   86, 3318, 3319,   86,   86, 3316, 3321,   86, 3320,
2710      3317,   86,   86, 3307, 3308, 3332, 3310,   86, 3313,   86,
2711      3322, 3323, 3311,   86, 3324, 3315, 3325,   86, 3327,   86,
2712        86, 3326, 3330, 3316, 3328,   86, 3320, 3317,   86,   86,
2713      3331,   86, 3332, 3334,   86, 3333,   86, 3322, 3323,   86,
2714      3329, 3324, 3335, 3325,   86, 3336,   86, 3339, 3326, 3330,
2715        86, 3328,   86,   86, 3340,   86,   86, 3331,   86, 3341,
2716      3334, 3337, 3333, 3343, 3338, 3342, 3806, 3329, 3344, 3335,
2717 
2718        86, 3345, 3336, 3346,   86, 3347,   86, 3348, 3806, 3349,
2719      3350,   86, 3355,   86, 3806, 3351,   86,   86, 3337,   86,
2720      3343, 3338, 3342,   86, 3353, 3344, 3357,   86, 3345,   86,
2721        86, 3354, 3347, 3352, 3348,   86,   86, 3350, 3358,   86,
2722        86, 3356, 3351,   86,   86, 3359,   86, 3360, 3806, 3361,
2723      3365, 3353, 3363,   86, 3362, 3366, 3367,   86, 3354, 3364,
2724      3352,   86,   86, 3806,   86, 3358, 3368,   86, 3356,   86,
2725        86,   86, 3359, 3369, 3360,   86, 3361, 3365, 3370, 3363,
2726        86, 3362,   86, 3367, 3371, 3372, 3364,   86, 3374, 3373,
2727      3379, 3375, 3376, 3368, 3378, 3380,   86,   86, 3382,   86,
2728 
2729      3369,   86,   86, 3377,   86, 3370, 3383,   86,   86, 3385,
2730        86, 3371, 3372,   86, 3386, 3374, 3373, 3379, 3375, 3376,
2731        86, 3378, 3380, 3381,   86,   86, 3384, 3387, 3388, 3389,
2732      3377, 3390, 3391,   86,   86, 3392, 3393, 3394,   86, 3395,
2733        86,   86, 3398, 3397, 3399, 3401, 3396,   86,   86,   86,
2734      3381,   86, 3403, 3384, 3387, 3388,   86,   86,   86, 3391,
2735      3400,   86,   86, 3393, 3394,   86, 3395, 3404, 3402,   86,
2736      3397, 3399,   86, 3396, 3405,   86, 3406,   86,   86,   86,
2737      3407, 3408, 3409, 3410, 3411, 3412, 3416, 3400,   86,   86,
2738        86,   86, 3413, 3414, 3404, 3402, 3415,   86,   86, 3417,
2739 
2740        86, 3405, 3420, 3406, 3418, 3419, 3422, 3407, 3408,   86,
2741      3423, 3411,   86,   86,   86,   86,   86,   86, 3424, 3413,
2742      3414, 3421,   86, 3415, 3425,   86,   86, 3426,   86,   86,
2743      3429, 3418, 3419, 3422, 3427,   86, 3428, 3423, 3430, 3806,
2744      3431, 3437, 3432,   86, 3433, 3424, 3435, 3434, 3421,   86,
2745        86, 3436, 3438,   86, 3426, 3439,   86,   86, 3441, 3442,
2746      3445, 3427,   86, 3428,   86, 3430,   86, 3431,   86, 3432,
2747        86, 3433, 3440, 3435, 3434, 3443,   86, 3448, 3449, 3438,
2748        86,   86, 3444,   86, 3453, 3441,   86,   86, 3446, 3447,
2749        86, 3450,   86,   86, 3451, 3456,   86,   86,   86, 3440,
2750 
2751        86, 3455, 3443, 3452,   86, 3449, 3454, 3457, 3458, 3444,
2752      3459,   86,   86,   86,   86, 3446, 3447,   86, 3450, 3460,
2753      3462, 3451, 3456, 3461, 3463, 3464, 3465, 3466, 3455, 3467,
2754      3452, 3469,   86, 3454,   86,   86,   86,   86, 3471, 3470,
2755      3472,   86,   86, 3468, 3806,   86, 3460, 3462, 3473, 3474,
2756      3461,   86,   86,   86, 3466, 3475,   86,   86, 3469,   86,
2757        86, 3476, 3482, 3477, 3492, 3471, 3479,   86,   86,   86,
2758      3468,   86, 3478, 3480,   86, 3473,   86,   86,   86, 3481,
2759      3483,   86,   86, 3484, 3485, 3486, 3487, 3488, 3476,   86,
2760      3477,   86,   86, 3479, 3489, 3490,   86,   86, 3495, 3478,
2761 
2762      3480, 3498, 3493, 3806,   86,   86, 3481, 3483, 3491,   86,
2763      3484, 3485, 3486, 3487,   86, 3494, 3496,   86,   86, 3499,
2764        86,   86, 3490,   86, 3497, 3495, 3500, 3501,   86, 3493,
2765        86, 3502, 3503, 3504, 3505, 3491, 3806, 3806,   86, 3806,
2766        86, 3507, 3494, 3496, 3506, 3508,   86,   86,   86, 3509,
2767      3510, 3497,   86, 3500, 3501, 3512,   86,   86, 3511, 3503,
2768      3504,   86, 3513,   86,   86, 3514,   86,   86, 3507, 3518,
2769        86, 3506, 3508, 3515, 3806, 3806, 3509, 3510,   86, 3516,
2770        86,   86, 3512,   86,   86, 3511,   86, 3517, 3519, 3513,
2771      3523, 3524, 3514, 3531,   86, 3522, 3518, 3520, 3521,   86,
2772 
2773      3515,   86, 3525, 3526, 3527, 3530, 3516,   86, 3806,   86,
2774      3529, 3532,   86,   86, 3517, 3519, 3528, 3523, 3524,   86,
2775        86, 3533, 3522,   86, 3520, 3521,   86, 3534, 3535, 3525,
2776      3536, 3527, 3530, 3537,   86,   86, 3538, 3529,   86,   86,
2777      3540,   86, 3545, 3528,   86, 3548, 3539, 3806, 3533, 3541,
2778      3542, 3806,   86, 3549, 3534,   86, 3550, 3536,   86, 3551,
2779      3537, 3543, 3544,   86, 3546, 3547, 3806,   86,   86,   86,
2780      3552, 3553, 3548, 3539,   86,   86, 3554, 3558,   86,   86,
2781      3549, 3555, 3556, 3550,   86, 3557,   86, 3559, 3561,   86,
2782        86, 3560,   86,   86, 3562,   86,   86, 3552, 3553,   86,
2783 
2784        86, 3564, 3563,   86, 3558, 3565, 3806,   86, 3555, 3556,
2785      3567, 3568, 3557, 3566,   86, 3561, 3569, 3570, 3560,   86,
2786      3571, 3562,   86,   86,   86,   86, 3572, 3573, 3564, 3563,
2787      3574, 3806, 3565,   86, 3575,   86, 3578, 3567, 3568, 3580,
2788      3566, 3579,   86,   86, 3570, 3576,   86, 3571, 3577, 3581,
2789      3582,   86, 3583,   86,   86, 3806,   86, 3574,   86, 3584,
2790      3585, 3575,   86,   86, 3587, 3586, 3588, 3589,   86, 3590,
2791      3591,   86, 3576,   86, 3594, 3577, 3581, 3582, 3592, 3583,
2792      3593,   86,   86, 3596, 3599, 3597, 3584, 3585,   86, 3600,
2793        86,   86, 3586, 3595, 3589, 3598,   86,   86,   86, 3601,
2794 
2795      3602,   86,   86,   86,   86, 3592,   86, 3593, 3603, 3604,
2796        86,   86, 3597, 3605, 3606, 3608,   86, 3607,   86, 3609,
2797      3595, 3610, 3598, 3612, 3613, 3611,   86,   86, 3615, 3617,
2798      3806,   86, 3621,   86, 3622,   86,   86, 3614,   86, 3616,
2799        86,   86, 3608,   86, 3607, 3618,   86,   86,   86,   86,
2800      3612, 3613, 3611, 3619, 3620,   86,   86,   86,   86, 3621,
2801      3624,   86, 3623, 3633, 3614, 3628, 3616,   86, 3625,   86,
2802      3626, 3632, 3618, 3629,   86, 3627,   86,   86, 3631, 3630,
2803      3619, 3620,   86, 3806,   86,   86, 3637,   86, 3634, 3623,
2804      3633,   86, 3628, 3636,   86, 3625,   86, 3626, 3632, 3635,
2805 
2806      3629, 3638, 3627,   86,   86, 3806, 3630,   86,   86, 3639,
2807        86, 3640, 3644, 3637, 3641, 3634, 3642,   86, 3643,   86,
2808      3636, 3646, 3645,   86, 3647,   86, 3635, 3648, 3638, 3649,
2809      3650, 3657,   86, 3651,   86,   86, 3639,   86, 3640, 3644,
2810        86, 3641, 3653, 3642, 3652, 3643,   86,   86, 3646, 3645,
2811      3655,   86, 3654, 3658,   86, 3660,   86,   86, 3657,   86,
2812      3651, 3659,   86,   86, 3656,   86, 3661,   86,   86, 3653,
2813      3662, 3652, 3806, 3663, 3664,   86, 3665, 3655, 3667, 3654,
2814      3658,   86, 3660,   86,   86, 3806,   86,   86, 3659, 3668,
2815        86, 3656,   86, 3661, 3666, 3669,   86, 3662, 3670, 3672,
2816 
2817      3663, 3664, 3671, 3665, 3674, 3667, 3673,   86,   86, 3675,
2818        86, 3676,   86, 3677,   86, 3680, 3668, 3678,   86, 3681,
2819        86, 3666, 3669, 3682, 3684, 3670, 3672, 3679,   86, 3671,
2820        86, 3674, 3683, 3673,   86,   86,   86,   86, 3676, 3685,
2821      3677, 3686,   86, 3688, 3678, 3687, 3681, 3689, 3806,   86,
2822        86,   86,   86, 3690, 3679, 3691, 3695,   86,   86, 3683,
2823      3693, 3692, 3696, 3694, 3697, 3712,   86,   86, 3686,   86,
2824      3688,   86, 3687,   86, 3689,   86,   86, 3699, 3698, 3700,
2825      3690, 3701, 3691, 3695,   86,   86, 3702, 3703, 3692, 3696,
2826      3694,   86,   86, 3704, 3705, 3706, 3708,   86, 3709,   86,
2827 
2828      3707,   86, 3713, 3711,   86, 3698,   86,   86,   86,   86,
2829      3710,   86, 3715,   86, 3703, 3714, 3717, 3718, 3719, 3806,
2830      3704,   86, 3706,   86,   86, 3709,   86, 3707,   86,   86,
2831      3711, 3723, 3716, 3806,   86, 3720, 3722, 3710,   86, 3715,
2832        86,   86, 3714, 3717,   86,   86, 3721, 3725, 3724,   86,
2833      3727, 3728, 3726,   86,   86,   86, 3806, 3732, 3723, 3716,
2834        86, 3730, 3720, 3722,   86,   86, 3736, 3731, 3729,   86,
2835      3737, 3738, 3734, 3721, 3725, 3724,   86, 3727, 3728, 3726,
2836      3733,   86, 3735,   86,   86, 3739, 3740,   86, 3730,   86,
2837        86, 3806,   86,   86, 3731, 3729, 3741, 3737, 3742, 3734,
2838 
2839      3744, 3745, 3743,   86, 3746, 3806, 3747, 3733,   86, 3735,
2840        86,   86, 3739, 3740, 3748, 3750, 3749, 3806,   86, 3751,
2841        86, 3753, 3752, 3741,   86, 3742,   86,   86,   86, 3743,
2842        86, 3746,   86,   86, 3755,   86, 3754,   86, 3756, 3757,
2843      3760, 3748, 3750, 3749,   86, 3763, 3751, 3761,   86, 3752,
2844      3762, 3758, 3806,   86, 3759,   86, 3764, 3765,   86,   86,
2845      3768, 3755,   86, 3754,   86, 3756,   86, 3760, 3770,   86,
2846      3771, 3766, 3763, 3773, 3761, 3767,   86, 3762, 3758,   86,
2847      3769, 3759,   86, 3764, 3765,   86,   86, 3768,   86, 3772,
2848      3775, 3774, 3776,   86,   86, 3770,   86, 3771, 3766,   86,
2849 
2850      3773, 3777, 3767, 3778, 3779, 3780, 3784, 3769, 3806, 3791,
2851      3806,   86, 3781, 3782,   86, 3783, 3772,   86, 3774, 3776,
2852        86, 3785, 3786,   86,   86,   86,   86, 3790, 3777,   86,
2853        86, 3779, 3780,   86, 3787,   86,   86, 3788, 3789, 3781,
2854      3782, 3794, 3783, 3792,   86,   86,   86, 3793, 3785, 3786,
2855      3795,   86, 3796,   86, 3790,   86,   86, 3797, 3798, 3800,
2856      3799, 3787, 3804, 3802, 3788, 3789, 3801,   86, 3794, 3805,
2857      3792,   86,   86, 3806, 3793, 3803, 3806,   86, 3806, 3796,
2858        86,   86, 3806,   86,   86,   86, 3800, 3799,   86,   86,
2859      3802, 3806, 3806, 3801, 3806, 3806,   86, 3806, 3806, 3806,
2860 
2861      3806, 3806, 3803,   47,   47,   47,   47,   47,   47,   47,
2862        52,   52,   52,   52,   52,   52,   52,   57,   57,   57,
2863        57,   57,   57,   57,   63,   63,   63,   63,   63,   63,
2864        63,   68,   68,   68,   68,   68,   68,   68,   74,   74,
2865        74,   74,   74,   74,   74,   80,   80,   80,   80,   80,
2866        80,   80,   89,   89, 3806,   89,   89,   89,   89,  161,
2867       161, 3806, 3806, 3806,  161,  161,  163,  163, 3806, 3806,
2868       163, 3806,  163,  165, 3806, 3806, 3806, 3806, 3806,  165,
2869       168,  168, 3806, 3806, 3806,  168,  168,  170, 3806, 3806,
2870      3806, 3806, 3806,  170,  172,  172, 3806,  172,  172,  172,
2871 
2872       172,  175, 3806, 3806, 3806, 3806, 3806,  175,  178,  178,
2873      3806, 3806, 3806,  178,  178,   90,   90, 3806,   90,   90,
2874        90,   90,   17, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2875      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2876      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2877      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2878      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2879      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2880      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806
2881     } ;
2882 
2883 static const flex_int16_t yy_chk[10890] =
2884     {   0,
2885         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2886         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2887         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2888         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2889         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2890         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2891         1,    1,    1,    1,    1,    1,    3,    3,    3,    4,
2892         4,    4,    5,    5,    6,    6,    5,   32,    6,    7,
2893         7,    7,    7,   33,    7,    8,    8,    8,    8,   32,
2894         8,    9,    9,    9,   10,   10,   10,   19,   51,   51,
2895 
2896      3814,   19,  233,    3,   32,   33,    4,   67,   67,    5,
2897        33,    6, 3094,   13,   13,   13,   13,    7,   13,   14,
2898        14,   14,   14,    8,   14,   15,   15,   15,    9,   25,
2899       233,   10,   11,   11,   11,   11,   11,   11,   12,   12,
2900        12,   12,   12,   12,   16,   16,   16,   34,   28,   84,
2901        84,   13,   11,   45, 1195,   25,   25,   14,   12,   34,
2902        39,   23,   15,   23,   23,   45,   23,  178,   28,  602,
2903        11,   28,   23,   39,   34,   28,   12,  302,   87,   11,
2904        45,   16,   87,  162,  162,   12,   30,   39,   29,  177,
2905        56,  175,   37,   56,   30,   28,   26,  602,   37,   23,
2906 
2907        24,   24,   29,   26,   24,   30,  302,   26,  100,   24,
2908        26,   24,   30,   30,   29,   29,   92,  100,   24,   37,
2909        72,   30,   26,   26,   24,  169,  169,   24,   24,   29,
2910        26,   24,   30,   72,   26,  100,   24,   26,   24,   62,
2911        92,   62,   62,   92,   62,   24,   27,   72,   31,  170,
2912        27,   31,   94,   27,   95,   27,   27,  198,   31,   46,
2913        31,   46,   46,  223,   46,  226,   27,  168,   27,   95,
2914        46,   31,   94,   27,  167,   31,   35,   27,   31,   94,
2915        27,   95,   27,   27,   35,   31,   93,   31,   36,  198,
2916        35,   97,   36,   27,   35,  223,   44,  226,   97,   42,
2917 
2918        44,   42,   35,   35,   44,   98,   36,  165,   36,   93,
2919        42,   35,  163,   93,   36,   36,   42,   35,   97,   36,
2920       161,   35,   44,   44,   43,   42,   42,   44,   42,   98,
2921       351,   44,   98,   36,   43,   36,   38,   42,   43,   43,
2922        38,   96,  164,   42,   38,  164,   85,   43,   80,   96,
2923        38,   43,   70,   38,   70,   70,  101,   70,  138,  351,
2924        38,   43,   38,   38,  105,   43,   43,   38,   96,  105,
2925        73,   38,   73,   73,  101,   73,   79,   38,   79,   79,
2926        38,   79,   75,  101,  138,  138,   99,   38,   40,  106,
2927        70,  105,   40,   86,  108,   86,   86,  106,   86,   99,
2928 
2929       126,  150,   40,   40,   86,   40,   89,  108,   89,   89,
2930        99,   89,  150,   99,   40,   40,  106,   89,   74,   40,
2931       126,  108,  102,  102,  107,  228,   99,  126,  150,   40,
2932        40,  103,   40,   41,  110,  102,   41,  103,  117,  103,
2933        68,  110,  107,   41,   89,  104,  104,   41,   41,  102,
2934       102,  117,  103,  112,  104,   41,  107,  228,  103,  109,
2935        41,  110,  112,   41,  103,  117,  103,  114,  109,  107,
2936        41,  116,  104,  104,   41,   41,  111,  111,  113,  125,
2937       112,  109,  115,  119,  111, 1020,  109,  113,   63,  115,
2938       114,   58,  111,  116,  114,  109,  118,  121,  116,  118,
2939 
2940       120,  124,  125,  111,  111,  113,  125,  119,  120,  115,
2941        57,  111,  118,  118,  124,  119, 1020,  121,  122,  121,
2942       118,  128,  122,  118,  121,  123,  118,  120,  124,  127,
2943       123,  132,  129,  123,  119,   52,  127,  130,  122,  118,
2944       118,  128,  122,  127,  121,  122,  131,  134,  128,  122,
2945       129,  130,  123,  131,  132,   47,  127,  123,  132,  129,
2946       133, 1183,  135,  127,  130,  122,   18,  141,  136,  133,
2947       134,  135,  136,  131,  134,  137,  139,  140,  136,  141,
2948       142,  142,  137,  139,  145,  143,  140,  133,  146,  135,
2949       136, 1183,  140,  143,  141,  136,  146,  153,  145,  136,
2950 
2951       140,  147,  137,  139,  140,  136,  144,  142,  153,  148,
2952       151,  145,  143,  140,  149,   17,  147,  144,  151,  140,
2953       146,  144,  154,  146,  153,  149,  148,  155,  147,  148,
2954       144,  154,  152,  144,  149,  148,  148,  151,  152,  156,
2955       157,  149,  155,  154,  144,    0,  159,  154,  144,  154,
2956       160,  158,  149,  148,  155,  157,  148,    0,  154,  152,
2957       158,  156,    0,  160,    0,  174,  156,  157,  159,  166,
2958       154,  166,  166,  159,  166,  179,  179,  160,  158,  171,
2959       180,  171,  171,  172,  171,  172,  172,  181,  172,  174,
2960       182,  176,  174,  176,  176,    0,  176,  183,  186,  182,
2961 
2962       184,  181,  180,  185,  184,  188,  189,  180,  191,  183,
2963       185,    0,  187,  188,  186,  191,  190,  182,  189,  181,
2964       192,  172,  185,  193,  183,  186,  196,  184,  181,  197,
2965       185,  187,  188,  189,  194,  191,  192,  185,  190,  187,
2966       194,  193,  195,  190,  195,  201,  202,  192,  196,  212,
2967       193,  204,  203,  196,  199,  197,  197,  203,  199,  204,
2968       212,  202,  207,  208,  205,  206,  194,  194,  209,  195,
2969       208,  201,  201,  202,  210,  199,  212,  207,  204,    0,
2970       213,    0,  199,  211,  203,  199,  205,  206,    0,  207,
2971       208,  205,  206,  213,  214,  216,  209,  210,    0,  231,
2972 
2973       209,  210,  199,  200,  216,  211,  214,  213,  200,  215,
2974       211,  217,  215,  200,    0,  218,    0,  222,  221,  200,
2975       200,  214,  216,  209,  215,  221,  200,  220,  222,  224,
2976       200,  231,  225,  217,  227,  200,  215,  218,  217,  215,
2977       200,  227,  218,  225,  222,  221,  200,  200,  219,  220,
2978       232,  219,  229,  219,  220,  224,  224,    0,  234,  235,
2979         0,  227,  230,  236,  225,  219,  229,  219,  230,  238,
2980       225,  237,  232,  239,  219,  219,  237,  232,  219,    0,
2981       219,  240,  235,    0,  229,  242,  235,  239,  244,  230,
2982       234,  244,  219,  229,  219,  236,  237,  241,  237,  245,
2983 
2984       239,  238,  240,  237,  241,  243,  242,  246,  240,  247,
2985       248,  249,  242,  251,  243,  244,  250,  252,  245,  243,
2986       251,  246,  252,  249,  241,  253,  245,  250,  248,  257,
2987       254,  247,  243,  255,  246,  260,  247,  248,  249,  254,
2988       251,  243,  259,  250,  261,  256,  262,  253,    0,  252,
2989       256,  261,  253,  258,  258,  264,  255,  254,  259,  263,
2990       255,  257,  258,  264,  266,  265,  267,  260,  262,  259,
2991       268,  261,  256,  262,  269,  270,  271,  273,  268,    0,
2992       258,  258,  264,  272,  263,  265,  263,  275,  274,  271,
2993       270,  276,  265,    0,    0,  277,  266,  268,  267,  277,
2994 
2995       279,  278,  270,  271,  273,  280,  269,  281,  276,  272,
2996       272,  274,    0,  280,  282,  279,  276,  283,  276,  275,
2997       274,  282,  277,  278,  285,  284,  281,  279,  278,  284,
2998       286,  287,  280,  288,  281,  276,  290,  289,  274,  283,
2999       292,  282,  291,  294,  283,  295,  285,  293,  297,  298,
3000       297,  285,  284,  292,  291,  288,  293,  296,  295,  289,
3001       288,  294,  286,  287,  289,  299,  300,  292,  290,  291,
3002       294,  301,  295,  303,  293,  297,  296,  304,    0,  305,
3003       312,  298,  303,  306,  296,  307,  309,    0,  312,  299,
3004       308,  300,  299,  300,  306,  314,    0,  301,  301,  307,
3005 
3006       303,  310,  311,  304,  304,  305,  305,  312,  315,  309,
3007       306,  307,  307,  309,  308,  316,  317,  308,  318,  310,
3008       311,  315,  319,  322,  323,  320,  307,  314,  310,  311,
3009       324,  321,  326,  325,    0,  315,  328,  324,  326,  319,
3010       327,  317,  325,  317,  329,  319,  331,  316,  323,  319,
3011       318,  320,  320,  321,  327,  322,  323,  324,  321,  326,
3012       325,  330,  328,  328,  332,  333,  319,  327,  329,  331,
3013       330,  329,  332,  331,  333,  323,  334,  335,  338,  337,
3014       340,  336,    0,    0,    0,  339,  335,  343,  330,  346,
3015       353,  332,  333,  342,  337,  340,  343,  344,  336,    0,
3016 
3017         0,  347,  334,  334,  335,  336,  337,  340,  336,  339,
3018       338,  342,  339,  346,  343,  347,  346,  353,  348,  344,
3019       342,  349,  349,  352,  344,  336,  341,  350,  347,  341,
3020       355,  356,  350,  348,  341,  341,  341,  341,    0,  371,
3021         0,    0,  355,  356,  341,  348,  349,  352,  349,  349,
3022       352,    0,  376,  341,    0,    0,  341,  355,  356,  350,
3023       358,  341,  341,  341,  341,  345,  354,  345,  359,  354,
3024       360,  371,  357,  357,    0,  362,  354,  363,  358,  345,
3025       345,  345,  357,  345,  376,    0,  359,  358,  381,  345,
3026       361,  369,  345,  354,  345,  359,  354,  360,  369,  357,
3027 
3028       357,  362,  362,  363,  363,  366,  345,  345,  345,  364,
3029       345,  364,  361,  365,  367,  368,  370,  361,  369,  372,
3030       381,  372,  375,  368,  374,  365,  385,  366,  370,  367,
3031       372,  374,  366,  377,    0,  384,  364,  372,  383,  386,
3032       365,  367,  368,  370,  375,  372,  372,  378,  372,  375,
3033       380,  374,  379,  378,  379,  377,  383,  372,  385,  408,
3034       377,  384,  384,  380,  372,  383,  386,    0,  387,  378,
3035       382,  390,  421,  392,  378,  391,  379,  380,  390,  379,
3036       378,  379,  411,  382,  393,  392,  382,    0,  382,  411,
3037       387,  408,  394,  391,  382,  387,  393,  382,  390,  391,
3038 
3039       392,    0,  391,    0,  421,  394,    0,  396,  397,  411,
3040       382,  393,  400,  382,  399,  382,  388,  401,  388,  394,
3041       391,  397,  401,  396,  388,  402,  399,  463,  388,  404,
3042       400,  396,  402,  388,  396,  397,  388,  404,  403,  400,
3043       407,  399,  388,  388,  403,  388,  402,    0,  407,  401,
3044       396,  388,  402,  406,  463,  388,  404,    0,  405,  402,
3045       388,  410,  410,  388,  389,  403,  389,  407,  409,    0,
3046       405,  406,  413,  488,  412,  418,  414,  409,  488,  389,
3047       406,  413,  389,  797,  389,  405,  389,  412,  410,  415,
3048       389,  389,  416,  389,  414,  409,  415,  418,  414,  416,
3049 
3050       488,  412,  418,  414,  413,  417,  389,  419,  413,  389,
3051       420,  389,  797,  389,  398,  398,  415,  417,  422,  416,
3052       424,  414,  420,  423,  398,  398,  398,  398,  398,  419,
3053       423,  398,  417,  425,  419,  424,  426,  420,  427,  398,
3054       427,  398,  398,    0,  422,  422,  425,  424,  428,  429,
3055       423,  398,  398,  398,  398,  398,  430,  430,  398,  428,
3056       425,  433,  431,  432,  437,  427,  434,  435,  426,  431,
3057       432,  429,  433,  436,  439,  428,  429,  434,  438,  438,
3058       435,    0,  441,    0,  440,  430,  437,  442,  433,  431,
3059       432,  437,  443,  434,  435,  442,  438,  439,  436,  440,
3060 
3061       436,  439,  444,  438,  443,  438,  438,  440,  441,  441,
3062       451,  440,  445,  444,  442,  446,  449,  450,  452,  443,
3063       462,  445,  453,  438,  447,  447,  440,  454,  446,  444,
3064       457,  458,  451,  456,  462,  450,  447,  451,  447,  445,
3065       453,  452,  446,  447,  450,  452,  459,  462,  449,  453,
3066       455,  447,  447,  457,  456,  458,  455,  457,  458,  454,
3067       456,    0,  460,  447,  461,  447,  448,  465,  459,  460,
3068       464,  467,  466,  459,  448,  448,    0,  455,  448,  448,
3069         0,  465,  448,  469,  468,    0,    0,    0,  448,  460,
3070       461,  461,  464,  448,  465,  469,  471,  464,  466,  466,
3071 
3072       472,  448,  448,  467,  473,  448,  448,  468,  470,  448,
3073       469,  468,  473,  474,  470,  480,  476,  475,  471,  477,
3074       479,  478,  472,  471,  475,  476,  479,  472,  474,  481,
3075       473,  473,  482,    0,  477,  470,  484,  480,  483,  473,
3076       474,  487,  480,  476,  475,  478,  477,  479,  478,  485,
3077       490,  481,  486,  483,  491,  482,  481,    0,  486,  482,
3078       493,    0,  484,  484,  494,  483,  493,  487,  487,  495,
3079       496,  485,  497,  498,  500,  495,  485,  499,  497,  486,
3080       491,  491,  490,  494,  499,  505,  507,  493,  496,  500,
3081       509,  494,  508,  503,  506,  498,  495,  496,  511,  497,
3082 
3083       498,  500,  503,  502,  499,  502,  504,  506,  517,  510,
3084       508,  511,  502,  504,  513,    0,  514,  505,  507,  508,
3085       503,  506,  509,  512,  519,  511,  512,  515,  516,  514,
3086       502,  510,  502,  504,  520,    0,  510,  518,  513,  515,
3087       517,  513,  512,  514,  518,  521,  516,  522,  519,  527,
3088       512,  519,  525,  512,  515,  516,  523,  520,  521,  524,
3089       526,  523,  530,  529,  518,  524,  520,  532,  528,  522,
3090       526,  527,  521,  530,  522,  525,  527,    0,  538,  525,
3091       528,  532,  572,  523,  520,  529,  524,  526,  531,  530,
3092       529,  535,  537,  536,  532,  528,  531,    0,  535,  536,
3093 
3094       539,  538,    0,  540,  537,  538,  541,    0,  539,  542,
3095         0,  555,  544,  555,  572,  531,  533,  541,  535,  537,
3096       536,  533,  543,  533,  544,  540,  543,  539,    0,  533,
3097       540,  533,  542,  541,  533,  533,  542,  545,  555,  544,
3098       550,  533,  533,  533,  543,  551,    0,  547,  533,  543,
3099       533,  550,  546,  543,  549,  546,  533,  545,  533,  545,
3100       548,  533,  533,  546,  545,  547,  549,  550,  533,  551,
3101       548,  552,  551,  553,  547,  552,  554,    0,  556,  546,
3102       553,  549,  546,  557,  545,  560,  558,  559,  561,  562,
3103       564,    0,  548,  577,  562,  557,  561,  548,  552,  559,
3104 
3105       553,  558,  554,  554,  556,  556,  563,  566,  564,  567,
3106       557,  560,  560,  558,  559,  561,  562,  564,  565,  566,
3107       569,  570,  573,  571,  575,  577,  565,  574,  563,  576,
3108       567,  578,  575,  563,  566,  582,  567,  573,  569,  574,
3109       580,  581,  576,  578,  570,  565,  571,  569,  570,  573,
3110       571,  575,  579,  584,  574,  581,  576,  585,  578,  586,
3111       582,  579,  582,  580,  588,  591,  583,  580,  581,  583,
3112       587,  589,  584,  590,  592,  597,  598,  594,  593,  579,
3113       584,  598,  595,  603,  585,  587,  597,  592,  590,  591,
3114       593,  586,  591,  583,  600,  601,  588,  587,  606,  594,
3115 
3116       590,  592,  597,  589,  594,  593,  595,  596,  598,  595,
3117       599,  604,  605,  607,  596,  603,  610,  596,  607,  608,
3118       609,  600,  601,  614,  599,  596,  609,  611,  608,  615,
3119       606,  610,  613,  612,  596,  616,  620,  599,  604,  605,
3120       613,  596,  614,  610,  596,  607,  608,  609,  617,  619,
3121       614,  611,  617,  615,  611,  612,  615,  616,  618,  613,
3122       612,  622,  616,  621,  623,  624,  618,  625,  620,  626,
3123       621,  627,  619,  623,  630,  617,  619,    0,  629,  633,
3124       625,  634,  630,  627,  622,  618,  631,  624,  622,    0,
3125       621,  623,  624,  628,  625,  626,  626,  631,  627,  628,
3126 
3127       629,  630,  632,  634,  635,  629,  638,    0,  634,  632,
3128       636,  633,  637,  631,  639,  636,  640,  635,  636,  636,
3129       628,  637,  641,  639,  644,  642,  646,  640,    0,  632,
3130       648,  635,  638,  638,  636,  643,  644,  636,  647,  637,
3131       651,  639,  636,  640,  641,  636,  636,  642,  643,  641,
3132       649,  644,  642,  650,  648,  653,  647,  648,  646,  652,
3133       654,  658,  643,  655,  651,  647,  653,  651,  658,  654,
3134       656,  657,  649,  649,  659,  650,  660,  649,  664,  668,
3135       650,  652,  653,  655,  656,  662,  652,  654,  658,  663,
3136       655,  664,  661,  657,  660,  663,  666,  656,  657,  649,
3137 
3138       661,  659,  665,  660,  669,  664,  667,  662,  670,  671,
3139       671,  668,  662,  665,  666,  672,  663,  673,  674,  661,
3140       680,  667,    0,  666,  676,  669,  672,  675,  678,  665,
3141       677,  669,  670,  667,  681,  670,  675,  676,  671,  679,
3142       674,  673,  672,  677,  673,  674,  682,  679,  683,  685,
3143       678,  676,  680,  686,  675,  678,  681,  677,  684,  688,
3144       684,  681,  687,  689,  686,  691,  679,  687,    0,    0,
3145         0,  685,  683,  688,  690,  683,  685,  689,  682,  692,
3146       686,  690,  693,  694,  695,  684,  688,  692,  690,  690,
3147       689,  695,  696,  697,  687,  700,  690,  691,  703,  699,
3148 
3149       693,  690,  698,  703,    0,  694,  692,  704,  690,  693,
3150       694,  695,    0,  697,  699,  690,  690,  701,  696,  696,
3151       697,  702,  698,  699,  706,  708,  699,  700,  707,  698,
3152       703,  702,  701,  704,  704,  705,  707,  705,  710,  709,
3153       715,  699,    0,  702,  701,  709,  716,  710,  702,  706,
3154       708,  706,  708,  713,  711,  707,  717,  714,  702,  712,
3155       724,  713,  705,  711,  714,  710,  709,  718,  712,  716,
3156       719,    0,  715,  716,  717,  726,  720,    0,  723,  718,
3157       713,  711,  719,  717,  714,  720,  712,  721,  726,  722,
3158       723,  727,  724,  725,  718,  721,  728,  719,  722,  731,
3159 
3160       725,  729,  726,  720,  728,  723,  727,  729,    0,  730,
3161       732,    0,  762,  722,  721,  734,  722,  730,  727,  732,
3162       725,  733,  731,  728,  734,  722,  731,  736,  729,  735,
3163       735,  737,  733,  738,  739,  736,  730,  732,  735,  737,
3164       740,  741,  734,  743,  762,  748,  742,  739,  733,  744,
3165       745,  743,  746,  748,  736,  738,  735,  735,  737,  742,
3166       738,  739,  750,  745,  741,  744,  740,  740,  741,  747,
3167       743,  749,  748,  742,  746,  751,  744,  745,  754,  746,
3168       747,  752,  750,  753,  755,  749,  753,  757,    0,  750,
3169       756,  758,    0,  763,  760,    0,  747,  751,  749,  756,
3170 
3171       754,  752,  751,  759,  761,  754,  755,  757,  752,  758,
3172       753,  755,  760,  764,  757,  763,  759,  756,  758,  761,
3173       763,  760,  765,  766,  767,  779,  768,  772,  769,  771,
3174       759,  761,    0,  770,    0,  771,  766,  764,  768,  773,
3175       764,  775,  767,  774,  776,  765,  770,  773,  774,  765,
3176       766,  767,  769,  768,  772,  769,  771,  779,  782,  778,
3177       770,  780,  776,  775,  783,  773,  773,  778,  775,  780,
3178       781,  776,  786,  785,  773,  774,  784,  781,  784,  783,
3179       787,  782,  785,  789,  794,  782,  778,  791,  780,  788,
3180         0,  783,  789,  790,  791,  790,  794,  781,  798,  787,
3181 
3182       785,    0,  839,  784,  786,  801,  802,  787,  798,  788,
3183       789,  794,    0,  804,  791,  805,  788,  806,  804,    0,
3184       790,  792,  808,  801,  792,  798,  807,  802,  792,  839,
3185       809,  792,  801,  802,  810,  806,  805,  807,  792,  792,
3186       804,  792,  805,  811,  806,  808,  792,  815,  792,  808,
3187       818,  792,    0,  807,  812,  792,  809,  809,  792,  811,
3188       810,  810,  813,  812,  814,  792,  792,  817,  792,  854,
3189       811,  814,  818,  820,  817,  813,  860,  818,  819,  815,
3190       822,  812,  820,  822,  819,    0,    0,    0,  821,  813,
3191       823,  814,  816,  816,  817,  816,  825,    0,  816,  824,
3192 
3193       820,  854,  826,  816,  825,  819,  823,  822,  860,  816,
3194       816,  821,  816,  823,  829,  821,  827,  823,  816,  816,
3195       816,  824,  816,  825,  826,  816,  824,  831,  827,  826,
3196       816,  832,  828,  823,  828,  830,  816,  816,  829,  816,
3197       830,  829,  834,  827,  833,    0,  835,  831,  836,    0,
3198       837,  840,    0,  841,  831,    0,  833,  832,  832,  828,
3199       838,  843,    0,  864,  834,    0,  846,  830,  841,  834,
3200       836,  833,  835,  835,  837,  836,  840,  837,  840,  844,
3201       841,  842,  838,  845,  843,  846,  844,  838,  843,  842,
3202       847,  845,  848,  846,  849,  864,  850,  852,  853,  856,
3203 
3204       851,    0,  866,  853,  848,    0,  844,  849,  842,  851,
3205       845,  855,  852,  857,  859,  865,  847,  847,  857,  848,
3206       861,  849,  850,  850,  852,  853,  856,  851,  863,  861,
3207       867,  862,  868,  855,  866,  863,  859,  865,  855,  862,
3208       870,  859,  865,  869,  871,  857,  873,  861,  877,    0,
3209       875,  872,  874,  868,  867,  863,  885,  867,  862,  868,
3210       872,  874,  869,  876,  881,  873,  883,  870,  877,  879,
3211       869,  871,  875,  873,  878,  877,  880,  875,  872,  874,
3212       879,  882,  884,  878,  880,  883,  876,  887,  885,  886,
3213       876,  881,  889,  883,  890,  887,  879,  891,  886,  882,
3214 
3215       891,  878,  894,  880,  893,  892,  895,    0,  882,  884,
3216       889,    0,  890,  896,  887,  897,  886,  892,  899,  889,
3217       894,  890,  903,  898,  891,  898,  893,  900,  897,  894,
3218       895,  893,  892,  895,  901,  896,  899,    0,  902,  901,
3219       896,  900,  897,  904,  905,  899,  906,  911,  903,  903,
3220       898,  902,  905,  907,  900,  904,  907,    0,  908,  912,
3221       909,  914,    0,  913,  906,  902,  901,  908,  909,  913,
3222       904,  905,  911,  906,  911,  915,  916,    0,  926,  921,
3223       907,  915,  917,  914,  909,  908,  912,  909,  914,  917,
3224       913,  919,  918,  920,  923,  909,  919,  921,  916,  918,
3225 
3226       920,  922,  915,  916,  924,  922,  921,  925,  927,  917,
3227       926,  929,  928,  924,  933,  925,  930,  923,  919,  918,
3228       920,  923,  929,  931,  930,  932,  927,  928,  922,  934,
3229       936,  924,  935,  933,  925,  927,  931,  937,  929,  928,
3230       938,  933,  934,  930,  939,  937,  932,  938,  940,  941,
3231       931,  942,  932,  944,  935,  940,  934,  936,  942,  935,
3232       943,  944,  939,  945,  937,  943,  946,  938,  941,  947,
3233       945,  939,  948,  946,    0,  940,  941,  950,  942,  949,
3234       944,  951,  953,  954,  952,    0,    0,  943,  961,  955,
3235       945,  952,  949,  946,  951,  956,  958,    0,  960,  959,
3236 
3237       962,  947,  957,  956,  948,  959,  949,  963,  951,  950,
3238       957,  952,  955,  965,  953,  954,  955,  957,  958,  964,
3239       961,  966,  956,  958,  960,  960,  959,  965,  964,  957,
3240       968,  963,  962,  970,  963,  967,  969,  957,  972,  973,
3241       965,  971,  967,  972,  974,  969,  964,  975,    0,    0,
3242         0,  973,    0,  966,  971,  970,  971,  968,  979,  976,
3243       970, 1017,  967,  969,  976,  971,  973,  974,  971,  977,
3244       972,  974,  978,  975,  975,  982,  977,  983,  982,  980,
3245       979,  971,  984,  971,  978,  979,  976,  980,  988,  986,
3246       983,  987,    0, 1017,  988,  984,  977,  992,  987,  978,
3247 
3248         0,  990,  982,  986,  983,    0,  980,  991,  994,  984,
3249         0,  995,    0,  995,  993,  988,  986,  997,  987,  989,
3250       992,  989,    0,  990,  992,  989,  993,  989,  990,  997,
3251       996,  996,  989,  991,  991,  994,  998,  989,  995,  999,
3252      1001,  993, 1000,  989,  997, 1001,  989, 1002,  989,  998,
3253      1005, 1010,  989,  996,  989, 1000, 1004,  996,  996,  989,
3254      1003,  999, 1005,  998,  989, 1002,  999, 1007, 1004, 1000,
3255      1006, 1008, 1001, 1003, 1002, 1009, 1012, 1005, 1010, 1004,
3256      1006, 1013, 1007, 1004, 1011, 1015,    0, 1003, 1009, 1012,
3257      1011, 1014, 1006, 1008, 1007, 1004, 1018, 1006, 1008, 1013,
3258 
3259      1016, 1021, 1009, 1012, 1019, 1022, 1015, 1006, 1013, 1023,
3260      1022, 1011, 1015, 1014, 1024,    0, 1027, 1023, 1014, 1026,
3261         0,    0, 1016, 1024, 1028, 1029, 1031, 1016, 1018,    0,
3262      1030, 1019, 1022, 1021, 1026, 1032, 1023, 1028, 1027, 1034,
3263      1029, 1024, 1025, 1027,    0, 1033, 1026, 1025, 1031, 1025,
3264      1034, 1028, 1029, 1031, 1032, 1025, 1030, 1030, 1033, 1038,
3265      1025, 1025, 1032, 1036, 1035, 1037, 1034, 1025, 1025, 1025,
3266      1038, 1036, 1033, 1037, 1025, 1039, 1025, 1035, 1040,    0,
3267         0, 1041, 1025, 1050, 1042, 1046, 1038, 1025, 1025, 1044,
3268      1036, 1035, 1037, 1042, 1025, 1043, 1041, 1047, 1044, 1051,
3269 
3270      1040, 1045, 1048, 1053, 1054, 1040, 1043, 1039, 1041, 1048,
3271      1045, 1042, 1046, 1052, 1055, 1050, 1044, 1056, 1054,    0,
3272      1047, 1052, 1043, 1051, 1047, 1053, 1051, 1057, 1045, 1048,
3273      1053, 1054, 1059, 1060, 1061, 1057, 1062, 1063,    0, 1056,
3274      1052,    0, 1066, 1065, 1056, 1061, 1055,    0, 1064, 1066,
3275      1059, 1060, 1072, 1067, 1057, 1063, 1064, 1069, 1070, 1059,
3276      1060, 1061,    0, 1071, 1063, 1065, 1067, 1068, 1062, 1066,
3277      1065, 1074, 1069, 1072, 1068, 1064, 1070, 1073, 1076, 1072,
3278      1067, 1071, 1078,    0, 1069, 1070, 1079, 1073, 1081, 1076,
3279      1071, 1083, 1082, 1079, 1068, 1078, 1080,    0, 1080, 1083,
3280 
3281      1086, 1084, 1085, 1074, 1073, 1076, 1094, 1093, 1087, 1078,
3282      1081, 1085, 1086, 1079, 1084, 1081, 1088, 1091, 1083, 1092,
3283      1095, 1096, 1097, 1080, 1082, 1093,    0, 1086, 1084, 1085,
3284      1087, 1099, 1094, 1094, 1093, 1087, 1098, 1102, 1088, 1091,
3285      1097, 1092, 1102, 1088, 1091, 1099, 1092, 1105, 1098, 1097,
3286      1101, 1106, 1095, 1096, 1104, 1107, 1110, 1104, 1099, 1105,
3287      1108, 1101, 1109, 1098, 1114, 1115,    0, 1108, 1107, 1102,
3288      1111, 1112, 1115, 1109, 1105, 1106, 1110, 1101, 1106, 1111,
3289      1104, 1104, 1107, 1110, 1104, 1112, 1116, 1108, 1113, 1109,
3290      1117,    0, 1115, 1119, 1118, 1122, 1114, 1111, 1112, 1121,
3291 
3292      1113, 1123, 1117,    0,    0, 1124, 1119, 1123, 1125, 1128,
3293      1136, 1127, 1126, 1132,    0, 1113, 1118, 1117, 1116, 1122,
3294      1119, 1118, 1122, 1126, 1129, 1121, 1121, 1124, 1123, 1127,
3295      1125, 1128, 1124, 1130, 1132, 1125, 1128, 1134, 1127, 1126,
3296      1132, 1133, 1136, 1135, 1137, 1138, 1129, 1139, 1130, 1135,
3297         0, 1129, 1133, 1140,    0, 1141, 1139, 1142, 1134, 1143,
3298      1130, 1145, 1144, 1138, 1134, 1146, 1142, 1143, 1133, 1144,
3299      1135, 1137, 1138, 1147, 1139, 1148, 1149, 1140, 1152, 1146,
3300      1140, 1141, 1141, 1154, 1142, 1145, 1143, 1150, 1145, 1144,
3301      1151, 1153, 1146, 1157, 1156, 1159, 1158, 1160, 1161,    0,
3302 
3303         0,    0, 1157, 1158, 1162, 1147, 1164, 1148, 1149, 1150,
3304      1152, 1163, 1151, 1153, 1150, 1154, 1156, 1151, 1153, 1160,
3305      1157, 1156, 1162, 1158, 1160, 1161, 1165, 1159, 1164, 1163,
3306      1167, 1162, 1166, 1164, 1168, 1165, 1169,    0, 1163, 1171,
3307      1166, 1172, 1170, 1173, 1174, 1175, 1178, 1180, 1171,    0,
3308         0, 1173, 1169, 1165, 1167, 1176, 1172, 1167, 1168, 1166,
3309      1180, 1168, 1177, 1169, 1170, 1181, 1171, 1176, 1172, 1170,
3310      1173, 1179, 1182, 1178, 1180, 1185, 1174, 1175, 1184, 1179,
3311      1181, 1182, 1176, 1186, 1177, 1190, 1187, 1184, 1187, 1177,
3312      1191, 1186, 1181, 1185, 1192, 1189, 1193, 1194, 1179, 1182,
3313 
3314      1198, 1196, 1185, 1189, 1194, 1184, 1202, 1197, 1199, 1191,
3315      1186, 1200, 1190, 1187, 1196, 1198, 1192, 1191, 1193, 1197,
3316      1201, 1192, 1189, 1193, 1194, 1204, 1205, 1198, 1196, 1200,
3317      1199,    0, 1201, 1202, 1197, 1199, 1203, 1206, 1200, 1207,
3318      1208,    0,    0, 1203, 1209,    0, 1210, 1201, 1211, 1206,
3319      1207, 1215, 1212, 1216, 1213, 1221,    0, 1204, 1205, 1215,
3320      1214, 1211, 1208, 1203, 1206, 1212, 1207, 1208, 1210, 1209,
3321      1217, 1209, 1214, 1210, 1218, 1211, 1213, 1216, 1215, 1212,
3322      1216, 1213, 1221, 1219, 1223, 1222, 1218, 1214, 1225, 1227,
3323      1217, 1219, 1226, 1224, 1233, 1228, 1227, 1217, 1222,    0,
3324 
3325      1225, 1218, 1224, 1230, 1228, 1232, 1228, 1223, 1231, 1228,
3326      1219, 1223, 1222, 1226,    0, 1225, 1227, 1228, 1234, 1226,
3327      1224, 1233, 1228, 1236, 1235, 1244, 1230, 1232, 1239, 1243,
3328      1230, 1228, 1232, 1228, 1231, 1231, 1228, 1235, 1234, 1241,
3329      1237, 1242, 1245, 1238, 1243, 1234, 1239, 1236, 1237, 1242,
3330      1236, 1235, 1238, 1250, 1248, 1239, 1243, 1244, 1246, 1247,
3331      1251, 1241, 1248,    0, 1245, 1255, 1241, 1237, 1242, 1245,
3332      1238, 1246, 1252, 1254,    0, 1247, 1253, 1257, 1256, 1258,
3333      1250, 1248, 1251, 1253, 1260, 1246, 1247, 1251, 1255, 1257,
3334      1259, 1258, 1255, 1260, 1252, 1254, 1256, 1261, 1259, 1252,
3335 
3336      1254, 1262, 1264, 1253, 1257, 1256, 1258, 1263, 1260, 1261,
3337      1264, 1260, 1265, 1268, 1266, 1267, 1269, 1259, 1265, 1270,
3338      1260, 1262, 1263, 1266, 1261, 1268, 1271, 1273, 1262, 1264,
3339      1272, 1280, 1269, 1271, 1263, 1274, 1267, 1272, 1275, 1265,
3340      1268, 1266, 1267, 1269, 1276, 1273, 1275, 1274, 1277, 1279,
3341      1278, 1270, 1278, 1271, 1273, 1285, 1277, 1272, 1283, 1276,
3342      1281, 1279, 1274, 1280, 1286, 1275, 1284, 1281, 1285, 1288,
3343      1289, 1276, 1287, 1290, 1299, 1277, 1279, 1278, 1284, 1287,
3344      1288, 1291, 1285, 1286, 1295, 1293, 1291, 1281, 1290, 1294,
3345      1283, 1286, 1289, 1284, 1292, 1303, 1288, 1289, 1293, 1287,
3346 
3347      1290, 1297, 1292, 1294,    0, 1298, 1299,    0,    0, 1300,
3348      1295, 1295, 1293, 1291,    0, 1297, 1294,    0,    0, 1301,
3349      1302, 1292, 1296, 1298, 1306, 1307, 1296, 1303, 1297, 1296,
3350      1296, 1307, 1298, 1304, 1296, 1300, 1300, 1305, 1302, 1308,
3351      1296, 1301, 1312, 1313, 1296, 1311, 1301, 1302, 1296, 1296,
3352      1306, 1306, 1307, 1296, 1311, 1304, 1296, 1296, 1314, 1305,
3353      1304, 1296, 1310, 1315, 1305, 1308, 1308, 1296, 1309, 1310,
3354      1309, 1296, 1311, 1316, 1312, 1313, 1317, 1319, 1318, 1320,
3355      1316, 1315, 1314, 1322,    0, 1314, 1319, 1321,    0, 1310,
3356      1315, 1318, 1309, 1325, 1323, 1309, 1324, 1309, 1317, 1328,
3357 
3358      1316, 1329,    0, 1317, 1319, 1318,    0, 1325, 1321, 1331,
3359      1327, 1320, 1328, 1360, 1321, 1322, 1323, 1330, 1330, 1324,
3360      1325, 1323, 1333, 1324, 1326, 1331, 1328, 1329, 1329, 1326,
3361      1336, 1326, 1327, 1326, 1335, 1326, 1331, 1327, 1334, 1336,
3362      1360, 1335, 1326,    0,    0, 1333, 1330, 1338, 1337, 1333,
3363      1334, 1326, 1338, 1339, 1340, 1342, 1326, 1336, 1326, 1341,
3364      1326, 1335, 1326, 1343, 1341, 1334, 1337, 1344, 1348, 1349,
3365      1345, 1339, 1340,    0, 1347, 1337, 1343, 1342, 1345, 1338,
3366      1339, 1340, 1342, 1346, 1350, 1344, 1341, 1347, 1351, 1352,
3367      1343, 1346, 1353, 1354, 1344, 1349, 1349, 1345, 1356, 1350,
3368 
3369      1348, 1347, 1352, 1355, 1357, 1359, 1354, 1351, 1362, 1366,
3370      1346, 1350, 1363, 1357, 1353, 1351, 1352, 1361, 1356, 1353,
3371      1354, 1355, 1358, 1364, 1358, 1356, 1370, 1359, 1372, 1361,
3372      1355, 1357, 1359, 1366, 1363, 1362, 1366, 1367, 1368, 1363,
3373      1369,    0, 1373, 1378, 1361, 1371, 1368,    0, 1364, 1358,
3374      1364, 1374, 1371, 1370, 1375, 1372, 1376, 1377, 1369, 1367,
3375      1375, 1380, 1376, 1377, 1367, 1368, 1381, 1369, 1373, 1373,
3376      1378, 1380, 1371, 1374, 1384, 1379, 1383, 1385, 1374, 1382,
3377      1386, 1375, 1379, 1376, 1377, 1387, 1382, 1389, 1380,    0,
3378      1381, 1390,    0, 1381, 1387, 1385, 1384, 1392, 1394, 1391,
3379 
3380         0, 1384, 1379, 1390, 1385, 1386, 1382, 1386, 1383, 1393,
3381      1395, 1389, 1387, 1391, 1389, 1397, 1396,    0, 1390, 1392,
3382      1394, 1399, 1393, 1398, 1392, 1394, 1391, 1400, 1406, 1395,
3383      1402, 1401, 1403, 1407, 1408, 1410, 1393, 1395, 1396, 1397,
3384      1401, 1404, 1397, 1396, 1409, 1398, 1411, 1399, 1399, 1400,
3385      1398, 1402, 1403, 1413, 1400, 1404, 1408, 1402, 1401, 1403,
3386      1406, 1408, 1412, 1414, 1411, 1407, 1409, 1410, 1404, 1413,
3387      1412, 1409, 1415, 1411, 1417, 1418, 1419, 1422, 1421, 1415,
3388      1413, 1422, 1420, 1423, 1418, 1421, 1424, 1425, 1428, 1412,
3389      1414, 1431,    0, 1419, 1420, 1426, 1417,    0, 1435, 1415,
3390 
3391      1429, 1417, 1418, 1419, 1422, 1421, 1429, 1435, 1425, 1420,
3392      1430, 1426, 1432, 1429, 1425, 1423, 1433, 1430, 1424, 1432,
3393      1428, 1434, 1426, 1431, 1436, 1435, 1442, 1429, 1437, 1439,
3394      1438, 1433, 1438, 1429, 1434, 1437, 1440, 1430, 1439, 1432,
3395      1441, 1443, 1444, 1433, 1446, 1443, 1447, 1451, 1434, 1441,
3396      1436, 1436, 1446, 1442, 1450, 1437, 1439, 1438, 1440, 1447,
3397      1448, 1449, 1452, 1440, 1444, 1448, 1451, 1441, 1443, 1444,
3398      1449, 1446, 1450, 1447, 1451, 1452, 1456, 1455, 1453, 1454,
3399      1455, 1450, 1454, 1457, 1458, 1460, 1462,    0, 1449, 1452,
3400      1453, 1454, 1448, 1461, 1456, 1463,    0, 1458,    0, 1455,
3401 
3402      1463, 1467, 1462, 1456, 1455, 1453, 1454, 1455, 1457, 1454,
3403      1457, 1458, 1466, 1462, 1464, 1468, 1461, 1460, 1465, 1465,
3404      1461, 1466, 1464, 1467, 1469, 1470, 1471, 1463, 1467, 1473,
3405      1475, 1476, 1472, 1471, 1470, 1477, 1473, 1468, 1478, 1466,
3406      1476, 1464, 1468, 1475, 1477, 1465, 1469, 1479, 1482,    0,
3407         0, 1469, 1470, 1471, 1472, 1481, 1473, 1475, 1476, 1472,
3408      1480, 1483, 1477, 1481, 1478, 1478, 1484, 1485, 1486, 1480,
3409      1479, 1487, 1488,    0, 1479, 1485, 1483, 1484, 1489, 1490,
3410      1482, 1486, 1481, 1487, 1488, 1492, 1489, 1480, 1483, 1491,
3411      1494, 1493, 1496, 1484, 1485, 1486, 1495, 1499, 1487, 1488,
3412 
3413      1493, 1490, 1495, 1494, 1497, 1489, 1490, 1492, 1498, 1491,
3414      1496, 1501, 1492, 1502, 1500, 1499, 1491, 1494, 1493, 1496,
3415      1498, 1500, 1503, 1495, 1499, 1505, 1504,    0, 1506, 1507,
3416      1497, 1497, 1508, 1511, 1509, 1498, 1510, 1501, 1501, 1504,
3417      1509, 1500, 1512, 1508, 1513, 1502, 1514,    0, 1517,    0,
3418      1507, 1505, 1505, 1504, 1503, 1506, 1507, 1518, 1510, 1508,
3419      1515, 1509, 1520, 1510, 1519, 1511, 1523,    0, 1521,    0,
3420      1525, 1520, 1514, 1514, 1512, 1517, 1513, 1522, 1523, 1515,
3421      1518, 1515, 1519, 1521, 1518, 1524, 1515, 1515, 1527, 1520,
3422      1522, 1519, 1526, 1523, 1528, 1521, 1525, 1525, 1529, 1526,
3423 
3424      1534, 1530, 1537, 1533, 1522, 1524, 1515, 1527, 1515, 1530,
3425      1533, 1529, 1524, 1531, 1538, 1527, 1528, 1532, 1531, 1526,
3426      1537, 1528, 1532, 1535, 1536, 1529, 1534, 1534, 1530, 1537,
3427      1533, 1535, 1536, 1540, 1539, 1541, 1538, 1542,    0, 1544,
3428      1540, 1538, 1539, 1543, 1541, 1531, 1545, 1546, 1544, 1532,
3429      1535, 1536, 1548, 1545, 1547, 1547, 1549, 1551, 1550, 1546,
3430      1540, 1539, 1541, 1552, 1549, 1543, 1544, 1554, 1553, 1542,
3431      1543, 1552, 1555, 1545, 1546, 1554, 1559, 1562, 1558, 1550,
3432      1555, 1547, 1559, 1549, 1548, 1550, 1553, 1561, 1556, 1551,
3433      1552, 1558, 1557, 1565, 1554, 1553, 1556, 1560, 1563, 1555,
3434 
3435      1557, 1562, 1564, 1559, 1562, 1558, 1563, 1566, 1565, 1560,
3436      1564, 1567,    0, 1561, 1561, 1556, 1570, 1568, 1569, 1557,
3437      1565, 1571, 1572, 1573, 1560, 1563, 1576, 1577, 1584, 1564,
3438      1570,    0,    0, 1571, 1566, 1576, 1578, 1573, 1567, 1568,
3439      1572, 1569, 1574, 1570, 1568, 1569, 1574, 1582, 1571, 1572,
3440      1573, 1577, 1579, 1576, 1577, 1580, 1583, 1581, 1578, 1574,
3441      1584, 1586, 1580, 1578, 1579, 1585, 1587, 1574, 1581, 1574,
3442      1589,    0, 1588, 1574, 1582, 1586,    0, 1585, 1583, 1579,
3443      1590, 1592, 1580, 1583, 1581, 1595, 1574, 1593, 1586, 1591,
3444      1592, 1596, 1585, 1589, 1588, 1594, 1591, 1589, 1587, 1588,
3445 
3446      1598, 1600, 1594, 1590, 1601, 1593,    0, 1590, 1592, 1598,
3447      1601, 1603, 1602, 1604, 1593, 1607, 1591, 1595, 1596, 1605,
3448      1609, 1610, 1594, 1618, 1611, 1612, 1605, 1598,    0, 1613,
3449      1615, 1601, 1620, 1600, 1602, 1611, 1612, 1603, 1603, 1602,
3450      1613, 1618, 1607, 1616, 1609, 1604, 1605, 1609, 1610, 1616,
3451      1618, 1611, 1612, 1617, 1615, 1619, 1613, 1615, 1620, 1620,
3452      1617, 1621, 1619, 1622, 1623, 1624, 1625, 1626, 1627, 1622,
3453      1616, 1628, 1623, 1621, 1629, 1631,    0, 1631, 1632, 1625,
3454      1617, 1633, 1619, 1629, 1630, 1632, 1638, 1624, 1621, 1628,
3455      1622, 1623, 1624, 1625, 1627, 1627, 1630, 1634, 1628, 1626,
3456 
3457      1635, 1629, 1631, 1636, 1637, 1632, 1639, 1633, 1633, 1635,
3458      1634, 1630, 1640, 1638, 1641, 1642, 1637,    0, 1643, 1640,
3459      1642, 1644, 1647, 1645, 1634, 1636, 1643, 1635, 1646, 1639,
3460      1636, 1637, 1649, 1639, 1650, 1652, 1646, 1644, 1651, 1640,
3461      1641, 1641, 1642, 1653, 1647, 1643, 1645, 1654, 1644, 1647,
3462      1645, 1655, 1651, 1657, 1653, 1646, 1654, 1652, 1650, 1649,
3463      1660, 1650, 1652, 1659, 1655, 1651, 1657, 1656, 1656, 1658,
3464      1653, 1658, 1662, 1665, 1654, 1656, 1661, 1663, 1655, 1662,
3465      1657, 1659, 1668, 1664, 1663, 1667, 1660, 1660, 1666, 1668,
3466      1659, 1664, 1669, 1671, 1656, 1656, 1658, 1673, 1661, 1662,
3467 
3468      1665, 1670,    0, 1661, 1663, 1674, 1666, 1667, 1676, 1668,
3469      1664, 1672, 1667, 1677, 1678, 1666, 1679, 1669, 1672, 1669,
3470         0, 1676, 1678, 1670, 1679, 1671, 1680, 1674, 1670, 1673,
3471      1682, 1683, 1674, 1684, 1683, 1676, 1685, 1686, 1672, 1687,
3472      1677, 1678, 1688, 1679, 1689, 1695, 1690, 1680, 1687,    0,
3473      1686,    0, 1682, 1680, 1688, 1692, 1691, 1682, 1683, 1684,
3474      1684, 1699, 1685, 1685, 1686, 1691, 1687, 1693, 1689, 1688,
3475      1692, 1689, 1690, 1690, 1693, 1694, 1696, 1695, 1694, 1699,
3476      1697, 1703, 1692, 1691, 1700, 1701, 1702, 1701, 1699, 1704,
3477      1694,    0, 1704, 1705, 1693, 1706, 1697, 1707, 1696, 1694,
3478 
3479      1710, 1717, 1694, 1696, 1697, 1694, 1700, 1697, 1703, 1708,
3480      1702, 1700, 1701, 1702, 1709, 1711, 1704, 1694, 1714, 1707,
3481      1712, 1713, 1715, 1697, 1707, 1705, 1714, 1706, 1716, 1715,
3482      1713, 1718, 1710, 1717, 1712, 1708, 1708, 1711, 1719, 1720,
3483      1709, 1709, 1711, 1721, 1724, 1714, 1722, 1712, 1713, 1715,
3484      1722,    0, 1716, 1726, 1723, 1716, 1725, 1727, 1730, 1729,
3485      1728, 1720, 1726, 1718, 1727, 1730, 1720, 1729, 1737, 1731,
3486      1719, 1724, 1728, 1722,    0, 1721, 1723, 1732, 1725, 1733,
3487      1726, 1723, 1731, 1725, 1727, 1730, 1729, 1728, 1734, 1735,
3488      1732, 1735, 1733, 1737, 1736, 1737, 1731, 1734, 1739, 1738,
3489 
3490      1743, 1744, 1745, 1747, 1732, 1741, 1733, 1738, 1742, 1745,
3491      1747, 1746,    0, 1750, 1743, 1734, 1735, 1736, 1739,    0,
3492      1741, 1736, 1746, 1742, 1748, 1739, 1738, 1743, 1749, 1745,
3493      1747, 1751, 1741, 1744, 1753, 1742, 1754, 1748, 1746, 1750,
3494      1750, 1756, 1755, 1754, 1757, 1758, 1749, 1759,    0, 1751,
3495      1760, 1748, 1749, 1760,    0, 1749, 1756, 1758, 1751, 1772,
3496      1759, 1753, 1762, 1754, 1755, 1764, 1761, 1763, 1756, 1755,
3497      1757, 1757, 1758, 1749, 1759, 1761, 1766, 1760, 1765, 1763,
3498      1762, 1765, 1770, 1768, 1770, 1764, 1772, 1766, 1768, 1762,
3499      1771, 1773, 1764, 1761, 1763, 1768, 1765, 1774, 1775, 1776,
3500 
3501      1777,    0, 1778, 1766,    0, 1765, 1780, 1775, 1765, 1770,
3502      1768, 1779, 1774, 1781, 1771, 1768, 1778, 1771, 1773, 1779,
3503      1782, 1784,    0, 1776, 1774, 1775, 1776, 1777, 1780, 1778,
3504      1783, 1785, 1787, 1780, 1786, 1781, 1783,    0, 1779, 1785,
3505      1781, 1788, 1792, 1784, 1782, 1786, 1791, 1782, 1784, 1788,
3506      1787, 1789, 1790, 1793, 1789, 1790, 1794, 1783, 1785, 1787,
3507      1795, 1786, 1797, 1796, 1791, 1800, 1801, 1795, 1788, 1789,
3508      1800, 1797, 1798, 1791, 1792, 1799, 1794, 1796, 1789, 1790,
3509      1793, 1789, 1805, 1794, 1805, 1798, 1799, 1795, 1801, 1797,
3510      1796, 1802, 1806, 1801, 1807,    0, 1809, 1800, 1808, 1798,
3511 
3512         0, 1806, 1799, 1812,    0, 1814, 1802, 1809, 1810, 1805,
3513      1811,    0, 1815, 1813, 1811, 1816, 1813, 1812, 1802, 1806,
3514      1807, 1807, 1808, 1809, 1816, 1808, 1810, 1814, 1817, 1812,
3515      1812, 1813, 1814, 1826, 1817, 1810, 1811, 1811, 1815, 1815,
3516      1813, 1811, 1816, 1813, 1812, 1818, 1819, 1821, 1823, 1822,
3517      1825, 1819,    0, 1823, 1818, 1817, 1828, 1824, 1827, 1829,
3518      1821, 1822, 1832, 1825,    0, 1826, 1830, 1827, 1831, 1833,
3519      1838, 1841, 1818, 1835, 1821, 1823, 1822, 1825, 1819, 1824,
3520      1835, 1831, 1836, 1828, 1824, 1827, 1837, 1839, 1830, 1836,
3521      1833, 1829, 1840, 1830, 1832, 1831, 1833, 1845, 1840, 1837,
3522 
3523      1835, 1839, 1838, 1841, 1843, 1845, 1849, 1846, 1848, 1836,
3524      1847, 1850, 1851, 1837, 1839, 1846, 1840,    0, 1847, 1840,
3525      1857, 1856, 1852, 1843, 1845, 1840, 1851, 1848, 1849, 1850,
3526      1853, 1843, 1854, 1849, 1846, 1848, 1859, 1847, 1850, 1851,
3527      1852, 1855, 1856, 1858, 1853, 1854, 1861, 1860, 1856, 1852,
3528      1865, 1862, 1857, 1863, 1855, 1867, 1864, 1853, 1862, 1854,
3529      1859, 1860, 1863, 1859, 1864, 1866, 1868, 1870, 1855, 1856,
3530      1869, 1868, 1872, 1861, 1860, 1858, 1870, 1865, 1862, 1866,
3531      1863, 1869, 1873, 1864, 1874,    0, 1875, 1867, 1876, 1873,
3532      1877,    0, 1866, 1868, 1870, 1876, 1878, 1869, 1879, 1872,
3533 
3534      1880, 1887, 1883, 1882, 1880,    0, 1885, 1874, 1875, 1873,
3535      1884, 1874, 1877, 1875, 1886, 1876, 1879, 1877, 1878, 1882,
3536      1883, 1885, 1891, 1878, 1888, 1879, 1886, 1880, 1887, 1883,
3537      1882, 1889, 1888, 1885, 1884, 1890, 1894, 1884, 1892, 1893,
3538      1895, 1886, 1896, 1890, 1901, 1899, 1889, 1897, 1905, 1891,
3539      1903, 1888, 1893, 1899, 1897, 1895, 1894, 1896, 1889, 1903,
3540      1892, 1900, 1890, 1894, 1902, 1892, 1893, 1895, 1900, 1896,
3541      1906, 1904, 1899, 1907, 1897, 1905, 1901, 1903, 1908, 1902,
3542      1907, 1910, 1911, 1912, 1913, 1914, 1918,    0, 1900,    0,
3543      1916, 1902, 1904, 1918, 1906, 1917, 1915, 1906, 1904, 1919,
3544 
3545      1907, 1912,    0, 1910, 1919, 1908, 1922, 1924, 1910, 1920,
3546      1912, 1915, 1914, 1918, 1911, 1916, 1913, 1916, 1920, 1917,
3547      1921, 1923, 1917, 1915, 1925, 1924, 1919, 1927, 1922, 1921,
3548      1926, 1929, 1928, 1922, 1924,    0, 1920, 1933, 1929, 1925,
3549      1931,    0, 1926, 1923, 1932, 1928, 1930, 1921, 1923, 1927,
3550      1928, 1925, 1934, 1930, 1927, 1935, 1932, 1926, 1929, 1928,
3551      1942, 1935, 1931, 1937, 1933, 1940, 1945, 1931, 1930, 1938,
3552      1939, 1932, 1928, 1930, 1937, 1944, 1940, 1938, 1939, 1941,
3553      1930, 1943, 1935, 1943, 1934, 1942, 1941, 1942, 1946, 1948,
3554      1937, 1947, 1940, 1945, 1943, 1949, 1938, 1939, 1947, 1950,
3555 
3556      1953, 1944, 1944, 1951, 1955, 1950, 1941, 1952, 1943, 1951,
3557      1943, 1958, 1954, 1952, 1956, 1946, 1948, 1960, 1947, 1959,
3558      1961, 1949, 1949, 1962, 1961, 1965, 1950, 1953, 1959, 1963,
3559      1951, 1963, 1967, 1964, 1952, 1954, 1955, 1966, 1956, 1954,
3560      1968, 1956, 1970, 1958, 1966, 1962, 1959, 1961, 1970, 1960,
3561      1962, 1969, 1965, 1971, 1967, 1972, 1963, 1964, 1973, 1967,
3562      1964, 1974, 1975, 1969, 1966, 1980,    0, 1968,    0, 1970,
3563         0,    0, 1976, 1976, 1976, 1971,    0, 1972, 1969, 1976,
3564      1971, 1978, 1972, 1974, 1973, 1973, 1977, 1976, 1974, 1979,
3565      1978, 1981, 1983, 1977, 1975, 1982, 1979, 1980, 1981, 1976,
3566 
3567      1976, 1976, 1982, 1984, 1986, 1988, 1976, 1987, 1978, 1986,
3568      1989, 1990, 1983, 1977, 1991, 1992, 1979, 1988, 1981, 1983,
3569      1987, 1993, 1982, 1995, 1994, 1984, 1991, 1990, 1996, 1995,
3570      1984, 1994, 1988, 1998, 1987, 1989, 1986, 1989, 1990, 1993,
3571      2001, 1991, 1997, 1997, 2000, 1999, 2002, 1992, 1993, 2000,
3572      1995, 1994, 1999, 2006, 2003, 1996, 2007, 2008, 2007, 1998,
3573      1998, 2003, 2011, 2012, 2010, 2014, 2001, 2001, 2011, 1997,
3574      2013, 2000, 1999, 2002, 2015, 2008, 2014, 2016, 2013, 2017,
3575      2006, 2003, 2010, 2007, 2008, 2017, 2018, 2015, 2019, 2011,
3576      2022, 2010, 2014, 2020, 2023, 2012, 2025, 2013, 2018, 2021,
3577 
3578      2021, 2015, 2024, 2024, 2016, 2027, 2017, 2025, 2019, 2028,
3579      2029, 2020, 2030, 2018, 2031, 2019, 2022, 2022, 2032, 2030,
3580      2020, 2023, 2033, 2025, 2035, 2036, 2021, 2037,    0, 2024,
3581         0, 2028, 2035, 2038, 2031, 2039, 2028, 2027, 2041, 2030,
3582      2040, 2031, 2029, 2044, 2043, 2041, 2049, 2033, 2042, 2033,
3583      2032, 2035, 2040, 2039, 2037, 2038, 2042, 2036, 2044, 2045,
3584      2038, 2048, 2039, 2046, 2050, 2041, 2051, 2040, 2043, 2052,
3585      2044, 2043, 2046, 2047, 2047, 2042, 2052, 2053, 2049, 2050,
3586      2059,    0, 2062, 2045, 2058, 2054, 2045, 2048, 2048, 2053,
3587      2046, 2050, 2056, 2065, 2062, 2061, 2052, 2057, 2051, 2056,
3588 
3589      2047, 2054, 2057, 2061, 2053, 2066, 2058, 2059, 2054, 2062,
3590      2060, 2058, 2054, 2060, 2067, 2064, 2065, 2069, 2068, 2056,
3591      2065, 2070, 2061, 2064, 2057, 2073, 2071,    0, 2054, 2077,
3592         0, 2066, 2066, 2075, 2074, 2067, 2068, 2060, 2072, 2070,
3593      2074, 2067, 2064, 2072, 2069, 2068, 2075, 2076, 2070, 2071,
3594      2078, 2077, 2073, 2071, 2072, 2076, 2077, 2078, 2081, 2079,
3595      2075, 2074, 2080,    0, 2082, 2072, 2079, 2083, 2085, 2080,
3596      2072, 2084, 2086, 2082, 2076, 2087,    0, 2078, 2090, 2083,
3597      2088,    0, 2085, 2094, 2098, 2096, 2079, 2093, 2100, 2080,
3598      2081, 2082, 2091, 2084, 2083, 2085, 2090, 2091, 2084, 2086,
3599 
3600      2103, 2087, 2087, 2088, 2092, 2090, 2102, 2088, 2091, 2093,
3601      2094, 2092, 2096, 2097, 2093, 2103, 2098, 2104, 2097, 2091,
3602      2100, 2101, 2101, 2106, 2091, 2111, 2108, 2103, 2102, 2107,
3603         0, 2092, 2109, 2102, 2110, 2112, 2110, 2113, 2106, 2114,
3604      2112, 2108,    0, 2115, 2124, 2097, 2117, 2116, 2101, 2104,
3605      2106, 2115, 2107, 2108, 2116, 2122, 2107, 2111, 2109, 2109,
3606      2118, 2110, 2112, 2120, 2121, 2125, 2114, 2126, 2117, 2113,
3607      2115, 2124, 2121, 2117, 2116, 2118, 2127, 2122, 2120, 2128,
3608      2131, 2130, 2122, 2129, 2132,    0, 2134, 2118, 2130, 2125,
3609      2120, 2121, 2125, 2126, 2126, 2129, 2133, 2135, 2137, 2138,
3610 
3611      2148,    0, 2142, 2127, 2140, 2132, 2128, 2134, 2130, 2141,
3612      2129, 2132, 2131, 2134, 2143, 2135, 2147, 2142, 2133, 2145,
3613      2137, 2149, 2146, 2133, 2135, 2137, 2138, 2148, 2140, 2142,
3614      2150, 2140, 2141, 2151, 2145, 2152, 2141, 2146, 2147, 2149,
3615      2143, 2143, 2153, 2147, 2154, 2155, 2145, 2156, 2149, 2146,
3616      2157, 2154, 2150, 2158, 2160, 2151, 2156, 2150, 2157, 2152,
3617      2151, 2159, 2152, 2155, 2161, 2164, 2162, 2179, 2170, 2153,
3618      2163, 2154, 2155, 2161, 2156, 2170, 2158, 2157, 2164, 2163,
3619      2158, 2167, 2168, 2159, 2162, 2166, 2160, 2169, 2159, 2171,
3620      2167, 2161, 2164, 2162, 2179, 2170, 2166, 2163, 2173, 2172,
3621 
3622      2168, 2174, 2175, 2181, 2176, 2169, 2188, 2174, 2167, 2168,
3623      2182, 2166, 2166, 2173, 2169, 2171, 2171, 2172, 2176,    0,
3624      2191, 2182, 2183, 2166, 2175, 2173, 2172, 2181, 2174, 2175,
3625      2181, 2176, 2184, 2183, 2186, 2187, 2194, 2182, 2188, 2190,
3626      2189, 2192, 2193, 2184, 2202, 2191, 2186, 2191, 2187, 2183,
3627      2189, 2193, 2195, 2197, 2192, 2198, 2200, 2201, 2210, 2184,
3628      2200, 2186, 2187, 2194, 2203, 2190, 2190, 2189, 2192, 2193,
3629      2204, 2195, 2207, 2210, 2214, 2214, 2202, 2203, 2201, 2195,
3630      2197, 2198, 2198, 2200, 2201, 2210, 2206, 2205, 2211, 2209,
3631      2204, 2203, 2205, 2206, 2208, 2209, 2212, 2204, 2207, 2207,
3632 
3633      2215, 2214, 2208, 2211, 2213, 2216, 2217,    0, 2212,    0,
3634      2245, 2217,    0, 2206, 2205, 2211, 2209, 2216, 2215, 2213,
3635      2208, 2208, 2218, 2212, 2223, 2224, 2218, 2215, 2221, 2208,
3636      2227, 2213, 2216, 2219, 2219, 2221, 2222, 2219, 2217, 2223,
3637      2222, 2226, 2245, 2228, 2225, 2231,    0,    0, 2226, 2218,
3638      2219, 2223, 2224, 2225, 2227, 2221, 2232, 2227, 2219, 2229,
3639      2219, 2219, 2234, 2222, 2219, 2228, 2229, 2231, 2226, 2233,
3640      2228, 2225, 2231, 2235, 2237, 2241, 2239, 2219, 2233, 2240,
3641      2242, 2232, 2250, 2232, 2234, 2239, 2229, 2243, 2248, 2234,
3642      2241, 2244, 2237, 2235, 2253, 2243, 2233, 2240, 2244, 2249,
3643 
3644      2235, 2237, 2241, 2239, 2246, 2242, 2240, 2242, 2252, 2250,
3645      2255, 2246, 2249, 2248, 2243, 2248, 2251, 2251, 2244, 2253,
3646      2256, 2253, 2259, 2260, 2257, 2258, 2249, 2262,    0, 2259,
3647      2252, 2246, 2255, 2257, 2258, 2252, 2261, 2255, 2263, 2264,
3648      2265, 2262, 2256, 2251, 2264, 2269, 2270, 2256, 2267, 2259,
3649      2271, 2257, 2258, 2263, 2262, 2260, 2267, 2268, 2261, 2265,
3650      2269, 2275, 2272, 2261, 2276, 2263, 2279, 2265, 2273, 2277,
3651      2268, 2264, 2269, 2270, 2274, 2267, 2271, 2271, 2272, 2278,
3652      2273, 2274, 2281, 2286, 2268, 2285, 2276, 2282, 2278, 2272,
3653      2283, 2276, 2280, 2275, 2277, 2273, 2277, 2284, 2279, 2287,
3654 
3655      2280, 2274, 2282, 2285, 2291, 2286, 2278, 2289, 2287, 2281,
3656      2286, 2280, 2285, 2300, 2282, 2290, 2283, 2283, 2290, 2280,
3657      2293, 2294, 2292, 2284, 2284, 2293, 2287, 2280, 2292, 2291,
3658      2289, 2291, 2295, 2290, 2289, 2300, 2294, 2298, 2296, 2299,
3659      2300, 2301, 2290, 2303, 2305, 2290, 2306,    0, 2294, 2292,
3660      2295, 2298, 2293, 2296, 2299, 2304, 2311, 2303, 2311, 2295,
3661      2307,    0, 2305, 2301, 2298, 2296, 2299, 2304, 2301, 2307,
3662      2303, 2305, 2308, 2306, 2304, 2309, 2312, 2310, 2313, 2314,
3663      2316, 2308, 2304, 2311, 2309, 2317, 2318, 2307, 2310, 2312,
3664      2313,    0, 2319, 2318, 2304, 2316, 2320, 2321,    0, 2308,
3665 
3666      2317, 2314, 2309, 2312, 2310, 2313, 2314, 2316, 2322, 2325,
3667      2327, 2332, 2317, 2318, 2319, 2321, 2328, 2322, 2320, 2319,
3668      2328, 2329, 2325, 2320, 2321, 2330, 2331, 2333, 2331, 2332,
3669      2325, 2327, 2334, 2329, 2330, 2322, 2325, 2327, 2332, 2335,
3670      2338,    0, 2336, 2328, 2340, 2343, 2339, 2337, 2329, 2325,
3671      2334, 2336, 2330, 2331, 2333, 2337, 2342, 2344, 2340, 2334,
3672      2345, 2346, 2344, 2338, 2342, 2345, 2335, 2338, 2339, 2336,
3673      2347, 2340, 2348, 2339, 2337,    0, 2350, 2343, 2351, 2354,
3674      2355,    0, 2358, 2342, 2344, 2351, 2356,    0, 2354, 2359,
3675      2357, 2363, 2345, 2346, 2367, 2350, 2348, 2369, 2365, 2348,
3676 
3677      2356, 2361, 2347, 2350, 2360, 2351, 2354, 2355, 2357, 2358,
3678      2361, 2356, 2356, 2356, 2364, 2359, 2359, 2357, 2366, 2360,
3679      2365, 2367,    0, 2363, 2368, 2365, 2364, 2356, 2361, 2369,
3680      2371, 2360, 2372, 2373, 2376, 2374, 2376, 2379, 2356, 2372,
3681      2386, 2364, 2374, 2377, 2366, 2366, 2368, 2380, 2378, 2379,
3682      2384, 2368, 2378, 2371, 2381, 2382, 2373, 2371, 2389, 2372,
3683      2373, 2376, 2374, 2381, 2379, 2377, 2382, 2386, 2385, 2380,
3684      2377, 2383, 2384, 2385, 2380, 2378, 2387, 2384, 2383, 2388,
3685      2389, 2381, 2382, 2390, 2392, 2389, 2391, 2391, 2394, 2393,
3686      2395, 2388, 2390, 2392, 2396, 2385, 2394, 2398, 2383, 2387,
3687 
3688      2397, 2400,    0, 2387, 2393,    0, 2388, 2410, 2396, 2397,
3689      2390, 2392, 2395, 2391, 2401, 2394, 2393, 2395, 2402, 2408,
3690      2400, 2396, 2401, 2403, 2398, 2404, 2402, 2397, 2400, 2404,
3691      2405, 2403, 2406, 2405, 2408, 2411, 2407, 2409, 2416, 2410,
3692      2406, 2401, 2407, 2409, 2413, 2402, 2408, 2415, 2417, 2420,
3693      2403, 2416, 2404, 2418, 2423, 2419, 2413, 2405,    0, 2406,
3694      2422, 2415, 2419, 2407, 2409, 2416, 2421, 2411, 2423, 2417,
3695      2424, 2413, 2425, 2424, 2415, 2417, 2420, 2426, 2418, 2427,
3696      2418, 2423, 2419, 2428, 2422, 2425, 2429, 2422, 2421, 2430,
3697      2431, 2426, 2436, 2421, 2433, 2432,    0, 2424, 2434, 2425,
3698 
3699      2437, 2434, 2431, 2438, 2426, 2427, 2427, 2432, 2433, 2439,
3700      2428, 2429, 2441, 2429, 2442, 2438, 2430, 2431, 2443, 2436,
3701      2440, 2433, 2432, 2440, 2434, 2434, 2437, 2437, 2434, 2445,
3702      2438, 2448, 2449, 2450,    0, 2439, 2439, 2446, 2440, 2441,
3703      2443, 2442, 2447, 2452, 2446, 2443, 2448, 2440, 2453, 2447,
3704      2440, 2445, 2454, 2451, 2455, 2456, 2445, 2453, 2448, 2449,
3705      2450, 2451, 2457, 2458, 2446, 2459, 2455, 2460, 2463, 2447,
3706      2452, 2461, 2468, 2462, 2464, 2453, 2465, 2456, 2459, 2454,
3707      2451, 2455, 2456, 2462, 2465, 2460, 2467, 2464, 2469, 2457,
3708      2458, 2470, 2459, 2471, 2460, 2463, 2469, 2461, 2461, 2468,
3709 
3710      2462, 2464, 2471, 2465, 2472, 2474, 2473, 2476, 2467, 2475,
3711      2478, 2477,    0, 2467, 2479, 2469, 2481, 2482, 2470, 2477,
3712      2471, 2483, 2478, 2484, 2475, 2482, 2472, 2473, 2481, 2474,
3713      2487, 2472, 2474, 2473, 2476, 2475, 2475, 2478, 2477, 2479,
3714      2486, 2479, 2487, 2481, 2482, 2488, 2489, 2486, 2483, 2488,
3715      2491, 2475, 2490, 2492, 2493, 2484, 2495, 2487, 2489, 2494,
3716      2498, 2492, 2499,    0, 2496, 2500,    0, 2486, 2495, 2499,
3717         0, 2501, 2488, 2489, 2506, 2490, 2493, 2491, 2496, 2490,
3718      2492, 2493, 2494, 2495, 2501, 2500, 2494, 2498, 2502, 2499,
3719      2496, 2496, 2500, 2503, 2504, 2505, 2505, 2502, 2501, 2507,
3720 
3721      2506, 2506, 2503, 2508, 2511, 2496, 2504, 2513, 2509,    0,
3722      2517, 2514, 2512,    0, 2516, 2502, 2516, 2507, 2515,    0,
3723      2503, 2504, 2505, 2509, 2517, 2509, 2507, 2512, 2508, 2513,
3724      2508, 2519, 2509, 2514, 2513, 2509, 2511, 2517, 2514, 2512,
3725      2515, 2516, 2518, 2520, 2523, 2515, 2521, 2521, 2518, 2519,
3726      2509, 2526, 2509, 2524, 2525, 2527, 2528,    0, 2519, 2531,
3727         0,    0, 2529, 2526,    0, 2520, 2523, 2530, 2529, 2518,
3728      2520, 2523,    0, 2521, 2532, 2524, 2525, 2533, 2526, 2530,
3729      2524, 2525, 2534, 2535, 2534, 2537,    0, 2527, 2528, 2529,
3730      2536, 2531, 2537, 2538, 2530, 2539, 2532, 2535, 2540, 2533,
3731 
3732      2541, 2532, 2542, 2543, 2533, 2544, 2550, 2545, 2552, 2534,
3733      2535, 2538, 2537, 2539, 2536, 2542, 2540, 2536, 2541, 2547,
3734      2538, 2549, 2539, 2551, 2550, 2540, 2547, 2541, 2549, 2542,
3735      2545, 2553, 2559, 2550, 2545, 2543, 2554, 2544, 2555, 2553,
3736      2552, 2560, 2561, 2559, 2562, 2556, 2547, 2566, 2549, 2551,
3737      2551, 2564, 2560, 2557, 2554, 2557, 2562, 2553, 2553, 2559,
3738      2557, 2563, 2566, 2554, 2555, 2555, 2553, 2556, 2560, 2561,
3739      2567, 2562, 2556, 2564, 2566, 2568, 2569, 2571, 2564, 2563,
3740      2557, 2567, 2557, 2572, 2574, 2573, 2575, 2568, 2563, 2576,
3741      2579, 2569, 2573, 2577, 2580,    0, 2582, 2567, 2583, 2574,
3742 
3743      2581, 2571, 2568, 2569, 2571, 2572, 2584, 2585,    0,    0,
3744      2572, 2574, 2573, 2575, 2587, 2592, 2576, 2579, 2580, 2577,
3745      2577, 2580, 2581, 2586, 2584, 2589, 2594, 2581, 2582, 2588,
3746      2583, 2590, 2593, 2584, 2585, 2591, 2586, 2596, 2589, 2590,
3747      2587, 2587, 2597, 2598, 2588, 2593, 2599, 2592, 2594, 2600,
3748      2586,    0, 2589, 2594, 2601, 2604, 2588, 2602, 2590, 2593,
3749      2596, 2591, 2591, 2605, 2596, 2606, 2597, 2603, 2599, 2597,
3750      2598, 2600, 2601, 2599, 2603, 2602, 2600, 2608, 2604, 2606,
3751      2609, 2601, 2604, 2612, 2602, 2613, 2610, 2609, 2611, 2615,
3752      2605, 2614, 2606, 2610, 2603, 2611, 2612, 2616, 2614, 2608,
3753 
3754      2617,    0,    0, 2625, 2608, 2618, 2630, 2609, 2613, 2619,
3755      2612, 2615, 2613, 2610, 2620, 2611, 2615, 2621, 2614,    0,
3756      2622, 2617, 2627, 2620, 2623, 2621, 2629, 2617, 2622, 2616,
3757      2625, 2618, 2618, 2624, 2628, 2619, 2619, 2627, 2630, 2624,
3758      2631, 2620, 2633, 2632, 2621, 2628, 2623, 2622, 2629, 2627,
3759      2635, 2623, 2637, 2629, 2639, 2646, 2646, 2653, 2638, 2640,
3760      2624, 2628, 2632, 2641, 2643, 2637, 2644, 2633, 2635, 2633,
3761      2632, 2638, 2631, 2645, 2651, 2647, 2650, 2635, 2644, 2637,
3762      2639, 2639, 2646, 2640, 2653, 2638, 2640, 2654, 2643, 2641,
3763      2641, 2643, 2652, 2644, 2657, 2659, 2661, 2645, 2665, 2650,
3764 
3765      2645, 2647, 2647, 2650, 2659, 2654, 2651, 2652, 2667, 2661,
3766      2666, 2666, 2668, 2662, 2654, 2672, 2670, 2667, 2668, 2652,
3767      2665, 2657, 2659, 2661, 2662, 2665, 2671, 2674, 2676, 2677,
3768         0, 2678, 2687,    0, 2679, 2667, 2677, 2666, 2670, 2668,
3769      2662, 2680, 2672, 2670, 2681, 2679, 2680, 2683, 2671, 2684,
3770      2685, 2689, 2686, 2671, 2674, 2683, 2677, 2678, 2678, 2687,
3771      2676, 2679, 2689, 2690, 2691, 2685, 2681, 2686, 2680, 2692,
3772      2694, 2681, 2696, 2684, 2683, 2693, 2684, 2685, 2689, 2686,
3773      2697, 2690, 2694, 2698, 2693, 2691, 2699, 2700, 2700, 2701,
3774      2690, 2691, 2703, 2704, 2699, 2700, 2706, 2694, 2701, 2696,
3775 
3776      2705, 2692, 2693, 2707, 2697, 2706, 2709, 2697, 2698, 2710,
3777      2698, 2708,    0, 2699, 2700, 2700, 2701, 2713, 2703, 2703,
3778      2704, 2707, 2705, 2706, 2711, 2708, 2712, 2705, 2709, 2718,
3779      2707, 2719, 2713, 2709, 2710, 2714, 2710, 2711, 2708, 2712,
3780      2715, 2716, 2717, 2719, 2713, 2720, 2721, 2715, 2716, 2722,
3781      2723, 2711,    0, 2712, 2724,    0, 2718, 2714, 2719, 2727,
3782      2726, 2725, 2714, 2728, 2717, 2723, 2729, 2715, 2716, 2717,
3783      2725, 2731, 2720, 2721,    0,    0, 2722, 2723, 2731, 2724,
3784      2730, 2724, 2726, 2736, 2732, 2727, 2727, 2726, 2725, 2728,
3785      2728, 2734, 2729, 2729, 2733, 2730, 2737, 2734, 2731, 2732,
3786 
3787      2738, 2733, 2735, 2739, 2737, 2741, 2740, 2730, 2743, 2742,
3788      2736, 2732, 2745, 2735,    0, 2746, 2744, 2749, 2734, 2745,
3789      2751, 2733, 2740, 2737, 2742, 2752, 2752, 2738, 2743, 2735,
3790      2739, 2744, 2741, 2740, 2747, 2743, 2742, 2746, 2748, 2745,
3791      2750, 2747, 2746, 2744, 2749, 2748, 2753, 2751, 2754, 2758,
3792      2756, 2755, 2752, 2753, 2755, 2757, 2759,    0, 2750, 2760,
3793      2757, 2747, 2754, 2756, 2767, 2748, 2761, 2750, 2762, 2763,
3794      2765, 2759, 2826, 2753, 2758, 2754, 2758, 2756, 2755, 2765,
3795      2762, 2763, 2757, 2759, 2761, 2760, 2760, 2766, 2769, 2770,
3796      2768, 2767, 2766, 2761, 2768, 2762, 2763, 2765, 2771, 2772,
3797 
3798      2773, 2774, 2770, 2775, 2826, 2778,    0, 2780, 2782, 2781,
3799      2784, 2783, 2769,    0, 2766, 2769, 2770, 2768, 2781, 2783,
3800      2771, 2772, 2784, 2944, 2782, 2771, 2772, 2773, 2774, 2775,
3801      2775, 2778, 2778, 2780, 2780, 2782, 2781, 2784, 2783, 2786,
3802      2787, 2789, 2788, 2790, 2791, 2793, 2786, 2788, 2789, 2787,
3803      2792, 2791, 2793, 2794, 2795, 2944, 2796, 2799, 2802, 2803,
3804         0, 2790, 2794, 2795, 2798, 2800, 2786, 2787, 2789, 2788,
3805      2790, 2791, 2793, 2806, 2801, 2792, 2802, 2792, 2800, 2801,
3806      2794, 2795, 2796, 2796, 2799, 2802, 2803, 2798, 2805, 2807,
3807      2808, 2798, 2800, 2809, 2810, 2811, 2812, 2814, 2807, 2808,
3808 
3809      2806, 2801, 2809, 2813, 2816, 2812, 2805, 2811, 2814, 2817,
3810      2815, 2818, 2813, 2819, 2810, 2805, 2807, 2808, 2815, 2820,
3811      2809, 2810, 2811, 2812, 2814, 2821, 2820, 2816, 2822, 2817,
3812      2813, 2816, 2824, 2825, 2821, 2827, 2817, 2815, 2818, 2828,
3813      2819, 2829, 2830, 2831, 2827, 2832, 2820, 2833, 2828, 2822,
3814      2830, 2834, 2821, 2829, 2835, 2822, 2831, 2836, 2834, 2824,
3815      2825, 2835, 2827, 2837, 2836, 2842, 2828, 2832, 2829, 2830,
3816      2831, 2838, 2832, 2839, 2833, 2840, 2841, 2844, 2834, 2837,
3817      2839, 2835, 2843, 2846, 2836, 2849,    0, 2838, 2848,    0,
3818      2837, 2846, 2842, 2849, 2852,    0, 2850, 2840, 2838,    0,
3819 
3820      2839, 2841, 2840, 2841, 2844, 2854, 2848, 2843, 2862, 2843,
3821      2846, 2850, 2849, 2851, 2856, 2848, 2852, 2853, 2855, 2859,
3822      2851, 2852, 2856, 2850, 2853, 2855, 2859, 2854, 2860, 2861,
3823      2863, 2865, 2854, 2866, 2864, 2862, 2867, 2860, 2870, 2868,
3824      2851, 2856, 2863, 2864, 2853, 2855, 2859, 2871, 2867, 2866,
3825      2870, 2872, 2873, 2861, 2874, 2860, 2861, 2863, 2865, 2871,
3826      2866, 2864, 2868, 2867, 2877, 2870, 2868, 2878, 2875, 2883,
3827      2879, 2881, 2872, 2889, 2871, 2873, 2877, 2879, 2872, 2873,
3828      2880, 2874, 2875, 2886, 2885, 2882, 2887,    0, 2880, 2888,
3829      2881, 2877, 2882, 2891, 2878, 2875, 2883, 2879, 2881, 2885,
3830 
3831      2889, 2886, 2892, 2893, 2897,    0, 2890, 2880, 2894, 2887,
3832      2886, 2885, 2882, 2887, 2890, 2888, 2888, 2895, 2896, 2894,
3833      2891, 2893, 2899, 2904, 2892, 2896, 2903, 2906, 2899, 2892,
3834      2893, 2897, 2895, 2890, 2905, 2894, 2913, 2907,    0, 2905,
3835      2910, 2904, 2908, 2909, 2895, 2896, 2917, 2911, 2912, 2899,
3836      2904, 2907, 2903, 2903, 2906, 2914, 2908, 2909, 2910, 2915,
3837      2925, 2905, 2914, 2913, 2907, 2911, 2912, 2910, 2920, 2908,
3838      2909, 2915, 2922, 2917, 2911, 2912, 2923, 2926, 2924, 2925,
3839      2927, 2930, 2914, 2928, 2932, 2926, 2915, 2925, 2935, 2923,
3840      2920, 2933, 2936, 2930, 2922, 2920,    0, 2934, 2927, 2922,
3841 
3842      2924, 2937, 2928, 2923, 2926, 2924, 2932, 2927, 2930, 2934,
3843      2928, 2932, 2938, 2933, 2939, 2935, 2940,    0, 2933, 2936,
3844      2938, 2942, 2941, 2937, 2934, 2943,    0, 2947, 2937, 2945,
3845      2942, 2950, 2951, 2948, 2943, 2949, 2940, 2955, 2961, 2938,
3846      2972, 2939, 2956, 2940, 2941, 2948, 2958, 2954, 2942, 2941,
3847      2957, 2945, 2943, 2947, 2947, 2957, 2945, 2949, 2950, 2951,
3848      2948, 2954, 2949, 2959, 2955, 2960, 2956, 2972, 2958, 2956,
3849      2961, 2962, 2965, 2958, 2954, 2963, 2971, 2964, 2960, 2968,
3850      2967, 2966, 2957, 2969, 2965, 2959, 2967, 2970,    0,    0,
3851      2959, 2971, 2960, 2974, 2962, 2964, 2975, 2963, 2962, 2965,
3852 
3853      2966, 2976, 2963, 2971, 2964, 2980, 2978, 2967, 2966, 2970,
3854      2983, 2968, 2981, 2974, 2970, 2969, 2982, 2984, 2975, 2983,
3855      2974, 2978, 2985, 2975, 2986, 2976, 2987, 2980, 2976, 2988,
3856         0, 2984, 2980, 2978, 2981, 2989,    0, 2983, 2982, 2981,
3857      2985, 2990, 2986, 2982, 2984, 2993, 2994, 2988, 2995, 2985,
3858      3002, 2986, 2987, 2987, 2993,    0, 2988, 2998, 2989, 2999,
3859      3000, 3003, 2989, 2990,    0, 2998, 2999, 3000, 2990, 2995,
3860      3008, 3001, 2993, 3006, 3004, 2995, 3007, 3002, 2994, 3001,
3861      3009, 3003, 3004, 3011, 2998, 3012, 2999, 3000, 3003,    0,
3862      3010, 3006, 3009, 3018, 3007, 3011, 3008, 3008, 3001, 3015,
3863 
3864      3006, 3004, 3017, 3007, 3019, 3013, 3021, 3009, 3010, 3017,
3865      3011, 3015, 3012, 3013, 3023, 3022, 3018, 3010, 3024, 3020,
3866      3018, 3020, 3023, 3025, 3026, 3027, 3015, 3024,    0, 3017,
3867      3031, 3019, 3013, 3028, 3029, 3028, 3032, 3034, 3021, 3036,
3868      3035, 3023,    0, 3039, 3027, 3024, 3020, 3022, 3031, 3037,
3869      3032, 3026, 3027, 3040, 3045, 3025, 3029, 3031, 3037, 3038,
3870      3028, 3029, 3036, 3032, 3035, 3040, 3036, 3035, 3042, 3034,
3871      3039, 3046, 3038, 3043, 3047, 3046, 3037, 3048, 3050, 3051,
3872      3040, 3045, 3043, 3055, 3057, 3052, 3038, 3058, 3059, 3063,
3873      3053, 3057, 3060, 3068, 3042, 3042, 3063, 3060, 3046,    0,
3874 
3875      3043, 3047, 3051, 3059, 3048, 3050, 3051, 3052, 3053, 3058,
3876      3055, 3057, 3052, 3061, 3058, 3059, 3063, 3053, 3064, 3065,
3877      3068, 3066, 3069, 3070, 3060, 3064, 3065, 3071, 3061, 3072,
3878      3073, 3075, 3076, 3079, 3081, 3078,    0, 3080, 3087, 3083,
3879      3061, 3076, 3078, 3072, 3073, 3064, 3065, 3066, 3066, 3069,
3880      3070, 3071, 3088, 3082, 3071, 3084, 3072, 3073, 3075, 3076,
3881      3079, 3081, 3078, 3080, 3080, 3082, 3083, 3085, 3086, 3084,
3882      3087, 3092, 3095, 3089, 3096, 3093, 3085, 3095, 3096, 3088,
3883      3082, 3086, 3084, 3097, 3098, 3099, 3100, 3101,    0, 3101,
3884      3097, 3098, 3102, 3103, 3085, 3086, 3089, 3093, 3108, 3106,
3885 
3886      3089, 3096, 3093, 3092, 3095, 3109, 3099, 3111, 3115, 3111,
3887      3097, 3098, 3099, 3112, 3101, 3102, 3113, 3108, 3100, 3102,
3888      3103, 3106, 3116, 3114, 3114, 3108, 3106, 3119, 3118, 3109,
3889      3115, 3116, 3109, 3114, 3111, 3115, 3121, 3112, 3117, 3120,
3890      3112, 3118, 3113, 3113, 3121, 3117, 3122, 3129, 3123, 3116,
3891      3114, 3114, 3120, 3124, 3119, 3118, 3123, 3126, 3130, 3122,
3892      3121, 3131, 3126, 3121, 3127, 3117, 3120, 3132, 3128, 3127,
3893      3135, 3121, 3124, 3122, 3129, 3123, 3128, 3133,    0, 3134,
3894      3124, 3135, 3139, 3137, 3130, 3130, 3136, 3131, 3131, 3126,
3895      3137, 3138, 3138, 3132, 3132, 3128, 3127, 3135, 3140, 3141,
3896 
3897      3139, 3143, 3144, 3133, 3133, 3134, 3134, 3142, 3136, 3139,
3898      3137, 3140, 3145, 3136, 3149, 3142, 3150, 3146, 3138, 3145,
3899      3144, 3141, 3151, 3143, 3146, 3140, 3141, 3153, 3143, 3144,
3900      3147, 3154, 3158, 3152, 3142,    0, 3159, 3147, 3156, 3145,
3901      3155, 3149, 3160, 3150, 3146, 3152, 3151, 3156, 3161, 3151,
3902      3163, 3166, 3154, 3164, 3153, 3165, 3159, 3147, 3154, 3158,
3903      3152, 3167, 3155, 3159, 3171, 3156, 3168, 3155, 3172, 3160,
3904      3161, 3164, 3170, 3165, 3173, 3161, 3174, 3163, 3166, 3167,
3905      3164, 3170, 3165, 3190, 3168, 3183, 3176, 3193, 3167, 3178,
3906      3175, 3171, 3177, 3168, 3174, 3172, 3178, 3173, 3175, 3170,
3907 
3908      3179, 3173, 3176, 3174, 3177, 3179, 3181, 3182, 3183, 3185,
3909      3190, 3191, 3183, 3176, 3193, 3189, 3178, 3175, 3194, 3177,
3910      3181, 3185, 3198, 3199, 3191, 3182, 3195, 3201, 3195, 3200,
3911      3196, 3194, 3179, 3181, 3182, 3219, 3185, 3189, 3191, 3196,
3912      3202, 3206, 3189, 3206, 3207, 3194, 3208, 3200, 3211, 3198,
3913      3199, 3210, 3217, 3195, 3213, 3202, 3200, 3196, 3210, 3201,
3914      3218, 3219, 3219, 3222, 3208, 3220, 3207, 3202, 3206, 3213,
3915      3215, 3207, 3223, 3208, 3217, 3224, 3215, 3227, 3210, 3217,
3916      3211, 3213, 3218, 3220, 3228, 3222, 3223, 3218, 3224, 3229,
3917      3222, 3225, 3220, 3231, 3225, 3230,    0, 3215, 3232, 3223,
3918 
3919      3231, 3233, 3224, 3235, 3227, 3236, 3232, 3237,    0, 3238,
3920      3239, 3228, 3244, 3230,    0, 3240, 3229, 3225, 3225, 3239,
3921      3231, 3225, 3230, 3233, 3242, 3232, 3246, 3236, 3233, 3237,
3922      3240, 3243, 3236, 3241, 3237, 3235, 3238, 3239, 3248, 3241,
3923      3243, 3245, 3240, 3245, 3244, 3249, 3242, 3250,    0, 3251,
3924      3256, 3242, 3253, 3246, 3252, 3258, 3260, 3256, 3243, 3254,
3925      3241, 3248, 3252,    0, 3253, 3248, 3261, 3249, 3245, 3250,
3926      3260, 3254, 3249, 3262, 3250, 3251, 3251, 3256, 3263, 3253,
3927      3261, 3252, 3258, 3260, 3264, 3265, 3254, 3262, 3267, 3266,
3928      3272, 3268, 3269, 3261, 3271, 3273, 3265, 3266, 3275, 3269,
3929 
3930      3262, 3263, 3264, 3270, 3273, 3263, 3276, 3267, 3272, 3280,
3931      3270, 3264, 3265, 3268, 3280, 3267, 3266, 3272, 3268, 3269,
3932      3271, 3271, 3273, 3274, 3274, 3275, 3277, 3281, 3283, 3284,
3933      3270, 3285, 3287, 3276, 3277, 3289, 3291, 3292, 3287, 3294,
3934      3281, 3280, 3299, 3296, 3300, 3302, 3295, 3291, 3292, 3283,
3935      3274, 3300, 3304, 3277, 3281, 3283, 3284, 3295, 3285, 3287,
3936      3301, 3294, 3289, 3291, 3292, 3296, 3294, 3305, 3303, 3299,
3937      3296, 3300, 3303, 3295, 3307, 3305, 3308, 3302, 3301, 3304,
3938      3309, 3310, 3311, 3313, 3315, 3316, 3322, 3301, 3309, 3308,
3939      3310, 3315, 3317, 3320, 3305, 3303, 3321, 3321, 3320, 3323,
3940 
3941      3307, 3307, 3326, 3308, 3324, 3325, 3327, 3309, 3310, 3311,
3942      3328, 3315, 3325, 3322, 3317, 3313, 3324, 3316, 3329, 3317,
3943      3320, 3326, 3327, 3321, 3330, 3329, 3323, 3331, 3328, 3326,
3944      3334, 3324, 3325, 3327, 3332, 3331, 3333, 3328, 3335,    0,
3945      3336, 3345, 3337, 3333, 3338, 3329, 3343, 3342, 3326, 3332,
3946      3335, 3344, 3346, 3343, 3331, 3347, 3330, 3334, 3350, 3351,
3947      3354, 3332, 3342, 3333, 3336, 3335, 3337, 3336, 3345, 3337,
3948      3338, 3338, 3348, 3343, 3342, 3352, 3346, 3356, 3358, 3346,
3949      3350, 3348, 3353, 3344, 3362, 3350, 3351, 3347, 3355, 3355,
3950      3353, 3359, 3354, 3358, 3360, 3365, 3360, 3352, 3355, 3348,
3951 
3952      3359, 3364, 3352, 3361, 3356, 3358, 3363, 3367, 3368, 3353,
3953      3369, 3362, 3364, 3365, 3363, 3355, 3355, 3361, 3359, 3370,
3954      3372, 3360, 3365, 3371, 3373, 3374, 3375, 3376, 3364, 3377,
3955      3361, 3379, 3379, 3363, 3367, 3368, 3371, 3369, 3381, 3380,
3956      3384, 3370, 3372, 3378,    0, 3376, 3370, 3372, 3385, 3387,
3957      3371, 3373, 3374, 3375, 3376, 3388, 3377, 3378, 3379, 3385,
3958      3381, 3391, 3399, 3393, 3411, 3381, 3395, 3384, 3393, 3391,
3959      3378, 3380, 3394, 3396, 3395, 3385, 3387, 3394, 3396, 3397,
3960      3400, 3400, 3388, 3401, 3402, 3404, 3405, 3406, 3391, 3399,
3961      3393, 3401, 3404, 3395, 3407, 3408, 3411, 3402, 3414, 3394,
3962 
3963      3396, 3419, 3412,    0, 3405, 3397, 3397, 3400, 3410, 3412,
3964      3401, 3402, 3404, 3405, 3406, 3413, 3415, 3410, 3408, 3421,
3965      3414, 3407, 3408, 3413, 3418, 3414, 3422, 3423, 3419, 3412,
3966      3418, 3424, 3425, 3426, 3427, 3410,    0,    0, 3415,    0,
3967      3423, 3430, 3413, 3415, 3428, 3431, 3421, 3425, 3422, 3432,
3968      3433, 3418, 3426, 3422, 3423, 3435, 3432, 3433, 3434, 3425,
3969      3426, 3427, 3436, 3424, 3430, 3438, 3428, 3431, 3430, 3443,
3970      3435, 3428, 3431, 3439,    0,    0, 3432, 3433, 3443, 3440,
3971      3434, 3439, 3435, 3436, 3438, 3434, 3440, 3441, 3444, 3436,
3972      3447, 3449, 3438, 3460, 3441, 3446, 3443, 3445, 3445, 3444,
3973 
3974      3439, 3446, 3450, 3451, 3452, 3456, 3440, 3445,    0, 3450,
3975      3455, 3461, 3447, 3449, 3441, 3444, 3454, 3447, 3449, 3456,
3976      3460, 3462, 3446, 3454, 3445, 3445, 3452, 3466, 3468, 3450,
3977      3469, 3452, 3456, 3470, 3455, 3451, 3471, 3455, 3461, 3466,
3978      3476, 3470, 3479, 3454, 3462, 3481, 3473,    0, 3462, 3477,
3979      3477,    0, 3469, 3483, 3466, 3468, 3484, 3469, 3473, 3485,
3980      3470, 3478, 3478, 3471, 3480, 3480,    0, 3476, 3481, 3479,
3981      3486, 3487, 3481, 3473, 3484, 3483, 3490, 3494, 3477, 3486,
3982      3483, 3491, 3492, 3484, 3487, 3493, 3485, 3495, 3497, 3492,
3983      3478, 3496, 3493, 3480, 3500, 3497, 3500, 3486, 3487, 3494,
3984 
3985      3496, 3502, 3501, 3490, 3494, 3503,    0, 3491, 3491, 3492,
3986      3506, 3507, 3493, 3504, 3495, 3497, 3508, 3509, 3496, 3506,
3987      3510, 3500, 3501, 3503, 3502, 3504, 3511, 3512, 3502, 3501,
3988      3513,    0, 3503, 3507, 3514, 3509, 3516, 3506, 3507, 3517,
3989      3504, 3516, 3513, 3508, 3509, 3515, 3510, 3510, 3515, 3518,
3990      3519, 3518, 3520, 3511, 3512,    0, 3514, 3513, 3520, 3521,
3991      3522, 3514, 3519, 3515, 3524, 3523, 3525, 3526, 3516, 3527,
3992      3528, 3517, 3515, 3523, 3533, 3515, 3518, 3519, 3529, 3520,
3993      3530, 3521, 3522, 3536, 3541, 3537, 3521, 3522, 3526, 3542,
3994      3529, 3524, 3523, 3534, 3526, 3539, 3527, 3528, 3525, 3543,
3995 
3996      3544, 3533, 3530, 3537, 3539, 3529, 3534, 3530, 3546, 3547,
3997      3536, 3541, 3537, 3548, 3549, 3552, 3542, 3550, 3550, 3553,
3998      3534, 3555, 3539, 3557, 3558, 3556, 3543, 3544, 3561, 3563,
3999         0, 3558, 3567, 3552, 3568, 3546, 3547, 3560, 3557, 3562,
4000      3548, 3549, 3552, 3556, 3550, 3564, 3553, 3562, 3555, 3560,
4001      3557, 3558, 3556, 3565, 3566, 3561, 3563, 3564, 3567, 3567,
4002      3571, 3568, 3570, 3583, 3560, 3577, 3562, 3565, 3574, 3566,
4003      3575, 3582, 3564, 3578, 3570, 3576, 3576, 3574, 3581, 3580,
4004      3565, 3566, 3578,    0, 3582, 3583, 3588, 3571, 3584, 3570,
4005      3583, 3577, 3577, 3586, 3575, 3574, 3584, 3575, 3582, 3585,
4006 
4007      3578, 3589, 3576, 3580, 3586,    0, 3580, 3588, 3585, 3592,
4008      3581, 3593, 3607, 3588, 3595, 3584, 3597, 3597, 3598, 3589,
4009      3586, 3611, 3608, 3593, 3612, 3598, 3585, 3613, 3589, 3614,
4010      3616, 3626, 3592, 3618, 3607, 3611, 3592, 3618, 3593, 3607,
4011      3595, 3595, 3620, 3597, 3619, 3598, 3608, 3626, 3611, 3608,
4012      3623, 3612, 3621, 3627, 3613, 3629, 3614, 3616, 3626, 3621,
4013      3618, 3628, 3619, 3623, 3625, 3620, 3630, 3629, 3625, 3620,
4014      3631, 3619,    0, 3632, 3633, 3627, 3634, 3623, 3636, 3621,
4015      3627, 3632, 3629, 3633, 3631,    0, 3628, 3634, 3628, 3637,
4016      3636, 3625, 3630, 3630, 3635, 3638, 3635, 3631, 3639, 3641,
4017 
4018      3632, 3633, 3640, 3634, 3643, 3636, 3642, 3637, 3640, 3644,
4019      3638, 3645, 3643, 3646, 3641, 3653, 3637, 3651, 3645, 3654,
4020      3639, 3635, 3638, 3655, 3657, 3639, 3641, 3652, 3642, 3640,
4021      3651, 3643, 3656, 3642, 3652, 3646, 3644, 3654, 3645, 3658,
4022      3646, 3659, 3653, 3661, 3651, 3660, 3654, 3662,    0, 3659,
4023      3655, 3657, 3660, 3663, 3652, 3664, 3668, 3664, 3656, 3656,
4024      3666, 3665, 3669, 3667, 3670, 3690, 3658, 3661, 3659, 3662,
4025      3661, 3668, 3660, 3665, 3662, 3663, 3667, 3672, 3671, 3673,
4026      3663, 3674, 3664, 3668, 3669, 3671, 3676, 3677, 3665, 3669,
4027      3667, 3670, 3666, 3678, 3679, 3681, 3686, 3690, 3687, 3677,
4028 
4029      3683, 3678, 3691, 3689, 3672, 3671, 3673, 3681, 3674, 3683,
4030      3688, 3689, 3693, 3676, 3677, 3692, 3695, 3696, 3698,    0,
4031      3678, 3679, 3681, 3686, 3687, 3687, 3693, 3683, 3692, 3688,
4032      3689, 3707, 3694,    0, 3691, 3703, 3706, 3688, 3695, 3693,
4033      3694, 3703, 3692, 3695, 3696, 3698, 3704, 3710, 3709, 3706,
4034      3712, 3713, 3711, 3704, 3707, 3709,    0, 3717, 3707, 3694,
4035      3711, 3715, 3703, 3706, 3712, 3713, 3723, 3716, 3714, 3710,
4036      3724, 3725, 3721, 3704, 3710, 3709, 3714, 3712, 3713, 3711,
4037      3720, 3721, 3722, 3715, 3717, 3726, 3727, 3720, 3715, 3716,
4038      3722,    0, 3724, 3723, 3716, 3714, 3728, 3724, 3729, 3721,
4039 
4040      3731, 3733, 3730, 3725, 3734,    0, 3735, 3720, 3727, 3722,
4041      3730, 3726, 3726, 3727, 3737, 3739, 3738,    0, 3728, 3740,
4042      3729, 3742, 3741, 3728, 3738, 3729, 3734, 3740, 3733, 3730,
4043      3741, 3734, 3731, 3735, 3744, 3739, 3743, 3737, 3746, 3748,
4044      3750, 3737, 3739, 3738, 3743, 3753, 3740, 3751, 3744, 3741,
4045      3752, 3749,    0, 3742, 3749, 3751, 3754, 3755, 3752, 3753,
4046      3759, 3744, 3750, 3743, 3746, 3746, 3748, 3750, 3761, 3749,
4047      3762, 3756, 3753, 3764, 3751, 3758, 3758, 3752, 3749, 3755,
4048      3760, 3749, 3754, 3754, 3755, 3756, 3759, 3759, 3760, 3763,
4049      3766, 3765, 3767, 3764, 3761, 3761, 3762, 3762, 3756, 3765,
4050 
4051      3764, 3768, 3758, 3769, 3770, 3771, 3776, 3760,    0, 3785,
4052         0, 3763, 3772, 3773, 3767, 3774, 3763, 3766, 3765, 3767,
4053      3772, 3777, 3779, 3774, 3770, 3771, 3768, 3783, 3768, 3777,
4054      3769, 3770, 3771, 3776, 3780, 3773, 3785, 3781, 3782, 3772,
4055      3773, 3788, 3774, 3786, 3779, 3781, 3782, 3787, 3777, 3779,
4056      3789, 3786, 3790, 3783, 3783, 3787, 3780, 3792, 3793, 3796,
4057      3794, 3780, 3802, 3800, 3781, 3782, 3799, 3788, 3788, 3803,
4058      3786, 3800, 3790,    0, 3787, 3801,    0, 3789,    0, 3790,
4059      3794, 3796,    0, 3801, 3792, 3793, 3796, 3794, 3799, 3802,
4060      3800,    0,    0, 3799,    0,    0, 3803,    0,    0,    0,
4061 
4062         0,    0, 3801, 3807, 3807, 3807, 3807, 3807, 3807, 3807,
4063      3808, 3808, 3808, 3808, 3808, 3808, 3808, 3809, 3809, 3809,
4064      3809, 3809, 3809, 3809, 3810, 3810, 3810, 3810, 3810, 3810,
4065      3810, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3812, 3812,
4066      3812, 3812, 3812, 3812, 3812, 3813, 3813, 3813, 3813, 3813,
4067      3813, 3813, 3815, 3815,    0, 3815, 3815, 3815, 3815, 3816,
4068      3816,    0,    0,    0, 3816, 3816, 3817, 3817,    0,    0,
4069      3817,    0, 3817, 3818,    0,    0,    0,    0,    0, 3818,
4070      3819, 3819,    0,    0,    0, 3819, 3819, 3820,    0,    0,
4071         0,    0,    0, 3820, 3821, 3821,    0, 3821, 3821, 3821,
4072 
4073      3821, 3822,    0,    0,    0,    0,    0, 3822, 3823, 3823,
4074         0,    0,    0, 3823, 3823, 3824, 3824,    0, 3824, 3824,
4075      3824, 3824, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4076      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4077      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4078      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4079      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4080      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4081      3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806
4082     } ;
4083 
4084 static yy_state_type yy_last_accepting_state;
4085 static char *yy_last_accepting_cpos;
4086 
4087 extern int yy_flex_debug;
4088 int yy_flex_debug = 0;
4089 
4090 /* The intent behind this definition is that it'll catch
4091  * any uses of REJECT which flex missed.
4092  */
4093 #define REJECT reject_used_but_not_detected
4094 static int yy_more_flag = 0;
4095 static int yy_more_len = 0;
4096 #define yymore() ((yy_more_flag) = 1)
4097 #define YY_MORE_ADJ (yy_more_len)
4098 #define YY_RESTORE_YY_MORE_OFFSET
4099 char *yytext;
4100 #line 1 "util/configlexer.lex"
4101 #line 2 "util/configlexer.lex"
4102 /*
4103  * configlexer.lex - lexical analyzer for unbound config file
4104  *
4105  * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
4106  *
4107  * See LICENSE for the license.
4108  *
4109  */
4110 
4111 /* because flex keeps having sign-unsigned compare problems that are unfixed*/
4112 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
4113 #pragma GCC diagnostic ignored "-Wsign-compare"
4114 #endif
4115 
4116 #include <ctype.h>
4117 #include <strings.h>
4118 #ifdef HAVE_GLOB_H
4119 # include <glob.h>
4120 #endif
4121 
4122 #include "util/config_file.h"
4123 #include "util/configparser.h"
4124 void ub_c_error(const char *message);
4125 
4126 #if 0
4127 #define LEXOUT(s)  printf s /* used ONLY when debugging */
4128 #else
4129 #define LEXOUT(s)
4130 #endif
4131 
4132 /** avoid warning in about fwrite return value */
4133 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
4134 
4135 /** A parser variable, this is a statement in the config file which is
4136  * of the form variable: value1 value2 ...  nargs is the number of values. */
4137 #define YDVAR(nargs, var) \
4138 	num_args=(nargs); \
4139 	LEXOUT(("v(%s%d) ", yytext, num_args)); \
4140 	if(num_args > 0) { BEGIN(val); } \
4141 	return (var);
4142 
4143 struct inc_state {
4144 	char* filename;
4145 	int line;
4146 	YY_BUFFER_STATE buffer;
4147 	struct inc_state* next;
4148 	int inc_toplevel;
4149 };
4150 static struct inc_state* config_include_stack = NULL;
4151 static int inc_depth = 0;
4152 static int inc_prev = 0;
4153 static int num_args = 0;
4154 static int inc_toplevel = 0;
4155 
init_cfg_parse(void)4156 void init_cfg_parse(void)
4157 {
4158 	config_include_stack = NULL;
4159 	inc_depth = 0;
4160 	inc_prev = 0;
4161 	num_args = 0;
4162 	inc_toplevel = 0;
4163 }
4164 
config_start_include(const char * filename,int toplevel)4165 static void config_start_include(const char* filename, int toplevel)
4166 {
4167 	FILE *input;
4168 	struct inc_state* s;
4169 	char* nm;
4170 	if(inc_depth+1 > 100000) {
4171 		ub_c_error_msg("too many include files");
4172 		return;
4173 	}
4174 	if(*filename == '\0') {
4175 		ub_c_error_msg("empty include file name");
4176 		return;
4177 	}
4178 	s = (struct inc_state*)malloc(sizeof(*s));
4179 	if(!s) {
4180 		ub_c_error_msg("include %s: malloc failure", filename);
4181 		return;
4182 	}
4183 	if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4184 		strlen(cfg_parser->chroot)) == 0) {
4185 		filename += strlen(cfg_parser->chroot);
4186 	}
4187 	nm = strdup(filename);
4188 	if(!nm) {
4189 		ub_c_error_msg("include %s: strdup failure", filename);
4190 		free(s);
4191 		return;
4192 	}
4193 	input = fopen(filename, "r");
4194 	if(!input) {
4195 		ub_c_error_msg("cannot open include file '%s': %s",
4196 			filename, strerror(errno));
4197 		free(s);
4198 		free(nm);
4199 		return;
4200 	}
4201 	LEXOUT(("switch_to_include_file(%s)\n", filename));
4202 	inc_depth++;
4203 	s->filename = cfg_parser->filename;
4204 	s->line = cfg_parser->line;
4205 	s->buffer = YY_CURRENT_BUFFER;
4206 	s->inc_toplevel = inc_toplevel;
4207 	s->next = config_include_stack;
4208 	config_include_stack = s;
4209 	cfg_parser->filename = nm;
4210 	cfg_parser->line = 1;
4211 	inc_toplevel = toplevel;
4212 	yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
4213 }
4214 
config_start_include_glob(const char * filename,int toplevel)4215 static void config_start_include_glob(const char* filename, int toplevel)
4216 {
4217 
4218 	/* check for wildcards */
4219 #ifdef HAVE_GLOB
4220 	glob_t g;
4221 	int i, r, flags;
4222 	if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
4223 		!strchr(filename, '{') && !strchr(filename, '~'))) {
4224 		flags = 0
4225 #ifdef GLOB_ERR
4226 			| GLOB_ERR
4227 #endif
4228 			 /* do not set GLOB_NOSORT so the results are sorted
4229 			    and in a predictable order. */
4230 #ifdef GLOB_BRACE
4231 			| GLOB_BRACE
4232 #endif
4233 #ifdef GLOB_TILDE
4234 			| GLOB_TILDE
4235 #endif
4236 		;
4237 		memset(&g, 0, sizeof(g));
4238 		if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4239 			strlen(cfg_parser->chroot)) == 0) {
4240 			filename += strlen(cfg_parser->chroot);
4241 		}
4242 		r = glob(filename, flags, NULL, &g);
4243 		if(r) {
4244 			/* some error */
4245 			globfree(&g);
4246 			if(r == GLOB_NOMATCH)
4247 				return; /* no matches for pattern */
4248 			config_start_include(filename, toplevel); /* let original deal with it */
4249 			return;
4250 		}
4251 		/* process files found, if any */
4252 		for(i=(int)g.gl_pathc-1; i>=0; i--) {
4253 			config_start_include(g.gl_pathv[i], toplevel);
4254 		}
4255 		globfree(&g);
4256 		return;
4257 	}
4258 #endif /* HAVE_GLOB */
4259 
4260 	config_start_include(filename, toplevel);
4261 }
4262 
config_end_include(void)4263 static void config_end_include(void)
4264 {
4265 	struct inc_state* s = config_include_stack;
4266 	--inc_depth;
4267 	if(!s) return;
4268 	free(cfg_parser->filename);
4269 	cfg_parser->filename = s->filename;
4270 	cfg_parser->line = s->line;
4271 	yy_delete_buffer(YY_CURRENT_BUFFER);
4272 	yy_switch_to_buffer(s->buffer);
4273 	config_include_stack = s->next;
4274 	inc_toplevel = s->inc_toplevel;
4275 	free(s);
4276 }
4277 
4278 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
4279 #define yy_set_bol(at_bol) \
4280         { \
4281 	        if ( ! yy_current_buffer ) \
4282 	                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
4283 	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
4284         }
4285 #endif
4286 
4287 #line 4285 "<stdout>"
4288 #define YY_NO_INPUT 1
4289 #line 191 "util/configlexer.lex"
4290 #ifndef YY_NO_UNPUT
4291 #define YY_NO_UNPUT 1
4292 #endif
4293 #ifndef YY_NO_INPUT
4294 #define YY_NO_INPUT 1
4295 #endif
4296 #line 4294 "<stdout>"
4297 
4298 #line 4296 "<stdout>"
4299 
4300 #define INITIAL 0
4301 #define quotedstring 1
4302 #define singlequotedstr 2
4303 #define include 3
4304 #define include_quoted 4
4305 #define val 5
4306 #define include_toplevel 6
4307 #define include_toplevel_quoted 7
4308 
4309 #ifndef YY_NO_UNISTD_H
4310 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4311  * down here because we want the user's section 1 to have been scanned first.
4312  * The user has a chance to override it with an option.
4313  */
4314 #include <unistd.h>
4315 #endif
4316 
4317 #ifndef YY_EXTRA_TYPE
4318 #define YY_EXTRA_TYPE void *
4319 #endif
4320 
4321 static int yy_init_globals ( void );
4322 
4323 /* Accessor methods to globals.
4324    These are made visible to non-reentrant scanners for convenience. */
4325 
4326 int yylex_destroy ( void );
4327 
4328 int yyget_debug ( void );
4329 
4330 void yyset_debug ( int debug_flag  );
4331 
4332 YY_EXTRA_TYPE yyget_extra ( void );
4333 
4334 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
4335 
4336 FILE *yyget_in ( void );
4337 
4338 void yyset_in  ( FILE * _in_str  );
4339 
4340 FILE *yyget_out ( void );
4341 
4342 void yyset_out  ( FILE * _out_str  );
4343 
4344 			int yyget_leng ( void );
4345 
4346 char *yyget_text ( void );
4347 
4348 int yyget_lineno ( void );
4349 
4350 void yyset_lineno ( int _line_number  );
4351 
4352 /* Macros after this point can all be overridden by user definitions in
4353  * section 1.
4354  */
4355 
4356 #ifndef YY_SKIP_YYWRAP
4357 #ifdef __cplusplus
4358 extern "C" int yywrap ( void );
4359 #else
4360 extern int yywrap ( void );
4361 #endif
4362 #endif
4363 
4364 #ifndef YY_NO_UNPUT
4365 
4366 #endif
4367 
4368 #ifndef yytext_ptr
4369 static void yy_flex_strncpy ( char *, const char *, int );
4370 #endif
4371 
4372 #ifdef YY_NEED_STRLEN
4373 static int yy_flex_strlen ( const char * );
4374 #endif
4375 
4376 #ifndef YY_NO_INPUT
4377 #ifdef __cplusplus
4378 static int yyinput ( void );
4379 #else
4380 static int input ( void );
4381 #endif
4382 
4383 #endif
4384 
4385 /* Amount of stuff to slurp up with each read. */
4386 #ifndef YY_READ_BUF_SIZE
4387 #ifdef __ia64__
4388 /* On IA-64, the buffer size is 16k, not 8k */
4389 #define YY_READ_BUF_SIZE 16384
4390 #else
4391 #define YY_READ_BUF_SIZE 8192
4392 #endif /* __ia64__ */
4393 #endif
4394 
4395 /* Copy whatever the last rule matched to the standard output. */
4396 #ifndef ECHO
4397 /* This used to be an fputs(), but since the string might contain NUL's,
4398  * we now use fwrite().
4399  */
4400 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
4401 #endif
4402 
4403 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
4404  * is returned in "result".
4405  */
4406 #ifndef YY_INPUT
4407 #define YY_INPUT(buf,result,max_size) \
4408 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4409 		{ \
4410 		int c = '*'; \
4411 		int n; \
4412 		for ( n = 0; n < max_size && \
4413 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
4414 			buf[n] = (char) c; \
4415 		if ( c == '\n' ) \
4416 			buf[n++] = (char) c; \
4417 		if ( c == EOF && ferror( yyin ) ) \
4418 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
4419 		result = n; \
4420 		} \
4421 	else \
4422 		{ \
4423 		errno=0; \
4424 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
4425 			{ \
4426 			if( errno != EINTR) \
4427 				{ \
4428 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
4429 				break; \
4430 				} \
4431 			errno=0; \
4432 			clearerr(yyin); \
4433 			} \
4434 		}\
4435 \
4436 
4437 #endif
4438 
4439 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4440  * we don't want an extra ';' after the "return" because that will cause
4441  * some compilers to complain about unreachable statements.
4442  */
4443 #ifndef yyterminate
4444 #define yyterminate() return YY_NULL
4445 #endif
4446 
4447 /* Number of entries by which start-condition stack grows. */
4448 #ifndef YY_START_STACK_INCR
4449 #define YY_START_STACK_INCR 25
4450 #endif
4451 
4452 /* Report a fatal error. */
4453 #ifndef YY_FATAL_ERROR
4454 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4455 #endif
4456 
4457 /* end tables serialization structures and prototypes */
4458 
4459 /* Default declaration of generated scanner - a define so the user can
4460  * easily add parameters.
4461  */
4462 #ifndef YY_DECL
4463 #define YY_DECL_IS_OURS 1
4464 
4465 extern int yylex (void);
4466 
4467 #define YY_DECL int yylex (void)
4468 #endif /* !YY_DECL */
4469 
4470 /* Code executed at the beginning of each rule, after yytext and yyleng
4471  * have been set up.
4472  */
4473 #ifndef YY_USER_ACTION
4474 #define YY_USER_ACTION
4475 #endif
4476 
4477 /* Code executed at the end of each rule. */
4478 #ifndef YY_BREAK
4479 #define YY_BREAK /*LINTED*/break;
4480 #endif
4481 
4482 #define YY_RULE_SETUP \
4483 	YY_USER_ACTION
4484 
4485 /** The main scanner function which does all the work.
4486  */
4487 YY_DECL
4488 {
4489 	yy_state_type yy_current_state;
4490 	char *yy_cp, *yy_bp;
4491 	int yy_act;
4492 
4493 	if ( !(yy_init) )
4494 		{
4495 		(yy_init) = 1;
4496 
4497 #ifdef YY_USER_INIT
4498 		YY_USER_INIT;
4499 #endif
4500 
4501 		if ( ! (yy_start) )
4502 			(yy_start) = 1;	/* first start state */
4503 
4504 		if ( ! yyin )
4505 			yyin = stdin;
4506 
4507 		if ( ! yyout )
4508 			yyout = stdout;
4509 
4510 		if ( ! YY_CURRENT_BUFFER ) {
4511 			yyensure_buffer_stack ();
4512 			YY_CURRENT_BUFFER_LVALUE =
4513 				yy_create_buffer( yyin, YY_BUF_SIZE );
4514 		}
4515 
4516 		yy_load_buffer_state(  );
4517 		}
4518 
4519 	{
4520 #line 211 "util/configlexer.lex"
4521 
4522 #line 4520 "<stdout>"
4523 
4524 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
4525 		{
4526 		(yy_more_len) = 0;
4527 		if ( (yy_more_flag) )
4528 			{
4529 			(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
4530 			(yy_more_flag) = 0;
4531 			}
4532 		yy_cp = (yy_c_buf_p);
4533 
4534 		/* Support of yytext. */
4535 		*yy_cp = (yy_hold_char);
4536 
4537 		/* yy_bp points to the position in yy_ch_buf of the start of
4538 		 * the current run.
4539 		 */
4540 		yy_bp = yy_cp;
4541 
4542 		yy_current_state = (yy_start);
4543 yy_match:
4544 		do
4545 			{
4546 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
4547 			if ( yy_accept[yy_current_state] )
4548 				{
4549 				(yy_last_accepting_state) = yy_current_state;
4550 				(yy_last_accepting_cpos) = yy_cp;
4551 				}
4552 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4553 				{
4554 				yy_current_state = (int) yy_def[yy_current_state];
4555 				if ( yy_current_state >= 3807 )
4556 					yy_c = yy_meta[yy_c];
4557 				}
4558 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4559 			++yy_cp;
4560 			}
4561 		while ( yy_base[yy_current_state] != 10823 );
4562 
4563 yy_find_action:
4564 		yy_act = yy_accept[yy_current_state];
4565 		if ( yy_act == 0 )
4566 			{ /* have to back up */
4567 			yy_cp = (yy_last_accepting_cpos);
4568 			yy_current_state = (yy_last_accepting_state);
4569 			yy_act = yy_accept[yy_current_state];
4570 			}
4571 
4572 		YY_DO_BEFORE_ACTION;
4573 
4574 do_action:	/* This label is used only to access EOF actions. */
4575 
4576 		switch ( yy_act )
4577 	{ /* beginning of action switch */
4578 			case 0: /* must back up */
4579 			/* undo the effects of YY_DO_BEFORE_ACTION */
4580 			*yy_cp = (yy_hold_char);
4581 			yy_cp = (yy_last_accepting_cpos);
4582 			yy_current_state = (yy_last_accepting_state);
4583 			goto yy_find_action;
4584 
4585 case 1:
4586 YY_RULE_SETUP
4587 #line 212 "util/configlexer.lex"
4588 {
4589 	LEXOUT(("SP ")); /* ignore */ }
4590 	YY_BREAK
4591 case 2:
4592 YY_RULE_SETUP
4593 #line 214 "util/configlexer.lex"
4594 {
4595 	/* note that flex makes the longest match and '.' is any but not nl */
4596 	LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
4597 	YY_BREAK
4598 case 3:
4599 YY_RULE_SETUP
4600 #line 217 "util/configlexer.lex"
4601 { YDVAR(0, VAR_SERVER) }
4602 	YY_BREAK
4603 case 4:
4604 YY_RULE_SETUP
4605 #line 218 "util/configlexer.lex"
4606 { YDVAR(1, VAR_QNAME_MINIMISATION) }
4607 	YY_BREAK
4608 case 5:
4609 YY_RULE_SETUP
4610 #line 219 "util/configlexer.lex"
4611 { YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) }
4612 	YY_BREAK
4613 case 6:
4614 YY_RULE_SETUP
4615 #line 220 "util/configlexer.lex"
4616 { YDVAR(1, VAR_NUM_THREADS) }
4617 	YY_BREAK
4618 case 7:
4619 YY_RULE_SETUP
4620 #line 221 "util/configlexer.lex"
4621 { YDVAR(1, VAR_VERBOSITY) }
4622 	YY_BREAK
4623 case 8:
4624 YY_RULE_SETUP
4625 #line 222 "util/configlexer.lex"
4626 { YDVAR(1, VAR_PORT) }
4627 	YY_BREAK
4628 case 9:
4629 YY_RULE_SETUP
4630 #line 223 "util/configlexer.lex"
4631 { YDVAR(1, VAR_OUTGOING_RANGE) }
4632 	YY_BREAK
4633 case 10:
4634 YY_RULE_SETUP
4635 #line 224 "util/configlexer.lex"
4636 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
4637 	YY_BREAK
4638 case 11:
4639 YY_RULE_SETUP
4640 #line 225 "util/configlexer.lex"
4641 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
4642 	YY_BREAK
4643 case 12:
4644 YY_RULE_SETUP
4645 #line 226 "util/configlexer.lex"
4646 { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
4647 	YY_BREAK
4648 case 13:
4649 YY_RULE_SETUP
4650 #line 227 "util/configlexer.lex"
4651 { YDVAR(1, VAR_INCOMING_NUM_TCP) }
4652 	YY_BREAK
4653 case 14:
4654 YY_RULE_SETUP
4655 #line 228 "util/configlexer.lex"
4656 { YDVAR(1, VAR_DO_IP4) }
4657 	YY_BREAK
4658 case 15:
4659 YY_RULE_SETUP
4660 #line 229 "util/configlexer.lex"
4661 { YDVAR(1, VAR_DO_IP6) }
4662 	YY_BREAK
4663 case 16:
4664 YY_RULE_SETUP
4665 #line 230 "util/configlexer.lex"
4666 { YDVAR(1, VAR_DO_NAT64) }
4667 	YY_BREAK
4668 case 17:
4669 YY_RULE_SETUP
4670 #line 231 "util/configlexer.lex"
4671 { YDVAR(1, VAR_PREFER_IP4) }
4672 	YY_BREAK
4673 case 18:
4674 YY_RULE_SETUP
4675 #line 232 "util/configlexer.lex"
4676 { YDVAR(1, VAR_PREFER_IP6) }
4677 	YY_BREAK
4678 case 19:
4679 YY_RULE_SETUP
4680 #line 233 "util/configlexer.lex"
4681 { YDVAR(1, VAR_DO_UDP) }
4682 	YY_BREAK
4683 case 20:
4684 YY_RULE_SETUP
4685 #line 234 "util/configlexer.lex"
4686 { YDVAR(1, VAR_DO_TCP) }
4687 	YY_BREAK
4688 case 21:
4689 YY_RULE_SETUP
4690 #line 235 "util/configlexer.lex"
4691 { YDVAR(1, VAR_TCP_UPSTREAM) }
4692 	YY_BREAK
4693 case 22:
4694 YY_RULE_SETUP
4695 #line 236 "util/configlexer.lex"
4696 { YDVAR(1, VAR_TCP_MSS) }
4697 	YY_BREAK
4698 case 23:
4699 YY_RULE_SETUP
4700 #line 237 "util/configlexer.lex"
4701 { YDVAR(1, VAR_OUTGOING_TCP_MSS) }
4702 	YY_BREAK
4703 case 24:
4704 YY_RULE_SETUP
4705 #line 238 "util/configlexer.lex"
4706 { YDVAR(1, VAR_TCP_IDLE_TIMEOUT) }
4707 	YY_BREAK
4708 case 25:
4709 YY_RULE_SETUP
4710 #line 239 "util/configlexer.lex"
4711 { YDVAR(1, VAR_MAX_REUSE_TCP_QUERIES) }
4712 	YY_BREAK
4713 case 26:
4714 YY_RULE_SETUP
4715 #line 240 "util/configlexer.lex"
4716 { YDVAR(1, VAR_TCP_REUSE_TIMEOUT) }
4717 	YY_BREAK
4718 case 27:
4719 YY_RULE_SETUP
4720 #line 241 "util/configlexer.lex"
4721 { YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) }
4722 	YY_BREAK
4723 case 28:
4724 YY_RULE_SETUP
4725 #line 242 "util/configlexer.lex"
4726 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) }
4727 	YY_BREAK
4728 case 29:
4729 YY_RULE_SETUP
4730 #line 243 "util/configlexer.lex"
4731 { YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) }
4732 	YY_BREAK
4733 case 30:
4734 YY_RULE_SETUP
4735 #line 244 "util/configlexer.lex"
4736 { YDVAR(1, VAR_SOCK_QUEUE_TIMEOUT) }
4737 	YY_BREAK
4738 case 31:
4739 YY_RULE_SETUP
4740 #line 245 "util/configlexer.lex"
4741 { YDVAR(1, VAR_SSL_UPSTREAM) }
4742 	YY_BREAK
4743 case 32:
4744 YY_RULE_SETUP
4745 #line 246 "util/configlexer.lex"
4746 { YDVAR(1, VAR_SSL_UPSTREAM) }
4747 	YY_BREAK
4748 case 33:
4749 YY_RULE_SETUP
4750 #line 247 "util/configlexer.lex"
4751 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
4752 	YY_BREAK
4753 case 34:
4754 YY_RULE_SETUP
4755 #line 248 "util/configlexer.lex"
4756 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
4757 	YY_BREAK
4758 case 35:
4759 YY_RULE_SETUP
4760 #line 249 "util/configlexer.lex"
4761 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
4762 	YY_BREAK
4763 case 36:
4764 YY_RULE_SETUP
4765 #line 250 "util/configlexer.lex"
4766 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
4767 	YY_BREAK
4768 case 37:
4769 YY_RULE_SETUP
4770 #line 251 "util/configlexer.lex"
4771 { YDVAR(1, VAR_SSL_PORT) }
4772 	YY_BREAK
4773 case 38:
4774 YY_RULE_SETUP
4775 #line 252 "util/configlexer.lex"
4776 { YDVAR(1, VAR_SSL_PORT) }
4777 	YY_BREAK
4778 case 39:
4779 YY_RULE_SETUP
4780 #line 253 "util/configlexer.lex"
4781 { YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4782 	YY_BREAK
4783 case 40:
4784 YY_RULE_SETUP
4785 #line 254 "util/configlexer.lex"
4786 { YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4787 	YY_BREAK
4788 case 41:
4789 YY_RULE_SETUP
4790 #line 255 "util/configlexer.lex"
4791 { YDVAR(1, VAR_TLS_WIN_CERT) }
4792 	YY_BREAK
4793 case 42:
4794 YY_RULE_SETUP
4795 #line 256 "util/configlexer.lex"
4796 { YDVAR(1, VAR_TLS_WIN_CERT) }
4797 	YY_BREAK
4798 case 43:
4799 YY_RULE_SETUP
4800 #line 257 "util/configlexer.lex"
4801 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4802 	YY_BREAK
4803 case 44:
4804 YY_RULE_SETUP
4805 #line 258 "util/configlexer.lex"
4806 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4807 	YY_BREAK
4808 case 45:
4809 YY_RULE_SETUP
4810 #line 259 "util/configlexer.lex"
4811 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4812 	YY_BREAK
4813 case 46:
4814 YY_RULE_SETUP
4815 #line 260 "util/configlexer.lex"
4816 { YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4817 	YY_BREAK
4818 case 47:
4819 YY_RULE_SETUP
4820 #line 261 "util/configlexer.lex"
4821 { YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) }
4822 	YY_BREAK
4823 case 48:
4824 YY_RULE_SETUP
4825 #line 262 "util/configlexer.lex"
4826 { YDVAR(1, VAR_TLS_CIPHERS) }
4827 	YY_BREAK
4828 case 49:
4829 YY_RULE_SETUP
4830 #line 263 "util/configlexer.lex"
4831 { YDVAR(1, VAR_TLS_CIPHERSUITES) }
4832 	YY_BREAK
4833 case 50:
4834 YY_RULE_SETUP
4835 #line 264 "util/configlexer.lex"
4836 { YDVAR(1, VAR_TLS_USE_SNI) }
4837 	YY_BREAK
4838 case 51:
4839 YY_RULE_SETUP
4840 #line 265 "util/configlexer.lex"
4841 { YDVAR(1, VAR_HTTPS_PORT) }
4842 	YY_BREAK
4843 case 52:
4844 YY_RULE_SETUP
4845 #line 266 "util/configlexer.lex"
4846 { YDVAR(1, VAR_HTTP_ENDPOINT) }
4847 	YY_BREAK
4848 case 53:
4849 YY_RULE_SETUP
4850 #line 267 "util/configlexer.lex"
4851 { YDVAR(1, VAR_HTTP_MAX_STREAMS) }
4852 	YY_BREAK
4853 case 54:
4854 YY_RULE_SETUP
4855 #line 268 "util/configlexer.lex"
4856 { YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) }
4857 	YY_BREAK
4858 case 55:
4859 YY_RULE_SETUP
4860 #line 269 "util/configlexer.lex"
4861 { YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) }
4862 	YY_BREAK
4863 case 56:
4864 YY_RULE_SETUP
4865 #line 270 "util/configlexer.lex"
4866 { YDVAR(1, VAR_HTTP_NODELAY) }
4867 	YY_BREAK
4868 case 57:
4869 YY_RULE_SETUP
4870 #line 271 "util/configlexer.lex"
4871 { YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) }
4872 	YY_BREAK
4873 case 58:
4874 YY_RULE_SETUP
4875 #line 272 "util/configlexer.lex"
4876 { YDVAR(1, VAR_USE_SYSTEMD) }
4877 	YY_BREAK
4878 case 59:
4879 YY_RULE_SETUP
4880 #line 273 "util/configlexer.lex"
4881 { YDVAR(1, VAR_DO_DAEMONIZE) }
4882 	YY_BREAK
4883 case 60:
4884 YY_RULE_SETUP
4885 #line 274 "util/configlexer.lex"
4886 { YDVAR(1, VAR_INTERFACE) }
4887 	YY_BREAK
4888 case 61:
4889 YY_RULE_SETUP
4890 #line 275 "util/configlexer.lex"
4891 { YDVAR(1, VAR_INTERFACE) }
4892 	YY_BREAK
4893 case 62:
4894 YY_RULE_SETUP
4895 #line 276 "util/configlexer.lex"
4896 { YDVAR(1, VAR_OUTGOING_INTERFACE) }
4897 	YY_BREAK
4898 case 63:
4899 YY_RULE_SETUP
4900 #line 277 "util/configlexer.lex"
4901 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
4902 	YY_BREAK
4903 case 64:
4904 YY_RULE_SETUP
4905 #line 278 "util/configlexer.lex"
4906 { YDVAR(1, VAR_INTERFACE_AUTOMATIC_PORTS) }
4907 	YY_BREAK
4908 case 65:
4909 YY_RULE_SETUP
4910 #line 279 "util/configlexer.lex"
4911 { YDVAR(1, VAR_SO_RCVBUF) }
4912 	YY_BREAK
4913 case 66:
4914 YY_RULE_SETUP
4915 #line 280 "util/configlexer.lex"
4916 { YDVAR(1, VAR_SO_SNDBUF) }
4917 	YY_BREAK
4918 case 67:
4919 YY_RULE_SETUP
4920 #line 281 "util/configlexer.lex"
4921 { YDVAR(1, VAR_SO_REUSEPORT) }
4922 	YY_BREAK
4923 case 68:
4924 YY_RULE_SETUP
4925 #line 282 "util/configlexer.lex"
4926 { YDVAR(1, VAR_IP_TRANSPARENT) }
4927 	YY_BREAK
4928 case 69:
4929 YY_RULE_SETUP
4930 #line 283 "util/configlexer.lex"
4931 { YDVAR(1, VAR_IP_FREEBIND) }
4932 	YY_BREAK
4933 case 70:
4934 YY_RULE_SETUP
4935 #line 284 "util/configlexer.lex"
4936 { YDVAR(1, VAR_IP_DSCP) }
4937 	YY_BREAK
4938 case 71:
4939 YY_RULE_SETUP
4940 #line 285 "util/configlexer.lex"
4941 { YDVAR(1, VAR_CHROOT) }
4942 	YY_BREAK
4943 case 72:
4944 YY_RULE_SETUP
4945 #line 286 "util/configlexer.lex"
4946 { YDVAR(1, VAR_USERNAME) }
4947 	YY_BREAK
4948 case 73:
4949 YY_RULE_SETUP
4950 #line 287 "util/configlexer.lex"
4951 { YDVAR(1, VAR_DIRECTORY) }
4952 	YY_BREAK
4953 case 74:
4954 YY_RULE_SETUP
4955 #line 288 "util/configlexer.lex"
4956 { YDVAR(1, VAR_LOGFILE) }
4957 	YY_BREAK
4958 case 75:
4959 YY_RULE_SETUP
4960 #line 289 "util/configlexer.lex"
4961 { YDVAR(1, VAR_PIDFILE) }
4962 	YY_BREAK
4963 case 76:
4964 YY_RULE_SETUP
4965 #line 290 "util/configlexer.lex"
4966 { YDVAR(1, VAR_ROOT_HINTS) }
4967 	YY_BREAK
4968 case 77:
4969 YY_RULE_SETUP
4970 #line 291 "util/configlexer.lex"
4971 { YDVAR(1, VAR_STREAM_WAIT_SIZE) }
4972 	YY_BREAK
4973 case 78:
4974 YY_RULE_SETUP
4975 #line 292 "util/configlexer.lex"
4976 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
4977 	YY_BREAK
4978 case 79:
4979 YY_RULE_SETUP
4980 #line 293 "util/configlexer.lex"
4981 { YDVAR(1, VAR_MSG_BUFFER_SIZE) }
4982 	YY_BREAK
4983 case 80:
4984 YY_RULE_SETUP
4985 #line 294 "util/configlexer.lex"
4986 { YDVAR(1, VAR_MSG_CACHE_SIZE) }
4987 	YY_BREAK
4988 case 81:
4989 YY_RULE_SETUP
4990 #line 295 "util/configlexer.lex"
4991 { YDVAR(1, VAR_MSG_CACHE_SLABS) }
4992 	YY_BREAK
4993 case 82:
4994 YY_RULE_SETUP
4995 #line 296 "util/configlexer.lex"
4996 { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
4997 	YY_BREAK
4998 case 83:
4999 YY_RULE_SETUP
5000 #line 297 "util/configlexer.lex"
5001 { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
5002 	YY_BREAK
5003 case 84:
5004 YY_RULE_SETUP
5005 #line 298 "util/configlexer.lex"
5006 { YDVAR(1, VAR_CACHE_MAX_TTL) }
5007 	YY_BREAK
5008 case 85:
5009 YY_RULE_SETUP
5010 #line 299 "util/configlexer.lex"
5011 { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
5012 	YY_BREAK
5013 case 86:
5014 YY_RULE_SETUP
5015 #line 300 "util/configlexer.lex"
5016 { YDVAR(1, VAR_CACHE_MIN_TTL) }
5017 	YY_BREAK
5018 case 87:
5019 YY_RULE_SETUP
5020 #line 301 "util/configlexer.lex"
5021 { YDVAR(1, VAR_INFRA_HOST_TTL) }
5022 	YY_BREAK
5023 case 88:
5024 YY_RULE_SETUP
5025 #line 302 "util/configlexer.lex"
5026 { YDVAR(1, VAR_INFRA_LAME_TTL) }
5027 	YY_BREAK
5028 case 89:
5029 YY_RULE_SETUP
5030 #line 303 "util/configlexer.lex"
5031 { YDVAR(1, VAR_INFRA_CACHE_SLABS) }
5032 	YY_BREAK
5033 case 90:
5034 YY_RULE_SETUP
5035 #line 304 "util/configlexer.lex"
5036 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
5037 	YY_BREAK
5038 case 91:
5039 YY_RULE_SETUP
5040 #line 305 "util/configlexer.lex"
5041 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
5042 	YY_BREAK
5043 case 92:
5044 YY_RULE_SETUP
5045 #line 306 "util/configlexer.lex"
5046 { YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
5047 	YY_BREAK
5048 case 93:
5049 YY_RULE_SETUP
5050 #line 307 "util/configlexer.lex"
5051 { YDVAR(1, VAR_INFRA_CACHE_MAX_RTT) }
5052 	YY_BREAK
5053 case 94:
5054 YY_RULE_SETUP
5055 #line 308 "util/configlexer.lex"
5056 { YDVAR(1, VAR_INFRA_KEEP_PROBING) }
5057 	YY_BREAK
5058 case 95:
5059 YY_RULE_SETUP
5060 #line 309 "util/configlexer.lex"
5061 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
5062 	YY_BREAK
5063 case 96:
5064 YY_RULE_SETUP
5065 #line 310 "util/configlexer.lex"
5066 { YDVAR(1, VAR_JOSTLE_TIMEOUT) }
5067 	YY_BREAK
5068 case 97:
5069 YY_RULE_SETUP
5070 #line 311 "util/configlexer.lex"
5071 { YDVAR(1, VAR_DELAY_CLOSE) }
5072 	YY_BREAK
5073 case 98:
5074 YY_RULE_SETUP
5075 #line 312 "util/configlexer.lex"
5076 { YDVAR(1, VAR_UDP_CONNECT) }
5077 	YY_BREAK
5078 case 99:
5079 YY_RULE_SETUP
5080 #line 313 "util/configlexer.lex"
5081 { YDVAR(1, VAR_TARGET_FETCH_POLICY) }
5082 	YY_BREAK
5083 case 100:
5084 YY_RULE_SETUP
5085 #line 314 "util/configlexer.lex"
5086 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
5087 	YY_BREAK
5088 case 101:
5089 YY_RULE_SETUP
5090 #line 315 "util/configlexer.lex"
5091 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
5092 	YY_BREAK
5093 case 102:
5094 YY_RULE_SETUP
5095 #line 316 "util/configlexer.lex"
5096 { YDVAR(1, VAR_HARDEN_GLUE) }
5097 	YY_BREAK
5098 case 103:
5099 YY_RULE_SETUP
5100 #line 317 "util/configlexer.lex"
5101 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
5102 	YY_BREAK
5103 case 104:
5104 YY_RULE_SETUP
5105 #line 318 "util/configlexer.lex"
5106 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
5107 	YY_BREAK
5108 case 105:
5109 YY_RULE_SETUP
5110 #line 319 "util/configlexer.lex"
5111 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
5112 	YY_BREAK
5113 case 106:
5114 YY_RULE_SETUP
5115 #line 320 "util/configlexer.lex"
5116 { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
5117 	YY_BREAK
5118 case 107:
5119 YY_RULE_SETUP
5120 #line 321 "util/configlexer.lex"
5121 { YDVAR(1, VAR_HARDEN_UNKNOWN_ADDITIONAL) }
5122 	YY_BREAK
5123 case 108:
5124 YY_RULE_SETUP
5125 #line 322 "util/configlexer.lex"
5126 { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
5127 	YY_BREAK
5128 case 109:
5129 YY_RULE_SETUP
5130 #line 323 "util/configlexer.lex"
5131 { YDVAR(1, VAR_CAPS_WHITELIST) }
5132 	YY_BREAK
5133 case 110:
5134 YY_RULE_SETUP
5135 #line 324 "util/configlexer.lex"
5136 { YDVAR(1, VAR_CAPS_WHITELIST) }
5137 	YY_BREAK
5138 case 111:
5139 YY_RULE_SETUP
5140 #line 325 "util/configlexer.lex"
5141 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
5142 	YY_BREAK
5143 case 112:
5144 YY_RULE_SETUP
5145 #line 326 "util/configlexer.lex"
5146 { YDVAR(1, VAR_PRIVATE_ADDRESS) }
5147 	YY_BREAK
5148 case 113:
5149 YY_RULE_SETUP
5150 #line 327 "util/configlexer.lex"
5151 { YDVAR(1, VAR_PRIVATE_DOMAIN) }
5152 	YY_BREAK
5153 case 114:
5154 YY_RULE_SETUP
5155 #line 328 "util/configlexer.lex"
5156 { YDVAR(1, VAR_PREFETCH_KEY) }
5157 	YY_BREAK
5158 case 115:
5159 YY_RULE_SETUP
5160 #line 329 "util/configlexer.lex"
5161 { YDVAR(1, VAR_PREFETCH) }
5162 	YY_BREAK
5163 case 116:
5164 YY_RULE_SETUP
5165 #line 330 "util/configlexer.lex"
5166 { YDVAR(1, VAR_DENY_ANY) }
5167 	YY_BREAK
5168 case 117:
5169 YY_RULE_SETUP
5170 #line 331 "util/configlexer.lex"
5171 { YDVAR(0, VAR_STUB_ZONE) }
5172 	YY_BREAK
5173 case 118:
5174 YY_RULE_SETUP
5175 #line 332 "util/configlexer.lex"
5176 { YDVAR(1, VAR_NAME) }
5177 	YY_BREAK
5178 case 119:
5179 YY_RULE_SETUP
5180 #line 333 "util/configlexer.lex"
5181 { YDVAR(1, VAR_STUB_ADDR) }
5182 	YY_BREAK
5183 case 120:
5184 YY_RULE_SETUP
5185 #line 334 "util/configlexer.lex"
5186 { YDVAR(1, VAR_STUB_HOST) }
5187 	YY_BREAK
5188 case 121:
5189 YY_RULE_SETUP
5190 #line 335 "util/configlexer.lex"
5191 { YDVAR(1, VAR_STUB_PRIME) }
5192 	YY_BREAK
5193 case 122:
5194 YY_RULE_SETUP
5195 #line 336 "util/configlexer.lex"
5196 { YDVAR(1, VAR_STUB_FIRST) }
5197 	YY_BREAK
5198 case 123:
5199 YY_RULE_SETUP
5200 #line 337 "util/configlexer.lex"
5201 { YDVAR(1, VAR_STUB_NO_CACHE) }
5202 	YY_BREAK
5203 case 124:
5204 YY_RULE_SETUP
5205 #line 338 "util/configlexer.lex"
5206 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5207 	YY_BREAK
5208 case 125:
5209 YY_RULE_SETUP
5210 #line 339 "util/configlexer.lex"
5211 { YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5212 	YY_BREAK
5213 case 126:
5214 YY_RULE_SETUP
5215 #line 340 "util/configlexer.lex"
5216 { YDVAR(1, VAR_STUB_TCP_UPSTREAM) }
5217 	YY_BREAK
5218 case 127:
5219 YY_RULE_SETUP
5220 #line 341 "util/configlexer.lex"
5221 { YDVAR(0, VAR_FORWARD_ZONE) }
5222 	YY_BREAK
5223 case 128:
5224 YY_RULE_SETUP
5225 #line 342 "util/configlexer.lex"
5226 { YDVAR(1, VAR_FORWARD_ADDR) }
5227 	YY_BREAK
5228 case 129:
5229 YY_RULE_SETUP
5230 #line 343 "util/configlexer.lex"
5231 { YDVAR(1, VAR_FORWARD_HOST) }
5232 	YY_BREAK
5233 case 130:
5234 YY_RULE_SETUP
5235 #line 344 "util/configlexer.lex"
5236 { YDVAR(1, VAR_FORWARD_FIRST) }
5237 	YY_BREAK
5238 case 131:
5239 YY_RULE_SETUP
5240 #line 345 "util/configlexer.lex"
5241 { YDVAR(1, VAR_FORWARD_NO_CACHE) }
5242 	YY_BREAK
5243 case 132:
5244 YY_RULE_SETUP
5245 #line 346 "util/configlexer.lex"
5246 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5247 	YY_BREAK
5248 case 133:
5249 YY_RULE_SETUP
5250 #line 347 "util/configlexer.lex"
5251 { YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5252 	YY_BREAK
5253 case 134:
5254 YY_RULE_SETUP
5255 #line 348 "util/configlexer.lex"
5256 { YDVAR(1, VAR_FORWARD_TCP_UPSTREAM) }
5257 	YY_BREAK
5258 case 135:
5259 YY_RULE_SETUP
5260 #line 349 "util/configlexer.lex"
5261 { YDVAR(0, VAR_AUTH_ZONE) }
5262 	YY_BREAK
5263 case 136:
5264 YY_RULE_SETUP
5265 #line 350 "util/configlexer.lex"
5266 { YDVAR(0, VAR_RPZ) }
5267 	YY_BREAK
5268 case 137:
5269 YY_RULE_SETUP
5270 #line 351 "util/configlexer.lex"
5271 { YDVAR(1, VAR_TAGS) }
5272 	YY_BREAK
5273 case 138:
5274 YY_RULE_SETUP
5275 #line 352 "util/configlexer.lex"
5276 { YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) }
5277 	YY_BREAK
5278 case 139:
5279 YY_RULE_SETUP
5280 #line 353 "util/configlexer.lex"
5281 { YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) }
5282 	YY_BREAK
5283 case 140:
5284 YY_RULE_SETUP
5285 #line 354 "util/configlexer.lex"
5286 { YDVAR(1, VAR_RPZ_LOG) }
5287 	YY_BREAK
5288 case 141:
5289 YY_RULE_SETUP
5290 #line 355 "util/configlexer.lex"
5291 { YDVAR(1, VAR_RPZ_LOG_NAME) }
5292 	YY_BREAK
5293 case 142:
5294 YY_RULE_SETUP
5295 #line 356 "util/configlexer.lex"
5296 { YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) }
5297 	YY_BREAK
5298 case 143:
5299 YY_RULE_SETUP
5300 #line 357 "util/configlexer.lex"
5301 { YDVAR(1, VAR_ZONEFILE) }
5302 	YY_BREAK
5303 case 144:
5304 YY_RULE_SETUP
5305 #line 358 "util/configlexer.lex"
5306 { YDVAR(1, VAR_MASTER) }
5307 	YY_BREAK
5308 case 145:
5309 YY_RULE_SETUP
5310 #line 359 "util/configlexer.lex"
5311 { YDVAR(1, VAR_MASTER) }
5312 	YY_BREAK
5313 case 146:
5314 YY_RULE_SETUP
5315 #line 360 "util/configlexer.lex"
5316 { YDVAR(1, VAR_URL) }
5317 	YY_BREAK
5318 case 147:
5319 YY_RULE_SETUP
5320 #line 361 "util/configlexer.lex"
5321 { YDVAR(1, VAR_ALLOW_NOTIFY) }
5322 	YY_BREAK
5323 case 148:
5324 YY_RULE_SETUP
5325 #line 362 "util/configlexer.lex"
5326 { YDVAR(1, VAR_FOR_DOWNSTREAM) }
5327 	YY_BREAK
5328 case 149:
5329 YY_RULE_SETUP
5330 #line 363 "util/configlexer.lex"
5331 { YDVAR(1, VAR_FOR_UPSTREAM) }
5332 	YY_BREAK
5333 case 150:
5334 YY_RULE_SETUP
5335 #line 364 "util/configlexer.lex"
5336 { YDVAR(1, VAR_FALLBACK_ENABLED) }
5337 	YY_BREAK
5338 case 151:
5339 YY_RULE_SETUP
5340 #line 365 "util/configlexer.lex"
5341 { YDVAR(0, VAR_VIEW) }
5342 	YY_BREAK
5343 case 152:
5344 YY_RULE_SETUP
5345 #line 366 "util/configlexer.lex"
5346 { YDVAR(1, VAR_VIEW_FIRST) }
5347 	YY_BREAK
5348 case 153:
5349 YY_RULE_SETUP
5350 #line 367 "util/configlexer.lex"
5351 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
5352 	YY_BREAK
5353 case 154:
5354 YY_RULE_SETUP
5355 #line 368 "util/configlexer.lex"
5356 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
5357 	YY_BREAK
5358 case 155:
5359 YY_RULE_SETUP
5360 #line 369 "util/configlexer.lex"
5361 { YDVAR(2, VAR_ACCESS_CONTROL) }
5362 	YY_BREAK
5363 case 156:
5364 YY_RULE_SETUP
5365 #line 370 "util/configlexer.lex"
5366 { YDVAR(2, VAR_INTERFACE_ACTION) }
5367 	YY_BREAK
5368 case 157:
5369 YY_RULE_SETUP
5370 #line 371 "util/configlexer.lex"
5371 { YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
5372 	YY_BREAK
5373 case 158:
5374 YY_RULE_SETUP
5375 #line 372 "util/configlexer.lex"
5376 { YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
5377 	YY_BREAK
5378 case 159:
5379 YY_RULE_SETUP
5380 #line 373 "util/configlexer.lex"
5381 { YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
5382 	YY_BREAK
5383 case 160:
5384 YY_RULE_SETUP
5385 #line 374 "util/configlexer.lex"
5386 { YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
5387 	YY_BREAK
5388 case 161:
5389 YY_RULE_SETUP
5390 #line 375 "util/configlexer.lex"
5391 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
5392 	YY_BREAK
5393 case 162:
5394 YY_RULE_SETUP
5395 #line 376 "util/configlexer.lex"
5396 { YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
5397 	YY_BREAK
5398 case 163:
5399 YY_RULE_SETUP
5400 #line 377 "util/configlexer.lex"
5401 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
5402 	YY_BREAK
5403 case 164:
5404 YY_RULE_SETUP
5405 #line 378 "util/configlexer.lex"
5406 { YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
5407 	YY_BREAK
5408 case 165:
5409 YY_RULE_SETUP
5410 #line 379 "util/configlexer.lex"
5411 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
5412 	YY_BREAK
5413 case 166:
5414 YY_RULE_SETUP
5415 #line 380 "util/configlexer.lex"
5416 { YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
5417 	YY_BREAK
5418 case 167:
5419 YY_RULE_SETUP
5420 #line 381 "util/configlexer.lex"
5421 { YDVAR(1, VAR_HIDE_IDENTITY) }
5422 	YY_BREAK
5423 case 168:
5424 YY_RULE_SETUP
5425 #line 382 "util/configlexer.lex"
5426 { YDVAR(1, VAR_HIDE_VERSION) }
5427 	YY_BREAK
5428 case 169:
5429 YY_RULE_SETUP
5430 #line 383 "util/configlexer.lex"
5431 { YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
5432 	YY_BREAK
5433 case 170:
5434 YY_RULE_SETUP
5435 #line 384 "util/configlexer.lex"
5436 { YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) }
5437 	YY_BREAK
5438 case 171:
5439 YY_RULE_SETUP
5440 #line 385 "util/configlexer.lex"
5441 { YDVAR(1, VAR_IDENTITY) }
5442 	YY_BREAK
5443 case 172:
5444 YY_RULE_SETUP
5445 #line 386 "util/configlexer.lex"
5446 { YDVAR(1, VAR_VERSION) }
5447 	YY_BREAK
5448 case 173:
5449 YY_RULE_SETUP
5450 #line 387 "util/configlexer.lex"
5451 { YDVAR(1, VAR_HTTP_USER_AGENT) }
5452 	YY_BREAK
5453 case 174:
5454 YY_RULE_SETUP
5455 #line 388 "util/configlexer.lex"
5456 { YDVAR(1, VAR_MODULE_CONF) }
5457 	YY_BREAK
5458 case 175:
5459 YY_RULE_SETUP
5460 #line 389 "util/configlexer.lex"
5461 { YDVAR(1, VAR_DLV_ANCHOR) }
5462 	YY_BREAK
5463 case 176:
5464 YY_RULE_SETUP
5465 #line 390 "util/configlexer.lex"
5466 { YDVAR(1, VAR_DLV_ANCHOR_FILE) }
5467 	YY_BREAK
5468 case 177:
5469 YY_RULE_SETUP
5470 #line 391 "util/configlexer.lex"
5471 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
5472 	YY_BREAK
5473 case 178:
5474 YY_RULE_SETUP
5475 #line 392 "util/configlexer.lex"
5476 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
5477 	YY_BREAK
5478 case 179:
5479 YY_RULE_SETUP
5480 #line 393 "util/configlexer.lex"
5481 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
5482 	YY_BREAK
5483 case 180:
5484 YY_RULE_SETUP
5485 #line 394 "util/configlexer.lex"
5486 { YDVAR(1, VAR_TRUST_ANCHOR) }
5487 	YY_BREAK
5488 case 181:
5489 YY_RULE_SETUP
5490 #line 395 "util/configlexer.lex"
5491 { YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
5492 	YY_BREAK
5493 case 182:
5494 YY_RULE_SETUP
5495 #line 396 "util/configlexer.lex"
5496 { YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
5497 	YY_BREAK
5498 case 183:
5499 YY_RULE_SETUP
5500 #line 397 "util/configlexer.lex"
5501 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
5502 	YY_BREAK
5503 case 184:
5504 YY_RULE_SETUP
5505 #line 398 "util/configlexer.lex"
5506 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
5507 	YY_BREAK
5508 case 185:
5509 YY_RULE_SETUP
5510 #line 399 "util/configlexer.lex"
5511 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
5512 	YY_BREAK
5513 case 186:
5514 YY_RULE_SETUP
5515 #line 400 "util/configlexer.lex"
5516 { YDVAR(1, VAR_VAL_MAX_RESTART) }
5517 	YY_BREAK
5518 case 187:
5519 YY_RULE_SETUP
5520 #line 401 "util/configlexer.lex"
5521 { YDVAR(1, VAR_BOGUS_TTL) }
5522 	YY_BREAK
5523 case 188:
5524 YY_RULE_SETUP
5525 #line 402 "util/configlexer.lex"
5526 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
5527 	YY_BREAK
5528 case 189:
5529 YY_RULE_SETUP
5530 #line 403 "util/configlexer.lex"
5531 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
5532 	YY_BREAK
5533 case 190:
5534 YY_RULE_SETUP
5535 #line 404 "util/configlexer.lex"
5536 { YDVAR(1, VAR_AGGRESSIVE_NSEC) }
5537 	YY_BREAK
5538 case 191:
5539 YY_RULE_SETUP
5540 #line 405 "util/configlexer.lex"
5541 { YDVAR(1, VAR_IGNORE_CD_FLAG) }
5542 	YY_BREAK
5543 case 192:
5544 YY_RULE_SETUP
5545 #line 406 "util/configlexer.lex"
5546 { YDVAR(1, VAR_DISABLE_EDNS_DO) }
5547 	YY_BREAK
5548 case 193:
5549 YY_RULE_SETUP
5550 #line 407 "util/configlexer.lex"
5551 { YDVAR(1, VAR_SERVE_EXPIRED) }
5552 	YY_BREAK
5553 case 194:
5554 YY_RULE_SETUP
5555 #line 408 "util/configlexer.lex"
5556 { YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
5557 	YY_BREAK
5558 case 195:
5559 YY_RULE_SETUP
5560 #line 409 "util/configlexer.lex"
5561 { YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
5562 	YY_BREAK
5563 case 196:
5564 YY_RULE_SETUP
5565 #line 410 "util/configlexer.lex"
5566 { YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
5567 	YY_BREAK
5568 case 197:
5569 YY_RULE_SETUP
5570 #line 411 "util/configlexer.lex"
5571 { YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
5572 	YY_BREAK
5573 case 198:
5574 YY_RULE_SETUP
5575 #line 412 "util/configlexer.lex"
5576 { YDVAR(1, VAR_EDE_SERVE_EXPIRED) }
5577 	YY_BREAK
5578 case 199:
5579 YY_RULE_SETUP
5580 #line 413 "util/configlexer.lex"
5581 { YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
5582 	YY_BREAK
5583 case 200:
5584 YY_RULE_SETUP
5585 #line 414 "util/configlexer.lex"
5586 { YDVAR(1, VAR_FAKE_DSA) }
5587 	YY_BREAK
5588 case 201:
5589 YY_RULE_SETUP
5590 #line 415 "util/configlexer.lex"
5591 { YDVAR(1, VAR_FAKE_SHA1) }
5592 	YY_BREAK
5593 case 202:
5594 YY_RULE_SETUP
5595 #line 416 "util/configlexer.lex"
5596 { YDVAR(1, VAR_VAL_LOG_LEVEL) }
5597 	YY_BREAK
5598 case 203:
5599 YY_RULE_SETUP
5600 #line 417 "util/configlexer.lex"
5601 { YDVAR(1, VAR_KEY_CACHE_SIZE) }
5602 	YY_BREAK
5603 case 204:
5604 YY_RULE_SETUP
5605 #line 418 "util/configlexer.lex"
5606 { YDVAR(1, VAR_KEY_CACHE_SLABS) }
5607 	YY_BREAK
5608 case 205:
5609 YY_RULE_SETUP
5610 #line 419 "util/configlexer.lex"
5611 { YDVAR(1, VAR_NEG_CACHE_SIZE) }
5612 	YY_BREAK
5613 case 206:
5614 YY_RULE_SETUP
5615 #line 420 "util/configlexer.lex"
5616 {
5617 				  YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
5618 	YY_BREAK
5619 case 207:
5620 YY_RULE_SETUP
5621 #line 422 "util/configlexer.lex"
5622 { YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
5623 	YY_BREAK
5624 case 208:
5625 YY_RULE_SETUP
5626 #line 423 "util/configlexer.lex"
5627 { YDVAR(1, VAR_ZONEMD_CHECK) }
5628 	YY_BREAK
5629 case 209:
5630 YY_RULE_SETUP
5631 #line 424 "util/configlexer.lex"
5632 { YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
5633 	YY_BREAK
5634 case 210:
5635 YY_RULE_SETUP
5636 #line 425 "util/configlexer.lex"
5637 { YDVAR(1, VAR_ADD_HOLDDOWN) }
5638 	YY_BREAK
5639 case 211:
5640 YY_RULE_SETUP
5641 #line 426 "util/configlexer.lex"
5642 { YDVAR(1, VAR_DEL_HOLDDOWN) }
5643 	YY_BREAK
5644 case 212:
5645 YY_RULE_SETUP
5646 #line 427 "util/configlexer.lex"
5647 { YDVAR(1, VAR_KEEP_MISSING) }
5648 	YY_BREAK
5649 case 213:
5650 YY_RULE_SETUP
5651 #line 428 "util/configlexer.lex"
5652 { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
5653 	YY_BREAK
5654 case 214:
5655 YY_RULE_SETUP
5656 #line 429 "util/configlexer.lex"
5657 { YDVAR(1, VAR_USE_SYSLOG) }
5658 	YY_BREAK
5659 case 215:
5660 YY_RULE_SETUP
5661 #line 430 "util/configlexer.lex"
5662 { YDVAR(1, VAR_LOG_IDENTITY) }
5663 	YY_BREAK
5664 case 216:
5665 YY_RULE_SETUP
5666 #line 431 "util/configlexer.lex"
5667 { YDVAR(1, VAR_LOG_TIME_ASCII) }
5668 	YY_BREAK
5669 case 217:
5670 YY_RULE_SETUP
5671 #line 432 "util/configlexer.lex"
5672 { YDVAR(1, VAR_LOG_QUERIES) }
5673 	YY_BREAK
5674 case 218:
5675 YY_RULE_SETUP
5676 #line 433 "util/configlexer.lex"
5677 { YDVAR(1, VAR_LOG_REPLIES) }
5678 	YY_BREAK
5679 case 219:
5680 YY_RULE_SETUP
5681 #line 434 "util/configlexer.lex"
5682 { YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
5683 	YY_BREAK
5684 case 220:
5685 YY_RULE_SETUP
5686 #line 435 "util/configlexer.lex"
5687 { YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
5688 	YY_BREAK
5689 case 221:
5690 YY_RULE_SETUP
5691 #line 436 "util/configlexer.lex"
5692 { YDVAR(1, VAR_LOG_SERVFAIL) }
5693 	YY_BREAK
5694 case 222:
5695 YY_RULE_SETUP
5696 #line 437 "util/configlexer.lex"
5697 { YDVAR(2, VAR_LOCAL_ZONE) }
5698 	YY_BREAK
5699 case 223:
5700 YY_RULE_SETUP
5701 #line 438 "util/configlexer.lex"
5702 { YDVAR(1, VAR_LOCAL_DATA) }
5703 	YY_BREAK
5704 case 224:
5705 YY_RULE_SETUP
5706 #line 439 "util/configlexer.lex"
5707 { YDVAR(1, VAR_LOCAL_DATA_PTR) }
5708 	YY_BREAK
5709 case 225:
5710 YY_RULE_SETUP
5711 #line 440 "util/configlexer.lex"
5712 { YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
5713 	YY_BREAK
5714 case 226:
5715 YY_RULE_SETUP
5716 #line 441 "util/configlexer.lex"
5717 { YDVAR(1, VAR_INSECURE_LAN_ZONES) }
5718 	YY_BREAK
5719 case 227:
5720 YY_RULE_SETUP
5721 #line 442 "util/configlexer.lex"
5722 { YDVAR(1, VAR_STATISTICS_INTERVAL) }
5723 	YY_BREAK
5724 case 228:
5725 YY_RULE_SETUP
5726 #line 443 "util/configlexer.lex"
5727 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
5728 	YY_BREAK
5729 case 229:
5730 YY_RULE_SETUP
5731 #line 444 "util/configlexer.lex"
5732 { YDVAR(1, VAR_EXTENDED_STATISTICS) }
5733 	YY_BREAK
5734 case 230:
5735 YY_RULE_SETUP
5736 #line 445 "util/configlexer.lex"
5737 { YDVAR(1, VAR_STATISTICS_INHIBIT_ZERO) }
5738 	YY_BREAK
5739 case 231:
5740 YY_RULE_SETUP
5741 #line 446 "util/configlexer.lex"
5742 { YDVAR(1, VAR_SHM_ENABLE) }
5743 	YY_BREAK
5744 case 232:
5745 YY_RULE_SETUP
5746 #line 447 "util/configlexer.lex"
5747 { YDVAR(1, VAR_SHM_KEY) }
5748 	YY_BREAK
5749 case 233:
5750 YY_RULE_SETUP
5751 #line 448 "util/configlexer.lex"
5752 { YDVAR(0, VAR_REMOTE_CONTROL) }
5753 	YY_BREAK
5754 case 234:
5755 YY_RULE_SETUP
5756 #line 449 "util/configlexer.lex"
5757 { YDVAR(1, VAR_CONTROL_ENABLE) }
5758 	YY_BREAK
5759 case 235:
5760 YY_RULE_SETUP
5761 #line 450 "util/configlexer.lex"
5762 { YDVAR(1, VAR_CONTROL_INTERFACE) }
5763 	YY_BREAK
5764 case 236:
5765 YY_RULE_SETUP
5766 #line 451 "util/configlexer.lex"
5767 { YDVAR(1, VAR_CONTROL_PORT) }
5768 	YY_BREAK
5769 case 237:
5770 YY_RULE_SETUP
5771 #line 452 "util/configlexer.lex"
5772 { YDVAR(1, VAR_CONTROL_USE_CERT) }
5773 	YY_BREAK
5774 case 238:
5775 YY_RULE_SETUP
5776 #line 453 "util/configlexer.lex"
5777 { YDVAR(1, VAR_SERVER_KEY_FILE) }
5778 	YY_BREAK
5779 case 239:
5780 YY_RULE_SETUP
5781 #line 454 "util/configlexer.lex"
5782 { YDVAR(1, VAR_SERVER_CERT_FILE) }
5783 	YY_BREAK
5784 case 240:
5785 YY_RULE_SETUP
5786 #line 455 "util/configlexer.lex"
5787 { YDVAR(1, VAR_CONTROL_KEY_FILE) }
5788 	YY_BREAK
5789 case 241:
5790 YY_RULE_SETUP
5791 #line 456 "util/configlexer.lex"
5792 { YDVAR(1, VAR_CONTROL_CERT_FILE) }
5793 	YY_BREAK
5794 case 242:
5795 YY_RULE_SETUP
5796 #line 457 "util/configlexer.lex"
5797 { YDVAR(1, VAR_PYTHON_SCRIPT) }
5798 	YY_BREAK
5799 case 243:
5800 YY_RULE_SETUP
5801 #line 458 "util/configlexer.lex"
5802 { YDVAR(0, VAR_PYTHON) }
5803 	YY_BREAK
5804 case 244:
5805 YY_RULE_SETUP
5806 #line 459 "util/configlexer.lex"
5807 { YDVAR(1, VAR_DYNLIB_FILE) }
5808 	YY_BREAK
5809 case 245:
5810 YY_RULE_SETUP
5811 #line 460 "util/configlexer.lex"
5812 { YDVAR(0, VAR_DYNLIB) }
5813 	YY_BREAK
5814 case 246:
5815 YY_RULE_SETUP
5816 #line 461 "util/configlexer.lex"
5817 { YDVAR(1, VAR_DOMAIN_INSECURE) }
5818 	YY_BREAK
5819 case 247:
5820 YY_RULE_SETUP
5821 #line 462 "util/configlexer.lex"
5822 { YDVAR(1, VAR_MINIMAL_RESPONSES) }
5823 	YY_BREAK
5824 case 248:
5825 YY_RULE_SETUP
5826 #line 463 "util/configlexer.lex"
5827 { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
5828 	YY_BREAK
5829 case 249:
5830 YY_RULE_SETUP
5831 #line 464 "util/configlexer.lex"
5832 { YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
5833 	YY_BREAK
5834 case 250:
5835 YY_RULE_SETUP
5836 #line 465 "util/configlexer.lex"
5837 { YDVAR(1, VAR_MAX_UDP_SIZE) }
5838 	YY_BREAK
5839 case 251:
5840 YY_RULE_SETUP
5841 #line 466 "util/configlexer.lex"
5842 { YDVAR(1, VAR_DNS64_PREFIX) }
5843 	YY_BREAK
5844 case 252:
5845 YY_RULE_SETUP
5846 #line 467 "util/configlexer.lex"
5847 { YDVAR(1, VAR_DNS64_SYNTHALL) }
5848 	YY_BREAK
5849 case 253:
5850 YY_RULE_SETUP
5851 #line 468 "util/configlexer.lex"
5852 { YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
5853 	YY_BREAK
5854 case 254:
5855 YY_RULE_SETUP
5856 #line 469 "util/configlexer.lex"
5857 { YDVAR(1, VAR_NAT64_PREFIX) }
5858 	YY_BREAK
5859 case 255:
5860 YY_RULE_SETUP
5861 #line 470 "util/configlexer.lex"
5862 { YDVAR(1, VAR_DEFINE_TAG) }
5863 	YY_BREAK
5864 case 256:
5865 YY_RULE_SETUP
5866 #line 471 "util/configlexer.lex"
5867 { YDVAR(2, VAR_LOCAL_ZONE_TAG) }
5868 	YY_BREAK
5869 case 257:
5870 YY_RULE_SETUP
5871 #line 472 "util/configlexer.lex"
5872 { YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
5873 	YY_BREAK
5874 case 258:
5875 YY_RULE_SETUP
5876 #line 473 "util/configlexer.lex"
5877 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
5878 	YY_BREAK
5879 case 259:
5880 YY_RULE_SETUP
5881 #line 474 "util/configlexer.lex"
5882 { YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
5883 	YY_BREAK
5884 case 260:
5885 YY_RULE_SETUP
5886 #line 475 "util/configlexer.lex"
5887 { YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
5888 	YY_BREAK
5889 case 261:
5890 YY_RULE_SETUP
5891 #line 476 "util/configlexer.lex"
5892 { YDVAR(2, VAR_INTERFACE_TAG) }
5893 	YY_BREAK
5894 case 262:
5895 YY_RULE_SETUP
5896 #line 477 "util/configlexer.lex"
5897 { YDVAR(3, VAR_INTERFACE_TAG_ACTION) }
5898 	YY_BREAK
5899 case 263:
5900 YY_RULE_SETUP
5901 #line 478 "util/configlexer.lex"
5902 { YDVAR(3, VAR_INTERFACE_TAG_DATA) }
5903 	YY_BREAK
5904 case 264:
5905 YY_RULE_SETUP
5906 #line 479 "util/configlexer.lex"
5907 { YDVAR(2, VAR_INTERFACE_VIEW) }
5908 	YY_BREAK
5909 case 265:
5910 YY_RULE_SETUP
5911 #line 480 "util/configlexer.lex"
5912 { YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
5913 	YY_BREAK
5914 case 266:
5915 YY_RULE_SETUP
5916 #line 481 "util/configlexer.lex"
5917 { YDVAR(0, VAR_DNSTAP) }
5918 	YY_BREAK
5919 case 267:
5920 YY_RULE_SETUP
5921 #line 482 "util/configlexer.lex"
5922 { YDVAR(1, VAR_DNSTAP_ENABLE) }
5923 	YY_BREAK
5924 case 268:
5925 YY_RULE_SETUP
5926 #line 483 "util/configlexer.lex"
5927 { YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
5928 	YY_BREAK
5929 case 269:
5930 YY_RULE_SETUP
5931 #line 484 "util/configlexer.lex"
5932 { YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
5933 	YY_BREAK
5934 case 270:
5935 YY_RULE_SETUP
5936 #line 485 "util/configlexer.lex"
5937 { YDVAR(1, VAR_DNSTAP_IP) }
5938 	YY_BREAK
5939 case 271:
5940 YY_RULE_SETUP
5941 #line 486 "util/configlexer.lex"
5942 { YDVAR(1, VAR_DNSTAP_TLS) }
5943 	YY_BREAK
5944 case 272:
5945 YY_RULE_SETUP
5946 #line 487 "util/configlexer.lex"
5947 { YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
5948 	YY_BREAK
5949 case 273:
5950 YY_RULE_SETUP
5951 #line 488 "util/configlexer.lex"
5952 { YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
5953 	YY_BREAK
5954 case 274:
5955 YY_RULE_SETUP
5956 #line 489 "util/configlexer.lex"
5957 {
5958 		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
5959 	YY_BREAK
5960 case 275:
5961 YY_RULE_SETUP
5962 #line 491 "util/configlexer.lex"
5963 {
5964 		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
5965 	YY_BREAK
5966 case 276:
5967 YY_RULE_SETUP
5968 #line 493 "util/configlexer.lex"
5969 { YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
5970 	YY_BREAK
5971 case 277:
5972 YY_RULE_SETUP
5973 #line 494 "util/configlexer.lex"
5974 { YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
5975 	YY_BREAK
5976 case 278:
5977 YY_RULE_SETUP
5978 #line 495 "util/configlexer.lex"
5979 { YDVAR(1, VAR_DNSTAP_IDENTITY) }
5980 	YY_BREAK
5981 case 279:
5982 YY_RULE_SETUP
5983 #line 496 "util/configlexer.lex"
5984 { YDVAR(1, VAR_DNSTAP_VERSION) }
5985 	YY_BREAK
5986 case 280:
5987 YY_RULE_SETUP
5988 #line 497 "util/configlexer.lex"
5989 {
5990 		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
5991 	YY_BREAK
5992 case 281:
5993 YY_RULE_SETUP
5994 #line 499 "util/configlexer.lex"
5995 {
5996 		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
5997 	YY_BREAK
5998 case 282:
5999 YY_RULE_SETUP
6000 #line 501 "util/configlexer.lex"
6001 {
6002 		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
6003 	YY_BREAK
6004 case 283:
6005 YY_RULE_SETUP
6006 #line 503 "util/configlexer.lex"
6007 {
6008 		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
6009 	YY_BREAK
6010 case 284:
6011 YY_RULE_SETUP
6012 #line 505 "util/configlexer.lex"
6013 {
6014 		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
6015 	YY_BREAK
6016 case 285:
6017 YY_RULE_SETUP
6018 #line 507 "util/configlexer.lex"
6019 {
6020 		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
6021 	YY_BREAK
6022 case 286:
6023 YY_RULE_SETUP
6024 #line 509 "util/configlexer.lex"
6025 { YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
6026 	YY_BREAK
6027 case 287:
6028 YY_RULE_SETUP
6029 #line 510 "util/configlexer.lex"
6030 { YDVAR(1, VAR_IP_RATELIMIT) }
6031 	YY_BREAK
6032 case 288:
6033 YY_RULE_SETUP
6034 #line 511 "util/configlexer.lex"
6035 { YDVAR(1, VAR_IP_RATELIMIT_COOKIE) }
6036 	YY_BREAK
6037 case 289:
6038 YY_RULE_SETUP
6039 #line 512 "util/configlexer.lex"
6040 { YDVAR(1, VAR_RATELIMIT) }
6041 	YY_BREAK
6042 case 290:
6043 YY_RULE_SETUP
6044 #line 513 "util/configlexer.lex"
6045 { YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
6046 	YY_BREAK
6047 case 291:
6048 YY_RULE_SETUP
6049 #line 514 "util/configlexer.lex"
6050 { YDVAR(1, VAR_RATELIMIT_SLABS) }
6051 	YY_BREAK
6052 case 292:
6053 YY_RULE_SETUP
6054 #line 515 "util/configlexer.lex"
6055 { YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
6056 	YY_BREAK
6057 case 293:
6058 YY_RULE_SETUP
6059 #line 516 "util/configlexer.lex"
6060 { YDVAR(1, VAR_RATELIMIT_SIZE) }
6061 	YY_BREAK
6062 case 294:
6063 YY_RULE_SETUP
6064 #line 517 "util/configlexer.lex"
6065 { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
6066 	YY_BREAK
6067 case 295:
6068 YY_RULE_SETUP
6069 #line 518 "util/configlexer.lex"
6070 { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
6071 	YY_BREAK
6072 case 296:
6073 YY_RULE_SETUP
6074 #line 519 "util/configlexer.lex"
6075 { YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
6076 	YY_BREAK
6077 case 297:
6078 YY_RULE_SETUP
6079 #line 520 "util/configlexer.lex"
6080 { YDVAR(1, VAR_RATELIMIT_FACTOR) }
6081 	YY_BREAK
6082 case 298:
6083 YY_RULE_SETUP
6084 #line 521 "util/configlexer.lex"
6085 { YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) }
6086 	YY_BREAK
6087 case 299:
6088 YY_RULE_SETUP
6089 #line 522 "util/configlexer.lex"
6090 { YDVAR(1, VAR_RATELIMIT_BACKOFF) }
6091 	YY_BREAK
6092 case 300:
6093 YY_RULE_SETUP
6094 #line 523 "util/configlexer.lex"
6095 { YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
6096 	YY_BREAK
6097 case 301:
6098 YY_RULE_SETUP
6099 #line 524 "util/configlexer.lex"
6100 { YDVAR(1, VAR_MAX_SENT_COUNT) }
6101 	YY_BREAK
6102 case 302:
6103 YY_RULE_SETUP
6104 #line 525 "util/configlexer.lex"
6105 { YDVAR(1, VAR_MAX_QUERY_RESTARTS) }
6106 	YY_BREAK
6107 case 303:
6108 YY_RULE_SETUP
6109 #line 526 "util/configlexer.lex"
6110 { YDVAR(1, VAR_LOW_RTT) }
6111 	YY_BREAK
6112 case 304:
6113 YY_RULE_SETUP
6114 #line 527 "util/configlexer.lex"
6115 { YDVAR(1, VAR_FAST_SERVER_NUM) }
6116 	YY_BREAK
6117 case 305:
6118 YY_RULE_SETUP
6119 #line 528 "util/configlexer.lex"
6120 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6121 	YY_BREAK
6122 case 306:
6123 YY_RULE_SETUP
6124 #line 529 "util/configlexer.lex"
6125 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6126 	YY_BREAK
6127 case 307:
6128 YY_RULE_SETUP
6129 #line 530 "util/configlexer.lex"
6130 { YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6131 	YY_BREAK
6132 case 308:
6133 YY_RULE_SETUP
6134 #line 531 "util/configlexer.lex"
6135 { YDVAR(2, VAR_RESPONSE_IP_TAG) }
6136 	YY_BREAK
6137 case 309:
6138 YY_RULE_SETUP
6139 #line 532 "util/configlexer.lex"
6140 { YDVAR(2, VAR_RESPONSE_IP) }
6141 	YY_BREAK
6142 case 310:
6143 YY_RULE_SETUP
6144 #line 533 "util/configlexer.lex"
6145 { YDVAR(2, VAR_RESPONSE_IP_DATA) }
6146 	YY_BREAK
6147 case 311:
6148 YY_RULE_SETUP
6149 #line 534 "util/configlexer.lex"
6150 { YDVAR(0, VAR_DNSCRYPT) }
6151 	YY_BREAK
6152 case 312:
6153 YY_RULE_SETUP
6154 #line 535 "util/configlexer.lex"
6155 { YDVAR(1, VAR_DNSCRYPT_ENABLE) }
6156 	YY_BREAK
6157 case 313:
6158 YY_RULE_SETUP
6159 #line 536 "util/configlexer.lex"
6160 { YDVAR(1, VAR_DNSCRYPT_PORT) }
6161 	YY_BREAK
6162 case 314:
6163 YY_RULE_SETUP
6164 #line 537 "util/configlexer.lex"
6165 { YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
6166 	YY_BREAK
6167 case 315:
6168 YY_RULE_SETUP
6169 #line 538 "util/configlexer.lex"
6170 { YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
6171 	YY_BREAK
6172 case 316:
6173 YY_RULE_SETUP
6174 #line 539 "util/configlexer.lex"
6175 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
6176 	YY_BREAK
6177 case 317:
6178 YY_RULE_SETUP
6179 #line 540 "util/configlexer.lex"
6180 { YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
6181 	YY_BREAK
6182 case 318:
6183 YY_RULE_SETUP
6184 #line 541 "util/configlexer.lex"
6185 {
6186 		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
6187 	YY_BREAK
6188 case 319:
6189 YY_RULE_SETUP
6190 #line 543 "util/configlexer.lex"
6191 {
6192 		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
6193 	YY_BREAK
6194 case 320:
6195 YY_RULE_SETUP
6196 #line 545 "util/configlexer.lex"
6197 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
6198 	YY_BREAK
6199 case 321:
6200 YY_RULE_SETUP
6201 #line 546 "util/configlexer.lex"
6202 { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
6203 	YY_BREAK
6204 case 322:
6205 YY_RULE_SETUP
6206 #line 547 "util/configlexer.lex"
6207 { YDVAR(1, VAR_PAD_RESPONSES) }
6208 	YY_BREAK
6209 case 323:
6210 YY_RULE_SETUP
6211 #line 548 "util/configlexer.lex"
6212 { YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
6213 	YY_BREAK
6214 case 324:
6215 YY_RULE_SETUP
6216 #line 549 "util/configlexer.lex"
6217 { YDVAR(1, VAR_PAD_QUERIES) }
6218 	YY_BREAK
6219 case 325:
6220 YY_RULE_SETUP
6221 #line 550 "util/configlexer.lex"
6222 { YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
6223 	YY_BREAK
6224 case 326:
6225 YY_RULE_SETUP
6226 #line 551 "util/configlexer.lex"
6227 { YDVAR(1, VAR_IPSECMOD_ENABLED) }
6228 	YY_BREAK
6229 case 327:
6230 YY_RULE_SETUP
6231 #line 552 "util/configlexer.lex"
6232 { YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
6233 	YY_BREAK
6234 case 328:
6235 YY_RULE_SETUP
6236 #line 553 "util/configlexer.lex"
6237 { YDVAR(1, VAR_IPSECMOD_HOOK) }
6238 	YY_BREAK
6239 case 329:
6240 YY_RULE_SETUP
6241 #line 554 "util/configlexer.lex"
6242 { YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
6243 	YY_BREAK
6244 case 330:
6245 YY_RULE_SETUP
6246 #line 555 "util/configlexer.lex"
6247 { YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6248 	YY_BREAK
6249 case 331:
6250 YY_RULE_SETUP
6251 #line 556 "util/configlexer.lex"
6252 { YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6253 	YY_BREAK
6254 case 332:
6255 YY_RULE_SETUP
6256 #line 557 "util/configlexer.lex"
6257 { YDVAR(1, VAR_IPSECMOD_STRICT) }
6258 	YY_BREAK
6259 case 333:
6260 YY_RULE_SETUP
6261 #line 558 "util/configlexer.lex"
6262 { YDVAR(0, VAR_CACHEDB) }
6263 	YY_BREAK
6264 case 334:
6265 YY_RULE_SETUP
6266 #line 559 "util/configlexer.lex"
6267 { YDVAR(1, VAR_CACHEDB_BACKEND) }
6268 	YY_BREAK
6269 case 335:
6270 YY_RULE_SETUP
6271 #line 560 "util/configlexer.lex"
6272 { YDVAR(1, VAR_CACHEDB_SECRETSEED) }
6273 	YY_BREAK
6274 case 336:
6275 YY_RULE_SETUP
6276 #line 561 "util/configlexer.lex"
6277 { YDVAR(1, VAR_CACHEDB_NO_STORE) }
6278 	YY_BREAK
6279 case 337:
6280 YY_RULE_SETUP
6281 #line 562 "util/configlexer.lex"
6282 { YDVAR(1, VAR_CACHEDB_REDISHOST) }
6283 	YY_BREAK
6284 case 338:
6285 YY_RULE_SETUP
6286 #line 563 "util/configlexer.lex"
6287 { YDVAR(1, VAR_CACHEDB_REDISPORT) }
6288 	YY_BREAK
6289 case 339:
6290 YY_RULE_SETUP
6291 #line 564 "util/configlexer.lex"
6292 { YDVAR(1, VAR_CACHEDB_REDISPATH) }
6293 	YY_BREAK
6294 case 340:
6295 YY_RULE_SETUP
6296 #line 565 "util/configlexer.lex"
6297 { YDVAR(1, VAR_CACHEDB_REDISPASSWORD) }
6298 	YY_BREAK
6299 case 341:
6300 YY_RULE_SETUP
6301 #line 566 "util/configlexer.lex"
6302 { YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
6303 	YY_BREAK
6304 case 342:
6305 YY_RULE_SETUP
6306 #line 567 "util/configlexer.lex"
6307 { YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
6308 	YY_BREAK
6309 case 343:
6310 YY_RULE_SETUP
6311 #line 568 "util/configlexer.lex"
6312 { YDVAR(1, VAR_CACHEDB_REDISLOGICALDB) }
6313 	YY_BREAK
6314 case 344:
6315 YY_RULE_SETUP
6316 #line 569 "util/configlexer.lex"
6317 { YDVAR(0, VAR_IPSET) }
6318 	YY_BREAK
6319 case 345:
6320 YY_RULE_SETUP
6321 #line 570 "util/configlexer.lex"
6322 { YDVAR(1, VAR_IPSET_NAME_V4) }
6323 	YY_BREAK
6324 case 346:
6325 YY_RULE_SETUP
6326 #line 571 "util/configlexer.lex"
6327 { YDVAR(1, VAR_IPSET_NAME_V6) }
6328 	YY_BREAK
6329 case 347:
6330 YY_RULE_SETUP
6331 #line 572 "util/configlexer.lex"
6332 { YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
6333 	YY_BREAK
6334 case 348:
6335 YY_RULE_SETUP
6336 #line 573 "util/configlexer.lex"
6337 { YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
6338 	YY_BREAK
6339 case 349:
6340 YY_RULE_SETUP
6341 #line 574 "util/configlexer.lex"
6342 { YDVAR(1, VAR_ANSWER_COOKIE ) }
6343 	YY_BREAK
6344 case 350:
6345 YY_RULE_SETUP
6346 #line 575 "util/configlexer.lex"
6347 { YDVAR(1, VAR_COOKIE_SECRET) }
6348 	YY_BREAK
6349 case 351:
6350 YY_RULE_SETUP
6351 #line 576 "util/configlexer.lex"
6352 { YDVAR(2, VAR_EDNS_CLIENT_STRING) }
6353 	YY_BREAK
6354 case 352:
6355 YY_RULE_SETUP
6356 #line 577 "util/configlexer.lex"
6357 { YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
6358 	YY_BREAK
6359 case 353:
6360 YY_RULE_SETUP
6361 #line 578 "util/configlexer.lex"
6362 { YDVAR(1, VAR_NSID ) }
6363 	YY_BREAK
6364 case 354:
6365 YY_RULE_SETUP
6366 #line 579 "util/configlexer.lex"
6367 { YDVAR(1, VAR_EDE ) }
6368 	YY_BREAK
6369 case 355:
6370 YY_RULE_SETUP
6371 #line 580 "util/configlexer.lex"
6372 { YDVAR(1, VAR_PROXY_PROTOCOL_PORT) }
6373 	YY_BREAK
6374 case 356:
6375 /* rule 356 can match eol */
6376 YY_RULE_SETUP
6377 #line 581 "util/configlexer.lex"
6378 { LEXOUT(("NL\n")); cfg_parser->line++; }
6379 	YY_BREAK
6380 /* Quoted strings. Strip leading and ending quotes */
6381 case 357:
6382 YY_RULE_SETUP
6383 #line 584 "util/configlexer.lex"
6384 { BEGIN(quotedstring); LEXOUT(("QS ")); }
6385 	YY_BREAK
6386 case YY_STATE_EOF(quotedstring):
6387 #line 585 "util/configlexer.lex"
6388 {
6389         yyerror("EOF inside quoted string");
6390 	if(--num_args == 0) { BEGIN(INITIAL); }
6391 	else		    { BEGIN(val); }
6392 }
6393 	YY_BREAK
6394 case 358:
6395 YY_RULE_SETUP
6396 #line 590 "util/configlexer.lex"
6397 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
6398 	YY_BREAK
6399 case 359:
6400 /* rule 359 can match eol */
6401 YY_RULE_SETUP
6402 #line 591 "util/configlexer.lex"
6403 { yyerror("newline inside quoted string, no end \"");
6404 			  cfg_parser->line++; BEGIN(INITIAL); }
6405 	YY_BREAK
6406 case 360:
6407 YY_RULE_SETUP
6408 #line 593 "util/configlexer.lex"
6409 {
6410         LEXOUT(("QE "));
6411 	if(--num_args == 0) { BEGIN(INITIAL); }
6412 	else		    { BEGIN(val); }
6413         yytext[yyleng - 1] = '\0';
6414 	yylval.str = strdup(yytext);
6415 	if(!yylval.str)
6416 		yyerror("out of memory");
6417         return STRING_ARG;
6418 }
6419 	YY_BREAK
6420 /* Single Quoted strings. Strip leading and ending quotes */
6421 case 361:
6422 YY_RULE_SETUP
6423 #line 605 "util/configlexer.lex"
6424 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
6425 	YY_BREAK
6426 case YY_STATE_EOF(singlequotedstr):
6427 #line 606 "util/configlexer.lex"
6428 {
6429         yyerror("EOF inside quoted string");
6430 	if(--num_args == 0) { BEGIN(INITIAL); }
6431 	else		    { BEGIN(val); }
6432 }
6433 	YY_BREAK
6434 case 362:
6435 YY_RULE_SETUP
6436 #line 611 "util/configlexer.lex"
6437 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
6438 	YY_BREAK
6439 case 363:
6440 /* rule 363 can match eol */
6441 YY_RULE_SETUP
6442 #line 612 "util/configlexer.lex"
6443 { yyerror("newline inside quoted string, no end '");
6444 			     cfg_parser->line++; BEGIN(INITIAL); }
6445 	YY_BREAK
6446 case 364:
6447 YY_RULE_SETUP
6448 #line 614 "util/configlexer.lex"
6449 {
6450         LEXOUT(("SQE "));
6451 	if(--num_args == 0) { BEGIN(INITIAL); }
6452 	else		    { BEGIN(val); }
6453         yytext[yyleng - 1] = '\0';
6454 	yylval.str = strdup(yytext);
6455 	if(!yylval.str)
6456 		yyerror("out of memory");
6457         return STRING_ARG;
6458 }
6459 	YY_BREAK
6460 /* include: directive */
6461 case 365:
6462 YY_RULE_SETUP
6463 #line 626 "util/configlexer.lex"
6464 {
6465 	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
6466 	YY_BREAK
6467 case YY_STATE_EOF(include):
6468 #line 628 "util/configlexer.lex"
6469 {
6470         yyerror("EOF inside include directive");
6471         BEGIN(inc_prev);
6472 }
6473 	YY_BREAK
6474 case 366:
6475 YY_RULE_SETUP
6476 #line 632 "util/configlexer.lex"
6477 { LEXOUT(("ISP ")); /* ignore */ }
6478 	YY_BREAK
6479 case 367:
6480 /* rule 367 can match eol */
6481 YY_RULE_SETUP
6482 #line 633 "util/configlexer.lex"
6483 { LEXOUT(("NL\n")); cfg_parser->line++;}
6484 	YY_BREAK
6485 case 368:
6486 YY_RULE_SETUP
6487 #line 634 "util/configlexer.lex"
6488 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
6489 	YY_BREAK
6490 case 369:
6491 YY_RULE_SETUP
6492 #line 635 "util/configlexer.lex"
6493 {
6494 	LEXOUT(("Iunquotedstr(%s) ", yytext));
6495 	config_start_include_glob(yytext, 0);
6496 	BEGIN(inc_prev);
6497 }
6498 	YY_BREAK
6499 case YY_STATE_EOF(include_quoted):
6500 #line 640 "util/configlexer.lex"
6501 {
6502         yyerror("EOF inside quoted string");
6503         BEGIN(inc_prev);
6504 }
6505 	YY_BREAK
6506 case 370:
6507 YY_RULE_SETUP
6508 #line 644 "util/configlexer.lex"
6509 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
6510 	YY_BREAK
6511 case 371:
6512 /* rule 371 can match eol */
6513 YY_RULE_SETUP
6514 #line 645 "util/configlexer.lex"
6515 { yyerror("newline before \" in include name");
6516 				  cfg_parser->line++; BEGIN(inc_prev); }
6517 	YY_BREAK
6518 case 372:
6519 YY_RULE_SETUP
6520 #line 647 "util/configlexer.lex"
6521 {
6522 	LEXOUT(("IQE "));
6523 	yytext[yyleng - 1] = '\0';
6524 	config_start_include_glob(yytext, 0);
6525 	BEGIN(inc_prev);
6526 }
6527 	YY_BREAK
6528 case YY_STATE_EOF(INITIAL):
6529 case YY_STATE_EOF(val):
6530 #line 653 "util/configlexer.lex"
6531 {
6532 	LEXOUT(("LEXEOF "));
6533 	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
6534 	if (!config_include_stack) {
6535 		yyterminate();
6536 	} else {
6537 		int prev_toplevel = inc_toplevel;
6538 		fclose(yyin);
6539 		config_end_include();
6540 		if(prev_toplevel) return (VAR_FORCE_TOPLEVEL);
6541 	}
6542 }
6543 	YY_BREAK
6544 /* include-toplevel: directive */
6545 case 373:
6546 YY_RULE_SETUP
6547 #line 667 "util/configlexer.lex"
6548 {
6549 	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
6550 }
6551 	YY_BREAK
6552 case YY_STATE_EOF(include_toplevel):
6553 #line 670 "util/configlexer.lex"
6554 {
6555 	yyerror("EOF inside include_toplevel directive");
6556 	BEGIN(inc_prev);
6557 }
6558 	YY_BREAK
6559 case 374:
6560 YY_RULE_SETUP
6561 #line 674 "util/configlexer.lex"
6562 { LEXOUT(("ITSP ")); /* ignore */ }
6563 	YY_BREAK
6564 case 375:
6565 /* rule 375 can match eol */
6566 YY_RULE_SETUP
6567 #line 675 "util/configlexer.lex"
6568 { LEXOUT(("NL\n")); cfg_parser->line++; }
6569 	YY_BREAK
6570 case 376:
6571 YY_RULE_SETUP
6572 #line 676 "util/configlexer.lex"
6573 { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
6574 	YY_BREAK
6575 case 377:
6576 YY_RULE_SETUP
6577 #line 677 "util/configlexer.lex"
6578 {
6579 	LEXOUT(("ITunquotedstr(%s) ", yytext));
6580 	config_start_include_glob(yytext, 1);
6581 	BEGIN(inc_prev);
6582 	return (VAR_FORCE_TOPLEVEL);
6583 }
6584 	YY_BREAK
6585 case YY_STATE_EOF(include_toplevel_quoted):
6586 #line 683 "util/configlexer.lex"
6587 {
6588 	yyerror("EOF inside quoted string");
6589 	BEGIN(inc_prev);
6590 }
6591 	YY_BREAK
6592 case 378:
6593 YY_RULE_SETUP
6594 #line 687 "util/configlexer.lex"
6595 { LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
6596 	YY_BREAK
6597 case 379:
6598 /* rule 379 can match eol */
6599 YY_RULE_SETUP
6600 #line 688 "util/configlexer.lex"
6601 {
6602 	yyerror("newline before \" in include name");
6603 	cfg_parser->line++; BEGIN(inc_prev);
6604 }
6605 	YY_BREAK
6606 case 380:
6607 YY_RULE_SETUP
6608 #line 692 "util/configlexer.lex"
6609 {
6610 	LEXOUT(("ITQE "));
6611 	yytext[yyleng - 1] = '\0';
6612 	config_start_include_glob(yytext, 1);
6613 	BEGIN(inc_prev);
6614 	return (VAR_FORCE_TOPLEVEL);
6615 }
6616 	YY_BREAK
6617 case 381:
6618 YY_RULE_SETUP
6619 #line 700 "util/configlexer.lex"
6620 { LEXOUT(("unquotedstr(%s) ", yytext));
6621 			if(--num_args == 0) { BEGIN(INITIAL); }
6622 			yylval.str = strdup(yytext); return STRING_ARG; }
6623 	YY_BREAK
6624 case 382:
6625 YY_RULE_SETUP
6626 #line 704 "util/configlexer.lex"
6627 {
6628 	ub_c_error_msg("unknown keyword '%s'", yytext);
6629 	}
6630 	YY_BREAK
6631 case 383:
6632 YY_RULE_SETUP
6633 #line 708 "util/configlexer.lex"
6634 {
6635 	ub_c_error_msg("stray '%s'", yytext);
6636 	}
6637 	YY_BREAK
6638 case 384:
6639 YY_RULE_SETUP
6640 #line 712 "util/configlexer.lex"
6641 ECHO;
6642 	YY_BREAK
6643 #line 6641 "<stdout>"
6644 
6645 	case YY_END_OF_BUFFER:
6646 		{
6647 		/* Amount of text matched not including the EOB char. */
6648 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6649 
6650 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
6651 		*yy_cp = (yy_hold_char);
6652 		YY_RESTORE_YY_MORE_OFFSET
6653 
6654 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6655 			{
6656 			/* We're scanning a new file or input source.  It's
6657 			 * possible that this happened because the user
6658 			 * just pointed yyin at a new source and called
6659 			 * yylex().  If so, then we have to assure
6660 			 * consistency between YY_CURRENT_BUFFER and our
6661 			 * globals.  Here is the right place to do so, because
6662 			 * this is the first action (other than possibly a
6663 			 * back-up) that will match for the new input source.
6664 			 */
6665 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6666 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
6667 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6668 			}
6669 
6670 		/* Note that here we test for yy_c_buf_p "<=" to the position
6671 		 * of the first EOB in the buffer, since yy_c_buf_p will
6672 		 * already have been incremented past the NUL character
6673 		 * (since all states make transitions on EOB to the
6674 		 * end-of-buffer state).  Contrast this with the test
6675 		 * in input().
6676 		 */
6677 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6678 			{ /* This was really a NUL. */
6679 			yy_state_type yy_next_state;
6680 
6681 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6682 
6683 			yy_current_state = yy_get_previous_state(  );
6684 
6685 			/* Okay, we're now positioned to make the NUL
6686 			 * transition.  We couldn't have
6687 			 * yy_get_previous_state() go ahead and do it
6688 			 * for us because it doesn't know how to deal
6689 			 * with the possibility of jamming (and we don't
6690 			 * want to build jamming into it because then it
6691 			 * will run more slowly).
6692 			 */
6693 
6694 			yy_next_state = yy_try_NUL_trans( yy_current_state );
6695 
6696 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6697 
6698 			if ( yy_next_state )
6699 				{
6700 				/* Consume the NUL. */
6701 				yy_cp = ++(yy_c_buf_p);
6702 				yy_current_state = yy_next_state;
6703 				goto yy_match;
6704 				}
6705 
6706 			else
6707 				{
6708 				yy_cp = (yy_c_buf_p);
6709 				goto yy_find_action;
6710 				}
6711 			}
6712 
6713 		else switch ( yy_get_next_buffer(  ) )
6714 			{
6715 			case EOB_ACT_END_OF_FILE:
6716 				{
6717 				(yy_did_buffer_switch_on_eof) = 0;
6718 
6719 				if ( yywrap(  ) )
6720 					{
6721 					/* Note: because we've taken care in
6722 					 * yy_get_next_buffer() to have set up
6723 					 * yytext, we can now set up
6724 					 * yy_c_buf_p so that if some total
6725 					 * hoser (like flex itself) wants to
6726 					 * call the scanner after we return the
6727 					 * YY_NULL, it'll still work - another
6728 					 * YY_NULL will get returned.
6729 					 */
6730 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6731 
6732 					yy_act = YY_STATE_EOF(YY_START);
6733 					goto do_action;
6734 					}
6735 
6736 				else
6737 					{
6738 					if ( ! (yy_did_buffer_switch_on_eof) )
6739 						YY_NEW_FILE;
6740 					}
6741 				break;
6742 				}
6743 
6744 			case EOB_ACT_CONTINUE_SCAN:
6745 				(yy_c_buf_p) =
6746 					(yytext_ptr) + yy_amount_of_matched_text;
6747 
6748 				yy_current_state = yy_get_previous_state(  );
6749 
6750 				yy_cp = (yy_c_buf_p);
6751 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6752 				goto yy_match;
6753 
6754 			case EOB_ACT_LAST_MATCH:
6755 				(yy_c_buf_p) =
6756 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6757 
6758 				yy_current_state = yy_get_previous_state(  );
6759 
6760 				yy_cp = (yy_c_buf_p);
6761 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6762 				goto yy_find_action;
6763 			}
6764 		break;
6765 		}
6766 
6767 	default:
6768 		YY_FATAL_ERROR(
6769 			"fatal flex scanner internal error--no action found" );
6770 	} /* end of action switch */
6771 		} /* end of scanning one token */
6772 	} /* end of user's declarations */
6773 } /* end of yylex */
6774 
6775 /* yy_get_next_buffer - try to read in a new buffer
6776  *
6777  * Returns a code representing an action:
6778  *	EOB_ACT_LAST_MATCH -
6779  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6780  *	EOB_ACT_END_OF_FILE - end of file
6781  */
yy_get_next_buffer(void)6782 static int yy_get_next_buffer (void)
6783 {
6784     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6785 	char *source = (yytext_ptr);
6786 	int number_to_move, i;
6787 	int ret_val;
6788 
6789 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6790 		YY_FATAL_ERROR(
6791 		"fatal flex scanner internal error--end of buffer missed" );
6792 
6793 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6794 		{ /* Don't try to fill the buffer, so this is an EOF. */
6795 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6796 			{
6797 			/* We matched a single character, the EOB, so
6798 			 * treat this as a final EOF.
6799 			 */
6800 			return EOB_ACT_END_OF_FILE;
6801 			}
6802 
6803 		else
6804 			{
6805 			/* We matched some text prior to the EOB, first
6806 			 * process it.
6807 			 */
6808 			return EOB_ACT_LAST_MATCH;
6809 			}
6810 		}
6811 
6812 	/* Try to read more data. */
6813 
6814 	/* First move last chars to start of buffer. */
6815 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
6816 
6817 	for ( i = 0; i < number_to_move; ++i )
6818 		*(dest++) = *(source++);
6819 
6820 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6821 		/* don't do the read, it's not guaranteed to return an EOF,
6822 		 * just force an EOF
6823 		 */
6824 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6825 
6826 	else
6827 		{
6828 			int num_to_read =
6829 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6830 
6831 		while ( num_to_read <= 0 )
6832 			{ /* Not enough room in the buffer - grow it. */
6833 
6834 			/* just a shorter name for the current buffer */
6835 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6836 
6837 			int yy_c_buf_p_offset =
6838 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
6839 
6840 			if ( b->yy_is_our_buffer )
6841 				{
6842 				int new_size = b->yy_buf_size * 2;
6843 
6844 				if ( new_size <= 0 )
6845 					b->yy_buf_size += b->yy_buf_size / 8;
6846 				else
6847 					b->yy_buf_size *= 2;
6848 
6849 				b->yy_ch_buf = (char *)
6850 					/* Include room in for 2 EOB chars. */
6851 					yyrealloc( (void *) b->yy_ch_buf,
6852 							 (yy_size_t) (b->yy_buf_size + 2)  );
6853 				}
6854 			else
6855 				/* Can't grow it, we don't own it. */
6856 				b->yy_ch_buf = NULL;
6857 
6858 			if ( ! b->yy_ch_buf )
6859 				YY_FATAL_ERROR(
6860 				"fatal error - scanner input buffer overflow" );
6861 
6862 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6863 
6864 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6865 						number_to_move - 1;
6866 
6867 			}
6868 
6869 		if ( num_to_read > YY_READ_BUF_SIZE )
6870 			num_to_read = YY_READ_BUF_SIZE;
6871 
6872 		/* Read in more data. */
6873 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6874 			(yy_n_chars), num_to_read );
6875 
6876 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6877 		}
6878 
6879 	if ( (yy_n_chars) == 0 )
6880 		{
6881 		if ( number_to_move == YY_MORE_ADJ )
6882 			{
6883 			ret_val = EOB_ACT_END_OF_FILE;
6884 			yyrestart( yyin  );
6885 			}
6886 
6887 		else
6888 			{
6889 			ret_val = EOB_ACT_LAST_MATCH;
6890 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6891 				YY_BUFFER_EOF_PENDING;
6892 			}
6893 		}
6894 
6895 	else
6896 		ret_val = EOB_ACT_CONTINUE_SCAN;
6897 
6898 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6899 		/* Extend the array by 50%, plus the number we really need. */
6900 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6901 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
6902 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
6903 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6904 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6905 		/* "- 2" to take care of EOB's */
6906 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6907 	}
6908 
6909 	(yy_n_chars) += number_to_move;
6910 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6911 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6912 
6913 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6914 
6915 	return ret_val;
6916 }
6917 
6918 /* yy_get_previous_state - get the state just before the EOB char was reached */
6919 
yy_get_previous_state(void)6920     static yy_state_type yy_get_previous_state (void)
6921 {
6922 	yy_state_type yy_current_state;
6923 	char *yy_cp;
6924 
6925 	yy_current_state = (yy_start);
6926 
6927 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6928 		{
6929 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6930 		if ( yy_accept[yy_current_state] )
6931 			{
6932 			(yy_last_accepting_state) = yy_current_state;
6933 			(yy_last_accepting_cpos) = yy_cp;
6934 			}
6935 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6936 			{
6937 			yy_current_state = (int) yy_def[yy_current_state];
6938 			if ( yy_current_state >= 3807 )
6939 				yy_c = yy_meta[yy_c];
6940 			}
6941 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6942 		}
6943 
6944 	return yy_current_state;
6945 }
6946 
6947 /* yy_try_NUL_trans - try to make a transition on the NUL character
6948  *
6949  * synopsis
6950  *	next_state = yy_try_NUL_trans( current_state );
6951  */
yy_try_NUL_trans(yy_state_type yy_current_state)6952     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
6953 {
6954 	int yy_is_jam;
6955     	char *yy_cp = (yy_c_buf_p);
6956 
6957 	YY_CHAR yy_c = 1;
6958 	if ( yy_accept[yy_current_state] )
6959 		{
6960 		(yy_last_accepting_state) = yy_current_state;
6961 		(yy_last_accepting_cpos) = yy_cp;
6962 		}
6963 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6964 		{
6965 		yy_current_state = (int) yy_def[yy_current_state];
6966 		if ( yy_current_state >= 3807 )
6967 			yy_c = yy_meta[yy_c];
6968 		}
6969 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6970 	yy_is_jam = (yy_current_state == 3806);
6971 
6972 		return yy_is_jam ? 0 : yy_current_state;
6973 }
6974 
6975 #ifndef YY_NO_UNPUT
6976 
6977 #endif
6978 
6979 #ifndef YY_NO_INPUT
6980 #ifdef __cplusplus
yyinput(void)6981     static int yyinput (void)
6982 #else
6983     static int input  (void)
6984 #endif
6985 
6986 {
6987 	int c;
6988 
6989 	*(yy_c_buf_p) = (yy_hold_char);
6990 
6991 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6992 		{
6993 		/* yy_c_buf_p now points to the character we want to return.
6994 		 * If this occurs *before* the EOB characters, then it's a
6995 		 * valid NUL; if not, then we've hit the end of the buffer.
6996 		 */
6997 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6998 			/* This was really a NUL. */
6999 			*(yy_c_buf_p) = '\0';
7000 
7001 		else
7002 			{ /* need more input */
7003 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
7004 			++(yy_c_buf_p);
7005 
7006 			switch ( yy_get_next_buffer(  ) )
7007 				{
7008 				case EOB_ACT_LAST_MATCH:
7009 					/* This happens because yy_g_n_b()
7010 					 * sees that we've accumulated a
7011 					 * token and flags that we need to
7012 					 * try matching the token before
7013 					 * proceeding.  But for input(),
7014 					 * there's no matching to consider.
7015 					 * So convert the EOB_ACT_LAST_MATCH
7016 					 * to EOB_ACT_END_OF_FILE.
7017 					 */
7018 
7019 					/* Reset buffer status. */
7020 					yyrestart( yyin );
7021 
7022 					/*FALLTHROUGH*/
7023 
7024 				case EOB_ACT_END_OF_FILE:
7025 					{
7026 					if ( yywrap(  ) )
7027 						return 0;
7028 
7029 					if ( ! (yy_did_buffer_switch_on_eof) )
7030 						YY_NEW_FILE;
7031 #ifdef __cplusplus
7032 					return yyinput();
7033 #else
7034 					return input();
7035 #endif
7036 					}
7037 
7038 				case EOB_ACT_CONTINUE_SCAN:
7039 					(yy_c_buf_p) = (yytext_ptr) + offset;
7040 					break;
7041 				}
7042 			}
7043 		}
7044 
7045 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
7046 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
7047 	(yy_hold_char) = *++(yy_c_buf_p);
7048 
7049 	return c;
7050 }
7051 #endif	/* ifndef YY_NO_INPUT */
7052 
7053 /** Immediately switch to a different input stream.
7054  * @param input_file A readable stream.
7055  *
7056  * @note This function does not reset the start condition to @c INITIAL .
7057  */
yyrestart(FILE * input_file)7058     void yyrestart  (FILE * input_file )
7059 {
7060 
7061 	if ( ! YY_CURRENT_BUFFER ){
7062         yyensure_buffer_stack ();
7063 		YY_CURRENT_BUFFER_LVALUE =
7064             yy_create_buffer( yyin, YY_BUF_SIZE );
7065 	}
7066 
7067 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
7068 	yy_load_buffer_state(  );
7069 }
7070 
7071 /** Switch to a different input buffer.
7072  * @param new_buffer The new input buffer.
7073  *
7074  */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)7075     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
7076 {
7077 
7078 	/* TODO. We should be able to replace this entire function body
7079 	 * with
7080 	 *		yypop_buffer_state();
7081 	 *		yypush_buffer_state(new_buffer);
7082      */
7083 	yyensure_buffer_stack ();
7084 	if ( YY_CURRENT_BUFFER == new_buffer )
7085 		return;
7086 
7087 	if ( YY_CURRENT_BUFFER )
7088 		{
7089 		/* Flush out information for old buffer. */
7090 		*(yy_c_buf_p) = (yy_hold_char);
7091 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7092 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7093 		}
7094 
7095 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7096 	yy_load_buffer_state(  );
7097 
7098 	/* We don't actually know whether we did this switch during
7099 	 * EOF (yywrap()) processing, but the only time this flag
7100 	 * is looked at is after yywrap() is called, so it's safe
7101 	 * to go ahead and always set it.
7102 	 */
7103 	(yy_did_buffer_switch_on_eof) = 1;
7104 }
7105 
yy_load_buffer_state(void)7106 static void yy_load_buffer_state  (void)
7107 {
7108     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7109 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7110 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7111 	(yy_hold_char) = *(yy_c_buf_p);
7112 }
7113 
7114 /** Allocate and initialize an input buffer state.
7115  * @param file A readable stream.
7116  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7117  *
7118  * @return the allocated buffer state.
7119  */
yy_create_buffer(FILE * file,int size)7120     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
7121 {
7122 	YY_BUFFER_STATE b;
7123 
7124 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7125 	if ( ! b )
7126 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7127 
7128 	b->yy_buf_size = size;
7129 
7130 	/* yy_ch_buf has to be 2 characters longer than the size given because
7131 	 * we need to put in 2 end-of-buffer characters.
7132 	 */
7133 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
7134 	if ( ! b->yy_ch_buf )
7135 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7136 
7137 	b->yy_is_our_buffer = 1;
7138 
7139 	yy_init_buffer( b, file );
7140 
7141 	return b;
7142 }
7143 
7144 /** Destroy the buffer.
7145  * @param b a buffer created with yy_create_buffer()
7146  *
7147  */
yy_delete_buffer(YY_BUFFER_STATE b)7148     void yy_delete_buffer (YY_BUFFER_STATE  b )
7149 {
7150 
7151 	if ( ! b )
7152 		return;
7153 
7154 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7155 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7156 
7157 	if ( b->yy_is_our_buffer )
7158 		yyfree( (void *) b->yy_ch_buf  );
7159 
7160 	yyfree( (void *) b  );
7161 }
7162 
7163 /* Initializes or reinitializes a buffer.
7164  * This function is sometimes called more than once on the same buffer,
7165  * such as during a yyrestart() or at EOF.
7166  */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)7167     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
7168 
7169 {
7170 	int oerrno = errno;
7171 
7172 	yy_flush_buffer( b );
7173 
7174 	b->yy_input_file = file;
7175 	b->yy_fill_buffer = 1;
7176 
7177     /* If b is the current buffer, then yy_init_buffer was _probably_
7178      * called from yyrestart() or through yy_get_next_buffer.
7179      * In that case, we don't want to reset the lineno or column.
7180      */
7181     if (b != YY_CURRENT_BUFFER){
7182         b->yy_bs_lineno = 1;
7183         b->yy_bs_column = 0;
7184     }
7185 
7186         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7187 
7188 	errno = oerrno;
7189 }
7190 
7191 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7192  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7193  *
7194  */
yy_flush_buffer(YY_BUFFER_STATE b)7195     void yy_flush_buffer (YY_BUFFER_STATE  b )
7196 {
7197     	if ( ! b )
7198 		return;
7199 
7200 	b->yy_n_chars = 0;
7201 
7202 	/* We always need two end-of-buffer characters.  The first causes
7203 	 * a transition to the end-of-buffer state.  The second causes
7204 	 * a jam in that state.
7205 	 */
7206 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7207 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7208 
7209 	b->yy_buf_pos = &b->yy_ch_buf[0];
7210 
7211 	b->yy_at_bol = 1;
7212 	b->yy_buffer_status = YY_BUFFER_NEW;
7213 
7214 	if ( b == YY_CURRENT_BUFFER )
7215 		yy_load_buffer_state(  );
7216 }
7217 
7218 /** Pushes the new state onto the stack. The new state becomes
7219  *  the current state. This function will allocate the stack
7220  *  if necessary.
7221  *  @param new_buffer The new state.
7222  *
7223  */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)7224 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
7225 {
7226     	if (new_buffer == NULL)
7227 		return;
7228 
7229 	yyensure_buffer_stack();
7230 
7231 	/* This block is copied from yy_switch_to_buffer. */
7232 	if ( YY_CURRENT_BUFFER )
7233 		{
7234 		/* Flush out information for old buffer. */
7235 		*(yy_c_buf_p) = (yy_hold_char);
7236 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7237 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7238 		}
7239 
7240 	/* Only push if top exists. Otherwise, replace top. */
7241 	if (YY_CURRENT_BUFFER)
7242 		(yy_buffer_stack_top)++;
7243 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7244 
7245 	/* copied from yy_switch_to_buffer. */
7246 	yy_load_buffer_state(  );
7247 	(yy_did_buffer_switch_on_eof) = 1;
7248 }
7249 
7250 /** Removes and deletes the top of the stack, if present.
7251  *  The next element becomes the new top.
7252  *
7253  */
yypop_buffer_state(void)7254 void yypop_buffer_state (void)
7255 {
7256     	if (!YY_CURRENT_BUFFER)
7257 		return;
7258 
7259 	yy_delete_buffer(YY_CURRENT_BUFFER );
7260 	YY_CURRENT_BUFFER_LVALUE = NULL;
7261 	if ((yy_buffer_stack_top) > 0)
7262 		--(yy_buffer_stack_top);
7263 
7264 	if (YY_CURRENT_BUFFER) {
7265 		yy_load_buffer_state(  );
7266 		(yy_did_buffer_switch_on_eof) = 1;
7267 	}
7268 }
7269 
7270 /* Allocates the stack if it does not exist.
7271  *  Guarantees space for at least one push.
7272  */
yyensure_buffer_stack(void)7273 static void yyensure_buffer_stack (void)
7274 {
7275 	yy_size_t num_to_alloc;
7276 
7277 	if (!(yy_buffer_stack)) {
7278 
7279 		/* First allocation is just for 2 elements, since we don't know if this
7280 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7281 		 * immediate realloc on the next call.
7282          */
7283       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
7284 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
7285 								(num_to_alloc * sizeof(struct yy_buffer_state*)
7286 								);
7287 		if ( ! (yy_buffer_stack) )
7288 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7289 
7290 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7291 
7292 		(yy_buffer_stack_max) = num_to_alloc;
7293 		(yy_buffer_stack_top) = 0;
7294 		return;
7295 	}
7296 
7297 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7298 
7299 		/* Increase the buffer to prepare for a possible push. */
7300 		yy_size_t grow_size = 8 /* arbitrary grow size */;
7301 
7302 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
7303 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
7304 								((yy_buffer_stack),
7305 								num_to_alloc * sizeof(struct yy_buffer_state*)
7306 								);
7307 		if ( ! (yy_buffer_stack) )
7308 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7309 
7310 		/* zero only the new slots.*/
7311 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7312 		(yy_buffer_stack_max) = num_to_alloc;
7313 	}
7314 }
7315 
7316 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7317  * @param base the character buffer
7318  * @param size the size in bytes of the character buffer
7319  *
7320  * @return the newly allocated buffer state object.
7321  */
yy_scan_buffer(char * base,yy_size_t size)7322 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
7323 {
7324 	YY_BUFFER_STATE b;
7325 
7326 	if ( size < 2 ||
7327 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
7328 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
7329 		/* They forgot to leave room for the EOB's. */
7330 		return NULL;
7331 
7332 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7333 	if ( ! b )
7334 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
7335 
7336 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
7337 	b->yy_buf_pos = b->yy_ch_buf = base;
7338 	b->yy_is_our_buffer = 0;
7339 	b->yy_input_file = NULL;
7340 	b->yy_n_chars = b->yy_buf_size;
7341 	b->yy_is_interactive = 0;
7342 	b->yy_at_bol = 1;
7343 	b->yy_fill_buffer = 0;
7344 	b->yy_buffer_status = YY_BUFFER_NEW;
7345 
7346 	yy_switch_to_buffer( b  );
7347 
7348 	return b;
7349 }
7350 
7351 /** Setup the input buffer state to scan a string. The next call to yylex() will
7352  * scan from a @e copy of @a str.
7353  * @param yystr a NUL-terminated string to scan
7354  *
7355  * @return the newly allocated buffer state object.
7356  * @note If you want to scan bytes that may contain NUL values, then use
7357  *       yy_scan_bytes() instead.
7358  */
yy_scan_string(const char * yystr)7359 YY_BUFFER_STATE yy_scan_string (const char * yystr )
7360 {
7361 
7362 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
7363 }
7364 
7365 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
7366  * scan from a @e copy of @a bytes.
7367  * @param yybytes the byte buffer to scan
7368  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7369  *
7370  * @return the newly allocated buffer state object.
7371  */
yy_scan_bytes(const char * yybytes,int _yybytes_len)7372 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
7373 {
7374 	YY_BUFFER_STATE b;
7375 	char *buf;
7376 	yy_size_t n;
7377 	int i;
7378 
7379 	/* Get memory for full buffer, including space for trailing EOB's. */
7380 	n = (yy_size_t) (_yybytes_len + 2);
7381 	buf = (char *) yyalloc( n  );
7382 	if ( ! buf )
7383 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
7384 
7385 	for ( i = 0; i < _yybytes_len; ++i )
7386 		buf[i] = yybytes[i];
7387 
7388 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7389 
7390 	b = yy_scan_buffer( buf, n );
7391 	if ( ! b )
7392 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
7393 
7394 	/* It's okay to grow etc. this buffer, and we should throw it
7395 	 * away when we're done.
7396 	 */
7397 	b->yy_is_our_buffer = 1;
7398 
7399 	return b;
7400 }
7401 
7402 #ifndef YY_EXIT_FAILURE
7403 #define YY_EXIT_FAILURE 2
7404 #endif
7405 
yy_fatal_error(const char * msg)7406 static void yynoreturn yy_fatal_error (const char* msg )
7407 {
7408 			fprintf( stderr, "%s\n", msg );
7409 	exit( YY_EXIT_FAILURE );
7410 }
7411 
7412 /* Redefine yyless() so it works in section 3 code. */
7413 
7414 #undef yyless
7415 #define yyless(n) \
7416 	do \
7417 		{ \
7418 		/* Undo effects of setting up yytext. */ \
7419         int yyless_macro_arg = (n); \
7420         YY_LESS_LINENO(yyless_macro_arg);\
7421 		yytext[yyleng] = (yy_hold_char); \
7422 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
7423 		(yy_hold_char) = *(yy_c_buf_p); \
7424 		*(yy_c_buf_p) = '\0'; \
7425 		yyleng = yyless_macro_arg; \
7426 		} \
7427 	while ( 0 )
7428 
7429 /* Accessor  methods (get/set functions) to struct members. */
7430 
7431 /** Get the current line number.
7432  *
7433  */
yyget_lineno(void)7434 int yyget_lineno  (void)
7435 {
7436 
7437     return yylineno;
7438 }
7439 
7440 /** Get the input stream.
7441  *
7442  */
yyget_in(void)7443 FILE *yyget_in  (void)
7444 {
7445         return yyin;
7446 }
7447 
7448 /** Get the output stream.
7449  *
7450  */
yyget_out(void)7451 FILE *yyget_out  (void)
7452 {
7453         return yyout;
7454 }
7455 
7456 /** Get the length of the current token.
7457  *
7458  */
yyget_leng(void)7459 int yyget_leng  (void)
7460 {
7461         return yyleng;
7462 }
7463 
7464 /** Get the current token.
7465  *
7466  */
7467 
yyget_text(void)7468 char *yyget_text  (void)
7469 {
7470         return yytext;
7471 }
7472 
7473 /** Set the current line number.
7474  * @param _line_number line number
7475  *
7476  */
yyset_lineno(int _line_number)7477 void yyset_lineno (int  _line_number )
7478 {
7479 
7480     yylineno = _line_number;
7481 }
7482 
7483 /** Set the input stream. This does not discard the current
7484  * input buffer.
7485  * @param _in_str A readable stream.
7486  *
7487  * @see yy_switch_to_buffer
7488  */
yyset_in(FILE * _in_str)7489 void yyset_in (FILE *  _in_str )
7490 {
7491         yyin = _in_str ;
7492 }
7493 
yyset_out(FILE * _out_str)7494 void yyset_out (FILE *  _out_str )
7495 {
7496         yyout = _out_str ;
7497 }
7498 
yyget_debug(void)7499 int yyget_debug  (void)
7500 {
7501         return yy_flex_debug;
7502 }
7503 
yyset_debug(int _bdebug)7504 void yyset_debug (int  _bdebug )
7505 {
7506         yy_flex_debug = _bdebug ;
7507 }
7508 
yy_init_globals(void)7509 static int yy_init_globals (void)
7510 {
7511         /* Initialization is the same as for the non-reentrant scanner.
7512      * This function is called from yylex_destroy(), so don't allocate here.
7513      */
7514 
7515     (yy_buffer_stack) = NULL;
7516     (yy_buffer_stack_top) = 0;
7517     (yy_buffer_stack_max) = 0;
7518     (yy_c_buf_p) = NULL;
7519     (yy_init) = 0;
7520     (yy_start) = 0;
7521 
7522 /* Defined in main.c */
7523 #ifdef YY_STDINIT
7524     yyin = stdin;
7525     yyout = stdout;
7526 #else
7527     yyin = NULL;
7528     yyout = NULL;
7529 #endif
7530 
7531     /* For future reference: Set errno on error, since we are called by
7532      * yylex_init()
7533      */
7534     return 0;
7535 }
7536 
7537 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)7538 int yylex_destroy  (void)
7539 {
7540 
7541     /* Pop the buffer stack, destroying each element. */
7542 	while(YY_CURRENT_BUFFER){
7543 		yy_delete_buffer( YY_CURRENT_BUFFER  );
7544 		YY_CURRENT_BUFFER_LVALUE = NULL;
7545 		yypop_buffer_state();
7546 	}
7547 
7548 	/* Destroy the stack itself. */
7549 	yyfree((yy_buffer_stack) );
7550 	(yy_buffer_stack) = NULL;
7551 
7552     /* Reset the globals. This is important in a non-reentrant scanner so the next time
7553      * yylex() is called, initialization will occur. */
7554     yy_init_globals( );
7555 
7556     return 0;
7557 }
7558 
7559 /*
7560  * Internal utility routines.
7561  */
7562 
7563 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)7564 static void yy_flex_strncpy (char* s1, const char * s2, int n )
7565 {
7566 
7567 	int i;
7568 	for ( i = 0; i < n; ++i )
7569 		s1[i] = s2[i];
7570 }
7571 #endif
7572 
7573 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)7574 static int yy_flex_strlen (const char * s )
7575 {
7576 	int n;
7577 	for ( n = 0; s[n]; ++n )
7578 		;
7579 
7580 	return n;
7581 }
7582 #endif
7583 
yyalloc(yy_size_t size)7584 void *yyalloc (yy_size_t  size )
7585 {
7586 			return malloc(size);
7587 }
7588 
yyrealloc(void * ptr,yy_size_t size)7589 void *yyrealloc  (void * ptr, yy_size_t  size )
7590 {
7591 
7592 	/* The cast to (char *) in the following accommodates both
7593 	 * implementations that use char* generic pointers, and those
7594 	 * that use void* generic pointers.  It works with the latter
7595 	 * because both ANSI C and C++ allow castless assignment from
7596 	 * any pointer type to void*, and deal with argument conversions
7597 	 * as though doing an assignment.
7598 	 */
7599 	return realloc(ptr, size);
7600 }
7601 
yyfree(void * ptr)7602 void yyfree (void * ptr )
7603 {
7604 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
7605 }
7606 
7607 #define YYTABLES_NAME "yytables"
7608 
7609 #line 712 "util/configlexer.lex"
7610 
7611 
7612