Coverage Report

Created: 2025-11-16 06:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/MapServer/src/maplexer.c
Line
Count
Source
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
2
#define yy_create_buffer msyy_create_buffer
10
0
#define yy_delete_buffer msyy_delete_buffer
11
0
#define yy_scan_buffer msyy_scan_buffer
12
#define yy_scan_string msyy_scan_string
13
0
#define yy_scan_bytes msyy_scan_bytes
14
16.6k
#define yy_init_buffer msyy_init_buffer
15
16.6k
#define yy_flush_buffer msyy_flush_buffer
16
33.2k
#define yy_load_buffer_state msyy_load_buffer_state
17
0
#define yy_switch_to_buffer msyy_switch_to_buffer
18
#define yypush_buffer_state msyypush_buffer_state
19
0
#define yypop_buffer_state msyypop_buffer_state
20
164
#define yyensure_buffer_stack msyyensure_buffer_stack
21
0
#define yy_flex_debug msyy_flex_debug
22
79.5k
#define yyin msyyin
23
2.06M
#define yyleng msyyleng
24
#define yylex msyylex
25
0
#define yylineno msyylineno
26
4.39k
#define yyout msyyout
27
2.45k
#define yyrestart msyyrestart
28
4.92M
#define yytext msyytext
29
2.45k
#define yywrap msyywrap
30
168
#define yyalloc msyyalloc
31
1
#define yyrealloc msyyrealloc
32
162
#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
1.13k
#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
77.5M
#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
272k
#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
7.16k
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386
/* Special action meaning "start processing a new file". */
387
0
#define YY_NEW_FILE yyrestart( yyin  )
388
81.8k
#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
83
#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
28.5k
#define EOB_ACT_CONTINUE_SCAN 0
422
4.90k
#define EOB_ACT_END_OF_FILE 1
423
15.1k
#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
706k
#define YY_BUFFER_NEW 0
492
14.2k
#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
31.8k
#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
67.0k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520
67.0k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521
67.0k
                          : 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
1.80M
#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
4.91M
#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
2.06M
  (yytext_ptr) = yy_bp; \
610
2.06M
  yyleng = (int) (yy_cp - yy_bp); \
611
2.06M
  (yy_hold_char) = *yy_cp; \
612
2.06M
  *yy_cp = '\0'; \
613
2.06M
  (yy_c_buf_p) = yy_cp;
614
#define YY_NUM_RULES 348
615
696k
#define YY_END_OF_BUFFER 349
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[1760] =
624
    {   0,
625
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
626
        0,    0,  349,  346,    1,  344,  337,    2,  346,  346,
627
      330,  343,  330,  343,  343,  343,  343,  343,  343,  343,
628
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
629
      343,  343,  343,  343,  343,  343,  343,  346,  346,  346,
630
      347,    1,  345,    1,   14,  342,  347,  342,  347,  331,
631
      331,   18,   15,   17,  347,  347,  347,  347,  347,  347,
632
      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
633
      347,  347,  347,  345,   21,  345,  348,    1,  348,  348,
634
      340,  338,  338,  339,    5,    7,    6,  343,  343,  343,
635
636
      343,  343,    1,    2,    0,  335,  330,  330,  343,  330,
637
      343,    0,    3,  343,    2,  330,    0,  343,  343,  343,
638
      343,  343,  343,  343,  343,  247,  343,  343,  343,  251,
639
      343,  252,  343,  343,  257,  343,  343,  343,  343,  343,
640
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
641
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
642
      343,  343,  343,  271,  343,  343,  274,  275,  343,  343,
643
      343,  343,  343,  343,  343,  343,  343,  287,  343,  343,
644
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
645
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
646
647
      343,  343,  343,  343,  224,  343,  343,  314,  315,  343,
648
      316,  343,  343,  343,  343,  343,  343,  343,  343,  343,
649
      343,    0,  323,    0,  336,    0,   16,    0,   13,    0,
650
      331,  331,  331,    0,  331,    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,  327,    0,    0,  332,
655
       23,    0,  341,    0,  340,  338,  338,  339,    5,    4,
656
        2,  343,  343,  343,  343,  330,    0,    0,  343,  330,
657
658
        0,  334,  343,  334,    2,    2,    2,  330,    0,    0,
659
      330,  343,  343,  343,  343,  343,  343,  343,  343,  343,
660
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
661
      343,  343,  343,  253,  343,  343,  343,  343,  343,  343,
662
      343,  343,   88,  343,  343,  343,  343,  343,  343,  343,
663
      343,  343,  343,  343,  343,  343,  104,  343,  343,  343,
664
      343,  343,  343,  343,  343,  343,  266,  343,  343,  343,
665
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
666
      343,  343,  343,  343,  343,  143,  343,  343,  343,  343,
667
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
668
669
      343,  284,  285,  343,  343,  343,  343,  343,  343,  343,
670
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
671
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
672
      343,  343,  343,  343,  343,  343,  343,  343,  308,  343,
673
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
674
      343,  343,  343,  343,  343,  343,  237,  321,  343,  239,
675
      322,  343,   68,    0,    0,    0,    0,    0,    0,    0,
676
      331,  331,    0,    0,  331,    0,    0,    0,    0,    0,
677
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
678
        0,    0,    0,    0,    0,    0,    0,   14,    0,    0,
679
680
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
681
        0,    0,    0,  332,    2,  343,    9,  343,  343,  330,
682
      333,  333,    2,    2,    0,  330,  343,  343,  343,  343,
683
      343,  242,  343,  343,  343,  343,  343,  343,  343,  246,
684
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
685
       83,  343,  343,  343,  343,  343,  343,  343,  343,  343,
686
      343,  343,  343,  343,  343,  261,  343,  343,  343,  343,
687
       99,  343,  343,  343,  103,  343,  343,  343,  106,  343,
688
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
689
      343,  122,  343,  343,  343,  343,  343,  343,  343,  343,
690
691
      343,  272,  343,  273,  343,  146,  343,  343,  343,  343,
692
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
693
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
694
      343,  343,  343,  343,  176,  343,  282,  343,  343,  343,
695
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
696
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
697
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
698
      343,  343,  343,  343,  343,  208,  343,  343,  343,  343,
699
      343,  343,  343,  219,  343,  310,  343,  343,  343,  343,
700
      312,  231,  343,  343,  343,  343,  343,  343,  343,  343,
701
702
      343,  240,  328,  328,    0,  331,   25,    0,    0,    0,
703
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
705
        0,    0,    0,    0,    0,   56,    0,    0,    0,    0,
706
        0,  329,    0,  343,   10,  343,    2,   61,  343,   63,
707
      343,  343,  243,  343,  343,  244,  343,  343,  343,  343,
708
      343,  343,  249,  343,   72,  343,   76,  343,  343,  343,
709
      343,  343,  343,   84,  343,  343,  343,  343,  259,   86,
710
      343,   89,  343,  343,  343,  260,  343,  343,  343,  343,
711
      343,  343,  343,  101,  343,  343,  263,  343,  343,  109,
712
713
      264,  343,  343,  343,  111,  343,  343,  119,  343,  343,
714
      187,  343,  343,  343,  343,  343,  126,  270,  343,  136,
715
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
716
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
717
      343,  279,  343,  343,  343,  343,  343,  343,  343,  343,
718
      343,  343,  343,  343,  280,  343,  255,  343,  343,  343,
719
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
720
      343,  343,  294,  343,  343,  343,  343,  343,  343,  343,
721
      343,  298,  343,  343,  343,  343,  343,  343,  343,  343,
722
      301,  302,  201,  343,  343,  343,  343,  343,  343,  306,
723
724
      343,  343,  211,  343,  217,  343,  343,  343,  343,  223,
725
      343,  343,  343,  343,  317,  232,  343,  343,  343,  343,
726
      343,  343,  238,    0,    0,    0,    0,    0,    0,    0,
727
        0,    0,    0,    0,   57,    0,    0,    0,    0,   43,
728
        0,    0,    0,   31,   42,    0,   29,    0,    0,    0,
729
        0,   30,    0,    0,    0,    0,    0,    0,  343,  343,
730
      343,  343,  343,  343,  343,  343,  245,  343,   70,  248,
731
      343,  250,  343,  343,  343,  343,  343,  343,   79,  343,
732
       80,  343,  343,  343,  343,  343,   85,  343,  343,  343,
733
      343,   91,  343,  343,   95,   96,  343,  262,  343,   98,
734
735
      343,  343,  343,  343,  110,  267,  343,  343,  343,  343,
736
      343,  343,  268,  343,  343,  343,  343,  343,  343,  343,
737
      343,  343,  343,  343,  343,  343,  135,  137,  138,  343,
738
      343,  144,  343,  343,  343,  343,  343,  343,  343,  343,
739
      343,  343,  343,  343,  343,  276,  343,  277,  343,  343,
740
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
741
      343,  343,  283,  177,  343,  343,  343,  343,  343,  343,
742
      343,  343,  343,  293,  292,  297,  186,  343,  343,  343,
743
      343,  343,  343,  343,  343,  343,  343,  343,  343,  299,
744
      343,  196,  343,  343,  343,  343,  343,  343,  343,  343,
745
746
      343,  343,  304,  305,  343,  307,  210,  343,  213,  343,
747
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
748
      343,  343,  343,  236,  320,   53,   34,    0,    0,    0,
749
        0,    0,    0,    0,    0,   52,    0,    0,    0,    0,
750
        0,    0,   26,    0,    0,    0,    0,    0,   50,    0,
751
        0,    0,  329,    8,  343,  343,  343,  343,  343,  343,
752
      343,  343,  343,  343,  343,  343,   75,  343,  343,  343,
753
      343,  319,  343,  256,  343,  258,  343,  343,  343,  343,
754
       94,  343,  343,  100,  343,  343,  343,  343,  343,  343,
755
      343,  343,  343,  343,  118,  343,  343,  343,  343,  124,
756
757
      343,  343,  343,  343,  343,  343,  343,  343,  343,  140,
758
      343,  343,  147,  343,  343,  343,  343,  343,  343,  343,
759
      343,  156,  343,  343,  343,  343,  343,  162,  343,  343,
760
      343,  343,  343,  343,  172,  343,  343,  343,  343,  343,
761
      178,  343,  179,  343,  343,  343,  343,  185,  343,  343,
762
      295,  343,  296,  343,  343,  343,  343,  343,  343,  343,
763
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
764
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
765
      343,  222,  343,  343,  343,  343,  343,  233,  234,  343,
766
      343,    0,   28,    0,   49,   41,    0,    0,   54,    0,
767
768
        0,    0,   32,    0,    0,    0,    0,    0,    0,   47,
769
        0,    0,  324,   11,  343,  343,  343,  343,  343,   67,
770
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
771
      343,   87,  343,  343,   93,  343,  343,  343,  343,  343,
772
      107,  227,  343,  343,  343,  343,  117,  343,  343,  343,
773
      123,  343,  343,  343,  343,  343,  343,  343,  343,  343,
774
      141,  343,  343,  343,  343,  343,  343,  343,  343,  152,
775
      343,  343,  159,  160,  161,  343,  343,  343,  343,  343,
776
      169,  343,  343,  175,  281,  343,  343,  343,  343,  343,
777
      343,  343,  184,  343,  343,  188,  343,  343,  190,  343,
778
779
      343,  343,  194,  343,  343,  343,  343,  343,  198,  343,
780
      203,  343,  343,  303,  343,  343,  343,  343,  343,  343,
781
      343,  218,  116,  343,  221,  343,  343,  343,  311,  313,
782
      318,  343,    0,   51,    0,   46,   33,   55,    0,    0,
783
        0,   48,   36,    0,   27,    0,    0,  343,  343,   64,
784
      343,   66,  343,   71,  228,  343,   73,  343,  343,   78,
785
      343,   59,  343,  343,   92,  343,  343,  343,  343,  108,
786
      343,  114,  115,  113,  343,  121,  343,  343,  343,  343,
787
      343,  129,  343,  343,  343,  343,  343,  343,  343,  343,
788
      343,  343,  343,  155,  343,  343,  343,  343,  343,  343,
789
790
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
791
      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
792
       60,  343,  195,  343,  343,  343,  343,  343,  343,  343,
793
      207,  209,  212,  343,  216,  220,  225,  230,  343,  343,
794
        0,    0,    0,    0,    0,    0,   39,    0,    0,  343,
795
      241,  343,  343,   74,   58,   77,   81,  343,   90,   97,
796
      286,  343,  343,  112,  120,  343,  125,  269,  127,  343,
797
      343,  343,  343,  343,  343,  145,  148,  343,  343,  343,
798
      343,  343,  343,  343,  343,  163,  343,  343,  343,  343,
799
      343,  343,  343,  343,  343,  288,  343,  343,  343,  343,
800
801
      343,  343,  254,  343,  191,  192,  343,  343,  197,  343,
802
      199,  202,  204,  343,  206,  343,  343,  343,  235,   40,
803
       35,   38,   45,   44,   37,    0,    0,   62,  343,  343,
804
      343,  343,  343,  343,  343,  343,  128,  343,  343,  343,
805
      343,  343,  149,  150,  154,  151,  343,  343,  343,  158,
806
      164,  343,  171,  168,  343,  343,  174,  343,  289,  343,
807
      343,  343,  343,  291,  309,  343,  193,  300,  343,  205,
808
      214,  343,  229,    0,    0,  343,   69,  343,  343,  343,
809
      102,  343,  343,  343,  343,  343,  139,  343,  343,  343,
810
      157,  343,  343,  173,  343,  343,  181,  182,  183,  343,
811
812
      343,  343,  343,    0,    0,  343,  343,  343,  200,  105,
813
      265,  130,  132,  134,  343,  343,  153,  343,  170,  278,
814
      290,  343,  343,  343,  343,    0,    0,  343,  343,   82,
815
      343,  343,  343,  343,  167,  189,  165,  343,  226,    0,
816
      325,   65,  343,  343,  343,  142,  166,  343,  326,  343,
817
      343,  343,  215,  180,  343,  343,  131,  133,    0
818
    } ;
819
820
static const YY_CHAR yy_ec[256] =
821
    {   0,
822
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
823
        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
824
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
825
        1,    2,    5,    6,    7,    1,    1,    8,    9,   10,
826
       11,   12,   13,    1,   14,   15,   16,   17,   17,   18,
827
       17,   17,   17,   17,   17,   17,   17,    1,    1,   19,
828
       20,   21,    1,    1,   22,   23,   24,   25,   26,   27,
829
       28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
830
       38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
831
       48,   49,   50,    1,   51,   52,   53,   54,   55,   56,
832
833
       57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
834
       67,   68,   69,   70,   71,   72,   73,   74,   75,   76,
835
       77,   78,   79,   80,   81,   82,    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,    1,    1,    1,    1,
841
        1,    1,    1,    1,    1,    1,   83,    1,    1,    1,
842
       84,    1,    1,    1,    1,    1,    1,    1,    1,    1,
843
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,    1,    1,
847
        1,    1,    1,    1,    1,    1,    1,    1,   85,    1,
848
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
849
        1,    1,    1,    1,    1
850
    } ;
851
852
static const YY_CHAR yy_meta[87] =
853
    {   0,
854
        1,    1,    2,    1,    1,    3,    1,    1,    3,    1,
855
        1,    4,    1,    5,    5,    5,    5,    5,    1,    5,
856
        1,    5,    5,    5,    5,    5,    5,    5,    5,    5,
857
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
858
        5,    5,    5,    5,    5,    5,    5,    1,    3,    1,
859
        5,    1,    5,    5,    5,    5,    5,    5,    5,    5,
860
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
861
        5,    5,    5,    5,    5,    5,    5,    5,    1,    1,
862
        1,    1,    1,    1,    1,    1
863
    } ;
864
865
static const flex_int16_t yy_base[1785] =
866
    {   0,
867
        0,    0,   86,    0,  171,  172,  173,  177,  181,  182,
868
      226,    0, 1410, 3994,  185, 3994, 3994,    0, 1398,  173,
869
      296,  353,  310,  304,  353,  416,  359,  354,  421,  436,
870
      356,  467,  156,  290,  474,  473,  354,  483,  532,  275,
871
      533,  579,  585,  540,  374,  631,    0, 1333, 1301, 1276,
872
     3994,  193, 3994,  194, 1261, 1223, 1200, 1146,  184,  314,
873
      611,  183,  188, 1170,  424,  479,  521,  615,  280,  644,
874
      575,  284,  299,  628,  624,  636,  306,  637,  355,  343,
875
      367,  678,  157, 1009, 1007, 3994, 3994,  208, 1008, 1000,
876
        0,  411,  418,  475,    0, 3994,  910,  824,  473,  477,
877
878
      492,  484,  209,    0,  769,  748,  690,  704,    0,  706,
879
      201,  732, 3994,  763,  849,  720,  203,  531,  759,  525,
880
      649,  524,  645,  551,  686,    0,  685,  703,  687,  756,
881
      755,    0,  686,  690,    0,  727,  725,  758,  769,  771,
882
      754,  760,  766,  781,  769,  782,  836,  769,  771,  774,
883
      841,  851,  823,  852,  843,  852,  855,  895,  853,  850,
884
      844,  849,  899,    0,  915,  849,    0,    0,  907,  898,
885
      924,  852,  846,  907,  925,  866,  909,  929,  939,  940,
886
      922,  943,  927,  936,  943,  968,  969,  961,  967, 1007,
887
      972,  964,  988,  978,  995, 1015,  998,  979, 1000,  995,
888
889
      990, 1002, 1023, 1026,  994, 1042, 1006,    0,    0, 1030,
890
        0, 1036, 1030, 1037, 1049, 1056, 1042, 1058, 1044, 1046,
891
     1065,  695, 3994,  652,  618,  603, 3994,  522, 3994,  573,
892
     1079, 1094, 1104,  316, 1106,  451, 3994, 3994, 3994, 3994,
893
     1077, 1080, 1061, 1081, 1084, 1091, 1091, 1093, 1102, 1101,
894
     1092, 1102, 1101, 1105, 1108, 3994, 1114, 1102, 1111, 1103,
895
     3994, 1107, 3994, 1111, 1127, 1112, 1130, 1131, 1128, 1127,
896
     1144, 1141,  632, 1165, 1166, 1160,  585,  575,  274, 3994,
897
     3994,  613, 3994,  575,    0, 3994, 3994, 3994,    0, 3994,
898
     1220, 1157, 1192, 1166, 1163, 1220,  722,  189,  207,  326,
899
900
      564, 1179, 1306, 1181,  627, 1392, 1478, 1226, 1236,  559,
901
      724, 1186, 1218, 1218, 1219, 1226, 1221, 1226, 1234, 1234,
902
     1236, 1228, 1219, 1237, 1224, 1226, 1258, 1296, 1281, 1286,
903
     1293, 1293, 1304,    0, 1310, 1291, 1314, 1291, 1305, 1311,
904
     1297, 1304,    0, 1305, 1303, 1317, 1374, 1303, 1305, 1379,
905
     1306, 1315, 1308, 1309, 1382, 1381,    0, 1383, 1383, 1378,
906
     1396, 1380, 1399, 1399, 1395, 1391,    0, 1399, 1399, 1403,
907
     1389, 1405, 1399, 1399, 1400, 1462, 1400, 1413, 1441, 1448,
908
     1467, 1469, 1457, 1475, 1477,    0, 1472, 1473, 1543, 1476,
909
     1485, 1483, 1484, 1597, 1487, 1473, 1477, 1490, 1476, 1492,
910
911
     1485, 1480,    0,  560, 1497, 1498, 1541, 1513, 1514, 1543,
912
     1543, 1544, 1540, 1570, 1587, 1544, 1602, 1542, 1554, 1549,
913
     1603, 1600, 1609, 1606, 1592, 1599, 1607, 1604, 1607, 1616,
914
     1649, 1607, 1617, 1620, 1616, 1630, 1613, 1645,    0, 1656,
915
     1648, 1645, 1643, 1661, 1642, 1656, 1664, 1656, 1670, 1667,
916
     1668, 1659, 1671, 1675, 1669, 1657,    0,    0, 1661,    0,
917
        0, 1666, 3994,  627,  564,  643, 1695,  528, 1697,  735,
918
      799, 1718, 1262,  849,  871, 1685, 1672, 1710, 1699, 1707,
919
     1702, 1706, 1708, 1722, 1719, 1710, 1730, 1713, 1714, 1721,
920
     1730, 1716, 1732, 1733, 1738, 1733, 1736, 3994, 1737, 1725,
921
922
     1730, 1729, 1731, 1728, 1746, 1747, 1750, 1749, 1758, 1765,
923
     1781,  976, 1141,  464, 1775, 1779,    0, 1770, 1783,  874,
924
     3994,    0, 1782, 1783,  986, 1179, 1779, 1780, 1791, 1777,
925
     1797,  452, 1792, 1781, 1789, 1780, 1802, 1785, 1800,    0,
926
     1801, 1818, 1796, 1792, 1794, 1799, 1834, 1816, 1836, 1828,
927
     1826, 1839, 1826, 1846, 1847, 1837, 1850, 1830, 1853, 1840,
928
     1854, 1846, 1859, 1857, 1842,    0, 1859, 1860, 1859, 1852,
929
     1849, 1865, 1868, 1875,    0, 1859, 1861, 1878, 1881, 1886,
930
     1895, 1900, 1886, 1888, 1904, 1906, 1892, 1890, 1906, 1898,
931
     1898,    0, 1914, 1907, 1912, 1909, 1911, 1919, 1910, 1908,
932
933
     1922,    0, 1915, 1958, 1927,    0, 1917, 1923, 1932, 1938,
934
     1944, 1948, 1959, 1943, 1964, 1965, 1962, 1954, 1972, 1959,
935
     1959, 1959, 1963, 1967, 1974, 1979, 1981, 1973, 2002, 1983,
936
     1980, 1972, 1982, 1982,    0, 1988,    0, 1999, 2021, 1983,
937
     2015, 2015, 2020, 2011, 2024, 2030, 2032, 2026, 2038, 2031,
938
     2021, 2025, 2037, 2025, 2039, 2029, 2043, 2044, 2025, 2047,
939
     2048, 2038, 2044, 2042, 2064, 2058, 2061, 2065, 2082, 2083,
940
     2086, 2076, 2087, 2082, 2083, 2076, 2087, 2082, 2080, 2097,
941
     2088, 2100, 2094,    0, 2099,    0, 2102, 2091, 2092, 2098,
942
     2093,    0, 2100, 2096, 2120, 2104, 2108, 2125, 2130, 2132,
943
944
     2140,    0,  461,  452, 1189, 1256, 3994, 2136, 2146, 2148,
945
     2145, 2155, 2138, 2150, 2156, 2147, 2155, 2152, 2160, 2147,
946
     2148, 2151, 2167, 2153, 2154, 2154, 2154, 2157, 2158, 2165,
947
     2176, 2171, 2166, 2171, 2183, 3994, 2179, 2200, 2209, 1234,
948
     2196,  401, 1152, 2204,    0, 2206,    0,    0, 2198,    0,
949
     2217, 2207,    0, 2203, 2214,    0, 2223, 2210, 2222, 2211,
950
     2212, 2228,    0, 2227, 2244, 2228, 2216, 2226, 2220, 2230,
951
     2239, 2227, 2255,    0, 2247, 2250, 2253, 2253,    0,    0,
952
     2265,    0, 2256, 2258, 2279,    0, 2263, 2279, 2267, 2281,
953
     2265, 2284, 2273,    0, 2272, 2275,    0, 2291, 2275,    0,
954
955
        0, 2278, 2292, 2289, 2318, 2280, 2297,    0, 2303, 2288,
956
        0, 2301, 2314, 2292, 2332, 2331, 2342,    0, 2323,    0,
957
     2322, 2338, 2342, 2332, 2332, 2350, 2330, 2337, 2356, 2343,
958
     2339, 2347, 2358, 2365, 2346, 2373, 2364, 2376, 2370, 2392,
959
     2376,    0, 2371, 2395, 2375, 2381, 2400, 2387, 2384, 2404,
960
     2381, 2407, 2397, 2408,    0, 2397,    0, 2412, 2404, 2397,
961
     2398, 2404, 2400, 2416, 2408, 2403, 2424, 2410, 2420, 2418,
962
     2423, 2428, 2426, 2440, 2442, 2449, 2451, 2460, 2453, 2444,
963
     2461, 2461, 2457, 2453, 2467, 2461, 2468, 2458, 2461, 2459,
964
        0,    0, 2479, 2462, 2461, 2469, 2482, 2485, 2482,    0,
965
966
     2496, 2485, 2498, 2505,    0, 2518, 2519, 2508, 2505,    0,
967
     2523, 2520, 2518, 2504,    0,    0, 2511, 2528, 2514, 2536,
968
     2520, 2522,    0, 2537, 2524, 2525, 2538, 2536, 2541, 2541,
969
     2531, 2543, 2549, 2542, 3994, 2560, 2561, 2568, 2578, 3994,
970
     2562, 2579, 2576, 3994, 3994, 2584, 3994, 2577, 2579, 2579,
971
     2585, 3994, 2577, 1273, 2595, 2591, 1539,  398, 2588, 2585,
972
     2585, 2582, 2594, 2589, 2585, 2594,    0, 2601,    0,    0,
973
     2588,    0, 2588, 2593, 2594, 2605, 2624, 2616,    0, 2622,
974
        0, 2621, 2625, 2630, 2626, 2632,    0, 2643, 2635, 2631,
975
     2642,    0, 2649, 2648,    0, 2646, 2642,    0, 2638,    0,
976
977
     2645, 2660, 2642, 2659,    0,    0, 2659, 2651, 2652, 2667,
978
     2644, 2652,    0, 2666, 2661, 2675, 2681, 2680, 2685, 2690,
979
     2683, 2704, 2691, 2688, 2708, 2705,    0,    0, 2705, 2696,
980
     2704, 2695, 2696, 2700, 2700, 2702, 2700, 2720, 2719, 2709,
981
     2716, 2724, 2726, 2715, 2712,    0, 2713,    0, 2719, 2719,
982
     2728, 2729, 2732, 2732, 2760, 2755, 2763, 2766, 2755, 2752,
983
     2761, 2773,    0,    0, 2770,  430, 2751, 2758, 2774, 2775,
984
     2770, 2770, 2765,    0,    0,    0,    0, 2781, 2774, 2774,
985
     2771, 2786, 2790, 2773, 2775, 2775, 2782, 2799, 2789, 2799,
986
     2800,    0, 2795, 2823, 2824, 2810, 2831, 2828, 2819, 2830,
987
988
     2833, 2836,    0,    0, 2829,    0,    0, 2819, 2822, 2823,
989
     2824, 2842, 2842, 2830, 2836, 2836, 2852, 2842, 2839, 2855,
990
     2844, 2854, 2842,    0,    0, 3994, 3994, 2859, 2848, 2862,
991
     2860, 2864, 2886, 2878, 2880, 3994, 2894, 2872, 2885, 2882,
992
     2894, 2882, 3994, 2885, 2897, 2886, 2892, 2889, 3994, 2906,
993
     2909,  358,  352,    0, 2892, 2897, 2904, 2914, 2895, 2912,
994
     2899, 2904, 2916, 2904, 2918, 2936,    0, 2937, 2933, 2934,
995
     2947,    0, 2950,    0, 2946,    0, 2952, 2951, 2946, 2951,
996
        0, 2943, 2963,    0, 2950, 2953, 2956, 2953, 2945, 2959,
997
     2969, 2954, 2959, 2964,    0, 2970, 2966, 2974, 2975,    0,
998
999
     2972, 2978, 2983, 2977, 2998, 2989, 3001, 2999, 3003,    0,
1000
     3005, 3011,    0, 3012, 3021, 3002, 3015, 3007, 3007, 3016,
1001
     3024,    0, 3021, 3019, 3024, 3032, 3030,    0, 3027, 3036,
1002
     3017, 3030, 3022, 3036,    0, 3033, 3031, 3037, 3043, 3045,
1003
        0, 3062,    0, 3049, 3075, 3065, 3062,    0, 3081, 3077,
1004
        0, 3070,    0, 3066, 3081, 3062, 3080, 3081, 3073, 3076,
1005
     3088, 3093, 3092, 3092, 3090, 3081, 3092, 3084, 3089, 3093,
1006
     3101, 3092, 3101, 3099, 3107, 3132, 3137, 3134, 3135, 3139,
1007
     3132,    0, 3143, 3129, 3130, 3144, 3146,    0,    0, 3134,
1008
     3144, 3145, 3994, 3136, 3994, 3994, 3142, 3137, 3994, 3143,
1009
1010
     3140, 3152, 3994, 3159, 3154, 3145, 3140, 3157, 3160, 3994,
1011
     3176, 3160,  295,    0, 3160, 3184, 3182, 3188, 3191,    0,
1012
     3188, 3189, 3193, 3188, 3197, 3204, 3208, 3209, 3200, 3211,
1013
     3196,    0, 3203, 3205,    0, 3215, 3200, 3202, 3204, 3219,
1014
        0,    0, 3210, 3221, 3219, 3223,    0, 3228, 3212, 3220,
1015
        0, 3222, 3225, 3253, 3250, 3251, 3247, 3249, 3248, 3252,
1016
     3258, 3246, 3247, 3261, 3258, 3273, 3256, 3271, 3279, 3277,
1017
     3260, 3282,    0,    0,    0, 3258, 3271, 3268, 3283, 3266,
1018
     3285, 3268, 3290,    0,    0, 3280, 3295, 3284, 3304, 3308,
1019
     3316, 3308,    0, 3321, 3311,    0, 3314, 3320,    0, 3319,
1020
1021
     3319, 3322,    0, 3324, 3336, 3334, 3320, 3322,    0, 3327,
1022
        0, 3328, 3339,    0, 3333, 3320, 3339, 3329, 3336, 3349,
1023
     3331,    0,    0, 3328,    0, 3348, 3342, 3353,    0,    0,
1024
        0, 3345, 3353, 3994, 3382, 3994, 3994, 3994, 3361, 3368,
1025
     3374, 3994, 3376, 3392, 3994, 3382, 3383, 3382, 3383,    0,
1026
     3395,    0, 3387,    0,    0, 3385,    0, 3397, 3385,    0,
1027
     3390,    0, 3385, 3392,    0, 3394, 3402, 3400, 3404,    0,
1028
     3395,    0,    0,    0, 3398,    0, 3396, 3410, 3401, 3417,
1029
     3428,    0, 3439, 3440, 3438, 3436, 3449, 3447, 3449, 3452,
1030
     3451, 3437, 3457,    0, 3443, 3456, 3453, 3443, 3459, 3462,
1031
1032
     3461, 3447, 3467, 3464, 3461, 3451, 3463, 3461, 3471, 3457,
1033
     3467, 3478, 3471, 3486, 3499, 3493, 3506, 3504, 3498, 3513,
1034
        0, 3511,    0, 3502, 3498, 3505, 3507, 3507, 3508, 3519,
1035
        0,    0,    0, 3513,    0,    0, 3505,    0, 3513, 3514,
1036
     3524, 3525, 3526, 3513, 3513, 3514, 3994, 3541, 3547, 3517,
1037
        0, 3535, 3540,    0,    0,    0, 3558, 3535,    0,    0,
1038
        0, 3531, 3552,    0,    0, 3562,    0,    0,    0, 3554,
1039
     3578, 3579, 3563, 3581, 3559,    0,    0, 3580, 3567, 3579,
1040
     3576, 3588, 3576, 3587, 3587,    0, 3588, 3575, 3587, 3584,
1041
     3585, 3596, 3596, 3591, 3581,    0, 3598, 3593, 3595, 3627,
1042
1043
     3610, 3613,    0, 3634,    0,    0, 3616, 3628,    0, 3640,
1044
        0,    0,    0, 3624,    0, 3638, 3630, 3625,    0, 3994,
1045
     3994, 3994, 3994, 3994, 3994, 3628, 3639,    0, 3634, 3630,
1046
     3635, 3627, 3638, 3640, 3637, 3636,    0, 3646, 3649, 3657,
1047
     3643, 3646,    0,    0,    0,    0, 3655, 3655, 3672,    0,
1048
        0, 3679,    0,    0, 3675, 3686,    0, 3690,    0, 3696,
1049
     3680, 3691, 3682,    0,    0, 3700,    0,    0, 3690,    0,
1050
     3701, 3697,    0, 3698, 3683, 3698,    0, 3691, 3697, 3700,
1051
        0, 3702, 3691, 3712, 3713, 3701,    0, 3714, 3717, 3712,
1052
        0, 3705, 3719,    0, 3720, 3731,    0,    0,    0, 3742,
1053
1054
     3749, 3748, 3737, 3732, 3761, 3745, 3755, 3760,    0,    0,
1055
        0, 3763, 3764,    0, 3743, 3759,    0, 3767,    0,    0,
1056
        0, 3768, 3770, 3762, 3758, 3780,  291, 3761, 3765,    0,
1057
     3777, 3781, 3782, 3787,    0,    0,    0, 3778,    0,  288,
1058
      285,    0, 3780, 3787, 3791,    0,    0, 3799,  273, 3795,
1059
     3800, 3804,    0,    0, 3807, 3808,    0,    0, 3994, 3873,
1060
     3878, 3883, 3888, 3893,  310, 3898, 3903, 3908, 3913, 3918,
1061
     3923, 3928, 3933, 3938, 3943, 3948, 3953, 3958, 3963, 3968,
1062
     3973, 3978, 3983, 3988
1063
    } ;
