• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

geographika / mapserver / 17709373190

14 Sep 2025 09:32AM UTC coverage: 41.466% (+0.09%) from 41.375%
17709373190

push

github

geographika
Add index templates

62086 of 149729 relevant lines covered (41.47%)

25036.08 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

71.6
/src/maplexer.c
1
#line 2 "src/maplexer.c"
2

3
#line 4 "src/maplexer.c"
4

5
#define  YY_INT_ALIGNED short int
6

7
/* A lexical scanner generated by flex */
8

9
#define yy_create_buffer msyy_create_buffer
10
#define yy_delete_buffer msyy_delete_buffer
11
#define yy_scan_buffer msyy_scan_buffer
12
#define yy_scan_string msyy_scan_string
13
#define yy_scan_bytes msyy_scan_bytes
14
#define yy_init_buffer msyy_init_buffer
15
#define yy_flush_buffer msyy_flush_buffer
16
#define yy_load_buffer_state msyy_load_buffer_state
17
#define yy_switch_to_buffer msyy_switch_to_buffer
18
#define yypush_buffer_state msyypush_buffer_state
19
#define yypop_buffer_state msyypop_buffer_state
20
#define yyensure_buffer_stack msyyensure_buffer_stack
21
#define yy_flex_debug msyy_flex_debug
22
#define yyin msyyin
23
#define yyleng msyyleng
24
#define yylex msyylex
25
#define yylineno msyylineno
26
#define yyout msyyout
27
#define yyrestart msyyrestart
28
#define yytext msyytext
29
#define yywrap msyywrap
30
#define yyalloc msyyalloc
31
#define yyrealloc msyyrealloc
32
#define yyfree msyyfree
33

34
#define FLEX_SCANNER
35
#define YY_FLEX_MAJOR_VERSION 2
36
#define YY_FLEX_MINOR_VERSION 6
37
#define YY_FLEX_SUBMINOR_VERSION 4
38
#if YY_FLEX_SUBMINOR_VERSION > 0
39
#define FLEX_BETA
40
#endif
41

42
#ifdef yy_create_buffer
43
#define msyy_create_buffer_ALREADY_DEFINED
44
#else
45
#define yy_create_buffer msyy_create_buffer
46
#endif
47

48
#ifdef yy_delete_buffer
49
#define msyy_delete_buffer_ALREADY_DEFINED
50
#else
51
#define yy_delete_buffer msyy_delete_buffer
52
#endif
53

54
#ifdef yy_scan_buffer
55
#define msyy_scan_buffer_ALREADY_DEFINED
56
#else
57
#define yy_scan_buffer msyy_scan_buffer
58
#endif
59

60
#ifdef yy_scan_string
61
#define msyy_scan_string_ALREADY_DEFINED
62
#else
63
#define yy_scan_string msyy_scan_string
64
#endif
65

66
#ifdef yy_scan_bytes
67
#define msyy_scan_bytes_ALREADY_DEFINED
68
#else
69
#define yy_scan_bytes msyy_scan_bytes
70
#endif
71

72
#ifdef yy_init_buffer
73
#define msyy_init_buffer_ALREADY_DEFINED
74
#else
75
#define yy_init_buffer msyy_init_buffer
76
#endif
77

78
#ifdef yy_flush_buffer
79
#define msyy_flush_buffer_ALREADY_DEFINED
80
#else
81
#define yy_flush_buffer msyy_flush_buffer
82
#endif
83

84
#ifdef yy_load_buffer_state
85
#define msyy_load_buffer_state_ALREADY_DEFINED
86
#else
87
#define yy_load_buffer_state msyy_load_buffer_state
88
#endif
89

90
#ifdef yy_switch_to_buffer
91
#define msyy_switch_to_buffer_ALREADY_DEFINED
92
#else
93
#define yy_switch_to_buffer msyy_switch_to_buffer
94
#endif
95

96
#ifdef yypush_buffer_state
97
#define msyypush_buffer_state_ALREADY_DEFINED
98
#else
99
#define yypush_buffer_state msyypush_buffer_state
100
#endif
101

102
#ifdef yypop_buffer_state
103
#define msyypop_buffer_state_ALREADY_DEFINED
104
#else
105
#define yypop_buffer_state msyypop_buffer_state
106
#endif
107

108
#ifdef yyensure_buffer_stack
109
#define msyyensure_buffer_stack_ALREADY_DEFINED
110
#else
111
#define yyensure_buffer_stack msyyensure_buffer_stack
112
#endif
113

114
#ifdef yylex
115
#define msyylex_ALREADY_DEFINED
116
#else
117
#define yylex msyylex
118
#endif
119

120
#ifdef yyrestart
121
#define msyyrestart_ALREADY_DEFINED
122
#else
123
#define yyrestart msyyrestart
124
#endif
125

126
#ifdef yylex_init
127
#define msyylex_init_ALREADY_DEFINED
128
#else
129
#define yylex_init msyylex_init
130
#endif
131

132
#ifdef yylex_init_extra
133
#define msyylex_init_extra_ALREADY_DEFINED
134
#else
135
#define yylex_init_extra msyylex_init_extra
136
#endif
137

138
#ifdef yylex_destroy
139
#define msyylex_destroy_ALREADY_DEFINED
140
#else
141
#define yylex_destroy msyylex_destroy
142
#endif
143

144
#ifdef yyget_debug
145
#define msyyget_debug_ALREADY_DEFINED
146
#else
147
#define yyget_debug msyyget_debug
148
#endif
149

150
#ifdef yyset_debug
151
#define msyyset_debug_ALREADY_DEFINED
152
#else
153
#define yyset_debug msyyset_debug
154
#endif
155

156
#ifdef yyget_extra
157
#define msyyget_extra_ALREADY_DEFINED
158
#else
159
#define yyget_extra msyyget_extra
160
#endif
161

162
#ifdef yyset_extra
163
#define msyyset_extra_ALREADY_DEFINED
164
#else
165
#define yyset_extra msyyset_extra
166
#endif
167

168
#ifdef yyget_in
169
#define msyyget_in_ALREADY_DEFINED
170
#else
171
#define yyget_in msyyget_in
172
#endif
173

174
#ifdef yyset_in
175
#define msyyset_in_ALREADY_DEFINED
176
#else
177
#define yyset_in msyyset_in
178
#endif
179

180
#ifdef yyget_out
181
#define msyyget_out_ALREADY_DEFINED
182
#else
183
#define yyget_out msyyget_out
184
#endif
185

186
#ifdef yyset_out
187
#define msyyset_out_ALREADY_DEFINED
188
#else
189
#define yyset_out msyyset_out
190
#endif
191

192
#ifdef yyget_leng
193
#define msyyget_leng_ALREADY_DEFINED
194
#else
195
#define yyget_leng msyyget_leng
196
#endif
197

198
#ifdef yyget_text
199
#define msyyget_text_ALREADY_DEFINED
200
#else
201
#define yyget_text msyyget_text
202
#endif
203

204
#ifdef yyget_lineno
205
#define msyyget_lineno_ALREADY_DEFINED
206
#else
207
#define yyget_lineno msyyget_lineno
208
#endif
209

210
#ifdef yyset_lineno
211
#define msyyset_lineno_ALREADY_DEFINED
212
#else
213
#define yyset_lineno msyyset_lineno
214
#endif
215

216
#ifdef yywrap
217
#define msyywrap_ALREADY_DEFINED
218
#else
219
#define yywrap msyywrap
220
#endif
221

222
#ifdef yyalloc
223
#define msyyalloc_ALREADY_DEFINED
224
#else
225
#define yyalloc msyyalloc
226
#endif
227

228
#ifdef yyrealloc
229
#define msyyrealloc_ALREADY_DEFINED
230
#else
231
#define yyrealloc msyyrealloc
232
#endif
233

234
#ifdef yyfree
235
#define msyyfree_ALREADY_DEFINED
236
#else
237
#define yyfree msyyfree
238
#endif
239

240
#ifdef yytext
241
#define msyytext_ALREADY_DEFINED
242
#else
243
#define yytext msyytext
244
#endif
245

246
#ifdef yyleng
247
#define msyyleng_ALREADY_DEFINED
248
#else
249
#define yyleng msyyleng
250
#endif
251

252
#ifdef yyin
253
#define msyyin_ALREADY_DEFINED
254
#else
255
#define yyin msyyin
256
#endif
257

258
#ifdef yyout
259
#define msyyout_ALREADY_DEFINED
260
#else
261
#define yyout msyyout
262
#endif
263

264
#ifdef yy_flex_debug
265
#define msyy_flex_debug_ALREADY_DEFINED
266
#else
267
#define yy_flex_debug msyy_flex_debug
268
#endif
269

270
#ifdef yylineno
271
#define msyylineno_ALREADY_DEFINED
272
#else
273
#define yylineno msyylineno
274
#endif
275

276
/* First, we deal with  platform-specific or compiler-specific issues. */
277

278
/* begin standard C headers. */
279
#include <stdio.h>
280
#include <string.h>
281
#include <errno.h>
282
#include <stdlib.h>
283

284
/* end standard C headers. */
285

286
/* flex integer type definitions */
287

288
#ifndef FLEXINT_H
289
#define FLEXINT_H
290

291
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
292

293
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294

295
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296
 * if you want the limit (max/min) macros for int types. 
297
 */
298
#ifndef __STDC_LIMIT_MACROS
299
#define __STDC_LIMIT_MACROS 1
300
#endif
301

302
#include <inttypes.h>
303
typedef int8_t flex_int8_t;
304
typedef uint8_t flex_uint8_t;
305
typedef int16_t flex_int16_t;
306
typedef uint16_t flex_uint16_t;
307
typedef int32_t flex_int32_t;
308
typedef uint32_t flex_uint32_t;
309
#else
310
typedef signed char flex_int8_t;
311
typedef short int flex_int16_t;
312
typedef int flex_int32_t;
313
typedef unsigned char flex_uint8_t; 
314
typedef unsigned short int flex_uint16_t;
315
typedef unsigned int flex_uint32_t;
316

317
/* Limits of integral types. */
318
#ifndef INT8_MIN
319
#define INT8_MIN               (-128)
320
#endif
321
#ifndef INT16_MIN
322
#define INT16_MIN              (-32767-1)
323
#endif
324
#ifndef INT32_MIN
325
#define INT32_MIN              (-2147483647-1)
326
#endif
327
#ifndef INT8_MAX
328
#define INT8_MAX               (127)
329
#endif
330
#ifndef INT16_MAX
331
#define INT16_MAX              (32767)
332
#endif
333
#ifndef INT32_MAX
334
#define INT32_MAX              (2147483647)
335
#endif
336
#ifndef UINT8_MAX
337
#define UINT8_MAX              (255U)
338
#endif
339
#ifndef UINT16_MAX
340
#define UINT16_MAX             (65535U)
341
#endif
342
#ifndef UINT32_MAX
343
#define UINT32_MAX             (4294967295U)
344
#endif
345

346
#ifndef SIZE_MAX
347
#define SIZE_MAX               (~(size_t)0)
348
#endif
349

350
#endif /* ! C99 */
351

352
#endif /* ! FLEXINT_H */
353

354
/* begin standard C++ headers. */
355

356
/* TODO: this is always defined, so inline it */
357
#define yyconst const
358

359
#if defined(__GNUC__) && __GNUC__ >= 3
360
#define yynoreturn __attribute__((__noreturn__))
361
#else
362
#define yynoreturn
363
#endif
364

365
/* Returned upon end-of-file. */
366
#define YY_NULL 0
367

368
/* Promotes a possibly negative, possibly signed char to an
369
 *   integer in range [0..255] for use as an array index.
370
 */
371
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372

373
/* Enter a start condition.  This macro really ought to take a parameter,
374
 * but we do it the disgusting crufty way forced on us by the ()-less
375
 * definition of BEGIN.
376
 */
377
#define BEGIN (yy_start) = 1 + 2 *
378
/* Translate the current start state into a value that can be later handed
379
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
380
 * compatibility.
381
 */
382
#define YY_START (((yy_start) - 1) / 2)
383
#define YYSTATE YY_START
384
/* Action number for EOF rule of a given start state. */
385
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386
/* Special action meaning "start processing a new file". */
387
#define YY_NEW_FILE yyrestart( yyin  )
388
#define YY_END_OF_BUFFER_CHAR 0
389

390
/* Size of default input buffer. */
391
#ifndef YY_BUF_SIZE
392
#ifdef __ia64__
393
/* On IA-64, the buffer size is 16k, not 8k.
394
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395
 * Ditto for the __ia64__ case accordingly.
396
 */
397
#define YY_BUF_SIZE 32768
398
#else
399
#define YY_BUF_SIZE 16384
400
#endif /* __ia64__ */
401
#endif
402

403
/* The state buf must be large enough to hold one state per character in the main buffer.
404
 */
405
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406

407
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
408
#define YY_TYPEDEF_YY_BUFFER_STATE
409
typedef struct yy_buffer_state *YY_BUFFER_STATE;
410
#endif
411

412
#ifndef YY_TYPEDEF_YY_SIZE_T
413
#define YY_TYPEDEF_YY_SIZE_T
414
typedef size_t yy_size_t;
415
#endif
416

417
extern int yyleng;
418

419
extern FILE *yyin, *yyout;
420

421
#define EOB_ACT_CONTINUE_SCAN 0
422
#define EOB_ACT_END_OF_FILE 1
423
#define EOB_ACT_LAST_MATCH 2
424
    
425
    #define YY_LESS_LINENO(n)
426
    #define YY_LINENO_REWIND_TO(ptr)
427
    
428
/* Return all but the first "n" matched characters back to the input stream. */
429
#define yyless(n) \
430
        do \
431
                { \
432
                /* Undo effects of setting up yytext. */ \
433
        int yyless_macro_arg = (n); \
434
        YY_LESS_LINENO(yyless_macro_arg);\
435
                *yy_cp = (yy_hold_char); \
436
                YY_RESTORE_YY_MORE_OFFSET \
437
                (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439
                } \
440
        while ( 0 )
441
#define unput(c) yyunput( c, (yytext_ptr)  )
442

443
#ifndef YY_STRUCT_YY_BUFFER_STATE
444
#define YY_STRUCT_YY_BUFFER_STATE
445
struct yy_buffer_state
446
        {
447
        FILE *yy_input_file;
448

449
        char *yy_ch_buf;                /* input buffer */
450
        char *yy_buf_pos;                /* current position in input buffer */
451

452
        /* Size of input buffer in bytes, not including room for EOB
453
         * characters.
454
         */
455
        int yy_buf_size;
456

457
        /* Number of characters read into yy_ch_buf, not including EOB
458
         * characters.
459
         */
460
        int yy_n_chars;
461

462
        /* Whether we "own" the buffer - i.e., we know we created it,
463
         * and can realloc() it to grow it, and should free() it to
464
         * delete it.
465
         */
466
        int yy_is_our_buffer;
467

468
        /* Whether this is an "interactive" input source; if so, and
469
         * if we're using stdio for input, then we want to use getc()
470
         * instead of fread(), to make sure we stop fetching input after
471
         * each newline.
472
         */
473
        int yy_is_interactive;
474

475
        /* Whether we're considered to be at the beginning of a line.
476
         * If so, '^' rules will be active on the next match, otherwise
477
         * not.
478
         */
479
        int yy_at_bol;
480

481
    int yy_bs_lineno; /**< The line count. */
482
    int yy_bs_column; /**< The column count. */
483

484
        /* Whether to try to fill the input buffer when we reach the
485
         * end of it.
486
         */
487
        int yy_fill_buffer;
488

489
        int yy_buffer_status;
490

491
#define YY_BUFFER_NEW 0
492
#define YY_BUFFER_NORMAL 1
493
        /* When an EOF's been seen but there's still some text to process
494
         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495
         * shouldn't try reading from the input source any more.  We might
496
         * still have a bunch of tokens to match, though, because of
497
         * possible backing-up.
498
         *
499
         * When we actually see the EOF, we change the status to "new"
500
         * (via yyrestart()), so that the user can continue scanning by
501
         * just pointing yyin at a new input file.
502
         */
503
#define YY_BUFFER_EOF_PENDING 2
504

505
        };
506
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
507

508
/* Stack of input buffers. */
509
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
510
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
511
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
512

513
/* We provide macros for accessing buffer states in case in the
514
 * future we want to put the buffer states in a more general
515
 * "scanner state".
516
 *
517
 * Returns the top of the stack, or NULL.
518
 */
519
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521
                          : NULL)
522
/* Same as previous macro, but useful when we know that the buffer stack is not
523
 * NULL or when we need an lvalue. For internal use only.
524
 */
525
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526

527
/* yy_hold_char holds the character lost when yytext is formed. */
528
static char yy_hold_char;
529
static int yy_n_chars;                /* number of characters read into yy_ch_buf */
530
int yyleng;
531

532
/* Points to current character in buffer. */
533
static char *yy_c_buf_p = NULL;
534
static int yy_init = 0;                /* whether we need to initialize */
535
static int yy_start = 0;        /* start state number */
536

537
/* Flag which is used to allow yywrap()'s to do buffer switches
538
 * instead of setting up a fresh yyin.  A bit of a hack ...
539
 */
540
static int yy_did_buffer_switch_on_eof;
541

542
void yyrestart ( FILE *input_file  );
543
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
544
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
545
void yy_delete_buffer ( YY_BUFFER_STATE b  );
546
void yy_flush_buffer ( YY_BUFFER_STATE b  );
547
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
548
void yypop_buffer_state ( void );
549

550
static void yyensure_buffer_stack ( void );
551
static void yy_load_buffer_state ( void );
552
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
553
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554

555
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
556
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
557
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
558

559
void *yyalloc ( yy_size_t  );
560
void *yyrealloc ( void *, yy_size_t  );
561
void yyfree ( void *  );
562

563
#define yy_new_buffer yy_create_buffer
564
#define yy_set_interactive(is_interactive) \
565
        { \
566
        if ( ! YY_CURRENT_BUFFER ){ \
567
        yyensure_buffer_stack (); \
568
                YY_CURRENT_BUFFER_LVALUE =    \
569
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
570
        } \
571
        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572
        }
573
#define yy_set_bol(at_bol) \
574
        { \
575
        if ( ! YY_CURRENT_BUFFER ){\
576
        yyensure_buffer_stack (); \
577
                YY_CURRENT_BUFFER_LVALUE =    \
578
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
579
        } \
580
        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581
        }
582
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583

584
/* Begin user sect3 */
585
typedef flex_uint8_t YY_CHAR;
586

587
FILE *yyin = NULL, *yyout = NULL;
588

589
typedef int yy_state_type;
590

591
extern int yylineno;
592
int yylineno = 1;
593

594
extern char *yytext;
595
#ifdef yytext_ptr
596
#undef yytext_ptr
597
#endif
598
#define yytext_ptr yytext
599

600
static yy_state_type yy_get_previous_state ( void );
601
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
602
static int yy_get_next_buffer ( void );
603
static void yynoreturn yy_fatal_error ( const char* msg  );
604

605
/* Done after the current pattern has been matched and before the
606
 * corresponding action - sets up yytext.
607
 */
608
#define YY_DO_BEFORE_ACTION \
609
        (yytext_ptr) = yy_bp; \
610
        yyleng = (int) (yy_cp - yy_bp); \
611
        (yy_hold_char) = *yy_cp; \
612
        *yy_cp = '\0'; \
613
        (yy_c_buf_p) = yy_cp;
614
#define YY_NUM_RULES 346
615
#define YY_END_OF_BUFFER 347
616
/* This struct is not used in this scanner,
617
   but its presence is necessary. */
618
struct yy_trans_info
619
        {
620
        flex_int32_t yy_verify;
621
        flex_int32_t yy_nxt;
622
        };
623
static const flex_int16_t yy_accept[1742] =
624
    {   0,
625
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
626
        0,    0,  347,  344,    1,  342,  335,    2,  344,  344,
627
      328,  341,  328,  341,  341,  341,  341,  341,  341,  341,
628
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
629
      341,  341,  341,  341,  341,  341,  341,  344,  344,  344,
630
      345,    1,  343,    1,   14,  340,  345,  340,  345,  329,
631
      329,   18,   15,   17,  345,  345,  345,  345,  345,  345,
632
      345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
633
      345,  345,  345,  343,   21,  343,  346,    1,  346,  346,
634
      338,  336,  336,  337,    5,    7,    6,  341,  341,  341,
635

636
      341,  341,    1,    2,    0,  333,  328,  328,  341,  328,
637
      341,    0,    3,  341,    2,  328,    0,  341,  341,  341,
638
      341,  341,  341,  341,  341,  245,  341,  341,  341,  249,
639
      341,  250,  341,  341,  255,  341,  341,  341,  341,  341,
640
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
641
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
642
      341,  341,  341,  269,  341,  341,  272,  273,  341,  341,
643
      341,  341,  341,  341,  341,  341,  341,  285,  341,  341,
644
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
645
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
646

647
      341,  341,  341,  341,  224,  341,  341,  312,  313,  341,
648
      314,  341,  341,  341,  341,  341,  341,  341,  341,  341,
649
      341,    0,  321,    0,  334,    0,   16,    0,   13,    0,
650
      329,  329,  329,    0,  329,    0,   20,   22,   15,   19,
651
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
652
       15,    0,    0,    0,   19,   17,   24,    0,   20,    0,
653
       18,    0,   12,    0,    0,    0,    0,    0,    0,    0,
654
        0,    0,    0,    0,    0,    0,  325,    0,    0,  330,
655
       23,    0,  339,    0,  338,  336,  336,  337,    5,    4,
656
        2,  341,  341,  341,  341,  328,    0,    0,  341,  328,
657

658
        0,  332,  341,  332,    2,    2,    2,  328,    0,    0,
659
      328,  341,  341,  341,  341,  341,  341,  341,  341,  341,
660
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
661
      341,  341,  341,  251,  341,  341,  341,  341,  341,  341,
662
      341,  341,   88,  341,  341,  341,  341,  341,  341,  341,
663
      341,  341,  341,  341,  341,  341,  104,  341,  341,  341,
664
      341,  341,  341,  341,  341,  264,  341,  341,  341,  341,
665
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
666
      341,  341,  341,  341,  143,  341,  341,  341,  341,  341,
667
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
668

669
      282,  283,  341,  341,  341,  341,  341,  341,  341,  341,
670
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
671
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
672
      341,  341,  341,  341,  341,  341,  341,  306,  341,  341,
673
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
674
      341,  341,  341,  341,  341,  235,  319,  341,  237,  320,
675
      341,   68,    0,    0,    0,    0,    0,  329,  329,    0,
676
        0,  329,    0,    0,    0,    0,    0,    0,    0,    0,
677
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
678
        0,    0,    0,    0,   14,    0,    0,    0,    0,    0,
679

680
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
681
        2,  341,    9,  341,  341,  328,  331,  331,    2,    2,
682
        0,  328,  341,  341,  341,  341,  341,  240,  341,  341,
683
      341,  341,  341,  341,  341,  244,  341,  341,  341,  341,
684
      341,  341,  341,  341,  341,  341,   83,  341,  341,  341,
685
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
686
      341,  259,  341,  341,  341,  341,   99,  341,  341,  341,
687
      103,  341,  341,  341,  106,  341,  341,  341,  341,  341,
688
      341,  341,  341,  341,  341,  341,  122,  341,  341,  341,
689
      341,  341,  341,  341,  341,  341,  270,  341,  271,  341,
690

691
      146,  341,  341,  341,  341,  341,  341,  341,  341,  341,
692
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
693
      341,  341,  341,  341,  341,  341,  341,  341,  341,  176,
694
      341,  280,  341,  341,  341,  341,  341,  341,  341,  341,
695
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
696
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
697
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
698
      208,  341,  341,  341,  341,  341,  341,  341,  219,  341,
699
      308,  341,  341,  341,  341,  310,  229,  341,  341,  341,
700
      341,  341,  341,  341,  341,  341,  238,  326,    0,  329,
701

702
       25,    0,    0,    0,    0,    0,    0,    0,    0,    0,
703
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704
        0,    0,    0,    0,    0,    0,    0,    0,    0,   56,
705
        0,    0,    0,    0,    0,  327,  341,   10,  341,    2,
706
       61,  341,   63,  341,  341,  241,  341,  341,  242,  341,
707
      341,  341,  341,  341,  341,  247,  341,   72,  341,   76,
708
      341,  341,  341,  341,  341,  341,   84,  341,  341,  341,
709
      341,  257,   86,  341,   89,  341,  341,  341,  258,  341,
710
      341,  341,  341,  341,  341,  341,  101,  341,  341,  261,
711
      341,  341,  109,  262,  341,  341,  111,  341,  341,  119,
712

713
      341,  341,  187,  341,  341,  341,  341,  341,  126,  268,
714
      341,  136,  341,  341,  341,  341,  341,  341,  341,  341,
715
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
716
      341,  341,  341,  277,  341,  341,  341,  341,  341,  341,
717
      341,  341,  341,  341,  341,  341,  278,  341,  253,  341,
718
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
719
      341,  341,  341,  341,  292,  341,  341,  341,  341,  341,
720
      341,  341,  341,  296,  341,  341,  341,  341,  341,  341,
721
      341,  341,  299,  300,  201,  341,  341,  341,  341,  341,
722
      341,  304,  341,  341,  211,  341,  217,  341,  341,  341,
723

724
      341,  223,  341,  341,  341,  341,  315,  230,  341,  341,
725
      341,  341,  341,  341,  236,    0,    0,    0,    0,    0,
726
        0,    0,    0,    0,    0,    0,   57,    0,    0,    0,
727
        0,   43,    0,    0,    0,   31,   42,    0,   29,    0,
728
        0,    0,    0,   30,    0,    0,    0,    0,  341,  341,
729
      341,  341,  341,  341,  341,  341,  243,  341,   70,  246,
730
      341,  248,  341,  341,  341,  341,  341,   79,  341,   80,
731
      341,  341,  341,  341,  341,   85,  341,  341,  341,  341,
732
       91,  341,  341,   95,   96,  341,  260,  341,   98,  341,
733
      341,  341,  341,  110,  265,  341,  341,  341,  341,  341,
734

735
      266,  341,  341,  341,  341,  341,  341,  341,  341,  341,
736
      341,  341,  341,  341,  135,  137,  138,  341,  341,  144,
737
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
738
      341,  341,  341,  274,  341,  275,  341,  341,  341,  341,
739
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
740
      281,  177,  341,  341,  341,  341,  341,  341,  341,  341,
741
      341,  291,  290,  295,  186,  341,  341,  341,  341,  341,
742
      341,  341,  341,  341,  341,  341,  341,  297,  341,  196,
743
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
744
      302,  303,  341,  305,  210,  341,  213,  341,  341,  341,
745

746
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
747
      341,  234,  318,   53,   34,    0,    0,    0,    0,    0,
748
        0,    0,    0,   52,    0,    0,    0,    0,    0,    0,
749
       26,    0,    0,    0,    0,    0,   50,    0,    0,    0,
750
        8,  341,  341,  341,  341,  341,  341,  341,  341,  341,
751
      341,  341,   75,  341,  341,  341,  341,  317,  341,  254,
752
      341,  256,  341,  341,  341,  341,   94,  341,  341,  100,
753
      341,  341,  341,  341,  341,  341,  341,  341,  341,  118,
754
      341,  341,  341,  341,  124,  341,  341,  341,  341,  341,
755
      341,  341,  341,  341,  140,  341,  341,  147,  341,  341,
756

757
      341,  341,  341,  341,  341,  341,  156,  341,  341,  341,
758
      341,  341,  162,  341,  341,  341,  341,  341,  341,  172,
759
      341,  341,  341,  341,  341,  178,  341,  179,  341,  341,
760
      341,  341,  185,  341,  341,  293,  341,  294,  341,  341,
761
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
762
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
763
      341,  341,  341,  341,  341,  341,  222,  341,  341,  341,
764
      341,  341,  231,  232,  341,  341,    0,   28,    0,   49,
765
       41,    0,    0,   54,    0,    0,    0,   32,    0,    0,
766
        0,    0,    0,    0,   47,    0,    0,  322,   11,  341,
767

768
      341,  341,  341,  341,   67,  341,  341,  341,  341,  341,
769
      341,  341,  341,  341,  341,   87,  341,  341,   93,  341,
770
      341,  341,  341,  341,  107,  341,  341,  341,  341,  117,
771
      341,  341,  341,  123,  341,  341,  341,  341,  341,  341,
772
      341,  341,  341,  141,  341,  341,  341,  341,  341,  341,
773
      341,  341,  152,  341,  341,  159,  160,  161,  341,  341,
774
      341,  341,  341,  169,  341,  341,  175,  279,  341,  341,
775
      341,  341,  341,  341,  341,  184,  341,  341,  188,  341,
776
      341,  190,  341,  341,  341,  194,  341,  341,  341,  341,
777
      341,  198,  341,  203,  341,  341,  301,  341,  341,  341,
778

779
      341,  341,  341,  341,  218,  116,  341,  221,  341,  341,
780
      341,  309,  311,  316,  341,    0,   51,    0,   46,   33,
781
       55,    0,    0,    0,   48,   36,    0,   27,    0,    0,
782
      341,  341,   64,  341,   66,  341,   71,  341,   73,  341,
783
      341,   78,  341,   59,  341,  341,   92,  341,  341,  341,
784
      341,  108,  341,  114,  115,  113,  341,  121,  341,  341,
785
      341,  341,  341,  129,  341,  341,  341,  341,  341,  341,
786
      341,  341,  341,  341,  341,  155,  341,  341,  341,  341,
787
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
788
      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
789

790
      341,  341,   60,  341,  195,  341,  341,  341,  341,  341,
791
      341,  341,  207,  209,  212,  341,  216,  220,  225,  228,
792
      341,  341,    0,    0,    0,    0,    0,    0,   39,    0,
793
        0,  341,  239,  341,  341,   74,   58,   77,   81,  341,
794
       90,   97,  284,  341,  341,  112,  120,  341,  125,  267,
795
      127,  341,  341,  341,  341,  341,  341,  145,  148,  341,
796
      341,  341,  341,  341,  341,  341,  341,  163,  341,  341,
797
      341,  341,  341,  341,  341,  341,  341,  286,  341,  341,
798
      341,  341,  341,  341,  252,  341,  191,  192,  341,  341,
799
      197,  341,  199,  202,  204,  341,  206,  341,  341,  341,
800

801
      233,   40,   35,   38,   45,   44,   37,    0,    0,   62,
802
      341,  341,  341,  341,  341,  341,  341,  341,  128,  341,
803
      341,  341,  341,  341,  149,  150,  154,  151,  341,  341,
804
      341,  158,  164,  341,  171,  168,  341,  341,  174,  341,
805
      287,  341,  341,  341,  341,  289,  307,  341,  193,  298,
806
      341,  205,  214,  341,  227,    0,    0,  341,   69,  341,
807
      341,  341,  102,  341,  341,  341,  341,  341,  139,  341,
808
      341,  341,  157,  341,  341,  173,  341,  341,  181,  182,
809
      183,  341,  341,  341,  341,    0,    0,  341,  341,  341,
810
      200,  105,  263,  130,  132,  134,  341,  341,  153,  341,
811

812
      170,  276,  288,  341,  341,  341,  341,    0,    0,  341,
813
      341,   82,  341,  341,  341,  341,  167,  189,  165,  341,
814
      226,    0,  323,   65,  341,  341,  341,  142,  166,  341,
815
      324,  341,  341,  341,  215,  180,  341,  341,  131,  133,
816
        0
817
    } ;
818

