/[svn]/ircd-hybrid-8/src/conf_parser.c
ViewVC logotype

Diff of /ircd-hybrid-8/src/conf_parser.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1315 by michael, Sun Mar 25 11:24:18 2012 UTC revision 1316 by michael, Tue Mar 27 17:05:51 2012 UTC
# Line 66  Line 66 
66  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
67    
68  /* Line 268 of yacc.c  */  /* Line 268 of yacc.c  */
69  #line 25 "ircd_parser.y"  #line 25 "conf_parser.y"
70    
71    
72  #define YY_NO_UNPUT  #define YY_NO_UNPUT
# Line 176  unhook_hub_leaf_confs(void) Line 176  unhook_hub_leaf_confs(void)
176    
177    
178  /* Line 268 of yacc.c  */  /* Line 268 of yacc.c  */
179  #line 180 "ircd_parser.c"  #line 180 "conf_parser.c"
180    
181  /* Enabling traces.  */  /* Enabling traces.  */
182  #ifndef YYDEBUG  #ifndef YYDEBUG
# Line 347  unhook_hub_leaf_confs(void) Line 347  unhook_hub_leaf_confs(void)
347       RSA_PUBLIC_KEY_FILE = 399,       RSA_PUBLIC_KEY_FILE = 399,
348       SSL_CERTIFICATE_FILE = 400,       SSL_CERTIFICATE_FILE = 400,
349       SSL_DH_PARAM_FILE = 401,       SSL_DH_PARAM_FILE = 401,
350       T_SSL_CONNECTION_METHOD = 402,       T_SSL_CLIENT_METHOD = 402,
351       T_SSLV3 = 403,       T_SSL_SERVER_METHOD = 403,
352       T_TLSV1 = 404,       T_SSLV3 = 404,
353       RESV = 405,       T_TLSV1 = 405,
354       RESV_EXEMPT = 406,       RESV = 406,
355       SECONDS = 407,       RESV_EXEMPT = 407,
356       MINUTES = 408,       SECONDS = 408,
357       HOURS = 409,       MINUTES = 409,
358       DAYS = 410,       HOURS = 410,
359       WEEKS = 411,       DAYS = 411,
360       SENDQ = 412,       WEEKS = 412,
361       SEND_PASSWORD = 413,       SENDQ = 413,
362       SERVERHIDE = 414,       SEND_PASSWORD = 414,
363       SERVERINFO = 415,       SERVERHIDE = 415,
364       IRCD_SID = 416,       SERVERINFO = 416,
365       TKLINE_EXPIRE_NOTICES = 417,       IRCD_SID = 417,
366       T_SHARED = 418,       TKLINE_EXPIRE_NOTICES = 418,
367       T_CLUSTER = 419,       T_SHARED = 419,
368       TYPE = 420,       T_CLUSTER = 420,
369       SHORT_MOTD = 421,       TYPE = 421,
370       SILENT = 422,       SHORT_MOTD = 422,
371       SPOOF = 423,       SILENT = 423,
372       SPOOF_NOTICE = 424,       SPOOF = 424,
373       STATS_E_DISABLED = 425,       SPOOF_NOTICE = 425,
374       STATS_I_OPER_ONLY = 426,       STATS_E_DISABLED = 426,
375       STATS_K_OPER_ONLY = 427,       STATS_I_OPER_ONLY = 427,
376       STATS_O_OPER_ONLY = 428,       STATS_K_OPER_ONLY = 428,
377       STATS_P_OPER_ONLY = 429,       STATS_O_OPER_ONLY = 429,
378       TBOOL = 430,       STATS_P_OPER_ONLY = 430,
379       TMASKED = 431,       TBOOL = 431,
380       T_REJECT = 432,       TMASKED = 432,
381       TS_MAX_DELTA = 433,       T_REJECT = 433,
382       TS_WARN_DELTA = 434,       TS_MAX_DELTA = 434,
383       TWODOTS = 435,       TS_WARN_DELTA = 435,
384       T_ALL = 436,       TWODOTS = 436,
385       T_BOTS = 437,       T_ALL = 437,
386       T_SOFTCALLERID = 438,       T_BOTS = 438,
387       T_CALLERID = 439,       T_SOFTCALLERID = 439,
388       T_CCONN = 440,       T_CALLERID = 440,
389       T_CCONN_FULL = 441,       T_CCONN = 441,
390       T_SSL_CIPHER_LIST = 442,       T_CCONN_FULL = 442,
391       T_CLIENT_FLOOD = 443,       T_SSL_CIPHER_LIST = 443,
392       T_DEAF = 444,       T_CLIENT_FLOOD = 444,
393       T_DEBUG = 445,       T_DEAF = 445,
394       T_DLINE = 446,       T_DEBUG = 446,
395       T_DRONE = 447,       T_DLINE = 447,
396       T_EXTERNAL = 448,       T_DRONE = 448,
397       T_FULL = 449,       T_EXTERNAL = 449,
398       T_INVISIBLE = 450,       T_FULL = 450,
399       T_IPV4 = 451,       T_INVISIBLE = 451,
400       T_IPV6 = 452,       T_IPV4 = 452,
401       T_LOCOPS = 453,       T_IPV6 = 453,
402       T_MAX_CLIENTS = 454,       T_LOCOPS = 454,
403       T_NCHANGE = 455,       T_MAX_CLIENTS = 455,
404       T_OPERWALL = 456,       T_NCHANGE = 456,
405       T_REJ = 457,       T_OPERWALL = 457,
406       T_SERVER = 458,       T_REJ = 458,
407       T_SERVNOTICE = 459,       T_SERVER = 459,
408       T_SKILL = 460,       T_SERVNOTICE = 460,
409       T_SPY = 461,       T_SKILL = 461,
410       T_SSL = 462,       T_SPY = 462,
411       T_UMODES = 463,       T_SSL = 463,
412       T_UNAUTH = 464,       T_UMODES = 464,
413       T_UNDLINE = 465,       T_UNAUTH = 465,
414       T_UNLIMITED = 466,       T_UNDLINE = 466,
415       T_UNRESV = 467,       T_UNLIMITED = 467,
416       T_UNXLINE = 468,       T_UNRESV = 468,
417       T_GLOBOPS = 469,       T_UNXLINE = 469,
418       T_WALLOP = 470,       T_GLOBOPS = 470,
419       T_RESTART = 471,       T_WALLOP = 471,
420       T_SERVICE = 472,       T_RESTART = 472,
421       T_SERVICES_NAME = 473,       T_SERVICE = 473,
422       T_TIMESTAMP = 474,       T_SERVICES_NAME = 474,
423       THROTTLE_TIME = 475,       T_TIMESTAMP = 475,
424       TOPICBURST = 476,       THROTTLE_TIME = 476,
425       TRUE_NO_OPER_FLOOD = 477,       TOPICBURST = 477,
426       TKLINE = 478,       TRUE_NO_OPER_FLOOD = 478,
427       TXLINE = 479,       TKLINE = 479,
428       TRESV = 480,       TXLINE = 480,
429       UNKLINE = 481,       TRESV = 481,
430       USER = 482,       UNKLINE = 482,
431       USE_EGD = 483,       USER = 483,
432       USE_EXCEPT = 484,       USE_EGD = 484,
433       USE_INVEX = 485,       USE_EXCEPT = 485,
434       USE_KNOCK = 486,       USE_INVEX = 486,
435       USE_LOGGING = 487,       USE_KNOCK = 487,
436       USE_WHOIS_ACTUALLY = 488,       USE_LOGGING = 488,
437       VHOST = 489,       USE_WHOIS_ACTUALLY = 489,
438       VHOST6 = 490,       VHOST = 490,
439       XLINE = 491,       VHOST6 = 491,
440       WARN = 492,       XLINE = 492,
441       WARN_NO_NLINE = 493,       WARN = 493,
442       T_SIZE = 494,       WARN_NO_NLINE = 494,
443       T_FILE = 495       T_SIZE = 495,
444         T_FILE = 496
445     };     };
446  #endif  #endif
447  /* Tokens.  */  /* Tokens.  */
# Line 588  unhook_hub_leaf_confs(void) Line 589  unhook_hub_leaf_confs(void)
589  #define RSA_PUBLIC_KEY_FILE 399  #define RSA_PUBLIC_KEY_FILE 399
590  #define SSL_CERTIFICATE_FILE 400  #define SSL_CERTIFICATE_FILE 400
591  #define SSL_DH_PARAM_FILE 401  #define SSL_DH_PARAM_FILE 401
592  #define T_SSL_CONNECTION_METHOD 402  #define T_SSL_CLIENT_METHOD 402
593  #define T_SSLV3 403  #define T_SSL_SERVER_METHOD 403
594  #define T_TLSV1 404  #define T_SSLV3 404
595  #define RESV 405  #define T_TLSV1 405
596  #define RESV_EXEMPT 406  #define RESV 406
597  #define SECONDS 407  #define RESV_EXEMPT 407
598  #define MINUTES 408  #define SECONDS 408
599  #define HOURS 409  #define MINUTES 409
600  #define DAYS 410  #define HOURS 410
601  #define WEEKS 411  #define DAYS 411
602  #define SENDQ 412  #define WEEKS 412
603  #define SEND_PASSWORD 413  #define SENDQ 413
604  #define SERVERHIDE 414  #define SEND_PASSWORD 414
605  #define SERVERINFO 415  #define SERVERHIDE 415
606  #define IRCD_SID 416  #define SERVERINFO 416
607  #define TKLINE_EXPIRE_NOTICES 417  #define IRCD_SID 417
608  #define T_SHARED 418  #define TKLINE_EXPIRE_NOTICES 418
609  #define T_CLUSTER 419  #define T_SHARED 419
610  #define TYPE 420  #define T_CLUSTER 420
611  #define SHORT_MOTD 421  #define TYPE 421
612  #define SILENT 422  #define SHORT_MOTD 422
613  #define SPOOF 423  #define SILENT 423
614  #define SPOOF_NOTICE 424  #define SPOOF 424
615  #define STATS_E_DISABLED 425  #define SPOOF_NOTICE 425
616  #define STATS_I_OPER_ONLY 426  #define STATS_E_DISABLED 426
617  #define STATS_K_OPER_ONLY 427  #define STATS_I_OPER_ONLY 427
618  #define STATS_O_OPER_ONLY 428  #define STATS_K_OPER_ONLY 428
619  #define STATS_P_OPER_ONLY 429  #define STATS_O_OPER_ONLY 429
620  #define TBOOL 430  #define STATS_P_OPER_ONLY 430
621  #define TMASKED 431  #define TBOOL 431
622  #define T_REJECT 432  #define TMASKED 432
623  #define TS_MAX_DELTA 433  #define T_REJECT 433
624  #define TS_WARN_DELTA 434  #define TS_MAX_DELTA 434
625  #define TWODOTS 435  #define TS_WARN_DELTA 435
626  #define T_ALL 436  #define TWODOTS 436
627  #define T_BOTS 437  #define T_ALL 437
628  #define T_SOFTCALLERID 438  #define T_BOTS 438
629  #define T_CALLERID 439  #define T_SOFTCALLERID 439
630  #define T_CCONN 440  #define T_CALLERID 440
631  #define T_CCONN_FULL 441  #define T_CCONN 441
632  #define T_SSL_CIPHER_LIST 442  #define T_CCONN_FULL 442
633  #define T_CLIENT_FLOOD 443  #define T_SSL_CIPHER_LIST 443
634  #define T_DEAF 444  #define T_CLIENT_FLOOD 444
635  #define T_DEBUG 445  #define T_DEAF 445
636  #define T_DLINE 446  #define T_DEBUG 446
637  #define T_DRONE 447  #define T_DLINE 447
638  #define T_EXTERNAL 448  #define T_DRONE 448
639  #define T_FULL 449  #define T_EXTERNAL 449
640  #define T_INVISIBLE 450  #define T_FULL 450
641  #define T_IPV4 451  #define T_INVISIBLE 451
642  #define T_IPV6 452  #define T_IPV4 452
643  #define T_LOCOPS 453  #define T_IPV6 453
644  #define T_MAX_CLIENTS 454  #define T_LOCOPS 454
645  #define T_NCHANGE 455  #define T_MAX_CLIENTS 455
646  #define T_OPERWALL 456  #define T_NCHANGE 456
647  #define T_REJ 457  #define T_OPERWALL 457
648  #define T_SERVER 458  #define T_REJ 458
649  #define T_SERVNOTICE 459  #define T_SERVER 459
650  #define T_SKILL 460  #define T_SERVNOTICE 460
651  #define T_SPY 461  #define T_SKILL 461
652  #define T_SSL 462  #define T_SPY 462
653  #define T_UMODES 463  #define T_SSL 463
654  #define T_UNAUTH 464  #define T_UMODES 464
655  #define T_UNDLINE 465  #define T_UNAUTH 465
656  #define T_UNLIMITED 466  #define T_UNDLINE 466
657  #define T_UNRESV 467  #define T_UNLIMITED 467
658  #define T_UNXLINE 468  #define T_UNRESV 468
659  #define T_GLOBOPS 469  #define T_UNXLINE 469
660  #define T_WALLOP 470  #define T_GLOBOPS 470
661  #define T_RESTART 471  #define T_WALLOP 471
662  #define T_SERVICE 472  #define T_RESTART 472
663  #define T_SERVICES_NAME 473  #define T_SERVICE 473
664  #define T_TIMESTAMP 474  #define T_SERVICES_NAME 474
665  #define THROTTLE_TIME 475  #define T_TIMESTAMP 475
666  #define TOPICBURST 476  #define THROTTLE_TIME 476
667  #define TRUE_NO_OPER_FLOOD 477  #define TOPICBURST 477
668  #define TKLINE 478  #define TRUE_NO_OPER_FLOOD 478
669  #define TXLINE 479  #define TKLINE 479
670  #define TRESV 480  #define TXLINE 480
671  #define UNKLINE 481  #define TRESV 481
672  #define USER 482  #define UNKLINE 482
673  #define USE_EGD 483  #define USER 483
674  #define USE_EXCEPT 484  #define USE_EGD 484
675  #define USE_INVEX 485  #define USE_EXCEPT 485
676  #define USE_KNOCK 486  #define USE_INVEX 486
677  #define USE_LOGGING 487  #define USE_KNOCK 487
678  #define USE_WHOIS_ACTUALLY 488  #define USE_LOGGING 488
679  #define VHOST 489  #define USE_WHOIS_ACTUALLY 489
680  #define VHOST6 490  #define VHOST 490
681  #define XLINE 491  #define VHOST6 491
682  #define WARN 492  #define XLINE 492
683  #define WARN_NO_NLINE 493  #define WARN 493
684  #define T_SIZE 494  #define WARN_NO_NLINE 494
685  #define T_FILE 495  #define T_SIZE 495
686    #define T_FILE 496
687    
688    
689    
# Line 691  typedef union YYSTYPE Line 693  typedef union YYSTYPE
693  {  {
694    
695  /* Line 293 of yacc.c  */  /* Line 293 of yacc.c  */
696  #line 133 "ircd_parser.y"  #line 133 "conf_parser.y"
697    
698    int number;    int number;
699    char *string;    char *string;
# Line 699  typedef union YYSTYPE Line 701  typedef union YYSTYPE
701    
702    
703  /* Line 293 of yacc.c  */  /* Line 293 of yacc.c  */
704  #line 703 "ircd_parser.c"  #line 705 "conf_parser.c"
705  } YYSTYPE;  } YYSTYPE;
706  # define YYSTYPE_IS_TRIVIAL 1  # define YYSTYPE_IS_TRIVIAL 1
707  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 711  typedef union YYSTYPE Line 713  typedef union YYSTYPE
713    
714    
715  /* Line 343 of yacc.c  */  /* Line 343 of yacc.c  */
716  #line 715 "ircd_parser.c"  #line 717 "conf_parser.c"
717    
718  #ifdef short  #ifdef short
719  # undef short  # undef short
# Line 930  union yyalloc Line 932  union yyalloc
932  /* YYFINAL -- State number of the termination state.  */  /* YYFINAL -- State number of the termination state.  */
933  #define YYFINAL  2  #define YYFINAL  2
934  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
935  #define YYLAST   1228  #define YYLAST   1267
936    
937  /* YYNTOKENS -- Number of terminals.  */  /* YYNTOKENS -- Number of terminals.  */
938  #define YYNTOKENS  246  #define YYNTOKENS  247
939  /* YYNNTS -- Number of nonterminals.  */  /* YYNNTS -- Number of nonterminals.  */
940  #define YYNNTS  304  #define YYNNTS  306
941  /* YYNRULES -- Number of rules.  */  /* YYNRULES -- Number of rules.  */
942  #define YYNRULES  665  #define YYNRULES  670
943  /* YYNRULES -- Number of states.  */  /* YYNRULES -- Number of states.  */
944  #define YYNSTATES  1307  #define YYNSTATES  1316
945    
946  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
947  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
948  #define YYMAXUTOK   495  #define YYMAXUTOK   496
949    
950  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
951    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 955  static const yytype_uint8 yytranslate[] Line 957  static const yytype_uint8 yytranslate[]
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
960         2,     2,     2,     2,   245,     2,     2,     2,     2,     2,         2,     2,     2,     2,   246,     2,     2,     2,     2,     2,
961         2,     2,     2,     2,     2,     2,     2,     2,     2,   241,         2,     2,     2,     2,     2,     2,     2,     2,     2,   242,
962         2,   244,     2,     2,     2,     2,     2,     2,     2,     2,         2,   245,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
965         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,   243,     2,   242,     2,     2,     2,     2,         2,     2,     2,   244,     2,   243,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
971         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1000  static const yytype_uint8 yytranslate[] Line 1002  static const yytype_uint8 yytranslate[]
1002       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1003       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1004       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1005       235,   236,   237,   238,   239,   240       235,   236,   237,   238,   239,   240,   241
1006  };  };
1007    
1008  #if YYDEBUG  #if YYDEBUG
# Line 1014  static const yytype_uint16 yyprhs[] = Line 1016  static const yytype_uint16 yyprhs[] =
1016        61,    65,    69,    73,    77,    81,    82,    84,    87,    91,        61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1017        95,    99,   105,   108,   110,   112,   114,   117,   122,   127,        95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1018       133,   136,   138,   140,   142,   144,   146,   148,   150,   152,       133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1019       154,   156,   158,   160,   162,   164,   166,   169,   170,   176,       154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
1020       180,   182,   184,   186,   191,   196,   201,   206,   211,   216,       181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
1021       221,   226,   231,   236,   241,   246,   251,   257,   260,   262,       211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
1022       264,   266,   268,   271,   276,   281,   286,   292,   295,   297,       261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
1023       299,   301,   303,   306,   311,   316,   317,   324,   327,   329,       296,   301,   307,   310,   312,   314,   316,   318,   321,   326,
1024       331,   333,   335,   338,   343,   348,   353,   354,   360,   364,       331,   332,   339,   342,   344,   346,   348,   350,   353,   358,
1025       366,   368,   370,   372,   374,   376,   378,   380,   381,   388,       363,   368,   369,   375,   379,   381,   383,   385,   387,   389,
1026       391,   393,   395,   397,   399,   401,   403,   405,   407,   409,       391,   393,   395,   396,   403,   406,   408,   410,   412,   414,
1027       412,   417,   422,   427,   432,   437,   442,   443,   449,   453,       416,   418,   420,   422,   424,   427,   432,   437,   442,   447,
1028       455,   457,   459,   461,   463,   465,   467,   469,   471,   473,       452,   457,   458,   464,   468,   470,   472,   474,   476,   478,
1029       475,   477,   479,   481,   483,   485,   487,   489,   491,   493,       480,   482,   484,   486,   488,   490,   492,   494,   496,   498,
1030       495,   496,   502,   506,   508,   510,   512,   514,   516,   518,       500,   502,   504,   506,   508,   510,   511,   517,   521,   523,
1031       520,   522,   524,   526,   528,   530,   532,   534,   536,   538,       525,   527,   529,   531,   533,   535,   537,   539,   541,   543,
1032       540,   542,   544,   545,   552,   555,   557,   559,   561,   563,       545,   547,   549,   551,   553,   555,   557,   559,   560,   567,
1033       565,   567,   569,   571,   573,   575,   577,   579,   581,   583,       570,   572,   574,   576,   578,   580,   582,   584,   586,   588,
1034       586,   591,   596,   601,   606,   611,   616,   621,   626,   631,       590,   592,   594,   596,   598,   601,   606,   611,   616,   621,
1035       636,   641,   646,   651,   652,   659,   660,   666,   670,   672,       626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
1036       674,   676,   678,   681,   683,   685,   687,   689,   691,   694,       674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
1037       695,   701,   705,   707,   709,   713,   718,   723,   724,   731,       700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
1038       734,   736,   738,   740,   742,   744,   746,   748,   750,   752,       728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
1039       755,   760,   765,   770,   775,   776,   782,   786,   788,   790,       759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
1040       792,   794,   796,   798,   800,   802,   804,   806,   811,   816,       791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
1041       821,   822,   829,   832,   834,   836,   838,   840,   843,   848,       817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
1042       853,   858,   864,   867,   869,   871,   873,   878,   879,   886,       851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
1043       889,   891,   893,   895,   897,   900,   905,   910,   911,   917,       886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
1044       921,   923,   925,   927,   929,   931,   933,   935,   937,   939,       915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
1045       941,   943,   944,   951,   954,   956,   958,   960,   963,   968,       946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
1046       969,   975,   979,   981,   983,   985,   987,   989,   991,   993,       971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
1047       995,   997,   999,  1001,  1002,  1009,  1012,  1014,  1016,  1018,      1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
1048      1020,  1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,      1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
1049      1040,  1043,  1048,  1053,  1058,  1063,  1068,  1073,  1078,  1083,      1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
1050      1084,  1090,  1094,  1096,  1098,  1100,  1102,  1104,  1109,  1114,      1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
1051      1119,  1124,  1129,  1130,  1137,  1138,  1144,  1148,  1150,  1152,      1115,  1117,  1119,  1124,  1129,  1134,  1139,  1144,  1145,  1152,
1052      1155,  1157,  1159,  1161,  1163,  1165,  1170,  1175,  1176,  1183,      1153,  1159,  1163,  1165,  1167,  1170,  1172,  1174,  1176,  1178,
1053      1186,  1188,  1190,  1192,  1194,  1199,  1204,  1210,  1213,  1215,      1180,  1185,  1190,  1191,  1198,  1201,  1203,  1205,  1207,  1209,
1054      1217,  1219,  1224,  1225,  1232,  1233,  1239,  1243,  1245,  1247,      1214,  1219,  1225,  1228,  1230,  1232,  1234,  1239,  1240,  1247,
1055      1250,  1252,  1254,  1256,  1258,  1260,  1265,  1270,  1276,  1279,      1248,  1254,  1258,  1260,  1262,  1265,  1267,  1269,  1271,  1273,
1056      1281,  1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,      1275,  1280,  1285,  1291,  1294,  1296,  1298,  1300,  1302,  1304,
1057      1301,  1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,      1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1058      1321,  1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,      1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1059      1341,  1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,      1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1060      1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,      1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1061      1381,  1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,      1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1405,  1410,
1062      1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,      1415,  1420,  1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,
1063      1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,      1465,  1470,  1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,
1064      1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,      1515,  1520,  1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,
1065      1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1620,      1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,
1066      1621,  1627,  1631,  1633,  1635,  1637,  1639,  1641,  1643,  1645,      1615,  1620,  1625,  1630,  1635,  1636,  1642,  1646,  1648,  1650,
1067      1647,  1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,      1652,  1654,  1656,  1658,  1660,  1662,  1664,  1666,  1668,  1670,
1068      1667,  1669,  1671,  1673,  1674,  1680,  1684,  1686,  1688,  1690,      1672,  1674,  1676,  1678,  1680,  1682,  1684,  1686,  1688,  1689,
1069      1692,  1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,      1695,  1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,  1715,
1070      1712,  1714,  1716,  1718,  1720,  1722,  1724,  1726,  1731,  1736,      1717,  1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,
1071      1741,  1746,  1747,  1754,  1757,  1759,  1761,  1763,  1765,  1767,      1737,  1739,  1741,  1746,  1751,  1756,  1761,  1762,  1769,  1772,
1072      1769,  1771,  1773,  1778,  1783,  1784,  1790,  1794,  1796,  1798,      1774,  1776,  1778,  1780,  1782,  1784,  1786,  1788,  1793,  1798,
1073      1800,  1805,  1810,  1811,  1817,  1821,  1823,  1825,  1827,  1833,      1799,  1805,  1809,  1811,  1813,  1815,  1820,  1825,  1826,  1832,
1074      1836,  1838,  1840,  1842,  1844,  1846,  1848,  1850,  1852,  1854,      1836,  1838,  1840,  1842,  1848,  1851,  1853,  1855,  1857,  1859,
1075      1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,      1861,  1863,  1865,  1867,  1869,  1871,  1873,  1875,  1877,  1879,
1076      1876,  1881,  1886,  1891,  1896,  1901,  1906,  1911,  1916,  1921,      1881,  1883,  1885,  1887,  1889,  1891,  1896,  1901,  1906,  1911,
1077      1926,  1931,  1936,  1941,  1946,  1951,  1956,  1961,  1966,  1972,      1916,  1921,  1926,  1931,  1936,  1941,  1946,  1951,  1956,  1961,
1078      1975,  1977,  1979,  1981,  1983,  1985,  1987,  1989,  1991,  1993,      1966,  1971,  1976,  1981,  1987,  1990,  1992,  1994,  1996,  1998,
1079      1998,  2003,  2008,  2013,  2018,  2023      2000,  2002,  2004,  2006,  2008,  2013,  2018,  2023,  2028,  2033,
1080        2038
1081  };  };
1082    
1083  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1084  static const yytype_int16 yyrhs[] =  static const yytype_int16 yyrhs[] =
1085  {  {
1086       247,     0,    -1,    -1,   247,   248,    -1,   278,    -1,   284,       248,     0,    -1,    -1,   248,   249,    -1,   281,    -1,   287,
1087        -1,   299,    -1,   519,    -1,   317,    -1,   334,    -1,   348,        -1,   302,    -1,   522,    -1,   320,    -1,   337,    -1,   351,
1088        -1,   258,    -1,   540,    -1,   363,    -1,   370,    -1,   374,        -1,   259,    -1,   543,    -1,   366,    -1,   373,    -1,   377,
1089        -1,   384,    -1,   393,    -1,   413,    -1,   423,    -1,   429,        -1,   387,    -1,   396,    -1,   416,    -1,   426,    -1,   432,
1090        -1,   443,    -1,   503,    -1,   433,    -1,   253,    -1,     1,        -1,   446,    -1,   506,    -1,   436,    -1,   254,    -1,     1,
1091       241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,       242,    -1,     1,   243,    -1,    -1,   251,    -1,   110,   250,
1092        -1,   110,   152,   249,    -1,   110,   153,   249,    -1,   110,        -1,   110,   153,   250,    -1,   110,   154,   250,    -1,   110,
1093       154,   249,    -1,   110,   155,   249,    -1,   110,   156,   249,       155,   250,    -1,   110,   156,   250,    -1,   110,   157,   250,
1094        -1,    -1,   252,    -1,   110,   251,    -1,   110,    14,   251,        -1,    -1,   253,    -1,   110,   252,    -1,   110,    14,   252,
1095        -1,   110,    15,   251,    -1,   110,    16,   251,    -1,    99,        -1,   110,    15,   252,    -1,   110,    16,   252,    -1,    99,
1096       243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,       244,   255,   243,   242,    -1,   255,   256,    -1,   256,    -1,
1097       256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,       257,    -1,   258,    -1,     1,   242,    -1,    98,   245,   131,
1098       241,    -1,   126,   244,   131,   241,    -1,   160,   243,   259,       242,    -1,   126,   245,   131,   242,    -1,   161,   244,   260,
1099       242,   241,    -1,   259,   260,    -1,   260,    -1,   269,    -1,       243,   242,    -1,   260,   261,    -1,   261,    -1,   272,    -1,
1100       274,    -1,   277,    -1,   271,    -1,   272,    -1,   273,    -1,       277,    -1,   280,    -1,   274,    -1,   275,    -1,   276,    -1,
1101       276,    -1,   267,    -1,   266,    -1,   275,    -1,   270,    -1,       279,    -1,   270,    -1,   269,    -1,   278,    -1,   273,    -1,
1102       265,    -1,   261,    -1,   268,    -1,     1,   241,    -1,    -1,       268,    -1,   262,    -1,   263,    -1,   271,    -1,     1,   242,
1103       147,   262,   244,   263,   241,    -1,   263,   245,   264,    -1,        -1,   147,   245,   264,   242,    -1,   148,   245,   266,   242,
1104       264,    -1,   148,    -1,   149,    -1,   145,   244,   131,   241,        -1,   264,   246,   265,    -1,   265,    -1,   149,    -1,   150,
1105        -1,   143,   244,   131,   241,    -1,   146,   244,   131,   241,        -1,   266,   246,   267,    -1,   267,    -1,   149,    -1,   150,
1106        -1,   187,   244,   131,   241,    -1,   100,   244,   131,   241,        -1,   145,   245,   131,   242,    -1,   143,   245,   131,   242,
1107        -1,   161,   244,   131,   241,    -1,    31,   244,   131,   241,        -1,   146,   245,   131,   242,    -1,   188,   245,   131,   242,
1108        -1,   103,   244,   131,   241,    -1,   102,   244,   131,   241,        -1,   100,   245,   131,   242,    -1,   162,   245,   131,   242,
1109        -1,   234,   244,   131,   241,    -1,   235,   244,   131,   241,        -1,    31,   245,   131,   242,    -1,   103,   245,   131,   242,
1110        -1,   199,   244,   110,   241,    -1,    67,   244,   175,   241,        -1,   102,   245,   131,   242,    -1,   235,   245,   131,   242,
1111        -1,     5,   243,   279,   242,   241,    -1,   279,   280,    -1,        -1,   236,   245,   131,   242,    -1,   200,   245,   110,   242,
1112       280,    -1,   281,    -1,   283,    -1,   282,    -1,     1,   241,        -1,    67,   245,   176,   242,    -1,     5,   244,   282,   243,
1113        -1,   100,   244,   131,   241,    -1,    41,   244,   131,   241,       242,    -1,   282,   283,    -1,   283,    -1,   284,    -1,   286,
1114        -1,    31,   244,   131,   241,    -1,    83,   243,   285,   242,        -1,   285,    -1,     1,   242,    -1,   100,   245,   131,   242,
1115       241,    -1,   285,   286,    -1,   286,    -1,   287,    -1,   288,        -1,    41,   245,   131,   242,    -1,    31,   245,   131,   242,
1116        -1,   289,    -1,     1,   241,    -1,   232,   244,   175,   241,        -1,    83,   244,   288,   243,   242,    -1,   288,   289,    -1,
1117        -1,   219,   244,   175,   241,    -1,    -1,   290,   240,   243,       289,    -1,   290,    -1,   291,    -1,   292,    -1,     1,   242,
1118       291,   242,   241,    -1,   291,   292,    -1,   292,    -1,   293,        -1,   233,   245,   176,   242,    -1,   220,   245,   176,   242,
1119        -1,   295,    -1,   294,    -1,     1,   241,    -1,   100,   244,        -1,    -1,   293,   241,   244,   294,   243,   242,    -1,   294,
1120       131,   241,    -1,   239,   244,   252,   241,    -1,   239,   244,       295,    -1,   295,    -1,   296,    -1,   298,    -1,   297,    -1,
1121       211,   241,    -1,    -1,   165,   296,   244,   297,   241,    -1,         1,   242,    -1,   100,   245,   131,   242,    -1,   240,   245,
1122       297,   245,   298,    -1,   298,    -1,   227,    -1,   115,    -1,       253,   242,    -1,   240,   245,   212,   242,    -1,    -1,   166,
1123        51,    -1,   191,    -1,    74,    -1,    72,    -1,   190,    -1,       299,   245,   300,   242,    -1,   300,   246,   301,    -1,   301,
1124        -1,   115,   300,   243,   301,   242,   241,    -1,   301,   302,        -1,   228,    -1,   115,    -1,    51,    -1,   192,    -1,    74,
1125        -1,   302,    -1,   303,    -1,   304,    -1,   305,    -1,   309,        -1,    72,    -1,   191,    -1,    -1,   115,   303,   244,   304,
1126        -1,   308,    -1,   306,    -1,   307,    -1,   313,    -1,     1,       243,   242,    -1,   304,   305,    -1,   305,    -1,   306,    -1,
1127       241,    -1,   100,   244,   131,   241,    -1,   227,   244,   131,       307,    -1,   308,    -1,   312,    -1,   311,    -1,   309,    -1,
1128       241,    -1,   125,   244,   131,   241,    -1,    43,   244,   175,       310,    -1,   316,    -1,     1,   242,    -1,   100,   245,   131,
1129       241,    -1,   144,   244,   131,   241,    -1,    24,   244,   131,       242,    -1,   228,   245,   131,   242,    -1,   125,   245,   131,
1130       241,    -1,    -1,   208,   310,   244,   311,   241,    -1,   311,       242,    -1,    43,   245,   176,   242,    -1,   144,   245,   131,
1131       245,   312,    -1,   312,    -1,   182,    -1,   185,    -1,   186,       242,    -1,    24,   245,   131,   242,    -1,    -1,   209,   313,
1132        -1,   189,    -1,   190,    -1,   194,    -1,    61,    -1,   205,       245,   314,   242,    -1,   314,   246,   315,    -1,   315,    -1,
1133        -1,   200,    -1,   202,    -1,   209,    -1,   206,    -1,   193,       183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,    -1,
1134        -1,   201,    -1,   204,    -1,   195,    -1,   215,    -1,   183,       195,    -1,    61,    -1,   206,    -1,   201,    -1,   203,    -1,
1135        -1,   184,    -1,   198,    -1,    -1,    47,   314,   244,   315,       210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,    -1,
1136       241,    -1,   315,   245,   316,    -1,   316,    -1,    57,    -1,       196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,    -1,
1137       139,    -1,    74,    -1,   226,    -1,   191,    -1,   210,    -1,        -1,    47,   317,   245,   318,   242,    -1,   318,   246,   319,
1138       236,    -1,    51,    -1,    32,    -1,   216,    -1,   137,    -1,        -1,   319,    -1,    57,    -1,   139,    -1,    74,    -1,   227,
1139         5,    -1,   105,    -1,   201,    -1,   214,    -1,   119,    -1,        -1,   192,    -1,   211,    -1,   237,    -1,    51,    -1,    32,
1140       140,    -1,    98,    -1,    -1,    24,   318,   243,   319,   242,        -1,   217,    -1,   137,    -1,     5,    -1,   105,    -1,   202,
1141       241,    -1,   319,   320,    -1,   320,    -1,   321,    -1,   331,        -1,   215,    -1,   119,    -1,   140,    -1,    98,    -1,    -1,
1142        -1,   332,    -1,   322,    -1,   323,    -1,   333,    -1,   324,        24,   321,   244,   322,   243,   242,    -1,   322,   323,    -1,
1143        -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,   329,       323,    -1,   324,    -1,   334,    -1,   335,    -1,   325,    -1,
1144        -1,   330,    -1,     1,   241,    -1,   100,   244,   131,   241,       326,    -1,   336,    -1,   327,    -1,   328,    -1,   329,    -1,
1145        -1,   128,   244,   250,   241,    -1,   129,   244,   250,   241,       330,    -1,   331,    -1,   332,    -1,   333,    -1,     1,   242,
1146        -1,   113,   244,   110,   241,    -1,    26,   244,   250,   241,        -1,   100,   245,   131,   242,    -1,   128,   245,   251,   242,
1147        -1,    92,   244,   110,   241,    -1,    87,   244,   110,   241,        -1,   129,   245,   251,   242,    -1,   113,   245,   110,   242,
1148        -1,    89,   244,   110,   241,    -1,    88,   244,   110,   241,        -1,    26,   245,   251,   242,    -1,    92,   245,   110,   242,
1149        -1,   157,   244,   252,   241,    -1,    22,   244,   110,   241,        -1,    87,   245,   110,   242,    -1,    89,   245,   110,   242,
1150        -1,    23,   244,   110,   241,    -1,   112,   244,   110,   241,        -1,    88,   245,   110,   242,    -1,   158,   245,   253,   242,
1151        -1,    -1,    82,   335,   243,   340,   242,   241,    -1,    -1,        -1,    22,   245,   110,   242,    -1,    23,   245,   110,   242,
1152        47,   337,   244,   338,   241,    -1,   338,   245,   339,    -1,        -1,   112,   245,   110,   242,    -1,    -1,    82,   338,   244,
1153       339,    -1,   207,    -1,    61,    -1,   203,    -1,   340,   341,       343,   243,   242,    -1,    -1,    47,   340,   245,   341,   242,
1154        -1,   341,    -1,   342,    -1,   336,    -1,   346,    -1,   347,        -1,   341,   246,   342,    -1,   342,    -1,   208,    -1,    61,
1155        -1,     1,   241,    -1,    -1,   130,   244,   344,   343,   241,        -1,   204,    -1,   343,   344,    -1,   344,    -1,   345,    -1,
1156        -1,   344,   245,   345,    -1,   345,    -1,   110,    -1,   110,       339,    -1,   349,    -1,   350,    -1,     1,   242,    -1,    -1,
1157       180,   110,    -1,    71,   244,   131,   241,    -1,    66,   244,       130,   245,   347,   346,   242,    -1,   347,   246,   348,    -1,
1158       131,   241,    -1,    -1,    58,   349,   243,   350,   242,   241,       348,    -1,   110,    -1,   110,   181,   110,    -1,    71,   245,
1159        -1,   350,   351,    -1,   351,    -1,   352,    -1,   353,    -1,       131,   242,    -1,    66,   245,   131,   242,    -1,    -1,    58,
1160       354,    -1,   356,    -1,   360,    -1,   361,    -1,   362,    -1,       352,   244,   353,   243,   242,    -1,   353,   354,    -1,   354,
1161       355,    -1,     1,   241,    -1,   227,   244,   131,   241,    -1,        -1,   355,    -1,   356,    -1,   357,    -1,   359,    -1,   363,
1162       125,   244,   131,   241,    -1,    24,   244,   131,   241,    -1,        -1,   364,    -1,   365,    -1,   358,    -1,     1,   242,    -1,
1163        43,   244,   175,   241,    -1,    -1,    47,   357,   244,   358,       228,   245,   131,   242,    -1,   125,   245,   131,   242,    -1,
1164       241,    -1,   358,   245,   359,    -1,   359,    -1,   169,    -1,        24,   245,   131,   242,    -1,    43,   245,   176,   242,    -1,
1165        44,    -1,    75,    -1,    59,    -1,    20,    -1,   109,    -1,        -1,    47,   360,   245,   361,   242,    -1,   361,   246,   362,
1166        53,    -1,   151,    -1,   101,    -1,   168,   244,   131,   241,        -1,   362,    -1,   170,    -1,    44,    -1,    75,    -1,    59,
1167        -1,   135,   244,   131,   241,    -1,   134,   244,   110,   241,        -1,    20,    -1,   109,    -1,    53,    -1,   152,    -1,   101,
1168        -1,    -1,   150,   364,   243,   365,   242,   241,    -1,   365,        -1,   169,   245,   131,   242,    -1,   135,   245,   131,   242,
1169       366,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,        -1,   134,   245,   110,   242,    -1,    -1,   151,   367,   244,
1170         1,   241,    -1,   133,   244,   131,   241,    -1,    21,   244,       368,   243,   242,    -1,   368,   369,    -1,   369,    -1,   370,
1171       131,   241,    -1,   104,   244,   131,   241,    -1,   217,   243,        -1,   371,    -1,   372,    -1,     1,   242,    -1,   133,   245,
1172       371,   242,   241,    -1,   371,   372,    -1,   372,    -1,   373,       131,   242,    -1,    21,   245,   131,   242,    -1,   104,   245,
1173        -1,     1,    -1,   100,   244,   131,   241,    -1,    -1,   163,       131,   242,    -1,   218,   244,   374,   243,   242,    -1,   374,
1174       375,   243,   376,   242,   241,    -1,   376,   377,    -1,   377,       375,    -1,   375,    -1,   376,    -1,     1,    -1,   100,   245,
1175        -1,   378,    -1,   379,    -1,   380,    -1,     1,   241,    -1,       131,   242,    -1,    -1,   164,   378,   244,   379,   243,   242,
1176       100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,        -1,   379,   380,    -1,   380,    -1,   381,    -1,   382,    -1,
1177        -1,   165,   381,   244,   382,   241,    -1,   382,   245,   383,       383,    -1,     1,   242,    -1,   100,   245,   131,   242,    -1,
1178        -1,   383,    -1,    74,    -1,   226,    -1,   191,    -1,   210,       228,   245,   131,   242,    -1,    -1,   166,   384,   245,   385,
1179        -1,   236,    -1,   213,    -1,   150,    -1,   212,    -1,   198,       242,    -1,   385,   246,   386,    -1,   386,    -1,    74,    -1,
1180        -1,   181,    -1,    -1,   164,   385,   243,   386,   242,   241,       227,    -1,   192,    -1,   211,    -1,   237,    -1,   214,    -1,
1181        -1,   386,   387,    -1,   387,    -1,   388,    -1,   389,    -1,       151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,   165,
1182         1,   241,    -1,   100,   244,   131,   241,    -1,    -1,   165,       388,   244,   389,   243,   242,    -1,   389,   390,    -1,   390,
1183       390,   244,   391,   241,    -1,   391,   245,   392,    -1,   392,        -1,   391,    -1,   392,    -1,     1,   242,    -1,   100,   245,
1184        -1,    74,    -1,   226,    -1,   191,    -1,   210,    -1,   236,       131,   242,    -1,    -1,   166,   393,   245,   394,   242,    -1,
1185        -1,   213,    -1,   150,    -1,   212,    -1,   198,    -1,   181,       394,   246,   395,    -1,   395,    -1,    74,    -1,   227,    -1,
1186        -1,    -1,    25,   394,   243,   395,   242,   241,    -1,   395,       192,    -1,   211,    -1,   237,    -1,   214,    -1,   151,    -1,
1187       396,    -1,   396,    -1,   397,    -1,   398,    -1,   399,    -1,       213,    -1,   199,    -1,   182,    -1,    -1,    25,   397,   244,
1188       400,    -1,   401,    -1,   403,    -1,   402,    -1,   412,    -1,       398,   243,   242,    -1,   398,   399,    -1,   399,    -1,   400,
1189       404,    -1,   409,    -1,   410,    -1,   411,    -1,   408,    -1,        -1,   401,    -1,   402,    -1,   403,    -1,   404,    -1,   406,
1190         1,   241,    -1,   100,   244,   131,   241,    -1,    66,   244,        -1,   405,    -1,   415,    -1,   407,    -1,   412,    -1,   413,
1191       131,   241,    -1,   234,   244,   131,   241,    -1,   158,   244,        -1,   414,    -1,   411,    -1,     1,   242,    -1,   100,   245,
1192       131,   241,    -1,     3,   244,   131,   241,    -1,   130,   244,       131,   242,    -1,    66,   245,   131,   242,    -1,   235,   245,
1193       110,   241,    -1,     6,   244,   196,   241,    -1,     6,   244,       131,   242,    -1,   159,   245,   131,   242,    -1,     3,   245,
1194       197,   241,    -1,    -1,    47,   405,   244,   406,   241,    -1,       131,   242,    -1,   130,   245,   110,   242,    -1,     6,   245,
1195       406,   245,   407,    -1,   407,    -1,    10,    -1,    12,    -1,       197,   242,    -1,     6,   245,   198,   242,    -1,    -1,    47,
1196       221,    -1,   207,    -1,    43,   244,   175,   241,    -1,    68,       408,   245,   409,   242,    -1,   409,   246,   410,    -1,   410,
1197       244,   131,   241,    -1,    80,   244,   131,   241,    -1,    24,        -1,    10,    -1,    12,    -1,   222,    -1,   208,    -1,    43,
1198       244,   131,   241,    -1,   187,   244,   131,   241,    -1,    -1,       245,   176,   242,    -1,    68,   245,   131,   242,    -1,    80,
1199        72,   414,   243,   419,   242,   241,    -1,    -1,   165,   416,       245,   131,   242,    -1,    24,   245,   131,   242,    -1,   188,
1200       244,   417,   241,    -1,   417,   245,   418,    -1,   418,    -1,       245,   131,   242,    -1,    -1,    72,   417,   244,   422,   243,
1201       136,    -1,   419,   420,    -1,   420,    -1,   421,    -1,   422,       242,    -1,    -1,   166,   419,   245,   420,   242,    -1,   420,
1202        -1,   415,    -1,     1,    -1,   227,   244,   131,   241,    -1,       246,   421,    -1,   421,    -1,   136,    -1,   422,   423,    -1,
1203       133,   244,   131,   241,    -1,    -1,    30,   424,   243,   425,       423,    -1,   424,    -1,   425,    -1,   418,    -1,     1,    -1,
1204       242,   241,    -1,   425,   426,    -1,   426,    -1,   427,    -1,       228,   245,   131,   242,    -1,   133,   245,   131,   242,    -1,
1205       428,    -1,     1,    -1,    71,   244,   131,   241,    -1,   133,        -1,    30,   427,   244,   428,   243,   242,    -1,   428,   429,
1206       244,   131,   241,    -1,    45,   243,   430,   242,   241,    -1,        -1,   429,    -1,   430,    -1,   431,    -1,     1,    -1,    71,
1207       430,   431,    -1,   431,    -1,   432,    -1,     1,    -1,    71,       245,   131,   242,    -1,   133,   245,   131,   242,    -1,    45,
1208       244,   131,   241,    -1,    -1,    49,   434,   243,   439,   242,       244,   433,   243,   242,    -1,   433,   434,    -1,   434,    -1,
1209       241,    -1,    -1,   165,   436,   244,   437,   241,    -1,   437,       435,    -1,     1,    -1,    71,   245,   131,   242,    -1,    -1,
1210       245,   438,    -1,   438,    -1,   136,    -1,   439,   440,    -1,        49,   437,   244,   442,   243,   242,    -1,    -1,   166,   439,
1211       440,    -1,   441,    -1,   442,    -1,   435,    -1,     1,    -1,       245,   440,   242,    -1,   440,   246,   441,    -1,   441,    -1,
1212       100,   244,   131,   241,    -1,   133,   244,   131,   241,    -1,       136,    -1,   442,   443,    -1,   443,    -1,   444,    -1,   445,
1213        50,   243,   444,   242,   241,    -1,   444,   445,    -1,   445,        -1,   438,    -1,     1,    -1,   100,   245,   131,   242,    -1,
1214        -1,   453,    -1,   454,    -1,   456,    -1,   457,    -1,   458,       133,   245,   131,   242,    -1,    50,   244,   447,   243,   242,
1215        -1,   459,    -1,   460,    -1,   461,    -1,   462,    -1,   463,        -1,   447,   448,    -1,   448,    -1,   456,    -1,   457,    -1,
1216        -1,   452,    -1,   465,    -1,   466,    -1,   467,    -1,   468,       459,    -1,   460,    -1,   461,    -1,   462,    -1,   463,    -1,
1217        -1,   483,    -1,   470,    -1,   472,    -1,   474,    -1,   473,       464,    -1,   465,    -1,   466,    -1,   455,    -1,   468,    -1,
1218        -1,   477,    -1,   471,    -1,   478,    -1,   479,    -1,   480,       469,    -1,   470,    -1,   471,    -1,   486,    -1,   473,    -1,
1219        -1,   481,    -1,   482,    -1,   495,    -1,   484,    -1,   485,       475,    -1,   477,    -1,   476,    -1,   480,    -1,   474,    -1,
1220        -1,   486,    -1,   491,    -1,   475,    -1,   476,    -1,   501,       481,    -1,   482,    -1,   483,    -1,   484,    -1,   485,    -1,
1221        -1,   499,    -1,   500,    -1,   455,    -1,   502,    -1,   490,       498,    -1,   487,    -1,   488,    -1,   489,    -1,   494,    -1,
1222        -1,   464,    -1,   488,    -1,   489,    -1,   451,    -1,   447,       478,    -1,   479,    -1,   504,    -1,   502,    -1,   503,    -1,
1223        -1,   448,    -1,   449,    -1,   450,    -1,   469,    -1,   446,       458,    -1,   505,    -1,   493,    -1,   467,    -1,   491,    -1,
1224        -1,   487,    -1,     1,    -1,    94,   244,   110,   241,    -1,       492,    -1,   454,    -1,   450,    -1,   451,    -1,   452,    -1,
1225        55,   244,   110,   241,    -1,    56,   244,   110,   241,    -1,       453,    -1,   472,    -1,   449,    -1,   490,    -1,     1,    -1,
1226       233,   244,   175,   241,    -1,   138,   244,   250,   241,    -1,        94,   245,   110,   242,    -1,    55,   245,   110,   242,    -1,
1227       162,   244,   175,   241,    -1,    73,   244,   250,   241,    -1,        56,   245,   110,   242,    -1,   234,   245,   176,   242,    -1,
1228        65,   244,   175,   241,    -1,    69,   244,   175,   241,    -1,       138,   245,   251,   242,    -1,   163,   245,   176,   242,    -1,
1229        37,   244,   175,   241,    -1,    46,   244,   175,   241,    -1,        73,   245,   251,   242,    -1,    65,   245,   176,   242,    -1,
1230         8,   244,   175,   241,    -1,    91,   244,   250,   241,    -1,        69,   245,   176,   242,    -1,    37,   245,   176,   242,    -1,
1231        90,   244,   110,   241,    -1,    84,   244,   110,   241,    -1,        46,   245,   176,   242,    -1,     8,   245,   176,   242,    -1,
1232         9,   244,   250,   241,    -1,   179,   244,   250,   241,    -1,        91,   245,   251,   242,    -1,    90,   245,   110,   242,    -1,
1233       178,   244,   250,   241,    -1,    60,   244,   110,   241,    -1,        84,   245,   110,   242,    -1,     9,   245,   251,   242,    -1,
1234        77,   244,   175,   241,    -1,    76,   244,   131,   241,    -1,       180,   245,   251,   242,    -1,   179,   245,   251,   242,    -1,
1235        70,   244,   175,   241,    -1,   238,   244,   175,   241,    -1,        60,   245,   110,   242,    -1,    77,   245,   176,   242,    -1,
1236       170,   244,   175,   241,    -1,   173,   244,   175,   241,    -1,        76,   245,   131,   242,    -1,    70,   245,   176,   242,    -1,
1237       174,   244,   175,   241,    -1,   172,   244,   175,   241,    -1,       239,   245,   176,   242,    -1,   171,   245,   176,   242,    -1,
1238       172,   244,   176,   241,    -1,   171,   244,   175,   241,    -1,       174,   245,   176,   242,    -1,   175,   245,   176,   242,    -1,
1239       171,   244,   176,   241,    -1,   123,   244,   250,   241,    -1,       173,   245,   176,   242,    -1,   173,   245,   177,   242,    -1,
1240        19,   244,   250,   241,    -1,   116,   244,   175,   241,    -1,       172,   245,   176,   242,    -1,   172,   245,   177,   242,    -1,
1241       124,   244,   250,   241,    -1,   166,   244,   175,   241,    -1,       123,   245,   251,   242,    -1,    19,   245,   251,   242,    -1,
1242       108,   244,   175,   241,    -1,   222,   244,   175,   241,    -1,       116,   245,   176,   242,    -1,   124,   245,   251,   242,    -1,
1243       118,   244,   175,   241,    -1,    95,   244,   131,   241,    -1,       167,   245,   176,   242,    -1,   108,   245,   176,   242,    -1,
1244        38,   244,   110,   241,    -1,    93,   244,   110,   241,    -1,       223,   245,   176,   242,    -1,   118,   245,   176,   242,    -1,
1245       228,   244,   175,   241,    -1,    40,   244,   131,   241,    -1,        95,   245,   131,   242,    -1,    38,   245,   110,   242,    -1,
1246       218,   244,   131,   241,    -1,   127,   244,   175,   241,    -1,        93,   245,   110,   242,    -1,   229,   245,   176,   242,    -1,
1247        33,   244,   175,   241,    -1,   220,   244,   250,   241,    -1,        40,   245,   131,   242,    -1,   219,   245,   131,   242,    -1,
1248        -1,   120,   492,   244,   493,   241,    -1,   493,   245,   494,       127,   245,   176,   242,    -1,    33,   245,   176,   242,    -1,
1249        -1,   494,    -1,   182,    -1,   185,    -1,   186,    -1,   189,       221,   245,   251,   242,    -1,    -1,   120,   495,   245,   496,
1250        -1,   190,    -1,   194,    -1,    61,    -1,   205,    -1,   200,       242,    -1,   496,   246,   497,    -1,   497,    -1,   183,    -1,
1251        -1,   202,    -1,   209,    -1,   206,    -1,   193,    -1,   201,       186,    -1,   187,    -1,   190,    -1,   191,    -1,   195,    -1,
1252        -1,   204,    -1,   195,    -1,   215,    -1,   183,    -1,   184,        61,    -1,   206,    -1,   201,    -1,   203,    -1,   210,    -1,
1253        -1,   198,    -1,    -1,   117,   496,   244,   497,   241,    -1,       207,    -1,   194,    -1,   202,    -1,   205,    -1,   196,    -1,
1254       497,   245,   498,    -1,   498,    -1,   182,    -1,   185,    -1,       216,    -1,   184,    -1,   185,    -1,   199,    -1,    -1,   117,
1255       186,    -1,   189,    -1,   190,    -1,   194,    -1,   205,    -1,       499,   245,   500,   242,    -1,   500,   246,   501,    -1,   501,
1256        61,    -1,   200,    -1,   202,    -1,   209,    -1,   206,    -1,        -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1257       193,    -1,   201,    -1,   204,    -1,   195,    -1,   215,    -1,        -1,   195,    -1,   206,    -1,    61,    -1,   201,    -1,   203,
1258       183,    -1,   184,    -1,   198,    -1,    96,   244,   110,   241,        -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1259        -1,    97,   244,   110,   241,    -1,    27,   244,   110,   241,        -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1260        -1,   188,   244,   252,   241,    -1,    -1,    52,   504,   243,        -1,    96,   245,   110,   242,    -1,    97,   245,   110,   242,
1261       505,   242,   241,    -1,   505,   506,    -1,   506,    -1,   507,        -1,    27,   245,   110,   242,    -1,   189,   245,   253,   242,
1262        -1,   508,    -1,   509,    -1,   513,    -1,   514,    -1,   515,        -1,    -1,    52,   507,   244,   508,   243,   242,    -1,   508,
1263        -1,     1,    -1,    42,   244,   175,   241,    -1,    39,   244,       509,    -1,   509,    -1,   510,    -1,   511,    -1,   512,    -1,
1264       250,   241,    -1,    -1,    83,   510,   244,   511,   241,    -1,       516,    -1,   517,    -1,   518,    -1,     1,    -1,    42,   245,
1265       511,   245,   512,    -1,   512,    -1,   177,    -1,    11,    -1,       176,   242,    -1,    39,   245,   251,   242,    -1,    -1,    83,
1266       227,   244,   131,   241,    -1,   100,   244,   131,   241,    -1,       513,   245,   514,   242,    -1,   514,   246,   515,    -1,   515,
1267        -1,     4,   516,   244,   517,   241,    -1,   517,   245,   518,        -1,   178,    -1,    11,    -1,   228,   245,   131,   242,    -1,
1268        -1,   518,    -1,   177,    -1,    11,    -1,    21,   243,   520,       100,   245,   131,   242,    -1,    -1,     4,   519,   245,   520,
1269       242,   241,    -1,   520,   521,    -1,   521,    -1,   524,    -1,       242,    -1,   520,   246,   521,    -1,   521,    -1,   178,    -1,
1270       525,    -1,   526,    -1,   527,    -1,   532,    -1,   528,    -1,        11,    -1,    21,   244,   523,   243,   242,    -1,   523,   524,
1271       529,    -1,   530,    -1,   531,    -1,   533,    -1,   534,    -1,        -1,   524,    -1,   527,    -1,   528,    -1,   529,    -1,   530,
1272       535,    -1,   523,    -1,   536,    -1,   537,    -1,   538,    -1,        -1,   535,    -1,   531,    -1,   532,    -1,   533,    -1,   534,
1273       539,    -1,   522,    -1,     1,    -1,    34,   244,   175,   241,        -1,   536,    -1,   537,    -1,   538,    -1,   526,    -1,   539,
1274        -1,   141,   244,   175,   241,    -1,    36,   244,   175,   241,        -1,   540,    -1,   541,    -1,   542,    -1,   525,    -1,     1,
1275        -1,   229,   244,   175,   241,    -1,   230,   244,   175,   241,        -1,    34,   245,   176,   242,    -1,   141,   245,   176,   242,
1276        -1,   231,   244,   175,   241,    -1,    78,   244,   250,   241,        -1,    36,   245,   176,   242,    -1,   230,   245,   176,   242,
1277        -1,    79,   244,   250,   241,    -1,    86,   244,   110,   241,        -1,   231,   245,   176,   242,    -1,   232,   245,   176,   242,
1278        -1,   132,   244,   175,   241,    -1,    85,   244,   110,   241,        -1,    78,   245,   251,   242,    -1,    79,   245,   251,   242,
1279        -1,    29,   244,   110,   241,    -1,    28,   244,   110,   241,        -1,    86,   245,   110,   242,    -1,   132,   245,   176,   242,
1280        -1,   106,   244,   175,   241,    -1,   107,   244,   175,   241,        -1,    85,   245,   110,   242,    -1,    29,   245,   110,   242,
1281        -1,    13,   244,   175,   241,    -1,   121,   244,   110,   241,        -1,    28,   245,   110,   242,    -1,   106,   245,   176,   242,
1282        -1,   122,   244,   250,   241,    -1,   159,   243,   541,   242,        -1,   107,   245,   176,   242,    -1,    13,   245,   176,   242,
1283       241,    -1,   541,   542,    -1,   542,    -1,   543,    -1,   544,        -1,   121,   245,   110,   242,    -1,   122,   245,   251,   242,
1284        -1,   546,    -1,   548,    -1,   547,    -1,   545,    -1,   549,        -1,   160,   244,   544,   243,   242,    -1,   544,   545,    -1,
1285        -1,     1,    -1,    48,   244,   175,   241,    -1,    64,   244,       545,    -1,   546,    -1,   547,    -1,   549,    -1,   551,    -1,
1286       175,   241,    -1,    62,   244,   131,   241,    -1,    81,   244,       550,    -1,   548,    -1,   552,    -1,     1,    -1,    48,   245,
1287       250,   241,    -1,    61,   244,   175,   241,    -1,    35,   244,       176,   242,    -1,    64,   245,   176,   242,    -1,    62,   245,
1288       175,   241,    -1,    63,   244,   175,   241,    -1       131,   242,    -1,    81,   245,   251,   242,    -1,    61,   245,
1289         176,   242,    -1,    35,   245,   176,   242,    -1,    63,   245,
1290         176,   242,    -1
1291  };  };
1292    
1293  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1294  static const yytype_uint16 yyrline[] =  static const yytype_uint16 yyrline[] =
1295  {  {
1296         0,   377,   377,   378,   381,   382,   383,   384,   385,   386,         0,   378,   378,   379,   382,   383,   384,   385,   386,   387,
1297       387,   388,   389,   390,   391,   392,   393,   394,   395,   396,       388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1298       397,   398,   399,   400,   401,   402,   403,   407,   407,   408,       398,   399,   400,   401,   402,   403,   404,   408,   408,   409,
1299       412,   416,   420,   424,   428,   434,   434,   435,   436,   437,       413,   417,   421,   425,   429,   435,   435,   436,   437,   438,
1300       438,   445,   448,   448,   449,   449,   449,   451,   457,   464,       439,   446,   449,   449,   450,   450,   450,   452,   458,   465,
1301       466,   466,   467,   467,   468,   468,   469,   469,   470,   470,       467,   467,   468,   468,   469,   469,   470,   470,   471,   471,
1302       471,   471,   472,   472,   473,   473,   474,   478,   477,   503,       472,   472,   473,   473,   474,   474,   475,   476,   479,   480,
1303       503,   504,   510,   518,   557,   616,   640,   650,   665,   680,       482,   482,   483,   489,   497,   497,   498,   504,   512,   551,
1304       689,   703,   712,   740,   770,   793,   802,   804,   804,   805,       610,   634,   642,   657,   672,   681,   695,   704,   732,   762,
1305       805,   806,   806,   808,   817,   826,   838,   839,   839,   841,       785,   794,   796,   796,   797,   797,   798,   798,   800,   809,
1306       841,   841,   842,   844,   850,   857,   857,   867,   868,   870,       818,   830,   831,   831,   833,   833,   833,   834,   836,   842,
1307       870,   871,   871,   873,   878,   881,   887,   886,   892,   892,       849,   849,   859,   860,   862,   862,   863,   863,   865,   870,
1308       893,   897,   901,   905,   909,   913,   917,   928,   927,  1025,       873,   879,   878,   884,   884,   885,   889,   893,   897,   901,
1309      1025,  1026,  1026,  1026,  1027,  1027,  1027,  1028,  1028,  1028,       905,   909,   920,   919,  1017,  1017,  1018,  1018,  1018,  1019,
1310      1030,  1042,  1079,  1091,  1102,  1144,  1154,  1153,  1159,  1159,      1019,  1019,  1020,  1020,  1020,  1022,  1034,  1071,  1083,  1094,
1311      1160,  1164,  1168,  1172,  1176,  1180,  1184,  1188,  1192,  1196,      1136,  1146,  1145,  1151,  1151,  1152,  1156,  1160,  1164,  1168,
1312      1200,  1204,  1208,  1212,  1216,  1220,  1224,  1228,  1232,  1236,      1172,  1176,  1180,  1184,  1188,  1192,  1196,  1200,  1204,  1208,
1313      1243,  1242,  1248,  1248,  1249,  1253,  1257,  1261,  1265,  1269,      1212,  1216,  1220,  1224,  1228,  1235,  1234,  1240,  1240,  1241,
1314      1273,  1277,  1281,  1285,  1289,  1293,  1297,  1301,  1305,  1309,      1245,  1249,  1253,  1257,  1261,  1265,  1269,  1273,  1277,  1281,
1315      1313,  1317,  1328,  1327,  1377,  1377,  1378,  1379,  1379,  1380,      1285,  1289,  1293,  1297,  1301,  1305,  1309,  1320,  1319,  1369,
1316      1381,  1382,  1383,  1384,  1385,  1386,  1387,  1388,  1389,  1390,      1369,  1370,  1371,  1371,  1372,  1373,  1374,  1375,  1376,  1377,
1317      1392,  1401,  1407,  1413,  1419,  1425,  1431,  1437,  1443,  1449,      1378,  1379,  1380,  1381,  1382,  1384,  1393,  1399,  1405,  1411,
1318      1455,  1461,  1467,  1477,  1476,  1493,  1492,  1497,  1497,  1498,      1417,  1423,  1429,  1435,  1441,  1447,  1453,  1459,  1469,  1468,
1319      1502,  1506,  1514,  1514,  1515,  1515,  1515,  1515,  1515,  1517,      1485,  1484,  1489,  1489,  1490,  1494,  1498,  1506,  1506,  1507,
1320      1517,  1519,  1519,  1521,  1535,  1555,  1564,  1577,  1576,  1645,      1507,  1507,  1507,  1507,  1509,  1509,  1511,  1511,  1513,  1527,
1321      1645,  1646,  1646,  1646,  1646,  1647,  1647,  1647,  1648,  1648,      1547,  1556,  1569,  1568,  1637,  1637,  1638,  1638,  1638,  1638,
1322      1650,  1687,  1700,  1709,  1721,  1720,  1724,  1724,  1725,  1729,      1639,  1639,  1639,  1640,  1640,  1642,  1679,  1692,  1701,  1713,
1323      1733,  1737,  1741,  1745,  1749,  1753,  1757,  1764,  1783,  1793,      1712,  1716,  1716,  1717,  1721,  1725,  1729,  1733,  1737,  1741,
1324      1807,  1806,  1822,  1822,  1823,  1823,  1823,  1823,  1825,  1834,      1745,  1749,  1756,  1775,  1785,  1799,  1798,  1814,  1814,  1815,
1325      1849,  1862,  1864,  1864,  1865,  1865,  1867,  1883,  1882,  1898,      1815,  1815,  1815,  1817,  1826,  1841,  1854,  1856,  1856,  1857,
1326      1898,  1899,  1899,  1899,  1899,  1901,  1910,  1933,  1932,  1938,      1857,  1859,  1875,  1874,  1890,  1890,  1891,  1891,  1891,  1891,
1327      1938,  1939,  1943,  1947,  1951,  1955,  1959,  1963,  1967,  1971,      1893,  1902,  1925,  1924,  1930,  1930,  1931,  1935,  1939,  1943,
1328      1975,  1985,  1984,  2001,  2001,  2002,  2002,  2002,  2004,  2011,      1947,  1951,  1955,  1959,  1963,  1967,  1977,  1976,  1993,  1993,
1329      2010,  2016,  2016,  2017,  2021,  2025,  2029,  2033,  2037,  2041,      1994,  1994,  1994,  1996,  2003,  2002,  2008,  2008,  2009,  2013,
1330      2045,  2049,  2053,  2063,  2062,  2191,  2191,  2192,  2192,  2192,      2017,  2021,  2025,  2029,  2033,  2037,  2041,  2045,  2055,  2054,
1331      2193,  2193,  2194,  2194,  2194,  2195,  2195,  2195,  2196,  2196,      2183,  2183,  2184,  2184,  2184,  2185,  2185,  2186,  2186,  2186,
1332      2197,  2199,  2211,  2220,  2246,  2264,  2282,  2288,  2292,  2301,      2187,  2187,  2187,  2188,  2188,  2189,  2191,  2203,  2212,  2238,
1333      2300,  2304,  2304,  2305,  2309,  2313,  2317,  2323,  2334,  2347,      2256,  2274,  2280,  2284,  2293,  2292,  2296,  2296,  2297,  2301,
1334      2360,  2369,  2388,  2387,  2451,  2450,  2454,  2454,  2455,  2461,      2305,  2309,  2315,  2326,  2339,  2352,  2361,  2380,  2379,  2443,
1335      2461,  2462,  2462,  2462,  2462,  2464,  2483,  2493,  2492,  2515,      2442,  2446,  2446,  2447,  2453,  2453,  2454,  2454,  2454,  2454,
1336      2515,  2516,  2516,  2516,  2518,  2524,  2533,  2535,  2535,  2536,      2456,  2475,  2485,  2484,  2507,  2507,  2508,  2508,  2508,  2510,
1337      2536,  2538,  2557,  2556,  2604,  2603,  2607,  2607,  2608,  2614,      2516,  2525,  2527,  2527,  2528,  2528,  2530,  2549,  2548,  2596,
1338      2614,  2615,  2615,  2615,  2615,  2617,  2623,  2632,  2635,  2635,      2595,  2599,  2599,  2600,  2606,  2606,  2607,  2607,  2607,  2607,
1339      2636,  2636,  2637,  2637,  2638,  2638,  2639,  2639,  2640,  2640,      2609,  2615,  2624,  2627,  2627,  2628,  2628,  2629,  2629,  2630,
1340      2641,  2641,  2642,  2642,  2643,  2643,  2644,  2644,  2645,  2645,      2630,  2631,  2631,  2632,  2632,  2633,  2633,  2634,  2634,  2635,
1341      2646,  2646,  2647,  2647,  2648,  2648,  2649,  2650,  2650,  2651,      2635,  2636,  2636,  2637,  2637,  2638,  2638,  2639,  2639,  2640,
1342      2651,  2652,  2652,  2653,  2653,  2654,  2654,  2655,  2656,  2657,      2640,  2641,  2642,  2642,  2643,  2643,  2644,  2644,  2645,  2645,
1343      2657,  2658,  2659,  2660,  2660,  2661,  2661,  2662,  2662,  2663,      2646,  2646,  2647,  2648,  2649,  2649,  2650,  2651,  2652,  2652,
1344      2663,  2664,  2667,  2672,  2677,  2682,  2687,  2692,  2697,  2702,      2653,  2653,  2654,  2654,  2655,  2655,  2656,  2659,  2664,  2669,
1345      2707,  2712,  2717,  2722,  2727,  2732,  2737,  2742,  2747,  2752,      2674,  2679,  2684,  2689,  2694,  2699,  2704,  2709,  2714,  2719,
1346      2758,  2769,  2774,  2783,  2788,  2793,  2798,  2803,  2808,  2811,      2724,  2729,  2734,  2739,  2744,  2750,  2761,  2766,  2775,  2780,
1347      2816,  2819,  2824,  2829,  2834,  2839,  2844,  2849,  2854,  2859,      2785,  2790,  2795,  2800,  2803,  2808,  2811,  2816,  2821,  2826,
1348      2864,  2875,  2880,  2885,  2890,  2899,  2908,  2913,  2918,  2924,      2831,  2836,  2841,  2846,  2851,  2856,  2867,  2872,  2877,  2882,
1349      2923,  2928,  2928,  2929,  2932,  2935,  2938,  2941,  2944,  2947,      2891,  2900,  2905,  2910,  2916,  2915,  2920,  2920,  2921,  2924,
1350      2950,  2953,  2956,  2959,  2962,  2965,  2968,  2971,  2974,  2977,      2927,  2930,  2933,  2936,  2939,  2942,  2945,  2948,  2951,  2954,
1351      2980,  2983,  2986,  2992,  2991,  2996,  2996,  2997,  3000,  3003,      2957,  2960,  2963,  2966,  2969,  2972,  2975,  2978,  2984,  2983,
1352      3006,  3009,  3012,  3015,  3018,  3021,  3024,  3027,  3030,  3033,      2988,  2988,  2989,  2992,  2995,  2998,  3001,  3004,  3007,  3010,
1353      3036,  3039,  3042,  3045,  3048,  3051,  3054,  3059,  3064,  3069,      3013,  3016,  3019,  3022,  3025,  3028,  3031,  3034,  3037,  3040,
1354      3074,  3084,  3083,  3107,  3107,  3108,  3109,  3110,  3111,  3112,      3043,  3046,  3051,  3056,  3061,  3066,  3076,  3075,  3099,  3099,
1355      3113,  3114,  3116,  3122,  3129,  3128,  3133,  3133,  3134,  3138,      3100,  3101,  3102,  3103,  3104,  3105,  3106,  3108,  3114,  3121,
1356      3144,  3178,  3188,  3187,  3237,  3237,  3238,  3242,  3251,  3254,      3120,  3125,  3125,  3126,  3130,  3136,  3170,  3180,  3179,  3229,
1357      3254,  3255,  3255,  3256,  3256,  3257,  3257,  3258,  3258,  3259,      3229,  3230,  3234,  3243,  3246,  3246,  3247,  3247,  3248,  3248,
1358      3259,  3260,  3261,  3261,  3262,  3262,  3263,  3263,  3264,  3264,      3249,  3249,  3250,  3250,  3251,  3251,  3252,  3253,  3253,  3254,
1359      3266,  3271,  3276,  3281,  3286,  3291,  3296,  3301,  3306,  3311,      3254,  3255,  3255,  3256,  3256,  3258,  3263,  3268,  3273,  3278,
1360      3316,  3321,  3326,  3331,  3336,  3341,  3346,  3351,  3359,  3362,      3283,  3288,  3293,  3298,  3303,  3308,  3313,  3318,  3323,  3328,
1361      3362,  3363,  3363,  3364,  3365,  3366,  3366,  3367,  3368,  3370,      3333,  3338,  3343,  3351,  3354,  3354,  3355,  3355,  3356,  3357,
1362      3376,  3382,  3391,  3405,  3411,  3417      3358,  3358,  3359,  3360,  3362,  3368,  3374,  3383,  3397,  3403,
1363        3409
1364  };  };
1365  #endif  #endif
1366    
# Line 1397  static const char *const yytname[] = Line 1403  static const char *const yytname[] =
1403    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1404    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1405    "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",    "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1406    "T_SSL_CONNECTION_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",    "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1407    "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",    "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1408    "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",    "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1409    "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",    "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1410    "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",    "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1411    "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",    "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1412    "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",    "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1413    "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",    "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1414    "T_CCONN_FULL", "T_SSL_CIPHER_LIST", "T_CLIENT_FLOOD", "T_DEAF",    "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1415    "T_DEBUG", "T_DLINE", "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE",    "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1416    "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE",    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1417    "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",    "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1418    "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",    "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1419    "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE",    "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1420    "T_SERVICES_NAME", "T_TIMESTAMP", "THROTTLE_TIME", "TOPICBURST",    "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "T_TIMESTAMP",
1421    "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV", "UNKLINE", "USER",    "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1422    "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK", "USE_LOGGING",    "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1423    "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",    "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1424    "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",    "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'",
1425    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",    "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1426    "sizespec", "modules_entry", "modules_items", "modules_item",    "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1427    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",    "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1428    "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",    "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method",
1429    "method_types", "method_type_item", "serverinfo_ssl_certificate_file",    "serverinfo_ssl_server_method", "client_method_types",
1430      "client_method_type_item", "server_method_types",
1431      "server_method_type_item", "serverinfo_ssl_certificate_file",
1432    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1433    "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",    "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1434    "serverinfo_description", "serverinfo_network_name",    "serverinfo_description", "serverinfo_network_name",
# Line 1428  static const char *const yytname[] = Line 1436  static const char *const yytname[] =
1436    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1437    "admin_item", "admin_name", "admin_email", "admin_description",    "admin_item", "admin_name", "admin_email", "admin_description",
1438    "logging_entry", "logging_items", "logging_item", "logging_use_logging",    "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1439    "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",    "logging_timestamp", "logging_file_entry", "$@1", "logging_file_items",
1440    "logging_file_item", "logging_file_name", "logging_file_size",    "logging_file_item", "logging_file_name", "logging_file_size",
1441    "logging_file_type", "$@3", "logging_file_type_items",    "logging_file_type", "$@2", "logging_file_type_items",
1442    "logging_file_type_item", "oper_entry", "$@4", "oper_items", "oper_item",    "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1443    "oper_name", "oper_user", "oper_password", "oper_encrypted",    "oper_name", "oper_user", "oper_password", "oper_encrypted",
1444    "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@5",    "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1445    "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@6",    "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1446    "oper_flags_items", "oper_flags_item", "class_entry", "$@7",    "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1447    "class_items", "class_item", "class_name", "class_ping_time",    "class_items", "class_item", "class_name", "class_ping_time",
1448    "class_ping_warning", "class_number_per_ip", "class_connectfreq",    "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1449    "class_max_number", "class_max_global", "class_max_local",    "class_max_number", "class_max_global", "class_max_local",
1450    "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",    "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1451    "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",    "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@7",
1452    "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",    "listen_flags", "$@8", "listen_flags_items", "listen_flags_item",
1453    "listen_items", "listen_item", "listen_port", "$@10", "port_items",    "listen_items", "listen_item", "listen_port", "$@9", "port_items",
1454    "port_item", "listen_address", "listen_host", "auth_entry", "$@11",    "port_item", "listen_address", "listen_host", "auth_entry", "$@10",
1455    "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",    "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1456    "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",    "auth_encrypted", "auth_flags", "$@11", "auth_flags_items",
1457    "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",    "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1458    "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",    "resv_entry", "$@12", "resv_items", "resv_item", "resv_creason",
1459    "resv_channel", "resv_nick", "service_entry", "service_items",    "resv_channel", "resv_nick", "service_entry", "service_items",
1460    "service_item", "service_name", "shared_entry", "$@14", "shared_items",    "service_item", "service_name", "shared_entry", "$@13", "shared_items",
1461    "shared_item", "shared_name", "shared_user", "shared_type", "$@15",    "shared_item", "shared_name", "shared_user", "shared_type", "$@14",
1462    "shared_types", "shared_type_item", "cluster_entry", "$@16",    "shared_types", "shared_type_item", "cluster_entry", "$@15",
1463    "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",    "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@16",
1464    "cluster_types", "cluster_type_item", "connect_entry", "$@18",    "cluster_types", "cluster_type_item", "connect_entry", "$@17",
1465    "connect_items", "connect_item", "connect_name", "connect_host",    "connect_items", "connect_item", "connect_name", "connect_host",
1466    "connect_vhost", "connect_send_password", "connect_accept_password",    "connect_vhost", "connect_send_password", "connect_accept_password",
1467    "connect_port", "connect_aftype", "connect_flags", "$@19",    "connect_port", "connect_aftype", "connect_flags", "$@18",
1468    "connect_flags_items", "connect_flags_item", "connect_encrypted",    "connect_flags_items", "connect_flags_item", "connect_encrypted",
1469    "connect_hub_mask", "connect_leaf_mask", "connect_class",    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1470    "connect_ssl_cipher_list", "kill_entry", "$@20", "kill_type", "$@21",    "connect_ssl_cipher_list", "kill_entry", "$@19", "kill_type", "$@20",
1471    "kill_type_items", "kill_type_item", "kill_items", "kill_item",    "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1472    "kill_user", "kill_reason", "deny_entry", "$@22", "deny_items",    "kill_user", "kill_reason", "deny_entry", "$@21", "deny_items",
1473    "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",    "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1474    "exempt_item", "exempt_ip", "gecos_entry", "$@23", "gecos_flags", "$@24",    "exempt_item", "exempt_ip", "gecos_entry", "$@22", "gecos_flags", "$@23",
1475    "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",    "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1476    "gecos_name", "gecos_reason", "general_entry", "general_items",    "gecos_name", "gecos_reason", "general_entry", "general_items",
1477    "general_item", "general_max_watch", "general_gline_min_cidr",    "general_item", "general_max_watch", "general_gline_min_cidr",
# Line 1487  static const char *const yytname[] = Line 1495  static const char *const yytname[] =
1495    "general_message_locale", "general_dots_in_ident", "general_max_targets",    "general_message_locale", "general_dots_in_ident", "general_max_targets",
1496    "general_use_egd", "general_egdpool_path", "general_services_name",    "general_use_egd", "general_egdpool_path", "general_services_name",
1497    "general_ping_cookie", "general_disable_auth", "general_throttle_time",    "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1498    "general_oper_umodes", "$@25", "umode_oitems", "umode_oitem",    "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1499    "general_oper_only_umodes", "$@26", "umode_items", "umode_item",    "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1500    "general_min_nonwildcard", "general_min_nonwildcard_simple",    "general_min_nonwildcard", "general_min_nonwildcard_simple",
1501    "general_default_floodcount", "general_client_flood", "gline_entry",    "general_default_floodcount", "general_client_flood", "gline_entry",
1502    "$@27", "gline_items", "gline_item", "gline_enable", "gline_duration",    "$@26", "gline_items", "gline_item", "gline_enable", "gline_duration",
1503    "gline_logging", "$@28", "gline_logging_types",    "gline_logging", "$@27", "gline_logging_types",
1504    "gline_logging_type_item", "gline_user", "gline_server", "gline_action",    "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1505    "$@29", "gdeny_types", "gdeny_type_item", "channel_entry",    "$@28", "gdeny_types", "gdeny_type_item", "channel_entry",
1506    "channel_items", "channel_item", "channel_disable_fake_channels",    "channel_items", "channel_item", "channel_disable_fake_channels",
1507    "channel_restrict_channels", "channel_disable_local_channels",    "channel_restrict_channels", "channel_disable_local_channels",
1508    "channel_use_except", "channel_use_invex", "channel_use_knock",    "channel_use_except", "channel_use_invex", "channel_use_knock",
# Line 1539  static const yytype_uint16 yytoknum[] = Line 1547  static const yytype_uint16 yytoknum[] =
1547       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1548       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1549       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1550       495,    59,   125,   123,    61,    44       495,   496,    59,   125,   123,    61,    44
1551  };  };
1552  # endif  # endif
1553    
1554  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1555  static const yytype_uint16 yyr1[] =  static const yytype_uint16 yyr1[] =
1556  {  {
1557         0,   246,   247,   247,   248,   248,   248,   248,   248,   248,         0,   247,   248,   248,   249,   249,   249,   249,   249,   249,
1558       248,   248,   248,   248,   248,   248,   248,   248,   248,   248,       249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
1559       248,   248,   248,   248,   248,   248,   248,   249,   249,   250,       249,   249,   249,   249,   249,   249,   249,   250,   250,   251,
1560       250,   250,   250,   250,   250,   251,   251,   252,   252,   252,       251,   251,   251,   251,   251,   252,   252,   253,   253,   253,
1561       252,   253,   254,   254,   255,   255,   255,   256,   257,   258,       253,   254,   255,   255,   256,   256,   256,   257,   258,   259,
1562       259,   259,   260,   260,   260,   260,   260,   260,   260,   260,       260,   260,   261,   261,   261,   261,   261,   261,   261,   261,
1563       260,   260,   260,   260,   260,   260,   260,   262,   261,   263,       261,   261,   261,   261,   261,   261,   261,   261,   262,   263,
1564       263,   264,   264,   265,   266,   267,   268,   269,   270,   271,       264,   264,   265,   265,   266,   266,   267,   267,   268,   269,
1565       272,   273,   274,   275,   276,   277,   278,   279,   279,   280,       270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1566       280,   280,   280,   281,   282,   283,   284,   285,   285,   286,       280,   281,   282,   282,   283,   283,   283,   283,   284,   285,
1567       286,   286,   286,   287,   288,   290,   289,   291,   291,   292,       286,   287,   288,   288,   289,   289,   289,   289,   290,   291,
1568       292,   292,   292,   293,   294,   294,   296,   295,   297,   297,       293,   292,   294,   294,   295,   295,   295,   295,   296,   297,
1569       298,   298,   298,   298,   298,   298,   298,   300,   299,   301,       297,   299,   298,   300,   300,   301,   301,   301,   301,   301,
1570       301,   302,   302,   302,   302,   302,   302,   302,   302,   302,       301,   301,   303,   302,   304,   304,   305,   305,   305,   305,
1571       303,   304,   305,   306,   307,   308,   310,   309,   311,   311,       305,   305,   305,   305,   305,   306,   307,   308,   309,   310,
1572       312,   312,   312,   312,   312,   312,   312,   312,   312,   312,       311,   313,   312,   314,   314,   315,   315,   315,   315,   315,
1573       312,   312,   312,   312,   312,   312,   312,   312,   312,   312,       315,   315,   315,   315,   315,   315,   315,   315,   315,   315,
1574       314,   313,   315,   315,   316,   316,   316,   316,   316,   316,       315,   315,   315,   315,   315,   317,   316,   318,   318,   319,
1575       316,   316,   316,   316,   316,   316,   316,   316,   316,   316,       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,
1576       316,   316,   318,   317,   319,   319,   320,   320,   320,   320,       319,   319,   319,   319,   319,   319,   319,   321,   320,   322,
1577       320,   320,   320,   320,   320,   320,   320,   320,   320,   320,       322,   323,   323,   323,   323,   323,   323,   323,   323,   323,
1578       321,   322,   323,   324,   325,   326,   327,   328,   329,   330,       323,   323,   323,   323,   323,   324,   325,   326,   327,   328,
1579       331,   332,   333,   335,   334,   337,   336,   338,   338,   339,       329,   330,   331,   332,   333,   334,   335,   336,   338,   337,
1580       339,   339,   340,   340,   341,   341,   341,   341,   341,   343,       340,   339,   341,   341,   342,   342,   342,   343,   343,   344,
1581       342,   344,   344,   345,   345,   346,   347,   349,   348,   350,       344,   344,   344,   344,   346,   345,   347,   347,   348,   348,
1582       350,   351,   351,   351,   351,   351,   351,   351,   351,   351,       349,   350,   352,   351,   353,   353,   354,   354,   354,   354,
1583       352,   353,   354,   355,   357,   356,   358,   358,   359,   359,       354,   354,   354,   354,   354,   355,   356,   357,   358,   360,
1584       359,   359,   359,   359,   359,   359,   359,   360,   361,   362,       359,   361,   361,   362,   362,   362,   362,   362,   362,   362,
1585       364,   363,   365,   365,   366,   366,   366,   366,   367,   368,       362,   362,   363,   364,   365,   367,   366,   368,   368,   369,
1586       369,   370,   371,   371,   372,   372,   373,   375,   374,   376,       369,   369,   369,   370,   371,   372,   373,   374,   374,   375,
1587       376,   377,   377,   377,   377,   378,   379,   381,   380,   382,       375,   376,   378,   377,   379,   379,   380,   380,   380,   380,
1588       382,   383,   383,   383,   383,   383,   383,   383,   383,   383,       381,   382,   384,   383,   385,   385,   386,   386,   386,   386,
1589       383,   385,   384,   386,   386,   387,   387,   387,   388,   390,       386,   386,   386,   386,   386,   386,   388,   387,   389,   389,
1590       389,   391,   391,   392,   392,   392,   392,   392,   392,   392,       390,   390,   390,   391,   393,   392,   394,   394,   395,   395,
1591       392,   392,   392,   394,   393,   395,   395,   396,   396,   396,       395,   395,   395,   395,   395,   395,   395,   395,   397,   396,
1592       396,   396,   396,   396,   396,   396,   396,   396,   396,   396,       398,   398,   399,   399,   399,   399,   399,   399,   399,   399,
1593       396,   397,   398,   399,   400,   401,   402,   403,   403,   405,       399,   399,   399,   399,   399,   399,   400,   401,   402,   403,
1594       404,   406,   406,   407,   407,   407,   407,   408,   409,   410,       404,   405,   406,   406,   408,   407,   409,   409,   410,   410,
1595       411,   412,   414,   413,   416,   415,   417,   417,   418,   419,       410,   410,   411,   412,   413,   414,   415,   417,   416,   419,
1596       419,   420,   420,   420,   420,   421,   422,   424,   423,   425,       418,   420,   420,   421,   422,   422,   423,   423,   423,   423,
1597       425,   426,   426,   426,   427,   428,   429,   430,   430,   431,       424,   425,   427,   426,   428,   428,   429,   429,   429,   430,
1598       431,   432,   434,   433,   436,   435,   437,   437,   438,   439,       431,   432,   433,   433,   434,   434,   435,   437,   436,   439,
1599       439,   440,   440,   440,   440,   441,   442,   443,   444,   444,       438,   440,   440,   441,   442,   442,   443,   443,   443,   443,
1600       445,   445,   445,   445,   445,   445,   445,   445,   445,   445,       444,   445,   446,   447,   447,   448,   448,   448,   448,   448,
1601       445,   445,   445,   445,   445,   445,   445,   445,   445,   445,       448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1602       445,   445,   445,   445,   445,   445,   445,   445,   445,   445,       448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1603       445,   445,   445,   445,   445,   445,   445,   445,   445,   445,       448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1604       445,   445,   445,   445,   445,   445,   445,   445,   445,   445,       448,   448,   448,   448,   448,   448,   448,   448,   448,   448,
1605       445,   445,   446,   447,   448,   449,   450,   451,   452,   453,       448,   448,   448,   448,   448,   448,   448,   449,   450,   451,
1606       454,   455,   456,   457,   458,   459,   460,   461,   462,   463,       452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1607       464,   465,   466,   467,   468,   469,   470,   471,   472,   472,       462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1608       473,   473,   474,   475,   476,   477,   478,   479,   480,   481,       472,   473,   474,   475,   475,   476,   476,   477,   478,   479,
1609       482,   483,   484,   485,   486,   487,   488,   489,   490,   492,       480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1610       491,   493,   493,   494,   494,   494,   494,   494,   494,   494,       490,   491,   492,   493,   495,   494,   496,   496,   497,   497,
1611       494,   494,   494,   494,   494,   494,   494,   494,   494,   494,       497,   497,   497,   497,   497,   497,   497,   497,   497,   497,
1612       494,   494,   494,   496,   495,   497,   497,   498,   498,   498,       497,   497,   497,   497,   497,   497,   497,   497,   499,   498,
1613       498,   498,   498,   498,   498,   498,   498,   498,   498,   498,       500,   500,   501,   501,   501,   501,   501,   501,   501,   501,
1614       498,   498,   498,   498,   498,   498,   498,   499,   500,   501,       501,   501,   501,   501,   501,   501,   501,   501,   501,   501,
1615       502,   504,   503,   505,   505,   506,   506,   506,   506,   506,       501,   501,   502,   503,   504,   505,   507,   506,   508,   508,
1616       506,   506,   507,   508,   510,   509,   511,   511,   512,   512,       509,   509,   509,   509,   509,   509,   509,   510,   511,   513,
1617       513,   514,   516,   515,   517,   517,   518,   518,   519,   520,       512,   514,   514,   515,   515,   516,   517,   519,   518,   520,
1618       520,   521,   521,   521,   521,   521,   521,   521,   521,   521,       520,   521,   521,   522,   523,   523,   524,   524,   524,   524,
1619       521,   521,   521,   521,   521,   521,   521,   521,   521,   521,       524,   524,   524,   524,   524,   524,   524,   524,   524,   524,
1620       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,       524,   524,   524,   524,   524,   525,   526,   527,   528,   529,
1621       532,   533,   534,   535,   536,   537,   538,   539,   540,   541,       530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1622       541,   542,   542,   542,   542,   542,   542,   542,   542,   543,       540,   541,   542,   543,   544,   544,   545,   545,   545,   545,
1623       544,   545,   546,   547,   548,   549       545,   545,   545,   545,   546,   547,   548,   549,   550,   551,
1624         552
1625  };  };
1626    
1627  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1624  static const yytype_uint8 yyr2[] = Line 1633  static const yytype_uint8 yyr2[] =
1633         3,     3,     3,     3,     3,     0,     1,     2,     3,     3,         3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1634         3,     5,     2,     1,     1,     1,     2,     4,     4,     5,         3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1635         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1636         1,     1,     1,     1,     1,     1,     2,     0,     5,     3,         1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1637         1,     1,     1,     4,     4,     4,     4,     4,     4,     4,         3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
        4,     4,     4,     4,     4,     4,     5,     2,     1,     1,  
        1,     1,     2,     4,     4,     4,     5,     2,     1,     1,  
        1,     1,     2,     4,     4,     0,     6,     2,     1,     1,  
        1,     1,     2,     4,     4,     4,     0,     5,     3,     1,  
        1,     1,     1,     1,     1,     1,     1,     0,     6,     2,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,  
        4,     4,     4,     4,     4,     4,     0,     5,     3,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        0,     5,     3,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     0,     6,     2,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,  