1064
1065
static const flex_int16_t yy_def[1785] =
1066
    {   0,
1067
     1759,    1, 1759,    3, 1760, 1760, 1761, 1761, 1762, 1762,
1068
     1759,   11, 1759, 1759, 1759, 1759, 1759, 1763, 1764, 1759,
1069
     1765, 1766, 1759, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1070
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1071
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1767, 1768, 1759,
1072
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1073
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1074
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1075
     1759, 1769, 1770, 1759, 1759, 1759, 1759, 1759, 1771, 1772,
1076
     1773, 1759, 1759, 1759, 1774, 1759, 1759, 1765, 1765, 1765,
1077
1078
     1765, 1765, 1759, 1763, 1764, 1764, 1759, 1759, 1765, 1765,
1079
     1765, 1775, 1759, 1776, 1777, 1759, 1759, 1765, 1765, 1765,
1080
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1081
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1082
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1083
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1084
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1085
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1086
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1087
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1088
1089
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1090
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1091
     1765, 1767, 1759, 1768, 1768, 1759, 1759, 1778, 1759, 1779,
1092
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1093
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1094
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1095
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1096
     1759, 1759, 1769, 1769, 1769, 1769, 1759, 1770, 1780, 1759,
1097
     1759, 1771, 1759, 1772, 1773, 1759, 1759, 1759, 1774, 1759,
1098
     1781, 1765, 1765, 1765, 1765, 1759, 1759, 1759, 1765, 1765,
1099
1100
     1775, 1759, 1776, 1765, 1782, 1777, 1781, 1759, 1759, 1759,
1101
     1759, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1102
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1103
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1104
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1105
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1106
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1107
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1108
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1109
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1110
1111
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1112
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1113
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1114
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1115
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1116
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1117
     1765, 1765, 1759, 1778, 1759, 1778, 1779, 1759, 1779, 1759,
1118
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1119
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1120
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1121
1122
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1769, 1769,
1123
     1769, 1780, 1780, 1759,  307, 1765, 1765, 1765, 1765, 1759,
1124
     1759, 1765, 1783,  307, 1759, 1759, 1765, 1765, 1765, 1765,
1125
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1126
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1127
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1128
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1129
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1130
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1131
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1132
1133
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1134
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1135
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1136
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1137
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1138
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1139
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1140
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1141
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1142
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1143
1144
     1765, 1765, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1145
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1146
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1147
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1769, 1769,
1148
     1769, 1759, 1784, 1765, 1765, 1765, 1783, 1765, 1765, 1765,
1149
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1150
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1151
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1152
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1153
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1154
1155
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1156
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1157
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1158
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1159
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1160
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1161
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1162
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1163
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1164
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1165
1166
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1167
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1168
     1765, 1765, 1765, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1169
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1170
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1171
     1759, 1759, 1759, 1769, 1769, 1769, 1784, 1759, 1765, 1765,
1172
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1173
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1174
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1175
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1176
1177
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1178
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1179
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1180
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1181
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1182
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1183
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1184
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1185
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1186
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1187
1188
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1189
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1190
     1765, 1765, 1765, 1765, 1765, 1759, 1759, 1759, 1759, 1759,
1191
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1192
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1769,
1193
     1769, 1769, 1759, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1194
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1195
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1196
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1197
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1198
1199
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1200
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1201
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1202
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1203
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1204
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1205
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1206
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1207
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1208
     1765, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1209
1210
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1211
     1769, 1769, 1759, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1212
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1213
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1214
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1215
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1216
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1217
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1218
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1219
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1220
1221
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1222
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1223
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1224
     1765, 1765, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1225
     1759, 1759, 1759, 1759, 1759, 1769, 1769, 1765, 1765, 1765,
1226
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1227
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1228
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1229
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1230
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1231
1232
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1233
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1234
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1235
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1236
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1769, 1769, 1765,
1237
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1238
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1239
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1240
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1241
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1242
1243
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1244
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1759,
1245
     1759, 1759, 1759, 1759, 1759, 1769, 1769, 1765, 1765, 1765,
1246
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1247
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1248
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1249
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1250
     1765, 1765, 1765, 1769, 1769, 1765, 1765, 1765, 1765, 1765,
1251
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1252
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1253
1254
     1765, 1765, 1765, 1769, 1769, 1765, 1765, 1765, 1765, 1765,
1255
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
1256
     1765, 1765, 1765, 1765, 1765, 1769, 1769, 1765, 1765, 1765,
1257
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1769,
1258
     1759, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1759, 1765,
1259
     1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,    0, 1759,
1260
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1261
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1262
     1759, 1759, 1759, 1759
1263
    } ;
1264
1265
static const flex_int16_t yy_nxt[4081] =
1266
    {   0,
1267
       14,   15,   16,   15,   14,   17,   18,   14,   17,   19,
1268
       14,   14,   14,   20,   21,   22,   23,   23,   14,   14,
1269
       14,   24,   25,   26,   27,   28,   29,   30,   31,   32,
1270
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1271
       43,   44,   45,   46,   47,   47,   47,   48,   14,   14,
1272
       14,   14,   24,   25,   26,   27,   28,   29,   30,   31,
1273
       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
1274
       42,   43,   44,   45,   46,   47,   47,   47,   49,   14,
1275
       14,   14,   14,   14,   50,   14,   51,   52,   53,   54,
1276
       55,   56,   51,   57,   58,   51,   51,   51,   51,   59,
1277
1278
       60,   51,   61,   61,   62,   63,   64,   65,   66,   67,
1279
       68,   69,   70,   71,   51,   72,   73,   51,   74,   51,
1280
       75,   76,   51,   51,   77,   78,   79,   80,   51,   81,
1281
       51,   51,   51,   82,   51,   51,   51,   83,   65,   66,
1282
       67,   68,   69,   70,   71,   51,   72,   73,   51,   74,
1283
       51,   75,   76,   51,   51,   77,   78,   79,   80,   51,
1284
       81,   51,   51,   51,   51,   84,   51,   85,   51,   51,
1285
       51,   86,   88,   88,   88,   88,   89,   89,   92,   90,
1286
       90,   93,   92,   96,   96,   93,  103,  107,  103,  108,
1287
      108,  160,   97,   97,  103,  103,  103,  103,  231,  238,
1288
1289
      232,  232,  237,  227,  279,  520,  520,  239,  280,  103,
1290
      103,  103,  103,  298,  299,  310,  310,  300,  300,  311,
1291
      311,   94,  160,  300,  300,   94,   14,   15,   16,   15,
1292
       14,   17,   18,   14,   17,   14,   14,   14,   14,   14,
1293
       47,   98,   14,   14,   14,   14,   14,   47,   47,   99,
1294
       47,  100,   47,   47,   47,   47,   47,   47,   47,  101,
1295
       47,   47,  102,   47,   47,   47,   47,   47,   47,   47,
1296
       47,   47,   47,   14,   14,   14,   14,   14,   47,   47,
1297
       99,   47,  100,   47,   47,   47,   47,   47,   47,   47,
1298
      101,   47,   47,  102,   47,   47,   47,   47,   47,   47,
1299
1300
       47,   47,   47,   47,   14,   14,   14,   14,   14,   14,
1301
       14,   14,  110,  110,  109,  161,  188,  251,  257,  162,
1302
      258,  111,  273,  513,  116,  514,  108,  108,  470,  470,
1303
      233,  233,  471,  471,  273,  117,  118, 1749,  119,  234,
1304
     1741,  266,  300,  300,  273,  120,  161,  188,  251,  257,
1305
      162,  258,  111,  112,  112,  112,  112,  112,  112,  112,
1306
      112,  112,  112,  112,  113,  112,  117,  118,  115,  119,
1307
      234,  112,  266,  112,  121,  174,  120,  153,  122,  271,
1308
      134,  154,  123,  135,  136,  155,  138,  139,  140,  175,
1309
      269,  124,  141,  270,  125,  214,  272,  137,  142,  215,
1310
1311
      112,  112,  112,  743,  112,  121,  174, 1313,  153,  122,
1312
      271,  134,  154,  123,  135,  136,  155,  138,  139,  140,
1313
      175,  269,  124,  141,  270,  125,  214,  272,  137,  142,
1314
      215,  112,  112,  112,  112,  112,  112,  112,  112,  126,
1315
      286,  127,  143, 1242,  128,  129,  144,  287,  130,  743,
1316
      145,  131,  743,  146,  132,  133,  147,  149,  241,  148,
1317
      467,  150,  242,  474,  474,  151,  464,  475,  475,  753,
1318
      126,  286,  127,  143,  152,  128,  129,  144,  287,  130,
1319
      288,  145,  131,  288,  146,  132,  133,  147,  149,  241,
1320
      148,  156,  150,  242,  169,  163,  151,  164,  170,  165,
1321
1322
      157,  158,  171,  166,  243,  152,  167,  159,  292,  176,
1323
      177,  293,  168,  294,  172,  743,  295,  178,  173,  179,
1324
      244,  180,  156,  288,  181,  169,  163,  465,  164,  170,
1325
      165,  157,  158,  171,  166,  243,  467,  167,  159,  292,
1326
      176,  177,  293,  168,  294,  172,  245,  295,  178,  173,
1327
      179,  244,  180,  182,  189,  181,  246,  183,  190,  247,
1328
      312,  184,  191,  208,  185,  317,  320,  186,  192,  464,
1329
      187,  466,  209,  640,  210,  311,  311,  245,  211,  302,
1330
      212,  468,  213,  283,  182,  189,  323,  246,  183,  190,
1331
      247,  312,  184,  191,  208,  185,  317,  320,  186,  192,
1332
1333
      255,  187,  193,  209,  194,  210,  202,  195,  196,  211,
1334
      203,  212,  197,  213,  204,  256,  198,  323,  283,  199,
1335
      205,  200,  469,  206,  201,  235,  280,  232,  232,  301,
1336
      207,  255,  465,  193,  273,  194,  236,  202,  195,  196,
1337
      248,  203,  523,  197,  249,  204,  256,  198,  703,  227,
1338
      199,  205,  200,  259,  206,  201,  216,  217,  250,  262,
1339
      218,  207,  219,  260,  220,  252,  267,  236,  261,  221,
1340
      268,  248,  318,  253,  263,  249,  466,  264,  265,  321,
1341
      227,  277,  254,  319,  259,  322,  463,  216,  217,  250,
1342
      262,  218,  466,  219,  260,  220,  252,  267,  225,  261,
1343
1344
      221,  268,  274,  318,  253,  263,  296,  296,  264,  265,
1345
      321,  275,  324,  254,  319,  297,  322,  276,  116,  326,
1346
      108,  108,  110,  110,  327,  328,  325,  277,  334,  117,
1347
      335,  111,  225,  274,  298,  298,  308,  308,  520,  520,
1348
      311,  311,  275,  324,  223,  309,  297,  302,  276,  336,
1349
      326,  471,  471,  337,  338,  327,  328,  325,  106,  334,
1350
      117,  335,  111,  301,  301,  301,  301,  301,  301,  301,
1351
      301,  301,  301,  301,  301,  301,  309,  329,  304,  106,
1352
      336,  301,  313,  301,  337,  338,  314,  331,  332,  333,
1353
      339,  340,  344,  315,  342,  343,  345,  330,  347,  316,
1354
1355
      346,  350,  348,  351,  356,  341,  349,  357,  329,  358,
1356
      301,  301,  301,  313,  301,  471,  471,  314,  331,  332,
1357
      333,  339,  340,  344,  315,  342,  343,  345,  330,  347,
1358
      316,  346,  350,  348,  351,  356,  341,  349,  357,  291,
1359
      358,  301,  301,  301,  301,  301,  301,  301,  301,  305,
1360
      305,  301,  305,  305,  305,  305,  305,  305,  305,  305,
1361
      305,  305,  359,  363,  307,  475,  475,  305,  352,  305,
1362
      353,  354,  360,  364,  355,  365,  368,  366,  373,  374,
1363
      361,  377,  375,  385,  396,  397,  362,  475,  475,  376,
1364
      520,  520,  402,  359,  363,  367,  305,  305,  305,  352,
1365
1366
      305,  353,  354,  360,  364,  355,  365,  368,  366,  373,
1367
      374,  361,  377,  375,  385,  396,  397,  362,  369,  370,
1368
      376,  378,  390,  402,  371,  290,  367,  305,  305,  305,
1369
      305,  305,  305,  305,  305,  372,  382,  379,  391,  380,
1370
      398,  383,  384,  386,  381,  387,  388,  403,  399,  369,
1371
      370,  389,  378,  390,  404,  371,  392,  393,  394,  400,
1372
      405,  406,  407,  401,  395,  410,  372,  382,  379,  391,
1373
      380,  398,  383,  384,  386,  381,  387,  388,  403,  399,
1374
      411,  408,  389,  409,  412,  404,  418,  392,  393,  394,
1375
      400,  405,  406,  407,  401,  395,  410,  413,  416,  427,
1376
1377
      414,  419,  526,  526,  417,  428,  420,  415,  283,  429,
1378
      430,  411,  408,  283,  409,  412,  431,  418,  281,  435,
1379
      436,  437,  439,  440,  441,  513,  447,  514,  413,  416,
1380
      427,  414,  419,  421,  422,  417,  428,  420,  415,  423,
1381
      429,  430,  451,  424,  425,  438,  426,  431,  432,  433,
1382
      435,  436,  437,  439,  440,  441,  442,  447,  444,  452,
1383
      445,  434,  453,  448,  421,  422,  446,  443,  454,  455,
1384
      423,  449,  456,  451,  424,  425,  438,  426,  457,  432,
1385
      433,  458,  459,  450,  460,  461,  462,  442,  263,  444,
1386
      452,  445,  434,  453,  448,  233,  233,  446,  443,  454,
1387
1388
      455,  229,  449,  456,  234,  476,  477,  478,  235,  457,
1389
      232,  232,  458,  459,  450,  460,  461,  462,  479,  236,
1390
      233,  233,  472,  472,  480,  481,  482,  483,  484,  234,
1391
      486,  473,  229,  487,  488,  234,  476,  477,  478,  489,
1392
      490,  485,  491,  492,  495,  496,  497,  498,  493,  479,
1393
      236,  499,  500,  501,  494,  480,  481,  482,  483,  484,
1394
      234,  486,  473,  502,  487,  488,  503,  504,  506,  505,
1395
      489,  490,  485,  491,  492,  495,  496,  497,  498,  493,
1396
      507,  508,  499,  500,  501,  494,  509,  510,  511,  240,
1397
      513,  516,  742,  230,  502,  526,  526,  503,  504,  506,
1398
1399
      505,  957,  518,  958,  519,  706,  706,  229,  521,  277,
1400
      522,  507,  508,  527,  277,  277,  343,  509,  510,  511,
1401
      104,  104,  516,  104,  104,  104,  104,  104,  104,  104,
1402
      104,  104,  104,  518,  517,  519,  296,  296,  104,  521,
1403
      104,  522,  308,  308,  527,  297,  528,  343,  525,  525,
1404
      529,  309,  526,  526,  530,  531,  532,  533,  534,  535,
1405
      536,  537,  538,  539,  540,  517,  541,  104,  104,  104,
1406
      228,  104,  706,  706,  705,  705,  297,  528,  706,  706,
1407
      227,  529,  309,  277,  955,  530,  531,  532,  533,  534,
1408
      535,  536,  537,  538,  539,  540,  542,  541,  104,  104,
1409
1410
      104,  104,  104,  104,  104,  104,  301,  301,  301,  301,
1411
      301,  301,  301,  301,  301,  301,  301,  301,  301,  543,
1412
      544,  304,  277, 1150,  301,  545,  301,  542,  546,  547,
1413
      548,  551,  552,  555,  556,  553,  557,  558,  549,  559,
1414
      560,  561,  562,  565,  550,  566,  569,  570,  571,  572,
1415
      543,  544,  554,  301,  301,  301,  545,  301,  226,  546,
1416
      547,  548,  551,  552,  555,  556,  553,  557,  558,  549,
1417
      559,  560,  561,  562,  565,  550,  566,  569,  570,  571,
1418
      572,  225,  223,  554,  301,  301,  301,  301,  301,  301,
1419
      301,  301,  305,  305,  301,  305,  305,  305,  305,  305,
1420
1421
      305,  305,  305,  305,  305,  573,  563,  307,  106, 1759,
1422
      305,  567,  305,  564,  575,  574,  576,  577,  578,  568,
1423
      579,  580,  581,  582,  583,  584,  585,  586,  588,  589,
1424
      590,  587,  591,  592,  593,  596,  573,  563,  597,  305,
1425
      305,  305,  567,  305,  564,  575,  574,  576,  577,  578,
1426
      568,  579,  580,  581,  582,  583,  584,  585,  586,  588,
1427
      589,  590,  587,  591,  592,  593,  596, 1759,  598,  597,
1428
      305,  305,  305,  305,  305,  305,  305,  305,  104,  104,
1429
      599,  104,  104,  104,  104,  104,  104,  104,  104,  104,
1430
      104,  594,  600,  601, 1759, 1759,  104,  602,  104,  598,
1431
1432
      603,  595,  604,  605,  606,  618,  619,  524,  621,  622,
1433
      620,  599,  632,  633,  634,  635,  636,  637,  638,  639,
1434
      641,  642,  594,  600,  601,  104,  104,  104,  602,  104,
1435
     1759,  603,  595,  604,  605,  606,  618,  619,  524,  621,
1436
      622,  620, 1759,  632,  633,  634,  635,  636,  637,  638,
1437
      639,  641,  642,  645,  646, 1759,  104,  104,  104,  104,
1438
      104,  104,  104,  104,  607,  608,  647,  609,  648,  610,
1439
      611,  650,  612,  643,  651,  613,  649,  644,  614,  656,
1440
      659,  660,  615,  616,  645,  646,  617, 1759,  957,  661,
1441
     1153,  652, 1759, 1759, 1759,  607,  608,  647,  609,  648,
1442
1443
      610,  611,  650,  612,  643,  651,  613,  649,  644,  614,
1444
      656,  659,  660,  615,  616,  653,  654,  617,  623,  624,
1445
      661,  625,  652,  626,  627,  657,  628,  655,  662,  663,
1446
      664,  665,  658,  666,  667,  668,  629,  630,  669,  670,
1447
      631,  671, 1759,  674,  675,  676,  653,  654,  677,  623,
1448
      624,  678,  625,  679,  626,  627,  657,  628,  655,  662,
1449
      663,  664,  665,  658,  666,  667,  668,  629,  630,  669,
1450
      670,  631,  671,  672,  674,  675,  676,  680,  681,  677,
1451
      682,  683,  678,  684,  679,  673,  685,  686,  687,  688,
1452
      689,  690,  691,  692,  693,  695,  697,  700,  698,  694,
1453
1454
      696,  701,  702,  468,  672,  704,  707,  708,  680,  681,
1455
      699,  682,  683, 1759,  684, 1759,  673,  685,  686,  687,
1456
      688,  689,  690,  691,  692,  693,  695,  697,  700,  698,
1457
      694,  696,  701,  702,  472,  472,  709,  707,  708,  710,
1458
      711,  699,  712,  473,  469,  713,  469,  714,  715,  716,
1459
      717,  718,  719,  720,  721,  722,  723,  724,  725,  726,
1460
      727,  728,  729,  730,  731,  732,  733,  709,  734,  735,
1461
      710,  711,  736,  712,  473,  737,  713,  738,  714,  715,
1462
      716,  717,  718,  719,  720,  721,  722,  723,  724,  725,
1463
      726,  727,  728,  729,  730,  731,  732,  733,  739,  734,
1464
1465
      735,  740,  741,  736,  515,  744,  737,  277,  738,  745,
1466
      746,  747,  515,  748,  277,  749,  750,  751,  752,  754,
1467
      755,  756,  757,  758,  759,  760,  761, 1759,  764,  739,
1468
      277,  765,  740,  741,  766,  515,  744,  767, 1759,  762,
1469
      745,  746,  747,  515,  748,  770,  749,  750,  751,  752,
1470
      754,  755,  756,  757,  758,  759,  760,  761,  763,  764,
1471
      768,  771,  765,  772,  773,  766,  774,  775,  767,  769,
1472
      762,  776,  777,  778,  779,  780,  770,  781,  782,  783,
1473
      784,  785,  786,  787,  788,  789,  790,  791,  792,  763,
1474
      793,  768,  771,  794,  772,  773,  795,  774,  775,  796,
1475
1476
      769,  797,  776,  777,  778,  779,  780,  798,  781,  782,
1477
      783,  784,  785,  786,  787,  788,  789,  790,  791,  792,
1478
      799,  793,  800,  801,  794,  802,  803,  795,  804,  805,
1479
      796,  806,  797,  807,  808,  809,  810,  811,  798,  812,
1480
      813,  814,  816,  817,  818,  819,  820,  821,  815,  822,
1481
     1759,  799,  825,  800,  801,  826,  802,  803,  827,  804,
1482
      805,  828,  806,  829,  807,  808,  809,  810,  811,  830,
1483
      812,  813,  814,  816,  817,  818,  819,  820,  821,  815,
1484
      822,  823,  831,  825,  832,  833,  826,  834,  824,  827,
1485
      837,  838,  828,  835,  829,  839,  840,  841,  842,  843,
1486
1487
      830,  844,  845,  846,  847,  836,  848,  849,  853,  854,
1488
      855,  856,  823,  831,  857,  832,  833,  858,  834,  824,
1489
      859,  837,  838,  862,  835,  850,  839,  840,  841,  842,
1490
      843,  851,  844,  845,  846,  847,  836,  848,  849,  853,
1491
      854,  855,  856,  852,  863,  857,  860,  864,  858,  865,
1492
      861,  859,  866,  867,  862,  868,  850,  869,  870,  871,
1493
      872,  873,  851,  874,  875,  876,  877,  879,  880,  881,
1494
      882,  878,  883,  884,  852,  863,  885,  860,  864,  886,
1495
      865,  861,  887,  866,  867,  888,  868,  889,  869,  870,
1496
      871,  872,  873,  890,  874,  875,  876,  877,  879,  880,
1497
1498
      881,  882,  878,  883,  884,  891,  892,  885,  893,  894,
1499
      886,  895,  896,  887,  897,  898,  888,  899,  889,  900,
1500
      901,  902,  903,  904,  890,  905,  906,  910,  908,  911,
1501
      907,  912,  913,  914,  915,  916,  891,  892,  909,  893,
1502
      894,  917,  895,  896,  918,  897,  898,  919,  899,  920,
1503
      900,  901,  902,  903,  904,  921,  905,  906,  910,  908,
1504
      911,  907,  912,  913,  914,  915,  916,  922,  923,  909,
1505
      924,  925,  917,  926,  927,  918,  928,  929,  919,  930,
1506
      920,  931,  932,  933,  934,  935,  921,  936,  937,  938,
1507
      939,  940,  941,  942,  943,  944,  945,  946,  922,  923,
1508
1509
      947,  924,  925,  948,  926,  927,  949,  928,  929,  950,
1510
      930,  951,  931,  932,  933,  934,  935,  952,  936,  937,
1511
      938,  939,  940,  941,  942,  943,  944,  945,  946,  953,
1512
      954,  947,  956,  959,  948,  960,  961,  949,  962,  963,
1513
      950,  964,  951,  965,  966,  277,  967,  968,  952,  969,
1514
      970,  971,  972,  976,  977,  978,  979,  981,  277,  980,
1515
      953,  954,  982,  956,  959,  973,  960,  961,  983,  962,
1516
      963,  974,  964,  975,  965,  966,  984,  967,  968,  985,
1517
      969,  970,  971,  972,  976,  977,  978,  979,  981,  986,
1518
      980,  987,  988,  982,  989,  990,  973,  991,  992,  983,
1519
1520
      993,  994,  974,  995,  975,  996,  997,  984,  998,  999,
1521
      985, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1013,
1522
      986, 1014,  987,  988, 1015,  989,  990, 1759,  991,  992,
1523
     1016,  993,  994, 1017,  995, 1018,  996,  997, 1019,  998,
1524
      999, 1008, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
1525
     1013, 1009, 1014, 1020, 1010, 1015, 1021, 1027, 1011, 1012,
1526
     1028, 1016, 1029, 1030, 1017, 1022, 1018, 1031, 1023, 1019,
1527
     1032, 1024, 1008, 1033, 1034, 1025, 1035, 1036, 1037, 1038,
1528
     1026, 1039, 1009, 1040, 1020, 1010, 1041, 1021, 1027, 1011,
1529
     1012, 1028, 1042, 1029, 1030, 1043, 1022, 1044, 1031, 1023,
1530
1531
     1045, 1032, 1024, 1046, 1033, 1034, 1025, 1035, 1036, 1037,
1532
     1038, 1026, 1039, 1047, 1040, 1048, 1049, 1041, 1050, 1051,
1533
     1052, 1053, 1054, 1042, 1055, 1056, 1043, 1057, 1044, 1058,
1534
     1059, 1045, 1060, 1061, 1046, 1062, 1063, 1064, 1065, 1066,
1535
     1067, 1068, 1069, 1070, 1047, 1071, 1048, 1049, 1072, 1050,
1536
     1051, 1052, 1053, 1054, 1073, 1055, 1056, 1074, 1057, 1075,
1537
     1058, 1059, 1076, 1060, 1061, 1077, 1062, 1063, 1064, 1065,
1538
     1066, 1067, 1068, 1069, 1070, 1078, 1071, 1079, 1080, 1072,
1539
     1081, 1083, 1084, 1085, 1086, 1073, 1089, 1087, 1074, 1082,
1540
     1075, 1090, 1091, 1076, 1088, 1092, 1077, 1093, 1094, 1095,
1541
1542
     1096, 1097, 1100, 1098, 1101, 1102, 1078, 1103, 1079, 1080,
1543
     1104, 1081, 1083, 1084, 1085, 1086, 1105, 1089, 1087, 1099,
1544
     1082, 1106, 1090, 1091, 1107, 1088, 1092, 1108, 1093, 1094,
1545
     1095, 1096, 1097, 1100, 1098, 1101, 1102, 1109, 1103, 1110,
1546
     1111, 1104, 1112, 1114, 1115, 1118, 1116, 1105, 1113, 1119,
1547
     1099, 1120, 1106, 1121, 1122, 1107, 1117, 1123, 1108, 1124,
1548
     1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1109, 1133,
1549
     1110, 1111, 1134, 1112, 1114, 1115, 1118, 1116, 1135, 1113,
1550
     1119, 1136, 1120, 1137, 1121, 1122, 1138, 1117, 1123, 1139,
1551
     1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1140,
1552
1553
     1133, 1141, 1142, 1134, 1143, 1144, 1145, 1146, 1147, 1135,
1554
     1148, 1149, 1136, 1759, 1137, 1154, 1152, 1138, 1151, 1155,
1555
     1139, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164,
1556
     1140, 1165, 1141, 1142, 1166, 1143, 1144, 1145, 1146, 1147,
1557
      277, 1148, 1149, 1167,  277, 1168, 1154, 1152, 1169, 1151,
1558
     1155, 1170, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
1559
     1164, 1171, 1165, 1172, 1173, 1166, 1174, 1175, 1176, 1177,
1560
     1178, 1179, 1180, 1181, 1167, 1182, 1168, 1183, 1184, 1169,
1561
     1185, 1186, 1170, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
1562
     1194, 1195, 1171, 1196, 1172, 1173, 1197, 1174, 1175, 1176,
1563
1564
     1177, 1178, 1179, 1180, 1181, 1198, 1182, 1199, 1183, 1184,
1565
     1200, 1185, 1186, 1201, 1187, 1188, 1189, 1190, 1191, 1192,
1566
     1193, 1194, 1195, 1202, 1196, 1203, 1204, 1197, 1205, 1206,
1567
     1208, 1209, 1210, 1211, 1212, 1213, 1198, 1207, 1199, 1214,
1568
     1215, 1200, 1216, 1217, 1201, 1218, 1219, 1220, 1221, 1222,
1569
     1223, 1224, 1225, 1226, 1202, 1227, 1203, 1204, 1228, 1205,
1570
     1206, 1208, 1209, 1210, 1211, 1212, 1213, 1229, 1207, 1230,
1571
     1214, 1215, 1231, 1216, 1217, 1232, 1218, 1219, 1220, 1221,
1572
     1222, 1223, 1224, 1225, 1226, 1233, 1227, 1234, 1235, 1228,
1573
     1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1229, 1245,
1574
1575
     1230, 1246, 1247, 1231, 1248, 1249, 1232, 1250, 1251, 1252,
1576
     1253, 1254, 1255, 1256, 1257, 1258, 1233, 1259, 1234, 1235,
1577
     1260, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1261,
1578
     1245, 1262, 1246, 1247, 1263, 1248, 1249, 1264, 1250, 1251,
1579
     1252, 1253, 1254, 1255, 1256, 1257, 1258, 1265, 1259, 1266,
1580
     1267, 1260, 1268, 1269, 1270, 1271, 1272, 1274, 1275, 1276,
1581
     1261, 1277, 1262, 1278, 1279, 1263, 1280, 1281, 1264, 1282,
1582
     1283, 1284, 1273, 1285, 1286, 1287, 1288, 1289, 1265, 1290,
1583
     1266, 1267, 1291, 1268, 1269, 1270, 1271, 1272, 1274, 1275,
1584
     1276, 1292, 1277, 1293, 1278, 1279, 1294, 1280, 1281, 1295,
1585
1586
     1282, 1283, 1284, 1273, 1285, 1286, 1287, 1288, 1289, 1296,
1587
     1290, 1297, 1298, 1291, 1299, 1300, 1301, 1302, 1303, 1304,
1588
     1305, 1306, 1292, 1307, 1293, 1308, 1309, 1294, 1310, 1311,
1589
     1295, 1314, 1315, 1316, 1312, 1317, 1318, 1319, 1320, 1321,
1590
     1296, 1322, 1297, 1298, 1323, 1299, 1300, 1301, 1302, 1303,
1591
     1304, 1305, 1306, 1324, 1307,  277, 1308, 1309,  277, 1310,
1592
     1311, 1325, 1314, 1315, 1316, 1312, 1317, 1318, 1319, 1320,
1593
     1321, 1326, 1322, 1327, 1328, 1323, 1329, 1330, 1331, 1332,
1594
     1333, 1334, 1335, 1336, 1324, 1337, 1338, 1339, 1340, 1341,
1595
     1342, 1343, 1325, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
1596
1597
     1351, 1352, 1326, 1353, 1327, 1328, 1354, 1329, 1330, 1331,
1598
     1332, 1333, 1334, 1335, 1336, 1355, 1337, 1338, 1339, 1340,
1599
     1341, 1342, 1343, 1356, 1344, 1345, 1346, 1347, 1348, 1349,
1600
     1350, 1351, 1352, 1357, 1353, 1358, 1359, 1354, 1360, 1361,
1601
     1362, 1363, 1364, 1365, 1366, 1367, 1355, 1368, 1369, 1370,
1602
     1371, 1372, 1373, 1374, 1356, 1375, 1376, 1377, 1378, 1379,
1603
     1380, 1381, 1382, 1383, 1357, 1384, 1358, 1359, 1385, 1360,
1604
     1361, 1362, 1363, 1364, 1365, 1366, 1367, 1386, 1368, 1369,
1605
     1370, 1371, 1372, 1373, 1374, 1389, 1375, 1376, 1377, 1378,
1606
     1379, 1380, 1381, 1382, 1383, 1387, 1384, 1388, 1390, 1385,
1607
1608
     1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1386, 1400,
1609
     1401, 1402, 1403, 1404, 1405, 1406, 1389, 1407, 1391, 1408,
1610
     1409, 1410, 1411, 1412, 1413, 1414, 1387, 1415, 1388, 1390,
1611
     1416, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1417,
1612
     1400, 1401, 1402, 1403, 1404, 1405, 1406, 1418, 1407, 1391,
1613
     1408, 1409, 1410, 1411, 1412, 1413, 1414, 1419, 1415, 1422,
1614
     1420, 1416, 1421, 1423, 1424, 1425, 1426, 1427, 1428, 1429,
1615
     1417, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1418, 1437,
1616
     1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1419, 1448,
1617
     1422, 1420, 1447, 1421, 1423, 1424, 1425, 1426, 1427, 1428,
1618
1619
     1429, 1446, 1430, 1431, 1432, 1433, 1434, 1435, 1436,  277,
1620
     1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1449,
1621
     1448, 1450, 1451, 1447, 1452,  277, 1453, 1454, 1455, 1456,
1622
     1457, 1458, 1446, 1459, 1460, 1461, 1462, 1463, 1464, 1465,
1623
     1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475,
1624
     1449, 1476, 1450, 1451, 1477, 1452, 1478, 1453, 1454, 1455,
1625
     1456, 1457, 1458, 1479, 1459, 1460, 1461, 1462, 1463, 1464,
1626
     1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474,
1627
     1475, 1480, 1476, 1481, 1482, 1477, 1483, 1478, 1484, 1485,
1628
     1486, 1487, 1488, 1489, 1479, 1490, 1491, 1492, 1493, 1494,
1629
1630
     1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
1631
     1505, 1506, 1480, 1507, 1481, 1482, 1508, 1483, 1509, 1484,
1632
     1485, 1486, 1487, 1488, 1489, 1510, 1490, 1491, 1492, 1493,
1633
     1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
1634
     1504, 1505, 1506, 1511, 1507, 1512, 1513, 1508, 1514, 1509,
1635
     1515, 1516, 1517, 1518, 1519, 1520, 1510, 1521, 1522, 1523,
1636
     1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1637
     1534, 1535, 1536, 1537, 1511, 1538, 1512, 1513, 1539, 1514,
1638
     1540, 1515, 1516, 1517, 1518, 1519, 1520, 1541, 1521, 1522,
1639
     1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532,
1640
1641
     1533, 1534, 1535, 1536, 1537, 1542, 1538, 1543, 1544, 1539,
1642
     1545, 1540, 1546, 1547, 1548, 1549, 1550, 1551, 1541, 1552,
1643
     1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
1644
     1563,  277,  277, 1564, 1565, 1566, 1542, 1567, 1543, 1544,
1645
     1568, 1545, 1569, 1546, 1547, 1548, 1549, 1550, 1551, 1570,
1646
     1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561,
1647
     1562, 1563, 1571, 1572, 1564, 1565, 1566, 1573, 1567, 1574,
1648
     1575, 1568, 1576, 1569, 1577, 1578, 1579, 1580, 1581, 1582,
1649
     1570, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591,
1650
     1592, 1593, 1594, 1571, 1572, 1595, 1596, 1597, 1573, 1598,
1651
1652
     1574, 1575, 1599, 1576, 1600, 1577, 1578, 1579, 1580, 1581,
1653
     1582, 1601, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590,
1654
     1591, 1592, 1593, 1594, 1602, 1603, 1595, 1596, 1597, 1604,
1655
     1598, 1605, 1606, 1599, 1607, 1600, 1608, 1609, 1610, 1611,
1656
     1612, 1613, 1601, 1614, 1615, 1616, 1617, 1618, 1619, 1620,
1657
     1621, 1622, 1623, 1624, 1625, 1602, 1603, 1628, 1629, 1759,
1658
     1604, 1630, 1605, 1606, 1633, 1607, 1634, 1608, 1609, 1610,
1659
     1611, 1612, 1613, 1626, 1614, 1615, 1616, 1617, 1618, 1619,
1660
     1620, 1621, 1622, 1623, 1624, 1625, 1627, 1635, 1628, 1629,
1661
      277, 1636, 1630, 1631, 1637, 1633,  277, 1634, 1632, 1638,
1662
1663
     1639, 1640, 1641, 1642, 1626, 1643, 1644, 1645, 1646, 1647,
1664
     1648, 1649, 1650, 1651, 1652, 1653, 1654, 1627, 1635, 1655,
1665
     1656, 1657, 1636, 1658, 1631, 1637, 1659, 1660, 1661, 1632,
1666
     1638, 1639, 1640, 1641, 1642, 1662, 1643, 1644, 1645, 1646,
1667
     1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1663, 1664,
1668
     1655, 1656, 1657, 1665, 1658, 1666, 1667, 1659, 1660, 1661,
1669
     1668, 1669, 1670, 1671, 1672, 1673, 1662, 1674, 1675, 1676,
1670
     1677, 1678, 1679, 1680, 1681, 1682, 1683,  277, 1684, 1663,
1671
     1664, 1685, 1686, 1687, 1665, 1688, 1666, 1667,  277, 1689,
1672
     1690, 1668, 1669, 1670, 1671, 1672, 1673, 1691, 1674, 1675,
1673
1674
     1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1692, 1684,
1675
     1693, 1694, 1685, 1686, 1687, 1695, 1688, 1696, 1697, 1698,
1676
     1689, 1690, 1699, 1700, 1701, 1702, 1703, 1704, 1691, 1705,
1677
     1706, 1707,  277, 1708, 1709, 1710, 1711, 1712, 1713, 1692,
1678
     1714, 1693, 1694, 1715, 1716, 1717, 1695,  277, 1696, 1697,
1679
     1698, 1718, 1719, 1699, 1700, 1701, 1702, 1703, 1704, 1720,
1680
     1705, 1706, 1707, 1721, 1708, 1709, 1710, 1711, 1712, 1713,
1681
     1722, 1714, 1723, 1724, 1715, 1716, 1717, 1725, 1726, 1759,
1682
     1728,  277, 1718, 1719, 1729, 1730, 1727, 1731, 1732, 1733,
1683
     1720, 1734, 1735, 1736, 1721, 1737, 1738, 1739, 1759, 1742,
1684
1685
     1743, 1722, 1744, 1723, 1724, 1740, 1745, 1746, 1725, 1726,
1686
      277, 1728, 1747, 1748, 1750, 1729, 1730, 1727, 1731, 1732,
1687
     1733, 1751, 1734, 1735, 1736, 1752, 1737, 1738, 1739,  277,
1688
     1742, 1743, 1753, 1744, 1754, 1755, 1740, 1745, 1746, 1756,
1689
     1757, 1758, 1759, 1747, 1748, 1750, 1759, 1759, 1759, 1759,
1690
     1759, 1759, 1751, 1759, 1759, 1759, 1752, 1759, 1759, 1759,
1691
     1759, 1759, 1759, 1753, 1759, 1754, 1755, 1759, 1759, 1759,
1692
     1756, 1757, 1758,   87,   87,   87,   87,   87,   91,   91,
1693
       91,   91,   91,   95,   95,   95,   95,   95,  104, 1759,
1694
      104,  104,  104,  105, 1759,  105,  105,  105,  114,  114,
1695
1696
      114,  114,  114,  222,  222,  222,  222,  222,  224, 1759,
1697
      224,  224,  224,  273,  273,  273,  273,  273,  278,  278,
1698
      278,  278,  278,  282,  282,  282,  282,  282,  284,  284,
1699
      284,  284,  284,  285,  285, 1759,  285,  285,  289, 1759,
1700
      289, 1759,  289,  301,  301,  301,  301,  301,  303,  303,
1701
      303,  303,  303,  306,  306,  306,  306,  306,  464,  464,
1702
      464,  464,  464,  467,  467,  467,  467,  467,  512,  512,
1703
      512,  512,  512,  515, 1759,  515,  515,  515,  305,  305,
1704
      305,  305,  305,  104, 1759,  104,  104,  104,  743,  743,
1705
      743,  743,  743,   13, 1759, 1759, 1759, 1759, 1759, 1759,
1706
1707
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1708
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1709
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1710
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1711
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1712
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1713
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
1714
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759
1715
    } ;
