Coverage Report

Created: 2026-08-31 06:36

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