Coverage Report

Created: 2025-08-04 07:15

/work/build/wiretap/ascend_scanner.c
Line
Count
Source (jump to first uncovered line)
1
#line 2 "/work/build/wiretap/ascend_scanner.c"
2
/* Include this before everything else, for various large-file definitions */
3
#include "config.h"
4
#include <wireshark.h>
5
6
#line 7 "/work/build/wiretap/ascend_scanner.c"
7
8
#define  YY_INT_ALIGNED short int
9
10
/* A lexical scanner generated by flex */
11
12
/* %not-for-header */
13
/* %if-c-only */
14
/* %if-not-reentrant */
15
/* %endif */
16
/* %endif */
17
/* %ok-for-header */
18
19
#define FLEX_SCANNER
20
#define YY_FLEX_MAJOR_VERSION 2
21
#define YY_FLEX_MINOR_VERSION 6
22
#define YY_FLEX_SUBMINOR_VERSION 4
23
#if YY_FLEX_SUBMINOR_VERSION > 0
24
#define FLEX_BETA
25
#endif
26
27
/* %if-c++-only */
28
/* %endif */
29
30
/* %if-c-only */
31
#ifdef yy_create_buffer
32
#define ascend__create_buffer_ALREADY_DEFINED
33
#else
34
0
#define yy_create_buffer ascend__create_buffer
35
#endif
36
37
#ifdef yy_delete_buffer
38
#define ascend__delete_buffer_ALREADY_DEFINED
39
#else
40
0
#define yy_delete_buffer ascend__delete_buffer
41
#endif
42
43
#ifdef yy_scan_buffer
44
#define ascend__scan_buffer_ALREADY_DEFINED
45
#else
46
0
#define yy_scan_buffer ascend__scan_buffer
47
#endif
48
49
#ifdef yy_scan_string
50
#define ascend__scan_string_ALREADY_DEFINED
51
#else
52
#define yy_scan_string ascend__scan_string
53
#endif
54
55
#ifdef yy_scan_bytes
56
#define ascend__scan_bytes_ALREADY_DEFINED
57
#else
58
0
#define yy_scan_bytes ascend__scan_bytes
59
#endif
60
61
#ifdef yy_init_buffer
62
#define ascend__init_buffer_ALREADY_DEFINED
63
#else
64
0
#define yy_init_buffer ascend__init_buffer
65
#endif
66
67
#ifdef yy_flush_buffer
68
#define ascend__flush_buffer_ALREADY_DEFINED
69
#else
70
0
#define yy_flush_buffer ascend__flush_buffer
71
#endif
72
73
#ifdef yy_load_buffer_state
74
#define ascend__load_buffer_state_ALREADY_DEFINED
75
#else
76
0
#define yy_load_buffer_state ascend__load_buffer_state
77
#endif
78
79
#ifdef yy_switch_to_buffer
80
#define ascend__switch_to_buffer_ALREADY_DEFINED
81
#else
82
0
#define yy_switch_to_buffer ascend__switch_to_buffer
83
#endif
84
85
#ifdef yypush_buffer_state
86
#define ascend_push_buffer_state_ALREADY_DEFINED
87
#else
88
#define yypush_buffer_state ascend_push_buffer_state
89
#endif
90
91
#ifdef yypop_buffer_state
92
#define ascend_pop_buffer_state_ALREADY_DEFINED
93
#else
94
0
#define yypop_buffer_state ascend_pop_buffer_state
95
#endif
96
97
#ifdef yyensure_buffer_stack
98
#define ascend_ensure_buffer_stack_ALREADY_DEFINED
99
#else
100
0
#define yyensure_buffer_stack ascend_ensure_buffer_stack
101
#endif
102
103
#ifdef yylex
104
#define ascend_lex_ALREADY_DEFINED
105
#else
106
#define yylex ascend_lex
107
#endif
108
109
#ifdef yyrestart
110
#define ascend_restart_ALREADY_DEFINED
111
#else
112
0
#define yyrestart ascend_restart
113
#endif
114
115
#ifdef yylex_init
116
#define ascend_lex_init_ALREADY_DEFINED
117
#else
118
#define yylex_init ascend_lex_init
119
#endif
120
121
#ifdef yylex_init_extra
122
#define ascend_lex_init_extra_ALREADY_DEFINED
123
#else
124
#define yylex_init_extra ascend_lex_init_extra
125
#endif
126
127
#ifdef yylex_destroy
128
#define ascend_lex_destroy_ALREADY_DEFINED
129
#else
130
#define yylex_destroy ascend_lex_destroy
131
#endif
132
133
#ifdef yyget_debug
134
#define ascend_get_debug_ALREADY_DEFINED
135
#else
136
#define yyget_debug ascend_get_debug
137
#endif
138
139
#ifdef yyset_debug
140
#define ascend_set_debug_ALREADY_DEFINED
141
#else
142
#define yyset_debug ascend_set_debug
143
#endif
144
145
#ifdef yyget_extra
146
#define ascend_get_extra_ALREADY_DEFINED
147
#else
148
#define yyget_extra ascend_get_extra
149
#endif
150
151
#ifdef yyset_extra
152
#define ascend_set_extra_ALREADY_DEFINED
153
#else
154
0
#define yyset_extra ascend_set_extra
155
#endif
156
157
#ifdef yyget_in
158
#define ascend_get_in_ALREADY_DEFINED
159
#else
160
#define yyget_in ascend_get_in
161
#endif
162
163
#ifdef yyset_in
164
#define ascend_set_in_ALREADY_DEFINED
165
#else
166
#define yyset_in ascend_set_in
167
#endif
168
169
#ifdef yyget_out
170
#define ascend_get_out_ALREADY_DEFINED
171
#else
172
#define yyget_out ascend_get_out
173
#endif
174
175
#ifdef yyset_out
176
#define ascend_set_out_ALREADY_DEFINED
177
#else
178
#define yyset_out ascend_set_out
179
#endif
180
181
#ifdef yyget_leng
182
#define ascend_get_leng_ALREADY_DEFINED
183
#else
184
#define yyget_leng ascend_get_leng
185
#endif
186
187
#ifdef yyget_text
188
#define ascend_get_text_ALREADY_DEFINED
189
#else
190
#define yyget_text ascend_get_text
191
#endif
192
193
#ifdef yyget_lineno
194
#define ascend_get_lineno_ALREADY_DEFINED
195
#else
196
#define yyget_lineno ascend_get_lineno
197
#endif
198
199
#ifdef yyset_lineno
200
#define ascend_set_lineno_ALREADY_DEFINED
201
#else
202
#define yyset_lineno ascend_set_lineno
203
#endif
204
205
#ifdef yyget_column
206
#define ascend_get_column_ALREADY_DEFINED
207
#else
208
#define yyget_column ascend_get_column
209
#endif
210
211
#ifdef yyset_column
212
#define ascend_set_column_ALREADY_DEFINED
213
#else
214
#define yyset_column ascend_set_column
215
#endif
216
217
#ifdef yywrap
218
#define ascend_wrap_ALREADY_DEFINED
219
#else
220
0
#define yywrap ascend_wrap
221
#endif
222
223
/* %endif */
224
225
#ifdef yyalloc
226
#define ascend_alloc_ALREADY_DEFINED
227
#else
228
0
#define yyalloc ascend_alloc
229
#endif
230
231
#ifdef yyrealloc
232
#define ascend_realloc_ALREADY_DEFINED
233
#else
234
0
#define yyrealloc ascend_realloc
235
#endif
236
237
#ifdef yyfree
238
#define ascend_free_ALREADY_DEFINED
239
#else
240
0
#define yyfree ascend_free
241
#endif
242
243
/* %if-c-only */
244
245
/* %endif */
246
247
/* First, we deal with  platform-specific or compiler-specific issues. */
248
249
/* begin standard C headers. */
250
/* %if-c-only */
251
#include <stdio.h>
252
#include <string.h>
253
#include <errno.h>
254
#include <stdlib.h>
255
/* %endif */
256
257
/* %if-tables-serialization */
258
/* %endif */
259
/* end standard C headers. */
260
261
/* %if-c-or-c++ */
262
/* flex integer type definitions */
263
264
#ifndef FLEXINT_H
265
#define FLEXINT_H
266
267
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
268
269
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
270
271
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
272
 * if you want the limit (max/min) macros for int types. 
273
 */
274
#ifndef __STDC_LIMIT_MACROS
275
#define __STDC_LIMIT_MACROS 1
276
#endif
277
278
#include <inttypes.h>
279
typedef int8_t flex_int8_t;
280
typedef uint8_t flex_uint8_t;
281
typedef int16_t flex_int16_t;
282
typedef uint16_t flex_uint16_t;
283
typedef int32_t flex_int32_t;
284
typedef uint32_t flex_uint32_t;
285
#else
286
typedef signed char flex_int8_t;
287
typedef short int flex_int16_t;
288
typedef int flex_int32_t;
289
typedef unsigned char flex_uint8_t; 
290
typedef unsigned short int flex_uint16_t;
291
typedef unsigned int flex_uint32_t;
292
293
/* Limits of integral types. */
294
#ifndef INT8_MIN
295
#define INT8_MIN               (-128)
296
#endif
297
#ifndef INT16_MIN
298
#define INT16_MIN              (-32767-1)
299
#endif
300
#ifndef INT32_MIN
301
#define INT32_MIN              (-2147483647-1)
302
#endif
303
#ifndef INT8_MAX
304
#define INT8_MAX               (127)
305
#endif
306
#ifndef INT16_MAX
307
#define INT16_MAX              (32767)
308
#endif
309
#ifndef INT32_MAX
310
#define INT32_MAX              (2147483647)
311
#endif
312
#ifndef UINT8_MAX
313
#define UINT8_MAX              (255U)
314
#endif
315
#ifndef UINT16_MAX
316
#define UINT16_MAX             (65535U)
317
#endif
318
#ifndef UINT32_MAX
319
#define UINT32_MAX             (4294967295U)
320
#endif
321
322
#ifndef SIZE_MAX
323
#define SIZE_MAX               (~(size_t)0)
324
#endif
325
326
#endif /* ! C99 */
327
328
#endif /* ! FLEXINT_H */
329
330
/* %endif */
331
332
/* begin standard C++ headers. */
333
/* %if-c++-only */
334
/* %endif */
335
336
/* TODO: this is always defined, so inline it */
337
#define yyconst const
338
339
#if defined(__GNUC__) && __GNUC__ >= 3
340
#define yynoreturn __attribute__((__noreturn__))
341
#else
342
#define yynoreturn
343
#endif
344
345
/* %not-for-header */
346
/* Returned upon end-of-file. */
347
0
#define YY_NULL 0
348
/* %ok-for-header */
349
350
/* %not-for-header */
351
/* Promotes a possibly negative, possibly signed char to an
352
 *   integer in range [0..255] for use as an array index.
353
 */
354
0
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
355
/* %ok-for-header */
356
357
/* %if-reentrant */
358
359
/* An opaque pointer. */
360
#ifndef YY_TYPEDEF_YY_SCANNER_T
361
#define YY_TYPEDEF_YY_SCANNER_T
362
typedef void* yyscan_t;
363
#endif
364
365
/* For convenience, these vars (plus the bison vars far below)
366
   are macros in the reentrant scanner. */
367
0
#define yyin yyg->yyin_r
368
0
#define yyout yyg->yyout_r
369
0
#define yyextra yyg->yyextra_r
370
0
#define yyleng yyg->yyleng_r
371
0
#define yytext yyg->yytext_r
372
0
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
373
0
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
374
0
#define yy_flex_debug yyg->yy_flex_debug_r
375
376
/* %endif */
377
378
/* %if-not-reentrant */
379
/* %endif */
380
381
/* Enter a start condition.  This macro really ought to take a parameter,
382
 * but we do it the disgusting crufty way forced on us by the ()-less
383
 * definition of BEGIN.
384
 */
385
0
#define BEGIN yyg->yy_start = 1 + 2 *
386
/* Translate the current start state into a value that can be later handed
387
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
388
 * compatibility.
389
 */
390
#define YY_START ((yyg->yy_start - 1) / 2)
391
#define YYSTATE YY_START
392
/* Action number for EOF rule of a given start state. */
393
0
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
394
/* Special action meaning "start processing a new file". */
395
0
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
396
0
#define YY_END_OF_BUFFER_CHAR 0
397
398
/* Size of default input buffer. */
399
#ifndef YY_BUF_SIZE
400
#ifdef __ia64__
401
/* On IA-64, the buffer size is 16k, not 8k.
402
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
403
 * Ditto for the __ia64__ case accordingly.
404
 */
405
#define YY_BUF_SIZE 32768
406
#else
407
0
#define YY_BUF_SIZE 16384
408
#endif /* __ia64__ */
409
#endif
410
411
/* The state buf must be large enough to hold one state per character in the main buffer.
412
 */
413
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
414
415
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
416
#define YY_TYPEDEF_YY_BUFFER_STATE
417
typedef struct yy_buffer_state *YY_BUFFER_STATE;
418
#endif
419
420
#ifndef YY_TYPEDEF_YY_SIZE_T
421
#define YY_TYPEDEF_YY_SIZE_T
422
typedef size_t yy_size_t;
423
#endif
424
425
/* %if-not-reentrant */
426
/* %endif */
427
428
/* %if-c-only */
429
/* %if-not-reentrant */
430
/* %endif */
431
/* %endif */
432
433
0
#define EOB_ACT_CONTINUE_SCAN 0
434
0
#define EOB_ACT_END_OF_FILE 1
435
0
#define EOB_ACT_LAST_MATCH 2
436
    
437
    #define YY_LESS_LINENO(n)
438
    #define YY_LINENO_REWIND_TO(ptr)
439
    
440
/* Return all but the first "n" matched characters back to the input stream. */
441
#define yyless(n) \
442
  do \
443
    { \
444
    /* Undo effects of setting up yytext. */ \
445
        int yyless_macro_arg = (n); \
446
        YY_LESS_LINENO(yyless_macro_arg);\
447
    *yy_cp = yyg->yy_hold_char; \
448
    YY_RESTORE_YY_MORE_OFFSET \
449
    yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
450
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
451
    } \
452
  while ( 0 )
453
0
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
454
455
#ifndef YY_STRUCT_YY_BUFFER_STATE
456
#define YY_STRUCT_YY_BUFFER_STATE
457
struct yy_buffer_state
458
  {
459
/* %if-c-only */
460
  FILE *yy_input_file;
461
/* %endif */
462
463
/* %if-c++-only */
464
/* %endif */
465
466
  char *yy_ch_buf;    /* input buffer */
467
  char *yy_buf_pos;   /* current position in input buffer */
468
469
  /* Size of input buffer in bytes, not including room for EOB
470
   * characters.
471
   */
472
  int yy_buf_size;
473
474
  /* Number of characters read into yy_ch_buf, not including EOB
475
   * characters.
476
   */
477
  int yy_n_chars;
478
479
  /* Whether we "own" the buffer - i.e., we know we created it,
480
   * and can realloc() it to grow it, and should free() it to
481
   * delete it.
482
   */
483
  int yy_is_our_buffer;
484
485
  /* Whether this is an "interactive" input source; if so, and
486
   * if we're using stdio for input, then we want to use getc()
487
   * instead of fread(), to make sure we stop fetching input after
488
   * each newline.
489
   */
490
  int yy_is_interactive;
491
492
  /* Whether we're considered to be at the beginning of a line.
493
   * If so, '^' rules will be active on the next match, otherwise
494
   * not.
495
   */
496
  int yy_at_bol;
497
498
    int yy_bs_lineno; /**< The line count. */
499
    int yy_bs_column; /**< The column count. */
500
501
  /* Whether to try to fill the input buffer when we reach the
502
   * end of it.
503
   */
504
  int yy_fill_buffer;
505
506
  int yy_buffer_status;
507
508
0
#define YY_BUFFER_NEW 0
509
0
#define YY_BUFFER_NORMAL 1
510
  /* When an EOF's been seen but there's still some text to process
511
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
512
   * shouldn't try reading from the input source any more.  We might
513
   * still have a bunch of tokens to match, though, because of
514
   * possible backing-up.
515
   *
516
   * When we actually see the EOF, we change the status to "new"
517
   * (via yyrestart()), so that the user can continue scanning by
518
   * just pointing yyin at a new input file.
519
   */
520
0
#define YY_BUFFER_EOF_PENDING 2
521
522
  };
523
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
524
525
/* %if-c-only Standard (non-C++) definition */
526
/* %not-for-header */
527
/* %if-not-reentrant */
528
/* %endif */
529
/* %ok-for-header */
530
531
/* %endif */
532
533
/* We provide macros for accessing buffer states in case in the
534
 * future we want to put the buffer states in a more general
535
 * "scanner state".
536
 *
537
 * Returns the top of the stack, or NULL.
538
 */
539
0
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
540
0
                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
541
0
                          : NULL)
542
/* Same as previous macro, but useful when we know that the buffer stack is not
543
 * NULL or when we need an lvalue. For internal use only.
544
 */
545
0
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
546
547
/* %if-c-only Standard (non-C++) definition */
548
549
/* %if-not-reentrant */
550
/* %not-for-header */
551
/* %ok-for-header */
552
553
/* %endif */
554
555
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
556
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
557
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
558
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
559
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
560
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
561
void yypop_buffer_state ( yyscan_t yyscanner );
562
563
static void yyensure_buffer_stack ( yyscan_t yyscanner );
564
static void yy_load_buffer_state ( yyscan_t yyscanner );
565
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
566
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
567
568
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
569
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
570
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
571
572
/* %endif */
573
574
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
575
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
576
void yyfree ( void * , yyscan_t yyscanner );
577
578
#define yy_new_buffer yy_create_buffer
579
#define yy_set_interactive(is_interactive) \
580
  { \
581
  if ( ! YY_CURRENT_BUFFER ){ \
582
        yyensure_buffer_stack (yyscanner); \
583
    YY_CURRENT_BUFFER_LVALUE =    \
584
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
585
  } \
586
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
587
  }
588
#define yy_set_bol(at_bol) \
589
  { \
590
  if ( ! YY_CURRENT_BUFFER ){\
591
        yyensure_buffer_stack (yyscanner); \
592
    YY_CURRENT_BUFFER_LVALUE =    \
593
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
594
  } \
595
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
596
  }
597
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
598
599
/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
600
/* Begin user sect3 */
601
602
0
#define ascend_wrap(yyscanner) (/*CONSTCOND*/1)
603
#define YY_SKIP_YYWRAP
604
605
#define FLEX_DEBUG
606
typedef flex_uint8_t YY_CHAR;
607
608
typedef int yy_state_type;
609
610
0
#define yytext_ptr yytext_r
611
612
/* %% [1.5] DFA */
613
614
/* %if-c-only Standard (non-C++) definition */
615
616
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
617
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
618
static int yy_get_next_buffer ( yyscan_t yyscanner );
619
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
620
621
/* %endif */
622
623
/* Done after the current pattern has been matched and before the
624
 * corresponding action - sets up yytext.
625
 */
626
#define YY_DO_BEFORE_ACTION \
627
0
  yyg->yytext_ptr = yy_bp; \
628
0
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
629
0
  yyleng = (int) (yy_cp - yy_bp); \
630
0
  yyg->yy_hold_char = *yy_cp; \
631
0
  *yy_cp = '\0'; \
632
0
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
633
0
  yyg->yy_c_buf_p = yy_cp;
634
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
635
#define YY_NUM_RULES 38
636
0
#define YY_END_OF_BUFFER 39
637
/* This struct is not used in this scanner,
638
   but its presence is necessary. */
639
struct yy_trans_info
640
  {
641
  flex_int32_t yy_verify;
642
  flex_int32_t yy_nxt;
643
  };