1716
1717
static const flex_int16_t yy_chk[4081] =
1718
    {   0,
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,    1,    1,    1,    1,
1723
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1724
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1725
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1726
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1727
        1,    1,    1,    1,    1,    1,    3,    3,    3,    3,
1728
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1729
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,    3,    3,    3,    3,    3,    3,    3,    3,
1733
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1734
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1735
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1736
        3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1737
        3,    3,    5,    6,    5,    6,    5,    6,    7,    5,
1738
        6,    7,    8,    9,   10,    8,   15,   20,   15,   20,
1739
       20,   33,    9,   10,   52,   54,   52,   54,   59,   63,
1740
1741
       59,   59,   62,   62,   83,  298,  298,   63,   83,   88,
1742
      103,   88,  103,  111,  111,  117,  117,  111,  111,  117,
1743
      117,    7,   33,  299,  299,    8,   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
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1747
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1748
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1749
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1750
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1751
1752
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1753
       11,   11,   21,   21, 1765,   34,   40,   69,   72,   34,
1754
       73,   21, 1749,  279,   23,  279,   23,   23,  234,  234,
1755
       60,   60,  234,  234, 1741,   23,   24, 1740,   24,   60,
1756
     1727,   77,  300,  300, 1313,   24,   34,   40,   69,   72,
1757
       34,   73,   21,   22,   22,   22,   22,   22,   22,   22,
1758
       22,   22,   22,   22,   22,   22,   23,   24,   22,   24,
1759
       60,   22,   77,   22,   25,   37,   24,   31,   25,   80,
1760
       27,   31,   25,   27,   27,   31,   28,   28,   28,   37,
1761
       79,   25,   28,   79,   25,   45,   81,   27,   28,   45,
1762
1763
       22,   22,   22, 1153,   22,   25,   37, 1152,   31,   25,
1764
       80,   27,   31,   25,   27,   27,   31,   28,   28,   28,
1765
       37,   79,   25,   28,   79,   25,   45,   81,   27,   28,
1766
       45,   22,   22,   22,   22,   22,   22,   22,   22,   26,
1767
       92,   26,   29, 1066,   26,   26,   29,   93,   26,  958,
1768
       29,   26,  742,   29,   26,   26,   29,   30,   65,   29,
1769
      704,   30,   65,  236,  236,   30,  703,  236,  236,  532,
1770
       26,   92,   26,   29,   30,   26,   26,   29,   93,   26,
1771
       94,   29,   26,   94,   29,   26,   26,   29,   30,   65,
1772
       29,   32,   30,   65,   36,   35,   30,   35,   36,   35,
1773
1774
       32,   32,   36,   35,   66,   30,   35,   32,   99,   38,
1775
       38,  100,   35,  101,   36,  514,  102,   38,   36,   38,
1776
       66,   38,   32,   94,   38,   36,   35,  228,   35,   36,
1777
       35,   32,   32,   36,   35,   66,  468,   35,   32,   99,
1778
       38,   38,  100,   35,  101,   36,   67,  102,   38,   36,
1779
       38,   66,   38,   39,   41,   38,   67,   39,   41,   67,
1780
      118,   39,   41,   44,   39,  120,  122,   39,   41,  465,
1781
       39,  228,   44,  404,   44,  310,  310,   67,   44,  301,
1782
       44,  230,   44,  284,   39,   41,  124,   67,   39,   41,
1783
       67,  118,   39,   41,   44,   39,  120,  122,   39,   41,
1784
1785
       71,   39,   42,   44,   42,   44,   43,   42,   42,   44,
1786
       43,   44,   42,   44,   43,   71,   42,  124,  282,   42,
1787
       43,   42,  230,   43,   42,   61,  278,   61,   61,  305,
1788
       43,   71,  464,   42,  277,   42,   61,   43,   42,   42,
1789
       68,   43,  305,   42,   68,   43,   71,   42,  466,   75,
1790
       42,   43,   42,   74,   43,   42,   46,   46,   68,   75,
1791
       46,   43,   46,   74,   46,   70,   78,   61,   74,   46,
1792
       78,   68,  121,   70,   76,   68,  464,   76,   76,  123,
1793
       75,  273,   70,  121,   74,  123,  226,   46,   46,   68,
1794
       75,   46,  466,   46,   74,   46,   70,   78,  225,   74,
1795
1796
       46,   78,   82,  121,   70,   76,  107,  107,   76,   76,
1797
      123,   82,  125,   70,  121,  107,  123,   82,  108,  127,
1798
      108,  108,  110,  110,  128,  129,  125,   82,  133,  108,
1799
      134,  110,  224,   82,  297,  297,  116,  116,  297,  297,
1800
      311,  311,   82,  125,  222,  116,  107,  112,   82,  136,
1801
      127,  470,  470,  136,  137,  128,  129,  125,  106,  133,
1802
      108,  134,  110,  114,  114,  114,  114,  114,  114,  114,
1803
      114,  114,  114,  114,  114,  114,  116,  130,  114,  105,
1804
      136,  114,  119,  114,  136,  137,  119,  131,  131,  131,
1805
      138,  139,  141,  119,  140,  140,  142,  130,  143,  119,
1806
1807
      142,  145,  144,  146,  148,  139,  144,  149,  130,  150,
1808
      114,  114,  114,  119,  114,  471,  471,  119,  131,  131,
1809
      131,  138,  139,  141,  119,  140,  140,  142,  130,  143,
1810
      119,  142,  145,  144,  146,  148,  139,  144,  149,   98,
1811
      150,  114,  114,  114,  114,  114,  114,  114,  114,  115,
1812
      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
1813
      115,  115,  151,  153,  115,  474,  474,  115,  147,  115,
1814
      147,  147,  152,  154,  147,  155,  157,  156,  159,  160,
1815
      152,  162,  161,  166,  172,  173,  152,  475,  475,  161,
1816
      520,  520,  176,  151,  153,  156,  115,  115,  115,  147,
1817
1818
      115,  147,  147,  152,  154,  147,  155,  157,  156,  159,
1819
      160,  152,  162,  161,  166,  172,  173,  152,  158,  158,
1820
      161,  163,  170,  176,  158,   97,  156,  115,  115,  115,
1821
      115,  115,  115,  115,  115,  158,  165,  163,  170,  163,
1822
      174,  165,  165,  169,  163,  169,  169,  177,  174,  158,
1823
      158,  169,  163,  170,  178,  158,  171,  171,  171,  175,
1824
      179,  180,  181,  175,  171,  183,  158,  165,  163,  170,
1825
      163,  174,  165,  165,  169,  163,  169,  169,  177,  174,
1826
      184,  182,  169,  182,  185,  178,  188,  171,  171,  171,
1827
      175,  179,  180,  181,  175,  171,  183,  186,  187,  191,
1828
1829
      186,  189,  525,  525,  187,  192,  189,  186,   90,  193,
1830
      194,  184,  182,   89,  182,  185,  195,  188,   85,  197,
1831
      198,  199,  200,  201,  202,  512,  205,  512,  186,  187,
1832
      191,  186,  189,  190,  190,  187,  192,  189,  186,  190,
1833
      193,  194,  207,  190,  190,  199,  190,  195,  196,  196,
1834
      197,  198,  199,  200,  201,  202,  203,  205,  204,  210,
1835
      204,  196,  212,  206,  190,  190,  204,  203,  213,  214,
1836
      190,  206,  215,  207,  190,  190,  199,  190,  216,  196,
1837
      196,  217,  218,  206,  219,  220,  221,  203,   84,  204,
1838
      210,  204,  196,  212,  206,  231,  231,  204,  203,  213,
1839
1840
      214,  241,  206,  215,  231,  242,  243,  244,  232,  216,
1841
      232,  232,  217,  218,  206,  219,  220,  221,  245,  232,
1842
      233,  233,  235,  235,  246,  246,  247,  248,  249,  233,
1843
      250,  235,  241,  251,  252,  231,  242,  243,  244,  253,
1844
      254,  249,  255,  257,  258,  259,  260,  262,  257,  245,
1845
      232,  264,  265,  266,  257,  246,  246,  247,  248,  249,
1846
      233,  250,  235,  267,  251,  252,  268,  269,  270,  269,
1847
      253,  254,  249,  255,  257,  258,  259,  260,  262,  257,
1848
      271,  272,  264,  265,  266,  257,  274,  275,  276,   64,
1849
      513,  292,  513,   58,  267,  526,  526,  268,  269,  270,
1850
1851
      269,  743,  294,  743,  295,  705,  705,   57,  302,  276,
1852
      304,  271,  272,  312,  274,  275,  293,  274,  275,  276,
1853
      291,  291,  292,  291,  291,  291,  291,  291,  291,  291,
1854
      291,  291,  291,  294,  293,  295,  296,  296,  291,  302,
1855
      291,  304,  308,  308,  312,  296,  313,  293,  309,  309,
1856
      314,  308,  309,  309,  315,  316,  317,  318,  319,  320,
1857
      321,  322,  323,  324,  325,  293,  326,  291,  291,  291,
1858
       56,  291,  706,  706,  473,  473,  296,  313,  473,  473,
1859
       55,  314,  308,  740,  740,  315,  316,  317,  318,  319,
1860
      320,  321,  322,  323,  324,  325,  327,  326,  291,  291,
1861
1862
      291,  291,  291,  291,  291,  291,  303,  303,  303,  303,
1863
      303,  303,  303,  303,  303,  303,  303,  303,  303,  328,
1864
      329,  303,  954,  954,  303,  330,  303,  327,  331,  332,
1865
      333,  335,  336,  338,  339,  337,  340,  341,  333,  342,
1866
      344,  345,  346,  348,  333,  349,  351,  352,  353,  354,
1867
      328,  329,  337,  303,  303,  303,  330,  303,   50,  331,
1868
      332,  333,  335,  336,  338,  339,  337,  340,  341,  333,
1869
      342,  344,  345,  346,  348,  333,  349,  351,  352,  353,
1870
      354,   49,   48,  337,  303,  303,  303,  303,  303,  303,
1871
      303,  303,  306,  306,  306,  306,  306,  306,  306,  306,
1872
1873
      306,  306,  306,  306,  306,  355,  347,  306,   19,   13,
1874
      306,  350,  306,  347,  356,  355,  358,  359,  360,  350,
1875
      361,  362,  363,  364,  365,  366,  368,  369,  370,  371,
1876
      372,  369,  373,  374,  375,  377,  355,  347,  378,  306,
1877
      306,  306,  350,  306,  347,  356,  355,  358,  359,  360,
1878
      350,  361,  362,  363,  364,  365,  366,  368,  369,  370,
1879
      371,  372,  369,  373,  374,  375,  377,    0,  379,  378,
1880
      306,  306,  306,  306,  306,  306,  306,  306,  307,  307,
1881
      380,  307,  307,  307,  307,  307,  307,  307,  307,  307,
1882
      307,  376,  381,  382,    0,    0,  307,  383,  307,  379,
1883
1884
      384,  376,  385,  387,  388,  390,  391,  307,  392,  393,
1885
      391,  380,  395,  396,  397,  398,  399,  400,  401,  402,
1886
      405,  406,  376,  381,  382,  307,  307,  307,  383,  307,
1887
        0,  384,  376,  385,  387,  388,  390,  391,  307,  392,
1888
      393,  391,    0,  395,  396,  397,  398,  399,  400,  401,
1889
      402,  405,  406,  408,  409,    0,  307,  307,  307,  307,
1890
      307,  307,  307,  307,  389,  389,  410,  389,  411,  389,
1891
      389,  412,  389,  407,  413,  389,  411,  407,  389,  416,
1892
      418,  419,  389,  389,  408,  409,  389,    0,  957,  420,
1893
      957,  414,    0,    0,    0,  389,  389,  410,  389,  411,
1894
1895
      389,  389,  412,  389,  407,  413,  389,  411,  407,  389,
1896
      416,  418,  419,  389,  389,  414,  415,  389,  394,  394,
1897
      420,  394,  414,  394,  394,  417,  394,  415,  421,  422,
1898
      423,  424,  417,  425,  426,  427,  394,  394,  428,  429,
1899
      394,  430,    0,  432,  433,  434,  414,  415,  435,  394,
1900
      394,  436,  394,  437,  394,  394,  417,  394,  415,  421,
1901
      422,  423,  424,  417,  425,  426,  427,  394,  394,  428,
1902
      429,  394,  430,  431,  432,  433,  434,  438,  440,  435,
1903
      441,  442,  436,  443,  437,  431,  444,  445,  446,  447,
1904
      448,  449,  450,  451,  452,  453,  454,  456,  455,  452,
1905
1906
      453,  459,  462,  467,  431,  469,  476,  477,  438,  440,
1907
      455,  441,  442,    0,  443,    0,  431,  444,  445,  446,
1908
      447,  448,  449,  450,  451,  452,  453,  454,  456,  455,
1909
      452,  453,  459,  462,  472,  472,  478,  476,  477,  479,
1910
      480,  455,  481,  472,  467,  482,  469,  483,  484,  485,
1911
      486,  487,  488,  489,  490,  491,  492,  493,  494,  495,
1912
      496,  497,  499,  500,  501,  502,  503,  478,  504,  505,
1913
      479,  480,  506,  481,  472,  507,  482,  508,  483,  484,
1914
      485,  486,  487,  488,  489,  490,  491,  492,  493,  494,
1915
      495,  496,  497,  499,  500,  501,  502,  503,  509,  504,
1916
1917
      505,  510,  511,  506,  515,  516,  507,  509,  508,  518,
1918
      519,  523,  524,  527,  510,  528,  529,  530,  531,  533,
1919
      534,  535,  536,  537,  538,  539,  541,    0,  543,  509,
1920
      511,  544,  510,  511,  545,  515,  516,  546,    0,  542,
1921
      518,  519,  523,  524,  527,  548,  528,  529,  530,  531,
1922
      533,  534,  535,  536,  537,  538,  539,  541,  542,  543,
1923
      547,  549,  544,  550,  551,  545,  552,  553,  546,  547,
1924
      542,  554,  555,  556,  557,  558,  548,  559,  560,  561,
1925
      562,  563,  564,  565,  567,  568,  569,  570,  571,  542,
1926
      572,  547,  549,  573,  550,  551,  574,  552,  553,  576,
1927
1928
      547,  577,  554,  555,  556,  557,  558,  578,  559,  560,
1929
      561,  562,  563,  564,  565,  567,  568,  569,  570,  571,
1930
      579,  572,  580,  581,  573,  582,  583,  574,  584,  585,
1931
      576,  586,  577,  587,  588,  589,  590,  591,  578,  593,
1932
      594,  595,  596,  597,  598,  599,  600,  601,  595,  603,
1933
        0,  579,  605,  580,  581,  607,  582,  583,  608,  584,
1934
      585,  609,  586,  610,  587,  588,  589,  590,  591,  611,
1935
      593,  594,  595,  596,  597,  598,  599,  600,  601,  595,
1936
      603,  604,  612,  605,  613,  614,  607,  615,  604,  608,
1937
      616,  617,  609,  615,  610,  618,  619,  620,  621,  622,
1938
1939
      611,  623,  624,  625,  626,  615,  627,  628,  630,  631,
1940
      632,  633,  604,  612,  634,  613,  614,  636,  615,  604,
1941
      638,  616,  617,  640,  615,  629,  618,  619,  620,  621,
1942
      622,  629,  623,  624,  625,  626,  615,  627,  628,  630,
1943
      631,  632,  633,  629,  641,  634,  639,  642,  636,  643,
1944
      639,  638,  644,  645,  640,  646,  629,  647,  648,  649,
1945
      650,  651,  629,  652,  653,  654,  655,  656,  657,  658,
1946
      659,  655,  660,  661,  629,  641,  662,  639,  642,  663,
1947
      643,  639,  664,  644,  645,  665,  646,  666,  647,  648,
1948
      649,  650,  651,  667,  652,  653,  654,  655,  656,  657,
1949
1950
      658,  659,  655,  660,  661,  668,  669,  662,  670,  671,
1951
      663,  672,  673,  664,  674,  675,  665,  676,  666,  677,
1952
      678,  679,  680,  681,  667,  682,  683,  687,  685,  688,
1953
      683,  689,  690,  691,  693,  694,  668,  669,  685,  670,
1954
      671,  695,  672,  673,  696,  674,  675,  697,  676,  698,
1955
      677,  678,  679,  680,  681,  699,  682,  683,  687,  685,
1956
      688,  683,  689,  690,  691,  693,  694,  700,  701,  685,
1957
      708,  709,  695,  710,  711,  696,  712,  713,  697,  714,
1958
      698,  715,  716,  717,  718,  719,  699,  720,  721,  722,
1959
      723,  724,  725,  726,  727,  728,  729,  730,  700,  701,
1960
1961
      731,  708,  709,  732,  710,  711,  733,  712,  713,  734,
1962
      714,  735,  715,  716,  717,  718,  719,  737,  720,  721,
1963
      722,  723,  724,  725,  726,  727,  728,  729,  730,  738,
1964
      739,  731,  741,  744,  732,  746,  749,  733,  751,  752,
1965
      734,  754,  735,  755,  757,  741,  758,  759,  737,  760,
1966
      761,  762,  764,  766,  767,  768,  769,  770,  739,  769,
1967
      738,  739,  771,  741,  744,  765,  746,  749,  772,  751,
1968
      752,  765,  754,  765,  755,  757,  773,  758,  759,  775,
1969
      760,  761,  762,  764,  766,  767,  768,  769,  770,  776,
1970
      769,  777,  778,  771,  781,  783,  765,  784,  784,  772,
1971
1972
      785,  787,  765,  788,  765,  789,  790,  773,  791,  792,
1973
      775,  793,  795,  796,  798,  799,  802,  803,  804,  806,
1974
      776,  807,  777,  778,  809,  781,  783,    0,  784,  784,
1975
      810,  785,  787,  812,  788,  813,  789,  790,  814,  791,
1976
      792,  805,  793,  795,  796,  798,  799,  802,  803,  804,
1977
      806,  805,  807,  815,  805,  809,  816,  819,  805,  805,
1978
      821,  810,  822,  823,  812,  817,  813,  824,  817,  814,
1979
      825,  817,  805,  826,  827,  817,  828,  829,  830,  831,
1980
      817,  832,  805,  833,  815,  805,  834,  816,  819,  805,
1981
      805,  821,  835,  822,  823,  836,  817,  837,  824,  817,
1982
1983
      838,  825,  817,  839,  826,  827,  817,  828,  829,  830,
1984
      831,  817,  832,  840,  833,  841,  843,  834,  844,  845,
1985
      846,  847,  848,  835,  849,  850,  836,  851,  837,  852,
1986
      853,  838,  854,  856,  839,  858,  859,  860,  861,  862,
1987
      863,  864,  865,  866,  840,  867,  841,  843,  868,  844,
1988
      845,  846,  847,  848,  869,  849,  850,  870,  851,  871,
1989
      852,  853,  872,  854,  856,  873,  858,  859,  860,  861,
1990
      862,  863,  864,  865,  866,  874,  867,  875,  876,  868,
1991
      877,  878,  879,  880,  881,  869,  883,  882,  870,  877,
1992
      871,  884,  885,  872,  882,  886,  873,  887,  888,  889,
1993
1994
      890,  893,  894,  893,  895,  896,  874,  897,  875,  876,
1995
      898,  877,  878,  879,  880,  881,  899,  883,  882,  893,
1996
      877,  901,  884,  885,  902,  882,  886,  903,  887,  888,
1997
      889,  890,  893,  894,  893,  895,  896,  904,  897,  906,
1998
      907,  898,  908,  909,  911,  913,  912,  899,  908,  914,
1999
      893,  917,  901,  918,  919,  902,  912,  920,  903,  921,
2000
      922,  924,  925,  926,  927,  928,  929,  930,  904,  931,
2001
      906,  907,  932,  908,  909,  911,  913,  912,  933,  908,
2002
      914,  934,  917,  936,  918,  919,  937,  912,  920,  938,
2003
      921,  922,  924,  925,  926,  927,  928,  929,  930,  939,
2004
2005
      931,  941,  942,  932,  943,  946,  948,  949,  950,  933,
2006
      951,  953,  934,    0,  936,  959,  956,  937,  955,  960,
2007
      938,  961,  962,  963,  964,  965,  966,  968,  971,  973,
2008
      939,  974,  941,  942,  975,  943,  946,  948,  949,  950,
2009
      956,  951,  953,  976,  955,  977,  959,  956,  978,  955,
2010
      960,  980,  961,  962,  963,  964,  965,  966,  968,  971,
2011
      973,  982,  974,  983,  984,  975,  985,  986,  988,  989,
2012
      990,  991,  993,  994,  976,  996,  977,  997,  999,  978,
2013
     1001, 1002,  980, 1003, 1004, 1007, 1008, 1009, 1010, 1011,
2014
     1012, 1014,  982, 1015,  983,  984, 1016,  985,  986,  988,
2015
2016
      989,  990,  991,  993,  994, 1017,  996, 1018,  997,  999,
2017
     1019, 1001, 1002, 1020, 1003, 1004, 1007, 1008, 1009, 1010,
2018
     1011, 1012, 1014, 1021, 1015, 1022, 1023, 1016, 1024, 1025,
2019
     1026, 1029, 1030, 1031, 1032, 1033, 1017, 1025, 1018, 1034,
2020
     1035, 1019, 1036, 1037, 1020, 1038, 1039, 1040, 1041, 1042,
2021
     1043, 1044, 1045, 1047, 1021, 1049, 1022, 1023, 1050, 1024,
2022
     1025, 1026, 1029, 1030, 1031, 1032, 1033, 1051, 1025, 1052,
2023
     1034, 1035, 1053, 1036, 1037, 1054, 1038, 1039, 1040, 1041,
2024
     1042, 1043, 1044, 1045, 1047, 1055, 1049, 1056, 1057, 1050,
2025
     1058, 1059, 1060, 1061, 1062, 1065, 1067, 1068, 1051, 1069,
2026
2027
     1052, 1070, 1071, 1053, 1072, 1073, 1054, 1078, 1079, 1080,
2028
     1081, 1082, 1083, 1084, 1085, 1086, 1055, 1087, 1056, 1057,
2029
     1088, 1058, 1059, 1060, 1061, 1062, 1065, 1067, 1068, 1089,
2030
     1069, 1090, 1070, 1071, 1091, 1072, 1073, 1093, 1078, 1079,
2031
     1080, 1081, 1082, 1083, 1084, 1085, 1086, 1094, 1087, 1095,
2032
     1096, 1088, 1097, 1098, 1099, 1100, 1101, 1102, 1105, 1108,
2033
     1089, 1109, 1090, 1110, 1111, 1091, 1112, 1113, 1093, 1114,
2034
     1115, 1116, 1101, 1117, 1118, 1119, 1120, 1121, 1094, 1122,
2035
     1095, 1096, 1123, 1097, 1098, 1099, 1100, 1101, 1102, 1105,
2036
     1108, 1128, 1109, 1129, 1110, 1111, 1130, 1112, 1113, 1131,
2037
2038
     1114, 1115, 1116, 1101, 1117, 1118, 1119, 1120, 1121, 1132,
2039
     1122, 1133, 1134, 1123, 1135, 1137, 1138, 1139, 1140, 1141,
2040
     1142, 1144, 1128, 1145, 1129, 1146, 1147, 1130, 1148, 1150,
2041
     1131, 1155, 1156, 1157, 1151, 1158, 1159, 1160, 1161, 1162,
2042
     1132, 1163, 1133, 1134, 1164, 1135, 1137, 1138, 1139, 1140,
2043
     1141, 1142, 1144, 1165, 1145, 1150, 1146, 1147, 1151, 1148,
2044
     1150, 1166, 1155, 1156, 1157, 1151, 1158, 1159, 1160, 1161,
2045
     1162, 1168, 1163, 1169, 1170, 1164, 1171, 1173, 1175, 1177,
2046
     1178, 1179, 1180, 1182, 1165, 1183, 1185, 1186, 1187, 1188,
2047
     1189, 1190, 1166, 1191, 1192, 1193, 1194, 1196, 1197, 1198,
2048
2049
     1199, 1201, 1168, 1202, 1169, 1170, 1203, 1171, 1173, 1175,
2050
     1177, 1178, 1179, 1180, 1182, 1204, 1183, 1185, 1186, 1187,
2051
     1188, 1189, 1190, 1205, 1191, 1192, 1193, 1194, 1196, 1197,
2052
     1198, 1199, 1201, 1206, 1202, 1207, 1208, 1203, 1209, 1211,
2053
     1212, 1214, 1215, 1216, 1217, 1218, 1204, 1219, 1220, 1221,
2054
     1223, 1224, 1225, 1226, 1205, 1227, 1229, 1230, 1231, 1232,
2055
     1233, 1234, 1236, 1237, 1206, 1238, 1207, 1208, 1239, 1209,
2056
     1211, 1212, 1214, 1215, 1216, 1217, 1218, 1240, 1219, 1220,
2057
     1221, 1223, 1224, 1225, 1226, 1244, 1227, 1229, 1230, 1231,
2058
     1232, 1233, 1234, 1236, 1237, 1242, 1238, 1242, 1245, 1239,
2059
2060
     1246, 1247, 1249, 1250, 1252, 1254, 1255, 1256, 1240, 1257,
2061
     1258, 1259, 1260, 1261, 1262, 1263, 1244, 1264, 1245, 1265,
2062
     1266, 1267, 1268, 1269, 1270, 1271, 1242, 1272, 1242, 1245,
2063
     1273, 1246, 1247, 1249, 1250, 1252, 1254, 1255, 1256, 1274,
2064
     1257, 1258, 1259, 1260, 1261, 1262, 1263, 1275, 1264, 1245,
2065
     1265, 1266, 1267, 1268, 1269, 1270, 1271, 1276, 1272, 1278,
2066
     1277, 1273, 1277, 1279, 1280, 1281, 1283, 1284, 1285, 1286,
2067
     1274, 1287, 1290, 1291, 1292, 1294, 1297, 1298, 1275, 1300,
2068
     1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1276, 1315,
2069
     1278, 1277, 1312, 1277, 1279, 1280, 1281, 1283, 1284, 1285,
2070
2071
     1286, 1311, 1287, 1290, 1291, 1292, 1294, 1297, 1298, 1312,
2072
     1300, 1301, 1302, 1304, 1305, 1306, 1307, 1308, 1309, 1316,
2073
     1315, 1317, 1318, 1312, 1319, 1311, 1321, 1322, 1323, 1324,
2074
     1325, 1326, 1311, 1327, 1328, 1329, 1330, 1331, 1333, 1334,
2075
     1336, 1337, 1338, 1339, 1340, 1343, 1344, 1345, 1346, 1348,
2076
     1316, 1349, 1317, 1318, 1350, 1319, 1352, 1321, 1322, 1323,
2077
     1324, 1325, 1326, 1353, 1327, 1328, 1329, 1330, 1331, 1333,
2078
     1334, 1336, 1337, 1338, 1339, 1340, 1343, 1344, 1345, 1346,
2079
     1348, 1354, 1349, 1355, 1356, 1350, 1357, 1352, 1358, 1359,
2080
     1360, 1361, 1362, 1363, 1353, 1364, 1365, 1366, 1367, 1368,
2081
2082
     1369, 1370, 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1381,
2083
     1382, 1383, 1354, 1386, 1355, 1356, 1387, 1357, 1388, 1358,
2084
     1359, 1360, 1361, 1362, 1363, 1389, 1364, 1365, 1366, 1367,
2085
     1368, 1369, 1370, 1371, 1372, 1376, 1377, 1378, 1379, 1380,
2086
     1381, 1382, 1383, 1390, 1386, 1391, 1392, 1387, 1394, 1388,
2087
     1395, 1397, 1398, 1400, 1401, 1402, 1389, 1404, 1405, 1406,
2088
     1407, 1408, 1410, 1412, 1413, 1415, 1416, 1417, 1418, 1419,
2089
     1420, 1421, 1424, 1426, 1390, 1427, 1391, 1392, 1428, 1394,
2090
     1432, 1395, 1397, 1398, 1400, 1401, 1402, 1433, 1404, 1405,
2091
     1406, 1407, 1408, 1410, 1412, 1413, 1415, 1416, 1417, 1418,
2092
2093
     1419, 1420, 1421, 1424, 1426, 1435, 1427, 1439, 1440, 1428,
2094
     1441, 1432, 1443, 1444, 1446, 1447, 1448, 1449, 1433, 1451,
2095
     1453, 1456, 1458, 1459, 1461, 1463, 1464, 1466, 1467, 1468,
2096
     1469, 1446, 1447, 1471, 1475, 1477, 1435, 1478, 1439, 1440,
2097
     1479, 1441, 1480, 1443, 1444, 1446, 1447, 1448, 1449, 1481,
2098
     1451, 1453, 1456, 1458, 1459, 1461, 1463, 1464, 1466, 1467,
2099
     1468, 1469, 1483, 1484, 1471, 1475, 1477, 1485, 1478, 1486,
2100
     1487, 1479, 1488, 1480, 1489, 1490, 1491, 1492, 1493, 1495,
2101
     1481, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
2102
     1505, 1506, 1507, 1483, 1484, 1508, 1509, 1510, 1485, 1511,
2103
2104
     1486, 1487, 1512, 1488, 1513, 1489, 1490, 1491, 1492, 1493,
2105
     1495, 1514, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
2106
     1504, 1505, 1506, 1507, 1515, 1516, 1508, 1509, 1510, 1517,
2107
     1511, 1518, 1519, 1512, 1520, 1513, 1522, 1524, 1525, 1526,
2108
     1527, 1528, 1514, 1529, 1530, 1534, 1537, 1539, 1540, 1541,
2109
     1542, 1543, 1544, 1545, 1546, 1515, 1516, 1550, 1552,    0,
2110
     1517, 1553, 1518, 1519, 1558, 1520, 1562, 1522, 1524, 1525,
2111
     1526, 1527, 1528, 1548, 1529, 1530, 1534, 1537, 1539, 1540,
2112
     1541, 1542, 1543, 1544, 1545, 1546, 1549, 1563, 1550, 1552,
2113
     1548, 1566, 1553, 1557, 1570, 1558, 1549, 1562, 1557, 1571,
2114
2115
     1572, 1573, 1574, 1575, 1548, 1578, 1579, 1580, 1581, 1582,
2116
     1583, 1584, 1585, 1587, 1588, 1589, 1590, 1549, 1563, 1591,
2117
     1592, 1593, 1566, 1594, 1557, 1570, 1595, 1597, 1598, 1557,
2118
     1571, 1572, 1573, 1574, 1575, 1599, 1578, 1579, 1580, 1581,
2119
     1582, 1583, 1584, 1585, 1587, 1588, 1589, 1590, 1600, 1601,
2120
     1591, 1592, 1593, 1602, 1594, 1604, 1607, 1595, 1597, 1598,
2121
     1608, 1610, 1614, 1616, 1617, 1618, 1599, 1626, 1627, 1629,
2122
     1630, 1631, 1632, 1633, 1634, 1635, 1636, 1626, 1638, 1600,
2123
     1601, 1639, 1640, 1641, 1602, 1642, 1604, 1607, 1627, 1647,
2124
     1648, 1608, 1610, 1614, 1616, 1617, 1618, 1649, 1626, 1627,
2125
2126
     1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1652, 1638,
2127
     1655, 1656, 1639, 1640, 1641, 1658, 1642, 1660, 1661, 1662,
2128
     1647, 1648, 1663, 1666, 1669, 1671, 1672, 1674, 1649, 1675,
2129
     1676, 1678, 1675, 1679, 1680, 1682, 1683, 1684, 1685, 1652,
2130
     1686, 1655, 1656, 1688, 1689, 1690, 1658, 1674, 1660, 1661,
2131
     1662, 1692, 1693, 1663, 1666, 1669, 1671, 1672, 1674, 1695,
2132
     1675, 1676, 1678, 1696, 1679, 1680, 1682, 1683, 1684, 1685,
2133
     1700, 1686, 1701, 1702, 1688, 1689, 1690, 1703, 1704,    0,
2134
     1706, 1704, 1692, 1693, 1707, 1708, 1705, 1712, 1713, 1715,
2135
     1695, 1716, 1718, 1722, 1696, 1723, 1724, 1725,    0, 1728,
2136
2137
     1729, 1700, 1731, 1701, 1702, 1726, 1732, 1733, 1703, 1704,
2138
     1705, 1706, 1734, 1738, 1743, 1707, 1708, 1705, 1712, 1713,
2139
     1715, 1744, 1716, 1718, 1722, 1745, 1723, 1724, 1725, 1726,
2140
     1728, 1729, 1748, 1731, 1750, 1751, 1726, 1732, 1733, 1752,
2141
     1755, 1756,    0, 1734, 1738, 1743,    0,    0,    0,    0,
2142
        0,    0, 1744,    0,    0,    0, 1745,    0,    0,    0,
2143
        0,    0,    0, 1748,    0, 1750, 1751,    0,    0,    0,
2144
     1752, 1755, 1756, 1760, 1760, 1760, 1760, 1760, 1761, 1761,
2145
     1761, 1761, 1761, 1762, 1762, 1762, 1762, 1762, 1763,    0,
2146
     1763, 1763, 1763, 1764,    0, 1764, 1764, 1764, 1766, 1766,
2147
2148
     1766, 1766, 1766, 1767, 1767, 1767, 1767, 1767, 1768,    0,
2149
     1768, 1768, 1768, 1769, 1769, 1769, 1769, 1769, 1770, 1770,
2150
     1770, 1770, 1770, 1771, 1771, 1771, 1771, 1771, 1772, 1772,
2151
     1772, 1772, 1772, 1773, 1773,    0, 1773, 1773, 1774,    0,
2152
     1774,    0, 1774, 1775, 1775, 1775, 1775, 1775, 1776, 1776,
2153
     1776, 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1778, 1778,
2154
     1778, 1778, 1778, 1779, 1779, 1779, 1779, 1779, 1780, 1780,
2155
     1780, 1780, 1780, 1781,    0, 1781, 1781, 1781, 1782, 1782,
2156
     1782, 1782, 1782, 1783,    0, 1783, 1783, 1783, 1784, 1784,
2157
     1784, 1784, 1784, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2158
2159
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2160
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2161
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2162
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2163
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2164
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2165
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759,
2166
     1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759
2167
    } ;