819
static const YY_CHAR yy_ec[256] =
820
    {   0,
821
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
822
        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
823
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
824
        1,    2,    5,    6,    7,    1,    1,    8,    9,   10,
825
       11,   12,   13,    1,   14,   15,   16,   17,   17,   18,
826
       17,   17,   17,   17,   17,   17,   17,    1,    1,   19,
827
       20,   21,    1,    1,   22,   23,   24,   25,   26,   27,
828
       28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
829
       38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
830
       48,   49,   50,    1,   51,   52,   53,   54,   55,   56,
831

832
       57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
833
       67,   68,   69,   70,   71,   72,   73,   74,   75,   76,
834
       77,   78,   79,   80,   81,   82,    1,    1,    1,    1,
835
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
836
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
837
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
838
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
839
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
840
        1,    1,    1,    1,    1,    1,   83,    1,    1,    1,
841
       84,    1,    1,    1,    1,    1,    1,    1,    1,    1,
842

843
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
844
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
845
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
846
        1,    1,    1,    1,    1,    1,    1,    1,   85,    1,
847
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
848
        1,    1,    1,    1,    1
849
    } ;
850

851
static const YY_CHAR yy_meta[87] =
852
    {   0,
853
        1,    1,    2,    1,    1,    3,    1,    1,    4,    1,
854
        1,    5,    1,    6,    6,    6,    6,    6,    1,    6,
855
        1,    6,    6,    6,    6,    6,    6,    6,    6,    6,
856
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
857
        6,    6,    6,    6,    6,    6,    6,    1,    7,    1,
858
        6,    1,    6,    6,    6,    6,    6,    6,    6,    6,
859
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
860
        6,    6,    6,    6,    6,    6,    6,    6,    1,    1,
861
        1,    1,    1,    1,    1,    1
862
    } ;
863

864
static const flex_int16_t yy_base[1766] =
865
    {   0,
866
        0,    0,   86,    0,  171,  172,  173,  177,  181,  182,
867
      226,    0, 1082, 3991,  185, 3991, 3991,    0, 1013,  173,
868
      296,  353,  310,  304,  353,  416,  359,  354,  421,  436,
869
      356,  467,  156,  290,  474,  473,  354,  483,  532,  275,
870
      533,  579,  585,  540,  374,  631,    0,  961,  907,  810,
871
     3991,  193, 3991,  194,  820,  732,  751,  700,  184,  314,
872
      611,  183,  188,  725,  424,  479,  521,  615,  280,  644,
873
      575,  284,  299,  628,  624,  636,  306,  637,  355,  343,
874
      367,  678,  157,  653,  687, 3991, 3991,  208,  687,  678,
875
        0,  411,  418,  475,    0, 3991,  666,  661,  473,  477,
876

877
      492,  484,  209,    0,  638,  616,  690,  704,    0,  706,
878
      201,  603, 3991,  763,  849,  720,  203,  531,  759,  525,
879
      649,  524,  645,  551,  686,    0,  685,  703,  687,  756,
880
      755,    0,  686,  690,    0,  727,  725,  758,  769,  771,
881
      754,  760,  766,  781,  769,  782,  836,  769,  771,  774,
882
      841,  851,  823,  852,  843,  833,  856,  855,  856,  853,
883
      845,  853,  897,    0,  897,  855,    0,    0,  900,  901,
884
      913,  859,  901,  910,  914,  931,  920,  934,  939,  940,
885
      922,  925,  926,  936,  940,  968,  969,  960,  967,  982,
886
      959,  958,  981,  971,  984, 1008,  992,  974, 1003,  993,
887

888
      989, 1003, 1014, 1025, 1011, 1039, 1025,    0,    0, 1033,
889
        0, 1037, 1026, 1034, 1044, 1047, 1031, 1047, 1035, 1037,
890
     1056,  534, 3991,  499,  493,  486, 3991,  487, 3991,  466,
891
     1087, 1099, 1093,  316, 1103,  451, 3991, 3991, 3991, 3991,
892
     1059, 1061, 1060, 1095, 1088, 1092, 1088, 1093, 1103, 1101,
893
     1090, 1100, 1095, 1099, 1101, 3991, 1110, 1095, 1104, 1097,
894
     3991, 1101, 3991, 1105, 1121, 1106, 1115, 1116, 1144, 1126,
895
     1138, 1140,  420, 1163, 1168, 1159, 3991,  415,  274, 3991,
896
     3991,  455, 3991,  444,    0, 3991, 3991, 3991,    0, 3991,
897
     1221, 1154, 1210, 1156, 1163, 1184,  722,  189,  207,  326,
898

899
      434, 1177, 1307, 1178,  627, 1393, 1479, 1226, 1178,  559,
900
      724, 1186, 1208, 1213, 1211, 1218, 1213, 1218, 1226, 1228,
901
     1230, 1222, 1213, 1231, 1218, 1219, 1222, 1238, 1223, 1224,
902
     1229, 1230, 1294,    0, 1277, 1280, 1305, 1288, 1302, 1307,
903
     1293, 1300,    0, 1301, 1299, 1313, 1307, 1300, 1301, 1310,
904
     1304, 1313, 1307, 1308, 1383, 1316,    0, 1320, 1349, 1367,
905
     1388, 1374, 1394, 1394, 1390,    0, 1393, 1393, 1397, 1383,
906
     1399, 1393, 1393, 1394, 1400, 1395, 1406, 1405, 1401, 1409,
907
     1411, 1396, 1444, 1456,    0, 1461, 1462, 1544, 1465, 1477,
908
     1476, 1478, 1598, 1479, 1465, 1469, 1482, 1469, 1485, 1478,
909

910
     1474,    0,  430, 1491, 1492, 1484, 1477, 1478, 1496, 1542,
911
     1494, 1488, 1533, 1540, 1508, 1582, 1517, 1545, 1537, 1557,
912
     1561, 1571, 1570, 1575, 1582, 1600, 1595, 1598, 1606, 1608,
913
     1597, 1607, 1610, 1607, 1619, 1602, 1613,    0, 1624, 1617,
914
     1616, 1614, 1632, 1622, 1642, 1653, 1645, 1660, 1657, 1659,
915
     1651, 1663, 1668, 1661, 1653,    0,    0, 1654,    0,    0,
916
     1659, 3991,  358,  522,  354,  573,  735,  799, 1683, 1715,
917
      849,  871, 1682, 1669, 1680, 1667, 1678, 1674, 1677, 1680,
918
     1703, 1700, 1696, 1719, 1702, 1704, 1711, 1721, 1708, 1724,
919
     1726, 1731, 1726, 1729, 3991, 1730, 1718, 1723, 1722, 1724,
920

921
     1722, 1740, 1739, 1740, 1738, 1729, 1732, 1749,  583, 1033,
922
     1744, 1750,    0, 1752, 1765, 1010, 3991,    0, 1773, 1774,
923
     1180, 1186, 1771, 1771, 1783, 1769, 1789,  327, 1784, 1773,
924
     1781, 1772, 1794, 1777, 1792,    0, 1793, 1798, 1788, 1782,
925
     1784, 1787, 1800, 1798, 1803, 1794, 1792, 1804, 1791, 1828,
926
     1829, 1828, 1841, 1822, 1844, 1832, 1846, 1838, 1851, 1849,
927
     1834,    0, 1851, 1852, 1851, 1844, 1841, 1856, 1857, 1862,
928
        0, 1846, 1847, 1859, 1850, 1854, 1863, 1867, 1853, 1869,
929
     1872, 1859, 1871, 1887, 1888, 1888,    0, 1904, 1897, 1903,
930
     1900, 1902, 1910, 1901, 1899, 1913,    0, 1906, 1918, 1917,
931

932
        0, 1905, 1909, 1916, 1924, 1925, 1917, 1927, 1911, 1962,
933
     1930, 1927, 1918, 1938, 1939, 1939, 1948, 1951, 1957, 1965,
934
     1970, 1971, 1963, 1976, 1973, 1971, 1963, 1973, 1972,    0,
935
     1977,    0, 1986, 1985, 1971, 1983, 1981, 1986, 1977, 1992,
936
     1999, 2014, 2008, 2026, 2021, 2011, 2015, 2027, 2016, 2030,
937
     2020, 2034, 2035, 2016, 2038, 2039, 2027, 2031, 2027, 2047,
938
     2040, 2040, 2033, 2050, 2050, 2053, 2042, 2054, 2048, 2051,
939
     2045, 2069, 2064, 2068, 2087, 2078, 2090, 2084,    0, 2089,
940
        0, 2094, 2083, 2083, 2089, 2084,    0, 2091, 2087, 2106,
941
     2089, 2091, 2107, 2109, 2100, 2108,    0, 3991, 1257, 1307,
942

943
     3991, 2103, 2113, 2114, 2112, 2121, 2106, 2119, 2138, 2129,
944
     2143, 2142, 2150, 2137, 2138, 2142, 2158, 2144, 2145, 2145,
945
     2145, 2148, 2149, 2156, 2165, 2158, 2151, 2154, 2165, 3991,
946
     2158, 2168, 2177, 1360, 2189, 3991, 2170,    0, 2171,    0,
947
        0, 2163,    0, 2182, 2172,    0, 2172, 2204,    0, 2215,
948
     2201, 2214, 2202, 2204, 2220,    0, 2219, 2218, 2221, 2210,
949
     2220, 2214, 2224, 2229, 2213, 2234,    0, 2225, 2219, 2221,
950
     2221,    0,    0, 2232,    0, 2223, 2226, 2242,    0, 2231,
951
     2248, 2249, 2270, 2255, 2274, 2263,    0, 2262, 2266,    0,
952
     2282, 2266,    0,    0, 2269, 2283, 2287, 2270, 2287,    0,
953

954
     2291, 2271,    0, 2282, 2294, 2270, 2296, 2294, 2334,    0,
955
     2287,    0, 2284, 2300, 2304, 2296, 2296, 2326, 2317, 2325,
956
     2345, 2333, 2329, 2336, 2346, 2352, 2328, 2353, 2343, 2353,
957
     2345, 2358, 2342,    0, 2337, 2360, 2340, 2346, 2365, 2352,
958
     2349, 2369, 2347, 2374, 2378, 2395,    0, 2386,    0, 2400,
959
     2393, 2386, 2388, 2394, 2390, 2406, 2398, 2393, 2413, 2397,
960
     2402, 2398, 2402, 2405, 2401, 2406, 2408, 2415, 2417, 2424,
961
     2418, 2409, 2426, 2425, 2423, 2435, 2456, 2450, 2456, 2447,
962
     2450, 2449,    0,    0, 2469, 2452, 2451, 2459, 2471, 2472,
963
     2464,    0, 2474, 2461, 2472, 2470,    0, 2482, 2484, 2473,
964

965
     2468,    0, 2487, 2484, 2484, 2469,    0,    0, 2477, 2510,
966
     2503, 2525, 2508, 2511,    0, 2526, 2514, 2515, 2528, 2526,
967
     2531, 2531, 2520, 2530, 2531, 2522, 3991, 2539, 2538, 2543,
968
     2544, 3991, 2528, 2545, 2541, 3991, 3991, 2549, 3991, 2542,
969
     2544, 2544, 2550, 3991, 2542, 1446, 2556, 2572, 2555, 2574,
970
     2573, 2571, 2583, 2579, 2575, 2584,    0, 2591,    0,    0,
971
     2578,    0, 2581, 2580, 2584, 2602, 2592,    0, 2596,    0,
972
     2586, 2589, 2595, 2590, 2596,    0, 2607, 2599, 2595, 2606,
973
        0, 2613, 2612,    0, 2609, 2606,    0, 2604,    0, 2617,
974
     2638, 2629, 2646,    0,    0, 2638, 2639, 2655, 2632, 2640,
975

976
        0, 2654, 2648, 2660, 2658, 2657, 2660, 2663, 2647, 2667,
977
     2654, 2651, 2671, 2668,    0,    0, 2668, 2659, 2667, 2658,
978
     2659, 2660, 2663, 2666, 2671, 2696, 2705, 2695, 2703, 2711,
979
     2714, 2703, 2700,    0, 2701,    0, 2706, 2704, 2705, 2706,
980
     2707, 2705, 2724, 2718, 2726, 2729, 2718, 2715, 2724, 2736,
981
        0,    0, 2733,  327, 2714, 2721, 2736, 2736, 2733, 2734,
982
     2736,    0,    0,    0,    0, 2757, 2760, 2760, 2758, 2773,
983
     2778, 2761, 2763, 2763, 2769, 2784, 2766, 2776, 2775,    0,
984
     2768, 2787, 2787, 2773, 2794, 2791, 2782, 2793, 2799, 2798,
985
        0,    0, 2791,    0,    0, 2781, 2784, 2784, 2787, 2806,
986

987
     2820, 2817, 2823, 2824, 2839, 2830, 2827, 2843, 2832, 2841,
988
     2827,    0,    0, 3991, 3991, 2836, 2825, 2837, 2833, 2828,
989
     2849, 2841, 2843, 3991, 2857, 2835, 2848, 2845, 2857, 2845,
990
     3991, 2848, 2859, 2847, 2855, 2853, 3991, 2877, 2893,  288,
991
        0, 2868, 2884, 2892, 2901, 2883, 2900, 2888, 2893, 2904,
992
     2895, 2907,    0, 2899, 2894, 2895, 2907,    0, 2910,    0,
993
     2907,    0, 2913, 2912, 2908, 2913,    0, 2905, 2924,    0,
994
     2911, 2914, 2919, 2918, 2925, 2938, 2929, 2937, 2948,    0,
995
     2954, 2951, 2959, 2961,    0, 2958, 2964, 2967, 2953, 2967,
996
     2950, 2961, 2959, 2962,    0, 2964, 2970,    0, 2972, 2981,
997

998
     2962, 2976, 2968, 2967, 2976, 2984,    0, 2981, 2981, 2988,
999
     2998, 2999,    0, 3002, 3014, 3001, 3014, 3007, 3021,    0,
1000
     3019, 3017, 3023, 3027, 3021,    0, 3021,    0, 3021, 3035,
1001
     3024, 3021,    0, 3040, 3037,    0, 3030,    0, 3026, 3042,
1002
     3023, 3040, 3041, 3033, 3036, 3050, 3060, 3063, 3068, 3068,
1003
     3065, 3076, 3069, 3074, 3079, 3087, 3078, 3085, 3075, 3076,
1004
     3093, 3096, 3095, 3094, 3098, 3092,    0, 3103, 3089, 3091,
1005
     3105, 3106,    0,    0, 3094, 3104, 3105, 3991, 3098, 3991,
1006
     3991, 3106, 3103, 3991, 3112, 3115, 3130, 3991, 3143, 3138,
1007
     3130, 3125, 3143, 3146, 3991, 3150, 3144, 3991,    0, 3148,
1008

1009
     3143, 3141, 3147, 3149,    0, 3145, 3146, 3144, 3154, 3161,
1010
     3164, 3166, 3157, 3169, 3154,    0, 3161, 3168,    0, 3180,
1011
     3169, 3177, 3182, 3199,    0, 3193, 3204, 3202, 3206,    0,
1012
     3211, 3195, 3201,    0, 3203, 3200, 3211, 3207, 3209, 3204,
1013
     3205, 3204, 3208, 3214, 3203, 3204, 3217, 3215, 3230, 3214,
1014
     3229, 3237, 3240, 3225, 3251,    0,    0,    0, 3233, 3249,
1015
     3248, 3266, 3249, 3268, 3251, 3273,    0,    0, 3263, 3276,
1016
     3265, 3279, 3266, 3273, 3266,    0, 3278, 3267,    0, 3270,
1017
     3276,    0, 3275, 3276, 3279,    0, 3280, 3293, 3291, 3278,
1018
     3280,    0, 3285,    0, 3291, 3304,    0, 3302, 3295, 3317,
1019

1020
     3309, 3319, 3332, 3314,    0,    0, 3311,    0, 3331, 3325,
1021
     3334,    0,    0,    0, 3326, 3328, 3991, 3340, 3991, 3991,
1022
     3991, 3318, 3326, 3331, 3991, 3332, 3348, 3991, 3339, 3342,
1023
     3336, 3339,    0, 3351,    0, 3344,    0, 3342,    0, 3355,
1024
     3343,    0, 3348,    0, 3356, 3369,    0, 3374, 3384, 3385,
1025
     3389,    0, 3378,    0,    0,    0, 3381,    0, 3379, 3392,
1026
     3381, 3396, 3401,    0, 3400, 3401, 3396, 3393, 3407, 3404,
1027
     3405, 3408, 3407, 3393, 3414,    0, 3400, 3412, 3410, 3400,
1028
     3417, 3420, 3419, 3418, 3444, 3444, 3443, 3436, 3448, 3444,
1029
     3454, 3440, 3449, 3458, 3450, 3459, 3460, 3454, 3464, 3461,
1030

1031
     3456, 3470,    0, 3467,    0, 3458, 3454, 3461, 3464, 3464,
1032
     3464, 3476,    0,    0,    0, 3470,    0,    0, 3463,    0,
1033
     3471, 3472, 3495, 3502, 3506, 3495, 3498, 3499, 3991, 3508,
1034
     3503, 3501,    0, 3520, 3523,    0,    0,    0, 3510, 3517,
1035
        0,    0,    0, 3512, 3513,    0,    0, 3520,    0,    0,
1036
        0, 3513, 3533, 3534, 3518, 3538, 3516,    0,    0, 3536,
1037
     3524, 3536, 3534, 3546, 3534, 3558, 3558,    0, 3563, 3550,
1038
     3565, 3564, 3566, 3577, 3577, 3571, 3559,    0, 3576, 3571,
1039
     3567, 3587, 3570, 3570,    0, 3590,    0,    0, 3572, 3583,
1040
        0, 3595,    0,    0,    0, 3579,    0, 3593, 3587, 3582,
1041

1042
        0, 3991, 3991, 3991, 3991, 3991, 3991, 3605, 3596,    0,
1043
     3591, 3588, 3593, 3585, 3615, 3617, 3617, 3618,    0, 3630,
1044
     3631, 3639, 3625, 3627,    0,    0,    0,    0, 3633, 3633,
1045
     3644,    0,    0, 3641,    0,    0, 3636, 3647,    0, 3648,
1046
        0, 3653, 3638, 3649, 3638,    0,    0, 3656,    0,    0,
1047
     3646,    0, 3659, 3655,    0, 3663, 3639, 3655,    0, 3650,
1048
     3655, 3672,    0, 3680, 3672, 3694, 3695, 3685,    0, 3696,
1049
     3699, 3694,    0, 3682, 3696,    0, 3691, 3699,    0,    0,
1050
        0, 3704, 3710, 3709, 3695, 3690, 3720, 3705, 3712, 3717,
1051
        0,    0,    0, 3719, 3722,    0, 3701, 3717,    0, 3727,
1052

1053
        0,    0,    0, 3728, 3729, 3734, 3731, 3754,  285, 3737,
1054
     3746,    0, 3757, 3761, 3762, 3763,    0,    0,    0, 3754,
1055
        0,  273, 3991,    0, 3756, 3757, 3758,    0,    0, 3760,
1056
     3991, 3755, 3760, 3761,    0,    0, 3764, 3765,    0,    0,
1057
     3991, 3830, 3837, 3844, 3851, 3858,  309, 3865, 3872, 3879,
1058
     3886, 3893, 3900, 3907, 3914, 3920, 3927, 3934, 3941, 3948,
1059
     3955, 3962, 3969, 3976, 3983
1060
    } ;
1061

1062
static const flex_int16_t yy_def[1766] =
1063
    {   0,
1064
     1741,    1, 1741,    3, 1742, 1742, 1743, 1743, 1744, 1744,
1065
     1741,   11, 1741, 1741, 1741, 1741, 1741, 1745, 1746, 1741,
1066
     1747, 1748, 1741, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1067
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1068
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1749, 1750, 1741,
1069
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1070
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1071
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1072
     1741, 1751, 1752, 1741, 1741, 1741, 1741, 1741, 1753, 1754,
1073
     1755, 1741, 1741, 1741, 1756, 1741, 1741, 1747, 1747, 1747,
1074

1075
     1747, 1747, 1741, 1745, 1746, 1746, 1741, 1741, 1747, 1747,
1076
     1747, 1757, 1741, 1758, 1759, 1741, 1741, 1747, 1747, 1747,
1077
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1078
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1079
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1080
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1081
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1082
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1083
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1084
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1085

1086
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1087
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1088
     1747, 1749, 1741, 1750, 1750, 1741, 1741, 1760, 1741, 1761,
1089
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1090
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1091
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1092
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1093
     1741, 1741, 1751, 1751, 1751, 1751, 1741, 1752, 1762, 1741,
1094
     1741, 1753, 1741, 1754, 1755, 1741, 1741, 1741, 1756, 1741,
1095
     1763, 1747, 1747, 1747, 1747, 1741, 1741, 1741, 1747, 1747,
1096

1097
     1757, 1741, 1758, 1747, 1764, 1759, 1763, 1741, 1741, 1741,
1098
     1741, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1099
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1100
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1101
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1102
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1103
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1104
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1105
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1106
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1107

1108
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1109
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1110
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1111
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1112
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1113
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1114
     1747, 1741, 1760, 1760, 1761, 1761, 1741, 1741, 1741, 1741,
1115
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1116
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1117
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1118

1119
     1741, 1741, 1741, 1741, 1741, 1751, 1751, 1751, 1762, 1762,
1120
      307, 1747, 1747, 1747, 1747, 1741, 1741, 1747, 1765,  307,
1121
     1741, 1741, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1122
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1123
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1124
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1125
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1126
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1127
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1128
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1129

1130
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1131
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1132
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1133
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1134
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1135
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1136
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1137
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1138
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1139
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1741, 1741, 1741,
1140

1141
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1142
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1143
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1144
     1741, 1741, 1751, 1751, 1751, 1741, 1747, 1747, 1747, 1765,
1145
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1146
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1147
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1148
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1149
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1150
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1151

1152
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1153
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1154
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1155
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1156
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1157
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1158
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1159
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1160
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1161
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1162

1163
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1164
     1747, 1747, 1747, 1747, 1747, 1741, 1741, 1741, 1741, 1741,
1165
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1166
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1167
     1741, 1741, 1741, 1741, 1741, 1751, 1751, 1751, 1747, 1747,
1168
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1169
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1170
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1171
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1172
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1173

1174
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1175
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1176
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1177
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1178
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1179
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1180
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1181
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1182
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1183
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1184

1185
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1186
     1747, 1747, 1747, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1187
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1188
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1751, 1751, 1751,
1189
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1190
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1191
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1192
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1193
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1194
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1195

1196
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1197
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1198
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1199
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1200
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1201
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1202
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1203
     1747, 1747, 1747, 1747, 1747, 1747, 1741, 1741, 1741, 1741,
1204
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1205
     1741, 1741, 1741, 1741, 1741, 1751, 1751, 1741, 1747, 1747,
1206

1207
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1208
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1209
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1210
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1211
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1212
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1213
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1214
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1215
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1216
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1217

1218
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1219
     1747, 1747, 1747, 1747, 1747, 1741, 1741, 1741, 1741, 1741,
1220
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1751, 1751,
1221
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1222
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1223
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1224
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1225
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1226
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1227
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1228

1229
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1230
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1231
     1747, 1747, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1751,
1232
     1751, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1233
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1234
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1235
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1236
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1237
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1238
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1239

1240
     1747, 1741, 1741, 1741, 1741, 1741, 1741, 1751, 1751, 1747,
1241
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1242
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1243
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1244
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1245
     1747, 1747, 1747, 1747, 1747, 1751, 1751, 1747, 1747, 1747,
1246
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1247
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1248
     1747, 1747, 1747, 1747, 1747, 1751, 1751, 1747, 1747, 1747,
1249
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1250

1251
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1751, 1751, 1747,
1252
     1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1253
     1747, 1751, 1741, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1254
     1741, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
1255
        0, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1256
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1257
     1741, 1741, 1741, 1741, 1741
1258
    } ;
1259

