This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
pp_goto: do SAVETMPS etc in XS and non-XS branches
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  14
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   2913
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  105
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  77
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  252
17 /* YYNRULES -- Number of states.  */
18 #define YYNSTATES  508
19
20 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
21 #define YYUNDEFTOK  2
22 #define YYMAXUTOK   337
23
24 #define YYTRANSLATE(YYX)                                                \
25   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
26
27 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
28 static const yytype_uint8 yytranslate[] =
29 {
30        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
31        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
32        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     2,     2,    88,     2,     2,   102,    16,    17,     2,
34      100,    99,   103,    14,    77,    13,    19,   104,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,    80,   101,
36        2,    18,     2,    79,    15,     2,     2,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,    11,     2,    12,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     9,     2,    10,    89,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
56        5,     6,     7,     8,    20,    21,    22,    23,    24,    25,
57       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
58       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
59       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
60       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
61       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
62       76,    78,    81,    82,    83,    84,    85,    86,    87,    90,
63       91,    92,    93,    94,    95,    96,    97,    98
64 };
65
66 #if YYDEBUG
67 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
68    YYRHS.  */
69 static const yytype_uint16 yyprhs[] =
70 {
71        0,     0,     3,     4,     9,    10,    14,    15,    19,    20,
72       24,    25,    29,    30,    34,    39,    47,    48,    53,    54,
73       55,    58,    59,    62,    64,    66,    69,    72,    74,    79,
74       80,    88,    89,   100,   105,   106,   114,   122,   130,   137,
75      144,   147,   156,   165,   166,   167,   181,   191,   200,   201,
76      213,   223,   231,   234,   235,   244,   247,   249,   252,   253,
77      257,   259,   261,   265,   269,   273,   277,   281,   285,   286,
78      289,   296,   297,   300,   301,   302,   304,   305,   307,   309,
79      311,   313,   315,   316,   317,   318,   319,   321,   323,   324,
80      326,   327,   330,   332,   335,   337,   338,   342,   344,   346,
81      350,   354,   358,   360,   363,   367,   369,   373,   379,   386,
82      390,   394,   400,   403,   408,   409,   415,   417,   419,   425,
83      430,   436,   441,   447,   454,   460,   465,   471,   476,   480,
84      487,   492,   498,   502,   506,   510,   514,   518,   522,   526,
85      530,   534,   538,   542,   546,   550,   554,   557,   560,   563,
86      566,   569,   572,   575,   578,   581,   585,   588,   593,   597,
87      603,   612,   615,   618,   620,   622,   624,   626,   632,   635,
88      637,   640,   644,   646,   649,   651,   653,   655,   657,   659,
89      661,   666,   671,   677,   683,   685,   687,   691,   696,   700,
90      705,   710,   715,   720,   725,   727,   730,   733,   735,   738,
91      741,   743,   746,   748,   751,   753,   757,   759,   763,   765,
92      769,   774,   775,   782,   784,   786,   788,   790,   794,   797,
93      801,   804,   806,   808,   810,   811,   813,   814,   816,   817,
94      820,   822,   824,   826,   828,   830,   832,   835,   838,   841,
95      844,   847,   852,   855,   857,   861,   863,   867,   869,   873,
96      875,   877,   879
97 };
98
99 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
100 static const yytype_int16 yyrhs[] =
101 {
102      106,     0,    -1,    -1,     3,   107,   115,   118,    -1,    -1,
103        4,   108,   167,    -1,    -1,     5,   109,   113,    -1,    -1,
104        6,   110,   122,    -1,    -1,     7,   111,   120,    -1,    -1,
105        8,   112,   118,    -1,     9,   115,   118,    10,    -1,    18,
106      115,   101,    71,   119,   101,    19,    -1,    -1,     9,   117,
107      118,    10,    -1,    -1,    -1,   118,   120,    -1,    -1,   119,
108      130,    -1,   122,    -1,   121,    -1,    33,   122,    -1,    33,
109      121,    -1,    32,    -1,    34,   144,   141,   114,    -1,    -1,
110       35,   145,   142,   123,   146,   147,   151,    -1,    -1,    35,
111      145,   142,   124,   115,   149,   147,     9,   118,    10,    -1,
112       37,    20,    20,   101,    -1,    -1,    38,   142,   125,    20,
113       20,   166,   101,    -1,    41,   100,   115,   139,    99,   116,
114      133,    -1,    42,   100,   115,   139,    99,   116,   133,    -1,
115       47,   100,   115,   139,    99,   116,    -1,    48,   100,   115,
116      139,    99,   116,    -1,    49,   113,    -1,    39,   100,   115,
117      137,    99,   135,   116,   134,    -1,    40,   100,   115,   138,
118       99,   135,   116,   134,    -1,    -1,    -1,    46,   100,   115,
119      140,   101,   126,   137,   101,   127,   135,   140,    99,   116,
120       -1,    46,    67,   115,   169,   100,   139,    99,   116,   134,
121       -1,    46,   173,   100,   115,   139,    99,   116,   134,    -1,
122       -1,    46,    90,    67,   115,   170,   128,   100,   139,    99,
123      116,   134,    -1,    46,    90,   171,   100,   115,   139,    99,
124      116,   134,    -1,    46,   100,   115,   139,    99,   116,   134,
125       -1,   113,   134,    -1,    -1,    37,    20,    20,     9,   115,
126      129,   118,    10,    -1,   132,   101,    -1,   101,    -1,    23,
127      131,    -1,    -1,    70,   118,    71,    -1,     1,    -1,   152,
128       -1,   152,    41,   152,    -1,   152,    42,   152,    -1,   152,
129       39,   152,    -1,   152,    40,   138,    -1,   152,    46,   152,
130       -1,   152,    48,   152,    -1,    -1,    43,   116,    -1,    44,
131      100,   139,    99,   116,   133,    -1,    -1,    45,   113,    -1,
132       -1,    -1,   132,    -1,    -1,   152,    -1,   152,    -1,   152,
133       -1,   136,    -1,    20,    -1,    -1,    -1,    -1,    -1,    20,
134       -1,    25,    -1,    -1,    23,    -1,    -1,    69,    23,    -1,
135       69,    -1,    69,    23,    -1,    69,    -1,    -1,   100,   150,
136       99,    -1,   113,    -1,   101,    -1,   152,    75,   152,    -1,
137      152,    74,   152,    -1,   152,    73,   152,    -1,   153,    -1,
138      153,    77,    -1,   153,    77,   162,    -1,   162,    -1,    57,
139      181,   153,    -1,    55,   100,   181,   152,    99,    -1,   162,
140       98,   156,   100,   167,    99,    -1,   162,    98,   156,    -1,
141       21,   181,   166,    -1,    22,   181,   100,   167,    99,    -1,
142       57,   166,    -1,    55,   100,   167,    99,    -1,    -1,    30,
143      143,   113,   155,   166,    -1,    21,    -1,   173,    -1,   180,
144        9,   152,   101,    10,    -1,   173,    11,   152,    12,    -1,
145      162,    98,    11,   152,    12,    -1,   157,    11,   152,    12,
146       -1,   173,     9,   152,   101,    10,    -1,   162,    98,     9,
147      152,   101,    10,    -1,   157,     9,   152,   101,    10,    -1,
148      162,    98,   100,    99,    -1,   162,    98,   100,   152,    99,
149       -1,   157,   100,   152,    99,    -1,   157,   100,    99,    -1,
150      100,   152,    99,    11,   152,    12,    -1,    26,    11,   152,
151       12,    -1,   100,    99,    11,   152,    12,    -1,   162,    78,
152      162,    -1,   162,    92,   162,    -1,   162,    60,   162,    -1,
153      162,    61,   162,    -1,   162,    86,   162,    -1,   162,    58,
154      162,    -1,   162,    59,   162,    -1,   162,    85,   162,    -1,
155      162,    84,   162,    -1,   162,    51,   162,    -1,   162,    83,
156      162,    -1,   162,    82,   162,    -1,   162,    81,   162,    -1,
157      162,    87,   162,    -1,    13,   162,    -1,    14,   162,    -1,
158       88,   162,    -1,    89,   162,    -1,   162,    95,    -1,   162,
159       94,    -1,   162,    93,    -1,    97,   162,    -1,    96,   162,
160       -1,    11,   152,    12,    -1,    11,    12,    -1,    64,   152,
161      101,    10,    -1,    64,   101,    10,    -1,    36,   143,   146,
162      147,   113,    -1,    36,   143,   115,   149,   147,     9,   118,
163       10,    -1,    63,   162,    -1,    63,   113,    -1,   158,    -1,
164      159,    -1,   160,    -1,   161,    -1,   162,    79,   162,    80,
165      162,    -1,    90,   162,    -1,   164,    -1,    66,   162,    -1,
166      100,   152,    99,    -1,    26,    -1,   100,    99,    -1,   173,
167       -1,   177,    -1,   175,    -1,   174,    -1,   176,    -1,   157,
168       -1,   178,    11,   152,    12,    -1,   179,    11,   152,    12,
169       -1,   178,     9,   152,   101,    10,    -1,   179,     9,   152,
170      101,    10,    -1,    23,    -1,   172,    -1,   172,   100,    99,
171       -1,   172,   100,   152,    99,    -1,    65,   145,   166,    -1,
172      162,    98,   102,   103,    -1,   162,    98,    15,   103,    -1,
173      162,    98,    16,   103,    -1,   162,    98,    17,   103,    -1,
174      162,    98,   103,   103,    -1,    50,    -1,    50,   162,    -1,
175       76,   153,    -1,    56,    -1,    56,   113,    -1,    56,   162,
176       -1,    68,    -1,    68,   162,    -1,    29,    -1,    29,   162,
177       -1,    53,    -1,    53,   100,    99,    -1,    27,    -1,    27,
178      100,    99,    -1,    28,    -1,    54,   100,    99,    -1,    54,
179      100,   152,    99,    -1,    -1,    24,   163,   100,   153,   168,
180       99,    -1,    20,    -1,   154,    -1,    52,    -1,    31,    -1,
181       67,   165,   148,    -1,    67,   165,    -1,   100,   152,    99,
182       -1,   100,    99,    -1,   173,    -1,   175,    -1,   174,    -1,
183       -1,   153,    -1,    -1,   152,    -1,    -1,   104,   152,    -1,
184      173,    -1,   173,    -1,   174,    -1,   175,    -1,   170,    -1,
185      172,    -1,    17,   181,    -1,   102,   181,    -1,    15,   181,
186       -1,    16,   181,    -1,    62,   181,    -1,   162,    98,    62,
187      103,    -1,   103,   181,    -1,   174,    -1,   162,    98,    15,
188       -1,   175,    -1,   162,    98,    16,    -1,   177,    -1,   162,
189       98,   103,    -1,    20,    -1,   173,    -1,   113,    -1,    25,
190       -1
191 };
192
193 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
194 static const yytype_uint16 yyrline[] =
195 {
196        0,   115,   115,   114,   125,   124,   134,   133,   146,   145,
197      158,   157,   170,   169,   181,   189,   197,   201,   209,   215,
198      216,   226,   227,   236,   240,   244,   248,   255,   257,   268,
199      267,   301,   300,   339,   347,   346,   355,   361,   367,   372,
200      374,   376,   383,   391,   393,   390,   410,   415,   422,   421,
201      436,   444,   450,   457,   456,   471,   475,   483,   501,   502,
202      507,   509,   511,   513,   515,   517,   519,   522,   528,   529,
203      534,   545,   546,   552,   558,   559,   564,   567,   571,   576,
204      580,   584,   585,   589,   595,   600,   605,   606,   611,   612,
205      617,   618,   620,   625,   627,   633,   632,   651,   652,   656,
206      658,   660,   662,   666,   668,   673,   677,   681,   685,   691,
207      696,   702,   708,   710,   713,   712,   723,   724,   728,   732,
208      735,   740,   745,   748,   752,   756,   759,   764,   768,   771,
209      773,   775,   780,   782,   784,   789,   791,   793,   795,   797,
210      799,   801,   803,   805,   807,   809,   814,   816,   819,   821,
211      823,   826,   829,   840,   843,   850,   852,   854,   856,   858,
212      861,   875,   877,   881,   882,   883,   884,   885,   887,   889,
213      891,   893,   895,   897,   899,   901,   903,   905,   907,   909,
214      911,   921,   931,   941,   951,   953,   955,   958,   963,   967,
215      969,   971,   973,   976,   978,   981,   983,   985,   987,   989,
216      991,   993,   995,   997,  1000,  1002,  1004,  1006,  1008,  1010,
217     1014,  1017,  1016,  1029,  1030,  1031,  1036,  1040,  1042,  1047,
218     1049,  1052,  1054,  1056,  1061,  1063,  1068,  1069,  1074,  1075,
219     1081,  1085,  1086,  1087,  1090,  1091,  1094,  1098,  1102,  1108,
220     1114,  1116,  1120,  1124,  1125,  1129,  1130,  1134,  1135,  1140,
221     1142,  1144,  1147
222 };
223 #endif
224
225 #if YYDEBUG || YYERROR_VERBOSE || 0
226 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
227    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
228 static const char *const yytname[] =
229 {
230   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
231   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "'{'", "'}'", "'['",
232   "']'", "'-'", "'+'", "'@'", "'%'", "'&'", "'='", "'.'", "WORD", "METHOD",
233   "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP",
234   "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL",
235   "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF",
236   "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT",
237   "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP",
238   "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
239   "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
240   "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "DOROP", "OROP", "ANDOP",
241   "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR", "ANDAND",
242   "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "REFGEN",
243   "UMINUS", "POWOP", "POSTJOIN", "POSTDEC", "POSTINC", "PREDEC", "PREINC",
244   "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", "$accept", "grammar",
245   "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "block", "formblock",
246   "remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
247   "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10", "$@11", "@12",
248   "$@13", "formline", "formarg", "sideff", "else", "cont", "mintro",
249   "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub",
250   "startanonsub", "startformsub", "subname", "proto", "subattrlist",
251   "myattrlist", "subsignature", "@14", "optsubbody", "expr", "listexpr",
252   "listop", "@15", "method", "subscripted", "termbinop", "termunop",
253   "anonymous", "termdo", "term", "@16", "myattrterm", "myterm",
254   "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
255   "refgen_topic", "amper", "scalar", "ary", "hsh", "arylen", "star",
256   "sliceme", "kvslice", "gelem", "indirob", YY_NULL
257 };
258 #endif
259
260 # ifdef YYPRINT
261 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
262    token YYLEX-NUM.  */
263 static const yytype_uint16 yytoknum[] =
264 {
265        0,   256,   257,   258,   259,   260,   261,   262,   263,   123,
266      125,    91,    93,    45,    43,    64,    37,    38,    61,    46,
267      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
268      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
269      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
270      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
271      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
272      314,   315,   316,   317,   318,   319,   320,    44,   321,    63,
273       58,   322,   323,   324,   325,   326,   327,   328,    33,   126,
274      329,   330,   331,   332,   333,   334,   335,   336,   337,    41,
275       40,    59,    36,    42,    47
276 };
277 # endif
278
279 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
280 static const yytype_uint8 yyr1[] =
281 {
282        0,   105,   107,   106,   108,   106,   109,   106,   110,   106,
283      111,   106,   112,   106,   113,   114,   115,   116,   117,   118,
284      118,   119,   119,   120,   120,   121,   121,   122,   122,   123,
285      122,   124,   122,   122,   125,   122,   122,   122,   122,   122,
286      122,   122,   122,   126,   127,   122,   122,   122,   128,   122,
287      122,   122,   122,   129,   122,   122,   122,   130,   131,   131,
288      132,   132,   132,   132,   132,   132,   132,   132,   133,   133,
289      133,   134,   134,   135,   136,   136,   137,   137,   138,   139,
290      140,   141,   141,   142,   143,   144,   145,   145,   146,   146,
291      147,   147,   147,   148,   148,   150,   149,   151,   151,   152,
292      152,   152,   152,   153,   153,   153,   154,   154,   154,   154,
293      154,   154,   154,   154,   155,   154,   156,   156,   157,   157,
294      157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
295      157,   157,   158,   158,   158,   158,   158,   158,   158,   158,
296      158,   158,   158,   158,   158,   158,   159,   159,   159,   159,
297      159,   159,   159,   159,   159,   160,   160,   160,   160,   160,
298      160,   161,   161,   162,   162,   162,   162,   162,   162,   162,
299      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
300      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
301      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
302      162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
303      162,   163,   162,   162,   162,   162,   162,   164,   164,   165,
304      165,   165,   165,   165,   166,   166,   167,   167,   168,   168,
305      169,   170,   170,   170,   171,   171,   172,   173,   174,   175,
306      176,   176,   177,   178,   178,   179,   179,   180,   180,   181,
307      181,   181,   181
308 };
309
310 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
311 static const yytype_uint8 yyr2[] =
312 {
313        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
314        0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
315        2,     0,     2,     1,     1,     2,     2,     1,     4,     0,
316        7,     0,    10,     4,     0,     7,     7,     7,     6,     6,
317        2,     8,     8,     0,     0,    13,     9,     8,     0,    11,
318        9,     7,     2,     0,     8,     2,     1,     2,     0,     3,
319        1,     1,     3,     3,     3,     3,     3,     3,     0,     2,
320        6,     0,     2,     0,     0,     1,     0,     1,     1,     1,
321        1,     1,     0,     0,     0,     0,     1,     1,     0,     1,
322        0,     2,     1,     2,     1,     0,     3,     1,     1,     3,
323        3,     3,     1,     2,     3,     1,     3,     5,     6,     3,
324        3,     5,     2,     4,     0,     5,     1,     1,     5,     4,
325        5,     4,     5,     6,     5,     4,     5,     4,     3,     6,
326        4,     5,     3,     3,     3,     3,     3,     3,     3,     3,
327        3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
328        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
329        8,     2,     2,     1,     1,     1,     1,     5,     2,     1,
330        2,     3,     1,     2,     1,     1,     1,     1,     1,     1,
331        4,     4,     5,     5,     1,     1,     3,     4,     3,     4,
332        4,     4,     4,     4,     1,     2,     2,     1,     2,     2,
333        1,     2,     1,     2,     1,     3,     1,     3,     1,     3,
334        4,     0,     6,     1,     1,     1,     1,     3,     2,     3,
335        2,     1,     1,     1,     0,     1,     0,     1,     0,     2,
336        1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
337        2,     4,     2,     1,     3,     1,     3,     1,     3,     1,
338        1,     1,     1
339 };
340
341 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
342    Performed when YYTABLE doesn't specify something else to do.  Zero
343    means the default is an error.  */
344 static const yytype_uint8 yydefact[] =
345 {
346        0,     2,     4,     6,     8,    10,    12,     0,    16,   226,
347        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
348        0,     0,   213,     0,     0,   184,   211,   172,   206,   208,
349      202,    84,   216,    84,   194,   215,   204,     0,     0,   197,
350      224,     0,     0,     0,     0,     0,     0,   200,     0,     0,
351        0,     0,     0,     0,     0,     0,     0,   227,   102,   214,
352      179,   163,   164,   165,   166,   105,   169,     5,   185,   174,
353      177,   176,   178,   175,     0,     0,     0,    16,     7,    60,
354       27,    85,     0,     0,    83,     0,     0,     0,     0,     0,
355        0,     0,     0,    56,    71,     9,     0,    61,     0,    11,
356       24,    23,     0,     0,   156,     0,   146,   147,   249,   252,
357      251,   250,   238,   239,   236,   224,     0,     0,     0,     0,
358      203,     0,    88,   195,     0,     0,   226,   198,   199,   249,
359      225,   112,   250,     0,   240,   162,   161,     0,     0,    86,
360       87,   224,   170,     0,   218,   221,   223,   222,   201,   196,
361      148,   149,   168,   154,   153,   173,     0,   237,   242,     0,
362        0,     0,   103,     0,     0,     0,     0,     0,     0,     0,
363        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
364        0,   152,   151,   150,     0,     0,     0,     0,     0,     0,
365        0,     0,     0,    19,    82,    83,     0,    34,    16,    16,
366       16,    16,    16,     0,    16,     0,    16,    16,    40,     0,
367       52,    55,     0,     0,     0,     0,     0,     0,    26,    25,
368       20,   155,   110,   226,     0,     0,   207,   114,    89,     0,
369       90,   205,   209,     0,     0,     0,   106,   158,     0,   188,
370      220,     0,    94,   217,     0,   171,   101,   100,    99,   104,
371        0,     0,   128,     0,   141,   137,   138,   134,   135,   132,
372        0,   144,   143,   142,   140,   139,   136,   145,   133,     0,
373        0,   244,   246,     0,   116,     0,     0,     0,   248,   109,
374      117,   186,     0,     0,     0,     0,     0,     0,     0,     0,
375        0,    81,     0,    29,     0,     0,    76,     0,     0,     0,
376        0,    16,   234,     0,   235,   231,   232,   233,     0,    16,
377        0,     0,    72,    64,    65,    78,    62,    63,    66,    67,
378        0,   228,   130,   224,    95,    90,    92,     0,   210,   113,
379        0,   157,   219,    93,     0,     0,     0,   121,   127,     0,
380        0,     0,   190,   191,   192,   241,   125,     0,   189,   193,
381      226,   187,     0,   119,     0,   180,     0,   181,     0,    14,
382       16,    28,    88,    16,    16,    33,     0,     0,    77,     0,
383        0,    79,     0,     0,   230,     0,    16,    75,    80,     0,
384        0,    61,     0,     0,     0,   111,     0,     0,   115,     0,
385        0,    91,   159,   107,   131,     0,   124,   167,     0,   120,
386      126,     0,   122,   182,   183,   118,     0,    90,     0,    53,
387      224,    73,    73,     0,     0,     0,    48,     0,     0,    43,
388        0,     0,     0,   229,   212,    96,    19,   129,   123,   108,
389        0,     0,    90,    19,     0,     0,     0,    18,    68,    68,
390        0,     0,     0,    71,    76,     0,    38,    39,     0,    21,
391       98,    97,    30,     0,     0,    35,    71,    71,    19,     0,
392        0,    36,    37,     0,     0,     0,    51,     0,    71,   160,
393        0,    19,    54,    41,    42,     0,    69,     0,    71,     0,
394       71,    44,    47,    58,     0,    22,     0,    17,     0,    46,
395        0,    50,    73,    19,    57,    15,    32,     0,    71,     0,
396        0,    68,    49,     0,    59,    70,     0,    45
397 };
398
399 /* YYDEFGOTO[NTERM-NUM].  */
400 static const yytype_int16 yydefgoto[] =
401 {
402       -1,     7,     8,     9,    10,    11,    12,    13,    94,   361,
403       15,   438,   458,   102,   470,   220,   100,   101,   362,   363,
404      295,   444,   492,   441,   433,   485,   494,    96,   461,   210,
405      435,   378,   367,   314,   370,   380,   292,   197,   121,   194,
406      141,   230,   327,   243,   325,   389,   452,    97,    58,    59,
407      323,   279,    60,    61,    62,    63,    64,    65,   117,    66,
408      144,   131,    67,   387,   373,   302,   303,    68,    69,    70,
409       71,    72,    73,    74,    75,    76,   157
410 };
411
412 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
413    STATE-NUM.  */
414 #define YYPACT_NINF -400
415 static const yytype_int16 yypact[] =
416 {
417      565,  -400,  -400,  -400,  -400,  -400,  -400,    73,  -400,  2699,
418       69,  1486,  1389,  -400,  -400,  -400,  1955,  2699,  2699,    49,
419       49,    49,  -400,    49,    49,  -400,  -400,    76,    -8,  -400,
420     2699,  -400,  -400,  -400,  2699,  -400,    -3,     8,    11,  1862,
421     1767,    49,  1862,  2048,    22,  2699,     1,  2699,  2699,  2699,
422     2699,  2699,  2699,  2699,  2141,    49,    49,   -19,    14,  -400,
423        9,  -400,  -400,  -400,  -400,  2770,  -400,  -400,    24,    68,
424       72,   106,  -400,   105,   118,   165,   109,  -400,  -400,  -400,
425     -400,  -400,    22,   111,  -400,    39,    50,    62,    65,   -14,
426       77,    95,    69,  -400,    87,  -400,    48,   506,  1389,  -400,
427     -400,  -400,   612,   710,  -400,    70,   490,   490,  -400,  -400,
428     -400,  -400,  -400,  -400,  -400,  2699,    96,   101,  2699,   107,
429      410,    69,    16,  2770,   120,  2234,  1767,  -400,   410,   516,
430       14,  -400,   440,  2699,  -400,  -400,   410,   159,    93,  -400,
431     -400,  2699,   410,  2327,   136,  -400,  -400,  -400,   410,    14,
432      490,   490,   490,   258,   258,   210,   152,  -400,  -400,  2699,
433     2699,  2699,  2699,  2699,  2699,  2420,  2699,  2699,  2699,  2699,
434     2699,  2699,  2699,  2699,  2699,  2699,  2699,  2699,  2699,  2699,
435     2699,  -400,  -400,  -400,   131,  2513,  2699,  2699,  2699,  2699,
436     2699,  2699,  2699,  -400,   200,  -400,   223,  -400,  -400,  -400,
437     -400,  -400,  -400,    55,  -400,   146,  -400,  -400,  -400,    69,
438     -400,  -400,  2699,  2699,  2699,  2699,  2699,  2699,  -400,  -400,
439     -400,  -400,  -400,  2699,  2699,    98,  -400,  -400,  -400,   148,
440      160,  -400,  -400,   163,   150,  2699,    14,  -400,   240,  -400,
441     -400,   293,   232,  -400,  2699,   245,   192,   192,  -400,  2770,
442      209,   125,  -400,   531,  1567,  2033,   371,   695,   203,  2770,
443     2725,  1658,  1658,  1752,  1847,  1940,   278,   490,   490,  2699,
444     2699,   170,   172,   182,  -400,   183,  2606,    32,   184,   168,
445     -400,  -400,   597,   249,   129,   273,   141,   436,   149,   486,
446      807,  -400,   252,   189,    -6,   279,  2699,  2699,  2699,  2699,
447      198,  -400,  -400,   202,  -400,  -400,  -400,  -400,  1579,  -400,
448     2699,  2699,  -400,   -19,  -400,   -19,   -19,   -19,   -19,   -19,
449      208,   -29,  -400,  2699,  -400,   160,   285,    69,  -400,  -400,
450      617,  -400,  -400,  -400,   167,  2699,   299,  -400,  -400,  2699,
451      582,   179,  -400,  -400,  -400,  -400,  -400,   630,  -400,  -400,
452     2699,  -400,   306,  -400,   308,  -400,   319,  -400,   332,  -400,
453     -400,  -400,   320,  -400,  -400,  -400,   329,   259,   -19,   263,
454      264,   -19,   270,   257,  -400,    21,  -400,  -400,  -400,   280,
455      282,   286,  2699,   281,   287,  -400,  2699,   288,  -400,   289,
456      381,  -400,  -400,  -400,  -400,   185,  -400,  2815,   398,  -400,
457     -400,   292,  -400,  -400,  -400,  -400,   314,   160,   148,  -400,
458     2699,  -400,  -400,   408,   408,  2699,  -400,  2699,   408,  -400,
459      321,   408,   408,   -19,  -400,  -400,  -400,  -400,  -400,  -400,
460      350,     6,   160,  -400,   322,   408,   408,  -400,    18,    18,
461      325,   328,   334,    87,  2699,   408,  -400,  -400,   904,  -400,
462     -400,  -400,  -400,   425,  1001,  -400,    87,    87,  -400,   408,
463      336,  -400,  -400,   408,  2699,   408,  -400,   340,    87,  -400,
464        3,  -400,  -400,  -400,  -400,  1098,  -400,  2699,    87,   338,
465       87,  -400,  -400,   372,   426,  -400,  1195,  -400,   345,  -400,
466      408,  -400,  -400,  -400,  -400,  -400,  -400,   408,    87,  1672,
467     1292,    18,  -400,   347,  -400,  -400,   408,  -400
468 };
469
470 /* YYPGOTO[NTERM-NUM].  */
471 static const yytype_int16 yypgoto[] =
472 {
473     -400,  -400,  -400,  -400,  -400,  -400,  -400,  -400,     4,  -400,
474      113,   -81,  -400,   -15,  -400,   435,   355,    -9,  -400,  -400,
475     -400,  -400,  -400,  -400,  -400,  -400,  -400,  -307,  -399,   -30,
476     -380,  -400,    17,   157,  -289,   -44,  -400,   265,   429,  -400,
477      385,   112,  -313,  -400,    67,  -400,  -400,    -5,   -35,  -400,
478     -400,  -400,  -400,  -400,  -400,  -400,  -400,   227,  -400,  -400,
479     -400,  -106,  -118,  -400,  -400,   108,  -400,   284,    44,   -40,
480      -39,  -400,  -400,  -400,  -400,  -400,    10
481 };
482
483 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
484    positive, shift that token.  If negative, reduce the rule which
485    number is the opposite.  If YYTABLE_NINF, syntax error.  */
486 #define YYTABLE_NINF -248
487 static const yytype_int16 yytable[] =
488 {
489      103,   377,    95,   364,    57,   130,   146,   147,   234,   222,
490      372,   105,   390,   149,    78,    77,    19,    20,   163,   379,
491      164,   383,   384,   110,   110,   110,   483,   110,   110,   112,
492      113,   114,   436,   115,   116,   239,    19,    20,   138,   228,
493      462,    77,   139,   127,   110,   110,   135,   140,   162,   156,
494      133,   134,   108,   202,   159,   160,   161,   109,    77,   110,
495      110,   459,   460,   111,   111,   111,   158,   111,   111,   108,
496       19,    20,    21,    14,   109,   386,   203,   186,    77,   187,
497      130,  -243,   221,  -243,   132,   111,   204,   118,    55,   219,
498      145,   162,   119,   420,   431,   365,   208,   124,   236,   111,
499      111,   143,   505,    55,   484,   320,   130,   450,   125,   165,
500      322,   126,   499,   225,  -247,  -245,   -16,  -245,   192,   453,
501      233,    57,   301,    55,   185,   227,   440,   188,   442,   189,
502      110,   196,   209,   205,    55,   348,   235,   337,   241,   198,
503      269,   353,   270,   159,   160,   161,   271,   272,   273,   211,
504      199,    55,   274,   355,   246,   247,   248,    55,   250,   251,
505      253,   357,   200,   306,   307,   201,   159,   160,   161,   237,
506      132,   159,   160,   161,   190,   479,   191,   206,   290,   394,
507      282,   283,   284,   285,   286,   287,   288,   289,   488,   321,
508      193,   399,   377,   275,   238,   207,   223,   427,   159,   160,
509      161,   224,   159,   160,   161,   242,   226,   313,   315,   316,
510      317,   318,   319,   312,   159,   160,   161,   388,    57,   231,
511      291,   244,   159,   160,   161,   159,   160,   161,   280,   326,
512      330,   276,   401,   277,   278,   229,   159,   160,   161,   334,
513      159,   160,   161,   294,   106,   107,   309,   305,   324,   329,
514      331,   245,   159,   160,   161,   333,   335,   120,   159,   160,
515      161,   123,   328,   169,   340,   341,   128,   161,   350,   136,
516      360,   347,   142,   342,   148,   343,   150,   151,   152,   153,
517      154,   110,   159,   160,   161,   344,   345,   349,   130,   -31,
518      179,   368,   315,   371,   371,   180,   181,   182,   183,   366,
519       55,   184,   376,   381,   434,   371,   371,   385,   391,   396,
520      336,   296,   297,   298,   299,   300,   402,   308,   403,   310,
521      311,   111,   159,   160,   161,   212,   213,   214,   215,   404,
522      395,   392,   216,   439,   217,   306,   307,   443,   169,   170,
523      446,   447,   405,   228,   374,    57,   159,   160,   161,   410,
524      352,  -248,  -248,  -248,   456,   457,   184,   415,   411,   159,
525      160,   161,   412,   413,   468,   179,   159,   160,   161,   414,
526      180,   181,   182,   183,   354,   130,   184,   371,   476,   418,
527      421,   423,   478,   419,   480,   -79,   422,   424,   425,   249,
528      426,   429,   332,   254,   255,   256,   257,   258,   259,   260,
529      261,   262,   263,   264,   265,   266,   267,   268,   428,   498,
530      371,   448,   371,   466,   375,   430,   501,   437,   454,   305,
531      445,   449,   382,   455,   463,   507,   473,   474,   464,   167,
532     -248,   169,   170,   465,   471,   451,   477,   490,   482,   368,
533     -174,   481,   493,   475,   497,   495,   506,    99,   489,   186,
534      491,   187,  -174,   218,   369,   503,   486,   178,   179,   371,
535      293,   467,   122,   180,   181,   182,   183,   195,   502,   184,
536      169,   170,   371,   406,   407,   432,   408,   409,   500,  -174,
537     -174,  -174,  -174,   416,     0,     0,  -174,   304,  -174,   417,
538        0,  -174,     0,     0,     0,     0,   178,   179,  -174,  -174,
539     -174,  -174,   180,   181,   182,   183,     0,     0,   184,   159,
540      160,   161,     0,  -174,  -174,  -174,  -213,  -174,  -174,  -174,
541     -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,  -213,     0,
542        0,     0,  -174,  -174,  -174,  -174,     0,   356,  -174,  -174,
543        0,  -174,     0,     0,  -174,   212,   213,   214,   215,     0,
544        0,     0,   216,     0,   217,  -213,  -213,  -213,  -213,   159,
545      160,   161,  -213,     0,  -213,     0,   397,  -213,     1,     2,
546        3,     4,     5,     6,  -213,  -213,  -213,  -213,     0,   159,
547      160,   161,   180,   181,   182,   183,     0,   358,   184,  -213,
548     -213,  -213,     0,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
549     -213,  -213,  -213,  -213,   159,   160,   161,     0,  -213,  -213,
550     -213,  -213,   -13,    79,  -213,  -213,     0,  -213,     0,     0,
551     -213,    77,     0,    16,     0,    17,    18,    19,    20,    21,
552      338,     0,    22,    23,    24,    25,    26,     0,    27,    28,
553       29,    30,    31,    32,    80,    98,    81,    82,    33,    83,
554       84,    85,    86,    87,    88,   159,   160,   161,    89,    90,
555       91,    92,    34,     0,    35,    36,    37,    38,    39,    40,
556      159,   160,   161,     0,    41,    42,    43,    44,    45,    46,
557       47,     0,     0,   398,     0,     0,     0,     0,    48,     0,
558      159,   160,   161,     0,     0,     0,   351,     0,     0,     0,
559       49,    50,    51,   159,   160,   161,     0,     0,    52,    53,
560       -3,    79,    54,    93,    55,    56,   393,     0,     0,    77,
561        0,    16,     0,    17,    18,    19,    20,    21,     0,   400,
562       22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
563       31,    32,    80,    98,    81,    82,    33,    83,    84,    85,
564       86,    87,    88,     0,     0,     0,    89,    90,    91,    92,
565       34,     0,    35,    36,    37,    38,    39,    40,     0,     0,
566        0,     0,    41,    42,    43,    44,    45,    46,    47,     0,
567        0,     0,   179,     0,     0,     0,    48,   180,   181,   182,
568      183,     0,     0,   184,     0,     0,     0,     0,    49,    50,
569       51,     0,     0,     0,     0,     0,    52,    53,    79,     0,
570       54,    93,    55,    56,     0,     0,    77,   359,    16,     0,
571       17,    18,    19,    20,    21,     0,     0,    22,    23,    24,
572       25,    26,     0,    27,    28,    29,    30,    31,    32,    80,
573       98,    81,    82,    33,    83,    84,    85,    86,    87,    88,
574        0,     0,     0,    89,    90,    91,    92,    34,     0,    35,
575       36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
576       42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
577        0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,    49,    50,    51,     0,     0,
579        0,     0,     0,    52,    53,    79,     0,    54,    93,    55,
580       56,     0,     0,    77,   469,    16,     0,    17,    18,    19,
581       20,    21,     0,     0,    22,    23,    24,    25,    26,     0,
582       27,    28,    29,    30,    31,    32,    80,    98,    81,    82,
583       33,    83,    84,    85,    86,    87,    88,     0,     0,     0,
584       89,    90,    91,    92,    34,     0,    35,    36,    37,    38,
585       39,    40,     0,     0,     0,     0,    41,    42,    43,    44,
586       45,    46,    47,     0,     0,     0,     0,     0,     0,     0,
587       48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
588        0,     0,    49,    50,    51,     0,     0,     0,     0,     0,
589       52,    53,    79,     0,    54,    93,    55,    56,     0,     0,
590       77,   472,    16,     0,    17,    18,    19,    20,    21,     0,
591        0,    22,    23,    24,    25,    26,     0,    27,    28,    29,
592       30,    31,    32,    80,    98,    81,    82,    33,    83,    84,
593       85,    86,    87,    88,     0,     0,     0,    89,    90,    91,
594       92,    34,     0,    35,    36,    37,    38,    39,    40,     0,
595        0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
596        0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
597        0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
598       50,    51,     0,     0,     0,     0,     0,    52,    53,    79,
599        0,    54,    93,    55,    56,     0,     0,    77,   487,    16,
600        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
601       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
602       80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
603       88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
604       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
605       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
606        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
607        0,     0,     0,     0,     0,     0,    49,    50,    51,     0,
608        0,     0,     0,     0,    52,    53,    79,     0,    54,    93,
609       55,    56,     0,     0,    77,   496,    16,     0,    17,    18,
610       19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
611        0,    27,    28,    29,    30,    31,    32,    80,    98,    81,
612       82,    33,    83,    84,    85,    86,    87,    88,     0,     0,
613        0,    89,    90,    91,    92,    34,     0,    35,    36,    37,
614       38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
615       44,    45,    46,    47,     0,     0,     0,     0,     0,     0,
616        0,    48,     0,     0,     0,     0,     0,     0,     0,     0,
617        0,     0,     0,    49,    50,    51,     0,     0,     0,     0,
618        0,    52,    53,    79,     0,    54,    93,    55,    56,     0,
619        0,    77,     0,    16,     0,    17,    18,    19,    20,    21,
620        0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
621       29,    30,    31,    32,    80,    98,    81,    82,    33,    83,
622       84,    85,    86,    87,    88,     0,     0,     0,    89,    90,
623       91,    92,    34,     0,    35,    36,    37,    38,    39,    40,
624        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
625       47,     0,     0,   504,     0,     0,     0,     0,    48,     0,
626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
627       49,    50,    51,     0,     0,     0,     0,     0,    52,    53,
628       79,     0,    54,    93,    55,    56,     0,     0,    77,     0,
629       16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
630       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
631       32,    80,    98,    81,    82,    33,    83,    84,    85,    86,
632       87,    88,     0,     0,     0,    89,    90,    91,    92,    34,
633        0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
634        0,    41,    42,    43,    44,    45,    46,    47,     0,     0,
635        0,     0,     0,     0,     0,    48,     0,     0,     0,     0,
636        0,     0,     0,     0,     0,     0,     0,    49,    50,    51,
637        0,     0,     0,     0,     0,    52,    53,    79,     0,    54,
638       93,    55,    56,     0,     0,    77,     0,    16,     0,    17,
639       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
640       26,     0,    27,    28,    29,    30,    31,    32,    80,     0,
641       81,    82,    33,    83,    84,    85,    86,    87,    88,     0,
642        0,     0,    89,    90,    91,    92,    34,     0,    35,    36,
643       37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
644       43,    44,    45,    46,    47,     0,     0,     0,     0,     0,
645        0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
646        0,     0,     0,     0,    49,    50,    51,     0,     0,     0,
647       79,     0,    52,    53,     0,     0,    54,    93,    55,    56,
648       16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
649       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
650       32,     0,     0,     0,     0,    33,     0,     0,  -248,     0,
651        0,     0,     0,     0,     0,   167,   168,   169,   170,    34,
652        0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
653        0,    41,    42,    43,    44,    45,    46,    47,   173,   174,
654      175,   176,   177,   178,   179,    48,     0,     0,     0,   180,
655      181,   182,   183,     0,     0,   184,     0,    49,    50,    51,
656        0,     0,     0,    79,     0,    52,    53,     0,     0,    54,
657      -74,    55,    56,    16,     0,    17,    18,    19,    20,    21,
658        0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
659       29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
660        0,     0,     0,     0,     0,     0,   167,   168,   169,   170,
661        0,     0,    34,     0,    35,    36,    37,    38,    39,    40,
662        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
663       47,   175,   176,   177,   178,   179,     0,     0,    48,     0,
664      180,   181,   182,   183,     0,     0,   184,     0,     0,     0,
665       49,    50,    51,     0,     0,     0,     0,     0,    52,    53,
666        0,   -74,    54,     0,    55,    56,    77,     0,    16,     0,
667       17,    18,    19,    20,    21,     0,     0,   129,    23,    24,
668       25,    26,   109,    27,    28,    29,    30,    31,    32,     0,
669        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
670      167,   168,   169,   170,     0,     0,     0,    34,     0,    35,
671       36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
672       42,    43,    44,    45,    46,    47,   176,   177,   178,   179,
673        0,     0,     0,    48,   180,   181,   182,   183,     0,     0,
674      184,     0,     0,     0,     0,    49,    50,    51,     0,     0,
675        0,     0,     0,    52,    53,     0,     0,    54,     0,    55,
676       56,    77,     0,    16,     0,    17,    18,    19,    20,    21,
677        0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
678       29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
679        0,     0,     0,     0,     0,   167,   168,   169,   170,     0,
680        0,     0,    34,     0,    35,    36,    37,    38,    39,    40,
681        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
682       47,     0,   177,   178,   179,     0,     0,     0,    48,   180,
683      181,   182,   183,     0,     0,   184,     0,     0,     0,     0,
684       49,    50,    51,     0,     0,     0,     0,     0,    52,    53,
685        0,     0,    54,     0,    55,    56,    16,   104,    17,    18,
686       19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
687        0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
688        0,    33,     0,     0,     0,     0,     0,     0,   167,   168,
689      169,   170,     0,     0,     0,    34,     0,    35,    36,    37,
690       38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
691       44,    45,    46,    47,     0,     0,   178,   179,     0,     0,
692        0,    48,   180,   181,   182,   183,     0,     0,   184,     0,
693        0,     0,     0,    49,    50,    51,     0,     0,     0,     0,
694        0,    52,    53,     0,     0,    54,     0,    55,    56,    16,
695        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
696       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
697        0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
698        0,  -248,     0,   169,   170,     0,     0,     0,    34,     0,
699       35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
700       41,    42,    43,    44,    45,    46,    47,     0,     0,   178,
701      179,     0,     0,     0,    48,   180,   181,   182,   183,     0,
702        0,   184,     0,     0,     0,     0,    49,    50,    51,     0,
703        0,     0,     0,     0,    52,    53,     0,     0,    54,   137,
704       55,    56,    16,     0,    17,    18,    19,    20,    21,     0,
705        0,    22,    23,    24,    25,    26,     0,    27,    28,    29,
706       30,    31,    32,     0,     0,     0,     0,    33,     0,     0,
707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
708        0,    34,     0,    35,    36,    37,    38,    39,    40,     0,
709        0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
710        0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
711        0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
712       50,    51,     0,     0,     0,     0,     0,    52,    53,     0,
713      155,    54,     0,    55,    56,    16,     0,    17,    18,    19,
714       20,    21,     0,     0,    22,    23,    24,    25,    26,     0,
715       27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
716       33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
717        0,     0,     0,     0,    34,     0,    35,    36,    37,    38,
718       39,    40,     0,     0,     0,     0,    41,    42,    43,    44,
719       45,    46,    47,     0,     0,     0,     0,     0,     0,     0,
720       48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
721        0,     0,    49,    50,    51,     0,     0,     0,     0,     0,
722       52,    53,     0,   232,    54,     0,    55,    56,    16,     0,
723       17,    18,    19,    20,    21,     0,     0,    22,    23,    24,
724       25,    26,     0,    27,    28,    29,    30,    31,    32,     0,
725        0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
726        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
727       36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
728       42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
729        0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
730        0,     0,     0,     0,     0,    49,    50,    51,     0,     0,
731        0,     0,     0,    52,    53,     0,   240,    54,     0,    55,
732       56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
733       22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
734       31,    32,     0,     0,     0,     0,    33,     0,     0,     0,
735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
736       34,     0,    35,    36,    37,    38,    39,    40,     0,     0,
737        0,     0,    41,    42,    43,    44,    45,    46,    47,     0,
738        0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
739        0,     0,     0,     0,     0,     0,     0,     0,    49,    50,
740       51,     0,     0,     0,     0,     0,    52,    53,     0,   252,
741       54,     0,    55,    56,    16,     0,    17,    18,    19,    20,
742       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
743       28,    29,    30,    31,    32,     0,     0,     0,     0,    33,
744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
745        0,     0,     0,    34,     0,    35,    36,    37,    38,    39,
746       40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
747       46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
749        0,    49,    50,    51,     0,     0,     0,     0,     0,    52,
750       53,     0,   281,    54,     0,    55,    56,    16,     0,    17,
751       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
752       26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
753        0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
754        0,     0,     0,     0,     0,     0,    34,     0,    35,    36,
755       37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
756       43,    44,    45,    46,    47,     0,     0,     0,     0,     0,
757        0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
758        0,     0,     0,     0,    49,    50,    51,     0,     0,     0,
759        0,     0,    52,    53,     0,   346,    54,     0,    55,    56,
760       16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
761       23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
762       32,     0,     0,     0,     0,    33,     0,     0,     0,     0,
763        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
764        0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
765        0,    41,    42,    43,    44,    45,    46,    47,     0,     0,
766        0,     0,     0,     0,     0,    48,   166,     0,     0,     0,
767        0,     0,     0,   167,   168,   169,   170,    49,    50,    51,
768        0,     0,     0,     0,     0,    52,    53,     0,     0,    54,
769        0,    55,    56,   171,   172,   339,   173,   174,   175,   176,
770      177,   178,   179,     0,     0,     0,     0,   180,   181,   182,
771      183,   166,     0,   184,     0,     0,     0,     0,   167,   168,
772      169,   170,     0,     0,     0,     0,     0,     0,     0,     0,
773        0,     0,     0,     0,     0,     0,     0,     0,   171,   172,
774        0,   173,   174,   175,   176,   177,   178,   179,     0,     0,
775        0,     0,   180,   181,   182,   183,   166,     0,   184,     0,
776        0,     0,     0,   167,   168,   169,   170,     0,     0,     0,
777        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
778        0,     0,     0,     0,   172,     0,   173,   174,   175,   176,
779      177,   178,   179,     0,     0,     0,     0,   180,   181,   182,
780      183,     0,     0,   184
781 };
782
783 #define yypact_value_is_default(Yystate) \
784   (!!((Yystate) == (-400)))
785
786 #define yytable_value_is_error(Yytable_value) \
787   (!!((Yytable_value) == (-248)))
788
789 static const yytype_int16 yycheck[] =
790 {
791       15,   308,    11,     9,     9,    40,    46,    46,   126,   115,
792      299,    16,   325,    48,    10,     9,    15,    16,     9,   308,
793       11,   310,   311,    19,    20,    21,    23,    23,    24,    19,
794       20,    21,   412,    23,    24,   141,    15,    16,    43,    23,
795      439,     9,    20,    39,    40,    41,    42,    25,    77,    54,
796       40,    41,    20,    67,    73,    74,    75,    25,     9,    55,
797       56,    43,    44,    19,    20,    21,    56,    23,    24,    20,
798       15,    16,    17,     0,    25,   104,    90,     9,     9,    11,
799      115,     9,    12,    11,    40,    41,   100,    11,   102,    98,
800       46,    77,   100,   382,   407,   101,    92,   100,   133,    55,
801       56,   100,   501,   102,   101,   223,   141,   101,   100,   100,
802       12,   100,   492,   118,     9,     9,   100,    11,     9,   432,
803      125,   126,    67,   102,   100,   121,   415,     9,   417,    11,
804      126,    20,    45,    89,   102,   103,   126,    12,   143,   100,
805        9,    12,    11,    73,    74,    75,    15,    16,    17,   101,
806      100,   102,    21,    12,   159,   160,   161,   102,   163,   164,
807      165,    12,   100,   203,   203,   100,    73,    74,    75,    10,
808      126,    73,    74,    75,     9,   464,    11,   100,   193,    12,
809      185,   186,   187,   188,   189,   190,   191,   192,   477,   224,
810       77,    12,   499,    62,   101,   100,   100,    12,    73,    74,
811       75,   100,    73,    74,    75,    69,    99,   212,   213,   214,
812      215,   216,   217,   209,    73,    74,    75,   323,   223,    99,
813       20,    11,    73,    74,    75,    73,    74,    75,   184,    69,
814      235,   100,   350,   102,   103,   122,    73,    74,    75,   244,
815       73,    74,    75,    20,    17,    18,   100,   203,   100,    99,
816       10,    99,    73,    74,    75,    23,    11,    30,    73,    74,
817       75,    34,    99,    60,   269,   270,    39,    75,   100,    42,
818       18,   276,    45,   103,    47,   103,    49,    50,    51,    52,
819       53,   277,    73,    74,    75,   103,   103,   103,   323,   100,
820       87,   296,   297,   298,   299,    92,    93,    94,    95,    20,
821      102,    98,   100,   308,   410,   310,   311,    99,    23,    10,
822      101,   198,   199,   200,   201,   202,    10,   204,    10,   206,
823      207,   277,    73,    74,    75,    39,    40,    41,    42,    10,
824      335,   327,    46,   414,    48,   375,   375,   418,    60,    61,
825      421,   422,    10,    23,   300,   350,    73,    74,    75,    20,
826      101,    93,    94,    95,   435,   436,    98,   100,    99,    73,
827       74,    75,    99,    99,   445,    87,    73,    74,    75,    99,
828       92,    93,    94,    95,   101,   410,    98,   382,   459,    99,
829       99,   386,   463,   101,   465,    99,    99,    99,    99,   162,
830        9,    99,    99,   166,   167,   168,   169,   170,   171,   172,
831      173,   174,   175,   176,   177,   178,   179,   180,    10,   490,
832      415,   426,   417,   443,   301,   101,   497,     9,   433,   375,
833       99,    71,   309,   101,    99,   506,   456,   457,   100,    58,
834       59,    60,    61,    99,     9,   431,   100,    99,   468,   444,
835        0,   101,    70,   458,    99,    19,    99,    12,   478,     9,
836      480,    11,    12,    98,   297,   499,   471,    86,    87,   464,
837      195,   444,    33,    92,    93,    94,    95,    82,   498,    98,
838       60,    61,   477,   360,   362,   408,   363,   364,   493,    39,
839       40,    41,    42,   375,    -1,    -1,    46,   203,    48,   376,
840       -1,    51,    -1,    -1,    -1,    -1,    86,    87,    58,    59,
841       60,    61,    92,    93,    94,    95,    -1,    -1,    98,    73,
842       74,    75,    -1,    73,    74,    75,     0,    77,    78,    79,
843       80,    81,    82,    83,    84,    85,    86,    87,    12,    -1,
844       -1,    -1,    92,    93,    94,    95,    -1,   101,    98,    99,
845       -1,   101,    -1,    -1,   104,    39,    40,    41,    42,    -1,
846       -1,    -1,    46,    -1,    48,    39,    40,    41,    42,    73,
847       74,    75,    46,    -1,    48,    -1,   339,    51,     3,     4,
848        5,     6,     7,     8,    58,    59,    60,    61,    -1,    73,
849       74,    75,    92,    93,    94,    95,    -1,   101,    98,    73,
850       74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
851       84,    85,    86,    87,    73,    74,    75,    -1,    92,    93,
852       94,    95,     0,     1,    98,    99,    -1,   101,    -1,    -1,
853      104,     9,    -1,    11,    -1,    13,    14,    15,    16,    17,
854       99,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
855       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
856       38,    39,    40,    41,    42,    73,    74,    75,    46,    47,
857       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
858       73,    74,    75,    -1,    62,    63,    64,    65,    66,    67,
859       68,    -1,    -1,   101,    -1,    -1,    -1,    -1,    76,    -1,
860       73,    74,    75,    -1,    -1,    -1,    99,    -1,    -1,    -1,
861       88,    89,    90,    73,    74,    75,    -1,    -1,    96,    97,
862        0,     1,   100,   101,   102,   103,    99,    -1,    -1,     9,
863       -1,    11,    -1,    13,    14,    15,    16,    17,    -1,    99,
864       20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
865       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
866       40,    41,    42,    -1,    -1,    -1,    46,    47,    48,    49,
867       50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
868       -1,    -1,    62,    63,    64,    65,    66,    67,    68,    -1,
869       -1,    -1,    87,    -1,    -1,    -1,    76,    92,    93,    94,
870       95,    -1,    -1,    98,    -1,    -1,    -1,    -1,    88,    89,
871       90,    -1,    -1,    -1,    -1,    -1,    96,    97,     1,    -1,
872      100,   101,   102,   103,    -1,    -1,     9,    10,    11,    -1,
873       13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
874       23,    24,    -1,    26,    27,    28,    29,    30,    31,    32,
875       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
876       -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,    52,
877       53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
878       63,    64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,
879       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
880       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
881       -1,    -1,    -1,    96,    97,     1,    -1,   100,   101,   102,
882      103,    -1,    -1,     9,    10,    11,    -1,    13,    14,    15,
883       16,    17,    -1,    -1,    20,    21,    22,    23,    24,    -1,
884       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
885       36,    37,    38,    39,    40,    41,    42,    -1,    -1,    -1,
886       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
887       56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
888       66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
889       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
890       -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
891       96,    97,     1,    -1,   100,   101,   102,   103,    -1,    -1,
892        9,    10,    11,    -1,    13,    14,    15,    16,    17,    -1,
893       -1,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
894       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
895       39,    40,    41,    42,    -1,    -1,    -1,    46,    47,    48,
896       49,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
897       -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
900       89,    90,    -1,    -1,    -1,    -1,    -1,    96,    97,     1,
901       -1,   100,   101,   102,   103,    -1,    -1,     9,    10,    11,
902       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
903       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
904       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
905       42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
906       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
907       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
908       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
909       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,
910       -1,    -1,    -1,    -1,    96,    97,     1,    -1,   100,   101,
911      102,   103,    -1,    -1,     9,    10,    11,    -1,    13,    14,
912       15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
913       -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
914       35,    36,    37,    38,    39,    40,    41,    42,    -1,    -1,
915       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
916       55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,
917       65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,
918       -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
919       -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,
920       -1,    96,    97,     1,    -1,   100,   101,   102,   103,    -1,
921       -1,     9,    -1,    11,    -1,    13,    14,    15,    16,    17,
922       -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
923       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
924       38,    39,    40,    41,    42,    -1,    -1,    -1,    46,    47,
925       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
926       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
927       68,    -1,    -1,    71,    -1,    -1,    -1,    -1,    76,    -1,
928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
929       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    96,    97,
930        1,    -1,   100,   101,   102,   103,    -1,    -1,     9,    -1,
931       11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
932       21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
933       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
934       41,    42,    -1,    -1,    -1,    46,    47,    48,    49,    50,
935       -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
936       -1,    62,    63,    64,    65,    66,    67,    68,    -1,    -1,
937       -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,
938       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
939       -1,    -1,    -1,    -1,    -1,    96,    97,     1,    -1,   100,
940      101,   102,   103,    -1,    -1,     9,    -1,    11,    -1,    13,
941       14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
942       24,    -1,    26,    27,    28,    29,    30,    31,    32,    -1,
943       34,    35,    36,    37,    38,    39,    40,    41,    42,    -1,
944       -1,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
945       54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
946       64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,
947       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
948       -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,
949        1,    -1,    96,    97,    -1,    -1,   100,   101,   102,   103,
950       11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
951       21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
952       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    51,    -1,
953       -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,    50,
954       -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
955       -1,    62,    63,    64,    65,    66,    67,    68,    81,    82,
956       83,    84,    85,    86,    87,    76,    -1,    -1,    -1,    92,
957       93,    94,    95,    -1,    -1,    98,    -1,    88,    89,    90,
958       -1,    -1,    -1,     1,    -1,    96,    97,    -1,    -1,   100,
959      101,   102,   103,    11,    -1,    13,    14,    15,    16,    17,
960       -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
961       28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
962       -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,
963       -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
964       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
965       68,    83,    84,    85,    86,    87,    -1,    -1,    76,    -1,
966       92,    93,    94,    95,    -1,    -1,    98,    -1,    -1,    -1,
967       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    96,    97,
968       -1,    99,   100,    -1,   102,   103,     9,    -1,    11,    -1,
969       13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
970       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
971       -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
972       58,    59,    60,    61,    -1,    -1,    -1,    50,    -1,    52,
973       53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
974       63,    64,    65,    66,    67,    68,    84,    85,    86,    87,
975       -1,    -1,    -1,    76,    92,    93,    94,    95,    -1,    -1,
976       98,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
977       -1,    -1,    -1,    96,    97,    -1,    -1,   100,    -1,   102,
978      103,     9,    -1,    11,    -1,    13,    14,    15,    16,    17,
979       -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
980       28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
981       -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,    -1,
982       -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
983       -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
984       68,    -1,    85,    86,    87,    -1,    -1,    -1,    76,    92,
985       93,    94,    95,    -1,    -1,    98,    -1,    -1,    -1,    -1,
986       88,    89,    90,    -1,    -1,    -1,    -1,    -1,    96,    97,
987       -1,    -1,   100,    -1,   102,   103,    11,    12,    13,    14,
988       15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
989       -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
990       -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
991       60,    61,    -1,    -1,    -1,    50,    -1,    52,    53,    54,
992       55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,
993       65,    66,    67,    68,    -1,    -1,    86,    87,    -1,    -1,
994       -1,    76,    92,    93,    94,    95,    -1,    -1,    98,    -1,
995       -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,
996       -1,    96,    97,    -1,    -1,   100,    -1,   102,   103,    11,
997       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
998       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
999       -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
1000       -1,    58,    -1,    60,    61,    -1,    -1,    -1,    50,    -1,
1001       52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
1002       62,    63,    64,    65,    66,    67,    68,    -1,    -1,    86,
1003       87,    -1,    -1,    -1,    76,    92,    93,    94,    95,    -1,
1004       -1,    98,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,
1005       -1,    -1,    -1,    -1,    96,    97,    -1,    -1,   100,   101,
1006      102,   103,    11,    -1,    13,    14,    15,    16,    17,    -1,
1007       -1,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
1008       29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
1009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1010       -1,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
1011       -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
1012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
1013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
1014       89,    90,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,
1015       99,   100,    -1,   102,   103,    11,    -1,    13,    14,    15,
1016       16,    17,    -1,    -1,    20,    21,    22,    23,    24,    -1,
1017       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
1018       36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1019       -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,
1020       56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
1021       66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1022       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1023       -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,
1024       96,    97,    -1,    99,   100,    -1,   102,   103,    11,    -1,
1025       13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
1026       23,    24,    -1,    26,    27,    28,    29,    30,    31,    -1,
1027       -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
1028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,
1029       53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
1030       63,    64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,
1031       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
1032       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
1033       -1,    -1,    -1,    96,    97,    -1,    99,   100,    -1,   102,
1034      103,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
1035       20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
1036       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
1037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1038       50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
1039       -1,    -1,    62,    63,    64,    65,    66,    67,    68,    -1,
1040       -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
1041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
1042       90,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
1043      100,    -1,   102,   103,    11,    -1,    13,    14,    15,    16,
1044       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
1045       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
1046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1047       -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,    56,
1048       57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
1049       67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
1050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1051       -1,    88,    89,    90,    -1,    -1,    -1,    -1,    -1,    96,
1052       97,    -1,    99,   100,    -1,   102,   103,    11,    -1,    13,
1053       14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
1054       24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
1055       -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1056       -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
1057       54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
1058       64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,
1059       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1060       -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,
1061       -1,    -1,    96,    97,    -1,    99,   100,    -1,   102,   103,
1062       11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
1063       21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
1064       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
1065       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
1066       -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
1067       -1,    62,    63,    64,    65,    66,    67,    68,    -1,    -1,
1068       -1,    -1,    -1,    -1,    -1,    76,    51,    -1,    -1,    -1,
1069       -1,    -1,    -1,    58,    59,    60,    61,    88,    89,    90,
1070       -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    -1,   100,
1071       -1,   102,   103,    78,    79,    80,    81,    82,    83,    84,
1072       85,    86,    87,    -1,    -1,    -1,    -1,    92,    93,    94,
1073       95,    51,    -1,    98,    -1,    -1,    -1,    -1,    58,    59,
1074       60,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    79,
1076       -1,    81,    82,    83,    84,    85,    86,    87,    -1,    -1,
1077       -1,    -1,    92,    93,    94,    95,    51,    -1,    98,    -1,
1078       -1,    -1,    -1,    58,    59,    60,    61,    -1,    -1,    -1,
1079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1080       -1,    -1,    -1,    -1,    79,    -1,    81,    82,    83,    84,
1081       85,    86,    87,    -1,    -1,    -1,    -1,    92,    93,    94,
1082       95,    -1,    -1,    98
1083 };
1084
1085 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1086    symbol of state STATE-NUM.  */
1087 static const yytype_uint8 yystos[] =
1088 {
1089        0,     3,     4,     5,     6,     7,     8,   106,   107,   108,
1090      109,   110,   111,   112,     0,   115,    11,    13,    14,    15,
1091       16,    17,    20,    21,    22,    23,    24,    26,    27,    28,
1092       29,    30,    31,    36,    50,    52,    53,    54,    55,    56,
1093       57,    62,    63,    64,    65,    66,    67,    68,    76,    88,
1094       89,    90,    96,    97,   100,   102,   103,   152,   153,   154,
1095      157,   158,   159,   160,   161,   162,   164,   167,   172,   173,
1096      174,   175,   176,   177,   178,   179,   180,     9,   113,     1,
1097       32,    34,    35,    37,    38,    39,    40,    41,    42,    46,
1098       47,    48,    49,   101,   113,   122,   132,   152,    33,   120,
1099      121,   122,   118,   118,    12,   152,   162,   162,    20,    25,
1100      113,   173,   181,   181,   181,   181,   181,   163,    11,   100,
1101      162,   143,   143,   162,   100,   100,   100,   113,   162,    20,
1102      153,   166,   173,   181,   181,   113,   162,   101,   152,    20,
1103       25,   145,   162,   100,   165,   173,   174,   175,   162,   153,
1104      162,   162,   162,   162,   162,    99,   152,   181,   181,    73,
1105       74,    75,    77,     9,    11,   100,    51,    58,    59,    60,
1106       61,    78,    79,    81,    82,    83,    84,    85,    86,    87,
1107       92,    93,    94,    95,    98,   100,     9,    11,     9,    11,
1108        9,    11,     9,   115,   144,   145,    20,   142,   100,   100,
1109      100,   100,    67,    90,   100,   173,   100,   100,   113,    45,
1110      134,   101,    39,    40,    41,    42,    46,    48,   121,   122,
1111      120,    12,   166,   100,   100,   152,    99,   113,    23,   115,
1112      146,    99,    99,   152,   167,   181,   153,    10,   101,   166,
1113       99,   152,    69,   148,    11,    99,   152,   152,   152,   162,
1114      152,   152,    99,   152,   162,   162,   162,   162,   162,   162,
1115      162,   162,   162,   162,   162,   162,   162,   162,   162,     9,
1116       11,    15,    16,    17,    21,    62,   100,   102,   103,   156,
1117      173,    99,   152,   152,   152,   152,   152,   152,   152,   152,
1118      118,    20,   141,   142,    20,   125,   115,   115,   115,   115,
1119      115,    67,   170,   171,   172,   173,   174,   175,   115,   100,
1120      115,   115,   113,   152,   138,   152,   152,   152,   152,   152,
1121      167,   153,    12,   155,   100,   149,    69,   147,    99,    99,
1122      152,    10,    99,    23,   152,    11,   101,    12,    99,    80,
1123      152,   152,   103,   103,   103,   103,    99,   152,   103,   103,
1124      100,    99,   101,    12,   101,    12,   101,    12,   101,    10,
1125       18,   114,   123,   124,     9,   101,    20,   137,   152,   138,
1126      139,   152,   139,   169,   173,   115,   100,   132,   136,   139,
1127      140,   152,   115,   139,   139,    99,   104,   168,   166,   150,
1128      147,    23,   113,    99,    12,   152,    10,   162,   101,    12,
1129       99,   167,    10,    10,    10,    10,   115,   146,   115,   115,
1130       20,    99,    99,    99,    99,   100,   170,   115,    99,   101,
1131      139,    99,    99,   152,    99,    99,     9,    12,    10,    99,
1132      101,   147,   149,   129,   166,   135,   135,     9,   116,   116,
1133      139,   128,   139,   116,   126,    99,   116,   116,   118,    71,
1134      101,   113,   151,   147,   118,   101,   116,   116,   117,    43,
1135       44,   133,   133,    99,   100,    99,   134,   137,   116,    10,
1136      119,     9,    10,   134,   134,   118,   116,   100,   116,   139,
1137      116,   101,   134,    23,   101,   130,   118,    10,   139,   134,
1138       99,   134,   127,    70,   131,    19,    10,    99,   116,   135,
1139      118,   116,   134,   140,    71,   133,    99,   116
1140 };
1141
1142 typedef enum {
1143         toketype_ival, toketype_opval, toketype_pval
1144 } toketypes;
1145
1146 /* type of each token/terminal */
1147 static const toketypes yy_type_tab[] =
1148 {
1149   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1150   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1151   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1152   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1153   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_pval,
1154   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1155   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1156   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1157   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1158   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1159   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1160   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1161   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1162   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1163   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1164   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1165   toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1166   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1167   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1168   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1169   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1170   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1171   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1172   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1173   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1174   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1175   toketype_opval, toketype_opval, toketype_opval, toketype_opval
1176 };
1177
1178 /* Generated from:
1179  * f6b41138394461b75dff7cc97a55c3e6682571cf7e66b977351d30f1534831b2 perly.y
1180  * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl
1181  * ex: set ro: */