2168
2169
static yy_state_type yy_last_accepting_state;
2170
static char *yy_last_accepting_cpos;
2171
2172
extern int yy_flex_debug;
2173
int yy_flex_debug = 0;
2174
2175
/* The intent behind this definition is that it'll catch
2176
 * any uses of REJECT which flex missed.
2177
 */
2178
#define REJECT reject_used_but_not_detected
2179
#define yymore() yymore_used_but_not_detected
2180
1.38M
#define YY_MORE_ADJ 0
2181
#define YY_RESTORE_YY_MORE_OFFSET
2182
char *yytext;
2183
#line 1 "src/maplexer.l"
2184
#line 4 "src/maplexer.l"
2185
/*
2186
** READ ME FIRST!
2187
**
2188
** When this file is altered, it is necessary to do "make lexer".  Due to
2189
** problems detailed in #2310 the lexer is no longer automatically rebuilt
2190
** when maplexer.l is altered.
2191
*/
2192
2193
#define YY_NO_INPUT
2194
2195
/* C declarations */
2196
#include <stdlib.h>
2197
#include <stdio.h>
2198
#include <string.h>
2199
#include <math.h>
2200
2201
#include <time.h>
2202
2203
#include "mapserver.h"
2204
#include "maperror.h"
2205
#include "mapfile.h"
2206
#include "maptime.h"
2207
#include "mapsymbol.h"
2208
#include "mapparser.h"
2209
#include "mapprimitive.h"
2210
2211
/* msyylineno is required for flex 2.5.4 and older, but is already defined by
2212
 * flex 2.5.31 (bug 975).
2213
 * Unfortunately there is no clean way to differentiate the two versions,
2214
 * so we use the symbol YY_CURRENT_BUFFER_LVALUE to base our test since it
2215
 * was not present in 2.5.4 and is present in 2.5.31. Hopefully that won't
2216
 * put us in trouble with other versions. If that happens then we can
2217
 * switch to using autoconf to detect the version.
2218
 */
2219
#ifndef YY_CURRENT_BUFFER_LVALUE
2220
int msyylineno = 1;
2221
#endif
2222
2223
#define YY_NO_INPUT
2224
2225
/* Below is a redefinition of the default YY_INPUT() macro but replacing the
2226
 * YY_FATAL_ERROR() macro with a call to msSetError().
2227
 */
2228
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2229
 * is returned in "result".
2230
 */
2231
#define YY_INPUT(buf,result,max_size) \
2232
21.9k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2233
21.9k
    { \
2234
0
    int c = '*'; \
2235
0
    int n; \
2236
0
    for ( n = 0; n < max_size && \
2237
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2238
0
      buf[n] = (char) c; \
2239
0
    if ( c == '\n' ) \
2240
0
      buf[n++] = (char) c; \
2241
0
    if ( c == EOF && ferror( yyin ) ) \
2242
0
            msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2243
0
    result = n; \
2244
0
    } \
2245
21.9k
  else \
2246
21.9k
    { \
2247
21.9k
    errno=0; \
2248
21.9k
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2249
21.9k
      { \
2250
83
      if( errno != EINTR) \
2251
83
        { \
2252
83
                msSetError(MS_PARSEERR, "%s", "msyyparse()", "input in flex scanner failed"); \
2253
83
        break; \
2254
83
        } \
2255
83
      errno=0; \
2256
0
      clearerr(yyin); \
2257
0
      } \
2258
21.9k
    }
2259
2260
int msyysource=MS_STRING_TOKENS;
2261
double msyynumber;
2262
int msyystate=MS_TOKENIZE_DEFAULT;
2263
const char *msyystring=NULL;
2264
char *msyybasepath=NULL;
2265
int  msyystring_buffer_size = 0;
2266
int  msyystring_size;
2267
char msyystring_begin;
2268
char *msyystring_buffer = NULL;
2269
int  msyystring_icase = MS_FALSE;
2270
int  msyystring_return_state;
2271
int  msyystring_begin_state;
2272
2273
int msyyreturncomments = 0;
2274
2275
#define MS_LEXER_STRING_REALLOC(string, string_size, max_size)   \
2276
765k
  do { \
2277
765k
   const int string_size_macro = (int)(string_size); \
2278
765k
   if (string_size_macro >= (int)(max_size)) {         \
2279
12
       max_size = (((int)(max_size)*2) > string_size_macro) ? ((int)(max_size))*2 : string_size_macro+1;   \
2280
12
       string = (char *) msSmallRealloc(string, sizeof(char *) * (max_size));  \
2281
12
   } \
2282
765k
  } while(0)
2283
2284
#define MS_LEXER_RETURN_TOKEN(token) \
2285
196k
   MS_LEXER_STRING_REALLOC(msyystring_buffer, strlen(msyytext),  \
2286
196k
                           msyystring_buffer_size); \
2287
196k
   strcpy(msyystring_buffer, msyytext); \
2288
196k
   return(token); 
2289
2290
142
#define MAX_INCLUDE_DEPTH 5
2291
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
2292
int include_lineno[MAX_INCLUDE_DEPTH];
2293
int include_stack_ptr = 0;
2294
char path[MS_MAXPATHLEN];
2295
2296
#line 2297 "src/maplexer.c"
2297
2298
#line 2299 "src/maplexer.c"
2299
2300
23.4k
#define INITIAL 0
2301
0
#define EXPRESSION_STRING 1
2302
93
#define INCLUDE 2
2303
129k
#define MSSTRING 3
2304
144
#define MULTILINE_COMMENT 4
2305
4.96k
#define CONFIG_FILE 5
2306
2307
#ifndef YY_EXTRA_TYPE
2308
#define YY_EXTRA_TYPE void *
2309
#endif
2310
2311
static int yy_init_globals ( void );
2312
2313
/* Accessor methods to globals.
2314
   These are made visible to non-reentrant scanners for convenience. */
2315
2316
int yylex_destroy ( void );
2317
2318
int yyget_debug ( void );
2319
2320
void yyset_debug ( int debug_flag  );
2321
2322
YY_EXTRA_TYPE yyget_extra ( void );
2323
2324
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2325
2326
FILE *yyget_in ( void );
2327
2328
void yyset_in  ( FILE * _in_str  );
2329
2330
FILE *yyget_out ( void );
2331
2332
void yyset_out  ( FILE * _out_str  );
2333
2334
      int yyget_leng ( void );
2335
2336
char *yyget_text ( void );
2337
2338
int yyget_lineno ( void );
2339
2340
void yyset_lineno ( int _line_number  );
2341
2342
/* Macros after this point can all be overridden by user definitions in
2343
 * section 1.
2344
 */
2345
2346
#ifndef YY_SKIP_YYWRAP
2347
#ifdef __cplusplus
2348
extern "C" int yywrap ( void );
2349
#else
2350
extern int yywrap ( void );
2351
#endif
2352
#endif
2353
2354
#ifndef YY_NO_UNPUT
2355
    
2356
    static void yyunput ( int c, char *buf_ptr  );
2357
    
2358
#endif
2359
2360
#ifndef yytext_ptr
2361
static void yy_flex_strncpy ( char *, const char *, int );
2362
#endif
2363
2364
#ifdef YY_NEED_STRLEN
2365
static int yy_flex_strlen ( const char * );
2366
#endif
2367
2368
#ifndef YY_NO_INPUT
2369
#ifdef __cplusplus
2370
static int yyinput ( void );
2371
#else
2372
static int input ( void );
2373
#endif
2374
2375
#endif
2376
2377
/* Amount of stuff to slurp up with each read. */
2378
#ifndef YY_READ_BUF_SIZE
2379
#ifdef __ia64__
2380
/* On IA-64, the buffer size is 16k, not 8k */
2381
#define YY_READ_BUF_SIZE 16384
2382
#else
2383
43.9k
#define YY_READ_BUF_SIZE 8192
2384
#endif /* __ia64__ */
2385
#endif
2386
2387
/* Copy whatever the last rule matched to the standard output. */
2388
#ifndef ECHO
2389
/* This used to be an fputs(), but since the string might contain NUL's,
2390
 * we now use fwrite().
2391
 */
2392
4.39k
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2393
#endif
2394
2395
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2396
 * is returned in "result".
2397
 */
2398
#ifndef YY_INPUT
2399
#define YY_INPUT(buf,result,max_size) \
2400
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2401
    { \
2402
    int c = '*'; \
2403
    int n; \
2404
    for ( n = 0; n < max_size && \
2405
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2406
      buf[n] = (char) c; \
2407
    if ( c == '\n' ) \
2408
      buf[n++] = (char) c; \
2409
    if ( c == EOF && ferror( yyin ) ) \
2410
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
2411
    result = n; \
2412
    } \
2413
  else \
2414
    { \
2415
    errno=0; \
2416
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2417
      { \
2418
      if( errno != EINTR) \
2419
        { \
2420
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
2421
        break; \
2422
        } \
2423
      errno=0; \
2424
      clearerr(yyin); \
2425
      } \
2426
    }\
2427
\
2428
2429
#endif
2430
2431
/* No semi-colon after return; correct usage is to write "yyterminate();" -
2432
 * we don't want an extra ';' after the "return" because that will cause
2433
 * some compilers to complain about unreachable statements.
2434
 */
2435
#ifndef yyterminate
2436
1.13k
#define yyterminate() return YY_NULL
2437
#endif
2438
2439
/* Number of entries by which start-condition stack grows. */
2440
#ifndef YY_START_STACK_INCR
2441
#define YY_START_STACK_INCR 25
2442
#endif
2443
2444
/* Report a fatal error. */
2445
#ifndef YY_FATAL_ERROR
2446
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2447
#endif
2448
2449
/* end tables serialization structures and prototypes */
2450
2451
/* Default declaration of generated scanner - a define so the user can
2452
 * easily add parameters.
2453
 */
2454
#ifndef YY_DECL
2455
#define YY_DECL_IS_OURS 1
2456
2457
extern int yylex (void);
2458
2459
#define YY_DECL int yylex (void)
2460
#endif /* !YY_DECL */
2461
2462
/* Code executed at the beginning of each rule, after yytext and yyleng
2463
 * have been set up.
2464
 */
2465
#ifndef YY_USER_ACTION
2466
#define YY_USER_ACTION
2467
#endif
2468
2469
/* Code executed at the end of each rule. */
2470
#ifndef YY_BREAK
2471
955k
#define YY_BREAK /*LINTED*/break;
2472
#endif
2473
2474
#define YY_RULE_SETUP \
2475
  YY_USER_ACTION
2476
2477
/** The main scanner function which does all the work.
2478
 */
2479
YY_DECL
2480
435k
{
2481
435k
  yy_state_type yy_current_state;
2482
435k
  char *yy_cp, *yy_bp;
2483
435k
  int yy_act;
2484
    
2485
435k
  if ( !(yy_init) )
2486
2
    {
2487
2
    (yy_init) = 1;
2488
2489
#ifdef YY_USER_INIT
2490
    YY_USER_INIT;
2491
#endif
2492
2493
2
    if ( ! (yy_start) )
2494
2
      (yy_start) = 1; /* first start state */
2495
2496
2
    if ( ! yyin )
2497
0
      yyin = stdin;
2498
2499
2
    if ( ! yyout )
2500
2
      yyout = stdout;
2501
2502
2
    if ( ! YY_CURRENT_BUFFER ) {
2503
2
      yyensure_buffer_stack ();
2504
2
      YY_CURRENT_BUFFER_LVALUE =
2505
2
        yy_create_buffer( yyin, YY_BUF_SIZE );
2506
2
    }
2507
2508
2
    yy_load_buffer_state(  );
2509
2
    }
2510
2511
435k
  {
2512
435k
#line 123 "src/maplexer.l"
2513
2514
435k
#line 125 "src/maplexer.l"
2515
435k
       if (msyystring_buffer == NULL)
2516
2
       {
2517
2
           msyystring_buffer_size = 256;
2518
2
           msyystring_buffer = (char*) msSmallMalloc(sizeof(char) * msyystring_buffer_size);
2519
2
       }
2520
2521
435k
       msyystring_buffer[0] = '\0';
2522
435k
       switch(msyystate) {
2523
421k
       case(MS_TOKENIZE_DEFAULT):
2524
421k
         (void) yyunput; /* just to avoid warning about it being unrefed */ 
2525
421k
         break;
2526
11.6k
       case(MS_TOKENIZE_FILE):
2527
11.6k
         BEGIN(INITIAL);
2528
11.6k
         msyystring_begin_state = INITIAL;
2529
11.6k
         msyysource=MS_FILE_TOKENS;
2530
11.6k
         msyystate=MS_TOKENIZE_DEFAULT;
2531
11.6k
         msyystring=NULL;
2532
11.6k
         msyyreturncomments=0;
2533
11.6k
         include_stack_ptr=0;
2534
11.6k
         return(0);
2535
0
         break;
2536
0
       case(MS_TOKENIZE_STRING):
2537
0
         BEGIN(INITIAL);
2538
0
         msyystring_begin_state = INITIAL;
2539
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2540
0
         msyy_scan_string(msyystring);
2541
0
         msyysource=MS_STRING_TOKENS;
2542
0
         msyystate=MS_TOKENIZE_DEFAULT;
2543
0
         msyyin=NULL;
2544
0
         msyyreturncomments=0;
2545
0
         include_stack_ptr=0;
2546
0
         return(0);
2547
0
         break;
2548
0
       case(MS_TOKENIZE_EXPRESSION):
2549
0
         BEGIN(EXPRESSION_STRING);
2550
0
         msyystring_begin_state = EXPRESSION_STRING;
2551
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2552
0
         msyy_scan_string(msyystring);
2553
0
         msyystate=MS_TOKENIZE_DEFAULT;
2554
0
         msyyreturncomments=0;
2555
0
         break;
2556
2.48k
       case(MS_TOKENIZE_CONFIG):
2557
2.48k
         BEGIN(CONFIG_FILE);
2558
2.48k
         msyystring_begin_state = CONFIG_FILE;
2559
2.48k
         msyysource=MS_FILE_TOKENS;
2560
2.48k
         msyystate=MS_TOKENIZE_DEFAULT;
2561
2.48k
         msyystring=NULL;
2562
2.48k
         msyyreturncomments=0;
2563
2.48k
         return(0);
2564
0
         break;
2565
0
       case(99):
2566
0
         BEGIN(INITIAL); /* may not need this one */
2567
0
         msyystring_begin_state = INITIAL;
2568
0
         msyy_delete_buffer(YY_CURRENT_BUFFER);
2569
0
         msyystate=MS_TOKENIZE_DEFAULT;
2570
0
         msyystring=NULL;
2571
0
         msyyreturncomments=0; 
2572
0
         return(0);
2573
0
         break;
2574
0
       default:
2575
0
         break;
2576
435k
       }
2577
2578
421k
#line 2579 "src/maplexer.c"
2579
2580
1.37M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
2581
1.37M
    {
2582
1.37M
    yy_cp = (yy_c_buf_p);
2583
2584
    /* Support of yytext. */
2585
1.37M
    *yy_cp = (yy_hold_char);
2586
2587
    /* yy_bp points to the position in yy_ch_buf of the start of
2588
     * the current run.
2589
     */
2590
1.37M
    yy_bp = yy_cp;
2591
2592
1.37M
    yy_current_state = (yy_start);
2593
2.02M
yy_match:
2594
2.02M
    do
2595
16.6M
      {
2596
16.6M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2597
16.6M
      if ( yy_accept[yy_current_state] )
2598
15.0M
        {
2599
15.0M
        (yy_last_accepting_state) = yy_current_state;
2600
15.0M
        (yy_last_accepting_cpos) = yy_cp;
2601
15.0M
        }
2602
31.7M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2603
15.0M
        {
2604
15.0M
        yy_current_state = (int) yy_def[yy_current_state];
2605
15.0M
        if ( yy_current_state >= 1760 )
2606
12.8M
          yy_c = yy_meta[yy_c];
2607
15.0M
        }
2608
16.6M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2609
16.6M
      ++yy_cp;
2610
16.6M
      }
2611
16.6M
    while ( yy_current_state != 1759 );
2612
2.02M
    yy_cp = (yy_last_accepting_cpos);
2613
2.02M
    yy_current_state = (yy_last_accepting_state);
2614
2615
2.06M
yy_find_action:
2616
2.06M
    yy_act = yy_accept[yy_current_state];
2617
2618
2.06M
    YY_DO_BEFORE_ACTION;
2619
2620
2.06M
do_action:  /* This label is used only to access EOF actions. */
2621
2622
2.06M
    switch ( yy_act )
2623
2.06M
  { /* beginning of action switch */
2624
119
      case 0: /* must back up */
2625
      /* undo the effects of YY_DO_BEFORE_ACTION */
2626
119
      *yy_cp = (yy_hold_char);
2627
119
      yy_cp = (yy_last_accepting_cpos);
2628
119
      yy_current_state = (yy_last_accepting_state);
2629
119
      goto yy_find_action;
2630
2631
213k
case 1:
2632
213k
YY_RULE_SETUP
2633
213k
#line 188 "src/maplexer.l"
2634
213k
;
2635
213k
  YY_BREAK
2636
12.7k
case 2:
2637
12.7k
YY_RULE_SETUP
2638
12.7k
#line 190 "src/maplexer.l"
2639
12.7k
{ if (msyyreturncomments) return(MS_COMMENT); }
2640
12.7k
  YY_BREAK
2641
12.7k
case 3:
2642
144
YY_RULE_SETUP
2643
144
#line 192 "src/maplexer.l"
2644
144
{ BEGIN(MULTILINE_COMMENT); }
2645
144
  YY_BREAK
2646
129
case 4:
2647
129
YY_RULE_SETUP
2648
129
#line 193 "src/maplexer.l"
2649
129
{ BEGIN(INITIAL); }
2650
129
  YY_BREAK
2651
230
case 5:
2652
230
YY_RULE_SETUP
2653
230
#line 194 "src/maplexer.l"
2654
230
;
2655
230
  YY_BREAK
2656
209
case 6:
2657
209
YY_RULE_SETUP
2658
209
#line 195 "src/maplexer.l"
2659
209
;
2660
209
  YY_BREAK
2661
284
case 7:
2662
/* rule 7 can match eol */
2663
284
YY_RULE_SETUP
2664
284
#line 196 "src/maplexer.l"
2665
284
{ msyylineno++; }
2666
284
  YY_BREAK
2667
2.33k
case 8:
2668
2.33k
YY_RULE_SETUP
2669
2.33k
#line 198 "src/maplexer.l"
2670
2.33k
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION); }
2671
0
  YY_BREAK
2672
2.53k
case 9:
2673
2.53k
YY_RULE_SETUP
2674
2.53k
#line 199 "src/maplexer.l"
2675
2.53k
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_ENV); }
2676
0
  YY_BREAK
2677
380
case 10:
2678
380
YY_RULE_SETUP
2679
380
#line 200 "src/maplexer.l"
2680
380
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_MAPS); }
2681
0
  YY_BREAK