1260
static const flex_int16_t yy_nxt[4078] =
1261
    {   0,
1262
       14,   15,   16,   15,   14,   17,   18,   14,   17,   19,
1263
       14,   14,   14,   20,   21,   22,   23,   23,   14,   14,
1264
       14,   24,   25,   26,   27,   28,   29,   30,   31,   32,
1265
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1266
       43,   44,   45,   46,   47,   47,   47,   48,   14,   14,
1267
       14,   14,   24,   25,   26,   27,   28,   29,   30,   31,
1268
       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
1269
       42,   43,   44,   45,   46,   47,   47,   47,   49,   14,
1270
       14,   14,   14,   14,   50,   14,   51,   52,   53,   54,
1271
       55,   56,   51,   57,   58,   51,   51,   51,   51,   59,
1272

1273
       60,   51,   61,   61,   62,   63,   64,   65,   66,   67,
1274
       68,   69,   70,   71,   51,   72,   73,   51,   74,   51,
1275
       75,   76,   51,   51,   77,   78,   79,   80,   51,   81,
1276
       51,   51,   51,   82,   51,   51,   51,   83,   65,   66,
1277
       67,   68,   69,   70,   71,   51,   72,   73,   51,   74,
1278
       51,   75,   76,   51,   51,   77,   78,   79,   80,   51,
1279
       81,   51,   51,   51,   51,   84,   51,   85,   51,   51,
1280
       51,   86,   88,   88,   88,   88,   89,   89,   92,   90,
1281
       90,   93,   92,   96,   96,   93,  103,  107,  103,  108,
1282
      108,  160,   97,   97,  103,  103,  103,  103,  231,  238,
1283

1284
      232,  232,  237,  227,  279,  516,  516,  239,  280,  103,
1285
      103,  103,  103,  298,  299,  310,  310,  300,  300,  311,
1286
      311,   94,  160,  300,  300,   94,   14,   15,   16,   15,
1287
       14,   17,   18,   14,   17,   14,   14,   14,   14,   14,
1288
       47,   98,   14,   14,   14,   14,   14,   47,   47,   99,
1289
       47,  100,   47,   47,   47,   47,   47,   47,   47,  101,
1290
       47,   47,  102,   47,   47,   47,   47,   47,   47,   47,
1291
       47,   47,   47,   14,   14,   14,   14,   14,   47,   47,
1292
       99,   47,  100,   47,   47,   47,   47,   47,   47,   47,
1293
      101,   47,   47,  102,   47,   47,   47,   47,   47,   47,
1294

1295
       47,   47,   47,   47,   14,   14,   14,   14,   14,   14,
1296
       14,   14,  110,  110,  109,  161,  188,  251,  257,  162,
1297
      258,  111, 1731,  510,  116,  280,  108,  108,  467,  467,
1298
      233,  233,  468,  468, 1723,  117,  118, 1298,  119,  234,
1299
     1227,  266,  300,  300,  746,  120,  161,  188,  251,  257,
1300
      162,  258,  111,  112,  112,  112,  112,  112,  112,  112,
1301
      112,  112,  112,  112,  113,  112,  117,  118,  115,  119,
1302
      234,  112,  266,  112,  121,  174,  120,  153,  122,  271,
1303
      134,  154,  123,  135,  136,  155,  138,  139,  140,  175,
1304
      269,  124,  141,  270,  125,  214,  272,  137,  142,  215,
1305

1306
      112,  112,  112,  466,  112,  121,  174,  464,  153,  122,
1307
      271,  134,  154,  123,  135,  136,  155,  138,  139,  140,
1308
      175,  269,  124,  141,  270,  125,  214,  272,  137,  142,
1309
      215,  112,  112,  112,  112,  112,  112,  112,  112,  126,
1310
      286,  127,  143,  635,  128,  129,  144,  287,  130,  302,
1311
      145,  131,  283,  146,  132,  133,  147,  149,  241,  148,
1312
      283,  150,  242,  471,  471,  151,  280,  472,  472,  277,
1313
      126,  286,  127,  143,  152,  128,  129,  144,  287,  130,
1314
      288,  145,  131,  288,  146,  132,  133,  147,  149,  241,
1315
      148,  156,  150,  242,  169,  163,  151,  164,  170,  165,
1316

1317
      157,  158,  171,  166,  243,  152,  167,  159,  292,  176,
1318
      177,  293,  168,  294,  172,  466,  295,  178,  173,  179,
1319
      244,  180,  156,  288,  181,  169,  163,  698,  164,  170,
1320
      165,  157,  158,  171,  166,  243,  464,  167,  159,  292,
1321
      176,  177,  293,  168,  294,  172,  245,  295,  178,  173,
1322
      179,  244,  180,  182,  189,  181,  246,  183,  190,  247,
1323
      312,  184,  191,  208,  185,  317,  320,  186,  192,  462,
1324
      187,  464,  209,  225,  210,  311,  311,  245,  211,  225,
1325
      212,  698,  213,  223,  182,  189,  323,  246,  183,  190,
1326
      247,  312,  184,  191,  208,  185,  317,  320,  186,  192,
1327

1328
      255,  187,  193,  209,  194,  210,  202,  195,  196,  211,
1329
      203,  212,  197,  213,  204,  256,  198,  323,  302,  199,
1330
      205,  200,  466,  206,  201,  235,  106,  232,  232,  301,
1331
      207,  255,  510,  193,  280,  194,  236,  202,  195,  196,
1332
      248,  203,  519,  197,  249,  204,  256,  198,  106,  227,
1333
      199,  205,  200,  259,  206,  201,  216,  217,  250,  262,
1334
      218,  207,  219,  260,  220,  252,  267,  236,  261,  221,
1335
      268,  248,  318,  253,  263,  249,  291,  264,  265,  321,
1336
      227,  290,  254,  319,  259,  322,  283,  216,  217,  250,
1337
      262,  218,  283,  219,  260,  220,  252,  267,  281,  261,
1338

1339
      221,  268,  274,  318,  253,  263,  296,  296,  264,  265,
1340
      321,  275,  324,  254,  319,  297,  322,  276,  116,  326,
1341
      108,  108,  110,  110,  327,  328,  325,  277,  334,  117,
1342
      335,  111,  263,  274,  298,  298,  308,  308,  516,  516,
1343
      311,  311,  275,  324,  240,  309,  297,  230,  276,  336,
1344
      326,  468,  468,  337,  338,  327,  328,  325,  229,  334,
1345
      117,  335,  111,  301,  301,  301,  301,  301,  301,  301,
1346
      301,  301,  301,  301,  301,  301,  309,  329,  304,  228,
1347
      336,  301,  313,  301,  337,  338,  314,  331,  332,  333,
1348
      339,  340,  344,  315,  342,  343,  345,  330,  347,  316,
1349

1350
      346,  350,  348,  351,  356,  341,  349,  357,  329,  358,
1351
      301,  301,  301,  313,  301,  468,  468,  314,  331,  332,
1352
      333,  339,  340,  344,  315,  342,  343,  345,  330,  347,
1353
      316,  346,  350,  348,  351,  356,  341,  349,  357,  227,
1354
      358,  301,  301,  301,  301,  301,  301,  301,  301,  305,
1355
      305,  301,  305,  305,  305,  305,  305,  305,  305,  305,
1356
      305,  305,  359,  363,  307,  472,  472,  305,  352,  305,
1357
      353,  354,  360,  364,  355,  365,  366,  367,  368,  369,
1358
      361,  372,  373,  374,  370,  376,  362,  472,  472,  384,
1359
      375,  395,  226,  359,  363,  371,  305,  305,  305,  352,
1360

1361
      305,  353,  354,  360,  364,  355,  365,  366,  367,  368,
1362
      369,  361,  372,  373,  374,  370,  376,  362,  381,  377,
1363
      384,  375,  395,  382,  383,  389,  371,  305,  305,  305,
1364
      305,  305,  305,  305,  305,  378,  385,  379,  386,  387,
1365
      396,  390,  380,  397,  388,  391,  392,  393,  399,  381,
1366
      377,  398,  400,  394,  382,  383,  389,  401,  402,  403,
1367
      404,  405,  406,  407,  409,  408,  378,  385,  379,  386,
1368
      387,  396,  390,  380,  397,  388,  391,  392,  393,  399,
1369
      410,  411,  398,  400,  394,  417,  426,  225,  401,  402,
1370
      403,  404,  405,  406,  407,  409,  408,  412,  415,  427,
1371

1372
      413,  418,  428,  429,  416,  430,  419,  414,  420,  421,
1373
      223,  410,  411,  434,  422,  435,  417,  426,  423,  424,
1374
      438,  425,  439,  106,  436,  440,  516,  516,  412,  415,
1375
      427,  413,  418,  428,  429,  416,  430,  419,  414,  420,
1376
      421,  431,  432,  446,  434,  422,  435,  441,  437,  423,
1377
      424,  438,  425,  439,  433,  436,  440,  443,  442,  444,
1378
      447,  450,  451,  452,  453,  445,  454,  455,  448,  456,
1379
      457,  458,  431,  432,  446,  459,  460,  461,  441,  437,
1380
      449, 1741,  510,  229,  736,  433,  473, 1741,  443,  442,
1381
      444,  447,  450,  451,  452,  453,  445,  454,  455,  448,
1382

1383
      456,  457,  458,  233,  233,  474,  459,  460,  461,  233,
1384
      233,  449,  234,  235,  229,  232,  232,  473,  234,  469,
1385
      469,  475,  476,  479,  236,  477,  478,  480,  470,  481,
1386
      483,  484,  485,  486,  487,  488,  474,  492,  493,  489,
1387
      494,  495,  482,  234,  490,  496,  497,  498,  499,  234,
1388
      491,  500,  475,  476,  479,  236,  477,  478,  480,  470,
1389
      481,  483,  484,  485,  486,  487,  488,  503,  492,  493,
1390
      489,  494,  495,  482,  504,  490,  496,  497,  498,  499,
1391
      505,  491,  500,  501,  506,  502, 1741,  508,  512,  507,
1392
      521,  521,  514, 1741,  522,  522,  522,  522,  503, 1741,
1393

1394
      296,  296,  522,  522,  515,  504,  517,  518,  277,  297,
1395
     1741,  505,  277,  523,  501,  506,  502,  277,  508,  512,
1396
      507,  104,  104,  514,  104,  104,  104,  104,  104,  104,
1397
      104,  104,  104,  104,  343,  515,  524,  517,  518,  104,
1398
      297,  104,  308,  308,  523,  525,  526,  527,  528,  529,
1399
      530,  309,  513,  531,  532,  533,  534,  535,  536,  537,
1400
      538,  539,  540,  541,  542,  343,  543,  524,  104,  104,
1401
      104, 1741,  104,  700,  700, 1741,  525,  526,  527,  528,
1402
      529,  530,  309,  513,  531,  532,  533,  534,  535,  536,
1403
      537,  538,  539,  540,  541,  542, 1741,  543,  547,  104,
1404

1405
      104,  104,  104,  104,  104,  104,  104,  301,  301,  301,
1406
      301,  301,  301,  301,  301,  301,  301,  301,  301,  301,
1407
      544,  548,  304,  700,  700,  301,  549,  301,  545,  547,
1408
      551,  552,  553,  554,  546,  555,  556,  557,  558,  559,
1409
      561,  562,  563,  550,  565,  566,  560,  567,  568,  571,
1410
      564,  544,  548,  572,  301,  301,  301,  549,  301,  545,
1411
     1741,  551,  552,  553,  554,  546,  555,  556,  557,  558,
1412
      559,  561,  562,  563,  550,  565,  566,  560,  567,  568,
1413
      571,  564, 1741,  573,  572,  301,  301,  301,  301,  301,
1414
      301,  301,  301,  305,  305,  301,  305,  305,  305,  305,
1415

1416
      305,  305,  305,  305,  305,  305,  569,  574,  307,  277,
1417
      947,  305,  575,  305,  573,  576,  570,  577,  578,  579,
1418
      580,  581,  583,  584,  585,  582,  586,  587,  588,  589,
1419
      591,  592,  593,  594,  595,  596,  597,  569,  574,  590,
1420
      305,  305,  305,  575,  305, 1741,  576,  570,  577,  578,
1421
      579,  580,  581,  583,  584,  585,  582,  586,  587,  588,
1422
      589,  591,  592,  593,  594,  595,  596,  597, 1741,  598,
1423
      590,  305,  305,  305,  305,  305,  305,  305,  305,  104,
1424
      104,  599,  104,  104,  104,  104,  104,  104,  104,  104,
1425
      104,  104,  600,  601,  613,  277, 1138,  104,  614,  104,
1426

1427
      598,  616,  615,  617,  627,  628,  629,  630,  520,  631,
1428
      632,  633,  599,  634,  636,  637,  638,  640,  641,  642,
1429
      639,  645,  646,  600,  601,  613,  104,  104,  104,  614,
1430
      104, 1741,  616,  615,  617,  627,  628,  629,  630,  520,
1431
      631,  632,  633,  651,  634,  636,  637,  638,  640,  641,
1432
      642,  639,  645,  646,  647,  654, 1741,  104,  104,  104,
1433
      104,  104,  104,  104,  104,  602,  603,  643,  604,  649,
1434
      605,  606,  655,  607,  651,  644,  608,  656,  648,  609,
1435
      650, 1741,  657,  610,  611,  647,  654,  612, 1741, 1741,
1436
      658, 1741,  659, 1741, 1741,  660,  602,  603,  643,  604,
1437

1438
      649,  605,  606,  655,  607,  652,  644,  608,  656,  648,
1439
      609,  650,  653,  657,  610,  611,  661,  662,  612,  618,
1440
      619,  658,  620,  659,  621,  622,  660,  623,  663,  664,
1441
      665,  666,  667,  669,  670,  671,  652,  624,  625,  672,
1442
      673,  626,  674,  653,  668,  675,  676,  661,  662,  677,
1443
      618,  619,  678,  620,  679,  621,  622,  680,  623,  663,
1444
      664,  665,  666,  667,  669,  670,  671,  681,  624,  625,
1445
      672,  673,  626,  674,  682,  668,  675,  676,  683,  684,
1446
      677,  685,  686,  678,  687,  679,  688,  690,  680,  692,
1447
      693,  689,  691,  695,  696,  697, 1741, 1741,  681,  469,
1448

1449
      469, 1741,  694,  701,  702,  682,  703,  704,  470,  683,
1450
      684,  705,  685,  686,  706,  687,  707,  688,  690,  708,
1451
      692,  693,  689,  691,  695,  696,  697,  699,  699,  709,
1452
      710,  700,  700,  694,  701,  702,  711,  703,  704,  470,
1453
      712,  713,  705,  714,  715,  706,  716,  707,  717,  718,
1454
      708,  719,  720,  721,  722,  723,  724,  725,  726,  727,
1455
      709,  710,  728,  729,  730,  731,  732,  711,  734,  733,
1456
      735,  712,  713,  511,  714,  715,  737,  716,  277,  717,
1457
      718,  277,  719,  720,  721,  722,  723,  724,  725,  726,
1458
      727,  738,  739,  728,  729,  730,  731,  732,  277,  734,
1459

1460
      733,  735,  740,  511,  511,  741,  742,  737,  743,  744,
1461
      745,  747,  748,  749,  750,  751,  752,  753,  754,  755,
1462
      757,  758,  738,  739,  759,  760,  761,  763,  764,  765,
1463
      766,  767,  768,  740,  511,  762,  741,  742,  756,  743,
1464
      744,  745,  747,  748,  749,  750,  751,  752,  753,  754,
1465
      755,  757,  758,  769,  770,  759,  760,  761,  763,  764,
1466
      765,  766,  767,  768,  771,  772,  762,  773,  774,  756,
1467
      775,  776,  777,  778,  779,  780,  781,  782,  783,  784,
1468
      785,  786,  787,  788,  769,  770,  789,  790,  791,  792,
1469
      793,  794,  795,  796,  797,  771,  772,  798,  773,  774,
1470

1471
      799,  775,  776,  777,  778,  779,  780,  781,  782,  783,
1472
      784,  785,  786,  787,  788,  800,  801,  789,  790,  791,
1473
      792,  793,  794,  795,  796,  797,  802,  803,  798,  804,
1474
      805,  799,  806,  808,  809,  810,  811,  812,  813,  807,
1475
      814,  815,  817,  818,  819,  820,  800,  801,  816,  821,
1476
      822,  823,  824,  825, 1741,  829,  830,  802,  803,  831,
1477
      804,  805,  832,  806,  808,  809,  810,  811,  812,  813,
1478
      807,  814,  815,  817,  818,  819,  820,  833,  834,  816,
1479
      821,  822,  823,  824,  825,  826,  829,  830,  835,  836,
1480
      831,  827,  837,  832,  838,  839,  840,  841,  845,  842,
1481

1482
      846,  847,  848,  828,  849,  843,  850,  851,  833,  834,
1483
      852,  854,  855,  856,  853,  857,  826,  844,  858,  835,
1484
      836,  859,  827,  837,  860,  838,  839,  840,  841,  845,
1485
      842,  846,  847,  848,  828,  849,  843,  850,  851,  861,
1486
      862,  852,  854,  855,  856,  853,  857,  863,  844,  858,
1487
      864,  865,  859,  866,  867,  860,  868,  869,  871,  872,
1488
      873,  874,  870,  875,  876,  877,  878,  879,  880,  881,
1489
      861,  862,  882,  883,  884,  885,  886,  887,  863,  888,
1490
      889,  864,  865,  890,  866,  867,  891,  868,  869,  871,
1491
      872,  873,  874,  870,  875,  876,  877,  878,  879,  880,
1492

1493
      881,  892,  893,  882,  883,  884,  885,  886,  887,  894,
1494
      888,  889,  895,  896,  890,  897,  898,  891,  900,  902,
1495
      899,  903,  904,  905,  906,  907,  908,  909,  901,  910,
1496
      911,  912,  892,  893,  913,  914,  915,  916,  917,  918,
1497
      894,  919,  920,  895,  896,  921,  897,  898,  922,  900,
1498
      902,  899,  903,  904,  905,  906,  907,  908,  909,  901,
1499
      910,  911,  912,  923,  924,  913,  914,  915,  916,  917,
1500
      918,  925,  919,  920,  926,  927,  921,  928,  929,  922,
1501
      930,  931,  932,  933,  934,  935,  936,  937,  938,  939,
1502
      940,  941,  942,  943,  923,  924,  944,  945,  946,  949,
1503

1504
      950,  951,  925,  952,  953,  926,  927, 1741,  928,  929,
1505
      954,  930,  931,  932,  933,  934,  935,  936,  937,  938,
1506
      939,  940,  941,  942,  943,  948,  277,  944,  945,  946,
1507
      949,  950,  951,  955,  952,  953,  956,  957,  277,  958,
1508
      959,  954,  960,  961,  962,  963,  965,  964,  966,  967,
1509
      968,  970,  971,  969,  972,  973,  948,  974,  975,  976,
1510
      977,  978,  979,  982,  955,  980,  981,  956,  957,  983,
1511
      958,  959,  984,  960,  961,  962,  963,  965,  964,  966,
1512
      967,  968,  970,  971,  969,  972,  973,  985,  974,  975,
1513
      976,  977,  978,  979,  982,  986,  980,  981,  987,  988,
1514

1515
      983,  989,  990,  984,  991,  992,  993,  994,  995, 1001,
1516
      996, 1002, 1003, 1004, 1005, 1006, 1007, 1008,  985, 1009,
1517
      997, 1015, 1016,  998, 1017, 1018,  986,  999, 1000,  987,
1518
      988, 1019,  989,  990, 1020,  991,  992,  993,  994,  995,
1519
     1001,  996, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1021,
1520
     1009,  997, 1015, 1016,  998, 1017, 1018, 1010,  999, 1000,
1521
     1011, 1022, 1019, 1012, 1023, 1020, 1024, 1013, 1025, 1026,
1522
     1027, 1028, 1014, 1029, 1030, 1031, 1032, 1033, 1034, 1035,
1523
     1021, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1010, 1043,
1524
     1044, 1011, 1022, 1045, 1012, 1023, 1046, 1024, 1013, 1025,
1525

1526
     1026, 1027, 1028, 1014, 1029, 1030, 1031, 1032, 1033, 1034,
1527
     1035, 1047, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1048,
1528
     1043, 1044, 1049, 1050, 1045, 1051, 1052, 1046, 1053, 1054,
1529
     1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
1530
     1065, 1066, 1047, 1067, 1068, 1071, 1069, 1072, 1073, 1074,
1531
     1048, 1075, 1077, 1049, 1050, 1070, 1051, 1052, 1076, 1053,
1532
     1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
1533
     1064, 1065, 1066, 1078, 1067, 1068, 1071, 1069, 1072, 1073,
1534
     1074, 1079, 1075, 1077, 1080, 1081, 1070, 1082, 1083, 1076,
1535
     1084, 1085, 1088, 1086, 1089, 1090, 1091, 1092, 1093, 1094,
1536

1537
     1095, 1096, 1097, 1098, 1078, 1099, 1102, 1100, 1103, 1087,
1538
     1104, 1106, 1079, 1101, 1107, 1080, 1081, 1108, 1082, 1083,
1539
     1105, 1084, 1085, 1088, 1086, 1089, 1090, 1091, 1092, 1093,
1540
     1094, 1095, 1096, 1097, 1098, 1109, 1099, 1102, 1100, 1103,
1541
     1087, 1104, 1106, 1110, 1101, 1107, 1111, 1112, 1108, 1113,
1542
     1114, 1105, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
1543
     1123, 1124, 1125, 1126, 1127, 1128, 1109, 1129, 1130, 1131,
1544
     1132, 1133, 1134, 1135, 1110, 1136, 1137, 1111, 1112, 1139,
1545
     1113, 1114, 1141, 1115, 1116, 1117, 1118, 1119, 1120, 1121,
1546
     1122, 1123, 1124, 1125, 1126, 1127, 1128, 1140, 1129, 1130,
1547

1548
     1131, 1132, 1133, 1134, 1135,  277, 1136, 1137, 1142, 1143,
1549
     1139, 1144, 1145, 1141, 1146, 1147, 1148, 1149, 1150, 1151,
1550
     1152,  277, 1153, 1154, 1155, 1156, 1157, 1158, 1140, 1159,
1551
     1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1142,
1552
     1143, 1169, 1144, 1145, 1170, 1146, 1147, 1148, 1149, 1150,
1553
     1151, 1152, 1171, 1153, 1154, 1155, 1156, 1157, 1158, 1172,
1554
     1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168,
1555
     1173, 1174, 1169, 1175, 1176, 1170, 1177, 1178, 1179, 1180,
1556
     1181, 1182, 1183, 1171, 1184, 1185, 1186, 1187, 1188, 1189,
1557
     1172, 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
1558

1559
     1192, 1173, 1174, 1200, 1175, 1176, 1201, 1177, 1178, 1179,
1560
     1180, 1181, 1182, 1183, 1202, 1184, 1185, 1186, 1187, 1188,
1561
     1189, 1203, 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1198,
1562
     1199, 1192, 1204, 1205, 1200, 1206, 1207, 1201, 1208, 1209,
1563
     1210, 1211, 1212, 1213, 1214, 1202, 1215, 1216, 1217, 1218,
1564
     1219, 1220, 1203, 1221, 1222, 1223, 1224, 1225, 1226, 1228,
1565
     1229, 1230, 1231, 1204, 1205, 1232, 1206, 1207, 1233, 1208,
1566
     1209, 1210, 1211, 1212, 1213, 1214, 1234, 1215, 1216, 1217,
1567
     1218, 1219, 1220, 1235, 1221, 1222, 1223, 1224, 1225, 1226,
1568
     1228, 1229, 1230, 1231, 1236, 1237, 1232, 1238, 1239, 1233,
1569

1570
     1240, 1241, 1242, 1243, 1244, 1245, 1246, 1234, 1247, 1248,
1571
     1249, 1250, 1251, 1252, 1235, 1253, 1254, 1255, 1256, 1259,
1572
     1260, 1261, 1257, 1262, 1263, 1236, 1237, 1264, 1238, 1239,
1573
     1265, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1258, 1247,
1574
     1248, 1249, 1250, 1251, 1252, 1266, 1253, 1254, 1255, 1256,
1575
     1259, 1260, 1261, 1257, 1262, 1263, 1267, 1268, 1264, 1269,
1576
     1270, 1265, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1258,
1577
     1278, 1279, 1280, 1281, 1282, 1283, 1266, 1284, 1285, 1286,
1578
     1287, 1288, 1289, 1290, 1291, 1292, 1293, 1267, 1268, 1294,
1579
     1269, 1270, 1295, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
1580

1581
     1296, 1278, 1279, 1280, 1281, 1282, 1283, 1299, 1284, 1285,
1582
     1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1297, 1300,
1583
     1294, 1301, 1302, 1295, 1303, 1304,  277, 1305, 1306, 1307,
1584
     1308, 1296, 1309, 1310, 1311, 1312, 1313, 1314, 1299, 1315,
1585
     1316, 1317,  277, 1318, 1319, 1320, 1321, 1322, 1323, 1297,
1586
     1300, 1324, 1301, 1302, 1325, 1303, 1304, 1326, 1305, 1306,
1587
     1307, 1308, 1327, 1309, 1310, 1311, 1312, 1313, 1314, 1328,
1588
     1315, 1316, 1317, 1329, 1318, 1319, 1320, 1321, 1322, 1323,
1589
     1330, 1331, 1324, 1332, 1333, 1325, 1334, 1335, 1326, 1336,
1590
     1337, 1338, 1339, 1327, 1340, 1341, 1342, 1343, 1344, 1345,
1591

1592
     1328, 1346, 1347, 1348, 1329, 1349, 1350, 1351, 1352, 1353,
1593
     1354, 1330, 1331, 1355, 1332, 1333, 1356, 1334, 1335, 1357,
1594
     1336, 1337, 1338, 1339, 1358, 1340, 1341, 1342, 1343, 1344,
1595
     1345, 1359, 1346, 1347, 1348, 1360, 1349, 1350, 1351, 1352,
1596
     1353, 1354, 1361, 1362, 1355, 1363, 1364, 1356, 1365, 1366,
1597
     1357, 1367, 1368, 1369, 1370, 1358, 1371, 1372, 1373, 1375,
1598
     1376, 1377, 1359, 1378, 1379, 1380, 1360, 1381, 1382, 1383,
1599
     1384, 1385, 1386, 1361, 1362, 1387, 1363, 1364, 1374, 1365,
1600
     1366, 1388, 1367, 1368, 1369, 1370, 1389, 1371, 1372, 1373,
1601
     1375, 1376, 1377, 1390, 1378, 1379, 1380, 1391, 1381, 1382,
1602

1603
     1383, 1384, 1385, 1386, 1392, 1393, 1387, 1394, 1395, 1374,
1604
     1396, 1397, 1388, 1398, 1399, 1400, 1401, 1389, 1402, 1403,
1605
     1405, 1404, 1406, 1407, 1390, 1408, 1409, 1410, 1391, 1411,
1606
     1412, 1413, 1414, 1415, 1416, 1392, 1393, 1417, 1394, 1395,
1607
     1418, 1396, 1397, 1419, 1398, 1399, 1400, 1401, 1420, 1402,
1608
     1403, 1405, 1404, 1406, 1407, 1421, 1408, 1409, 1410, 1422,
1609
     1411, 1412, 1413, 1414, 1415, 1416, 1423, 1424, 1417, 1425,
1610
     1426, 1418, 1427, 1428, 1419, 1429, 1430, 1431, 1432, 1420,
1611
     1433, 1434, 1435, 1436, 1437, 1438, 1421, 1439, 1440, 1441,
1612
     1422, 1442, 1443,  277, 1444, 1445, 1446, 1423, 1424,  277,
1613

1614
     1425, 1426, 1447, 1427, 1428, 1448, 1429, 1430, 1431, 1432,
1615
     1449, 1433, 1434, 1435, 1436, 1437, 1438, 1450, 1439, 1440,
1616
     1441, 1451, 1442, 1443, 1452, 1444, 1445, 1446, 1453, 1454,
1617
     1455, 1456, 1457, 1447, 1458, 1459, 1448, 1460, 1461, 1462,
1618
     1463, 1449, 1464, 1465, 1466, 1467, 1468, 1469, 1450, 1470,
1619
     1471, 1472, 1451, 1473, 1474, 1452, 1475, 1476, 1477, 1453,
1620
     1454, 1455, 1456, 1457, 1478, 1458, 1459, 1479, 1460, 1461,
1621
     1462, 1463, 1480, 1464, 1465, 1466, 1467, 1468, 1469, 1481,
1622
     1470, 1471, 1472, 1482, 1473, 1474, 1483, 1475, 1476, 1477,
1623
     1484, 1485, 1486, 1487, 1488, 1478, 1489, 1490, 1479, 1491,
1624

1625
     1492, 1493, 1494, 1480, 1495, 1496, 1497, 1498, 1499, 1500,
1626
     1481, 1501, 1502, 1503, 1482, 1504, 1505, 1483, 1506, 1507,
1627
     1508, 1484, 1485, 1486, 1487, 1488, 1509, 1489, 1490, 1510,
1628
     1491, 1492, 1493, 1494, 1511, 1495, 1496, 1497, 1498, 1499,
1629
     1500, 1512, 1501, 1502, 1503, 1513, 1504, 1505, 1514, 1506,
1630
     1507, 1508, 1515, 1516, 1517, 1518, 1519, 1509, 1520, 1521,
1631
     1510, 1522, 1523, 1524, 1525, 1511, 1526, 1527, 1528, 1529,
1632
     1532, 1530, 1512, 1533, 1531, 1534, 1513, 1535, 1536, 1514,
1633
     1537, 1538, 1539, 1515, 1516, 1517, 1518, 1519,  277, 1520,
1634
     1521,  277, 1522, 1523, 1524, 1525, 1540, 1526, 1527, 1528,
1635

1636
     1529, 1532, 1530, 1541, 1533, 1531, 1534, 1542, 1535, 1536,
1637
     1543, 1537, 1538, 1539, 1544, 1545, 1546, 1547, 1548, 1549,
1638
     1550, 1551, 1552, 1553, 1554, 1555, 1556, 1540, 1557, 1558,
1639
     1559, 1560, 1561, 1562, 1541, 1563, 1564, 1565, 1542, 1566,
1640
     1567, 1543, 1568, 1569, 1570, 1544, 1545, 1546, 1547, 1548,
1641
     1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1571, 1557,
1642
     1558, 1559, 1560, 1561, 1562, 1572, 1563, 1564, 1565, 1573,
1643
     1566, 1567, 1574, 1568, 1569, 1570, 1575, 1576, 1577, 1578,
1644
     1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1571,
1645
     1588, 1589, 1590, 1591, 1592, 1593, 1572, 1594, 1595, 1596,
1646

1647
     1573, 1597, 1598, 1574, 1599, 1600, 1601, 1575, 1576, 1577,
1648
     1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587,
1649
     1602, 1588, 1589, 1590, 1591, 1592, 1593, 1603, 1594, 1595,
1650
     1596, 1604, 1597, 1598, 1605, 1599, 1600, 1601, 1606, 1607,
1651
     1608, 1610, 1609, 1611, 1612, 1613, 1615, 1616, 1617, 1618,
1652
     1614, 1602,  277, 1619, 1620, 1621, 1622,  277, 1603, 1623,
1653
     1624, 1625, 1604, 1626, 1627, 1605, 1628, 1629, 1630, 1606,
1654
     1607, 1608, 1610, 1609, 1611, 1612, 1613, 1615, 1616, 1617,
1655
     1618, 1614, 1631, 1632, 1619, 1620, 1621, 1622, 1633, 1634,
1656
     1623, 1624, 1625, 1635, 1626, 1627, 1636, 1628, 1629, 1630,
1657

1658
     1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646,
1659
     1647, 1648, 1649, 1631, 1632, 1650, 1651, 1652, 1653, 1633,
1660
     1634, 1654, 1655, 1741, 1635, 1657, 1658, 1636, 1659, 1660,
1661
     1661, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
1662
     1646, 1647, 1648, 1649, 1656,  277, 1650, 1651, 1652, 1653,
1663
     1662, 1663, 1654, 1655,  277, 1664, 1657, 1658, 1665, 1659,
1664
     1660, 1661, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
1665
     1674, 1675, 1676, 1677, 1678, 1656, 1679, 1680, 1681, 1682,
1666
     1683, 1662, 1663, 1684, 1685, 1687, 1664, 1688,  277, 1665,
1667
     1689, 1690, 1686, 1666, 1667, 1668, 1669, 1670, 1671, 1672,
1668

1669
     1673, 1674, 1675, 1676, 1677, 1678, 1691, 1679, 1680, 1681,
1670
     1682, 1683,  277, 1692, 1684, 1685, 1687, 1693, 1688, 1694,
1671
     1695, 1689, 1690, 1686, 1696, 1697, 1698, 1699, 1700, 1701,
1672
     1702, 1703, 1704, 1705, 1706, 1707, 1708, 1691, 1741,  277,
1673
     1710, 1711, 1712, 1713, 1692, 1709, 1714, 1715, 1693, 1716,
1674
     1694, 1695, 1717, 1718, 1719, 1696, 1697, 1698, 1699, 1700,
1675
     1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1720,  277,
1676
     1721, 1710, 1711, 1712, 1713, 1724, 1709, 1714, 1715, 1722,
1677
     1716, 1725, 1726, 1717, 1718, 1719, 1727, 1728, 1729, 1730,
1678
     1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1720,
1679

1680
     1741, 1721, 1741,  277, 1741, 1741, 1724, 1741, 1741, 1741,
1681
     1722, 1741, 1725, 1726, 1741, 1741, 1741, 1727, 1728, 1729,
1682
     1730, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740,
1683
       87,   87,   87,   87,   87,   87,   87,   91,   91,   91,
1684
       91,   91,   91,   91,   95,   95,   95,   95,   95,   95,
1685
       95,  104, 1741,  104,  104,  104,  104,  104,  105, 1741,
1686
      105,  105,  105,  105,  105,  114,  114,  114,  114,  114,
1687
      114,  114,  222,  222,  222,  222,  222,  222,  222,  224,
1688
     1741,  224,  224,  224,  224,  224,  273,  273,  273,  273,
1689
      273,  273,  273,  278,  278,  278,  278,  278,  278,  278,
1690

1691
      282,  282,  282,  282,  282,  282,  282,  284,  284,  284,
1692
      284,  284,  284,  284,  285,  285, 1741, 1741,  285,  285,
1693
      289, 1741,  289,  289, 1741,  289,  289,  301,  301,  301,
1694
      301,  301,  301,  301,  303,  303,  303,  303,  303,  303,
1695
      303,  306,  306,  306,  306,  306,  306,  306,  463,  463,
1696
     1741,  463,  463,  463,  463,  465,  465,  465, 1741,  465,
1697
      465,  465,  509,  509,  509,  509,  509,  509,  509,  511,
1698
     1741,  511,  511,  511,  511,  511,  305,  305,  305,  305,
1699
      305,  305,  305,  104, 1741,  104,  104,  104,  104,  104,
1700
       13, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1701

1702
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1703
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1704
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1705
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1706
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1707
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1708
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
1709
     1741, 1741, 1741, 1741, 1741, 1741, 1741
1710
    } ;
1711

