Coverage Report

Created: 2026-10-10 06:26

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