2682
150
case 11:
2683
150
YY_RULE_SETUP
2684
150
#line 201 "src/maplexer.l"
2685
150
{ MS_LEXER_RETURN_TOKEN(MS_CONFIG_SECTION_PLUGINS) }
2686
0
  YY_BREAK
2687
0
case 12:
2688
0
YY_RULE_SETUP
2689
0
#line 203 "src/maplexer.l"
2690
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_OR); }
2691
0
  YY_BREAK
2692
0
case 13:
2693
0
YY_RULE_SETUP
2694
0
#line 204 "src/maplexer.l"
2695
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_AND); }
2696
0
  YY_BREAK
2697
0
case 14:
2698
0
YY_RULE_SETUP
2699
0
#line 205 "src/maplexer.l"
2700
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_LOGICAL_NOT); }
2701
0
  YY_BREAK
2702
0
case 15:
2703
0
YY_RULE_SETUP
2704
0
#line 206 "src/maplexer.l"
2705
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQ); }
2706
0
  YY_BREAK
2707
0
case 16:
2708
0
YY_RULE_SETUP
2709
0
#line 207 "src/maplexer.l"
2710
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_NE); }
2711
0
  YY_BREAK
2712
0
case 17:
2713
0
YY_RULE_SETUP
2714
0
#line 208 "src/maplexer.l"
2715
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GT); }
2716
0
  YY_BREAK
2717
0
case 18:
2718
0
YY_RULE_SETUP
2719
0
#line 209 "src/maplexer.l"
2720
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LT); }
2721
0
  YY_BREAK
2722
0
case 19:
2723
0
YY_RULE_SETUP
2724
0
#line 210 "src/maplexer.l"
2725
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_GE); }
2726
0
  YY_BREAK
2727
0
case 20:
2728
0
YY_RULE_SETUP
2729
0
#line 211 "src/maplexer.l"
2730
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_LE); }
2731
0
  YY_BREAK
2732
0
case 21:
2733
0
YY_RULE_SETUP
2734
0
#line 212 "src/maplexer.l"
2735
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_RE); }
2736
0
  YY_BREAK
2737
0
case 22:
2738
0
YY_RULE_SETUP
2739
0
#line 214 "src/maplexer.l"
2740
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IEQ); }
2741
0
  YY_BREAK
2742
0
case 23:
2743
0
YY_RULE_SETUP
2744
0
#line 215 "src/maplexer.l"
2745
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IRE); }
2746
0
  YY_BREAK
2747
0
case 24:
2748
0
YY_RULE_SETUP
2749
0
#line 217 "src/maplexer.l"
2750
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_IN); /* was IN */ }
2751
0
  YY_BREAK
2752
0
case 25:
2753
0
YY_RULE_SETUP
2754
0
#line 219 "src/maplexer.l"
2755
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_AREA); }
2756
0
  YY_BREAK
2757
0
case 26:
2758
0
YY_RULE_SETUP
2759
0
#line 220 "src/maplexer.l"
2760
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LENGTH); }
2761
0
  YY_BREAK
2762
0
case 27:
2763
0
YY_RULE_SETUP
2764
0
#line 221 "src/maplexer.l"
2765
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_TOSTRING); }
2766
0
  YY_BREAK
2767
0
case 28:
2768
0
YY_RULE_SETUP
2769
0
#line 222 "src/maplexer.l"
2770
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_COMMIFY); }
2771
0
  YY_BREAK
2772
0
case 29:
2773
0
YY_RULE_SETUP
2774
0
#line 223 "src/maplexer.l"
2775
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_ROUND); }
2776
0
  YY_BREAK
2777
0
case 30:
2778
0
YY_RULE_SETUP
2779
0
#line 224 "src/maplexer.l"
2780
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_UPPER); }
2781
0
  YY_BREAK
2782
0
case 31:
2783
0
YY_RULE_SETUP
2784
0
#line 225 "src/maplexer.l"
2785
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_LOWER); }
2786
0
  YY_BREAK
2787
0
case 32:
2788
0
YY_RULE_SETUP
2789
0
#line 226 "src/maplexer.l"
2790
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INITCAP); }
2791
0
  YY_BREAK
2792
0
case 33:
2793
0
YY_RULE_SETUP
2794
0
#line 227 "src/maplexer.l"
2795
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FIRSTCAP); }
2796
0
  YY_BREAK
2797
0
case 34:
2798
0
YY_RULE_SETUP
2799
0
#line 229 "src/maplexer.l"
2800
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_BUFFER); }
2801
0
  YY_BREAK
2802
0
case 35:
2803
0
YY_RULE_SETUP
2804
0
#line 230 "src/maplexer.l"
2805
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DIFFERENCE); }
2806
0
  YY_BREAK
2807
0
case 36:
2808
0
YY_RULE_SETUP
2809
0
#line 231 "src/maplexer.l"
2810
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFY); }
2811
0
  YY_BREAK
2812
0
case 37:
2813
0
YY_RULE_SETUP
2814
0
#line 232 "src/maplexer.l"
2815
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SIMPLIFYPT); }
2816
0
  YY_BREAK
2817
0
case 38:
2818
0
YY_RULE_SETUP
2819
0
#line 233 "src/maplexer.l"
2820
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_GENERALIZE); }
2821
0
  YY_BREAK
2822
0
case 39:
2823
0
YY_RULE_SETUP
2824
0
#line 234 "src/maplexer.l"
2825
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_SMOOTHSIA); }
2826
0
  YY_BREAK
2827
0
case 40:
2828
0
YY_RULE_SETUP
2829
0
#line 235 "src/maplexer.l"
2830
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_CENTERLINE); }
2831
0
  YY_BREAK
2832
0
case 41:
2833
0
YY_RULE_SETUP
2834
0
#line 236 "src/maplexer.l"
2835
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_DENSIFY); }
2836
0
  YY_BREAK
2837
0
case 42:
2838
0
YY_RULE_SETUP
2839
0
#line 237 "src/maplexer.l"
2840
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_OUTER); }
2841
0
  YY_BREAK
2842
0
case 43:
2843
0
YY_RULE_SETUP
2844
0
#line 238 "src/maplexer.l"
2845
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_INNER); } 
2846
0
  YY_BREAK
2847
0
case 44:
2848
0
YY_RULE_SETUP
2849
0
#line 239 "src/maplexer.l"
2850
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_JAVASCRIPT); }
2851
0
  YY_BREAK
2852
0
case 45:
2853
0
YY_RULE_SETUP
2854
0
#line 241 "src/maplexer.l"
2855
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_INTERSECTS); }
2856
0
  YY_BREAK
2857
0
case 46:
2858
0
YY_RULE_SETUP
2859
0
#line 242 "src/maplexer.l"
2860
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DISJOINT); }
2861
0
  YY_BREAK
2862
0
case 47:
2863
0
YY_RULE_SETUP
2864
0
#line 243 "src/maplexer.l"
2865
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_TOUCHES); }
2866
0
  YY_BREAK
2867
0
case 48:
2868
0
YY_RULE_SETUP
2869
0
#line 244 "src/maplexer.l"
2870
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_OVERLAPS); }
2871
0
  YY_BREAK
2872
0
case 49:
2873
0
YY_RULE_SETUP
2874
0
#line 245 "src/maplexer.l"
2875
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CROSSES); }
2876
0
  YY_BREAK
2877
0
case 50:
2878
0
YY_RULE_SETUP
2879
0
#line 246 "src/maplexer.l"
2880
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_WITHIN); }
2881
0
  YY_BREAK
2882
0
case 51:
2883
0
YY_RULE_SETUP
2884
0
#line 247 "src/maplexer.l"
2885
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_CONTAINS); }
2886
0
  YY_BREAK
2887
0
case 52:
2888
0
YY_RULE_SETUP
2889
0
#line 248 "src/maplexer.l"
2890
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_EQUALS); }
2891
0
  YY_BREAK
2892
0
case 53:
2893
0
YY_RULE_SETUP
2894
0
#line 249 "src/maplexer.l"
2895
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_BEYOND); }
2896
0
  YY_BREAK
2897
0
case 54:
2898
0
YY_RULE_SETUP
2899
0
#line 250 "src/maplexer.l"
2900
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_COMPARISON_DWITHIN); }
2901
0
  YY_BREAK
2902
0
case 55:
2903
0
YY_RULE_SETUP
2904
0
#line 252 "src/maplexer.l"
2905
0
{ MS_LEXER_RETURN_TOKEN(MS_TOKEN_FUNCTION_FROMTEXT); }
2906
0
  YY_BREAK
2907
0
case 56:
2908
0
YY_RULE_SETUP
2909
0
#line 254 "src/maplexer.l"
2910
0
{ msyynumber=MS_TRUE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2911
0
  YY_BREAK
2912
0
case 57:
2913
0
YY_RULE_SETUP
2914
0
#line 255 "src/maplexer.l"
2915
0
{ msyynumber=MS_FALSE; return(MS_TOKEN_LITERAL_BOOLEAN); }
2916
0
  YY_BREAK
2917
0
case 58:
2918
0
YY_RULE_SETUP
2919
0
#line 257 "src/maplexer.l"
2920
0
{ MS_LEXER_RETURN_TOKEN(COLORRANGE); }
2921
0
  YY_BREAK
2922
0
case 59:
2923
0
YY_RULE_SETUP
2924
0
#line 258 "src/maplexer.l"
2925
0
{ MS_LEXER_RETURN_TOKEN(DATARANGE); }
2926
0
  YY_BREAK
2927
0
case 60:
2928
0
YY_RULE_SETUP
2929
0
#line 259 "src/maplexer.l"
2930
0
{ MS_LEXER_RETURN_TOKEN(RANGEITEM); }
2931
0
  YY_BREAK
2932
0
case 61:
2933
0
YY_RULE_SETUP
2934
0
#line 261 "src/maplexer.l"
2935
0
{ MS_LEXER_RETURN_TOKEN(ALIGN); }
2936
0
  YY_BREAK
2937
254
case 62:
2938
254
YY_RULE_SETUP
2939
254
#line 262 "src/maplexer.l"
2940
254
{ MS_LEXER_RETURN_TOKEN(ANCHORPOINT); }
2941
0
  YY_BREAK
2942
811
case 63:
2943
811
YY_RULE_SETUP
2944
811
#line 263 "src/maplexer.l"
2945
811
{ MS_LEXER_RETURN_TOKEN(ANGLE); }
2946
0
  YY_BREAK
2947
0
case 64:
2948
0
YY_RULE_SETUP
2949
0
#line 264 "src/maplexer.l"
2950
0
{ MS_LEXER_RETURN_TOKEN(ANTIALIAS); }
2951
0
  YY_BREAK
2952
40
case 65:
2953
40
YY_RULE_SETUP
2954
40
#line 265 "src/maplexer.l"
2955
40
{ MS_LEXER_RETURN_TOKEN(BACKGROUNDCOLOR); }
2956
0
  YY_BREAK
2957
0
case 66:
2958
0
YY_RULE_SETUP
2959
0
#line 266 "src/maplexer.l"
2960
0
{ MS_LEXER_RETURN_TOKEN(BANDSITEM); }
2961
0
  YY_BREAK
2962
0
case 67:
2963
0
YY_RULE_SETUP
2964
0
#line 267 "src/maplexer.l"
2965
0
{ MS_LEXER_RETURN_TOKEN(BINDVALS); }
2966
0
  YY_BREAK
2967
14
case 68:
2968
14
YY_RULE_SETUP
2969
14
#line 268 "src/maplexer.l"
2970
14
{ MS_LEXER_RETURN_TOKEN(BOM); }
2971
0
  YY_BREAK
2972
0
case 69:
2973
0
YY_RULE_SETUP
2974
0
#line 269 "src/maplexer.l"
2975
0
{ MS_LEXER_RETURN_TOKEN(BROWSEFORMAT); }
2976
0
  YY_BREAK
2977
33
case 70:
2978
33
YY_RULE_SETUP
2979
33
#line 270 "src/maplexer.l"
2980
33
{ MS_LEXER_RETURN_TOKEN(BUFFER); }
2981
0
  YY_BREAK
2982
0
case 71:
2983
0
YY_RULE_SETUP
2984
0
#line 271 "src/maplexer.l"
2985
0
{ MS_LEXER_RETURN_TOKEN(CHARACTER); }
2986
0
  YY_BREAK
2987
974
case 72:
2988
974
YY_RULE_SETUP
2989
974
#line 272 "src/maplexer.l"
2990
974
{ MS_LEXER_RETURN_TOKEN(CLASS); }
2991
0
  YY_BREAK
2992
118
case 73:
2993
118
YY_RULE_SETUP
2994
118
#line 273 "src/maplexer.l"
2995
118
{ MS_LEXER_RETURN_TOKEN(CLASSITEM); }
2996
0
  YY_BREAK
2997
39
case 74:
2998
39
YY_RULE_SETUP
2999
39
#line 274 "src/maplexer.l"
3000
39
{ MS_LEXER_RETURN_TOKEN(CLASSGROUP); }
3001
0
  YY_BREAK
3002
40
case 75:
3003
40
YY_RULE_SETUP
3004
40
#line 275 "src/maplexer.l"
3005
40
{ MS_LEXER_RETURN_TOKEN(CLUSTER); }
3006
0
  YY_BREAK
3007
1.11k
case 76:
3008
1.11k
YY_RULE_SETUP
3009
1.11k
#line 276 "src/maplexer.l"
3010
1.11k
{ MS_LEXER_RETURN_TOKEN(COLOR); }
3011
0
  YY_BREAK
3012
7
case 77:
3013
7
YY_RULE_SETUP
3014
7
#line 277 "src/maplexer.l"
3015
7
{ MS_LEXER_RETURN_TOKEN(COMPFILTER); }
3016
0
  YY_BREAK
3017
131
case 78:
3018
131
YY_RULE_SETUP
3019
131
#line 278 "src/maplexer.l"
3020
131
{ MS_LEXER_RETURN_TOKEN(COMPOSITE); }
3021
0
  YY_BREAK
3022
187
case 79:
3023
187
YY_RULE_SETUP
3024
187
#line 279 "src/maplexer.l"
3025
187
{ MS_LEXER_RETURN_TOKEN(COMPOP); }
3026
0
  YY_BREAK
3027
4.86k
case 80:
3028
4.86k
YY_RULE_SETUP
3029
4.86k
#line 280 "src/maplexer.l"
3030
4.86k
{ MS_LEXER_RETURN_TOKEN(CONFIG); }
3031
0
  YY_BREAK
3032
181
case 81:
3033
181
YY_RULE_SETUP
3034
181
#line 281 "src/maplexer.l"
3035
181
{ MS_LEXER_RETURN_TOKEN(CONNECTION); }
3036
0
  YY_BREAK
3037
420
case 82:
3038
420
YY_RULE_SETUP
3039
420
#line 282 "src/maplexer.l"
3040
420
{ MS_LEXER_RETURN_TOKEN(CONNECTIONTYPE); }
3041
0
  YY_BREAK
3042
135
case 83:
3043
135
YY_RULE_SETUP
3044
135
#line 283 "src/maplexer.l"
3045
135
{ MS_LEXER_RETURN_TOKEN(DATA); }
3046
0
  YY_BREAK
3047
104
case 84:
3048
104
YY_RULE_SETUP
3049
104
#line 284 "src/maplexer.l"
3050
104
{ MS_LEXER_RETURN_TOKEN(DEBUG); }
3051
0
  YY_BREAK
3052
0
case 85:
3053
0
YY_RULE_SETUP
3054
0
#line 285 "src/maplexer.l"
3055
0
{ MS_LEXER_RETURN_TOKEN(DRIVER); }
3056
0
  YY_BREAK
3057
0
case 86:
3058
0
YY_RULE_SETUP
3059
0
#line 286 "src/maplexer.l"
3060
0
{ MS_LEXER_RETURN_TOKEN(EMPTY); }
3061
0
  YY_BREAK
3062
90
case 87:
3063
90
YY_RULE_SETUP
3064
90
#line 287 "src/maplexer.l"
3065
90
{ MS_LEXER_RETURN_TOKEN(ENCODING); }
3066
0
  YY_BREAK
3067
40.8k
case 88:
3068
40.8k
YY_RULE_SETUP
3069
40.8k
#line 288 "src/maplexer.l"
3070
40.8k
{ MS_LEXER_RETURN_TOKEN(END); }
3071
0
  YY_BREAK
3072
0
case 89:
3073
0
YY_RULE_SETUP
3074
0
#line 289 "src/maplexer.l"
3075
0
{ MS_LEXER_RETURN_TOKEN(ERROR); }
3076
0
  YY_BREAK
3077
65
case 90:
3078
65
YY_RULE_SETUP
3079
65
#line 290 "src/maplexer.l"
3080
65
{ MS_LEXER_RETURN_TOKEN(EXPRESSION); }
3081
0
  YY_BREAK
3082
373
case 91:
3083
373
YY_RULE_SETUP
3084
373
#line 291 "src/maplexer.l"
3085
373
{ MS_LEXER_RETURN_TOKEN(EXTENT); }
3086
0
  YY_BREAK
3087
29
case 92:
3088
29
YY_RULE_SETUP
3089
29
#line 292 "src/maplexer.l"
3090
29
{ MS_LEXER_RETURN_TOKEN(EXTENSION); }
3091
0
  YY_BREAK
3092
0
case 93:
3093
0
YY_RULE_SETUP
3094
0
#line 293 "src/maplexer.l"
3095
0
{ MS_LEXER_RETURN_TOKEN(FALLBACK); }
3096
0
  YY_BREAK
3097
2.10k
case 94:
3098
2.10k
YY_RULE_SETUP
3099
2.10k
#line 294 "src/maplexer.l"
3100
2.10k
{ MS_LEXER_RETURN_TOKEN(FEATURE); }
3101
0
  YY_BREAK
3102
0
case 95:
3103
0
YY_RULE_SETUP
3104
0
#line 295 "src/maplexer.l"
3105
0
{ MS_LEXER_RETURN_TOKEN(FILLED); }
3106
0
  YY_BREAK
3107
0
case 96:
3108
0
YY_RULE_SETUP
3109
0
#line 296 "src/maplexer.l"
3110
0
{ MS_LEXER_RETURN_TOKEN(FILTER); }
3111
0
  YY_BREAK
3112
0
case 97:
3113
0
YY_RULE_SETUP
3114
0
#line 297 "src/maplexer.l"
3115
0
{ MS_LEXER_RETURN_TOKEN(FILTERITEM); }
3116
0
  YY_BREAK
3117
0
case 98:
3118
0
YY_RULE_SETUP
3119
0
#line 298 "src/maplexer.l"
3120
0
{ MS_LEXER_RETURN_TOKEN(FOOTER); }
3121
0
  YY_BREAK
3122
120
case 99:
3123
120
YY_RULE_SETUP
3124
120
#line 299 "src/maplexer.l"
3125
120
{ MS_LEXER_RETURN_TOKEN(FONT); }
3126
0
  YY_BREAK
3127
1.14k
case 100:
3128
1.14k
YY_RULE_SETUP
3129
1.14k
#line 300 "src/maplexer.l"
3130
1.14k
{ MS_LEXER_RETURN_TOKEN(FONTSET); }
3131
0
  YY_BREAK
3132
0
case 101:
3133
0
YY_RULE_SETUP
3134
0
#line 301 "src/maplexer.l"
3135
0
{ MS_LEXER_RETURN_TOKEN(FORCE); }
3136
0
  YY_BREAK
3137
0
case 102:
3138
0
YY_RULE_SETUP
3139
0
#line 302 "src/maplexer.l"
3140
0
{ MS_LEXER_RETURN_TOKEN(FORMATOPTION); }
3141
0
  YY_BREAK
3142
114
case 103:
3143
114
YY_RULE_SETUP
3144
114
#line 303 "src/maplexer.l"
3145
114
{ MS_LEXER_RETURN_TOKEN(FROM); }
3146
0
  YY_BREAK
3147
4
case 104:
3148
4
YY_RULE_SETUP
3149
4
#line 304 "src/maplexer.l"
3150
4
{ MS_LEXER_RETURN_TOKEN(GAP); }
3151
0
  YY_BREAK
3152
868
case 105:
3153
868
YY_RULE_SETUP
3154
868
#line 305 "src/maplexer.l"
3155
868
{ MS_LEXER_RETURN_TOKEN(GEOMTRANSFORM); }
3156
0
  YY_BREAK
3157
2.09k
case 106:
3158
2.09k
YY_RULE_SETUP
3159
2.09k
#line 306 "src/maplexer.l"
3160
2.09k
{ MS_LEXER_RETURN_TOKEN(GRID); }
3161
0
  YY_BREAK
3162
0
case 107:
3163
0
YY_RULE_SETUP
3164
0
#line 307 "src/maplexer.l"
3165
0
{ MS_LEXER_RETURN_TOKEN(GRIDSTEP); }
3166
0
  YY_BREAK
3167
0
case 108:
3168
0
YY_RULE_SETUP
3169
0
#line 308 "src/maplexer.l"
3170
0
{ MS_LEXER_RETURN_TOKEN(GRATICULE); }
3171
0
  YY_BREAK
3172
77
case 109:
3173
77
YY_RULE_SETUP
3174
77
#line 309 "src/maplexer.l"
3175
77
{ MS_LEXER_RETURN_TOKEN(GROUP); }
3176
0
  YY_BREAK
3177
692
case 110:
3178
692
YY_RULE_SETUP
3179
692
#line 310 "src/maplexer.l"
3180
692
{ MS_LEXER_RETURN_TOKEN(HEADER); }
3181
0
  YY_BREAK
3182
254
case 111:
3183
254
YY_RULE_SETUP
3184
254
#line 311 "src/maplexer.l"
3185
254
{ MS_LEXER_RETURN_TOKEN(IMAGE); }
3186
0
  YY_BREAK
3187
165
case 112:
3188
165
YY_RULE_SETUP
3189
165
#line 312 "src/maplexer.l"
3190
165
{ MS_LEXER_RETURN_TOKEN(IMAGECOLOR); }
3191
0
  YY_BREAK
3192
94
case 113:
3193
94
YY_RULE_SETUP
3194
94
#line 313 "src/maplexer.l"
3195
94
{ MS_LEXER_RETURN_TOKEN(IMAGETYPE); }
3196
0
  YY_BREAK
3197
0
case 114:
3198
0
YY_RULE_SETUP
3199
0
#line 314 "src/maplexer.l"
3200
0
{ MS_LEXER_RETURN_TOKEN(IMAGEMODE); }
3201
0
  YY_BREAK
3202
0
case 115:
3203
0
YY_RULE_SETUP
3204
0
#line 315 "src/maplexer.l"
3205
0
{ MS_LEXER_RETURN_TOKEN(IMAGEPATH); }
3206
0
  YY_BREAK
3207
0
case 116:
3208
0
YY_RULE_SETUP
3209
0
#line 316 "src/maplexer.l"
3210
0
{ MS_LEXER_RETURN_TOKEN(TEMPPATH); }
3211
0
  YY_BREAK
3212
0
case 117:
3213
0
YY_RULE_SETUP
3214
0
#line 317 "src/maplexer.l"
3215
0
{ MS_LEXER_RETURN_TOKEN(IMAGEURL); }
3216
0
  YY_BREAK
3217
93
case 118:
3218
93
YY_RULE_SETUP
3219
93
#line 318 "src/maplexer.l"
3220
93
{ BEGIN(INCLUDE); }
3221
93
  YY_BREAK
3222
0
case 119:
3223
0
YY_RULE_SETUP
3224
0
#line 319 "src/maplexer.l"
3225
0
{ MS_LEXER_RETURN_TOKEN(INDEX); }
3226
0
  YY_BREAK
3227
0
case 120:
3228
0
YY_RULE_SETUP
3229
0
#line 320 "src/maplexer.l"
3230
0
{ MS_LEXER_RETURN_TOKEN(INITIALGAP); }
3231
0
  YY_BREAK
3232
0
case 121:
3233
0
YY_RULE_SETUP
3234
0
#line 321 "src/maplexer.l"
3235
0
{ MS_LEXER_RETURN_TOKEN(INTERVALS); } 
3236
0
  YY_BREAK
3237
97
case 122:
3238
97
YY_RULE_SETUP
3239
97
#line 322 "src/maplexer.l"
3240
97
{ MS_LEXER_RETURN_TOKEN(JOIN); }
3241
0
  YY_BREAK
3242
0
case 123:
3243
0
YY_RULE_SETUP
3244
0
#line 323 "src/maplexer.l"
3245
0
{ MS_LEXER_RETURN_TOKEN(KEYIMAGE); }
3246
0
  YY_BREAK
3247
0
case 124:
3248
0
YY_RULE_SETUP
3249
0
#line 324 "src/maplexer.l"
3250
0
{ MS_LEXER_RETURN_TOKEN(KEYSIZE); }
3251
0
  YY_BREAK
3252
0
case 125:
3253
0
YY_RULE_SETUP
3254
0
#line 325 "src/maplexer.l"
3255
0
{ MS_LEXER_RETURN_TOKEN(KEYSPACING); }
3256
0
  YY_BREAK
3257
1.96k
case 126:
3258
1.96k
YY_RULE_SETUP
3259
1.96k
#line 326 "src/maplexer.l"
3260
1.96k
{ MS_LEXER_RETURN_TOKEN(LABEL); }
3261
0
  YY_BREAK
3262
6
case 127:
3263
6
YY_RULE_SETUP
3264
6
#line 327 "src/maplexer.l"
3265
6
{ MS_LEXER_RETURN_TOKEN(LABELCACHE); }
3266
0
  YY_BREAK
3267
54
case 128:
3268
54
YY_RULE_SETUP
3269
54
#line 328 "src/maplexer.l"
3270
54
{ MS_LEXER_RETURN_TOKEN(LABELFORMAT); }
3271
0
  YY_BREAK
3272
37
case 129:
3273
37
YY_RULE_SETUP
3274
37
#line 329 "src/maplexer.l"
3275
37
{ MS_LEXER_RETURN_TOKEN(LABELITEM); }
3276
0
  YY_BREAK
3277
0
case 130:
3278
0
YY_RULE_SETUP
3279
0
#line 330 "src/maplexer.l"
3280
0
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALE); }
3281
0
  YY_BREAK
3282
0
case 131:
3283
0
YY_RULE_SETUP
3284
0
#line 331 "src/maplexer.l"
3285
0
{ MS_LEXER_RETURN_TOKEN(LABELMAXSCALEDENOM); }
3286
0
  YY_BREAK
3287
0
case 132:
3288
0
YY_RULE_SETUP
3289
0
#line 332 "src/maplexer.l"
3290
0
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALE); }
3291
0
  YY_BREAK
3292
0
case 133:
3293
0
YY_RULE_SETUP
3294
0
#line 333 "src/maplexer.l"
3295
0
{ MS_LEXER_RETURN_TOKEN(LABELMINSCALEDENOM); }
3296
0
  YY_BREAK
3297
0
case 134:
3298
0
YY_RULE_SETUP
3299
0
#line 334 "src/maplexer.l"
3300
0
{ MS_LEXER_RETURN_TOKEN(LABELREQUIRES); }
3301
0
  YY_BREAK
3302
2
case 135:
3303
2
YY_RULE_SETUP
3304
2
#line 335 "src/maplexer.l"
3305
2
{ MS_LEXER_RETURN_TOKEN(LATLON); }
3306
0
  YY_BREAK