1638         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1639         4,     4,     4,     0,     6,     0,     5,     3,     1,     1,         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1640         1,     1,     2,     1,     1,     1,     1,     1,     2,     0,         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
        5,     3,     1,     1,     3,     4,     4,     0,     6,     2,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     2,  
        4,     4,     4,     4,     0,     5,     3,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     4,     4,     4,  
1641         0,     6,     2,     1,     1,     1,     1,     2,     4,     4,         0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1642         4,     5,     2,     1,     1,     1,     4,     0,     6,     2,         4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1643         1,     1,     1,     1,     2,     4,     4,     0,     5,     3,         1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
1644           1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
1645           4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1646         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1647         1,     0,     6,     2,     1,     1,     1,     2,     4,     0,         1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
        5,     3,     1,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     0,     6,     2,     1,     1,     1,     1,  
1648         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1649         2,     4,     4,     4,     4,     4,     4,     4,     4,     0,         1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
        5,     3,     1,     1,     1,     1,     1,     4,     4,     4,  
        4,     4,     0,     6,     0,     5,     3,     1,     1,     2,  
        1,     1,     1,     1,     1,     4,     4,     0,     6,     2,  
        1,     1,     1,     1,     4,     4,     5,     2,     1,     1,  
        1,     4,     0,     6,     0,     5,     3,     1,     1,     2,  
        1,     1,     1,     1,     1,     4,     4,     5,     2,     1,  