644
static const flex_int16_t yy_accept[489] =
645
    {   0,
646
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
647
        0,    0,    0,    0,    0,    0,   11,   11,    0,    0,
648
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
649
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
650
        0,    0,   20,   20,    0,    0,    0,    0,   39,   37,
651
       35,   35,   35,   35,   37,   37,   37,   37,   35,   37,
652
       37,   37,   37,   35,   35,   35,   14,   14,   15,   15,
653
       16,   16,   37,   37,   35,   35,   35,   35,   35,   37,
654
       35,   35,   35,   37,   37,   11,   11,   37,   35,   35,
655
       35,   35,   37,   35,   35,   37,   35,   35,   35,   30,
656
657
       30,   30,   30,   30,   30,   32,   32,   32,   37,   20,
658
       20,   20,   20,   20,   20,    9,    9,    9,    9,    9,
659
        9,   37,   35,   35,   35,   37,   37,   35,    0,   35,
660
        0,    0,    0,    0,    0,    0,   36,    0,    0,    0,
661
        0,   34,   12,    0,   14,   15,   16,    0,    0,   18,
662
       18,   10,   10,   10,   10,   10,   10,   10,   11,    0,
663
       22,   35,    0,   26,    0,   28,   35,   30,   30,   30,
664
       30,   30,   30,   30,   32,    0,   20,   20,   20,   20,
665
       20,   20,   20,    9,    9,    9,    9,    9,    9,    9,
666
        8,    8,    8,    8,    8,    8,    8,    0,    0,    0,
667
668
        0,    0,    0,    0,    0,    0,    0,   13,   12,   35,
669
       14,   15,   16,    0,    0,   10,   10,   10,   10,   10,
670
        0,   35,    0,    0,    0,   30,   30,   30,   32,    0,
671
       20,   20,   20,    9,    9,    9,    9,    9,    8,    8,
672
        8,    8,    8,    0,    0,    0,    0,    5,    0,    4,
673
        0,   36,    0,   12,   14,   15,   16,    0,   19,   10,
674
       10,   10,   10,   10,   23,   24,    0,   27,    0,   30,
675
       30,   30,   32,    0,   20,   20,   20,    9,    9,    9,
676
        9,    9,    8,    8,    8,    8,    8,   21,    1,    0,
677
        0,    0,    0,    5,    0,    4,    0,   12,   14,   15,
678
679
       16,    0,   10,   10,   10,   25,    0,   30,   32,    0,
680
       20,    9,    9,    9,    8,    8,    8,    8,    7,    0,
681
        0,    0,    0,   12,   14,   15,   16,    0,   10,   10,
682
       10,    0,   32,   33,    9,    9,    9,    8,    8,    8,
683
        6,    0,    0,    0,   12,   14,   16,   17,   10,   10,
684
        0,   32,    9,    9,    8,    8,    3,    0,    0,   12,
685
       14,   16,   10,   10,    0,   32,    9,    9,    8,    8,
686
        2,    0,   14,   16,   10,   10,    0,    9,    9,    8,
687
        8,    0,   14,   16,   10,   10,    0,    9,    9,    8,
688
        8,    0,   10,   10,    0,    9,    9,    8,    8,    0,
689
690
       10,   10,    0,    9,    9,    8,    8,    0,   10,   10,
691
        0,    9,    9,    8,    8,    0,   10,   10,    0,    9,
692
        9,    8,    8,    0,   10,   10,    0,    9,    9,    8,
693
        8,    0,   10,   10,    0,    9,    9,    8,    8,    0,
694
       10,   10,    0,    9,    9,    8,    8,    0,   10,   10,
695
        0,    9,    9,    8,    8,    0,   10,   10,    0,    9,
696
        9,    8,    8,    0,   10,   10,    0,    9,    9,    8,
697
        8,    0,    0,   31,    0,    0,    0,    0,    0,    0,
698
        0,    0,    0,    0,    0,    0,   29,    0
699
    } ;
700
701
static const YY_CHAR yy_ec[256] =
702
    {   0,
703
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
704
        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
705
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
706
        1,    4,    1,    5,    1,    1,    1,    1,    1,    6,
707
        1,    1,    1,    1,    7,    1,    8,    9,   10,   10,
708
       10,   10,   10,   10,   10,   10,   10,   11,    1,    1,
709
        1,    1,    1,    1,   12,   13,   14,   15,   16,   13,
710
       17,   18,   19,   17,   17,   20,   21,   22,   23,   24,
711
       17,   25,   26,   27,   28,   29,   30,   31,   17,   17,
712
       32,    1,   33,    1,   34,    1,   35,   13,   36,   13,
713
714
       37,   13,   17,   38,   39,   17,   40,   41,   42,   43,
715
       44,   45,   17,   17,   46,   47,   48,   17,   17,   49,
716
       50,   17,    1,    1,    1,    1,    1,    1,    1,    1,
717
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
718
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
719
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
720
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
721
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
722
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
723
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
724
725
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
726
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
727
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
728
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
729
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
730
        1,    1,    1,    1,    1
731
    } ;
732
733
static const YY_CHAR yy_meta[51] =
734
    {   0,
735
        1,    2,    3,    4,    1,    5,    1,    6,    7,    7,
736
        8,    7,    7,    7,    7,    7,    9,    9,    9,    9,
737
        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
738
       10,    1,    1,    9,    7,    7,    7,    9,    9,    9,
739
        9,    9,    9,    9,    9,    9,    9,    9,   10,    9
740
    } ;
741
742
static const flex_int16_t yy_base[579] =
743
    {   0,
744
        0,   39,   82,    0,  121,  144,  167,  190,  213,  236,
745
        2,   41,  264,    0,  293,  332,  371,  394,   85,   97,
746
      417,  440,  463,  486,  108,  140,  509,  532,  178,  201,
747
      555,  578,  225,  267,  608,  654,  238,  295,  697,    0,
748
      308,  335,  732,  777,  819,  861,  903,  945,  699, 3447,
749
        9,   10,  662,  669,    4,  679,  679,  672,  645,  652,
750
        3,    0,   10,   12,   19,  640,   36,   12,   68,   70,
751
       72,   79,    0,  682,   53,   76,  650,  657,  636,    0,
752
      984,  109,  131,  646,   64,  132,  134,  138,  140,  163,
753
      175,  177,  642,  186,  201,  209,  224,  226,  645,    0,
754
755
     1025,  130,  239,  643,   69,  132,  193,  631,  277,    0,
756
     1066,  199,  240,  641,  255,    0, 1107,  216,  287,  640,
757
      278,    0, 1148,  226,  323,  639,  286,    0,    0,  627,
758
      655,  648,  652,  651,  628,  642, 3447,  613,  613,  612,
759
      648,  249,    0,    0,  275,  305,  343,    0,  647,    0,
760
      603,    0, 1189,    0,    0,  602,  602,  605,    0,  347,
761
        0,  352,  604,    0,  354,    0,  594,    0,  300,  340,
762
        0,  594,  594,  597,    0,  593,    0,  342,  343,    0,
763
      590,  590,  593,    0, 1218,    0,    0,  587,  587,  590,
764
        0, 1247,    0,    0,  584,  584,  587,  591,  611,  619,
765
766
      618,  590,  601,  588,  577,  573,  570, 3447,    0,    0,
767
      368,  374,  384,    0,  602,    0, 1276,  568,  564,  564,
768
      592,  388,  562,  587,  551,  559,  555,  555,    0,  554,
769
      553,  549,  547,    0, 1305,  546,  542,  544,    0, 1334,
770
      541,  537,  539,  564,  549,  388,   89,    0,  554,  401,
771
      525,  558,  557,    0,  390,  396,  404,    0, 3447,    0,
772
     1363,  520,  555,  550, 3447,    0,  549, 3447,  522,  511,
773
      544,  543,    0,  549,  505,  540,  539,    0, 1392,  502,
774
      535,  534,    0, 1421,  497,  532,  527, 3447, 3447,  515,
775
      508,  521,  511,  409,  519,  410,  484,    0,  413,  419,
776
777
      421,  496,    0, 1450,  482, 3447,  523,  480,    0,    0,
778
      477,    0, 1479,  476,    0, 1508,  475,    0, 3447,  493,
779
      486,  495,  493,    0,  425,    0,  427,  501,    0, 1537,
780
        0,  474,    0,    0,    0, 1566,    0,    0, 1595,    0,
781
     3447,  501,  480,  483,    0,  429,  434, 3447,    0, 1624,
782
      462,    0,    0, 1653,    0, 1682, 3447,  497,  475,    0,
783
      436,  442,    0, 1711,  496,    0,    0, 1740,    0, 1769,
784
     3447,  472,  444,  448,    0, 1798,  463,    0, 1827,    0,
785
     1856,  463,    0,    0,    0, 1885,  445,    0, 1914,    0,
786
     1943,  476,    0, 1972,  443,    0, 2001,    0, 2030,  470,
787
788
        0, 2059,  449,    0, 2088,    0, 2117,  459,    0, 2146,
789
      442,    0, 2175,    0, 2204,  459,    0, 2233,  437,    0,
790
     2262,    0, 2291,  470,    0, 2320,  433,    0, 2349,    0,
791
     2378,  473,    0, 2407,  472,    0, 2436,    0, 2465,  439,
792
        0, 2494,  427,    0, 2523,    0, 2552,  431,    0, 2581,
793
      424,    0, 2610,    0, 2639,  419,    0, 2668,  462,    0,
794
     2697,    0, 2726,  420, 3447,    0,  417, 3447,    0, 3447,
795
        0,  421,  419, 3447,  424,  404,  378,  386,  352,  350,
796
      334,  317,  331,  275,  251,  289, 3447, 3447, 2763, 2773,
797
     2783, 2793, 2803, 2813, 2817, 2824, 2828,  265, 2832, 2842,
798
799
     2852, 2856, 2866, 2876, 2886,  257,  220,  206, 2896,  200,
800
     2906, 2916,  197,  194,  183, 2926,  181, 2936, 2946,  159,
801
      150, 2956,  127, 2966, 2976,  104, 2986,   99, 2996, 3006,
802
     3016,   55, 3026,   53, 3036, 3046,   32, 3056,   16, 3066,
803
     3076, 3086, 3096, 3106, 3116, 3126, 3136, 3146, 3156, 3166,
804
     3176, 3186, 3196, 3206, 3216, 3226, 3236, 3246, 3256, 3266,
805
     3276, 3286, 3296, 3306, 3316, 3326, 3336, 3346, 3356, 3366,
806
     3376, 3386, 3396, 3406, 3416, 3426, 3436,    1
807
    } ;
808
809
static const flex_int16_t yy_def[579] =
810
    {   0,
811
      489,  489,  489,    3,    2,    2,    2,    2,    2,    2,
812
        2,    2,    2,   13,  490,  490,    2,    2,    2,    2,
813
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
814
        2,    2,    2,    2,  491,  491,    2,    2,    3,   39,
815
        2,    2,  492,  492,  493,  493,  494,  494,  488,  488,
816
      495,  495,   52,   52,  488,  488,  488,  488,   52,  488,
817
      488,  496,  488,  497,  497,   65,   52,   52,   67,   52,
818
       67,   52,  498,  488,  499,  499,   76,   76,   76,  500,
819
      500,   81,   81,  500,  500,   67,   52,  488,   67,   52,
820
       67,   52,  488,   67,   52,  488,   67,   52,   52,  501,
821
822
      501,  101,  101,  501,  501,  502,  502,  107,  488,  503,
823
      503,  111,  111,  503,  503,  504,  504,  117,  117,  504,
824
      504,  505,  505,  123,  123,  505,  505,   52,   52,   52,
825
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
826
      496,  488,  506,  507,   52,   52,   52,  508,  488,   52,
827
       52,  509,  509,  153,  509,  509,  509,  509,   87,  488,
828
       52,   52,  488,   52,  488,   52,   52,  501,  101,  101,
829
      501,  501,  501,  501,  510,  488,  503,  111,  111,  503,
830
      503,  503,  503,  511,  511,  185,  511,  511,  511,  511,
831
      512,  512,  192,  512,  512,  512,  512,  488,  488,  488,
832
833
      488,  488,  488,  488,  488,  488,  488,  488,  513,  514,
834
       52,   52,   52,  515,  488,  516,  516,  516,  516,  516,
835
      488,   52,  488,  488,  488,  501,  501,  501,  517,  488,
836
      503,  503,  503,  518,  518,  518,  518,  518,  519,  519,
837
      519,  519,  519,  488,  488,  488,  488,  488,  488,  488,
838
      488,  488,  488,  520,   52,   52,   52,  521,  488,  522,
839
      522,  522,  522,  522,  488,   52,  488,  488,  488,  501,
840
      501,  501,  523,  488,  503,  503,  503,  524,  524,  524,
841
      524,  524,  525,  525,  525,  525,  525,  488,  488,  488,
842
      488,  488,  488,  488,  488,  488,  488,  526,   52,   52,
843
844
       52,  488,  527,  527,  527,  488,  488,  501,  528,  529,
845
      503,  530,  530,  530,  531,  531,  531,  531,  488,  488,
846
      488,  488,  488,  532,   52,   52,   52,  488,  533,  533,
847
      533,  488,  534,  529,  535,  535,  535,  536,  536,  536,
848
      488,  488,  488,  488,  537,   52,   52,  488,  538,  538,
849
      488,  539,  540,  540,  541,  541,  488,  488,  488,   52,
850
       52,   52,  542,  542,  488,   52,  543,  543,  544,  544,
851
      488,  488,   52,   52,  545,  545,  488,  546,  546,  547,
852
      547,  488,   52,   52,  548,  548,  488,  549,  549,  550,
853
      550,  488,  551,  551,  488,  552,  552,  553,  553,  488,
854
855
      554,  554,  488,  555,  555,  556,  556,  488,  557,  557,
856
      488,  558,  558,  559,  559,  488,  560,  560,  488,  561,
857
      561,  562,  562,  488,  563,  563,  488,  564,  564,  565,
858
      565,  488,  566,  566,  488,  567,  567,  568,  568,  488,
859
      569,  569,  488,  570,  570,  571,  571,  488,  572,  572,
860
      488,  573,  573,  574,  574,  488,  575,  575,  488,  576,
861
      576,  577,  577,  488,  488,  578,  488,  488,  578,  488,
862
      578,  488,  488,  488,  488,  488,  488,  488,  488,  488,
863
      488,  488,  488,  488,  488,  488,  488,    0,  488,  488,
864
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
865
866
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
867
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
868
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
869
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
870
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
871
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
872
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
873
      488,  488,  488,  488,  488,  488,  488,  488
874
    } ;