3307
32.3k
case 136:
3308
32.3k
YY_RULE_SETUP
3309
32.3k
#line 336 "src/maplexer.l"
3310
32.3k
{ MS_LEXER_RETURN_TOKEN(LAYER); }
3311
0
  YY_BREAK
3312
8
case 137:
3313
8
YY_RULE_SETUP
3314
8
#line 337 "src/maplexer.l"
3315
8
{ MS_LEXER_RETURN_TOKEN(LEADER); }
3316
0
  YY_BREAK
3317
294
case 138:
3318
294
YY_RULE_SETUP
3319
294
#line 338 "src/maplexer.l"
3320
294
{ MS_LEXER_RETURN_TOKEN(LEGEND); }
3321
0
  YY_BREAK
3322
0
case 139:
3323
0
YY_RULE_SETUP
3324
0
#line 339 "src/maplexer.l"
3325
0
{ MS_LEXER_RETURN_TOKEN(LEGENDFORMAT); }
3326
0
  YY_BREAK
3327
0
case 140:
3328
0
YY_RULE_SETUP
3329
0
#line 340 "src/maplexer.l"
3330
0
{ MS_LEXER_RETURN_TOKEN(LINECAP); }
3331
0
  YY_BREAK
3332
0
case 141:
3333
0
YY_RULE_SETUP
3334
0
#line 341 "src/maplexer.l"
3335
0
{ MS_LEXER_RETURN_TOKEN(LINEJOIN); }
3336
0
  YY_BREAK
3337
0
case 142:
3338
0
YY_RULE_SETUP
3339
0
#line 342 "src/maplexer.l"
3340
0
{ MS_LEXER_RETURN_TOKEN(LINEJOINMAXSIZE); }
3341
0
  YY_BREAK
3342
39.7k
case 143:
3343
39.7k
YY_RULE_SETUP
3344
39.7k
#line 343 "src/maplexer.l"
3345
39.7k
{ MS_LEXER_RETURN_TOKEN(MAP); }
3346
0
  YY_BREAK
3347
178
case 144:
3348
178
YY_RULE_SETUP
3349
178
#line 344 "src/maplexer.l"
3350
178
{ MS_LEXER_RETURN_TOKEN(MARKER); }
3351
0
  YY_BREAK
3352
0
case 145:
3353
0
YY_RULE_SETUP
3354
0
#line 345 "src/maplexer.l"
3355
0
{ MS_LEXER_RETURN_TOKEN(MARKERSIZE); }
3356
0
  YY_BREAK
3357
516
case 146:
3358
516
YY_RULE_SETUP
3359
516
#line 346 "src/maplexer.l"
3360
516
{ MS_LEXER_RETURN_TOKEN(MASK); }
3361
0
  YY_BREAK
3362
0
case 147:
3363
0
YY_RULE_SETUP
3364
0
#line 347 "src/maplexer.l"
3365
0
{ MS_LEXER_RETURN_TOKEN(MAXARCS); }
3366
0
  YY_BREAK
3367
0
case 148:
3368
0
YY_RULE_SETUP
3369
0
#line 348 "src/maplexer.l"
3370
0
{ MS_LEXER_RETURN_TOKEN(MAXBOXSIZE); }
3371
0
  YY_BREAK
3372
0
case 149:
3373
0
YY_RULE_SETUP
3374
0
#line 349 "src/maplexer.l"
3375
0
{ MS_LEXER_RETURN_TOKEN(MAXDISTANCE); }
3376
0
  YY_BREAK
3377
0
case 150:
3378
0
YY_RULE_SETUP
3379
0
#line 350 "src/maplexer.l"
3380
0
{ MS_LEXER_RETURN_TOKEN(MAXFEATURES); }
3381
0
  YY_BREAK
3382
0
case 151:
3383
0
YY_RULE_SETUP
3384
0
#line 351 "src/maplexer.l"
3385
0
{ MS_LEXER_RETURN_TOKEN(MAXINTERVAL); }
3386
0
  YY_BREAK
3387
268
case 152:
3388
268
YY_RULE_SETUP
3389
268
#line 352 "src/maplexer.l"
3390
268
{ MS_LEXER_RETURN_TOKEN(MAXSCALE); }
3391
0
  YY_BREAK
3392
0
case 153:
3393
0
YY_RULE_SETUP
3394
0
#line 353 "src/maplexer.l"
3395
0
{ MS_LEXER_RETURN_TOKEN(MAXSCALEDENOM); }
3396
0
  YY_BREAK
3397
0
case 154:
3398
0
YY_RULE_SETUP
3399
0
#line 354 "src/maplexer.l"
3400
0
{ MS_LEXER_RETURN_TOKEN(MAXGEOWIDTH); }
3401
0
  YY_BREAK
3402
0
case 155:
3403
0
YY_RULE_SETUP
3404
0
#line 355 "src/maplexer.l"
3405
0
{ MS_LEXER_RETURN_TOKEN(MAXLENGTH); }
3406
0
  YY_BREAK
3407
0
case 156:
3408
0
YY_RULE_SETUP
3409
0
#line 356 "src/maplexer.l"
3410
0
{ MS_LEXER_RETURN_TOKEN(MAXSIZE); }
3411
0
  YY_BREAK
3412
0
case 157:
3413
0
YY_RULE_SETUP
3414
0
#line 357 "src/maplexer.l"
3415
0
{ MS_LEXER_RETURN_TOKEN(MAXSUBDIVIDE); }
3416
0
  YY_BREAK
3417
27
case 158:
3418
27
YY_RULE_SETUP
3419
27
#line 358 "src/maplexer.l"
3420
27
{ MS_LEXER_RETURN_TOKEN(MAXTEMPLATE); }
3421
0
  YY_BREAK
3422
0
case 159:
3423
0
YY_RULE_SETUP
3424
0
#line 359 "src/maplexer.l"
3425
0
{ MS_LEXER_RETURN_TOKEN(MAXWIDTH); }
3426
0
  YY_BREAK
3427
89
case 160:
3428
89
YY_RULE_SETUP
3429
89
#line 360 "src/maplexer.l"
3430
89
{ MS_LEXER_RETURN_TOKEN(METADATA); }
3431
0
  YY_BREAK
3432
11
case 161:
3433
11
YY_RULE_SETUP
3434
11
#line 361 "src/maplexer.l"
3435
11
{ MS_LEXER_RETURN_TOKEN(MIMETYPE); }
3436
0
  YY_BREAK
3437
0
case 162:
3438
0
YY_RULE_SETUP
3439
0
#line 362 "src/maplexer.l"
3440
0
{ MS_LEXER_RETURN_TOKEN(MINARCS); }
3441
0
  YY_BREAK
3442
0
case 163:
3443
0
YY_RULE_SETUP
3444
0
#line 363 "src/maplexer.l"
3445
0
{ MS_LEXER_RETURN_TOKEN(MINBOXSIZE); }
3446
0
  YY_BREAK
3447
0
case 164:
3448
0
YY_RULE_SETUP
3449
0
#line 364 "src/maplexer.l"
3450
0
{ MS_LEXER_RETURN_TOKEN(MINDISTANCE); }
3451
0
  YY_BREAK
3452
0
case 165:
3453
0
YY_RULE_SETUP
3454
0
#line 365 "src/maplexer.l"
3455
0
{ MS_LEXER_RETURN_TOKEN(REPEATDISTANCE); }
3456
0
  YY_BREAK
3457
0
case 166:
3458
0
YY_RULE_SETUP
3459
0
#line 366 "src/maplexer.l"
3460
0
{ MS_LEXER_RETURN_TOKEN(MAXOVERLAPANGLE); } 
3461
0
  YY_BREAK
3462
0
case 167:
3463
0
YY_RULE_SETUP
3464
0
#line 367 "src/maplexer.l"
3465
0
{ MS_LEXER_RETURN_TOKEN(MINFEATURESIZE); }
3466
0
  YY_BREAK
3467
0
case 168:
3468
0
YY_RULE_SETUP
3469
0
#line 368 "src/maplexer.l"
3470
0
{ MS_LEXER_RETURN_TOKEN(MININTERVAL); }
3471
0
  YY_BREAK
3472
64
case 169:
3473
64
YY_RULE_SETUP
3474
64
#line 369 "src/maplexer.l"
3475
64
{ MS_LEXER_RETURN_TOKEN(MINSCALE); }
3476
0
  YY_BREAK
3477
0
case 170:
3478
0
YY_RULE_SETUP
3479
0
#line 370 "src/maplexer.l"
3480
0
{ MS_LEXER_RETURN_TOKEN(MINSCALEDENOM); }
3481
0
  YY_BREAK
3482
0
case 171:
3483
0
YY_RULE_SETUP
3484
0
#line 371 "src/maplexer.l"
3485
0
{ MS_LEXER_RETURN_TOKEN(MINGEOWIDTH); }
3486
0
  YY_BREAK
3487
327
case 172:
3488
327
YY_RULE_SETUP
3489
327
#line 372 "src/maplexer.l"
3490
327
{ MS_LEXER_RETURN_TOKEN(MINSIZE); }
3491
0
  YY_BREAK
3492
0
case 173:
3493
0
YY_RULE_SETUP
3494
0
#line 373 "src/maplexer.l"
3495
0
{ MS_LEXER_RETURN_TOKEN(MINSUBDIVIDE); }
3496
0
  YY_BREAK
3497
64
case 174:
3498
64
YY_RULE_SETUP
3499
64
#line 374 "src/maplexer.l"
3500
64
{ MS_LEXER_RETURN_TOKEN(MINTEMPLATE); }
3501
0
  YY_BREAK
3502
36
case 175:
3503
36
YY_RULE_SETUP
3504
36
#line 375 "src/maplexer.l"
3505
36
{ MS_LEXER_RETURN_TOKEN(MINWIDTH); }
3506
0
  YY_BREAK
3507
1.41k
case 176:
3508
1.41k
YY_RULE_SETUP
3509
1.41k
#line 376 "src/maplexer.l"
3510
1.41k
{ MS_LEXER_RETURN_TOKEN(NAME); }
3511
0
  YY_BREAK
3512
1.20k
case 177:
3513
1.20k
YY_RULE_SETUP
3514
1.20k
#line 377 "src/maplexer.l"
3515
1.20k
{ MS_LEXER_RETURN_TOKEN(OFFSET); }
3516
0
  YY_BREAK
3517
0
case 178:
3518
0
YY_RULE_SETUP
3519
0
#line 378 "src/maplexer.l"
3520
0
{ MS_LEXER_RETURN_TOKEN(OFFSITE); }
3521
0
  YY_BREAK
3522
0
case 179:
3523
0
YY_RULE_SETUP
3524
0
#line 379 "src/maplexer.l"
3525
0
{ MS_LEXER_RETURN_TOKEN(OPACITY); }
3526
0
  YY_BREAK
3527
0
case 180:
3528
0
YY_RULE_SETUP
3529
0
#line 380 "src/maplexer.l"
3530
0
{ MS_LEXER_RETURN_TOKEN(CONNECTIONOPTIONS); }
3531
0
  YY_BREAK
3532
125
case 181:
3533
125
YY_RULE_SETUP
3534
125
#line 381 "src/maplexer.l"
3535
125
{ MS_LEXER_RETURN_TOKEN(OUTLINECOLOR); }
3536
0
  YY_BREAK
3537
1.09k
case 182:
3538
1.09k
YY_RULE_SETUP
3539
1.09k
#line 382 "src/maplexer.l"
3540
1.09k
{ MS_LEXER_RETURN_TOKEN(OUTLINEWIDTH); }
3541
0
  YY_BREAK
3542
0
case 183:
3543
0
YY_RULE_SETUP
3544
0
#line 383 "src/maplexer.l"
3545
0
{ MS_LEXER_RETURN_TOKEN(OUTPUTFORMAT); }
3546
0
  YY_BREAK
3547
0
case 184:
3548
0
YY_RULE_SETUP
3549
0
#line 384 "src/maplexer.l"
3550
0
{ MS_LEXER_RETURN_TOKEN(PARTIALS); }
3551
0
  YY_BREAK
3552
0
case 185:
3553
0
YY_RULE_SETUP
3554
0
#line 385 "src/maplexer.l"
3555
0
{ MS_LEXER_RETURN_TOKEN(PATTERN); }
3556
0
  YY_BREAK
3557
849
case 186:
3558
849
YY_RULE_SETUP
3559
849
#line 386 "src/maplexer.l"
3560
849
{ MS_LEXER_RETURN_TOKEN(POINTS); }
3561
0
  YY_BREAK
3562
1.27k
case 187:
3563
1.27k
YY_RULE_SETUP
3564
1.27k
#line 387 "src/maplexer.l"
3565
1.27k
{ MS_LEXER_RETURN_TOKEN(ITEMS); }
3566
0
  YY_BREAK
3567
327
case 188:
3568
327
YY_RULE_SETUP
3569
327
#line 388 "src/maplexer.l"
3570
327
{ MS_LEXER_RETURN_TOKEN(POSITION); }
3571
0
  YY_BREAK
3572
119
case 189:
3573
119
YY_RULE_SETUP
3574
119
#line 389 "src/maplexer.l"
3575
119
{ MS_LEXER_RETURN_TOKEN(POSTLABELCACHE); }
3576
0
  YY_BREAK
3577
394
case 190:
3578
394
YY_RULE_SETUP
3579
394
#line 390 "src/maplexer.l"
3580
394
{ MS_LEXER_RETURN_TOKEN(PRIORITY); }
3581
0
  YY_BREAK
3582
28
case 191:
3583
28
YY_RULE_SETUP
3584
28
#line 391 "src/maplexer.l"
3585
28
{ MS_LEXER_RETURN_TOKEN(PROCESSING); }
3586
0
  YY_BREAK
3587
32.7k
case 192:
3588
32.7k
YY_RULE_SETUP
3589
32.7k
#line 392 "src/maplexer.l"
3590
32.7k
{ MS_LEXER_RETURN_TOKEN(PROJECTION); }
3591
0
  YY_BREAK
3592
0
case 193:
3593
0
YY_RULE_SETUP
3594
0
#line 393 "src/maplexer.l"
3595
0
{ MS_LEXER_RETURN_TOKEN(QUERYFORMAT); }
3596
0
  YY_BREAK
3597
591
case 194:
3598
591
YY_RULE_SETUP
3599
591
#line 394 "src/maplexer.l"
3600
591
{ MS_LEXER_RETURN_TOKEN(QUERYMAP); }
3601
0
  YY_BREAK
3602
252
case 195:
3603
252
YY_RULE_SETUP
3604
252
#line 395 "src/maplexer.l"
3605
252
{ MS_LEXER_RETURN_TOKEN(REFERENCE); }
3606
0
  YY_BREAK
3607
27
case 196:
3608
27
YY_RULE_SETUP
3609
27
#line 396 "src/maplexer.l"
3610
27
{ MS_LEXER_RETURN_TOKEN(REGION); }
3611
0
  YY_BREAK
3612
0
case 197:
3613
0
YY_RULE_SETUP
3614
0
#line 397 "src/maplexer.l"
3615
0
{ MS_LEXER_RETURN_TOKEN(RELATIVETO); }
3616
0
  YY_BREAK
3617
0
case 198:
3618
0
YY_RULE_SETUP
3619
0
#line 398 "src/maplexer.l"
3620
0
{ MS_LEXER_RETURN_TOKEN(REQUIRES); }
3621
0
  YY_BREAK
3622
1
case 199:
3623
1
YY_RULE_SETUP
3624
1
#line 399 "src/maplexer.l"
3625
1
{ MS_LEXER_RETURN_TOKEN(RESOLUTION); }
3626
0
  YY_BREAK
3627
0
case 200:
3628
0
YY_RULE_SETUP
3629
0
#line 400 "src/maplexer.l"
3630
0
{ MS_LEXER_RETURN_TOKEN(DEFRESOLUTION); }
3631
0
  YY_BREAK
3632
60
case 201:
3633
60
YY_RULE_SETUP
3634
60
#line 401 "src/maplexer.l"
3635
60
{ MS_LEXER_RETURN_TOKEN(SCALE); }
3636
0
  YY_BREAK
3637
0
case 202:
3638
0
YY_RULE_SETUP
3639
0
#line 402 "src/maplexer.l"
3640
0
{ MS_LEXER_RETURN_TOKEN(SCALEDENOM); }
3641
0
  YY_BREAK
3642
117
case 203:
3643
117
YY_RULE_SETUP
3644
117
#line 403 "src/maplexer.l"
3645
117
{ MS_LEXER_RETURN_TOKEN(SCALEBAR); }
3646
0
  YY_BREAK
3647
0
case 204:
3648
0
YY_RULE_SETUP
3649
0
#line 404 "src/maplexer.l"
3650
0
{ MS_LEXER_RETURN_TOKEN(SCALETOKEN); }
3651
0
  YY_BREAK
3652
0
case 205:
3653
0
YY_RULE_SETUP
3654
0
#line 405 "src/maplexer.l"
3655
0
{ MS_LEXER_RETURN_TOKEN(SHADOWCOLOR); }
3656
0
  YY_BREAK
3657
0
case 206:
3658
0
YY_RULE_SETUP
3659
0
#line 406 "src/maplexer.l"
3660
0
{ MS_LEXER_RETURN_TOKEN(SHADOWSIZE); }
3661
0
  YY_BREAK
3662
0
case 207:
3663
0
YY_RULE_SETUP
3664
0
#line 407 "src/maplexer.l"
3665
0
{ MS_LEXER_RETURN_TOKEN(SHAPEPATH); }
3666
0
  YY_BREAK
3667
1.61k
case 208:
3668
1.61k
YY_RULE_SETUP
3669
1.61k
#line 408 "src/maplexer.l"
3670
1.61k
{ MS_LEXER_RETURN_TOKEN(SIZE); }
3671
0
  YY_BREAK
3672
0
case 209:
3673
0
YY_RULE_SETUP
3674
0
#line 409 "src/maplexer.l"
3675
0
{ MS_LEXER_RETURN_TOKEN(SIZEUNITS); }
3676
0
  YY_BREAK
3677
561
case 210:
3678
561
YY_RULE_SETUP
3679
561
#line 410 "src/maplexer.l"
3680
561
{ MS_LEXER_RETURN_TOKEN(STATUS); }
3681
0
  YY_BREAK
3682
1.83k
case 211:
3683
1.83k
YY_RULE_SETUP
3684
1.83k
#line 411 "src/maplexer.l"
3685
1.83k
{ MS_LEXER_RETURN_TOKEN(STYLE); }
3686
0
  YY_BREAK
3687
173
case 212:
3688
173
YY_RULE_SETUP
3689
173
#line 412 "src/maplexer.l"
3690
173
{ MS_LEXER_RETURN_TOKEN(STYLEITEM); }
3691
0
  YY_BREAK
3692
1.32k
case 213:
3693
1.32k
YY_RULE_SETUP
3694
1.32k
#line 413 "src/maplexer.l"
3695
1.32k
{ MS_LEXER_RETURN_TOKEN(SYMBOL); }
3696
0
  YY_BREAK
3697
0
case 214:
3698
0
YY_RULE_SETUP
3699
0
#line 414 "src/maplexer.l"
3700
0
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALE); }
3701
0
  YY_BREAK
3702
0
case 215:
3703
0
YY_RULE_SETUP
3704
0
#line 415 "src/maplexer.l"
3705
0
{ MS_LEXER_RETURN_TOKEN(SYMBOLSCALEDENOM); }
3706
0
  YY_BREAK
3707
53
case 216:
3708
53
YY_RULE_SETUP
3709
53
#line 416 "src/maplexer.l"
3710
53
{ MS_LEXER_RETURN_TOKEN(SYMBOLSET); }
3711
0
  YY_BREAK
3712
109
case 217:
3713
109
YY_RULE_SETUP
3714
109
#line 417 "src/maplexer.l"
3715
109
{ MS_LEXER_RETURN_TOKEN(TABLE); }
3716
0
  YY_BREAK
3717
273
case 218:
3718
273
YY_RULE_SETUP
3719
273
#line 418 "src/maplexer.l"
3720
273
{ MS_LEXER_RETURN_TOKEN(TEMPLATE); }
3721
0
  YY_BREAK
3722
364
case 219:
3723
364
YY_RULE_SETUP
3724
364
#line 419 "src/maplexer.l"
3725
364
{ MS_LEXER_RETURN_TOKEN(TEXT); }
3726
0
  YY_BREAK
3727
0
case 220:
3728
0
YY_RULE_SETUP
3729
0
#line 420 "src/maplexer.l"
3730
0
{ MS_LEXER_RETURN_TOKEN(TILEINDEX); }
3731
0
  YY_BREAK
3732
0
case 221:
3733
0
YY_RULE_SETUP
3734
0
#line 421 "src/maplexer.l"
3735
0
{ MS_LEXER_RETURN_TOKEN(TILEITEM); }
3736
0
  YY_BREAK
3737
18
case 222:
3738
18
YY_RULE_SETUP
3739
18
#line 422 "src/maplexer.l"
3740
18
{ MS_LEXER_RETURN_TOKEN(TILESRS); }
3741
0
  YY_BREAK
3742
130
case 223:
3743
130
YY_RULE_SETUP
3744
130
#line 423 "src/maplexer.l"
3745
130
{ MS_LEXER_RETURN_TOKEN(TITLE); }
3746
0
  YY_BREAK
3747
106
case 224:
3748
106
YY_RULE_SETUP
3749
106
#line 424 "src/maplexer.l"
3750
106
{ MS_LEXER_RETURN_TOKEN(TO); }
3751
0
  YY_BREAK
3752
0
case 225:
3753
0
YY_RULE_SETUP
3754
0
#line 425 "src/maplexer.l"
3755
0
{ MS_LEXER_RETURN_TOKEN(TOLERANCE); }
3756
0
  YY_BREAK
3757
0
case 226:
3758
0
YY_RULE_SETUP
3759
0
#line 426 "src/maplexer.l"
3760
0
{ MS_LEXER_RETURN_TOKEN(TOLERANCEUNITS); }
3761
0
  YY_BREAK
3762
0
case 227:
3763
0
YY_RULE_SETUP
3764
0
#line 427 "src/maplexer.l"
3765
0
{ MS_LEXER_RETURN_TOKEN(IDENTIFY); }
3766
0
  YY_BREAK
3767
0
case 228:
3768
0
YY_RULE_SETUP
3769
0
#line 428 "src/maplexer.l"
3770
0
{ MS_LEXER_RETURN_TOKEN(CLASSAUTO); }
3771
0
  YY_BREAK
3772
181
case 229:
3773
181
YY_RULE_SETUP
3774
181
#line 429 "src/maplexer.l"
3775
181
{ MS_LEXER_RETURN_TOKEN(TRANSPARENT); }
3776
0
  YY_BREAK
3777
1
case 230:
3778
1
YY_RULE_SETUP
3779
1
#line 430 "src/maplexer.l"
3780
1
{ MS_LEXER_RETURN_TOKEN(TRANSFORM); }
3781
0
  YY_BREAK
3782
1.47k
case 231:
3783
1.47k
YY_RULE_SETUP
3784
1.47k
#line 431 "src/maplexer.l"
3785
1.47k
{ MS_LEXER_RETURN_TOKEN(TYPE); }
3786
0
  YY_BREAK
3787
87
case 232:
3788
87
YY_RULE_SETUP
3789
87
#line 432 "src/maplexer.l"
3790
87
{ MS_LEXER_RETURN_TOKEN(UNITS); }
3791
0
  YY_BREAK
3792
59
case 233:
3793
59
YY_RULE_SETUP
3794
59
#line 433 "src/maplexer.l"
3795
59
{ MS_LEXER_RETURN_TOKEN(UTFDATA); }
3796
0
  YY_BREAK
3797
415
case 234:
3798
415
YY_RULE_SETUP
3799
415
#line 434 "src/maplexer.l"
3800
415
{ MS_LEXER_RETURN_TOKEN(UTFITEM); }
3801
0
  YY_BREAK
3802
0
case 235:
3803
0
YY_RULE_SETUP
3804
0
#line 435 "src/maplexer.l"
3805
0
{ MS_LEXER_RETURN_TOKEN(VALIDATION); }
3806
0
  YY_BREAK
3807
0
case 236:
3808
0
YY_RULE_SETUP
3809
0
#line 436 "src/maplexer.l"
3810
0
{ MS_LEXER_RETURN_TOKEN(VALUES); }
3811
0
  YY_BREAK
3812
127
case 237:
3813
127
YY_RULE_SETUP
3814
127
#line 437 "src/maplexer.l"
3815
127
{ MS_LEXER_RETURN_TOKEN(WEB); }
3816
0
  YY_BREAK
3817
110
case 238:
3818
110
YY_RULE_SETUP
3819
110
#line 438 "src/maplexer.l"
3820
110
{ MS_LEXER_RETURN_TOKEN(WIDTH); }
3821
0
  YY_BREAK
3822
2.25k
case 239:
3823
2.25k
YY_RULE_SETUP
3824
2.25k
#line 439 "src/maplexer.l"
3825
2.25k
{ MS_LEXER_RETURN_TOKEN(WKT); }
3826
0
  YY_BREAK
3827
0
case 240:
3828
0
YY_RULE_SETUP
3829
0
#line 440 "src/maplexer.l"
3830
0
{ MS_LEXER_RETURN_TOKEN(WRAP); }
3831
0
  YY_BREAK
3832
0
case 241:
3833
0
YY_RULE_SETUP
3834
0
#line 442 "src/maplexer.l"
3835
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_ANNOTATION); }
3836
0
  YY_BREAK
3837
23
case 242:
3838
23
YY_RULE_SETUP
3839
23
#line 443 "src/maplexer.l"
3840
23
{ MS_LEXER_RETURN_TOKEN(MS_AUTO); }
3841
0
  YY_BREAK
3842
4
case 243:
3843
4
YY_RULE_SETUP
3844
4
#line 444 "src/maplexer.l"
3845
4
{ MS_LEXER_RETURN_TOKEN(MS_AUTO2); }
3846
0
  YY_BREAK
3847
0
case 244:
3848
0
YY_RULE_SETUP
3849
0
#line 445 "src/maplexer.l"
3850
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BEVEL); }
3851
0
  YY_BREAK
3852
171
case 245:
3853
171
YY_RULE_SETUP
3854
171
#line 446 "src/maplexer.l"
3855
171
{ MS_LEXER_RETURN_TOKEN(MS_BITMAP); }
3856
0
  YY_BREAK
3857
0
case 246:
3858
0
YY_RULE_SETUP
3859
0
#line 447 "src/maplexer.l"
3860
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_BUTT); }
3861
0
  YY_BREAK
3862
1
case 247:
3863
1
YY_RULE_SETUP
3864
1
#line 448 "src/maplexer.l"
3865
1
{ MS_LEXER_RETURN_TOKEN(MS_CC); }
3866
0
  YY_BREAK
3867
0
case 248:
3868
0
YY_RULE_SETUP
3869
0
#line 449 "src/maplexer.l"
3870
0
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_CENTER); }
3871
0
  YY_BREAK
3872
0
case 249:
3873
0
YY_RULE_SETUP
3874
0
#line 450 "src/maplexer.l"
3875
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CHART); }
3876
0
  YY_BREAK
3877
0
case 250:
3878
0
YY_RULE_SETUP
3879
0
#line 451 "src/maplexer.l"
3880
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_CIRCLE); }
3881
0
  YY_BREAK
3882
4
case 251:
3883
4
YY_RULE_SETUP
3884
4
#line 452 "src/maplexer.l"
3885
4
{ MS_LEXER_RETURN_TOKEN(MS_CL); }
3886
0
  YY_BREAK
3887
75
case 252:
3888
75
YY_RULE_SETUP
3889
75
#line 453 "src/maplexer.l"
3890
75
{ MS_LEXER_RETURN_TOKEN(MS_CR); }
3891
0
  YY_BREAK
3892
1
case 253:
3893
1
YY_RULE_SETUP
3894
1
#line 454 "src/maplexer.l"
3895
1
{ MS_LEXER_RETURN_TOKEN(MS_DB_CSV); }
3896
0
  YY_BREAK
3897
0
case 254:
3898
0
YY_RULE_SETUP
3899
0
#line 455 "src/maplexer.l"
3900
0
{ MS_LEXER_RETURN_TOKEN(MS_DB_POSTGRES); }
3901
0
  YY_BREAK
3902
0
case 255:
3903
0
YY_RULE_SETUP
3904
0
#line 456 "src/maplexer.l"
3905
0
{ MS_LEXER_RETURN_TOKEN(MS_DB_MYSQL); }
3906
0
  YY_BREAK
3907
84
case 256:
3908
84
YY_RULE_SETUP
3909
84
#line 457 "src/maplexer.l"
3910
84
{ MS_LEXER_RETURN_TOKEN(MS_DEFAULT); }
3911
0
  YY_BREAK
3912
44
case 257:
3913
44
YY_RULE_SETUP
3914
44
#line 458 "src/maplexer.l"
3915
44
{ MS_LEXER_RETURN_TOKEN(MS_DD); }
3916
0
  YY_BREAK
3917
0
case 258:
3918
0
YY_RULE_SETUP
3919
0
#line 459 "src/maplexer.l"
3920
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_ELLIPSE); }
3921
0
  YY_BREAK
3922
95
case 259:
3923
95
YY_RULE_SETUP
3924
95
#line 460 "src/maplexer.l"
3925
95
{ MS_LEXER_RETURN_TOKEN(MS_EMBED); }
3926
0
  YY_BREAK
3927
1
case 260:
3928
1
YY_RULE_SETUP
3929
1
#line 461 "src/maplexer.l"
3930
1
{ MS_LEXER_RETURN_TOKEN(MS_FALSE); }
3931
0
  YY_BREAK
3932
0
case 261:
3933
0
YY_RULE_SETUP
3934
0
#line 462 "src/maplexer.l"
3935
0
{ MS_LEXER_RETURN_TOKEN(MS_FEET); }
3936
0
  YY_BREAK
3937
0
case 262:
3938
0
YY_RULE_SETUP
3939
0
#line 463 "src/maplexer.l"
3940
0
{ MS_LEXER_RETURN_TOKEN(MS_FOLLOW); }
3941
0
  YY_BREAK
3942
0
case 263:
3943
0
YY_RULE_SETUP
3944
0
#line 464 "src/maplexer.l"
3945
0
{ MS_LEXER_RETURN_TOKEN(MS_GIANT); }
3946
0
  YY_BREAK
3947
0
case 264:
3948
0
YY_RULE_SETUP
3949
0
#line 465 "src/maplexer.l"
3950
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_HATCH); }
3951
0
  YY_BREAK
3952
0
case 265:
3953
0
YY_RULE_SETUP
3954
0
#line 466 "src/maplexer.l"
3955
0
{ MS_LEXER_RETURN_TOKEN(MS_KERNELDENSITY); }
3956
0
  YY_BREAK