1650         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1651           1,     1,     1,     1,     2,     4,     4,     4,     4,     4,
1652           4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1653           0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1654           1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1655           4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1656           1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1657           5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1658           1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1659           1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1660           1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1661           4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1662           1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1663           1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1664           1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1665           2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1666           1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1667           4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1668           1,     1,     4,     4,     4,     4,     4,     0,     6,     0,
1669           5,     3,     1,     1,     2,     1,     1,     1,     1,     1,
1670           4,     4,     0,     6,     2,     1,     1,     1,     1,     4,
1671           4,     5,     2,     1,     1,     1,     4,     0,     6,     0,
1672           5,     3,     1,     1,     2,     1,     1,     1,     1,     1,
1673           4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1674         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1675         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1676         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1677         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1678         1,     1,     4,     4,     4,     4,     4,     4,     4,     4,         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1679         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1680         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1681         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1682         4,     4,     4,     4,     4,     4,     4,     4,     4,     0,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1683         5,     3,     1,     1,     1,     1,     1,     1,     1,     1,         4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     0,     5,     3,     1,     1,     1,     1,  
1684         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1685         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,         1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1686         4,     0,     6,     2,     1,     1,     1,     1,     1,     1,         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     4,     4,     0,     5,     3,     1,     1,     1,  
        4,     4,     0,     5,     3,     1,     1,     1,     5,     2,  
