~ubuntu-branches/ubuntu/vivid/asn1c/vivid

« back to all changes in this revision

Viewing changes to libasn1parser/asn1p_l.c

  • Committer: Bazaar Package Importer
  • Author(s): W. Borgert
  • Date: 2006-09-23 13:50:05 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 dapper)
  • Revision ID: james.westby@ubuntu.com-20060923135005-rmay0d69e5vhunai
* New build, forgot to separate sources/diff.
* New release (closes: #327621).

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
/* A lexical scanner generated by flex */
21
21
 
22
22
/* Scanner skeleton version:
23
 
 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
24
 
 * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.4 1999/10/27 07:56:44 obrien Exp $
 
23
 * $Header: /cvsroot/asn1c/asn1c/libasn1parser/asn1p_l.c,v 1.21 2006/09/05 16:18:30 vlm Exp $
 
24
 * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar Exp $
25
25
 */
26
26
 
 
27
#if defined(__FreeBSD__)
 
28
#include <sys/cdefs.h>
 
29
#else
 
30
#define __unused
 
31
#endif
 
32
 
27
33
#define FLEX_SCANNER
28
34
#define YY_FLEX_MAJOR_VERSION 2
29
35
#define YY_FLEX_MINOR_VERSION 5
260
266
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
261
267
 
262
268
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
263
 
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
 
269
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
264
270
static void yy_flex_free YY_PROTO(( void * ));
265
271
 
266
272
#define yy_new_buffer yy_create_buffer
313
319
        *yy_cp = '\0'; \
314
320
        yy_c_buf_p = yy_cp;
315
321
 
316
 
#define YY_NUM_RULES 130
317
 
#define YY_END_OF_BUFFER 131
318
 
static yyconst short int yy_acclist[1259] =
 
322
#define YY_NUM_RULES 138
 
323
#define YY_END_OF_BUFFER 139
 
324
static yyconst short int yy_acclist[1264] =
319
325
    {   0,
320
 
      131,  129,  130,  124,  129,  130,  124,  130,  127,  129,
321
 
      130,   15,  129,  130,  127,  129,  130,  129,  130,  127,
322
 
      129,  130,  129,  130,  127,  129,  130,  129,  130,   29,
323
 
      129,  130,   28,  129,  130,  127,  129,  130,  129,  130,
324
 
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
325
 
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,
326
 
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
327
 
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,
328
 
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
329
 
      129,  130,  116,  117,  129,  130,  116,  117,  129,  130,
330
 
 
331
 
      116,  117,  129,  130,  116,  117,  129,  130,  116,  117,
332
 
      129,  130,  116,  117,  129,  130,  115,  129,  130,  127,
333
 
      129,  130,    5,  129,  130,    2,  130,    2,  129,  130,
334
 
        4,  129,  130,    7,    9,  129,  130,    7,  130,    9,
335
 
      129,  130,    9,  129,  130,   17,  129,  130,   17,  130,
336
 
       18,  129,  130,   12,  129,  130,   12,  130,   14,  129,
337
 
      130,   14,  129,  130,   10,  129,  130,   11,  129,  130,
338
 
       21,   23,  129,  130,   23,  129,  130,   24,  130,   21,
339
 
       22,   23,  129,  130,   21,   22,   23,  129,  130,  121,
340
 
      129,  130,  122,  129,  130,  122,  130,  129,  130,  123,
341
 
 
342
 
      129,  130,  124,   15,   15,  113,  114,    1,   27,  120,
343
 
        6,   28,  116,  117,  116,  117,  116,  117,  116,  117,
344
 
      116,  117,  116,  117,  117,  116,  117,  116,  117,  116,
345
 
      117,  116,  117,   39,  116,  117,  116,  117,  116,  117,
346
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
347
 
      116,  117,  116,  117,  117,  117,  116,  117,  116,  117,
348
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
349
 
      116,  117,  117,  116,  117,  116,  117,   84,  116,  117,
350
 
      116,  117,  117,  116,  117,  116,  117,  116,  117,  116,
351
 
      117,  117,  116,  117,  116,  117,  116,  117,  116,  117,
352
 
 
353
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
354
 
      117,  116,  117,  116,  117,  117,  117,  116,  117,  115,
355
 
        5,    3,    8,   17,   16,   12,   21,   21,   22,   21,
356
 
       22,  121,  122,  128,  113,  114,   27,  119,  118,  116,
357
 
      117,   31,  116,  117,   32,  116,  117,  116,  117,  116,
358
 
      117,  116,  117,   36,  116,  117,  116,  117,  116,  117,
359
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
360
 
      116,  117,  116,  117,  116,  117,   53,  116,  117,  116,
361
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
362
 
      117,  117,  117,  116,  117,  116,  117,  116,  117,  116,
363
 
 
364
 
      117,  116,  117,  116,  117,  116,  117,   76,  116,  117,
365
 
       77,  116,  117,  116,  117,  117,  116,  117,  116,  117,
366
 
      116,  117,  117,  116,  117,   87,  116,  117,  116,  117,
367
 
      116,  117,  116,  117,  117,  116,  117,  116,  117,  116,
368
 
      117,   95,  116,  117,  116,  117,  116,  117,  116,  117,
369
 
      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
370
 
      117,  116,  117,  116,  117,  117,  117,  117,  116,  117,
371
 
       13,   21,   22,   20,   21,   22,   26,   25,  116,  117,
372
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
373
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
374
 
 
375
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
376
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
377
 
      116,  117,   61,  116,  117,  117,  117,  116,  117,  116,
378
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
379
 
      117,  116,  117,  116,  117,   79,  116,  117,  117,  116,
380
 
      117,  116,  117,  116,  117,  117,  116,  117,  116,  117,
381
 
      116,  117,  116,  117,  117,   92,  116,  117,  116,  117,
382
 
      116,  117,   96,  116,  117,  116,  117,  116,  117,  116,
383
 
      117,  100,  116,  117,  102,  116,  117,  116,  117,  117,
384
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
385
 
 
386
 
      117,  117,  117,  112,  116,  117,   21,   22,  116,  117,
387
 
      116,  117,  116,  117,   35,  116,  117,  117,  116,  117,
388
 
      116,  117,  116,  117,   42,  116,  117,  116,  117,  116,
389
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
390
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
391
 
      117,  116,  117,   60,  116,  117,  117,  117,  117,  116,
392
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  116,
393
 
      117,  116,  117,  116,  117,  116,  117,  116,  117,  117,
394
 
      116,  117,   83,  116,  117,  116,  117,  117,  116,  117,
395
 
      116,  117,  116,  117,  116,  117,  117,  116,  117,  116,
396
 
 
397
 
      117,  116,  117,  116,  117,  117,  116,  117,  117,  104,
398
 
      116,  117,  116,  117,  116,  117,  117,  116,  117,  117,
399
 
      117,  117,  125,   21,   22,   30,  116,  117,  116,  117,
400
 
      116,  117,  117,  116,  117,  116,  117,   41,  116,  117,
401
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
402
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
403
 
       55,  116,  117,  116,  117,  116,  117,  116,  117,  116,
404
 
      117,  117,  117,  117,  116,  117,  116,  117,  116,  117,
405
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
406
 
      116,  117,  116,  117,  116,  117,  117,   81,  116,  117,
407
 
 
408
 
      116,  117,  117,  116,  117,  116,  117,  116,  117,  116,
409
 
      117,  117,  116,  117,  116,  117,   97,  116,  117,   98,
410
 
      116,  117,  117,  116,  117,  117,  105,  116,  117,  116,
411
 
      117,  117,  117,  117,  117,  117,   21,   22,  116,  117,
412
 
      116,  117,  117,   38,  116,  117,  116,  117,  116,  117,
413
 
      116,  117,  116,  117,   47,  116,  117,   48,  116,  117,
414
 
      116,  117,  116,  117,   51,  116,  117,  116,  117,  116,
415
 
      117,  116,  117,   57,  116,  117,  116,  117,  116,  117,
416
 
      117,  117,  117,  116,  117,  116,  117,   68,  116,  117,
417
 
       69,  116,  117,  116,  117,  116,  117,  116,  117,   73,
418
 
 
419
 
      116,  117,  116,  117,  116,  117,  116,  117,  117,  116,
420
 
      117,  117,   86,  116,  117,  116,  117,   89,  116,  117,
421
 
       91,  116,  117,  117,  116,  117,  116,  117,  117,  116,
422
 
      117,  117,  116,  117,  108,  117,  117,  117,  117,  117,
423
 
       21,   22,  116,  117,  116,  117,  117,  116,  117,  116,
424
 
      117,  116,  117,  116,  117,  116,  117,   50,  116,  117,
425
 
      116,  117,  116,  117,   56,  116,  117,  116,  117,   59,
426
 
      116,  117,  117,  117,  117,  117,  116,  117,   67,  116,
427
 
      117,   70,  116,  117,   71,  116,  117,  116,  117,  116,
428
 
      117,  117,  116,  117,  117,   85,  116,  117,  117,  116,
429
 
 
430
 
      117,  117,  116,  117,   94,  116,  117,  117,  116,  117,
431
 
      117,  116,  117,  117,  117,  117,  117,   21,   22,  116,
432
 
      117,   34,  116,  117,   37,  117,   40,  116,  117,   43,
433
 
      116,  117,  116,  117,  116,  117,  116,  117,  116,  117,
434
 
      116,  117,  116,  117,  117,  117,  117,   65,  117,  116,
435
 
      117,  116,  117,  116,  117,  117,  116,  117,  117,  117,
436
 
      116,  117,  117,  116,  117,   99,  117,  116,  117,  117,
437
 
      106,  116,  117,  117,  117,  117,  117,  126,   21,  116,
438
 
      117,   44,  116,  117,  116,  117,   46,  116,  117,  116,
439
 
      117,  116,  117,   54,  116,  117,  116,  117,  117,  117,
440
 
 
441
 
      117,   66,  116,  117,  116,  117,  116,  117,  117,  116,
442
 
      117,  117,  117,  116,  117,  117,  116,  117,  116,  117,
443
 
      117,  109,  117,  117,  117,  117,   21,   33,  116,  117,
444
 
       45,  116,  117,   49,  116,  117,  116,  117,  116,  117,
445
 
      117,  117,  117,  116,  117,  116,  117,  117,  116,  117,
446
 
      117,  117,  116,  117,  117,  116,  117,  116,  117,  117,
447
 
      117,  117,  117,   21,  116,  117,  116,  117,  117,  117,
448
 
      117,   72,  116,  117,   74,  116,  117,   75,  117,  116,
449
 
      117,  117,  117,  116,  117,  117,   93,  116,  117,  116,
450
 
      117,  117,  117,  117,  117,   21,  116,  117,   58,  116,
451
 
 
452
 
      117,   63,  117,  117,   64,  117,  116,  117,   80,  117,
453
 
      117,   88,  116,  117,  117,  116,  117,  101,  117,  117,
454
 
      117,  111,  117,   21,  116,  117,  117,   78,  116,  117,
455
 
      117,  117,  116,  117,  117,  110,  117,   21,  116,  117,
456
 
       62,  117,  117,   90,  117,  103,  116,  117,  107,  117,
457
 
       21,   52,  116,  117,   82,  117,   19,   21
 
326
      139,  137,  138,  132,  137,  138,  132,  138,  135,  137,
 
327
      138,   19,  137,  138,  135,  137,  138,  137,  138,  135,
 
328
      137,  138,  137,  138,  137,  138,  135,  137,  138,  137,
 
329
      138,   33,  137,  138,   32,  137,  138,  135,  137,  138,
 
330
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
 
331
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,
 
332
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
 
333
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,
 
334
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
 
335
      120,  121,  137,  138,  120,  121,  137,  138,  120,  121,
 
336
 
 
337
      137,  138,  120,  121,  137,  138,  120,  121,  137,  138,
 
338
      120,  121,  137,  138,  120,  121,  137,  138,  119,  137,
 
339
      138,  135,  137,  138,    9,  137,  138,    6,  138,    6,
 
340
      137,  138,    8,  137,  138,    8,  137,  138,   11,   13,
 
341
      137,  138,   11,  138,   13,  137,  138,   13,  137,  138,
 
342
       13,  137,  138,   21,  137,  138,   21,  138,   22,  137,
 
343
      138,   16,  137,  138,   16,  138,   18,  137,  138,   18,
 
344
      137,  138,   14,  137,  138,   15,  137,  138,   25,   27,
 
345
      137,  138,   27,  137,  138,   28,  138,   25,   26,   27,
 
346
      137,  138,   25,   26,   27,  137,  138,  130,  137,  138,
 
347
 
 
348
      130,  138,  137,  138,  126,  137,  138,  137,  138,  137,
 
349
      138,  125,  137,  138,  128,  137,  138,  129,  137,  138,
 
350
      127,  137,  138,  131,  137,  138,  132,   19,   19,  117,
 
351
      118,    5,   31,  124,   10,   34,   32,   34,  120,  121,
 
352
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
353
      121,  120,  121,  120,  121,  120,  121,  120,  121,   44,
 
354
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
355
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
356
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
357
      120,  121,  120,  121,  120,  121,  120,  121,  121,  120,
 
358
 
 
359
      121,  120,  121,   89,  120,  121,  120,  121,  121,  120,
 
360
      121,  120,  121,  120,  121,  120,  121,  121,  120,  121,
 
361
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
362
      120,  121,  120,  121,  121,  120,  121,  120,  121,  121,
 
363
      121,  120,  121,  119,    9,    7,    7,   12,   21,   20,
 
364
       16,   25,   25,   26,   25,   26,  130,    5,  125,  136,
 
365
      117,  118,   31,   34,  123,   34,  122,  120,  121,  121,
 
366
      120,  121,   36,  120,  121,   37,  120,  121,  120,  121,
 
367
      120,  121,  120,  121,   41,  120,  121,  120,  121,  120,
 
368
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
369
 
 
370
      121,  120,  121,  120,  121,  120,  121,   58,  120,  121,
 
371
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
372
      120,  121,  121,  121,  120,  121,  120,  121,  120,  121,
 
373
      120,  121,  120,  121,  120,  121,  120,  121,   81,  120,
 
374
      121,   82,  120,  121,  120,  121,  121,  120,  121,  120,
 
375
      121,  120,  121,  121,  120,  121,   92,  120,  121,  120,
 
376
      121,  120,  121,  120,  121,  121,  120,  121,  120,  121,
 
377
      120,  121,  100,  120,  121,  120,  121,  120,  121,  120,
 
378
      121,  120,  121,  120,  121,  120,  121,  121,  120,  121,
 
379
      120,  121,  120,  121,  121,  121,  121,  120,  121,  119,
 
380
 
 
381
        3,   17,   25,   26,   24,   25,   26,  125,  117,  118,
 
382
       30,   29,    2,    1,  120,  121,  120,  121,  120,  121,
 
383
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
384
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
385
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
386
      120,  121,  120,  121,  120,  121,  120,  121,   66,  120,
 
387
      121,  121,  121,  120,  121,  120,  121,  120,  121,  120,
 
388
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
389
      121,   84,  120,  121,  121,  120,  121,  120,  121,  120,
 
390
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
391
 
 
392
      121,   97,  120,  121,  120,  121,  120,  121,  101,  120,
 
393
      121,  120,  121,  120,  121,  120,  121,  105,  120,  121,
 
394
      107,  120,  121,  121,  120,  121,  120,  121,  120,  121,
 
395
      120,  121,  120,  121,  121,  121,  121,  116,  120,  121,
 
396
        3,   25,   26,  120,  121,  120,  121,  120,  121,   40,
 
397
      120,  121,  121,  120,  121,  120,  121,  120,  121,   47,
 
398
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
399
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
400
      120,  121,  120,  121,  120,  121,  120,  121,   65,  120,
 
401
      121,  121,  121,  121,  120,  121,  120,  121,  120,  121,
 
402
 
 
403
      120,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
404
      120,  121,  120,  121,  121,  120,  121,   88,  120,  121,
 
405
      120,  121,  121,  120,  121,  120,  121,  120,  121,  121,
 
406
      120,  121,  120,  121,  120,  121,  120,  121,  121,  121,
 
407
      108,  120,  121,  120,  121,  120,  121,  121,  120,  121,
 
408
      121,  121,  121,  133,   25,   26,   35,  120,  121,  120,
 
409
      121,  120,  121,  121,  120,  121,  120,  121,   46,  120,
 
410
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
411
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
412
      121,   60,  120,  121,  120,  121,  120,  121,  120,  121,
 
413
 
 
414
      120,  121,  121,  121,  121,  120,  121,  120,  121,  120,
 
415
      121,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
416
      121,  120,  121,  120,  121,  121,   86,  120,  121,  120,
 
417
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
418
      121,  120,  121,  120,  121,  102,  120,  121,  103,  120,
 
419
      121,  121,  121,  109,  120,  121,  120,  121,  121,  121,
 
420
      121,  121,  121,   25,   26,  120,  121,  120,  121,  121,
 
421
       43,  120,  121,  120,  121,  120,  121,  120,  121,  120,
 
422
      121,   52,  120,  121,   53,  120,  121,  120,  121,  120,
 
423
      121,   56,  120,  121,  120,  121,  120,  121,  120,  121,
 
424
 
 
425
       62,  120,  121,  120,  121,  120,  121,  121,  121,  121,
 
426
      120,  121,  120,  121,   73,  120,  121,   74,  120,  121,
 
427
      120,  121,  120,  121,  120,  121,   78,  120,  121,  120,
 
428
      121,  120,  121,  120,  121,  121,  120,  121,  121,   91,
 
429
      120,  121,  120,  121,   94,  120,  121,   96,  120,  121,
 
430
      121,  120,  121,  120,  121,  121,  121,  120,  121,  112,
 
431
      121,  121,  121,  121,  121,   25,   26,  120,  121,  120,
 
432
      121,  121,  120,  121,  120,  121,  120,  121,  120,  121,
 
433
      120,  121,   55,  120,  121,  120,  121,  120,  121,   61,
 
434
      120,  121,  120,  121,   64,  120,  121,  121,  121,  121,
 
435
 
 
436
      121,  120,  121,   72,  120,  121,   75,  120,  121,   76,
 
437
      120,  121,  120,  121,  120,  121,  121,  120,  121,  121,
 
438
       90,  120,  121,  121,  120,  121,  121,  120,  121,   99,
 
439
      120,  121,  121,  121,  120,  121,  121,  121,  121,  121,
 
440
       25,   26,  120,  121,   39,  120,  121,   42,  121,   45,
 
441
      120,  121,   48,  120,  121,  120,  121,  120,  121,  120,
 
442
      121,  120,  121,  120,  121,  121,  121,  121,   70,  121,
 
443
      120,  121,  120,  121,  120,  121,  121,  120,  121,  121,
 
444
      121,  120,  121,  121,  104,  121,  121,  110,  120,  121,
 
445
      121,  121,  121,  121,  134,   25,  120,  121,   49,  120,
 
446
 
 
447
      121,  120,  121,   51,  120,  121,  120,  121,  120,  121,
 
448
       59,  120,  121,  120,  121,  121,  121,  121,   71,  120,
 
449
      121,  120,  121,  120,  121,  121,  120,  121,  121,  121,
 
450
      120,  121,  121,  120,  121,  121,  113,  121,  121,  121,
 
451
      121,   25,   38,  120,  121,   50,  120,  121,   54,  120,
 
452
      121,  120,  121,  120,  121,  121,  121,  121,  120,  121,
 
453
      120,  121,  121,  120,  121,  121,  121,  120,  121,  121,
 
454
      120,  121,  121,  121,  121,  121,   25,  120,  121,  120,
 
455
      121,  121,  121,  121,   77,  120,  121,   79,  120,  121,
 
456
       80,  121,  120,  121,  121,  121,  120,  121,  121,   98,
 
457
 
 
458
      120,  121,  121,  121,  121,  121,   25,  120,  121,   63,
 
459
      120,  121,   68,  121,  121,   69,  121,  120,  121,   85,
 
460
      121,  121,   93,  120,  121,  121,  106,  121,  121,  121,
 
461
      115,  121,   25,  120,  121,  121,   83,  120,  121,  121,
 
462
      121,  121,  114,  121,   25,  120,  121,   67,  121,  121,
 
463
       95,  121,  111,  121,   25,   57,  120,  121,   87,  121,
 
464
       23,   25,    4
458
465
    } ;
459
466
 
460
 
static yyconst short int yy_accept[690] =
 
467
static yyconst short int yy_accept[743] =
461
468
    {   0,
462
469
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
463
 
        1,    1,    1,    1,    1,    2,    4,    7,    9,   12,
464
 
       15,   18,   20,   23,   25,   28,   30,   33,   36,   39,
465
 
       41,   45,   49,   53,   57,   61,   65,   69,   73,   77,
466
 
       81,   85,   89,   93,   97,  101,  105,  109,  113,  117,
467
 
      120,  123,  126,  128,  131,  134,  138,  140,  143,  146,
468
 
      149,  151,  154,  157,  159,  162,  165,  168,  171,  175,
469
 
      178,  180,  185,  190,  193,  196,  198,  200,  203,  203,
470
 
      204,  205,  206,  206,  207,  207,  208,  208,  208,  209,
471
 
      210,  211,  212,  213,  213,  215,  217,  219,  221,  223,
472
 
 
473
 
      225,  226,  228,  230,  232,  234,  237,  239,  241,  243,
474
 
      245,  247,  249,  251,  253,  255,  256,  257,  259,  261,
475
 
      263,  265,  267,  269,  271,  273,  274,  276,  278,  281,
476
 
      283,  284,  286,  288,  290,  292,  293,  295,  297,  299,
477
 
      301,  303,  305,  307,  309,  311,  312,  314,  316,  317,
478
 
      318,  320,  321,  321,  321,  321,  322,  323,  324,  325,
479
 
      326,  327,  327,  328,  330,  332,  333,  334,  335,  335,
480
 
      336,  337,  337,  337,  338,  339,  340,  342,  345,  348,
481
 
      350,  352,  354,  357,  359,  361,  363,  365,  367,  369,
482
 
      371,  373,  375,  377,  380,  382,  384,  386,  388,  390,
483
 
 
484
 
      392,  393,  394,  396,  398,  400,  402,  404,  406,  408,
485
 
      411,  414,  416,  417,  419,  421,  423,  424,  426,  429,
486
 
      431,  433,  435,  436,  438,  440,  442,  445,  447,  449,
487
 
      451,  453,  455,  457,  459,  460,  462,  464,  466,  467,
488
 
      468,  469,  471,  471,  471,  472,  474,  477,  477,  478,
489
 
      479,  481,  483,  485,  487,  489,  491,  493,  495,  497,
490
 
      499,  501,  503,  505,  507,  509,  511,  513,  515,  517,
491
 
      519,  521,  523,  526,  527,  528,  530,  532,  534,  536,
492
 
      538,  540,  542,  544,  546,  549,  550,  552,  554,  556,
493
 
      557,  559,  561,  563,  565,  566,  569,  571,  573,  576,
494
 
 
495
 
      578,  580,  582,  585,  588,  590,  591,  593,  595,  597,
496
 
      599,  601,  602,  603,  604,  607,  607,  607,  607,  607,
497
 
      609,  611,  613,  615,  618,  619,  621,  623,  625,  628,
498
 
      630,  632,  634,  636,  638,  640,  642,  644,  646,  648,
499
 
      650,  652,  654,  657,  658,  659,  660,  662,  664,  666,
500
 
      668,  670,  672,  674,  676,  678,  680,  681,  683,  686,
501
 
      688,  689,  691,  693,  695,  697,  698,  700,  702,  704,
502
 
      706,  707,  709,  710,  713,  715,  717,  718,  720,  721,
503
 
      722,  723,  723,  723,  724,  726,  729,  731,  733,  734,
504
 
      736,  738,  741,  743,  745,  747,  749,  751,  753,  755,
505
 
 
506
 
      757,  759,  761,  764,  766,  768,  770,  772,  773,  774,
507
 
      775,  777,  779,  781,  783,  785,  787,  789,  791,  793,
508
 
      795,  797,  798,  801,  803,  804,  806,  808,  810,  812,
509
 
      813,  815,  817,  820,  823,  824,  826,  827,  830,  832,
510
 
      833,  834,  835,  836,  837,  837,  837,  839,  841,  843,
511
 
      844,  847,  849,  851,  853,  855,  858,  861,  863,  865,
512
 
      868,  870,  872,  874,  877,  879,  881,  882,  883,  884,
513
 
      886,  888,  891,  894,  896,  898,  900,  903,  905,  907,
514
 
      909,  910,  912,  913,  916,  918,  921,  924,  925,  927,
515
 
      929,  930,  932,  933,  935,  937,  938,  939,  940,  941,
516
 
 
517
 
      941,  943,  945,  947,  948,  950,  952,  954,  956,  958,
518
 
      961,  963,  965,  968,  970,  973,  974,  975,  976,  977,
519
 
      979,  982,  985,  988,  990,  992,  993,  995,  996,  999,
520
 
     1000, 1002, 1003, 1005, 1008, 1009, 1011, 1012, 1014, 1015,
521
 
     1016, 1017, 1018, 1018, 1018, 1020, 1022, 1025, 1027, 1030,
522
 
     1033, 1035, 1037, 1039, 1041, 1043, 1045, 1046, 1047, 1048,
523
 
     1050, 1052, 1054, 1056, 1057, 1059, 1060, 1061, 1063, 1064,
524
 
     1066, 1068, 1070, 1071, 1074, 1075, 1076, 1077, 1078, 1078,
525
 
     1079, 1080, 1082, 1085, 1087, 1090, 1092, 1094, 1097, 1099,
526
 
     1100, 1101, 1102, 1105, 1107, 1109, 1110, 1112, 1113, 1114,
527
 
 
528
 
     1116, 1117, 1119, 1121, 1122, 1124, 1125, 1126, 1127, 1128,
529
 
     1131, 1134, 1137, 1139, 1141, 1142, 1143, 1144, 1146, 1148,
530
 
     1149, 1151, 1152, 1153, 1155, 1156, 1158, 1160, 1161, 1162,
531
 
     1163, 1164, 1165, 1167, 1169, 1170, 1171, 1172, 1175, 1178,
532
 
     1180, 1182, 1183, 1184, 1186, 1187, 1190, 1192, 1193, 1194,
533
 
     1195, 1196, 1197, 1199, 1202, 1204, 1205, 1207, 1209, 1211,
534
 
     1212, 1215, 1216, 1218, 1220, 1221, 1222, 1224, 1225, 1227,
535
 
     1228, 1231, 1232, 1233, 1235, 1236, 1238, 1239, 1241, 1243,
536
 
     1244, 1246, 1249, 1251, 1252, 1255, 1257, 1259, 1259
 
470
        1,    1,    1,    1,    1,    1,    1,    2,    4,    7,
 
471
        9,   12,   15,   18,   20,   23,   25,   27,   30,   32,
 
472
       35,   38,   41,   43,   47,   51,   55,   59,   63,   67,
 
473
       71,   75,   79,   83,   87,   91,   95,   99,  103,  107,
 
474
      111,  115,  119,  122,  125,  128,  130,  133,  136,  139,
 
475
      143,  145,  148,  151,  154,  157,  159,  162,  165,  167,
 
476
      170,  173,  176,  179,  183,  186,  188,  193,  198,  201,
 
477
      203,  205,  208,  210,  212,  215,  218,  221,  224,  227,
 
478
      227,  228,  229,  230,  230,  231,  231,  232,  232,  232,
 
479
 
 
480
      232,  233,  234,  235,  236,  236,  237,  237,  239,  239,
 
481
      239,  241,  243,  245,  247,  249,  251,  252,  254,  256,
 
482
      258,  260,  263,  265,  267,  269,  271,  273,  275,  277,
 
483
      279,  281,  282,  283,  285,  287,  289,  291,  293,  295,
 
484
      297,  299,  300,  302,  304,  307,  309,  310,  312,  314,
 
485
      316,  318,  319,  321,  323,  325,  327,  329,  331,  333,
 
486
      335,  336,  338,  340,  341,  342,  344,  344,  345,  345,
 
487
      345,  345,  346,  347,  348,  349,  350,  351,  352,  352,
 
488
      353,  355,  357,  358,  359,  359,  360,  361,  361,  361,
 
489
      362,  362,  363,  363,  363,  363,  363,  365,  366,  367,
 
490
 
 
491
      367,  368,  370,  371,  373,  376,  379,  381,  383,  383,
 
492
      385,  388,  390,  392,  394,  396,  398,  400,  402,  404,
 
493
      406,  408,  411,  413,  415,  417,  419,  421,  423,  424,
 
494
      425,  427,  429,  431,  433,  435,  437,  439,  442,  445,
 
495
      447,  448,  450,  452,  454,  455,  457,  460,  462,  464,
 
496
      466,  467,  469,  471,  473,  476,  478,  480,  482,  484,
 
497
      486,  488,  489,  491,  493,  495,  496,  497,  498,  500,
 
498
      501,  501,  501,  502,  503,  505,  508,  509,  509,  510,
 
499
      511,  512,  513,  514,  515,  515,  515,  515,  517,  519,
 
500
      521,  523,  525,  527,  529,  531,  533,  535,  537,  539,
 
501
 
 
502
      541,  543,  545,  547,  549,  551,  553,  555,  557,  559,
 
503
      562,  563,  564,  566,  568,  570,  572,  574,  576,  578,
 
504
      580,  582,  585,  586,  588,  590,  592,  593,  595,  597,
 
505
      599,  601,  602,  605,  607,  609,  612,  614,  616,  618,
 
506
      621,  624,  625,  627,  629,  631,  633,  635,  636,  637,
 
507
      638,  641,  641,  641,  641,  641,  642,  644,  644,  646,
 
508
      648,  650,  653,  654,  656,  658,  660,  663,  665,  667,
 
509
      669,  671,  673,  675,  677,  679,  681,  683,  685,  687,
 
510
      689,  692,  693,  694,  695,  697,  699,  701,  703,  705,
 
511
      707,  709,  711,  713,  715,  716,  718,  721,  723,  724,
 
512
 
 
513
      726,  726,  728,  730,  731,  733,  735,  737,  739,  740,
 
514
      741,  744,  746,  748,  749,  751,  752,  753,  754,  754,
 
515
      754,  755,  757,  757,  760,  762,  764,  765,  767,  769,
 
516
      772,  774,  776,  778,  780,  782,  784,  786,  788,  790,
 
517
      792,  795,  797,  799,  801,  803,  804,  805,  806,  808,
 
518
      810,  812,  814,  816,  818,  820,  822,  824,  826,  826,
 
519
      827,  830,  832,  833,  835,  837,  839,  841,  842,  844,
 
520
      846,  849,  852,  853,  854,  857,  859,  860,  861,  862,
 
521
      863,  864,  864,  864,  866,  866,  868,  870,  871,  874,
 
522
      876,  878,  880,  882,  885,  888,  890,  892,  895,  897,
 
523
 
 
524
      899,  901,  904,  906,  908,  909,  910,  911,  913,  915,
 
525
      918,  921,  923,  925,  927,  930,  932,  934,  936,  937,
 
526
      939,  940,  943,  945,  948,  951,  952,  954,  956,  957,
 
527
      958,  960,  962,  963,  964,  965,  966,  966,  968,  968,
 
528
      970,  972,  973,  975,  977,  979,  981,  983,  986,  988,
 
529
      990,  993,  995,  998,  999, 1000, 1001, 1002, 1004, 1007,
 
530
     1010, 1013, 1015, 1017, 1018, 1020, 1021, 1024, 1025, 1027,
 
531
     1028, 1030, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1041,
 
532
     1041, 1041, 1043, 1043, 1045, 1048, 1050, 1053, 1056, 1058,
 
533
     1060, 1062, 1062, 1064, 1066, 1067, 1068, 1069, 1071, 1073,
 
534
 
 
535
     1075, 1077, 1078, 1080, 1081, 1082, 1084, 1085, 1085, 1087,
 
536
     1088, 1091, 1092, 1093, 1094, 1095, 1095, 1096, 1097, 1097,
 
537
     1099, 1102, 1104, 1107, 1109, 1111, 1114, 1116, 1117, 1118,
 
538
     1119, 1122, 1124, 1126, 1127, 1129, 1130, 1131, 1133, 1134,
 
539
     1136, 1137, 1139, 1140, 1141, 1142, 1143, 1143, 1146, 1149,
 
540
     1152, 1154, 1156, 1157, 1158, 1159, 1161, 1163, 1164, 1166,
 
541
     1167, 1168, 1170, 1171, 1173, 1174, 1175, 1176, 1177, 1178,
 
542
     1178, 1180, 1182, 1183, 1184, 1185, 1188, 1191, 1193, 1195,
 
543
     1196, 1197, 1199, 1200, 1203, 1204, 1205, 1206, 1207, 1208,
 
544
     1208, 1210, 1213, 1215, 1216, 1218, 1220, 1222, 1223, 1226,
 
545
 
 
546
     1227, 1229, 1230, 1231, 1233, 1234, 1234, 1236, 1237, 1240,
 
547
     1241, 1242, 1243, 1245, 1246, 1246, 1248, 1250, 1251, 1253,
 
548
     1255, 1256, 1256, 1259, 1261, 1263, 1263, 1263, 1263, 1263,
 
549
     1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
 
550
     1264, 1264
537
551
    } ;
538
552
 
539
553
static yyconst int yy_ec[256] =
540
554
    {   0,
541
555
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
542
 
        4,    4,    4,    1,    1,    1,    1,    1,    1,    1,
 
556
        4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
543
557
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
544
 
        1,    2,    5,    6,    1,    1,    1,    7,    8,    9,
545
 
        9,   10,    1,   11,   12,   13,   14,   15,   16,   17,
546
 
       17,   18,   19,   20,   17,   21,   22,   23,   24,   25,
547
 
       26,    1,    1,    9,   27,   28,   29,   30,   31,   32,
548
 
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
549
 
       43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
550
 
        9,    1,   53,   54,    1,    1,   55,   56,   57,   58,
 
558
        1,    2,    6,    7,    1,    1,    1,    8,    9,   10,
 
559
       10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
 
560
       19,   20,   21,   22,   19,   23,   24,   25,   26,   27,
 
561
       28,   29,    1,   10,   30,   31,   32,   33,   34,   35,
 
562
       36,   37,   38,   39,   40,   41,   42,   43,   44,   45,
 
563
       46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
 
564
       56,    1,   57,   58,    1,    1,   59,   60,   61,   62,
551
565
 
552
 
       59,   60,   61,   62,   63,   64,   60,   65,   66,   67,
553
 
       68,   69,   60,   70,   71,   72,   73,   74,   60,   75,
554
 
       60,   76,   77,   78,   79,    1,    1,    1,    1,    1,
 
566
       63,   64,   65,   66,   67,   68,   64,   69,   70,   71,
 
567
       72,   73,   64,   74,   75,   76,   77,   78,   64,   79,
 
568
       64,   80,   81,   82,   83,    1,    1,    1,    1,    1,
555
569
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
556
570
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
557
571
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
568
582
        1,    1,    1,    1,    1
569
583
    } ;
570
584
 
571
 
static yyconst int yy_meta[80] =
572
 
    {   0,
573
 
        1,    2,    3,    3,    1,    4,    5,    6,    1,    1,
574
 
        7,    8,    1,    1,    9,    9,    9,    9,    9,    9,
575
 
        9,    9,   10,    1,    1,   10,   11,   11,   11,   11,
576
 
       11,   11,   12,   12,   12,   12,   12,   12,   12,   12,
577
 
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
578
 
       12,   12,    1,    1,   12,   12,   12,   12,   12,   12,
579
 
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
580
 
       12,   12,   12,   12,   12,   12,   13,    1,   14
581
 
    } ;
582
 
 
583
 
static yyconst short int yy_base[709] =
584
 
    {   0,
585
 
        0,    0,   77,   79,   82,   83,   81,   92,   85,   91,
586
 
      170,  249,  120,  126,  852,  843,   97,  117,  837,  835,
587
 
      321,  132, 4544,  133,  828,   94, 4544,  170,  814, 4544,
588
 
      386,  178,  193,  239,  250,  266,  277,  118,  293,  436,
589
 
      437,  453,  459,  474,  480,  497,  500,  515,  523,    0,
590
 
      569,    0, 4544, 4544,  822, 4544, 4544,  811,  814,    0,
591
 
        0,  803,    0,    0,  784, 4544, 4544, 4544,    0, 4544,
592
 
     4544,  591,  669,    0,  135,  140,  107, 4544,  800,  208,
593
 
        0,  797,  791,    0,  174,    0,  604,  784, 4544,  606,
594
 
      778, 4544,  614,  764,  609,  610,  625,  659,  626,  658,
595
 
 
596
 
        0,  674,  687,  690,  698,  713,  716,  734,  731,  747,
597
 
      755,  770,  776,  773,  791,  721,  731,  802,  808,  819,
598
 
      825,  836,  847,  853,  864,  718,  877,  880,  893,  901,
599
 
      718,  904,  917,  928,  941,  717,  957,  963,  974,  980,
600
 
      991,  997, 1008, 1014, 1025,  712, 1031, 1047,  705,   32,
601
 
     1046,    0, 1093, 1105, 1117,    0, 4544, 4544,    0, 4544,
602
 
        0,  741,    0,  726,  236,    0,  234, 4544,  753,    0,
603
 
        0,   78,  730, 1083, 4544, 4544, 1112, 1113, 1128, 1129,
604
 
     1144, 1152, 1155, 1168, 1176, 1184, 1192, 1205, 1213, 1216,
605
 
     1237, 1238, 1253, 1259, 1270, 1276, 1287, 1293, 1304, 1315,
606
 
 
607
 
      693,  681, 1328, 1336, 1339, 1354, 1357, 1360, 1385, 1382,
608
 
     1388, 1403,  690, 1406, 1421, 1427,  689, 1438, 1449, 1455,
609
 
     1466, 1477,  679, 1488, 1494, 1505, 1511, 1526, 1527, 1542,
610
 
     1553, 1559, 1574, 1580,  683, 1591, 1602, 1615,  661,  672,
611
 
      661, 1618, 1664, 1672, 4544,   69,  680,  666, 4544, 4544,
612
 
     1631, 1667, 1673, 1688, 1689, 1706, 1705, 1722, 1728, 1739,
613
 
     1750, 1766, 1763, 1774, 1787, 1790, 1805, 1811, 1822, 1828,
614
 
     1839, 1854, 1860,  647,  651, 1871, 1877, 1892, 1893, 1908,
615
 
     1914, 1929, 1942, 1950, 1958,  641, 1973, 1976, 1989,  651,
616
 
     1997, 2012, 2015, 2033,  631, 2030, 2036, 2053, 2059, 2070,
617
 
 
618
 
     2076, 2087, 2093, 2104, 2110,  619, 2125, 2126, 2143, 2142,
619
 
     2159,  631,  621,  632, 2160, 2206,  824, 2214, 2226,   86,
620
 
     2211, 2226, 2232, 2243,  615, 2249, 2264, 2267, 2275, 2288,
621
 
     2296, 2304, 2317, 2325, 2338, 2346, 2354, 2362, 2377, 2383,
622
 
     2394, 2400, 2415,  629,  608,  592, 2416, 2436, 2433, 2454,
623
 
     2453, 2469, 2475, 2486, 2492, 2507,  598, 2510, 2513, 2530,
624
 
      588, 2531, 2546, 2552, 2563,  604, 2576, 2579, 2587, 2600,
625
 
      588, 2611,  587, 2617, 2632, 2633,  577, 2648,  572,  569,
626
 
      575,  239, 2681, 4544,   78, 2666, 2683, 2686,  576, 2689,
627
 
     2706, 2707, 2727, 2733, 2744, 2750, 2765, 2771, 2788, 2794,
628
 
 
629
 
     2805, 2811, 2822, 2828, 2839, 2845, 2861,  553,  556,  548,
630
 
     2862, 2877, 2883, 2894, 2900, 2915, 2921, 2932, 2947, 2953,
631
 
     2964,  553, 2975, 2981,  565, 2992, 2998, 3009, 3022,  538,
632
 
     3030, 3045, 3048, 3051,  530, 3066,  508, 3069, 3072,  523,
633
 
      511,  509,  520,  518, 3118, 3130,  536, 3115, 3128,  508,
634
 
     3131, 3146, 3152, 3163, 3169, 3180, 3186, 3197, 3208, 3214,
635
 
     3225, 3231, 3242, 3253, 3259, 3270,  159,  529,  502, 3276,
636
 
     3287, 3298, 3304, 3315, 3321, 3336, 3337, 3352, 3358, 3369,
637
 
      523, 3375,  507, 3386, 3397, 3403, 3414,  499, 3420, 3435,
638
 
      493, 3441,  514, 3457,    0,  491,  497,  475,  504, 3490,
639
 
 
640
 
      126, 3485, 3486,  475, 3501, 3509, 3512, 3525, 3533, 3541,
641
 
     3554, 3562, 3570, 3578, 3586,  458,  447,  447,  452, 3599,
642
 
     3607, 3610, 3623, 3631, 3634,  437, 3647,  432, 3655,  427,
643
 
     3663,  437, 3676, 3679,  433, 3687,  420, 3700,  423,  423,
644
 
      435,  401, 3733,  466,  190, 3718, 3729,    0, 3735, 3746,
645
 
     3752, 3767, 3768, 3783, 3789, 3800,  402,  408,  396,    0,
646
 
     3806, 3817, 3828,  377, 3834,  369,  355, 3845,  366, 3856,
647
 
        0, 3862,  340, 3873,  348,  355,  327,  304,  530, 4544,
648
 
      317, 3879, 3890, 3901, 3907, 3918, 3929, 3940, 3946,  281,
649
 
      285,  279, 3957, 3963, 3974,  274, 3980,  276,  267, 3991,
650
 
 
651
 
      262, 3997, 4008,  267,    0,  253,  252,  253,  273, 4014,
652
 
     4025, 4031, 4042, 4048,  245,  265,  242, 4059, 4065,  246,
653
 
     4080,  234,  236, 4083,  228, 4086, 4103,  229,  225,  228,
654
 
      220,  245, 4106, 4109,  223,  220,  221, 4126, 4127,    0,
655
 
     4142,  210,  200, 4143,  205, 4158, 4164,  203,  183,  178,
656
 
      183,  193, 4175, 4186,    0,  166,    0, 4192,    0,  154,
657
 
     4207,  148, 4210,    0,  147,  147,    0,  163, 4218,  141,
658
 
     4233,  101,  106, 4234,  102,    0,  116, 4249,    0,   62,
659
 
        0, 4255,    0,   69, 4266,    0,    0, 4544, 4313, 4327,
660
 
     4341, 4355, 4369, 4383, 4397, 4410, 4414, 4426, 4440, 4454,
661
 
 
662
 
     4466, 4478, 4490, 4495, 4500, 4505, 4516, 4529
663
 
    } ;
664
 
 
665
 
static yyconst short int yy_def[709] =
666
 
    {   0,
667
 
      688,    1,  689,  689,  690,  690,  691,  691,  692,  692,
668
 
      693,  693,  694,  694,  688,  688,  688,  688,  688,  695,
669
 
      688,  696,  688,  688,  688,  688,  688,  688,  688,  688,
670
 
      688,   31,   31,   31,   31,   31,   31,   31,   31,   31,
671
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,  697,
672
 
      688,  698,  688,  688,  688,  688,  688,  688,  688,  699,
673
 
      699,  688,  700,  700,  688,  688,  688,  688,  701,  688,
674
 
      688,  702,  702,  703,  688,  688,   21,  688,  688,  688,
675
 
      695,  695,  688,  704,  688,  705,  696,  696,  688,  688,
676
 
      688,  688,  688,  688,   31,   31,   31,   31,   31,   31,
677
 
 
678
 
      706,   31,   31,   31,   31,   31,   31,   31,   31,   31,
679
 
       31,   31,   31,   31,   31,  706,  706,   31,   31,   31,
680
 
       31,   31,   31,   31,   31,  706,   31,   31,   31,   31,
681
 
      706,   31,   31,   31,   31,  706,   31,   31,   31,   31,
682
 
       31,   31,   31,   31,   31,  706,   31,   31,  706,  706,
683
 
       31,  697,  688,  688,  688,  698,  688,  688,  699,  688,
684
 
      700,  688,  701,   73,   73,  703,  688,  688,  688,  704,
685
 
      705,  688,  688,  688,  688,  688,   31,   31,   31,   31,
686
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
687
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
688
 
 
689
 
      706,  706,   31,   31,   31,   31,   31,   31,   31,   31,
690
 
       31,   31,  706,   31,   31,   31,  706,   31,   31,   31,
691
 
       31,   31,  706,   31,   31,   31,   31,   31,   31,   31,
692
 
       31,   31,   31,   31,  706,   31,   31,   31,  706,  706,
693
 
      706,   31,  688,  688,  688,   73,   73,  688,  688,  688,
694
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
695
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
696
 
       31,   31,   31,  706,  706,   31,   31,   31,   31,   31,
697
 
       31,   31,   31,   31,   31,  706,   31,   31,   31,  706,
698
 
       31,   31,   31,   31,  706,   31,   31,   31,   31,   31,
699
 
 
700
 
       31,   31,   31,   31,   31,  706,   31,   31,   31,   31,
701
 
       31,  706,  706,  706,   31,  688,  707,  688,  688,   73,
702
 
       31,   31,   31,   31,  706,   31,   31,   31,   31,   31,
703
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
704
 
       31,   31,   31,  706,  706,  706,   31,   31,   31,   31,
705
 
       31,   31,   31,   31,   31,   31,  706,   31,   31,   31,
706
 
      706,   31,   31,   31,   31,  706,   31,   31,   31,   31,
707
 
      706,   31,  706,   31,   31,   31,  706,   31,  706,  706,
708
 
      706,  688,  688,  688,   73,   31,   31,   31,  706,   31,
709
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
710
 
 
711
 
       31,   31,   31,   31,   31,   31,   31,  706,  706,  706,
712
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
713
 
       31,  706,   31,   31,  706,   31,   31,   31,   31,  706,
714
 
       31,   31,   31,   31,  706,   31,  706,   31,   31,  706,
715
 
      706,  706,  706,  706,  688,  688,   73,   31,   31,  706,
716
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
717
 
       31,   31,   31,   31,   31,   31,  706,  706,  706,   31,
718
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
719
 
      706,   31,  706,   31,   31,   31,   31,  706,   31,   31,
720
 
      706,   31,  706,   31,  706,  706,  706,  706,  706,  688,
721
 
 
722
 
       73,   31,   31,  706,   31,   31,   31,   31,   31,   31,
723
 
       31,   31,   31,   31,   31,  706,  706,  706,  706,   31,
724
 
       31,   31,   31,   31,   31,  706,   31,  706,   31,  706,
725
 
       31,  706,   31,   31,  706,   31,  706,   31,  706,  706,
726
 
      706,  706,  688,  708,   73,   31,   31,  706,   31,   31,
727
 
       31,   31,   31,   31,   31,   31,  706,  706,  706,  706,
728
 
       31,   31,   31,  706,   31,  706,  706,   31,  706,   31,
729
 
      706,   31,  706,   31,  706,  706,  706,  706,  688,  688,
730
 
      701,   31,   31,   31,   31,   31,   31,   31,   31,  706,
731
 
      706,  706,   31,   31,   31,  706,   31,  706,  706,   31,
732
 
 
733
 
      706,   31,   31,  706,  706,  706,  706,  706,  701,   31,
734
 
       31,   31,   31,   31,  706,  706,  706,   31,   31,  706,
735
 
       31,  706,  706,   31,  706,   31,   31,  706,  706,  706,
736
 
      706,  701,   31,   31,  706,  706,  706,   31,   31,  706,
737
 
       31,  706,  706,   31,  706,   31,   31,  706,  706,  706,
738
 
      706,  701,   31,   31,  706,  706,  706,   31,  706,  706,
739
 
       31,  706,   31,  706,  706,  706,  706,  701,   31,  706,
740
 
       31,  706,  706,   31,  706,  706,  701,   31,  706,  706,
741
 
      706,   31,  706,  701,   31,  706,  701,    0,  688,  688,
742
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
743
 
 
744
 
      688,  688,  688,  688,  688,  688,  688,  688
745
 
    } ;
746
 
 
747
 
static yyconst short int yy_nxt[4624] =
748
 
    {   0,
749
 
       16,   17,   18,   17,   19,   20,   21,   22,   23,   16,
750
 
       23,   24,   25,   26,   27,   28,   28,   28,   28,   28,
751
 
       28,   28,   29,   19,   30,   30,   31,   32,   33,   34,
752
 
       35,   36,   37,   38,   39,   38,   38,   38,   40,   41,
753
 
       42,   43,   38,   44,   45,   46,   47,   48,   49,   38,
754
 
       38,   38,   19,   19,   50,   50,   50,   50,   50,   50,
755
 
       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
756
 
       50,   50,   50,   50,   50,   50,   51,   19,   23,   53,
757
 
       54,   53,   54,   61,   57,   57,   62,   64,   55,  240,
758
 
       55,   58,   58,   64,   61,   59,   59,   62,   80,   80,
759
 
 
760
 
       80,   79,  241,   92,   79,  249,  687,   65,  164,  320,
761
 
       66,  250,  447,   65,  688,  385,   66,  164,   80,   80,
762
 
       80,   75,   76,   75,   79,  164,   77,   75,   76,   75,
763
 
      688,  686,   77,   87,   87,   87,  167,  167,  167,   79,
764
 
       79,  167,  167,  167,   89,   95,   87,   87,   90,   90,
765
 
       90,   90,   90,   90,   90,   95,  684,   95,  545,   95,
766
 
      688,   67,  683,   68,   95,  164,  681,   67,  680,   68,
767
 
       69,   70,   71,   70,   69,   69,   69,   69,   69,   69,
768
 
       69,   69,   69,   69,   93,   93,   93,   93,   93,   93,
769
 
       93,   93,   69,   69,   69,   69,   30,   83,   78,  679,
770
 
 
771
 
       73,  581,   30,  516,   78,   95,  677,  676,  102,   80,
772
 
       80,   80,  103,  675,  673,   95,  104,   95,  105,   95,
773
 
       95,  517,   69,   69,   95,  672,  107,   85,  106,  164,
774
 
      108,  670,   95,  109,   95,  167,  167,  167,  668,   95,
775
 
      382,  382,  382,  667,  666,  665,   70,   69,   70,   69,
776
 
       70,   71,   70,   69,   69,   69,   69,   69,   69,   69,
777
 
       69,   69,   69,  664,  246,  247,   95,  662,  660,  110,
778
 
      659,   69,   69,   69,   69,  164,   95,   95,   95,   73,
779
 
       95,  657,  656,  655,  652,   95,  651,   95,  111,  112,
780
 
      650,   95,  114,   95,  649,  648,   95,  645,  643,  113,
781
 
 
782
 
      642,   69,   69,   95,   95,   95,  640,   95,  637,  115,
783
 
      636,  635,   95,  632,   95,  631,   95,  384,   95,  118,
784
 
       95,  630,  119,   95,  629,   70,   69,   70,   79,  628,
785
 
       95,  120,  121,  625,   95,  116,  623,  122,  622,   95,
786
 
      620,  617,  616,  615,   83,  609,  117,   84,   84,   84,
787
 
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
788
 
       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
789
 
       84,   84,   84,  608,   85,   86,   86,   86,   86,   86,
790
 
       86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
791
 
       86,   86,   86,   86,   86,   86,   86,   95,  607,  606,
792
 
 
793
 
       95,   95,   95,   95,   95,   95,   95,   95,  605,  604,
794
 
      601,  599,   95,   96,   95,   95,   95,   95,   95,   95,
795
 
       95,   95,   95,   97,   95,   98,   95,   99,   95,   95,
796
 
       95,   95,  100,   95,   95,   95,   95,   95,  598,  596,
797
 
      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
798
 
      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
799
 
      101,  101,  123,   95,   95,  592,  591,  579,  579,  579,
800
 
      124,  590,  578,   95,   95,   95,   95,   95,   95,  577,
801
 
      127,  128,   95,  125,  129,  132,   95,  576,  133,  575,
802
 
       95,  573,   95,  571,  130,  569,  134,  567,   95,   95,
803
 
 
804
 
       95,   95,  135,  566,  137,   95,  564,   95,  131,  126,
805
 
      138,   95,  560,   95,  139,   95,  142,   95,  559,   95,
806
 
       95,   95,  558,  143,   95,  140,   95,   95,  136,  557,
807
 
      141,  579,  579,  579,   95,  548,   95,   95,   95,  147,
808
 
      144,   95,   95,   95,  580,  148,   95,  145,  542,  541,
809
 
       95,  540,   95,  539,   95,  146,   95,  151,  537,  535,
810
 
       95,   95,   95,  532,   95,  530,  149,  528,  519,   95,
811
 
      153,  153,  153,  518,  504,  501,  499,  150,  498,  497,
812
 
      496,  495,  493,  154,  154,  154,  154,  154,  154,  155,
813
 
      155,  163,  491,  488,  483,  163,  163,  163,  163,  163,
814
 
 
815
 
      163,  163,  163,  163,  163,   87,   87,   87,  580,  481,
816
 
      469,  172,  468,  163,  163,  163,  163,  467,   87,   87,
817
 
      174,  174,  174,  174,  174,  174,  174,  174,   93,   93,
818
 
       93,   93,   93,   93,   93,   93,   95,   95,  450,  444,
819
 
      443,  442,  440,  163,  163,  437,   95,   95,   95,   95,
820
 
       95,   95,   95,   95,  177,   95,   95,  435,  430,  425,
821
 
      422,  410,  178,   95,   95,   95,   95,  180,  163,  163,
822
 
      409,   95,   95,  163,  163,  163,  163,  163,  163,  163,
823
 
      163,  163,  163,  408,  389,   95,   95,  381,  380,  379,
824
 
      373,  163,  163,  163,  163,   95,   95,   95,   95,   95,
825
 
 
826
 
       95,   95,  366,  181,   95,   95,  182,  361,  165,  179,
827
 
      357,   95,  345,   95,   95,   95,  344,   95,  168,  164,
828
 
       95,  163,  163,  314,   95,   95,   95,   95,   95,   95,
829
 
      313,  184,  183,   95,  312,   95,   95,   95,  185,   95,
830
 
       95,  306,  186,   95,   95,  295,  163,  290,  286,  275,
831
 
       95,  274,   95,   95,   95,   95,  187,   95,   95,   95,
832
 
      188,   95,   95,  250,  248,  164,  245,  239,   95,  189,
833
 
      190,   95,   95,   95,   95,   95,  235,   95,  191,  223,
834
 
       95,  217,  192,  213,   95,  202,   95,  201,   95,  176,
835
 
      175,  173,   95,   95,   95,  169,   95,   95,  193,  194,
836
 
 
837
 
       95,   95,  168,   95,  196,  168,  162,   95,  160,   95,
838
 
      199,   95,   95,   95,   95,   95,  195,  197,   95,   95,
839
 
      203,  198,   95,   92,  158,  382,  382,  382,   95,   95,
840
 
       95,  200,   95,  157,  383,   95,   94,   95,  204,   95,
841
 
       91,   95,   82,   95,   79,   95,   95,   95,   95,   95,
842
 
       79,  688,   95,  206,   95,  688,   95,  688,   95,  688,
843
 
      205,  688,   95,   95,   95,   95,   95,  688,  688,  207,
844
 
      208,   95,  688,   95,   95,   95,  209,   95,  688,  688,
845
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
846
 
       95,   95,  211,   95,   95,  688,  210,  688,  688,   95,
847
 
 
848
 
      688,  212,  384,   95,   95,   95,  688,   95,  688,  688,
849
 
       95,  688,  214,  688,   95,  688,   95,   95,   95,   95,
850
 
       95,   95,  688,   95,  688,  215,   95,  688,   95,  688,
851
 
       95,   95,   95,  688,   95,  688,  688,  688,   95,   95,
852
 
       95,   95,   95,   95,   95,   95,  216,   95,  688,  218,
853
 
       95,  688,  688,  688,   95,   95,   95,  688,   95,  688,
854
 
      688,  688,  688,   95,  219,   95,  688,   95,   95,   95,
855
 
      688,  221,  688,  688,  220,  222,  688,  688,   95,  688,
856
 
       95,  688,   95,  224,   95,  688,  688,   95,  688,  688,
857
 
       95,  688,  688,  688,  225,  688,   95,  688,   95,  688,
858
 
 
859
 
       95,   95,   95,   95,   95,  226,  688,   95,  227,   95,
860
 
      688,   95,  231,   95,  688,   95,  688,   95,   95,   95,
861
 
       95,   95,  688,  229,   95,  228,   95,  688,   95,  688,
862
 
      230,  688,   95,  688,   95,   95,   95,   95,   95,  688,
863
 
      232,   95,  688,   95,  688,   95,  688,   95,  688,   95,
864
 
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
865
 
      233,  688,   95,  688,   95,  236,  234,  688,   95,  688,
866
 
       95,   95,   95,   95,   95,  237,  688,   95,  238,  688,
867
 
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
868
 
      688,  242,   95,   95,  153,  153,  153,  174,  174,  174,
869
 
 
870
 
      174,  174,  174,  174,  174,  688,  688,  154,  154,  154,
871
 
      154,  154,  154,  155,  155,  243,  688,  688,  688,  155,
872
 
      155,  155,  155,  155,  155,  155,  155,  244,  688,  688,
873
 
      688,  155,  155,  155,  155,  155,  155,  155,  155,   95,
874
 
       95,  688,  251,  688,  688,  688,  688,  688,  688,   95,
875
 
       95,   95,   95,   95,   95,   95,   95,  688,   95,   95,
876
 
      688,  688,  688,  688,  688,   95,  252,   95,   95,   95,
877
 
       95,   95,  688,  688,   95,   95,  688,  688,  688,   95,
878
 
      688,   95,   95,   95,  253,   95,  254,  688,  688,   95,
879
 
       95,   95,   95,   95,   95,   95,   95,  688,   95,  688,
880
 
 
881
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
882
 
      688,   95,  255,  256,   95,   95,  688,   95,  688,   95,
883
 
      688,   95,   95,   95,  688,   95,  258,  257,  688,   95,
884
 
       95,   95,   95,   95,  688,  688,  688,  688,   95,  688,
885
 
       95,  688,   95,   95,   95,  688,   95,  688,  688,  259,
886
 
       95,   95,   95,   95,  260,   95,  688,   95,  688,   95,
887
 
      261,  262,   95,  263,   95,   95,  688,  688,  265,  688,
888
 
      688,  264,  688,  688,   95,   95,   95,   95,   95,   95,
889
 
       95,  688,  688,   95,   95,  688,   95,  688,  688,  688,
890
 
       95,  688,   95,  266,   95,  688,   95,   95,   95,   95,
891
 
 
892
 
       95,  688,  688,   95,  688,   95,  268,   95,  267,   95,
893
 
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
894
 
       95,  688,   95,  271,  269,  688,   95,  270,   95,  688,
895
 
       95,   95,   95,   95,   95,  688,  688,  688,  688,   95,
896
 
      688,   95,   95,   95,  688,   95,  688,  688,  272,  688,
897
 
       95,  688,   95,  273,   95,   95,   95,  688,  688,  688,
898
 
      688,   95,  688,   95,  688,   95,   95,   95,  688,   95,
899
 
      688,  688,  276,   95,   95,  277,  278,   95,   95,  279,
900
 
       95,   95,   95,  688,   95,   95,  688,   95,  688,  688,
901
 
      282,  280,  688,   95,   95,   95,   95,   95,   95,   95,
902
 
 
903
 
       95,   95,  281,   95,  283,  688,   95,  688,  688,   95,
904
 
      688,  688,   95,  688,  688,   95,  688,  688,  688,   95,
905
 
      688,   95,   95,   95,   95,   95,   95,   95,   95,   95,
906
 
       95,   95,  688,   95,  284,  688,  287,  688,  688,  688,
907
 
      285,  688,   95,   95,   95,   95,  688,   95,   95,   95,
908
 
      688,  288,   95,  688,   95,  688,  688,  688,   95,  688,
909
 
       95,  289,   95,  688,   95,   95,   95,   95,   95,  688,
910
 
      688,  688,  688,   95,  688,   95,   95,   95,  688,   95,
911
 
      688,  688,   95,  291,   95,  688,   95,  688,   95,  688,
912
 
       95,  688,   95,   95,   95,   95,   95,  688,  688,  292,
913
 
 
914
 
      688,   95,  688,   95,   95,   95,  688,   95,  688,  688,
915
 
      293,  688,   95,  688,   95,   95,   95,  688,   95,  688,
916
 
      297,   95,  688,   95,  294,  296,  688,   95,  688,   95,
917
 
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
918
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
919
 
       95,  298,   95,   95,   95,  688,  299,   95,  688,  688,
920
 
      688,  300,  688,   95,   95,   95,   95,   95,   95,   95,
921
 
      688,  688,   95,   95,  688,  688,  688,  688,  688,   95,
922
 
       95,   95,  688,   95,  688,  688,   95,  301,   95,  688,
923
 
       95,  688,   95,  688,   95,  688,   95,  302,   95,   95,
924
 
 
925
 
       95,   95,  688,  303,  304,   95,  688,   95,  688,  688,
926
 
      305,   95,  688,   95,  688,   95,  688,   95,   95,   95,
927
 
       95,   95,  688,  688,  688,  688,   95,  688,   95,   95,
928
 
       95,  307,   95,  308,  688,  311,  688,   95,  309,   95,
929
 
      688,   95,   95,   95,  688,   95,  688,  310,   95,  688,
930
 
      688,  315,   95,  688,   95,   95,   95,   95,   95,   95,
931
 
      688,   95,  688,  688,   95,  316,  316,  316,   95,  688,
932
 
      321,  688,   95,  318,  318,  318,  688,   95,  317,  317,
933
 
      317,  317,  317,  317,  317,  317,  319,  319,  319,  319,
934
 
      319,  319,  319,  319,   95,  688,  688,  688,  688,  688,
935
 
 
936
 
       95,  322,  688,  688,   95,  688,   95,  688,   95,  688,
937
 
       95,  323,   95,   95,   95,   95,   95,  688,  688,   95,
938
 
      688,  688,  688,  688,  688,   95,   95,  324,   95,   95,
939
 
       95,  327,   95,   95,   95,   95,  326,  688,  688,  688,
940
 
      688,  688,   95,   95,   95,   95,   95,   95,  688,   95,
941
 
      328,   95,   95,  688,  688,   95,  688,  688,  688,   95,
942
 
      325,   95,  688,   95,  688,   95,   95,   95,   95,   95,
943
 
      688,  688,  329,  688,   95,  688,   95,   95,   95,  330,
944
 
       95,  688,  688,  688,  688,   95,  688,   95,  688,   95,
945
 
       95,   95,  332,   95,  688,  331,   95,  688,  688,  688,
946
 
 
947
 
       95,   95,   95,   95,   95,   95,  688,   95,  688,  333,
948
 
      688,   95,   95,  334,   95,   95,  335,   95,  688,  336,
949
 
       95,  688,  688,  688,   95,  688,   95,   95,   95,   95,
950
 
      688,   95,   95,   95,  688,  337,   95,  688,   95,  688,
951
 
      688,  688,   95,  688,   95,  688,   95,  688,   95,   95,
952
 
       95,   95,  338,  688,  688,   95,  339,   95,  688,   95,
953
 
      688,   95,  688,   95,  688,   95,   95,   95,   95,   95,
954
 
      688,  340,  688,  688,   95,  688,   95,  688,  341,  688,
955
 
       95,   95,  342,  688,  343,   95,  688,   95,  688,  688,
956
 
      688,   95,  688,   95,  688,   95,  688,   95,   95,   95,
957
 
 
958
 
       95,   95,  688,  688,   95,  688,   95,  688,   95,  688,
959
 
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
960
 
       95,  688,  347,   95,  688,  688,  348,  688,  688,   95,
961
 
       95,   95,   95,   95,   95,   95,  349,  688,   95,   95,
962
 
      351,   95,  346,  688,  688,   95,  688,   95,  688,   95,
963
 
      688,   95,  688,   95,  350,   95,   95,  352,  688,  355,
964
 
       95,  353,  688,  688,  688,  688,   95,  688,   95,   95,
965
 
       95,  688,  354,  688,  688,   95,  688,   95,  688,   95,
966
 
      688,   95,  688,   95,  688,   95,  688,   95,   95,   95,
967
 
      688,   95,  688,  688,  356,   95,   95,   95,  688,   95,
968
 
 
969
 
       95,  358,  688,   95,   95,  688,  688,  688,  688,  688,
970
 
       95,  688,   95,   95,   95,   95,   95,   95,  688,   95,
971
 
      688,  359,   95,  363,   95,  688,   95,  362,   95,  360,
972
 
       95,  688,  688,  688,   95,   95,   95,  688,   95,   95,
973
 
      688,  688,   95,   95,  688,  364,  688,  688,  688,   95,
974
 
      688,   95,   95,   95,   95,  688,   95,   95,   95,  365,
975
 
       95,   95,  688,   95,  688,  688,  688,   95,  688,   95,
976
 
       95,   95,   95,   95,   95,   95,   95,   95,  688,   95,
977
 
       95,  367,   95,  368,  688,  688,   95,  688,  688,  688,
978
 
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
979
 
 
980
 
       95,  688,  370,   95,  688,   95,  688,   95,  688,  369,
981
 
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
982
 
       95,  372,   95,  688,   95,  688,   95,  688,   95,  688,
983
 
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
984
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
985
 
       95,   95,   95,   95,  688,  688,   95,  688,  371,  688,
986
 
      688,  688,   95,   95,  374,   95,   95,   95,  688,   95,
987
 
       95,   95,  375,  376,  688,  688,  688,  688,  688,   95,
988
 
       95,   95,   95,   95,   95,  688,   95,   95,   95,   95,
989
 
      688,  688,  688,  688,  688,  688,   95,   95,   95,   95,
990
 
 
991
 
       95,   95,  688,  378,  377,   95,   95,  316,  316,  316,
992
 
      688,  688,  688,  688,  688,  318,  318,  318,  688,  688,
993
 
      317,  317,  317,  317,  317,  317,  317,  317,  319,  319,
994
 
      319,  319,  319,  319,  319,  319,  383,  688,   95,  688,
995
 
      319,  319,  319,  319,  319,  319,  319,  319,   95,  688,
996
 
       95,  688,   95,   95,  387,  688,  386,   95,  388,   95,
997
 
      688,  688,  688,   95,  688,   95,  688,   95,  688,   95,
998
 
       95,   95,   95,   95,  688,  390,   95,  688,   95,  688,
999
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
1000
 
       95,   95,  391,  688,   95,   95,  688,  392,  688,  688,
1001
 
 
1002
 
      688,   95,   95,   95,   95,   95,   95,  688,   95,  688,
1003
 
       95,  688,   95,   95,   95,   95,   95,  688,  688,  688,
1004
 
      688,   95,  688,   95,  688,   95,  688,  393,  688,   95,
1005
 
      688,   95,  688,   95,   95,   95,  688,   95,  395,  394,
1006
 
      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
1007
 
       95,  688,   95,  688,  396,  397,   95,  688,   95,  398,
1008
 
      688,  688,   95,   95,   95,   95,   95,  399,  688,  688,
1009
 
      688,   95,  688,   95,  688,   95,  400,   95,  688,   95,
1010
 
      401,   95,  688,   95,   95,   95,  688,   95,  688,   95,
1011
 
      688,   95,   95,   95,  688,   95,  688,  402,  688,   95,
1012
 
 
1013
 
       95,   95,  688,   95,   95,  404,  688,  403,   95,  688,
1014
 
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
1015
 
       95,   95,   95,   95,   95,  688,  688,   95,  405,   95,
1016
 
      688,   95,  688,   95,  688,   95,  688,   95,  406,  407,
1017
 
       95,   95,   95,   95,  688,  688,   95,  688,  688,  688,
1018
 
      411,  688,   95,   95,   95,   95,   95,   95,  688,  688,
1019
 
       95,   95,   95,   95,  412,  688,  413,  688,  688,  688,
1020
 
       95,  688,   95,   95,   95,   95,  688,   95,  414,   95,
1021
 
       95,   95,   95,  415,  688,  688,  688,  688,  688,  688,
1022
 
       95,   95,  416,   95,   95,   95,   95,  688,  688,   95,
1023
 
 
1024
 
       95,  688,   95,  688,  688,  418,   95,  688,   95,  688,
1025
 
       95,  420,   95,   95,   95,  417,   95,  688,  421,   95,
1026
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
1027
 
      419,   95,   95,   95,   95,  688,  688,   95,   95,  688,
1028
 
       95,  688,  688,  688,   95,  688,   95,   95,   95,   95,
1029
 
       95,   95,   95,   95,   95,  423,   95,   95,   95,   95,
1030
 
      688,  688,  688,  688,  688,  688,  688,   95,   95,  424,
1031
 
       95,   95,   95,   95,  426,  688,   95,   95,  688,   95,
1032
 
      427,  688,  688,   95,  688,   95,  688,   95,  688,   95,
1033
 
       95,  428,   95,   95,  688,  688,  688,  688,   95,  688,
1034
 
 
1035
 
       95,  688,   95,   95,   95,  688,   95,  688,  429,   95,
1036
 
      431,  688,  688,   95,   95,   95,   95,   95,  432,  433,
1037
 
       95,  688,   95,  688,   95,   95,   95,   95,   95,  688,
1038
 
      688,  688,  688,   95,  688,  688,  688,   95,   95,   95,
1039
 
      688,   95,  688,  688,   95,  436,   95,  688,   95,  434,
1040
 
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
1041
 
       95,  688,  438,   95,  688,  688,  688,  688,  688,   95,
1042
 
       95,   95,   95,   95,   95,   95,  439,  688,   95,   95,
1043
 
      688,  688,  445,  445,  445,   95,  688,   95,  688,   95,
1044
 
      688,  688,  688,   95,   95,  446,  446,  446,  446,  446,
1045
 
 
1046
 
      446,  446,  446,   95,  688,   95,  688,   95,  688,  448,
1047
 
       95,  688,   95,   95,  688,  688,   95,  688,  688,  441,
1048
 
       95,  688,   95,   95,   95,   95,   95,   95,  451,   95,
1049
 
       95,  449,   95,   95,   95,   95,  688,  688,  688,  688,
1050
 
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
1051
 
      688,  452,   95,   95,   95,  688,  688,  453,  688,  454,
1052
 
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
1053
 
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
1054
 
      688,   95,  688,  455,  688,   95,  688,   95,  688,   95,
1055
 
       95,   95,   95,  688,  457,  456,   95,  688,   95,  688,
1056
 
 
1057
 
      688,  688,   95,  688,   95,  688,   95,  688,   95,  688,
1058
 
       95,   95,   95,  688,  688,   95,  458,   95,  459,  688,
1059
 
      688,   95,  688,  460,  688,   95,  688,   95,  688,   95,
1060
 
      688,   95,   95,   95,   95,   95,  688,  462,   95,  688,
1061
 
       95,  688,   95,  688,  461,  688,   95,  688,   95,   95,
1062
 
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
1063
 
      688,   95,  463,   95,  688,   95,   95,   95,   95,   95,
1064
 
      688,  688,   95,  688,   95,  688,   95,  688,   95,  465,
1065
 
       95,  688,   95,  464,   95,   95,   95,  466,   95,   95,
1066
 
      688,   95,  688,  470,  688,  688,  688,  688,   95,   95,
1067
 
 
1068
 
       95,   95,   95,   95,   95,  688,  688,   95,   95,  688,
1069
 
       95,  471,  472,  688,   95,  688,   95,  688,   95,  688,
1070
 
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
1071
 
      474,   95,  688,   95,  688,   95,  688,   95,  473,   95,
1072
 
       95,   95,   95,  475,  688,  688,   95,  688,   95,  476,
1073
 
      688,  688,   95,  688,   95,  688,   95,  688,   95,   95,
1074
 
       95,   95,   95,  688,  688,  688,  688,   95,  688,   95,
1075
 
      688,   95,  688,   95,   95,  477,  688,  478,   95,  688,
1076
 
       95,  688,  688,  688,   95,  688,   95,  688,   95,  688,
1077
 
       95,   95,   95,   95,   95,  688,  688,  479,  480,   95,
1078
 
 
1079
 
      688,   95,   95,   95,  688,   95,  688,  482,   95,  688,
1080
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
1081
 
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
1082
 
      688,  484,  688,   95,  688,   95,   95,  485,   95,   95,
1083
 
      688,  688,  688,  688,   95,  688,   95,  688,   95,   95,
1084
 
       95,  688,  487,  688,  486,   95,  688,   95,  688,   95,
1085
 
      688,   95,  688,   95,  688,  688,  688,   95,   95,   95,
1086
 
      688,   95,   95,  490,  688,   95,   95,  489,   95,  688,
1087
 
      688,  688,   95,  688,   95,   95,   95,   95,   95,   95,
1088
 
       95,   95,   95,   95,   95,  492,   95,   95,  688,   95,
1089
 
 
1090
 
      688,  688,  688,   95,  688,   95,   95,   95,   95,   95,
1091
 
       95,   95,   95,   95,  688,   95,  494,  688,   95,  445,
1092
 
      445,  445,  688,  688,  688,  688,  688,  688,  688,  688,
1093
 
      688,  688,  446,  446,  446,  446,  446,  446,  446,  446,
1094
 
      500,  688,   95,  688,  446,  446,  446,  446,  446,  446,
1095
 
      446,  446,   95,  688,   95,   95,   95,  688,   95,  688,
1096
 
      502,   95,  503,  688,  688,   95,  688,   95,   95,   95,
1097
 
       95,  688,   95,   95,   95,  688,  505,   95,  688,   95,
1098
 
      688,  688,  688,   95,  688,   95,  688,   95,  688,   95,
1099
 
       95,  506,   95,   95,  688,  688,   95,  507,   95,  688,
1100
 
 
1101
 
       95,  688,   95,  508,   95,  688,   95,   95,   95,   95,
1102
 
       95,  688,  688,   95,  688,   95,  688,   95,  688,   95,
1103
 
      688,   95,  688,   95,   95,   95,   95,   95,  688,  688,
1104
 
      688,  509,   95,  688,   95,   95,   95,  510,   95,  688,
1105
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
1106
 
      688,   95,   95,   95,   95,   95,  688,  511,   95,  688,
1107
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
1108
 
       95,   95,   95,  688,  688,  688,  512,   95,  688,   95,
1109
 
       95,   95,  688,   95,  688,  688,  514,  513,   95,  688,
1110
 
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
1111
 
 
1112
 
       95,  688,  688,   95,  688,   95,  688,  515,  688,   95,
1113
 
      520,   95,  688,   95,   95,   95,   95,   95,  688,  688,
1114
 
      688,  688,   95,  688,   95,   95,   95,  688,   95,  688,
1115
 
      688,   95,  521,   95,  688,   95,  688,   95,  688,   95,
1116
 
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
1117
 
       95,  523,   95,  688,   95,  688,   95,  688,   95,  522,
1118
 
       95,   95,   95,   95,   95,  688,  688,   95,  688,  688,
1119
 
      688,  688,  688,   95,   95,   95,   95,   95,   95,   95,
1120
 
      525,  524,   95,   95,  688,   95,  688,  688,  688,   95,
1121
 
      688,   95,  688,   95,  688,   95,   95,   95,   95,   95,
1122
 
 
1123
 
      688,  688,   95,  688,   95,  688,   95,  688,  527,  688,
1124
 
       95,  688,  529,   95,   95,   95,   95,  688,  688,  688,
1125
 
      688,   95,  688,   95,   95,   95,  688,   95,  531,  526,
1126
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
1127
 
       95,   95,   95,   95,   95,  688,  688,   95,  688,   95,
1128
 
      533,   95,  688,   95,  688,   95,  688,   95,  688,   95,
1129
 
       95,   95,   95,  688,  688,  534,   95,  688,   95,  688,
1130
 
      688,  536,   95,  688,   95,  688,   95,  688,   95,  688,
1131
 
       95,   95,   95,  538,   95,  688,  688,   95,  688,  688,
1132
 
      688,  543,  543,  543,   95,  688,   95,  688,   95,  688,
1133
 
 
1134
 
      688,  688,  688,   95,  544,  544,  544,  544,  544,  544,
1135
 
      544,  544,   95,   95,  547,  688,  688,  688,  688,  546,
1136
 
      688,  688,   95,   95,   95,   95,   95,   95,   95,  688,
1137
 
      688,   95,   95,  688,  688,  688,   95,  688,   95,   95,
1138
 
       95,  688,   95,  688,  549,  688,   95,   95,   95,   95,
1139
 
       95,  551,   95,   95,  550,   95,  688,  688,   95,  688,
1140
 
       95,  688,   95,  688,  552,  554,   95,  688,   95,  688,
1141
 
       95,   95,   95,  553,   95,  688,  688,  688,   95,   95,
1142
 
       95,   95,   95,  688,  688,  688,  688,   95,  688,   95,
1143
 
      688,   95,  555,   95,  688,   95,  688,   95,  688,   95,
1144
 
 
1145
 
       95,   95,  688,   95,  688,   95,  688,   95,   95,   95,
1146
 
      688,   95,  556,   95,  688,   95,   95,   95,  688,   95,
1147
 
      688,  688,  688,   95,   95,   95,   95,   95,  688,  561,
1148
 
      688,  688,   95,  688,   95,  688,   95,   95,   95,  688,
1149
 
       95,  688,  688,  688,   95,   95,   95,   95,   95,   95,
1150
 
       95,   95,  688,   95,  688,  688,   95,  688,   95,  688,
1151
 
       95,   95,   95,  688,   95,  562,  688,  688,   95,   95,
1152
 
       95,   95,   95,   95,   95,   95,  688,   95,  565,  563,
1153
 
       95,  688,   95,  688,   95,  688,   95,  570,   95,  688,
1154
 
       95,  688,   95,   95,   95,  688,   95,  568,  688,  688,
1155
 
 
1156
 
       95,   95,   95,   95,   95,  688,   95,  688,  688,   95,
1157
 
      688,  688,  688,   95,   95,   95,   95,   95,   95,  688,
1158
 
       95,  688,   95,  688,   95,   95,  572,   95,   95,  688,
1159
 
      688,  688,  688,   95,  543,  543,  543,  574,  688,   95,
1160
 
      688,   95,  688,  688,  688,   95,   95,  544,  544,  544,
1161
 
      544,  544,  544,  544,  544,   95,   95,   95,  582,   95,
1162
 
      688,  688,   95,  688,   95,  688,   95,  688,   95,  688,
1163
 
       95,  688,   95,   95,   95,   95,   95,  688,  688,   95,
1164
 
      688,   95,  584,   95,  688,   95,  688,   95,  688,   95,
1165
 
      583,   95,   95,   95,   95,   95,  688,  688,   95,  585,
1166
 
 
1167
 
      688,  688,  688,  688,   95,   95,   95,  586,   95,   95,
1168
 
       95,  587,  688,   95,   95,  688,   95,  688,  588,  688,
1169
 
       95,  688,   95,  688,   95,  688,   95,   95,   95,   95,
1170
 
       95,  688,  688,   95,  688,   95,  688,  589,  688,   95,
1171
 
      688,   95,  688,   95,   95,   95,   95,   95,  688,  593,
1172
 
      688,  688,   95,  688,   95,   95,   95,  594,   95,  688,
1173
 
      688,   95,  595,   95,  688,   95,  688,   95,  597,   95,
1174
 
      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
1175
 
       95,  688,   95,   95,  600,  688,   95,  688,  688,   95,
1176
 
      688,   95,  688,   95,  688,   95,  602,   95,  688,   95,
1177
 
 
1178
 
       95,   95,   95,   95,  688,  688,   95,  603,   95,  688,
1179
 
       95,  688,   95,  688,   95,  688,   95,   95,  610,   95,
1180
 
       95,  688,  688,  688,  688,   95,  688,   95,   95,   95,
1181
 
      611,   95,  688,  688,   95,  688,   95,  688,   95,  688,
1182
 
       95,  688,   95,  688,   95,   95,   95,   95,   95,  688,
1183
 
      688,  688,  688,   95,  688,   95,   95,   95,  688,   95,
1184
 
      688,  688,  612,  688,   95,  688,   95,   95,   95,  613,
1185
 
       95,  688,  688,   95,  688,   95,  688,   95,  688,   95,
1186
 
      614,   95,  688,   95,   95,   95,   95,   95,  688,  688,
1187
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,  688,
1188
 
 
1189
 
       95,   95,  618,   95,   95,  688,  688,   95,  688,   95,
1190
 
      688,   95,  688,   95,  619,   95,  688,   95,   95,  621,
1191
 
       95,   95,  688,  688,   95,  624,   95,  688,   95,  688,
1192
 
       95,  626,   95,  688,   95,   95,   95,   95,   95,  688,
1193
 
      688,   95,  627,   95,  688,   95,  688,   95,  688,   95,
1194
 
      688,   95,   95,   95,   95,   95,  688,  688,   95,  688,
1195
 
       95,  688,   95,  688,   95,  688,   95,  688,   95,   95,
1196
 
       95,   95,   95,  688,  688,   95,  688,   95,  688,   95,
1197
 
      688,  633,  688,   95,  688,   95,   95,   95,   95,   95,
1198
 
      688,  688,   95,  634,   95,  688,   95,  688,   95,  688,
1199
 
 
1200
 
       95,  688,   95,  638,  639,   95,   95,   95,  688,  688,
1201
 
       95,   95,  688,   95,  641,  646,  688,   95,  688,   95,
1202
 
       95,   95,   95,   95,   95,   95,   95,   95,  644,   95,
1203
 
       95,  688,   95,   95,  647,  688,   95,  688,  688,  688,
1204
 
       95,  688,   95,   95,   95,   95,   95,   95,   95,   95,
1205
 
       95,  653,   95,   95,   95,   95,  688,  688,  688,  654,
1206
 
      688,  688,  688,   95,   95,   95,   95,   95,   95,   95,
1207
 
       95,  688,   95,   95,  688,  688,  688,  688,  688,   95,
1208
 
       95,   95,   95,   95,   95,   95,  688,  658,   95,   95,
1209
 
      688,   95,  688,  661,  688,   95,  688,   95,  663,   95,
1210
 
 
1211
 
      688,   95,   95,   95,   95,   95,  688,  688,  688,  688,
1212
 
       95,  688,   95,   95,   95,  688,   95,  688,  669,   95,
1213
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,   95,
1214
 
      688,   95,   95,   95,   95,  688,  688,   95,   95,  688,
1215
 
      674,  688,  671,  688,   95,   95,   95,   95,   95,   95,
1216
 
      688,   95,  688,   95,  688,   95,   95,   95,  678,   95,
1217
 
       95,   95,  688,  688,   95,  688,  688,  688,  688,  688,
1218
 
       95,   95,   95,   95,   95,   95,   95,  682,  688,   95,
1219
 
       95,  688,   95,  688,  688,  688,  685,  688,   95,  688,
1220
 
       95,  688,   95,   95,   95,   95,   95,  688,  688,  688,
1221
 
 
1222
 
      688,   95,  688,   95,  688,   95,  688,   95,  688,  688,
1223
 
      688,  688,   95,   52,   52,   52,   52,   52,   52,   52,
1224
 
       52,   52,   52,   52,   52,   52,   52,   56,   56,   56,
1225
 
       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1226
 
       56,   60,   60,   60,   60,   60,   60,   60,   60,   60,
1227
 
       60,   60,   60,   60,   60,   63,   63,   63,   63,   63,
1228
 
       63,   63,   63,   63,   63,   63,   63,   63,   63,   72,
1229
 
       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
1230
 
       72,   72,   72,   74,   74,   74,   74,   74,   74,   74,
1231
 
       74,   74,   74,   74,   74,   74,   74,   81,   81,   81,
1232
 
 
1233
 
      688,   81,   81,   81,   81,   81,   81,   81,   81,   81,
1234
 
       81,   88,   88,  688,  688,   88,  688,  688,   88,  688,
1235
 
       88,  152,  152,  688,  152,  152,  156,  156,  688,  156,
1236
 
      156,  156,  156,  688,  156,  156,  156,  156,  156,  156,
1237
 
      159,  159,  159,  688,  159,  159,  159,  159,  159,  159,
1238
 
      159,  159,  159,  159,  161,  161,  161,  161,  161,  161,
1239
 
      161,  161,  161,  688,  161,  161,  163,  688,  688,  163,
1240
 
      163,  163,  163,  163,  163,  163,  163,  163,  164,  688,
1241
 
      688,  164,  164,  164,  164,  164,  164,  164,  164,  164,
1242
 
      166,  688,  688,  166,  688,  166,  166,  166,  166,  166,
1243
 
 
1244
 
      166,  166,  170,  170,  688,  170,  170,  171,  171,  688,
1245
 
      171,  171,  101,  101,  688,  101,  101,  317,  317,  688,
1246
 
      688,  688,  317,  688,  317,  688,  688,  688,  688,  317,
1247
 
      544,  544,  688,  688,  688,  688,  688,  544,  688,  688,
1248
 
      688,  688,  544,   15,  688,  688,  688,  688,  688,  688,
1249
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1250
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1251
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1252
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1253
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1254
 
 
1255
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1256
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1257
 
      688,  688,  688
1258
 
    } ;
1259
 
 
1260
 
static yyconst short int yy_chk[4624] =
1261
 
    {   0,
1262
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1263
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1264
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1265
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1266
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1267
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1268
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1269
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
1270
 
        3,    4,    4,    7,    5,    6,    7,    9,    3,  150,
1271
 
        4,    5,    6,   10,    8,    5,    6,    8,   17,   17,
1272
 
 
1273
 
       17,   26,  150,   26,   17,  172,  684,    9,  246,  246,
1274
 
        9,  172,  385,   10,   77,  320,   10,  385,   18,   18,
1275
 
       18,   13,   13,   13,   18,  320,   13,   14,   14,   14,
1276
 
       77,  680,   14,   22,   22,   22,   75,   75,   75,   22,
1277
 
       24,   76,   76,   76,   24,   38,   22,   22,   24,   24,
1278
 
       24,   24,   24,   24,   24,   38,  677,   38,  501,   38,
1279
 
       77,    9,  675,    9,   38,  501,  673,   10,  672,   10,
1280
 
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
1281
 
       11,   11,   11,   11,   28,   28,   28,   28,   28,   28,
1282
 
       28,   28,   11,   11,   11,   11,   13,   85,   13,  670,
1283
 
 
1284
 
       11,  545,   14,  467,   14,   32,  668,  666,   32,   80,
1285
 
       80,   80,   32,  665,  662,   32,   32,   32,   32,   32,
1286
 
       33,  467,   11,   11,   32,  660,   33,   85,   32,  545,
1287
 
       33,  656,   33,   33,   33,  167,  167,  167,  652,   33,
1288
 
      382,  382,  382,  651,  650,  649,   11,   11,   11,   12,
1289
 
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
1290
 
       12,   12,   12,  648,  165,  165,   34,  645,  643,   34,
1291
 
      642,   12,   12,   12,   12,  165,   34,   35,   34,   12,
1292
 
       34,  637,  636,  635,  632,   34,  631,   35,   35,   35,
1293
 
      630,   35,   36,   36,  629,  628,   35,  625,  623,   35,
1294
 
 
1295
 
      622,   12,   12,   36,   37,   36,  620,   36,  617,   36,
1296
 
      616,  615,   36,  609,   37,  608,   37,  382,   37,   39,
1297
 
       39,  607,   39,   37,  606,   12,   12,   12,   21,  604,
1298
 
       39,   39,   39,  601,   39,   37,  599,   39,  598,   39,
1299
 
      596,  592,  591,  590,   21,  581,   37,   21,   21,   21,
1300
 
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
1301
 
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
1302
 
       21,   21,   21,  578,   21,   21,   21,   21,   21,   21,
1303
 
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
1304
 
       21,   21,   21,   21,   21,   21,   21,   31,  577,  576,
1305
 
 
1306
 
       31,   31,   31,   31,   31,   31,   31,   31,  575,  573,
1307
 
      569,  567,   31,   31,   31,   31,   31,   31,   31,   31,
1308
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
1309
 
       31,   31,   31,   31,   31,   31,   31,   31,  566,  564,
1310
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
1311
 
       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
1312
 
       31,   31,   40,   40,   41,  559,  558,  544,  544,  544,
1313
 
       40,  557,  542,   40,   41,   40,   41,   40,   41,  541,
1314
 
       42,   42,   40,   41,   42,   43,   43,  540,   43,  539,
1315
 
       42,  537,   42,  535,   42,  532,   43,  530,   43,   42,
1316
 
 
1317
 
       43,   44,   43,  528,   44,   43,  526,   45,   42,   41,
1318
 
       45,   44,  519,   44,   45,   44,   46,   45,  518,   45,
1319
 
       44,   45,  517,   46,   46,   45,   45,   47,   43,  516,
1320
 
       45,  579,  579,  579,   46,  504,   46,   47,   46,   47,
1321
 
       46,   47,   48,   46,  544,   47,   47,   46,  499,  498,
1322
 
       49,  497,   48,  496,   48,   46,   48,   49,  493,  491,
1323
 
       49,   48,   49,  488,   49,  483,   47,  481,  469,   49,
1324
 
       51,   51,   51,  468,  450,  447,  444,   48,  443,  442,
1325
 
      441,  440,  437,   51,   51,   51,   51,   51,   51,   51,
1326
 
       51,   72,  435,  430,  425,   72,   72,   72,   72,   72,
1327
 
 
1328
 
       72,   72,   72,   72,   72,   87,   87,   87,  579,  422,
1329
 
      410,   87,  409,   72,   72,   72,   72,  408,   87,   87,
1330
 
       90,   90,   90,   90,   90,   90,   90,   90,   93,   93,
1331
 
       93,   93,   93,   93,   93,   93,   95,   96,  389,  381,
1332
 
      380,  379,  377,   72,   72,  373,   95,   96,   95,   96,
1333
 
       95,   96,   97,   99,   96,   95,   96,  371,  366,  361,
1334
 
      357,  346,   97,   99,   97,   99,   97,   99,   72,   73,
1335
 
      345,   97,   99,   73,   73,   73,   73,   73,   73,   73,
1336
 
       73,   73,   73,  344,  325,  100,   98,  314,  313,  312,
1337
 
      306,   73,   73,   73,   73,  100,   98,  100,   98,  100,
1338
 
 
1339
 
       98,  102,  295,  100,  100,   98,  102,  290,   73,   98,
1340
 
      286,  102,  275,  102,  103,  102,  274,  104,  248,  247,
1341
 
      102,   73,   73,  241,  103,  105,  103,  104,  103,  104,
1342
 
      240,  104,  103,  103,  239,  105,  104,  105,  105,  105,
1343
 
      106,  235,  107,  107,  105,  223,   73,  217,  213,  202,
1344
 
      106,  201,  106,  107,  106,  107,  107,  107,  109,  106,
1345
 
      108,  108,  107,  173,  169,  164,  162,  149,  109,  109,
1346
 
      109,  108,  109,  108,  110,  108,  146,  109,  110,  136,
1347
 
      108,  131,  111,  126,  110,  117,  110,  116,  110,   94,
1348
 
       91,   88,  111,  110,  111,   83,  111,  112,  112,  112,
1349
 
 
1350
 
      114,  111,   82,  113,  113,   79,   65,  112,   62,  112,
1351
 
      114,  112,  114,  113,  114,  113,  112,  113,  115,  114,
1352
 
      118,  113,  113,   59,   58,  317,  317,  317,  115,  118,
1353
 
      115,  115,  115,   55,  317,  119,   29,  115,  119,  118,
1354
 
       25,  118,   20,  118,   19,  119,  120,  119,  118,  119,
1355
 
       16,   15,  121,  121,  119,    0,  120,    0,  120,    0,
1356
 
      120,    0,  121,  122,  121,  120,  121,    0,    0,  121,
1357
 
      121,  121,    0,  122,  123,  122,  122,  122,    0,    0,
1358
 
      124,    0,  122,    0,  123,    0,  123,    0,  123,    0,
1359
 
      124,  125,  124,  123,  124,    0,  123,    0,    0,  124,
1360
 
 
1361
 
        0,  125,  317,  125,  127,  125,    0,  128,    0,    0,
1362
 
      125,    0,  127,    0,  127,    0,  127,  128,  127,  128,
1363
 
      129,  128,    0,  127,    0,  128,  128,    0,  130,    0,
1364
 
      129,  132,  129,    0,  129,    0,    0,    0,  130,  129,
1365
 
      130,  132,  130,  132,  133,  132,  130,  130,    0,  132,
1366
 
      132,    0,    0,    0,  133,  134,  133,    0,  133,    0,
1367
 
        0,    0,    0,  133,  133,  134,    0,  134,  135,  134,
1368
 
        0,  135,    0,    0,  134,  135,    0,    0,  135,    0,
1369
 
      135,    0,  135,  137,  137,    0,    0,  135,    0,    0,
1370
 
      138,    0,    0,    0,  137,    0,  137,    0,  137,    0,
1371
 
 
1372
 
      138,  139,  138,  137,  138,  138,    0,  140,  138,  138,
1373
 
        0,  139,  142,  139,    0,  139,    0,  140,  141,  140,
1374
 
      139,  140,    0,  140,  142,  139,  140,    0,  141,    0,
1375
 
      141,    0,  141,    0,  142,  143,  142,  141,  142,    0,
1376
 
      143,  144,    0,  142,    0,  143,    0,  143,    0,  143,
1377
 
        0,  144,  145,  144,  143,  144,    0,    0,  147,    0,
1378
 
      144,    0,  145,    0,  145,  147,  145,    0,  147,    0,
1379
 
      147,  145,  147,  151,  148,  148,    0,  147,  148,    0,
1380
 
        0,    0,    0,  151,  148,  151,  148,  151,  148,    0,
1381
 
        0,  151,  151,  148,  153,  153,  153,  174,  174,  174,
1382
 
 
1383
 
      174,  174,  174,  174,  174,    0,    0,  153,  153,  153,
1384
 
      153,  153,  153,  153,  153,  154,    0,    0,    0,  154,
1385
 
      154,  154,  154,  154,  154,  154,  154,  155,    0,    0,
1386
 
        0,  155,  155,  155,  155,  155,  155,  155,  155,  177,
1387
 
      178,    0,  177,    0,    0,    0,    0,    0,    0,  177,
1388
 
      178,  177,  178,  177,  178,  179,  180,    0,  177,  178,
1389
 
        0,    0,    0,    0,    0,  179,  180,  179,  180,  179,
1390
 
      180,  181,    0,    0,  179,  180,    0,    0,    0,  182,
1391
 
        0,  181,  183,  181,  181,  181,  182,    0,    0,  182,
1392
 
      181,  182,  183,  182,  183,  184,  183,    0,  182,    0,
1393
 
 
1394
 
        0,  183,    0,  185,    0,  184,    0,  184,    0,  184,
1395
 
        0,  186,  184,  185,  184,  185,    0,  185,    0,  187,
1396
 
        0,  186,  185,  186,    0,  186,  187,  186,    0,  187,
1397
 
      186,  187,  188,  187,    0,    0,    0,    0,  187,    0,
1398
 
      189,    0,  188,  190,  188,    0,  188,    0,    0,  188,
1399
 
      189,  188,  189,  190,  189,  190,    0,  190,    0,  189,
1400
 
      190,  190,  190,  191,  191,  192,    0,    0,  192,    0,
1401
 
        0,  191,    0,    0,  191,  192,  191,  192,  191,  192,
1402
 
      193,    0,    0,  191,  192,    0,  194,    0,    0,    0,
1403
 
      193,    0,  193,  193,  193,    0,  194,  195,  194,  193,
1404
 
 
1405
 
      194,    0,    0,  196,    0,  194,  196,  195,  195,  195,
1406
 
        0,  195,    0,  196,  197,  196,  195,  196,    0,    0,
1407
 
      198,    0,  196,  198,  197,    0,  197,  197,  197,    0,
1408
 
      198,  199,  198,  197,  198,    0,    0,    0,    0,  198,
1409
 
        0,  199,  200,  199,    0,  199,    0,    0,  199,    0,
1410
 
      199,    0,  200,  200,  200,  203,  200,    0,    0,    0,
1411
 
        0,  200,    0,  204,    0,  203,  205,  203,    0,  203,
1412
 
        0,    0,  203,  204,  203,  204,  205,  204,  205,  205,
1413
 
      205,  206,  204,    0,  207,  205,    0,  208,    0,    0,
1414
 
      208,  206,    0,  206,  207,  206,  207,  208,  207,  208,
1415
 
 
1416
 
      206,  208,  207,  207,  209,    0,  208,    0,    0,  210,
1417
 
        0,    0,  209,    0,    0,  211,    0,    0,    0,  210,
1418
 
        0,  210,  209,  210,  209,  211,  209,  211,  210,  211,
1419
 
      212,  209,    0,  214,  211,    0,  214,    0,    0,    0,
1420
 
      212,    0,  212,  214,  212,  214,    0,  214,  215,  212,
1421
 
        0,  215,  214,    0,  216,    0,    0,    0,  215,    0,
1422
 
      215,  216,  215,    0,  216,  218,  216,  215,  216,    0,
1423
 
        0,    0,    0,  216,    0,  218,  219,  218,    0,  218,
1424
 
        0,    0,  220,  218,  218,    0,  219,    0,  219,    0,
1425
 
      219,    0,  220,  221,  220,  219,  220,    0,    0,  220,
1426
 
 
1427
 
        0,  220,    0,  221,  222,  221,    0,  221,    0,    0,
1428
 
      221,    0,  221,    0,  222,  224,  222,    0,  222,    0,
1429
 
      225,  225,    0,  222,  222,  224,    0,  224,    0,  224,
1430
 
        0,  225,  226,  225,  224,  225,    0,    0,  227,    0,
1431
 
      225,    0,  226,    0,  226,    0,  226,    0,  227,    0,
1432
 
      227,  226,  227,  228,  229,    0,  228,  227,    0,    0,
1433
 
        0,  229,    0,  228,  229,  228,  229,  228,  229,  230,
1434
 
        0,    0,  228,  229,    0,    0,    0,    0,    0,  230,
1435
 
      231,  230,    0,  230,    0,    0,  232,  230,  230,    0,
1436
 
      231,    0,  231,    0,  231,    0,  232,  231,  232,  231,
1437
 
 
1438
 
      232,  233,    0,  232,  233,  232,    0,  234,    0,    0,
1439
 
      234,  233,    0,  233,    0,  233,    0,  234,  236,  234,
1440
 
      233,  234,    0,    0,    0,    0,  234,    0,  236,  237,
1441
 
      236,  236,  236,  236,    0,  238,    0,  236,  236,  237,
1442
 
        0,  237,  238,  237,    0,  242,    0,  237,  237,    0,
1443
 
        0,  242,  238,    0,  238,  242,  238,  242,  251,  242,
1444
 
        0,  238,    0,    0,  242,  243,  243,  243,  251,    0,
1445
 
      251,    0,  251,  244,  244,  244,    0,  251,  243,  243,
1446
 
      243,  243,  243,  243,  243,  243,  244,  244,  244,  244,
1447
 
      244,  244,  244,  244,  252,    0,    0,    0,    0,    0,
1448
 
 
1449
 
      253,  252,    0,    0,  252,    0,  252,    0,  252,    0,
1450
 
      253,  253,  253,  252,  253,  254,  255,    0,    0,  253,
1451
 
        0,    0,    0,    0,    0,  254,  255,  254,  255,  254,
1452
 
      255,  257,  257,  256,  254,  255,  256,    0,    0,    0,
1453
 
        0,    0,  257,  256,  257,  256,  257,  256,    0,  258,
1454
 
      258,  257,  256,    0,    0,  259,    0,    0,    0,  258,
1455
 
      255,  258,    0,  258,    0,  259,  260,  259,  258,  259,
1456
 
        0,    0,  259,    0,  259,    0,  260,  261,  260,  260,
1457
 
      260,    0,    0,    0,    0,  260,    0,  261,    0,  261,
1458
 
      263,  261,  262,  262,    0,  261,  261,    0,    0,    0,
1459
 
 
1460
 
      263,  264,  263,  262,  263,  262,    0,  262,    0,  263,
1461
 
        0,  264,  262,  264,  265,  264,  265,  266,    0,  266,
1462
 
      264,    0,    0,    0,  265,    0,  265,  266,  265,  266,
1463
 
        0,  266,  267,  265,    0,  267,  266,    0,  268,    0,
1464
 
        0,    0,  267,    0,  267,    0,  267,    0,  268,  269,
1465
 
      268,  267,  268,    0,    0,  270,  269,  268,    0,  269,
1466
 
        0,  269,    0,  269,    0,  270,  271,  270,  269,  270,
1467
 
        0,  270,    0,    0,  270,    0,  271,    0,  271,    0,
1468
 
      271,  272,  271,    0,  272,  271,    0,  273,    0,    0,
1469
 
        0,  272,    0,  272,    0,  272,    0,  273,  276,  273,
1470
 
 
1471
 
      272,  273,    0,    0,  277,    0,  273,    0,  276,    0,
1472
 
      276,    0,  276,    0,  277,    0,  277,  276,  277,  278,
1473
 
      279,    0,  277,  277,    0,    0,  278,    0,    0,  278,
1474
 
      279,  278,  279,  278,  279,  280,  279,    0,  278,  279,
1475
 
      281,  281,  276,    0,    0,  280,    0,  280,    0,  280,
1476
 
        0,  281,    0,  281,  280,  281,  282,  281,    0,  283,
1477
 
      281,  282,    0,    0,    0,    0,  282,    0,  282,  283,
1478
 
      282,    0,  282,    0,    0,  282,    0,  284,    0,  283,
1479
 
        0,  283,    0,  283,    0,  285,    0,  284,  283,  284,
1480
 
        0,  284,    0,    0,  284,  285,  284,  285,    0,  285,
1481
 
 
1482
 
      287,  287,    0,  288,  285,    0,    0,    0,    0,    0,
1483
 
      287,    0,  287,  288,  287,  288,  289,  288,    0,  287,
1484
 
        0,  288,  288,  292,  291,    0,  289,  291,  289,  289,
1485
 
      289,    0,    0,    0,  291,  289,  291,    0,  291,  292,
1486
 
        0,    0,  293,  291,    0,  293,    0,    0,    0,  292,
1487
 
        0,  292,  293,  292,  293,    0,  293,  296,  292,  294,
1488
 
      294,  293,    0,  297,    0,    0,    0,  296,    0,  296,
1489
 
      294,  296,  294,  297,  294,  297,  296,  297,    0,  294,
1490
 
      298,  297,  297,  298,    0,    0,  299,    0,    0,    0,
1491
 
      298,    0,  298,    0,  298,    0,  299,  300,  299,  298,
1492
 
 
1493
 
      299,    0,  301,  301,    0,  299,    0,  300,    0,  300,
1494
 
        0,  300,    0,  301,  302,  301,  300,  301,    0,    0,
1495
 
      303,  305,  301,    0,  302,    0,  302,    0,  302,    0,
1496
 
      303,  304,  303,  302,  303,    0,    0,  305,    0,  303,
1497
 
        0,  304,    0,  304,    0,  304,    0,  305,    0,  305,
1498
 
      304,  305,  307,  308,    0,    0,  305,    0,  302,    0,
1499
 
        0,    0,  307,  308,  307,  308,  307,  308,    0,  310,
1500
 
      309,  307,  308,  309,    0,    0,    0,    0,    0,  310,
1501
 
      309,  310,  309,  310,  309,    0,  311,  315,  310,  309,
1502
 
        0,    0,    0,    0,    0,    0,  311,  315,  311,  315,
1503
 
 
1504
 
      311,  315,    0,  311,  310,  311,  315,  316,  316,  316,
1505
 
        0,    0,    0,    0,    0,  318,  318,  318,    0,    0,
1506
 
      316,  316,  316,  316,  316,  316,  316,  316,  318,  318,
1507
 
      318,  318,  318,  318,  318,  318,  319,    0,  321,    0,
1508
 
      319,  319,  319,  319,  319,  319,  319,  319,  321,    0,
1509
 
      321,    0,  321,  322,  322,    0,  321,  321,  323,  323,
1510
 
        0,    0,    0,  322,    0,  322,    0,  322,    0,  323,
1511
 
      324,  323,  322,  323,    0,  326,  326,    0,  323,    0,
1512
 
      324,    0,  324,    0,  324,    0,  326,    0,  326,  324,
1513
 
      326,  327,  327,    0,  328,  326,    0,  328,    0,    0,
1514
 
 
1515
 
        0,  327,  329,  327,  328,  327,  328,    0,  328,    0,
1516
 
      327,    0,  329,  328,  329,  330,  329,    0,    0,    0,
1517
 
        0,  329,    0,  331,    0,  330,    0,  330,    0,  330,
1518
 
        0,  332,    0,  331,  330,  331,    0,  331,  332,  331,
1519
 
        0,  332,  331,  332,  333,  332,    0,    0,    0,    0,
1520
 
      332,    0,  334,    0,  333,  334,  333,    0,  333,  334,
1521
 
        0,    0,  334,  333,  334,  335,  334,  335,    0,    0,
1522
 
        0,  334,    0,  336,    0,  335,  336,  335,    0,  335,
1523
 
      336,  337,    0,  336,  335,  336,    0,  336,    0,  338,
1524
 
        0,  337,  336,  337,    0,  337,    0,  337,    0,  338,
1525
 
 
1526
 
      337,  338,    0,  338,  339,  339,    0,  338,  338,    0,
1527
 
      340,    0,    0,    0,  339,    0,  339,    0,  339,    0,
1528
 
      340,  341,  340,  339,  340,    0,    0,  342,  340,  340,
1529
 
        0,  341,    0,  341,    0,  341,    0,  342,  341,  342,
1530
 
      341,  342,  343,  347,    0,    0,  342,    0,    0,    0,
1531
 
      347,    0,  343,  347,  343,  347,  343,  347,    0,    0,
1532
 
      349,  343,  347,  348,  348,    0,  348,    0,    0,    0,
1533
 
      349,    0,  349,  348,  349,  348,    0,  348,  349,  349,
1534
 
      351,  350,  348,  350,    0,    0,    0,    0,    0,    0,
1535
 
      351,  350,  351,  350,  351,  350,  352,    0,    0,  351,
1536
 
 
1537
 
      350,    0,  353,    0,    0,  353,  352,    0,  352,    0,
1538
 
      352,  355,  353,  354,  353,  352,  353,    0,  356,  355,
1539
 
        0,  353,    0,  354,    0,  354,    0,  354,    0,  355,
1540
 
      354,  355,  354,  355,  356,    0,    0,  358,  355,    0,
1541
 
      359,    0,    0,    0,  356,    0,  356,  358,  356,  358,
1542
 
      359,  358,  359,  356,  359,  358,  358,  360,  362,  359,
1543
 
        0,    0,    0,    0,    0,    0,    0,  360,  362,  360,
1544
 
      362,  360,  362,  363,  362,    0,  360,  362,    0,  364,
1545
 
      363,    0,    0,  363,    0,  363,    0,  363,    0,  364,
1546
 
      365,  364,  363,  364,    0,    0,    0,    0,  364,    0,
1547
 
 
1548
 
      365,    0,  365,  367,  365,    0,  368,    0,  365,  365,
1549
 
      367,    0,    0,  367,  369,  367,  368,  367,  368,  369,
1550
 
      368,    0,  367,    0,  369,  368,  369,  370,  369,    0,
1551
 
        0,    0,    0,  369,    0,    0,    0,  370,  372,  370,
1552
 
        0,  370,    0,    0,  374,  372,  370,    0,  372,  370,
1553
 
      372,    0,  372,    0,  374,    0,  374,  372,  374,  375,
1554
 
      376,    0,  375,  374,    0,    0,    0,    0,    0,  375,
1555
 
      376,  375,  376,  375,  376,  378,  376,    0,  375,  376,
1556
 
        0,    0,  383,  383,  383,  378,    0,  378,    0,  378,
1557
 
        0,    0,    0,  386,  378,  383,  383,  383,  383,  383,
1558
 
 
1559
 
      383,  383,  383,  386,    0,  386,    0,  386,    0,  387,
1560
 
      387,    0,  386,  388,    0,    0,  390,    0,    0,  378,
1561
 
      387,    0,  387,  388,  387,  388,  390,  388,  390,  387,
1562
 
      390,  388,  388,  391,  392,  390,    0,    0,    0,    0,
1563
 
        0,    0,    0,  391,  392,  391,  392,  391,  392,    0,
1564
 
        0,  391,  391,  392,  393,    0,    0,  393,    0,  394,
1565
 
      394,    0,    0,    0,  393,    0,  393,    0,  393,    0,
1566
 
      394,  395,  394,  393,  394,    0,    0,  396,    0,  394,
1567
 
        0,  395,    0,  395,    0,  395,    0,  396,    0,  396,
1568
 
      395,  396,  397,    0,  397,  396,  396,    0,  398,    0,
1569
 
 
1570
 
        0,    0,  397,    0,  397,    0,  397,    0,  398,    0,
1571
 
      398,  397,  398,    0,    0,  399,  398,  398,  399,    0,
1572
 
        0,  400,    0,  400,    0,  399,    0,  399,    0,  399,
1573
 
        0,  400,  401,  400,  399,  400,    0,  402,  402,    0,
1574
 
      400,    0,  401,    0,  401,    0,  401,    0,  402,  403,
1575
 
      402,  401,  402,    0,    0,  404,    0,  402,    0,  403,
1576
 
        0,  403,  404,  403,    0,  404,  405,  404,  403,  404,
1577
 
        0,    0,  406,    0,  404,    0,  405,    0,  405,  406,
1578
 
      405,    0,  406,  405,  406,  405,  406,  407,  407,  411,
1579
 
        0,  406,    0,  411,    0,    0,    0,    0,  407,  411,
1580
 
 
1581
 
      407,  411,  407,  411,  412,    0,    0,  407,  411,    0,
1582
 
      413,  412,  413,    0,  412,    0,  412,    0,  412,    0,
1583
 
      413,  414,  413,  412,  413,    0,    0,  415,    0,  413,
1584
 
      415,  414,    0,  414,    0,  414,    0,  415,  414,  415,
1585
 
      414,  415,  416,  416,    0,    0,  415,    0,  417,  417,
1586
 
        0,    0,  416,    0,  416,    0,  416,    0,  417,  418,
1587
 
      417,  416,  417,    0,    0,    0,    0,  417,    0,  418,
1588
 
        0,  418,    0,  418,  419,  418,    0,  419,  418,    0,
1589
 
      420,    0,    0,    0,  419,    0,  419,    0,  419,    0,
1590
 
      420,  421,  420,  419,  420,    0,    0,  420,  421,  420,
1591
 
 
1592
 
        0,  421,  423,  421,    0,  421,    0,  424,  424,    0,
1593
 
      421,    0,  423,    0,  423,    0,  423,    0,  424,  426,
1594
 
      424,  423,  424,    0,    0,  427,    0,  424,    0,  426,
1595
 
        0,  426,    0,  426,    0,  427,  428,  427,  426,  427,
1596
 
        0,    0,    0,    0,  427,    0,  428,    0,  428,  429,
1597
 
      428,    0,  429,    0,  428,  428,    0,  431,    0,  429,
1598
 
        0,  429,    0,  429,    0,    0,    0,  431,  429,  431,
1599
 
        0,  431,  432,  432,    0,  433,  431,  431,  434,    0,
1600
 
        0,    0,  432,    0,  432,  433,  432,  433,  434,  433,
1601
 
      434,  432,  434,  436,  433,  436,  438,  434,    0,  439,
1602
 
 
1603
 
        0,    0,    0,  436,    0,  436,  438,  436,  438,  439,
1604
 
      438,  439,  436,  439,    0,  438,  439,    0,  439,  445,
1605
 
      445,  445,    0,    0,    0,    0,    0,    0,    0,    0,
1606
 
        0,    0,  445,  445,  445,  445,  445,  445,  445,  445,
1607
 
      446,    0,  448,    0,  446,  446,  446,  446,  446,  446,
1608
 
      446,  446,  448,    0,  448,  449,  448,    0,  451,    0,
1609
 
      448,  448,  449,    0,    0,  449,    0,  449,  451,  449,
1610
 
      451,    0,  451,  452,  449,    0,  452,  451,    0,  453,
1611
 
        0,    0,    0,  452,    0,  452,    0,  452,    0,  453,
1612
 
      454,  453,  452,  453,    0,    0,  455,  454,  453,    0,
1613
 
 
1614
 
      454,    0,  454,  455,  454,    0,  455,  456,  455,  454,
1615
 
      455,    0,    0,  457,    0,  455,    0,  456,    0,  456,
1616
 
        0,  456,    0,  457,  458,  457,  456,  457,    0,    0,
1617
 
        0,  458,  457,    0,  458,  459,  458,  459,  458,    0,
1618
 
        0,  460,    0,  458,    0,  459,    0,  459,    0,  459,
1619
 
        0,  460,  461,  460,  459,  460,    0,  461,  462,    0,
1620
 
      460,    0,  461,    0,  461,    0,  461,    0,  462,  463,
1621
 
      462,  461,  462,    0,    0,    0,  462,  462,    0,  463,
1622
 
      464,  463,    0,  463,    0,    0,  465,  463,  463,    0,
1623
 
      464,    0,  464,    0,  464,    0,  465,  466,  465,  464,
1624
 
 
1625
 
      465,    0,    0,  470,    0,  465,    0,  466,    0,  466,
1626
 
      470,  466,    0,  470,  471,  470,  466,  470,    0,    0,
1627
 
        0,    0,  470,    0,  471,  472,  471,    0,  471,    0,
1628
 
        0,  473,  471,  471,    0,  472,    0,  472,    0,  472,
1629
 
        0,  473,  474,  473,  472,  473,    0,    0,  475,    0,
1630
 
      473,  475,  474,    0,  474,    0,  474,    0,  475,  474,
1631
 
      475,  474,  475,  476,  477,    0,    0,  475,    0,    0,
1632
 
        0,    0,    0,  476,  477,  476,  477,  476,  477,  478,
1633
 
      478,  476,  476,  477,    0,  479,    0,    0,    0,  478,
1634
 
        0,  478,    0,  478,    0,  479,  480,  479,  478,  479,
1635
 
 
1636
 
        0,    0,  482,    0,  479,    0,  480,    0,  480,    0,
1637
 
      480,    0,  482,  484,  482,  480,  482,    0,    0,    0,
1638
 
        0,  482,    0,  484,  485,  484,    0,  484,  485,  479,
1639
 
      486,    0,  484,    0,  485,    0,  485,    0,  485,    0,
1640
 
      486,  487,  486,  485,  486,    0,    0,  489,    0,  486,
1641
 
      489,  487,    0,  487,    0,  487,    0,  489,    0,  489,
1642
 
      487,  489,  490,    0,    0,  490,  489,    0,  492,    0,
1643
 
        0,  492,  490,    0,  490,    0,  490,    0,  492,    0,
1644
 
      492,  490,  492,  494,  494,    0,    0,  492,    0,    0,
1645
 
        0,  500,  500,  500,  494,    0,  494,    0,  494,    0,
1646
 
 
1647
 
        0,    0,    0,  494,  500,  500,  500,  500,  500,  500,
1648
 
      500,  500,  502,  503,  503,    0,    0,    0,    0,  502,
1649
 
        0,    0,  502,  503,  502,  503,  502,  503,  505,    0,
1650
 
        0,  502,  503,    0,    0,    0,  506,    0,  505,  507,
1651
 
      505,    0,  505,    0,  505,    0,  506,  505,  506,  507,
1652
 
      506,  507,  508,  507,  506,  506,    0,    0,  507,    0,
1653
 
      509,    0,  508,    0,  508,  511,  508,    0,  510,    0,
1654
 
      509,  508,  509,  509,  509,    0,    0,    0,  510,  509,
1655
 
      510,  511,  510,    0,    0,    0,    0,  510,    0,  512,
1656
 
        0,  511,  512,  511,    0,  511,    0,  513,    0,  512,
1657
 
 
1658
 
      511,  512,    0,  512,    0,  514,    0,  513,  512,  513,
1659
 
        0,  513,  514,  515,    0,  514,  513,  514,    0,  514,
1660
 
        0,    0,    0,  515,  514,  515,  520,  515,    0,  520,
1661
 
        0,    0,  515,    0,  521,    0,  520,  522,  520,    0,
1662
 
      520,    0,    0,    0,  521,  520,  521,  522,  521,  522,
1663
 
      523,  522,    0,  521,    0,    0,  522,    0,  524,    0,
1664
 
      523,  525,  523,    0,  523,  524,    0,    0,  524,  523,
1665
 
      524,  525,  524,  525,  527,  525,    0,  524,  527,  525,
1666
 
      525,    0,  529,    0,  527,    0,  527,  533,  527,    0,
1667
 
      531,    0,  529,  527,  529,    0,  529,  531,    0,    0,
1668
 
 
1669
 
      531,  529,  531,  533,  531,    0,  534,    0,    0,  531,
1670
 
        0,    0,    0,  533,  536,  533,  534,  533,  534,    0,
1671
 
      534,    0,  533,    0,  536,  534,  536,  538,  536,    0,
1672
 
        0,    0,    0,  536,  543,  543,  543,  538,    0,  538,
1673
 
        0,  538,    0,    0,    0,  546,  538,  543,  543,  543,
1674
 
      543,  543,  543,  543,  543,  546,  547,  546,  546,  546,
1675
 
        0,    0,  549,    0,  546,    0,  547,    0,  547,    0,
1676
 
      547,    0,  549,  550,  549,  547,  549,    0,    0,  551,
1677
 
        0,  549,  551,  550,    0,  550,    0,  550,    0,  551,
1678
 
      550,  551,  550,  551,  552,  553,    0,    0,  551,  552,
1679
 
 
1680
 
        0,    0,    0,    0,  552,  553,  552,  553,  552,  553,
1681
 
      554,  554,    0,  552,  553,    0,  555,    0,  555,    0,
1682
 
      554,    0,  554,    0,  554,    0,  555,  556,  555,  554,
1683
 
      555,    0,    0,  561,    0,  555,    0,  556,    0,  556,
1684
 
        0,  556,    0,  561,  562,  561,  556,  561,    0,  561,
1685
 
        0,    0,  561,    0,  562,  563,  562,  562,  562,    0,
1686
 
        0,  565,  563,  562,    0,  563,    0,  563,  565,  563,
1687
 
        0,  565,  568,  565,  563,  565,    0,    0,    0,    0,
1688
 
      565,    0,  568,  570,  568,    0,  568,    0,    0,  572,
1689
 
        0,  568,    0,  570,    0,  570,  570,  570,    0,  572,
1690
 
 
1691
 
      574,  572,  570,  572,    0,    0,  582,  572,  572,    0,
1692
 
      574,    0,  574,    0,  574,    0,  582,  583,  582,  574,
1693
 
      582,    0,    0,    0,    0,  582,    0,  583,  584,  583,
1694
 
      584,  583,    0,    0,  585,    0,  583,    0,  584,    0,
1695
 
      584,    0,  584,    0,  585,  586,  585,  584,  585,    0,
1696
 
        0,    0,    0,  585,    0,  586,  587,  586,    0,  586,
1697
 
        0,    0,  586,    0,  586,    0,  587,  588,  587,  587,
1698
 
      587,    0,    0,  589,    0,  587,    0,  588,    0,  588,
1699
 
      589,  588,    0,  589,  593,  589,  588,  589,    0,    0,
1700
 
      594,    0,  589,    0,  593,    0,  593,    0,  593,    0,
1701
 
 
1702
 
      594,  595,  594,  593,  594,    0,    0,  597,    0,  594,
1703
 
        0,  595,    0,  595,  595,  595,    0,  597,  600,  597,
1704
 
      595,  597,    0,    0,  602,  600,  597,    0,  600,    0,
1705
 
      600,  602,  600,    0,  602,  603,  602,  600,  602,    0,
1706
 
        0,  610,  603,  602,    0,  603,    0,  603,    0,  603,
1707
 
        0,  610,  611,  610,  603,  610,    0,    0,  612,    0,
1708
 
      610,    0,  611,    0,  611,    0,  611,    0,  612,  613,
1709
 
      612,  611,  612,    0,    0,  614,    0,  612,    0,  613,
1710
 
        0,  613,    0,  613,    0,  614,  618,  614,  613,  614,
1711
 
        0,    0,  619,  614,  614,    0,  618,    0,  618,    0,
1712
 
 
1713
 
      618,    0,  619,  618,  619,  618,  619,  621,    0,    0,
1714
 
      624,  619,    0,  626,  621,  626,    0,  621,    0,  621,
1715
 
      624,  621,  624,  626,  624,  626,  621,  626,  624,  624,
1716
 
      627,    0,  626,  633,  627,    0,  634,    0,    0,    0,
1717
 
      627,    0,  627,  633,  627,  633,  634,  633,  634,  627,
1718
 
      634,  633,  633,  638,  639,  634,    0,    0,    0,  634,
1719
 
        0,    0,    0,  638,  639,  638,  639,  638,  639,  641,
1720
 
      644,    0,  638,  639,    0,    0,    0,    0,    0,  641,
1721
 
      644,  641,  644,  641,  644,  646,    0,  641,  641,  644,
1722
 
        0,  647,    0,  644,    0,  646,    0,  646,  647,  646,
1723
 
 
1724
 
        0,  647,  653,  647,  646,  647,    0,    0,    0,    0,
1725
 
      647,    0,  653,  654,  653,    0,  653,    0,  653,  658,
1726
 
        0,  653,    0,  654,    0,  654,    0,  654,    0,  658,
1727
 
        0,  658,  654,  658,  661,    0,    0,  663,  658,    0,
1728
 
      663,    0,  658,    0,  661,  669,  661,  663,  661,  663,
1729
 
        0,  663,    0,  661,    0,  669,  663,  669,  669,  669,
1730
 
      671,  674,    0,    0,  669,    0,    0,    0,    0,    0,
1731
 
      671,  674,  671,  674,  671,  674,  678,  674,    0,  671,
1732
 
      674,    0,  682,    0,    0,    0,  678,    0,  678,    0,
1733
 
      678,    0,  682,  685,  682,  678,  682,    0,    0,    0,
1734
 
 
1735
 
        0,  682,    0,  685,    0,  685,    0,  685,    0,    0,
1736
 
        0,    0,  685,  689,  689,  689,  689,  689,  689,  689,
1737
 
      689,  689,  689,  689,  689,  689,  689,  690,  690,  690,
1738
 
      690,  690,  690,  690,  690,  690,  690,  690,  690,  690,
1739
 
      690,  691,  691,  691,  691,  691,  691,  691,  691,  691,
1740
 
      691,  691,  691,  691,  691,  692,  692,  692,  692,  692,
1741
 
      692,  692,  692,  692,  692,  692,  692,  692,  692,  693,
1742
 
      693,  693,  693,  693,  693,  693,  693,  693,  693,  693,
1743
 
      693,  693,  693,  694,  694,  694,  694,  694,  694,  694,
1744
 
      694,  694,  694,  694,  694,  694,  694,  695,  695,  695,
1745
 
 
1746
 
        0,  695,  695,  695,  695,  695,  695,  695,  695,  695,
1747
 
      695,  696,  696,    0,    0,  696,    0,    0,  696,    0,
1748
 
      696,  697,  697,    0,  697,  697,  698,  698,    0,  698,
1749
 
      698,  698,  698,    0,  698,  698,  698,  698,  698,  698,
1750
 
      699,  699,  699,    0,  699,  699,  699,  699,  699,  699,
1751
 
      699,  699,  699,  699,  700,  700,  700,  700,  700,  700,
1752
 
      700,  700,  700,    0,  700,  700,  701,    0,    0,  701,
1753
 
      701,  701,  701,  701,  701,  701,  701,  701,  702,    0,
1754
 
        0,  702,  702,  702,  702,  702,  702,  702,  702,  702,
1755
 
      703,    0,    0,  703,    0,  703,  703,  703,  703,  703,
1756
 
 
1757
 
      703,  703,  704,  704,    0,  704,  704,  705,  705,    0,
1758
 
      705,  705,  706,  706,    0,  706,  706,  707,  707,    0,
1759
 
        0,    0,  707,    0,  707,    0,    0,    0,    0,  707,
1760
 
      708,  708,    0,    0,    0,    0,    0,  708,    0,    0,
1761
 
        0,    0,  708,  688,  688,  688,  688,  688,  688,  688,
1762
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1763
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1764
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1765
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1766
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1767
 
 
1768
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1769
 
      688,  688,  688,  688,  688,  688,  688,  688,  688,  688,
1770
 
      688,  688,  688
 
585
static yyconst int yy_meta[84] =
 
586
    {   0,
 
587
        1,    2,    3,    4,    4,    1,    5,    1,    6,    1,
 
588
        1,    1,    1,    7,    1,    1,    8,    8,    8,    8,
 
589
        8,    8,    8,    8,    9,    1,    1,    9,    1,   10,
 
590
       10,   10,   10,   10,   10,   11,   11,   11,   11,   11,
 
591
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
 
592
       11,   11,   11,   11,   11,    1,    1,    1,   11,   11,
 
593
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
 
594
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
 
595
       12,    1,   13
 
596
    } ;
 
597
 
 
598
static yyconst short int yy_base[768] =
 
599
    {   0,
 
600
        0,    0,   81,   84,   87,   99,   94,   96,   93,  108,
 
601
       91,  103,  186,  269,  352,    0, 1657, 1646,  130,  138,
 
602
     1645, 1643,  427,  146, 4507,  158,  207, 1633,  109,  230,
 
603
      493, 1621, 4507,  543,  268,  115,  274,  289,  488,  593,
 
604
      191,  599,  509,  215,  491,  621,  406,  638,  655,  658,
 
605
      678,  689, 1631,  733,    0, 4507, 4507, 1630, 1629, 4507,
 
606
     4507, 1621, 1622, 4507,    0,    0, 1622,    0,    0, 1602,
 
607
     4507, 4507, 4507,    0, 4507, 4507,  757,  839,  122,  166,
 
608
      127, 4507, 1612, 1609, 1604, 4507, 4507, 4507, 4507, 1605,
 
609
      201,    0, 1603, 1603, 1589,   96, 1585,  656, 1588,  772,
 
610
 
 
611
      103,  807, 1580, 4507,  839,  857,  886,  907, 1565,  912,
 
612
      681,  757,  892,  903,  909,  962, 1578,  963,  978,  979,
 
613
      994, 1000, 1016, 1022, 1033, 1046, 1049, 1069, 1066, 1077,
 
614
     1090,   95,   79, 1105, 1108, 1116, 1131, 1142, 1153, 1159,
 
615
     1170,  147, 1183, 1186, 1199, 1207,   94, 1210, 1223, 1234,
 
616
     1247,  143, 1263, 1269, 1280, 1286, 1297, 1308, 1314, 1325,
 
617
      169, 1331, 1347,  194,  225, 1346,    0, 1572,  757,  943,
 
618
     1381,    0, 4507, 1570, 4507,    0, 4507,    0, 1554,    0,
 
619
     1536,  258,  333, 4507,    0, 1561, 4507, 1554,    0, 1552,
 
620
        0, 1550,  226, 1526,  204,  143, 1391, 4507,  866,  894,
 
621
 
 
622
     4507, 1441, 1548, 1385, 1386, 1401, 1402, 1417, 1547, 1425,
 
623
     1428, 1441, 1449, 1491, 1492, 1508, 1509, 1524, 1540, 1546,
 
624
     1557, 1563, 1574, 1580, 1591, 1597, 1608, 1619,  223,  241,
 
625
     1632, 1640, 1643, 1658, 1661, 1664, 1690, 1682, 1693, 1706,
 
626
      226, 1714, 1727, 1735,  495, 1738, 1751, 1759, 1767, 1775,
 
627
      245, 1788, 1791, 1799, 1812, 1820, 1828, 1836, 1849, 1857,
 
628
     1870,  506, 1878, 1894, 1895,  470,  507,  221, 1910, 1546,
 
629
     1954, 1962, 1543, 4507,  285, 1505, 1533, 1489, 1531, 1530,
 
630
     4507, 4507, 4507, 4507,  436,  319, 1495, 1956, 1957, 1972,
 
631
     1978, 1989, 1995, 2011, 2012, 2027, 2035, 2043, 2059, 2056,
 
632
 
 
633
     2067, 2080, 2083, 2098, 2104, 2115, 2121, 2132, 2147, 2153,
 
634
      469,  535, 2164, 2170, 2185, 2186, 2201, 2207, 2222, 2225,
 
635
     2233, 2246,  554, 2254, 2257, 2270,  205, 2278, 2291, 2299,
 
636
     2307,  523, 2315, 2323, 2336, 2344, 2347, 2365, 2362, 2368,
 
637
     2383,  557, 2386, 2389, 2406, 2412, 2423,  612,  528,  631,
 
638
     2439, 2473, 2496, 2519, 2531, 1517,  190, 1486, 2515, 2530,
 
639
     2546, 2543,  623, 2564, 2567, 2570, 2585, 2588, 2596, 2609,
 
640
     2617, 2630, 2641, 2647, 2658, 2669, 2684, 2690, 2701, 2707,
 
641
     2722,  248,  558,  632, 2723, 2743, 2740, 2761, 2760, 2776,
 
642
     2782, 2793, 2806, 2817,  613, 2814, 2830, 2838,  617, 2846,
 
643
 
 
644
      309, 2854, 2867,  625, 2880, 2883, 2891, 2904,  636,  641,
 
645
     2915, 2921, 2932,  643, 2943,  668,  639,  621,  441, 2987,
 
646
     4507,  302, 1508, 2971, 2987, 2984,  649, 2995, 3008, 3011,
 
647
     3028, 3034, 3045, 3051, 3066, 3072, 3089, 3095, 3106, 3112,
 
648
     3123, 3129, 3140, 3146, 3162,  656,  680,  730, 3163, 3178,
 
649
     3184, 3195, 3201, 3216, 3222, 3233, 3248, 3254,  785,  878,
 
650
     3265, 3281,  511, 3278, 1482, 3289, 3302,  885, 3310, 3325,
 
651
     3328, 3331,  734,  664, 3346, 3349,  806,  735,  733,  830,
 
652
      880, 3398, 3410, 1481, 1461, 3364, 3404,  732, 3405, 3422,
 
653
     3421, 3437, 3438, 3453, 3454, 3469, 3475, 3486, 3492, 3503,
 
654
 
 
655
     3514, 3525, 3531, 3542,  982,  790,  887, 3548, 3559, 3570,
 
656
     3576, 3587, 3593, 3608, 3609, 3624, 3630, 1445,  823, 3641,
 
657
      905, 3647, 1448, 3658, 3664,  933, 3679, 3685,  924,  984,
 
658
     3701, 1467,  987,  941,  918, 1000, 3735,  101,    0, 3729,
 
659
     3730, 1003, 3745, 3753, 3756, 3769, 3777, 3785, 3793, 3806,
 
660
     3814, 3822, 3830, 1012,  634, 1019, 1004, 3843, 3851, 3854,
 
661
     3867, 3875, 3878, 1056, 1444, 1028, 3891, 1042, 1427, 1022,
 
662
     3912, 3899, 1041, 1037, 3915, 1002, 1068, 1057, 1048, 3964,
 
663
     1381,  290, 1410, 3930, 3948, 1436, 3959, 3965, 3980, 3981,
 
664
     3996,  514, 4002, 4013, 1070, 1065, 1115, 1435, 4019, 4030,
 
665
 
 
666
     4041, 1026, 1403, 1131, 1109, 1397, 1127,  798, 1425, 1138,
 
667
     4047, 1089, 1129, 1142, 1151, 1493, 4507, 1392, 1358, 4058,
 
668
     4064, 4079, 4080, 4095, 1374, 4096, 4111, 1111, 1146, 1124,
 
669
     4117, 4128, 4139, 1150, 1322, 1179, 1193, 1299, 1185, 1296,
 
670
     1196, 1318, 1220, 1202, 1205, 1254, 1218, 4145, 4156, 4162,
 
671
     1227, 4173, 1168, 1118, 1174, 4184, 4190, 1218, 1224, 1209,
 
672
     1255, 1148, 1229, 1138, 1272, 1233, 1257, 1273, 1126, 1012,
 
673
     1009, 4205, 1244, 1281, 1287, 4206, 4221, 1020,  966, 1302,
 
674
     1268,  915, 1306,    0, 1357, 1340, 1275, 1409,  902,  886,
 
675
      889, 4222,  822, 1291,  820,  779,  818, 1223,    0, 1349,
 
676
 
 
677
      807, 1366, 1420,  805,  771,  742,  767, 1424,    0, 1288,
 
678
     1462, 1463,  796,  696,  670,  676,  697, 1379,  541,  539,
 
679
      504,  459,    0,  441,    0,  378,  422,  373,  397,  366,
 
680
      281,  275,  268,  280,  267,  814, 1166,  115,  100, 4507,
 
681
     4507, 4272, 4285, 4298, 4311, 4324, 4337, 4349, 4353, 4364,
 
682
     4377, 4390, 4401, 4412, 4417, 4422, 4427, 4431, 4436, 4440,
 
683
     4444, 4448, 4452, 4463, 4470, 4481, 4493
 
684
    } ;
 
685
 
 
686
static yyconst short int yy_def[768] =
 
687
    {   0,
 
688
      741,    1,  742,  742,  742,  742,  743,  743,  744,  744,
 
689
      745,  745,  746,  746,  741,   15,  741,  741,  741,  741,
 
690
      741,  747,  741,  748,  741,  741,  741,  741,  741,  741,
 
691
      741,  741,  741,  741,   34,   34,   34,   34,   34,   34,
 
692
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
693
       34,   34,  749,  741,  750,  741,  741,  741,  741,  741,
 
694
      741,  741,  741,  741,  751,  751,  741,  752,  752,  741,
 
695
      741,  741,  741,  753,  741,  741,  754,  754,  741,  741,
 
696
       23,  741,  741,  741,  755,  741,  741,  741,  741,  741,
 
697
      741,  747,  747,  741,  756,  741,  757,  748,  748,  741,
 
698
 
 
699
      741,  741,  741,  741,  741,  741,  741,  741,  741,  758,
 
700
       34,   34,   34,   34,   34,   34,  759,   34,   34,   34,
 
701
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
702
       34,  759,  759,   34,   34,   34,   34,   34,   34,   34,
 
703
       34,  759,   34,   34,   34,   34,  759,   34,   34,   34,
 
704
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
 
705
      759,   34,   34,  759,  759,   34,  760,  749,  741,  741,
 
706
      741,  750,  741,  741,  741,  751,  741,  752,  741,  753,
 
707
       78,   78,  741,  741,  761,  755,  741,  741,  762,  756,
 
708
      763,  757,  741,  741,  764,  741,  741,  741,  741,  741,
 
709
 
 
710
      741,  758,  765,   34,   34,   34,   34,   34,  765,   34,
 
711
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
712
       34,   34,   34,   34,   34,   34,   34,   34,  759,  759,
 
713
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
714
      759,   34,   34,   34,  759,   34,   34,   34,   34,   34,
 
715
      759,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
716
       34,  759,   34,   34,   34,  759,  759,  759,   34,  760,
 
717
      741,  741,  741,  741,   78,   78,  761,  741,  762,  763,
 
718
      741,  741,  741,  741,  764,  741,  741,   34,   34,   34,
 
719
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
720
 
 
721
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
722
      759,  759,   34,   34,   34,   34,   34,   34,   34,   34,
 
723
       34,   34,  759,   34,   34,   34,  759,   34,   34,   34,
 
724
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
 
725
       34,  759,   34,   34,   34,   34,   34,  759,  759,  759,
 
726
       34,  741,  741,  741,  741,  741,   78,  741,   34,   34,
 
727
       34,   34,  759,   34,   34,   34,   34,   34,   34,   34,
 
728
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
729
       34,  759,  759,  759,   34,   34,   34,   34,   34,   34,
 
730
       34,   34,   34,   34,  759,   34,   34,   34,  759,   34,
 
731
 
 
732
      202,   34,   34,  759,   34,   34,   34,   34,  759,  759,
 
733
       34,   34,   34,  759,   34,  759,  759,  759,  741,  741,
 
734
      741,   78,  741,   34,   34,   34,  759,   34,   34,   34,
 
735
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
736
       34,   34,   34,   34,   34,  759,  759,  759,   34,   34,
 
737
       34,   34,   34,   34,   34,   34,   34,   34,  202,  759,
 
738
       34,   34,  759,   34,  202,   34,   34,  759,   34,   34,
 
739
       34,   34,  759,  759,   34,   34,  759,  759,  759,  759,
 
740
      759,  741,  741,   78,  741,   34,   34,  759,   34,   34,
 
741
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
742
 
 
743
       34,   34,   34,   34,  759,  759,  759,   34,   34,   34,
 
744
       34,   34,   34,   34,   34,   34,   34,  202,  759,   34,
 
745
      759,   34,  202,   34,   34,  759,   34,   34,  759,  759,
 
746
       34,  759,  759,  759,  759,  759,  741,   78,  766,   34,
 
747
       34,  759,   34,   34,   34,   34,   34,   34,   34,   34,
 
748
       34,   34,   34,  759,  759,  759,  759,   34,   34,   34,
 
749
       34,   34,   34,  759,  202,  759,   34,  759,  202,  759,
 
750
       34,   34,  759,  759,   34,  759,  759,  759,  759,  741,
 
751
      767,   78,  741,   34,   34,  759,   34,   34,   34,   34,
 
752
       34,  202,   34,   34,  759,  759,  759,  759,   34,   34,
 
753
 
 
754
       34,  759,  202,  759,  759,  202,  759,  202,  759,  759,
 
755
       34,  759,  759,  759,  759,  741,  741,  753,  741,   34,
 
756
       34,   34,   34,   34,  202,   34,   34,  759,  759,  759,
 
757
       34,   34,   34,  759,  202,  759,  759,  202,  759,  202,
 
758
      759,  759,  759,  759,  759,  753,  741,   34,   34,   34,
 
759
      202,   34,  759,  759,  759,   34,   34,  759,  202,  759,
 
760
      759,  202,  759,  202,  759,  759,  759,  759,  753,  741,
 
761
      202,   34,  759,  759,  759,   34,   34,  759,  202,  759,
 
762
      759,  202,  759,  202,  759,  759,  759,  759,  753,  741,
 
763
      202,   34,  759,  759,  759,  202,  759,  759,  202,  759,
 
764
 
 
765
      759,  759,  759,  759,  753,  741,  202,  759,  202,  759,
 
766
      759,  759,  759,  753,  741,  202,  759,  759,  759,  759,
 
767
      753,  741,  202,  759,  753,  741,  741,  741,  741,  741,
 
768
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
769
        0,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
770
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
771
      741,  741,  741,  741,  741,  741,  741
 
772
    } ;
 
773
 
 
774
static yyconst short int yy_nxt[4591] =
 
775
    {   0,
 
776
       18,   19,   20,   19,   19,   21,   22,   23,   24,   25,
 
777
       18,   26,   25,   27,   28,   29,   30,   31,   31,   31,
 
778
       31,   31,   31,   31,   32,   21,   33,   33,   18,   34,
 
779
       35,   36,   37,   38,   39,   40,   41,   42,   41,   41,
 
780
       41,   43,   44,   45,   46,   41,   47,   48,   49,   50,
 
781
       51,   52,   41,   41,   41,   25,   21,   21,   53,   53,
 
782
       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
 
783
       53,   53,   53,   53,   53,   53,   53,   53,   53,   53,
 
784
       54,   21,   25,   56,   57,   57,   56,   57,   57,   56,
 
785
       57,   57,  209,   69,   58,   66,   61,   58,   61,   67,
 
786
 
 
787
       59,   56,   57,   57,   62,   69,   62,  209,  209,   63,
 
788
       66,   63,   59,  740,   67,   70,  195,   90,   71,  104,
 
789
       64,   94,   64,  183,  183,  183,  183,   70,  739,  196,
 
790
       71,   91,   91,   91,   91,  741,  582,  230,   90,   91,
 
791
       91,   91,   91,  181,  286,  111,   90,   98,   98,   98,
 
792
       98,  123,  741,   96,   90,  124,  209,  111,  125,  111,
 
793
      209,  245,   98,   98,  111,  229,   90,  183,  183,  183,
 
794
      183,   72,  287,   73,  100,  100,  100,  100,  100,  100,
 
795
      100,  100,  209,   72,  741,   73,   74,   75,   76,   75,
 
796
       75,   74,   74,   74,   74,   74,   74,   74,   74,   74,
 
797
 
 
798
       74,   74,   91,   91,   91,   91,  284,  209,  284,  251,
 
799
       74,   74,   74,   74,   74,   90,  241,  285,  209,   78,
 
800
      101,  111,  422,  100,  102,  102,  102,  102,  102,  102,
 
801
      102,  111,  181,  111,  209,  111,  209,  262,  209,  209,
 
802
      111,   74,   74,   74,  105,  111,  106,  106,  106,  106,
 
803
      106,  106,  106,  106,  209,  111,  281,  111,  209,  111,
 
804
      266,  209,  282,  107,  141,  399,   75,   74,   75,   74,
 
805
       75,   76,   75,   75,   74,   74,   74,   74,   74,   74,
 
806
       74,   74,   74,   74,   74,  311,  267,  350,  323,  275,
 
807
      276,  142,  107,   74,   74,   74,   74,   74,  111,  268,
 
808
 
 
809
      181,  118,   78,  618,  111,  119,  446,  126,  111,  120,
 
810
      111,  121,  111,  312,  111,  332,  111,  111,  111,  111,
 
811
      286,  122,  741,  111,   74,   74,   74,  181,  357,  111,
 
812
      127,  128,  181,  111,  183,  183,  183,  183,  111,  484,
 
813
      736,  129,  735,  734,  181,  733,  465,  732,  287,   75,
 
814
       74,   75,   33,   79,   80,   79,   79,   33,   33,   81,
 
815
       33,   33,   33,   33,   82,   83,   33,   84,   33,   33,
 
816
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
 
817
       33,   85,   85,   85,   85,   85,   85,   85,   85,   85,
 
818
       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
 
819
 
 
820
       85,   85,   85,   85,   85,   85,   85,   86,   87,   33,
 
821
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
 
822
       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
 
823
       33,   33,   88,   33,   89,   90,  111,  731,  284,  153,
 
824
      284,  730,  419,  419,  419,  419,  111,  729,  111,  285,
 
825
      111,  728,   94,  727,  209,  111,   95,   95,   95,   95,
 
826
       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
 
827
       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
 
828
       95,   95,  209,  209,   96,   97,   97,   97,   97,   97,
 
829
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
 
830
 
 
831
       97,   97,   97,   97,   97,   97,   97,  105,  209,  108,
 
832
      108,  108,  108,  108,  108,  108,  108,  130,  111,  209,
 
833
      209,  143,  144,  421,  209,  145,  107,  741,  111,  726,
 
834
      111,  111,  111,  111,  131,  146,  209,  111,  139,  111,
 
835
      111,  209,  382,  521,  725,  625,  140,  348,  209,  111,
 
836
      147,  111,  209,  111,  209,  107,  110,  327,  111,  111,
 
837
      111,  111,  111,  111,  111,  111,  111,  209,  342,  349,
 
838
      209,  209,  111,  112,  111,  111,  111,  111,  111,  111,
 
839
      111,  111,  111,  113,  111,  114,  111,  115,  111,  111,
 
840
      111,  111,  116,  111,  111,  111,  111,  111,  404,  417,
 
841
 
 
842
      383,  117,  117,  117,  117,  117,  117,  117,  117,  117,
 
843
      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
 
844
      117,  117,  117,  111,  447,  209,  209,  395,  134,  111,
 
845
      209,  135,  410,  111,  209,  111,  209,  111,  209,  111,
 
846
      136,  137,  111,  111,  209,  209,  138,  209,  111,  209,
 
847
      148,  111,  209,  149,  209,  132,  209,   98,   98,   98,
 
848
       98,  150,  209,  111,  193,  111,  133,  151,  111,  209,
 
849
      111,  154,   98,   98,  416,  155,  158,  209,  111,  460,
 
850
      111,  209,  111,  468,  159,  111,  156,  111,  111,  481,
 
851
      418,  157,  463,  209,  152,  111,  427,  111,  111,  111,
 
852
 
 
853
      162,  160,  111,  474,  111,  448,  163,  111,  111,  473,
 
854
      209,  111,  477,  596,  480,  488,  723,  161,  111,  111,
 
855
      111,  111,  111,  111,  505,  111,  166,  111,  164,  111,
 
856
      111,  111,  722,  111,  169,  169,  169,  169,  111,  721,
 
857
      506,  479,  530,  209,  165,  209,  209,  209,  209,  170,
 
858
      170,  170,  170,  170,  170,  171,  171,  180,  169,  169,
 
859
      169,  169,  180,  180,  180,  180,  180,  180,  180,  180,
 
860
      180,  180,  180,  170,  170,  170,  170,  170,  170,  171,
 
861
      171,  180,  180,  180,  180,  180,  105,  111,  106,  106,
 
862
      106,  106,  106,  106,  106,  106,  507,  111,  741,  111,
 
863
 
 
864
      529,  111,  542,  209,  204,  107,  111,  534,  533,  209,
 
865
      716,  741,  180,  180,  180,  737,  715,  714,  209,  209,
 
866
      209,  105,  518,  197,  197,  197,  197,  197,  197,  197,
 
867
      197,  209,  709,  209,  107,  209,  209,  556,  180,  180,
 
868
      107,  640,  738,  209,  180,  180,  180,  180,  180,  180,
 
869
      180,  180,  180,  180,  180,  199,  199,  199,  199,  199,
 
870
      199,  199,  199,  180,  180,  180,  180,  180,  532,  107,
 
871
      566,  105,  107,  106,  106,  106,  106,  106,  106,  106,
 
872
      106,  182,  199,  199,  199,  199,  199,  199,  199,  199,
 
873
      107,  209,  535,  209,  180,  180,  180,  200,  209,  200,
 
874
 
 
875
      209,  107,  199,  199,  199,  199,  199,  199,  199,  199,
 
876
      199,  199,  199,  199,  199,  199,  199,  199,  209,  107,
 
877
      180,  105,  111,  108,  108,  108,  108,  108,  108,  108,
 
878
      108,  209,  205,  111,  111,  707,  111,  209,  519,  111,
 
879
      107,  111,  536,  111,  526,  111,  209,  111,  706,  111,
 
880
      705,  111,  111,  207,  209,  271,  206,  557,  111,  171,
 
881
      171,  171,  171,  171,  171,  171,  171,  568,  699,  107,
 
882
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
 
883
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
 
884
      203,  203,  111,  111,  573,  209,  578,  209,  210,  577,
 
885
 
 
886
      209,  570,  111,  111,  111,  111,  111,  111,  111,  111,
 
887
      208,  111,  111,  209,  696,  209,  209,  209,  111,  111,
 
888
      111,  111,  111,  212,  111,  209,  211,  111,  111,  554,
 
889
      111,  574,  209,  209,  111,  209,  111,  213,  111,  209,
 
890
      111,  209,  111,  111,  111,  214,  111,  579,  555,  111,
 
891
      209,  216,  111,  576,  209,  209,  111,  691,  111,  215,
 
892
      111,  209,  111,  111,  111,  111,  111,  586,  598,  209,
 
893
      209,  111,  612,  111,  217,  218,  111,  111,  209,  220,
 
894
      219,  209,  111,  209,  607,  690,  111,  595,  111,  111,
 
895
      111,  111,  634,  111,  597,  111,  111,  224,  111,  111,
 
896
 
 
897
      221,  222,  209,  604,  614,  609,  111,  111,  111,  111,
 
898
      225,  111,  610,  111,  226,  111,  605,  227,  223,  111,
 
899
      111,  111,  209,  615,  209,  231,  111,  629,  209,  602,
 
900
      111,  209,  111,  228,  111,  111,  613,  209,  111,  111,
 
901
      209,  232,  209,  628,  209,  111,  111,  111,  111,  111,
 
902
      111,  209,  111,  642,  111,  209,  111,  111,  111,  209,
 
903
      233,  111,  234,  209,  209,  111,  674,  737,  689,  637,
 
904
      684,  111,  111,  111,  639,  111,  643,  653,  235,  236,
 
905
      111,  209,  111,  111,  111,  237,  111,  209,  630,  111,
 
906
      655,  111,  209,  111,  738,  111,  682,  111,  209,  111,
 
907
 
 
908
      111,  239,  111,  111,  636,  238,  209,  654,  111,  209,
 
909
      240,  641,  111,  111,  111,  209,  111,  644,  209,  111,
 
910
      658,  242,  209,  111,  645,  111,  111,  111,  111,  111,
 
911
      111,  209,  111,  209,  243,  111,  209,  111,  673,  111,
 
912
      111,  111,  209,  111,  675,  660,  209,  111,  111,  111,
 
913
      111,  111,  111,  111,  111,  244,  111,  209,  246,  111,
 
914
      663,  679,  665,  111,  111,  111,  661,  111,  209,  671,
 
915
      209,  668,  111,  247,  111,  667,  111,  111,  111,  680,
 
916
      249,  209,  678,  248,  250,  209,  209,  111,  209,  111,
 
917
      670,  111,  252,  111,  209,  666,  111,  669,  710,  111,
 
918
 
 
919
      209,  209,  683,  253,  209,  111,  686,  111,  693,  111,
 
920
      111,  111,  111,  111,  254,  209,  111,  255,  111,  209,
 
921
      111,  681,  111,  687,  111,  259,  111,  111,  111,  111,
 
922
      111,  209,  257,  664,  256,  111,  662,  111,  111,  258,
 
923
      698,  111,  685,  688,  111,  703,  111,  694,  111,  260,
 
924
      111,  695,  111,  209,  111,  111,  111,  111,  111,  718,
 
925
      708,  111,  209,  111,  659,  111,  697,  111,  263,  111,
 
926
      209,  111,  700,  111,  261,  111,  111,  111,  264,  209,
 
927
      111,  265,  616,  616,  616,  616,  111,  111,  111,  111,
 
928
      111,  111,  209,  272,  269,  111,  111,  171,  171,  171,
 
929
 
 
930
      171,  171,  171,  171,  171,  105,  702,  197,  197,  197,
 
931
      197,  197,  197,  197,  197,  111,  111,  651,  288,  711,
 
932
      647,  701,  209,  646,  107,  111,  111,  111,  111,  111,
 
933
      111,  111,  111,  209,  111,  111,  712,  209,  209,  638,
 
934
      635,  111,  289,  111,  111,  111,  111,  111,  209,  209,
 
935
      111,  111,  724,  107,  110,  111,  619,  111,  111,  111,
 
936
      290,  111,  291,  617,  606,  111,  111,  111,  111,  111,
 
937
      111,  111,  111,  704,  111,  209,  209,  111,  603,  111,
 
938
      209,  111,  569,  111,  713,  111,  717,  565,  292,  293,
 
939
      111,  111,  539,  111,  616,  616,  616,  616,  111,  203,
 
940
 
 
941
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
 
942
      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
 
943
      203,  111,  111,  538,  523,  485,  719,  720,  423,  295,
 
944
      356,  111,  111,  111,  111,  111,  111,  294,  111,  111,
 
945
      111,  111,  358,  191,  189,  187,  185,  181,  111,  111,
 
946
      111,  111,  111,  297,  111,  296,  356,  111,  111,  167,
 
947
      741,  209,  282,  191,  111,  189,  111,  278,  111,  300,
 
948
      111,  298,  299,  111,  185,  617,  111,  301,  181,  302,
 
949
      111,  274,  111,  273,  111,  167,  111,  111,  111,  111,
 
950
      111,  209,  201,  111,  198,  111,  194,  111,  191,  111,
 
951
 
 
952
      303,  111,  189,  111,  111,  111,  111,  111,  188,  187,
 
953
      111,  187,  111,  305,  111,  304,  111,  185,  111,  104,
 
954
      111,  111,  111,  111,  111,  184,  179,  111,  177,  111,
 
955
      308,  306,  104,  111,  307,  111,  175,  111,  111,  111,
 
956
      111,  111,  174,  173,  167,  109,  111,  103,  111,  111,
 
957
      111,   93,  111,   90,   90,  309,  741,  111,  741,  111,
 
958
      310,  111,  111,  111,  741,  741,  741,  741,  111,  741,
 
959
      111,  741,  111,  111,  111,  741,  111,  741,  741,  313,
 
960
      111,  111,  314,  315,  111,  111,  316,  111,  111,  111,
 
961
      741,  111,  111,  741,  111,  741,  741,  319,  317,  741,
 
962
 
 
963
      111,  111,  111,  111,  111,  111,  111,  111,  111,  318,
 
964
      111,  320,  111,  111,  741,  741,  741,  741,  741,  741,
 
965
      111,  741,  111,  111,  111,  741,  111,  741,  741,  741,
 
966
      111,  111,  111,  111,  111,  111,  111,  111,  741,  111,
 
967
      741,  741,  321,  741,  111,  741,  322,  324,  111,  741,
 
968
      111,  741,  741,  741,  111,  111,  111,  111,  111,  741,
 
969
      325,  741,  741,  111,  741,  111,  741,  111,  111,  111,
 
970
      741,  111,  326,  741,  741,  111,  111,  111,  111,  111,
 
971
      111,  111,  111,  741,  111,  741,  328,  111,  741,  111,
 
972
      741,  111,  741,  111,  741,  111,  741,  111,  741,  111,
 
973
 
 
974
      111,  111,  741,  111,  741,  111,  329,  111,  111,  111,
 
975
      741,  111,  741,  741,  330,  111,  111,  111,  111,  111,
 
976
      334,  111,  741,  741,  111,  331,  741,  741,  333,  111,
 
977
      111,  111,  111,  111,  741,  111,  741,  111,  741,  111,
 
978
      111,  111,  111,  111,  741,  741,  741,  741,  335,  741,
 
979
      111,  741,  111,  336,  111,  741,  111,  741,  111,  741,
 
980
      111,  111,  111,  741,  111,  337,  111,  741,  111,  111,
 
981
      111,  741,  111,  741,  741,  741,  111,  111,  111,  111,
 
982
      111,  741,  741,  741,  338,  111,  741,  111,  741,  111,
 
983
      741,  111,  741,  111,  741,  741,  339,  111,  111,  111,
 
984
 
 
985
      111,  111,  741,  341,  340,  741,  111,  741,  111,  741,
 
986
      111,  741,  111,  741,  111,  741,  741,  347,  111,  111,
 
987
      111,  343,  111,  344,  111,  111,  741,  111,  345,  741,
 
988
      741,  741,  741,  741,  111,  111,  111,  111,  111,  111,
 
989
      111,  741,  346,  111,  111,  741,  351,  741,  741,  741,
 
990
      111,  741,  111,  741,  111,  352,  352,  352,  352,  111,
 
991
      741,  741,  741,  354,  354,  354,  354,  741,  741,  741,
 
992
      353,  353,  353,  353,  353,  353,  353,  353,  355,  355,
 
993
      355,  355,  355,  355,  355,  355,  111,  111,  741,  741,
 
994
      741,  741,  741,  741,  360,  741,  111,  111,  359,  111,
 
995
 
 
996
      111,  111,  111,  741,  741,  111,  111,  741,  111,  741,
 
997
      741,  741,  111,  361,  111,  741,  111,  741,  111,  111,
 
998
      362,  111,  111,  741,  741,  111,  741,  111,  364,  111,
 
999
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1000
      365,  111,  111,  366,  111,  741,  741,  741,  741,  741,
 
1001
      741,  111,  111,  111,  111,  111,  111,  111,  741,  741,
 
1002
      111,  111,  741,  741,  363,  111,  741,  111,  741,  111,
 
1003
      741,  111,  741,  111,  367,  111,  111,  111,  368,  111,
 
1004
      741,  741,  741,  111,  111,  111,  111,  111,  370,  111,
 
1005
      741,  369,  111,  741,  741,  741,  111,  111,  111,  111,
 
1006
 
 
1007
      111,  111,  741,  111,  741,  371,  741,  111,  111,  372,
 
1008
      111,  111,  373,  111,  741,  374,  111,  741,  741,  741,
 
1009
      111,  741,  111,  111,  111,  111,  741,  111,  111,  111,
 
1010
      741,  375,  111,  741,  111,  741,  741,  741,  111,  741,
 
1011
      111,  741,  111,  741,  111,  111,  111,  111,  376,  741,
 
1012
      741,  111,  377,  111,  741,  111,  741,  111,  741,  111,
 
1013
      741,  111,  111,  111,  111,  111,  741,  378,  741,  741,
 
1014
      111,  741,  111,  741,  379,  741,  111,  111,  380,  741,
 
1015
      381,  111,  741,  111,  741,  741,  741,  111,  741,  111,
 
1016
      741,  111,  741,  111,  111,  111,  111,  111,  741,  741,
 
1017
 
 
1018
      111,  741,  111,  741,  111,  741,  111,  741,  111,  741,
 
1019
      111,  741,  111,  111,  111,  111,  111,  741,  385,  111,
 
1020
      741,  741,  386,  741,  741,  111,  111,  111,  111,  111,
 
1021
      111,  111,  387,  741,  111,  111,  389,  111,  741,  384,
 
1022
      741,  111,  741,  111,  393,  111,  741,  111,  741,  111,
 
1023
      388,  111,  111,  390,  741,  111,  111,  391,  741,  741,
 
1024
      741,  741,  111,  111,  111,  111,  111,  111,  392,  111,
 
1025
      741,  111,  741,  111,  111,  111,  111,  111,  741,  741,
 
1026
      394,  741,  111,  741,  111,  396,  111,  111,  111,  741,
 
1027
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,
 
1028
 
 
1029
      111,  111,  741,  111,  401,  397,  111,  741,  111,  741,
 
1030
      111,  400,  111,  398,  111,  741,  741,  741,  111,  111,
 
1031
      111,  111,  111,  741,  741,  741,  741,  111,  741,  111,
 
1032
      741,  111,  402,  111,  741,  111,  403,  111,  741,  111,
 
1033
      111,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1034
      741,  111,  741,  111,  741,  111,  111,  111,  741,  111,
 
1035
      741,  741,  741,  111,  111,  111,  111,  111,  741,  406,
 
1036
      741,  405,  111,  741,  111,  741,  111,  111,  111,  741,
 
1037
      111,  741,  741,  741,  111,  111,  111,  111,  111,  407,
 
1038
      741,  111,  111,  111,  408,  111,  111,  741,  111,  741,
 
1039
 
 
1040
      741,  741,  111,  741,  111,  111,  111,  111,  111,  111,
 
1041
      111,  111,  111,  111,  111,  741,  111,  111,  741,  111,
 
1042
      741,  741,  741,  111,  741,  111,  111,  111,  411,  111,
 
1043
      111,  111,  111,  111,  741,  111,  111,  409,  412,  413,
 
1044
      741,  741,  111,  741,  741,  741,  111,  741,  111,  741,
 
1045
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
 
1046
      741,  111,  741,  111,  741,  111,  741,  111,  741,  111,
 
1047
      415,  741,  111,  741,  352,  352,  352,  352,  414,  111,
 
1048
      741,  111,  741,  111,  741,  741,  741,  741,  111,  353,
 
1049
      353,  353,  353,  353,  353,  353,  353,  419,  419,  419,
 
1050
 
 
1051
      419,  741,  741,  741,  741,  741,  741,  741,  420,  741,
 
1052
      741,  741,  353,  353,  353,  353,  353,  353,  353,  353,
 
1053
      354,  354,  354,  354,  741,  741,  741,  741,  741,  741,
 
1054
      741,  741,  741,  741,  741,  355,  355,  355,  355,  355,
 
1055
      355,  355,  355,  420,  741,  111,  741,  355,  355,  355,
 
1056
      355,  355,  355,  355,  355,  111,  741,  111,  741,  111,
 
1057
      111,  425,  741,  424,  111,  741,  741,  741,  741,  741,
 
1058
      111,  741,  111,  111,  111,  426,  111,  741,  421,  111,
 
1059
      741,  741,  741,  111,  741,  111,  111,  111,  111,  741,
 
1060
      111,  741,  111,  428,  111,  111,  741,  111,  429,  741,
 
1061
 
 
1062
      111,  741,  741,  430,  111,  741,  111,  111,  111,  111,
 
1063
      111,  111,  111,  111,  111,  111,  111,  741,  111,  111,
 
1064
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
 
1065
      431,  741,  111,  741,  111,  741,  111,  111,  111,  111,
 
1066
      111,  741,  432,  741,  741,  111,  433,  111,  741,  111,
 
1067
      741,  111,  741,  111,  741,  741,  741,  434,  111,  111,
 
1068
      111,  111,  741,  435,  741,  741,  111,  436,  741,  741,
 
1069
      111,  111,  111,  437,  111,  741,  741,  111,  741,  111,
 
1070
      438,  111,  741,  111,  439,  111,  741,  111,  111,  111,
 
1071
      111,  111,  741,  741,  741,  741,  111,  741,  111,  111,
 
1072
 
 
1073
      111,  741,  111,  741,  440,  741,  741,  111,  741,  111,
 
1074
      741,  111,  741,  111,  111,  442,  741,  441,  111,  741,
 
1075
      111,  741,  741,  741,  111,  741,  111,  741,  111,  741,
 
1076
      111,  111,  111,  111,  111,  741,  741,  111,  443,  111,
 
1077
      741,  111,  741,  111,  741,  111,  741,  111,  444,  445,
 
1078
      111,  111,  111,  111,  741,  741,  111,  741,  741,  741,
 
1079
      449,  741,  111,  111,  111,  111,  111,  111,  741,  741,
 
1080
      111,  111,  111,  111,  450,  741,  451,  741,  741,  741,
 
1081
      111,  741,  111,  111,  111,  111,  741,  111,  452,  111,
 
1082
      111,  111,  111,  453,  741,  741,  741,  741,  741,  741,
 
1083
 
 
1084
      111,  111,  454,  111,  111,  111,  111,  741,  741,  111,
 
1085
      111,  741,  111,  741,  741,  456,  111,  741,  111,  741,
 
1086
      111,  741,  111,  111,  111,  455,  111,  458,  741,  741,
 
1087
      459,  111,  741,  111,  741,  111,  111,  111,  741,  741,
 
1088
      457,  741,  111,  741,  111,  741,  111,  111,  111,  741,
 
1089
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,
 
1090
      111,  111,  461,  111,  741,  741,  111,  741,  111,  741,
 
1091
      111,  741,  111,  741,  111,  741,  111,  741,  111,  111,
 
1092
      462,  741,  111,  741,  111,  741,  111,  111,  111,  741,
 
1093
      111,  741,  464,  741,  111,  111,  466,  111,  111,  741,
 
1094
 
 
1095
      741,  741,  741,  111,  741,  741,  741,  111,  741,  111,
 
1096
      111,  111,  741,  111,  741,  467,  111,  469,  741,  741,
 
1097
      111,  111,  111,  111,  111,  470,  471,  111,  741,  111,
 
1098
      741,  111,  111,  111,  111,  111,  741,  741,  741,  741,
 
1099
      111,  741,  741,  741,  111,  111,  111,  741,  111,  741,
 
1100
      741,  111,  741,  111,  475,  111,  472,  111,  741,  111,
 
1101
      741,  111,  111,  111,  111,  111,  741,  741,  741,  741,
 
1102
      111,  741,  111,  111,  111,  741,  111,  741,  476,  741,
 
1103
      741,  111,  741,  111,  741,  111,  741,  111,  482,  482,
 
1104
      482,  482,  111,  741,  741,  741,  741,  741,  741,  741,
 
1105
 
 
1106
      741,  111,  741,  483,  483,  483,  483,  483,  483,  483,
 
1107
      483,  111,  741,  111,  111,  111,  486,  111,  478,  741,
 
1108
      111,  741,  741,  741,  111,  111,  111,  111,  111,  111,
 
1109
      741,  111,  487,  111,  741,  111,  111,  489,  111,  111,
 
1110
      741,  111,  741,  741,  111,  741,  741,  741,  111,  741,
 
1111
      111,  111,  111,  111,  741,  111,  490,  111,  111,  741,
 
1112
      111,  491,  741,  492,  111,  741,  741,  741,  111,  741,
 
1113
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,
 
1114
      741,  111,  741,  111,  741,  111,  741,  493,  741,  111,
 
1115
      741,  111,  741,  111,  111,  111,  111,  741,  495,  494,
 
1116
 
 
1117
      111,  741,  111,  741,  741,  741,  111,  741,  111,  741,
 
1118
      111,  741,  111,  741,  111,  111,  111,  741,  741,  111,
 
1119
      496,  111,  497,  741,  741,  111,  741,  498,  741,  111,
 
1120
      741,  111,  741,  111,  741,  111,  111,  111,  111,  111,
 
1121
      741,  500,  111,  741,  111,  741,  111,  741,  499,  741,
 
1122
      111,  741,  111,  111,  111,  111,  111,  741,  741,  111,
 
1123
      741,  111,  741,  111,  741,  111,  501,  111,  741,  111,
 
1124
      111,  111,  111,  111,  741,  741,  111,  741,  111,  741,
 
1125
      111,  741,  111,  503,  111,  741,  111,  502,  111,  111,
 
1126
      111,  504,  111,  111,  741,  111,  741,  508,  741,  741,
 
1127
 
 
1128
      741,  741,  111,  111,  111,  111,  111,  111,  111,  741,
 
1129
      741,  111,  111,  741,  111,  509,  510,  741,  111,  741,
 
1130
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,
 
1131
      741,  111,  741,  111,  512,  111,  741,  111,  741,  111,
 
1132
      741,  111,  511,  111,  111,  111,  111,  513,  741,  741,
 
1133
      111,  741,  111,  514,  741,  741,  111,  741,  111,  741,
 
1134
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
 
1135
      741,  111,  741,  111,  741,  111,  741,  111,  111,  515,
 
1136
      741,  516,  111,  741,  111,  741,  741,  741,  111,  741,
 
1137
      111,  741,  111,  741,  111,  111,  111,  111,  111,  741,
 
1138
 
 
1139
      741,  517,  741,  111,  741,  111,  741,  111,  111,  111,
 
1140
      520,  111,  741,  741,  111,  741,  741,  741,  111,  111,
 
1141
      522,  111,  111,  111,  741,  111,  741,  111,  741,  111,
 
1142
      111,  111,  111,  111,  741,  525,  741,  524,  111,  741,
 
1143
      111,  741,  111,  741,  111,  741,  111,  741,  741,  741,
 
1144
      111,  111,  111,  741,  111,  111,  528,  741,  111,  111,
 
1145
      527,  111,  741,  741,  741,  111,  741,  111,  111,  111,
 
1146
      111,  111,  111,  111,  111,  111,  111,  111,  741,  111,
 
1147
      111,  741,  741,  741,  741,  741,  111,  741,  111,  111,
 
1148
      111,  111,  741,  111,  111,  111,  531,  741,  111,  482,
 
1149
 
 
1150
      482,  482,  482,  741,  111,  741,  111,  741,  111,  741,
 
1151
      741,  741,  540,  111,  483,  483,  483,  483,  483,  483,
 
1152
      483,  483,  537,  741,  741,  741,  483,  483,  483,  483,
 
1153
      483,  483,  483,  483,  111,  111,  741,  741,  741,  741,
 
1154
      741,  541,  741,  741,  111,  111,  111,  111,  111,  111,
 
1155
      741,  111,  111,  111,  111,  543,  741,  741,  741,  741,
 
1156
      741,  111,  111,  544,  111,  111,  111,  111,  111,  741,
 
1157
      111,  111,  741,  741,  545,  546,  741,  111,  111,  111,
 
1158
      111,  111,  111,  111,  111,  741,  111,  111,  741,  741,
 
1159
      741,  741,  741,  111,  111,  111,  111,  111,  111,  111,
 
1160
 
 
1161
      741,  741,  111,  111,  741,  111,  547,  548,  741,  111,
 
1162
      741,  111,  741,  111,  741,  111,  111,  111,  111,  111,
 
1163
      741,  741,  111,  741,  111,  741,  111,  549,  111,  741,
 
1164
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
 
1165
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
 
1166
      741,  550,  111,  741,  111,  111,  111,  741,  111,  741,
 
1167
      741,  552,  551,  111,  741,  111,  741,  111,  741,  111,
 
1168
      741,  111,  111,  111,  111,  111,  741,  741,  111,  741,
 
1169
      111,  741,  553,  741,  111,  558,  111,  741,  111,  111,
 
1170
      111,  111,  111,  741,  741,  741,  741,  111,  741,  111,
 
1171
 
 
1172
      111,  111,  741,  111,  741,  741,  111,  559,  111,  741,
 
1173
      111,  741,  111,  741,  111,  741,  111,  111,  111,  111,
 
1174
      111,  741,  741,  111,  741,  111,  561,  111,  741,  111,
 
1175
      741,  111,  741,  111,  560,  111,  111,  111,  111,  111,
 
1176
      741,  741,  111,  741,  741,  741,  741,  741,  111,  111,
 
1177
      111,  111,  111,  111,  111,  563,  562,  111,  111,  741,
 
1178
      111,  741,  741,  741,  111,  741,  111,  741,  111,  741,
 
1179
      111,  111,  111,  111,  111,  741,  741,  111,  741,  111,
 
1180
      741,  567,  741,  111,  741,  111,  741,  111,  111,  111,
 
1181
      111,  111,  741,  741,  111,  741,  111,  741,  111,  741,
 
1182
 
 
1183
      111,  741,  111,  741,  111,  564,  111,  111,  111,  111,
 
1184
      741,  741,  571,  111,  741,  111,  741,  741,  572,  111,
 
1185
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1186
      575,  111,  741,  741,  111,  741,  580,  580,  580,  580,
 
1187
      741,  111,  741,  111,  741,  111,  741,  741,  741,  741,
 
1188
      111,  581,  581,  581,  581,  581,  581,  581,  581,  111,
 
1189
      111,  585,  741,  741,  741,  741,  584,  741,  741,  111,
 
1190
      111,  111,  111,  111,  111,  111,  741,  741,  111,  111,
 
1191
      741,  741,  741,  111,  741,  111,  111,  111,  741,  111,
 
1192
      741,  587,  741,  111,  111,  111,  111,  111,  589,  111,
 
1193
 
 
1194
      111,  588,  111,  741,  741,  111,  592,  111,  741,  111,
 
1195
      741,  590,  741,  111,  741,  111,  741,  111,  111,  111,
 
1196
      591,  111,  741,  111,  741,  111,  111,  111,  741,  111,
 
1197
      741,  741,  741,  111,  111,  111,  111,  111,  741,  593,
 
1198
      741,  741,  111,  741,  111,  741,  111,  741,  111,  741,
 
1199
      111,  741,  111,  741,  111,  111,  111,  741,  111,  594,
 
1200
      111,  741,  111,  111,  111,  741,  111,  741,  741,  741,
 
1201
      111,  111,  111,  111,  111,  741,  599,  741,  741,  111,
 
1202
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
 
1203
      741,  111,  111,  111,  111,  111,  111,  111,  111,  741,
 
1204
 
 
1205
      111,  741,  741,  111,  741,  111,  741,  111,  111,  111,
 
1206
      741,  111,  600,  741,  741,  111,  111,  111,  111,  111,
 
1207
      111,  111,  111,  741,  111,  608,  601,  111,  741,  111,
 
1208
      741,  111,  741,  111,  741,  111,  741,  741,  741,  111,
 
1209
      111,  111,  111,  111,  741,  111,  741,  741,  111,  741,
 
1210
      741,  741,  111,  741,  111,  611,  111,  111,  741,  111,
 
1211
      111,  111,  741,  741,  111,  580,  580,  580,  580,  741,
 
1212
      111,  741,  111,  620,  111,  741,  741,  741,  111,  111,
 
1213
      581,  581,  581,  581,  581,  581,  581,  581,  111,  111,
 
1214
      111,  741,  111,  741,  741,  111,  741,  111,  741,  111,
 
1215
 
 
1216
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1217
      111,  111,  621,  622,  111,  741,  623,  741,  741,  741,
 
1218
      111,  111,  111,  111,  111,  111,  111,  741,  741,  111,
 
1219
      111,  741,  111,  741,  626,  741,  111,  741,  624,  741,
 
1220
      111,  741,  111,  111,  111,  111,  111,  741,  741,  111,
 
1221
      741,  111,  741,  627,  741,  111,  741,  111,  741,  111,
 
1222
      111,  111,  111,  111,  741,  631,  741,  741,  111,  741,
 
1223
      111,  111,  111,  632,  111,  741,  741,  111,  633,  111,
 
1224
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1225
      111,  111,  741,  741,  111,  741,  111,  741,  111,  741,
 
1226
 
 
1227
      648,  741,  111,  741,  111,  741,  111,  111,  111,  111,
 
1228
      111,  649,  741,  111,  741,  741,  741,  741,  741,  111,
 
1229
      111,  111,  111,  111,  111,  111,  111,  741,  111,  111,
 
1230
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
 
1231
      111,  111,  650,  741,  111,  111,  741,  111,  652,  741,
 
1232
      741,  111,  741,  111,  741,  111,  741,  111,  111,  111,
 
1233
      111,  111,  741,  741,  741,  741,  111,  741,  111,  111,
 
1234
      656,  741,  111,  741,  741,  111,  741,  111,  741,  111,
 
1235
      741,  111,  657,  111,  741,  111,  111,  111,  111,  111,
 
1236
      741,  741,  111,  741,  111,  741,  111,  741,  111,  741,
 
1237
 
 
1238
      111,  741,  111,  111,  111,  111,  111,  741,  741,  741,
 
1239
      741,  111,  741,  111,  111,  111,  741,  111,  741,  741,
 
1240
      111,  672,  111,  741,  111,  741,  111,  741,  111,  741,
 
1241
      111,  676,  677,  111,  111,  111,  111,  741,  741,  111,
 
1242
      741,  741,  741,  741,  741,  111,  111,  111,  111,  111,
 
1243
      111,  111,  111,  741,  111,  111,  741,  741,  692,  741,
 
1244
      741,  111,  111,  111,  111,  111,  111,  741,  741,  741,
 
1245
      111,  111,   55,   55,   55,   55,   55,   55,   55,   55,
 
1246
       55,   55,   55,   55,   55,   60,   60,   60,   60,   60,
 
1247
       60,   60,   60,   60,   60,   60,   60,   60,   65,   65,
 
1248
 
 
1249
       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
 
1250
       65,   68,   68,   68,   68,   68,   68,   68,   68,   68,
 
1251
       68,   68,   68,   68,   77,   77,   77,   77,   77,   77,
 
1252
       77,   77,   77,   77,   77,   77,   77,   92,   92,   92,
 
1253
       92,  741,   92,   92,   92,   92,   92,   92,   92,   92,
 
1254
       99,   99,   99,  741,   99,  741,   99,  741,   99,  168,
 
1255
      168,  741,  168,  168,  172,  172,  741,  741,  172,  172,
 
1256
      741,  172,  172,  172,  172,  172,  172,  176,  176,  176,
 
1257
      176,  741,  176,  176,  176,  176,  176,  176,  176,  176,
 
1258
      178,  178,  178,  178,  178,  178,  178,  178,  741,  178,
 
1259
 
 
1260
      178,  180,  741,  741,  741,  180,  180,  180,  180,  180,
 
1261
      180,  180,  181,  741,  741,  741,  181,  181,  181,  181,
 
1262
      181,  181,  181,  186,  186,  741,  186,  186,  190,  190,
 
1263
      741,  190,  190,  192,  192,  741,  192,  192,  202,  741,
 
1264
      202,  202,  117,  117,  741,  117,  117,  270,  741,  270,
 
1265
      270,  277,  741,  277,  277,  279,  741,  279,  279,  280,
 
1266
      741,  280,  280,  283,  283,  283,  283,  283,  283,  283,
 
1267
      283,  283,  283,  283,  283,  283,  203,  203,  741,  203,
 
1268
      203,  583,  583,  741,  583,  583,  583,  583,  583,  583,
 
1269
      583,  583,  583,  583,  581,  581,  581,  741,  741,  741,
 
1270
 
 
1271
      581,  741,  741,  741,  741,  581,   17,  741,  741,  741,
 
1272
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1273
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1274
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1275
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1276
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1277
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1278
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1279
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741
 
1280
    } ;
 
1281
 
 
1282
static yyconst short int yy_chk[4591] =
 
1283
    {   0,
 
1284
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1285
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1286
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1287
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1288
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1289
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1290
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1291
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
1292
        1,    1,    1,    3,    3,    3,    4,    4,    4,    5,
 
1293
        5,    5,  133,   11,    3,    9,    7,    4,    8,    9,
 
1294
 
 
1295
        5,    6,    6,    6,    7,   12,    8,  147,  132,    7,
 
1296
       10,    8,    6,  739,   10,   11,  101,   29,   11,   29,
 
1297
        7,   96,    8,   79,   79,   79,   79,   12,  738,  101,
 
1298
       12,   19,   19,   19,   19,   81,  538,  133,   19,   20,
 
1299
       20,   20,   20,  538,  196,   36,   20,   24,   24,   24,
 
1300
       24,   36,   81,   96,   24,   36,  152,   36,   36,   36,
 
1301
      142,  147,   24,   24,   36,  132,   26,   80,   80,   80,
 
1302
       80,   11,  196,   11,   26,   26,   26,   26,   26,   26,
 
1303
       26,   26,  161,   12,   81,   12,   13,   13,   13,   13,
 
1304
       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
 
1305
 
 
1306
       13,   13,   91,   91,   91,   91,  195,  164,  195,  152,
 
1307
       13,   13,   13,   13,   13,   27,  142,  195,  327,   13,
 
1308
       27,   41,  357,   27,   27,   27,   27,   27,   27,   27,
 
1309
       27,   41,  357,   41,  268,   41,  229,  161,  165,  241,
 
1310
       41,   13,   13,   13,   30,   44,   30,   30,   30,   30,
 
1311
       30,   30,   30,   30,  230,   44,  193,   44,  251,   44,
 
1312
      164,  382,  193,   30,   44,  327,   13,   13,   13,   14,
 
1313
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
 
1314
       14,   14,   14,   14,   14,  229,  165,  268,  241,  182,
 
1315
      182,   44,   30,   14,   14,   14,   14,   14,   35,  165,
 
1316
 
 
1317
      182,   35,   14,  582,   37,   35,  382,   37,   35,   35,
 
1318
       35,   35,   35,  230,   37,  251,   37,   35,   37,   38,
 
1319
      286,   35,  401,   37,   14,   14,   14,  275,  275,   38,
 
1320
       38,   38,  582,   38,  183,  183,  183,  183,   38,  422,
 
1321
      735,   38,  734,  733,  422,  732,  401,  731,  286,   14,
 
1322
       14,   14,   15,   15,   15,   15,   15,   15,   15,   15,
 
1323
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1324
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1325
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1326
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1327
 
 
1328
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1329
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1330
       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
 
1331
       15,   15,   15,   15,   15,   23,   47,  730,  285,   47,
 
1332
      285,  729,  419,  419,  419,  419,   47,  728,   47,  285,
 
1333
       47,  727,   23,  726,  724,   47,   23,   23,   23,   23,
 
1334
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
 
1335
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
 
1336
       23,   23,  311,  266,   23,   23,   23,   23,   23,   23,
 
1337
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
 
1338
 
 
1339
       23,   23,   23,   23,   23,   23,   23,   31,  245,   31,
 
1340
       31,   31,   31,   31,   31,   31,   31,   39,   39,  262,
 
1341
      267,   45,   45,  419,  463,   45,   31,  592,   39,  722,
 
1342
       39,   45,   39,   45,   39,   45,  332,   39,   43,   43,
 
1343
       45,  349,  311,  463,  721,  592,   43,  266,  312,   43,
 
1344
       45,   43,  720,   43,  719,   31,   34,  245,   43,   34,
 
1345
       34,   34,   34,   34,   34,   34,   34,  323,  262,  267,
 
1346
      342,  383,   34,   34,   34,   34,   34,   34,   34,   34,
 
1347
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
1348
       34,   34,   34,   34,   34,   34,   34,   34,  332,  349,
 
1349
 
 
1350
      312,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
1351
       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
 
1352
       34,   34,   34,   40,  383,  348,  395,  323,   42,   42,
 
1353
      399,   42,  342,   40,  418,   40,  363,   40,  404,   42,
 
1354
       42,   42,   40,   42,  350,  384,   42,  555,   42,  409,
 
1355
       46,   46,  417,   46,  410,   40,  414,   98,   98,   98,
 
1356
       98,   46,  427,   46,   98,   46,   40,   46,   48,  446,
 
1357
       46,   48,   98,   98,  348,   48,   49,  474,   48,  395,
 
1358
       48,  416,   48,  404,   49,   49,   48,   48,   50,  418,
 
1359
      350,   48,  399,  447,   46,   49,  363,   49,   50,   49,
 
1360
 
 
1361
       50,   49,   50,  410,   49,  384,   50,   50,   51,  409,
 
1362
      717,  111,  414,  555,  417,  427,  716,   49,   51,   52,
 
1363
       51,  111,   51,  111,  446,  111,   52,   51,   50,   52,
 
1364
      111,   52,  715,   52,   54,   54,   54,   54,   52,  714,
 
1365
      447,  416,  474,  448,   51,  488,  479,  473,  478,   54,
 
1366
       54,   54,   54,   54,   54,   54,   54,   77,  169,  169,
 
1367
      169,  169,   77,   77,   77,   77,   77,   77,   77,   77,
 
1368
       77,   77,   77,  169,  169,  169,  169,  169,  169,  169,
 
1369
      169,   77,   77,   77,   77,   77,  100,  112,  100,  100,
 
1370
      100,  100,  100,  100,  100,  100,  448,  112,  459,  112,
 
1371
 
 
1372
      473,  112,  488,  506,  112,  100,  112,  479,  478,  713,
 
1373
      707,  608,   77,   77,   77,  736,  706,  705,  704,  477,
 
1374
      701,  102,  459,  102,  102,  102,  102,  102,  102,  102,
 
1375
      102,  697,  696,  695,  100,  693,  519,  506,   77,   78,
 
1376
      102,  608,  736,  480,   78,   78,   78,   78,   78,   78,
 
1377
       78,   78,   78,   78,   78,  105,  105,  105,  105,  105,
 
1378
      105,  105,  105,   78,   78,   78,   78,   78,  477,  102,
 
1379
      519,  106,  105,  106,  106,  106,  106,  106,  106,  106,
 
1380
      106,   78,  199,  199,  199,  199,  199,  199,  199,  199,
 
1381
      106,  460,  480,  481,   78,   78,   78,  107,  468,  107,
 
1382
 
 
1383
      507,  105,  107,  107,  107,  107,  107,  107,  107,  107,
 
1384
      200,  200,  200,  200,  200,  200,  200,  200,  521,  106,
 
1385
       78,  108,  113,  108,  108,  108,  108,  108,  108,  108,
 
1386
      108,  535,  113,  114,  113,  691,  113,  529,  460,  115,
 
1387
      108,  113,  481,  114,  468,  114,  526,  114,  690,  115,
 
1388
      689,  115,  114,  115,  534,  170,  114,  507,  115,  170,
 
1389
      170,  170,  170,  170,  170,  170,  170,  521,  682,  108,
 
1390
      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
 
1391
      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
 
1392
      110,  110,  116,  118,  529,  505,  535,  530,  118,  534,
 
1393
 
 
1394
      533,  526,  116,  118,  116,  118,  116,  118,  119,  120,
 
1395
      116,  116,  118,  536,  679,  576,  542,  557,  119,  120,
 
1396
      119,  120,  119,  120,  121,  554,  119,  119,  120,  505,
 
1397
      122,  530,  556,  678,  121,  570,  121,  121,  121,  602,
 
1398
      122,  566,  122,  121,  122,  123,  123,  536,  505,  122,
 
1399
      574,  124,  124,  533,  573,  568,  123,  671,  123,  123,
 
1400
      123,  579,  124,  125,  124,  123,  124,  542,  557,  564,
 
1401
      578,  124,  576,  125,  125,  125,  126,  125,  596,  127,
 
1402
      126,  577,  125,  595,  570,  670,  126,  554,  126,  127,
 
1403
      126,  127,  602,  127,  556,  126,  129,  129,  127,  128,
 
1404
 
 
1405
      128,  128,  612,  566,  578,  573,  129,  130,  129,  128,
 
1406
      129,  128,  574,  128,  129,  129,  568,  130,  128,  130,
 
1407
      131,  130,  605,  579,  628,  134,  130,  596,  597,  564,
 
1408
      131,  654,  131,  131,  131,  134,  577,  630,  135,  131,
 
1409
      607,  135,  613,  595,  604,  134,  136,  134,  135,  134,
 
1410
      135,  610,  135,  612,  134,  614,  136,  135,  136,  629,
 
1411
      136,  137,  137,  634,  615,  136,  654,  737,  669,  605,
 
1412
      664,  137,  138,  137,  607,  137,  613,  628,  137,  137,
 
1413
      137,  653,  138,  139,  138,  138,  138,  655,  597,  140,
 
1414
      630,  138,  636,  139,  737,  139,  662,  139,  639,  140,
 
1415
 
 
1416
      141,  140,  139,  140,  604,  139,  637,  629,  140,  641,
 
1417
      141,  610,  141,  143,  141,  644,  144,  614,  645,  141,
 
1418
      634,  143,  660,  143,  615,  143,  144,  143,  144,  145,
 
1419
      144,  658,  143,  643,  144,  144,  698,  146,  653,  145,
 
1420
      148,  145,  663,  145,  655,  636,  666,  146,  145,  146,
 
1421
      148,  146,  148,  149,  148,  146,  146,  673,  148,  148,
 
1422
      639,  659,  641,  149,  150,  149,  637,  149,  661,  651,
 
1423
      667,  645,  149,  149,  150,  644,  150,  151,  150,  660,
 
1424
      151,  681,  658,  150,  151,  665,  668,  151,  687,  151,
 
1425
      647,  151,  153,  153,  674,  643,  151,  646,  698,  154,
 
1426
 
 
1427
      675,  710,  663,  153,  694,  153,  666,  153,  673,  154,
 
1428
      155,  154,  153,  154,  154,  680,  156,  154,  154,  683,
 
1429
      155,  661,  155,  667,  155,  158,  156,  157,  156,  155,
 
1430
      156,  642,  156,  640,  155,  156,  638,  157,  158,  157,
 
1431
      681,  157,  665,  668,  159,  687,  157,  674,  158,  159,
 
1432
      158,  675,  158,  686,  159,  160,  159,  158,  159,  710,
 
1433
      694,  162,  700,  159,  635,  160,  680,  160,  162,  160,
 
1434
      685,  162,  683,  162,  160,  162,  166,  163,  163,  702,
 
1435
      162,  163,  581,  581,  581,  581,  166,  163,  166,  163,
 
1436
      166,  163,  718,  171,  166,  166,  163,  171,  171,  171,
 
1437
 
 
1438
      171,  171,  171,  171,  171,  197,  686,  197,  197,  197,
 
1439
      197,  197,  197,  197,  197,  204,  205,  625,  204,  700,
 
1440
      619,  685,  688,  618,  197,  204,  205,  204,  205,  204,
 
1441
      205,  206,  207,  703,  204,  205,  702,  708,  609,  606,
 
1442
      603,  206,  207,  206,  207,  206,  207,  208,  598,  586,
 
1443
      206,  207,  718,  197,  202,  210,  583,  208,  211,  208,
 
1444
      208,  208,  210,  581,  569,  210,  208,  210,  211,  210,
 
1445
      211,  212,  211,  688,  210,  711,  712,  211,  565,  213,
 
1446
      532,  212,  523,  212,  703,  212,  708,  518,  212,  213,
 
1447
      212,  213,  485,  213,  616,  616,  616,  616,  213,  202,
 
1448
 
 
1449
      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
 
1450
      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
 
1451
      202,  214,  215,  484,  465,  423,  711,  712,  358,  215,
 
1452
      356,  214,  215,  214,  215,  214,  215,  214,  216,  217,
 
1453
      214,  215,  287,  280,  279,  278,  277,  276,  216,  217,
 
1454
      216,  217,  216,  217,  218,  216,  273,  216,  217,  270,
 
1455
      209,  203,  194,  192,  218,  190,  218,  188,  218,  219,
 
1456
      219,  218,  218,  218,  186,  616,  220,  219,  181,  220,
 
1457
      219,  179,  219,  174,  219,  168,  220,  221,  220,  219,
 
1458
      220,  117,  109,  222,  103,  220,   99,  221,   97,  221,
 
1459
 
 
1460
      221,  221,   95,  222,  223,  222,  221,  222,   94,   93,
 
1461
      224,   90,  222,  224,  223,  223,  223,   85,  223,   84,
 
1462
      224,  225,  224,  223,  224,   83,   70,  226,   67,  224,
 
1463
      226,  225,   63,  225,  225,  225,   62,  226,  227,  226,
 
1464
      225,  226,   59,   58,   53,   32,  226,   28,  227,  228,
 
1465
      227,   22,  227,   21,   18,  227,   17,  227,    0,  228,
 
1466
      228,  228,  231,  228,    0,    0,    0,    0,  228,    0,
 
1467
      232,    0,  231,  233,  231,    0,  231,    0,    0,  231,
 
1468
      232,  231,  232,  233,  232,  233,  233,  233,  234,  232,
 
1469
        0,  235,  233,    0,  236,    0,    0,  236,  234,    0,
 
1470
 
 
1471
      234,  235,  234,  235,  236,  235,  236,  234,  236,  235,
 
1472
      235,  237,  238,  236,    0,    0,    0,    0,    0,    0,
 
1473
      237,    0,  238,  239,  238,    0,  238,    0,    0,    0,
 
1474
      237,  238,  237,  239,  237,  239,  240,  239,    0,  237,
 
1475
        0,    0,  239,    0,  242,    0,  240,  242,  240,    0,
 
1476
      240,    0,    0,    0,  242,  240,  242,  243,  242,    0,
 
1477
      243,    0,    0,  242,    0,  244,    0,  243,  246,  243,
 
1478
        0,  243,  244,    0,    0,  244,  243,  244,  246,  244,
 
1479
      246,  247,  246,    0,  244,    0,  246,  246,    0,  248,
 
1480
        0,  247,    0,  247,    0,  247,    0,  249,    0,  248,
 
1481
 
 
1482
      247,  248,    0,  248,    0,  250,  248,  249,  248,  249,
 
1483
        0,  249,    0,    0,  249,  250,  249,  250,  252,  250,
 
1484
      253,  253,    0,    0,  250,  250,    0,    0,  252,  254,
 
1485
      252,  253,  252,  253,    0,  253,    0,  252,    0,  254,
 
1486
      253,  254,  255,  254,    0,    0,    0,    0,  254,    0,
 
1487
      256,    0,  255,  256,  255,    0,  255,    0,  257,    0,
 
1488
      256,  255,  256,    0,  256,  257,  258,    0,  257,  256,
 
1489
      257,    0,  257,    0,    0,    0,  258,  257,  258,  259,
 
1490
      258,    0,    0,    0,  258,  258,    0,  260,    0,  259,
 
1491
        0,  259,    0,  259,    0,    0,  259,  260,  259,  260,
 
1492
 
 
1493
      261,  260,    0,  261,  260,    0,  260,    0,  263,    0,
 
1494
      261,    0,  261,    0,  261,    0,    0,  265,  263,  261,
 
1495
      263,  263,  263,  263,  264,  265,    0,  263,  263,    0,
 
1496
        0,    0,    0,    0,  264,  265,  264,  265,  264,  265,
 
1497
      269,    0,  264,  264,  265,    0,  269,    0,    0,    0,
 
1498
      269,    0,  269,    0,  269,  271,  271,  271,  271,  269,
 
1499
        0,    0,    0,  272,  272,  272,  272,    0,    0,    0,
 
1500
      271,  271,  271,  271,  271,  271,  271,  271,  272,  272,
 
1501
      272,  272,  272,  272,  272,  272,  288,  289,    0,    0,
 
1502
        0,    0,    0,    0,  289,    0,  288,  289,  288,  289,
 
1503
 
 
1504
      288,  289,  290,    0,    0,  288,  289,    0,  291,    0,
 
1505
        0,    0,  290,  290,  290,    0,  290,    0,  291,  292,
 
1506
      291,  290,  291,    0,    0,  293,    0,  291,  293,  292,
 
1507
        0,  292,    0,  292,    0,  293,    0,  293,  292,  293,
 
1508
      294,  294,  295,  295,  293,    0,    0,    0,    0,    0,
 
1509
        0,  294,  295,  294,  295,  294,  295,  296,    0,    0,
 
1510
      294,  295,    0,    0,  292,  297,    0,  296,    0,  296,
 
1511
        0,  296,    0,  298,  296,  297,  296,  297,  297,  297,
 
1512
        0,    0,    0,  298,  297,  298,  300,  298,  299,  299,
 
1513
        0,  298,  298,    0,    0,    0,  300,  301,  300,  299,
 
1514
 
 
1515
      300,  299,    0,  299,    0,  300,    0,  301,  299,  301,
 
1516
      302,  301,  302,  303,    0,  303,  301,    0,    0,    0,
 
1517
      302,    0,  302,  303,  302,  303,    0,  303,  304,  302,
 
1518
        0,  304,  303,    0,  305,    0,    0,    0,  304,    0,
 
1519
      304,    0,  304,    0,  305,  306,  305,  304,  305,    0,
 
1520
        0,  307,  306,  305,    0,  306,    0,  306,    0,  306,
 
1521
        0,  307,  308,  307,  306,  307,    0,  307,    0,    0,
 
1522
      307,    0,  308,    0,  308,    0,  308,  309,  308,    0,
 
1523
      309,  308,    0,  310,    0,    0,    0,  309,    0,  309,
 
1524
        0,  309,    0,  310,  313,  310,  309,  310,    0,    0,
 
1525
 
 
1526
      314,    0,  310,    0,  313,    0,  313,    0,  313,    0,
 
1527
      314,    0,  314,  313,  314,  315,  316,    0,  314,  314,
 
1528
        0,    0,  315,    0,    0,  315,  316,  315,  316,  315,
 
1529
      316,  317,  316,    0,  315,  316,  318,  318,    0,  313,
 
1530
        0,  317,    0,  317,  320,  317,    0,  318,    0,  318,
 
1531
      317,  318,  319,  318,    0,  320,  318,  319,    0,    0,
 
1532
        0,    0,  319,  321,  319,  320,  319,  320,  319,  320,
 
1533
        0,  319,    0,  321,  320,  321,  322,  321,    0,    0,
 
1534
      321,    0,  321,    0,  324,  324,  322,  325,  322,    0,
 
1535
      322,    0,    0,    0,  324,  322,  324,  325,  324,  325,
 
1536
 
 
1537
      326,  325,    0,  324,  329,  325,  325,    0,  328,    0,
 
1538
      326,  328,  326,  326,  326,    0,    0,    0,  328,  326,
 
1539
      328,  329,  328,    0,    0,    0,    0,  328,    0,  330,
 
1540
        0,  329,  330,  329,    0,  329,  331,  331,    0,  330,
 
1541
      329,  330,    0,  330,    0,  333,    0,  331,  330,  331,
 
1542
        0,  331,    0,  334,    0,  333,  331,  333,    0,  333,
 
1543
        0,    0,    0,  334,  333,  334,  335,  334,    0,  335,
 
1544
        0,  334,  334,    0,  336,    0,  335,  337,  335,    0,
 
1545
      335,    0,    0,    0,  336,  335,  336,  337,  336,  337,
 
1546
        0,  337,  339,  336,  338,  338,  337,    0,  340,    0,
 
1547
 
 
1548
        0,    0,  339,    0,  339,  338,  339,  338,  340,  338,
 
1549
      340,  339,  340,  341,  338,    0,  343,  340,    0,  344,
 
1550
        0,    0,    0,  341,    0,  341,  343,  341,  343,  344,
 
1551
      343,  344,  341,  344,    0,  343,  345,  339,  344,  345,
 
1552
        0,    0,  346,    0,    0,    0,  345,    0,  345,    0,
 
1553
      345,    0,  346,  347,  346,  345,  346,    0,    0,    0,
 
1554
        0,  346,    0,  347,    0,  347,    0,  347,    0,  351,
 
1555
      347,    0,  347,    0,  352,  352,  352,  352,  346,  351,
 
1556
        0,  351,    0,  351,    0,    0,    0,    0,  351,  352,
 
1557
      352,  352,  352,  352,  352,  352,  352,  353,  353,  353,
 
1558
 
 
1559
      353,    0,    0,    0,    0,    0,    0,    0,  353,    0,
 
1560
        0,    0,  353,  353,  353,  353,  353,  353,  353,  353,
 
1561
      354,  354,  354,  354,    0,    0,    0,    0,    0,    0,
 
1562
        0,    0,    0,    0,    0,  354,  354,  354,  354,  354,
 
1563
      354,  354,  354,  355,    0,  359,    0,  355,  355,  355,
 
1564
      355,  355,  355,  355,  355,  359,    0,  359,    0,  359,
 
1565
      360,  360,    0,  359,  359,    0,    0,    0,    0,    0,
 
1566
      360,    0,  360,  362,  360,  361,  361,    0,  353,  360,
 
1567
        0,    0,    0,  362,    0,  362,  361,  362,  361,    0,
 
1568
      361,    0,  362,  364,  364,  361,    0,  365,  365,    0,
 
1569
 
 
1570
      366,    0,    0,  366,  364,    0,  364,  365,  364,  365,
 
1571
      366,  365,  366,  364,  366,  367,  365,    0,  368,  366,
 
1572
        0,    0,    0,    0,    0,  367,  369,  367,  368,  367,
 
1573
      368,    0,  368,    0,  367,    0,  369,  368,  369,  370,
 
1574
      369,    0,  369,    0,    0,  369,  370,  371,    0,  370,
 
1575
        0,  370,    0,  370,    0,    0,    0,  371,  370,  371,
 
1576
      372,  371,    0,  372,    0,    0,  371,  372,    0,    0,
 
1577
      372,  373,  372,  373,  372,    0,    0,  374,    0,  372,
 
1578
      374,  373,    0,  373,  374,  373,    0,  374,  375,  374,
 
1579
      373,  374,    0,    0,    0,    0,  374,    0,  375,  376,
 
1580
 
 
1581
      375,    0,  375,    0,  375,    0,    0,  375,    0,  376,
 
1582
        0,  376,    0,  376,  377,  377,    0,  376,  376,    0,
 
1583
      378,    0,    0,    0,  377,    0,  377,    0,  377,    0,
 
1584
      378,  379,  378,  377,  378,    0,    0,  380,  378,  378,
 
1585
        0,  379,    0,  379,    0,  379,    0,  380,  379,  380,
 
1586
      379,  380,  381,  385,    0,    0,  380,    0,    0,    0,
 
1587
      385,    0,  381,  385,  381,  385,  381,  385,    0,    0,
 
1588
      387,  381,  385,  386,  386,    0,  386,    0,    0,    0,
 
1589
      387,    0,  387,  386,  387,  386,    0,  386,  387,  387,
 
1590
      389,  388,  386,  388,    0,    0,    0,    0,    0,    0,
 
1591
 
 
1592
      389,  388,  389,  388,  389,  388,  390,    0,    0,  389,
 
1593
      388,    0,  391,    0,    0,  391,  390,    0,  390,    0,
 
1594
      390,    0,  391,  392,  391,  390,  391,  393,    0,    0,
 
1595
      394,  391,    0,  392,    0,  392,  393,  392,    0,    0,
 
1596
      392,    0,  392,    0,  396,    0,  393,  394,  393,    0,
 
1597
      393,    0,    0,    0,  396,  393,  396,  394,  396,  394,
 
1598
      397,  394,  396,  396,    0,    0,  394,    0,  398,    0,
 
1599
      397,    0,  397,    0,  397,    0,  400,    0,  398,  397,
 
1600
      398,    0,  398,    0,  402,    0,  400,  398,  400,    0,
 
1601
      400,    0,  400,    0,  402,  400,  402,  403,  402,    0,
 
1602
 
 
1603
        0,    0,    0,  402,    0,    0,    0,  403,    0,  403,
 
1604
      405,  403,    0,  406,    0,  403,  403,  405,    0,    0,
 
1605
      405,  407,  405,  406,  405,  406,  407,  406,    0,  405,
 
1606
        0,  407,  406,  407,  408,  407,    0,    0,    0,    0,
 
1607
      407,    0,    0,    0,  408,  411,  408,    0,  408,    0,
 
1608
        0,  412,    0,  408,  412,  411,  408,  411,    0,  411,
 
1609
        0,  412,  413,  412,  411,  412,    0,    0,    0,    0,
 
1610
      412,    0,  413,  415,  413,    0,  413,    0,  413,    0,
 
1611
        0,  413,    0,  415,    0,  415,    0,  415,  420,  420,
 
1612
      420,  420,  415,    0,    0,    0,    0,    0,    0,    0,
 
1613
 
 
1614
        0,  424,    0,  420,  420,  420,  420,  420,  420,  420,
 
1615
      420,  424,    0,  424,  426,  424,  425,  425,  415,    0,
 
1616
      424,    0,    0,    0,  426,  428,  426,  425,  426,  425,
 
1617
        0,  425,  426,  426,    0,  428,  425,  428,  429,  428,
 
1618
        0,  430,    0,    0,  428,    0,    0,    0,  429,    0,
 
1619
      429,  430,  429,  430,    0,  430,  429,  429,  431,    0,
 
1620
      430,  431,    0,  432,  432,    0,    0,    0,  431,    0,
 
1621
      431,    0,  431,    0,  432,  433,  432,  431,  432,    0,
 
1622
        0,  434,    0,  432,    0,  433,    0,  433,    0,  433,
 
1623
        0,  434,    0,  434,  433,  434,  435,    0,  435,  434,
 
1624
 
 
1625
      434,    0,  436,    0,    0,    0,  435,    0,  435,    0,
 
1626
      435,    0,  436,    0,  436,  435,  436,    0,    0,  437,
 
1627
      436,  436,  437,    0,    0,  438,    0,  438,    0,  437,
 
1628
        0,  437,    0,  437,    0,  438,  439,  438,  437,  438,
 
1629
        0,  440,  440,    0,  438,    0,  439,    0,  439,    0,
 
1630
      439,    0,  440,  441,  440,  439,  440,    0,    0,  442,
 
1631
        0,  440,    0,  441,    0,  441,  442,  441,    0,  442,
 
1632
      443,  442,  441,  442,    0,    0,  444,    0,  442,    0,
 
1633
      443,    0,  443,  444,  443,    0,  444,  443,  444,  443,
 
1634
      444,  445,  445,  449,    0,  444,    0,  449,    0,    0,
 
1635
 
 
1636
        0,    0,  445,  449,  445,  449,  445,  449,  450,    0,
 
1637
        0,  445,  449,    0,  451,  450,  451,    0,  450,    0,
 
1638
      450,    0,  450,    0,  451,  452,  451,  450,  451,    0,
 
1639
        0,  453,    0,  451,  453,  452,    0,  452,    0,  452,
 
1640
        0,  453,  452,  453,  452,  453,  454,  454,    0,    0,
 
1641
      453,    0,  455,  455,    0,    0,  454,    0,  454,    0,
 
1642
      454,    0,  455,  456,  455,  454,  455,    0,    0,    0,
 
1643
        0,  455,    0,  456,    0,  456,    0,  456,  457,  456,
 
1644
        0,  457,  456,    0,  458,    0,    0,    0,  457,    0,
 
1645
      457,    0,  457,    0,  458,  461,  458,  457,  458,    0,
 
1646
 
 
1647
        0,  458,    0,  458,    0,  461,    0,  461,  464,  461,
 
1648
      462,  462,    0,    0,  461,    0,    0,    0,  464,  466,
 
1649
      464,  462,  464,  462,    0,  462,    0,  464,    0,  466,
 
1650
      462,  466,  467,  466,    0,  467,    0,  466,  466,    0,
 
1651
      469,    0,  467,    0,  467,    0,  467,    0,    0,    0,
 
1652
      469,  467,  469,    0,  469,  470,  470,    0,  471,  469,
 
1653
      469,  472,    0,    0,    0,  470,    0,  470,  471,  470,
 
1654
      471,  472,  471,  472,  470,  472,  475,  471,    0,  476,
 
1655
      472,    0,    0,    0,    0,    0,  475,    0,  475,  476,
 
1656
      475,  476,    0,  476,  486,  475,  476,    0,  476,  482,
 
1657
 
 
1658
      482,  482,  482,    0,  486,    0,  486,    0,  486,    0,
 
1659
        0,    0,  486,  486,  482,  482,  482,  482,  482,  482,
 
1660
      482,  482,  483,    0,    0,    0,  483,  483,  483,  483,
 
1661
      483,  483,  483,  483,  487,  489,    0,    0,    0,    0,
 
1662
        0,  487,    0,    0,  487,  489,  487,  489,  487,  489,
 
1663
        0,  491,  490,  487,  489,  490,    0,    0,    0,    0,
 
1664
        0,  491,  490,  491,  490,  491,  490,  492,  493,    0,
 
1665
      491,  490,    0,    0,  492,  493,    0,  492,  493,  492,
 
1666
      493,  492,  493,  494,  495,    0,  492,  493,    0,    0,
 
1667
        0,    0,    0,  494,  495,  494,  495,  494,  495,  496,
 
1668
 
 
1669
        0,    0,  494,  495,    0,  497,  496,  497,    0,  496,
 
1670
        0,  496,    0,  496,    0,  497,  498,  497,  496,  497,
 
1671
        0,    0,  499,    0,  497,    0,  498,  499,  498,    0,
 
1672
      498,    0,  499,  500,  499,  498,  499,    0,    0,    0,
 
1673
        0,  499,    0,  500,  501,  500,    0,  500,    0,    0,
 
1674
        0,  500,  500,    0,  501,  502,  501,    0,  501,    0,
 
1675
        0,  503,  501,  501,    0,  502,    0,  502,    0,  502,
 
1676
        0,  503,  504,  503,  502,  503,    0,    0,  508,    0,
 
1677
      503,    0,  504,    0,  504,  508,  504,    0,  508,  509,
 
1678
      508,  504,  508,    0,    0,    0,    0,  508,    0,  509,
 
1679
 
 
1680
      510,  509,    0,  509,    0,    0,  511,  509,  509,    0,
 
1681
      510,    0,  510,    0,  510,    0,  511,  512,  511,  510,
 
1682
      511,    0,    0,  513,    0,  511,  513,  512,    0,  512,
 
1683
        0,  512,    0,  513,  512,  513,  512,  513,  514,  515,
 
1684
        0,    0,  513,    0,    0,    0,    0,    0,  514,  515,
 
1685
      514,  515,  514,  515,  516,  516,  514,  514,  515,    0,
 
1686
      517,    0,    0,    0,  516,    0,  516,    0,  516,    0,
 
1687
      517,  520,  517,  516,  517,    0,    0,  522,    0,  517,
 
1688
        0,  520,    0,  520,    0,  520,    0,  522,  524,  522,
 
1689
      520,  522,    0,    0,  525,    0,  522,    0,  524,    0,
 
1690
 
 
1691
      524,    0,  524,    0,  525,  517,  525,  524,  525,  527,
 
1692
        0,    0,  527,  525,    0,  528,    0,    0,  528,  527,
 
1693
        0,  527,    0,  527,    0,  528,    0,  528,  527,  528,
 
1694
      531,  531,    0,    0,  528,    0,  537,  537,  537,  537,
 
1695
        0,  531,    0,  531,    0,  531,    0,    0,    0,    0,
 
1696
      531,  537,  537,  537,  537,  537,  537,  537,  537,  540,
 
1697
      541,  541,    0,    0,    0,    0,  540,    0,    0,  540,
 
1698
      541,  540,  541,  540,  541,  543,    0,    0,  540,  541,
 
1699
        0,    0,    0,  544,    0,  543,  545,  543,    0,  543,
 
1700
        0,  543,    0,  544,  543,  544,  545,  544,  545,  546,
 
1701
 
 
1702
      545,  544,  544,    0,    0,  545,  549,  547,    0,  546,
 
1703
        0,  546,    0,  546,    0,  548,    0,  547,  546,  547,
 
1704
      547,  547,    0,  549,    0,  548,  547,  548,    0,  548,
 
1705
        0,    0,    0,  549,  548,  549,  550,  549,    0,  550,
 
1706
        0,    0,  549,    0,  551,    0,  550,    0,  550,    0,
 
1707
      550,    0,  552,    0,  551,  550,  551,    0,  551,  552,
 
1708
      553,    0,  552,  551,  552,    0,  552,    0,    0,    0,
 
1709
      553,  552,  553,  558,  553,    0,  558,    0,    0,  553,
 
1710
        0,  559,    0,  558,  560,  558,    0,  558,    0,    0,
 
1711
        0,  559,  558,  559,  560,  559,  560,  561,  560,    0,
 
1712
 
 
1713
      559,    0,    0,  560,    0,  562,    0,  561,  563,  561,
 
1714
        0,  561,  562,    0,    0,  562,  561,  562,  563,  562,
 
1715
      563,  567,  563,    0,  562,  571,  563,  563,    0,  572,
 
1716
        0,  567,    0,  567,    0,  567,    0,    0,    0,  572,
 
1717
      567,  572,  571,  572,    0,  575,    0,    0,  572,    0,
 
1718
        0,    0,  571,    0,  571,  575,  571,  575,    0,  575,
 
1719
      584,  571,    0,    0,  575,  580,  580,  580,  580,    0,
 
1720
      584,    0,  584,  584,  584,    0,    0,    0,  585,  584,
 
1721
      580,  580,  580,  580,  580,  580,  580,  580,  585,  587,
 
1722
      585,    0,  585,    0,    0,  588,    0,  585,    0,  587,
 
1723
 
 
1724
        0,  587,    0,  587,    0,  588,    0,  588,  587,  588,
 
1725
      589,  590,  588,  589,  588,    0,  590,    0,    0,    0,
 
1726
      589,  590,  589,  590,  589,  590,  591,    0,    0,  589,
 
1727
      590,    0,  593,    0,  593,    0,  591,    0,  591,    0,
 
1728
      591,    0,  593,  594,  593,  591,  593,    0,    0,  599,
 
1729
        0,  593,    0,  594,    0,  594,    0,  594,    0,  599,
 
1730
      600,  599,  594,  599,    0,  599,    0,    0,  599,    0,
 
1731
      600,  601,  600,  600,  600,    0,    0,  611,  601,  600,
 
1732
        0,  601,    0,  601,    0,  601,    0,  611,  620,  611,
 
1733
      601,  611,    0,    0,  621,    0,  611,    0,  620,    0,
 
1734
 
 
1735
      620,    0,  620,    0,  621,    0,  621,  620,  621,  622,
 
1736
      623,  622,    0,  621,    0,    0,    0,    0,    0,  622,
 
1737
      623,  622,  623,  622,  623,  624,  626,    0,  622,  623,
 
1738
        0,    0,    0,    0,    0,  624,  626,  624,  626,  624,
 
1739
      626,  627,  624,    0,  624,  626,    0,  631,  627,    0,
 
1740
        0,  627,    0,  627,    0,  627,    0,  631,  632,  631,
 
1741
      627,  631,    0,    0,    0,    0,  631,    0,  632,  633,
 
1742
      632,    0,  632,    0,    0,  648,    0,  632,    0,  633,
 
1743
        0,  633,  633,  633,    0,  648,  649,  648,  633,  648,
 
1744
        0,    0,  650,    0,  648,    0,  649,    0,  649,    0,
 
1745
 
 
1746
      649,    0,  650,  652,  650,  649,  650,    0,    0,    0,
 
1747
        0,  650,    0,  652,  656,  652,    0,  652,    0,    0,
 
1748
      657,  652,  652,    0,  656,    0,  656,    0,  656,    0,
 
1749
      657,  656,  657,  656,  657,  672,  676,    0,    0,  657,
 
1750
        0,    0,    0,    0,    0,  672,  676,  672,  676,  672,
 
1751
      676,  677,  692,    0,  672,  676,    0,    0,  672,    0,
 
1752
        0,  677,  692,  677,  692,  677,  692,    0,    0,    0,
 
1753
      677,  692,  742,  742,  742,  742,  742,  742,  742,  742,
 
1754
      742,  742,  742,  742,  742,  743,  743,  743,  743,  743,
 
1755
      743,  743,  743,  743,  743,  743,  743,  743,  744,  744,
 
1756
 
 
1757
      744,  744,  744,  744,  744,  744,  744,  744,  744,  744,
 
1758
      744,  745,  745,  745,  745,  745,  745,  745,  745,  745,
 
1759
      745,  745,  745,  745,  746,  746,  746,  746,  746,  746,
 
1760
      746,  746,  746,  746,  746,  746,  746,  747,  747,  747,
 
1761
      747,    0,  747,  747,  747,  747,  747,  747,  747,  747,
 
1762
      748,  748,  748,    0,  748,    0,  748,    0,  748,  749,
 
1763
      749,    0,  749,  749,  750,  750,    0,    0,  750,  750,
 
1764
        0,  750,  750,  750,  750,  750,  750,  751,  751,  751,
 
1765
      751,    0,  751,  751,  751,  751,  751,  751,  751,  751,
 
1766
      752,  752,  752,  752,  752,  752,  752,  752,    0,  752,
 
1767
 
 
1768
      752,  753,    0,    0,    0,  753,  753,  753,  753,  753,
 
1769
      753,  753,  754,    0,    0,    0,  754,  754,  754,  754,
 
1770
      754,  754,  754,  755,  755,    0,  755,  755,  756,  756,
 
1771
        0,  756,  756,  757,  757,    0,  757,  757,  758,    0,
 
1772
      758,  758,  759,  759,    0,  759,  759,  760,    0,  760,
 
1773
      760,  761,    0,  761,  761,  762,    0,  762,  762,  763,
 
1774
        0,  763,  763,  764,  764,  764,  764,  764,  764,  764,
 
1775
      764,  764,  764,  764,  764,  764,  765,  765,    0,  765,
 
1776
      765,  766,  766,    0,  766,  766,  766,  766,  766,  766,
 
1777
      766,  766,  766,  766,  767,  767,  767,    0,    0,    0,
 
1778
 
 
1779
      767,    0,    0,    0,    0,  767,  741,  741,  741,  741,
 
1780
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1781
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1782
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1783
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1784
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1785
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1786
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741,
 
1787
      741,  741,  741,  741,  741,  741,  741,  741,  741,  741
1771
1788
    } ;
1772
1789
 
1773
1790
extern int yy_flex_debug;
1774
1791
int yy_flex_debug = 1;
1775
1792
 
1776
 
static yyconst short int yy_rule_linenum[130] =
 
1793
static yyconst short int yy_rule_linenum[138] =
1777
1794
    {   0,
1778
 
      103,  106,  108,  109,  110,  113,  115,  116,  117,  129,
1779
 
      136,  143,  149,  158,  166,  174,  175,  177,  196,  202,
1780
 
      203,  204,  205,  206,  209,  215,  222,  229,  236,  243,
1781
 
      247,  248,  256,  257,  258,  259,  260,  265,  266,  267,
1782
 
      268,  269,  270,  271,  272,  273,  274,  275,  284,  285,
1783
 
      286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
 
1795
       96,   97,   99,  102,  104,  107,  109,  110,  111,  114,
 
1796
      116,  117,  118,  130,  137,  144,  150,  159,  167,  175,
 
1797
      176,  178,  197,  203,  204,  205,  206,  207,  210,  216,
 
1798
      223,  230,  237,  244,  251,  252,  253,  261,  262,  263,
 
1799
      264,  265,  270,  271,  272,  273,  274,  275,  276,  277,
 
1800
      278,  279,  280,  289,  290,  291,  292,  293,  294,  295,
1784
1801
      296,  297,  298,  299,  300,  301,  302,  303,  304,  305,
1785
1802
      306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
1786
1803
      316,  317,  318,  319,  320,  321,  322,  323,  324,  325,
1787
1804
      326,  327,  328,  329,  330,  331,  332,  333,  334,  335,
1788
1805
 
1789
 
      336,  337,  338,  339,  340,  341,  342,  347,  348,  353,
1790
 
      354,  355,  358,  364,  371,  380,  391,  397,  399,  400,
1791
 
      404,  410,  416,  424,  427,  452,  496,  498,  509
 
1806
      336,  337,  338,  339,  340,  341,  342,  343,  344,  345,
 
1807
      346,  351,  352,  357,  358,  359,  362,  367,  373,  381,
 
1808
      391,  396,  398,  399,  403,  408,  413,  419,  420,  422,
 
1809
      428,  441,  444,  469,  513,  515,  526
1792
1810
    } ;
1793
1811
 
1794
1812
static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1832
1850
int asn1p_lexer_pedantic_1990 = 0;
1833
1851
int asn1p_lexer_types_year = 0;
1834
1852
int asn1p_lexer_constructs_year = 0;
1835
 
static int _check_dashes(char *ptr);
1836
 
static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
 
1853
 
 
1854
int asn1p_as_pointer;
 
1855
 
 
1856
static asn1c_integer_t _lex_atoi(const char *ptr);
 
1857
static double          _lex_atod(const char *ptr);
1837
1858
 
1838
1859
/*
1839
1860
 * Check that the type is defined in the year of the standard choosen.
1853
1874
        || (lyr && lyr  > asn1p_lexer_constructs_year))
1854
1875
 
1855
1876
/*
1856
 
 * Make sure that the label is compliant with the naming rules.
1857
 
 */
1858
 
#define CHECK_DASHES    do {                            \
1859
 
        if(_check_dashes(yytext)) {                     \
1860
 
                fprintf(stderr,                         \
1861
 
                "%s: Identifier format invalid: "       \
1862
 
                "Improper dash location\n", yytext);    \
1863
 
                return -1;                              \
1864
 
        } } while(0)
1865
 
 
1866
 
/*
1867
1877
 * Append quoted string.
1868
1878
 */
1869
1879
#define QAPPEND(text, tlen)     do {                            \
1890
1900
/* Controlled from within application */
1891
1901
#define dash_comment 1
1892
1902
 
1893
 
#define cpp_comment 2
1894
 
 
1895
 
#define quoted 3
1896
 
 
1897
 
#define opaque 4
1898
 
 
1899
 
#define encoding_control 5
1900
 
 
1901
 
#define with_syntax 6
 
1903
#define idash_comment 2
 
1904
 
 
1905
#define cpp_comment 3
 
1906
 
 
1907
#define quoted 4
 
1908
 
 
1909
#define opaque 5
 
1910
 
 
1911
#define encoding_control 6
 
1912
 
 
1913
#define with_syntax 7
1902
1914
 
1903
1915
/* Newline */
1904
1916
/* White-space */
1905
 
#line 1906 "asn1p_l.c"
 
1917
#line 1918 "asn1p_l.c"
1906
1918
 
1907
1919
/* Macros after this point can all be overridden by user definitions in
1908
1920
 * section 1.
2053
2065
        register char *yy_cp, *yy_bp;
2054
2066
        register int yy_act;
2055
2067
 
2056
 
#line 101 "asn1p_l.l"
2057
 
 
2058
 
 
2059
 
#line 2060 "asn1p_l.c"
 
2068
#line 94 "asn1p_l.l"
 
2069
 
 
2070
 
 
2071
#line 2072 "asn1p_l.c"
2060
2072
 
2061
2073
        if ( yy_init )
2062
2074
                {
2104
2116
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2105
2117
                                {
2106
2118
                                yy_current_state = (int) yy_def[yy_current_state];
2107
 
                                if ( yy_current_state >= 689 )
 
2119
                                if ( yy_current_state >= 742 )
2108
2120
                                        yy_c = yy_meta[(unsigned int) yy_c];
2109
2121
                                }
2110
2122
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2111
2123
                        *yy_state_ptr++ = yy_current_state;
2112
2124
                        ++yy_cp;
2113
2125
                        }
2114
 
                while ( yy_base[yy_current_state] != 4544 );
 
2126
                while ( yy_base[yy_current_state] != 4507 );
2115
2127
 
2116
2128
yy_find_action:
2117
2129
                yy_current_state = *--yy_state_ptr;
2118
2130
                yy_lp = yy_accept[yy_current_state];
 
2131
goto find_rule; /* avoid `defined but not used' warning */
2119
2132
find_rule: /* we branch to this label when backing up */
2120
2133
                for ( ; ; ) /* until we find what rule we matched */
2121
2134
                        {
2148
2161
                        {
2149
2162
                        if ( yy_act == 0 )
2150
2163
                                fprintf( stderr, "--scanner backing up\n" );
2151
 
                        else if ( yy_act < 130 )
 
2164
                        else if ( yy_act < 138 )
2152
2165
                                fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2153
2166
                                         yy_rule_linenum[yy_act], yytext );
2154
 
                        else if ( yy_act == 130 )
 
2167
                        else if ( yy_act == 138 )
2155
2168
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
2156
2169
                                         yytext );
2157
 
                        else if ( yy_act == 131 )
 
2170
                        else if ( yy_act == 139 )
2158
2171
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
2159
2172
                        else
2160
2173
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2163
2176
                switch ( yy_act )
2164
2177
        { /* beginning of action switch */
2165
2178
case 1:
 
2179
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
 
2180
yy_c_buf_p = yy_cp -= 1;
 
2181
YY_DO_BEFORE_ACTION; /* set up yytext again */
2166
2182
YY_RULE_SETUP
2167
 
#line 103 "asn1p_l.l"
2168
 
yy_push_state(dash_comment);
 
2183
#line 96 "asn1p_l.l"
 
2184
/* Immediately terminated long comment */
2169
2185
        YY_BREAK
2170
 
 
2171
2186
case 2:
 
2187
*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
 
2188
yy_c_buf_p = yy_cp -= 1;
 
2189
YY_DO_BEFORE_ACTION; /* set up yytext again */
2172
2190
YY_RULE_SETUP
2173
 
#line 106 "asn1p_l.l"
2174
 
yy_pop_state();
 
2191
#line 97 "asn1p_l.l"
 
2192
yy_push_state(idash_comment);   /* Incorrect, but acceptable */
2175
2193
        YY_BREAK
 
2194
 
2176
2195
case 3:
2177
2196
YY_RULE_SETUP
2178
 
#line 108 "asn1p_l.l"
2179
 
yy_pop_state(); /* End of comment */
 
2197
#line 99 "asn1p_l.l"
 
2198
yy_pop_state(); /* Acceptable end of comment */
2180
2199
        YY_BREAK
 
2200
 
2181
2201
case 4:
2182
2202
YY_RULE_SETUP
2183
 
#line 109 "asn1p_l.l"
2184
 
/* Eat single dash */
 
2203
#line 102 "asn1p_l.l"
 
2204
asn1p_as_pointer = 1;
2185
2205
        YY_BREAK
2186
2206
case 5:
2187
2207
YY_RULE_SETUP
2188
 
#line 110 "asn1p_l.l"
2189
 
/* Eat */
 
2208
#line 104 "asn1p_l.l"
 
2209
yy_push_state(dash_comment);
2190
2210
        YY_BREAK
2191
2211
 
2192
2212
case 6:
2193
2213
YY_RULE_SETUP
2194
 
#line 113 "asn1p_l.l"
2195
 
yy_push_state(cpp_comment);
 
2214
#line 107 "asn1p_l.l"
 
2215
yy_pop_state();
2196
2216
        YY_BREAK
2197
 
 
2198
2217
case 7:
2199
2218
YY_RULE_SETUP
2200
 
#line 115 "asn1p_l.l"
2201
 
/* Eat */
 
2219
#line 109 "asn1p_l.l"
 
2220
yy_pop_state(); /* End of comment */
2202
2221
        YY_BREAK
2203
2222
case 8:
2204
2223
YY_RULE_SETUP
 
2224
#line 110 "asn1p_l.l"
 
2225
/* Eat single dash */
 
2226
        YY_BREAK
 
2227
case 9:
 
2228
YY_RULE_SETUP
 
2229
#line 111 "asn1p_l.l"
 
2230
/* Eat */
 
2231
        YY_BREAK
 
2232
 
 
2233
case 10:
 
2234
YY_RULE_SETUP
 
2235
#line 114 "asn1p_l.l"
 
2236
yy_push_state(cpp_comment);
 
2237
        YY_BREAK
 
2238
 
 
2239
case 11:
 
2240
YY_RULE_SETUP
2205
2241
#line 116 "asn1p_l.l"
2206
 
yy_pop_state();
 
2242
/* Eat */
2207
2243
        YY_BREAK
2208
 
case 9:
 
2244
case 12:
2209
2245
YY_RULE_SETUP
2210
2246
#line 117 "asn1p_l.l"
 
2247
yy_pop_state();
 
2248
        YY_BREAK
 
2249
case 13:
 
2250
YY_RULE_SETUP
 
2251
#line 118 "asn1p_l.l"
2211
2252
/* Eat */
2212
2253
        YY_BREAK
2213
2254
 
2218
2259
         * everything for later processing.
2219
2260
         */
2220
2261
 
2221
 
case 10:
 
2262
case 14:
2222
2263
YY_RULE_SETUP
2223
 
#line 129 "asn1p_l.l"
 
2264
#line 130 "asn1p_l.l"
2224
2265
{
2225
2266
                        yy_push_state(opaque);
2226
2267
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2228
2269
                        return TOK_opaque;
2229
2270
                }
2230
2271
        YY_BREAK
2231
 
case 11:
 
2272
case 15:
2232
2273
YY_RULE_SETUP
2233
 
#line 136 "asn1p_l.l"
 
2274
#line 137 "asn1p_l.l"
2234
2275
{
2235
2276
                        yy_pop_state();
2236
2277
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2238
2279
                        return TOK_opaque;
2239
2280
                }
2240
2281
        YY_BREAK
2241
 
case 12:
 
2282
case 16:
2242
2283
YY_RULE_SETUP
2243
 
#line 143 "asn1p_l.l"
 
2284
#line 144 "asn1p_l.l"
2244
2285
{
2245
2286
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2246
2287
                        asn1p_lval.tv_opaque.len = yyleng;
2247
2288
                        return TOK_opaque;
2248
2289
                }
2249
2290
        YY_BREAK
2250
 
case 13:
 
2291
case 17:
2251
2292
YY_RULE_SETUP
2252
 
#line 149 "asn1p_l.l"
 
2293
#line 150 "asn1p_l.l"
2253
2294
{
2254
2295
                        fprintf(stderr,
2255
2296
                                "ASN.1 Parser syncronization failure: "
2259
2300
                        return -1;
2260
2301
                }
2261
2302
        YY_BREAK
2262
 
case 14:
 
2303
case 18:
2263
2304
YY_RULE_SETUP
2264
 
#line 158 "asn1p_l.l"
 
2305
#line 159 "asn1p_l.l"
2265
2306
{
2266
2307
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2267
2308
                        asn1p_lval.tv_opaque.len = yyleng;
2269
2310
                }
2270
2311
        YY_BREAK
2271
2312
 
2272
 
case 15:
 
2313
case 19:
2273
2314
YY_RULE_SETUP
2274
 
#line 166 "asn1p_l.l"
 
2315
#line 167 "asn1p_l.l"
2275
2316
{
2276
2317
                        asn1p_lval.tv_opaque.buf = 0;
2277
2318
                        asn1p_lval.tv_opaque.len = 0;
2280
2321
                }
2281
2322
        YY_BREAK
2282
2323
 
2283
 
case 16:
 
2324
case 20:
2284
2325
YY_RULE_SETUP
2285
 
#line 174 "asn1p_l.l"
 
2326
#line 175 "asn1p_l.l"
2286
2327
{ QAPPEND(yytext, yyleng-1); }  /* Add a single quote */
2287
2328
        YY_BREAK
2288
 
case 17:
 
2329
case 21:
2289
2330
YY_RULE_SETUP
2290
 
#line 175 "asn1p_l.l"
 
2331
#line 176 "asn1p_l.l"
2291
2332
{ QAPPEND(yytext, yyleng); }
2292
2333
        YY_BREAK
2293
 
case 18:
 
2334
case 22:
2294
2335
YY_RULE_SETUP
2295
 
#line 177 "asn1p_l.l"
 
2336
#line 178 "asn1p_l.l"
2296
2337
{
2297
2338
                        yy_pop_state();
2298
2339
                        /* Do not append last quote:
2311
2352
        YY_BREAK
2312
2353
 
2313
2354
 
2314
 
case 19:
 
2355
case 23:
2315
2356
YY_RULE_SETUP
2316
 
#line 196 "asn1p_l.l"
 
2357
#line 197 "asn1p_l.l"
2317
2358
{
2318
2359
                        const char *s = "ENCODING-CONTROL";
2319
2360
                        const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2321
2362
                        yy_pop_state();
2322
2363
                }
2323
2364
        YY_BREAK
2324
 
case 20:
 
2365
case 24:
2325
2366
YY_RULE_SETUP
2326
 
#line 202 "asn1p_l.l"
 
2367
#line 203 "asn1p_l.l"
2327
2368
unput('D'); unput('N'); unput('E'); yy_pop_state();
2328
2369
        YY_BREAK
2329
 
case 21:
2330
 
YY_RULE_SETUP
2331
 
#line 203 "asn1p_l.l"
2332
 
 
2333
 
        YY_BREAK
2334
 
case 22:
 
2370
case 25:
2335
2371
YY_RULE_SETUP
2336
2372
#line 204 "asn1p_l.l"
2337
2373
 
2338
2374
        YY_BREAK
2339
 
case 23:
 
2375
case 26:
2340
2376
YY_RULE_SETUP
2341
2377
#line 205 "asn1p_l.l"
 
2378
 
 
2379
        YY_BREAK
 
2380
case 27:
 
2381
YY_RULE_SETUP
 
2382
#line 206 "asn1p_l.l"
2342
2383
/* Eat everything else */
2343
2384
        YY_BREAK
2344
 
case 24:
 
2385
case 28:
2345
2386
YY_RULE_SETUP
2346
 
#line 206 "asn1p_l.l"
 
2387
#line 207 "asn1p_l.l"
2347
2388
 
2348
2389
        YY_BREAK
2349
2390
 
2350
 
case 25:
 
2391
case 29:
2351
2392
YY_RULE_SETUP
2352
 
#line 209 "asn1p_l.l"
 
2393
#line 210 "asn1p_l.l"
2353
2394
{
2354
2395
                /* " \t\r\n" weren't allowed in ASN.1:1990. */
2355
2396
                asn1p_lval.tv_str = yytext;
2356
2397
                return TOK_hstring;
2357
2398
        }
2358
2399
        YY_BREAK
2359
 
case 26:
 
2400
case 30:
2360
2401
YY_RULE_SETUP
2361
 
#line 215 "asn1p_l.l"
 
2402
#line 216 "asn1p_l.l"
2362
2403
{
2363
2404
                /* " \t\r\n" weren't allowed in ASN.1:1990. */
2364
2405
                asn1p_lval.tv_str = strdup(yytext);
2365
2406
                return TOK_bstring;
2366
2407
        }
2367
2408
        YY_BREAK
2368
 
case 27:
 
2409
case 31:
2369
2410
YY_RULE_SETUP
2370
 
#line 222 "asn1p_l.l"
 
2411
#line 223 "asn1p_l.l"
2371
2412
{
2372
 
                asn1p_lval.a_int = asn1p_atoi(yytext);
 
2413
                asn1p_lval.a_int = _lex_atoi(yytext);
2373
2414
                if(errno == ERANGE)
2374
2415
                        return -1;
2375
2416
                return TOK_number_negative;
2376
2417
        }
2377
2418
        YY_BREAK
2378
 
case 28:
2379
 
YY_RULE_SETUP
2380
 
#line 229 "asn1p_l.l"
2381
 
{
2382
 
                asn1p_lval.a_int = asn1p_atoi(yytext);
2383
 
                if(errno == ERANGE)
2384
 
                        return -1;
2385
 
                return TOK_number;
2386
 
        }
2387
 
        YY_BREAK
2388
 
case 29:
2389
 
YY_RULE_SETUP
2390
 
#line 236 "asn1p_l.l"
2391
 
{
2392
 
                asn1p_lval.a_int = asn1p_atoi(yytext);
2393
 
                if(errno == ERANGE)
2394
 
                        return -1;
2395
 
                return TOK_number;
2396
 
        }
2397
 
        YY_BREAK
2398
 
case 30:
2399
 
YY_RULE_SETUP
2400
 
#line 243 "asn1p_l.l"
2401
 
return TOK_ABSENT;
2402
 
        YY_BREAK
2403
 
/*
2404
 
ABSTRACT-SYNTAX         return TOK_ABSTRACT_SYNTAX;
2405
 
        */
2406
 
case 31:
2407
 
YY_RULE_SETUP
2408
 
#line 247 "asn1p_l.l"
2409
 
return TOK_ALL;
2410
 
        YY_BREAK
2411
2419
case 32:
2412
2420
YY_RULE_SETUP
2413
 
#line 248 "asn1p_l.l"
 
2421
#line 230 "asn1p_l.l"
2414
2422
{
2415
 
                                /* Appeared in 1990, removed in 1997 */
2416
 
                                if(TYPE_LIFETIME(1990, 1997))
2417
 
                                        return TOK_ANY; 
2418
 
                                fprintf(stderr, "Keyword \"%s\" at line %d "
2419
 
                                        "is obsolete\n", yytext, yylineno);
2420
 
                                REJECT;
2421
 
                        }
 
2423
                asn1p_lval.a_int = _lex_atoi(yytext);
 
2424
                if(errno == ERANGE)
 
2425
                        return -1;
 
2426
                return TOK_number;
 
2427
        }
2422
2428
        YY_BREAK
2423
2429
case 33:
2424
2430
YY_RULE_SETUP
2425
 
#line 256 "asn1p_l.l"
2426
 
return TOK_APPLICATION;
 
2431
#line 237 "asn1p_l.l"
 
2432
{
 
2433
                asn1p_lval.a_int = _lex_atoi(yytext);
 
2434
                if(errno == ERANGE)
 
2435
                        return -1;
 
2436
                return TOK_number;
 
2437
        }
2427
2438
        YY_BREAK
2428
2439
case 34:
2429
2440
YY_RULE_SETUP
2430
 
#line 257 "asn1p_l.l"
2431
 
return TOK_AUTOMATIC;
 
2441
#line 244 "asn1p_l.l"
 
2442
{
 
2443
                asn1p_lval.a_dbl = _lex_atod(yytext);
 
2444
                if(errno == ERANGE)
 
2445
                        return -1;
 
2446
                return TOK_realnumber;
 
2447
        }
2432
2448
        YY_BREAK
2433
2449
case 35:
2434
2450
YY_RULE_SETUP
2435
 
#line 258 "asn1p_l.l"
2436
 
return TOK_BEGIN;
 
2451
#line 251 "asn1p_l.l"
 
2452
return TOK_ABSENT;
2437
2453
        YY_BREAK
2438
2454
case 36:
2439
2455
YY_RULE_SETUP
2440
 
#line 259 "asn1p_l.l"
2441
 
return TOK_BIT;
 
2456
#line 252 "asn1p_l.l"
 
2457
return TOK_ALL;
2442
2458
        YY_BREAK
2443
2459
case 37:
2444
2460
YY_RULE_SETUP
2445
 
#line 260 "asn1p_l.l"
 
2461
#line 253 "asn1p_l.l"
2446
2462
{
2447
 
                                if(TYPE_LIFETIME(1994, 0))
2448
 
                                        return TOK_BMPString;
 
2463
                                /* Appeared in 1990, removed in 1997 */
 
2464
                                if(TYPE_LIFETIME(1990, 1997))
 
2465
                                        return TOK_ANY; 
 
2466
                                fprintf(stderr, "Keyword \"%s\" at line %d "
 
2467
                                        "is obsolete\n", yytext, yylineno);
2449
2468
                                REJECT;
2450
2469
                        }
2451
2470
        YY_BREAK
2452
2471
case 38:
2453
2472
YY_RULE_SETUP
2454
 
#line 265 "asn1p_l.l"
2455
 
return TOK_BOOLEAN;
 
2473
#line 261 "asn1p_l.l"
 
2474
return TOK_APPLICATION;
2456
2475
        YY_BREAK
2457
2476
case 39:
2458
2477
YY_RULE_SETUP
2459
 
#line 266 "asn1p_l.l"
2460
 
return TOK_BY;
 
2478
#line 262 "asn1p_l.l"
 
2479
return TOK_AUTOMATIC;
2461
2480
        YY_BREAK
2462
2481
case 40:
2463
2482
YY_RULE_SETUP
2464
 
#line 267 "asn1p_l.l"
2465
 
return TOK_CHARACTER;
 
2483
#line 263 "asn1p_l.l"
 
2484
return TOK_BEGIN;
2466
2485
        YY_BREAK
2467
2486
case 41:
2468
2487
YY_RULE_SETUP
2469
 
#line 268 "asn1p_l.l"
2470
 
return TOK_CHOICE;
 
2488
#line 264 "asn1p_l.l"
 
2489
return TOK_BIT;
2471
2490
        YY_BREAK
2472
2491
case 42:
2473
2492
YY_RULE_SETUP
2474
 
#line 269 "asn1p_l.l"
2475
 
return TOK_CLASS;
 
2493
#line 265 "asn1p_l.l"
 
2494
{
 
2495
                                if(TYPE_LIFETIME(1994, 0))
 
2496
                                        return TOK_BMPString;
 
2497
                                REJECT;
 
2498
                        }
2476
2499
        YY_BREAK
2477
2500
case 43:
2478
2501
YY_RULE_SETUP
2479
2502
#line 270 "asn1p_l.l"
2480
 
return TOK_COMPONENT;
 
2503
return TOK_BOOLEAN;
2481
2504
        YY_BREAK
2482
2505
case 44:
2483
2506
YY_RULE_SETUP
2484
2507
#line 271 "asn1p_l.l"
2485
 
return TOK_COMPONENTS;
 
2508
return TOK_BY;
2486
2509
        YY_BREAK
2487
2510
case 45:
2488
2511
YY_RULE_SETUP
2489
2512
#line 272 "asn1p_l.l"
2490
 
return TOK_CONSTRAINED;
 
2513
return TOK_CHARACTER;
2491
2514
        YY_BREAK
2492
2515
case 46:
2493
2516
YY_RULE_SETUP
2494
2517
#line 273 "asn1p_l.l"
2495
 
return TOK_CONTAINING;
 
2518
return TOK_CHOICE;
2496
2519
        YY_BREAK
2497
2520
case 47:
2498
2521
YY_RULE_SETUP
2499
2522
#line 274 "asn1p_l.l"
2500
 
return TOK_DEFAULT;
 
2523
return TOK_CLASS;
2501
2524
        YY_BREAK
2502
2525
case 48:
2503
2526
YY_RULE_SETUP
2504
2527
#line 275 "asn1p_l.l"
2505
 
{
2506
 
                                /* Appeared in 1990, removed in 1997 */
2507
 
                                if(TYPE_LIFETIME(1990, 1997))
2508
 
                                        return TOK_DEFINED;
2509
 
                                fprintf(stderr, "Keyword \"%s\" at line %d "
2510
 
                                        "is obsolete\n", yytext, yylineno);
2511
 
                                /* Deprecated since */
2512
 
                                REJECT;
2513
 
                        }
 
2528
return TOK_COMPONENT;
2514
2529
        YY_BREAK
2515
2530
case 49:
2516
2531
YY_RULE_SETUP
2517
 
#line 284 "asn1p_l.l"
2518
 
return TOK_DEFINITIONS;
 
2532
#line 276 "asn1p_l.l"
 
2533
return TOK_COMPONENTS;
2519
2534
        YY_BREAK
2520
2535
case 50:
2521
2536
YY_RULE_SETUP
2522
 
#line 285 "asn1p_l.l"
2523
 
return TOK_EMBEDDED;
 
2537
#line 277 "asn1p_l.l"
 
2538
return TOK_CONSTRAINED;
2524
2539
        YY_BREAK
2525
2540
case 51:
2526
2541
YY_RULE_SETUP
2527
 
#line 286 "asn1p_l.l"
2528
 
return TOK_ENCODED;
 
2542
#line 278 "asn1p_l.l"
 
2543
return TOK_CONTAINING;
2529
2544
        YY_BREAK
2530
2545
case 52:
2531
2546
YY_RULE_SETUP
2532
 
#line 287 "asn1p_l.l"
2533
 
return TOK_ENCODING_CONTROL;
 
2547
#line 279 "asn1p_l.l"
 
2548
return TOK_DEFAULT;
2534
2549
        YY_BREAK
2535
2550
case 53:
2536
2551
YY_RULE_SETUP
2537
 
#line 288 "asn1p_l.l"
2538
 
return TOK_END;
 
2552
#line 280 "asn1p_l.l"
 
2553
{
 
2554
                                /* Appeared in 1990, removed in 1997 */
 
2555
                                if(TYPE_LIFETIME(1990, 1997))
 
2556
                                        return TOK_DEFINED;
 
2557
                                fprintf(stderr, "Keyword \"%s\" at line %d "
 
2558
                                        "is obsolete\n", yytext, yylineno);
 
2559
                                /* Deprecated since */
 
2560
                                REJECT;
 
2561
                        }
2539
2562
        YY_BREAK
2540
2563
case 54:
2541
2564
YY_RULE_SETUP
2542
2565
#line 289 "asn1p_l.l"
2543
 
return TOK_ENUMERATED;
 
2566
return TOK_DEFINITIONS;
2544
2567
        YY_BREAK
2545
2568
case 55:
2546
2569
YY_RULE_SETUP
2547
2570
#line 290 "asn1p_l.l"
2548
 
return TOK_EXCEPT;
 
2571
return TOK_EMBEDDED;
2549
2572
        YY_BREAK
2550
2573
case 56:
2551
2574
YY_RULE_SETUP
2552
2575
#line 291 "asn1p_l.l"
2553
 
return TOK_EXPLICIT;
 
2576
return TOK_ENCODED;
2554
2577
        YY_BREAK
2555
2578
case 57:
2556
2579
YY_RULE_SETUP
2557
2580
#line 292 "asn1p_l.l"
2558
 
return TOK_EXPORTS;
 
2581
return TOK_ENCODING_CONTROL;
2559
2582
        YY_BREAK
2560
2583
case 58:
2561
2584
YY_RULE_SETUP
2562
2585
#line 293 "asn1p_l.l"
2563
 
return TOK_EXTENSIBILITY;
 
2586
return TOK_END;
2564
2587
        YY_BREAK
2565
2588
case 59:
2566
2589
YY_RULE_SETUP
2567
2590
#line 294 "asn1p_l.l"
2568
 
return TOK_EXTERNAL;
 
2591
return TOK_ENUMERATED;
2569
2592
        YY_BREAK
2570
2593
case 60:
2571
2594
YY_RULE_SETUP
2572
2595
#line 295 "asn1p_l.l"
2573
 
return TOK_FALSE;
 
2596
return TOK_EXCEPT;
2574
2597
        YY_BREAK
2575
2598
case 61:
2576
2599
YY_RULE_SETUP
2577
2600
#line 296 "asn1p_l.l"
2578
 
return TOK_FROM;
 
2601
return TOK_EXPLICIT;
2579
2602
        YY_BREAK
2580
2603
case 62:
2581
2604
YY_RULE_SETUP
2582
2605
#line 297 "asn1p_l.l"
2583
 
return TOK_GeneralizedTime;
 
2606
return TOK_EXPORTS;
2584
2607
        YY_BREAK
2585
2608
case 63:
2586
2609
YY_RULE_SETUP
2587
2610
#line 298 "asn1p_l.l"
2588
 
return TOK_GeneralString;
 
2611
return TOK_EXTENSIBILITY;
2589
2612
        YY_BREAK
2590
2613
case 64:
2591
2614
YY_RULE_SETUP
2592
2615
#line 299 "asn1p_l.l"
2593
 
return TOK_GraphicString;
 
2616
return TOK_EXTERNAL;
2594
2617
        YY_BREAK
2595
2618
case 65:
2596
2619
YY_RULE_SETUP
2597
2620
#line 300 "asn1p_l.l"
2598
 
return TOK_IA5String;
 
2621
return TOK_FALSE;
2599
2622
        YY_BREAK
2600
2623
case 66:
2601
2624
YY_RULE_SETUP
2602
2625
#line 301 "asn1p_l.l"
2603
 
return TOK_IDENTIFIER;
 
2626
return TOK_FROM;
2604
2627
        YY_BREAK
2605
2628
case 67:
2606
2629
YY_RULE_SETUP
2607
2630
#line 302 "asn1p_l.l"
2608
 
return TOK_IMPLICIT;
 
2631
return TOK_GeneralizedTime;
2609
2632
        YY_BREAK
2610
2633
case 68:
2611
2634
YY_RULE_SETUP
2612
2635
#line 303 "asn1p_l.l"
2613
 
return TOK_IMPLIED;
 
2636
return TOK_GeneralString;
2614
2637
        YY_BREAK
2615
2638
case 69:
2616
2639
YY_RULE_SETUP
2617
2640
#line 304 "asn1p_l.l"
2618
 
return TOK_IMPORTS;
 
2641
return TOK_GraphicString;
2619
2642
        YY_BREAK
2620
2643
case 70:
2621
2644
YY_RULE_SETUP
2622
2645
#line 305 "asn1p_l.l"
2623
 
return TOK_INCLUDES;
 
2646
return TOK_IA5String;
2624
2647
        YY_BREAK
2625
2648
case 71:
2626
2649
YY_RULE_SETUP
2627
2650
#line 306 "asn1p_l.l"
2628
 
return TOK_INSTANCE;
 
2651
return TOK_IDENTIFIER;
2629
2652
        YY_BREAK
2630
2653
case 72:
2631
2654
YY_RULE_SETUP
2632
2655
#line 307 "asn1p_l.l"
2633
 
return TOK_INSTRUCTIONS;
 
2656
return TOK_IMPLICIT;
2634
2657
        YY_BREAK
2635
2658
case 73:
2636
2659
YY_RULE_SETUP
2637
2660
#line 308 "asn1p_l.l"
2638
 
return TOK_INTEGER;
 
2661
return TOK_IMPLIED;
2639
2662
        YY_BREAK
2640
2663
case 74:
2641
2664
YY_RULE_SETUP
2642
2665
#line 309 "asn1p_l.l"
2643
 
return TOK_INTERSECTION;
 
2666
return TOK_IMPORTS;
2644
2667
        YY_BREAK
2645
2668
case 75:
2646
2669
YY_RULE_SETUP
2647
2670
#line 310 "asn1p_l.l"
2648
 
return TOK_ISO646String;
 
2671
return TOK_INCLUDES;
2649
2672
        YY_BREAK
2650
2673
case 76:
2651
2674
YY_RULE_SETUP
2652
2675
#line 311 "asn1p_l.l"
2653
 
return TOK_MAX;
 
2676
return TOK_INSTANCE;
2654
2677
        YY_BREAK
2655
2678
case 77:
2656
2679
YY_RULE_SETUP
2657
2680
#line 312 "asn1p_l.l"
2658
 
return TOK_MIN;
 
2681
return TOK_INSTRUCTIONS;
2659
2682
        YY_BREAK
2660
2683
case 78:
2661
2684
YY_RULE_SETUP
2662
2685
#line 313 "asn1p_l.l"
2663
 
return TOK_MINUS_INFINITY;
 
2686
return TOK_INTEGER;
2664
2687
        YY_BREAK
2665
2688
case 79:
2666
2689
YY_RULE_SETUP
2667
2690
#line 314 "asn1p_l.l"
2668
 
return TOK_NULL;
 
2691
return TOK_INTERSECTION;
2669
2692
        YY_BREAK
2670
2693
case 80:
2671
2694
YY_RULE_SETUP
2672
2695
#line 315 "asn1p_l.l"
2673
 
return TOK_NumericString;
 
2696
return TOK_ISO646String;
2674
2697
        YY_BREAK
2675
2698
case 81:
2676
2699
YY_RULE_SETUP
2677
2700
#line 316 "asn1p_l.l"
2678
 
return TOK_OBJECT;
 
2701
return TOK_MAX;
2679
2702
        YY_BREAK
2680
2703
case 82:
2681
2704
YY_RULE_SETUP
2682
2705
#line 317 "asn1p_l.l"
2683
 
return TOK_ObjectDescriptor;
 
2706
return TOK_MIN;
2684
2707
        YY_BREAK
2685
2708
case 83:
2686
2709
YY_RULE_SETUP
2687
2710
#line 318 "asn1p_l.l"
2688
 
return TOK_OCTET;
 
2711
return TOK_MINUS_INFINITY;
2689
2712
        YY_BREAK
2690
2713
case 84:
2691
2714
YY_RULE_SETUP
2692
2715
#line 319 "asn1p_l.l"
2693
 
return TOK_OF;
 
2716
return TOK_NULL;
2694
2717
        YY_BREAK
2695
2718
case 85:
2696
2719
YY_RULE_SETUP
2697
2720
#line 320 "asn1p_l.l"
2698
 
return TOK_OPTIONAL;
 
2721
return TOK_NumericString;
2699
2722
        YY_BREAK
2700
2723
case 86:
2701
2724
YY_RULE_SETUP
2702
2725
#line 321 "asn1p_l.l"
2703
 
return TOK_PATTERN;
 
2726
return TOK_OBJECT;
2704
2727
        YY_BREAK
2705
2728
case 87:
2706
2729
YY_RULE_SETUP
2707
2730
#line 322 "asn1p_l.l"
2708
 
return TOK_PDV;
 
2731
return TOK_ObjectDescriptor;
2709
2732
        YY_BREAK
2710
2733
case 88:
2711
2734
YY_RULE_SETUP
2712
2735
#line 323 "asn1p_l.l"
2713
 
return TOK_PLUS_INFINITY;
 
2736
return TOK_OCTET;
2714
2737
        YY_BREAK
2715
2738
case 89:
2716
2739
YY_RULE_SETUP
2717
2740
#line 324 "asn1p_l.l"
2718
 
return TOK_PRESENT;
 
2741
return TOK_OF;
2719
2742
        YY_BREAK
2720
2743
case 90:
2721
2744
YY_RULE_SETUP
2722
2745
#line 325 "asn1p_l.l"
2723
 
return TOK_PrintableString;
 
2746
return TOK_OPTIONAL;
2724
2747
        YY_BREAK
2725
2748
case 91:
2726
2749
YY_RULE_SETUP
2727
2750
#line 326 "asn1p_l.l"
2728
 
return TOK_PRIVATE;
 
2751
return TOK_PATTERN;
2729
2752
        YY_BREAK
2730
2753
case 92:
2731
2754
YY_RULE_SETUP
2732
2755
#line 327 "asn1p_l.l"
2733
 
return TOK_REAL;
 
2756
return TOK_PDV;
2734
2757
        YY_BREAK
2735
2758
case 93:
2736
2759
YY_RULE_SETUP
2737
2760
#line 328 "asn1p_l.l"
2738
 
return TOK_RELATIVE_OID;
 
2761
return TOK_PLUS_INFINITY;
2739
2762
        YY_BREAK
2740
2763
case 94:
2741
2764
YY_RULE_SETUP
2742
2765
#line 329 "asn1p_l.l"
2743
 
return TOK_SEQUENCE;
 
2766
return TOK_PRESENT;
2744
2767
        YY_BREAK
2745
2768
case 95:
2746
2769
YY_RULE_SETUP
2747
2770
#line 330 "asn1p_l.l"
2748
 
return TOK_SET;
 
2771
return TOK_PrintableString;
2749
2772
        YY_BREAK
2750
2773
case 96:
2751
2774
YY_RULE_SETUP
2752
2775
#line 331 "asn1p_l.l"
2753
 
return TOK_SIZE;
 
2776
return TOK_PRIVATE;
2754
2777
        YY_BREAK
2755
2778
case 97:
2756
2779
YY_RULE_SETUP
2757
2780
#line 332 "asn1p_l.l"
2758
 
return TOK_STRING;
 
2781
return TOK_REAL;
2759
2782
        YY_BREAK
2760
2783
case 98:
2761
2784
YY_RULE_SETUP
2762
2785
#line 333 "asn1p_l.l"
2763
 
return TOK_SYNTAX;
 
2786
return TOK_RELATIVE_OID;
2764
2787
        YY_BREAK
2765
2788
case 99:
2766
2789
YY_RULE_SETUP
2767
2790
#line 334 "asn1p_l.l"
2768
 
return TOK_T61String;
 
2791
return TOK_SEQUENCE;
2769
2792
        YY_BREAK
2770
2793
case 100:
2771
2794
YY_RULE_SETUP
2772
2795
#line 335 "asn1p_l.l"
2773
 
return TOK_TAGS;
 
2796
return TOK_SET;
2774
2797
        YY_BREAK
2775
2798
case 101:
2776
2799
YY_RULE_SETUP
2777
2800
#line 336 "asn1p_l.l"
2778
 
return TOK_TeletexString;
 
2801
return TOK_SIZE;
2779
2802
        YY_BREAK
2780
2803
case 102:
2781
2804
YY_RULE_SETUP
2782
2805
#line 337 "asn1p_l.l"
2783
 
return TOK_TRUE;
 
2806
return TOK_STRING;
2784
2807
        YY_BREAK
2785
2808
case 103:
2786
2809
YY_RULE_SETUP
2787
2810
#line 338 "asn1p_l.l"
2788
 
return TOK_TYPE_IDENTIFIER;
 
2811
return TOK_SYNTAX;
2789
2812
        YY_BREAK
2790
2813
case 104:
2791
2814
YY_RULE_SETUP
2792
2815
#line 339 "asn1p_l.l"
2793
 
return TOK_UNION;
 
2816
return TOK_T61String;
2794
2817
        YY_BREAK
2795
2818
case 105:
2796
2819
YY_RULE_SETUP
2797
2820
#line 340 "asn1p_l.l"
2798
 
return TOK_UNIQUE;
 
2821
return TOK_TAGS;
2799
2822
        YY_BREAK
2800
2823
case 106:
2801
2824
YY_RULE_SETUP
2802
2825
#line 341 "asn1p_l.l"
2803
 
return TOK_UNIVERSAL;
 
2826
return TOK_TeletexString;
2804
2827
        YY_BREAK
2805
2828
case 107:
2806
2829
YY_RULE_SETUP
2807
2830
#line 342 "asn1p_l.l"
2808
 
{
2809
 
                                if(TYPE_LIFETIME(1994, 0))
2810
 
                                        return TOK_UniversalString;
2811
 
                                REJECT;
2812
 
                        }
 
2831
return TOK_TRUE;
2813
2832
        YY_BREAK
2814
2833
case 108:
2815
2834
YY_RULE_SETUP
2816
 
#line 347 "asn1p_l.l"
2817
 
return TOK_UTCTime;
 
2835
#line 343 "asn1p_l.l"
 
2836
return TOK_UNION;
2818
2837
        YY_BREAK
2819
2838
case 109:
2820
2839
YY_RULE_SETUP
2821
 
#line 348 "asn1p_l.l"
2822
 
{
2823
 
                                if(TYPE_LIFETIME(1994, 0))
2824
 
                                        return TOK_UTF8String;
2825
 
                                REJECT;
2826
 
                        }
 
2840
#line 344 "asn1p_l.l"
 
2841
return TOK_UNIQUE;
2827
2842
        YY_BREAK
2828
2843
case 110:
2829
2844
YY_RULE_SETUP
2830
 
#line 353 "asn1p_l.l"
2831
 
return TOK_VideotexString;
 
2845
#line 345 "asn1p_l.l"
 
2846
return TOK_UNIVERSAL;
2832
2847
        YY_BREAK
2833
2848
case 111:
2834
2849
YY_RULE_SETUP
2835
 
#line 354 "asn1p_l.l"
2836
 
return TOK_VisibleString;
 
2850
#line 346 "asn1p_l.l"
 
2851
{
 
2852
                                if(TYPE_LIFETIME(1994, 0))
 
2853
                                        return TOK_UniversalString;
 
2854
                                REJECT;
 
2855
                        }
2837
2856
        YY_BREAK
2838
2857
case 112:
2839
2858
YY_RULE_SETUP
2840
 
#line 355 "asn1p_l.l"
2841
 
return TOK_WITH;
 
2859
#line 351 "asn1p_l.l"
 
2860
return TOK_UTCTime;
2842
2861
        YY_BREAK
2843
2862
case 113:
2844
2863
YY_RULE_SETUP
 
2864
#line 352 "asn1p_l.l"
 
2865
{
 
2866
                                if(TYPE_LIFETIME(1994, 0))
 
2867
                                        return TOK_UTF8String;
 
2868
                                REJECT;
 
2869
                        }
 
2870
        YY_BREAK
 
2871
case 114:
 
2872
YY_RULE_SETUP
 
2873
#line 357 "asn1p_l.l"
 
2874
return TOK_VideotexString;
 
2875
        YY_BREAK
 
2876
case 115:
 
2877
YY_RULE_SETUP
2845
2878
#line 358 "asn1p_l.l"
 
2879
return TOK_VisibleString;
 
2880
        YY_BREAK
 
2881
case 116:
 
2882
YY_RULE_SETUP
 
2883
#line 359 "asn1p_l.l"
 
2884
return TOK_WITH;
 
2885
        YY_BREAK
 
2886
case 117:
 
2887
YY_RULE_SETUP
 
2888
#line 362 "asn1p_l.l"
2846
2889
{
2847
 
                CHECK_DASHES;
2848
2890
                asn1p_lval.tv_str = strdup(yytext);
2849
2891
                return TOK_typefieldreference;
2850
2892
        }
2851
2893
        YY_BREAK
2852
 
case 114:
 
2894
case 118:
2853
2895
YY_RULE_SETUP
2854
 
#line 364 "asn1p_l.l"
 
2896
#line 367 "asn1p_l.l"
2855
2897
{
2856
 
                CHECK_DASHES;
2857
2898
                asn1p_lval.tv_str = strdup(yytext);
2858
2899
                return TOK_valuefieldreference;
2859
2900
        }
2860
2901
        YY_BREAK
2861
 
case 115:
 
2902
case 119:
2862
2903
YY_RULE_SETUP
2863
 
#line 371 "asn1p_l.l"
 
2904
#line 373 "asn1p_l.l"
2864
2905
{
2865
 
                CHECK_DASHES;
2866
2906
                asn1p_lval.tv_str = strdup(yytext);
2867
2907
                return TOK_identifier;
2868
2908
        }
2870
2910
/*
2871
2911
         * objectclassreference
2872
2912
         */
2873
 
case 116:
 
2913
case 120:
2874
2914
YY_RULE_SETUP
2875
 
#line 380 "asn1p_l.l"
 
2915
#line 381 "asn1p_l.l"
2876
2916
{
2877
 
                CHECK_DASHES;
2878
2917
                asn1p_lval.tv_str = strdup(yytext);
2879
2918
                return TOK_capitalreference;
2880
2919
        }
2884
2923
         * NOTE: TOK_objectclassreference must be combined
2885
2924
         * with this token to produce true typereference.
2886
2925
         */
2887
 
case 117:
 
2926
case 121:
2888
2927
YY_RULE_SETUP
2889
2928
#line 391 "asn1p_l.l"
2890
2929
{
2891
 
                CHECK_DASHES;
2892
2930
                asn1p_lval.tv_str = strdup(yytext);
2893
2931
                return TOK_typereference;
2894
2932
        }
2895
2933
        YY_BREAK
2896
 
case 118:
 
2934
case 122:
2897
2935
YY_RULE_SETUP
2898
 
#line 397 "asn1p_l.l"
 
2936
#line 396 "asn1p_l.l"
2899
2937
return TOK_PPEQ;
2900
2938
        YY_BREAK
2901
 
case 119:
 
2939
case 123:
 
2940
YY_RULE_SETUP
 
2941
#line 398 "asn1p_l.l"
 
2942
return TOK_ThreeDots;
 
2943
        YY_BREAK
 
2944
case 124:
2902
2945
YY_RULE_SETUP
2903
2946
#line 399 "asn1p_l.l"
2904
 
return TOK_ThreeDots;
2905
 
        YY_BREAK
2906
 
case 120:
2907
 
YY_RULE_SETUP
2908
 
#line 400 "asn1p_l.l"
2909
2947
return TOK_TwoDots;
2910
2948
        YY_BREAK
2911
2949
 
2912
 
case 121:
2913
 
YY_RULE_SETUP
2914
 
#line 404 "asn1p_l.l"
2915
 
{
2916
 
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2917
 
                        asn1p_lval.tv_opaque.len = yyleng;
2918
 
                        return TOK_opaque;
2919
 
                        }
2920
 
        YY_BREAK
2921
 
case 122:
2922
 
YY_RULE_SETUP
2923
 
#line 410 "asn1p_l.l"
2924
 
{
2925
 
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
2926
 
                        asn1p_lval.tv_opaque.len = yyleng;
2927
 
                        return TOK_opaque;
2928
 
                        }
2929
 
        YY_BREAK
2930
 
case 123:
2931
 
YY_RULE_SETUP
2932
 
#line 416 "asn1p_l.l"
 
2950
case 125:
 
2951
YY_RULE_SETUP
 
2952
#line 403 "asn1p_l.l"
 
2953
{
 
2954
                                asn1p_lval.tv_str = strdup(yytext);
 
2955
                                return TOK_Literal;
 
2956
                        }
 
2957
        YY_BREAK
 
2958
case 126:
 
2959
YY_RULE_SETUP
 
2960
#line 408 "asn1p_l.l"
 
2961
{
 
2962
                                asn1p_lval.tv_str = strdup(yytext);
 
2963
                                return TOK_Literal;
 
2964
                        }
 
2965
        YY_BREAK
 
2966
case 127:
 
2967
YY_RULE_SETUP
 
2968
#line 413 "asn1p_l.l"
 
2969
{
 
2970
                                yy_push_state(with_syntax);
 
2971
                                asn1p_lval.tv_str = strdup(yytext);
 
2972
                                return TOK_Literal;
 
2973
                        }
 
2974
        YY_BREAK
 
2975
case 128:
 
2976
YY_RULE_SETUP
 
2977
#line 419 "asn1p_l.l"
 
2978
return '[';
 
2979
        YY_BREAK
 
2980
case 129:
 
2981
YY_RULE_SETUP
 
2982
#line 420 "asn1p_l.l"
 
2983
return ']';
 
2984
        YY_BREAK
 
2985
case 130:
 
2986
YY_RULE_SETUP
 
2987
#line 422 "asn1p_l.l"
 
2988
{
 
2989
                        asn1p_lval.tv_opaque.buf = strdup(yytext);
 
2990
                        asn1p_lval.tv_opaque.len = yyleng;
 
2991
                        return TOK_whitespace;
 
2992
                        }
 
2993
        YY_BREAK
 
2994
case 131:
 
2995
YY_RULE_SETUP
 
2996
#line 428 "asn1p_l.l"
2933
2997
{
2934
2998
                                yy_pop_state();
2935
 
                                return '}';
 
2999
                                if(YYSTATE == with_syntax) {
 
3000
                                        asn1p_lval.tv_str = strdup(yytext);
 
3001
                                        return TOK_Literal;
 
3002
                                } else {
 
3003
                                        return '}';
 
3004
                                }
2936
3005
                        }
2937
3006
        YY_BREAK
2938
3007
 
2939
 
case 124:
 
3008
case 132:
2940
3009
YY_RULE_SETUP
2941
 
#line 424 "asn1p_l.l"
 
3010
#line 441 "asn1p_l.l"
2942
3011
/* Ignore whitespace */
2943
3012
        YY_BREAK
2944
 
case 125:
 
3013
case 133:
2945
3014
YY_RULE_SETUP
2946
 
#line 427 "asn1p_l.l"
 
3015
#line 444 "asn1p_l.l"
2947
3016
{
2948
3017
                asn1c_integer_t v1 = -1, v2 = -1;
2949
3018
                char *p;
2950
3019
                for(p = yytext; *p; p++)
2951
3020
                        if(*p >= '0' && *p <= '9')
2952
 
                        { v1 = asn1p_atoi(p); break; }
 
3021
                        { v1 = _lex_atoi(p); break; }
2953
3022
                while(*p >= '0' && *p <= '9') p++;      /* Skip digits */
2954
3023
                for(; *p; p++) if(*p >= '0' && *p <= '9')
2955
 
                        { v2 = asn1p_atoi(p); break; }
 
3024
                        { v2 = _lex_atoi(p); break; }
2956
3025
                if(v1 < 0 || v1 > 7) {
2957
3026
                        fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2958
3027
                                "mandates 0..7 range for Tuple's TableColumn\n",
2969
3038
                return TOK_tuple;
2970
3039
        }
2971
3040
        YY_BREAK
2972
 
case 126:
 
3041
case 134:
2973
3042
YY_RULE_SETUP
2974
 
#line 452 "asn1p_l.l"
 
3043
#line 469 "asn1p_l.l"
2975
3044
{
2976
3045
                asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
2977
3046
                char *p;
2978
3047
                for(p = yytext; *p; p++)
2979
3048
                        if(*p >= '0' && *p <= '9')
2980
 
                        { v1 = asn1p_atoi(p); break; }
 
3049
                        { v1 = _lex_atoi(p); break; }
2981
3050
                while(*p >= '0' && *p <= '9') p++;      /* Skip digits */
2982
3051
                for(; *p; p++) if(*p >= '0' && *p <= '9')
2983
 
                        { v2 = asn1p_atoi(p); break; }
2984
 
                while(*p >= '0' && *p <= '9') p++;
2985
 
                for(; *p; p++) if(*p >= '0' && *p <= '9')
2986
 
                        { v3 = asn1p_atoi(p); break; }
2987
 
                while(*p >= '0' && *p <= '9') p++;
2988
 
                for(; *p; p++) if(*p >= '0' && *p <= '9')
2989
 
                        { v4 = asn1p_atoi(p); break; }
 
3052
                        { v2 = _lex_atoi(p); break; }
 
3053
                while(*p >= '0' && *p <= '9') p++;
 
3054
                for(; *p; p++) if(*p >= '0' && *p <= '9')
 
3055
                        { v3 = _lex_atoi(p); break; }
 
3056
                while(*p >= '0' && *p <= '9') p++;
 
3057
                for(; *p; p++) if(*p >= '0' && *p <= '9')
 
3058
                        { v4 = _lex_atoi(p); break; }
2990
3059
                if(v1 < 0 || v1 > 127) {
2991
3060
                        fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
2992
3061
                                "mandates 0..127 range for Quadruple's Group\n",
3015
3084
                return TOK_quadruple;
3016
3085
        }
3017
3086
        YY_BREAK
3018
 
case 127:
 
3087
case 135:
3019
3088
YY_RULE_SETUP
3020
 
#line 496 "asn1p_l.l"
 
3089
#line 513 "asn1p_l.l"
3021
3090
return yytext[0];
3022
3091
        YY_BREAK
3023
 
case 128:
 
3092
case 136:
3024
3093
YY_RULE_SETUP
3025
 
#line 498 "asn1p_l.l"
 
3094
#line 515 "asn1p_l.l"
3026
3095
{
3027
3096
                if(TYPE_LIFETIME(1994, 0))
3028
3097
                        fprintf(stderr, "ERROR: ");
3034
3103
                        return -1;
3035
3104
        }
3036
3105
        YY_BREAK
3037
 
case 129:
 
3106
case 137:
3038
3107
YY_RULE_SETUP
3039
 
#line 509 "asn1p_l.l"
 
3108
#line 526 "asn1p_l.l"
3040
3109
{
3041
3110
                fprintf(stderr,
3042
3111
                        "Unexpected token at line %d: \"%s\"\n",
3052
3121
        YY_BREAK
3053
3122
case YY_STATE_EOF(INITIAL):
3054
3123
case YY_STATE_EOF(dash_comment):
 
3124
case YY_STATE_EOF(idash_comment):
3055
3125
case YY_STATE_EOF(cpp_comment):
3056
3126
case YY_STATE_EOF(quoted):
3057
3127
case YY_STATE_EOF(opaque):
3058
3128
case YY_STATE_EOF(encoding_control):
3059
3129
case YY_STATE_EOF(with_syntax):
3060
 
#line 522 "asn1p_l.l"
 
3130
#line 539 "asn1p_l.l"
3061
3131
{
3062
3132
                while(YYSTATE != INITIAL)
3063
3133
                        yy_pop_state();
3064
3134
                yyterminate();
3065
3135
        }
3066
3136
        YY_BREAK
3067
 
case 130:
 
3137
case 138:
3068
3138
YY_RULE_SETUP
3069
 
#line 529 "asn1p_l.l"
 
3139
#line 546 "asn1p_l.l"
3070
3140
YY_FATAL_ERROR( "flex scanner jammed" );
3071
3141
        YY_BREAK
3072
 
#line 3073 "asn1p_l.c"
 
3142
#line 3143 "asn1p_l.c"
3073
3143
 
3074
3144
        case YY_END_OF_BUFFER:
3075
3145
                {
3356
3426
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3357
3427
                        {
3358
3428
                        yy_current_state = (int) yy_def[yy_current_state];
3359
 
                        if ( yy_current_state >= 689 )
 
3429
                        if ( yy_current_state >= 742 )
3360
3430
                                yy_c = yy_meta[(unsigned int) yy_c];
3361
3431
                        }
3362
3432
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3386
3456
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3387
3457
                {
3388
3458
                yy_current_state = (int) yy_def[yy_current_state];
3389
 
                if ( yy_current_state >= 689 )
 
3459
                if ( yy_current_state >= 742 )
3390
3460
                        yy_c = yy_meta[(unsigned int) yy_c];
3391
3461
                }
3392
3462
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3393
 
        yy_is_jam = (yy_current_state == 688);
 
3463
        yy_is_jam = (yy_current_state == 741);
3394
3464
        if ( ! yy_is_jam )
3395
3465
                *yy_state_ptr++ = yy_current_state;
3396
3466
 
3951
4021
        return 0;
3952
4022
        }
3953
4023
#endif
3954
 
#line 529 "asn1p_l.l"
 
4024
#line 546 "asn1p_l.l"
3955
4025
 
3956
4026
 
3957
4027
/*
3969
4039
        yy_push_state(encoding_control);
3970
4040
}
3971
4041
 
3972
 
/*
3973
 
 * Check that a token does not end with dash and does not contain
3974
 
 * several dashes in succession.
3975
 
 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
3976
 
 * "end-", "vustom--value" are INVALID
3977
 
 */
3978
 
static int
3979
 
_check_dashes(char *ptr) {
3980
 
        int prev_dash = 0;
3981
 
 
3982
 
        assert(*ptr != '-');
3983
 
 
3984
 
        for(;; ptr++) {
3985
 
                switch(*ptr) {
3986
 
                case '-':
3987
 
                        if(prev_dash++) /* No double dashes */
3988
 
                                return -1;
3989
 
                        continue;
3990
 
                case '\0':
3991
 
                        if(prev_dash)   /* No dashes at the end */
3992
 
                                return -1;
3993
 
                        break;
3994
 
                default:
3995
 
                        prev_dash = 0;
3996
 
                        continue;
3997
 
                }
3998
 
                break;
3999
 
        }
4000
 
 
4001
 
        return 0;
4002
 
}
4003
 
 
4004
4042
static asn1c_integer_t
4005
 
asn1p_atoi(char *ptr) {
 
4043
_lex_atoi(const char *ptr) {
4006
4044
        asn1c_integer_t value;
4007
 
        errno = 0;      /* Clear the error code */
4008
 
 
4009
 
        if(sizeof(value) <= sizeof(int)) {
4010
 
                value = strtol(ptr, 0, 10);
4011
 
        } else {
4012
 
#ifdef  HAVE_STRTOIMAX
4013
 
                value = strtoimax(ptr, 0, 10);
4014
 
#elif   HAVE_STRTOLL
4015
 
                value = strtoll(ptr, 0, 10);
4016
 
#else
4017
 
                value = strtol(ptr, 0, 10);
4018
 
#endif
4019
 
        }
4020
 
 
4021
 
        if(errno == ERANGE) {
 
4045
        if(asn1p_atoi(ptr, &value)) {
4022
4046
                fprintf(stderr,
4023
4047
                        "Value \"%s\" at line %d is too large "
4024
4048
                        "for this compiler! Please contact the asn1c author.\n",
4025
4049
                        ptr, yylineno);
4026
 
                errno = ERANGE; /* Restore potentially clobbered errno */
 
4050
                errno = ERANGE;
4027
4051
        }
 
4052
        return value;
 
4053
}
4028
4054
 
 
4055
static double
 
4056
_lex_atod(const char *ptr) {
 
4057
        double value;
 
4058
        errno = 0;
 
4059
        value = strtod(ptr, 0);
 
4060
        if(errno) {
 
4061
                fprintf(stderr,
 
4062
                        "Value \"%s\" at line %d is outside of `double` range "
 
4063
                        "in this compiler! Please contact the asn1c author.\n",
 
4064
                        ptr, yylineno);
 
4065
                errno = ERANGE;
 
4066
        }
4029
4067
        return value;
4030
4068
}
4031
4069