875
876
static const flex_int16_t yy_nxt[3498] =
877
    {   0,
878
      488,  488,  488,  488,  488,  488,  294,  128,   51,   52,
879
      294,   52,   52,   52,   53,   54,   52,   52,  142,  142,
880
      145,  145,  366,   55,   56,   50,   50,  132,  133,   57,
881
       58,   50,   50,   73,   59,   52,   52,  139,  360,  129,
882
      488,  140,  144,   60,  145,  145,   61,   51,   52,  488,
883
       52,   52,   52,   53,   54,   52,   52,  129,  488,  352,
884
      144,  345,   55,   56,   50,   50,  129,  488,   57,   58,
885
       50,   50,   73,   59,   52,   52,  146,  146,  146,  146,
886
      147,  147,   60,  129,  129,   61,   62,  147,  147,   63,
887
       64,   65,   88,   65,   65,   65,   65,   65,  157,   52,
888
889
       52,  129,  158,  173,   88,  333,  488,  174,   50,   50,
890
      324,   52,   52,  292,   50,   50,   66,   65,   65,  293,
891
       50,   50,   52,   52,  488,   60,   50,   50,   61,   67,
892
       68,   50,   50,  309,   93,   52,   52,   50,   50,  152,
893
      159,  159,  159,  159,   50,   50,  160,  160,  161,  161,
894
       50,   50,   67,   68,   52,   52,  302,  152,   52,   52,
895
      168,  152,  129,   50,   50,  298,   93,   50,   50,   50,
896
       50,  161,  161,   50,   50,   69,   70,  155,  168,  152,
897
      129,   52,   52,  162,  162,  162,  162,  273,   96,  258,
898
       50,   50,   52,   52,  164,  164,   50,   50,   69,   70,
899
900
      143,   50,   50,  254,   52,   52,  229,   50,   50,  164,
901
      164,   96,  214,   50,   50,   52,   52,  165,  165,   50,
902
       50,   71,   72,  488,   50,   50,  210,   52,   52,  177,
903
       50,   50,  166,  166,  166,  166,   50,   50,   99,   52,
904
       52,  488,   50,   50,   71,   72,  184,  177,   50,   50,
905
       52,   52,   52,   52,   50,   50,  191,  142,  142,   50,
906
       50,   50,   50,  209,  184,   50,   50,   74,   50,  168,
907
      177,  148,   75,   76,  191,   76,   76,   76,   77,   78,
908
       99,   52,   52,  211,  211,  171,  180,  168,  177,  182,
909
       50,   50,  487,  183,  486,   73,   50,   50,   79,   76,
910
911
       76,   81,   82,   50,   82,   82,   82,   82,   82,   52,
912
       52,  139,  189,  212,  212,  140,  190,  184,   50,   50,
913
      196,  485,   52,   52,  197,   50,  176,   83,   82,   82,
914
      168,   50,   50,  187,  484,  184,   84,   50,   50,   85,
915
       81,   82,   50,   82,   82,   82,   82,   82,  168,   52,
916
       52,  213,  213,  191,  109,  221,  221,  483,   50,   50,
917
      222,  222,  224,  224,   50,   50,   83,   82,   82,  194,
918
      168,  191,  177,  177,  482,   84,  255,  255,   85,   86,
919
       87,  109,  256,  256,  481,   52,   52,  480,  168,  479,
920
      177,  177,  257,  257,   50,   50,  266,  266,  299,  299,
921
922
       50,   50,   86,   87,  300,  300,  290,  296,   52,   52,
923
      291,  296,  301,  301,  478,  294,  296,   50,   50,  294,
924
      296,  325,  325,   50,   50,   89,   90,  326,  326,  327,
925
      327,   52,   52,  346,  346,  347,  347,  361,  361,  477,
926
       50,   50,  362,  362,  373,  373,   50,   50,   89,   90,
927
      374,  374,  383,  383,   52,   52,  384,  384,  476,  475,
928
      474,  473,  472,   50,   50,  467,  464,  459,  456,   50,
929
       50,   91,   92,  451,  448,  443,  440,   52,   52,  435,
930
      432,  427,  424,  419,  416,  411,   50,   50,  408,  403,
931
      400,  395,   50,   50,   91,   92,  392,  387,  382,  377,
932
933
       52,   52,  372,  371,  365,  359,  358,  357,  351,   50,
934
       50,  348,  344,  343,  342,   50,   50,   94,   95,  341,
935
      340,  337,  180,   52,   52,  171,  332,  331,  328,  137,
936
      323,  322,   50,   50,  321,  320,  319,  318,   50,   50,
937
       94,   95,  318,  317,  137,  137,   52,   52,  314,  180,
938
      180,  311,  310,  171,  171,   50,   50,  308,  307,  306,
939
      137,   50,   50,   97,   98,  137,  305,  137,  137,   52,
940
       52,  297,  295,  289,  288,  287,  286,  285,   50,   50,
941
      282,  281,  280,  277,   50,   50,   97,   98,  276,  275,
942
      274,  272,   52,   52,  271,  270,  269,  268,  267,  265,
943
944
      264,   50,   50,  263,  262,  259,  253,   50,   50,   50,
945
       50,   50,  252,  251,  250,  249,  101,  102,  248,  102,
946
      102,  102,  102,  102,  247,  246,  245,  244,  243,  242,
947
      241,  238,  237,  236,  233,  232,  231,  230,  228,  227,
948
      226,  225,  103,  102,  102,  223,  220,  219,  218,  198,
949
      215,  104,  208,  207,  105,   50,   50,   50,  206,  205,
950
      204,  203,  101,  102,  202,  102,  102,  102,  102,  102,
951
      201,  200,  199,  198,  195,  188,  181,  137,  172,  167,
952
      163,  156,  137,  131,  151,  149,  137,  138,  103,  102,
953
      102,  137,  136,  135,  134,  131,  130,  104,  488,  488,
954
955
      105,   50,  488,  488,   50,  106,  107,  488,  107,  107,
956
      107,  107,  107,  488,  488,  488,  488,  488,  488,  488,
957
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
958
      488,  108,  107,  107,   50,  488,  488,  488,  488,  488,
959
      111,  112,  488,  112,  112,  112,  112,  112,  488,  488,
960
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
961
      488,  488,  488,  488,  488,  488,  113,  112,  112,  488,
962
      488,  488,  488,  488,  488,  114,  488,  488,  115,   50,
963
      488,  488,  488,  488,  488,  111,  112,  488,  112,  112,
964
      112,  112,  112,  488,  488,  488,  488,  488,  488,  488,
965
966
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
967
      488,  113,  112,  112,  488,  488,  488,  488,  488,  488,
968
      114,  488,  488,  115,   50,  488,   50,  117,  118,   50,
969
      118,  118,  118,  118,  118,  488,  488,  488,  488,  488,
970
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
971
      488,  488,  488,  119,  118,  118,  488,  488,  488,  488,
972
      488,  488,  120,  488,  488,  121,   50,  488,   50,  117,
973
      118,   50,  118,  118,  118,  118,  118,  488,  488,  488,
974
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
975
      488,  488,  488,  488,  488,  119,  118,  118,  488,  488,
976
977
      488,  488,  488,  488,  120,  488,  488,  121,   50,  488,
978
      488,  123,  124,  488,  124,  124,  124,  124,  124,  488,
979
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
980
      488,  488,  488,  488,  488,  488,  488,  125,  124,  124,
981
      488,  488,  488,  488,  488,  488,  126,  488,  488,  127,
982
       50,  488,  488,  123,  124,  488,  124,  124,  124,  124,
983
      124,  488,  488,  488,  488,  488,  488,  488,  488,  488,
984
      488,  488,  488,  488,  488,  488,  488,  488,  488,  125,
985
      124,  124,  488,  488,  488,  488,  488,  488,  126,  488,
986
      488,  127,  153,  153,  488,  153,  153,  153,  153,  153,
987
988
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
989
      488,  488,  488,  488,  154,  488,  488,  488,  153,  153,
990
      153,  488,  488,  488,  488,  488,  488,  488,  488,  488,
991
      488,  488,  154,  169,  169,  488,  169,  169,  169,  169,
992
      169,  488,  488,  488,  488,  488,  488,  488,  488,  488,
993
      488,  488,  488,  488,  488,  170,  488,  488,  488,  169,
994
      169,  169,  488,  488,  488,  488,  488,  488,  488,  488,
995
      488,  488,  488,  170,  178,  178,  488,  178,  178,  178,
996
      178,  178,  488,  488,  488,  488,  488,  488,  488,  488,
997
      488,  488,  488,  488,  488,  488,  179,  488,  488,  488,
998
999
      178,  178,  178,  488,  488,  488,  488,  488,  488,  488,
1000
      488,  488,  488,  488,  179,  185,  185,  488,  185,  185,
1001
      185,  185,  185,  488,  488,  488,  488,  488,  488,  488,
1002
      488,  488,  488,  488,  488,  488,  488,  186,  488,  488,
1003
      488,  185,  185,  185,  488,  488,  488,  488,  488,  488,
1004
      488,  488,  488,  488,  488,  186,  192,  192,  488,  192,
1005
      192,  192,  192,  192,  488,  488,  488,  488,  488,  488,
1006
      488,  488,  488,  488,  488,  488,  488,  488,  193,  488,
1007
      488,  488,  192,  192,  192,  488,  488,  488,  488,  488,
1008
      488,  488,  488,  488,  488,  488,  193,  217,  217,  488,
1009
1010
      217,  217,  217,  217,  217,  488,  488,  488,  488,  488,
1011
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1012
      488,  488,  488,  217,  217,  217,  235,  235,  488,  235,
1013
      235,  235,  235,  235,  488,  488,  488,  488,  488,  488,
1014
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1015
      488,  488,  235,  235,  235,  240,  240,  488,  240,  240,
1016
      240,  240,  240,  488,  488,  488,  488,  488,  488,  488,
1017
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1018
      488,  240,  240,  240,  261,  261,  488,  261,  261,  261,
1019
      261,  261,  488,  488,  488,  488,  488,  488,  488,  488,
1020
1021
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1022
      261,  261,  261,  279,  279,  488,  279,  279,  279,  279,
1023
      279,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1024
      488,  488,  488,  488,  488,  488,  488,  488,  488,  279,
1025
      279,  279,  284,  284,  488,  284,  284,  284,  284,  284,
1026
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1027
      488,  488,  488,  488,  488,  488,  488,  488,  284,  284,
1028
      284,  304,  304,  488,  304,  304,  304,  304,  304,  488,
1029
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1030
      488,  488,  488,  488,  488,  488,  488,  304,  304,  304,
1031
1032
      313,  313,  488,  313,  313,  313,  313,  313,  488,  488,
1033
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1034
      488,  488,  488,  488,  488,  488,  313,  313,  313,  316,
1035
      316,  488,  316,  316,  316,  316,  316,  488,  488,  488,
1036
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1037
      488,  488,  488,  488,  488,  316,  316,  316,  330,  330,
1038
      488,  330,  330,  330,  330,  330,  488,  488,  488,  488,
1039
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1040
      488,  488,  488,  488,  330,  330,  330,  336,  336,  488,
1041
      336,  336,  336,  336,  336,  488,  488,  488,  488,  488,
1042
1043
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1044
      488,  488,  488,  336,  336,  336,  339,  339,  488,  339,
1045
      339,  339,  339,  339,  488,  488,  488,  488,  488,  488,
1046
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1047
      488,  488,  339,  339,  339,  350,  350,  488,  350,  350,
1048
      350,  350,  350,  488,  488,  488,  488,  488,  488,  488,
1049
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1050
      488,  350,  350,  350,  354,  354,  488,  354,  354,  354,
1051
      354,  354,  488,  488,  488,  488,  488,  488,  488,  488,
1052
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1053
1054
      354,  354,  354,  356,  356,  488,  356,  356,  356,  356,
1055
      356,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1056
      488,  488,  488,  488,  488,  488,  488,  488,  488,  356,
1057
      356,  356,  364,  364,  488,  364,  364,  364,  364,  364,
1058
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1059
      488,  488,  488,  488,  488,  488,  488,  488,  364,  364,
1060
      364,  368,  368,  488,  368,  368,  368,  368,  368,  488,
1061
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1062
      488,  488,  488,  488,  488,  488,  488,  368,  368,  368,
1063
      370,  370,  488,  370,  370,  370,  370,  370,  488,  488,
1064
1065
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1066
      488,  488,  488,  488,  488,  488,  370,  370,  370,  376,
1067
      376,  488,  376,  376,  376,  376,  376,  488,  488,  488,
1068
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1069
      488,  488,  488,  488,  488,  376,  376,  376,  379,  379,
1070
      488,  379,  379,  379,  379,  379,  488,  488,  488,  488,
1071
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1072
      488,  488,  488,  488,  379,  379,  379,  381,  381,  488,
1073
      381,  381,  381,  381,  381,  488,  488,  488,  488,  488,
1074
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1075
1076
      488,  488,  488,  381,  381,  381,  386,  386,  488,  386,
1077
      386,  386,  386,  386,  488,  488,  488,  488,  488,  488,
1078
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1079
      488,  488,  386,  386,  386,  389,  389,  488,  389,  389,
1080
      389,  389,  389,  488,  488,  488,  488,  488,  488,  488,
1081
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1082
      488,  389,  389,  389,  391,  391,  488,  391,  391,  391,
1083
      391,  391,  488,  488,  488,  488,  488,  488,  488,  488,
1084
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1085
      391,  391,  391,  394,  394,  488,  394,  394,  394,  394,
1086
1087
      394,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1088
      488,  488,  488,  488,  488,  488,  488,  488,  488,  394,
1089
      394,  394,  397,  397,  488,  397,  397,  397,  397,  397,
1090
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1091
      488,  488,  488,  488,  488,  488,  488,  488,  397,  397,
1092
      397,  399,  399,  488,  399,  399,  399,  399,  399,  488,
1093
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1094
      488,  488,  488,  488,  488,  488,  488,  399,  399,  399,
1095
      402,  402,  488,  402,  402,  402,  402,  402,  488,  488,
1096
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1097
1098
      488,  488,  488,  488,  488,  488,  402,  402,  402,  405,
1099
      405,  488,  405,  405,  405,  405,  405,  488,  488,  488,
1100
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1101
      488,  488,  488,  488,  488,  405,  405,  405,  407,  407,
1102
      488,  407,  407,  407,  407,  407,  488,  488,  488,  488,
1103
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1104
      488,  488,  488,  488,  407,  407,  407,  410,  410,  488,
1105
      410,  410,  410,  410,  410,  488,  488,  488,  488,  488,
1106
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1107
      488,  488,  488,  410,  410,  410,  413,  413,  488,  413,
1108
1109
      413,  413,  413,  413,  488,  488,  488,  488,  488,  488,
1110
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1111
      488,  488,  413,  413,  413,  415,  415,  488,  415,  415,
1112
      415,  415,  415,  488,  488,  488,  488,  488,  488,  488,
1113
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1114
      488,  415,  415,  415,  418,  418,  488,  418,  418,  418,
1115
      418,  418,  488,  488,  488,  488,  488,  488,  488,  488,
1116
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1117
      418,  418,  418,  421,  421,  488,  421,  421,  421,  421,
1118
      421,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1119
1120
      488,  488,  488,  488,  488,  488,  488,  488,  488,  421,
1121
      421,  421,  423,  423,  488,  423,  423,  423,  423,  423,
1122
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1123
      488,  488,  488,  488,  488,  488,  488,  488,  423,  423,
1124
      423,  426,  426,  488,  426,  426,  426,  426,  426,  488,
1125
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1126
      488,  488,  488,  488,  488,  488,  488,  426,  426,  426,
1127
      429,  429,  488,  429,  429,  429,  429,  429,  488,  488,
1128
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1129
      488,  488,  488,  488,  488,  488,  429,  429,  429,  431,
1130
1131
      431,  488,  431,  431,  431,  431,  431,  488,  488,  488,
1132
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1133
      488,  488,  488,  488,  488,  431,  431,  431,  434,  434,
1134
      488,  434,  434,  434,  434,  434,  488,  488,  488,  488,
1135
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1136
      488,  488,  488,  488,  434,  434,  434,  437,  437,  488,
1137
      437,  437,  437,  437,  437,  488,  488,  488,  488,  488,
1138
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1139
      488,  488,  488,  437,  437,  437,  439,  439,  488,  439,
1140
      439,  439,  439,  439,  488,  488,  488,  488,  488,  488,
1141
1142
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1143
      488,  488,  439,  439,  439,  442,  442,  488,  442,  442,
1144
      442,  442,  442,  488,  488,  488,  488,  488,  488,  488,
1145
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1146
      488,  442,  442,  442,  445,  445,  488,  445,  445,  445,
1147
      445,  445,  488,  488,  488,  488,  488,  488,  488,  488,
1148
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1149
      445,  445,  445,  447,  447,  488,  447,  447,  447,  447,
1150
      447,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1151
      488,  488,  488,  488,  488,  488,  488,  488,  488,  447,
1152
1153
      447,  447,  450,  450,  488,  450,  450,  450,  450,  450,
1154
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1155
      488,  488,  488,  488,  488,  488,  488,  488,  450,  450,
1156
      450,  453,  453,  488,  453,  453,  453,  453,  453,  488,
1157
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1158
      488,  488,  488,  488,  488,  488,  488,  453,  453,  453,
1159
      455,  455,  488,  455,  455,  455,  455,  455,  488,  488,
1160
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1161
      488,  488,  488,  488,  488,  488,  455,  455,  455,  458,
1162
      458,  488,  458,  458,  458,  458,  458,  488,  488,  488,
1163
1164
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1165
      488,  488,  488,  488,  488,  458,  458,  458,  461,  461,
1166
      488,  461,  461,  461,  461,  461,  488,  488,  488,  488,
1167
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1168
      488,  488,  488,  488,  461,  461,  461,  463,  463,  488,
1169
      463,  463,  463,  463,  463,  488,  488,  488,  488,  488,
1170
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1171
      488,  488,  488,  463,  463,  463,  466,  466,  488,  466,
1172
      466,  466,  466,  466,  488,  488,  488,  488,  488,  488,
1173
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1174
1175
      488,  488,  466,  466,  466,  469,  469,  488,  469,  469,
1176
      469,  469,  469,  488,  488,  488,  488,  488,  488,  488,
1177
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1178
      488,  469,  469,  469,  471,  471,  488,  471,  471,  471,
1179
      471,  471,  488,  488,  488,  488,  488,  488,  488,  488,
1180
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1181
      471,  471,  471,   50,   50,   50,   50,   50,   50,   50,
1182
       50,   50,   50,   80,   80,   80,   80,   80,   80,   80,
1183
       80,   80,   80,  100,  100,  100,  100,  100,  100,  100,
1184
      100,  100,  100,  110,  110,  110,  110,  110,  110,  110,
1185
1186
      110,  110,  110,  116,  116,  116,  116,  116,  116,  116,
1187
      116,  116,  116,  122,  122,  122,  122,  122,  122,  122,
1188
      122,  122,  122,  128,  488,  488,  128,  141,  488,  488,
1189
      141,  488,  141,  141,  143,  488,  488,  143,  150,  488,
1190
      488,  150,  152,  152,  152,  152,  152,  152,  152,  488,
1191
      152,  152,  168,  488,  488,  488,  168,  168,  168,  168,
1192
      168,  168,  175,  488,  488,  175,  177,  177,  488,  177,
1193
      177,  177,  177,  177,  177,  177,  184,  184,  184,  184,
1194
      488,  488,  184,  488,  184,  184,  191,  191,  191,  191,
1195
      488,  191,  191,  191,  191,  191,  216,  216,  216,  216,
1196
1197
      216,  216,  216,  488,  216,  216,  234,  234,  234,  234,
1198
      488,  488,  234,  488,  234,  234,  239,  239,  239,  239,
1199
      488,  239,  239,  239,  239,  239,  260,  260,  260,  260,
1200
      260,  260,  260,  488,  260,  260,  278,  278,  278,  278,
1201
      488,  488,  278,  488,  278,  278,  283,  283,  283,  283,
1202
      488,  283,  283,  283,  283,  283,  303,  303,  303,  303,
1203
      303,  303,  303,  488,  303,  303,  312,  312,  312,  312,
1204
      488,  488,  312,  488,  312,  312,  315,  315,  315,  315,
1205
      488,  315,  315,  315,  315,  315,  329,  329,  329,  329,
1206
      329,  329,  329,  488,  329,  329,  334,  488,  488,  488,
1207
1208
      334,  334,  334,  334,  334,  334,  335,  335,  335,  335,
1209
      488,  488,  335,  488,  335,  335,  338,  338,  338,  338,
1210
      488,  338,  338,  338,  338,  338,  349,  349,  349,  349,
1211
      349,  349,  349,  488,  349,  349,  353,  353,  353,  353,
1212
      488,  488,  353,  488,  353,  353,  355,  355,  355,  355,
1213
      488,  355,  355,  355,  355,  355,  363,  363,  363,  363,
1214
      363,  363,  363,  488,  363,  363,  367,  367,  367,  367,
1215
      488,  488,  367,  488,  367,  367,  369,  369,  369,  369,
1216
      488,  369,  369,  369,  369,  369,  375,  375,  375,  375,
1217
      375,  375,  375,  488,  375,  375,  378,  378,  378,  378,
1218
1219
      488,  488,  378,  488,  378,  378,  380,  380,  380,  380,
1220
      488,  380,  380,  380,  380,  380,  385,  385,  385,  385,
1221
      385,  385,  385,  488,  385,  385,  388,  388,  388,  388,
1222
      488,  488,  388,  488,  388,  388,  390,  390,  390,  390,
1223
      488,  390,  390,  390,  390,  390,  393,  393,  393,  393,
1224
      393,  393,  393,  488,  393,  393,  396,  396,  396,  396,
1225
      488,  488,  396,  488,  396,  396,  398,  398,  398,  398,
1226
      488,  398,  398,  398,  398,  398,  401,  401,  401,  401,
1227
      401,  401,  401,  488,  401,  401,  404,  404,  404,  404,
1228
      488,  488,  404,  488,  404,  404,  406,  406,  406,  406,
1229
1230
      488,  406,  406,  406,  406,  406,  409,  409,  409,  409,
1231
      409,  409,  409,  488,  409,  409,  412,  412,  412,  412,
1232
      488,  488,  412,  488,  412,  412,  414,  414,  414,  414,
1233
      488,  414,  414,  414,  414,  414,  417,  417,  417,  417,
1234
      417,  417,  417,  488,  417,  417,  420,  420,  420,  420,
1235
      488,  488,  420,  488,  420,  420,  422,  422,  422,  422,
1236
      488,  422,  422,  422,  422,  422,  425,  425,  425,  425,
1237
      425,  425,  425,  488,  425,  425,  428,  428,  428,  428,
1238
      488,  488,  428,  488,  428,  428,  430,  430,  430,  430,
1239
      488,  430,  430,  430,  430,  430,  433,  433,  433,  433,
1240
1241
      433,  433,  433,  488,  433,  433,  436,  436,  436,  436,
1242
      488,  488,  436,  488,  436,  436,  438,  438,  438,  438,
1243
      488,  438,  438,  438,  438,  438,  441,  441,  441,  441,
1244
      441,  441,  441,  488,  441,  441,  444,  444,  444,  444,
1245
      488,  488,  444,  488,  444,  444,  446,  446,  446,  446,
1246
      488,  446,  446,  446,  446,  446,  449,  449,  449,  449,
1247
      449,  449,  449,  488,  449,  449,  452,  452,  452,  452,
1248
      488,  488,  452,  488,  452,  452,  454,  454,  454,  454,
1249
      488,  454,  454,  454,  454,  454,  457,  457,  457,  457,
1250
      457,  457,  457,  488,  457,  457,  460,  460,  460,  460,
1251
1252
      488,  488,  460,  488,  460,  460,  462,  462,  462,  462,
1253
      488,  462,  462,  462,  462,  462,  465,  465,  465,  465,
1254
      465,  465,  465,  488,  465,  465,  468,  468,  468,  468,
1255
      488,  488,  468,  488,  468,  468,  470,  470,  470,  470,
1256
      488,  470,  470,  470,  470,  470,   49,  488,  488,  488,
1257
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1258
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1259
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1260
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1261
      488,  488,  488,  488,  488,  488,  488
1262
1263
    } ;