3957
1
case 266:
3958
1
YY_RULE_SETUP
3959
1
#line 467 "src/maplexer.l"
3960
1
{ MS_LEXER_RETURN_TOKEN(MS_IDW); }
3961
0
  YY_BREAK
3962
0
case 267:
3963
0
YY_RULE_SETUP
3964
0
#line 468 "src/maplexer.l"
3965
0
{ MS_LEXER_RETURN_TOKEN(MS_HILITE); }
3966
0
  YY_BREAK
3967
0
case 268:
3968
0
YY_RULE_SETUP
3969
0
#line 469 "src/maplexer.l"
3970
0
{ MS_LEXER_RETURN_TOKEN(MS_INCHES); }
3971
0
  YY_BREAK
3972
0
case 269:
3973
0
YY_RULE_SETUP
3974
0
#line 470 "src/maplexer.l"
3975
0
{ MS_LEXER_RETURN_TOKEN(MS_KILOMETERS); }
3976
0
  YY_BREAK
3977
1.53k
case 270:
3978
1.53k
YY_RULE_SETUP
3979
1.53k
#line 471 "src/maplexer.l"
3980
1.53k
{ MS_LEXER_RETURN_TOKEN(MS_LARGE); }
3981
0
  YY_BREAK
3982
7
case 271:
3983
7
YY_RULE_SETUP
3984
7
#line 472 "src/maplexer.l"
3985
7
{ MS_LEXER_RETURN_TOKEN(MS_LC); }
3986
0
  YY_BREAK
3987
0
case 272:
3988
0
YY_RULE_SETUP
3989
0
#line 473 "src/maplexer.l"
3990
0
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_LEFT); }
3991
0
  YY_BREAK
3992
31
case 273:
3993
31
YY_RULE_SETUP
3994
31
#line 474 "src/maplexer.l"
3995
31
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_LINE); }
3996
0
  YY_BREAK
3997
2
case 274:
3998
2
YY_RULE_SETUP
3999
2
#line 475 "src/maplexer.l"
4000
2
{ MS_LEXER_RETURN_TOKEN(MS_LL); }
4001
0
  YY_BREAK
4002
155
case 275:
4003
155
YY_RULE_SETUP
4004
155
#line 476 "src/maplexer.l"
4005
155
{ MS_LEXER_RETURN_TOKEN(MS_LR); }
4006
0
  YY_BREAK
4007
0
case 276:
4008
0
YY_RULE_SETUP
4009
0
#line 477 "src/maplexer.l"
4010
0
{ MS_LEXER_RETURN_TOKEN(MS_MEDIUM); }
4011
0
  YY_BREAK
4012
77
case 277:
4013
77
YY_RULE_SETUP
4014
77
#line 478 "src/maplexer.l"
4015
77
{ MS_LEXER_RETURN_TOKEN(MS_METERS); }
4016
0
  YY_BREAK
4017
0
case 278:
4018
0
YY_RULE_SETUP
4019
0
#line 479 "src/maplexer.l"
4020
0
{ MS_LEXER_RETURN_TOKEN(MS_NAUTICALMILES); }
4021
0
  YY_BREAK
4022
0
case 279:
4023
0
YY_RULE_SETUP
4024
0
#line 480 "src/maplexer.l"
4025
0
{ MS_LEXER_RETURN_TOKEN(MS_MILES); }
4026
0
  YY_BREAK
4027
0
case 280:
4028
0
YY_RULE_SETUP
4029
0
#line 481 "src/maplexer.l"
4030
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_MITER); }
4031
0
  YY_BREAK
4032
0
case 281:
4033
0
YY_RULE_SETUP
4034
0
#line 482 "src/maplexer.l"
4035
0
{ MS_LEXER_RETURN_TOKEN(MS_MULTIPLE); }
4036
0
  YY_BREAK
4037
1
case 282:
4038
1
YY_RULE_SETUP
4039
1
#line 483 "src/maplexer.l"
4040
1
{ MS_LEXER_RETURN_TOKEN(MS_CJC_NONE); }
4041
0
  YY_BREAK
4042
0
case 283:
4043
0
YY_RULE_SETUP
4044
0
#line 484 "src/maplexer.l"
4045
0
{ MS_LEXER_RETURN_TOKEN(MS_NORMAL); }
4046
0
  YY_BREAK
4047
35
case 284:
4048
35
YY_RULE_SETUP
4049
35
#line 485 "src/maplexer.l"
4050
35
{ MS_LEXER_RETURN_TOKEN(MS_OFF); }
4051
0
  YY_BREAK
4052
2
case 285:
4053
2
YY_RULE_SETUP
4054
2
#line 486 "src/maplexer.l"
4055
2
{ MS_LEXER_RETURN_TOKEN(MS_OGR); }
4056
0
  YY_BREAK
4057
0
case 286:
4058
0
YY_RULE_SETUP
4059
0
#line 487 "src/maplexer.l"
4060
0
{ MS_LEXER_RETURN_TOKEN(MS_FLATGEOBUF); }
4061
0
  YY_BREAK
4062
1.11k
case 287:
4063
1.11k
YY_RULE_SETUP
4064
1.11k
#line 488 "src/maplexer.l"
4065
1.11k
{ MS_LEXER_RETURN_TOKEN(MS_ON); }
4066
0
  YY_BREAK
4067
0
case 288:
4068
0
YY_RULE_SETUP
4069
0
#line 489 "src/maplexer.l"
4070
0
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_ONE); }
4071
0
  YY_BREAK
4072
0
case 289:
4073
0
YY_RULE_SETUP
4074
0
#line 490 "src/maplexer.l"
4075
0
{ MS_LEXER_RETURN_TOKEN(MS_JOIN_ONE_TO_MANY); }
4076
0
  YY_BREAK
4077
0
case 290:
4078
0
YY_RULE_SETUP
4079
0
#line 491 "src/maplexer.l"
4080
0
{ MS_LEXER_RETURN_TOKEN(MS_ORACLESPATIAL); }
4081
0
  YY_BREAK
4082
0
case 291:
4083
0
YY_RULE_SETUP
4084
0
#line 492 "src/maplexer.l"
4085
0
{ MS_LEXER_RETURN_TOKEN(MS_PERCENTAGES); }
4086
0
  YY_BREAK
4087
0
case 292:
4088
0
YY_RULE_SETUP
4089
0
#line 493 "src/maplexer.l"
4090
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_PIXMAP); }
4091
0
  YY_BREAK
4092
0
case 293:
4093
0
YY_RULE_SETUP
4094
0
#line 494 "src/maplexer.l"
4095
0
{ MS_LEXER_RETURN_TOKEN(MS_PIXELS); }
4096
0
  YY_BREAK
4097
45
case 294:
4098
45
YY_RULE_SETUP
4099
45
#line 495 "src/maplexer.l"
4100
45
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POINT); }
4101
0
  YY_BREAK
4102
130
case 295:
4103
130
YY_RULE_SETUP
4104
130
#line 496 "src/maplexer.l"
4105
130
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_POLYGON); }
4106
0
  YY_BREAK
4107
0
case 296:
4108
0
YY_RULE_SETUP
4109
0
#line 497 "src/maplexer.l"
4110
0
{ MS_LEXER_RETURN_TOKEN(MS_POSTGIS); }
4111
0
  YY_BREAK
4112
0
case 297:
4113
0
YY_RULE_SETUP
4114
0
#line 498 "src/maplexer.l"
4115
0
{ MS_LEXER_RETURN_TOKEN(MS_PLUGIN); }
4116
0
  YY_BREAK
4117
0
case 298:
4118
0
YY_RULE_SETUP
4119
0
#line 499 "src/maplexer.l"
4120
0
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_QUERY); }
4121
0
  YY_BREAK
4122
35
case 299:
4123
35
YY_RULE_SETUP
4124
35
#line 500 "src/maplexer.l"
4125
35
{ MS_LEXER_RETURN_TOKEN(MS_LAYER_RASTER); }
4126
0
  YY_BREAK
4127
0
case 300:
4128
0
YY_RULE_SETUP
4129
0
#line 501 "src/maplexer.l"
4130
0
{ MS_LEXER_RETURN_TOKEN(MS_RASTER_LABEL); }
4131
0
  YY_BREAK
4132
1
case 301:
4133
1
YY_RULE_SETUP
4134
1
#line 502 "src/maplexer.l"
4135
1
{ MS_LEXER_RETURN_TOKEN(MS_ALIGN_RIGHT); }
4136
0
  YY_BREAK
4137
0
case 302:
4138
0
YY_RULE_SETUP
4139
0
#line 503 "src/maplexer.l"
4140
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_ROUND); }
4141
0
  YY_BREAK
4142
0
case 303:
4143
0
YY_RULE_SETUP
4144
0
#line 504 "src/maplexer.l"
4145
0
{ MS_LEXER_RETURN_TOKEN(MS_SELECTED); }
4146
0
  YY_BREAK
4147
0
case 304:
4148
0
YY_RULE_SETUP
4149
0
#line 505 "src/maplexer.l"
4150
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SIMPLE); }
4151
0
  YY_BREAK
4152
0
case 305:
4153
0
YY_RULE_SETUP
4154
0
#line 506 "src/maplexer.l"
4155
0
{ MS_LEXER_RETURN_TOKEN(MS_SINGLE); }
4156
0
  YY_BREAK
4157
0
case 306:
4158
0
YY_RULE_SETUP
4159
0
#line 507 "src/maplexer.l"
4160
0
{ MS_LEXER_RETURN_TOKEN(MS_SMALL); }
4161
0
  YY_BREAK
4162
1
case 307:
4163
1
YY_RULE_SETUP
4164
1
#line 508 "src/maplexer.l"
4165
1
{ MS_LEXER_RETURN_TOKEN(MS_CJC_SQUARE); }
4166
0
  YY_BREAK
4167
1
case 308:
4168
1
YY_RULE_SETUP
4169
1
#line 509 "src/maplexer.l"
4170
1
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_SVG); }
4171
0
  YY_BREAK
4172
130
case 309:
4173
130
YY_RULE_SETUP
4174
130
#line 510 "src/maplexer.l"
4175
130
{ MS_LEXER_RETURN_TOKEN(POLAROFFSET); }
4176
0
  YY_BREAK
4177
37
case 310:
4178
37
YY_RULE_SETUP
4179
37
#line 511 "src/maplexer.l"
4180
37
{ MS_LEXER_RETURN_TOKEN(MS_TINY); }
4181
0
  YY_BREAK
4182
0
case 311:
4183
0
YY_RULE_SETUP
4184
0
#line 512 "src/maplexer.l"
4185
0
{ MS_LEXER_RETURN_TOKEN(MS_CJC_TRIANGLE); }
4186
0
  YY_BREAK
4187
291
case 312:
4188
291
YY_RULE_SETUP
4189
291
#line 513 "src/maplexer.l"
4190
291
{ MS_LEXER_RETURN_TOKEN(MS_TRUE); }
4191
0
  YY_BREAK
4192
11
case 313:
4193
11
YY_RULE_SETUP
4194
11
#line 514 "src/maplexer.l"
4195
11
{ MS_LEXER_RETURN_TOKEN(MS_TRUETYPE); }
4196
0
  YY_BREAK
4197
1
case 314:
4198
1
YY_RULE_SETUP
4199
1
#line 515 "src/maplexer.l"
4200
1
{ MS_LEXER_RETURN_TOKEN(MS_UC); }
4201
0
  YY_BREAK
4202
1
case 315:
4203
1
YY_RULE_SETUP
4204
1
#line 516 "src/maplexer.l"
4205
1
{ MS_LEXER_RETURN_TOKEN(MS_UL); }
4206
0
  YY_BREAK
4207
50
case 316:
4208
50
YY_RULE_SETUP
4209
50
#line 517 "src/maplexer.l"
4210
50
{ MS_LEXER_RETURN_TOKEN(MS_UR); }
4211
0
  YY_BREAK
4212
0
case 317:
4213
0
YY_RULE_SETUP
4214
0
#line 518 "src/maplexer.l"
4215
0
{ MS_LEXER_RETURN_TOKEN(MS_UNION); }
4216
0
  YY_BREAK
4217
0
case 318:
4218
0
YY_RULE_SETUP
4219
0
#line 519 "src/maplexer.l"
4220
0
{ MS_LEXER_RETURN_TOKEN(MS_UVRASTER); }
4221
0
  YY_BREAK
4222
0
case 319:
4223
0
YY_RULE_SETUP
4224
0
#line 520 "src/maplexer.l"
4225
0
{ MS_LEXER_RETURN_TOKEN(MS_CONTOUR); }
4226
0
  YY_BREAK
4227
0
case 320:
4228
0
YY_RULE_SETUP
4229
0
#line 521 "src/maplexer.l"
4230
0
{ MS_LEXER_RETURN_TOKEN(MS_SYMBOL_VECTOR); }
4231
0
  YY_BREAK
4232
92
case 321:
4233
92
YY_RULE_SETUP
4234
92
#line 522 "src/maplexer.l"
4235
92
{ MS_LEXER_RETURN_TOKEN(MS_WFS); }
4236
0
  YY_BREAK
4237
1
case 322:
4238
1
YY_RULE_SETUP
4239
1
#line 523 "src/maplexer.l"
4240
1
{ MS_LEXER_RETURN_TOKEN(MS_WMS); }
4241
0
  YY_BREAK
4242
2.98k
case 323:
4243
/* rule 323 can match eol */
4244
2.98k
YY_RULE_SETUP
4245
2.98k
#line 525 "src/maplexer.l"
4246
2.98k
{
4247
2.98k
                                                 msyytext++;
4248
2.98k
                                                 msyytext[msyyleng-1-1] = '\0';
4249
2.98k
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4250
2.98k
                                                                         msyystring_buffer_size);
4251
2.98k
                                                 strcpy(msyystring_buffer,msyytext);
4252
2.98k
                                                 return(MS_BINDING);
4253
12.7k
                                               }
4254
0
  YY_BREAK
4255
0
case 324:
4256
0
YY_RULE_SETUP
4257
0
#line 534 "src/maplexer.l"
4258
0
{ 
4259
  /* attribute binding - shape (fixed value) */
4260
0
  return(MS_TOKEN_BINDING_SHAPE);
4261
12.7k
}
4262
0
  YY_BREAK
4263
0
case 325:
4264
0
YY_RULE_SETUP
4265
0
#line 538 "src/maplexer.l"
4266
0
{ 
4267
  /* attribute binding - map cellsize */
4268
0
  return(MS_TOKEN_BINDING_MAP_CELLSIZE);
4269
12.7k
}
4270
0
  YY_BREAK
4271
0
case 326:
4272
0
YY_RULE_SETUP
4273
0
#line 542 "src/maplexer.l"
4274
0
{ 
4275
  /* attribute binding - data cellsize */
4276
0
  return(MS_TOKEN_BINDING_DATA_CELLSIZE);
4277
12.7k
}
4278
0
  YY_BREAK
4279
0
case 327:
4280
/* rule 327 can match eol */
4281
0
YY_RULE_SETUP
4282
0
#line 546 "src/maplexer.l"
4283
0
{
4284
  /* attribute binding - numeric (no quotes) */
4285
0
  msyytext++;
4286
0
  msyytext[msyyleng-1-1] = '\0';
4287
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4288
0
                          msyystring_buffer_size);
4289
0
  strcpy(msyystring_buffer, msyytext);
4290
0
  msStringUnescape(msyystring_buffer, ']');
4291
0
  return(MS_TOKEN_BINDING_DOUBLE);
4292
12.7k
}
4293
0
  YY_BREAK
4294
0
case 328:
4295
/* rule 328 can match eol */
4296
0
YY_RULE_SETUP
4297
0
#line 556 "src/maplexer.l"
4298
0
{
4299
  /* attribute binding - string (single or double quotes) */
4300
0
  msyytext[msyyleng-2] = '\0';
4301
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4302
0
                          msyystring_buffer_size);
4303
0
  strcpy(msyystring_buffer, msyytext + 2);
4304
0
  msStringUnescape(msyystring_buffer, msyytext[0]);
4305
0
  return(MS_TOKEN_BINDING_STRING);
4306
12.7k
}
4307
0
  YY_BREAK
4308
0
case 329:
4309
/* rule 329 can match eol */
4310
0
YY_RULE_SETUP
4311
0
#line 565 "src/maplexer.l"
4312
0
{
4313
  /* attribute binding - time */
4314
0
  msyytext+=2;
4315
0
  msyytext[msyyleng-2-2] = '\0';
4316
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng,
4317
0
                          msyystring_buffer_size);
4318
0
  strcpy(msyystring_buffer, msyytext);
4319
0
  msStringUnescape(msyystring_buffer, '`');
4320
0
  return(MS_TOKEN_BINDING_TIME);
4321
12.7k
}
4322
0
  YY_BREAK
4323
11.5k
case 330:
4324
11.5k
YY_RULE_SETUP
4325
11.5k
#line 576 "src/maplexer.l"
4326
11.5k
{
4327
11.5k
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4328
11.5k
                          msyystring_buffer_size);
4329
11.5k
  strcpy(msyystring_buffer,msyytext);
4330
11.5k
  msyynumber = atof(msyytext);
4331
11.5k
  return(MS_NUMBER); 
4332
12.7k
}
4333
0
  YY_BREAK
4334
0
case 331:
4335
0
YY_RULE_SETUP
4336
0
#line 584 "src/maplexer.l"
4337
0
{
4338
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4339
0
                          msyystring_buffer_size);
4340
0
  strcpy(msyystring_buffer,msyytext);
4341
0
  msyynumber = atof(msyytext);
4342
0
  return(MS_TOKEN_LITERAL_NUMBER);
4343
12.7k
}
4344
0
  YY_BREAK
4345
0
case 332:
4346
/* rule 332 can match eol */
4347
0
YY_RULE_SETUP
4348
0
#line 592 "src/maplexer.l"
4349
0
{
4350
0
  msyytext++;
4351
0
  msyytext[msyyleng-1-1] = '\0';
4352
0
  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4353
0
                          msyystring_buffer_size);
4354
0
  strcpy(msyystring_buffer, msyytext);
4355
0
  return(MS_TOKEN_LITERAL_TIME);
4356
12.7k
}
4357
0
  YY_BREAK
4358
3
case 333:
4359
/* rule 333 can match eol */
4360
3
YY_RULE_SETUP
4361
3
#line 601 "src/maplexer.l"
4362
3
{
4363
3
                                                 msyytext++;
4364
3
                                                 msyytext[msyyleng-1-2] = '\0';
4365
3
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4366
3
                                                                         msyystring_buffer_size);
4367
3
                                                 strcpy(msyystring_buffer, msyytext);
4368
3
                                                 return(MS_IREGEX);
4369
12.7k
                                               }
4370
0
  YY_BREAK
4371
77
case 334:
4372
/* rule 334 can match eol */
4373
77
YY_RULE_SETUP
4374
77
#line 610 "src/maplexer.l"
4375
77
{
4376
77
                                                 msyytext++;
4377
77
                                                 msyytext[msyyleng-1-1] = '\0';
4378
77
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4379
77
                                                                         msyystring_buffer_size);
4380
77
                                                 strcpy(msyystring_buffer, msyytext);
4381
77
                                                 return(MS_REGEX);
4382
12.7k
                                               }
4383
0
  YY_BREAK
4384
508
case 335:
4385
508
YY_RULE_SETUP
4386
508
#line 619 "src/maplexer.l"
4387
508
{
4388
508
                                                 msyytext++;
4389
508
                                                 msyytext[msyyleng-1-1] = '\0';
4390
508
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4391
508
                                                                         msyystring_buffer_size);
4392
508
                                                 strcpy(msyystring_buffer, msyytext);
4393
508
                                                 return(MS_EXPRESSION);
4394
12.7k
                                               }
4395
0
  YY_BREAK
4396
3
case 336:
4397
3
YY_RULE_SETUP
4398
3
#line 628 "src/maplexer.l"
4399
3
{
4400
3
                                                 msyytext++;
4401
3
                                                 msyytext[msyyleng-1-1] = '\0';
4402
3
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4403
3
                                                                         msyystring_buffer_size);
4404
3
                                                 strcpy(msyystring_buffer, msyytext);
4405
3
                                                 return(MS_LIST);
4406
12.7k
                                               }
4407
0
  YY_BREAK
4408
129k
case 337:
4409
129k
YY_RULE_SETUP
4410
129k
#line 637 "src/maplexer.l"
4411
129k
{
4412
129k
                                                 msyystring_return_state = MS_STRING;
4413
129k
                                                 msyystring_begin = msyytext[0]; 
4414
129k
                                                 msyystring_size = 0;
4415
129k
                                                 msyystring_buffer[0] = '\0';
4416
129k
                                                 BEGIN(MSSTRING);
4417
129k
                                              }
4418
129k
  YY_BREAK
4419
379k
case 338:
4420
379k
YY_RULE_SETUP
4421
379k
#line 645 "src/maplexer.l"
4422
379k
{
4423
379k
                                                if (msyystring_begin == msyytext[0]) {
4424
128k
                                                   BEGIN(msyystring_begin_state);
4425
128k
                                                   if (msyystring_return_state == MS_STRING) {
4426
128k
                                                      if (msyystring_icase && msyyleng==2) {
4427
10
                                                         msyystring_icase = MS_FALSE; // reset
4428
10
                                                         return MS_ISTRING;
4429
10
                                                      } else
4430
128k
                                                        return MS_STRING;
4431
128k
                                                   }
4432
0
                                                   return msyystring_return_state;
4433
4434
128k
                                                }
4435
250k
                                                else {
4436
250k
                                                  int old_size = msyystring_size;
4437
250k
                                                  msyystring_size += (msyyleng==2) ? 2 : 1;
4438
250k
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4439
250k
                                                                          msyystring_buffer_size);
4440
250k
                                                  msyystring_buffer[old_size] = *msyytext;
4441
250k
                                                  if (msyyleng==2) {
4442
333
                                                     msyystring_buffer[old_size+1] = msyytext[1];
4443
333
                                                  }
4444
250k
                                                  msyystring_buffer[msyystring_size] = '\0';
4445
250k
                                                }
4446
379k
                                              }
4447
250k
  YY_BREAK
4448
250k
case 339:
4449
43.8k
YY_RULE_SETUP
4450
43.8k
#line 671 "src/maplexer.l"
4451
43.8k
{ 
4452
43.8k
                                                ++msyystring_size;
4453
43.8k
                                                MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4454
43.8k
                                                                        msyystring_buffer_size);
4455
4456
43.8k
                                                if (msyyleng == 2)
4457
28.7k
                                                    msyystring_buffer[msyystring_size-1] = msyytext[1]; 
4458
15.1k
                                                else
4459
15.1k
                                                    msyystring_buffer[msyystring_size-1] = msyytext[0];
4460
43.8k
                                                msyystring_buffer[msyystring_size] = '\0';
4461
43.8k
                                             }
4462
43.8k
  YY_BREAK
4463
180k
case 340:
4464
/* rule 340 can match eol */
4465
180k
YY_RULE_SETUP
4466
180k
#line 683 "src/maplexer.l"
4467
180k
{
4468
180k
                                                 int old_size = msyystring_size;
4469
180k
                                                 msyystring_size += msyyleng;
4470
180k
                                                 MS_LEXER_STRING_REALLOC(msyystring_buffer, msyystring_size,
4471
180k
                                                                         msyystring_buffer_size);
4472
180k
                                                 memcpy(msyystring_buffer + old_size, msyytext, msyyleng + 1);
4473
180k
                                             }
4474
180k
  YY_BREAK
4475
142
case 341:
4476
/* rule 341 can match eol */
4477
142
YY_RULE_SETUP
4478
142
#line 691 "src/maplexer.l"
4479
142
{
4480
142
                                                 msyytext++;
4481
142
                                                 msyytext[msyyleng-1-1] = '\0';
4482
4483
142
                                                 if(include_stack_ptr >= MAX_INCLUDE_DEPTH) {
4484
0
                                                   msSetError(MS_IOERR, "Includes nested to deeply.", "msyylex()");
4485
0
                                                   return(-1);
4486
0
                                                 }
4487
4488
142
                                                 msyyin = fopen(msBuildPath(path, msyybasepath, msyytext), "r");
4489
142
                                                 if(!msyyin) {
4490
61
                                                   msSetError(MS_IOERR, "Error opening included file \"%s\".", "msyylex()", msyytext);
4491
61
                                                   msyyin = YY_CURRENT_BUFFER->yy_input_file;
4492
61
                                                   return(-1);
4493
61
                                                 }
4494
4495
81
                                                 include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; /* save state */
4496
81
                                                 include_lineno[include_stack_ptr] = msyylineno;
4497
81
                                                 include_stack_ptr++;
4498
4499
81
                                                 msyy_switch_to_buffer( msyy_create_buffer(msyyin, YY_BUF_SIZE) );
4500
81
                                                 msyylineno = 1;
4501
4502
81
                                                 BEGIN(INITIAL);
4503
81
                                               }
4504
81
  YY_BREAK
4505
0
case 342:
4506
0
YY_RULE_SETUP
4507
0
#line 717 "src/maplexer.l"
4508
0
{
4509
0
                                                 msyystring_return_state = MS_TOKEN_LITERAL_STRING;
4510
0
                                                 msyystring_begin = msyytext[0]; 
4511
0
                                                 msyystring_size = 0;
4512
0
                                                 msyystring_buffer[0] = '\0';
4513
0
                                                 BEGIN(MSSTRING);
4514
0
                                              }
4515
0
  YY_BREAK
4516
48.5k
case 343:
4517
48.5k
YY_RULE_SETUP
4518
48.5k
#line 725 "src/maplexer.l"
4519
48.5k
{ 
4520
48.5k
                                                    MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4521
48.5k
                                                                            msyystring_buffer_size);
4522
48.5k
                                                    strcpy(msyystring_buffer, msyytext); 
4523
48.5k
                                                    return(MS_STRING); 
4524
142
                                                }
4525
0
  YY_BREAK
4526
119k
case 344:
4527
/* rule 344 can match eol */
4528
119k
YY_RULE_SETUP
4529
119k
#line 732 "src/maplexer.l"
4530
119k
{ msyylineno++; }
4531
119k
  YY_BREAK
4532
1.14k
case YY_STATE_EOF(INITIAL):
4533
1.32k
case YY_STATE_EOF(CONFIG_FILE):
4534
1.32k
#line 734 "src/maplexer.l"
4535
1.32k
{
4536
1.32k
                                                  if( --include_stack_ptr < 0 )
4537
1.23k
                                                    return(EOF); /* end of main file */
4538
81
                                                  else {
4539
81
                                                    fclose(YY_CURRENT_BUFFER->yy_input_file);
4540
81
                                                    msyy_delete_buffer( YY_CURRENT_BUFFER );
4541
81
                                                    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
4542
81
                                                    msyylineno = include_lineno[include_stack_ptr];
4543
81
                                                  }
4544
1.32k
                                                }
4545
81
  YY_BREAK
4546
81
case 345:
4547
/* rule 345 can match eol */
4548
0
YY_RULE_SETUP
4549
0
#line 745 "src/maplexer.l"
4550
0
{
4551
0
  return(0); 
4552
1.32k
}
4553
0
  YY_BREAK
4554
30.3k
case 346:
4555
30.3k
YY_RULE_SETUP
4556
30.3k
#line 749 "src/maplexer.l"
4557
30.3k
{ 
4558
30.3k
                                                  MS_LEXER_STRING_REALLOC(msyystring_buffer, msyyleng, 
4559
30.3k
                                                                          msyystring_buffer_size);
4560
30.3k
                                                  strcpy(msyystring_buffer, msyytext); 
4561
30.3k
                                                  return(0); 
4562
1.32k
                                                }
4563
0
  YY_BREAK
4564
0
case 347:
4565
0
YY_RULE_SETUP
4566
0
#line 755 "src/maplexer.l"
4567
0
{ return(msyytext[0]); }
4568
0
  YY_BREAK
4569
4.39k
case 348:
4570
4.39k
YY_RULE_SETUP
4571
4.39k
#line 756 "src/maplexer.l"
4572
4.39k
ECHO;
4573
4.39k
  YY_BREAK
4574
0
#line 4575 "src/maplexer.c"
4575
0
case YY_STATE_EOF(EXPRESSION_STRING):
4576
9
case YY_STATE_EOF(INCLUDE):
4577
1.10k
case YY_STATE_EOF(MSSTRING):
4578
1.13k
case YY_STATE_EOF(MULTILINE_COMMENT):
4579
1.13k
  yyterminate();
4580
4581
689k
  case YY_END_OF_BUFFER:
4582
689k
    {
4583
    /* Amount of text matched not including the EOB char. */
4584
689k
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4585
4586
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
4587
689k
    *yy_cp = (yy_hold_char);
4588
689k
    YY_RESTORE_YY_MORE_OFFSET
4589
4590
689k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4591
14.2k
      {
4592
      /* We're scanning a new file or input source.  It's
4593
       * possible that this happened because the user
4594
       * just pointed yyin at a new source and called
4595
       * yylex().  If so, then we have to assure
4596
       * consistency between YY_CURRENT_BUFFER and our
4597
       * globals.  Here is the right place to do so, because
4598
       * this is the first action (other than possibly a
4599
       * back-up) that will match for the new input source.
4600
       */
4601
14.2k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4602
14.2k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4603
14.2k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4604
14.2k
      }
4605
4606
    /* Note that here we test for yy_c_buf_p "<=" to the position
4607
     * of the first EOB in the buffer, since yy_c_buf_p will
4608
     * already have been incremented past the NUL character
4609
     * (since all states make transitions on EOB to the
4610
     * end-of-buffer state).  Contrast this with the test
4611
     * in input().
4612
     */
4613
689k
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4614
665k
      { /* This was really a NUL. */
4615
665k
      yy_state_type yy_next_state;
4616
4617
665k
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4618
4619
665k
      yy_current_state = yy_get_previous_state(  );
4620
4621
      /* Okay, we're now positioned to make the NUL
4622
       * transition.  We couldn't have
4623
       * yy_get_previous_state() go ahead and do it
4624
       * for us because it doesn't know how to deal
4625
       * with the possibility of jamming (and we don't
4626
       * want to build jamming into it because then it
4627
       * will run more slowly).
4628
       */
4629
4630
665k
      yy_next_state = yy_try_NUL_trans( yy_current_state );
4631
4632
665k
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4633
4634
665k
      if ( yy_next_state )
4635
629k
        {
4636
        /* Consume the NUL. */
4637
629k
        yy_cp = ++(yy_c_buf_p);
4638
629k
        yy_current_state = yy_next_state;
4639
629k
        goto yy_match;
4640
629k
        }
4641
4642
35.7k
      else
4643
35.7k
        {
4644
35.7k
        yy_cp = (yy_last_accepting_cpos);
4645
35.7k
        yy_current_state = (yy_last_accepting_state);
4646
35.7k
        goto yy_find_action;
4647
35.7k
        }
4648
665k
      }
4649
4650
24.3k
    else switch ( yy_get_next_buffer(  ) )
4651
24.3k
      {
4652
2.45k
      case EOB_ACT_END_OF_FILE:
4653
2.45k
        {
4654
2.45k
        (yy_did_buffer_switch_on_eof) = 0;
4655
4656
2.45k
        if ( yywrap(  ) )
4657
2.45k
          {
4658
          /* Note: because we've taken care in
4659
           * yy_get_next_buffer() to have set up
4660
           * yytext, we can now set up
4661
           * yy_c_buf_p so that if some total
4662
           * hoser (like flex itself) wants to
4663
           * call the scanner after we return the
4664
           * YY_NULL, it'll still work - another
4665
           * YY_NULL will get returned.
4666
           */
4667
2.45k
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4668
4669
2.45k
          yy_act = YY_STATE_EOF(YY_START);
4670
2.45k
          goto do_action;
4671
2.45k
          }
4672
4673
0
        else
4674
0
          {
4675
0
          if ( ! (yy_did_buffer_switch_on_eof) )
4676
0
            YY_NEW_FILE;
4677
0
          }
4678
0
        break;
4679
2.45k
        }
4680
4681
14.2k
      case EOB_ACT_CONTINUE_SCAN:
4682
14.2k
        (yy_c_buf_p) =
4683
14.2k
          (yytext_ptr) + yy_amount_of_matched_text;
4684
4685
14.2k
        yy_current_state = yy_get_previous_state(  );
4686
4687
14.2k
        yy_cp = (yy_c_buf_p);
4688
14.2k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4689
14.2k
        goto yy_match;
4690
4691
7.57k
      case EOB_ACT_LAST_MATCH:
4692
7.57k
        (yy_c_buf_p) =
4693
7.57k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4694
4695
7.57k
        yy_current_state = yy_get_previous_state(  );
4696
4697
7.57k
        yy_cp = (yy_c_buf_p);
4698
7.57k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4699
7.57k
        goto yy_find_action;
4700
24.3k
      }
4701
0
    break;
4702
689k
    }
4703
4704
0
  default:
4705
0
    YY_FATAL_ERROR(
4706
2.06M
      "fatal flex scanner internal error--no action found" );
4707
2.06M
  } /* end of action switch */
4708
2.06M
    } /* end of scanning one token */
4709
421k
  } /* end of user's declarations */
4710
421k
} /* end of yylex */
4711
4712
/* yy_get_next_buffer - try to read in a new buffer
4713
 *
4714
 * Returns a code representing an action:
4715
 *  EOB_ACT_LAST_MATCH -
4716
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4717
 *  EOB_ACT_END_OF_FILE - end of file
4718
 */
4719
static int yy_get_next_buffer (void)
4720
24.3k
{
4721
24.3k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4722
24.3k
  char *source = (yytext_ptr);
4723
24.3k
  int number_to_move, i;
4724
24.3k
  int ret_val;
4725
4726
24.3k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4727
0
    YY_FATAL_ERROR(
4728
24.3k
    "fatal flex scanner internal error--end of buffer missed" );
4729
4730
24.3k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4731
0
    { /* Don't try to fill the buffer, so this is an EOF. */
4732
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4733
0
      {
4734
      /* We matched a single character, the EOB, so
4735
       * treat this as a final EOF.
4736
       */
4737
0
      return EOB_ACT_END_OF_FILE;
4738
0
      }
4739
4740
0
    else
4741
0
      {
4742
      /* We matched some text prior to the EOB, first
4743
       * process it.
4744
       */
4745
0
      return EOB_ACT_LAST_MATCH;
4746
0
      }
4747
0
    }
4748
4749
  /* Try to read more data. */
4750
4751
  /* First move last chars to start of buffer. */
4752
24.3k
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4753
4754
441k
  for ( i = 0; i < number_to_move; ++i )
4755
417k
    *(dest++) = *(source++);
4756
4757
24.3k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4758
    /* don't do the read, it's not guaranteed to return an EOF,
4759
     * just force an EOF
4760
     */
4761
2.34k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4762
4763
21.9k
  else
4764
21.9k
    {
4765
21.9k
      int num_to_read =
4766
21.9k
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4767
4768
21.9k
    while ( num_to_read <= 0 )
4769
0
      { /* Not enough room in the buffer - grow it. */
4770
4771
      /* just a shorter name for the current buffer */
4772
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4773
4774
0
      int yy_c_buf_p_offset =
4775
0
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
4776
4777
0
      if ( b->yy_is_our_buffer )
4778
0
        {
4779
0
        int new_size = b->yy_buf_size * 2;
4780
4781
0
        if ( new_size <= 0 )
4782
0
          b->yy_buf_size += b->yy_buf_size / 8;
4783
0
        else
4784
0
          b->yy_buf_size *= 2;
4785
4786
0
        b->yy_ch_buf = (char *)
4787
          /* Include room in for 2 EOB chars. */
4788
0
          yyrealloc( (void *) b->yy_ch_buf,
4789
0
               (yy_size_t) (b->yy_buf_size + 2)  );
4790
0
        }
4791
0
      else
4792
        /* Can't grow it, we don't own it. */
4793
0
        b->yy_ch_buf = NULL;
4794
4795
0
      if ( ! b->yy_ch_buf )
4796
0
        YY_FATAL_ERROR(
4797
0
        "fatal error - scanner input buffer overflow" );
4798
4799
0
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4800
4801
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4802
0
            number_to_move - 1;
4803
4804
0
      }
4805
4806
21.9k
    if ( num_to_read > YY_READ_BUF_SIZE )
4807
21.9k
      num_to_read = YY_READ_BUF_SIZE;
4808
4809
    /* Read in more data. */
4810
21.9k
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4811
21.9k
      (yy_n_chars), num_to_read );
4812
4813
21.9k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4814
21.9k
    }
4815
4816
24.3k
  if ( (yy_n_chars) == 0 )
4817
10.0k
    {
4818
10.0k
    if ( number_to_move == YY_MORE_ADJ )
4819
2.45k
      {
4820
2.45k
      ret_val = EOB_ACT_END_OF_FILE;
4821
2.45k
      yyrestart( yyin  );
4822
2.45k
      }
4823
4824
7.57k
    else
4825
7.57k
      {
4826
7.57k
      ret_val = EOB_ACT_LAST_MATCH;
4827
7.57k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4828
7.57k
        YY_BUFFER_EOF_PENDING;
4829
7.57k
      }
4830
10.0k
    }
4831
4832
14.2k
  else
4833
14.2k
    ret_val = EOB_ACT_CONTINUE_SCAN;
4834
4835
24.3k
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4836
    /* Extend the array by 50%, plus the number we really need. */
4837
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4838
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4839
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4840
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4841
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4842
    /* "- 2" to take care of EOB's */
4843
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4844
0
  }
4845
4846
24.3k
  (yy_n_chars) += number_to_move;
4847
24.3k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4848
24.3k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4849
4850
24.3k
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4851
4852
24.3k
  return ret_val;
4853
24.3k
}
4854
4855
/* yy_get_previous_state - get the state just before the EOB char was reached */
4856
4857
    static yy_state_type yy_get_previous_state (void)
4858
687k
{
4859
687k
  yy_state_type yy_current_state;
4860
687k
  char *yy_cp;
4861
    
4862
687k
  yy_current_state = (yy_start);
4863
4864
94.1M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4865
93.4M
    {
4866
93.4M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 86);
4867
93.4M
    if ( yy_accept[yy_current_state] )
4868
91.1M
      {
4869
91.1M
      (yy_last_accepting_state) = yy_current_state;
4870
91.1M
      (yy_last_accepting_cpos) = yy_cp;
4871
91.1M
      }
4872
186M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4873
93.2M
      {
4874
93.2M
      yy_current_state = (int) yy_def[yy_current_state];
4875
93.2M
      if ( yy_current_state >= 1760 )
4876
93.2M
        yy_c = yy_meta[yy_c];
4877
93.2M
      }
4878
93.4M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4879
93.4M
    }
4880
4881
687k
  return yy_current_state;
4882
687k
}
4883
4884
/* yy_try_NUL_trans - try to make a transition on the NUL character
4885
 *
4886
 * synopsis
4887
 *  next_state = yy_try_NUL_trans( current_state );
4888
 */
4889
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4890
665k
{
4891
665k
  int yy_is_jam;
4892
665k
      char *yy_cp = (yy_c_buf_p);
4893
4894
665k
  YY_CHAR yy_c = 86;
4895
665k
  if ( yy_accept[yy_current_state] )
4896
615k
    {
4897
615k
    (yy_last_accepting_state) = yy_current_state;
4898
615k
    (yy_last_accepting_cpos) = yy_cp;
4899
615k
    }
4900
1.33M
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4901
665k
    {
4902
665k
    yy_current_state = (int) yy_def[yy_current_state];
4903
665k
    if ( yy_current_state >= 1760 )
4904
629k
      yy_c = yy_meta[yy_c];
4905
665k
    }
4906
665k
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4907
665k
  yy_is_jam = (yy_current_state == 1759);
4908
4909
665k
    return yy_is_jam ? 0 : yy_current_state;
4910
665k
}
4911
4912
#ifndef YY_NO_UNPUT
4913
4914
    static void yyunput (int c, char * yy_bp )
4915
0
{
4916
0
  char *yy_cp;
4917
    
4918
0
    yy_cp = (yy_c_buf_p);
4919
4920
  /* undo effects of setting up yytext */
4921
0
  *yy_cp = (yy_hold_char);
4922
4923
0
  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4924
0
    { /* need to shift things up to make room */
4925
    /* +2 for EOB chars. */
4926
0
    int number_to_move = (yy_n_chars) + 2;
4927
0
    char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4928
0
          YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4929
0
    char *source =
4930
0
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4931
4932
0
    while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4933
0
      *--dest = *--source;
4934
4935
0
    yy_cp += (int) (dest - source);
4936
0
    yy_bp += (int) (dest - source);
4937
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4938
0
      (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4939
4940
0
    if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4941
0
      YY_FATAL_ERROR( "flex scanner push-back overflow" );
4942
0
    }
4943
4944
0
  *--yy_cp = (char) c;
4945
4946
0
  (yytext_ptr) = yy_bp;
4947
0
  (yy_hold_char) = *yy_cp;
4948
0
  (yy_c_buf_p) = yy_cp;
4949
0
}
4950
4951
#endif
4952
4953
#ifndef YY_NO_INPUT
4954
#ifdef __cplusplus
4955
    static int yyinput (void)
4956
#else
4957
    static int input  (void)
4958
#endif
4959
4960
{
4961
  int c;
4962
    
4963
  *(yy_c_buf_p) = (yy_hold_char);
4964
4965
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4966
    {
4967
    /* yy_c_buf_p now points to the character we want to return.
4968
     * If this occurs *before* the EOB characters, then it's a
4969
     * valid NUL; if not, then we've hit the end of the buffer.
4970
     */
4971
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4972
      /* This was really a NUL. */
4973
      *(yy_c_buf_p) = '\0';
4974
4975
    else
4976
      { /* need more input */
4977
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4978
      ++(yy_c_buf_p);
4979
4980
      switch ( yy_get_next_buffer(  ) )
4981
        {
4982
        case EOB_ACT_LAST_MATCH:
4983
          /* This happens because yy_g_n_b()
4984
           * sees that we've accumulated a
4985
           * token and flags that we need to
4986
           * try matching the token before
4987
           * proceeding.  But for input(),
4988
           * there's no matching to consider.
4989
           * So convert the EOB_ACT_LAST_MATCH
4990
           * to EOB_ACT_END_OF_FILE.
4991
           */
4992
4993
          /* Reset buffer status. */
4994
          yyrestart( yyin );
4995
4996
          /*FALLTHROUGH*/
4997
4998
        case EOB_ACT_END_OF_FILE:
4999
          {
5000
          if ( yywrap(  ) )
5001
            return 0;
5002
5003
          if ( ! (yy_did_buffer_switch_on_eof) )
5004
            YY_NEW_FILE;
5005
#ifdef __cplusplus
5006
          return yyinput();
5007
#else
5008
          return input();
5009
#endif
5010
          }
5011
5012
        case EOB_ACT_CONTINUE_SCAN:
5013
          (yy_c_buf_p) = (yytext_ptr) + offset;
5014
          break;
5015
        }
5016
      }
5017
    }
5018
5019
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
5020
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
5021
  (yy_hold_char) = *++(yy_c_buf_p);
5022
5023
  return c;
5024
}
5025
#endif  /* ifndef YY_NO_INPUT */
5026
5027
/** Immediately switch to a different input stream.
5028
 * @param input_file A readable stream.
5029
 * 
5030
 * @note This function does not reset the start condition to @c INITIAL .
5031
 */
5032
    void yyrestart  (FILE * input_file )
5033
16.5k
{
5034
    
5035
16.5k
  if ( ! YY_CURRENT_BUFFER ){
5036
0
        yyensure_buffer_stack ();
5037
0
    YY_CURRENT_BUFFER_LVALUE =
5038
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
5039
0
  }
5040
5041
16.5k
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
5042
16.5k
  yy_load_buffer_state(  );
5043
16.5k
}
5044
5045
/** Switch to a different input buffer.
5046
 * @param new_buffer The new input buffer.
5047
 * 
5048
 */
5049
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
5050
162
{
5051
    
5052
  /* TODO. We should be able to replace this entire function body
5053
   * with
5054
   *    yypop_buffer_state();
5055
   *    yypush_buffer_state(new_buffer);
5056
     */
5057
162
  yyensure_buffer_stack ();
5058
162
  if ( YY_CURRENT_BUFFER == new_buffer )
5059
0
    return;
5060
5061
162
  if ( YY_CURRENT_BUFFER )
5062
81
    {
5063
    /* Flush out information for old buffer. */
5064
81
    *(yy_c_buf_p) = (yy_hold_char);
5065
81
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5066
81
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5067
81
    }
5068
5069
162
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5070
162
  yy_load_buffer_state(  );
5071
5072
  /* We don't actually know whether we did this switch during
5073
   * EOF (yywrap()) processing, but the only time this flag
5074
   * is looked at is after yywrap() is called, so it's safe
5075
   * to go ahead and always set it.
5076
   */
5077
162
  (yy_did_buffer_switch_on_eof) = 1;
5078
162
}
5079
5080
static void yy_load_buffer_state  (void)
5081
33.2k
{
5082
33.2k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5083
33.2k
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
5084
33.2k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
5085
33.2k
  (yy_hold_char) = *(yy_c_buf_p);
5086
33.2k
}
5087
5088
/** Allocate and initialize an input buffer state.
5089
 * @param file A readable stream.
5090
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
5091
 * 
5092
 * @return the allocated buffer state.
5093
 */
5094
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
5095
83
{
5096
83
  YY_BUFFER_STATE b;
5097
    
5098
83
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5099
83
  if ( ! b )
5100
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5101
5102
83
  b->yy_buf_size = size;
5103
5104
  /* yy_ch_buf has to be 2 characters longer than the size given because
5105
   * we need to put in 2 end-of-buffer characters.
5106
   */
5107
83
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
5108
83
  if ( ! b->yy_ch_buf )
5109
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
5110
5111
83
  b->yy_is_our_buffer = 1;
5112
5113
83
  yy_init_buffer( b, file );
5114
5115
83
  return b;
5116
83
}
5117
5118
/** Destroy the buffer.
5119
 * @param b a buffer created with yy_create_buffer()
5120
 * 
5121
 */
5122
    void yy_delete_buffer (YY_BUFFER_STATE  b )
5123
81
{
5124
    
5125
81
  if ( ! b )
5126
0
    return;
5127
5128
81
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
5129
81
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
5130
5131
81
  if ( b->yy_is_our_buffer )
5132
81
    yyfree( (void *) b->yy_ch_buf  );
5133
5134
81
  yyfree( (void *) b  );
5135
81
}
5136
5137
/* Initializes or reinitializes a buffer.
5138
 * This function is sometimes called more than once on the same buffer,
5139
 * such as during a yyrestart() or at EOF.
5140
 */
5141
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
5142
5143
16.6k
{
5144
16.6k
  int oerrno = errno;
5145
    
5146
16.6k
  yy_flush_buffer( b );
5147
5148
16.6k
  b->yy_input_file = file;
5149
16.6k
  b->yy_fill_buffer = 1;
5150
5151
    /* If b is the current buffer, then yy_init_buffer was _probably_
5152
     * called from yyrestart() or through yy_get_next_buffer.
5153
     * In that case, we don't want to reset the lineno or column.
5154
     */
5155
16.6k
    if (b != YY_CURRENT_BUFFER){
5156
83
        b->yy_bs_lineno = 1;
5157
83
        b->yy_bs_column = 0;
5158
83
    }
5159
5160
16.6k
        b->yy_is_interactive = 0;
5161
    
5162
16.6k
  errno = oerrno;
5163
16.6k
}
5164
5165
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
5166
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
5167
 * 
5168
 */
5169
    void yy_flush_buffer (YY_BUFFER_STATE  b )
5170
16.6k
{
5171
16.6k
      if ( ! b )
5172
0
    return;
5173
5174
16.6k
  b->yy_n_chars = 0;
5175
5176
  /* We always need two end-of-buffer characters.  The first causes
5177
   * a transition to the end-of-buffer state.  The second causes
5178
   * a jam in that state.
5179
   */
5180
16.6k
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
5181
16.6k
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
5182
5183
16.6k
  b->yy_buf_pos = &b->yy_ch_buf[0];
5184
5185
16.6k
  b->yy_at_bol = 1;
5186
16.6k
  b->yy_buffer_status = YY_BUFFER_NEW;
5187
5188
16.6k
  if ( b == YY_CURRENT_BUFFER )
5189
16.5k
    yy_load_buffer_state(  );
5190
16.6k
}
5191
5192
/** Pushes the new state onto the stack. The new state becomes
5193
 *  the current state. This function will allocate the stack
5194
 *  if necessary.
5195
 *  @param new_buffer The new state.
5196
 *  
5197
 */
5198
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
5199
0
{
5200
0
      if (new_buffer == NULL)
5201
0
    return;
5202
5203
0
  yyensure_buffer_stack();
5204
5205
  /* This block is copied from yy_switch_to_buffer. */
5206
0
  if ( YY_CURRENT_BUFFER )
5207
0
    {
5208
    /* Flush out information for old buffer. */
5209
0
    *(yy_c_buf_p) = (yy_hold_char);
5210
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5211
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5212
0
    }
5213
5214
  /* Only push if top exists. Otherwise, replace top. */
5215
0
  if (YY_CURRENT_BUFFER)
5216
0
    (yy_buffer_stack_top)++;
5217
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5218
5219
  /* copied from yy_switch_to_buffer. */
5220
0
  yy_load_buffer_state(  );
5221
0
  (yy_did_buffer_switch_on_eof) = 1;
5222
0
}
5223
5224
/** Removes and deletes the top of the stack, if present.
5225
 *  The next element becomes the new top.
5226
 *  
5227
 */
5228
void yypop_buffer_state (void)
5229
0
{
5230
0
      if (!YY_CURRENT_BUFFER)
5231
0
    return;
5232
5233
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
5234
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
5235
0
  if ((yy_buffer_stack_top) > 0)
5236
0
    --(yy_buffer_stack_top);
5237
5238
0
  if (YY_CURRENT_BUFFER) {
5239
0
    yy_load_buffer_state(  );
5240
0
    (yy_did_buffer_switch_on_eof) = 1;
5241
0
  }
5242
0
}
5243
5244
/* Allocates the stack if it does not exist.
5245
 *  Guarantees space for at least one push.
5246
 */
5247
static void yyensure_buffer_stack (void)
5248
164
{
5249
164
  yy_size_t num_to_alloc;
5250
    
5251
164
  if (!(yy_buffer_stack)) {
5252
5253
    /* First allocation is just for 2 elements, since we don't know if this
5254
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
5255
     * immediate realloc on the next call.
5256
         */
5257
2
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5258
2
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
5259
2
                (num_to_alloc * sizeof(struct yy_buffer_state*)
5260
2
                );
5261
2
    if ( ! (yy_buffer_stack) )
5262
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5263
5264
2
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5265
5266
2
    (yy_buffer_stack_max) = num_to_alloc;
5267
2
    (yy_buffer_stack_top) = 0;
5268
2
    return;
5269
2
  }
5270
5271
162
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5272
5273
    /* Increase the buffer to prepare for a possible push. */
5274
1
    yy_size_t grow_size = 8 /* arbitrary grow size */;
5275
5276
1
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
5277
1
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5278
1
                ((yy_buffer_stack),
5279
1
                num_to_alloc * sizeof(struct yy_buffer_state*)
5280
1
                );
5281
1
    if ( ! (yy_buffer_stack) )
5282
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5283
5284
    /* zero only the new slots.*/
5285
1
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5286
1
    (yy_buffer_stack_max) = num_to_alloc;
5287
1
  }
5288
162
}
5289
5290
/** Setup the input buffer state to scan directly from a user-specified character buffer.
5291
 * @param base the character buffer
5292
 * @param size the size in bytes of the character buffer
5293
 * 
5294
 * @return the newly allocated buffer state object.
5295
 */
5296
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
5297
0
{
5298
0
  YY_BUFFER_STATE b;
5299
    
5300
0
  if ( size < 2 ||
5301
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
5302
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
5303
    /* They forgot to leave room for the EOB's. */
5304
0
    return NULL;
5305
5306
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5307
0
  if ( ! b )
5308
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5309
5310
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
5311
0
  b->yy_buf_pos = b->yy_ch_buf = base;
5312
0
  b->yy_is_our_buffer = 0;
5313
0
  b->yy_input_file = NULL;
5314
0
  b->yy_n_chars = b->yy_buf_size;
5315
0
  b->yy_is_interactive = 0;
5316
0
  b->yy_at_bol = 1;
5317
0
  b->yy_fill_buffer = 0;
5318
0
  b->yy_buffer_status = YY_BUFFER_NEW;
5319
5320
0
  yy_switch_to_buffer( b  );
5321
5322
0
  return b;
5323
0
}
5324
5325
/** Setup the input buffer state to scan a string. The next call to yylex() will
5326
 * scan from a @e copy of @a str.
5327
 * @param yystr a NUL-terminated string to scan
5328
 * 
5329
 * @return the newly allocated buffer state object.
5330
 * @note If you want to scan bytes that may contain NUL values, then use
5331
 *       yy_scan_bytes() instead.
5332
 */
5333
YY_BUFFER_STATE yy_scan_string (const char * yystr )
5334
0
{
5335
    
5336
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
5337
0
}
5338
5339
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5340
 * scan from a @e copy of @a bytes.
5341
 * @param yybytes the byte buffer to scan
5342
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5343
 * 
5344
 * @return the newly allocated buffer state object.
5345
 */
5346
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
5347
0
{
5348
0
  YY_BUFFER_STATE b;
5349
0
  char *buf;
5350
0
  yy_size_t n;
5351
0
  int i;
5352
    
5353
  /* Get memory for full buffer, including space for trailing EOB's. */
5354
0
  n = (yy_size_t) (_yybytes_len + 2);
5355
0
  buf = (char *) yyalloc( n  );
5356
0
  if ( ! buf )
5357
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
5358
5359
0
  for ( i = 0; i < _yybytes_len; ++i )
5360
0
    buf[i] = yybytes[i];
5361
5362
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
5363
5364
0
  b = yy_scan_buffer( buf, n );
5365
0
  if ( ! b )
5366
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
5367
5368
  /* It's okay to grow etc. this buffer, and we should throw it
5369
   * away when we're done.
5370
   */
5371
0
  b->yy_is_our_buffer = 1;
5372
5373
0
  return b;
5374
0
}
5375
5376
#ifndef YY_EXIT_FAILURE
5377
0
#define YY_EXIT_FAILURE 2
5378
#endif
5379
5380
static void yynoreturn yy_fatal_error (const char* msg )
5381
0
{
5382
0
      fprintf( stderr, "%s\n", msg );
5383
0
  exit( YY_EXIT_FAILURE );
5384
0
}
5385
5386
/* Redefine yyless() so it works in section 3 code. */
5387
5388
#undef yyless
5389
#define yyless(n) \
5390
  do \
5391
    { \
5392
    /* Undo effects of setting up yytext. */ \
5393
        int yyless_macro_arg = (n); \
5394
        YY_LESS_LINENO(yyless_macro_arg);\
5395
    yytext[yyleng] = (yy_hold_char); \
5396
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
5397
    (yy_hold_char) = *(yy_c_buf_p); \
5398
    *(yy_c_buf_p) = '\0'; \
5399
    yyleng = yyless_macro_arg; \
5400
    } \
5401
  while ( 0 )
5402
5403
/* Accessor  methods (get/set functions) to struct members. */
5404
5405
/** Get the current line number.
5406
 * 
5407
 */
5408
int yyget_lineno  (void)
5409
0
{
5410
    
5411
0
    return yylineno;
5412
0
}
5413
5414
/** Get the input stream.
5415
 * 
5416
 */
5417
FILE *yyget_in  (void)
5418
0
{
5419
0
        return yyin;
5420
0
}
5421
5422
/** Get the output stream.
5423
 * 
5424
 */
5425
FILE *yyget_out  (void)
5426
0
{
5427
0
        return yyout;
5428
0
}
5429
5430
/** Get the length of the current token.
5431
 * 
5432
 */
5433
int yyget_leng  (void)
5434
0
{
5435
0
        return yyleng;
5436
0
}
5437
5438
/** Get the current token.
5439
 * 
5440
 */
5441
5442
char *yyget_text  (void)
5443
0
{
5444
0
        return yytext;
5445
0
}
5446
5447
/** Set the current line number.
5448
 * @param _line_number line number
5449
 * 
5450
 */
5451
void yyset_lineno (int  _line_number )
5452
0
{
5453
    
5454
0
    yylineno = _line_number;
5455
0
}
5456
5457
/** Set the input stream. This does not discard the current
5458
 * input buffer.
5459
 * @param _in_str A readable stream.
5460
 * 
5461
 * @see yy_switch_to_buffer
5462
 */
5463
void yyset_in (FILE *  _in_str )
5464
0
{
5465
0
        yyin = _in_str ;
5466
0
}
5467
5468
void yyset_out (FILE *  _out_str )
5469
0
{
5470
0
        yyout = _out_str ;
5471
0
}
5472
5473
int yyget_debug  (void)
5474
0
{
5475
0
        return yy_flex_debug;
5476
0
}
5477
5478
void yyset_debug (int  _bdebug )
5479
0
{
5480
0
        yy_flex_debug = _bdebug ;
5481
0
}
5482
5483
static int yy_init_globals (void)
5484
0
{
5485
        /* Initialization is the same as for the non-reentrant scanner.
5486
     * This function is called from yylex_destroy(), so don't allocate here.
5487
     */
5488
5489
0
    (yy_buffer_stack) = NULL;
5490
0
    (yy_buffer_stack_top) = 0;
5491
0
    (yy_buffer_stack_max) = 0;
5492
0
    (yy_c_buf_p) = NULL;
5493
0
    (yy_init) = 0;
5494
0
    (yy_start) = 0;
5495
5496
/* Defined in main.c */
5497
#ifdef YY_STDINIT
5498
    yyin = stdin;
5499
    yyout = stdout;
5500
#else
5501
0
    yyin = NULL;
5502
0
    yyout = NULL;
5503
0
#endif
5504
5505
    /* For future reference: Set errno on error, since we are called by
5506
     * yylex_init()
5507
     */
5508
0
    return 0;
5509
0
}
5510
5511
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
5512
int yylex_destroy  (void)
5513
0
{
5514
    
5515
    /* Pop the buffer stack, destroying each element. */
5516
0
  while(YY_CURRENT_BUFFER){
5517
0
    yy_delete_buffer( YY_CURRENT_BUFFER  );
5518
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
5519
0
    yypop_buffer_state();
5520
0
  }
5521
5522
  /* Destroy the stack itself. */
5523
0
  yyfree((yy_buffer_stack) );
5524
0
  (yy_buffer_stack) = NULL;
5525
5526
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
5527
     * yylex() is called, initialization will occur. */
5528
0
    yy_init_globals( );
5529
5530
0
    return 0;
5531
0
}
5532
5533
/*
5534
 * Internal utility routines.
5535
 */
5536
5537
#ifndef yytext_ptr
5538
static void yy_flex_strncpy (char* s1, const char * s2, int n )
5539
{
5540
    
5541
  int i;
5542
  for ( i = 0; i < n; ++i )
5543
    s1[i] = s2[i];
5544
}
5545
#endif
5546
5547
#ifdef YY_NEED_STRLEN
5548
static int yy_flex_strlen (const char * s )
5549
{
5550
  int n;
5551
  for ( n = 0; s[n]; ++n )
5552
    ;
5553
5554
  return n;
5555
}
5556
#endif
5557
5558
void *yyalloc (yy_size_t  size )
5559
168
{
5560
168
      return malloc(size);
5561
168
}
5562
5563
void *yyrealloc  (void * ptr, yy_size_t  size )
5564
1
{
5565
    
5566
  /* The cast to (char *) in the following accommodates both
5567
   * implementations that use char* generic pointers, and those
5568
   * that use void* generic pointers.  It works with the latter
5569
   * because both ANSI C and C++ allow castless assignment from
5570
   * any pointer type to void*, and deal with argument conversions
5571
   * as though doing an assignment.
5572
   */
5573
1
  return realloc(ptr, size);
5574
1
}
5575
5576
void yyfree (void * ptr )
5577
162
{
5578
162
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5579
162
}
5580
5581
#define YYTABLES_NAME "yytables"
5582
5583
#line 756 "src/maplexer.l"
5584
5585
5586
/*
5587
** Any extra C functions
5588
*/
5589
5590
int msyywrap() /* override */
5591
2.45k
{
5592
2.45k
  return(1);
5593
2.45k
}
5594
5595
0
int msyyerror(char *s) {
5596
0
  msSetError(MS_PARSEERR, "%s", "msyyparse()", s);
5597
0
  return(0);
5598
0
}
5599
5600
/* cleanup any open includes */
5601
10.4k
void msyycleanup_includes() {
5602
10.4k
  while( --include_stack_ptr >= 0 ) {
5603
0
    fclose(YY_CURRENT_BUFFER->yy_input_file);
5604
    msyy_delete_buffer( YY_CURRENT_BUFFER );
5605
0
    msyy_switch_to_buffer(include_stack[include_stack_ptr]);
5606
0
  }
5607
10.4k
}
5608