Annotation of embedaddon/ipsec-tools/src/racoon/cftoken.c, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>