1712
static const flex_int16_t yy_chk[4078] =
1713
    {   0,
1714
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1715
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1716
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1717
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1718
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1719
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1720
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1721
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1722
        1,    1,    1,    1,    1,    1,    3,    3,    3,    3,
1723
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1724

1725
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1726
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1727
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1728
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1729
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1730
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1731
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1732
        3,    3,    5,    6,    5,    6,    5,    6,    7,    5,
1733
        6,    7,    8,    9,   10,    8,   15,   20,   15,   20,
1734
       20,   33,    9,   10,   52,   54,   52,   54,   59,   63,
1735

1736
       59,   59,   62,   62,   83,  298,  298,   63,   83,   88,
1737
      103,   88,  103,  111,  111,  117,  117,  111,  111,  117,
1738
      117,    7,   33,  299,  299,    8,   11,   11,   11,   11,
1739
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1740
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1741
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1742
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1743
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1744
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1745
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1746

1747
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1748
       11,   11,   21,   21, 1747,   34,   40,   69,   72,   34,
1749
       73,   21, 1722,  279,   23,  279,   23,   23,  234,  234,
1750
       60,   60,  234,  234, 1709,   23,   24, 1140,   24,   60,
1751
     1054,   77,  300,  300,  528,   24,   34,   40,   69,   72,
1752
       34,   73,   21,   22,   22,   22,   22,   22,   22,   22,
1753
       22,   22,   22,   22,   22,   22,   23,   24,   22,   24,
1754
       60,   22,   77,   22,   25,   37,   24,   31,   25,   80,
1755
       27,   31,   25,   27,   27,   31,   28,   28,   28,   37,
1756
       79,   25,   28,   79,   25,   45,   81,   27,   28,   45,
1757

1758
       22,   22,   22,  465,   22,   25,   37,  463,   31,   25,
1759
       80,   27,   31,   25,   27,   27,   31,   28,   28,   28,
1760
       37,   79,   25,   28,   79,   25,   45,   81,   27,   28,
1761
       45,   22,   22,   22,   22,   22,   22,   22,   22,   26,
1762
       92,   26,   29,  403,   26,   26,   29,   93,   26,  301,
1763
       29,   26,  284,   29,   26,   26,   29,   30,   65,   29,
1764
      282,   30,   65,  236,  236,   30,  278,  236,  236,  273,
1765
       26,   92,   26,   29,   30,   26,   26,   29,   93,   26,
1766
       94,   29,   26,   94,   29,   26,   26,   29,   30,   65,
1767
       29,   32,   30,   65,   36,   35,   30,   35,   36,   35,
1768

1769
       32,   32,   36,   35,   66,   30,   35,   32,   99,   38,
1770
       38,  100,   35,  101,   36,  230,  102,   38,   36,   38,
1771
       66,   38,   32,   94,   38,   36,   35,  464,   35,   36,
1772
       35,   32,   32,   36,   35,   66,  228,   35,   32,   99,
1773
       38,   38,  100,   35,  101,   36,   67,  102,   38,   36,
1774
       38,   66,   38,   39,   41,   38,   67,   39,   41,   67,
1775
      118,   39,   41,   44,   39,  120,  122,   39,   41,  226,
1776
       39,  464,   44,  225,   44,  310,  310,   67,   44,  224,
1777
       44,  466,   44,  222,   39,   41,  124,   67,   39,   41,
1778
       67,  118,   39,   41,   44,   39,  120,  122,   39,   41,
1779

1780
       71,   39,   42,   44,   42,   44,   43,   42,   42,   44,
1781
       43,   44,   42,   44,   43,   71,   42,  124,  112,   42,
1782
       43,   42,  466,   43,   42,   61,  106,   61,   61,  305,
1783
       43,   71,  509,   42,  509,   42,   61,   43,   42,   42,
1784
       68,   43,  305,   42,   68,   43,   71,   42,  105,   75,
1785
       42,   43,   42,   74,   43,   42,   46,   46,   68,   75,
1786
       46,   43,   46,   74,   46,   70,   78,   61,   74,   46,
1787
       78,   68,  121,   70,   76,   68,   98,   76,   76,  123,
1788
       75,   97,   70,  121,   74,  123,   90,   46,   46,   68,
1789
       75,   46,   89,   46,   74,   46,   70,   78,   85,   74,
1790

1791
       46,   78,   82,  121,   70,   76,  107,  107,   76,   76,
1792
      123,   82,  125,   70,  121,  107,  123,   82,  108,  127,
1793
      108,  108,  110,  110,  128,  129,  125,   82,  133,  108,
1794
      134,  110,   84,   82,  297,  297,  116,  116,  297,  297,
1795
      311,  311,   82,  125,   64,  116,  107,   58,   82,  136,
1796
      127,  467,  467,  136,  137,  128,  129,  125,   57,  133,
1797
      108,  134,  110,  114,  114,  114,  114,  114,  114,  114,
1798
      114,  114,  114,  114,  114,  114,  116,  130,  114,   56,
1799
      136,  114,  119,  114,  136,  137,  119,  131,  131,  131,
1800
      138,  139,  141,  119,  140,  140,  142,  130,  143,  119,
1801

1802
      142,  145,  144,  146,  148,  139,  144,  149,  130,  150,
1803
      114,  114,  114,  119,  114,  468,  468,  119,  131,  131,
1804
      131,  138,  139,  141,  119,  140,  140,  142,  130,  143,
1805
      119,  142,  145,  144,  146,  148,  139,  144,  149,   55,
1806
      150,  114,  114,  114,  114,  114,  114,  114,  114,  115,
1807
      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1808
      115,  115,  151,  153,  115,  471,  471,  115,  147,  115,
1809
      147,  147,  152,  154,  147,  155,  156,  157,  158,  158,
1810
      152,  159,  160,  161,  158,  162,  152,  472,  472,  166,
1811
      161,  172,   50,  151,  153,  158,  115,  115,  115,  147,
1812

1813
      115,  147,  147,  152,  154,  147,  155,  156,  157,  158,
1814
      158,  152,  159,  160,  161,  158,  162,  152,  165,  163,
1815
      166,  161,  172,  165,  165,  170,  158,  115,  115,  115,
1816
      115,  115,  115,  115,  115,  163,  169,  163,  169,  169,
1817
      173,  170,  163,  174,  169,  171,  171,  171,  175,  165,
1818
      163,  174,  175,  171,  165,  165,  170,  176,  177,  178,
1819
      179,  180,  181,  182,  183,  182,  163,  169,  163,  169,
1820
      169,  173,  170,  163,  174,  169,  171,  171,  171,  175,
1821
      184,  185,  174,  175,  171,  188,  191,   49,  176,  177,
1822
      178,  179,  180,  181,  182,  183,  182,  186,  187,  192,
1823

1824
      186,  189,  193,  194,  187,  195,  189,  186,  190,  190,
1825
       48,  184,  185,  197,  190,  198,  188,  191,  190,  190,
1826
      200,  190,  201,   19,  199,  202,  516,  516,  186,  187,
1827
      192,  186,  189,  193,  194,  187,  195,  189,  186,  190,
1828
      190,  196,  196,  205,  197,  190,  198,  203,  199,  190,
1829
      190,  200,  190,  201,  196,  199,  202,  204,  203,  204,
1830
      206,  207,  210,  212,  213,  204,  214,  215,  206,  216,
1831
      217,  218,  196,  196,  205,  219,  220,  221,  203,  199,
1832
      206,   13,  510,  241,  510,  196,  242,    0,  204,  203,
1833
      204,  206,  207,  210,  212,  213,  204,  214,  215,  206,
1834

1835
      216,  217,  218,  231,  231,  243,  219,  220,  221,  233,
1836
      233,  206,  231,  232,  241,  232,  232,  242,  233,  235,
1837
      235,  244,  245,  247,  232,  246,  246,  248,  235,  249,
1838
      250,  251,  252,  253,  254,  255,  243,  258,  259,  257,
1839
      260,  262,  249,  231,  257,  264,  265,  266,  267,  233,
1840
      257,  268,  244,  245,  247,  232,  246,  246,  248,  235,
1841
      249,  250,  251,  252,  253,  254,  255,  270,  258,  259,
1842
      257,  260,  262,  249,  271,  257,  264,  265,  266,  267,
1843
      272,  257,  268,  269,  274,  269,    0,  276,  292,  275,
1844
      309,  309,  294,    0,  309,  309,  521,  521,  270,    0,
1845

1846
      296,  296,  522,  522,  295,  271,  302,  304,  276,  296,
1847
        0,  272,  274,  312,  269,  274,  269,  275,  276,  292,
1848
      275,  291,  291,  294,  291,  291,  291,  291,  291,  291,
1849
      291,  291,  291,  291,  293,  295,  313,  302,  304,  291,
1850
      296,  291,  308,  308,  312,  314,  315,  316,  317,  318,
1851
      319,  308,  293,  320,  321,  322,  323,  324,  325,  326,
1852
      327,  328,  329,  330,  331,  293,  332,  313,  291,  291,
1853
      291,    0,  291,  699,  699,    0,  314,  315,  316,  317,
1854
      318,  319,  308,  293,  320,  321,  322,  323,  324,  325,
1855
      326,  327,  328,  329,  330,  331,    0,  332,  335,  291,
1856

1857
      291,  291,  291,  291,  291,  291,  291,  303,  303,  303,
1858
      303,  303,  303,  303,  303,  303,  303,  303,  303,  303,
1859
      333,  336,  303,  700,  700,  303,  337,  303,  333,  335,
1860
      338,  339,  340,  341,  333,  342,  344,  345,  346,  347,
1861
      348,  349,  350,  337,  351,  352,  347,  353,  354,  356,
1862
      350,  333,  336,  358,  303,  303,  303,  337,  303,  333,
1863
        0,  338,  339,  340,  341,  333,  342,  344,  345,  346,
1864
      347,  348,  349,  350,  337,  351,  352,  347,  353,  354,
1865
      356,  350,    0,  359,  358,  303,  303,  303,  303,  303,
1866
      303,  303,  303,  306,  306,  306,  306,  306,  306,  306,
1867

1868
      306,  306,  306,  306,  306,  306,  355,  360,  306,  734,
1869
      734,  306,  361,  306,  359,  362,  355,  363,  364,  365,
1870
      367,  368,  369,  370,  371,  368,  372,  373,  374,  375,
1871
      376,  377,  378,  379,  380,  381,  382,  355,  360,  375,
1872
      306,  306,  306,  361,  306,    0,  362,  355,  363,  364,
1873
      365,  367,  368,  369,  370,  371,  368,  372,  373,  374,
1874
      375,  376,  377,  378,  379,  380,  381,  382,    0,  383,
1875
      375,  306,  306,  306,  306,  306,  306,  306,  306,  307,
1876
      307,  384,  307,  307,  307,  307,  307,  307,  307,  307,
1877
      307,  307,  386,  387,  389,  946,  946,  307,  390,  307,
1878

1879
      383,  391,  390,  392,  394,  395,  396,  397,  307,  398,
1880
      399,  400,  384,  401,  404,  405,  406,  407,  408,  409,
1881
      406,  411,  412,  386,  387,  389,  307,  307,  307,  390,
1882
      307,    0,  391,  390,  392,  394,  395,  396,  397,  307,
1883
      398,  399,  400,  415,  401,  404,  405,  406,  407,  408,
1884
      409,  406,  411,  412,  413,  417,    0,  307,  307,  307,
1885
      307,  307,  307,  307,  307,  388,  388,  410,  388,  414,
1886
      388,  388,  418,  388,  415,  410,  388,  419,  413,  388,
1887
      414,    0,  420,  388,  388,  413,  417,  388,    0,    0,
1888
      421,    0,  422,    0,    0,  423,  388,  388,  410,  388,
1889

1890
      414,  388,  388,  418,  388,  416,  410,  388,  419,  413,
1891
      388,  414,  416,  420,  388,  388,  424,  425,  388,  393,
1892
      393,  421,  393,  422,  393,  393,  423,  393,  426,  427,
1893
      428,  429,  430,  431,  432,  433,  416,  393,  393,  434,
1894
      435,  393,  436,  416,  430,  437,  439,  424,  425,  440,
1895
      393,  393,  441,  393,  442,  393,  393,  443,  393,  426,
1896
      427,  428,  429,  430,  431,  432,  433,  444,  393,  393,
1897
      434,  435,  393,  436,  445,  430,  437,  439,  446,  447,
1898
      440,  448,  449,  441,  450,  442,  451,  452,  443,  453,
1899
      454,  451,  452,  455,  458,  461,    0,    0,  444,  469,
1900

1901
      469,    0,  454,  473,  474,  445,  475,  476,  469,  446,
1902
      447,  477,  448,  449,  478,  450,  479,  451,  452,  480,
1903
      453,  454,  451,  452,  455,  458,  461,  470,  470,  481,
1904
      482,  470,  470,  454,  473,  474,  483,  475,  476,  469,
1905
      484,  485,  477,  486,  487,  478,  488,  479,  489,  490,
1906
      480,  491,  492,  493,  494,  496,  497,  498,  499,  500,
1907
      481,  482,  501,  502,  503,  504,  505,  483,  507,  506,
1908
      508,  484,  485,  511,  486,  487,  512,  488,  506,  489,
1909
      490,  507,  491,  492,  493,  494,  496,  497,  498,  499,
1910
      500,  514,  515,  501,  502,  503,  504,  505,  508,  507,
1911

1912
      506,  508,  519,  520,  511,  523,  524,  512,  525,  526,
1913
      527,  529,  530,  531,  532,  533,  534,  535,  537,  538,
1914
      539,  540,  514,  515,  541,  542,  543,  544,  545,  546,
1915
      547,  548,  549,  519,  520,  543,  523,  524,  538,  525,
1916
      526,  527,  529,  530,  531,  532,  533,  534,  535,  537,
1917
      538,  539,  540,  550,  551,  541,  542,  543,  544,  545,
1918
      546,  547,  548,  549,  552,  553,  543,  554,  555,  538,
1919
      556,  557,  558,  559,  560,  561,  563,  564,  565,  566,
1920
      567,  568,  569,  570,  550,  551,  572,  573,  574,  575,
1921
      576,  577,  578,  579,  580,  552,  553,  581,  554,  555,
1922

1923
      582,  556,  557,  558,  559,  560,  561,  563,  564,  565,
1924
      566,  567,  568,  569,  570,  583,  584,  572,  573,  574,
1925
      575,  576,  577,  578,  579,  580,  585,  586,  581,  588,
1926
      589,  582,  590,  591,  592,  593,  594,  595,  596,  590,
1927
      598,  599,  600,  602,  603,  604,  583,  584,  599,  605,
1928
      606,  607,  608,  609,    0,  611,  612,  585,  586,  613,
1929
      588,  589,  614,  590,  591,  592,  593,  594,  595,  596,
1930
      590,  598,  599,  600,  602,  603,  604,  615,  616,  599,
1931
      605,  606,  607,  608,  609,  610,  611,  612,  617,  618,
1932
      613,  610,  619,  614,  620,  621,  622,  623,  625,  624,
1933

1934
      626,  627,  628,  610,  629,  624,  631,  633,  615,  616,
1935
      634,  635,  636,  637,  634,  638,  610,  624,  639,  617,
1936
      618,  640,  610,  619,  641,  620,  621,  622,  623,  625,
1937
      624,  626,  627,  628,  610,  629,  624,  631,  633,  642,
1938
      643,  634,  635,  636,  637,  634,  638,  644,  624,  639,
1939
      645,  646,  640,  647,  648,  641,  649,  650,  651,  652,
1940
      653,  654,  650,  655,  656,  657,  658,  659,  660,  661,
1941
      642,  643,  662,  663,  664,  665,  666,  667,  644,  668,
1942
      669,  645,  646,  670,  647,  648,  671,  649,  650,  651,
1943
      652,  653,  654,  650,  655,  656,  657,  658,  659,  660,
1944

1945
      661,  672,  673,  662,  663,  664,  665,  666,  667,  674,
1946
      668,  669,  675,  676,  670,  677,  678,  671,  680,  682,
1947
      678,  683,  684,  685,  686,  688,  689,  690,  680,  691,
1948
      692,  693,  672,  673,  694,  695,  696,  702,  703,  704,
1949
      674,  705,  706,  675,  676,  707,  677,  678,  708,  680,
1950
      682,  678,  683,  684,  685,  686,  688,  689,  690,  680,
1951
      691,  692,  693,  709,  710,  694,  695,  696,  702,  703,
1952
      704,  711,  705,  706,  712,  713,  707,  714,  715,  708,
1953
      716,  717,  718,  719,  720,  721,  722,  723,  724,  725,
1954
      726,  727,  728,  729,  709,  710,  731,  732,  733,  737,
1955

1956
      739,  742,  711,  744,  745,  712,  713,    0,  714,  715,
1957
      747,  716,  717,  718,  719,  720,  721,  722,  723,  724,
1958
      725,  726,  727,  728,  729,  735,  733,  731,  732,  733,
1959
      737,  739,  742,  748,  744,  745,  750,  751,  735,  752,
1960
      753,  747,  754,  755,  757,  758,  759,  758,  760,  761,
1961
      762,  763,  764,  762,  765,  766,  735,  768,  769,  770,
1962
      771,  774,  776,  778,  748,  777,  777,  750,  751,  780,
1963
      752,  753,  781,  754,  755,  757,  758,  759,  758,  760,
1964
      761,  762,  763,  764,  762,  765,  766,  782,  768,  769,
1965
      770,  771,  774,  776,  778,  783,  777,  777,  784,  785,
1966

1967
      780,  786,  788,  781,  789,  791,  792,  795,  796,  798,
1968
      797,  799,  801,  802,  804,  805,  806,  807,  782,  808,
1969
      797,  811,  813,  797,  814,  815,  783,  797,  797,  784,
1970
      785,  816,  786,  788,  817,  789,  791,  792,  795,  796,
1971
      798,  797,  799,  801,  802,  804,  805,  806,  807,  818,
1972
      808,  797,  811,  813,  797,  814,  815,  809,  797,  797,
1973
      809,  819,  816,  809,  820,  817,  821,  809,  822,  823,
1974
      824,  825,  809,  826,  827,  828,  829,  830,  831,  832,
1975
      818,  833,  835,  836,  837,  838,  839,  840,  809,  841,
1976
      842,  809,  819,  843,  809,  820,  844,  821,  809,  822,
1977

1978
      823,  824,  825,  809,  826,  827,  828,  829,  830,  831,
1979
      832,  845,  833,  835,  836,  837,  838,  839,  840,  846,
1980
      841,  842,  848,  850,  843,  851,  852,  844,  853,  854,
1981
      855,  856,  857,  858,  859,  860,  861,  862,  863,  864,
1982
      865,  866,  845,  867,  868,  870,  869,  871,  872,  873,
1983
      846,  874,  875,  848,  850,  869,  851,  852,  874,  853,
1984
      854,  855,  856,  857,  858,  859,  860,  861,  862,  863,
1985
      864,  865,  866,  876,  867,  868,  870,  869,  871,  872,
1986
      873,  877,  874,  875,  878,  879,  869,  880,  881,  874,
1987
      882,  885,  886,  885,  887,  888,  889,  890,  891,  893,
1988

1989
      894,  895,  896,  898,  876,  899,  901,  900,  903,  885,
1990
      904,  905,  877,  900,  906,  878,  879,  909,  880,  881,
1991
      904,  882,  885,  886,  885,  887,  888,  889,  890,  891,
1992
      893,  894,  895,  896,  898,  910,  899,  901,  900,  903,
1993
      885,  904,  905,  911,  900,  906,  912,  913,  909,  914,
1994
      916,  904,  917,  918,  919,  920,  921,  922,  923,  924,
1995
      925,  926,  928,  929,  930,  931,  910,  933,  934,  935,
1996
      938,  940,  941,  942,  911,  943,  945,  912,  913,  947,
1997
      914,  916,  949,  917,  918,  919,  920,  921,  922,  923,
1998
      924,  925,  926,  928,  929,  930,  931,  948,  933,  934,
1999

2000
      935,  938,  940,  941,  942,  947,  943,  945,  950,  951,
2001
      947,  952,  953,  949,  954,  955,  956,  958,  961,  963,
2002
      964,  948,  965,  966,  967,  969,  971,  972,  948,  973,
2003
      974,  975,  977,  978,  979,  980,  982,  983,  985,  950,
2004
      951,  986,  952,  953,  988,  954,  955,  956,  958,  961,
2005
      963,  964,  990,  965,  966,  967,  969,  971,  972,  991,
2006
      973,  974,  975,  977,  978,  979,  980,  982,  983,  985,
2007
      992,  993,  986,  996,  997,  988,  998,  999, 1000, 1002,
2008
     1003, 1004, 1005,  990, 1006, 1007, 1008, 1009, 1010, 1011,
2009
      991, 1012, 1013, 1014, 1017, 1018, 1019, 1020, 1021, 1022,
2010

2011
     1013,  992,  993, 1023,  996,  997, 1024,  998,  999, 1000,
2012
     1002, 1003, 1004, 1005, 1025, 1006, 1007, 1008, 1009, 1010,
2013
     1011, 1026, 1012, 1013, 1014, 1017, 1018, 1019, 1020, 1021,
2014
     1022, 1013, 1027, 1028, 1023, 1029, 1030, 1024, 1031, 1032,
2015
     1033, 1035, 1037, 1038, 1039, 1025, 1040, 1041, 1042, 1043,
2016
     1044, 1045, 1026, 1046, 1047, 1048, 1049, 1050, 1053, 1055,
2017
     1056, 1057, 1058, 1027, 1028, 1059, 1029, 1030, 1060, 1031,
2018
     1032, 1033, 1035, 1037, 1038, 1039, 1061, 1040, 1041, 1042,
2019
     1043, 1044, 1045, 1066, 1046, 1047, 1048, 1049, 1050, 1053,
2020
     1055, 1056, 1057, 1058, 1067, 1068, 1059, 1069, 1070, 1060,
2021

2022
     1071, 1072, 1073, 1074, 1075, 1076, 1077, 1061, 1078, 1079,
2023
     1081, 1082, 1083, 1084, 1066, 1085, 1086, 1087, 1088, 1090,
2024
     1093, 1096, 1089, 1097, 1098, 1067, 1068, 1099, 1069, 1070,
2025
     1100, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1089, 1078,
2026
     1079, 1081, 1082, 1083, 1084, 1101, 1085, 1086, 1087, 1088,
2027
     1090, 1093, 1096, 1089, 1097, 1098, 1102, 1103, 1099, 1104,
2028
     1105, 1100, 1106, 1107, 1108, 1109, 1110, 1111, 1116, 1089,
2029
     1117, 1118, 1119, 1120, 1121, 1122, 1101, 1123, 1125, 1126,
2030
     1127, 1128, 1129, 1130, 1132, 1133, 1134, 1102, 1103, 1135,
2031
     1104, 1105, 1136, 1106, 1107, 1108, 1109, 1110, 1111, 1116,
2032

2033
     1138, 1117, 1118, 1119, 1120, 1121, 1122, 1142, 1123, 1125,
2034
     1126, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1139, 1143,
2035
     1135, 1144, 1145, 1136, 1146, 1147, 1138, 1148, 1149, 1150,
2036
     1151, 1138, 1152, 1154, 1155, 1156, 1157, 1159, 1142, 1161,
2037
     1163, 1164, 1139, 1165, 1166, 1168, 1169, 1171, 1172, 1139,
2038
     1143, 1173, 1144, 1145, 1174, 1146, 1147, 1175, 1148, 1149,
2039
     1150, 1151, 1176, 1152, 1154, 1155, 1156, 1157, 1159, 1177,
2040
     1161, 1163, 1164, 1178, 1165, 1166, 1168, 1169, 1171, 1172,
2041
     1179, 1181, 1173, 1182, 1183, 1174, 1184, 1186, 1175, 1187,
2042
     1188, 1189, 1190, 1176, 1191, 1192, 1193, 1194, 1196, 1197,
2043

2044
     1177, 1199, 1200, 1201, 1178, 1202, 1203, 1204, 1205, 1206,
2045
     1208, 1179, 1181, 1209, 1182, 1183, 1210, 1184, 1186, 1211,
2046
     1187, 1188, 1189, 1190, 1212, 1191, 1192, 1193, 1194, 1196,
2047
     1197, 1214, 1199, 1200, 1201, 1215, 1202, 1203, 1204, 1205,
2048
     1206, 1208, 1216, 1217, 1209, 1218, 1219, 1210, 1221, 1222,
2049
     1211, 1223, 1224, 1225, 1227, 1212, 1227, 1229, 1230, 1231,
2050
     1232, 1234, 1214, 1235, 1237, 1239, 1215, 1240, 1241, 1242,
2051
     1243, 1244, 1245, 1216, 1217, 1246, 1218, 1219, 1230, 1221,
2052
     1222, 1247, 1223, 1224, 1225, 1227, 1248, 1227, 1229, 1230,
2053
     1231, 1232, 1234, 1249, 1235, 1237, 1239, 1250, 1240, 1241,
2054

2055
     1242, 1243, 1244, 1245, 1251, 1252, 1246, 1253, 1254, 1230,
2056
     1255, 1256, 1247, 1257, 1258, 1259, 1260, 1248, 1261, 1262,
2057
     1263, 1262, 1264, 1265, 1249, 1266, 1268, 1269, 1250, 1270,
2058
     1271, 1272, 1275, 1276, 1277, 1251, 1252, 1279, 1253, 1254,
2059
     1282, 1255, 1256, 1283, 1257, 1258, 1259, 1260, 1285, 1261,
2060
     1262, 1263, 1262, 1264, 1265, 1286, 1266, 1268, 1269, 1287,
2061
     1270, 1271, 1272, 1275, 1276, 1277, 1289, 1290, 1279, 1291,
2062
     1292, 1282, 1293, 1294, 1283, 1296, 1297, 1300, 1301, 1285,
2063
     1302, 1303, 1304, 1306, 1307, 1308, 1286, 1309, 1310, 1311,
2064
     1287, 1312, 1313, 1297, 1314, 1315, 1317, 1289, 1290, 1296,
2065

2066
     1291, 1292, 1318, 1293, 1294, 1320, 1296, 1297, 1300, 1301,
2067
     1321, 1302, 1303, 1304, 1306, 1307, 1308, 1322, 1309, 1310,
2068
     1311, 1323, 1312, 1313, 1324, 1314, 1315, 1317, 1326, 1327,
2069
     1328, 1329, 1331, 1318, 1332, 1333, 1320, 1335, 1336, 1337,
2070
     1338, 1321, 1339, 1340, 1341, 1342, 1343, 1344, 1322, 1345,
2071
     1346, 1347, 1323, 1348, 1349, 1324, 1350, 1351, 1352, 1326,
2072
     1327, 1328, 1329, 1331, 1353, 1332, 1333, 1354, 1335, 1336,
2073
     1337, 1338, 1355, 1339, 1340, 1341, 1342, 1343, 1344, 1359,
2074
     1345, 1346, 1347, 1360, 1348, 1349, 1361, 1350, 1351, 1352,
2075
     1362, 1363, 1364, 1365, 1366, 1353, 1369, 1370, 1354, 1371,
2076

2077
     1372, 1373, 1374, 1355, 1375, 1377, 1378, 1380, 1381, 1383,
2078
     1359, 1384, 1385, 1387, 1360, 1388, 1389, 1361, 1390, 1391,
2079
     1393, 1362, 1363, 1364, 1365, 1366, 1395, 1369, 1370, 1396,
2080
     1371, 1372, 1373, 1374, 1398, 1375, 1377, 1378, 1380, 1381,
2081
     1383, 1399, 1384, 1385, 1387, 1400, 1388, 1389, 1401, 1390,
2082
     1391, 1393, 1402, 1403, 1404, 1407, 1409, 1395, 1410, 1411,
2083
     1396, 1415, 1416, 1418, 1422, 1398, 1423, 1424, 1426, 1427,
2084
     1431, 1429, 1399, 1432, 1430, 1434, 1400, 1436, 1438, 1401,
2085
     1440, 1441, 1443, 1402, 1403, 1404, 1407, 1409, 1429, 1410,
2086
     1411, 1430, 1415, 1416, 1418, 1422, 1445, 1423, 1424, 1426,
2087

2088
     1427, 1431, 1429, 1446, 1432, 1430, 1434, 1448, 1436, 1438,
2089
     1449, 1440, 1441, 1443, 1450, 1451, 1453, 1457, 1459, 1460,
2090
     1461, 1462, 1463, 1465, 1466, 1467, 1468, 1445, 1469, 1470,
2091
     1471, 1472, 1473, 1474, 1446, 1475, 1477, 1478, 1448, 1479,
2092
     1480, 1449, 1481, 1482, 1483, 1450, 1451, 1453, 1457, 1459,
2093
     1460, 1461, 1462, 1463, 1465, 1466, 1467, 1468, 1484, 1469,
2094
     1470, 1471, 1472, 1473, 1474, 1485, 1475, 1477, 1478, 1486,
2095
     1479, 1480, 1487, 1481, 1482, 1483, 1488, 1489, 1490, 1491,
2096
     1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1484,
2097
     1501, 1502, 1504, 1506, 1507, 1508, 1485, 1509, 1510, 1511,
2098

2099
     1486, 1512, 1516, 1487, 1519, 1521, 1522, 1488, 1489, 1490,
2100
     1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500,
2101
     1523, 1501, 1502, 1504, 1506, 1507, 1508, 1524, 1509, 1510,
2102
     1511, 1525, 1512, 1516, 1526, 1519, 1521, 1522, 1527, 1528,
2103
     1530, 1532, 1531, 1534, 1535, 1539, 1540, 1544, 1545, 1548,
2104
     1539, 1523, 1531, 1552, 1553, 1554, 1555, 1530, 1524, 1556,
2105
     1557, 1560, 1525, 1561, 1562, 1526, 1563, 1564, 1565, 1527,
2106
     1528, 1530, 1532, 1531, 1534, 1535, 1539, 1540, 1544, 1545,
2107
     1548, 1539, 1566, 1567, 1552, 1553, 1554, 1555, 1569, 1570,
2108
     1556, 1557, 1560, 1571, 1561, 1562, 1572, 1563, 1564, 1565,
2109

2110
     1573, 1574, 1575, 1576, 1577, 1579, 1580, 1581, 1582, 1583,
2111
     1584, 1586, 1589, 1566, 1567, 1590, 1592, 1596, 1598, 1569,
2112
     1570, 1599, 1600,    0, 1571, 1609, 1611, 1572, 1612, 1613,
2113
     1614, 1573, 1574, 1575, 1576, 1577, 1579, 1580, 1581, 1582,
2114
     1583, 1584, 1586, 1589, 1608, 1609, 1590, 1592, 1596, 1598,
2115
     1615, 1616, 1599, 1600, 1608, 1617, 1609, 1611, 1618, 1612,
2116
     1613, 1614, 1620, 1621, 1622, 1623, 1624, 1629, 1630, 1631,
2117
     1634, 1637, 1638, 1640, 1642, 1608, 1643, 1644, 1645, 1648,
2118
     1651, 1615, 1616, 1653, 1654, 1657, 1617, 1658, 1657, 1618,
2119
     1660, 1661, 1656, 1620, 1621, 1622, 1623, 1624, 1629, 1630,
2120

2121
     1631, 1634, 1637, 1638, 1640, 1642, 1662, 1643, 1644, 1645,
2122
     1648, 1651, 1656, 1664, 1653, 1654, 1657, 1665, 1658, 1666,
2123
     1667, 1660, 1661, 1656, 1668, 1670, 1671, 1672, 1674, 1675,
2124
     1677, 1678, 1682, 1683, 1684, 1685, 1686, 1662,    0, 1686,
2125
     1688, 1689, 1690, 1694, 1664, 1687, 1695, 1697, 1665, 1698,
2126
     1666, 1667, 1700, 1704, 1705, 1668, 1670, 1671, 1672, 1674,
2127
     1675, 1677, 1678, 1682, 1683, 1684, 1685, 1686, 1706, 1687,
2128
     1707, 1688, 1689, 1690, 1694, 1710, 1687, 1695, 1697, 1708,
2129
     1698, 1711, 1713, 1700, 1704, 1705, 1714, 1715, 1716, 1720,
2130
     1725, 1726, 1727, 1730, 1732, 1733, 1734, 1737, 1738, 1706,
2131

2132
        0, 1707,    0, 1708,    0,    0, 1710,    0,    0,    0,
2133
     1708,    0, 1711, 1713,    0,    0,    0, 1714, 1715, 1716,
2134
     1720, 1725, 1726, 1727, 1730, 1732, 1733, 1734, 1737, 1738,
2135
     1742, 1742, 1742, 1742, 1742, 1742, 1742, 1743, 1743, 1743,
2136
     1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744, 1744, 1744,
2137
     1744, 1745,    0, 1745, 1745, 1745, 1745, 1745, 1746,    0,
2138
     1746, 1746, 1746, 1746, 1746, 1748, 1748, 1748, 1748, 1748,
2139
     1748, 1748, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750,
2140
        0, 1750, 1750, 1750, 1750, 1750, 1751, 1751, 1751, 1751,
2141
     1751, 1751, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
2142

2143
     1753, 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754,
2144
     1754, 1754, 1754, 1754, 1755, 1755,    0,    0, 1755, 1755,
2145
     1756,    0, 1756, 1756,    0, 1756, 1756, 1757, 1757, 1757,
2146
     1757, 1757, 1757, 1757, 1758, 1758, 1758, 1758, 1758, 1758,
2147
     1758, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1760, 1760,
2148
        0, 1760, 1760, 1760, 1760, 1761, 1761, 1761,    0, 1761,
2149
     1761, 1761, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1763,
2150
        0, 1763, 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764,
2151
     1764, 1764, 1764, 1765,    0, 1765, 1765, 1765, 1765, 1765,
2152
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2153

2154
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2155
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2156
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2157
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2158
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2159
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2160
     1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2161
     1741, 1741, 1741, 1741, 1741, 1741, 1741
2162
    } ;
2163

2164
static yy_state_type yy_last_accepting_state;
2165
static char *yy_last_accepting_cpos;
2166

2167
extern int yy_flex_debug;
2168
int yy_flex_debug = 0;
2169

2170
/* The intent behind this definition is that it'll catch
2171
 * any uses of REJECT which flex missed.
2172
 */
2173
#define REJECT reject_used_but_not_detected
2174
#define yymore() yymore_used_but_not_detected
2175
#define YY_MORE_ADJ 0
2176
#define YY_RESTORE_YY_MORE_OFFSET
2177
char *yytext;
2178
#line 1 "src/maplexer.l"
2179
#line 4 "src/maplexer.l"
2180
/*
2181
** READ ME FIRST!
2182
**
2183
** When this file is altered, it is necessary to do "make lexer".  Due to
2184
** problems detailed in #2310 the lexer is no longer automatically rebuilt
2185
** when maplexer.l is altered.
2186
*/
2187

2188
#define YY_NO_INPUT
2189

2190
/* C declarations */
2191
#include <stdlib.h>
2192
#include <stdio.h>
2193
#include <string.h>
2194
#include <math.h>
2195

2196
#include <time.h>
2197

2198
#include "mapserver.h"
2199
#include "maperror.h"
2200
#include "mapfile.h"
2201
#include "maptime.h"
2202
#include "mapsymbol.h"
2203
#include "mapparser.h"
2204
#include "mapprimitive.h"
2205