1264
1265
static const flex_int16_t yy_chk[3498] =
1266
    {   0,
1267
        0,    0,    0,    0,    0,    0,  248,  578,    1,    1,
1268
      248,    1,    1,    1,    1,    1,   11,   11,   63,   63,
1269
       68,   68,  539,    1,    1,   11,   11,   55,   55,    1,
1270
        1,   11,   11,   11,    1,    1,    1,   61,  537,   51,
1271
       52,   61,   64,    1,   67,   67,    1,    2,    2,   65,
1272
        2,    2,    2,    2,    2,   12,   12,   51,   52,  534,
1273
       64,  532,    2,    2,   12,   12,   67,   65,    2,    2,
1274
       12,   12,   12,    2,    2,    2,   69,   69,   70,   70,
1275
       71,   71,    2,   75,   67,    2,    3,   72,   72,    3,
1276
        3,    3,   19,    3,    3,    3,    3,    3,   85,   19,
1277
1278
       19,   75,   85,  105,   20,  528,   76,  105,   19,   19,
1279
      526,   20,   20,  247,   19,   19,    3,    3,    3,  247,
1280
       20,   20,   25,   25,   76,    3,   20,   20,    3,    5,
1281
        5,   25,   25,  523,   25,    5,    5,   25,   25,   82,
1282
       86,   86,   87,   87,    5,    5,   88,   88,   89,   89,
1283
        5,    5,    6,    6,   26,   26,  521,   82,    6,    6,
1284
      102,   83,  106,   26,   26,  520,   26,    6,    6,   26,
1285
       26,   90,   90,    6,    6,    7,    7,   83,  102,   83,
1286
      106,    7,    7,   91,   91,   92,   92,  517,   29,  515,
1287
        7,    7,   29,   29,   94,   94,    7,    7,    8,    8,
1288
1289
      514,   29,   29,  513,    8,    8,  510,   29,   29,   95,
1290
       95,   30,  508,    8,    8,   30,   30,   96,   96,    8,
1291
        8,    9,    9,  107,   30,   30,  507,    9,    9,  112,
1292
       30,   30,   97,   97,   98,   98,    9,    9,   33,   33,
1293
       33,  107,    9,    9,   10,   10,  118,  112,   33,   33,
1294
       10,   10,   37,   37,   33,   33,  124,  142,  142,   10,
1295
       10,   37,   37,  506,  118,   10,   10,   13,   37,  103,
1296
      113,  498,   13,   13,  124,   13,   13,   13,   13,   13,
1297
       34,   34,   34,  145,  145,  103,  113,  103,  113,  115,
1298
       34,   34,  486,  115,  485,   13,   34,   34,   13,   13,
1299
1300
       13,   15,   15,   15,   15,   15,   15,   15,   15,   38,
1301
       38,  109,  121,  146,  146,  109,  121,  119,   38,   38,
1302
      127,  484,   41,   41,  127,   38,  109,   15,   15,   15,
1303
      169,   41,   41,  119,  483,  119,   15,   41,   41,   15,
1304
       16,   16,   16,   16,   16,   16,   16,   16,  169,   42,
1305
       42,  147,  147,  125,   41,  160,  160,  482,   42,   42,
1306
      162,  162,  165,  165,   42,   42,   16,   16,   16,  125,
1307
      170,  125,  178,  179,  481,   16,  211,  211,   16,   17,
1308
       17,   42,  212,  212,  480,   17,   17,  479,  170,  478,
1309
      178,  179,  213,  213,   17,   17,  222,  222,  255,  255,
1310
1311
       17,   17,   18,   18,  256,  256,  246,  250,   18,   18,
1312
      246,  250,  257,  257,  477,  294,  296,   18,   18,  294,
1313
      296,  299,  299,   18,   18,   21,   21,  300,  300,  301,
1314
      301,   21,   21,  325,  325,  327,  327,  346,  346,  476,
1315
       21,   21,  347,  347,  361,  361,   21,   21,   22,   22,
1316
      362,  362,  373,  373,   22,   22,  374,  374,  475,  473,
1317
      472,  467,  464,   22,   22,  459,  456,  451,  448,   22,
1318
       22,   23,   23,  443,  440,  435,  432,   23,   23,  427,
1319
      424,  419,  416,  411,  408,  403,   23,   23,  400,  395,
1320
      392,  387,   23,   23,   24,   24,  382,  377,  372,  365,
1321
1322
       24,   24,  359,  358,  351,  344,  343,  342,  332,   24,
1323
       24,  328,  323,  322,  321,   24,   24,   27,   27,  320,
1324
      317,  314,  311,   27,   27,  308,  307,  305,  302,  297,
1325
      295,  293,   27,   27,  292,  291,  290,  287,   27,   27,
1326
       28,   28,  286,  285,  282,  281,   28,   28,  280,  277,
1327
      276,  275,  274,  272,  271,   28,   28,  270,  269,  267,
1328
      264,   28,   28,   31,   31,  263,  262,  253,  252,   31,
1329
       31,  251,  249,  245,  244,  243,  242,  241,   31,   31,
1330
      238,  237,  236,  233,   31,   31,   32,   32,  232,  231,
1331
      230,  228,   32,   32,  227,  226,  225,  224,  223,  221,
1332
1333
      220,   32,   32,  219,  218,  215,  207,   32,   32,   35,
1334
       35,   35,  206,  205,  204,  203,   35,   35,  202,   35,
1335
       35,   35,   35,   35,  201,  200,  199,  198,  197,  196,
1336
      195,  190,  189,  188,  183,  182,  181,  176,  174,  173,
1337
      172,  167,   35,   35,   35,  163,  158,  157,  156,  151,
1338
      149,   35,  141,  140,   35,   36,   36,   36,  139,  138,
1339
      136,  135,   36,   36,  134,   36,   36,   36,   36,   36,
1340
      133,  132,  131,  130,  126,  120,  114,  108,  104,   99,
1341
       93,   84,   79,   78,   77,   74,   66,   60,   36,   36,
1342
       36,   59,   58,   57,   56,   54,   53,   36,   49,    0,
1343
1344
       36,   39,    0,    0,   39,   39,   39,    0,   39,   39,
1345
       39,   39,   39,    0,    0,    0,    0,    0,    0,    0,
1346
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1347
        0,   39,   39,   39,   43,    0,    0,    0,    0,    0,
1348
       43,   43,    0,   43,   43,   43,   43,   43,    0,    0,
1349
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1350
        0,    0,    0,    0,    0,    0,   43,   43,   43,    0,
1351
        0,    0,    0,    0,    0,   43,    0,    0,   43,   44,
1352
        0,    0,    0,    0,    0,   44,   44,    0,   44,   44,
1353
       44,   44,   44,    0,    0,    0,    0,    0,    0,    0,
1354
1355
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1356
        0,   44,   44,   44,    0,    0,    0,    0,    0,    0,
1357
       44,    0,    0,   44,   45,    0,   45,   45,   45,   45,
1358
       45,   45,   45,   45,   45,    0,    0,    0,    0,    0,
1359
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1360
        0,    0,    0,   45,   45,   45,    0,    0,    0,    0,
1361
        0,    0,   45,    0,    0,   45,   46,    0,   46,   46,
1362
       46,   46,   46,   46,   46,   46,   46,    0,    0,    0,
1363
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1364
        0,    0,    0,    0,    0,   46,   46,   46,    0,    0,
1365
1366
        0,    0,    0,    0,   46,    0,    0,   46,   47,    0,
1367
        0,   47,   47,    0,   47,   47,   47,   47,   47,    0,
1368
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1369
        0,    0,    0,    0,    0,    0,    0,   47,   47,   47,
1370
        0,    0,    0,    0,    0,    0,   47,    0,    0,   47,
1371
       48,    0,    0,   48,   48,    0,   48,   48,   48,   48,
1372
       48,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1373
        0,    0,    0,    0,    0,    0,    0,    0,    0,   48,
1374
       48,   48,    0,    0,    0,    0,    0,    0,   48,    0,
1375
        0,   48,   81,   81,    0,   81,   81,   81,   81,   81,
1376
1377
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1378
        0,    0,    0,    0,   81,    0,    0,    0,   81,   81,
1379
       81,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1380
        0,    0,   81,  101,  101,    0,  101,  101,  101,  101,
1381
      101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1382
        0,    0,    0,    0,    0,  101,    0,    0,    0,  101,
1383
      101,  101,    0,    0,    0,    0,    0,    0,    0,    0,
1384
        0,    0,    0,  101,  111,  111,    0,  111,  111,  111,
1385
      111,  111,    0,    0,    0,    0,    0,    0,    0,    0,
1386
        0,    0,    0,    0,    0,    0,  111,    0,    0,    0,
1387
1388
      111,  111,  111,    0,    0,    0,    0,    0,    0,    0,
1389
        0,    0,    0,    0,  111,  117,  117,    0,  117,  117,
1390
      117,  117,  117,    0,    0,    0,    0,    0,    0,    0,
1391
        0,    0,    0,    0,    0,    0,    0,  117,    0,    0,
1392
        0,  117,  117,  117,    0,    0,    0,    0,    0,    0,
1393
        0,    0,    0,    0,    0,  117,  123,  123,    0,  123,
1394
      123,  123,  123,  123,    0,    0,    0,    0,    0,    0,
1395
        0,    0,    0,    0,    0,    0,    0,    0,  123,    0,
1396
        0,    0,  123,  123,  123,    0,    0,    0,    0,    0,
1397
        0,    0,    0,    0,    0,    0,  123,  153,  153,    0,
1398
1399
      153,  153,  153,  153,  153,    0,    0,    0,    0,    0,
1400
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1401
        0,    0,    0,  153,  153,  153,  185,  185,    0,  185,
1402
      185,  185,  185,  185,    0,    0,    0,    0,    0,    0,
1403
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1404
        0,    0,  185,  185,  185,  192,  192,    0,  192,  192,
1405
      192,  192,  192,    0,    0,    0,    0,    0,    0,    0,
1406
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1407
        0,  192,  192,  192,  217,  217,    0,  217,  217,  217,
1408
      217,  217,    0,    0,    0,    0,    0,    0,    0,    0,
1409
1410
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1411
      217,  217,  217,  235,  235,    0,  235,  235,  235,  235,
1412
      235,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1413
        0,    0,    0,    0,    0,    0,    0,    0,    0,  235,
1414
      235,  235,  240,  240,    0,  240,  240,  240,  240,  240,
1415
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1416
        0,    0,    0,    0,    0,    0,    0,    0,  240,  240,
1417
      240,  261,  261,    0,  261,  261,  261,  261,  261,    0,
1418
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1419
        0,    0,    0,    0,    0,    0,    0,  261,  261,  261,
1420
1421
      279,  279,    0,  279,  279,  279,  279,  279,    0,    0,
1422
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1423
        0,    0,    0,    0,    0,    0,  279,  279,  279,  284,
1424
      284,    0,  284,  284,  284,  284,  284,    0,    0,    0,
1425
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1426
        0,    0,    0,    0,    0,  284,  284,  284,  304,  304,
1427
        0,  304,  304,  304,  304,  304,    0,    0,    0,    0,
1428
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1429
        0,    0,    0,    0,  304,  304,  304,  313,  313,    0,
1430
      313,  313,  313,  313,  313,    0,    0,    0,    0,    0,
1431
1432
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1433
        0,    0,    0,  313,  313,  313,  316,  316,    0,  316,
1434
      316,  316,  316,  316,    0,    0,    0,    0,    0,    0,
1435
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1436
        0,    0,  316,  316,  316,  330,  330,    0,  330,  330,
1437
      330,  330,  330,    0,    0,    0,    0,    0,    0,    0,
1438
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1439
        0,  330,  330,  330,  336,  336,    0,  336,  336,  336,
1440
      336,  336,    0,    0,    0,    0,    0,    0,    0,    0,
1441
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1442
1443
      336,  336,  336,  339,  339,    0,  339,  339,  339,  339,
1444
      339,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1445
        0,    0,    0,    0,    0,    0,    0,    0,    0,  339,
1446
      339,  339,  350,  350,    0,  350,  350,  350,  350,  350,
1447
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1448
        0,    0,    0,    0,    0,    0,    0,    0,  350,  350,
1449
      350,  354,  354,    0,  354,  354,  354,  354,  354,    0,
1450
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1451
        0,    0,    0,    0,    0,    0,    0,  354,  354,  354,
1452
      356,  356,    0,  356,  356,  356,  356,  356,    0,    0,
1453
1454
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1455
        0,    0,    0,    0,    0,    0,  356,  356,  356,  364,
1456
      364,    0,  364,  364,  364,  364,  364,    0,    0,    0,
1457
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1458
        0,    0,    0,    0,    0,  364,  364,  364,  368,  368,
1459
        0,  368,  368,  368,  368,  368,    0,    0,    0,    0,
1460
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1461
        0,    0,    0,    0,  368,  368,  368,  370,  370,    0,
1462
      370,  370,  370,  370,  370,    0,    0,    0,    0,    0,
1463
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1464
1465
        0,    0,    0,  370,  370,  370,  376,  376,    0,  376,
1466
      376,  376,  376,  376,    0,    0,    0,    0,    0,    0,
1467
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1468
        0,    0,  376,  376,  376,  379,  379,    0,  379,  379,
1469
      379,  379,  379,    0,    0,    0,    0,    0,    0,    0,
1470
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1471
        0,  379,  379,  379,  381,  381,    0,  381,  381,  381,
1472
      381,  381,    0,    0,    0,    0,    0,    0,    0,    0,
1473
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1474
      381,  381,  381,  386,  386,    0,  386,  386,  386,  386,
1475
1476
      386,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1477
        0,    0,    0,    0,    0,    0,    0,    0,    0,  386,
1478
      386,  386,  389,  389,    0,  389,  389,  389,  389,  389,
1479
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1480
        0,    0,    0,    0,    0,    0,    0,    0,  389,  389,
1481
      389,  391,  391,    0,  391,  391,  391,  391,  391,    0,
1482
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1483
        0,    0,    0,    0,    0,    0,    0,  391,  391,  391,
1484
      394,  394,    0,  394,  394,  394,  394,  394,    0,    0,
1485
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1486
1487
        0,    0,    0,    0,    0,    0,  394,  394,  394,  397,
1488
      397,    0,  397,  397,  397,  397,  397,    0,    0,    0,
1489
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1490
        0,    0,    0,    0,    0,  397,  397,  397,  399,  399,
1491
        0,  399,  399,  399,  399,  399,    0,    0,    0,    0,
1492
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1493
        0,    0,    0,    0,  399,  399,  399,  402,  402,    0,
1494
      402,  402,  402,  402,  402,    0,    0,    0,    0,    0,
1495
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1496
        0,    0,    0,  402,  402,  402,  405,  405,    0,  405,
1497
1498
      405,  405,  405,  405,    0,    0,    0,    0,    0,    0,
1499
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1500
        0,    0,  405,  405,  405,  407,  407,    0,  407,  407,
1501
      407,  407,  407,    0,    0,    0,    0,    0,    0,    0,
1502
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1503
        0,  407,  407,  407,  410,  410,    0,  410,  410,  410,
1504
      410,  410,    0,    0,    0,    0,    0,    0,    0,    0,
1505
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1506
      410,  410,  410,  413,  413,    0,  413,  413,  413,  413,
1507
      413,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1508
1509
        0,    0,    0,    0,    0,    0,    0,    0,    0,  413,
1510
      413,  413,  415,  415,    0,  415,  415,  415,  415,  415,
1511
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1512
        0,    0,    0,    0,    0,    0,    0,    0,  415,  415,
1513
      415,  418,  418,    0,  418,  418,  418,  418,  418,    0,
1514
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1515
        0,    0,    0,    0,    0,    0,    0,  418,  418,  418,
1516
      421,  421,    0,  421,  421,  421,  421,  421,    0,    0,
1517
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1518
        0,    0,    0,    0,    0,    0,  421,  421,  421,  423,
1519
1520
      423,    0,  423,  423,  423,  423,  423,    0,    0,    0,
1521
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1522
        0,    0,    0,    0,    0,  423,  423,  423,  426,  426,
1523
        0,  426,  426,  426,  426,  426,    0,    0,    0,    0,
1524
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1525
        0,    0,    0,    0,  426,  426,  426,  429,  429,    0,
1526
      429,  429,  429,  429,  429,    0,    0,    0,    0,    0,
1527
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1528
        0,    0,    0,  429,  429,  429,  431,  431,    0,  431,
1529
      431,  431,  431,  431,    0,    0,    0,    0,    0,    0,
1530
1531
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1532
        0,    0,  431,  431,  431,  434,  434,    0,  434,  434,
1533
      434,  434,  434,    0,    0,    0,    0,    0,    0,    0,
1534
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1535
        0,  434,  434,  434,  437,  437,    0,  437,  437,  437,
1536
      437,  437,    0,    0,    0,    0,    0,    0,    0,    0,
1537
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1538
      437,  437,  437,  439,  439,    0,  439,  439,  439,  439,
1539
      439,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1540
        0,    0,    0,    0,    0,    0,    0,    0,    0,  439,
1541
1542
      439,  439,  442,  442,    0,  442,  442,  442,  442,  442,
1543
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1544
        0,    0,    0,    0,    0,    0,    0,    0,  442,  442,
1545
      442,  445,  445,    0,  445,  445,  445,  445,  445,    0,
1546
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1547
        0,    0,    0,    0,    0,    0,    0,  445,  445,  445,
1548
      447,  447,    0,  447,  447,  447,  447,  447,    0,    0,
1549
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1550
        0,    0,    0,    0,    0,    0,  447,  447,  447,  450,
1551
      450,    0,  450,  450,  450,  450,  450,    0,    0,    0,
1552
1553
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1554
        0,    0,    0,    0,    0,  450,  450,  450,  453,  453,
1555
        0,  453,  453,  453,  453,  453,    0,    0,    0,    0,
1556
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1557
        0,    0,    0,    0,  453,  453,  453,  455,  455,    0,
1558
      455,  455,  455,  455,  455,    0,    0,    0,    0,    0,
1559
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1560
        0,    0,    0,  455,  455,  455,  458,  458,    0,  458,
1561
      458,  458,  458,  458,    0,    0,    0,    0,    0,    0,
1562
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1563
1564
        0,    0,  458,  458,  458,  461,  461,    0,  461,  461,
1565
      461,  461,  461,    0,    0,    0,    0,    0,    0,    0,
1566
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1567
        0,  461,  461,  461,  463,  463,    0,  463,  463,  463,
1568
      463,  463,    0,    0,    0,    0,    0,    0,    0,    0,
1569
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1570
      463,  463,  463,  489,  489,  489,  489,  489,  489,  489,
1571
      489,  489,  489,  490,  490,  490,  490,  490,  490,  490,
1572
      490,  490,  490,  491,  491,  491,  491,  491,  491,  491,
1573
      491,  491,  491,  492,  492,  492,  492,  492,  492,  492,
1574
1575
      492,  492,  492,  493,  493,  493,  493,  493,  493,  493,
1576
      493,  493,  493,  494,  494,  494,  494,  494,  494,  494,
1577
      494,  494,  494,  495,    0,    0,  495,  496,    0,    0,
1578
      496,    0,  496,  496,  497,    0,    0,  497,  499,    0,
1579
        0,  499,  500,  500,  500,  500,  500,  500,  500,    0,
1580
      500,  500,  501,    0,    0,    0,  501,  501,  501,  501,
1581
      501,  501,  502,    0,    0,  502,  503,  503,    0,  503,
1582
      503,  503,  503,  503,  503,  503,  504,  504,  504,  504,
1583
        0,    0,  504,    0,  504,  504,  505,  505,  505,  505,
1584
        0,  505,  505,  505,  505,  505,  509,  509,  509,  509,
1585
1586
      509,  509,  509,    0,  509,  509,  511,  511,  511,  511,
1587
        0,    0,  511,    0,  511,  511,  512,  512,  512,  512,
1588
        0,  512,  512,  512,  512,  512,  516,  516,  516,  516,
1589
      516,  516,  516,    0,  516,  516,  518,  518,  518,  518,
1590
        0,    0,  518,    0,  518,  518,  519,  519,  519,  519,
1591
        0,  519,  519,  519,  519,  519,  522,  522,  522,  522,
1592
      522,  522,  522,    0,  522,  522,  524,  524,  524,  524,
1593
        0,    0,  524,    0,  524,  524,  525,  525,  525,  525,
1594
        0,  525,  525,  525,  525,  525,  527,  527,  527,  527,
1595
      527,  527,  527,    0,  527,  527,  529,    0,    0,    0,
1596
1597
      529,  529,  529,  529,  529,  529,  530,  530,  530,  530,
1598
        0,    0,  530,    0,  530,  530,  531,  531,  531,  531,
1599
        0,  531,  531,  531,  531,  531,  533,  533,  533,  533,
1600
      533,  533,  533,    0,  533,  533,  535,  535,  535,  535,
1601
        0,    0,  535,    0,  535,  535,  536,  536,  536,  536,
1602
        0,  536,  536,  536,  536,  536,  538,  538,  538,  538,
1603
      538,  538,  538,    0,  538,  538,  540,  540,  540,  540,
1604
        0,    0,  540,    0,  540,  540,  541,  541,  541,  541,
1605
        0,  541,  541,  541,  541,  541,  542,  542,  542,  542,
1606
      542,  542,  542,    0,  542,  542,  543,  543,  543,  543,
1607
1608
        0,    0,  543,    0,  543,  543,  544,  544,  544,  544,
1609
        0,  544,  544,  544,  544,  544,  545,  545,  545,  545,
1610
      545,  545,  545,    0,  545,  545,  546,  546,  546,  546,
1611
        0,    0,  546,    0,  546,  546,  547,  547,  547,  547,
1612
        0,  547,  547,  547,  547,  547,  548,  548,  548,  548,
1613
      548,  548,  548,    0,  548,  548,  549,  549,  549,  549,
1614
        0,    0,  549,    0,  549,  549,  550,  550,  550,  550,
1615
        0,  550,  550,  550,  550,  550,  551,  551,  551,  551,
1616
      551,  551,  551,    0,  551,  551,  552,  552,  552,  552,
1617
        0,    0,  552,    0,  552,  552,  553,  553,  553,  553,
1618
1619
        0,  553,  553,  553,  553,  553,  554,  554,  554,  554,
1620
      554,  554,  554,    0,  554,  554,  555,  555,  555,  555,
1621
        0,    0,  555,    0,  555,  555,  556,  556,  556,  556,
1622
        0,  556,  556,  556,  556,  556,  557,  557,  557,  557,
1623
      557,  557,  557,    0,  557,  557,  558,  558,  558,  558,
1624
        0,    0,  558,    0,  558,  558,  559,  559,  559,  559,
1625
        0,  559,  559,  559,  559,  559,  560,  560,  560,  560,
1626
      560,  560,  560,    0,  560,  560,  561,  561,  561,  561,
1627
        0,    0,  561,    0,  561,  561,  562,  562,  562,  562,
1628
        0,  562,  562,  562,  562,  562,  563,  563,  563,  563,
1629
1630
      563,  563,  563,    0,  563,  563,  564,  564,  564,  564,
1631
        0,    0,  564,    0,  564,  564,  565,  565,  565,  565,
1632
        0,  565,  565,  565,  565,  565,  566,  566,  566,  566,
1633
      566,  566,  566,    0,  566,  566,  567,  567,  567,  567,
1634
        0,    0,  567,    0,  567,  567,  568,  568,  568,  568,
1635
        0,  568,  568,  568,  568,  568,  569,  569,  569,  569,
1636
      569,  569,  569,    0,  569,  569,  570,  570,  570,  570,
1637
        0,    0,  570,    0,  570,  570,  571,  571,  571,  571,
1638
        0,  571,  571,  571,  571,  571,  572,  572,  572,  572,
1639
      572,  572,  572,    0,  572,  572,  573,  573,  573,  573,
1640
1641
        0,    0,  573,    0,  573,  573,  574,  574,  574,  574,
1642
        0,  574,  574,  574,  574,  574,  575,  575,  575,  575,
1643
      575,  575,  575,    0,  575,  575,  576,  576,  576,  576,
1644
        0,    0,  576,    0,  576,  576,  577,  577,  577,  577,
1645
        0,  577,  577,  577,  577,  577,  488,  488,  488,  488,
1646
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1647
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1648
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1649
      488,  488,  488,  488,  488,  488,  488,  488,  488,  488,
1650
      488,  488,  488,  488,  488,  488,  488
1651
1652
    } ;
