Coverage Report

Created: 2023-03-26 07:33

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