1687         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1688           1,     1,     4,     4,     4,     4,     0,     6,     2,     1,
1689           1,     1,     1,     1,     1,     1,     1,     4,     4,     0,
1690           5,     3,     1,     1,     1,     4,     4,     0,     5,     3,
1691           1,     1,     1,     5,     2,     1,     1,     1,     1,     1,
1692         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1693           1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1694         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1695         4,     4,     4,     4,     4,     4,     4,     4,     5,     2,         4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1696         1,     1,     1,     1,     1,     1,     1,     1,     1,     4,         1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1697         4,     4,     4,     4,     4,     4         4
1698  };  };
1699    
1700  /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.  /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1692  static const yytype_uint8 yyr2[] = Line 1702  static const yytype_uint8 yyr2[] =
1702     means the default is an error.  */     means the default is an error.  */
1703  static const yytype_uint16 yydefact[] =  static const yytype_uint16 yydefact[] =
1704  {  {
1705         2,     0,     1,     0,     0,     0,   192,   343,   397,     0,         2,     0,     1,     0,     0,     0,   197,   348,   402,     0,
1706       412,     0,   581,   247,   382,   223,     0,     0,   127,   280,       417,     0,   586,   252,   387,   228,     0,     0,   132,   285,
1707         0,     0,   297,   321,     0,     3,    24,    11,     4,     5,         0,     0,   302,   326,     0,     3,    24,    11,     4,     5,
1708         6,     8,     9,    10,    13,    14,    15,    16,    17,    18,         6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1709        19,    20,    23,    21,    22,     7,    12,    25,    26,     0,        19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1710         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1712         0,     0,     0,     0,     0,    88,    89,    91,    90,   629,         0,     0,     0,     0,     0,    93,    94,    96,    95,   634,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   610,  
      628,   623,   611,   612,   613,   614,   616,   617,   618,   619,  
      615,   620,   621,   622,   624,   625,   626,   627,     0,     0,  
        0,   410,     0,     0,   408,   409,     0,   481,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1713         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714         0,     0,     0,     0,     0,     0,   553,     0,   529,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   615,
1715         633,   628,   616,   617,   618,   619,   621,   622,   623,   624,
1716         620,   625,   626,   627,   629,   630,   631,   632,     0,     0,
1717           0,   415,     0,     0,   413,   414,     0,   486,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1720       429,   479,   474,   475,   476,   477,   473,   440,   430,   431,         0,     0,     0,     0,     0,     0,   558,     0,   534,     0,
      467,   432,   433,   434,   435,   436,   437,   438,   439,   470,  
      441,   442,   443,   444,   478,   446,   451,   447,   449,   448,  
      462,   463,   450,   452,   453,   454,   455,   456,   445,   458,  
      459,   460,   480,   471,   472,   469,   461,   457,   465,   466,  
      464,   468,     0,     0,     0,     0,     0,     0,     0,     0,  
       98,    99,   100,   101,     0,     0,     0,     0,     0,    43,  
       44,    45,     0,     0,   658,     0,     0,     0,     0,     0,  
        0,     0,     0,   650,   651,   652,   656,   653,   655,   654,  
      657,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
       67,     0,     0,     0,     0,     0,     0,    51,    64,    63,  
       60,    59,    65,    52,    62,    55,    56,    57,    53,    61,  
       58,    54,     0,     0,   295,     0,     0,   293,   294,    92,  
        0,     0,     0,     0,    87,     0,     0,     0,     0,     0,  
1721         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   609,     0,     0,     0,     0,     0,  
1722         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723       195,   196,   199,   200,   202,   203,   204,   205,   206,   207,       434,   484,   479,   480,   481,   482,   478,   445,   435,   436,
1724       208,   197,   198,   201,     0,     0,     0,     0,     0,   369,       472,   437,   438,   439,   440,   441,   442,   443,   444,   475,
1725         0,     0,     0,     0,     0,     0,     0,     0,     0,   346,       446,   447,   448,   449,   483,   451,   456,   452,   454,   453,
1726       347,   348,   349,   350,   351,   353,   352,   355,   359,   356,       467,   468,   455,   457,   458,   459,   460,   461,   450,   463,
1727       357,   358,   354,   403,     0,     0,     0,   400,   401,   402,       464,   465,   485,   476,   477,   474,   466,   462,   470,   471,
1728         0,     0,   407,   424,     0,     0,   414,   423,     0,   420,       469,   473,     0,     0,     0,     0,     0,     0,     0,     0,
1729       421,   422,     0,     0,     0,     0,     0,     0,     0,     0,       103,   104,   105,   106,     0,     0,     0,     0,     0,    43,
1730          44,    45,     0,     0,   663,     0,     0,     0,     0,     0,
1731           0,     0,     0,   655,   656,   657,   661,   658,   660,   659,
1732         662,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733           0,     0,     0,     0,     0,     0,     0,     0,    51,    64,
1734          65,    63,    60,    59,    66,    52,    62,    55,    56,    57,
1735          53,    61,    58,    54,     0,     0,   300,     0,     0,   298,
1736         299,    97,     0,     0,     0,     0,    92,     0,     0,     0,
1737         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1738           0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
1739         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1740           0,     0,   200,   201,   204,   205,   207,   208,   209,   210,
1741         211,   212,   213,   202,   203,   206,     0,     0,     0,     0,
1742           0,   374,     0,     0,     0,     0,     0,     0,     0,     0,
1743           0,   351,   352,   353,   354,   355,   356,   358,   357,   360,
1744         364,   361,   362,   363,   359,   408,     0,     0,     0,   405,
1745         406,   407,     0,     0,   412,   429,     0,     0,   419,   428,
1746           0,   425,   426,   427,     0,     0,     0,     0,     0,     0,
1747         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1748         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   428,   591,   602,     0,     0,   594,  
        0,     0,     0,   584,   585,   586,   587,   588,   589,   590,  
        0,     0,     0,   264,     0,     0,     0,     0,     0,     0,  
      250,   251,   252,   253,   258,   254,   255,   256,   257,   394,  
        0,   384,     0,   393,     0,   390,   391,   392,     0,   225,  
        0,     0,     0,   235,     0,   233,   234,   236,   237,   102,  
        0,     0,     0,    97,     0,    46,     0,     0,     0,    42,  
        0,     0,     0,   170,     0,     0,     0,   146,     0,     0,  
      130,   131,   132,   133,   136,   137,   135,   134,   138,     0,  
        0,     0,     0,     0,   283,   284,   285,   286,     0,     0,  
        0,     0,     0,     0,     0,     0,   649,    66,     0,     0,  
1749         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    50,     0,     0,   307,     0,     0,   300,  
      301,   302,   303,     0,     0,   329,     0,   324,   325,   326,  
        0,     0,   292,     0,     0,     0,    86,     0,     0,     0,  
        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,   608,   209,     0,     0,  
1750         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1751         0,     0,   194,   360,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,   433,   596,   607,     0,
1752         0,     0,     0,     0,     0,     0,     0,     0,   345,     0,         0,   599,     0,     0,     0,   589,   590,   591,   592,   593,
1753         0,     0,   399,     0,   406,     0,     0,     0,     0,   419,       594,   595,     0,     0,     0,   269,     0,     0,     0,     0,
1754           0,     0,   255,   256,   257,   258,   263,   259,   260,   261,
1755         262,   399,     0,   389,     0,   398,     0,   395,   396,   397,
1756           0,   230,     0,     0,     0,   240,     0,   238,   239,   241,
1757         242,   107,     0,     0,     0,   102,     0,    46,     0,     0,
1758           0,    42,     0,     0,     0,   175,     0,     0,     0,   151,
1759           0,     0,   135,   136,   137,   138,   141,   142,   140,   139,
1760         143,     0,     0,     0,     0,     0,   288,   289,   290,   291,
1761           0,     0,     0,     0,     0,     0,     0,     0,   654,    67,
1762         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1763           0,     0,     0,     0,     0,     0,    50,     0,     0,   312,
1764           0,     0,   305,   306,   307,   308,     0,     0,   334,     0,
1765         329,   330,   331,     0,     0,   297,     0,     0,     0,    91,
1766           0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
1767           0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1768         214,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769           0,     0,     0,     0,     0,   199,   365,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771           0,   350,     0,     0,     0,   404,     0,   411,     0,     0,
1772           0,     0,   424,     0,     0,     0,     0,     0,     0,     0,
1773         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,    35,     0,     0,     0,  
        0,     0,     0,     0,   427,     0,     0,     0,     0,     0,  
        0,     0,   583,   259,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   249,     0,     0,     0,     0,   389,   238,  
        0,     0,     0,     0,     0,   232,     0,     0,    96,     0,  
        0,     0,    41,   139,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   129,   287,     0,     0,     0,     0,   282,  
        0,     0,     0,     0,     0,     0,     0,   648,     0,     0,  
1775         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776         0,     0,    49,   304,     0,     0,     0,     0,   299,   327,         0,     0,     0,     0,     0,     0,     0,     0,     0,    35,
1777         0,     0,     0,   323,     0,   291,    95,    94,    93,   645,         0,     0,     0,     0,     0,     0,     0,   432,     0,     0,
1778       642,   641,   630,   632,    27,    27,    27,    27,    27,    29,         0,     0,     0,     0,     0,   588,   264,     0,     0,     0,
1779        28,   636,   637,   640,   638,   643,   644,   646,   647,   639,         0,     0,     0,     0,     0,     0,   254,     0,     0,     0,
1780       631,   633,   634,   635,     0,     0,     0,     0,     0,     0,         0,   394,   243,     0,     0,     0,     0,     0,   237,     0,
1781         0,     0,     0,     0,     0,     0,     0,   193,     0,     0,         0,   101,     0,     0,     0,    41,   144,     0,     0,     0,
1782           0,     0,     0,     0,     0,     0,   134,   292,     0,     0,
1783           0,     0,   287,     0,     0,     0,     0,     0,     0,     0,
1784         653,     0,     0,     0,     0,     0,     0,     0,     0,    72,
1785          73,     0,    71,    76,    77,     0,    75,     0,     0,     0,
1786           0,     0,    49,   309,     0,     0,     0,     0,   304,   332,
1787           0,     0,     0,   328,     0,   296,   100,    99,    98,   650,
1788         647,   646,   635,   637,    27,    27,    27,    27,    27,    29,
1789          28,   641,   642,   645,   643,   648,   649,   651,   652,   644,
1790         636,   638,   639,   640,     0,     0,     0,     0,     0,     0,
1791           0,     0,     0,     0,     0,     0,     0,   198,     0,     0,
1792         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793         0,     0,   344,     0,     0,   398,   411,     0,     0,     0,         0,     0,   349,     0,     0,   403,   416,     0,     0,     0,
1794       413,   493,   497,   513,   579,   527,   491,   521,   524,   492,       418,   498,   502,   518,   584,   532,   496,   526,   529,   497,
1795       483,   484,   500,   489,   490,   503,   488,   502,   501,   496,       488,   489,   505,   494,   495,   508,   493,   507,   506,   501,
1796       495,   494,   522,   482,   520,   577,   578,   517,   514,   564,       500,   499,   527,   487,   525,   582,   583,   522,   519,   569,
1797       557,   574,   575,   558,   559,   560,   561,   569,   562,   572,       562,   579,   580,   563,   564,   565,   566,   574,   567,   577,
1798       576,   565,   570,   566,   571,   563,   568,   567,   573,     0,       581,   570,   575,   571,   576,   568,   573,   572,   578,     0,
1799       556,   519,   539,   533,   550,   551,   534,   535,   536,   537,       561,   524,   544,   538,   555,   556,   539,   540,   541,   542,
1800       545,   538,   548,   552,   541,   546,   542,   547,   540,   544,       550,   543,   553,   557,   546,   551,   547,   552,   545,   549,
1801       543,   549,     0,   532,   512,   515,   526,   486,   487,   516,       548,   554,     0,   537,   517,   520,   531,   491,   492,   521,
1802       505,   510,   511,   508,   509,   506,   507,   499,   498,    35,       510,   515,   516,   513,   514,   511,   512,   504,   503,    35,
1803        35,    35,    37,    36,   580,   525,   528,   518,   523,   485,        35,    35,    37,    36,   585,   530,   533,   523,   528,   490,
1804       504,     0,     0,     0,     0,     0,     0,   582,     0,     0,       509,     0,     0,     0,     0,     0,     0,   587,     0,     0,
1805         0,     0,     0,     0,     0,     0,   248,     0,     0,     0,         0,     0,     0,     0,     0,     0,   253,     0,     0,     0,
1806       383,     0,     0,     0,   243,   239,   242,   224,   104,   103,       388,     0,     0,     0,   248,   244,   247,   229,   109,   108,
1807         0,     0,   116,     0,     0,   108,   109,   111,   110,    47,         0,     0,   121,     0,     0,   113,   114,   116,   115,    47,
1808        48,     0,     0,     0,     0,     0,     0,     0,     0,   128,        48,     0,     0,     0,     0,     0,     0,     0,     0,   133,
1809         0,     0,     0,   281,   664,   659,   663,   661,   665,   660,         0,     0,     0,   286,   669,   664,   668,   666,   670,   665,
1810       662,    79,    85,    77,    81,    80,    74,    73,    75,    71,       667,    84,    90,    82,    86,    85,    79,    78,    80,    68,
1811        72,     0,    70,    78,    76,    84,    82,    83,     0,     0,         0,    69,     0,    83,    81,    89,    87,    88,     0,     0,
1812         0,   298,     0,     0,   322,   296,    30,    31,    32,    33,         0,   303,     0,     0,   327,   301,    30,    31,    32,    33,
1813        34,   220,   221,   214,   216,   218,   217,   215,   210,   222,        34,   225,   226,   219,   221,   223,   222,   220,   215,   227,
1814       213,   211,   212,   219,   365,   367,   368,   380,   377,   373,       218,   216,   217,   224,   370,   372,   373,   385,   382,   378,
1815       374,   376,   375,     0,   372,   362,   378,   379,   361,   366,       379,   381,   380,     0,   377,   367,   383,   384,   366,   371,
1816       364,   381,   363,   404,   405,   425,   426,   418,     0,   417,       369,   386,   368,   409,   410,   430,   431,   423,     0,   422,
1817       554,     0,   530,     0,    38,    39,    40,   607,   606,     0,       559,     0,   535,     0,    38,    39,    40,   612,   611,     0,
1818       605,   593,   592,   599,   598,     0,   597,   601,   600,   262,       610,   598,   597,   604,   603,     0,   602,   606,   605,   267,
1819       263,   272,   269,   274,   271,   270,   276,   273,   275,   268,       268,   277,   274,   279,   276,   275,   281,   278,   280,   273,
1820         0,   267,   261,   279,   278,   277,   260,   396,   388,     0,         0,   272,   266,   284,   283,   282,   265,   401,   393,     0,
1821       387,   395,   230,   231,   229,     0,   228,   246,   245,     0,       392,   400,   235,   236,   234,     0,   233,   251,   250,     0,
1822         0,     0,   112,     0,     0,     0,     0,   107,   145,   143,         0,     0,   117,     0,     0,     0,     0,   112,   150,   148,
1823       185,   182,   181,   174,   176,   191,   186,   189,   184,   175,       190,   187,   186,   179,   181,   196,   191,   194,   189,   180,
1824       190,   178,   187,   179,   188,   183,   177,   180,     0,   173,       195,   183,   192,   184,   193,   188,   182,   185,     0,   178,
1825       140,   142,   144,   156,   150,   167,   168,   151,   152,   153,       145,   147,   149,   161,   155,   172,   173,   156,   157,   158,
1826       154,   162,   155,   165,   169,   158,   163,   159,   164,   157,       159,   167,   160,   170,   174,   163,   168,   164,   169,   162,
1827       161,   160,   166,     0,   149,   141,   289,   290,   288,    68,       166,   165,   171,     0,   154,   146,   294,   295,   293,    70,
1828         0,   305,   311,   317,   320,   313,   319,   314,   318,   316,        74,   310,   316,   322,   325,   318,   324,   319,   323,   321,
1829       312,   315,     0,   310,   306,   328,   333,   339,   342,   335,       317,   320,     0,   315,   311,   333,   338,   344,   347,   340,
1830       341,   336,   340,   338,   334,   337,     0,   332,   370,     0,       346,   341,   345,   343,   339,   342,     0,   337,   375,     0,
1831       415,     0,   555,   531,   603,     0,   595,     0,   265,     0,       420,     0,   560,   536,   608,     0,   600,     0,   270,     0,
1832       385,     0,   226,     0,   244,   241,   240,     0,     0,     0,       390,     0,   231,     0,   249,   246,   245,     0,     0,     0,
1833         0,   106,   171,     0,   147,     0,    69,   308,     0,   330,         0,   111,   176,     0,   152,     0,   313,     0,   335,     0,
1834         0,   371,   416,   604,   596,   266,   386,   227,   113,   122,       376,   421,   609,   601,   271,   391,   232,   118,   127,   130,
1835       125,   124,   121,   126,   123,   120,     0,   119,   115,   114,       129,   126,   131,   128,   125,     0,   124,   120,   119,   177,
1836       172,   148,   309,   331,   117,     0,   118       153,   314,   336,   122,     0,   123
1837  };  };
1838    
1839  /* YYDEFGOTO[NTERM-NUM].  */  /* YYDEFGOTO[NTERM-NUM].  */
1840  static const yytype_int16 yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1841  {  {
1842        -1,     1,    25,   829,   830,   972,   973,    26,   248,   249,        -1,     1,    25,   839,   840,   982,   983,    26,   248,   249,
1843       250,   251,    27,   286,   287,   288,   576,  1051,  1052,   289,       250,   251,    27,   287,   288,   289,   290,   801,   802,   805,
1844       290,   291,   292,   293,   294,   295,   296,   297,   298,   299,       806,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1845       300,   301,    28,    74,    75,    76,    77,    78,    29,   239,       300,   301,   302,   303,    28,    74,    75,    76,    77,    78,
1846       240,   241,   242,   243,   244,  1014,  1015,  1016,  1017,  1018,        29,   239,   240,   241,   242,   243,   244,  1024,  1025,  1026,
1847      1164,  1296,  1297,    30,    63,   539,   540,   541,   542,   543,      1027,  1028,  1174,  1305,  1306,    30,    63,   541,   542,   543,
1848       544,   545,   546,   547,   770,  1213,  1214,   548,   766,  1188,       544,   545,   546,   547,   548,   549,   773,  1223,  1224,   550,
1849      1189,    31,    51,   349,   350,   351,   352,   353,   354,   355,       769,  1198,  1199,    31,    51,   351,   352,   353,   354,   355,
1850       356,   357,   358,   359,   360,   361,   362,   363,    32,    60,       356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1851       513,   750,  1155,  1156,   514,   515,   516,  1161,  1005,  1006,        32,    60,   515,   753,  1165,  1166,   516,   517,   518,  1171,
1852       517,   518,    33,    58,   489,   490,   491,   492,   493,   494,      1015,  1016,   519,   520,    33,    58,   491,   492,   493,   494,
1853       495,   736,  1140,  1141,   496,   497,   498,    34,    64,   553,       495,   496,   497,   739,  1150,  1151,   498,   499,   500,    34,
1854       554,   555,   556,   557,    35,   306,   307,   308,    36,    67,        64,   555,   556,   557,   558,   559,    35,   308,   309,   310,
1855       588,   589,   590,   591,   592,   805,  1232,  1233,    37,    68,        36,    67,   591,   592,   593,   594,   595,   815,  1242,  1243,
1856       596,   597,   598,   599,   811,  1246,  1247,    38,    52,   378,        37,    68,   599,   600,   601,   602,   821,  1256,  1257,    38,
1857       379,   380,   381,   382,   383,   384,   385,   386,   387,   648,        52,   380,   381,   382,   383,   384,   385,   386,   387,   388,
1858      1093,  1094,   388,   389,   390,   391,   392,    39,    59,   503,       389,   651,  1103,  1104,   390,   391,   392,   393,   394,    39,
1859       745,  1149,  1150,   504,   505,   506,   507,    40,    53,   396,        59,   505,   748,  1159,  1160,   506,   507,   508,   509,    40,
1860       397,   398,   399,    41,   123,   124,   125,    42,    55,   407,        53,   398,   399,   400,   401,    41,   123,   124,   125,    42,
1861       667,  1108,  1109,   408,   409,   410,   411,    43,   179,   180,        55,   409,   670,  1118,  1119,   410,   411,   412,   413,    43,
1862       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1863       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1864       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1865       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1866       221,   222,   223,   224,   225,   226,   442,   952,   953,   227,       219,   220,   221,   222,   223,   224,   225,   226,   444,   962,
1867       440,   929,   930,   228,   229,   230,   231,    44,    57,   472,       963,   227,   442,   939,   940,   228,   229,   230,   231,    44,
1868       473,   474,   475,   476,   728,  1125,  1126,   477,   478,   479,        57,   474,   475,   476,   477,   478,   731,  1135,  1136,   479,
1869       725,  1119,  1120,    45,    98,    99,   100,   101,   102,   103,       480,   481,   728,  1129,  1130,    45,    98,    99,   100,   101,
1870       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1871       114,   115,   116,   117,    46,   262,   263,   264,   265,   266,       112,   113,   114,   115,   116,   117,    46,   262,   263,   264,
1872       267,   268,   269,   270       265,   266,   267,   268,   269,   270
1873  };  };
1874    
1875  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1876     STATE-NUM.  */     STATE-NUM.  */
1877  #define YYPACT_NINF -925  #define YYPACT_NINF -773
1878  static const yytype_int16 yypact[] =  static const yytype_int16 yypact[] =
1879  {  {
1880      -925,   650,  -925,  -171,  -239,  -236,  -925,  -925,  -925,  -233,      -773,   703,  -773,  -154,  -219,  -203,  -773,  -773,  -773,  -196,
1881      -925,  -225,  -925,  -925,  -925,  -925,  -218,  -204,  -925,  -925,      -773,  -187,  -773,  -773,  -773,  -773,  -184,  -176,  -773,  -773,
1882      -170,  -165,  -925,  -925,  -159,  -925,  -925,  -925,  -925,  -925,      -161,  -138,  -773,  -773,   -95,  -773,  -773,  -773,  -773,  -773,
1883      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1884      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,   298,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,    30,
1885       486,  -139,  -122,   -83,    27,   -76,   368,   -66,   -33,   -31,       578,   -93,   -72,   -60,    28,   -54,   398,   -48,   -45,   -36,
1886       -28,    76,   115,   -21,   -12,   549,   332,    50,    57,    74,       -28,    91,     2,   -21,   -19,   495,   438,   -12,    -4,    38,
1887      -208,     7,    30,    59,    20,  -925,  -925,  -925,  -925,  -925,      -164,   -76,   -34,    -3,    12,  -773,  -773,  -773,  -773,  -773,
1888        63,    65,    80,    87,    90,    92,   106,   117,   118,   120,        29,    33,    42,    48,    60,    83,    85,    90,    96,   103,
1889       121,   122,   123,   129,   130,   131,   134,   138,   180,  -925,       125,   132,   140,   142,   145,   146,   147,   149,   230,  -773,
1890      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1891      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,   736,   502,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,   712,   480,
1892        16,  -925,   140,    21,  -925,  -925,   218,  -925,   141,   142,        31,  -773,   150,    11,  -773,  -773,   234,  -773,   151,   156,
1893       144,   146,   147,   148,   156,   158,   169,   172,   174,   175,       157,   160,   164,   165,   166,   167,   170,   171,   173,   176,
1894       176,   182,   183,   185,   186,   187,   195,   198,   199,   203,       177,   179,   183,   184,   185,   187,   192,   195,   196,   197,
1895       204,   207,   211,   212,   213,   222,  -925,   223,  -925,   225,       198,   201,   202,   204,   206,   207,  -773,   210,  -773,   212,
1896       226,   228,   236,   238,   245,   252,   253,   256,   257,   258,       214,   219,   220,   221,   225,   227,   239,   240,   242,   245,
1897       260,   265,   272,   273,   277,   279,   281,   292,   293,   110,       252,   253,   256,   257,   258,   263,   265,   266,   268,   110,
1898      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1899      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1900      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1901      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1902      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1903      -925,  -925,   411,   393,   152,   402,    85,   299,   300,    73,      -773,  -773,   303,   279,    86,   379,    18,   272,   274,    55,
1904      -925,  -925,  -925,  -925,    17,   105,   304,   307,     8,  -925,      -773,  -773,  -773,  -773,   148,   121,   275,   283,    84,  -773,
1905      -925,  -925,   346,    28,  -925,   308,   309,   313,   314,   315,      -773,  -773,   551,   255,  -773,   284,   287,   288,   289,   290,
1906       316,   325,    19,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       292,   294,   312,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1907      -925,   271,   330,   336,   339,   341,   347,   350,   351,   354,      -773,   181,   297,   299,   302,   304,   305,   309,   317,   318,
1908      -925,   359,   365,   370,   371,   372,    12,  -925,  -925,  -925,       319,   321,   322,   329,   337,   343,   344,    14,  -773,  -773,
1909      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1910      -925,  -925,   177,    23,  -925,   373,    10,  -925,  -925,  -925,      -773,  -773,  -773,  -773,   144,    15,  -773,   345,    26,  -773,
1911       241,   290,   323,   378,  -925,   446,   512,   514,   450,   451,      -773,  -773,   369,   393,   462,   353,  -773,   420,   324,   487,
1912       519,   519,   523,   524,   462,   464,   531,   519,   465,   467,       425,   426,   493,   493,   498,   499,   429,   435,   505,   493,
1913       468,   469,   470,   405,  -925,   406,   404,   408,   410,   412,       440,   442,   444,   446,   447,   382,  -773,   383,   384,   390,
1914       413,   414,   415,   417,   418,   419,   420,   422,   424,   268,       391,   395,   396,   397,   399,   400,   401,   402,   403,   404,
1915      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       405,   269,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1916      -925,  -925,  -925,  -925,   431,   429,   432,   433,   434,  -925,      -773,  -773,  -773,  -773,  -773,  -773,   386,   407,   408,   409,
1917       435,   437,   438,   439,   440,   441,   442,   443,    62,  -925,       410,  -773,   413,   414,   415,   417,   421,   422,   424,   427,
1918      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,         4,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1919      -925,  -925,  -925,  -925,   444,   447,    36,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,   430,   432,    20,  -773,
1920       522,   449,  -925,  -925,   448,   453,  -925,  -925,   102,  -925,      -773,  -773,   512,   423,  -773,  -773,   434,   437,  -773,  -773,
1921      -925,  -925,   518,   519,   519,   584,   526,   528,   588,   573,        22,  -773,  -773,  -773,   504,   493,   493,   560,   507,   511,
1922       535,   595,   601,   602,   539,   544,   545,   519,   592,   551,       579,   557,   515,   584,   587,   588,   525,   526,   531,   493,
1923       614,   619,   519,   620,   624,   604,   629,   632,   568,   570,       583,   542,   610,   613,   493,   615,   620,   601,   626,   627,
1924       503,   575,   508,   519,   519,   578,   519,   579,   585,   586,       563,   564,   497,   569,   501,   493,   493,   571,   493,   575,
1925        14,    49,   589,   593,   519,   519,   653,   640,   519,   597,       580,   582,   178,   189,   586,   590,   493,   493,   644,   632,
1926       598,   599,   600,   536,  -925,  -925,  -925,   532,   534,  -925,       493,   592,   593,   594,   595,   522,  -773,  -773,  -773,   527,
1927       537,   538,     2,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       528,  -773,   529,   532,    10,  -773,  -773,  -773,  -773,  -773,
1928       543,   542,   546,  -925,   547,   548,   550,   552,   553,    29,      -773,  -773,   534,   533,   535,  -773,   537,   538,   543,   544,
1929      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       545,    43,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1930       554,  -925,   555,  -925,    11,  -925,  -925,  -925,   560,  -925,      -773,  -773,   546,  -773,   547,  -773,     8,  -773,  -773,  -773,
1931       558,   559,   561,  -925,    22,  -925,  -925,  -925,  -925,  -925,       552,  -773,   548,   550,   553,  -773,     3,  -773,  -773,  -773,
1932       605,   612,   563,  -925,   564,  -925,   648,   658,   565,  -925,      -773,  -773,   611,   621,   554,  -773,   559,  -773,   674,   675,
1933       567,   571,   572,  -925,   574,   576,   577,  -925,   582,    98,       572,  -773,   574,   566,   568,  -773,   576,   577,   581,  -773,
1934      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,   581,       585,    97,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1935       583,   587,   590,    13,  -925,  -925,  -925,  -925,   613,   636,      -773,   589,   591,   597,   598,    19,  -773,  -773,  -773,  -773,
1936       637,   664,   642,   644,   519,   591,  -925,  -925,   698,   655,       641,   647,   651,   689,   652,   653,   493,   596,  -773,  -773,
1937       702,   704,   706,   707,   713,   714,   609,   723,   725,   750,       701,   657,   704,   708,   713,   714,   715,   716,   118,   229,
1938       737,   738,   630,  -925,   633,   626,  -925,   631,    95,  -925,       717,   718,   724,   719,   720,   614,  -773,   617,   607,  -773,
1939      -925,  -925,  -925,   635,   639,  -925,    26,  -925,  -925,  -925,       608,    95,  -773,  -773,  -773,  -773,   618,   612,  -773,    58,
1940       742,   643,  -925,   646,   647,   651,  -925,   654,   662,   663,      -773,  -773,  -773,   730,   623,  -773,   624,   635,   638,  -773,
1941       671,   674,   423,   675,   679,   680,   682,   686,   690,   691,       639,   643,   646,   650,   654,   323,   655,   658,   659,   660,
1942       693,   694,   695,   697,   699,   700,  -925,  -925,   767,   789,       661,   663,   669,   670,   673,   678,   681,   685,   690,  -773,
1943       519,   827,   832,   833,   834,   814,   836,   837,   519,   519,      -773,   727,   745,   493,   752,   759,   776,   789,   785,   821,
1944       653,   708,  -925,  -925,   817,   157,   819,   776,   709,   821,       824,   493,   493,   644,   693,  -773,  -773,   805,   186,   806,
1945       823,   824,   825,   847,   828,   829,   830,   717,  -925,   831,       762,   695,   815,   816,   819,   820,   845,   825,   827,   831,
1946       835,   722,  -925,   726,  -925,   838,   839,   720,   727,  -925,       725,  -773,   835,   838,   728,  -773,   729,  -773,   841,   842,
1947       730,   731,   732,   733,   734,   735,   739,   740,   741,   743,       731,   733,  -773,   735,   736,   737,   738,   739,   740,   741,
1948       744,   745,   746,   747,   748,   749,   751,   752,   753,   754,       742,   743,   744,   746,   747,   748,   749,   750,   751,   753,
1949       755,   756,   757,   758,   759,   760,   761,   762,   657,   763,       754,   755,   756,   757,   760,   761,   763,   764,   765,   766,
1950       696,   764,   765,   766,   768,   769,   770,   771,   772,   773,       767,   688,   768,   723,   769,   770,   771,   772,   773,   774,
1951       774,   775,   777,   778,   779,   780,    75,   781,   782,   783,       775,   777,   778,   779,   780,   781,   782,   783,   784,    21,
1952       784,   785,   786,   787,  -925,   721,   519,   802,   788,   848,       786,   787,   788,   790,   791,   792,   793,  -773,   794,   493,
1953       852,   790,  -925,  -925,   860,   803,   791,   877,   907,   898,       811,   795,   863,   869,   796,  -773,  -773,   870,   828,   797,
1954       899,   902,   793,  -925,   905,   794,   906,   798,  -925,  -925,       887,   917,   900,   905,   906,   799,  -773,   912,   800,   913,
1955       796,   910,   911,   933,   804,  -925,   805,   806,  -925,   132,       804,  -773,  -773,   802,   918,   919,   938,   809,  -773,   810,
1956       807,   808,  -925,  -925,   913,   875,   809,   920,   921,   923,       812,  -773,    32,   813,   814,  -773,  -773,   922,   881,   817,
1957       811,   925,   816,  -925,  -925,   927,   928,   929,   820,  -925,       927,   928,   929,   818,   930,   822,  -773,  -773,   934,   935,
1958       822,   826,   840,   841,   842,   843,   844,  -925,   845,   846,       936,   826,  -773,   829,   830,   832,   833,   834,   836,   837,
1959       849,   850,   851,   853,   854,   855,   210,   856,   857,   858,      -773,   839,   840,   843,   844,   846,   847,   848,   849,  -773,
1960       859,   861,  -925,  -925,   931,   862,   934,   863,  -925,  -925,      -773,  -220,  -773,  -773,  -773,  -212,  -773,   850,   851,   852,
1961       935,   864,   866,  -925,   868,  -925,  -925,  -925,  -925,  -925,       853,   854,  -773,  -773,   939,   855,   942,   856,  -773,  -773,
1962      -925,  -925,  -925,  -925,   519,   519,   519,   519,   519,  -925,       946,   857,   859,  -773,   861,  -773,  -773,  -773,  -773,  -773,
1963      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,   493,   493,   493,   493,   493,  -773,
1964      -925,  -925,  -925,  -925,   869,   870,   871,   872,   873,   874,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1965       876,   878,   879,   880,   881,   882,   883,  -925,   884,   885,      -773,  -773,  -773,  -773,   862,   864,   865,   866,   867,   868,
1966       886,   887,   888,   128,   889,   890,   891,   892,   893,   894,       871,   872,   873,   874,   875,   876,   877,  -773,   878,   879,
1967       895,   896,  -925,   897,   900,  -925,  -925,   901,   903,   932,       880,   882,   883,     7,   884,   885,   886,   888,   889,   890,
1968      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       891,   892,  -773,   893,   894,  -773,  -773,   895,   896,   933,
1969      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1970      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1971      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1972      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -226,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1973      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -204,
1974      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1975      -925,  -925,  -210,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1976      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,   653,      -773,  -773,  -188,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1977       653,   653,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,   644,
1978      -925,    -6,   904,   908,     5,   909,   912,  -925,   914,   915,       644,   644,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1979       454,   916,   917,   918,   919,   922,  -925,   924,   936,   926,      -773,    -5,   897,   898,    13,   899,   901,  -773,   902,   903,
1980      -925,   -35,   930,   937,   938,   939,  -925,  -925,  -925,  -925,       706,   904,   907,   908,   909,   910,  -773,   911,   944,   914,
1981       940,   941,  -925,   942,    31,  -925,  -925,  -925,  -925,  -925,      -773,   -15,   915,   916,   924,   920,  -773,  -773,  -773,  -773,
1982      -925,   946,   947,   530,   948,   949,   950,   724,   951,  -925,       921,   923,  -773,   925,    54,  -773,  -773,  -773,  -773,  -773,
1983       952,   953,   954,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,   931,   932,   494,   937,   940,   941,   758,   943,  -773,
1984      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       945,   947,   948,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1985      -925,  -205,  -925,  -925,  -925,  -925,  -925,  -925,   955,   515,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1986       956,  -925,   957,   557,  -925,  -925,  -925,  -925,  -925,  -925,       118,  -773,   229,  -773,  -773,  -773,  -773,  -773,   949,   479,
1987      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       950,  -773,   951,   530,  -773,  -773,  -773,  -773,  -773,  -773,
1988      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1989      -925,  -925,  -925,  -203,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1990      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -193,  -925,      -773,  -773,  -773,  -169,  -773,  -773,  -773,  -773,  -773,  -773,
1991      -925,   657,  -925,   696,  -925,  -925,  -925,  -925,  -925,  -181,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -167,  -773,
1992      -925,  -925,  -925,  -925,  -925,  -179,  -925,  -925,  -925,  -925,      -773,   688,  -773,   723,  -773,  -773,  -773,  -773,  -773,  -166,
1993      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -145,  -773,  -773,  -773,  -773,
1994      -144,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,   -24,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1995      -925,  -925,  -925,  -925,  -925,    -5,  -925,  -925,  -925,   959,      -139,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -137,
1996       933,   958,  -925,   943,   960,   -60,   961,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -100,  -773,  -773,  -773,   973,
1997      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       938,   952,  -773,   953,   926,   -92,   954,  -773,  -773,  -773,
1998      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,    -2,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
1999      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,   -75,  -773,
2000      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2001      -925,  -925,  -925,    34,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2002       210,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,   -33,  -773,  -773,  -773,  -773,  -773,  -773,
2003      -925,  -925,    69,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2004      -925,  -925,  -925,  -925,  -925,  -925,    82,  -925,  -925,   128,      -773,  -773,   -25,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2005      -925,   932,  -925,  -925,  -925,    -6,  -925,     5,  -925,   454,      -773,  -773,  -773,  -773,  -773,  -773,   104,  -773,  -773,     7,
2006      -925,   936,  -925,   -35,  -925,  -925,  -925,   962,   409,   964,      -773,   933,  -773,  -773,  -773,    -5,  -773,    13,  -773,   706,
2007       965,  -925,  -925,   530,  -925,   724,  -925,  -925,   515,  -925,      -773,   944,  -773,   -15,  -773,  -773,  -773,   955,   228,   956,
2008       557,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,       957,  -773,  -773,   494,  -773,   758,  -773,   479,  -773,   530,
2009      -925,  -925,  -925,  -925,  -925,  -925,   100,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2010      -925,  -925,  -925,  -925,  -925,   409,  -925      -773,  -773,  -773,  -773,  -773,   122,  -773,  -773,  -773,  -773,
2011        -773,  -773,  -773,  -773,   228,  -773
2012  };  };
2013    
2014  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
2015  static const yytype_int16 yypgoto[] =  static const yytype_int16 yypgoto[] =
2016  {  {
2017      -925,  -925,  -925,  -769,  -319,  -924,  -456,  -925,  -925,   963,      -773,  -773,  -773,  -772,  -321,  -662,  -458,  -773,  -773,   958,
2018      -925,  -925,  -925,  -925,   792,  -925,  -925,  -925,  -156,  -925,      -773,  -773,  -773,  -773,   860,  -773,  -773,  -773,    27,  -773,
2019      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,        35,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2020      -925,  -925,  -925,  -925,   996,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  1025,  -773,  -773,  -773,
2021       944,  -925,  -925,  -925,  -925,  -925,    61,  -925,  -925,  -925,      -773,  -773,   961,  -773,  -773,  -773,  -773,  -773,    87,  -773,
2022      -925,  -925,  -234,  -925,  -925,  -925,   540,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -202,  -773,  -773,  -773,   619,  -773,
2023      -925,  -925,  -925,  -925,  -925,  -925,  -202,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -162,  -773,
2024      -197,  -925,  -925,  -925,   728,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -141,  -773,  -773,  -773,   803,  -773,  -773,  -773,
2025      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2026      -925,  -925,  -925,  -183,  -925,   625,  -925,  -925,  -925,   -72,      -773,  -773,  -773,  -773,  -773,  -144,  -773,   645,  -773,  -773,
2027      -925,  -925,  -925,  -925,  -925,   616,  -925,  -925,  -925,  -925,      -773,   -22,  -773,  -773,  -773,  -773,  -773,   664,  -773,  -773,
2028      -925,  -925,  -925,  -166,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -110,  -773,  -773,  -773,  -773,
2029       594,  -925,  -925,  -925,  -925,  -925,   795,  -925,  -925,  -925,      -773,  -773,   609,  -773,  -773,  -773,  -773,  -773,   959,  -773,
2030      -925,   501,  -925,  -925,  -925,  -925,  -925,  -175,  -925,  -925,      -773,  -773,  -773,   604,  -773,  -773,  -773,  -773,  -773,  -125,
2031      -925,   520,  -925,  -925,  -925,  -925,  -140,  -925,  -925,  -925,      -773,  -773,  -773,   570,  -773,  -773,  -773,  -773,  -124,  -773,
2032       797,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,   798,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2033      -925,  -106,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,   -87,  -773,  -773,  -773,  -773,  -773,  -773,
2034      -925,  -925,  -115,  -925,   660,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -104,  -773,   671,  -773,  -773,  -773,
2035       812,  -925,  -925,  -925,  -925,  1025,  -925,  -925,  -925,  -925,      -773,  -773,   807,  -773,  -773,  -773,  -773,  1052,  -773,  -773,
2036      -925,  -925,  -100,  -925,   799,  -925,  -925,  -925,  -925,   973,      -773,  -773,  -773,  -773,   -85,  -773,   801,  -773,  -773,  -773,
2037      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  1001,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2038      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2039      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2040      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2041      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,    41,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2042      -925,  -925,    51,  -925,  -925,  -925,  -925,  -925,  -925,  -925,        61,  -773,  -773,  -773,    65,  -773,  -773,  -773,  -773,  -773,
2043       689,  -925,  -925,  -925,  -925,  -925,   -91,  -925,  -925,  -925,      -773,  -773,   707,  -773,  -773,  -773,  -773,  -773,   -79,  -773,
2044      -925,  -925,   -87,  -925,  -925,  1071,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,   -64,  -773,  -773,  1104,  -773,  -773,
2045      -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,
2046      -925,  -925,  -925,  -925,  -925,  -925,   966,  -925,  -925,  -925,      -773,  -773,  -773,  -773,  -773,  -773,  -773,  -773,   960,  -773,
2047      -925,  -925,  -925,  -925      -773,  -773,  -773,  -773,  -773,  -773
2048  };  };
2049    
2050  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2051     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
2052     number is the opposite.  If YYTABLE_NINF, syntax error.  */     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2053  #define YYTABLE_NINF -106  #define YYTABLE_NINF -111
2054  static const yytype_int16 yytable[] =  static const yytype_int16 yytable[] =
2055  {  {
2056       717,   613,   614,   465,    49,  1117,   466,    50,   620,   245,       720,   616,   617,   245,   510,   366,  1127,   367,   623,   501,
2057        54,   304,   499,   271,   549,  1110,  1123,   393,    56,  1111,       368,   467,   121,    70,   468,   271,   596,  1099,   719,  1100,
2058       254,    70,   121,   508,   593,    61,  1152,   593,   121,   549,       551,   395,  1059,   405,  1133,    49,  1060,   306,   369,   121,
2059       480,  1112,  1010,   309,   550,  1113,  1219,   393,  1248,    62,      1061,    70,   395,  1020,  1062,   979,   980,   981,  1120,   306,
2060      1220,   467,  1249,   272,   468,  1114,  1115,  1116,  1250,   550,       552,    50,  1121,    71,   482,   272,  1162,   370,    54,   469,
2061       716,    71,  1251,   481,   255,  1066,  1067,  1068,  1069,  1070,       511,   371,   470,    72,  1122,  1020,   236,    56,  1123,   596,
2062      1254,    72,  1256,   364,  1255,   365,  1257,   256,   366,   509,        61,    71,  1076,  1077,  1078,  1079,  1080,   483,    62,   512,
2063        47,    48,   482,    65,   236,   304,   483,   236,    66,   273,       372,    72,   373,  1258,   513,  1260,  1264,  1259,   311,  1261,
2064       257,   258,   259,   260,    69,   469,   367,   394,   510,   969,      1265,   273,   122,    65,   374,   245,   484,   501,    47,    48,
2065       970,   971,   122,   511,   671,   672,   584,  1258,   122,   530,       485,   396,   236,   471,   674,   675,   587,  1266,   532,   122,
2066       261,  1259,   470,   403,   118,   368,   246,   394,   685,   369,       246,  1267,   396,  1268,   375,  1270,    66,  1269,   688,  1271,
2067       305,   127,   274,   690,   275,   276,   245,   551,   128,   129,       472,   127,    73,   693,   274,   597,   275,   276,   128,   129,
2068        73,   119,   531,   594,   701,   702,   594,   704,   370,   130,      1279,   533,   406,   553,   704,   705,   307,   707,   247,   130,
2069       371,  1011,   551,  1010,   247,   714,   715,   131,  1089,   719,        73,   719,  1021,   514,   376,   717,   718,   131,   307,   722,
2070      1090,   532,   372,   132,   500,   533,   552,   133,   134,   395,       534,   502,  1272,   132,   535,   587,  1273,   133,   134,    69,
2071       135,  1269,   512,   499,   484,   277,   136,   278,   279,   280,       135,   118,   554,   397,  1021,   407,   136,   277,   597,   278,
2072       120,   552,   373,   485,   486,   137,   138,   126,  1153,   395,       279,   280,   281,   377,   397,   137,   138,  1282,   486,   312,
2073       139,  1118,  1154,   281,   305,   140,   501,   232,   584,   141,       139,  1283,   119,  1128,   503,   140,   282,   487,   488,   141,
2074       142,    79,  1124,   143,   856,   716,   144,   145,   595,   708,       142,   598,   246,   143,   120,   866,   144,   145,   408,  1163,
2075       709,   595,   374,    80,   146,   585,  1012,   487,   534,   282,       126,  1134,   378,  1164,   146,   588,   232,   536,  1022,   233,
2076       147,   148,   404,   149,   150,   151,   152,   153,    81,    82,       147,   148,   283,   149,   150,   151,   152,   153,   234,  1284,
2077       233,   283,   234,   246,    83,   235,    84,  1260,   154,   403,       247,   313,   489,  1285,   284,  1101,   235,  1286,   154,   502,
2078       375,  1261,   252,   535,   710,   711,   155,   156,   157,   471,      1022,  1287,   537,   252,   598,   253,   155,   156,   157,  1102,
2079       158,   253,  1011,   159,   160,   405,  1262,   161,   502,  1272,       158,    79,   304,   159,   160,   405,   504,   161,   473,   379,
2080      1263,   247,   536,  1273,   731,   786,   284,   285,   162,   376,       305,   538,   314,    80,   588,   789,   757,   660,   162,   285,
2081       528,   310,   601,   747,   582,   778,   488,   524,    85,    86,       286,   750,   503,   734,   403,   315,   551,   585,    81,    82,
2082       586,   565,   313,   401,   754,    87,    88,   406,   812,   335,       521,   589,   781,   664,    83,   671,    84,   799,   800,   604,
2083      1013,   742,   163,  1166,   311,  1274,   164,   585,   661,  1275,       337,   490,  1023,   163,   317,   237,   552,   164,   318,  1298,
2084       165,   166,   167,   168,   169,   500,    89,    90,   170,   171,       482,   165,   166,   167,   168,   169,   745,   319,   238,   170,
2085       336,   337,   237,   302,   338,   237,   377,  1012,   172,    70,       171,   338,   339,   320,  1023,   340,  -110,  1176,   524,   172,
2086       303,    91,    92,   312,   657,   238,   537,   315,   238,   316,      1299,   822,  1300,   483,   467,   321,   539,   468,    85,    86,
2087      1277,   846,    93,  -105,  1278,   522,  -105,   501,   404,   854,       589,   237,   856,   254,   504,    87,    88,  1124,  1125,  1126,
2088       855,    94,   587,  1279,   317,   538,   519,  1280,   173,    71,       864,   865,   484,   590,   238,   540,   485,   530,   322,   173,
2089       174,   318,   175,   271,   319,  1091,   320,   807,   176,    72,       323,   174,  -110,   175,   406,   324,    89,    90,   817,   176,
2090       772,  1304,   586,   177,   668,  1305,   525,   530,   178,  1092,       775,   325,   469,  1301,   177,   470,  1288,   255,   326,   178,
2091       321,   405,   463,   859,   860,   339,   340,   341,  1049,  1050,      1289,    91,    92,   465,   711,   712,   341,   342,   343,   553,
2092       342,   322,   323,   272,   324,   325,   326,   327,   343,   127,       256,   344,    93,   527,  1313,   713,   714,   407,  1314,   345,
2093       531,  1013,   603,   328,   329,   330,   128,   129,   331,   502,       327,    94,   590,   257,   258,   259,   260,   328,   803,   804,
2094       344,   345,   332,   406,   400,   412,   413,   130,   414,   532,       510,   346,   347,   869,   870,   329,   471,   330,   554,   526,
2095       415,   416,   417,   533,   480,   131,   346,   347,    73,   273,       331,   332,   333,   261,   334,   402,   414,   348,   349,   127,
2096       418,   132,   419,   508,   587,   133,   134,   982,   135,    95,       408,   415,   416,   472,   486,   417,   128,   129,   992,   418,
2097        96,    97,   465,   420,   136,   466,   421,   481,   422,   423,       419,   420,   421,   487,   488,   422,   423,   130,   424,  1302,
2098       424,   604,   333,   137,   138,   348,   425,   426,   139,   427,      1303,   425,   426,   569,   427,   131,   511,   350,   428,   429,
2099       428,   429,   274,   140,   275,   276,   482,   141,   142,   430,       430,   132,   431,   615,   611,   133,   134,   432,   135,   271,
2100       483,   143,   431,   432,   144,   145,   534,   433,   434,   509,       433,   434,   435,   436,   136,   512,   437,   438,   489,   439,
2101       467,   435,   146,   468,   605,   436,   437,   438,   147,   148,       513,   440,   441,   137,   138,   443,  1304,   445,   139,   446,
2102      1289,   149,   150,   151,   152,   153,   439,   441,   510,   443,        95,    96,    97,   140,   447,   448,   449,   141,   142,   272,
2103       444,   535,   445,   511,  1131,   277,   154,   278,   279,   280,       450,   143,   451,   335,   144,   145,   834,   835,   836,   837,
2104       446,  1290,   447,  1291,   155,   156,   157,    79,   158,   448,       838,   366,   146,   367,   452,   453,   368,   454,   147,   148,
2105       536,   159,   160,   281,   469,   161,   449,   450,  1132,    80,       455,   149,   150,   151,   152,   153,   254,   456,   457,  1180,
2106       451,   452,   453,   364,   454,   365,   162,  1133,   366,   455,       606,   458,   459,   460,   369,   273,   154,   490,   461,   514,
2107       641,   470,   567,  1134,    81,    82,   456,   457,   484,   282,       462,   463,   644,   464,   155,   156,   157,   522,   158,   523,
2108        83,   458,    84,   459,  1292,   460,   367,   485,   486,  1135,       528,   159,   160,   370,   607,   161,  1181,   371,   529,   560,
2109       163,   283,   512,   612,   164,  1170,   461,   462,   165,   166,       255,   473,   561,   562,   563,   564,   162,   565,   274,   566,
2110       167,   168,   169,   520,   521,   368,   170,   171,   526,   369,       275,   276,   570,   256,   571,  1182,   372,   572,   373,   573,
2111       254,   527,   558,   559,   537,  1136,   172,   560,   561,   562,       574,  1183,   532,  1232,   575,   567,   257,   258,   259,   260,
2112       563,   487,  1171,  1137,    85,    86,   284,   285,   370,   564,       374,   163,   576,   577,   578,   164,   579,   580,  1184,   165,
2113       371,    87,    88,   538,   568,   824,   825,   826,   827,   828,       166,   167,   168,   169,   581,   533,   261,   170,   171,    79,
2114       569,  1172,   372,   570,   255,   571,   173,  1173,   174,  1222,       375,   277,   582,   278,   279,   280,   281,   172,   583,   584,
2115       175,   572,    89,    90,   573,   574,   176,   256,   575,  1293,       603,    80,  1185,   608,   534,   609,   610,   612,   535,  1186,
2116      1294,   177,   373,   577,  1174,  1138,   178,    91,    92,   578,       282,   613,   614,   615,  1246,   620,    81,    82,   618,   619,
2117       257,   258,   259,   260,   579,   580,   581,   600,    93,   606,       376,   621,    83,  1187,    84,   622,   624,   173,   625,   174,
2118       488,   607,   608,  1139,   609,   610,   611,    94,  1175,   612,       626,   175,   627,   628,   629,   630,   283,   176,   646,   631,
2119       261,  1236,   374,   615,   616,  1176,  1295,   617,   471,   618,      1233,  1188,   177,  1189,  1190,   632,   633,   178,   284,   377,
2120       621,   619,   622,   623,   624,   625,   626,   627,   628,  1177,       634,   635,   636,   666,   637,   638,   639,   640,   641,   642,
2121         2,     3,   629,   663,   630,     4,   631,   632,   633,   634,       643,   536,   647,   648,   649,   650,    85,    86,   652,   653,
2122       375,   635,   636,   637,   638,  1223,   639,  1178,   640,  1179,       654,  1234,   655,    87,    88,   667,   656,   657,   378,   658,
2123      1180,     5,   643,   644,     6,     7,   645,   646,   647,   649,       676,  1235,   659,   285,   286,   662,   537,   663,  1236,   668,
2124         8,   650,   651,   652,   653,   654,   655,   656,   659,   376,       673,  1247,   669,   677,    89,    90,  1191,   678,   680,   679,
2125       664,   660,   665,   670,   673,     9,  1224,   666,   676,    10,      1237,   681,  1238,  1239,   682,   538,  1192,   683,   684,    91,
2126        11,   674,    12,   675,   677,   679,  1225,  1237,    13,  1270,        92,   685,   686,     2,     3,  1193,  1240,   687,     4,  1194,
2127       678,   680,   681,  1226,   682,    95,    96,    97,   909,   683,        93,  1195,  1248,   337,   689,   379,  1241,  1280,   690,    94,
2128       684,  1181,    14,   686,   688,  1227,   687,  1228,  1229,   689,       691,  1196,  1249,   692,     5,   694,  1141,     6,     7,  1250,
2129       691,  1182,    15,    16,   692,   693,   377,   335,  1238,   694,       695,  1197,   696,     8,   338,   339,   697,   698,   340,   699,
2130      1183,  1230,   695,   696,  1184,   697,  1185,   698,  1239,    17,       700,  1251,   701,  1252,  1253,   702,   703,   706,     9,   919,
2131       699,  1231,   700,   703,   705,  1240,  1186,   932,   336,   337,      1142,   708,    10,    11,   719,    12,   709,  1254,   710,  1143,
2132       706,   707,   338,   716,   712,    18,  1187,  1241,   713,  1242,       539,    13,   715,   721,   727,  1144,   716,  1255,   723,   724,
2133      1243,   718,   720,   721,   722,   723,   726,   724,   727,   760,       725,   726,   729,   730,   732,    14,   736,   733,   737,   540,
2134       756,   729,   730,  1244,   733,  1193,   734,   757,   780,   761,       738,  1145,   740,   741,   942,    15,    16,   759,   742,   743,
2135       735,   737,   738,  1245,   739,   783,   740,   741,   744,   746,       744,   747,   749,   754,   752,   755,   761,   760,   756,   341,
2136        19,   749,   751,   752,   758,   753,   762,   759,   763,    20,       342,   343,    17,   762,   344,   763,   764,  1146,    95,    96,
2137        21,   781,   782,    22,    23,   764,   765,   784,   767,   785,        97,   767,   345,   768,   765,  1147,   766,   783,    18,  1203,
2138       768,   769,   774,   339,   340,   341,   771,   775,   342,   788,       786,   770,   771,   784,   346,   347,   772,   785,   787,   788,
2139       789,   776,   787,   790,   777,   791,   343,   792,   793,   910,       774,   777,   791,   792,   809,   793,   778,   854,   790,   794,
2140       911,   912,   913,   914,   794,   795,   915,   916,   344,   345,       348,   349,   779,   780,   795,   796,   797,   798,   807,   808,
2141       917,   918,   919,   796,   797,   920,   798,   921,   922,   923,       810,   811,   814,   816,    19,   855,   812,   820,  1148,   813,
2142       799,   924,   925,   926,   346,   347,   927,    24,   800,   801,       819,   824,   857,    20,    21,   825,   826,    22,    23,   858,
2143       804,   802,   928,   814,   803,   806,   809,   844,   933,   934,       350,   920,   921,   922,   923,   924,  1149,   827,   925,   926,
2144       935,   936,   937,   810,   815,   938,   939,   816,   817,   940,       828,   829,   927,   928,   929,   830,   859,   930,   831,   931,
2145       941,   942,   818,   348,   943,   819,   944,   945,   946,   845,       932,   933,   832,   934,   935,   936,   833,   841,   937,   860,
2146       947,   948,   949,   820,   821,   950,  1194,  1195,  1196,  1197,       842,   843,   844,   845,   938,   846,   943,   944,   945,   946,
2147      1198,   951,   822,  1199,  1200,   823,   831,  1201,  1202,  1203,       947,   847,   848,   948,   949,   849,   861,   950,   951,   952,
2148       832,   833,  1204,   834,  1205,  1206,  1207,   835,  1208,  1209,       850,    24,   953,   851,   954,   955,   956,   852,   957,   958,
2149      1210,   836,   837,  1211,   838,   839,   840,   847,   841,  1212,       959,   862,   853,   960,   863,   867,   868,   871,   872,   961,
2150       842,   843,   848,   849,   850,   851,   852,   853,   858,   857,       873,  1204,  1205,  1206,  1207,  1208,   874,   875,  1209,  1210,
2151       861,   862,   864,   863,   865,   866,   867,   868,   872,   869,       876,   877,  1211,  1212,  1213,   878,   879,  1214,   880,  1215,
2152       870,   871,   873,   875,   879,   981,   874,   876,   880,   877,      1216,  1217,   881,  1218,  1219,  1220,   883,   882,  1221,   884,
2153       878,   881,   882,   883,   884,   885,   886,   983,   989,   985,       885,   886,   887,   888,  1222,   890,   889,   891,   892,   893,
2154       887,   888,   889,   986,   890,   891,   892,   893,   894,   895,       894,   895,   896,   897,   898,   899,   900,   993,   901,   902,
2155       896,   988,   897,   898,   899,   900,   901,   902,   903,   904,       903,   904,   905,   906,   995,   907,   908,   909,   910,   911,
2156       905,   906,   907,   908,   931,   954,   955,   956,   991,   957,       996,   998,   912,   913,   999,   914,   915,   916,   917,   918,
2157       958,   959,   960,   961,   962,   963,   964,   992,   965,   966,       941,   964,   965,   966,   967,   968,   969,   970,  1001,   971,
2158       967,   968,   974,   975,   976,   977,   978,   979,   980,   993,       972,   973,   974,   975,   976,   977,   978,  1002,   984,   985,
2159       994,   987,   984,   995,   996,   990,   997,   999,   998,  1000,       986,  1003,   987,   988,   989,   990,  1004,  1005,   997,   991,
2160      1001,  1002,  1003,  1004,  1021,  1007,  1008,  1009,  1019,  1020,       994,  1006,  1000,  1007,  1009,  1008,  1010,  1011,  1014,  1012,
2161      1022,  1024,  1025,  1023,  1026,  1027,  1028,  1029,  1030,  1031,      1013,  1017,  1018,  1031,  1019,  1029,  1030,  1032,  1034,  1035,
2162      1032,  1033,  1058,  1034,  1276,  1060,  1062,  1035,  1107,  1264,      1036,  1038,  1033,  1037,  1039,  1040,  1041,  1042,  1043,  1117,
2163       314,  1306,  1148,  1301,  1267,  1167,  1300,   642,   583,   773,      1068,  1044,  1045,  1070,  1046,  1047,  1048,  1072,  1049,  1050,
2164      1287,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1265,   808,      1158,  1051,  1052,  1274,  1277,  1053,  1054,  1229,  1055,  1056,
2165      1043,  1044,  1045,  1285,  1046,  1047,  1048,  1053,  1054,  1055,      1057,  1058,  1063,  1064,  1065,  1066,  1067,  1230,  1071,   316,
2166      1056,   602,  1057,  1302,  1061,   743,  1059,  1064,  1063,  1065,      1069,  1074,  1073,  1075,  1081,  1169,  1082,  1083,  1084,  1085,
2167      1071,  1072,  1073,  1074,  1075,  1076,   813,  1077,  1159,  1078,      1086,  1177,  1315,  1087,  1088,  1089,  1090,  1091,  1092,  1093,
2168      1079,  1080,  1081,  1082,  1083,  1084,  1085,  1086,  1087,  1088,      1094,  1095,  1096,  1310,  1097,  1098,  1105,  1106,  1107,  1296,
2169      1095,  1096,  1097,  1098,  1099,  1100,  1101,  1102,  1103,   755,      1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,  1131,
2170      1303,  1104,  1105,  1281,  1106,  1121,  1286,   779,   402,  1122,      1132,  1137,  1309,  1138,  1139,  1140,  1152,   586,  1275,  1153,
2171      1127,  1282,   464,  1128,  1253,  1129,  1130,  1142,  1143,  1144,      1154,  1155,  1156,  1157,   645,   746,  1161,  1167,  1168,  1294,
2172      1145,   732,  1252,  1146,   748,  1147,  1284,  1151,  1283,   334,       776,   758,  1311,  1172,   782,  1312,  1170,  1295,  1173,   823,
2173         0,  1157,     0,     0,     0,   658,     0,     0,  1158,     0,      1175,  1278,  1290,  1178,  1179,   404,  1291,   751,   661,  1200,
2174         0,  1162,     0,   523,  1160,  1163,  1165,  1168,  1169,  1190,       466,   735,  1201,  1202,  1263,  1225,  1262,  1226,  1293,  1227,
2175      1191,  1192,  1215,  1216,  1217,  1218,  1221,  1234,  1235,  1266,      1228,  1231,  1244,  1245,  1276,   818,  1281,  1297,  1307,  1308,
2176         0,     0,  1271,  1288,  1268,  1298,  1299,   669,   662,     0,       525,  1292,   336,     0,     0,   665,   531,     0,     0,     0,
2177         0,   529,     0,     0,     0,     0,     0,     0,     0,     0,         0,   672,     0,     0,     0,     0,     0,     0,     0,     0,
2178         0,     0,     0,     0,     0,     0,     0,     0,   566         0,     0,   568,     0,     0,     0,     0,     0,     0,     0,
2179           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2180           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2181           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2182           0,     0,     0,     0,     0,     0,     0,   605
2183  };  };
2184    
2185  #define yypact_value_is_default(yystate) \  #define yypact_value_is_default(yystate) \
2186    ((yystate) == (-925))    ((yystate) == (-773))
2187    
2188  #define yytable_value_is_error(yytable_value) \  #define yytable_value_is_error(yytable_value) \
2189    YYID (0)    YYID (0)
2190    
2191  static const yytype_int16 yycheck[] =  static const yytype_int16 yycheck[] =
2192  {  {
2193       456,   320,   321,     1,   243,    11,     4,   243,   327,     1,       458,   322,   323,     1,     1,     1,    11,     3,   329,     1,
2194       243,     1,     1,     1,     1,   241,    11,     1,   243,   245,         6,     1,     1,     1,     4,     1,     1,    10,   110,    12,
2195         1,     1,     1,     1,     1,   243,    61,     1,     1,     1,         1,     1,   242,     1,    11,   244,   246,     1,    24,     1,
2196         1,   241,     1,   241,    21,   245,   241,     1,   241,   243,       242,     1,     1,     1,   246,    14,    15,    16,   242,     1,
2197       245,    39,   245,    31,    42,   969,   970,   971,   241,    21,        21,   244,   246,    31,     1,    31,    61,    43,   244,    39,
2198       110,    31,   245,    24,    35,   824,   825,   826,   827,   828,        47,    47,    42,    41,   242,     1,     1,   244,   246,     1,
2199       241,    41,   241,     1,   245,     3,   245,    48,     6,    47,       244,    31,   834,   835,   836,   837,   838,    24,   244,    66,
2200       241,   242,    43,   243,     1,     1,    47,     1,   243,    67,        66,    41,    68,   242,    71,   242,   242,   246,   242,   246,
2201        61,    62,    63,    64,   243,    83,    24,    71,    66,    14,       246,    67,    71,   244,    80,     1,    43,     1,   242,   243,
2202        15,    16,    71,    71,   413,   414,     1,   241,    71,     1,        47,    71,     1,    83,   415,   416,     1,   242,     1,    71,
2203        81,   245,   100,     1,   243,    43,    98,    71,   427,    47,        98,   246,    71,   242,   100,   242,   244,   246,   429,   246,
2204       100,     1,   100,   432,   102,   103,     1,   104,     8,     9,       100,     1,   100,   434,   100,   100,   102,   103,     8,     9,
2205       100,   243,    24,   100,   443,   444,   100,   446,    66,    19,       212,    24,   100,   104,   445,   446,   100,   448,   126,    19,
2206        68,   100,   104,     1,   126,   454,   455,    27,    10,   458,       100,   110,   100,   130,   130,   456,   457,    27,   100,   460,
2207        12,    43,    80,    33,   133,    47,   133,    37,    38,   133,        43,   133,   242,    33,    47,     1,   246,    37,    38,   244,
2208        40,   211,   130,     1,   125,   143,    46,   145,   146,   147,        40,   244,   133,   133,   100,   133,    46,   143,   100,   145,
2209       243,   133,   100,   134,   135,    55,    56,   243,   203,   133,       146,   147,   148,   159,   133,    55,    56,   242,   125,   245,
2210        60,   177,   207,   161,   100,    65,   165,   243,     1,    69,        60,   246,   244,   178,   166,    65,   162,   134,   135,    69,
2211        70,     1,   177,    73,   640,   110,    76,    77,   165,   175,        70,   166,    98,    73,   244,   643,    76,    77,   166,   204,
2212       176,   165,   130,    13,    84,   100,   165,   168,   100,   187,       244,   178,   188,   208,    84,   100,   244,   100,   166,   244,
2213        90,    91,   100,    93,    94,    95,    96,    97,    28,    29,        90,    91,   188,    93,    94,    95,    96,    97,   244,   242,
2214       243,   199,   243,    98,    34,   243,    36,   241,   108,     1,       126,   245,   169,   246,   200,   208,   244,   242,   108,   133,
2215       158,   245,   243,   125,   175,   176,   116,   117,   118,   227,       166,   246,   125,   244,   166,   244,   116,   117,   118,   222,
2216       120,   243,   100,   123,   124,   133,   241,   127,   227,   241,       120,     1,   244,   123,   124,     1,   228,   127,   228,   235,
2217       245,   126,   144,   245,   242,   564,   234,   235,   138,   187,       244,   144,   245,    13,   100,   566,   243,   243,   138,   235,
2218       242,   244,   242,   242,   242,   242,   227,   240,    78,    79,       236,   243,   166,   243,   243,   243,     1,   243,    28,    29,
2219       165,   242,   242,   242,   242,    85,    86,   165,   242,     1,       242,   166,   243,   243,    34,   243,    36,   149,   150,   243,
2220       239,   242,   162,   242,   244,   241,   166,   100,   242,   245,         1,   228,   240,   163,   245,   220,    21,   167,   245,    51,
2221       170,   171,   172,   173,   174,   133,   106,   107,   178,   179,         1,   171,   172,   173,   174,   175,   243,   245,   233,   179,
2222        22,    23,   219,   243,    26,   219,   234,   165,   188,     1,       180,    22,    23,   245,   240,    26,   241,   243,   243,   189,
2223       243,   121,   122,   244,   242,   232,   208,   244,   232,   244,        72,   243,    74,    24,     1,   245,   209,     4,    78,    79,
2224       241,   630,   132,   240,   245,   242,   240,   165,   100,   638,       166,   220,   633,     1,   228,    85,    86,   979,   980,   981,
2225       639,   141,   227,   241,   244,   227,   241,   245,   218,    31,       641,   642,    43,   228,   233,   228,    47,   243,   245,   219,
2226       220,   244,   222,     1,   244,   207,   244,   242,   228,    41,       245,   221,   241,   223,   100,   245,   106,   107,   243,   229,
2227       242,   241,   165,   233,   242,   245,   241,     1,   238,   221,       243,   245,    39,   115,   234,    42,   242,    35,   245,   239,
2228       244,   133,   242,   196,   197,    87,    88,    89,   148,   149,       246,   121,   122,   243,   176,   177,    87,    88,    89,   104,
2229        92,   244,   244,    31,   244,   244,   244,   244,   100,     1,        48,    92,   132,   242,   242,   176,   177,   133,   246,   100,
2230        24,   239,   131,   244,   244,   244,     8,     9,   244,   227,       245,   141,   228,    61,    62,    63,    64,   245,   149,   150,
2231       112,   113,   244,   165,   244,   244,   244,    19,   244,    43,         1,   112,   113,   197,   198,   245,    83,   245,   133,   241,
2232       244,   244,   244,    47,     1,    27,   128,   129,   100,    67,       245,   245,   245,    81,   245,   245,   245,   128,   129,     1,
2233       244,    33,   244,     1,   227,    37,    38,   726,    40,   229,       166,   245,   245,   100,   125,   245,     8,     9,   729,   245,
2234       230,   231,     1,   244,    46,     4,   244,    24,   244,   244,       245,   245,   245,   134,   135,   245,   245,    19,   245,   191,
2235       244,   131,   242,    55,    56,   157,   244,   244,    60,   244,       192,   245,   245,   242,   245,    27,    47,   158,   245,   245,
2236       244,   244,   100,    65,   102,   103,    43,    69,    70,   244,       245,    33,   245,   110,   110,    37,    38,   245,    40,     1,
2237        47,    73,   244,   244,    76,    77,   100,   244,   244,    47,       245,   245,   245,   245,    46,    66,   245,   245,   169,   245,
2238        39,   244,    84,    42,   131,   244,   244,   244,    90,    91,        71,   245,   245,    55,    56,   245,   228,   245,    60,   245,
2239        51,    93,    94,    95,    96,    97,   244,   244,    66,   244,       230,   231,   232,    65,   245,   245,   245,    69,    70,    31,
2240       244,   125,   244,    71,    20,   143,   108,   145,   146,   147,       245,    73,   245,   243,    76,    77,   153,   154,   155,   156,
2241       244,    72,   244,    74,   116,   117,   118,     1,   120,   244,       157,     1,    84,     3,   245,   245,     6,   245,    90,    91,
2242       144,   123,   124,   161,    83,   127,   244,   244,    44,    13,       245,    93,    94,    95,    96,    97,     1,   245,   245,     5,
2243       244,   244,   244,     1,   244,     3,   138,    53,     6,   244,       131,   245,   245,   245,    24,    67,   108,   228,   245,   130,
2244       242,   100,   241,    59,    28,    29,   244,   244,   125,   187,       245,   245,   243,   245,   116,   117,   118,   245,   120,   245,
2245        34,   244,    36,   244,   115,   244,    24,   134,   135,    75,       245,   123,   124,    43,   131,   127,    32,    47,   245,   245,
2246       162,   199,   130,   110,   166,     5,   244,   244,   170,   171,        35,   228,   245,   245,   245,   245,   138,   245,   100,   245,
2247       172,   173,   174,   244,   244,    43,   178,   179,   244,    47,       102,   103,   245,    48,   245,    51,    66,   245,    68,   245,
2248         1,   244,   244,   244,   208,   101,   188,   244,   244,   244,       245,    57,     1,    74,   245,   243,    61,    62,    63,    64,
2249       244,   168,    32,   109,    78,    79,   234,   235,    66,   244,        80,   163,   245,   245,   245,   167,   245,   245,    74,   171,
2250        68,    85,    86,   227,   244,   152,   153,   154,   155,   156,       172,   173,   174,   175,   245,    24,    81,   179,   180,     1,
2251       244,    51,    80,   244,    35,   244,   218,    57,   220,    74,       100,   143,   245,   145,   146,   147,   148,   189,   245,   245,
2252       222,   244,   106,   107,   244,   244,   228,    48,   244,   190,       245,    13,    98,   131,    43,   242,   176,   110,    47,   105,
2253       191,   233,   100,   244,    74,   151,   238,   121,   122,   244,       162,   176,   176,   110,    74,   176,    28,    29,   110,   110,
2254        61,    62,    63,    64,   244,   244,   244,   244,   132,   241,       130,   176,    34,   119,    36,   110,   176,   219,   176,   221,
2255       227,   175,   110,   169,   110,   175,   175,   141,    98,   110,       176,   223,   176,   176,   242,   242,   188,   229,   242,   245,
2256        81,    74,   130,   110,   110,   105,   227,   175,   227,   175,       151,   137,   234,   139,   140,   245,   245,   239,   200,   159,
2257       175,   110,   175,   175,   175,   175,   241,   241,   244,   119,       245,   245,   245,   131,   245,   245,   245,   245,   245,   245,
2258         0,     1,   244,   131,   244,     5,   244,   244,   244,   244,       245,   100,   245,   245,   245,   245,    78,    79,   245,   245,
2259       158,   244,   244,   244,   244,   150,   244,   137,   244,   139,       245,   182,   245,    85,    86,   242,   245,   245,   188,   245,
2260       140,    21,   241,   244,    24,    25,   244,   244,   244,   244,       110,   192,   245,   235,   236,   245,   125,   245,   199,   245,
2261        30,   244,   244,   244,   244,   244,   244,   244,   244,   187,       176,   151,   245,   176,   106,   107,   192,   176,   131,   110,
2262       241,   244,   244,   175,   110,    45,   181,   244,   110,    49,       211,   176,   213,   214,   110,   144,   202,   110,   110,   121,
2263        50,   175,    52,   175,   131,   110,   191,   150,    58,  1165,       122,   176,   176,     0,     1,   211,   227,   176,     5,   215,
2264       175,   110,   110,   198,   175,   229,   230,   231,    61,   175,       132,   217,   182,     1,   131,   235,   237,  1175,   176,   141,
2265       175,   191,    72,   131,   110,   210,   175,   212,   213,   110,       110,   227,   192,   110,    21,   110,    20,    24,    25,   199,
2266       110,   201,    82,    83,   110,   131,   234,     1,   181,   110,       110,   237,   131,    30,    22,    23,   110,   110,    26,   176,
2267       210,   226,   110,   175,   214,   175,   216,   244,   191,    99,       176,   211,   245,   213,   214,   176,   245,   176,    45,    61,
2268       175,   236,   244,   175,   175,   198,   226,    61,    22,    23,        44,   176,    49,    50,   110,    52,   176,   227,   176,    53,
2269       175,   175,    26,   110,   175,   115,   236,   210,   175,   212,       209,    58,   176,   131,   242,    59,   176,   237,   176,   176,
2270       213,   131,   175,   175,   175,   175,   244,   241,   244,   131,       176,   176,   245,   245,   245,    72,   242,   245,   245,   228,
2271       175,   244,   244,   226,   241,    61,   244,   175,   175,   131,       245,    75,   245,   245,    61,    82,    83,   176,   245,   245,
2272       244,   244,   244,   236,   244,   131,   244,   244,   244,   244,       245,   245,   245,   245,   242,   245,   242,   176,   245,    87,
2273       150,   241,   244,   244,   241,   244,   241,   243,   241,   159,        88,    89,    99,   244,    92,   131,   131,   101,   230,   231,
2274       160,   175,   175,   163,   164,   244,   244,   175,   244,   175,       232,   245,   100,   245,   242,   109,   242,   176,   115,    61,
2275       244,   244,   241,    87,    88,    89,   244,   244,    92,   131,       131,   245,   245,   176,   112,   113,   245,   176,   176,   176,
2276       175,   244,   241,   131,   244,   131,   100,   131,   131,   182,       245,   242,   131,   176,   110,   131,   245,   110,   242,   131,
2277       183,   184,   185,   186,   131,   131,   189,   190,   112,   113,       128,   129,   245,   245,   131,   131,   131,   131,   131,   131,
2278       193,   194,   195,   244,   131,   198,   131,   200,   201,   202,       131,   131,   245,   245,   151,   110,   242,   245,   152,   242,
2279       110,   204,   205,   206,   128,   129,   209,   217,   131,   131,       242,   131,   110,   160,   161,   242,   242,   164,   165,   110,
2280       244,   241,   215,   131,   241,   244,   241,   110,   182,   183,       158,   183,   184,   185,   186,   187,   170,   242,   190,   191,
2281       184,   185,   186,   244,   241,   189,   190,   241,   241,   193,       242,   242,   194,   195,   196,   242,   110,   199,   242,   201,
2282       194,   195,   241,   157,   198,   241,   200,   201,   202,   110,       202,   203,   242,   205,   206,   207,   242,   242,   210,   110,
2283       204,   205,   206,   241,   241,   209,   182,   183,   184,   185,       242,   242,   242,   242,   216,   242,   183,   184,   185,   186,
2284       186,   215,   241,   189,   190,   241,   241,   193,   194,   195,       187,   242,   242,   190,   191,   242,   131,   194,   195,   196,
2285       241,   241,   198,   241,   200,   201,   202,   241,   204,   205,       242,   218,   199,   242,   201,   202,   203,   242,   205,   206,
2286       206,   241,   241,   209,   241,   241,   241,   110,   241,   215,       207,   110,   242,   210,   110,   242,   131,   131,   176,   216,
2287       241,   241,   110,   110,   110,   131,   110,   110,   131,   241,       245,   183,   184,   185,   186,   187,   131,   131,   190,   191,
2288       131,   175,   131,   244,   131,   131,   131,   110,   241,   131,       131,   131,   194,   195,   196,   110,   131,   199,   131,   201,
2289       131,   131,   131,   241,   244,   244,   131,   241,   241,   131,       202,   203,   131,   205,   206,   207,   131,   242,   210,   131,
2290       131,   241,   241,   241,   241,   241,   241,   175,   175,   131,       242,   242,   131,   131,   216,   242,   245,   242,   242,   242,
2291       241,   241,   241,   131,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   242,   242,   176,   242,   242,
2292       241,   131,   241,   241,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   131,   242,   242,   242,   242,   242,
2293       241,   241,   241,   241,   241,   241,   241,   241,   131,   241,       131,   131,   242,   242,   176,   242,   242,   242,   242,   242,
2294       241,   241,   241,   241,   241,   241,   241,   110,   241,   241,       242,   242,   242,   242,   242,   242,   242,   242,   131,   242,
2295       241,   241,   241,   241,   241,   241,   241,   241,   241,   131,       242,   242,   242,   242,   242,   242,   242,   110,   242,   242,
2296       131,   241,   244,   131,   241,   244,   131,   131,   244,   241,       242,   131,   242,   242,   242,   242,   131,   131,   242,   245,
2297       244,   131,   131,   110,   131,   241,   241,   241,   241,   241,       245,   242,   245,   131,   131,   245,   242,   245,   110,   131,
2298       175,   131,   131,   244,   131,   244,   131,   241,   131,   131,       131,   242,   242,   131,   242,   242,   242,   176,   131,   131,
2299       131,   241,   131,   241,  1220,   131,   131,   241,   136,   110,       131,   131,   245,   245,   242,   131,   131,   131,   242,   136,
2300        74,  1305,   136,  1275,   131,  1014,  1273,   349,   286,   539,       131,   242,   242,   131,   242,   242,   242,   131,   242,   242,
2301      1263,   241,   241,   241,   241,   241,   241,   241,  1160,   588,       136,   242,   242,   110,   131,   242,   242,  1060,   242,   242,
2302       241,   241,   241,  1259,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   242,   242,  1062,   242,    74,
2303       241,   306,   241,  1278,   241,   489,   244,   241,   244,   241,       245,   242,   245,   242,   242,   181,   242,   242,   242,   242,
2304       241,   241,   241,   241,   241,   241,   596,   241,   180,   241,       242,  1024,  1314,   242,   242,   242,   242,   242,   242,   242,
2305       241,   241,   241,   241,   241,   241,   241,   241,   241,   241,       242,   242,   242,  1285,   242,   242,   242,   242,   242,  1273,
2306       241,   241,   241,   241,   241,   241,   241,   241,   241,   514,       242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2307      1280,   241,   241,  1249,   241,   241,  1261,   553,   123,   241,       242,   242,  1283,   242,   242,   242,   242,   287,  1170,   242,
2308       241,  1251,   179,   241,  1113,   241,   241,   241,   241,   241,       242,   242,   242,   242,   351,   491,   242,   242,   242,  1269,
2309       241,   472,  1111,   241,   504,   241,  1257,   241,  1255,    98,       541,   516,  1287,   242,   555,  1289,   246,  1271,   245,   599,
2310        -1,   241,    -1,    -1,    -1,   378,    -1,    -1,   241,    -1,       245,   245,  1259,   242,   242,   123,  1261,   506,   380,   242,
2311        -1,   241,    -1,   239,   245,   244,   244,   241,   241,   241,       179,   474,   242,   242,  1123,   242,  1121,   242,  1267,   242,
2312       241,   241,   241,   241,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   591,   242,   242,   242,   242,
2313        -1,    -1,   241,   241,   244,   241,   241,   408,   396,    -1,       239,  1265,    98,    -1,    -1,   398,   248,    -1,    -1,    -1,
2314        -1,   248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,   410,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2315        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   262        -1,    -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2316          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2317          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2318          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2319          -1,    -1,    -1,    -1,    -1,    -1,    -1,   308
2320  };  };
2321    
2322  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2323     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2324  static const yytype_uint16 yystos[] =  static const yytype_uint16 yystos[] =
2325  {  {
2326         0,   247,     0,     1,     5,    21,    24,    25,    30,    45,         0,   248,     0,     1,     5,    21,    24,    25,    30,    45,
2327        49,    50,    52,    58,    72,    82,    83,    99,   115,   150,        49,    50,    52,    58,    72,    82,    83,    99,   115,   151,
2328       159,   160,   163,   164,   217,   248,   253,   258,   278,   284,       160,   161,   164,   165,   218,   249,   254,   259,   281,   287,
2329       299,   317,   334,   348,   363,   370,   374,   384,   393,   413,       302,   320,   337,   351,   366,   373,   377,   387,   396,   416,
2330       423,   429,   433,   443,   503,   519,   540,   241,   242,   243,       426,   432,   436,   446,   506,   522,   543,   242,   243,   244,
2331       243,   318,   394,   424,   243,   434,   243,   504,   349,   414,       244,   321,   397,   427,   244,   437,   244,   507,   352,   417,
2332       335,   243,   243,   300,   364,   243,   243,   375,   385,   243,       338,   244,   244,   303,   367,   244,   244,   378,   388,   244,
2333         1,    31,    41,   100,   279,   280,   281,   282,   283,     1,         1,    31,    41,   100,   282,   283,   284,   285,   286,     1,
2334        13,    28,    29,    34,    36,    78,    79,    85,    86,   106,        13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2335       107,   121,   122,   132,   141,   229,   230,   231,   520,   521,       107,   121,   122,   132,   141,   230,   231,   232,   523,   524,
2336       522,   523,   524,   525,   526,   527,   528,   529,   530,   531,       525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
2337       532,   533,   534,   535,   536,   537,   538,   539,   243,   243,       535,   536,   537,   538,   539,   540,   541,   542,   244,   244,
2338       243,     1,    71,   430,   431,   432,   243,     1,     8,     9,       244,     1,    71,   433,   434,   435,   244,     1,     8,     9,
2339        19,    27,    33,    37,    38,    40,    46,    55,    56,    60,        19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2340        65,    69,    70,    73,    76,    77,    84,    90,    91,    93,        65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2341        94,    95,    96,    97,   108,   116,   117,   118,   120,   123,        94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2342       124,   127,   138,   162,   166,   170,   171,   172,   173,   174,       124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2343       178,   179,   188,   218,   220,   222,   228,   233,   238,   444,       179,   180,   189,   219,   221,   223,   229,   234,   239,   447,
2344       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,       448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
2345       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,       458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2346       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,       468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2347       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,       478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2348       485,   486,   487,   488,   489,   490,   491,   495,   499,   500,       488,   489,   490,   491,   492,   493,   494,   498,   502,   503,
2349       501,   502,   243,   243,   243,   243,     1,   219,   232,   285,       504,   505,   244,   244,   244,   244,     1,   220,   233,   288,
2350       286,   287,   288,   289,   290,     1,    98,   126,   254,   255,       289,   290,   291,   292,   293,     1,    98,   126,   255,   256,
2351       256,   257,   243,   243,     1,    35,    48,    61,    62,    63,       257,   258,   244,   244,     1,    35,    48,    61,    62,    63,
2352        64,    81,   541,   542,   543,   544,   545,   546,   547,   548,        64,    81,   544,   545,   546,   547,   548,   549,   550,   551,
2353       549,     1,    31,    67,   100,   102,   103,   143,   145,   146,       552,     1,    31,    67,   100,   102,   103,   143,   145,   146,
2354       147,   161,   187,   199,   234,   235,   259,   260,   261,   265,       147,   148,   162,   188,   200,   235,   236,   260,   261,   262,
2355       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,       263,   268,   269,   270,   271,   272,   273,   274,   275,   276,
2356       276,   277,   243,   243,     1,   100,   371,   372,   373,   241,       277,   278,   279,   280,   244,   244,     1,   100,   374,   375,
2357       244,   244,   244,   242,   280,   244,   244,   244,   244,   244,       376,   242,   245,   245,   245,   243,   283,   245,   245,   245,
2358       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2359       244,   244,   244,   242,   521,     1,    22,    23,    26,    87,       245,   245,   245,   245,   245,   243,   524,     1,    22,    23,
2360        88,    89,    92,   100,   112,   113,   128,   129,   157,   319,        26,    87,    88,    89,    92,   100,   112,   113,   128,   129,
2361       320,   321,   322,   323,   324,   325,   326,   327,   328,   329,       158,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2362       330,   331,   332,   333,     1,     3,     6,    24,    43,    47,       331,   332,   333,   334,   335,   336,     1,     3,     6,    24,
2363        66,    68,    80,   100,   130,   158,   187,   234,   395,   396,        43,    47,    66,    68,    80,   100,   130,   159,   188,   235,
2364       397,   398,   399,   400,   401,   402,   403,   404,   408,   409,       398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
2365       410,   411,   412,     1,    71,   133,   425,   426,   427,   428,       411,   412,   413,   414,   415,     1,    71,   133,   428,   429,
2366       244,   242,   431,     1,   100,   133,   165,   435,   439,   440,       430,   431,   245,   243,   434,     1,   100,   133,   166,   438,
2367       441,   442,   244,   244,   244,   244,   244,   244,   244,   244,       442,   443,   444,   445,   245,   245,   245,   245,   245,   245,
2368       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2369       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2370       496,   244,   492,   244,   244,   244,   244,   244,   244,   244,       245,   245,   499,   245,   495,   245,   245,   245,   245,   245,
2371       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2372       244,   244,   244,   242,   445,     1,     4,    39,    42,    83,       245,   245,   245,   245,   245,   243,   448,     1,     4,    39,
2373       100,   227,   505,   506,   507,   508,   509,   513,   514,   515,        42,    83,   100,   228,   508,   509,   510,   511,   512,   516,
2374         1,    24,    43,    47,   125,   134,   135,   168,   227,   350,       517,   518,     1,    24,    43,    47,   125,   134,   135,   169,
2375       351,   352,   353,   354,   355,   356,   360,   361,   362,     1,       228,   353,   354,   355,   356,   357,   358,   359,   363,   364,
2376       133,   165,   227,   415,   419,   420,   421,   422,     1,    47,       365,     1,   133,   166,   228,   418,   422,   423,   424,   425,
2377        66,    71,   130,   336,   340,   341,   342,   346,   347,   241,         1,    47,    66,    71,   130,   339,   343,   344,   345,   349,
2378       244,   244,   242,   286,   240,   241,   244,   244,   242,   255,       350,   242,   245,   245,   243,   289,   241,   242,   245,   245,
2379         1,    24,    43,    47,   100,   125,   144,   208,   227,   301,       243,   256,     1,    24,    43,    47,   100,   125,   144,   209,
2380       302,   303,   304,   305,   306,   307,   308,   309,   313,     1,       228,   304,   305,   306,   307,   308,   309,   310,   311,   312,
2381        21,   104,   133,   365,   366,   367,   368,   369,   244,   244,       316,     1,    21,   104,   133,   368,   369,   370,   371,   372,
2382       244,   244,   244,   244,   244,   242,   542,   241,   244,   244,       245,   245,   245,   245,   245,   245,   245,   243,   545,   242,
2383       244,   244,   244,   244,   244,   244,   262,   244,   244,   244,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2384       244,   244,   242,   260,     1,   100,   165,   227,   376,   377,       245,   245,   245,   245,   245,   243,   261,     1,   100,   166,
2385       378,   379,   380,     1,   100,   165,   386,   387,   388,   389,       228,   379,   380,   381,   382,   383,     1,   100,   166,   389,
2386       244,   242,   372,   131,   131,   131,   241,   175,   110,   110,       390,   391,   392,   245,   243,   375,   131,   131,   131,   242,
2387       175,   175,   110,   250,   250,   110,   110,   175,   175,   110,       176,   110,   110,   176,   176,   110,   251,   251,   110,   110,
2388       250,   175,   175,   175,   175,   175,   241,   241,   244,   244,       176,   176,   110,   251,   176,   176,   176,   176,   176,   242,
2389       244,   244,   244,   244,   244,   244,   244,   244,   244,   244,       242,   245,   245,   245,   245,   245,   245,   245,   245,   245,
2390       244,   242,   320,   241,   244,   244,   244,   244,   405,   244,       245,   245,   245,   245,   243,   323,   242,   245,   245,   245,
2391       244,   244,   244,   244,   244,   244,   244,   242,   396,   244,       245,   408,   245,   245,   245,   245,   245,   245,   245,   245,
2392       244,   242,   426,   131,   241,   244,   244,   436,   242,   440,       243,   399,   245,   245,   243,   429,   131,   242,   245,   245,
2393       175,   250,   250,   110,   175,   175,   110,   131,   175,   110,       439,   243,   443,   176,   251,   251,   110,   176,   176,   110,
2394       110,   110,   175,   175,   175,   250,   131,   175,   110,   110,       131,   176,   110,   110,   110,   176,   176,   176,   251,   131,
2395       250,   110,   110,   131,   110,   110,   175,   175,   244,   175,       176,   110,   110,   251,   110,   110,   131,   110,   110,   176,
2396       244,   250,   250,   175,   250,   175,   175,   175,   175,   176,       176,   245,   176,   245,   251,   251,   176,   251,   176,   176,
2397       175,   176,   175,   175,   250,   250,   110,   252,   131,   250,       176,   176,   177,   176,   177,   176,   176,   251,   251,   110,
2398       175,   175,   175,   175,   241,   516,   244,   244,   510,   244,       253,   131,   251,   176,   176,   176,   176,   242,   519,   245,
2399       244,   242,   506,   241,   244,   244,   357,   244,   244,   244,       245,   513,   245,   245,   243,   509,   242,   245,   245,   360,
2400       244,   244,   242,   351,   244,   416,   244,   242,   420,   241,       245,   245,   245,   245,   245,   243,   354,   245,   419,   245,
2401       337,   244,   244,   244,   242,   341,   175,   175,   241,   243,       243,   423,   242,   340,   245,   245,   245,   243,   344,   176,
2402       131,   131,   241,   241,   244,   244,   314,   244,   244,   244,       176,   242,   244,   131,   131,   242,   242,   245,   245,   317,
2403       310,   244,   242,   302,   241,   244,   244,   244,   242,   366,       245,   245,   245,   313,   245,   243,   305,   242,   245,   245,
2404       175,   175,   175,   131,   175,   175,   250,   241,   131,   175,       245,   243,   369,   176,   176,   176,   131,   176,   176,   251,
2405       131,   131,   131,   131,   131,   131,   244,   131,   131,   110,       242,   131,   176,   131,   131,   131,   131,   131,   131,   149,
2406       131,   131,   241,   241,   244,   381,   244,   242,   377,   241,       150,   264,   265,   149,   150,   266,   267,   131,   131,   110,
2407       244,   390,   242,   387,   131,   241,   241,   241,   241,   241,       131,   131,   242,   242,   245,   384,   245,   243,   380,   242,
2408       241,   241,   241,   241,   152,   153,   154,   155,   156,   249,       245,   393,   243,   390,   131,   242,   242,   242,   242,   242,
2409       250,   241,   241,   241,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   153,   154,   155,   156,   157,   250,
2410       241,   241,   241,   241,   110,   110,   250,   110,   110,   110,       251,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2411       110,   131,   110,   110,   250,   250,   252,   241,   131,   196,       242,   242,   242,   242,   110,   110,   251,   110,   110,   110,
2412       197,   131,   175,   244,   131,   131,   131,   131,   110,   131,       110,   131,   110,   110,   251,   251,   253,   242,   131,   197,
2413       131,   131,   241,   131,   131,   241,   241,   131,   131,   244,       198,   131,   176,   245,   131,   131,   131,   131,   110,   131,
2414       241,   241,   241,   241,   241,   241,   241,   241,   241,   241,       131,   131,   242,   131,   131,   242,   242,   131,   131,   245,
2415       241,   241,   241,   241,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2416       241,   241,   241,   241,   241,   241,   241,   241,   241,    61,       242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2417       182,   183,   184,   185,   186,   189,   190,   193,   194,   195,       242,   242,   242,   242,   242,   242,   242,   242,   242,    61,
2418       198,   200,   201,   202,   204,   205,   206,   209,   215,   497,       183,   184,   185,   186,   187,   190,   191,   194,   195,   196,
2419       498,   241,    61,   182,   183,   184,   185,   186,   189,   190,       199,   201,   202,   203,   205,   206,   207,   210,   216,   500,
2420       193,   194,   195,   198,   200,   201,   202,   204,   205,   206,       501,   242,    61,   183,   184,   185,   186,   187,   190,   191,
2421       209,   215,   493,   494,   241,   241,   241,   241,   241,   241,       194,   195,   196,   199,   201,   202,   203,   205,   206,   207,
2422       241,   241,   241,   241,   241,   241,   241,   241,   241,    14,       210,   216,   496,   497,   242,   242,   242,   242,   242,   242,
2423        15,    16,   251,   252,   241,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   242,   242,   242,   242,    14,
2424       241,   244,   250,   175,   244,   131,   131,   241,   131,   175,        15,    16,   252,   253,   242,   242,   242,   242,   242,   242,
2425       244,   131,   110,   131,   131,   131,   241,   131,   244,   131,       242,   245,   251,   176,   245,   131,   131,   242,   131,   176,
2426       241,   244,   131,   131,   110,   344,   345,   241,   241,   241,       245,   131,   110,   131,   131,   131,   242,   131,   245,   131,
2427         1,   100,   165,   239,   291,   292,   293,   294,   295,   241,       242,   245,   131,   131,   110,   347,   348,   242,   242,   242,
2428       241,   131,   175,   244,   131,   131,   131,   244,   131,   241,         1,   100,   166,   240,   294,   295,   296,   297,   298,   242,
2429       131,   131,   131,   241,   241,   241,   241,   241,   241,   241,       242,   131,   176,   245,   131,   131,   131,   245,   131,   242,
2430       241,   241,   241,   241,   241,   241,   241,   241,   241,   148,       131,   131,   131,   242,   242,   242,   242,   242,   242,   242,
2431       149,   263,   264,   241,   241,   241,   241,   241,   131,   244,       242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2432       131,   241,   131,   244,   241,   241,   249,   249,   249,   249,       246,   242,   246,   242,   242,   242,   242,   242,   131,   245,
2433       249,   241,   241,   241,   241,   241,   241,   241,   241,   241,       131,   242,   131,   245,   242,   242,   250,   250,   250,   250,
2434       241,   241,   241,   241,   241,   241,   241,   241,   241,    10,       250,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2435        12,   207,   221,   406,   407,   241,   241,   241,   241,   241,       242,   242,   242,   242,   242,   242,   242,   242,   242,    10,
2436       241,   241,   241,   241,   241,   241,   241,   136,   437,   438,        12,   208,   222,   409,   410,   242,   242,   242,   242,   242,
2437       241,   245,   241,   245,   251,   251,   251,    11,   177,   517,       242,   242,   242,   242,   242,   242,   242,   136,   440,   441,
2438       518,   241,   241,    11,   177,   511,   512,   241,   241,   241,       242,   246,   242,   246,   252,   252,   252,    11,   178,   520,
2439       241,    20,    44,    53,    59,    75,   101,   109,   151,   169,       521,   242,   242,    11,   178,   514,   515,   242,   242,   242,
2440       358,   359,   241,   241,   241,   241,   241,   241,   136,   417,       242,    20,    44,    53,    59,    75,   101,   109,   152,   170,
2441       418,   241,    61,   203,   207,   338,   339,   241,   241,   180,       361,   362,   242,   242,   242,   242,   242,   242,   136,   420,
2442       245,   343,   241,   244,   296,   244,   242,   292,   241,   241,       421,   242,    61,   204,   208,   341,   342,   242,   242,   181,
2443         246,   346,   242,   245,   299,   245,   243,   295,   242,   242,
2444         5,    32,    51,    57,    74,    98,   105,   119,   137,   139,         5,    32,    51,    57,    74,    98,   105,   119,   137,   139,
2445       140,   191,   201,   210,   214,   216,   226,   236,   315,   316,       140,   192,   202,   211,   215,   217,   227,   237,   318,   319,
2446       241,   241,   241,    61,   182,   183,   184,   185,   186,   189,       242,   242,   242,    61,   183,   184,   185,   186,   187,   190,
2447       190,   193,   194,   195,   198,   200,   201,   202,   204,   205,       191,   194,   195,   196,   199,   201,   202,   203,   205,   206,
2448       206,   209,   215,   311,   312,   241,   241,   241,   241,   241,       207,   210,   216,   314,   315,   242,   242,   242,   242,   265,
2449       245,   241,    74,   150,   181,   191,   198,   210,   212,   213,       267,   242,    74,   151,   182,   192,   199,   211,   213,   214,
2450       226,   236,   382,   383,   241,   241,    74,   150,   181,   191,       227,   237,   385,   386,   242,   242,    74,   151,   182,   192,
2451       198,   210,   212,   213,   226,   236,   391,   392,   241,   245,       199,   211,   213,   214,   227,   237,   394,   395,   242,   246,
2452       241,   245,   498,   494,   241,   245,   241,   245,   241,   245,       242,   246,   501,   497,   242,   246,   242,   246,   242,   246,
2453       241,   245,   241,   245,   110,   345,   241,   131,   244,   211,       242,   246,   242,   246,   110,   348,   242,   131,   245,   212,
2454       252,   241,   241,   245,   241,   245,   264,   241,   245,   241,       253,   242,   242,   246,   242,   246,   242,   246,   242,   246,
2455       245,   407,   438,   518,   512,   359,   418,   339,   241,    51,       410,   441,   521,   515,   362,   421,   342,   242,    51,    72,
2456        72,    74,   115,   190,   191,   227,   297,   298,   241,   241,        74,   115,   191,   192,   228,   300,   301,   242,   242,   319,
2457       316,   312,   383,   392,   241,   245,   298       315,   386,   395,   242,   246,   301
2458  };  };
2459    
2460  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
# Line 3270  yyreduce: Line 3291  yyreduce:
3291          case 27:          case 27:
3292    
3293  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3294  #line 407 "ircd_parser.y"  #line 408 "conf_parser.y"
3295      { (yyval.number) = 0; }      { (yyval.number) = 0; }
3296      break;      break;
3297    
3298    case 29:    case 29:
3299    
3300  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3301  #line 409 "ircd_parser.y"  #line 410 "conf_parser.y"
3302      {      {
3303                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3304                  }                  }
# Line 3286  yyreduce: Line 3307  yyreduce:
3307    case 30:    case 30:
3308    
3309  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3310  #line 413 "ircd_parser.y"  #line 414 "conf_parser.y"
3311      {      {
3312                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3313                  }                  }
# Line 3295  yyreduce: Line 3316  yyreduce:
3316    case 31:    case 31:
3317    
3318  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3319  #line 417 "ircd_parser.y"  #line 418 "conf_parser.y"
3320      {      {
3321                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3322                  }                  }
# Line 3304  yyreduce: Line 3325  yyreduce:
3325    case 32:    case 32:
3326    
3327  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3328  #line 421 "ircd_parser.y"  #line 422 "conf_parser.y"
3329      {      {
3330                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3331                  }                  }
# Line 3313  yyreduce: Line 3334  yyreduce:
3334    case 33:    case 33:
3335    
3336  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3337  #line 425 "ircd_parser.y"  #line 426 "conf_parser.y"
3338      {      {
3339                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3340                  }                  }
# Line 3322  yyreduce: Line 3343  yyreduce:
3343    case 34:    case 34:
3344    
3345  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3346  #line 429 "ircd_parser.y"  #line 430 "conf_parser.y"
3347      {      {
3348                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3349                  }                  }
# Line 3331  yyreduce: Line 3352  yyreduce:
3352    case 35:    case 35:
3353    
3354  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3355  #line 434 "ircd_parser.y"  #line 435 "conf_parser.y"
3356      { (yyval.number) = 0; }      { (yyval.number) = 0; }
3357      break;      break;
3358    
3359    case 37:    case 37:
3360    
3361  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3362  #line 435 "ircd_parser.y"  #line 436 "conf_parser.y"
3363      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3364      break;      break;
3365    
3366    case 38:    case 38:
3367    
3368  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3369  #line 436 "ircd_parser.y"  #line 437 "conf_parser.y"
3370      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3371      break;      break;
3372    
3373    case 39:    case 39:
3374    
3375  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3376  #line 437 "ircd_parser.y"  #line 438 "conf_parser.y"
3377      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3378      break;      break;
3379    
3380    case 40:    case 40:
3381    
3382  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3383  #line 438 "ircd_parser.y"  #line 439 "conf_parser.y"
3384      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3385      break;      break;
3386    
3387    case 47:    case 47:
3388    
3389  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3390  #line 452 "ircd_parser.y"  #line 453 "conf_parser.y"
3391      {      {
3392    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3393      add_conf_module(libio_basename(yylval.string));      add_conf_module(libio_basename(yylval.string));
# Line 3376  yyreduce: Line 3397  yyreduce:
3397    case 48:    case 48:
3398    
3399  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3400  #line 458 "ircd_parser.y"  #line 459 "conf_parser.y"
3401      {      {
3402    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3403      mod_add_path(yylval.string);      mod_add_path(yylval.string);
3404  }  }
3405      break;      break;
3406    
3407    case 67:    case 72:
3408    
3409  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3410  #line 478 "ircd_parser.y"  #line 484 "conf_parser.y"
3411      {      {
3412  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3413    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3414      ServerInfo.tls_version = 0;      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3415  #endif  #endif
3416  }  }
3417      break;      break;
3418    
3419    case 68:    case 73:
3420    
3421  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3422  #line 484 "ircd_parser.y"  #line 490 "conf_parser.y"
3423      {      {
3424  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3425    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3426    {      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
     if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))  
     {  
       SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);  
       SSL_CTX_set_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);  
     }  
   
     if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))  
     {  
       SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);  
       SSL_CTX_set_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);  
     }  
   }  
