Coverage Report

Created: 2026-02-26 07:12

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