2206
/* msyylineno is required for flex 2.5.4 and older, but is already defined by
2207
 * flex 2.5.31 (bug 975).
2208
 * Unfortunately there is no clean way to differentiate the two versions,
2209
 * so we use the symbol YY_CURRENT_BUFFER_LVALUE to base our test since it
2210
 * was not present in 2.5.4 and is present in 2.5.31. Hopefully that won't
2211
 * put us in trouble with other versions. If that happens then we can
2212
 * switch to using autoconf to detect the version.
2213
 */
2214
#ifndef YY_CURRENT_BUFFER_LVALUE
2215
int msyylineno = 1;
2216
#endif
2217

2218
#define YY_NO_INPUT
2219

2220
/* Below is a redefinition of the default YY_INPUT() macro but replacing the
2221
 * YY_FATAL_ERROR() macro with a call to msSetError().
2222
 */
2223
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2224
 * is returned in "result".
2225
 */
2226
#define YY_INPUT(buf,result,max_size) \
2227
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2228
                { \
2229
                int c = '*'; \
2230
                int n; \
2231
                for ( n = 0; n < max_size && \
2232
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2233
                        buf[n] = (char) c; \
2234
                if ( c == '\n' ) \
2235
                        buf[n++] = (char) c; \
2236
                if ( c == EOF && ferror( yyin ) ) \
2237
            msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2238
                result = n; \
2239
                } \
2240
        else \
2241
                { \
2242
                errno=0; \
2243
                while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2244
                        { \
2245
                        if( errno != EINTR) \
2246
                                { \
2247
                msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2248
                                break; \
2249
                                } \
2250
                        errno=0; \
2251
                        clearerr(yyin); \
2252
                        } \
2253
                }
2254

2255
int msyysource=MS_STRING_TOKENS;
2256
double msyynumber;
2257
int msyystate=MS_TOKENIZE_DEFAULT;
2258
const char *msyystring=NULL;
2259
char *msyybasepath=NULL;
2260
int  msyystring_buffer_size = 0;
2261
int  msyystring_size;
2262
char msyystring_begin;
2263
char *msyystring_buffer = NULL;
2264
int  msyystring_icase = MS_FALSE;
2265
int  msyystring_return_state;
2266
int  msyystring_begin_state;
2267

2268
int msyyreturncomments = 0;
2269

2270
#define MS_LEXER_STRING_REALLOC(string, string_size, max_size)   \
2271
  do { \
2272
   const int string_size_macro = (int)(string_size); \
2273
   if (string_size_macro >= (int)(max_size)) {         \
2274
       max_size = (((int)(max_size)*2) > string_size_macro) ? ((int)(max_size))*2 : string_size_macro+1;   \
2275
       string = (char *) msSmallRealloc(string, sizeof(char *) * (max_size));  \
2276
   } \
2277
  } while(0)
2278

2279
#define MS_LEXER_RETURN_TOKEN(token) \
2280
   MS_LEXER_STRING_REALLOC(msyystring_buffer, strlen(msyytext),  \
2281
                           msyystring_buffer_size); \
2282
   strcpy(msyystring_buffer, msyytext); \
2283
   return(token); 
2284

2285
#define MAX_INCLUDE_DEPTH 5
2286
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
2287
int include_lineno[MAX_INCLUDE_DEPTH];
2288
int include_stack_ptr = 0;
2289
char path[MS_MAXPATHLEN];
2290

2291
#line 2292 "src/maplexer.c"
2292

2293
#line 2294 "src/maplexer.c"
2294

2295
#define INITIAL 0
2296
#define EXPRESSION_STRING 1
2297
#define INCLUDE 2
2298
#define MSSTRING 3
2299
#define MULTILINE_COMMENT 4
2300
#define CONFIG_FILE 5
2301

2302
#ifndef YY_EXTRA_TYPE
2303
#define YY_EXTRA_TYPE void *
2304
#endif
2305

2306
static int yy_init_globals ( void );
2307

2308
/* Accessor methods to globals.
2309
   These are made visible to non-reentrant scanners for convenience. */
2310

2311
int yylex_destroy ( void );
2312

2313
int yyget_debug ( void );
2314

2315
void yyset_debug ( int debug_flag  );
2316

2317
YY_EXTRA_TYPE yyget_extra ( void );
2318

2319
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2320

2321
FILE *yyget_in ( void );
2322

2323
void yyset_in  ( FILE * _in_str  );
2324

2325
FILE *yyget_out ( void );
2326

2327
void yyset_out  ( FILE * _out_str  );
2328

2329
                        int yyget_leng ( void );
2330

2331
char *yyget_text ( void );
2332

2333
int yyget_lineno ( void );
2334

2335
void yyset_lineno ( int _line_number  );
2336

2337
/* Macros after this point can all be overridden by user definitions in
2338
 * section 1.
2339
 */
2340

2341
#ifndef YY_SKIP_YYWRAP
2342
#ifdef __cplusplus
2343
extern "C" int yywrap ( void );
2344
#else
2345
extern int yywrap ( void );
2346
#endif
2347
#endif
2348

2349
#ifndef YY_NO_UNPUT
2350
    
2351
    static void yyunput ( int c, char *buf_ptr  );
2352
    
2353
#endif
2354

2355
#ifndef yytext_ptr
2356
static void yy_flex_strncpy ( char *, const char *, int );
2357
#endif
2358

2359
#ifdef YY_NEED_STRLEN
2360
static int yy_flex_strlen ( const char * );
2361
#endif
2362

2363
#ifndef YY_NO_INPUT
2364
#ifdef __cplusplus
2365
static int yyinput ( void );
2366
#else
2367
static int input ( void );
2368
#endif
2369

2370
#endif
2371

2372
/* Amount of stuff to slurp up with each read. */
2373
#ifndef YY_READ_BUF_SIZE
2374
#ifdef __ia64__
2375
/* On IA-64, the buffer size is 16k, not 8k */
2376
#define YY_READ_BUF_SIZE 16384
2377
#else
2378
#define YY_READ_BUF_SIZE 8192
2379
#endif /* __ia64__ */
2380
#endif
2381

2382
/* Copy whatever the last rule matched to the standard output. */
2383
#ifndef ECHO
2384
/* This used to be an fputs(), but since the string might contain NUL's,
2385
 * we now use fwrite().
2386
 */
2387
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2388
#endif
2389

2390
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2391
 * is returned in "result".
2392
 */
2393
#ifndef YY_INPUT
2394
#define YY_INPUT(buf,result,max_size) \
2395
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2396
                { \
2397
                int c = '*'; \
2398
                int n; \
2399
                for ( n = 0; n < max_size && \
2400
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2401
                        buf[n] = (char) c; \
2402
                if ( c == '\n' ) \
2403
                        buf[n++] = (char) c; \
2404
                if ( c == EOF && ferror( yyin ) ) \
2405
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
2406
                result = n; \
2407
                } \
2408
        else \
2409
                { \
2410
                errno=0; \
2411
                while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2412
                        { \
2413
                        if( errno != EINTR) \
2414
                                { \
2415
                                YY_FATAL_ERROR( "input in flex scanner failed" ); \
2416
                                break; \
2417
                                } \
2418
                        errno=0; \
2419
                        clearerr(yyin); \
2420
                        } \
2421
                }\
2422
\
2423

2424
#endif
2425

2426
/* No semi-colon after return; correct usage is to write "yyterminate();" -
2427
 * we don't want an extra ';' after the "return" because that will cause
2428
 * some compilers to complain about unreachable statements.
2429
 */
2430
#ifndef yyterminate
2431
#define yyterminate() return YY_NULL
2432
#endif
2433

2434
/* Number of entries by which start-condition stack grows. */
2435
#ifndef YY_START_STACK_INCR
2436
#define YY_START_STACK_INCR 25
2437
#endif
2438

2439
/* Report a fatal error. */
2440
#ifndef YY_FATAL_ERROR
2441
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2442
#endif
2443

2444
/* end tables serialization structures and prototypes */
2445

2446
/* Default declaration of generated scanner - a define so the user can
2447
 * easily add parameters.
2448
 */
2449
#ifndef YY_DECL
2450
#define YY_DECL_IS_OURS 1
2451

2452
extern int yylex (void);
2453

2454
#define YY_DECL int yylex (void)
2455
#endif /* !YY_DECL */
2456

2457
/* Code executed at the beginning of each rule, after yytext and yyleng
2458
 * have been set up.
2459
 */
2460
#ifndef YY_USER_ACTION
2461
#define YY_USER_ACTION
2462
#endif
2463

2464
/* Code executed at the end of each rule. */
2465
#ifndef YY_BREAK
2466
#define YY_BREAK /*LINTED*/break;
2467
#endif
2468

2469
#define YY_RULE_SETUP \
2470
        YY_USER_ACTION
2471

2472
/** The main scanner function which does all the work.
2473
 */
2474
YY_DECL
1,066,035✔
2475
{
2476
        yy_state_type yy_current_state;
2477
        char *yy_cp, *yy_bp;
2478
        int yy_act;
2479
    
2480
        if ( !(yy_init) )
1,066,035✔
2481
                {
2482
                (yy_init) = 1;
2,628✔
2483

2484
#ifdef YY_USER_INIT
2485
                YY_USER_INIT;
2486
#endif
2487

2488
                if ( ! (yy_start) )
2,628✔
2489
                        (yy_start) = 1;        /* first start state */
2,628✔
2490

2491
                if ( ! yyin )
2,628✔
2492
                        yyin = stdin;
27✔
2493

2494
                if ( ! yyout )
2,628✔
2495
                        yyout = stdout;
2,628✔
2496

2497
                if ( ! YY_CURRENT_BUFFER ) {
2,628✔
2498
                        yyensure_buffer_stack ();
2,628✔
2499
                        YY_CURRENT_BUFFER_LVALUE =
2,628✔
2500
                                yy_create_buffer( yyin, YY_BUF_SIZE );
2,628✔
2501
                }
2502

2503
                yy_load_buffer_state(  );
2504
                }
2505

2506
        {
2507
#line 123 "src/maplexer.l"
2508

2509
#line 125 "src/maplexer.l"
2510
       if (msyystring_buffer == NULL)
2511
       {
2512
           msyystring_buffer_size = 256;
2513
           msyystring_buffer = (char*) msSmallMalloc(sizeof(char) * msyystring_buffer_size);
2514
       }
2515

2516
       msyystring_buffer[0] = '\0';
2517
       switch(msyystate) {
2518
       case(MS_TOKENIZE_DEFAULT):
2519
         (void) yyunput; /* just to avoid warning about it being unrefed */ 
2520
         break;
2521
       case(MS_TOKENIZE_FILE):
2522
         BEGIN(INITIAL);
2523
         msyystring_begin_state = INITIAL;
2524
         msyysource=MS_FILE_TOKENS;
2525
         msyystate=MS_TOKENIZE_DEFAULT;
2526
         msyystring=NULL;
2527
         msyyreturncomments=0;
2528
         include_stack_ptr=0;
2529
         return(0);
2530
         break;
2531
       case(MS_TOKENIZE_STRING):
2532
         BEGIN(INITIAL);
2533
         msyystring_begin_state = INITIAL;
2534
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2535
         msyy_scan_string(msyystring);
2536
         msyysource=MS_STRING_TOKENS;
2537
         msyystate=MS_TOKENIZE_DEFAULT;
2538
         msyyin=NULL;
2539
         msyyreturncomments=0;
2540
         include_stack_ptr=0;
2541
         return(0);
2542
         break;
2543
       case(MS_TOKENIZE_EXPRESSION):
2544
         BEGIN(EXPRESSION_STRING);
2545
         msyystring_begin_state = EXPRESSION_STRING;
2546
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2547
         msyy_scan_string(msyystring);
2548
         msyystate=MS_TOKENIZE_DEFAULT;
2549
         msyyreturncomments=0;
2550
         break;
2551
       case(MS_TOKENIZE_CONFIG):
2552
         BEGIN(CONFIG_FILE);
2553
         msyystring_begin_state = CONFIG_FILE;
2554
         msyysource=MS_FILE_TOKENS;
2555
         msyystate=MS_TOKENIZE_DEFAULT;
2556
         msyystring=NULL;
2557
         msyyreturncomments=0;
2558
         return(0);
2559
         break;
2560
       case(99):
2561
         BEGIN(INITIAL); /* may not need this one */
2562
         msyystring_begin_state = INITIAL;
2563
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2564
         msyystate=MS_TOKENIZE_DEFAULT;
2565
         msyystring=NULL;
2566
         msyyreturncomments=0; 
2567
         return(0);
2568
         break;
2569
       default:
2570
         break;
2571
       }
2572

2573
#line 2574 "src/maplexer.c"
2574

2575
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
2576
                {
2577
                yy_cp = (yy_c_buf_p);
3,696,174✔
2578

2579
                /* Support of yytext. */
2580
                *yy_cp = (yy_hold_char);
3,696,174✔
2581

2582
                /* yy_bp points to the position in yy_ch_buf of the start of
2583
                 * the current run.
2584
                 */
2585
                yy_bp = yy_cp;
2586

2587
                yy_current_state = (yy_start);
3,696,174✔
2588
yy_match:
2589
                do
2590
                        {
2591
                        YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
46,526,677✔
2592
                        if ( yy_accept[yy_current_state] )
46,526,677✔
2593
                                {
2594
                                (yy_last_accepting_state) = yy_current_state;
42,615,983✔
2595
                                (yy_last_accepting_cpos) = yy_cp;
42,615,983✔
2596
                                }
2597
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
86,453,710✔
2598
                                {
2599
                                yy_current_state = (int) yy_def[yy_current_state];
39,927,033✔
2600
                                if ( yy_current_state >= 1742 )
39,927,033✔
2601
                                        yy_c = yy_meta[yy_c];
36,205,424✔
2602
                                }
2603
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
46,526,677✔
2604
                        ++yy_cp;
46,526,677✔
2605
                        }
2606
                while ( yy_current_state != 1741 );
46,526,677✔
2607
                yy_cp = (yy_last_accepting_cpos);
3,721,609✔
2608
                yy_current_state = (yy_last_accepting_state);
3,721,609✔
2609

2610
yy_find_action:
2611
                yy_act = yy_accept[yy_current_state];
3,729,465✔
2612

2613
                YY_DO_BEFORE_ACTION;
3,729,465✔
2614

2615
do_action:        /* This label is used only to access EOF actions. */
3,734,494✔
2616

2617
                switch ( yy_act )
3,734,494✔
2618
        { /* beginning of action switch */
2619
                        case 0: /* must back up */
×
2620
                        /* undo the effects of YY_DO_BEFORE_ACTION */
2621
                        *yy_cp = (yy_hold_char);
×
2622
                        yy_cp = (yy_last_accepting_cpos);
×
2623
                        yy_current_state = (yy_last_accepting_state);
×
2624
                        goto yy_find_action;
×
2625

2626
case 1:
2627
YY_RULE_SETUP
2628
#line 188 "src/maplexer.l"
2629
;
2630
        YY_BREAK
2631
case 2:
2632
YY_RULE_SETUP
2633
#line 190 "src/maplexer.l"
2634
{ if (msyyreturncomments) return(MS_COMMENT); }
2635
        YY_BREAK
2636
case 3:
2637
YY_RULE_SETUP
2638
#line 192 "src/maplexer.l"
2639
{ BEGIN(MULTILINE_COMMENT); }
2640
        YY_BREAK
2641
case 4:
2642
YY_RULE_SETUP
2643
#line 193 "src/maplexer.l"
2644
{ BEGIN(INITIAL); }
2645
        YY_BREAK
2646
case 5:
2647
YY_RULE_SETUP
2648
#line 194 "src/maplexer.l"
2649
;
2650
        YY_BREAK
2651
case 6:
2652
YY_RULE_SETUP
2653
#line 195 "src/maplexer.l"
2654
;
2655
        YY_BREAK
2656
case 7:
2657
/* rule 7 can match eol */
2658
YY_RULE_SETUP
2659
#line 196 "src/maplexer.l"
2660
{ msyylineno++; }
2661
        YY_BREAK
2662
case 8:
2663
YY_RULE_SETUP
2664
#line 198 "src/maplexer.l"
2665
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION); }
2666
        YY_BREAK
2667
case 9:
2668
YY_RULE_SETUP
2669
#line 199 "src/maplexer.l"
2670
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_ENV); }
2671
        YY_BREAK
2672
case 10:
2673
YY_RULE_SETUP
2674
#line 200 "src/maplexer.l"
2675
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_MAPS); }
2676
        YY_BREAK
2677
case 11:
2678
YY_RULE_SETUP
2679
#line 201 "src/maplexer.l"
2680
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_PLUGINS) }
2681
        YY_BREAK
2682
case 12:
2683
YY_RULE_SETUP
2684
#line 203 "src/maplexer.l"
2685
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_OR); }
2686
        YY_BREAK
2687
case 13:
2688
YY_RULE_SETUP
2689
#line 204 "src/maplexer.l"
2690
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_AND); }
2691
        YY_BREAK
2692
case 14:
2693
YY_RULE_SETUP
2694
#line 205 "src/maplexer.l"
2695
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_NOT); }
2696
        YY_BREAK
2697
case 15:
2698
YY_RULE_SETUP
2699
#line 206 "src/maplexer.l"
2700
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQ); }
2701
        YY_BREAK
2702
case 16:
2703
YY_RULE_SETUP
2704
#line 207 "src/maplexer.l"
2705
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_NE); }
2706
        YY_BREAK
2707
case 17:
2708
YY_RULE_SETUP
2709
#line 208 "src/maplexer.l"
2710
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GT); }
2711
        YY_BREAK
2712
case 18:
2713
YY_RULE_SETUP
2714
#line 209 "src/maplexer.l"
2715
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LT); }
2716
        YY_BREAK
2717
case 19:
2718
YY_RULE_SETUP
2719
#line 210 "src/maplexer.l"
2720
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GE); }
2721
        YY_BREAK
2722
case 20:
2723
YY_RULE_SETUP
2724
#line 211 "src/maplexer.l"
2725
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LE); }
2726
        YY_BREAK
2727
case 21:
2728
YY_RULE_SETUP
2729
#line 212 "src/maplexer.l"
2730
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_RE); }
2731
        YY_BREAK
2732
case 22:
2733
YY_RULE_SETUP
2734
#line 214 "src/maplexer.l"
2735
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IEQ); }
2736
        YY_BREAK
2737
case 23:
2738
YY_RULE_SETUP
2739
#line 215 "src/maplexer.l"
2740
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IRE); }
2741
        YY_BREAK
2742
case 24:
2743
YY_RULE_SETUP
2744
#line 217 "src/maplexer.l"
2745
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IN); /* was IN */ }
2746
        YY_BREAK
2747
case 25:
2748
YY_RULE_SETUP
2749
#line 219 "src/maplexer.l"
2750
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_AREA); }
2751
        YY_BREAK
2752
case 26:
2753
YY_RULE_SETUP
2754
#line 220 "src/maplexer.l"
2755
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LENGTH); }
2756
        YY_BREAK
2757
case 27:
2758
YY_RULE_SETUP
2759
#line 221 "src/maplexer.l"
2760
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_TOSTRING); }
2761
        YY_BREAK
2762
case 28:
2763
YY_RULE_SETUP
2764
#line 222 "src/maplexer.l"
2765
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_COMMIFY); }
2766
        YY_BREAK
2767
case 29:
2768
YY_RULE_SETUP
2769
#line 223 "src/maplexer.l"
2770
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_ROUND); }
2771
        YY_BREAK
2772
case 30:
2773
YY_RULE_SETUP
2774
#line 224 "src/maplexer.l"
2775
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_UPPER); }
2776
        YY_BREAK
2777
case 31:
2778
YY_RULE_SETUP
2779
#line 225 "src/maplexer.l"
2780
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LOWER); }
2781
        YY_BREAK
2782
case 32:
2783
YY_RULE_SETUP
2784
#line 226 "src/maplexer.l"
2785
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INITCAP); }
2786
        YY_BREAK
2787
case 33:
2788
YY_RULE_SETUP
2789
#line 227 "src/maplexer.l"
2790
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FIRSTCAP); }
2791
        YY_BREAK
2792
case 34:
2793
YY_RULE_SETUP
2794
#line 229 "src/maplexer.l"
2795
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_BUFFER); }
2796
        YY_BREAK
2797
case 35:
2798
YY_RULE_SETUP
2799
#line 230 "src/maplexer.l"
2800
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DIFFERENCE); }
2801
        YY_BREAK
2802
case 36:
2803
YY_RULE_SETUP
2804
#line 231 "src/maplexer.l"
2805
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFY); }
2806
        YY_BREAK
2807
case 37:
2808
YY_RULE_SETUP
2809
#line 232 "src/maplexer.l"
2810
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFYPT); }
2811
        YY_BREAK
2812
case 38:
2813
YY_RULE_SETUP
2814
#line 233 "src/maplexer.l"
2815
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_GENERALIZE); }
2816
        YY_BREAK
2817
case 39:
2818
YY_RULE_SETUP
2819
#line 234 "src/maplexer.l"
2820
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SMOOTHSIA); }
2821
        YY_BREAK
2822
case 40:
2823
YY_RULE_SETUP
2824
#line 235 "src/maplexer.l"
2825
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_CENTERLINE); }
2826
        YY_BREAK
2827
case 41:
2828
YY_RULE_SETUP
2829
#line 236 "src/maplexer.l"
2830
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DENSIFY); }
2831
        YY_BREAK
2832
case 42:
2833
YY_RULE_SETUP
2834
#line 237 "src/maplexer.l"
2835
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_OUTER); }
2836
        YY_BREAK
2837
case 43:
2838
YY_RULE_SETUP
2839
#line 238 "src/maplexer.l"
2840
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INNER); } 
2841
        YY_BREAK
2842
case 44:
2843
YY_RULE_SETUP
2844
#line 239 "src/maplexer.l"
2845
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_JAVASCRIPT); }
2846
        YY_BREAK
2847
case 45:
2848
YY_RULE_SETUP
2849
#line 241 "src/maplexer.l"
2850
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_INTERSECTS); }
2851
        YY_BREAK
2852
case 46:
2853
YY_RULE_SETUP
2854
#line 242 "src/maplexer.l"
2855
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DISJOINT); }
2856
        YY_BREAK
2857
case 47:
2858
YY_RULE_SETUP
2859
#line 243 "src/maplexer.l"
2860
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_TOUCHES); }
2861
        YY_BREAK
2862
case 48:
2863
YY_RULE_SETUP
2864
#line 244 "src/maplexer.l"
2865
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_OVERLAPS); }
2866
        YY_BREAK
2867
case 49:
2868
YY_RULE_SETUP
2869
#line 245 "src/maplexer.l"
2870
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CROSSES); }
2871
        YY_BREAK
2872
case 50:
2873
YY_RULE_SETUP
2874
#line 246 "src/maplexer.l"
2875
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_WITHIN); }
2876
        YY_BREAK
2877
case 51:
2878
YY_RULE_SETUP
2879
#line 247 "src/maplexer.l"
2880
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CONTAINS); }
2881
        YY_BREAK
2882
case 52:
2883
YY_RULE_SETUP
2884
#line 248 "src/maplexer.l"
2885
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQUALS); }
2886
        YY_BREAK
2887
case 53:
2888
YY_RULE_SETUP
2889
#line 249 "src/maplexer.l"
2890
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_BEYOND); }
2891
        YY_BREAK
2892
case 54:
2893
YY_RULE_SETUP
2894
#line 250 "src/maplexer.l"
2895
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DWITHIN); }
2896
        YY_BREAK
2897
case 55:
2898
YY_RULE_SETUP
2899
#line 252 "src/maplexer.l"
2900
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FROMTEXT); }
2901
        YY_BREAK