1653
1654
static const flex_int16_t yy_rule_linenum[38] =
1655
    {   0,
1656
      163,  169,  175,  181,  187,  193,  199,  214,  226,  231,
1657
      258,  264,  270,  274,  280,  291,  297,  302,  307,  311,
1658
      315,  324,  330,  336,  342,  350,  356,  362,  368,  373,
1659
      379,  384,  390,  395,  399,  401,  405
1660
    } ;
1661
1662
/* The intent behind this definition is that it'll catch
1663
 * any uses of REJECT which flex missed.
1664
 */
1665
#define REJECT reject_used_but_not_detected
1666
#define yymore() yymore_used_but_not_detected
1667
0
#define YY_MORE_ADJ 0
1668
#define YY_RESTORE_YY_MORE_OFFSET
1669
#line 1 "/src/wireshark/wiretap/ascend_scanner.l"
1670
1671
/*
1672
 * We want a reentrant scanner.
1673
 */
1674
/*
1675
 * We don't read interactively from the terminal.
1676
 */
1677
/*
1678
 * We want to stop processing when we get to the end of the input.
1679
 */
1680
/*
1681
 * The type for the state we keep for the scanner (and parser).
1682
 */
1683
/*
1684
 * Prefix scanner routines with "ascend_" rather than "yy", so this scanner
1685
 * can coexist with other scanners.
1686
 */
1687
/*
1688
 * We have to override the memory allocators so that we don't get
1689
 * "unused argument" warnings from the yyscanner argument (which
1690
 * we don't use, as we have a global memory allocator).
1691
 *
1692
 * We provide, as macros, our own versions of the routines generated by Flex,
1693
 * which just call malloc()/realloc()/free() (as the Flex versions do),
1694
 * discarding the extra argument.
1695
 */
1696
#line 47 "/src/wireshark/wiretap/ascend_scanner.l"
1697
/* ascend_scanner.l
1698
 *
1699
 * Wiretap Library
1700
 * Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
1701
 *
1702
 * SPDX-License-Identifier: GPL-2.0-or-later
1703
 */
1704
1705
#include <stdlib.h>
1706
#include <string.h>
1707
1708
#include "wtap-int.h"
1709
#include "ascendtext.h"
1710
#include "ascend-int.h"
1711
#include "ascend_parser.h"
1712
#include "file_wrappers.h"
1713
1714
/*
1715
 * Disable diagnostics in the code generated by Flex.
1716
 */
1717
DIAG_OFF_FLEX()
1718
1719
// The generated scanner is recursive if yywrap is enabled, but we disable it above.
1720
// NOLINTBEGIN(misc-no-recursion)
1721
1722
0
static int ascend_yyinput(void *buf, ascend_state_t *parser_state) {
1723
0
    int c = file_getc(parser_state->fh);
1724
0
    if (c == EOF) {
1725
0
        parser_state->err = file_error(parser_state->fh,
1726
0
            &parser_state->err_info);
1727
0
        if (parser_state->err == 0)
1728
0
        parser_state->err = WTAP_ERR_SHORT_READ;
1729
0
        return YY_NULL;
1730
0
    } else {
1731
0
        *(char *) buf = c;
1732
0
        return 1;
1733
0
    }
1734
0
}
1735
1736
#define YY_INPUT(buf, result, max_size) \
1737
0
  do { (result) = ascend_yyinput((buf), yyextra); } while (0)
1738
1739
1740
/* Count bytes read. This is required in order to rewind the file
1741
 * to the beginning of the next packet, since flex reads more bytes
1742
 * before executing the action that does yyterminate(). */
1743
0
#define YY_USER_ACTION do { yyextra->token.length = yyleng; } while (0);
1744
1745
0
#define NO_USER "<none>"
1746
1747
#ifndef HAVE_UNISTD_H
1748
#define YY_NO_UNISTD_H
1749
#endif
1750
1751
/*
1752
 * Sleazy hack to suppress compiler warnings in yy_fatal_error().
1753
 */
1754
0
#define YY_EXIT_FAILURE ((void)yyscanner, 2)
1755
1756
/*
1757
 * Macros for the allocators, to discard the extra argument.
1758
 */
1759
0
#define ascend_alloc(size, yyscanner)   (void *)malloc(size)
1760
0
#define ascend_realloc(ptr, size, yyscanner)  (void *)realloc((char *)(ptr), (size))
1761
0
#define ascend_free(ptr, yyscanner)   free((char *)ptr)
1762
1763
#line 1764 "/work/build/wiretap/ascend_scanner.c"
1764
1765
#line 1766 "/work/build/wiretap/ascend_scanner.c"
1766
1767
#define INITIAL 0
1768
0
#define sc_gen_task 1
1769
0
#define sc_gen_time_s 2
1770
0
#define sc_gen_time_u 3
1771
0
#define sc_gen_octets 4
1772
0
#define sc_gen_counter 5
1773
0
#define sc_gen_byte 6
1774
0
#define sc_wds_user 7
1775
0
#define sc_wds_sess 8
1776
0
#define sc_wdd_date_d 9
1777
0
#define sc_wdd_date_m 10
1778
0
#define sc_wdd_date_y 11
1779
0
#define sc_wdd_time 12
1780
0
#define sc_wdd_time_h 13
1781
0
#define sc_wdd_time_m 14
1782
0
#define sc_wdd_time_s 15
1783
0
#define sc_wdd_cause 16
1784
0
#define sc_wdd_callnum 17
1785
0
#define sc_wdd_chunk 18
1786
0
#define sc_wdd_chunknum 19
1787
0
#define sc_wdd_type 20
1788
0
#define sc_chardisp 21
1789
0
#define sc_isdn_call 22
1790
0
#define sc_ether_direction 23
1791
1792
#ifndef YY_NO_UNISTD_H
1793
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1794
 * down here because we want the user's section 1 to have been scanned first.
1795
 * The user has a chance to override it with an option.
1796
 */
1797
/* %if-c-only */
1798
#include <unistd.h>
1799
/* %endif */
1800
/* %if-c++-only */
1801
/* %endif */
1802
#endif
1803
1804
#define YY_EXTRA_TYPE ascend_state_t *
1805
1806
/* %if-c-only Reentrant structure and macros (non-C++). */
1807
/* %if-reentrant */
1808
1809
/* Holds the entire state of the reentrant scanner. */
1810
struct yyguts_t
1811
    {
1812
1813
    /* User-defined. Not touched by flex. */
1814
    YY_EXTRA_TYPE yyextra_r;
1815
1816
    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1817
    FILE *yyin_r, *yyout_r;
1818
    size_t yy_buffer_stack_top; /**< index of top of stack. */
1819
    size_t yy_buffer_stack_max; /**< capacity of stack. */
1820
    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1821
    char yy_hold_char;
1822
    int yy_n_chars;
1823
    int yyleng_r;
1824
    char *yy_c_buf_p;
1825
    int yy_init;
1826
    int yy_start;
1827
    int yy_did_buffer_switch_on_eof;
1828
    int yy_start_stack_ptr;
1829
    int yy_start_stack_depth;
1830
    int *yy_start_stack;
1831
    yy_state_type yy_last_accepting_state;
1832
    char* yy_last_accepting_cpos;
1833
1834
    int yylineno_r;
1835
    int yy_flex_debug_r;
1836
1837
    char *yytext_r;
1838
    int yy_more_flag;
1839
    int yy_more_len;
1840
1841
    }; /* end struct yyguts_t */
1842
1843
/* %if-c-only */
1844
1845
static int yy_init_globals ( yyscan_t yyscanner );
1846
1847
/* %endif */
1848
1849
/* %if-reentrant */
1850
1851
int yylex_init (yyscan_t* scanner);
1852
1853
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
1854
1855
/* %endif */
1856
1857
/* %endif End reentrant structures and macros. */
1858
1859
/* Accessor methods to globals.
1860
   These are made visible to non-reentrant scanners for convenience. */
1861
1862
int yylex_destroy ( yyscan_t yyscanner );
1863
1864
int yyget_debug ( yyscan_t yyscanner );
1865
1866
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
1867
1868
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
1869
1870
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
1871
1872
FILE *yyget_in ( yyscan_t yyscanner );
1873
1874
void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
1875
1876
FILE *yyget_out ( yyscan_t yyscanner );
1877
1878
void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
1879
1880
      int yyget_leng ( yyscan_t yyscanner );
1881
1882
char *yyget_text ( yyscan_t yyscanner );
1883
1884
int yyget_lineno ( yyscan_t yyscanner );
1885
1886
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1887
1888
int yyget_column  ( yyscan_t yyscanner );
1889
1890
void yyset_column ( int _column_no , yyscan_t yyscanner );
1891
1892
/* %if-bison-bridge */
1893
/* %endif */
1894
1895
/* Macros after this point can all be overridden by user definitions in
1896
 * section 1.
1897
 */
1898
1899
#ifndef YY_SKIP_YYWRAP
1900
#ifdef __cplusplus
1901
extern "C" int yywrap ( yyscan_t yyscanner );
1902
#else
1903
extern int yywrap ( yyscan_t yyscanner );
1904
#endif
1905
#endif
1906
1907
/* %not-for-header */
1908
#ifndef YY_NO_UNPUT
1909
    
1910
    static void yyunput ( int c, char *buf_ptr  , yyscan_t yyscanner);
1911
    
1912
#endif
1913
/* %ok-for-header */
1914
1915
/* %endif */
1916
1917
#ifndef yytext_ptr
1918
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
1919
#endif
1920
1921
#ifdef YY_NEED_STRLEN
1922
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
1923
#endif
1924
1925
#ifndef YY_NO_INPUT
1926
/* %if-c-only Standard (non-C++) definition */
1927
/* %not-for-header */
1928
#ifdef __cplusplus
1929
static int yyinput ( yyscan_t yyscanner );
1930
#else
1931
static int input ( yyscan_t yyscanner );
1932
#endif
1933
/* %ok-for-header */
1934
1935
/* %endif */
1936
#endif
1937
1938
/* %if-c-only */
1939
1940
/* %endif */
1941
1942
/* Amount of stuff to slurp up with each read. */
1943
#ifndef YY_READ_BUF_SIZE
1944
#ifdef __ia64__
1945
/* On IA-64, the buffer size is 16k, not 8k */
1946
#define YY_READ_BUF_SIZE 16384
1947
#else
1948
0
#define YY_READ_BUF_SIZE 8192
1949
#endif /* __ia64__ */
1950
#endif
1951
1952
/* Copy whatever the last rule matched to the standard output. */
1953
#ifndef ECHO
1954
/* %if-c-only Standard (non-C++) definition */
1955
/* This used to be an fputs(), but since the string might contain NUL's,
1956
 * we now use fwrite().
1957
 */
1958
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1959
/* %endif */
1960
/* %if-c++-only C++ definition */
1961
/* %endif */
1962
#endif
1963
1964
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1965
 * is returned in "result".
1966
 */