3427  #endif  #endif
3428  }  }
3429      break;      break;
3430    
3431    case 71:    case 76:
3432    
3433  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3434  #line 505 "ircd_parser.y"  #line 499 "conf_parser.y"
3435      {      {
3436  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3437    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3438      ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3439  #endif  #endif
3440  }  }
3441      break;      break;
3442    
3443    case 72:    case 77:
3444    
3445  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3446  #line 511 "ircd_parser.y"  #line 505 "conf_parser.y"
3447      {      {
3448  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3449    if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3450      ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3451  #endif  #endif
3452  }  }
3453      break;      break;
3454    
3455    case 73:    case 78:
3456    
3457  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3458  #line 519 "ircd_parser.y"  #line 513 "conf_parser.y"
3459      {      {
3460  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3461    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3486  yyreduce: Line 3495  yyreduce:
3495  }  }
3496      break;      break;
3497    
3498    case 74:    case 79:
3499    
3500  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3501  #line 558 "ircd_parser.y"  #line 552 "conf_parser.y"
3502      {      {
3503  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3504    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
# Line 3549  yyreduce: Line 3558  yyreduce:
3558  }  }
3559      break;      break;
3560    
3561    case 75:    case 80:
3562    
3563  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3564  #line 617 "ircd_parser.y"  #line 611 "conf_parser.y"
3565      {      {
3566  /* TBD - XXX: error reporting */  /* TBD - XXX: error reporting */
3567  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
# Line 3577  yyreduce: Line 3586  yyreduce:
3586  }  }
3587      break;      break;
3588    
3589    case 76:    case 81:
3590    
3591  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3592  #line 641 "ircd_parser.y"  #line 635 "conf_parser.y"
3593      {      {
3594  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
3595    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
   {  
3596      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
   }  
3597  #endif  #endif
3598  }  }
3599      break;      break;
3600    
3601    case 77:    case 82:
3602    
3603  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3604  #line 651 "ircd_parser.y"  #line 643 "conf_parser.y"
3605      {      {
3606    /* this isn't rehashable */    /* this isn't rehashable */
3607    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3610  yyreduce: Line 3617  yyreduce:
3617  }  }
3618      break;      break;
3619    
3620    case 78:    case 83:
3621    
3622  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3623  #line 666 "ircd_parser.y"  #line 658 "conf_parser.y"
3624      {      {
3625    /* this isn't rehashable */    /* this isn't rehashable */
3626    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3629  yyreduce: Line 3636  yyreduce:
3636  }  }
3637      break;      break;
3638    
3639    case 79:    case 84:
3640    
3641  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3642  #line 681 "ircd_parser.y"  #line 673 "conf_parser.y"
3643      {      {
3644    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3645    {    {
# Line 3642  yyreduce: Line 3649  yyreduce:
3649  }  }
3650      break;      break;
3651    
3652    case 80:    case 85:
3653    
3654  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3655  #line 690 "ircd_parser.y"  #line 682 "conf_parser.y"
3656      {      {
3657    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3658    {    {
# Line 3660  yyreduce: Line 3667  yyreduce:
3667  }  }
3668      break;      break;
3669    
3670    case 81:    case 86:
3671    
3672  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3673  #line 704 "ircd_parser.y"  #line 696 "conf_parser.y"
3674      {      {
3675    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3676    {    {
# Line 3673  yyreduce: Line 3680  yyreduce:
3680  }  }
3681      break;      break;
3682    
3683    case 82:    case 87:
3684    
3685  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3686  #line 713 "ircd_parser.y"  #line 705 "conf_parser.y"
3687      {      {
3688    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3689    {    {
# Line 3705  yyreduce: Line 3712  yyreduce:
3712  }  }
3713      break;      break;
3714    
3715    case 83:    case 88:
3716    
3717  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3718  #line 741 "ircd_parser.y"  #line 733 "conf_parser.y"
3719      {      {
3720  #ifdef IPV6  #ifdef IPV6
3721    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3739  yyreduce: Line 3746  yyreduce:
3746  }  }
3747      break;      break;
3748    
3749    case 84:    case 89:
3750    
3751  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3752  #line 771 "ircd_parser.y"  #line 763 "conf_parser.y"
3753      {      {
3754    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3755    {    {
# Line 3766  yyreduce: Line 3773  yyreduce:
3773  }  }
3774      break;      break;
3775    
3776    case 85:    case 90:
3777    
3778  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3779  #line 794 "ircd_parser.y"  #line 786 "conf_parser.y"
3780      {      {
3781    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3782      ServerInfo.hub = yylval.number;      ServerInfo.hub = yylval.number;
3783  }  }
3784      break;      break;
3785    
3786    case 93:    case 98:
3787    
3788  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3789  #line 809 "ircd_parser.y"  #line 801 "conf_parser.y"
3790      {      {
3791    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3792    {    {
# Line 3789  yyreduce: Line 3796  yyreduce:
3796  }  }
3797      break;      break;
3798    
3799    case 94:    case 99:
3800    
3801  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3802  #line 818 "ircd_parser.y"  #line 810 "conf_parser.y"
3803      {      {
3804    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3805    {    {
# Line 3802  yyreduce: Line 3809  yyreduce:
3809  }  }
3810      break;      break;
3811    
3812    case 95:    case 100:
3813    
3814  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3815  #line 827 "ircd_parser.y"  #line 819 "conf_parser.y"
3816      {      {
3817    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3818    {    {
# Line 3815  yyreduce: Line 3822  yyreduce:
3822  }  }
3823      break;      break;
3824    
3825    case 103:    case 108:
3826    
3827  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3828  #line 845 "ircd_parser.y"  #line 837 "conf_parser.y"
3829      {      {
3830    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3831      ConfigLoggingEntry.use_logging = yylval.number;      ConfigLoggingEntry.use_logging = yylval.number;
3832  }  }
3833      break;      break;
3834    
3835    case 104:    case 109:
3836    
3837  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3838  #line 851 "ircd_parser.y"  #line 843 "conf_parser.y"
3839      {      {
3840    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3841      ConfigLoggingEntry.timestamp = yylval.number;      ConfigLoggingEntry.timestamp = yylval.number;
3842  }  }
3843      break;      break;
3844    
3845    case 105:    case 110:
3846    
3847  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3848  #line 857 "ircd_parser.y"  #line 849 "conf_parser.y"
3849      {      {
3850    lfile[0] = '\0';    lfile[0] = '\0';
3851    ltype = 0;    ltype = 0;
# Line 3846  yyreduce: Line 3853  yyreduce:
3853  }  }
3854      break;      break;
3855    
3856    case 106:    case 111:
3857    
3858  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3859  #line 862 "ircd_parser.y"  #line 854 "conf_parser.y"
3860      {      {
3861    if (conf_parser_ctx.pass == 2 && ltype > 0)    if (conf_parser_ctx.pass == 2 && ltype > 0)
3862      log_add_file(ltype, lsize, lfile);      log_add_file(ltype, lsize, lfile);
3863  }  }
3864      break;      break;
3865    
3866    case 113:    case 118:
3867    
3868  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3869  #line 874 "ircd_parser.y"  #line 866 "conf_parser.y"
3870      {      {
3871    strlcpy(lfile, yylval.string, sizeof(lfile));    strlcpy(lfile, yylval.string, sizeof(lfile));
3872  }  }
3873      break;      break;
3874    
3875    case 114:    case 119:
3876    
3877  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3878  #line 879 "ircd_parser.y"  #line 871 "conf_parser.y"
3879      {      {
3880    lsize = (yyvsp[(3) - (4)].number);    lsize = (yyvsp[(3) - (4)].number);
3881  }  }
3882      break;      break;
3883    
3884    case 115:    case 120:
3885    
3886  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3887  #line 882 "ircd_parser.y"  #line 874 "conf_parser.y"
3888      {      {
3889    lsize = 0;    lsize = 0;
3890  }  }
3891      break;      break;
3892    
3893    case 116:    case 121:
3894    
3895  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3896  #line 887 "ircd_parser.y"  #line 879 "conf_parser.y"
3897      {      {
3898    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3899      ltype = 0;      ltype = 0;
3900  }  }
3901      break;      break;
3902    
3903    case 120:    case 125:
3904    
3905  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3906  #line 894 "ircd_parser.y"  #line 886 "conf_parser.y"
3907      {      {
3908    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3909      ltype = LOG_TYPE_USER;      ltype = LOG_TYPE_USER;
3910  }  }
3911      break;      break;
3912    
3913    case 121:    case 126:
3914    
3915  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3916  #line 898 "ircd_parser.y"  #line 890 "conf_parser.y"
3917      {      {
3918    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3919      ltype = LOG_TYPE_OPER;      ltype = LOG_TYPE_OPER;
3920  }  }
3921      break;      break;
3922    
3923    case 122:    case 127:
3924    
3925  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3926  #line 902 "ircd_parser.y"  #line 894 "conf_parser.y"
3927      {      {
3928    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3929      ltype = LOG_TYPE_GLINE;      ltype = LOG_TYPE_GLINE;
3930  }  }
3931      break;      break;
3932    
3933    case 123:    case 128:
3934    
3935  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3936  #line 906 "ircd_parser.y"  #line 898 "conf_parser.y"
3937      {      {
3938    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3939      ltype = LOG_TYPE_DLINE;      ltype = LOG_TYPE_DLINE;
3940  }  }
3941      break;      break;
3942    
3943    case 124:    case 129:
3944    
3945  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3946  #line 910 "ircd_parser.y"  #line 902 "conf_parser.y"
3947      {      {
3948    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3949      ltype = LOG_TYPE_KLINE;      ltype = LOG_TYPE_KLINE;
3950  }  }
3951      break;      break;
3952    
3953    case 125:    case 130:
3954    
3955  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3956  #line 914 "ircd_parser.y"  #line 906 "conf_parser.y"
3957      {      {
3958    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3959      ltype = LOG_TYPE_KILL;      ltype = LOG_TYPE_KILL;
3960  }  }
3961      break;      break;
3962    
3963    case 126:    case 131:
3964    
3965  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3966  #line 918 "ircd_parser.y"  #line 910 "conf_parser.y"
3967      {      {
3968    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3969      ltype = LOG_TYPE_DEBUG;      ltype = LOG_TYPE_DEBUG;
3970  }  }
3971      break;      break;
3972    
3973    case 127:    case 132:
3974    
3975  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3976  #line 928 "ircd_parser.y"  #line 920 "conf_parser.y"
3977      {      {
3978    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3979    {    {
# Line 3982  yyreduce: Line 3989  yyreduce:
3989  }  }
3990      break;      break;
3991    
3992    case 128:    case 133:
3993    
3994  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
3995  #line 941 "ircd_parser.y"  #line 933 "conf_parser.y"
3996      {      {
3997    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
3998    {    {
# Line 4071  yyreduce: Line 4078  yyreduce:
4078  }  }
4079      break;      break;
4080    
4081    case 140:    case 145:
4082    
4083  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4084  #line 1031 "ircd_parser.y"  #line 1023 "conf_parser.y"
4085      {      {
4086    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4087    {    {
# Line 4087  yyreduce: Line 4094  yyreduce:
4094  }  }
4095      break;      break;
4096    
4097    case 141:    case 146:
4098    
4099  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4100  #line 1043 "ircd_parser.y"  #line 1035 "conf_parser.y"
4101      {      {
4102    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4103    {    {
# Line 4128  yyreduce: Line 4135  yyreduce:
4135  }  }
4136      break;      break;
4137    
4138    case 142:    case 147:
4139    
4140  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4141  #line 1080 "ircd_parser.y"  #line 1072 "conf_parser.y"
4142      {      {
4143    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4144    {    {
# Line 4144  yyreduce: Line 4151  yyreduce:
4151  }  }
4152      break;      break;
4153    
4154    case 143:    case 148:
4155    
4156  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4157  #line 1092 "ircd_parser.y"  #line 1084 "conf_parser.y"
4158      {      {
4159    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4160    {    {
# Line 4159  yyreduce: Line 4166  yyreduce:
4166  }  }
4167      break;      break;
4168    
4169    case 144:    case 149:
4170    
4171  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4172  #line 1103 "ircd_parser.y"  #line 1095 "conf_parser.y"
4173      {      {
4174  #ifdef HAVE_LIBCRYPTO  #ifdef HAVE_LIBCRYPTO
4175    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
# Line 4205  yyreduce: Line 4212  yyreduce:
4212  }  }
4213      break;      break;
4214    
4215    case 145:    case 150:
4216    
4217  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4218  #line 1145 "ircd_parser.y"  #line 1137 "conf_parser.y"
4219      {      {
4220    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4221    {    {
# Line 4218  yyreduce: Line 4225  yyreduce:
4225  }  }
4226      break;      break;
4227    
4228    case 146:    case 151:
4229    
4230  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4231  #line 1154 "ircd_parser.y"  #line 1146 "conf_parser.y"
4232      {      {
4233    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4234      yy_aconf->modes = 0;      yy_aconf->modes = 0;
4235  }  }
4236      break;      break;
4237    
4238    case 150:    case 155:
4239    
4240  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4241  #line 1161 "ircd_parser.y"  #line 1153 "conf_parser.y"
4242      {      {
4243    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4244      yy_aconf->modes |= UMODE_BOTS;      yy_aconf->modes |= UMODE_BOTS;
4245  }  }
4246      break;      break;
4247    
4248    case 151:    case 156:
4249    
4250  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4251  #line 1165 "ircd_parser.y"  #line 1157 "conf_parser.y"
4252      {      {
4253    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4254      yy_aconf->modes |= UMODE_CCONN;      yy_aconf->modes |= UMODE_CCONN;
4255  }  }
4256      break;      break;
4257    
4258    case 152:    case 157:
4259    
4260  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4261  #line 1169 "ircd_parser.y"  #line 1161 "conf_parser.y"
4262      {      {
4263    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4264      yy_aconf->modes |= UMODE_CCONN_FULL;      yy_aconf->modes |= UMODE_CCONN_FULL;
4265  }  }
4266      break;      break;
4267    
4268    case 153:    case 158:
4269    
4270  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4271  #line 1173 "ircd_parser.y"  #line 1165 "conf_parser.y"
4272      {      {
4273    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4274      yy_aconf->modes |= UMODE_DEAF;      yy_aconf->modes |= UMODE_DEAF;
4275  }  }
4276      break;      break;
4277    
4278    case 154:    case 159:
4279    
4280  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4281  #line 1177 "ircd_parser.y"  #line 1169 "conf_parser.y"
4282      {      {
4283    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4284      yy_aconf->modes |= UMODE_DEBUG;      yy_aconf->modes |= UMODE_DEBUG;
4285  }  }
4286      break;      break;
4287    
4288    case 155:    case 160:
4289    
4290  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4291  #line 1181 "ircd_parser.y"  #line 1173 "conf_parser.y"
4292      {      {
4293    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4294      yy_aconf->modes |= UMODE_FULL;      yy_aconf->modes |= UMODE_FULL;
4295  }  }
4296      break;      break;
4297    
4298    case 156:    case 161:
4299    
4300  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4301  #line 1185 "ircd_parser.y"  #line 1177 "conf_parser.y"
4302      {      {
4303    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4304      yy_aconf->modes |= UMODE_HIDDEN;      yy_aconf->modes |= UMODE_HIDDEN;
4305  }  }
4306      break;      break;
4307    
4308    case 157:    case 162:
4309    
4310  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4311  #line 1189 "ircd_parser.y"  #line 1181 "conf_parser.y"
4312      {      {
4313    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4314      yy_aconf->modes |= UMODE_SKILL;      yy_aconf->modes |= UMODE_SKILL;
4315  }  }
4316      break;      break;
4317    
4318    case 158:    case 163:
4319    
4320  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4321  #line 1193 "ircd_parser.y"  #line 1185 "conf_parser.y"
4322      {      {
4323    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4324      yy_aconf->modes |= UMODE_NCHANGE;      yy_aconf->modes |= UMODE_NCHANGE;
4325  }  }
4326      break;      break;
4327    
4328    case 159:    case 164:
4329    
4330  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4331  #line 1197 "ircd_parser.y"  #line 1189 "conf_parser.y"
4332      {      {
4333    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4334      yy_aconf->modes |= UMODE_REJ;      yy_aconf->modes |= UMODE_REJ;
4335  }  }
4336      break;      break;
4337    
4338    case 160:    case 165:
4339    
4340  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4341  #line 1201 "ircd_parser.y"  #line 1193 "conf_parser.y"
4342      {      {
4343    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4344      yy_aconf->modes |= UMODE_UNAUTH;      yy_aconf->modes |= UMODE_UNAUTH;
4345  }  }
4346      break;      break;
4347    
4348    case 161:    case 166:
4349    
4350  /* Line 1806 of yacc.c  */  /* Line 1806 of yacc.c  */
4351  #line 1205 "ircd_parser.y"  #line 1197 &qu