This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
IO::getline(): use CALLRUNOPS
[perl5.git] / perly.tab
1 /* -*- mode: C; 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  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3705
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  131
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  114
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  338
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  670
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   385
22
23 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
24    as returned by yylex, with out-of-bounds checking.  */
25 #define YYTRANSLATE(YYX)                                                \
26   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
27
28 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
29    as returned by yylex.  */
30 static const yytype_uint8 yytranslate[] =
31 {
32        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     2,     2,     2,     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,     2,     2,     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,     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,     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,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
58        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
59       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
60       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
61       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
62       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
63       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
64       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
65       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
66       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
67       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
68      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
69      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
70      125,   126,   127,   128,   129,   130
71 };
72
73 #if YYDEBUG
74   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
75 static const yytype_uint16 yyrline[] =
76 {
77        0,   161,   161,   160,   172,   171,   182,   181,   195,   194,
78      208,   207,   221,   220,   231,   230,   244,   246,   251,   259,
79      263,   270,   275,   282,   288,   292,   294,   291,   301,   302,
80      312,   313,   322,   326,   330,   337,   347,   349,   362,   359,
81      383,   378,   406,   405,   431,   442,   454,   453,   464,   470,
82      476,   481,   483,   485,   492,   500,   502,   499,   519,   524,
83      533,   540,   539,   554,   562,   569,   568,   583,   590,   589,
84      605,   604,   624,   628,   632,   636,   642,   650,   668,   669,
85      673,   677,   679,   681,   683,   685,   687,   689,   692,   698,
86      699,   704,   715,   716,   721,   723,   728,   735,   736,   740,
87      744,   748,   753,   757,   761,   762,   765,   771,   776,   781,
88      787,   788,   793,   794,   799,   800,   807,   812,   814,   825,
89      827,   832,   834,   838,   858,   859,   861,   874,   934,   936,
90      942,   944,   948,   954,   955,   960,   961,   965,   969,   969,
91     1036,  1037,  1042,  1054,  1055,  1060,  1059,  1072,  1074,  1076,
92     1078,  1080,  1084,  1086,  1091,  1095,  1099,  1103,  1109,  1114,
93     1120,  1126,  1128,  1130,  1133,  1132,  1143,  1144,  1148,  1152,
94     1155,  1160,  1165,  1168,  1172,  1176,  1182,  1190,  1197,  1203,
95     1205,  1207,  1212,  1214,  1216,  1218,  1220,  1222,  1227,  1229,
96     1231,  1233,  1235,  1237,  1239,  1241,  1243,  1245,  1247,  1249,
97     1251,  1253,  1255,  1257,  1261,  1263,  1265,  1267,  1269,  1273,
98     1275,  1279,  1281,  1283,  1285,  1289,  1291,  1296,  1298,  1301,
99     1303,  1305,  1308,  1311,  1322,  1325,  1333,  1335,  1337,  1340,
100     1343,  1351,  1353,  1357,  1358,  1359,  1360,  1361,  1363,  1365,
101     1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,  1383,  1385,
102     1387,  1397,  1407,  1417,  1427,  1429,  1431,  1434,  1439,  1443,
103     1445,  1447,  1449,  1452,  1454,  1457,  1459,  1461,  1463,  1465,
104     1467,  1469,  1471,  1473,  1476,  1478,  1480,  1482,  1484,  1486,
105     1490,  1493,  1492,  1505,  1506,  1507,  1512,  1514,  1516,  1518,
106     1523,  1525,  1528,  1530,  1532,  1537,  1542,  1547,  1555,  1557,
107     1559,  1563,  1571,  1570,  1588,  1589,  1593,  1594,  1598,  1599,
108     1604,  1609,  1611,  1615,  1618,  1622,  1623,  1624,  1627,  1628,
109     1631,  1632,  1635,  1639,  1643,  1649,  1655,  1657,  1661,  1665,
110     1666,  1670,  1671,  1675,  1676,  1681,  1683,  1685,  1688
111 };
112 #endif
113
114 #if YYDEBUG || YYERROR_VERBOSE || 0
115 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
116    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
117 static const char *const yytname[] =
118 {
119   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
120   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE",
121   "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
122   "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA",
123   "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS",
124   "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH",
125   "PERLY_SNAIL", "PERLY_STAR", "KW_FORMAT", "KW_PACKAGE", "KW_CLASS",
126   "KW_LOCAL", "KW_MY", "KW_FIELD", "KW_IF", "KW_ELSE", "KW_ELSIF",
127   "KW_UNLESS", "KW_FOR", "KW_UNTIL", "KW_WHILE", "KW_CONTINUE", "KW_GIVEN",
128   "KW_WHEN", "KW_DEFAULT", "KW_TRY", "KW_CATCH", "KW_FINALLY", "KW_DEFER",
129   "KW_REQUIRE", "KW_DO", "KW_USE_or_NO", "KW_SUB_named",
130   "KW_SUB_named_sig", "KW_SUB_anon", "KW_SUB_anon_sig", "KW_METHOD_named",
131   "KW_METHOD_anon", "BAREWORD", "METHCALL0", "METHCALL", "THING", "PMFUNC",
132   "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB",
133   "PLUGEXPR", "PLUGSTMT", "LABEL", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
134   "FUNC1", "FUNC", "UNIOP", "LSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP",
135   "HASHBRACK", "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK",
136   "SUBLEXSTART", "SUBLEXEND", "PHASER", "PREC_LOW", "PLUGIN_LOW_OP",
137   "OROP", "PLUGIN_LOGICAL_OR_LOW_OP", "ANDOP", "PLUGIN_LOGICAL_AND_LOW_OP",
138   "NOTOP", "ASSIGNOP", "PLUGIN_ASSIGN_OP", "PERLY_QUESTION_MARK",
139   "PERLY_COLON", "OROR", "DORDOR", "PLUGIN_LOGICAL_OR_OP", "ANDAND",
140   "PLUGIN_LOGICAL_AND_OP", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP",
141   "CHRELOP", "NCRELOP", "PLUGIN_REL_OP", "SHIFTOP", "PLUGIN_ADD_OP",
142   "PLUGIN_MUL_OP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE",
143   "UMINUS", "REFGEN", "PLUGIN_POW_OP", "PREINC", "PREDEC", "POSTINC",
144   "POSTDEC", "POSTJOIN", "PLUGIN_HIGH_OP", "ARROW", "PERLY_PAREN_CLOSE",
145   "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5",
146   "@6", "@7", "sigsub_or_method_named", "block", "empty", "formblock",
147   "remember", "mblock", "mremember", "catch_paren", "$@8", "$@9",
148   "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@10",
149   "$@11", "$@12", "$@13", "$@14", "$@15", "@16", "$@17", "$@18", "$@19",
150   "formline", "formarg", "condition", "sideff", "else", "cont", "finally",
151   "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname",
152   "startsub", "startanonsub", "startanonmethod", "startformsub", "subname",
153   "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
154   "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
155   "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@20",
156   "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "$@21", "expr",
157   "listexpr", "listop", "@22", "methodname", "subscripted", "termbinop",
158   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
159   "anonymous", "termdo", "term", "@23", "myattrterm", "myterm", "fieldvar",
160   "optfieldattrlist", "fielddecl", "$@24", "optlistexpr", "optexpr",
161   "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars",
162   "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh",
163   "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
164 };
165 #endif
166
167 # ifdef YYPRINT
168 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
169    (internal) symbol number NUM (which must be that of a token).  */
170 static const yytype_uint16 yytoknum[] =
171 {
172        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
173      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
174      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
175      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
176      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
177      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
178      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
179      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
180      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
181      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
182      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
183      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
184      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
185      385
186 };
187 # endif
188
189 #define YYPACT_NINF -544
190
191 #define yypact_value_is_default(Yystate) \
192   (!!((Yystate) == (-544)))
193
194 #define YYTABLE_NINF -337
195
196 #define yytable_value_is_error(Yytable_value) \
197   (!!((Yytable_value) == (-337)))
198
199   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
200      STATE-NUM.  */
201 static const yytype_int16 yypact[] =
202 {
203      775,  -544,  -544,  -544,  -544,  -544,  -544,  -544,    62,  -544,
204     2930,    58,  1898,  1783,  -544,  -544,  -544,  -544,    41,  2930,
205       41,  2930,    41,  2930,    41,    41,  2930,     3,  2930,  2219,
206     -544,  -544,  -544,  -544,    41,    41,  -544,  -544,    86,   -12,
207     -544,  2930,  -544,  -544,  2930,    11,    38,   -58,  2219,  2140,
208       41,  2930,   105,  2930,  2930,  2930,  2930,  2930,  2930,  2298,
209     -544,   255,   157,  -544,     4,  -544,   -45,    68,   -17,     8,
210     -544,  -544,  -544,  3173,  -544,  -544,    51,    94,   183,   217,
211     -544,   173,   229,   244,   187,  -544,  -544,  -544,  -544,  -544,
212      162,   169,   147,    73,   103,    12,   111,   126,   138,   140,
213       58,   260,   260,  -544,   105,  -544,  -544,  -544,   267,  -544,
214      105,   253,  -544,   284,   432,   285,  1783,  -544,  -544,  -544,
215     -544,   681,  -544,   163,   853,  -544,  -544,  -544,  -544,  -544,
216      298,  -544,   416,  -544,   416,  -544,  -544,  3577,  3009,  2377,
217      231,  -544,  -544,  -544,  3577,  -544,  3577,   261,   237,   237,
218     2930,   193,   238,  2930,   195,  3577,    58,  3173,   204,  2456,
219     2930,  2140,  -544,  3577,  3088,  -544,   157,  -544,  2535,  2930,
220     -544,   312,  -544,  -544,  2930,   157,   416,   416,   416,   647,
221      647,   322,   251,  2930,  2930,  2930,  2930,  2930,  2930,  2930,
222     2614,  -544,  -544,  2930,  -544,  -544,  2930,  2930,  2930,  2930,
223     2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,
224     2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,  2930,
225     2930,  2930,  -544,  -544,  -544,  2930,   101,  2693,  2930,  2930,
226     2930,  2930,  2930,  2930,  2930,  -544,   281,   282,   299,   272,
227     -544,  -544,  -544,  -544,  -544,   239,   455,  -544,  -544,   227,
228     -544,  -544,  -544,  -544,  -544,  -544,   318,  -544,  -544,  -544,
229     -544,  -544,  -544,    58,  -544,  -544,  -544,  2930,  2930,  2930,
230     2930,  2930,  2930,  -544,  -544,  -544,  -544,   302,  -544,  -544,
231     -544,   302,  -544,  -544,  -544,   358,  -544,  -544,  2772,   416,
232      231,    63,    69,    76,  -544,   355,   319,  -544,  -544,  -544,
233      237,   320,  -544,  -544,  -544,  -544,  2930,  2930,    96,  -544,
234     -544,  -544,  -544,   409,   286,   252,  2930,   157,   373,  -544,
235     2930,   375,    54,    54,  -544,  -544,  3275,   122,   116,  -544,
236      466,  3538,  3518,  3377,   416,   315,   503,  3224,  3275,  3275,
237     3122,  3416,  3416,  3416,  3439,  3439,  3478,  3499,  3518,  3518,
238     3538,  3538,  3557,  3344,   503,   315,   416,   416,    65,   372,
239     2930,  2930,    39,   374,   376,   378,  -544,   379,  2851,   256,
240     -544,  -544,   481,   185,   129,   236,   142,   259,   159,   277,
241      968,  -544,  -544,   382,    27,   237,   348,  -544,   311,  2930,
242     2930,  -544,     6,  -544,  -544,   287,  -544,  -544,  -544,  -544,
243     1982,   147,  -544,  2930,  2930,  2930,  2930,  -544,  -544,   356,
244     -544,   396,  -544,  -544,  -544,   255,  -544,  -544,  -544,   255,
245     -544,  -544,  -544,   327,   327,   163,    20,   569,  -544,  -544,
246     -544,  -544,  -544,   295,  -544,  -544,   297,    83,  -544,  2930,
247     -544,  -544,  -544,   575,  -544,   181,  2930,   420,  -544,  -544,
248     2930,  -544,   361,   224,  -544,  -544,  -544,  -544,  -544,  -544,
249      673,  2930,  -544,   421,  -544,   423,  -544,   433,  -544,   445,
250     -544,  -544,  -544,  -544,  -544,    29,  -544,  -544,   330,   255,
251      331,   428,   333,  -544,  -544,  -544,  -544,  -544,   337,   450,
252      273,  -544,  2930,   345,   347,   255,   349,   351,  1093,   352,
253      427,   261,  -544,   477,  -544,  -544,   237,  2930,  -544,  -544,
254     -544,  -544,    75,  -544,  -544,  -544,   479,  -544,  -544,  2930,
255     -544,   404,  -544,  -544,  -544,   247,  -544,  3326,   483,  -544,
256     -544,   368,  -544,  -544,  -544,  -544,   476,  -544,  -544,  -544,
257     2930,   260,   260,   490,   377,  -544,  2930,  2930,   260,  -544,
258      380,   383,  -544,  -544,   260,   260,  -544,  -544,  -544,  -544,
259     2930,   237,  -544,   485,  3173,   385,  -544,   255,  -544,  -544,
260     -544,  -544,   425,  -544,  -544,  3173,   179,   179,   428,   386,
261      389,   390,   253,  2930,  2930,   260,   260,   260,  -544,  -544,
262      428,   260,   487,   396,  1208,  -544,  -544,  -544,  -544,  -544,
263     -544,  1323,  -544,   260,   392,  -544,  -544,  -544,  -544,  2930,
264      260,   260,  -544,   493,   391,   253,   253,   253,  -544,   484,
265     -544,  -544,  -544,  1438,  -544,    31,  -544,  1553,  -544,  2930,
266      399,   253,   253,  -544,   260,  -544,  -544,  -544,   410,    58,
267     -544,  -544,   516,   460,  -544,  -544,   418,   260,  -544,  -544,
268     -544,   253,  -544,  -544,  -544,  -544,  -544,  -544,   260,   253,
269     2061,  -544,  1668,   179,  -544,   424,  -544,  -544,   260,  -544
270 };
271
272   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
273      Performed when YYTABLE does not specify something else to do.  Zero
274      means the default is an error.  */
275 static const yytype_uint16 yydefact[] =
276 {
277        0,     2,     4,     6,     8,    10,    12,    14,     0,    21,
278       19,     0,     0,     0,    19,   138,     1,    19,     0,    19,
279        0,     0,     0,     0,     0,     0,     0,     0,   270,     0,
280      107,   107,   108,   283,     0,     0,   254,   281,   242,   276,
281      278,   272,   107,   285,   264,   274,     0,     0,   267,    19,
282        0,    19,     0,     0,     0,     0,     0,     0,     0,     0,
283      306,   307,   151,   284,   249,   233,   192,   204,   193,   211,
284      234,   235,   236,   154,   239,     5,   255,   244,   247,   246,
285      248,   245,     0,     0,     0,    21,     7,    81,    76,   109,
286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
287        0,     0,     0,   106,     0,    16,    17,    36,     0,   106,
288        0,    19,     9,     0,    82,     0,     0,    11,    33,    32,
289       28,     0,    15,    19,     0,   335,   338,   337,   336,   322,
290        0,   323,   217,   325,   218,   324,   328,   240,     0,     0,
291      287,   292,   294,   293,   271,   232,   231,    19,    19,    19,
292       19,     0,     0,     0,     0,   273,     0,   265,     0,     0,
293       19,    19,   268,   269,   283,   304,   305,   161,   244,     0,
294      326,     0,   110,   111,    19,   266,   219,   220,   238,   224,
295      225,   243,     0,     0,     0,     0,     0,   152,     0,     0,
296        0,   207,   206,     0,   214,   213,     0,     0,     0,     0,
297        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
299        0,     0,   221,   222,   223,     0,     0,     0,     0,     0,
300        0,     0,     0,     0,     0,    19,    19,     0,     0,    19,
301      295,   297,   296,    21,    21,    21,     0,    21,    21,     0,
302       21,    21,    21,    21,    52,    23,     0,    74,    46,   106,
303       75,    42,   106,     0,    92,    67,    73,     0,     0,     0,
304        0,     0,     0,    72,    35,    34,    29,   119,   122,   121,
305      133,   119,   129,   128,   132,   134,   139,   226,     0,   289,
306        0,   244,   247,   246,   291,     0,   118,   286,   113,   112,
307       19,   116,   114,    21,    21,   159,    19,     0,     0,   277,
308      164,   275,   279,     0,     0,     0,     0,   155,     0,   258,
309        0,   241,   149,   150,   147,   148,   153,     0,     0,   178,
310        0,   210,   216,   196,   185,   187,   189,   203,   183,   184,
311        0,   199,   201,   200,   197,   198,   195,   194,   215,   212,
312      209,   205,   208,   191,   190,   188,   202,   186,   182,     0,
313        0,     0,     0,   332,   330,   334,   166,     0,     0,   158,
314      167,   256,     0,     0,     0,     0,     0,     0,     0,     0,
315        0,   104,   105,     0,     0,    19,   299,   300,   301,     0,
316        0,   320,     0,   321,   318,     0,   319,   315,   316,   317,
317        0,     0,    21,     0,    99,     0,     0,    19,    21,     0,
318       38,    21,    40,    93,    83,    80,    84,    87,    86,   101,
319       85,    88,   120,    19,    19,   130,   243,     0,   288,   290,
320      117,    21,   115,    19,   229,   230,     0,    19,   180,    19,
321      280,   163,   162,     0,   227,     0,     0,     0,   171,   177,
322        0,   262,     0,     0,   259,   261,   260,   263,   327,   175,
323        0,    19,   257,     0,   169,     0,   250,     0,   251,     0,
324       18,    21,    37,    21,    44,     0,   298,   302,     0,   102,
325        0,     0,     0,   310,    21,    97,    98,   103,     0,     0,
326       82,    61,     0,     0,     0,   100,     0,     0,     0,    19,
327        0,    19,   141,     0,    43,   140,    19,   125,   124,   127,
328      123,   131,   241,   228,   138,   135,     0,   136,   160,     0,
329      308,     0,   165,   156,   181,     0,   174,   237,     0,   170,
330      176,     0,   172,   252,   253,   168,     0,    68,    21,    45,
331        0,     0,     0,   314,     0,   313,     0,     0,     0,    55,
332        0,     0,    96,    96,     0,     0,    22,    25,    24,    65,
333       19,    19,    19,    21,   126,     0,   145,   309,   282,   179,
334      173,   157,     0,    19,    70,   303,    19,    19,   311,     0,
335        0,     0,    19,    99,     0,     0,     0,     0,    50,    51,
336        0,     0,     0,    21,     0,   144,    41,   143,   137,    19,
337       19,     0,    19,     0,     0,    89,    48,    49,   312,     0,
338        0,     0,    64,     0,     0,    19,    19,    19,    26,    94,
339       47,    39,   142,     0,    30,     0,    69,     0,    90,     0,
340        0,    19,    19,    56,     0,    60,    54,    53,     0,     0,
341       66,   146,     0,    19,    31,    71,     0,     0,    58,    63,
342       96,    19,    27,    95,    20,    19,    78,    77,     0,    19,
343        0,    62,     0,    19,    59,     0,    79,    91,     0,    57
344 };
345
346   /* YYPGOTO[NTERM-NUM].  */
347 static const yytype_int16 yypgoto[] =
348 {
349     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
350       -4,   -10,  -544,    50,   -55,  -544,  -544,  -544,  -544,   -16,
351     -544,   536,   436,    -1,  -544,  -544,  -544,  -544,  -544,  -544,
352     -544,  -544,  -544,  -544,  -544,  -544,    -5,  -395,  -543,  -221,
353     -544,  -521,  -544,   -29,   161,  -220,   -95,  -544,   -97,    37,
354     -544,  -544,   -67,    67,  -146,   279,   289,  -544,  -544,   153,
355     -544,   146,  -544,  -544,  -544,  -544,    64,  -544,   -13,   154,
356     -544,  -294,  -544,    16,   -47,  -544,  -544,  -544,  -544,  -544,
357     -544,  -544,  -544,  -544,  -544,  -544,  -544,   631,  -544,  -544,
358      446,  -544,  -544,  -544,  -544,  -126,   -15,  -544,  -544,  -544,
359     -544,   186,  -544,  -544,   343,    36,   -19,   -14,  -544,  -544,
360     -544,  -544,  -544,    59
361 };
362
363   /* YYDEFGOTO[NTERM-NUM].  */
364 static const yytype_int16 yydefgoto[] =
365 {
366       -1,     8,     9,    10,    11,    12,    13,    14,    15,   110,
367      111,   120,   472,   433,   256,   407,   559,   590,   638,   121,
368      625,   276,   118,   119,   501,   506,   411,   409,   583,   650,
369      550,   591,   573,   602,   644,   657,   414,   113,   606,   265,
370      640,   586,   487,   494,   418,   478,   489,   383,   258,   147,
371      149,   236,   174,   300,   303,   297,   423,   281,   282,   509,
372      283,   284,   285,   286,   516,   517,   122,   123,   504,   505,
373      596,   434,   599,   114,    62,    63,   439,   369,    64,    65,
374       66,    67,    68,    69,    70,    71,    72,    73,   152,    74,
375      140,   239,   388,   115,   540,   167,    75,   521,   482,   543,
376      544,   394,   395,   248,    76,    77,    78,    79,    80,    81,
377       82,    83,    84,   131
378 };
379
380   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
381      positive, shift that token.  If negative, reduce the rule whose
382      number is the opposite.  If YYTABLE_NINF, syntax error.  */
383 static const yytype_int16 yytable[] =
384 {
385       60,   124,   166,   304,   130,   486,   175,    86,   142,    60,
386      435,   112,   261,   143,   127,   188,   127,   189,   127,    20,
387      127,   127,    20,    22,   305,   145,    61,    24,    20,   160,
388      127,   127,   587,   320,   607,    61,   171,   259,   473,   165,
389      538,    60,   245,   262,   162,   127,   127,   257,   319,   474,
390       85,   539,    85,   642,   128,    20,   128,    20,   128,    17,
391      128,   128,    16,   141,   454,   191,   192,    61,   148,    85,
392      128,   128,   161,   241,   228,   182,   229,   129,   242,   156,
393     -329,   133,  -329,   135,   136,   168,   128,  -331,   446,  -331,
394      643,   194,   195,   150,   151,   125,   254,   125,   187,   153,
395      126,   264,   126,   166,  -291,   228,   519,   229,   169,   170,
396      438,   359,   360,   280,   361,   275,   196,   362,   154,   292,
397      667,   363,   317,   138,   293,   364,   365,   166,   240,   660,
398      448,   249,   246,   139,   190,   235,   481,   299,   302,   302,
399      165,   158,   247,   464,   447,   314,   315,  -292,   185,   186,
400       60,    60,   310,  -294,   431,   295,   466,   127,   366,  -290,
401     -293,   172,   410,    20,   165,   412,   173,    22,   159,   308,
402      480,    24,   187,   468,   291,   313,    61,    61,   193,   277,
403      488,   227,   367,   278,  -333,   496,   497,   279,   183,   184,
404      185,   186,  -337,   226,  -329,   524,  -329,   168,   234,   322,
405      323,   324,   325,   243,   327,   328,   330,   463,   183,   184,
406      185,   186,   603,   604,   183,   184,   185,   186,   237,   380,
407      316,   183,   184,   185,   186,   238,   382,   398,  -331,   387,
408     -331,   368,   399,   244,   183,   184,   185,   186,   529,   475,
409      230,   250,   231,   372,   373,   374,   375,   376,   377,   378,
410      379,   183,   184,   185,   186,   232,   251,   233,   465,   413,
411      437,   569,   370,   416,   417,   486,   420,   421,   252,   597,
412      253,   255,   551,   183,   184,   185,   186,   183,   184,   185,
413      186,   467,   397,   415,   415,   415,   419,   415,   415,   260,
414      302,   436,   263,   389,   390,   392,    60,   400,   401,   469,
415      403,   404,   405,   406,   427,   267,   266,   273,   268,   269,
416      270,   271,   287,   522,   272,   296,   183,   184,   185,   186,
417      298,   301,    61,   306,   309,   307,   580,   581,   183,   184,
418      185,   186,   443,   311,   318,   320,   445,   381,   384,   183,
419      184,   185,   186,   183,   184,   185,   186,   183,   184,   185,
420      186,   183,   184,   185,   186,   385,   386,   402,   127,   391,
421      563,   612,   408,   422,   614,   183,   184,   185,   186,   183,
422      184,   185,   186,   425,   441,   302,   452,   453,   430,   432,
423      321,   442,   398,   528,   460,   444,   461,   399,   446,   630,
424      485,   498,   166,   198,   635,   636,   637,   451,   128,   455,
425      471,   456,  -102,   457,   458,   479,   479,   476,   477,   646,
426      648,   649,   500,   508,   508,   593,   490,   484,   502,   419,
427      495,   479,   479,   515,   507,   514,   518,   520,   483,   165,
428      661,   220,   526,   532,   592,   533,   221,   397,   664,   222,
429      223,   224,   225,   226,    20,   534,   531,   183,   184,   185,
430      186,    60,   492,   183,   184,   185,   186,   535,   499,   541,
431      542,   503,   525,   546,   267,    18,   548,   268,   269,   270,
432      271,    20,   549,   272,   552,    22,   553,    61,   554,    24,
433      555,   503,   557,   560,   429,   393,   576,   577,   562,   558,
434      566,   299,   568,   582,   198,   570,   302,   571,   572,   588,
435      589,   183,   184,   185,   186,   578,   579,   595,   479,   620,
436      584,   600,   585,   166,   598,   633,   609,   545,   610,   611,
437      634,   536,   629,   537,   183,   184,   185,   186,   647,   639,
438      615,   616,   617,   654,   547,   567,   619,   221,   440,   652,
439      222,   223,   224,   225,   226,   655,   594,   658,   628,   117,
440      165,   302,   274,   668,   613,   631,   632,   601,   183,   184,
441      185,   186,   479,   479,   493,   665,   605,   605,   561,   428,
442      424,   511,   264,   183,   184,   185,   186,   510,   565,   651,
443      621,   198,   199,   623,   290,   513,   627,   491,   574,   396,
444      624,     0,   659,     0,     0,   449,     0,     0,     0,   495,
445      479,     0,     0,   663,     0,   264,   264,   264,     0,     0,
446      462,     0,     0,   669,   608,     0,     0,     0,   219,   220,
447        0,   264,   264,     0,   221,   479,   618,   222,   223,   224,
448      225,   226,     0,   656,     0,   653,     0,     0,     0,   662,
449        0,   264,     0,   503,     0,   479,     0,     0,     0,   264,
450      485,     0,   132,   605,   134,     0,     0,   137,     0,   144,
451      146,   183,   184,   185,   186,     0,     0,   183,   184,   185,
452      186,     0,   155,     0,     0,   157,     0,     0,     0,   163,
453        0,   -13,    87,     0,     0,   176,   177,   178,   179,   180,
454        0,    18,    85,     0,    19,     0,     0,    20,   512,     0,
455       21,    22,    23,    88,   523,    24,    25,    89,    90,    91,
456       26,    27,    92,    93,     0,     0,    94,    95,    96,    97,
457        0,    98,    99,   100,   101,     0,     0,   102,    28,    29,
458      103,   104,   105,    30,    31,   106,    32,    33,    34,    35,
459       36,    37,     0,    38,    39,    40,    41,    42,    43,   107,
460      116,    44,     0,   108,    45,    46,    47,    48,    49,     0,
461        0,     0,    50,    51,    52,   183,   184,   185,   186,   289,
462      109,  -337,  -337,  -337,   225,   226,     0,    53,     1,     2,
463        3,     4,     5,     6,     7,     0,     0,     0,     0,     0,
464        0,     0,     0,     0,     0,     0,     0,     0,    54,    55,
465        0,    56,   530,    57,    58,     0,     0,     0,     0,     0,
466        0,    59,     0,     0,     0,     0,     0,     0,   326,     0,
467        0,     0,     0,     0,   331,     0,     0,   332,   333,   334,
468      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
469      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
470      355,   356,   357,    -3,    87,     0,   358,     0,     0,     0,
471        0,     0,     0,    18,    85,     0,    19,     0,     0,    20,
472        0,     0,    21,    22,    23,    88,     0,    24,    25,    89,
473       90,    91,    26,    27,    92,    93,     0,     0,    94,    95,
474       96,    97,     0,    98,    99,   100,   101,     0,     0,   102,
475       28,    29,   103,   104,   105,    30,    31,   106,    32,    33,
476       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
477       43,   107,   116,    44,     0,   108,    45,    46,    47,    48,
478       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
479        0,     0,   109,     0,     0,     0,     0,     0,     0,    53,
480        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
481        0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
482       54,    55,     0,    56,     0,    57,    58,     0,    18,    85,
483      470,    19,     0,    59,    20,     0,     0,    21,    22,    23,
484       88,     0,    24,    25,    89,    90,    91,    26,    27,    92,
485       93,     0,     0,    94,    95,    96,    97,     0,    98,    99,
486      100,   101,     0,     0,   102,    28,    29,   103,   104,   105,
487       30,    31,   106,    32,    33,    34,    35,    36,    37,     0,
488       38,    39,    40,    41,    42,    43,   107,   116,    44,     0,
489      108,    45,    46,    47,    48,    49,     0,     0,     0,    50,
490       51,    52,     0,     0,     0,     0,     0,   109,     0,     0,
491        0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
493        0,   527,     0,     0,     0,    54,    55,     0,    56,     0,
494       57,    58,     0,     0,    87,     0,     0,     0,    59,     0,
495        0,     0,     0,    18,    85,   556,    19,     0,     0,    20,
496        0,     0,    21,    22,    23,    88,     0,    24,    25,    89,
497       90,    91,    26,    27,    92,    93,     0,     0,    94,    95,
498       96,    97,     0,    98,    99,   100,   101,     0,   564,   102,
499       28,    29,   103,   104,   105,    30,    31,   106,    32,    33,
500       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
501       43,   107,   116,    44,     0,   108,    45,    46,    47,    48,
502       49,   575,     0,     0,    50,    51,    52,     0,     0,     0,
503        0,     0,   109,     0,     0,     0,     0,     0,     0,    53,
504        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
505        0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
506       54,    55,     0,    56,     0,    57,    58,     0,    18,    85,
507      622,    19,     0,    59,    20,     0,     0,    21,    22,    23,
508       88,     0,    24,    25,    89,    90,    91,    26,    27,    92,
509       93,     0,     0,    94,    95,    96,    97,     0,    98,    99,
510      100,   101,     0,     0,   102,    28,    29,   103,   104,   105,
511       30,    31,   106,    32,    33,    34,    35,    36,    37,     0,
512       38,    39,    40,    41,    42,    43,   107,   116,    44,     0,
513      108,    45,    46,    47,    48,    49,     0,     0,     0,    50,
514       51,    52,     0,     0,     0,     0,     0,   109,     0,     0,
515        0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
517        0,     0,     0,     0,    87,    54,    55,     0,    56,     0,
518       57,    58,     0,    18,    85,   626,    19,     0,    59,    20,
519        0,     0,    21,    22,    23,    88,     0,    24,    25,    89,
520       90,    91,    26,    27,    92,    93,     0,     0,    94,    95,
521       96,    97,     0,    98,    99,   100,   101,     0,     0,   102,
522       28,    29,   103,   104,   105,    30,    31,   106,    32,    33,
523       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
524       43,   107,   116,    44,     0,   108,    45,    46,    47,    48,
525       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
526        0,     0,   109,     0,     0,     0,     0,     0,     0,    53,
527        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
528        0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
529       54,    55,     0,    56,     0,    57,    58,     0,    18,    85,
530      641,    19,     0,    59,    20,     0,     0,    21,    22,    23,
531       88,     0,    24,    25,    89,    90,    91,    26,    27,    92,
532       93,     0,     0,    94,    95,    96,    97,     0,    98,    99,
533      100,   101,     0,     0,   102,    28,    29,   103,   104,   105,
534       30,    31,   106,    32,    33,    34,    35,    36,    37,     0,
535       38,    39,    40,    41,    42,    43,   107,   116,    44,     0,
536      108,    45,    46,    47,    48,    49,     0,     0,     0,    50,
537       51,    52,     0,     0,     0,     0,     0,   109,     0,     0,
538        0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
540        0,     0,     0,     0,    87,    54,    55,     0,    56,     0,
541       57,    58,     0,    18,    85,   645,    19,     0,    59,    20,
542        0,     0,    21,    22,    23,    88,     0,    24,    25,    89,
543       90,    91,    26,    27,    92,    93,     0,     0,    94,    95,
544       96,    97,     0,    98,    99,   100,   101,     0,     0,   102,
545       28,    29,   103,   104,   105,    30,    31,   106,    32,    33,
546       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
547       43,   107,   116,    44,     0,   108,    45,    46,    47,    48,
548       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
549        0,     0,   109,     0,     0,     0,     0,     0,     0,    53,
550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
551        0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
552       54,    55,     0,    56,     0,    57,    58,     0,    18,    85,
553        0,    19,     0,    59,    20,     0,     0,    21,    22,    23,
554       88,     0,    24,    25,    89,    90,    91,    26,    27,    92,
555       93,     0,     0,    94,    95,    96,    97,     0,    98,    99,
556      100,   101,     0,     0,   102,    28,    29,   103,   104,   105,
557       30,    31,   106,    32,    33,    34,    35,    36,    37,     0,
558       38,    39,    40,    41,    42,    43,   107,   116,    44,     0,
559      108,    45,    46,    47,    48,    49,     0,     0,     0,    50,
560       51,    52,     0,     0,   666,     0,     0,   109,     0,     0,
561        0,     0,     0,     0,    53,     0,     0,     0,     0,     0,
562        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
563        0,     0,     0,     0,    87,    54,    55,     0,    56,     0,
564       57,    58,     0,    18,    85,     0,    19,     0,    59,    20,
565        0,     0,    21,    22,    23,    88,     0,    24,    25,    89,
566       90,    91,    26,    27,    92,    93,     0,     0,    94,    95,
567       96,    97,     0,    98,    99,   100,   101,     0,     0,   102,
568       28,    29,   103,   104,   105,    30,    31,   106,    32,    33,
569       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
570       43,   107,   116,    44,     0,   108,    45,    46,    47,    48,
571       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
572        0,     0,   109,     0,     0,     0,     0,     0,     0,    53,
573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574        0,     0,     0,     0,     0,     0,     0,     0,     0,    87,
575       54,    55,     0,    56,     0,    57,    58,     0,    18,    85,
576        0,    19,     0,    59,    20,     0,     0,    21,    22,    23,
577       88,     0,    24,    25,    89,    90,    91,    26,    27,    92,
578       93,     0,     0,    94,    95,    96,    97,     0,    98,    99,
579      100,   101,     0,     0,   102,    28,    29,   103,   104,   105,
580       30,    31,   106,    32,    33,    34,    35,    36,    37,     0,
581       38,    39,    40,    41,    42,    43,   107,     0,    44,     0,
582      108,    45,    46,    47,    48,    49,     0,     0,     0,    50,
583       51,    52,     0,    87,     0,     0,     0,   109,     0,     0,
584        0,     0,    18,     0,    53,    19,     0,     0,    20,     0,
585        0,    21,    22,    23,   -19,     0,    24,    25,     0,     0,
586        0,    26,    27,     0,     0,    54,    55,     0,    56,     0,
587       57,    58,     0,     0,     0,     0,     0,     0,    59,    28,
588       29,     0,     0,     0,    30,    31,     0,    32,    33,    34,
589       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
590        0,     0,    44,     0,     0,    45,    46,    47,    48,    49,
591        0,     0,    87,    50,    51,    52,     0,     0,     0,     0,
592        0,    18,     0,     0,    19,     0,     0,    20,    53,     0,
593       21,    22,    23,     0,     0,    24,    25,     0,     0,     0,
594       26,    27,     0,     0,     0,     0,     0,     0,     0,    54,
595       55,     0,    56,     0,    57,    58,     0,     0,    28,    29,
596        0,     0,    59,    30,    31,     0,    32,    33,    34,    35,
597       36,    37,     0,    38,    39,    40,    41,    42,    43,     0,
598        0,    44,     0,     0,    45,    46,    47,    48,    49,     0,
599        0,     0,    50,    51,    52,     0,     0,     0,     0,     0,
600       18,    85,     0,    19,     0,     0,    20,    53,     0,    21,
601       22,    23,     0,     0,    24,    25,     0,     0,     0,    26,
602       27,     0,     0,     0,     0,     0,     0,     0,    54,    55,
603        0,    56,     0,    57,    58,     0,     0,    28,    29,     0,
604      -19,    59,    30,    31,     0,    32,   164,    34,    35,    36,
605       37,   126,    38,    39,    40,    41,    42,    43,     0,     0,
606       44,     0,     0,    45,    46,    47,    48,    49,     0,     0,
607        0,    50,    51,    52,     0,     0,     0,     0,     0,    18,
608       85,     0,    19,     0,     0,    20,    53,     0,    21,    22,
609       23,     0,     0,    24,    25,     0,     0,     0,    26,    27,
610        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
611       56,     0,    57,    58,     0,     0,    28,    29,     0,     0,
612       59,    30,    31,     0,    32,    33,    34,    35,    36,    37,
613        0,    38,    39,    40,    41,    42,    43,     0,     0,    44,
614        0,     0,    45,    46,    47,    48,    49,     0,     0,     0,
615       50,    51,    52,     0,     0,     0,     0,     0,    18,     0,
616        0,    19,     0,     0,    20,    53,     0,    21,    22,    23,
617        0,     0,    24,    25,     0,     0,     0,    26,    27,     0,
618        0,     0,     0,     0,     0,     0,    54,    55,     0,    56,
619        0,    57,    58,     0,     0,    28,    29,     0,     0,    59,
620       30,    31,     0,    32,    33,    34,    35,    36,    37,     0,
621       38,    39,    40,    41,    42,    43,     0,     0,    44,     0,
622        0,    45,    46,    47,    48,    49,     0,     0,     0,    50,
623       51,    52,     0,     0,     0,     0,     0,    18,     0,     0,
624       19,     0,     0,    20,    53,     0,    21,    22,    23,     0,
625        0,    24,    25,     0,     0,     0,    26,    27,     0,     0,
626        0,     0,     0,     0,     0,    54,    55,     0,    56,     0,
627       57,    58,     0,     0,    28,    29,     0,   181,    59,    30,
628       31,     0,    32,    33,    34,    35,    36,    37,     0,    38,
629       39,    40,    41,    42,    43,     0,     0,    44,     0,     0,
630       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
631       52,     0,     0,     0,     0,     0,    18,     0,     0,    19,
632        0,     0,    20,    53,     0,    21,    22,    23,     0,     0,
633       24,    25,     0,     0,     0,    26,    27,     0,     0,     0,
634        0,     0,     0,     0,    54,    55,     0,    56,     0,    57,
635       58,     0,     0,    28,    29,     0,   294,    59,    30,    31,
636        0,    32,    33,    34,    35,    36,    37,     0,    38,    39,
637       40,    41,    42,    43,     0,     0,    44,     0,     0,    45,
638       46,    47,    48,    49,     0,     0,     0,    50,    51,    52,
639        0,     0,     0,     0,     0,  -336,   228,     0,   229,     0,
640        0,  -336,    53,     0,  -336,  -336,  -336,     0,     0,  -336,
641     -336,     0,     0,     0,  -336,  -336,     0,     0,     0,     0,
642        0,     0,     0,    54,    55,     0,    56,     0,    57,    58,
643        0,     0,  -336,  -336,     0,   312,    59,  -336,  -336,     0,
644     -336,  -336,  -336,  -336,  -336,  -336,     0,  -336,  -336,  -336,
645     -336,  -336,  -336,     0,     0,  -336,     0,     0,  -336,  -336,
646     -336,  -336,  -336,     0,     0,     0,  -336,  -336,  -336,     0,
647        0,     0,     0,     0,    18,     0,     0,    19,     0,     0,
648       20,  -336,     0,    21,    22,    23,     0,     0,    24,    25,
649        0,     0,     0,    26,    27,     0,     0,     0,     0,     0,
650        0,     0,  -336,  -336,     0,  -336,     0,  -336,  -336,     0,
651        0,    28,    29,     0,     0,  -336,    30,    31,     0,    32,
652       33,    34,    35,    36,    37,     0,    38,    39,    40,    41,
653       42,    43,     0,     0,    44,     0,     0,    45,    46,    47,
654       48,    49,     0,     0,     0,    50,    51,    52,     0,     0,
655        0,     0,     0,    18,     0,     0,    19,     0,     0,    20,
656       53,     0,    21,    22,    23,     0,     0,    24,    25,     0,
657        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
658        0,    54,    55,     0,    56,     0,    57,    58,     0,     0,
659       28,    29,     0,   329,    59,    30,    31,     0,    32,    33,
660       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
661       43,     0,     0,    44,     0,     0,    45,    46,    47,    48,
662       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
663        0,     0,    18,     0,     0,    19,     0,     0,    20,    53,
664        0,    21,    22,    23,     0,     0,    24,    25,     0,     0,
665        0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
666       54,    55,     0,    56,     0,    57,    58,     0,     0,    28,
667       29,     0,   371,    59,    30,    31,     0,    32,    33,    34,
668       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
669        0,     0,    44,     0,     0,    45,    46,    47,    48,    49,
670        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
671        0,    18,     0,     0,    19,     0,     0,    20,    53,     0,
672       21,    22,    23,     0,     0,    24,    25,     0,     0,     0,
673       26,    27,     0,     0,     0,     0,     0,     0,     0,    54,
674       55,     0,    56,     0,    57,    58,     0,     0,    28,    29,
675        0,   426,    59,    30,    31,     0,    32,    33,    34,    35,
676       36,    37,     0,    38,    39,    40,    41,    42,    43,     0,
677        0,    44,     0,     0,    45,    46,    47,    48,    49,     0,
678        0,     0,    50,    51,    52,     0,     0,     0,     0,     0,
679       18,     0,     0,    19,     0,     0,    20,    53,     0,    21,
680       22,    23,     0,     0,    24,    25,     0,     0,     0,    26,
681       27,     0,     0,     0,     0,     0,     0,     0,    54,    55,
682        0,    56,     0,    57,    58,     0,     0,    28,    29,     0,
683      459,    59,    30,    31,     0,    32,    33,    34,    35,    36,
684       37,     0,    38,    39,    40,    41,    42,    43,     0,     0,
685       44,     0,     0,    45,    46,    47,    48,    49,     0,     0,
686        0,    50,    51,    52,     0,     0,     0,     0,     0,    18,
687        0,     0,    19,     0,     0,    20,    53,     0,    21,    22,
688       23,     0,     0,    24,    25,     0,     0,     0,    26,    27,
689        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
690       56,     0,    57,    58,     0,     0,    28,    29,     0,     0,
691       59,    30,    31,     0,    32,    33,    34,    35,    36,    37,
692        0,    38,    39,    40,    41,    42,    43,     0,     0,    44,
693        0,     0,    45,    46,    47,    48,    49,     0,     0,     0,
694       50,    51,    52,     0,     0,     0,     0,     0,  -335,     0,
695        0,  -335,     0,     0,  -335,    53,     0,  -335,  -335,  -335,
696        0,     0,  -335,  -335,     0,     0,     0,  -335,  -335,     0,
697        0,     0,     0,     0,     0,     0,    54,    55,     0,    56,
698        0,    57,    58,     0,     0,  -335,  -335,     0,     0,   288,
699     -335,  -335,     0,  -335,  -335,  -335,  -335,  -335,  -335,     0,
700     -335,  -335,  -335,  -335,  -335,  -335,     0,     0,  -335,     0,
701        0,  -335,  -335,  -335,  -335,  -335,     0,     0,     0,  -335,
702     -335,  -335,     0,     0,     0,     0,     0,     0,     0,     0,
703        0,     0,     0,     0,  -335,     0,     0,     0,     0,     0,
704        0,     0,     0,   197,     0,     0,     0,     0,     0,     0,
705      198,   199,   200,     0,     0,  -335,  -335,     0,  -335,     0,
706     -335,  -335,     0,   201,     0,     0,     0,     0,  -335,   202,
707      203,   204,   450,   205,   206,   207,   208,   209,   210,   211,
708      212,   213,   214,   215,   216,   217,   218,   219,   220,     0,
709        0,     0,     0,   221,   197,     0,   222,   223,   224,   225,
710      226,   198,   199,   200,     0,     0,     0,     0,     0,     0,
711        0,     0,     0,     0,   201,     0,     0,     0,     0,     0,
712      202,   203,   204,     0,   205,   206,   207,   208,   209,   210,
713      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
714        0,     0,     0,     0,   221,   197,     0,   222,   223,   224,
715      225,   226,   198,   199,   200,     0,     0,     0,     0,     0,
716        0,     0,     0,     0,     0,  -337,     0,     0,     0,     0,
717        0,   202,   203,   204,     0,   205,   206,   207,   208,   209,
718      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
719      220,     0,     0,     0,     0,   221,   197,     0,   222,   223,
720      224,   225,   226,   198,   199,   200,     0,     0,     0,     0,
721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
722        0,     0,   202,   203,   204,     0,   205,   206,   207,   208,
723      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
724      219,   220,     0,     0,     0,     0,   221,   197,     0,   222,
725      223,   224,   225,   226,   198,   199,   200,     0,     0,     0,
726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
727        0,     0,   198,   199,   200,   204,     0,   205,   206,   207,
728      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
729      218,   219,   220,     0,     0,     0,     0,   221,  -337,     0,
730      222,   223,   224,   225,   226,   198,   199,   200,   218,   219,
731      220,     0,     0,     0,     0,   221,     0,     0,   222,   223,
732      224,   225,   226,     0,     0,     0,     0,     0,   205,   206,
733      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
734      217,   218,   219,   220,   198,   199,   200,     0,   221,     0,
735        0,   222,   223,   224,   225,   226,     0,     0,     0,     0,
736        0,     0,     0,     0,     0,     0,     0,   198,   199,   200,
737      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
738      218,   219,   220,     0,     0,     0,     0,   221,     0,     0,
739      222,   223,   224,   225,   226,   210,   211,   212,   213,   214,
740      215,   216,   217,   218,   219,   220,   198,   199,   200,     0,
741      221,     0,     0,   222,   223,   224,   225,   226,     0,     0,
742        0,     0,     0,     0,     0,     0,     0,   198,   199,   200,
743        0,     0,     0,     0,     0,   211,   212,   213,   214,   215,
744      216,   217,   218,   219,   220,     0,   198,   199,   200,   221,
745        0,     0,   222,   223,   224,   225,   226,   212,   213,   214,
746      215,   216,   217,   218,   219,   220,   198,   199,   200,     0,
747      221,     0,     0,   222,   223,   224,   225,   226,   214,   215,
748      216,   217,   218,   219,   220,   198,   199,   200,     0,   221,
749        0,     0,   222,   223,   224,   225,   226,     0,     0,     0,
750      216,   217,   218,   219,   220,   198,   199,   200,     0,   221,
751        0,     0,   222,   223,   224,   225,   226,     0,     0,  -337,
752      217,   218,   219,   220,     0,     0,     0,     0,   221,     0,
753        0,   222,   223,   224,   225,   226,     0,     0,     0,     0,
754      217,   218,   219,   220,     0,     0,     0,     0,   221,     0,
755        0,   222,   223,   224,   225,   226
756 };
757
758 static const yytype_int16 yycheck[] =
759 {
760       10,    17,    49,   149,    19,   400,    53,    11,    27,    19,
761      304,    12,   109,    27,    18,    11,    20,    13,    22,    16,
762       24,    25,    16,    20,   150,    29,    10,    24,    16,    87,
763       34,    35,   553,    13,   577,    19,    51,   104,    11,    49,
764       11,    51,    30,   110,    48,    49,    50,   102,   174,    22,
765       11,    22,    11,    22,    18,    16,    20,    16,    22,     9,
766       24,    25,     0,    27,    25,   110,   111,    51,    31,    11,
767       34,    35,   130,    92,    11,    59,    13,    18,    92,    42,
768       11,    22,    13,    24,    25,    49,    50,    11,    13,    13,
769       59,   108,   109,    34,    35,    56,   100,    56,    15,    13,
770       61,   111,    61,   150,    84,    11,    23,    13,    49,    50,
771       14,    10,    11,   123,    13,   116,   108,    16,   130,   138,
772      663,    20,   169,   120,   138,    24,    25,   174,    92,   650,
773       14,    95,   120,   130,   130,    85,   130,   147,   148,   149,
774      150,   130,   130,    14,    22,   160,   161,    84,    94,    95,
775      160,   161,   156,    84,   300,   139,    14,   161,    57,    84,
776       84,    56,   259,    16,   174,   262,    61,    20,   130,   153,
777      390,    24,    15,    14,   138,   159,   160,   161,   110,    16,
778      400,   130,    81,    20,    11,   405,   406,    24,    92,    93,
779       94,    95,   127,   128,    11,    14,    13,   161,    11,   183,
780      184,   185,   186,   130,   188,   189,   190,    22,    92,    93,
781       94,    95,    33,    34,    92,    93,    94,    95,    56,   235,
782      161,    92,    93,    94,    95,    56,   236,   246,    11,   239,
783       13,   130,   246,   130,    92,    93,    94,    95,    14,   385,
784       11,   130,    13,   227,   228,   229,   230,   231,   232,   233,
785      234,    92,    93,    94,    95,    11,   130,    13,    22,   263,
786      307,    14,   226,   268,   269,   660,   271,   272,   130,   563,
787      130,    11,   492,    92,    93,    94,    95,    92,    93,    94,
788       95,    22,   246,   267,   268,   269,   270,   271,   272,    22,
789      300,   306,    39,   243,   244,   245,   306,   247,   248,    22,
790      250,   251,   252,   253,   288,    32,    22,    22,    35,    36,
791       37,    38,    14,   439,    41,    84,    92,    93,    94,    95,
792       59,    84,   306,   130,   129,    87,   546,   547,    92,    93,
793       94,    95,   316,   129,    22,    13,   320,    56,    56,    92,
794       93,    94,    95,    92,    93,    94,    95,    92,    93,    94,
795       95,    92,    93,    94,    95,    56,    84,   130,   362,   120,
796      506,   582,    44,    61,   584,    92,    93,    94,    95,    92,
797       93,    94,    95,    15,    88,   385,   360,   361,    59,    59,
798      129,   129,   401,    22,   368,    12,   130,   401,    13,   609,
799      400,   407,   439,    78,   615,   616,   617,    25,   362,    25,
800       18,    25,   129,    25,    25,   389,   390,    59,    97,   629,
801      631,   632,    56,   423,   424,   561,   400,   130,    22,   403,
802      404,   405,   406,   433,    97,   130,   129,   437,   392,   439,
803      651,   116,    12,    12,   560,    12,   121,   401,   659,   124,
804      125,   126,   127,   128,    16,    12,   461,    92,    93,    94,
805       95,   461,   402,    92,    93,    94,    95,    12,   408,   129,
806      129,   411,   446,   130,    32,    10,   129,    35,    36,    37,
807       38,    16,    22,    41,   129,    20,   129,   461,   129,    24,
808      129,   431,   130,    56,   129,    30,   541,   542,    11,   499,
809       11,   501,    88,   548,    78,    12,   506,   129,    22,   554,
810      555,    92,    93,    94,    95,    15,   129,    22,   492,    22,
811      130,    86,   129,   560,   129,    22,   130,   481,   129,   129,
812      129,   471,   130,   473,    92,    93,    94,    95,   129,    45,
813      585,   586,   587,    17,   484,   519,   591,   121,   129,   129,
814      124,   125,   126,   127,   128,    85,   562,   129,   603,    13,
815      560,   561,   116,   129,   583,   610,   611,   573,    92,    93,
816       94,    95,   546,   547,   403,   660,   576,   577,   501,   290,
817      281,   425,   582,    92,    93,    94,    95,   424,   514,   634,
818      593,    78,    79,   599,   138,   431,   602,   401,   538,   246,
819      600,    -1,   647,    -1,    -1,   129,    -1,    -1,    -1,   583,
820      584,    -1,    -1,   658,    -1,   615,   616,   617,    -1,    -1,
821      129,    -1,    -1,   668,   578,    -1,    -1,    -1,   115,   116,
822       -1,   631,   632,    -1,   121,   609,   590,   124,   125,   126,
823      127,   128,    -1,   643,    -1,   639,    -1,    -1,    -1,   655,
824       -1,   651,    -1,   593,    -1,   629,    -1,    -1,    -1,   659,
825      660,    -1,    21,   663,    23,    -1,    -1,    26,    -1,    28,
826       29,    92,    93,    94,    95,    -1,    -1,    92,    93,    94,
827       95,    -1,    41,    -1,    -1,    44,    -1,    -1,    -1,    48,
828       -1,     0,     1,    -1,    -1,    54,    55,    56,    57,    58,
829       -1,    10,    11,    -1,    13,    -1,    -1,    16,   129,    -1,
830       19,    20,    21,    22,   129,    24,    25,    26,    27,    28,
831       29,    30,    31,    32,    -1,    -1,    35,    36,    37,    38,
832       -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
833       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
834       59,    60,    -1,    62,    63,    64,    65,    66,    67,    68,
835       69,    70,    -1,    72,    73,    74,    75,    76,    77,    -1,
836       -1,    -1,    81,    82,    83,    92,    93,    94,    95,   138,
837       89,   124,   125,   126,   127,   128,    -1,    96,     3,     4,
838        5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,
839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
840       -1,   120,   129,   122,   123,    -1,    -1,    -1,    -1,    -1,
841       -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,   187,    -1,
842       -1,    -1,    -1,    -1,   193,    -1,    -1,   196,   197,   198,
843      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
844      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
845      219,   220,   221,     0,     1,    -1,   225,    -1,    -1,    -1,
846       -1,    -1,    -1,    10,    11,    -1,    13,    -1,    -1,    16,
847       -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
848       27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
849       37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
850       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
851       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
852       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
853       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
854       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
857      117,   118,    -1,   120,    -1,   122,   123,    -1,    10,    11,
858       12,    13,    -1,   130,    16,    -1,    -1,    19,    20,    21,
859       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
860       32,    -1,    -1,    35,    36,    37,    38,    -1,    40,    41,
861       42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
862       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
863       62,    63,    64,    65,    66,    67,    68,    69,    70,    -1,
864       72,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
865       82,    83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
866       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
868       -1,   450,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,
869      122,   123,    -1,    -1,     1,    -1,    -1,    -1,   130,    -1,
870       -1,    -1,    -1,    10,    11,    12,    13,    -1,    -1,    16,
871       -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
872       27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
873       37,    38,    -1,    40,    41,    42,    43,    -1,   507,    46,
874       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
875       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
876       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
877       77,   540,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
878       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
880       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
881      117,   118,    -1,   120,    -1,   122,   123,    -1,    10,    11,
882       12,    13,    -1,   130,    16,    -1,    -1,    19,    20,    21,
883       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
884       32,    -1,    -1,    35,    36,    37,    38,    -1,    40,    41,
885       42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
886       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
887       62,    63,    64,    65,    66,    67,    68,    69,    70,    -1,
888       72,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
889       82,    83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
890       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
892       -1,    -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,
893      122,   123,    -1,    10,    11,    12,    13,    -1,   130,    16,
894       -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
895       27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
896       37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
897       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
898       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
899       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
900       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
901       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
904      117,   118,    -1,   120,    -1,   122,   123,    -1,    10,    11,
905       12,    13,    -1,   130,    16,    -1,    -1,    19,    20,    21,
906       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
907       32,    -1,    -1,    35,    36,    37,    38,    -1,    40,    41,
908       42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
909       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
910       62,    63,    64,    65,    66,    67,    68,    69,    70,    -1,
911       72,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
912       82,    83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,
913       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
915       -1,    -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,
916      122,   123,    -1,    10,    11,    12,    13,    -1,   130,    16,
917       -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
918       27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
919       37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
920       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
921       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
922       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
923       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
924       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
927      117,   118,    -1,   120,    -1,   122,   123,    -1,    10,    11,
928       -1,    13,    -1,   130,    16,    -1,    -1,    19,    20,    21,
929       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
930       32,    -1,    -1,    35,    36,    37,    38,    -1,    40,    41,
931       42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
932       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
933       62,    63,    64,    65,    66,    67,    68,    69,    70,    -1,
934       72,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
935       82,    83,    -1,    -1,    86,    -1,    -1,    89,    -1,    -1,
936       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
938       -1,    -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,
939      122,   123,    -1,    10,    11,    -1,    13,    -1,   130,    16,
940       -1,    -1,    19,    20,    21,    22,    -1,    24,    25,    26,
941       27,    28,    29,    30,    31,    32,    -1,    -1,    35,    36,
942       37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
943       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
944       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
945       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
946       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
947       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,
948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
950      117,   118,    -1,   120,    -1,   122,   123,    -1,    10,    11,
951       -1,    13,    -1,   130,    16,    -1,    -1,    19,    20,    21,
952       22,    -1,    24,    25,    26,    27,    28,    29,    30,    31,
953       32,    -1,    -1,    35,    36,    37,    38,    -1,    40,    41,
954       42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
955       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
956       62,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
957       72,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
958       82,    83,    -1,     1,    -1,    -1,    -1,    89,    -1,    -1,
959       -1,    -1,    10,    -1,    96,    13,    -1,    -1,    16,    -1,
960       -1,    19,    20,    21,    22,    -1,    24,    25,    -1,    -1,
961       -1,    29,    30,    -1,    -1,   117,   118,    -1,   120,    -1,
962      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,   130,    47,
963       48,    -1,    -1,    -1,    52,    53,    -1,    55,    56,    57,
964       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
965       -1,    -1,    70,    -1,    -1,    73,    74,    75,    76,    77,
966       -1,    -1,     1,    81,    82,    83,    -1,    -1,    -1,    -1,
967       -1,    10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,
968       19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,
969       29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
970      118,    -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,
971       -1,    -1,   130,    52,    53,    -1,    55,    56,    57,    58,
972       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
973       -1,    70,    -1,    -1,    73,    74,    75,    76,    77,    -1,
974       -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,
975       10,    11,    -1,    13,    -1,    -1,    16,    96,    -1,    19,
976       20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,
977       30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
978       -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,
979      129,   130,    52,    53,    -1,    55,    56,    57,    58,    59,
980       60,    61,    62,    63,    64,    65,    66,    67,    -1,    -1,
981       70,    -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,
982       -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,
983       11,    -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,
984       21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,
985       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,
986      120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,
987      130,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
988       -1,    62,    63,    64,    65,    66,    67,    -1,    -1,    70,
989       -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
990       81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,
991       -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,    21,
992       -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,
993       -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,
994       -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,
995       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
996       62,    63,    64,    65,    66,    67,    -1,    -1,    70,    -1,
997       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
998       82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
999       13,    -1,    -1,    16,    96,    -1,    19,    20,    21,    -1,
1000       -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,    -1,
1001       -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,
1002      122,   123,    -1,    -1,    47,    48,    -1,   129,   130,    52,
1003       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
1004       63,    64,    65,    66,    67,    -1,    -1,    70,    -1,    -1,
1005       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
1006       83,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
1007       -1,    -1,    16,    96,    -1,    19,    20,    21,    -1,    -1,
1008       24,    25,    -1,    -1,    -1,    29,    30,    -1,    -1,    -1,
1009       -1,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,   122,
1010      123,    -1,    -1,    47,    48,    -1,   129,   130,    52,    53,
1011       -1,    55,    56,    57,    58,    59,    60,    -1,    62,    63,
1012       64,    65,    66,    67,    -1,    -1,    70,    -1,    -1,    73,
1013       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
1014       -1,    -1,    -1,    -1,    -1,    10,    11,    -1,    13,    -1,
1015       -1,    16,    96,    -1,    19,    20,    21,    -1,    -1,    24,
1016       25,    -1,    -1,    -1,    29,    30,    -1,    -1,    -1,    -1,
1017       -1,    -1,    -1,   117,   118,    -1,   120,    -1,   122,   123,
1018       -1,    -1,    47,    48,    -1,   129,   130,    52,    53,    -1,
1019       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
1020       65,    66,    67,    -1,    -1,    70,    -1,    -1,    73,    74,
1021       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    -1,
1022       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
1023       16,    96,    -1,    19,    20,    21,    -1,    -1,    24,    25,
1024       -1,    -1,    -1,    29,    30,    -1,    -1,    -1,    -1,    -1,
1025       -1,    -1,   117,   118,    -1,   120,    -1,   122,   123,    -1,
1026       -1,    47,    48,    -1,    -1,   130,    52,    53,    -1,    55,
1027       56,    57,    58,    59,    60,    -1,    62,    63,    64,    65,
1028       66,    67,    -1,    -1,    70,    -1,    -1,    73,    74,    75,
1029       76,    77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
1030       -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,
1031       96,    -1,    19,    20,    21,    -1,    -1,    24,    25,    -1,
1032       -1,    -1,    29,    30,    -1,    -1,    -1,    -1,    -1,    -1,
1033       -1,   117,   118,    -1,   120,    -1,   122,   123,    -1,    -1,
1034       47,    48,    -1,   129,   130,    52,    53,    -1,    55,    56,
1035       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
1036       67,    -1,    -1,    70,    -1,    -1,    73,    74,    75,    76,
1037       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
1038       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,    96,
1039       -1,    19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,
1040       -1,    29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1041      117,   118,    -1,   120,    -1,   122,   123,    -1,    -1,    47,
1042       48,    -1,   129,   130,    52,    53,    -1,    55,    56,    57,
1043       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
1044       -1,    -1,    70,    -1,    -1,    73,    74,    75,    76,    77,
1045       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
1046       -1,    10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,
1047       19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,
1048       29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
1049      118,    -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,
1050       -1,   129,   130,    52,    53,    -1,    55,    56,    57,    58,
1051       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
1052       -1,    70,    -1,    -1,    73,    74,    75,    76,    77,    -1,
1053       -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,
1054       10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,    19,
1055       20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,
1056       30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
1057       -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,
1058      129,   130,    52,    53,    -1,    55,    56,    57,    58,    59,
1059       60,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
1060       70,    -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,
1061       -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,
1062       -1,    -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,
1063       21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,
1064       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,
1065      120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,
1066      130,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
1067       -1,    62,    63,    64,    65,    66,    67,    -1,    -1,    70,
1068       -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
1069       81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,
1070       -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,    21,
1071       -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,
1072       -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,
1073       -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,
1074       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
1075       62,    63,    64,    65,    66,    67,    -1,    -1,    70,    -1,
1076       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
1077       82,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1078       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
1079       -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
1080       78,    79,    80,    -1,    -1,   117,   118,    -1,   120,    -1,
1081      122,   123,    -1,    91,    -1,    -1,    -1,    -1,   130,    97,
1082       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1083      108,   109,   110,   111,   112,   113,   114,   115,   116,    -1,
1084       -1,    -1,    -1,   121,    71,    -1,   124,   125,   126,   127,
1085      128,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
1086       -1,    -1,    -1,    -1,    91,    -1,    -1,    -1,    -1,    -1,
1087       97,    98,    99,    -1,   101,   102,   103,   104,   105,   106,
1088      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1089       -1,    -1,    -1,    -1,   121,    71,    -1,   124,   125,   126,
1090      127,   128,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
1091       -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,    -1,    -1,
1092       -1,    97,    98,    99,    -1,   101,   102,   103,   104,   105,
1093      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1094      116,    -1,    -1,    -1,    -1,   121,    71,    -1,   124,   125,
1095      126,   127,   128,    78,    79,    80,    -1,    -1,    -1,    -1,
1096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1097       -1,    -1,    97,    98,    99,    -1,   101,   102,   103,   104,
1098      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1099      115,   116,    -1,    -1,    -1,    -1,   121,    71,    -1,   124,
1100      125,   126,   127,   128,    78,    79,    80,    -1,    -1,    -1,
1101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1102       -1,    -1,    78,    79,    80,    99,    -1,   101,   102,   103,
1103      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1104      114,   115,   116,    -1,    -1,    -1,    -1,   121,    71,    -1,
1105      124,   125,   126,   127,   128,    78,    79,    80,   114,   115,
1106      116,    -1,    -1,    -1,    -1,   121,    -1,    -1,   124,   125,
1107      126,   127,   128,    -1,    -1,    -1,    -1,    -1,   101,   102,
1108      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1109      113,   114,   115,   116,    78,    79,    80,    -1,   121,    -1,
1110       -1,   124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
1111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    79,    80,
1112      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1113      114,   115,   116,    -1,    -1,    -1,    -1,   121,    -1,    -1,
1114      124,   125,   126,   127,   128,   106,   107,   108,   109,   110,
1115      111,   112,   113,   114,   115,   116,    78,    79,    80,    -1,
1116      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,    -1,
1117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    79,    80,
1118       -1,    -1,    -1,    -1,    -1,   107,   108,   109,   110,   111,
1119      112,   113,   114,   115,   116,    -1,    78,    79,    80,   121,
1120       -1,    -1,   124,   125,   126,   127,   128,   108,   109,   110,
1121      111,   112,   113,   114,   115,   116,    78,    79,    80,    -1,
1122      121,    -1,    -1,   124,   125,   126,   127,   128,   110,   111,
1123      112,   113,   114,   115,   116,    78,    79,    80,    -1,   121,
1124       -1,    -1,   124,   125,   126,   127,   128,    -1,    -1,    -1,
1125      112,   113,   114,   115,   116,    78,    79,    80,    -1,   121,
1126       -1,    -1,   124,   125,   126,   127,   128,    -1,    -1,   112,
1127      113,   114,   115,   116,    -1,    -1,    -1,    -1,   121,    -1,
1128       -1,   124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
1129      113,   114,   115,   116,    -1,    -1,    -1,    -1,   121,    -1,
1130       -1,   124,   125,   126,   127,   128
1131 };
1132
1133   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1134      symbol of state STATE-NUM.  */
1135 static const yytype_uint8 yystos[] =
1136 {
1137        0,     3,     4,     5,     6,     7,     8,     9,   132,   133,
1138      134,   135,   136,   137,   138,   139,     0,   144,    10,    13,
1139       16,    19,    20,    21,    24,    25,    29,    30,    47,    48,
1140       52,    53,    55,    56,    57,    58,    59,    60,    62,    63,
1141       64,    65,    66,    67,    70,    73,    74,    75,    76,    77,
1142       81,    82,    83,    96,   117,   118,   120,   122,   123,   130,
1143      142,   204,   205,   206,   209,   210,   211,   212,   213,   214,
1144      215,   216,   217,   218,   220,   227,   235,   236,   237,   238,
1145      239,   240,   241,   242,   243,    11,   141,     1,    22,    26,
1146       27,    28,    31,    32,    35,    36,    37,    38,    40,    41,
1147       42,    43,    46,    49,    50,    51,    54,    68,    72,    89,
1148      140,   141,   154,   168,   204,   224,    69,   152,   153,   154,
1149      142,   150,   197,   198,   150,    56,    61,   141,   236,   244,
1150      227,   244,   218,   244,   218,   244,   244,   218,   120,   130,
1151      221,   236,   237,   238,   218,   141,   218,   180,   180,   181,
1152      244,   244,   219,    13,   130,   218,   180,   218,   130,   130,
1153       87,   130,   141,   218,    56,   142,   205,   226,   236,   244,
1154      244,   227,    56,    61,   183,   205,   218,   218,   218,   218,
1155      218,   129,   204,    92,    93,    94,    95,    15,    11,    13,
1156      130,   110,   111,   110,   108,   109,   108,    71,    78,    79,
1157       80,    91,    97,    98,    99,   101,   102,   103,   104,   105,
1158      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1159      116,   121,   124,   125,   126,   127,   128,   130,    11,    13,
1160       11,    13,    11,    13,    11,   144,   182,    56,    56,   222,
1161      236,   237,   238,   130,   130,    30,   120,   130,   234,   236,
1162      130,   130,   130,   130,   141,    11,   145,   145,   179,   183,
1163       22,   179,   183,    39,   142,   170,    22,    32,    35,    36,
1164       37,    38,    41,    22,   153,   154,   152,    16,    20,    24,
1165      142,   188,   189,   191,   192,   193,   194,    14,   130,   218,
1166      221,   236,   237,   238,   129,   204,    84,   186,    59,   142,
1167      184,    84,   142,   185,   185,   226,   130,    87,   204,   129,
1168      141,   129,   129,   204,   227,   227,   244,   205,    22,   226,
1169       13,   129,   204,   204,   204,   204,   218,   204,   204,   129,
1170      204,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1171      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1172      218,   218,   218,   218,   218,   218,   218,   218,   218,    10,
1173       11,    13,    16,    20,    24,    25,    57,    81,   130,   208,
1174      236,   129,   204,   204,   204,   204,   204,   204,   204,   204,
1175      150,    56,   142,   178,    56,    56,    84,   142,   223,   144,
1176      144,   120,   144,    30,   232,   233,   235,   236,   237,   238,
1177      144,   144,   130,   144,   144,   144,   144,   146,    44,   158,
1178      179,   157,   179,   141,   167,   204,   167,   167,   175,   204,
1179      167,   167,    61,   187,   187,    15,   129,   204,   186,   129,
1180       59,   185,    59,   144,   202,   202,   227,   205,    14,   207,
1181      129,    88,   129,   204,    12,   204,    13,    22,    14,   129,
1182      100,    25,   204,   204,    25,    25,    25,    25,    25,   129,
1183      204,   130,   129,    22,    14,    22,    14,    22,    14,    22,
1184       12,    18,   143,    11,    22,   185,    59,    97,   176,   204,
1185      176,   130,   229,   236,   130,   142,   168,   173,   176,   177,
1186      204,   232,   144,   175,   174,   204,   176,   176,   150,   144,
1187       56,   155,    22,   144,   199,   200,   156,    97,   142,   190,
1188      190,   192,   129,   200,   130,   142,   195,   196,   129,    23,
1189      142,   228,   226,   129,    14,   204,    12,   218,    22,    14,
1190      129,   227,    12,    12,    12,    12,   144,   144,    11,    22,
1191      225,   129,   129,   230,   231,   236,   130,   144,   129,    22,
1192      161,   176,   129,   129,   129,   129,    12,   130,   142,   147,
1193       56,   184,    11,   185,   218,   197,    11,   204,    88,    14,
1194       12,   129,    22,   163,   144,   218,   145,   145,    15,   129,
1195      176,   176,   145,   159,   130,   129,   172,   172,   145,   145,
1196      148,   162,   226,   185,   150,    22,   201,   202,   129,   203,
1197       86,   150,   164,    33,    34,   142,   169,   169,   236,   130,
1198      129,   129,   170,   174,   176,   145,   145,   145,   236,   145,
1199       22,   199,    12,   150,   142,   151,    12,   150,   145,   130,
1200      176,   145,   145,    22,   129,   170,   170,   170,   149,    45,
1201      171,    12,    22,    59,   165,    12,   176,   129,   170,   170,
1202      160,   145,   129,   141,    17,    85,   142,   166,   129,   145,
1203      172,   170,   150,   145,   170,   177,    86,   169,   129,   145
1204 };
1205
1206   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1207 static const yytype_uint8 yyr1[] =
1208 {
1209        0,   131,   133,   132,   134,   132,   135,   132,   136,   132,
1210      137,   132,   138,   132,   139,   132,   140,   140,   141,   142,
1211      143,   144,   145,   146,   147,   148,   149,   147,   150,   150,
1212      151,   151,   152,   152,   153,   153,   154,   154,   155,   154,
1213      156,   154,   157,   154,   154,   154,   158,   154,   154,   154,
1214      154,   154,   154,   154,   154,   159,   160,   154,   154,   154,
1215      154,   161,   154,   154,   154,   162,   154,   154,   163,   154,
1216      164,   154,   154,   154,   154,   154,   154,   165,   166,   166,
1217      167,   168,   168,   168,   168,   168,   168,   168,   168,   169,
1218      169,   169,   170,   170,   171,   171,   172,   173,   173,   174,
1219      174,   175,   176,   177,   178,   178,   179,   180,   181,   182,
1220      183,   183,   184,   184,   185,   185,   185,   186,   186,   187,
1221      187,   188,   188,   189,   190,   190,   190,   191,   192,   192,
1222      193,   193,   193,   194,   194,   195,   195,   196,   198,   197,
1223      199,   199,   200,   201,   201,   203,   202,   204,   204,   204,
1224      204,   204,   205,   205,   205,   206,   206,   206,   206,   206,
1225      206,   206,   206,   206,   207,   206,   208,   208,   209,   209,
1226      209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
1227      209,   209,   210,   210,   210,   210,   210,   210,   210,   210,
1228      210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
1229      210,   210,   210,   210,   211,   211,   211,   211,   211,   212,
1230      212,   213,   213,   213,   213,   214,   214,   215,   215,   215,
1231      215,   215,   215,   215,   215,   215,   216,   216,   216,   216,
1232      216,   217,   217,   218,   218,   218,   218,   218,   218,   218,
1233      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1234      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1235      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1236      218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
1237      218,   219,   218,   218,   218,   218,   220,   220,   220,   220,
1238      221,   221,   221,   221,   221,   222,   222,   222,   223,   223,
1239      223,   224,   225,   224,   226,   226,   227,   227,   228,   228,
1240      229,   230,   230,   230,   231,   232,   232,   232,   233,   233,
1241      234,   234,   235,   236,   237,   238,   239,   239,   240,   241,
1242      241,   242,   242,   243,   243,   244,   244,   244,   244
1243 };
1244
1245   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1246 static const yytype_uint8 yyr2[] =
1247 {
1248        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1249        0,     3,     0,     3,     0,     3,     1,     1,     4,     0,
1250        7,     0,     4,     0,     1,     0,     0,     5,     1,     2,
1251        1,     2,     1,     1,     2,     2,     1,     4,     0,     7,
1252        0,     6,     0,     4,     4,     5,     0,     7,     7,     7,
1253        6,     6,     2,     8,     8,     0,     0,    13,     9,    11,
1254        8,     0,    10,     9,     7,     0,     8,     2,     0,     8,
1255        0,     9,     2,     2,     2,     2,     1,     2,     1,     3,
1256        1,     1,     1,     3,     3,     3,     3,     3,     3,     1,
1257        2,     6,     1,     2,     0,     2,     0,     1,     1,     0,
1258        1,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1259        1,     1,     1,     1,     1,     2,     1,     2,     1,     0,
1260        1,     1,     1,     3,     1,     1,     2,     3,     1,     1,
1261        2,     3,     1,     1,     1,     1,     1,     3,     0,     2,
1262        1,     1,     4,     1,     1,     0,     6,     3,     3,     3,
1263        3,     1,     2,     3,     1,     3,     5,     6,     3,     3,
1264        5,     2,     4,     4,     0,     5,     1,     1,     5,     4,
1265        5,     4,     5,     6,     5,     4,     5,     4,     3,     6,
1266        4,     5,     3,     3,     3,     3,     3,     3,     3,     3,
1267        3,     3,     1,     1,     3,     3,     3,     3,     3,     3,
1268        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1269        3,     1,     3,     2,     2,     3,     3,     2,     2,     2,
1270        2,     2,     2,     2,     2,     2,     3,     4,     5,     4,
1271        4,     2,     2,     1,     1,     1,     1,     5,     2,     1,
1272        2,     3,     1,     2,     1,     1,     1,     1,     1,     1,
1273        4,     4,     5,     5,     1,     1,     3,     4,     3,     4,
1274        4,     4,     4,     4,     1,     2,     2,     1,     2,     2,
1275        1,     2,     1,     2,     1,     3,     1,     3,     1,     3,
1276        4,     0,     6,     1,     1,     1,     3,     2,     4,     3,
1277        3,     2,     1,     1,     1,     1,     1,     1,     2,     1,
1278        1,     3,     0,     6,     1,     1,     1,     1,     1,     2,
1279        1,     2,     3,     1,     1,     1,     1,     1,     1,     1,
1280        2,     2,     2,     2,     2,     2,     2,     4,     2,     1,
1281        3,     1,     3,     1,     3,     1,     1,     1,     1
1282 };
1283
1284 typedef enum {
1285         toketype_ival, toketype_opval, toketype_pval
1286 } toketypes;
1287
1288 /* type of each token/terminal */
1289 static const toketypes yy_type_tab[] =
1290 {
1291   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1292   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1293   toketype_ival, toketype_ival, toketype_ival,
1294   toketype_ival, toketype_ival, toketype_ival,
1295   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1296   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1297   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1298   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1299   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1300   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1301   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1302   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1303   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1304   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1305   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1306   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1307   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1308   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1309   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1310   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1311   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1312   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1313   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1314   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1315   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1316   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1317   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1318   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1319   toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival,
1320   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1321   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1322   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1323   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1324   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1325   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1326   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1327   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1328   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1329   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1330   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1331   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval,
1332   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1333   toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1334   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1335   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1336 };
1337
1338 /* Generated from:
1339  * ae786f28e8bc303471bcc03fc82e93a348d603252cc8c164a96cc0c26af78217 perly.y
1340  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1341  * ex: set ro ft=c: */