1967
#ifndef YY_INPUT
1968
#define YY_INPUT(buf,result,max_size) \
1969
/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
1970
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1971
    { \
1972
    int c = '*'; \
1973
    int n; \
1974
    for ( n = 0; n < max_size && \
1975
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1976
      buf[n] = (char) c; \
1977
    if ( c == '\n' ) \
1978
      buf[n++] = (char) c; \
1979
    if ( c == EOF && ferror( yyin ) ) \
1980
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
1981
    result = n; \
1982
    } \
1983
  else \
1984
    { \
1985
    errno=0; \
1986
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1987
      { \
1988
      if( errno != EINTR) \
1989
        { \
1990
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1991
        break; \
1992
        } \
1993
      errno=0; \
1994
      clearerr(yyin); \
1995
      } \
1996
    }\
1997
\
1998
/* %if-c++-only C++ definition \ */\
1999
/* %endif */
2000
2001
#endif
2002
2003
/* No semi-colon after return; correct usage is to write "yyterminate();" -
2004
 * we don't want an extra ';' after the "return" because that will cause
2005
 * some compilers to complain about unreachable statements.
2006
 */
2007
#ifndef yyterminate
2008
0
#define yyterminate() return YY_NULL
2009
#endif
2010
2011
/* Number of entries by which start-condition stack grows. */
2012
#ifndef YY_START_STACK_INCR
2013
#define YY_START_STACK_INCR 25
2014
#endif
2015
2016
/* Report a fatal error. */
2017
#ifndef YY_FATAL_ERROR
2018
/* %if-c-only */
2019
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
2020
/* %endif */
2021
/* %if-c++-only */
2022
/* %endif */
2023
#endif
2024
2025
/* %if-tables-serialization structures and prototypes */
2026
/* %not-for-header */
2027
/* %ok-for-header */
2028
2029
/* %not-for-header */
2030
/* %tables-yydmap generated elements */
2031
/* %endif */
2032
/* end tables serialization structures and prototypes */
2033
2034
/* %ok-for-header */
2035
2036
/* Default declaration of generated scanner - a define so the user can
2037
 * easily add parameters.
2038
 */
2039
#ifndef YY_DECL
2040
#define YY_DECL_IS_OURS 1
2041
/* %if-c-only Standard (non-C++) definition */
2042
2043
extern int yylex (yyscan_t yyscanner);
2044
2045
#define YY_DECL int yylex (yyscan_t yyscanner)
2046
/* %endif */
2047
/* %if-c++-only C++ definition */
2048
/* %endif */
2049
#endif /* !YY_DECL */
2050
2051
/* Code executed at the beginning of each rule, after yytext and yyleng
2052
 * have been set up.
2053
 */
2054
#ifndef YY_USER_ACTION
2055
#define YY_USER_ACTION
2056
#endif
2057
2058
/* Code executed at the end of each rule. */
2059
#ifndef YY_BREAK
2060
0
#define YY_BREAK /*LINTED*/break;
2061
#endif
2062
2063
/* %% [6.0] YY_RULE_SETUP definition goes here */
2064
#define YY_RULE_SETUP \
2065
0
  YY_USER_ACTION
2066
2067
/* %not-for-header */
2068
/** The main scanner function which does all the work.
2069
 */
2070
YY_DECL
2071
0
{
2072
0
  yy_state_type yy_current_state;
2073
0
  char *yy_cp, *yy_bp;
2074
0
  int yy_act;
2075
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2076
2077
0
  if ( !yyg->yy_init )
2078
0
    {
2079
0
    yyg->yy_init = 1;
2080
2081
#ifdef YY_USER_INIT
2082
    YY_USER_INIT;
2083
#endif
2084
2085
0
    if ( ! yyg->yy_start )
2086
0
      yyg->yy_start = 1; /* first start state */
2087
2088
0
    if ( ! yyin )
2089
/* %if-c-only */
2090
0
      yyin = stdin;
2091
/* %endif */
2092
/* %if-c++-only */
2093
/* %endif */
2094
2095
0
    if ( ! yyout )
2096
/* %if-c-only */
2097
0
      yyout = stdout;
2098
/* %endif */
2099
/* %if-c++-only */
2100
/* %endif */
2101
2102
0
    if ( ! YY_CURRENT_BUFFER ) {
2103
0
      yyensure_buffer_stack (yyscanner);
2104
0
      YY_CURRENT_BUFFER_LVALUE =
2105
0
        yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
2106
0
    }
2107
2108
0
    yy_load_buffer_state( yyscanner );
2109
0
    }
2110
2111
0
  {
2112
/* %% [7.0] user's declarations go here */
2113
0
#line 161 "/src/wireshark/wiretap/ascend_scanner.l"
2114
2115
2116
0
#line 2117 "/work/build/wiretap/ascend_scanner.c"
2117
2118
0
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
2119
0
    {
2120
/* %% [8.0] yymore()-related code goes here */
2121
0
    yy_cp = yyg->yy_c_buf_p;
2122
2123
    /* Support of yytext. */
2124
0
    *yy_cp = yyg->yy_hold_char;
2125
2126
    /* yy_bp points to the position in yy_ch_buf of the start of
2127
     * the current run.
2128
     */
2129
0
    yy_bp = yy_cp;
2130
2131
/* %% [9.0] code to set up and find next match goes here */
2132
0
    yy_current_state = yyg->yy_start;
2133
0
yy_match:
2134
0
    do
2135
0
      {
2136
0
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2137
0
      if ( yy_accept[yy_current_state] )
2138
0
        {
2139
0
        yyg->yy_last_accepting_state = yy_current_state;
2140
0
        yyg->yy_last_accepting_cpos = yy_cp;
2141
0
        }
2142
0
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2143
0
        {
2144
0
        yy_current_state = (int) yy_def[yy_current_state];
2145
0
        if ( yy_current_state >= 489 )
2146
0
          yy_c = yy_meta[yy_c];
2147
0
        }
2148
0
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2149
0
      ++yy_cp;
2150
0
      }
2151
0
    while ( yy_current_state != 488 );
2152
0
    yy_cp = yyg->yy_last_accepting_cpos;
2153
0
    yy_current_state = yyg->yy_last_accepting_state;
2154
2155
0
yy_find_action:
2156
/* %% [10.0] code to find the action number goes here */
2157
0
    yy_act = yy_accept[yy_current_state];
2158
2159
0
    YY_DO_BEFORE_ACTION;
2160
2161
/* %% [11.0] code for yylineno update goes here */
2162
2163
0
do_action:  /* This label is used only to access EOF actions. */
2164
2165
/* %% [12.0] debug code goes here */
2166
0
    if ( yy_flex_debug )
2167
0
      {
2168
0
      if ( yy_act == 0 )
2169
0
        fprintf( stderr, "--scanner backing up\n" );
2170
0
      else if ( yy_act < 38 )
2171
0
        fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2172
0
                 (long)yy_rule_linenum[yy_act], yytext );
2173
0
      else if ( yy_act == 38 )
2174
0
        fprintf( stderr, "--accepting default rule (\"%s\")\n",
2175
0
                 yytext );
2176
0
      else if ( yy_act == 39 )
2177
0
        fprintf( stderr, "--(end of buffer or a NUL)\n" );
2178
0
      else
2179
0
        fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2180
0
      }
2181
2182
0
    switch ( yy_act )
2183
0
  { /* beginning of action switch */
2184
/* %% [13.0] actions go here */
2185
0
      case 0: /* must back up */
2186
      /* undo the effects of YY_DO_BEFORE_ACTION */
2187
0
      *yy_cp = yyg->yy_hold_char;
2188
0
      yy_cp = yyg->yy_last_accepting_cpos;
2189
0
      yy_current_state = yyg->yy_last_accepting_state;
2190
0
      goto yy_find_action;
2191
2192
0
case 1:
2193
0
YY_RULE_SETUP
2194
0
#line 163 "/src/wireshark/wiretap/ascend_scanner.l"
2195
0
{
2196
0
    BEGIN(sc_ether_direction);
2197
0
    yyextra->token.u16_val = ASCEND_PFX_ETHER;
2198
0
    return ETHER_PREFIX;
2199
0
}
2200
0
  YY_BREAK
2201
0
case 2:
2202
0
YY_RULE_SETUP
2203
0
#line 169 "/src/wireshark/wiretap/ascend_scanner.l"
2204
0
{
2205
0
    BEGIN(sc_isdn_call);
2206
0
    yyextra->token.u16_val = ASCEND_PFX_ISDN_X;
2207
0
    return ISDN_PREFIX;
2208
0
}
2209
0
  YY_BREAK
2210
0
case 3:
2211
0
YY_RULE_SETUP
2212
0
#line 175 "/src/wireshark/wiretap/ascend_scanner.l"
2213
0
{
2214
0
    BEGIN(sc_isdn_call);
2215
0
    yyextra->token.u16_val = ASCEND_PFX_ISDN_R;
2216
0
    return ISDN_PREFIX;
2217
0
}
2218
0
  YY_BREAK
2219
0
case 4:
2220
0
YY_RULE_SETUP
2221
0
#line 181 "/src/wireshark/wiretap/ascend_scanner.l"
2222
0
{
2223
0
    BEGIN(sc_wds_user);
2224
0
    yyextra->token.u16_val = ASCEND_PFX_WDS_X;
2225
0
    return WDS_PREFIX;
2226
0
}
2227
0
  YY_BREAK
2228
0
case 5:
2229
0
YY_RULE_SETUP
2230
0
#line 187 "/src/wireshark/wiretap/ascend_scanner.l"
2231
0
{
2232
0
    BEGIN(sc_wds_user);
2233
0
    yyextra->token.u16_val = ASCEND_PFX_WDS_R;
2234
0
    return WDS_PREFIX;
2235
0
}
2236
0
  YY_BREAK
2237
0
case 6:
2238
0
YY_RULE_SETUP
2239
0
#line 193 "/src/wireshark/wiretap/ascend_scanner.l"
2240
0
{
2241
0
    BEGIN(sc_wds_user);
2242
0
    yyextra->token.u16_val = ASCEND_PFX_WDS_X;
2243
0
    return WDS_PREFIX;
2244
0
}
2245
0
  YY_BREAK
2246
0
case 7:
2247
0
YY_RULE_SETUP
2248
0
#line 199 "/src/wireshark/wiretap/ascend_scanner.l"
2249
0
{
2250
0
    BEGIN(sc_wds_user);
2251
0
    yyextra->token.u16_val = ASCEND_PFX_WDS_R;
2252
0
    return WDS_PREFIX;
2253
0
}
2254
0
  YY_BREAK
2255
/*
2256
  * If we allow an arbitrary non-zero number of non-left-parentheses after
2257
  * "ETHER", that means that some file that has ETHER followed by a lot of
2258
  * text (see, for example, tpncp/tpncp.dat in the source tree) can cause
2259
  * either an infinite loop or a loop that take forever to finish, as the
2260
  * scanner keeps swallowing characters.  Limit it to 20 characters.
2261
  *
2262
  * XXX - any reason to require at least two of them?
2263
  */
2264
0
case 8:
2265
/* rule 8 can match eol */
2266
0
YY_RULE_SETUP
2267
0
#line 214 "/src/wireshark/wiretap/ascend_scanner.l"
2268
0
{
2269
0
    BEGIN(sc_gen_task);
2270
0
    return STRING;
2271
0
}
2272
0
  YY_BREAK
2273
/*
2274
  * If we allow an arbitrary non-zero number of non-slash, non-left-parentheses,
2275
  * non-colon characters after "PRI-XMIT", that means that some file that has
2276
  * PRI-XMIT= followed by a lot of text can cause either an infinite loop or
2277
  * a loop that take forever to finish, as the scanner keeps swallowing
2278
  * characters.  Limit it to 20 characters.
2279
  */
2280
0
case 9:
2281
/* rule 9 can match eol */
2282
0
YY_RULE_SETUP
2283
0
#line 226 "/src/wireshark/wiretap/ascend_scanner.l"
2284
0
{
2285
0
    BEGIN(sc_gen_task);
2286
0
    return DECNUM;
2287
0
}
2288
0
  YY_BREAK
2289
0
case 10:
2290
/* rule 10 can match eol */
2291
0
YY_RULE_SETUP
2292
0
#line 231 "/src/wireshark/wiretap/ascend_scanner.l"
2293
0
{
2294
0
    char *atcopy = g_strdup(yytext);
2295
0
    char colon = input(yyscanner);
2296
0
    char after = input(yyscanner);
2297
0
    int retval = STRING;
2298
2299
0
    unput(after); unput(colon);
2300
2301
0
    if (after != '(' && after != ' ') {
2302
0
        BEGIN(sc_wds_sess);
2303
0
        if (yyextra->pseudo_header != NULL && yyextra->pseudo_header->user[0] == '\0') {
2304
0
        (void) g_strlcpy(yyextra->pseudo_header->user, atcopy, ASCEND_MAX_STR_LEN);
2305
0
        }
2306
0
    } else { /* We have a version 7 file */
2307
0
        BEGIN(sc_gen_task);
2308
0
        if (yyextra->pseudo_header != NULL && yyextra->pseudo_header->user[0] == '\0') {
2309
0
        (void) g_strlcpy(yyextra->pseudo_header->user, NO_USER, ASCEND_MAX_STR_LEN);
2310
0
        }
2311
        /* Are valid values ever > 2^32? If so we need to adjust YYSTYPE and a lot of */
2312
        /* upstream code accordingly. */
2313
0
        yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2314
0
        retval = DECNUM;
2315
0
    }
2316
0
    g_free (atcopy);
2317
0
    return retval;
2318
0
}
2319
0
  YY_BREAK
2320
0
case 11:
2321
0
YY_RULE_SETUP
2322
0
#line 258 "/src/wireshark/wiretap/ascend_scanner.l"
2323
0
{
2324
0
    BEGIN(sc_gen_task);
2325
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2326
0
    return DECNUM;
2327
0
}
2328
0
  YY_BREAK
2329
0
case 12:
2330
0
YY_RULE_SETUP
2331
0
#line 264 "/src/wireshark/wiretap/ascend_scanner.l"
2332
0
{
2333
0
    BEGIN(sc_gen_time_s);
2334
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 16);
2335
0
    return HEXNUM;
2336
0
}
2337
0
  YY_BREAK
2338
0
case 13:
2339
0
YY_RULE_SETUP
2340
0
#line 270 "/src/wireshark/wiretap/ascend_scanner.l"
2341
0
{
2342
0
    return STRING;
2343
0
}
2344
0
  YY_BREAK
2345
0
case 14:
2346
0
YY_RULE_SETUP
2347
0
#line 274 "/src/wireshark/wiretap/ascend_scanner.l"
2348
0
{
2349
0
    BEGIN(sc_gen_time_u);
2350
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2351
0
    return DECNUM;
2352
0
}
2353
0
  YY_BREAK
2354
0
case 15:
2355
0
YY_RULE_SETUP
2356
0
#line 280 "/src/wireshark/wiretap/ascend_scanner.l"
2357
0
{
2358
0
    char *atcopy = g_strdup(yytext);
2359
0
    BEGIN(sc_gen_octets);
2360
    /* only want the most significant 2 digits. convert to usecs */
2361
0
    if (strlen(atcopy) > 2)
2362
0
        atcopy[2] = '\0';
2363
0
    yyextra->token.u32_val = (uint32_t) strtoul(atcopy, NULL, 10) * 10000;
2364
0
    g_free(atcopy);
2365
0
    return DECNUM;
2366
0
}
2367
0
  YY_BREAK
2368
0
case 16:
2369
0
YY_RULE_SETUP
2370
0
#line 291 "/src/wireshark/wiretap/ascend_scanner.l"
2371
0
{
2372
0
    BEGIN(sc_gen_counter);
2373
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2374
0
    return DECNUM;
2375
0
}
2376
0
  YY_BREAK
2377
0
case 17:
2378
0
YY_RULE_SETUP
2379
0
#line 297 "/src/wireshark/wiretap/ascend_scanner.l"
2380
0
{
2381
0
    BEGIN(sc_gen_byte);
2382
0
    return COUNTER;
2383
0
}
2384
0
  YY_BREAK
2385
0
case 18:
2386
0
YY_RULE_SETUP
2387
0
#line 302 "/src/wireshark/wiretap/ascend_scanner.l"
2388
0
{
2389
0
    yyextra->token.u8_val = (uint8_t) strtoul(yytext, NULL, 16);
2390
0
    return HEXBYTE;
2391
0
}
2392
0
  YY_BREAK
2393
0
case 19:
2394
0
YY_RULE_SETUP
2395
0
#line 307 "/src/wireshark/wiretap/ascend_scanner.l"
2396
0
{
2397
0
    BEGIN(sc_chardisp);
2398
0
}
2399
0
  YY_BREAK
2400
0
case 20:
2401
0
YY_RULE_SETUP
2402
0
#line 311 "/src/wireshark/wiretap/ascend_scanner.l"
2403
0
{
2404
0
    BEGIN(sc_gen_byte);
2405
0
}
2406
0
  YY_BREAK
2407
0
case 21:
2408
0
YY_RULE_SETUP
2409
0
#line 315 "/src/wireshark/wiretap/ascend_scanner.l"
2410
0
{
2411
0
    BEGIN(sc_wdd_date_m);
2412
0
    return WDD_DATE;
2413
0
}
2414
0
  YY_BREAK
2415
/*
2416
  * Scan m/d/y as three separate m, /d/, and y tokens.
2417
  * We could alternately treat m/d/y as a single token.
2418
  */
2419
0
case 22:
2420
0
YY_RULE_SETUP
2421
0
#line 324 "/src/wireshark/wiretap/ascend_scanner.l"
2422
0
{
2423
0
    BEGIN(sc_wdd_date_d);
2424
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2425
0
    return WDD_DECNUM;
2426
0
}
2427
0
  YY_BREAK
2428
0
case 23:
2429
0
YY_RULE_SETUP
2430
0
#line 330 "/src/wireshark/wiretap/ascend_scanner.l"
2431
0
{
2432
0
    BEGIN(sc_wdd_date_y);
2433
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext+1, NULL, 10);
2434
0
    return WDD_DECNUM;
2435
0
}
2436
0
  YY_BREAK
2437
0
case 24:
2438
0
YY_RULE_SETUP
2439
0
#line 336 "/src/wireshark/wiretap/ascend_scanner.l"
2440
0
{
2441
0
    BEGIN(sc_wdd_time);
2442
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2443
0
    return WDD_DECNUM;
2444
0
}
2445
0
  YY_BREAK
2446
0
case 25:
2447
0
YY_RULE_SETUP
2448
0
#line 342 "/src/wireshark/wiretap/ascend_scanner.l"
2449
0
{
2450
0
    BEGIN(sc_wdd_time_h);
2451
0
    return WDD_TIME;
2452
0
}
2453
0
  YY_BREAK
2454
/*
2455
  * Scan h:m:s as three separate h, :m:, and s tokens similar to above.
2456
  */
2457
0
case 26:
2458
0
YY_RULE_SETUP
2459
0
#line 350 "/src/wireshark/wiretap/ascend_scanner.l"
2460
0
{
2461
0
    BEGIN(sc_wdd_time_m);
2462
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2463
0
    return WDD_DECNUM;
2464
0
}
2465
0
  YY_BREAK
2466
0
case 27:
2467
0
YY_RULE_SETUP
2468
0
#line 356 "/src/wireshark/wiretap/ascend_scanner.l"
2469
0
{
2470
0
    BEGIN(sc_wdd_time_s);
2471
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext+1, NULL, 10);
2472
0
    return WDD_DECNUM;
2473
0
}
2474
0
  YY_BREAK
2475
0
case 28:
2476
0
YY_RULE_SETUP
2477
0
#line 362 "/src/wireshark/wiretap/ascend_scanner.l"
2478
0
{
2479
0
    BEGIN(sc_wdd_cause);
2480
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 10);
2481
0
    return WDD_DECNUM;
2482
0
}
2483
0
  YY_BREAK
2484
0
case 29:
2485
0
YY_RULE_SETUP
2486
0
#line 368 "/src/wireshark/wiretap/ascend_scanner.l"
2487
0
{
2488
0
    BEGIN(sc_wdd_callnum);
2489
0
    return WDD_CAUSE;
2490
0
}
2491
0
  YY_BREAK
2492
0
case 30:
2493
0
YY_RULE_SETUP
2494
0
#line 373 "/src/wireshark/wiretap/ascend_scanner.l"
2495
0
{
2496
0
    BEGIN(sc_wdd_chunk);
2497
0
    (void) g_strlcpy(yyextra->token.str_val, yytext, ASCEND_MAX_STR_LEN);
2498
0
    return WDD_CALLNUM;
2499
0
}
2500
0
  YY_BREAK
2501
0
case 31:
2502
0
YY_RULE_SETUP
2503
0
#line 379 "/src/wireshark/wiretap/ascend_scanner.l"
2504
0
{
2505
0
    BEGIN(sc_wdd_chunknum);
2506
0
    return WDD_CHUNK;
2507
0
}
2508
0
  YY_BREAK
2509
0
case 32:
2510
0
YY_RULE_SETUP
2511
0
#line 384 "/src/wireshark/wiretap/ascend_scanner.l"
2512
0
{
2513
0
    BEGIN(sc_wdd_type);
2514
0
    yyextra->token.u32_val = (uint32_t) strtoul(yytext, NULL, 16);
2515
0
    return HEXNUM;
2516
0
}
2517
0
  YY_BREAK
2518
0
case 33:
2519
0
YY_RULE_SETUP
2520
0
#line 390 "/src/wireshark/wiretap/ascend_scanner.l"
2521
0
{
2522
0
    BEGIN(sc_gen_task);
2523
0
    return KEYWORD;
2524
0
}
2525
0
  YY_BREAK
2526
0
case 34:
2527
0
YY_RULE_SETUP
2528
0
#line 395 "/src/wireshark/wiretap/ascend_scanner.l"
2529
0
{
2530
0
    return SLASH_SUFFIX;
2531
0
}
2532
0
  YY_BREAK
2533
0
case 35:
2534
0
YY_RULE_SETUP
2535
0
#line 399 "/src/wireshark/wiretap/ascend_scanner.l"
2536
0
{ return HEXNUM; }
2537
0
  YY_BREAK
2538
0
case 36:
2539
0
YY_RULE_SETUP
2540
0
#line 401 "/src/wireshark/wiretap/ascend_scanner.l"
2541
0
{ return KEYWORD; }
2542
0
  YY_BREAK
2543
0
case YY_STATE_EOF(INITIAL):
2544
0
case YY_STATE_EOF(sc_gen_task):
2545
0
case YY_STATE_EOF(sc_gen_time_s):
2546
0
case YY_STATE_EOF(sc_gen_time_u):
2547
0
case YY_STATE_EOF(sc_gen_octets):
2548
0
case YY_STATE_EOF(sc_gen_counter):
2549
0
case YY_STATE_EOF(sc_gen_byte):
2550
0
case YY_STATE_EOF(sc_wds_user):
2551
0
case YY_STATE_EOF(sc_wds_sess):
2552
0
case YY_STATE_EOF(sc_wdd_date_d):
2553
0
case YY_STATE_EOF(sc_wdd_date_m):
2554
0
case YY_STATE_EOF(sc_wdd_date_y):
2555
0
case YY_STATE_EOF(sc_wdd_time):
2556
0
case YY_STATE_EOF(sc_wdd_time_h):
2557
0
case YY_STATE_EOF(sc_wdd_time_m):
2558
0
case YY_STATE_EOF(sc_wdd_time_s):
2559
0
case YY_STATE_EOF(sc_wdd_cause):
2560
0
case YY_STATE_EOF(sc_wdd_callnum):
2561
0
case YY_STATE_EOF(sc_wdd_chunk):
2562
0
case YY_STATE_EOF(sc_wdd_chunknum):
2563
0
case YY_STATE_EOF(sc_wdd_type):
2564
0
case YY_STATE_EOF(sc_chardisp):
2565
0
case YY_STATE_EOF(sc_isdn_call):
2566
0
case YY_STATE_EOF(sc_ether_direction):
2567
0
#line 403 "/src/wireshark/wiretap/ascend_scanner.l"
2568
0
{ yyterminate(); }
2569
0
  YY_BREAK
2570
0
case 37:
2571
/* rule 37 can match eol */
2572
0
YY_RULE_SETUP
2573
0
#line 405 "/src/wireshark/wiretap/ascend_scanner.l"
2574
0
;
2575
0
  YY_BREAK
2576
0
case 38:
2577
0
YY_RULE_SETUP
2578
0
#line 407 "/src/wireshark/wiretap/ascend_scanner.l"
2579
0
ECHO;
2580
0
  YY_BREAK
2581
0
#line 2582 "/work/build/wiretap/ascend_scanner.c"
2582
2583
0
  case YY_END_OF_BUFFER:
2584
0
    {
2585
    /* Amount of text matched not including the EOB char. */
2586
0
    int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2587
2588
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
2589
0
    *yy_cp = yyg->yy_hold_char;
2590
0
    YY_RESTORE_YY_MORE_OFFSET
2591
2592
0
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2593
0
      {
2594
      /* We're scanning a new file or input source.  It's
2595
       * possible that this happened because the user
2596
       * just pointed yyin at a new source and called
2597
       * yylex().  If so, then we have to assure
2598
       * consistency between YY_CURRENT_BUFFER and our
2599
       * globals.  Here is the right place to do so, because
2600
       * this is the first action (other than possibly a
2601
       * back-up) that will match for the new input source.
2602
       */
2603
0
      yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2604
/* %if-c-only */
2605
0
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2606
/* %endif */
2607
/* %if-c++-only */
2608
/* %endif */
2609
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2610
0
      }
2611
2612
    /* Note that here we test for yy_c_buf_p "<=" to the position
2613
     * of the first EOB in the buffer, since yy_c_buf_p will
2614
     * already have been incremented past the NUL character
2615
     * (since all states make transitions on EOB to the
2616
     * end-of-buffer state).  Contrast this with the test
2617
     * in input().
2618
     */
2619
0
    if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2620
0
      { /* This was really a NUL. */
2621
0
      yy_state_type yy_next_state;
2622
2623
0
      yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2624
2625
0
      yy_current_state = yy_get_previous_state( yyscanner );
2626
2627
      /* Okay, we're now positioned to make the NUL
2628
       * transition.  We couldn't have
2629
       * yy_get_previous_state() go ahead and do it
2630
       * for us because it doesn't know how to deal
2631
       * with the possibility of jamming (and we don't
2632
       * want to build jamming into it because then it
2633
       * will run more slowly).
2634
       */
2635
2636
0
      yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2637
2638
0
      yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2639
2640
0
      if ( yy_next_state )
2641
0
        {
2642
        /* Consume the NUL. */
2643
0
        yy_cp = ++yyg->yy_c_buf_p;
2644
0
        yy_current_state = yy_next_state;
2645
0
        goto yy_match;
2646
0
        }
2647
2648
0
      else
2649
0
        {
2650
/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
2651
0
        yy_cp = yyg->yy_last_accepting_cpos;
2652
0
        yy_current_state = yyg->yy_last_accepting_state;
2653
0
        goto yy_find_action;
2654
0
        }
2655
0
      }
2656
2657
0
    else switch ( yy_get_next_buffer( yyscanner ) )
2658
0
      {
2659
0
      case EOB_ACT_END_OF_FILE:
2660
0
        {
2661
0
        yyg->yy_did_buffer_switch_on_eof = 0;
2662
2663
0
        if ( yywrap( yyscanner ) )
2664
0
          {
2665
          /* Note: because we've taken care in
2666
           * yy_get_next_buffer() to have set up
2667
           * yytext, we can now set up
2668
           * yy_c_buf_p so that if some total
2669
           * hoser (like flex itself) wants to
2670
           * call the scanner after we return the
2671
           * YY_NULL, it'll still work - another
2672
           * YY_NULL will get returned.
2673
           */
2674
0
          yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2675
2676
0
          yy_act = YY_STATE_EOF(YY_START);
2677
0
          goto do_action;
2678
0
          }
2679
2680
0
        else
2681
0
          {
2682
0
          if ( ! yyg->yy_did_buffer_switch_on_eof )
2683
0
            YY_NEW_FILE;
2684
0
          }
2685
0
        break;
2686
0
        }
2687
2688
0
      case EOB_ACT_CONTINUE_SCAN:
2689
0
        yyg->yy_c_buf_p =
2690
0
          yyg->yytext_ptr + yy_amount_of_matched_text;
2691
2692
0
        yy_current_state = yy_get_previous_state( yyscanner );
2693
2694
0
        yy_cp = yyg->yy_c_buf_p;
2695
0
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2696
0
        goto yy_match;
2697
2698
0
      case EOB_ACT_LAST_MATCH:
2699
0
        yyg->yy_c_buf_p =
2700
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2701
2702
0
        yy_current_state = yy_get_previous_state( yyscanner );
2703
2704
0
        yy_cp = yyg->yy_c_buf_p;
2705
0
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2706
0
        goto yy_find_action;
2707
0
      }
2708
0
    break;
2709
0
    }
2710
2711
0
  default:
2712
0
    YY_FATAL_ERROR(
2713
0
      "fatal flex scanner internal error--no action found" );
2714
0
  } /* end of action switch */
2715
0
    } /* end of scanning one token */
2716
0
  } /* end of user's declarations */
2717
0
} /* end of yylex */
2718
/* %ok-for-header */
2719
2720
/* %if-c++-only */
2721
/* %not-for-header */
2722
/* %ok-for-header */
2723
2724
/* %endif */
2725
2726
/* yy_get_next_buffer - try to read in a new buffer
2727
 *
2728
 * Returns a code representing an action:
2729
 *  EOB_ACT_LAST_MATCH -
2730
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2731
 *  EOB_ACT_END_OF_FILE - end of file
2732
 */
2733
/* %if-c-only */
2734
static int yy_get_next_buffer (yyscan_t yyscanner)
2735
/* %endif */
2736
/* %if-c++-only */
2737
/* %endif */
2738
0
{
2739
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2740
0
  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2741
0
  char *source = yyg->yytext_ptr;
2742
0
  int number_to_move, i;
2743
0
  int ret_val;
2744
2745
0
  if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2746
0
    YY_FATAL_ERROR(
2747
0
    "fatal flex scanner internal error--end of buffer missed" );
2748
2749
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2750
0
    { /* Don't try to fill the buffer, so this is an EOF. */
2751
0
    if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2752
0
      {
2753
      /* We matched a single character, the EOB, so
2754
       * treat this as a final EOF.
2755
       */
2756
0
      return EOB_ACT_END_OF_FILE;
2757
0
      }
2758
2759
0
    else
2760
0
      {
2761
      /* We matched some text prior to the EOB, first
2762
       * process it.
2763
       */
2764
0
      return EOB_ACT_LAST_MATCH;
2765
0
      }
2766
0
    }
2767
2768
  /* Try to read more data. */
2769
2770
  /* First move last chars to start of buffer. */
2771
0
  number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
2772
2773
0
  for ( i = 0; i < number_to_move; ++i )
2774
0
    *(dest++) = *(source++);
2775
2776
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2777
    /* don't do the read, it's not guaranteed to return an EOF,
2778
     * just force an EOF
2779
     */
2780
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2781
2782
0
  else
2783
0
    {
2784
0
      int num_to_read =
2785
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2786
2787
0
    while ( num_to_read <= 0 )
2788
0
      { /* Not enough room in the buffer - grow it. */
2789
2790
      /* just a shorter name for the current buffer */
2791
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2792
2793
0
      int yy_c_buf_p_offset =
2794
0
        (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2795
2796
0
      if ( b->yy_is_our_buffer )
2797
0
        {
2798
0
        int new_size = b->yy_buf_size * 2;
2799
2800
0
        if ( new_size <= 0 )
2801
0
          b->yy_buf_size += b->yy_buf_size / 8;
2802
0
        else
2803
0
          b->yy_buf_size *= 2;
2804
2805
0
        b->yy_ch_buf = (char *)
2806
          /* Include room in for 2 EOB chars. */
2807
0
          yyrealloc( (void *) b->yy_ch_buf,
2808
0
               (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
2809
0
        }
2810
0
      else
2811
        /* Can't grow it, we don't own it. */
2812
0
        b->yy_ch_buf = NULL;
2813
2814
0
      if ( ! b->yy_ch_buf )
2815
0
        YY_FATAL_ERROR(
2816
0
        "fatal error - scanner input buffer overflow" );
2817
2818
0
      yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2819
2820
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2821
0
            number_to_move - 1;
2822
2823
0
      }
2824
2825
0
    if ( num_to_read > YY_READ_BUF_SIZE )
2826
0
      num_to_read = YY_READ_BUF_SIZE;
2827
2828
    /* Read in more data. */
2829
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2830
0
      yyg->yy_n_chars, num_to_read );
2831
2832
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2833
0
    }
2834
2835
0
  if ( yyg->yy_n_chars == 0 )
2836
0
    {
2837
0
    if ( number_to_move == YY_MORE_ADJ )
2838
0
      {
2839
0
      ret_val = EOB_ACT_END_OF_FILE;
2840
0
      yyrestart( yyin  , yyscanner);
2841
0
      }
2842
2843
0
    else
2844
0
      {
2845
0
      ret_val = EOB_ACT_LAST_MATCH;
2846
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2847
0
        YY_BUFFER_EOF_PENDING;
2848
0
      }
2849
0
    }
2850
2851
0
  else
2852
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
2853
2854
0
  if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2855
    /* Extend the array by 50%, plus the number we really need. */
2856
0
    int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2857
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2858
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
2859
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2860
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2861
    /* "- 2" to take care of EOB's */
2862
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2863
0
  }
2864
2865
0
  yyg->yy_n_chars += number_to_move;
2866
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2867
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2868
2869
0
  yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2870
2871
0
  return ret_val;
2872
0
}
2873
2874
/* yy_get_previous_state - get the state just before the EOB char was reached */
2875
2876
/* %if-c-only */
2877
/* %not-for-header */
2878
    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2879
/* %endif */
2880
/* %if-c++-only */
2881
/* %endif */
2882
0
{
2883
0
  yy_state_type yy_current_state;
2884
0
  char *yy_cp;
2885
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2886
2887
/* %% [15.0] code to get the start state into yy_current_state goes here */
2888
0
  yy_current_state = yyg->yy_start;
2889
2890
0
  for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2891
0
    {
2892
/* %% [16.0] code to find the next state goes here */
2893
0
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2894
0
    if ( yy_accept[yy_current_state] )
2895
0
      {
2896
0
      yyg->yy_last_accepting_state = yy_current_state;
2897
0
      yyg->yy_last_accepting_cpos = yy_cp;
2898
0
      }
2899
0
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2900
0
      {
2901
0
      yy_current_state = (int) yy_def[yy_current_state];
2902
0
      if ( yy_current_state >= 489 )
2903
0
        yy_c = yy_meta[yy_c];
2904
0
      }
2905
0
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2906
0
    }
2907
2908
0
  return yy_current_state;
2909
0
}
2910
2911
/* yy_try_NUL_trans - try to make a transition on the NUL character
2912
 *
2913
 * synopsis
2914
 *  next_state = yy_try_NUL_trans( current_state );
2915
 */
2916
/* %if-c-only */
2917
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
2918
/* %endif */
2919
/* %if-c++-only */
2920
/* %endif */
2921
0
{
2922
0
  int yy_is_jam;
2923
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2924
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
2925
0
  char *yy_cp = yyg->yy_c_buf_p;
2926
2927
0
  YY_CHAR yy_c = 1;
2928
0
  if ( yy_accept[yy_current_state] )
2929
0
    {
2930
0
    yyg->yy_last_accepting_state = yy_current_state;
2931
0
    yyg->yy_last_accepting_cpos = yy_cp;
2932
0
    }
2933
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2934
0
    {
2935
0
    yy_current_state = (int) yy_def[yy_current_state];
2936
0
    if ( yy_current_state >= 489 )
2937
0
      yy_c = yy_meta[yy_c];
2938
0
    }
2939
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2940
0
  yy_is_jam = (yy_current_state == 488);
2941
2942
0
  (void)yyg;
2943
0
  return yy_is_jam ? 0 : yy_current_state;
2944
0
}
2945
2946
#ifndef YY_NO_UNPUT
2947
/* %if-c-only */
2948
2949
    static void yyunput (int c, char * yy_bp , yyscan_t yyscanner)
2950
/* %endif */
2951
/* %if-c++-only */
2952
/* %endif */
2953
0
{
2954
0
  char *yy_cp;
2955
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2956
2957
0
    yy_cp = yyg->yy_c_buf_p;
2958
2959
  /* undo effects of setting up yytext */
2960
0
  *yy_cp = yyg->yy_hold_char;
2961
2962
0
  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2963
0
    { /* need to shift things up to make room */
2964
    /* +2 for EOB chars. */
2965
0
    int number_to_move = yyg->yy_n_chars + 2;
2966
0
    char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2967
0
          YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2968
0
    char *source =
2969
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2970
2971
0
    while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2972
0
      *--dest = *--source;
2973
2974
0
    yy_cp += (int) (dest - source);
2975
0
    yy_bp += (int) (dest - source);
2976
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2977
0
      yyg->yy_n_chars = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2978
2979
0
    if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2980
0
      YY_FATAL_ERROR( "flex scanner push-back overflow" );
2981
0
    }
2982
2983
0
  *--yy_cp = (char) c;
2984
2985
/* %% [18.0] update yylineno here */
2986
2987
0
  yyg->yytext_ptr = yy_bp;
2988
0
  yyg->yy_hold_char = *yy_cp;
2989
0
  yyg->yy_c_buf_p = yy_cp;
2990
0
}
2991
/* %if-c-only */
2992
2993
/* %endif */
2994
#endif
2995
2996
/* %if-c-only */
2997
#ifndef YY_NO_INPUT
2998
#ifdef __cplusplus
2999
    static int yyinput (yyscan_t yyscanner)
3000
#else
3001
    static int input  (yyscan_t yyscanner)
3002
#endif
3003
3004
/* %endif */
3005
/* %if-c++-only */
3006
/* %endif */
3007
0
{
3008
0
  int c;
3009
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3010
3011
0
  *yyg->yy_c_buf_p = yyg->yy_hold_char;
3012
3013
0
  if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3014
0
    {
3015
    /* yy_c_buf_p now points to the character we want to return.
3016
     * If this occurs *before* the EOB characters, then it's a
3017
     * valid NUL; if not, then we've hit the end of the buffer.
3018
     */
3019
0
    if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3020
      /* This was really a NUL. */
3021
0
      *yyg->yy_c_buf_p = '\0';
3022
3023
0
    else
3024
0
      { /* need more input */
3025
0
      int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
3026
0
      ++yyg->yy_c_buf_p;
3027
3028
0
      switch ( yy_get_next_buffer( yyscanner ) )
3029
0
        {
3030
0
        case EOB_ACT_LAST_MATCH:
3031
          /* This happens because yy_g_n_b()
3032
           * sees that we've accumulated a
3033
           * token and flags that we need to
3034
           * try matching the token before
3035
           * proceeding.  But for input(),
3036
           * there's no matching to consider.
3037
           * So convert the EOB_ACT_LAST_MATCH
3038
           * to EOB_ACT_END_OF_FILE.
3039
           */
3040
3041
          /* Reset buffer status. */
3042
0
          yyrestart( yyin , yyscanner);
3043
3044
          /*FALLTHROUGH*/
3045
3046
0
        case EOB_ACT_END_OF_FILE:
3047
0
          {
3048
0
          if ( yywrap( yyscanner ) )
3049
0
            return 0;
3050
3051
0
          if ( ! yyg->yy_did_buffer_switch_on_eof )
3052
0
            YY_NEW_FILE;
3053
#ifdef __cplusplus
3054
          return yyinput(yyscanner);
3055
#else
3056
0
          return input(yyscanner);
3057
0
#endif
3058
0
          }
3059
3060
0
        case EOB_ACT_CONTINUE_SCAN:
3061
0
          yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
3062
0
          break;
3063
0
        }
3064
0
      }
3065
0
    }
3066
3067
0
  c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
3068
0
  *yyg->yy_c_buf_p = '\0';  /* preserve yytext */
3069
0
  yyg->yy_hold_char = *++yyg->yy_c_buf_p;
3070
3071
/* %% [19.0] update BOL and yylineno */
3072
3073
0
  return c;
3074
0
}
3075
/* %if-c-only */
3076
#endif  /* ifndef YY_NO_INPUT */
3077
/* %endif */
3078
3079
/** Immediately switch to a different input stream.
3080
 * @param input_file A readable stream.
3081
 * @param yyscanner The scanner object.
3082
 * @note This function does not reset the start condition to @c INITIAL .
3083
 */
3084
/* %if-c-only */
3085
    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
3086
/* %endif */
3087
/* %if-c++-only */
3088
/* %endif */
3089
0
{
3090
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3091
3092
0
  if ( ! YY_CURRENT_BUFFER ){
3093
0
        yyensure_buffer_stack (yyscanner);
3094
0
    YY_CURRENT_BUFFER_LVALUE =
3095
0
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
3096
0
  }
3097
3098
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
3099
0
  yy_load_buffer_state( yyscanner );
3100
0
}
3101
3102
/* %if-c++-only */
3103
/* %endif */
3104
3105
/** Switch to a different input buffer.
3106
 * @param new_buffer The new input buffer.
3107
 * @param yyscanner The scanner object.
3108
 */
3109
/* %if-c-only */
3110
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
3111
/* %endif */
3112
/* %if-c++-only */
3113
/* %endif */
3114
0
{
3115
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3116
3117
  /* TODO. We should be able to replace this entire function body
3118
   * with
3119
   *    yypop_buffer_state();
3120
   *    yypush_buffer_state(new_buffer);
3121
     */
3122
0
  yyensure_buffer_stack (yyscanner);
3123
0
  if ( YY_CURRENT_BUFFER == new_buffer )
3124
0
    return;
3125
3126
0
  if ( YY_CURRENT_BUFFER )
3127
0
    {
3128
    /* Flush out information for old buffer. */
3129
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
3130
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3131
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3132
0
    }
3133
3134
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3135
0
  yy_load_buffer_state( yyscanner );
3136
3137
  /* We don't actually know whether we did this switch during
3138
   * EOF (yywrap()) processing, but the only time this flag
3139
   * is looked at is after yywrap() is called, so it's safe
3140
   * to go ahead and always set it.
3141
   */
3142
0
  yyg->yy_did_buffer_switch_on_eof = 1;
3143
0
}
3144
3145
/* %if-c-only */
3146
static void yy_load_buffer_state  (yyscan_t yyscanner)
3147
/* %endif */
3148
/* %if-c++-only */
3149
/* %endif */
3150
0
{
3151
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3152
0
  yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3153
0
  yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3154
/* %if-c-only */
3155
0
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3156
/* %endif */
3157
/* %if-c++-only */
3158
/* %endif */
3159
0
  yyg->yy_hold_char = *yyg->yy_c_buf_p;
3160
0
}
3161
3162
/** Allocate and initialize an input buffer state.
3163
 * @param file A readable stream.
3164
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3165
 * @param yyscanner The scanner object.
3166
 * @return the allocated buffer state.
3167
 */
3168
/* %if-c-only */
3169
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
3170
/* %endif */
3171
/* %if-c++-only */
3172
/* %endif */
3173
0
{
3174
0
  YY_BUFFER_STATE b;
3175
    
3176
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
3177
0
  if ( ! b )
3178
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3179
3180
0
  b->yy_buf_size = size;
3181
3182
  /* yy_ch_buf has to be 2 characters longer than the size given because
3183
   * we need to put in 2 end-of-buffer characters.
3184
   */
3185
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
3186
0
  if ( ! b->yy_ch_buf )
3187
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3188
3189
0
  b->yy_is_our_buffer = 1;
3190
3191
0
  yy_init_buffer( b, file , yyscanner);
3192
3193
0
  return b;
3194
0
}
3195
3196
/* %if-c++-only */
3197
/* %endif */
3198
3199
/** Destroy the buffer.
3200
 * @param b a buffer created with yy_create_buffer()
3201
 * @param yyscanner The scanner object.
3202
 */
3203
/* %if-c-only */
3204
    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
3205
/* %endif */
3206
/* %if-c++-only */
3207
/* %endif */
3208
0
{
3209
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3210
3211
0
  if ( ! b )
3212
0
    return;
3213
3214
0
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3215
0
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3216
3217
0
  if ( b->yy_is_our_buffer )
3218
0
    yyfree( (void *) b->yy_ch_buf , yyscanner );
3219
3220
0
  yyfree( (void *) b , yyscanner );
3221
0
}
3222
3223
/* Initializes or reinitializes a buffer.
3224
 * This function is sometimes called more than once on the same buffer,
3225
 * such as during a yyrestart() or at EOF.
3226
 */
3227
/* %if-c-only */
3228
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
3229
/* %endif */
3230
/* %if-c++-only */
3231
/* %endif */
3232
3233
0
{
3234
0
  int oerrno = errno;
3235
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3236
3237
0
  yy_flush_buffer( b , yyscanner);
3238
3239
/* %if-c-only */
3240
0
  b->yy_input_file = file;
3241
/* %endif */
3242
/* %if-c++-only */
3243
/* %endif */
3244
0
  b->yy_fill_buffer = 1;
3245
3246
    /* If b is the current buffer, then yy_init_buffer was _probably_
3247
     * called from yyrestart() or through yy_get_next_buffer.
3248
     * In that case, we don't want to reset the lineno or column.
3249
     */
3250
0
    if (b != YY_CURRENT_BUFFER){
3251
0
        b->yy_bs_lineno = 1;
3252
0
        b->yy_bs_column = 0;
3253
0
    }
3254
3255
/* %if-c-only */
3256
3257
0
        b->yy_is_interactive = 0;
3258
    
3259
/* %endif */
3260
/* %if-c++-only */
3261
/* %endif */
3262
0
  errno = oerrno;
3263
0
}
3264
3265
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3266
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3267
 * @param yyscanner The scanner object.
3268
 */
3269
/* %if-c-only */
3270
    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
3271
/* %endif */
3272
/* %if-c++-only */
3273
/* %endif */
3274
0
{
3275
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3276
0
  if ( ! b )
3277
0
    return;
3278
3279
0
  b->yy_n_chars = 0;
3280
3281
  /* We always need two end-of-buffer characters.  The first causes
3282
   * a transition to the end-of-buffer state.  The second causes
3283
   * a jam in that state.
3284
   */
3285
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3286
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3287
3288
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
3289
3290
0
  b->yy_at_bol = 1;
3291
0
  b->yy_buffer_status = YY_BUFFER_NEW;
3292
3293
0
  if ( b == YY_CURRENT_BUFFER )
3294
0
    yy_load_buffer_state( yyscanner );
3295
0
}
3296
3297
/* %if-c-or-c++ */
3298
/** Pushes the new state onto the stack. The new state becomes
3299
 *  the current state. This function will allocate the stack
3300
 *  if necessary.
3301
 *  @param new_buffer The new state.
3302
 *  @param yyscanner The scanner object.
3303
 */
3304
/* %if-c-only */
3305
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
3306
/* %endif */
3307
/* %if-c++-only */
3308
/* %endif */
3309
0
{
3310
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3311
0
  if (new_buffer == NULL)
3312
0
    return;
3313
3314
0
  yyensure_buffer_stack(yyscanner);
3315
3316
  /* This block is copied from yy_switch_to_buffer. */
3317
0
  if ( YY_CURRENT_BUFFER )
3318
0
    {
3319
    /* Flush out information for old buffer. */
3320
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
3321
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
3322
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3323
0
    }
3324
3325
  /* Only push if top exists. Otherwise, replace top. */
3326
0
  if (YY_CURRENT_BUFFER)
3327
0
    yyg->yy_buffer_stack_top++;
3328
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3329
3330
  /* copied from yy_switch_to_buffer. */
3331
0
  yy_load_buffer_state( yyscanner );
3332
0
  yyg->yy_did_buffer_switch_on_eof = 1;
3333
0
}
3334
/* %endif */
3335
3336
/* %if-c-or-c++ */
3337
/** Removes and deletes the top of the stack, if present.
3338
 *  The next element becomes the new top.
3339
 *  @param yyscanner The scanner object.
3340
 */
3341
/* %if-c-only */
3342
void yypop_buffer_state (yyscan_t yyscanner)
3343
/* %endif */
3344
/* %if-c++-only */
3345
/* %endif */
3346
0
{
3347
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3348
0
  if (!YY_CURRENT_BUFFER)
3349
0
    return;
3350
3351
0
  yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
3352
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
3353
0
  if (yyg->yy_buffer_stack_top > 0)
3354
0
    --yyg->yy_buffer_stack_top;
3355
3356
0
  if (YY_CURRENT_BUFFER) {
3357
0
    yy_load_buffer_state( yyscanner );
3358
0
    yyg->yy_did_buffer_switch_on_eof = 1;
3359
0
  }
3360
0
}
3361
/* %endif */
3362
3363
/* %if-c-or-c++ */
3364
/* Allocates the stack if it does not exist.
3365
 *  Guarantees space for at least one push.
3366
 */
3367
/* %if-c-only */
3368
static void yyensure_buffer_stack (yyscan_t yyscanner)
3369
/* %endif */
3370
/* %if-c++-only */
3371
/* %endif */
3372
0
{
3373
0
  yy_size_t num_to_alloc;
3374
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3375
3376
0
  if (!yyg->yy_buffer_stack) {
3377
3378
    /* First allocation is just for 2 elements, since we don't know if this
3379
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
3380
     * immediate realloc on the next call.
3381
         */
3382
0
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3383
0
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
3384
0
                (num_to_alloc * sizeof(struct yy_buffer_state*)
3385
0
                , yyscanner);
3386
0
    if ( ! yyg->yy_buffer_stack )
3387
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3388
3389
0
    memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3390
3391
0
    yyg->yy_buffer_stack_max = num_to_alloc;
3392
0
    yyg->yy_buffer_stack_top = 0;
3393
0
    return;
3394
0
  }
3395
3396
0
  if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
3397
3398
    /* Increase the buffer to prepare for a possible push. */
3399
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
3400
3401
0
    num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
3402
0
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
3403
0
                (yyg->yy_buffer_stack,
3404
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
3405
0
                , yyscanner);
3406
0
    if ( ! yyg->yy_buffer_stack )
3407
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3408
3409
    /* zero only the new slots.*/
3410
0
    memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
3411
0
    yyg->yy_buffer_stack_max = num_to_alloc;
3412
0
  }
3413
0
}
3414
/* %endif */
3415
3416
/* %if-c-only */
3417
/** Setup the input buffer state to scan directly from a user-specified character buffer.
3418
 * @param base the character buffer
3419
 * @param size the size in bytes of the character buffer
3420
 * @param yyscanner The scanner object.
3421
 * @return the newly allocated buffer state object.
3422
 */