2902
case 56:
2903
YY_RULE_SETUP
2904
#line 254 "src/maplexer.l"
2905
{ msyynumber=MS_TRUE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2906
        YY_BREAK
2907
case 57:
2908
YY_RULE_SETUP
2909
#line 255 "src/maplexer.l"
2910
{ msyynumber=MS_FALSE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2911
        YY_BREAK
2912
case 58:
2913
YY_RULE_SETUP
2914
#line 257 "src/maplexer.l"
2915
{ MS_LEXER_RETURN_TOKEN(COLORRANGE); }
2916
        YY_BREAK
2917
case 59:
2918
YY_RULE_SETUP
2919
#line 258 "src/maplexer.l"
2920
{ MS_LEXER_RETURN_TOKEN(DATARANGE); }
2921
        YY_BREAK
2922
case 60:
2923
YY_RULE_SETUP
2924
#line 259 "src/maplexer.l"
2925
{ MS_LEXER_RETURN_TOKEN(RANGEITEM); }
2926
        YY_BREAK
2927
case 61:
2928
YY_RULE_SETUP
2929
#line 261 "src/maplexer.l"
2930
{ MS_LEXER_RETURN_TOKEN(ALIGN); }
2931
        YY_BREAK
2932
case 62:
2933
YY_RULE_SETUP
2934
#line 262 "src/maplexer.l"
2935
{ MS_LEXER_RETURN_TOKEN(ANCHORPOINT); }
2936
        YY_BREAK
2937
case 63:
2938
YY_RULE_SETUP
2939
#line 263 "src/maplexer.l"
2940
{ MS_LEXER_RETURN_TOKEN(ANGLE); }
2941
        YY_BREAK
2942
case 64:
2943
YY_RULE_SETUP
2944
#line 264 "src/maplexer.l"
2945
{ MS_LEXER_RETURN_TOKEN(ANTIALIAS); }
2946
        YY_BREAK
2947
case 65:
2948
YY_RULE_SETUP
2949
#line 265 "src/maplexer.l"
2950
{ MS_LEXER_RETURN_TOKEN(BACKGROUNDCOLOR); }
2951
        YY_BREAK
2952
case 66:
2953
YY_RULE_SETUP
2954
#line 266 "src/maplexer.l"
2955
{ MS_LEXER_RETURN_TOKEN(BANDSITEM); }
2956
        YY_BREAK
2957
case 67:
2958
YY_RULE_SETUP
2959
#line 267 "src/maplexer.l"
2960
{ MS_LEXER_RETURN_TOKEN(BINDVALS); }
2961
        YY_BREAK
2962
case 68:
2963
YY_RULE_SETUP
2964
#line 268 "src/maplexer.l"
2965
{ MS_LEXER_RETURN_TOKEN(BOM); }
2966
        YY_BREAK
2967
case 69:
2968
YY_RULE_SETUP
2969
#line 269 "src/maplexer.l"
2970
{ MS_LEXER_RETURN_TOKEN(BROWSEFORMAT); }
2971
        YY_BREAK
2972
case 70:
2973
YY_RULE_SETUP
2974
#line 270 "src/maplexer.l"
2975
{ MS_LEXER_RETURN_TOKEN(BUFFER); }
2976
        YY_BREAK
2977
case 71:
2978
YY_RULE_SETUP
2979
#line 271 "src/maplexer.l"
2980
{ MS_LEXER_RETURN_TOKEN(CHARACTER); }
2981
        YY_BREAK
2982
case 72:
2983
YY_RULE_SETUP
2984
#line 272 "src/maplexer.l"
2985
{ MS_LEXER_RETURN_TOKEN(CLASS); }
2986
        YY_BREAK
2987
case 73:
2988
YY_RULE_SETUP
2989
#line 273 "src/maplexer.l"
2990
{ MS_LEXER_RETURN_TOKEN(CLASSITEM); }
2991
        YY_BREAK
2992
case 74:
2993
YY_RULE_SETUP
2994
#line 274 "src/maplexer.l"
2995
{ MS_LEXER_RETURN_TOKEN(CLASSGROUP); }
2996
        YY_BREAK
2997
case 75:
2998
YY_RULE_SETUP
2999
#line 275 "src/maplexer.l"
3000
{ MS_LEXER_RETURN_TOKEN(CLUSTER); }
3001
        YY_BREAK
3002
case 76:
3003
YY_RULE_SETUP
3004
#line 276 "src/maplexer.l"
3005
{ MS_LEXER_RETURN_TOKEN(COLOR); }
3006
        YY_BREAK
3007
case 77:
3008
YY_RULE_SETUP
3009
#line 277 "src/maplexer.l"
3010
{ MS_LEXER_RETURN_TOKEN(COMPFILTER); }
3011
        YY_BREAK
3012
case 78:
3013
YY_RULE_SETUP
3014
#line 278 "src/maplexer.l"
3015
{ MS_LEXER_RETURN_TOKEN(COMPOSITE); }
3016
        YY_BREAK
3017
case 79:
3018
YY_RULE_SETUP
3019
#line 279 "src/maplexer.l"
3020
{ MS_LEXER_RETURN_TOKEN(COMPOP); }
3021
        YY_BREAK
3022
case 80:
3023
YY_RULE_SETUP
3024
#line 280 "src/maplexer.l"
3025
{ MS_LEXER_RETURN_TOKEN(CONFIG); }
3026
        YY_BREAK
3027
case 81:
3028
YY_RULE_SETUP
3029
#line 281 "src/maplexer.l"
3030
{ MS_LEXER_RETURN_TOKEN(CONNECTION); }
3031
        YY_BREAK
3032
case 82:
3033
YY_RULE_SETUP
3034
#line 282 "src/maplexer.l"
3035
{ MS_LEXER_RETURN_TOKEN(CONNECTIONTYPE); }
3036
        YY_BREAK
3037
case 83:
3038
YY_RULE_SETUP
3039
#line 283 "src/maplexer.l"
3040
{ MS_LEXER_RETURN_TOKEN(DATA); }
3041
        YY_BREAK
3042
case 84:
3043
YY_RULE_SETUP
3044
#line 284 "src/maplexer.l"
3045
{ MS_LEXER_RETURN_TOKEN(DEBUG); }
3046
        YY_BREAK
3047
case 85:
3048
YY_RULE_SETUP
3049
#line 285 "src/maplexer.l"
3050
{ MS_LEXER_RETURN_TOKEN(DRIVER); }
3051
        YY_BREAK
3052
case 86:
3053
YY_RULE_SETUP
3054
#line 286 "src/maplexer.l"
3055
{ MS_LEXER_RETURN_TOKEN(EMPTY); }
3056
        YY_BREAK
3057
case 87:
3058
YY_RULE_SETUP
3059
#line 287 "src/maplexer.l"
3060
{ MS_LEXER_RETURN_TOKEN(ENCODING); }
3061
        YY_BREAK
3062
case 88:
3063
YY_RULE_SETUP
3064
#line 288 "src/maplexer.l"
3065
{ MS_LEXER_RETURN_TOKEN(END); }
3066
        YY_BREAK
3067
case 89:
3068
YY_RULE_SETUP
3069
#line 289 "src/maplexer.l"
3070
{ MS_LEXER_RETURN_TOKEN(ERROR); }
3071
        YY_BREAK
3072
case 90:
3073
YY_RULE_SETUP
3074
#line 290 "src/maplexer.l"
3075
{ MS_LEXER_RETURN_TOKEN(EXPRESSION); }
3076
        YY_BREAK
3077
case 91:
3078
YY_RULE_SETUP
3079
#line 291 "src/maplexer.l"
3080
{ MS_LEXER_RETURN_TOKEN(EXTENT); }
3081
        YY_BREAK
3082
case 92:
3083
YY_RULE_SETUP
3084
#line 292 "src/maplexer.l"
3085
{ MS_LEXER_RETURN_TOKEN(EXTENSION); }
3086
        YY_BREAK
3087
case 93:
3088
YY_RULE_SETUP
3089
#line 293 "src/maplexer.l"
3090
{ MS_LEXER_RETURN_TOKEN(FALLBACK); }
3091
        YY_BREAK
3092
case 94:
3093
YY_RULE_SETUP
3094
#line 294 "src/maplexer.l"
3095
{ MS_LEXER_RETURN_TOKEN(FEATURE); }
3096
        YY_BREAK
3097
case 95:
3098
YY_RULE_SETUP
3099
#line 295 "src/maplexer.l"
3100
{ MS_LEXER_RETURN_TOKEN(FILLED); }
3101
        YY_BREAK
3102
case 96:
3103
YY_RULE_SETUP
3104
#line 296 "src/maplexer.l"
3105
{ MS_LEXER_RETURN_TOKEN(FILTER); }
3106
        YY_BREAK
3107
case 97:
3108
YY_RULE_SETUP
3109
#line 297 "src/maplexer.l"
3110
{ MS_LEXER_RETURN_TOKEN(FILTERITEM); }
3111
        YY_BREAK
3112
case 98:
3113
YY_RULE_SETUP
3114
#line 298 "src/maplexer.l"
3115
{ MS_LEXER_RETURN_TOKEN(FOOTER); }
3116
        YY_BREAK
3117
case 99:
3118
YY_RULE_SETUP
3119
#line 299 "src/maplexer.l"
3120
{ MS_LEXER_RETURN_TOKEN(FONT); }
3121
        YY_BREAK
3122
case 100:
3123
YY_RULE_SETUP
3124
#line 300 "src/maplexer.l"
3125
{ MS_LEXER_RETURN_TOKEN(FONTSET); }
3126
        YY_BREAK
3127
case 101:
3128
YY_RULE_SETUP
3129
#line 301 "src/maplexer.l"
3130
{ MS_LEXER_RETURN_TOKEN(FORCE); }
3131
        YY_BREAK
3132
case 102:
3133
YY_RULE_SETUP
3134
#line 302 "src/maplexer.l"
3135
{ MS_LEXER_RETURN_TOKEN(FORMATOPTION); }
3136
        YY_BREAK
3137
case 103:
3138
YY_RULE_SETUP
3139
#line 303 "src/maplexer.l"
3140
{ MS_LEXER_RETURN_TOKEN(FROM); }
3141
        YY_BREAK
3142
case 104:
3143
YY_RULE_SETUP
3144
#line 304 "src/maplexer.l"
3145
{ MS_LEXER_RETURN_TOKEN(GAP); }
3146
        YY_BREAK
3147
case 105:
3148
YY_RULE_SETUP
3149
#line 305 "src/maplexer.l"
3150
{ MS_LEXER_RETURN_TOKEN(GEOMTRANSFORM); }
3151
        YY_BREAK
3152
case 106:
3153
YY_RULE_SETUP
3154
#line 306 "src/maplexer.l"
3155
{ MS_LEXER_RETURN_TOKEN(GRID); }
3156
        YY_BREAK
3157
case 107:
3158
YY_RULE_SETUP
3159
#line 307 "src/maplexer.l"
3160
{ MS_LEXER_RETURN_TOKEN(GRIDSTEP); }
3161
        YY_BREAK
3162
case 108:
3163
YY_RULE_SETUP
3164
#line 308 "src/maplexer.l"
3165
{ MS_LEXER_RETURN_TOKEN(GRATICULE); }
3166
        YY_BREAK
3167
case 109:
3168
YY_RULE_SETUP
3169
#line 309 "src/maplexer.l"
3170
{ MS_LEXER_RETURN_TOKEN(GROUP); }
3171
        YY_BREAK
3172
case 110:
3173
YY_RULE_SETUP
3174
#line 310 "src/maplexer.l"
3175
{ MS_LEXER_RETURN_TOKEN(HEADER); }
3176
        YY_BREAK
3177
case 111:
3178
YY_RULE_SETUP
3179
#line 311 "src/maplexer.l"
3180
{ MS_LEXER_RETURN_TOKEN(IMAGE); }
3181
        YY_BREAK
3182
case 112:
3183
YY_RULE_SETUP
3184
#line 312 "src/maplexer.l"
3185
{ MS_LEXER_RETURN_TOKEN(IMAGECOLOR); }
3186
        YY_BREAK
3187
case 113:
3188
YY_RULE_SETUP
3189
#line 313 "src/maplexer.l"
3190
{ MS_LEXER_RETURN_TOKEN(IMAGETYPE); }
3191
        YY_BREAK
3192
case 114:
3193
YY_RULE_SETUP
3194
#line 314 "src/maplexer.l"
3195
{ MS_LEXER_RETURN_TOKEN(IMAGEMODE); }
3196
        YY_BREAK
3197
case 115:
3198
YY_RULE_SETUP
3199
#line 315 "src/maplexer.l"
3200
{ MS_LEXER_RETURN_TOKEN(IMAGEPATH); }
3201
        YY_BREAK
3202
case 116:
3203
YY_RULE_SETUP
3204
#line 316 "src/maplexer.l"
3205
{ MS_LEXER_RETURN_TOKEN(TEMPPATH); }
3206
        YY_BREAK
3207
case 117:
3208
YY_RULE_SETUP
3209
#line 317 "src/maplexer.l"
3210
{ MS_LEXER_RETURN_TOKEN(IMAGEURL); }
3211
        YY_BREAK
3212
case 118:
3213
YY_RULE_SETUP
3214
#line 318 "src/maplexer.l"
3215
{ BEGIN(INCLUDE); }
3216
        YY_BREAK
3217
case 119:
3218
YY_RULE_SETUP
3219
#line 319 "src/maplexer.l"
3220
{ MS_LEXER_RETURN_TOKEN(INDEX); }
3221
        YY_BREAK
3222
case 120:
3223
YY_RULE_SETUP
3224
#line 320 "src/maplexer.l"
3225
{ MS_LEXER_RETURN_TOKEN(INITIALGAP); }
3226
        YY_BREAK
3227
case 121:
3228
YY_RULE_SETUP
3229
#line 321 "src/maplexer.l"
3230
{ MS_LEXER_RETURN_TOKEN(INTERVALS); } 
3231
        YY_BREAK
3232
case 122:
3233
YY_RULE_SETUP
3234
#line 322 "src/maplexer.l"
3235
{ MS_LEXER_RETURN_TOKEN(JOIN); }
3236
        YY_BREAK
3237
case 123:
3238
YY_RULE_SETUP
3239
#line 323 "src/maplexer.l"
3240
{ MS_LEXER_RETURN_TOKEN(KEYIMAGE); }
3241
        YY_BREAK
3242
case 124:
3243
YY_RULE_SETUP
3244
#line 324 "src/maplexer.l"
3245
{ MS_LEXER_RETURN_TOKEN(KEYSIZE); }
3246
        YY_BREAK
3247
case 125:
3248
YY_RULE_SETUP
3249
#line 325 "src/maplexer.l"
3250
{ MS_LEXER_RETURN_TOKEN(KEYSPACING); }
3251
        YY_BREAK
3252
case 126:
3253
YY_RULE_SETUP
3254
#line 326 "src/maplexer.l"
3255
{ MS_LEXER_RETURN_TOKEN(LABEL); }
3256
        YY_BREAK
3257
case 127:
3258
YY_RULE_SETUP
3259
#line 327 "src/maplexer.l"
3260
{ MS_LEXER_RETURN_TOKEN(LABELCACHE); }
3261
        YY_BREAK
3262
case 128:
3263
YY_RULE_SETUP
3264
#line 328 "src/maplexer.l"
3265
{ MS_LEXER_RETURN_TOKEN(LABELFORMAT); }
3266
        YY_BREAK
3267
case 129:
3268
YY_RULE_SETUP
3269
#line 329 "src/maplexer.l"
3270
{ MS_LEXER_RETURN_TOKEN(LABELITEM); }
3271
        YY_BREAK
3272
case 130:
3273
YY_RULE_SETUP
3274
#line 330 "src/maplexer.l"
3275
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALE); }
3276
        YY_BREAK
3277
case 131:
3278
YY_RULE_SETUP
3279
#line 331 "src/maplexer.l"
3280
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALEDENOM); }
3281
        YY_BREAK
3282
case 132:
3283
YY_RULE_SETUP
3284
#line 332 "src/maplexer.l"
3285
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALE); }
3286
        YY_BREAK
3287
case 133:
3288
YY_RULE_SETUP
3289
#line 333 "src/maplexer.l"
3290
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALEDENOM); }
3291
        YY_BREAK
3292
case 134:
3293
YY_RULE_SETUP
3294
#line 334 "src/maplexer.l"
3295
{ MS_LEXER_RETURN_TOKEN(LABELREQUIRES); }
3296
        YY_BREAK
3297
case 135:
3298
YY_RULE_SETUP
3299
#line 335 "src/maplexer.l"
3300
{ MS_LEXER_RETURN_TOKEN(LATLON); }
3301
        YY_BREAK
3302
case 136:
3303
YY_RULE_SETUP
3304
#line 336 "src/maplexer.l"
3305
{ MS_LEXER_RETURN_TOKEN(LAYER); }
3306
        YY_BREAK
3307
case 137:
3308
YY_RULE_SETUP
3309
#line 337 "src/maplexer.l"
3310
{ MS_LEXER_RETURN_TOKEN(LEADER); }
3311
        YY_BREAK
3312
case 138:
3313
YY_RULE_SETUP
3314
#line 338 "src/maplexer.l"
3315
{ MS_LEXER_RETURN_TOKEN(LEGEND); }
3316
        YY_BREAK
3317
case 139:
3318
YY_RULE_SETUP
3319
#line 339 "src/maplexer.l"
3320
{ MS_LEXER_RETURN_TOKEN(LEGENDFORMAT); }
3321
        YY_BREAK
3322
case 140:
3323
YY_RULE_SETUP
3324
#line 340 "src/maplexer.l"
3325
{ MS_LEXER_RETURN_TOKEN(LINECAP); }
3326
        YY_BREAK
3327
case 141:
3328
YY_RULE_SETUP
3329
#line 341 "src/maplexer.l"
3330
{ MS_LEXER_RETURN_TOKEN(LINEJOIN); }
3331
        YY_BREAK
3332
case 142:
3333
YY_RULE_SETUP
3334
#line 342 "src/maplexer.l"
3335
{ MS_LEXER_RETURN_TOKEN(LINEJOINMAXSIZE); }
3336
        YY_BREAK
3337
case 143:
3338
YY_RULE_SETUP
3339
#line 343 "src/maplexer.l"
3340
{ MS_LEXER_RETURN_TOKEN(MAP); }
3341
        YY_BREAK
3342
case 144:
3343
YY_RULE_SETUP
3344
#line 344 "src/maplexer.l"
3345
{ MS_LEXER_RETURN_TOKEN(MARKER); }
3346
        YY_BREAK
3347
case 145:
3348
YY_RULE_SETUP
3349
#line 345 "src/maplexer.l"
3350
{ MS_LEXER_RETURN_TOKEN(MARKERSIZE); }
3351
        YY_BREAK
3352
case 146:
3353
YY_RULE_SETUP
3354
#line 346 "src/maplexer.l"
3355
{ MS_LEXER_RETURN_TOKEN(MASK); }
3356
        YY_BREAK
3357
case 147:
3358
YY_RULE_SETUP
3359
#line 347 "src/maplexer.l"
3360
{ MS_LEXER_RETURN_TOKEN(MAXARCS); }
3361
        YY_BREAK
3362
case 148:
3363
YY_RULE_SETUP
3364
#line 348 "src/maplexer.l"
3365
{ MS_LEXER_RETURN_TOKEN(MAXBOXSIZE); }
3366
        YY_BREAK
3367
case 149:
3368
YY_RULE_SETUP
3369
#line 349 "src/maplexer.l"
3370
{ MS_LEXER_RETURN_TOKEN(MAXDISTANCE); }
3371
        YY_BREAK
3372
case 150:
3373
YY_RULE_SETUP
3374
#line 350 "src/maplexer.l"
3375
{ MS_LEXER_RETURN_TOKEN(MAXFEATURES); }
3376
        YY_BREAK
3377
case 151:
3378
YY_RULE_SETUP
3379
#line 351 "src/maplexer.l"
3380
{ MS_LEXER_RETURN_TOKEN(MAXINTERVAL); }
3381
        YY_BREAK
3382
case 152:
3383
YY_RULE_SETUP
3384
#line 352 "src/maplexer.l"
3385
{ MS_LEXER_RETURN_TOKEN(MAXSCALE); }
3386
        YY_BREAK
3387
case 153:
3388
YY_RULE_SETUP
3389
#line 353 "src/maplexer.l"
3390
{ MS_LEXER_RETURN_TOKEN(MAXSCALEDENOM); }
3391
        YY_BREAK
3392
case 154:
3393
YY_RULE_SETUP
3394
#line 354 "src/maplexer.l"
3395
{ MS_LEXER_RETURN_TOKEN(MAXGEOWIDTH); }
3396
        YY_BREAK
3397
case 155:
3398
YY_RULE_SETUP
3399
#line 355 "src/maplexer.l"
3400
{ MS_LEXER_RETURN_TOKEN(MAXLENGTH); }
3401
        YY_BREAK
3402
case 156:
3403
YY_RULE_SETUP
3404
#line 356 "src/maplexer.l"
3405
{ MS_LEXER_RETURN_TOKEN(MAXSIZE); }
3406
        YY_BREAK
3407
case 157:
3408
YY_RULE_SETUP
3409
#line 357 "src/maplexer.l"
3410
{ MS_LEXER_RETURN_TOKEN(MAXSUBDIVIDE); }
3411
        YY_BREAK
3412
case 158:
3413
YY_RULE_SETUP
3414
#line 358 "src/maplexer.l"
3415
{ MS_LEXER_RETURN_TOKEN(MAXTEMPLATE); }
3416
        YY_BREAK
3417
case 159:
3418
YY_RULE_SETUP
3419
#line 359 "src/maplexer.l"
3420
{ MS_LEXER_RETURN_TOKEN(MAXWIDTH); }
3421
        YY_BREAK
3422
case 160:
3423
YY_RULE_SETUP
3424
#line 360 "src/maplexer.l"
3425
{ MS_LEXER_RETURN_TOKEN(METADATA); }
3426
        YY_BREAK
3427
case 161:
3428
YY_RULE_SETUP
3429
#line 361 "src/maplexer.l"
3430
{ MS_LEXER_RETURN_TOKEN(MIMETYPE); }
3431
        YY_BREAK
3432
case 162:
3433
YY_RULE_SETUP
3434
#line 362 "src/maplexer.l"
3435
{ MS_LEXER_RETURN_TOKEN(MINARCS); }
3436
        YY_BREAK
3437
case 163:
3438
YY_RULE_SETUP
3439
#line 363 "src/maplexer.l"
3440
{ MS_LEXER_RETURN_TOKEN(MINBOXSIZE); }
3441
        YY_BREAK
3442
case 164:
3443
YY_RULE_SETUP
3444
#line 364 "src/maplexer.l"
3445
{ MS_LEXER_RETURN_TOKEN(MINDISTANCE); }
3446
        YY_BREAK
3447
case 165:
3448
YY_RULE_SETUP
3449
#line 365 "src/maplexer.l"
3450
{ MS_LEXER_RETURN_TOKEN(REPEATDISTANCE); }
3451
        YY_BREAK
3452
case 166:
3453
YY_RULE_SETUP
3454
#line 366 "src/maplexer.l"
3455
{ MS_LEXER_RETURN_TOKEN(MAXOVERLAPANGLE); } 
3456
        YY_BREAK
3457
case 167:
3458
YY_RULE_SETUP
3459
#line 367 "src/maplexer.l"
3460
{ MS_LEXER_RETURN_TOKEN(MINFEATURESIZE); }
3461
        YY_BREAK
3462
case 168:
3463
YY_RULE_SETUP
3464
#line 368 "src/maplexer.l"
3465
{ MS_LEXER_RETURN_TOKEN(MININTERVAL); }
3466
        YY_BREAK
3467
case 169:
3468
YY_RULE_SETUP
3469
#line 369 "src/maplexer.l"
3470
{ MS_LEXER_RETURN_TOKEN(MINSCALE); }
3471
        YY_BREAK
3472
case 170:
3473
YY_RULE_SETUP
3474
#line 370 "src/maplexer.l"
3475
{ MS_LEXER_RETURN_TOKEN(MINSCALEDENOM); }
3476
        YY_BREAK
3477
case 171:
3478
YY_RULE_SETUP
3479
#line 371 "src/maplexer.l"
3480
{ MS_LEXER_RETURN_TOKEN(MINGEOWIDTH); }
3481
        YY_BREAK
3482
case 172:
3483
YY_RULE_SETUP
3484
#line 372 "src/maplexer.l"
3485
{ MS_LEXER_RETURN_TOKEN(MINSIZE); }
3486
        YY_BREAK
3487
case 173:
3488
YY_RULE_SETUP
3489
#line 373 "src/maplexer.l"
3490
{ MS_LEXER_RETURN_TOKEN(MINSUBDIVIDE); }
3491
        YY_BREAK
3492
case 174:
3493
YY_RULE_SETUP
3494
#line 374 "src/maplexer.l"
3495
{ MS_LEXER_RETURN_TOKEN(MINTEMPLATE); }
3496
        YY_BREAK
3497
case 175:
3498
YY_RULE_SETUP
3499
#line 375 "src/maplexer.l"
3500
{ MS_LEXER_RETURN_TOKEN(MINWIDTH); }
3501
        YY_BREAK
3502
case 176:
3503
YY_RULE_SETUP
3504
#line 376 "src/maplexer.l"
3505
{ MS_LEXER_RETURN_TOKEN(NAME); }
3506
        YY_BREAK
3507
case 177:
3508
YY_RULE_SETUP
3509
#line 377 "src/maplexer.l"
3510
{ MS_LEXER_RETURN_TOKEN(OFFSET); }
3511
        YY_BREAK
3512
case 178:
3513
YY_RULE_SETUP
3514
#line 378 "src/maplexer.l"
3515
{ MS_LEXER_RETURN_TOKEN(OFFSITE); }
3516
        YY_BREAK
3517
case 179:
3518
YY_RULE_SETUP
3519
#line 379 "src/maplexer.l"
3520
{ MS_LEXER_RETURN_TOKEN(OPACITY); }
3521
        YY_BREAK
3522
case 180:
3523
YY_RULE_SETUP
3524
#line 380 "src/maplexer.l"
3525
{ MS_LEXER_RETURN_TOKEN(CONNECTIONOPTIONS); }
3526
        YY_BREAK
3527
case 181:
3528
YY_RULE_SETUP
3529
#line 381 "src/maplexer.l"
3530
{ MS_LEXER_RETURN_TOKEN(OUTLINECOLOR); }
3531
        YY_BREAK
3532
case 182:
3533
YY_RULE_SETUP
3534
#line 382 "src/maplexer.l"
3535
{ MS_LEXER_RETURN_TOKEN(OUTLINEWIDTH); }
3536
        YY_BREAK
3537
case 183:
3538
YY_RULE_SETUP
3539
#line 383 "src/maplexer.l"
3540
{ MS_LEXER_RETURN_TOKEN(OUTPUTFORMAT); }
3541
        YY_BREAK
3542
case 184:
3543
YY_RULE_SETUP
3544
#line 384 "src/maplexer.l"
3545
{ MS_LEXER_RETURN_TOKEN(PARTIALS); }
3546
        YY_BREAK
3547
case 185:
3548
YY_RULE_SETUP
3549
#line 385 "src/maplexer.l"
3550
{ MS_LEXER_RETURN_TOKEN(PATTERN); }
3551
        YY_BREAK
3552
case 186:
3553
YY_RULE_SETUP
3554
#line 386 "src/maplexer.l"
3555
{ MS_LEXER_RETURN_TOKEN(POINTS); }
3556
        YY_BREAK
3557
case 187:
3558
YY_RULE_SETUP
3559
#line 387 "src/maplexer.l"
3560
{ MS_LEXER_RETURN_TOKEN(ITEMS); }
3561
        YY_BREAK
3562
case 188:
3563
YY_RULE_SETUP
3564
#line 388 "src/maplexer.l"
3565
{ MS_LEXER_RETURN_TOKEN(POSITION); }
3566
        YY_BREAK
3567
case 189:
3568
YY_RULE_SETUP
3569
#line 389 "src/maplexer.l"
3570
{ MS_LEXER_RETURN_TOKEN(POSTLABELCACHE); }
3571
        YY_BREAK
3572
case 190:
3573
YY_RULE_SETUP
3574
#line 390 "src/maplexer.l"
3575
{ MS_LEXER_RETURN_TOKEN(PRIORITY); }
3576
        YY_BREAK
3577
case 191:
3578
YY_RULE_SETUP
3579
#line 391 "src/maplexer.l"
3580
{ MS_LEXER_RETURN_TOKEN(PROCESSING); }
3581
        YY_BREAK
3582
case 192:
3583
YY_RULE_SETUP
3584
#line 392 "src/maplexer.l"
3585
{ MS_LEXER_RETURN_TOKEN(PROJECTION); }
3586
        YY_BREAK
3587
case 193:
3588
YY_RULE_SETUP
3589
#line 393 "src/maplexer.l"
3590
{ MS_LEXER_RETURN_TOKEN(QUERYFORMAT); }
3591
        YY_BREAK
3592
case 194:
3593
YY_RULE_SETUP
3594
#line 394 "src/maplexer.l"
3595
{ MS_LEXER_RETURN_TOKEN(QUERYMAP); }
3596
        YY_BREAK
3597
case 195:
3598
YY_RULE_SETUP
3599
#line 395 "src/maplexer.l"
3600
{ MS_LEXER_RETURN_TOKEN(REFERENCE); }
3601
        YY_BREAK
3602
case 196:
3603
YY_RULE_SETUP
3604
#line 396 "src/maplexer.l"
3605
{ MS_LEXER_RETURN_TOKEN(REGION); }
3606
        YY_BREAK
3607
case 197:
3608
YY_RULE_SETUP
3609
#line 397 "src/maplexer.l"
3610
{ MS_LEXER_RETURN_TOKEN(RELATIVETO); }
3611
        YY_BREAK
3612
case 198:
3613
YY_RULE_SETUP
3614
#line 398 "src/maplexer.l"
3615
{ MS_LEXER_RETURN_TOKEN(REQUIRES); }
3616
        YY_BREAK
3617
case 199:
3618
YY_RULE_SETUP
3619
#line 399 "src/maplexer.l"
3620
{ MS_LEXER_RETURN_TOKEN(RESOLUTION); }
3621
        YY_BREAK
3622
case 200:
3623
YY_RULE_SETUP
3624
#line 400 "src/maplexer.l"
3625
{ MS_LEXER_RETURN_TOKEN(DEFRESOLUTION); }
3626
        YY_BREAK
3627
case 201:
3628
YY_RULE_SETUP
3629
#line 401 "src/maplexer.l"
3630
{ MS_LEXER_RETURN_TOKEN(SCALE); }
3631
        YY_BREAK
3632
case 202:
3633
YY_RULE_SETUP
3634
#line 402 "src/maplexer.l"
3635
{ MS_LEXER_RETURN_TOKEN(SCALEDENOM); }
3636
        YY_BREAK
3637
case 203:
3638
YY_RULE_SETUP
3639
#line 403 "src/maplexer.l"
3640
{ MS_LEXER_RETURN_TOKEN(SCALEBAR); }
3641
        YY_BREAK
3642
case 204:
3643
YY_RULE_SETUP
3644
#line 404 "src/maplexer.l"
3645
{ MS_LEXER_RETURN_TOKEN(SCALETOKEN); }
3646
        YY_BREAK
3647
case 205:
3648
YY_RULE_SETUP
3649
#line 405 "src/maplexer.l"
3650
{ MS_LEXER_RETURN_TOKEN(SHADOWCOLOR); }
3651
        YY_BREAK
3652
case 206:
3653
YY_RULE_SETUP
3654
#line 406 "src/maplexer.l"
3655
{ MS_LEXER_RETURN_TOKEN(SHADOWSIZE); }
3656
        YY_BREAK
3657
case 207:
3658
YY_RULE_SETUP
3659
#line 407 "src/maplexer.l"
3660
{ MS_LEXER_RETURN_TOKEN(SHAPEPATH); }
3661
        YY_BREAK
3662
case 208:
3663
YY_RULE_SETUP
3664
#line 408 "src/maplexer.l"
3665
{ MS_LEXER_RETURN_TOKEN(SIZE); }
3666
        YY_BREAK
3667
case 209:
3668
YY_RULE_SETUP
3669
#line 409 "src/maplexer.l"
3670
{ MS_LEXER_RETURN_TOKEN(SIZEUNITS); }
3671
        YY_BREAK
3672
case 210:
3673
YY_RULE_SETUP
3674
#line 410 "src/maplexer.l"
3675
{ MS_LEXER_RETURN_TOKEN(STATUS); }
3676
        YY_BREAK
3677
case 211:
3678
YY_RULE_SETUP
3679
#line 411 "src/maplexer.l"
3680
{ MS_LEXER_RETURN_TOKEN(STYLE); }
3681
        YY_BREAK
3682
case 212:
3683
YY_RULE_SETUP
3684
#line 412 "src/maplexer.l"
3685
{ MS_LEXER_RETURN_TOKEN(STYLEITEM); }
3686
        YY_BREAK
3687
case 213:
3688
YY_RULE_SETUP
3689
#line 413 "src/maplexer.l"
3690
{ MS_LEXER_RETURN_TOKEN(SYMBOL); }
3691
        YY_BREAK
3692
case 214:
3693
YY_RULE_SETUP
3694
#line 414 "src/maplexer.l"
3695
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALE); }
3696
        YY_BREAK
3697
case 215:
3698
YY_RULE_SETUP
3699
#line 415 "src/maplexer.l"
3700
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALEDENOM); }
3701
        YY_BREAK
3702
case 216:
3703
YY_RULE_SETUP
3704
#line 416 "src/maplexer.l"
3705
{ MS_LEXER_RETURN_TOKEN(SYMBOLSET); }
3706
        YY_BREAK
3707
case 217:
3708
YY_RULE_SETUP
3709
#line 417 "src/maplexer.l"
3710
{ MS_LEXER_RETURN_TOKEN(TABLE); }
3711
        YY_BREAK
3712
case 218:
3713
YY_RULE_SETUP
3714
#line 418 "src/maplexer.l"
3715
{ MS_LEXER_RETURN_TOKEN(TEMPLATE); }
3716
        YY_BREAK
3717
case 219:
3718
YY_RULE_SETUP
3719
#line 419 "src/maplexer.l"
3720
{ MS_LEXER_RETURN_TOKEN(TEXT); }
3721
        YY_BREAK
3722
case 220:
3723
YY_RULE_SETUP
3724
#line 420 "src/maplexer.l"
3725
{ MS_LEXER_RETURN_TOKEN(TILEINDEX); }
3726
        YY_BREAK
3727
case 221:
3728
YY_RULE_SETUP
3729
#line 421 "src/maplexer.l"
3730
{ MS_LEXER_RETURN_TOKEN(TILEITEM); }
3731
        YY_BREAK
3732
case 222:
3733
YY_RULE_SETUP
3734
#line 422 "src/maplexer.l"
3735
{ MS_LEXER_RETURN_TOKEN(TILESRS); }
3736
        YY_BREAK
3737
case 223:
3738
YY_RULE_SETUP
3739
#line 423 "src/maplexer.l"
3740
{ MS_LEXER_RETURN_TOKEN(TITLE); }
3741
        YY_BREAK
3742
case 224:
3743
YY_RULE_SETUP
3744
#line 424 "src/maplexer.l"
3745
{ MS_LEXER_RETURN_TOKEN(TO); }
3746
        YY_BREAK
3747
case 225:
3748
YY_RULE_SETUP
3749
#line 425 "src/maplexer.l"
3750
{ MS_LEXER_RETURN_TOKEN(TOLERANCE); }
3751
        YY_BREAK
3752
case 226:
3753
YY_RULE_SETUP
3754
#line 426 "src/maplexer.l"
3755
{ MS_LEXER_RETURN_TOKEN(TOLERANCEUNITS); }
3756
        YY_BREAK
3757
case 227:
3758
YY_RULE_SETUP
3759
#line 427 "src/maplexer.l"
3760
{ MS_LEXER_RETURN_TOKEN(TRANSPARENT); }
3761
        YY_BREAK
3762
case 228:
3763
YY_RULE_SETUP
3764
#line 428 "src/maplexer.l"
3765
{ MS_LEXER_RETURN_TOKEN(TRANSFORM); }
3766
        YY_BREAK
3767
case 229:
3768
YY_RULE_SETUP
3769
#line 429 "src/maplexer.l"
3770
{ MS_LEXER_RETURN_TOKEN(TYPE); }
3771
        YY_BREAK
3772
case 230:
3773
YY_RULE_SETUP
3774
#line 430 "src/maplexer.l"
3775
{ MS_LEXER_RETURN_TOKEN(UNITS); }
3776
        YY_BREAK
3777
case 231:
3778
YY_RULE_SETUP
3779
#line 431 "src/maplexer.l"
3780
{ MS_LEXER_RETURN_TOKEN(UTFDATA); }
3781
        YY_BREAK
3782
case 232:
3783
YY_RULE_SETUP
3784
#line 432 "src/maplexer.l"
3785
{ MS_LEXER_RETURN_TOKEN(UTFITEM); }
3786
        YY_BREAK
3787
case 233:
3788
YY_RULE_SETUP
3789
#line 433 "src/maplexer.l"
3790
{ MS_LEXER_RETURN_TOKEN(VALIDATION); }
3791
        YY_BREAK
3792
case 234:
3793
YY_RULE_SETUP
3794
#line 434 "src/maplexer.l"
3795
{ MS_LEXER_RETURN_TOKEN(VALUES); }
3796
        YY_BREAK
3797
case 235:
3798
YY_RULE_SETUP
3799
#line 435 "src/maplexer.l"
3800
{ MS_LEXER_RETURN_TOKEN(WEB); }
3801
        YY_BREAK
3802
case 236:
3803
YY_RULE_SETUP
3804
#line 436 "src/maplexer.l"
3805
{ MS_LEXER_RETURN_TOKEN(WIDTH); }
3806
        YY_BREAK
3807
case 237:
3808
YY_RULE_SETUP
3809
#line 437 "src/maplexer.l"
3810
{ MS_LEXER_RETURN_TOKEN(WKT); }
3811
        YY_BREAK
3812
case 238:
3813
YY_RULE_SETUP
3814
#line 438 "src/maplexer.l"
3815
{ MS_LEXER_RETURN_TOKEN(WRAP); }
3816
        YY_BREAK
3817
case 239:
3818
YY_RULE_SETUP
3819
#line 440 "src/maplexer.l"
3820
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_ANNOTATION); }
3821
        YY_BREAK
3822
case 240:
3823
YY_RULE_SETUP
3824
#line 441 "src/maplexer.l"
3825
{ MS_LEXER_RETURN_TOKEN(MS_AUTO); }
3826
        YY_BREAK
3827
case 241:
3828
YY_RULE_SETUP
3829
#line 442 "src/maplexer.l"
3830
{ MS_LEXER_RETURN_TOKEN(MS_AUTO2); }
3831
        YY_BREAK
3832
case 242:
3833
YY_RULE_SETUP
3834
#line 443 "src/maplexer.l"
3835
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BEVEL); }
3836
        YY_BREAK
