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