3423
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
3424
0
{
3425
0
  YY_BUFFER_STATE b;
3426
    
3427
0
  if ( size < 2 ||
3428
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
3429
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
3430
    /* They forgot to leave room for the EOB's. */
3431
0
    return NULL;
3432
3433
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
3434
0
  if ( ! b )
3435
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3436
3437
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
3438
0
  b->yy_buf_pos = b->yy_ch_buf = base;
3439
0
  b->yy_is_our_buffer = 0;
3440
0
  b->yy_input_file = NULL;
3441
0
  b->yy_n_chars = b->yy_buf_size;
3442
0
  b->yy_is_interactive = 0;
3443
0
  b->yy_at_bol = 1;
3444
0
  b->yy_fill_buffer = 0;
3445
0
  b->yy_buffer_status = YY_BUFFER_NEW;
3446
3447
0
  yy_switch_to_buffer( b , yyscanner );
3448
3449
0
  return b;
3450
0
}
3451
/* %endif */
3452
3453
/* %if-c-only */
3454
/** Setup the input buffer state to scan a string. The next call to yylex() will
3455
 * scan from a @e copy of @a str.
3456
 * @param yystr a NUL-terminated string to scan
3457
 * @param yyscanner The scanner object.
3458
 * @return the newly allocated buffer state object.
3459
 * @note If you want to scan bytes that may contain NUL values, then use
3460
 *       yy_scan_bytes() instead.
3461
 */
3462
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
3463
0
{
3464
    
3465
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
3466
0
}
3467
/* %endif */
3468
3469
/* %if-c-only */
3470
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3471
 * scan from a @e copy of @a bytes.
3472
 * @param yybytes the byte buffer to scan
3473
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3474
 * @param yyscanner The scanner object.
3475
 * @return the newly allocated buffer state object.
3476
 */
3477
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
3478
0
{
3479
0
  YY_BUFFER_STATE b;
3480
0
  char *buf;
3481
0
  yy_size_t n;
3482
0
  int i;
3483
    
3484
  /* Get memory for full buffer, including space for trailing EOB's. */
3485
0
  n = (yy_size_t) (_yybytes_len + 2);
3486
0
  buf = (char *) yyalloc( n , yyscanner );
3487
0
  if ( ! buf )
3488
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3489
3490
0
  for ( i = 0; i < _yybytes_len; ++i )
3491
0
    buf[i] = yybytes[i];
3492
3493
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3494
3495
0
  b = yy_scan_buffer( buf, n , yyscanner);
3496
0
  if ( ! b )
3497
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3498
3499
  /* It's okay to grow etc. this buffer, and we should throw it
3500
   * away when we're done.
3501
   */
3502
0
  b->yy_is_our_buffer = 1;
3503
3504
0
  return b;
3505
0
}
3506
/* %endif */
3507
3508
#ifndef YY_EXIT_FAILURE
3509
#define YY_EXIT_FAILURE 2
3510
#endif
3511
3512
/* %if-c-only */
3513
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
3514
0
{
3515
0
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3516
0
  (void)yyg;
3517
0
  fprintf( stderr, "%s\n", msg );
3518
0
  exit( YY_EXIT_FAILURE );
3519
0
}
3520
/* %endif */
3521
/* %if-c++-only */
3522
/* %endif */
3523
3524
/* Redefine yyless() so it works in section 3 code. */
3525
3526
#undef yyless
3527
#define yyless(n) \
3528
  do \
3529
    { \
3530
    /* Undo effects of setting up yytext. */ \
3531
        int yyless_macro_arg = (n); \
3532
        YY_LESS_LINENO(yyless_macro_arg);\
3533
    yytext[yyleng] = yyg->yy_hold_char; \
3534
    yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3535
    yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3536
    *yyg->yy_c_buf_p = '\0'; \
3537
    yyleng = yyless_macro_arg; \
3538
    } \
3539
  while ( 0 )
3540
3541
/* Accessor  methods (get/set functions) to struct members. */
3542
3543
/* %if-c-only */
3544
/* %if-reentrant */
3545
3546
/** Get the user-defined data for this scanner.
3547
 * @param yyscanner The scanner object.
3548
 */
3549
YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
3550
0
{
3551
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3552
0
    return yyextra;
3553
0
}
3554
3555
/* %endif */
3556
3557
/** Get the current line number.
3558
 * @param yyscanner The scanner object.
3559
 */
3560
int yyget_lineno  (yyscan_t yyscanner)
3561
0
{
3562
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3563
3564
0
        if (! YY_CURRENT_BUFFER)
3565
0
            return 0;
3566
    
3567
0
    return yylineno;
3568
0
}
3569
3570
/** Get the current column number.
3571
 * @param yyscanner The scanner object.
3572
 */
3573
int yyget_column  (yyscan_t yyscanner)
3574
0
{
3575
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3576
3577
0
        if (! YY_CURRENT_BUFFER)
3578
0
            return 0;
3579
    
3580
0
    return yycolumn;
3581
0
}
3582
3583
/** Get the input stream.
3584
 * @param yyscanner The scanner object.
3585
 */
3586
FILE *yyget_in  (yyscan_t yyscanner)
3587
0
{
3588
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3589
0
    return yyin;
3590
0
}
3591
3592
/** Get the output stream.
3593
 * @param yyscanner The scanner object.
3594
 */
3595
FILE *yyget_out  (yyscan_t yyscanner)
3596
0
{
3597
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3598
0
    return yyout;
3599
0
}
3600
3601
/** Get the length of the current token.
3602
 * @param yyscanner The scanner object.
3603
 */
3604
int yyget_leng  (yyscan_t yyscanner)
3605
0
{
3606
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3607
0
    return yyleng;
3608
0
}
3609
3610
/** Get the current token.
3611
 * @param yyscanner The scanner object.
3612
 */
3613
3614
char *yyget_text  (yyscan_t yyscanner)
3615
0
{
3616
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3617
0
    return yytext;
3618
0
}
3619
3620
/* %if-reentrant */
3621
3622
/** Set the user-defined data. This data is never touched by the scanner.
3623
 * @param user_defined The data to be associated with this scanner.
3624
 * @param yyscanner The scanner object.
3625
 */
3626
void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
3627
0
{
3628
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3629
0
    yyextra = user_defined ;
3630
0
}
3631
3632
/* %endif */
3633
3634
/** Set the current line number.
3635
 * @param _line_number line number
3636
 * @param yyscanner The scanner object.
3637
 */
3638
void yyset_lineno (int  _line_number , yyscan_t yyscanner)
3639
0
{
3640
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3641
3642
        /* lineno is only valid if an input buffer exists. */
3643
0
        if (! YY_CURRENT_BUFFER )
3644
0
           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
3645
    
3646
0
    yylineno = _line_number;
3647
0
}
3648
3649
/** Set the current column.
3650
 * @param _column_no column number
3651
 * @param yyscanner The scanner object.
3652
 */
3653
void yyset_column (int  _column_no , yyscan_t yyscanner)
3654
0
{
3655
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3656
3657
        /* column is only valid if an input buffer exists. */
3658
0
        if (! YY_CURRENT_BUFFER )
3659
0
           YY_FATAL_ERROR( "yyset_column called with no buffer" );
3660
    
3661
0
    yycolumn = _column_no;
3662
0
}
3663
3664
/** Set the input stream. This does not discard the current
3665
 * input buffer.
3666
 * @param _in_str A readable stream.
3667
 * @param yyscanner The scanner object.
3668
 * @see yy_switch_to_buffer
3669
 */
3670
void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
3671
0
{
3672
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3673
0
    yyin = _in_str ;
3674
0
}
3675
3676
void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
3677
0
{
3678
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3679
0
    yyout = _out_str ;
3680
0
}
3681
3682
int yyget_debug  (yyscan_t yyscanner)
3683
0
{
3684
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3685
0
    return yy_flex_debug;
3686
0
}
3687
3688
void yyset_debug (int  _bdebug , yyscan_t yyscanner)
3689
0
{
3690
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3691
0
    yy_flex_debug = _bdebug ;
3692
0
}
3693
3694
/* %endif */
3695
3696
/* %if-reentrant */
3697
/* Accessor methods for yylval and yylloc */
3698
3699
/* %if-bison-bridge */
3700
/* %endif */
3701
3702
/* User-visible API */
3703
3704
/* yylex_init is special because it creates the scanner itself, so it is
3705
 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3706
 * That's why we explicitly handle the declaration, instead of using our macros.
3707
 */
3708
int yylex_init(yyscan_t* ptr_yy_globals)
3709
0
{
3710
0
    if (ptr_yy_globals == NULL){
3711
0
        errno = EINVAL;
3712
0
        return 1;
3713
0
    }
3714
3715
0
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
3716
3717
0
    if (*ptr_yy_globals == NULL){
3718
0
        errno = ENOMEM;
3719
0
        return 1;
3720
0
    }
3721
3722
    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3723
0
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3724
3725
0
    return yy_init_globals ( *ptr_yy_globals );
3726
0
}
3727
3728
/* yylex_init_extra has the same functionality as yylex_init, but follows the
3729
 * convention of taking the scanner as the last argument. Note however, that
3730
 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3731
 * is the reason, too, why this function also must handle its own declaration).
3732
 * The user defined value in the first argument will be available to yyalloc in
3733
 * the yyextra field.
3734
 */
3735
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
3736
0
{
3737
0
    struct yyguts_t dummy_yyguts;
3738
3739
0
    yyset_extra (yy_user_defined, &dummy_yyguts);
3740
3741
0
    if (ptr_yy_globals == NULL){
3742
0
        errno = EINVAL;
3743
0
        return 1;
3744
0
    }
3745
3746
0
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3747
3748
0
    if (*ptr_yy_globals == NULL){
3749
0
        errno = ENOMEM;
3750
0
        return 1;
3751
0
    }
3752
3753
    /* By setting to 0xAA, we expose bugs in
3754
    yy_init_globals. Leave at 0x00 for releases. */
3755
0
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3756
3757
0
    yyset_extra (yy_user_defined, *ptr_yy_globals);
3758
3759
0
    return yy_init_globals ( *ptr_yy_globals );
3760
0
}
3761
3762
/* %endif if-c-only */
3763
3764
/* %if-c-only */
3765
static int yy_init_globals (yyscan_t yyscanner)
3766
0
{
3767
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3768
    /* Initialization is the same as for the non-reentrant scanner.
3769
     * This function is called from yylex_destroy(), so don't allocate here.
3770
     */
3771
3772
0
    yyg->yy_buffer_stack = NULL;
3773
0
    yyg->yy_buffer_stack_top = 0;
3774
0
    yyg->yy_buffer_stack_max = 0;
3775
0
    yyg->yy_c_buf_p = NULL;
3776
0
    yyg->yy_init = 0;
3777
0
    yyg->yy_start = 0;
3778
3779
0
    yyg->yy_start_stack_ptr = 0;
3780
0
    yyg->yy_start_stack_depth = 0;
3781
0
    yyg->yy_start_stack =  NULL;
3782
3783
/* Defined in main.c */
3784
#ifdef YY_STDINIT
3785
    yyin = stdin;
3786
    yyout = stdout;
3787
#else
3788
0
    yyin = NULL;
3789
0
    yyout = NULL;
3790
0
#endif
3791
3792
    /* For future reference: Set errno on error, since we are called by
3793
     * yylex_init()
3794
     */
3795
0
    return 0;
3796
0
}
3797
/* %endif */
3798
3799
/* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
3800
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3801
int yylex_destroy  (yyscan_t yyscanner)
3802
0
{
3803
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3804
3805
    /* Pop the buffer stack, destroying each element. */
3806
0
  while(YY_CURRENT_BUFFER){
3807
0
    yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
3808
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
3809
0
    yypop_buffer_state(yyscanner);
3810
0
  }
3811
3812
  /* Destroy the stack itself. */
3813
0
  yyfree(yyg->yy_buffer_stack , yyscanner);
3814
0
  yyg->yy_buffer_stack = NULL;
3815
3816
    /* Destroy the start condition stack. */
3817
0
        yyfree( yyg->yy_start_stack , yyscanner );
3818
0
        yyg->yy_start_stack = NULL;
3819
3820
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3821
     * yylex() is called, initialization will occur. */
3822
0
    yy_init_globals( yyscanner);
3823
3824
/* %if-reentrant */
3825
    /* Destroy the main struct (reentrant only). */
3826
0
    yyfree ( yyscanner , yyscanner );
3827
0
    yyscanner = NULL;
3828
/* %endif */
3829
0
    return 0;
3830
0
}
3831
/* %endif */
3832
3833
/*
3834
 * Internal utility routines.
3835
 */
3836
3837
#ifndef yytext_ptr
3838
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
3839
{
3840
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3841
  (void)yyg;
3842
3843
  int i;
3844
  for ( i = 0; i < n; ++i )
3845
    s1[i] = s2[i];
3846
}
3847
#endif
3848
3849
#ifdef YY_NEED_STRLEN
3850
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
3851
{
3852
  int n;
3853
  for ( n = 0; s[n]; ++n )
3854
    ;
3855
3856
  return n;
3857
}
3858
#endif
3859
3860
/* %if-tables-serialization definitions */
3861
/* %define-yytables   The name for this specific scanner's tables. */
3862
#define YYTABLES_NAME "yytables"
3863
/* %endif */
3864
3865
/* %ok-for-header */
3866
3867
#line 407 "/src/wireshark/wiretap/ascend_scanner.l"
3868
3869
3870
// NOLINTEND(misc-no-recursion)
3871
3872
/*
3873
 * Turn diagnostics back on, so we check the code that we've written.
3874
 */
3875
DIAG_ON_FLEX()
3876