3837
case 243:
3838
YY_RULE_SETUP
3839
#line 444 "src/maplexer.l"
3840
{ MS_LEXER_RETURN_TOKEN(MS_BITMAP); }
3841
        YY_BREAK
3842
case 244:
3843
YY_RULE_SETUP
3844
#line 445 "src/maplexer.l"
3845
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BUTT); }
3846
        YY_BREAK
3847
case 245:
3848
YY_RULE_SETUP
3849
#line 446 "src/maplexer.l"
3850
{ MS_LEXER_RETURN_TOKEN(MS_CC); }
3851
        YY_BREAK
3852
case 246:
3853
YY_RULE_SETUP
3854
#line 447 "src/maplexer.l"
3855
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_CENTER); }
3856
        YY_BREAK
3857
case 247:
3858
YY_RULE_SETUP
3859
#line 448 "src/maplexer.l"
3860
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CHART); }
3861
        YY_BREAK
3862
case 248:
3863
YY_RULE_SETUP
3864
#line 449 "src/maplexer.l"
3865
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CIRCLE); }
3866
        YY_BREAK
3867
case 249:
3868
YY_RULE_SETUP
3869
#line 450 "src/maplexer.l"
3870
{ MS_LEXER_RETURN_TOKEN(MS_CL); }
3871
        YY_BREAK
3872
case 250:
3873
YY_RULE_SETUP
3874
#line 451 "src/maplexer.l"
3875
{ MS_LEXER_RETURN_TOKEN(MS_CR); }
3876
        YY_BREAK
3877
case 251:
3878
YY_RULE_SETUP
3879
#line 452 "src/maplexer.l"
3880
{ MS_LEXER_RETURN_TOKEN(MS_DB_CSV); }
3881
        YY_BREAK
3882
case 252:
3883
YY_RULE_SETUP
3884
#line 453 "src/maplexer.l"
3885
{ MS_LEXER_RETURN_TOKEN(MS_DB_POSTGRES); }
3886
        YY_BREAK
3887
case 253:
3888
YY_RULE_SETUP
3889
#line 454 "src/maplexer.l"
3890
{ MS_LEXER_RETURN_TOKEN(MS_DB_MYSQL); }
3891
        YY_BREAK
3892
case 254:
3893
YY_RULE_SETUP
3894
#line 455 "src/maplexer.l"
3895
{ MS_LEXER_RETURN_TOKEN(MS_DEFAULT); }
3896
        YY_BREAK
3897
case 255:
3898
YY_RULE_SETUP
3899
#line 456 "src/maplexer.l"
3900
{ MS_LEXER_RETURN_TOKEN(MS_DD); }
3901
        YY_BREAK
3902
case 256:
3903
YY_RULE_SETUP
3904
#line 457 "src/maplexer.l"
3905
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_ELLIPSE); }
3906
        YY_BREAK
3907
case 257:
3908
YY_RULE_SETUP
3909
#line 458 "src/maplexer.l"
3910
{ MS_LEXER_RETURN_TOKEN(MS_EMBED); }
3911
        YY_BREAK
3912
case 258:
3913
YY_RULE_SETUP
3914
#line 459 "src/maplexer.l"
3915
{ MS_LEXER_RETURN_TOKEN(MS_FALSE); }
3916
        YY_BREAK
3917
case 259:
3918
YY_RULE_SETUP
3919
#line 460 "src/maplexer.l"
3920
{ MS_LEXER_RETURN_TOKEN(MS_FEET); }
3921
        YY_BREAK
3922
case 260:
3923
YY_RULE_SETUP
3924
#line 461 "src/maplexer.l"
3925
{ MS_LEXER_RETURN_TOKEN(MS_FOLLOW); }
3926
        YY_BREAK
3927
case 261:
3928
YY_RULE_SETUP
3929
#line 462 "src/maplexer.l"
3930
{ MS_LEXER_RETURN_TOKEN(MS_GIANT); }
3931
        YY_BREAK
3932
case 262:
3933
YY_RULE_SETUP
3934
#line 463 "src/maplexer.l"
3935
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_HATCH); }
3936
        YY_BREAK
3937
case 263:
3938
YY_RULE_SETUP
3939
#line 464 "src/maplexer.l"
3940
{ MS_LEXER_RETURN_TOKEN(MS_KERNELDENSITY); }
3941
        YY_BREAK
3942
case 264:
3943
YY_RULE_SETUP
3944
#line 465 "src/maplexer.l"
3945
{ MS_LEXER_RETURN_TOKEN(MS_IDW); }
3946
        YY_BREAK
3947
case 265:
3948
YY_RULE_SETUP
3949
#line 466 "src/maplexer.l"
3950
{ MS_LEXER_RETURN_TOKEN(MS_HILITE); }
3951
        YY_BREAK
3952
case 266:
3953
YY_RULE_SETUP
3954
#line 467 "src/maplexer.l"
3955
{ MS_LEXER_RETURN_TOKEN(MS_INCHES); }
3956
        YY_BREAK
3957
case 267:
3958
YY_RULE_SETUP
3959
#line 468 "src/maplexer.l"
3960
{ MS_LEXER_RETURN_TOKEN(MS_KILOMETERS); }
3961
        YY_BREAK
3962
case 268:
3963
YY_RULE_SETUP
3964
#line 469 "src/maplexer.l"
3965
{ MS_LEXER_RETURN_TOKEN(MS_LARGE); }
3966
        YY_BREAK
3967
case 269:
3968
YY_RULE_SETUP
3969
#line 470 "src/maplexer.l"
3970
{ MS_LEXER_RETURN_TOKEN(MS_LC); }
3971
        YY_BREAK
3972
case 270:
3973
YY_RULE_SETUP
3974
#line 471 "src/maplexer.l"
3975
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_LEFT); }
3976
        YY_BREAK
3977
case 271:
3978
YY_RULE_SETUP
3979
#line 472 "src/maplexer.l"
3980
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_LINE); }
3981
        YY_BREAK
3982
case 272:
3983
YY_RULE_SETUP
3984
#line 473 "src/maplexer.l"
3985
{ MS_LEXER_RETURN_TOKEN(MS_LL); }
3986
        YY_BREAK
3987
case 273:
3988
YY_RULE_SETUP
3989
#line 474 "src/maplexer.l"
3990
{ MS_LEXER_RETURN_TOKEN(MS_LR); }
3991
        YY_BREAK
3992
case 274:
3993
YY_RULE_SETUP
3994
#line 475 "src/maplexer.l"
3995
{ MS_LEXER_RETURN_TOKEN(MS_MEDIUM); }
3996
        YY_BREAK
3997
case 275:
3998
YY_RULE_SETUP
3999
#line 476 "src/maplexer.l"
4000
{ MS_LEXER_RETURN_TOKEN(MS_METERS); }
4001
        YY_BREAK
4002
case 276:
4003
YY_RULE_SETUP
4004
#line 477 "src/maplexer.l"
4005
{ MS_LEXER_RETURN_TOKEN(MS_NAUTICALMILES); }
4006
        YY_BREAK
4007
case 277:
4008
YY_RULE_SETUP
4009
#line 478 "src/maplexer.l"
4010
{ MS_LEXER_RETURN_TOKEN(MS_MILES); }
4011
        YY_BREAK
4012
case 278:
4013
YY_RULE_SETUP
4014
#line 479 "src/maplexer.l"
4015
{ MS_LEXER_RETURN_TOKEN(MS_CJC_MITER); }
4016
        YY_BREAK
4017
case 279:
4018
YY_RULE_SETUP
4019
#line 480 "src/maplexer.l"
4020
{ MS_LEXER_RETURN_TOKEN(MS_MULTIPLE); }
4021
        YY_BREAK
4022
case 280:
4023
YY_RULE_SETUP
4024
#line 481 "src/maplexer.l"
4025
{ MS_LEXER_RETURN_TOKEN(MS_CJC_NONE); }
4026
        YY_BREAK
4027
case 281:
4028
YY_RULE_SETUP
4029
#line 482 "src/maplexer.l"
4030
{ MS_LEXER_RETURN_TOKEN(MS_NORMAL); }
4031
        YY_BREAK
4032
case 282:
4033
YY_RULE_SETUP
4034
#line 483 "src/maplexer.l"
4035
{ MS_LEXER_RETURN_TOKEN(MS_OFF); }
4036
        YY_BREAK
4037
case 283:
4038
YY_RULE_SETUP
4039
#line 484 "src/maplexer.l"
4040
{ MS_LEXER_RETURN_TOKEN(MS_OGR); }
4041
        YY_BREAK
4042
case 284:
4043
YY_RULE_SETUP
4044
#line 485 "src/maplexer.l"
4045
{ MS_LEXER_RETURN_TOKEN(MS_FLATGEOBUF); }
4046
        YY_BREAK
4047
case 285:
4048
YY_RULE_SETUP
4049
#line 486 "src/maplexer.l"
4050
{ MS_LEXER_RETURN_TOKEN(MS_ON); }
4051
        YY_BREAK
4052
case 286:
4053
YY_RULE_SETUP
4054
#line 487 "src/maplexer.l"
4055
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_ONE); }
4056
        YY_BREAK
4057
case 287:
4058
YY_RULE_SETUP
4059
#line 488 "src/maplexer.l"
4060
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_MANY); }
4061
        YY_BREAK
4062
case 288:
4063
YY_RULE_SETUP
4064
#line 489 "src/maplexer.l"
4065
{ MS_LEXER_RETURN_TOKEN(MS_ORACLESPATIAL); }
4066
        YY_BREAK
4067
case 289:
4068
YY_RULE_SETUP
4069
#line 490 "src/maplexer.l"
4070
{ MS_LEXER_RETURN_TOKEN(MS_PERCENTAGES); }
4071
        YY_BREAK
4072
case 290:
4073
YY_RULE_SETUP
4074
#line 491 "src/maplexer.l"
4075
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_PIXMAP); }
4076
        YY_BREAK
4077
case 291:
4078
YY_RULE_SETUP
4079
#line 492 "src/maplexer.l"
4080
{ MS_LEXER_RETURN_TOKEN(MS_PIXELS); }
4081
        YY_BREAK
4082
case 292:
4083
YY_RULE_SETUP
4084
#line 493 "src/maplexer.l"
4085
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POINT); }
4086
        YY_BREAK
4087
case 293:
4088
YY_RULE_SETUP
4089
#line 494 "src/maplexer.l"
4090
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POLYGON); }
4091
        YY_BREAK
4092
case 294:
4093
YY_RULE_SETUP
4094
#line 495 "src/maplexer.l"
4095
{ MS_LEXER_RETURN_TOKEN(MS_POSTGIS); }
4096
        YY_BREAK
4097
case 295:
4098
YY_RULE_SETUP
4099
#line 496 "src/maplexer.l"
4100
{ MS_LEXER_RETURN_TOKEN(MS_PLUGIN); }
4101
        YY_BREAK
4102
case 296:
4103
YY_RULE_SETUP
4104
#line 497 "src/maplexer.l"
4105
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_QUERY); }
4106
        YY_BREAK
4107
case 297:
4108
YY_RULE_SETUP
4109
#line 498 "src/maplexer.l"
4110
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_RASTER); }
4111
        YY_BREAK
4112
case 298:
4113
YY_RULE_SETUP
4114
#line 499 "src/maplexer.l"
4115
{ MS_LEXER_RETURN_TOKEN(MS_RASTER_LABEL); }
4116
        YY_BREAK
4117
case 299:
4118
YY_RULE_SETUP
4119
#line 500 "src/maplexer.l"
4120
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_RIGHT); }
4121
        YY_BREAK
4122
case 300:
4123
YY_RULE_SETUP
4124
#line 501 "src/maplexer.l"
4125
{ MS_LEXER_RETURN_TOKEN(MS_CJC_ROUND); }
4126
        YY_BREAK
4127
case 301:
4128
YY_RULE_SETUP
4129
#line 502 "src/maplexer.l"
4130
{ MS_LEXER_RETURN_TOKEN(MS_SELECTED); }
4131
        YY_BREAK
4132
case 302:
4133
YY_RULE_SETUP
4134
#line 503 "src/maplexer.l"
4135
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SIMPLE); }
4136
        YY_BREAK
4137
case 303:
4138
YY_RULE_SETUP
4139
#line 504 "src/maplexer.l"
4140
{ MS_LEXER_RETURN_TOKEN(MS_SINGLE); }
4141
        YY_BREAK
4142
case 304:
4143
YY_RULE_SETUP
4144
#line 505 "src/maplexer.l"
4145
{ MS_LEXER_RETURN_TOKEN(MS_SMALL); }
4146
        YY_BREAK
4147
case 305:
4148
YY_RULE_SETUP
4149
#line 506 "src/maplexer.l"
4150
{ MS_LEXER_RETURN_TOKEN(MS_CJC_SQUARE); }
4151
        YY_BREAK
4152
case 306:
4153
YY_RULE_SETUP
4154
#line 507 "src/maplexer.l"
4155
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SVG); }
4156
        YY_BREAK
4157
case 307:
4158
YY_RULE_SETUP
4159
#line 508 "src/maplexer.l"
4160
{ MS_LEXER_RETURN_TOKEN(POLAROFFSET); }
4161
        YY_BREAK
4162
case 308:
4163
YY_RULE_SETUP
4164
#line 509 "src/maplexer.l"
4165
{ MS_LEXER_RETURN_TOKEN(MS_TINY); }
4166
        YY_BREAK
4167
case 309:
4168
YY_RULE_SETUP
4169
#line 510 "src/maplexer.l"
4170
{ MS_LEXER_RETURN_TOKEN(MS_CJC_TRIANGLE); }
4171
        YY_BREAK
4172
case 310:
4173
YY_RULE_SETUP
4174
#line 511 "src/maplexer.l"
4175
{ MS_LEXER_RETURN_TOKEN(MS_TRUE); }
4176
        YY_BREAK
4177
case 311:
4178
YY_RULE_SETUP
4179
#line 512 "src/maplexer.l"
4180
{ MS_LEXER_RETURN_TOKEN(MS_TRUETYPE); }
4181
        YY_BREAK
4182
case 312:
4183
YY_RULE_SETUP
4184
#line 513 "src/maplexer.l"
4185
{ MS_LEXER_RETURN_TOKEN(MS_UC); }
4186
        YY_BREAK
4187
case 313:
4188
YY_RULE_SETUP
4189
#line 514 "src/maplexer.l"
4190
{ MS_LEXER_RETURN_TOKEN(MS_UL); }
4191
        YY_BREAK
4192
case 314:
4193
YY_RULE_SETUP
4194
#line 515 "src/maplexer.l"
4195
{ MS_LEXER_RETURN_TOKEN(MS_UR); }
4196
        YY_BREAK
4197
case 315:
4198
YY_RULE_SETUP
4199
#line 516 "src/maplexer.l"
4200
{ MS_LEXER_RETURN_TOKEN(MS_UNION); }
4201
        YY_BREAK
4202
case 316:
4203
YY_RULE_SETUP
4204
#line 517 "src/maplexer.l"
4205
{ MS_LEXER_RETURN_TOKEN(MS_UVRASTER); }
4206
        YY_BREAK
4207
case 317:
4208
YY_RULE_SETUP
4209
#line 518 "src/maplexer.l"
4210
{ MS_LEXER_RETURN_TOKEN(MS_CONTOUR); }
4211
        YY_BREAK
4212
case 318:
4213
YY_RULE_SETUP
4214
#line 519 "src/maplexer.l"
4215
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_VECTOR); }
4216
        YY_BREAK
4217
case 319:
4218
YY_RULE_SETUP
4219
#line 520 "src/maplexer.l"
4220
{ MS_LEXER_RETURN_TOKEN(MS_WFS); }
4221
        YY_BREAK
4222
case 320:
4223
YY_RULE_SETUP
4224
#line 521 "src/maplexer.l"
4225
{ MS_LEXER_RETURN_TOKEN(MS_WMS); }
4226
        YY_BREAK
4227
case 321:
4228
/* rule 321 can match eol */
4229
YY_RULE_SETUP
4230
#line 523 "src/maplexer.l"
4231
{
4232
                                                 msyytext++;
4233
                                                 msyytext[msyyleng-1-1] = '\0';
4234
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4235
                                                                         msyystring_buffer_size);
4236
                                                 strcpy(msyystring_buffer,msyytext);
4237
                                                 return(MS_BINDING);
4238
                                               }
4239
        YY_BREAK
4240
case 322:
4241
YY_RULE_SETUP
4242
#line 532 "src/maplexer.l"
4243
{ 
4244
  /* attribute binding - shape (fixed value) */
4245
  return(MS_TOKEN_BINDING_SHAPE);
4246
}
4247
        YY_BREAK
4248
case 323:
4249
YY_RULE_SETUP
4250
#line 536 "src/maplexer.l"
4251
{ 
4252
  /* attribute binding - map cellsize */
4253
  return(MS_TOKEN_BINDING_MAP_CELLSIZE);
4254
}
4255
        YY_BREAK
4256
case 324:
4257
YY_RULE_SETUP
4258
#line 540 "src/maplexer.l"
4259
{ 
4260
  /* attribute binding - data cellsize */
4261
  return(MS_TOKEN_BINDING_DATA_CELLSIZE);
4262
}
4263
        YY_BREAK
4264
case 325:
4265
/* rule 325 can match eol */
4266
YY_RULE_SETUP
4267
#line 544 "src/maplexer.l"
4268
{
4269
  /* attribute binding - numeric (no quotes) */
4270
  msyytext++;
4271
  msyytext[msyyleng-1-1] = '\0';
4272
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4273
                          msyystring_buffer_size);
4274
  strcpy(msyystring_buffer, msyytext);
4275
  return(MS_TOKEN_BINDING_DOUBLE);
4276
}
4277
        YY_BREAK
4278
case 326:
4279
/* rule 326 can match eol */
4280
YY_RULE_SETUP
4281
#line 553 "src/maplexer.l"
4282
{
4283
  /* attribute binding - string (single or double quotes) */
4284
  msyytext+=2;
4285
  msyytext[msyyleng-2-2] = '\0';
4286
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4287
                          msyystring_buffer_size);
4288
  strcpy(msyystring_buffer, msyytext);
4289
  return(MS_TOKEN_BINDING_STRING);
4290
}
4291
        YY_BREAK
4292
case 327:
4293
/* rule 327 can match eol */
4294
YY_RULE_SETUP
4295
#line 562 "src/maplexer.l"
4296
{
4297
  /* attribute binding - time */
4298
  msyytext+=2;
4299
  msyytext[msyyleng-2-2] = '\0';
4300
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng,
4301
                          msyystring_buffer_size);
4302
  strcpy(msyystring_buffer, msyytext);
4303
  return(MS_TOKEN_BINDING_TIME);
4304
}
4305
        YY_BREAK
4306
case 328:
4307
YY_RULE_SETUP
4308
#line 572 "src/maplexer.l"
4309
{
4310
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4311
                          msyystring_buffer_size);
4312
  strcpy(msyystring_buffer,msyytext);
4313
  msyynumber = atof(msyytext);
4314
  return(MS_NUMBER); 
4315
}
4316
        YY_BREAK
4317
case 329:
4318
YY_RULE_SETUP
4319
#line 580 "src/maplexer.l"
4320
{
4321
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4322
                          msyystring_buffer_size);
4323
  strcpy(msyystring_buffer,msyytext);
4324
  msyynumber = atof(msyytext);
4325
  return(MS_TOKEN_LITERAL_NUMBER);
4326
}
4327
        YY_BREAK
4328
case 330:
4329
/* rule 330 can match eol */
4330
YY_RULE_SETUP
4331
#line 588 "src/maplexer.l"
4332
{
4333
  msyytext++;
4334
  msyytext[msyyleng-1-1] = '\0';
4335
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4336
                          msyystring_buffer_size);
4337
  strcpy(msyystring_buffer, msyytext);
4338
  return(MS_TOKEN_LITERAL_TIME);
4339
}
4340
        YY_BREAK
4341
case 331:
4342
/* rule 331 can match eol */
4343
YY_RULE_SETUP
4344
#line 597 "src/maplexer.l"
4345
{
4346
                                                 msyytext++;
4347
                                                 msyytext[msyyleng-1-2] = '\0';
4348
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4349
                                                                         msyystring_buffer_size);
4350
                                                 strcpy(msyystring_buffer, msyytext);
4351
                                                 return(MS_IREGEX);
4352
                                               }
4353
        YY_BREAK
4354
case 332:
4355
/* rule 332 can match eol */
4356
YY_RULE_SETUP
4357
#line 606 "src/maplexer.l"
4358
{
4359
                                                 msyytext++;
4360
                                                 msyytext[msyyleng-1-1] = '\0';
4361
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4362
                                                                         msyystring_buffer_size);
4363
                                                 strcpy(msyystring_buffer, msyytext);
4364
                                                 return(MS_REGEX);
4365
                                               }
4366
        YY_BREAK
4367
case 333:
4368
YY_RULE_SETUP
4369
#line 615 "src/maplexer.l"
4370
{
4371
                                                 msyytext++;
4372
                                                 msyytext[msyyleng-1-1] = '\0';
4373
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4374
                                                                         msyystring_buffer_size);
4375
                                                 strcpy(msyystring_buffer, msyytext);
4376
                                                 return(MS_EXPRESSION);
4377
                                               }
4378
        YY_BREAK
4379
case 334:
4380
YY_RULE_SETUP
4381
#line 624 "src/maplexer.l"
4382
{
4383
                                                 msyytext++;
4384
                                                 msyytext[msyyleng-1-1] = '\0';
4385
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4386
                                                                         msyystring_buffer_size);
4387
                                                 strcpy(msyystring_buffer, msyytext);
4388
                                                 return(MS_LIST);
4389
                                               }
4390
        YY_BREAK
4391
case 335:
4392
YY_RULE_SETUP
4393
#line 633 "src/maplexer.l"
4394
{
4395
                                                 msyystring_return_state = MS_STRING;
4396
                                                 msyystring_begin = msyytext[0]; 
4397
                                                 msyystring_size = 0;
4398
                                                 msyystring_buffer[0] = '\0';
4399
                                                 BEGIN(MSSTRING);
4400
                                              }
4401
        YY_BREAK
4402
case 336:
4403
YY_RULE_SETUP
4404
#line 641 "src/maplexer.l"
4405
{
4406
                                                if (msyystring_begin == msyytext[0]) {
4407
                                                   BEGIN(msyystring_begin_state);
4408
                                                   if (msyystring_return_state == MS_STRING) {
4409
                                                      if (msyystring_icase && msyyleng==2) {
4410
                                                         msyystring_icase = MS_FALSE; // reset
4411
                                                         return MS_ISTRING;
4412
                                                      } else
4413
                                                        return MS_STRING;
4414
                                                   }
4415
                                                   return msyystring_return_state;
4416

4417
                                                }
4418
                                                else {
4419
                                                  int old_size = msyystring_size;
4420
                                                  msyystring_size += (msyyleng==2) ? 2 : 1;
4421
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4422
                                                                          msyystring_buffer_size);
4423
                                                  msyystring_buffer[old_size] = *msyytext;
4424
                                                  if (msyyleng==2) {
4425
                                                     msyystring_buffer[old_size+1] = msyytext[1];
4426
                                                  }
4427
                                                  msyystring_buffer[msyystring_size] = '\0';
4428
                                                }
4429
                                              }
4430
        YY_BREAK
4431
case 337:
4432
YY_RULE_SETUP
4433
#line 667 "src/maplexer.l"
4434
{ 
4435
                                                ++msyystring_size;
4436
                                                MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4437
                                                                        msyystring_buffer_size);
4438

4439
                                                if (msyyleng == 2)
4440
                                                    msyystring_buffer[msyystring_size-1] = msyytext[1]; 
4441
                                                else
4442
                                                    msyystring_buffer[msyystring_size-1] = msyytext[0];
4443
                                                msyystring_buffer[msyystring_size] = '\0';
4444
                                             }
4445
        YY_BREAK
4446
case 338:
4447
/* rule 338 can match eol */
4448
YY_RULE_SETUP
4449
#line 679 "src/maplexer.l"
4450
{
4451
                                                 int old_size = msyystring_size;
4452
                                                 msyystring_size += msyyleng;
4453
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4454
                                                                         msyystring_buffer_size);
4455
                                                 memcpy(msyystring_buffer + old_size, msyytext, msyyleng + 1);
4456
                                             }
4457
        YY_BREAK
4458
case 339:
4459
/* rule 339 can match eol */
4460
YY_RULE_SETUP
4461
#line 687 "src/maplexer.l"
4462
{
4463
                                                 msyytext++;
4464
                                                 msyytext[msyyleng-1-1] = '\0';
4465

4466
                                                 if(include_stack_ptr >= MAX_INCLUDE_DEPTH) {
4467
                                                   msSetError(MS_IOERR, "Includes nested to deeply.", "msyylex()");
4468
                                                   return(-1);
4469
                                                 }
4470

4471
                                                 msyyin = fopen(msBuildPath(path, msyybasepath, msyytext), "r");
4472
                                                 if(!msyyin) {
4473
                                                   msSetError(MS_IOERR, "Error opening included file \"%s\".", "msyylex()", msyytext);
4474
                                                   msyyin = YY_CURRENT_BUFFER->yy_input_file;
4475
                                                   return(-1);
4476
                                                 }
4477

4478
                                                 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; /* save state */
4479
                                                 include_lineno[include_stack_ptr] = msyylineno;
4480
                                                 include_stack_ptr++;
4481

4482
                                                 msyy_switch_to_buffer( msyy_create_buffer(msyyin, YY_BUF_SIZE) );
4483
                                                 msyylineno = 1;
4484

4485
                                                 BEGIN(INITIAL);
4486
                                               }
4487
        YY_BREAK
4488
case 340:
4489
YY_RULE_SETUP
4490
#line 713 "src/maplexer.l"
4491
{
4492
                                                 msyystring_return_state = MS_TOKEN_LITERAL_STRING;
4493
                                                 msyystring_begin = msyytext[0]; 
4494
                                                 msyystring_size = 0;
4495
                                                 msyystring_buffer[0] = '\0';
4496
                                                 BEGIN(MSSTRING);
4497
                                              }
4498
        YY_BREAK
4499
case 341:
4500
YY_RULE_SETUP
4501
#line 721 "src/maplexer.l"
4502
{ 
4503
                                                    MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4504
                                                                            msyystring_buffer_size);
4505
                                                    strcpy(msyystring_buffer, msyytext); 
4506
                                                    return(MS_STRING); 
4507
                                                }
4508
        YY_BREAK
4509
case 342:
4510
/* rule 342 can match eol */
4511
YY_RULE_SETUP
4512
#line 728 "src/maplexer.l"
4513
{ msyylineno++; }
4514
        YY_BREAK
4515
case YY_STATE_EOF(INITIAL):
4516
case YY_STATE_EOF(CONFIG_FILE):
4517
#line 730 "src/maplexer.l"
4518
{
4519
                                                  if( --include_stack_ptr < 0 )
4520
                                                    return(EOF); /* end of main file */
4521
                                                  else {
4522
                                                    fclose(YY_CURRENT_BUFFER->yy_input_file);
4523
                                                    msyy_delete_buffer( YY_CURRENT_BUFFER );
4524
                                                    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
4525
                                                    msyylineno = include_lineno[include_stack_ptr];
4526
                                                  }
4527
                                                }
4528
        YY_BREAK
4529
case 343:
4530
/* rule 343 can match eol */
4531
YY_RULE_SETUP
4532
#line 741 "src/maplexer.l"
4533
{
4534
  return(0); 
4535
}
4536
        YY_BREAK
4537
case 344:
4538
YY_RULE_SETUP
4539
#line 745 "src/maplexer.l"
4540
{ 
4541
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4542
                                                                          msyystring_buffer_size);
4543
                                                  strcpy(msyystring_buffer, msyytext); 
4544
                                                  return(0); 
4545
                                                }
4546
        YY_BREAK
4547
case 345:
4548
YY_RULE_SETUP
4549
#line 751 "src/maplexer.l"
4550
{ return(msyytext[0]); }
4551
        YY_BREAK
4552
case 346:
4553
YY_RULE_SETUP
4554
#line 752 "src/maplexer.l"
4555
ECHO;
4556
        YY_BREAK
4557
#line 4558 "src/maplexer.c"
4558
case YY_STATE_EOF(EXPRESSION_STRING):
4559
case YY_STATE_EOF(INCLUDE):
4560
case YY_STATE_EOF(MSSTRING):
4561
case YY_STATE_EOF(MULTILINE_COMMENT):
4562
        yyterminate();
4563

4564
        case YY_END_OF_BUFFER:
38,320✔
4565
                {
4566
                /* Amount of text matched not including the EOB char. */
4567
                int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
38,320✔
4568

4569
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
4570
                *yy_cp = (yy_hold_char);
38,320✔
4571
                YY_RESTORE_YY_MORE_OFFSET
4572

4573
                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
38,320✔
4574
                        {
4575
                        /* We're scanning a new file or input source.  It's
4576
                         * possible that this happened because the user
4577
                         * just pointed yyin at a new source and called
4578
                         * yylex().  If so, then we have to assure
4579
                         * consistency between YY_CURRENT_BUFFER and our
4580
                         * globals.  Here is the right place to do so, because
4581
                         * this is the first action (other than possibly a
4582
                         * back-up) that will match for the new input source.
4583
                         */
4584
                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
13,461✔
4585
                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
13,461✔
4586
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
13,461✔
4587
                        }
4588

4589
                /* Note that here we test for yy_c_buf_p "<=" to the position
4590
                 * of the first EOB in the buffer, since yy_c_buf_p will
4591
                 * already have been incremented past the NUL character
4592
                 * (since all states make transitions on EOB to the
4593
                 * end-of-buffer state).  Contrast this with the test
4594
                 * in input().
4595
                 */
4596
                if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
38,320✔
4597
                        { /* This was really a NUL. */
4598
                        yy_state_type yy_next_state;
4599

4600
                        (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
×
4601

4602
                        yy_current_state = yy_get_previous_state(  );
×
4603

4604
                        /* Okay, we're now positioned to make the NUL
4605
                         * transition.  We couldn't have
4606
                         * yy_get_previous_state() go ahead and do it
4607
                         * for us because it doesn't know how to deal
4608
                         * with the possibility of jamming (and we don't
4609
                         * want to build jamming into it because then it
4610
                         * will run more slowly).
4611
                         */
4612

4613
                        yy_next_state = yy_try_NUL_trans( yy_current_state );
×
4614

4615
                        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
×
4616

4617
                        if ( yy_next_state )
×
4618
                                {
4619
                                /* Consume the NUL. */
4620
                                yy_cp = ++(yy_c_buf_p);
×
4621
                                yy_current_state = yy_next_state;
4622
                                goto yy_match;
×
4623
                                }
4624

4625
                        else
4626
                                {
4627
                                yy_cp = (yy_last_accepting_cpos);
×
4628
                                yy_current_state = (yy_last_accepting_state);
×
4629
                                goto yy_find_action;
×
4630
                                }
4631
                        }
4632

4633
                else switch ( yy_get_next_buffer(  ) )
38,320✔
4634
                        {
4635
                        case EOB_ACT_END_OF_FILE:
5,029✔
4636
                                {
4637
                                (yy_did_buffer_switch_on_eof) = 0;
5,029✔
4638

4639
                                if ( yywrap(  ) )
5,029✔
4640
                                        {
4641
                                        /* Note: because we've taken care in
4642
                                         * yy_get_next_buffer() to have set up
4643
                                         * yytext, we can now set up
4644
                                         * yy_c_buf_p so that if some total
4645
                                         * hoser (like flex itself) wants to
4646
                                         * call the scanner after we return the
4647
                                         * YY_NULL, it'll still work - another
4648
                                         * YY_NULL will get returned.
4649
                                         */
4650
                                        (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5,029✔
4651

4652
                                        yy_act = YY_STATE_EOF(YY_START);
5,029✔
4653
                                        goto do_action;
5,029✔
4654
                                        }
4655

4656
                                else
4657
                                        {
4658
                                        if ( ! (yy_did_buffer_switch_on_eof) )
×
4659
                                                YY_NEW_FILE;
×
4660
                                        }
4661
                                break;
4662
                                }
4663

4664
                        case EOB_ACT_CONTINUE_SCAN:
25,435✔
4665
                                (yy_c_buf_p) =
25,435✔
4666
                                        (yytext_ptr) + yy_amount_of_matched_text;
25,435✔
4667

4668
                                yy_current_state = yy_get_previous_state(  );
25,435✔
4669

4670
                                yy_cp = (yy_c_buf_p);
25,435✔
4671
                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
25,435✔
4672
                                goto yy_match;
25,435✔
4673

4674
                        case EOB_ACT_LAST_MATCH:
7,856✔
4675
                                (yy_c_buf_p) =
7,856✔
4676
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7,856✔
4677

4678
                                yy_current_state = yy_get_previous_state(  );
7,856✔
4679

4680
                                yy_cp = (yy_c_buf_p);
7,856✔
4681
                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7,856✔
4682
                                goto yy_find_action;
7,856✔
4683
                        }
4684
                break;
4685
                }
4686

4687
        default:
×
4688
                YY_FATAL_ERROR(
×
4689
                        "fatal flex scanner internal error--no action found" );
4690
        } /* end of action switch */
4691
                } /* end of scanning one token */
4692
        } /* end of user's declarations */
4693
} /* end of yylex */
4694

4695
/* yy_get_next_buffer - try to read in a new buffer
4696
 *
4697
 * Returns a code representing an action:
4698
 *        EOB_ACT_LAST_MATCH -
4699
 *        EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4700
 *        EOB_ACT_END_OF_FILE - end of file
4701
 */
4702
static int yy_get_next_buffer (void)
38,320✔
4703
{
4704
            char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
38,320✔
4705
        char *source = (yytext_ptr);
38,320✔
4706
        int number_to_move, i;
4707
        int ret_val;
4708

4709
        if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
38,320✔
4710
                YY_FATAL_ERROR(
×
4711
                "fatal flex scanner internal error--end of buffer missed" );
4712

4713
        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
38,320✔
4714
                { /* Don't try to fill the buffer, so this is an EOF. */
4715
                if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5,292✔
4716
                        {
4717
                        /* We matched a single character, the EOB, so
4718
                         * treat this as a final EOF.
4719
                         */
4720
                        return EOB_ACT_END_OF_FILE;
4721
                        }
4722

4723
                else
4724
                        {
4725
                        /* We matched some text prior to the EOB, first
4726
                         * process it.
4727
                         */
4728
                        return EOB_ACT_LAST_MATCH;
4,039✔
4729
                        }
4730
                }
4731

4732
        /* Try to read more data. */
4733

4734
        /* First move last chars to start of buffer. */
4735
        number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
33,028✔
4736

4737
        for ( i = 0; i < number_to_move; ++i )
1,038,162✔
4738
                *(dest++) = *(source++);
1,005,134✔
4739

4740
        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
33,028✔
4741
                /* don't do the read, it's not guaranteed to return an EOF,
4742
                 * just force an EOF
4743
                 */
4744
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3,775✔
4745

4746
        else
4747
                {
4748
                        int num_to_read =
29,253✔
4749
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
29,253✔
4750

4751
                while ( num_to_read <= 0 )
29,281✔
4752
                        { /* Not enough room in the buffer - grow it. */
4753

4754
                        /* just a shorter name for the current buffer */
4755
                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
28✔
4756

4757
                        int yy_c_buf_p_offset =
28✔
4758
                                (int) ((yy_c_buf_p) - b->yy_ch_buf);
28✔
4759

4760
                        if ( b->yy_is_our_buffer )
28✔
4761
                                {
4762
                                int new_size = b->yy_buf_size * 2;
28✔
4763

4764
                                if ( new_size <= 0 )
28✔
4765
                                        b->yy_buf_size += b->yy_buf_size / 8;
×
4766
                                else
4767
                                        b->yy_buf_size *= 2;
28✔
4768

4769
                                b->yy_ch_buf = (char *)
28✔
4770
                                        /* Include room in for 2 EOB chars. */
4771
                                        yyrealloc( (void *) b->yy_ch_buf,
28✔
4772
                                                         (yy_size_t) (b->yy_buf_size + 2)  );
28✔
4773
                                }
4774
                        else
4775
                                /* Can't grow it, we don't own it. */
4776
                                b->yy_ch_buf = NULL;
×
4777

4778
                        if ( ! b->yy_ch_buf )
28✔
4779
                                YY_FATAL_ERROR(
×
4780
                                "fatal error - scanner input buffer overflow" );
4781

4782
                        (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
28✔
4783

4784
                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
28✔
4785
                                                number_to_move - 1;
4786

4787
                        }
4788

4789
                if ( num_to_read > YY_READ_BUF_SIZE )
29,253✔
4790
                        num_to_read = YY_READ_BUF_SIZE;
4791

4792
                /* Read in more data. */
4793
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
58,506✔
4794
                        (yy_n_chars), num_to_read );
4795

4796
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
29,253✔
4797
                }
4798

4799
        if ( (yy_n_chars) == 0 )
33,028✔
4800
                {
4801
                if ( number_to_move == YY_MORE_ADJ )
7,593✔
4802
                        {
4803
                        ret_val = EOB_ACT_END_OF_FILE;
4804
                        yyrestart( yyin  );
3,776✔
4805
                        }
4806

4807
                else
4808
                        {
4809
                        ret_val = EOB_ACT_LAST_MATCH;
4810
                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3,817✔
4811
                                YY_BUFFER_EOF_PENDING;
4812
                        }
4813
                }
4814

4815
        else
4816
                ret_val = EOB_ACT_CONTINUE_SCAN;
4817

4818
        if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
33,028✔
4819
                /* Extend the array by 50%, plus the number we really need. */
4820
                int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
×
4821
                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
×
4822
                        (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
×
4823
                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
×
4824
                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
×
4825
                /* "- 2" to take care of EOB's */
4826
                YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
×
4827
        }
4828

4829
        (yy_n_chars) += number_to_move;
33,028✔
4830
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
33,028✔
4831
        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
33,028✔
4832

4833
        (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
33,028✔
4834

4835
        return ret_val;
33,028✔
4836
}
4837

4838
/* yy_get_previous_state - get the state just before the EOB char was reached */
4839

4840
    static yy_state_type yy_get_previous_state (void)
33,291✔
4841
{
4842
        yy_state_type yy_current_state;
4843
        char *yy_cp;
4844
    
4845
        yy_current_state = (yy_start);
33,291✔
4846

4847
        for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1,137,927✔
4848
                {
4849
                YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 86);
1,104,636✔
4850
                if ( yy_accept[yy_current_state] )
1,104,636✔
4851
                        {
4852
                        (yy_last_accepting_state) = yy_current_state;
988,446✔
4853
                        (yy_last_accepting_cpos) = yy_cp;
988,446✔
4854
                        }
4855
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2,159,459✔
4856
                        {
4857
                        yy_current_state = (int) yy_def[yy_current_state];
1,054,823✔
4858
                        if ( yy_current_state >= 1742 )
1,054,823✔
4859
                                yy_c = yy_meta[yy_c];
1,054,823✔
4860
                        }
4861
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1,104,636✔
4862
                }
4863

4864
        return yy_current_state;
33,291✔
4865
}
4866

4867
/* yy_try_NUL_trans - try to make a transition on the NUL character
4868
 *
4869
 * synopsis
4870
 *        next_state = yy_try_NUL_trans( current_state );
4871
 */
4872
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
×
4873
{
4874
        int yy_is_jam;
4875
            char *yy_cp = (yy_c_buf_p);
×
4876

4877
        YY_CHAR yy_c = 86;
4878
        if ( yy_accept[yy_current_state] )
×
4879
                {
4880
                (yy_last_accepting_state) = yy_current_state;
×
4881
                (yy_last_accepting_cpos) = yy_cp;
×
4882
                }
4883
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
×
4884
                {
4885
                yy_current_state = (int) yy_def[yy_current_state];
×
4886
                if ( yy_current_state >= 1742 )
×
4887
                        yy_c = yy_meta[yy_c];
×
4888
                }
4889
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
×
4890
        yy_is_jam = (yy_current_state == 1741);
4891

4892
                return yy_is_jam ? 0 : yy_current_state;
×
4893
}
4894

4895
#ifndef YY_NO_UNPUT
4896

4897
    static void yyunput (int c, char * yy_bp )
4898
{
4899
        char *yy_cp;
4900
    
4901
    yy_cp = (yy_c_buf_p);
4902

4903
        /* undo effects of setting up yytext */
4904
        *yy_cp = (yy_hold_char);
4905

4906
        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4907
                { /* need to shift things up to make room */
4908
                /* +2 for EOB chars. */
4909
                int number_to_move = (yy_n_chars) + 2;
4910
                char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4911
                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4912
                char *source =
4913
                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4914

4915
                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4916
                        *--dest = *--source;
4917

4918
                yy_cp += (int) (dest - source);
4919
                yy_bp += (int) (dest - source);
4920
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4921
                        (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4922

4923
                if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4924
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
4925
                }
4926

4927
        *--yy_cp = (char) c;
4928

4929
        (yytext_ptr) = yy_bp;
4930
        (yy_hold_char) = *yy_cp;
4931
        (yy_c_buf_p) = yy_cp;
4932
}
4933

4934
#endif
4935

4936
#ifndef YY_NO_INPUT
4937
#ifdef __cplusplus
4938
    static int yyinput (void)
4939
#else
4940
    static int input  (void)
4941
#endif
4942

4943
{
4944
        int c;
4945
    
4946
        *(yy_c_buf_p) = (yy_hold_char);
4947

4948
        if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4949
                {
4950
                /* yy_c_buf_p now points to the character we want to return.
4951
                 * If this occurs *before* the EOB characters, then it's a
4952
                 * valid NUL; if not, then we've hit the end of the buffer.
4953
                 */
4954
                if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4955
                        /* This was really a NUL. */
4956
                        *(yy_c_buf_p) = '\0';
4957

4958
                else
4959
                        { /* need more input */
4960
                        int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4961
                        ++(yy_c_buf_p);
4962

4963
                        switch ( yy_get_next_buffer(  ) )
4964
                                {
4965
                                case EOB_ACT_LAST_MATCH:
4966
                                        /* This happens because yy_g_n_b()
4967
                                         * sees that we've accumulated a
4968
                                         * token and flags that we need to
4969
                                         * try matching the token before
4970
                                         * proceeding.  But for input(),
4971
                                         * there's no matching to consider.
4972
                                         * So convert the EOB_ACT_LAST_MATCH
4973
                                         * to EOB_ACT_END_OF_FILE.
4974
                                         */
4975

4976
                                        /* Reset buffer status. */
4977
                                        yyrestart( yyin );
4978

4979
                                        /*FALLTHROUGH*/
4980

4981
                                case EOB_ACT_END_OF_FILE:
4982
                                        {
4983
                                        if ( yywrap(  ) )
4984
                                                return 0;
4985

4986
                                        if ( ! (yy_did_buffer_switch_on_eof) )
4987
                                                YY_NEW_FILE;
4988
#ifdef __cplusplus
4989
                                        return yyinput();
4990
#else
4991
                                        return input();
4992
#endif
4993
                                        }
4994

4995
                                case EOB_ACT_CONTINUE_SCAN:
4996
                                        (yy_c_buf_p) = (yytext_ptr) + offset;
4997
                                        break;
4998
                                }
4999
                        }
5000
                }
5001

5002
        c = *(unsigned char *) (yy_c_buf_p);        /* cast for 8-bit char's */
5003
        *(yy_c_buf_p) = '\0';        /* preserve yytext */
5004
        (yy_hold_char) = *++(yy_c_buf_p);
5005

5006
        return c;
5007
}
5008
#endif        /* ifndef YY_NO_INPUT */
5009

5010
/** Immediately switch to a different input stream.
5011
 * @param input_file A readable stream.
5012
 * 
5013
 * @note This function does not reset the start condition to @c INITIAL .
5014
 */
5015
    void yyrestart  (FILE * input_file )
11,034✔
5016
{
5017
    
5018
        if ( ! YY_CURRENT_BUFFER ){
11,034✔
5019
        yyensure_buffer_stack ();
×
5020
                YY_CURRENT_BUFFER_LVALUE =
×
5021
            yy_create_buffer( yyin, YY_BUF_SIZE );
×
5022
        }
5023

5024
        yy_init_buffer( YY_CURRENT_BUFFER, input_file );
11,034✔
5025
        yy_load_buffer_state(  );
5026
}
11,034✔
5027

5028
/** Switch to a different input buffer.
5029
 * @param new_buffer The new input buffer.
5030
 * 
5031
 */
5032
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
8,402✔
5033
{
5034
    
5035
        /* TODO. We should be able to replace this entire function body
5036
         * with
5037
         *                yypop_buffer_state();
5038
         *                yypush_buffer_state(new_buffer);
5039
     */
5040
        yyensure_buffer_stack ();
8,402✔
5041
        if ( YY_CURRENT_BUFFER == new_buffer )
8,402✔
5042
                return;
5043

5044
        if ( YY_CURRENT_BUFFER )
8,402✔
5045
                {
5046
                /* Flush out information for old buffer. */
5047
                *(yy_c_buf_p) = (yy_hold_char);
2,163✔
5048
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2,163✔
5049
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2,163✔
5050
                }
5051

5052
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
8,402✔
5053
        yy_load_buffer_state(  );
5054

5055
        /* We don't actually know whether we did this switch during
5056
         * EOF (yywrap()) processing, but the only time this flag
5057
         * is looked at is after yywrap() is called, so it's safe
5058
         * to go ahead and always set it.
5059
         */
5060
        (yy_did_buffer_switch_on_eof) = 1;
8,402✔
5061
}
5062

5063
static void yy_load_buffer_state  (void)
5064
{
5065
            (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
33,098✔
5066
        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
33,098✔
5067
        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
33,098✔
5068
        (yy_hold_char) = *(yy_c_buf_p);
8,402✔
5069
}
13,662✔
5070

5071
/** Allocate and initialize an input buffer state.
5072
 * @param file A readable stream.
5073
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
5074
 * 
5075
 * @return the allocated buffer state.
5076
 */
5077
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4,791✔
5078
{
5079
        YY_BUFFER_STATE b;
5080
    
5081
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4,791✔
5082
        if ( ! b )
4,791✔
5083
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
×
5084

5085
        b->yy_buf_size = size;
4,791✔
5086

5087
        /* yy_ch_buf has to be 2 characters longer than the size given because
5088
         * we need to put in 2 end-of-buffer characters.
5089
         */
5090
        b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4,791✔
5091
        if ( ! b->yy_ch_buf )
4,791✔
5092
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
×
5093

5094
        b->yy_is_our_buffer = 1;
4,791✔
5095

5096
        yy_init_buffer( b, file );
4,791✔
5097

5098
        return b;
4,791✔
5099
}
5100

5101
/** Destroy the buffer.
5102
 * @param b a buffer created with yy_create_buffer()
5103
 * 
5104
 */
5105
    void yy_delete_buffer (YY_BUFFER_STATE  b )
8,859✔
5106
{
5107
    
5108
        if ( ! b )
8,859✔
5109
                return;
5110

5111
        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8,859✔
5112
                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8,859✔
5113

5114
        if ( b->yy_is_our_buffer )
8,859✔
5115
                yyfree( (void *) b->yy_ch_buf  );
8,859✔
5116

5117
        yyfree( (void *) b  );
8,859✔
5118
}
5119

5120
/* Initializes or reinitializes a buffer.
5121
 * This function is sometimes called more than once on the same buffer,
5122
 * such as during a yyrestart() or at EOF.
5123
 */
5124
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
15,825✔
5125

5126
{
5127
        int oerrno = errno;
15,825✔
5128
    
5129
        yy_flush_buffer( b );
15,825✔
5130

5131
        b->yy_input_file = file;
15,825✔
5132
        b->yy_fill_buffer = 1;
15,825✔
5133

5134
    /* If b is the current buffer, then yy_init_buffer was _probably_
5135
     * called from yyrestart() or through yy_get_next_buffer.
5136
     * In that case, we don't want to reset the lineno or column.
5137
     */
5138
    if (b != YY_CURRENT_BUFFER){
15,825✔
5139
        b->yy_bs_lineno = 1;
4,791✔
5140
        b->yy_bs_column = 0;
4,791✔
5141
    }
5142

5143
        b->yy_is_interactive = 0;
15,825✔
5144
    
5145
        errno = oerrno;
15,825✔
5146
}
15,825✔
5147

5148
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
5149
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
5150
 * 
5151
 */
5152
    void yy_flush_buffer (YY_BUFFER_STATE  b )
15,825✔
5153
{
5154
            if ( ! b )
15,825✔
5155
                return;
5156

5157
        b->yy_n_chars = 0;
15,825✔
5158

5159
        /* We always need two end-of-buffer characters.  The first causes
5160
         * a transition to the end-of-buffer state.  The second causes
5161
         * a jam in that state.
5162
         */
5163
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
15,825✔
5164
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
15,825✔
5165

5166
        b->yy_buf_pos = &b->yy_ch_buf[0];
15,825✔
5167

5168
        b->yy_at_bol = 1;
15,825✔
5169
        b->yy_buffer_status = YY_BUFFER_NEW;
15,825✔
5170

5171
        if ( b == YY_CURRENT_BUFFER )
15,825✔
5172
                yy_load_buffer_state(  );
5173
}
5174

5175
/** Pushes the new state onto the stack. The new state becomes
5176
 *  the current state. This function will allocate the stack
5177
 *  if necessary.
5178
 *  @param new_buffer The new state.
5179
 *  
5180
 */
5181
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
×
5182
{
5183
            if (new_buffer == NULL)
×
5184
                return;
5185

5186
        yyensure_buffer_stack();
×
5187

5188
        /* This block is copied from yy_switch_to_buffer. */
5189
        if ( YY_CURRENT_BUFFER )
×
5190
                {
5191
                /* Flush out information for old buffer. */
5192
                *(yy_c_buf_p) = (yy_hold_char);
×
5193
                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
×
5194
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
×
5195
                }
5196

5197
        /* Only push if top exists. Otherwise, replace top. */
5198
        if (YY_CURRENT_BUFFER)
×
5199
                (yy_buffer_stack_top)++;
×
5200
        YY_CURRENT_BUFFER_LVALUE = new_buffer;
×
5201

5202
        /* copied from yy_switch_to_buffer. */
5203
        yy_load_buffer_state(  );
5204
        (yy_did_buffer_switch_on_eof) = 1;
×
5205
}
5206

5207
/** Removes and deletes the top of the stack, if present.
5208
 *  The next element becomes the new top.
5209
 *  
5210
 */
5211
void yypop_buffer_state (void)
2,620✔
5212
{
5213
            if (!YY_CURRENT_BUFFER)
2,620✔
5214
                return;
5215

5216
        yy_delete_buffer(YY_CURRENT_BUFFER );
×
5217
        YY_CURRENT_BUFFER_LVALUE = NULL;
×
5218
        if ((yy_buffer_stack_top) > 0)
×
5219
                --(yy_buffer_stack_top);
×
5220

5221
        if (YY_CURRENT_BUFFER) {
×
5222
                yy_load_buffer_state(  );
5223
                (yy_did_buffer_switch_on_eof) = 1;
×
5224
        }
5225
}
5226

5227
/* Allocates the stack if it does not exist.
5228
 *  Guarantees space for at least one push.
5229
 */
5230
static void yyensure_buffer_stack (void)
11,030✔
5231
{
5232
        yy_size_t num_to_alloc;
5233
    
5234
        if (!(yy_buffer_stack)) {
11,030✔
5235

5236
                /* First allocation is just for 2 elements, since we don't know if this
5237
                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
5238
                 * immediate realloc on the next call.
5239
         */
5240
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5241
                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2,628✔
5242
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
5243
                                                                );
5244
                if ( ! (yy_buffer_stack) )
2,628✔
5245
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
×
5246

5247
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5248

5249
                (yy_buffer_stack_max) = num_to_alloc;
2,628✔
5250
                (yy_buffer_stack_top) = 0;
2,628✔
5251
                return;
2,628✔
5252
        }
5253

5254
        if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8,402✔
5255

5256
                /* Increase the buffer to prepare for a possible push. */
5257
                yy_size_t grow_size = 8 /* arbitrary grow size */;
5258

5259
                num_to_alloc = (yy_buffer_stack_max) + grow_size;
935✔
5260
                (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
935✔
5261
                                                                ((yy_buffer_stack),
5262
                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
5263
                                                                );
5264
                if ( ! (yy_buffer_stack) )
935✔
5265
                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
×
5266

5267
                /* zero only the new slots.*/
5268
                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
935✔
5269
                (yy_buffer_stack_max) = num_to_alloc;
935✔
5270
        }
5271
}
5272

5273
/** Setup the input buffer state to scan directly from a user-specified character buffer.
5274
 * @param base the character buffer
5275
 * @param size the size in bytes of the character buffer
5276
 * 
5277
 * @return the newly allocated buffer state object.
5278
 */
5279
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4,076✔
5280
{
5281
        YY_BUFFER_STATE b;
5282
    
5283
        if ( size < 2 ||
4,076✔
5284
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
4,076✔
5285
             base[size-1] != YY_END_OF_BUFFER_CHAR )
4,076✔
5286
                /* They forgot to leave room for the EOB's. */
5287
                return NULL;
5288

5289
        b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4,076✔
5290
        if ( ! b )
4,076✔
5291
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
×
5292

5293
        b->yy_buf_size = (int) (size - 2);        /* "- 2" to take care of EOB's */
4,076✔
5294
        b->yy_buf_pos = b->yy_ch_buf = base;
4,076✔
5295
        b->yy_is_our_buffer = 0;
4,076✔
5296
        b->yy_input_file = NULL;
4,076✔
5297
        b->yy_n_chars = b->yy_buf_size;
4,076✔
5298
        b->yy_is_interactive = 0;
4,076✔
5299
        b->yy_at_bol = 1;
4,076✔
5300
        b->yy_fill_buffer = 0;
4,076✔
5301
        b->yy_buffer_status = YY_BUFFER_NEW;
4,076✔
5302

5303
        yy_switch_to_buffer( b  );
4,076✔
5304

5305
        return b;
4,076✔
5306
}
5307

5308
/** Setup the input buffer state to scan a string. The next call to yylex() will
5309
 * scan from a @e copy of @a str.
5310
 * @param yystr a NUL-terminated string to scan
5311
 * 
5312
 * @return the newly allocated buffer state object.
5313
 * @note If you want to scan bytes that may contain NUL values, then use
5314
 *       yy_scan_bytes() instead.
5315
 */
5316
YY_BUFFER_STATE yy_scan_string (const char * yystr )
4,076✔
5317
{
5318
    
5319
        return yy_scan_bytes( yystr, (int) strlen(yystr) );
4,076✔
5320
}
5321

5322
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5323
 * scan from a @e copy of @a bytes.
5324
 * @param yybytes the byte buffer to scan
5325
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5326
 * 
5327
 * @return the newly allocated buffer state object.
5328
 */
5329
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
4,076✔
5330
{
5331
        YY_BUFFER_STATE b;
5332
        char *buf;
5333
        yy_size_t n;
5334
        int i;
5335
    
5336
        /* Get memory for full buffer, including space for trailing EOB's. */
5337
        n = (yy_size_t) (_yybytes_len + 2);
4,076✔
5338
        buf = (char *) yyalloc( n  );
4,076✔
5339
        if ( ! buf )
4,076✔
5340
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
×
5341

5342
        for ( i = 0; i < _yybytes_len; ++i )
168,785✔
5343
                buf[i] = yybytes[i];
164,709✔
5344

5345
        buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4,076✔
5346

5347
        b = yy_scan_buffer( buf, n );
4,076✔
5348
        if ( ! b )
4,076✔
5349
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
×
5350

5351
        /* It's okay to grow etc. this buffer, and we should throw it
5352
         * away when we're done.
5353
         */
5354
        b->yy_is_our_buffer = 1;
4,076✔
5355

5356
        return b;
4,076✔
5357
}
5358

5359
#ifndef YY_EXIT_FAILURE
5360
#define YY_EXIT_FAILURE 2
5361
#endif
5362

5363
static void yynoreturn yy_fatal_error (const char* msg )
×
5364
{
5365
                        fprintf( stderr, "%s\n", msg );
×
5366
        exit( YY_EXIT_FAILURE );
×
5367
}
5368

5369
/* Redefine yyless() so it works in section 3 code. */
5370

5371
#undef yyless
5372
#define yyless(n) \
5373
        do \
5374
                { \
5375
                /* Undo effects of setting up yytext. */ \
5376
        int yyless_macro_arg = (n); \
5377
        YY_LESS_LINENO(yyless_macro_arg);\
5378
                yytext[yyleng] = (yy_hold_char); \
5379
                (yy_c_buf_p) = yytext + yyless_macro_arg; \
5380
                (yy_hold_char) = *(yy_c_buf_p); \
5381
                *(yy_c_buf_p) = '\0'; \
5382
                yyleng = yyless_macro_arg; \
5383
                } \
5384
        while ( 0 )
5385

5386
/* Accessor  methods (get/set functions) to struct members. */
5387

5388
/** Get the current line number.
5389
 * 
5390
 */
5391
int yyget_lineno  (void)
×
5392
{
5393
    
5394
    return yylineno;
×
5395
}
5396

5397
/** Get the input stream.
5398
 * 
5399
 */
5400
FILE *yyget_in  (void)
×
5401
{
5402
        return yyin;
×
5403
}
5404

5405
/** Get the output stream.
5406
 * 
5407
 */
5408
FILE *yyget_out  (void)
×
5409
{
5410
        return yyout;
×
5411
}
5412

5413
/** Get the length of the current token.
5414
 * 
5415
 */
5416
int yyget_leng  (void)
×
5417
{
5418
        return yyleng;
×
5419
}
5420

5421
/** Get the current token.
5422
 * 
5423
 */
5424

5425
char *yyget_text  (void)
×
5426
{
5427
        return yytext;
×
5428
}
5429

5430
/** Set the current line number.
5431
 * @param _line_number line number
5432
 * 
5433
 */
5434
void yyset_lineno (int  _line_number )
×
5435
{
5436
    
5437
    yylineno = _line_number;
×
5438
}
×
5439

5440
/** Set the input stream. This does not discard the current
5441
 * input buffer.
5442
 * @param _in_str A readable stream.
5443
 * 
5444
 * @see yy_switch_to_buffer
5445
 */
5446
void yyset_in (FILE *  _in_str )
×
5447
{
5448
        yyin = _in_str ;
×
5449
}
×
5450

5451
void yyset_out (FILE *  _out_str )
×
5452
{
5453
        yyout = _out_str ;
×
5454
}
×
5455

5456
int yyget_debug  (void)
×
5457
{
5458
        return yy_flex_debug;
×
5459
}
5460

5461
void yyset_debug (int  _bdebug )
×
5462
{
5463
        yy_flex_debug = _bdebug ;
×
5464
}
×
5465

5466
static int yy_init_globals (void)
5467
{
5468
        /* Initialization is the same as for the non-reentrant scanner.
5469
     * This function is called from yylex_destroy(), so don't allocate here.
5470
     */
5471

5472
    (yy_buffer_stack) = NULL;
5473
    (yy_buffer_stack_top) = 0;
2,626✔
5474
    (yy_buffer_stack_max) = 0;
2,626✔
5475
    (yy_c_buf_p) = NULL;
2,626✔
5476
    (yy_init) = 0;
2,626✔
5477
    (yy_start) = 0;
2,626✔
5478

5479
/* Defined in main.c */
5480
#ifdef YY_STDINIT
5481
    yyin = stdin;
5482
    yyout = stdout;
5483
#else
5484
    yyin = NULL;
2,626✔
5485
    yyout = NULL;
2,626✔
5486
#endif
5487

5488
    /* For future reference: Set errno on error, since we are called by
5489
     * yylex_init()
5490
     */
5491
    return 0;
5492
}
5493

5494
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
5495
int yylex_destroy  (void)
2,626✔
5496
{
5497
    
5498
    /* Pop the buffer stack, destroying each element. */
5499
        while(YY_CURRENT_BUFFER){
5,246✔
5500
                yy_delete_buffer( YY_CURRENT_BUFFER  );
2,620✔
5501
                YY_CURRENT_BUFFER_LVALUE = NULL;
2,620✔
5502
                yypop_buffer_state();
2,620✔
5503
        }
5504

5505
        /* Destroy the stack itself. */
5506
        yyfree((yy_buffer_stack) );
2,626✔
5507
        (yy_buffer_stack) = NULL;
2,626✔
5508

5509
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
5510
     * yylex() is called, initialization will occur. */
5511
    yy_init_globals( );
5512

5513
    return 0;
2,626✔
5514
}
5515

5516
/*
5517
 * Internal utility routines.
5518
 */
5519

5520
#ifndef yytext_ptr
5521
static void yy_flex_strncpy (char* s1, const char * s2, int n )
5522
{
5523
                
5524
        int i;
5525
        for ( i = 0; i < n; ++i )
5526
                s1[i] = s2[i];
5527
}
5528
#endif
5529

5530
#ifdef YY_NEED_STRLEN
5531
static int yy_flex_strlen (const char * s )
5532
{
5533
        int n;
5534
        for ( n = 0; s[n]; ++n )
5535
                ;
5536

5537
        return n;
5538
}
5539
#endif
5540

5541
void *yyalloc (yy_size_t  size )
20,362✔
5542
{
5543
                        return malloc(size);
20,362✔
5544
}
5545

5546
void *yyrealloc  (void * ptr, yy_size_t  size )
963✔
5547
{
5548
                
5549
        /* The cast to (char *) in the following accommodates both
5550
         * implementations that use char* generic pointers, and those
5551
         * that use void* generic pointers.  It works with the latter
5552
         * because both ANSI C and C++ allow castless assignment from
5553
         * any pointer type to void*, and deal with argument conversions
5554
         * as though doing an assignment.
5555
         */
5556
        return realloc(ptr, size);
963✔
5557
}
5558

5559
void yyfree (void * ptr )
20,344✔
5560
{
5561
                        free( (char *) ptr );        /* see yyrealloc() for (char *) cast */
20,344✔
5562
}
20,344✔
5563

5564
#define YYTABLES_NAME "yytables"
5565

5566
#line 752 "src/maplexer.l"
5567

5568

5569
/*
5570
** Any extra C functions
5571
*/
5572

5573
int msyywrap() /* override */
5574
{
5575
  return(1);
5576
}
5577

5578
int msyyerror(char *s) {
5579
  msSetError(MS_PARSEERR, "%s", "msyyparse()", s);
5580
  return(0);
5581
}
5582

5583
/* cleanup any open includes */
5584
void msyycleanup_includes() {
5585
  while( --include_stack_ptr >= 0 ) {
5586
    fclose(YY_CURRENT_BUFFER->yy_input_file);
5587
    msyy_delete_buffer( YY_CURRENT_BUFFER );
5588
    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
5589
  }
5590
}
5591

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc