This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
util.c - avoid warning about truncated pointer value
[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   3664
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  131
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  113
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  337
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  669
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,  1059,  1070,  1072,  1074,  1076,
92     1078,  1082,  1084,  1089,  1093,  1097,  1101,  1107,  1112,  1118,
93     1124,  1126,  1128,  1131,  1130,  1141,  1142,  1146,  1150,  1153,
94     1158,  1163,  1166,  1170,  1174,  1180,  1188,  1195,  1201,  1203,
95     1205,  1210,  1212,  1214,  1216,  1218,  1220,  1225,  1227,  1229,
96     1231,  1233,  1235,  1237,  1239,  1241,  1243,  1245,  1247,  1249,
97     1251,  1253,  1255,  1259,  1261,  1263,  1265,  1267,  1271,  1273,
98     1277,  1279,  1281,  1283,  1287,  1289,  1294,  1296,  1299,  1301,
99     1303,  1306,  1309,  1320,  1323,  1331,  1333,  1335,  1338,  1341,
100     1349,  1351,  1355,  1356,  1357,  1358,  1359,  1361,  1363,  1365,
101     1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,  1383,  1385,
102     1395,  1405,  1415,  1425,  1427,  1429,  1432,  1437,  1441,  1443,
103     1445,  1447,  1450,  1452,  1455,  1457,  1459,  1461,  1463,  1465,
104     1467,  1469,  1471,  1474,  1476,  1478,  1480,  1482,  1484,  1488,
105     1491,  1490,  1503,  1504,  1505,  1510,  1512,  1514,  1516,  1521,
106     1523,  1526,  1528,  1530,  1535,  1540,  1545,  1553,  1555,  1557,
107     1561,  1569,  1568,  1586,  1587,  1591,  1592,  1596,  1597,  1602,
108     1607,  1609,  1613,  1616,  1620,  1621,  1622,  1625,  1626,  1629,
109     1630,  1633,  1637,  1641,  1647,  1653,  1655,  1659,  1663,  1664,
110     1668,  1669,  1673,  1674,  1679,  1681,  1683,  1686
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", "expr",
157   "listexpr", "listop", "@21", "methodname", "subscripted", "termbinop",
158   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
159   "anonymous", "termdo", "term", "@22", "myattrterm", "myterm", "fieldvar",
160   "optfieldattrlist", "fielddecl", "$@23", "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 -551
190
191 #define yypact_value_is_default(Yystate) \
192   (!!((Yystate) == (-551)))
193
194 #define YYTABLE_NINF -336
195
196 #define yytable_value_is_error(Yytable_value) \
197   (!!((Yytable_value) == (-336)))
198
199   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
200      STATE-NUM.  */
201 static const yytype_int16 yypact[] =
202 {
203      926,  -551,  -551,  -551,  -551,  -551,  -551,  -551,    34,  -551,
204     2909,    41,  1877,  1762,  -551,  -551,  -551,  -551,    46,  2909,
205       46,  2909,    46,  2909,    46,    46,  2909,    12,  2909,  2198,
206     -551,  -551,  -551,  -551,    46,    46,  -551,  -551,    42,   -66,
207     -551,  2909,  -551,  -551,  2909,   -41,   -38,   -64,  2198,  2119,
208       46,  2909,   -23,  2909,  2909,  2909,  2909,  2909,  2909,  2277,
209     -551,   680,   101,  -551,     4,  -551,   -42,    10,    63,    22,
210     -551,  -551,  -551,  3152,  -551,  -551,    18,   185,   200,   212,
211     -551,   151,   219,   229,   192,  -551,  -551,  -551,  -551,  -551,
212      160,   177,   129,    82,   111,    13,   127,   134,   175,   180,
213       41,   300,   300,  -551,   -23,  -551,  -551,  -551,   292,  -551,
214      -23,   276,  -551,   303,   432,   313,  1762,  -551,  -551,  -551,
215     -551,   660,  -551,   384,   832,  -551,  -551,  -551,  -551,  -551,
216      323,  -551,   329,  -551,   329,  -551,  -551,   317,  2988,  2356,
217      255,  -551,  -551,  -551,   317,  -551,   317,   281,   261,   261,
218     2909,   216,   266,  2909,   230,   317,    41,  3152,   232,  2435,
219     2909,  2119,  -551,   317,  3067,  -551,   101,  -551,  2514,  2909,
220     -551,   326,  -551,  -551,  2909,   101,   329,   329,   329,   642,
221      642,   350,   262,  2909,  2909,  2909,  2909,  2909,  2909,  2909,
222     2593,  -551,  -551,  2909,  -551,  -551,  2909,  2909,  2909,  2909,
223     2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,
224     2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,  2909,
225     2909,  2909,  -551,  -551,  -551,  2909,    84,  2672,  2909,  2909,
226     2909,  2909,  2909,  2909,  2909,  -551,   318,   324,   325,   289,
227     -551,  -551,  -551,  -551,  -551,   259,   741,  -551,  -551,   258,
228     -551,  -551,  -551,  -551,  -551,  -551,   341,  -551,  -551,  -551,
229     -551,  -551,  -551,    41,  -551,  -551,  -551,  2909,  2909,  2909,
230     2909,  2909,  2909,  -551,  -551,  -551,  -551,   332,  -551,  -551,
231     -551,   332,  -551,  -551,  -551,   372,  -551,  -551,  2751,   329,
232      255,    40,   250,   278,  -551,   273,   340,  -551,  -551,  -551,
233      261,   342,  -551,  -551,  -551,  -551,  2909,  2909,    96,  -551,
234     -551,  -551,  -551,   390,   315,   282,  2909,   101,   398,  -551,
235     2909,   399,   161,   161,  -551,  -551,  3254,    66,   100,  -551,
236      411,  3517,  3497,  3356,   329,   492,  3220,  3203,  3254,  3254,
237     3101,  3395,  3395,  3395,  3418,  3418,  3457,  3478,  3497,  3497,
238     3517,  3517,  3536,   459,  3220,   492,   329,   329,   146,   392,
239     2909,  2909,   322,   393,   400,   401,  -551,   410,  2830,   294,
240     -551,  -551,   417,    89,   115,   236,   142,   249,   159,   257,
241      947,  -551,  -551,   418,    54,   261,   380,  -551,   343,  2909,
242     2909,  -551,     6,  -551,  -551,   316,  -551,  -551,  -551,  -551,
243     1961,   129,  -551,  2909,  2909,  2909,  2909,  -551,  -551,   403,
244     -551,   426,  -551,  -551,  -551,   680,  -551,  -551,  -551,   680,
245     -551,  -551,  -551,   352,   352,   384,   -12,   449,  -551,  -551,
246     -551,  -551,  -551,   330,  -551,  -551,   334,   103,  -551,  2909,
247     -551,  -551,  -551,   500,  -551,   173,  2909,   453,  -551,  -551,
248     2909,  -551,   277,   214,  -551,  -551,  -551,  -551,  -551,  -551,
249      652,  2909,  -551,   454,  -551,   460,  -551,   462,  -551,   463,
250     -551,  -551,  -551,  -551,  -551,   156,  -551,  -551,   347,   680,
251      349,   455,   358,  -551,  -551,  -551,  -551,  -551,   351,   457,
252      183,  -551,  2909,   361,   363,   680,   365,   366,  1072,   367,
253      442,   281,  -551,   490,  -551,  -551,   261,  2909,  -551,  -551,
254     -551,  -551,    37,  -551,  -551,  -551,   491,  -551,  -551,  2909,
255     -551,   419,  -551,  -551,  -551,   224,  -551,  3305,   502,  -551,
256     -551,   386,  -551,  -551,  -551,  -551,   494,  -551,  -551,  -551,
257     2909,   300,   300,   503,   391,  -551,  2909,  2909,   300,  -551,
258      415,   404,  -551,  -551,   300,   300,  -551,  -551,  -551,  -551,
259     2909,   261,  -551,   506,  3152,   423,  -551,   680,  -551,  -551,
260     -551,  -551,   436,  -551,  -551,  3152,   247,   247,   455,   424,
261      428,   429,   276,  2909,  2909,   300,   300,   300,  -551,  -551,
262      455,   300,   507,   426,  1187,  -551,  -551,  -551,  -551,  1302,
263     -551,  1417,  -551,   300,   431,  -551,  -551,  -551,  -551,  2909,
264      300,   300,  -551,   525,   430,   276,   276,   276,  -551,   519,
265     -551,  -551,  -551,  -551,  -551,    20,  -551,  1532,  -551,  2909,
266      439,   276,   276,  -551,   300,  -551,  -551,  -551,   440,    41,
267     -551,   548,   486,  -551,  -551,   447,   300,  -551,  -551,  -551,
268      276,  -551,  -551,  -551,  -551,  -551,  -551,   300,   276,  2040,
269     -551,  1647,   247,  -551,   448,  -551,  -551,   300,  -551
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,   269,     0,
280      107,   107,   108,   282,     0,     0,   253,   280,   241,   275,
281      277,   271,   107,   284,   263,   273,     0,     0,   266,    19,
282        0,    19,     0,     0,     0,     0,     0,     0,     0,     0,
283      305,   306,   150,   283,   248,   232,   191,   203,   192,   210,
284      233,   234,   235,   153,   238,     5,   254,   243,   246,   245,
285      247,   244,     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,   334,   337,   336,   335,   321,
290        0,   322,   216,   324,   217,   323,   327,   239,     0,     0,
291      286,   291,   293,   292,   270,   231,   230,    19,    19,    19,
292       19,     0,     0,     0,     0,   272,     0,   264,     0,     0,
293       19,    19,   267,   268,   282,   303,   304,   160,   243,     0,
294      325,     0,   110,   111,    19,   265,   218,   219,   237,   223,
295      224,   242,     0,     0,     0,     0,     0,   151,     0,     0,
296        0,   206,   205,     0,   213,   212,     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,   220,   221,   222,     0,     0,     0,     0,     0,
300        0,     0,     0,     0,     0,    19,    19,     0,     0,    19,
301      294,   296,   295,    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,   225,     0,   288,
306        0,   243,   246,   245,   290,     0,   118,   285,   113,   112,
307       19,   116,   114,    21,    21,   158,    19,     0,     0,   276,
308      163,   274,   278,     0,     0,     0,     0,   154,     0,   257,
309        0,   240,   148,   149,   146,   147,   152,     0,     0,   177,
310        0,   209,   215,   195,   184,   186,   188,   202,   182,   183,
311        0,   198,   200,   199,   196,   197,   194,   193,   214,   211,
312      208,   204,   207,   190,   189,   187,   201,   185,   181,     0,
313        0,     0,     0,   331,   329,   333,   165,     0,     0,   157,
314      166,   255,     0,     0,     0,     0,     0,     0,     0,     0,
315        0,   104,   105,     0,     0,    19,   298,   299,   300,     0,
316        0,   319,     0,   320,   317,     0,   318,   314,   315,   316,
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,   242,     0,   287,   289,
320      117,    21,   115,    19,   228,   229,     0,    19,   179,    19,
321      279,   162,   161,     0,   226,     0,     0,     0,   170,   176,
322        0,   261,     0,     0,   258,   260,   259,   262,   326,   174,
323        0,    19,   256,     0,   168,     0,   249,     0,   250,     0,
324       18,    21,    37,    21,    44,     0,   297,   301,     0,   102,
325        0,     0,     0,   309,    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,   240,   227,   138,   135,     0,   136,   159,     0,
329      307,     0,   164,   155,   180,     0,   173,   236,     0,   169,
330      175,     0,   171,   251,   252,   167,     0,    68,    21,    45,
331        0,     0,     0,   313,     0,   312,     0,     0,     0,    55,
332        0,     0,    96,    96,     0,     0,    22,    25,    24,    65,
333       19,    19,    19,    21,   126,     0,    19,   308,   281,   178,
334      172,   156,     0,    19,    70,   302,    19,    19,   310,     0,
335        0,     0,    19,    99,     0,     0,     0,     0,    50,    51,
336        0,     0,     0,    21,     0,   144,    41,   143,   137,     0,
337       19,     0,    19,     0,     0,    89,    48,    49,   311,     0,
338        0,     0,    64,     0,     0,    19,    19,    19,    26,    94,
339       47,    39,   142,   145,    30,     0,    69,     0,    90,     0,
340        0,    19,    19,    56,     0,    60,    54,    53,     0,     0,
341       66,     0,    19,    31,    71,     0,     0,    58,    63,    96,
342       19,    27,    95,    20,    19,    78,    77,     0,    19,     0,
343       62,     0,    19,    59,     0,    79,    91,     0,    57
344 };
345
346   /* YYPGOTO[NTERM-NUM].  */
347 static const yytype_int16 yypgoto[] =
348 {
349     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
350       -4,   -10,  -551,    50,   -55,  -551,  -551,  -551,  -551,   -13,
351     -551,   568,   466,    28,  -551,  -551,  -551,  -551,  -551,  -551,
352     -551,  -551,  -551,  -551,  -551,  -551,    52,  -390,  -550,  -533,
353     -551,  -534,  -551,    14,   193,  -220,   -61,  -551,   -96,   137,
354     -551,  -551,   -17,   102,  -146,   311,   328,  -551,  -551,   186,
355     -551,   179,  -551,  -551,  -551,  -551,    97,  -551,    30,   184,
356     -551,  -293,    16,   -47,  -551,  -551,  -551,  -551,  -551,  -551,
357     -551,  -551,  -551,  -551,  -551,  -551,   610,  -551,  -551,   489,
358     -551,  -551,  -551,  -551,  -126,   -14,  -551,  -551,  -551,  -551,
359      223,  -551,  -551,   382,    36,   -19,   -15,  -551,  -551,  -551,
360     -551,  -551,    56
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,   649,
369      550,   591,   573,   602,   643,   656,   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,   114,    62,    63,   439,   369,    64,    65,    66,
374       67,    68,    69,    70,    71,    72,    73,   152,    74,   140,
375      239,   388,   115,   540,   167,    75,   521,   482,   543,   544,
376      394,   395,   248,    76,    77,    78,    79,    80,    81,    82,
377       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,   320,   166,   304,   124,   130,   175,    86,   142,    60,
386      486,   435,   143,   261,   127,   188,   127,   189,   127,   587,
387      127,   127,    20,   160,   305,   145,    61,   607,    20,    20,
388      127,   127,    22,   172,    16,    61,    24,   171,   173,   165,
389      112,    60,   641,   245,   162,   127,   127,   257,   319,   612,
390      446,   228,    85,   229,   128,   153,   128,    85,   128,    17,
391      128,   128,    20,   141,   154,   473,   161,    61,   191,   192,
392      128,   128,  -290,   241,   129,   182,   474,   242,   133,   642,
393      135,   136,   635,   636,   637,   168,   128,   259,   447,   158,
394      150,   151,   159,   262,   359,   360,   254,   361,   647,   648,
395      362,   264,   125,   166,   363,   169,   170,   126,   364,   365,
396      438,   463,   666,   280,   448,   659,   187,   660,   187,   292,
397      193,  -289,   317,   293,  -291,   663,   519,   166,   240,   464,
398      196,   249,   138,   246,   190,   235,   481,   299,   302,   302,
399      165,   366,   139,   247,   275,    20,   314,   315,   227,    22,
400       60,    60,   310,    24,   431,   295,   466,   127,   183,   184,
401      185,   186,  -332,   410,   165,   367,   412,   538,   148,   308,
402      480,   194,   195,   468,   291,   313,    61,    61,   539,   156,
403      488,   183,   184,   185,   186,   496,   497,   524,   183,   184,
404      185,   186,   183,   184,   185,   186,   228,   168,   229,   322,
405      323,   324,   325,   234,   327,   328,   330,   183,   184,   185,
406      186,  -328,   243,  -328,   368,   267,   237,   316,   268,   269,
407      270,   271,   380,  -330,   272,  -330,   382,   398,   529,   387,
408      230,   399,   231,   238,   183,   184,   185,   186,   569,   475,
409      232,   244,   233,   372,   373,   374,   375,   376,   377,   378,
410      379,   183,   184,   185,   186,   185,   186,   250,   465,   413,
411      437,  -328,   370,  -328,   251,   183,   184,   185,   186,   486,
412      597,   467,   551,  -336,   226,   183,   184,   185,   186,   469,
413      603,   604,   397,   415,   415,   415,   419,   415,   415,  -330,
414      302,  -330,   436,   389,   390,   392,    60,   400,   401,   528,
415      403,   404,   405,   406,   427,   252,   183,   184,   185,   186,
416      253,   255,  -102,   522,   260,   263,   183,   184,   185,   186,
417      416,   417,    61,   420,   421,   266,   580,   581,   183,   184,
418      185,   186,   443,    85,  -293,   273,   445,   287,    20,   296,
419      298,   183,   184,   185,   186,   301,   306,   454,   318,   183,
420      184,   185,   186,   307,   183,   184,   185,   186,   127,   309,
421      563,   311,  -292,   320,   614,   183,   184,   185,   186,   183,
422      184,   185,   186,   386,   381,   302,   452,   453,   125,   391,
423      384,   385,   398,   126,   460,   408,   399,   425,   402,   630,
424      485,   321,   166,   422,   498,   198,   199,   200,   128,   430,
425      277,   432,   429,   441,   278,   479,   479,   198,   279,   645,
426      444,   442,   446,   508,   508,   593,   490,   451,   455,   419,
427      495,   479,   479,   515,   461,   456,   457,   520,   483,   165,
428      217,   218,   219,   220,   592,   458,   471,   397,   221,   476,
429      477,   222,   223,   224,   225,   226,   484,   531,   502,   507,
430      221,    60,   492,   222,   223,   224,   225,   226,   499,   500,
431      514,   503,   525,   518,   267,   526,   532,   268,   269,   270,
432      271,    20,   533,   272,   534,   535,   541,    61,   542,   549,
433      548,   503,   183,   184,   185,   186,   576,   577,   546,   558,
434      552,   299,   553,   582,   554,   555,   302,   557,   560,   588,
435      589,   562,   566,   183,   184,   185,   186,   568,   479,   183,
436      184,   185,   186,   166,   570,   571,   572,   545,   578,   440,
437      579,   536,   600,   537,   183,   184,   185,   186,   595,   620,
438      615,   616,   617,   585,   547,   567,   619,   198,   199,   200,
439      449,   183,   184,   185,   186,   584,   462,   633,   628,   594,
440      165,   302,   598,   599,   609,   631,   632,   610,   611,   634,
441      601,   629,   479,   479,   639,   653,   605,   605,   646,   651,
442      198,   654,   264,   218,   219,   220,   657,   667,   512,   650,
443      221,   117,   274,   222,   223,   224,   225,   226,   574,   627,
444      624,   658,   183,   184,   185,   186,   493,   613,   664,   495,
445      479,   428,   662,   561,   511,   264,   264,   264,   220,   424,
446      510,   565,   668,   221,   608,   513,   222,   223,   224,   225,
447      226,   264,   264,   621,   491,   479,   618,   290,   396,   523,
448        0,   132,   655,   134,     0,   652,   137,     0,   144,   146,
449      264,   661,     0,   503,     0,   479,     0,     0,   264,   485,
450        0,   155,   605,     0,   157,     0,     0,     0,   163,     0,
451      -13,    87,     0,     0,   176,   177,   178,   179,   180,     0,
452       18,    85,     0,    19,     0,     0,    20,     0,     0,    21,
453       22,    23,    88,     0,    24,    25,    89,    90,    91,    26,
454       27,    92,    93,     0,     0,    94,    95,    96,    97,     0,
455       98,    99,   100,   101,     0,     0,   102,    28,    29,   103,
456      104,   105,    30,    31,   106,    32,    33,    34,    35,    36,
457       37,     0,    38,    39,    40,    41,    42,    43,   107,   116,
458       44,     0,   108,    45,    46,    47,    48,    49,     0,     0,
459        0,    50,    51,    52,   183,   184,   185,   186,   289,   109,
460        0,    18,     0,     0,     0,     0,    53,    20,     0,     0,
461        0,    22,     0,     0,     0,    24,  -336,  -336,  -336,   225,
462      226,   393,   183,   184,   185,   186,     0,    54,    55,     0,
463       56,   530,    57,    58,     0,     0,     0,     0,     0,     0,
464       59,     0,     0,     0,     0,     0,     0,   326,     0,     0,
465        0,     0,     0,   331,     0,     0,   332,   333,   334,   335,
466      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
467      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
468      356,   357,    -3,    87,     0,   358,     0,     0,     0,     0,
469        0,     0,    18,    85,     0,    19,     0,     0,    20,     0,
470        0,    21,    22,    23,    88,     0,    24,    25,    89,    90,
471       91,    26,    27,    92,    93,     0,     0,    94,    95,    96,
472       97,     0,    98,    99,   100,   101,     0,     0,   102,    28,
473       29,   103,   104,   105,    30,    31,   106,    32,    33,    34,
474       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
475      107,   116,    44,     0,   108,    45,    46,    47,    48,    49,
476        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
477        0,   109,     0,     0,     0,     0,     0,     0,    53,     1,
478        2,     3,     4,     5,     6,     7,     0,     0,     0,     0,
479        0,     0,     0,     0,     0,     0,     0,     0,    87,    54,
480       55,     0,    56,     0,    57,    58,     0,    18,    85,   470,
481       19,     0,    59,    20,     0,     0,    21,    22,    23,    88,
482        0,    24,    25,    89,    90,    91,    26,    27,    92,    93,
483        0,     0,    94,    95,    96,    97,     0,    98,    99,   100,
484      101,     0,     0,   102,    28,    29,   103,   104,   105,    30,
485       31,   106,    32,    33,    34,    35,    36,    37,     0,    38,
486       39,    40,    41,    42,    43,   107,   116,    44,     0,   108,
487       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
488       52,     0,     0,     0,     0,     0,   109,     0,     0,     0,
489        0,     0,     0,    53,     0,     0,     0,     0,     0,     0,
490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
491      527,     0,     0,     0,    54,    55,     0,    56,     0,    57,
492       58,     0,     0,    87,     0,     0,     0,    59,     0,     0,
493        0,     0,    18,    85,   556,    19,     0,     0,    20,     0,
494        0,    21,    22,    23,    88,     0,    24,    25,    89,    90,
495       91,    26,    27,    92,    93,     0,     0,    94,    95,    96,
496       97,     0,    98,    99,   100,   101,     0,   564,   102,    28,
497       29,   103,   104,   105,    30,    31,   106,    32,    33,    34,
498       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
499      107,   116,    44,     0,   108,    45,    46,    47,    48,    49,
500      575,     0,     0,    50,    51,    52,     0,     0,     0,     0,
501        0,   109,     0,     0,     0,     0,     0,     0,    53,     0,
502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
503        0,     0,     0,     0,     0,     0,     0,     0,    87,    54,
504       55,     0,    56,     0,    57,    58,     0,    18,    85,   622,
505       19,     0,    59,    20,     0,     0,    21,    22,    23,    88,
506        0,    24,    25,    89,    90,    91,    26,    27,    92,    93,
507        0,     0,    94,    95,    96,    97,     0,    98,    99,   100,
508      101,     0,     0,   102,    28,    29,   103,   104,   105,    30,
509       31,   106,    32,    33,    34,    35,    36,    37,     0,    38,
510       39,    40,    41,    42,    43,   107,   116,    44,     0,   108,
511       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
512       52,     0,     0,     0,     0,     0,   109,     0,     0,     0,
513        0,     0,     0,    53,     0,     0,     0,     0,     0,     0,
514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
515        0,     0,     0,    87,    54,    55,     0,    56,     0,    57,
516       58,     0,    18,    85,   623,    19,     0,    59,    20,     0,
517        0,    21,    22,    23,    88,     0,    24,    25,    89,    90,
518       91,    26,    27,    92,    93,     0,     0,    94,    95,    96,
519       97,     0,    98,    99,   100,   101,     0,     0,   102,    28,
520       29,   103,   104,   105,    30,    31,   106,    32,    33,    34,
521       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
522      107,   116,    44,     0,   108,    45,    46,    47,    48,    49,
523        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
524        0,   109,     0,     0,     0,     0,     0,     0,    53,     0,
525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
526        0,     0,     0,     0,     0,     0,     0,     0,    87,    54,
527       55,     0,    56,     0,    57,    58,     0,    18,    85,   626,
528       19,     0,    59,    20,     0,     0,    21,    22,    23,    88,
529        0,    24,    25,    89,    90,    91,    26,    27,    92,    93,
530        0,     0,    94,    95,    96,    97,     0,    98,    99,   100,
531      101,     0,     0,   102,    28,    29,   103,   104,   105,    30,
532       31,   106,    32,    33,    34,    35,    36,    37,     0,    38,
533       39,    40,    41,    42,    43,   107,   116,    44,     0,   108,
534       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
535       52,     0,     0,     0,     0,     0,   109,     0,     0,     0,
536        0,     0,     0,    53,     0,     0,     0,     0,     0,     0,
537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
538        0,     0,     0,    87,    54,    55,     0,    56,     0,    57,
539       58,     0,    18,    85,   644,    19,     0,    59,    20,     0,
540        0,    21,    22,    23,    88,     0,    24,    25,    89,    90,
541       91,    26,    27,    92,    93,     0,     0,    94,    95,    96,
542       97,     0,    98,    99,   100,   101,     0,     0,   102,    28,
543       29,   103,   104,   105,    30,    31,   106,    32,    33,    34,
544       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
545      107,   116,    44,     0,   108,    45,    46,    47,    48,    49,
546        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
547        0,   109,     0,     0,     0,     0,     0,     0,    53,     0,
548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
549        0,     0,     0,     0,     0,     0,     0,     0,    87,    54,
550       55,     0,    56,     0,    57,    58,     0,    18,    85,     0,
551       19,     0,    59,    20,     0,     0,    21,    22,    23,    88,
552        0,    24,    25,    89,    90,    91,    26,    27,    92,    93,
553        0,     0,    94,    95,    96,    97,     0,    98,    99,   100,
554      101,     0,     0,   102,    28,    29,   103,   104,   105,    30,
555       31,   106,    32,    33,    34,    35,    36,    37,     0,    38,
556       39,    40,    41,    42,    43,   107,   116,    44,     0,   108,
557       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
558       52,     0,     0,   665,     0,     0,   109,     0,     0,     0,
559        0,     0,     0,    53,     0,     0,     0,     0,     0,     0,
560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
561        0,     0,     0,    87,    54,    55,     0,    56,     0,    57,
562       58,     0,    18,    85,     0,    19,     0,    59,    20,     0,
563        0,    21,    22,    23,    88,     0,    24,    25,    89,    90,
564       91,    26,    27,    92,    93,     0,     0,    94,    95,    96,
565       97,     0,    98,    99,   100,   101,     0,     0,   102,    28,
566       29,   103,   104,   105,    30,    31,   106,    32,    33,    34,
567       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
568      107,   116,    44,     0,   108,    45,    46,    47,    48,    49,
569        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
570        0,   109,     0,     0,     0,     0,     0,     0,    53,     0,
571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
572        0,     0,     0,     0,     0,     0,     0,     0,    87,    54,
573       55,     0,    56,     0,    57,    58,     0,    18,    85,     0,
574       19,     0,    59,    20,     0,     0,    21,    22,    23,    88,
575        0,    24,    25,    89,    90,    91,    26,    27,    92,    93,
576        0,     0,    94,    95,    96,    97,     0,    98,    99,   100,
577      101,     0,     0,   102,    28,    29,   103,   104,   105,    30,
578       31,   106,    32,    33,    34,    35,    36,    37,     0,    38,
579       39,    40,    41,    42,    43,   107,     0,    44,     0,   108,
580       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
581       52,     0,    87,     0,     0,     0,   109,     0,     0,     0,
582        0,    18,     0,    53,    19,     0,     0,    20,     0,     0,
583       21,    22,    23,   -19,     0,    24,    25,     0,     0,     0,
584       26,    27,     0,     0,    54,    55,     0,    56,     0,    57,
585       58,     0,     0,     0,     0,     0,     0,    59,    28,    29,
586        0,     0,     0,    30,    31,     0,    32,    33,    34,    35,
587       36,    37,     0,    38,    39,    40,    41,    42,    43,     0,
588        0,    44,     0,     0,    45,    46,    47,    48,    49,     0,
589        0,    87,    50,    51,    52,     0,     0,     0,     0,     0,
590       18,     0,     0,    19,     0,     0,    20,    53,     0,    21,
591       22,    23,     0,     0,    24,    25,     0,     0,     0,    26,
592       27,     0,     0,     0,     0,     0,     0,     0,    54,    55,
593        0,    56,     0,    57,    58,     0,     0,    28,    29,     0,
594        0,    59,    30,    31,     0,    32,    33,    34,    35,    36,
595       37,     0,    38,    39,    40,    41,    42,    43,     0,     0,
596       44,     0,     0,    45,    46,    47,    48,    49,     0,     0,
597        0,    50,    51,    52,     0,     0,     0,     0,     0,    18,
598       85,     0,    19,     0,     0,    20,    53,     0,    21,    22,
599       23,     0,     0,    24,    25,     0,     0,     0,    26,    27,
600        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
601       56,     0,    57,    58,     0,     0,    28,    29,     0,   -19,
602       59,    30,    31,     0,    32,   164,    34,    35,    36,    37,
603      126,    38,    39,    40,    41,    42,    43,     0,     0,    44,
604        0,     0,    45,    46,    47,    48,    49,     0,     0,     0,
605       50,    51,    52,     0,     0,     0,     0,     0,    18,    85,
606        0,    19,     0,     0,    20,    53,     0,    21,    22,    23,
607        0,     0,    24,    25,     0,     0,     0,    26,    27,     0,
608        0,     0,     0,     0,     0,     0,    54,    55,     0,    56,
609        0,    57,    58,     0,     0,    28,    29,     0,     0,    59,
610       30,    31,     0,    32,    33,    34,    35,    36,    37,     0,
611       38,    39,    40,    41,    42,    43,     0,     0,    44,     0,
612        0,    45,    46,    47,    48,    49,     0,     0,     0,    50,
613       51,    52,     0,     0,     0,     0,     0,    18,     0,     0,
614       19,     0,     0,    20,    53,     0,    21,    22,    23,     0,
615        0,    24,    25,     0,     0,     0,    26,    27,     0,     0,
616        0,     0,     0,     0,     0,    54,    55,     0,    56,     0,
617       57,    58,     0,     0,    28,    29,     0,     0,    59,    30,
618       31,     0,    32,    33,    34,    35,    36,    37,     0,    38,
619       39,    40,    41,    42,    43,     0,     0,    44,     0,     0,
620       45,    46,    47,    48,    49,     0,     0,     0,    50,    51,
621       52,     0,     0,     0,     0,     0,    18,     0,     0,    19,
622        0,     0,    20,    53,     0,    21,    22,    23,     0,     0,
623       24,    25,     0,     0,     0,    26,    27,     0,     0,     0,
624        0,     0,     0,     0,    54,    55,     0,    56,     0,    57,
625       58,     0,     0,    28,    29,     0,   181,    59,    30,    31,
626        0,    32,    33,    34,    35,    36,    37,     0,    38,    39,
627       40,    41,    42,    43,     0,     0,    44,     0,     0,    45,
628       46,    47,    48,    49,     0,     0,     0,    50,    51,    52,
629        0,     0,     0,     0,     0,    18,     0,     0,    19,     0,
630        0,    20,    53,     0,    21,    22,    23,     0,     0,    24,
631       25,     0,     0,     0,    26,    27,     0,     0,     0,     0,
632        0,     0,     0,    54,    55,     0,    56,     0,    57,    58,
633        0,     0,    28,    29,     0,   294,    59,    30,    31,     0,
634       32,    33,    34,    35,    36,    37,     0,    38,    39,    40,
635       41,    42,    43,     0,     0,    44,     0,     0,    45,    46,
636       47,    48,    49,     0,     0,     0,    50,    51,    52,     0,
637        0,     0,     0,     0,  -335,   228,     0,   229,     0,     0,
638     -335,    53,     0,  -335,  -335,  -335,     0,     0,  -335,  -335,
639        0,     0,     0,  -335,  -335,     0,     0,     0,     0,     0,
640        0,     0,    54,    55,     0,    56,     0,    57,    58,     0,
641        0,  -335,  -335,     0,   312,    59,  -335,  -335,     0,  -335,
642     -335,  -335,  -335,  -335,  -335,     0,  -335,  -335,  -335,  -335,
643     -335,  -335,     0,     0,  -335,     0,     0,  -335,  -335,  -335,
644     -335,  -335,     0,     0,     0,  -335,  -335,  -335,     0,     0,
645        0,     0,     0,    18,     0,     0,    19,     0,     0,    20,
646     -335,     0,    21,    22,    23,     0,     0,    24,    25,     0,
647        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
648        0,  -335,  -335,     0,  -335,     0,  -335,  -335,     0,     0,
649       28,    29,     0,     0,  -335,    30,    31,     0,    32,    33,
650       34,    35,    36,    37,     0,    38,    39,    40,    41,    42,
651       43,     0,     0,    44,     0,     0,    45,    46,    47,    48,
652       49,     0,     0,     0,    50,    51,    52,     0,     0,     0,
653        0,     0,    18,     0,     0,    19,     0,     0,    20,    53,
654        0,    21,    22,    23,     0,     0,    24,    25,     0,     0,
655        0,    26,    27,     0,     0,     0,     0,     0,     0,     0,
656       54,    55,     0,    56,     0,    57,    58,     0,     0,    28,
657       29,     0,   329,    59,    30,    31,     0,    32,    33,    34,
658       35,    36,    37,     0,    38,    39,    40,    41,    42,    43,
659        0,     0,    44,     0,     0,    45,    46,    47,    48,    49,
660        0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
661        0,    18,     0,     0,    19,     0,     0,    20,    53,     0,
662       21,    22,    23,     0,     0,    24,    25,     0,     0,     0,
663       26,    27,     0,     0,     0,     0,     0,     0,     0,    54,
664       55,     0,    56,     0,    57,    58,     0,     0,    28,    29,
665        0,   371,    59,    30,    31,     0,    32,    33,    34,    35,
666       36,    37,     0,    38,    39,    40,    41,    42,    43,     0,
667        0,    44,     0,     0,    45,    46,    47,    48,    49,     0,
668        0,     0,    50,    51,    52,     0,     0,     0,     0,     0,
669       18,     0,     0,    19,     0,     0,    20,    53,     0,    21,
670       22,    23,     0,     0,    24,    25,     0,     0,     0,    26,
671       27,     0,     0,     0,     0,     0,     0,     0,    54,    55,
672        0,    56,     0,    57,    58,     0,     0,    28,    29,     0,
673      426,    59,    30,    31,     0,    32,    33,    34,    35,    36,
674       37,     0,    38,    39,    40,    41,    42,    43,     0,     0,
675       44,     0,     0,    45,    46,    47,    48,    49,     0,     0,
676        0,    50,    51,    52,     0,     0,     0,     0,     0,    18,
677        0,     0,    19,     0,     0,    20,    53,     0,    21,    22,
678       23,     0,     0,    24,    25,     0,     0,     0,    26,    27,
679        0,     0,     0,     0,     0,     0,     0,    54,    55,     0,
680       56,     0,    57,    58,     0,     0,    28,    29,     0,   459,
681       59,    30,    31,     0,    32,    33,    34,    35,    36,    37,
682        0,    38,    39,    40,    41,    42,    43,     0,     0,    44,
683        0,     0,    45,    46,    47,    48,    49,     0,     0,     0,
684       50,    51,    52,     0,     0,     0,     0,     0,    18,     0,
685        0,    19,     0,     0,    20,    53,     0,    21,    22,    23,
686        0,     0,    24,    25,     0,     0,     0,    26,    27,     0,
687        0,     0,     0,     0,     0,     0,    54,    55,     0,    56,
688        0,    57,    58,     0,     0,    28,    29,     0,     0,    59,
689       30,    31,     0,    32,    33,    34,    35,    36,    37,     0,
690       38,    39,    40,    41,    42,    43,     0,     0,    44,     0,
691        0,    45,    46,    47,    48,    49,     0,     0,     0,    50,
692       51,    52,     0,     0,     0,     0,     0,  -334,     0,     0,
693     -334,     0,     0,  -334,    53,     0,  -334,  -334,  -334,     0,
694        0,  -334,  -334,     0,     0,     0,  -334,  -334,     0,     0,
695        0,     0,     0,     0,     0,    54,    55,     0,    56,     0,
696       57,    58,     0,     0,  -334,  -334,     0,     0,   288,  -334,
697     -334,     0,  -334,  -334,  -334,  -334,  -334,  -334,     0,  -334,
698     -334,  -334,  -334,  -334,  -334,     0,     0,  -334,     0,     0,
699     -334,  -334,  -334,  -334,  -334,     0,     0,     0,  -334,  -334,
700     -334,     0,     0,     0,     0,     0,     0,     0,     0,     0,
701        0,     0,     0,  -334,     0,     0,     0,     0,     0,     0,
702        0,     0,   197,     0,     0,     0,     0,     0,     0,   198,
703      199,   200,     0,     0,  -334,  -334,     0,  -334,     0,  -334,
704     -334,     0,   201,     0,     0,     0,     0,  -334,   202,   203,
705      204,   450,   205,   206,   207,   208,   209,   210,   211,   212,
706      213,   214,   215,   216,   217,   218,   219,   220,     0,     0,
707        0,     0,   221,   197,     0,   222,   223,   224,   225,   226,
708      198,   199,   200,     0,     0,     0,     0,     0,     0,     0,
709        0,     0,     0,   201,     0,     0,     0,     0,     0,   202,
710      203,   204,     0,   205,   206,   207,   208,   209,   210,   211,
711      212,   213,   214,   215,   216,   217,   218,   219,   220,     0,
712        0,     0,     0,   221,   197,     0,   222,   223,   224,   225,
713      226,   198,   199,   200,     0,     0,     0,     0,     0,     0,
714        0,     0,     0,     0,  -336,     0,     0,     0,   198,   199,
715      202,   203,   204,     0,   205,   206,   207,   208,   209,   210,
716      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
717        0,     0,     0,     0,   221,   197,     0,   222,   223,   224,
718      225,   226,   198,   199,   200,   219,   220,     0,     0,     0,
719        0,   221,     0,     0,   222,   223,   224,   225,   226,     0,
720        0,   202,   203,   204,     0,   205,   206,   207,   208,   209,
721      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
722      220,     0,     0,     0,     0,   221,   197,     0,   222,   223,
723      224,   225,   226,   198,   199,   200,     0,     0,     0,     0,
724        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
725        0,     0,     0,     0,   204,     0,   205,   206,   207,   208,
726      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
727      219,   220,     0,     0,     0,     0,   221,  -336,     0,   222,
728      223,   224,   225,   226,   198,   199,   200,     0,     0,     0,
729        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
730        0,     0,     0,     0,     0,     0,     0,   205,   206,   207,
731      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
732      218,   219,   220,   198,   199,   200,     0,   221,     0,     0,
733      222,   223,   224,   225,   226,     0,     0,     0,     0,     0,
734        0,     0,     0,     0,     0,     0,   198,   199,   200,   208,
735      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
736      219,   220,     0,     0,     0,     0,   221,     0,     0,   222,
737      223,   224,   225,   226,   210,   211,   212,   213,   214,   215,
738      216,   217,   218,   219,   220,   198,   199,   200,     0,   221,
739        0,     0,   222,   223,   224,   225,   226,     0,     0,     0,
740        0,     0,     0,     0,     0,     0,   198,   199,   200,     0,
741        0,     0,     0,     0,   211,   212,   213,   214,   215,   216,
742      217,   218,   219,   220,     0,   198,   199,   200,   221,     0,
743        0,   222,   223,   224,   225,   226,   212,   213,   214,   215,
744      216,   217,   218,   219,   220,   198,   199,   200,     0,   221,
745        0,     0,   222,   223,   224,   225,   226,   214,   215,   216,
746      217,   218,   219,   220,   198,   199,   200,     0,   221,     0,
747        0,   222,   223,   224,   225,   226,     0,     0,     0,   216,
748      217,   218,   219,   220,     0,     0,     0,     0,   221,     0,
749        0,   222,   223,   224,   225,   226,     0,     0,  -336,   217,
750      218,   219,   220,     0,     0,     0,     0,   221,     0,     0,
751      222,   223,   224,   225,   226
752 };
753
754 static const yytype_int16 yycheck[] =
755 {
756       10,    13,    49,   149,    17,    19,    53,    11,    27,    19,
757      400,   304,    27,   109,    18,    11,    20,    13,    22,   553,
758       24,    25,    16,    87,   150,    29,    10,   577,    16,    16,
759       34,    35,    20,    56,     0,    19,    24,    51,    61,    49,
760       12,    51,    22,    30,    48,    49,    50,   102,   174,   582,
761       13,    11,    11,    13,    18,    13,    20,    11,    22,     9,
762       24,    25,    16,    27,   130,    11,   130,    51,   110,   111,
763       34,    35,    84,    92,    18,    59,    22,    92,    22,    59,
764       24,    25,   615,   616,   617,    49,    50,   104,    22,   130,
765       34,    35,   130,   110,    10,    11,   100,    13,   631,   632,
766       16,   111,    56,   150,    20,    49,    50,    61,    24,    25,
767       14,    22,   662,   123,    14,   649,    15,   650,    15,   138,
768      110,    84,   169,   138,    84,   658,    23,   174,    92,    14,
769      108,    95,   120,   120,   130,    85,   130,   147,   148,   149,
770      150,    57,   130,   130,   116,    16,   160,   161,   130,    20,
771      160,   161,   156,    24,   300,   139,    14,   161,    92,    93,
772       94,    95,    11,   259,   174,    81,   262,    11,    31,   153,
773      390,   108,   109,    14,   138,   159,   160,   161,    22,    42,
774      400,    92,    93,    94,    95,   405,   406,    14,    92,    93,
775       94,    95,    92,    93,    94,    95,    11,   161,    13,   183,
776      184,   185,   186,    11,   188,   189,   190,    92,    93,    94,
777       95,    11,   130,    13,   130,    32,    56,   161,    35,    36,
778       37,    38,   235,    11,    41,    13,   236,   246,    14,   239,
779       11,   246,    13,    56,    92,    93,    94,    95,    14,   385,
780       11,   130,    13,   227,   228,   229,   230,   231,   232,   233,
781      234,    92,    93,    94,    95,    94,    95,   130,    22,   263,
782      307,    11,   226,    13,   130,    92,    93,    94,    95,   659,
783      563,    22,   492,   127,   128,    92,    93,    94,    95,    22,
784       33,    34,   246,   267,   268,   269,   270,   271,   272,    11,
785      300,    13,   306,   243,   244,   245,   306,   247,   248,    22,
786      250,   251,   252,   253,   288,   130,    92,    93,    94,    95,
787      130,    11,   129,   439,    22,    39,    92,    93,    94,    95,
788      268,   269,   306,   271,   272,    22,   546,   547,    92,    93,
789       94,    95,   316,    11,    84,    22,   320,    14,    16,    84,
790       59,    92,    93,    94,    95,    84,   130,    25,    22,    92,
791       93,    94,    95,    87,    92,    93,    94,    95,   362,   129,
792      506,   129,    84,    13,   584,    92,    93,    94,    95,    92,
793       93,    94,    95,    84,    56,   385,   360,   361,    56,   120,
794       56,    56,   401,    61,   368,    44,   401,    15,   130,   609,
795      400,   129,   439,    61,   407,    78,    79,    80,   362,    59,
796       16,    59,   129,    88,    20,   389,   390,    78,    24,   629,
797       12,   129,    13,   423,   424,   561,   400,    25,    25,   403,
798      404,   405,   406,   433,   130,    25,    25,   437,   392,   439,
799      113,   114,   115,   116,   560,    25,    18,   401,   121,    59,
800       97,   124,   125,   126,   127,   128,   130,   461,    22,    97,
801      121,   461,   402,   124,   125,   126,   127,   128,   408,    56,
802      130,   411,   446,   129,    32,    12,    12,    35,    36,    37,
803       38,    16,    12,    41,    12,    12,   129,   461,   129,    22,
804      129,   431,    92,    93,    94,    95,   541,   542,   130,   499,
805      129,   501,   129,   548,   129,   129,   506,   130,    56,   554,
806      555,    11,    11,    92,    93,    94,    95,    88,   492,    92,
807       93,    94,    95,   560,    12,   129,    22,   481,    15,   129,
808      129,   471,    86,   473,    92,    93,    94,    95,    22,    22,
809      585,   586,   587,   129,   484,   519,   591,    78,    79,    80,
810      129,    92,    93,    94,    95,   130,   129,    22,   603,   562,
811      560,   561,   129,   566,   130,   610,   611,   129,   129,   129,
812      573,   130,   546,   547,    45,    17,   576,   577,   129,   129,
813       78,    85,   582,   114,   115,   116,   129,   129,   129,   634,
814      121,    13,   116,   124,   125,   126,   127,   128,   538,   602,
815      600,   646,    92,    93,    94,    95,   403,   583,   659,   583,
816      584,   290,   657,   501,   425,   615,   616,   617,   116,   281,
817      424,   514,   667,   121,   578,   431,   124,   125,   126,   127,
818      128,   631,   632,   593,   401,   609,   590,   138,   246,   129,
819       -1,    21,   642,    23,    -1,   639,    26,    -1,    28,    29,
820      650,   654,    -1,   593,    -1,   629,    -1,    -1,   658,   659,
821       -1,    41,   662,    -1,    44,    -1,    -1,    -1,    48,    -1,
822        0,     1,    -1,    -1,    54,    55,    56,    57,    58,    -1,
823       10,    11,    -1,    13,    -1,    -1,    16,    -1,    -1,    19,
824       20,    21,    22,    -1,    24,    25,    26,    27,    28,    29,
825       30,    31,    32,    -1,    -1,    35,    36,    37,    38,    -1,
826       40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
827       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
828       60,    -1,    62,    63,    64,    65,    66,    67,    68,    69,
829       70,    -1,    72,    73,    74,    75,    76,    77,    -1,    -1,
830       -1,    81,    82,    83,    92,    93,    94,    95,   138,    89,
831       -1,    10,    -1,    -1,    -1,    -1,    96,    16,    -1,    -1,
832       -1,    20,    -1,    -1,    -1,    24,   124,   125,   126,   127,
833      128,    30,    92,    93,    94,    95,    -1,   117,   118,    -1,
834      120,   129,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,
835      130,    -1,    -1,    -1,    -1,    -1,    -1,   187,    -1,    -1,
836       -1,    -1,    -1,   193,    -1,    -1,   196,   197,   198,   199,
837      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
838      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
839      220,   221,     0,     1,    -1,   225,    -1,    -1,    -1,    -1,
840       -1,    -1,    10,    11,    -1,    13,    -1,    -1,    16,    -1,
841       -1,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
842       28,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
843       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
844       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
845       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
846       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
847       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
848       -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,     3,
849        4,     5,     6,     7,     8,     9,    -1,    -1,    -1,    -1,
850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   117,
851      118,    -1,   120,    -1,   122,   123,    -1,    10,    11,    12,
852       13,    -1,   130,    16,    -1,    -1,    19,    20,    21,    22,
853       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
854       -1,    -1,    35,    36,    37,    38,    -1,    40,    41,    42,
855       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
856       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
857       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
858       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
859       83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
860       -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
862      450,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,   122,
863      123,    -1,    -1,     1,    -1,    -1,    -1,   130,    -1,    -1,
864       -1,    -1,    10,    11,    12,    13,    -1,    -1,    16,    -1,
865       -1,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
866       28,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
867       38,    -1,    40,    41,    42,    43,    -1,   507,    46,    47,
868       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
869       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
870       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
871      540,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
872       -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
874       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   117,
875      118,    -1,   120,    -1,   122,   123,    -1,    10,    11,    12,
876       13,    -1,   130,    16,    -1,    -1,    19,    20,    21,    22,
877       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
878       -1,    -1,    35,    36,    37,    38,    -1,    40,    41,    42,
879       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
880       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
881       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
882       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
883       83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
884       -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,   122,
887      123,    -1,    10,    11,    12,    13,    -1,   130,    16,    -1,
888       -1,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
889       28,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
890       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
891       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
892       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
893       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
894       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
895       -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
896       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
897       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   117,
898      118,    -1,   120,    -1,   122,   123,    -1,    10,    11,    12,
899       13,    -1,   130,    16,    -1,    -1,    19,    20,    21,    22,
900       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
901       -1,    -1,    35,    36,    37,    38,    -1,    40,    41,    42,
902       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
903       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
904       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
905       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
906       83,    -1,    -1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
907       -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
909       -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,   122,
910      123,    -1,    10,    11,    12,    13,    -1,   130,    16,    -1,
911       -1,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
912       28,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
913       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
914       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
915       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
916       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
917       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
918       -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   117,
921      118,    -1,   120,    -1,   122,   123,    -1,    10,    11,    -1,
922       13,    -1,   130,    16,    -1,    -1,    19,    20,    21,    22,
923       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
924       -1,    -1,    35,    36,    37,    38,    -1,    40,    41,    42,
925       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
926       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
927       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
928       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
929       83,    -1,    -1,    86,    -1,    -1,    89,    -1,    -1,    -1,
930       -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
932       -1,    -1,    -1,     1,   117,   118,    -1,   120,    -1,   122,
933      123,    -1,    10,    11,    -1,    13,    -1,   130,    16,    -1,
934       -1,    19,    20,    21,    22,    -1,    24,    25,    26,    27,
935       28,    29,    30,    31,    32,    -1,    -1,    35,    36,    37,
936       38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
937       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
938       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
939       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
940       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
941       -1,    89,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,
942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   117,
944      118,    -1,   120,    -1,   122,   123,    -1,    10,    11,    -1,
945       13,    -1,   130,    16,    -1,    -1,    19,    20,    21,    22,
946       -1,    24,    25,    26,    27,    28,    29,    30,    31,    32,
947       -1,    -1,    35,    36,    37,    38,    -1,    40,    41,    42,
948       43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
949       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
950       63,    64,    65,    66,    67,    68,    -1,    70,    -1,    72,
951       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
952       83,    -1,     1,    -1,    -1,    -1,    89,    -1,    -1,    -1,
953       -1,    10,    -1,    96,    13,    -1,    -1,    16,    -1,    -1,
954       19,    20,    21,    22,    -1,    24,    25,    -1,    -1,    -1,
955       29,    30,    -1,    -1,   117,   118,    -1,   120,    -1,   122,
956      123,    -1,    -1,    -1,    -1,    -1,    -1,   130,    47,    48,
957       -1,    -1,    -1,    52,    53,    -1,    55,    56,    57,    58,
958       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
959       -1,    70,    -1,    -1,    73,    74,    75,    76,    77,    -1,
960       -1,     1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,
961       10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,    19,
962       20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,
963       30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
964       -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,
965       -1,   130,    52,    53,    -1,    55,    56,    57,    58,    59,
966       60,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
967       70,    -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,
968       -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,
969       11,    -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,
970       21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,
971       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,
972      120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,   129,
973      130,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
974       61,    62,    63,    64,    65,    66,    67,    -1,    -1,    70,
975       -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
976       81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,    11,
977       -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,    21,
978       -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,
979       -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,
980       -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,
981       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
982       62,    63,    64,    65,    66,    67,    -1,    -1,    70,    -1,
983       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
984       82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
985       13,    -1,    -1,    16,    96,    -1,    19,    20,    21,    -1,
986       -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,    -1,
987       -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,
988      122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,    52,
989       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
990       63,    64,    65,    66,    67,    -1,    -1,    70,    -1,    -1,
991       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
992       83,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
993       -1,    -1,    16,    96,    -1,    19,    20,    21,    -1,    -1,
994       24,    25,    -1,    -1,    -1,    29,    30,    -1,    -1,    -1,
995       -1,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,   122,
996      123,    -1,    -1,    47,    48,    -1,   129,   130,    52,    53,
997       -1,    55,    56,    57,    58,    59,    60,    -1,    62,    63,
998       64,    65,    66,    67,    -1,    -1,    70,    -1,    -1,    73,
999       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
1000       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
1001       -1,    16,    96,    -1,    19,    20,    21,    -1,    -1,    24,
1002       25,    -1,    -1,    -1,    29,    30,    -1,    -1,    -1,    -1,
1003       -1,    -1,    -1,   117,   118,    -1,   120,    -1,   122,   123,
1004       -1,    -1,    47,    48,    -1,   129,   130,    52,    53,    -1,
1005       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
1006       65,    66,    67,    -1,    -1,    70,    -1,    -1,    73,    74,
1007       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    -1,
1008       -1,    -1,    -1,    -1,    10,    11,    -1,    13,    -1,    -1,
1009       16,    96,    -1,    19,    20,    21,    -1,    -1,    24,    25,
1010       -1,    -1,    -1,    29,    30,    -1,    -1,    -1,    -1,    -1,
1011       -1,    -1,   117,   118,    -1,   120,    -1,   122,   123,    -1,
1012       -1,    47,    48,    -1,   129,   130,    52,    53,    -1,    55,
1013       56,    57,    58,    59,    60,    -1,    62,    63,    64,    65,
1014       66,    67,    -1,    -1,    70,    -1,    -1,    73,    74,    75,
1015       76,    77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
1016       -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,
1017       96,    -1,    19,    20,    21,    -1,    -1,    24,    25,    -1,
1018       -1,    -1,    29,    30,    -1,    -1,    -1,    -1,    -1,    -1,
1019       -1,   117,   118,    -1,   120,    -1,   122,   123,    -1,    -1,
1020       47,    48,    -1,    -1,   130,    52,    53,    -1,    55,    56,
1021       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
1022       67,    -1,    -1,    70,    -1,    -1,    73,    74,    75,    76,
1023       77,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
1024       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    16,    96,
1025       -1,    19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,
1026       -1,    29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1027      117,   118,    -1,   120,    -1,   122,   123,    -1,    -1,    47,
1028       48,    -1,   129,   130,    52,    53,    -1,    55,    56,    57,
1029       58,    59,    60,    -1,    62,    63,    64,    65,    66,    67,
1030       -1,    -1,    70,    -1,    -1,    73,    74,    75,    76,    77,
1031       -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
1032       -1,    10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,
1033       19,    20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,
1034       29,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
1035      118,    -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,
1036       -1,   129,   130,    52,    53,    -1,    55,    56,    57,    58,
1037       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
1038       -1,    70,    -1,    -1,    73,    74,    75,    76,    77,    -1,
1039       -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,
1040       10,    -1,    -1,    13,    -1,    -1,    16,    96,    -1,    19,
1041       20,    21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,
1042       30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,
1043       -1,   120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,
1044      129,   130,    52,    53,    -1,    55,    56,    57,    58,    59,
1045       60,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
1046       70,    -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,
1047       -1,    81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,
1048       -1,    -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,
1049       21,    -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,
1050       -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,
1051      120,    -1,   122,   123,    -1,    -1,    47,    48,    -1,   129,
1052      130,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
1053       -1,    62,    63,    64,    65,    66,    67,    -1,    -1,    70,
1054       -1,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
1055       81,    82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,
1056       -1,    13,    -1,    -1,    16,    96,    -1,    19,    20,    21,
1057       -1,    -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,
1058       -1,    -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,
1059       -1,   122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,
1060       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
1061       62,    63,    64,    65,    66,    67,    -1,    -1,    70,    -1,
1062       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
1063       82,    83,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
1064       13,    -1,    -1,    16,    96,    -1,    19,    20,    21,    -1,
1065       -1,    24,    25,    -1,    -1,    -1,    29,    30,    -1,    -1,
1066       -1,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,    -1,
1067      122,   123,    -1,    -1,    47,    48,    -1,    -1,   130,    52,
1068       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
1069       63,    64,    65,    66,    67,    -1,    -1,    70,    -1,    -1,
1070       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
1071       83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1072       -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
1073       -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    78,
1074       79,    80,    -1,    -1,   117,   118,    -1,   120,    -1,   122,
1075      123,    -1,    91,    -1,    -1,    -1,    -1,   130,    97,    98,
1076       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1077      109,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
1078       -1,    -1,   121,    71,    -1,   124,   125,   126,   127,   128,
1079       78,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1080       -1,    -1,    -1,    91,    -1,    -1,    -1,    -1,    -1,    97,
1081       98,    99,    -1,   101,   102,   103,   104,   105,   106,   107,
1082      108,   109,   110,   111,   112,   113,   114,   115,   116,    -1,
1083       -1,    -1,    -1,   121,    71,    -1,   124,   125,   126,   127,
1084      128,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,    -1,
1085       -1,    -1,    -1,    -1,    91,    -1,    -1,    -1,    78,    79,
1086       97,    98,    99,    -1,   101,   102,   103,   104,   105,   106,
1087      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1088       -1,    -1,    -1,    -1,   121,    71,    -1,   124,   125,   126,
1089      127,   128,    78,    79,    80,   115,   116,    -1,    -1,    -1,
1090       -1,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
1091       -1,    97,    98,    99,    -1,   101,   102,   103,   104,   105,
1092      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1093      116,    -1,    -1,    -1,    -1,   121,    71,    -1,   124,   125,
1094      126,   127,   128,    78,    79,    80,    -1,    -1,    -1,    -1,
1095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1096       -1,    -1,    -1,    -1,    99,    -1,   101,   102,   103,   104,
1097      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1098      115,   116,    -1,    -1,    -1,    -1,   121,    71,    -1,   124,
1099      125,   126,   127,   128,    78,    79,    80,    -1,    -1,    -1,
1100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1101       -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,   102,   103,
1102      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1103      114,   115,   116,    78,    79,    80,    -1,   121,    -1,    -1,
1104      124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,    -1,
1105       -1,    -1,    -1,    -1,    -1,    -1,    78,    79,    80,   104,
1106      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1107      115,   116,    -1,    -1,    -1,    -1,   121,    -1,    -1,   124,
1108      125,   126,   127,   128,   106,   107,   108,   109,   110,   111,
1109      112,   113,   114,   115,   116,    78,    79,    80,    -1,   121,
1110       -1,    -1,   124,   125,   126,   127,   128,    -1,    -1,    -1,
1111       -1,    -1,    -1,    -1,    -1,    -1,    78,    79,    80,    -1,
1112       -1,    -1,    -1,    -1,   107,   108,   109,   110,   111,   112,
1113      113,   114,   115,   116,    -1,    78,    79,    80,   121,    -1,
1114       -1,   124,   125,   126,   127,   128,   108,   109,   110,   111,
1115      112,   113,   114,   115,   116,    78,    79,    80,    -1,   121,
1116       -1,    -1,   124,   125,   126,   127,   128,   110,   111,   112,
1117      113,   114,   115,   116,    78,    79,    80,    -1,   121,    -1,
1118       -1,   124,   125,   126,   127,   128,    -1,    -1,    -1,   112,
1119      113,   114,   115,   116,    -1,    -1,    -1,    -1,   121,    -1,
1120       -1,   124,   125,   126,   127,   128,    -1,    -1,   112,   113,
1121      114,   115,   116,    -1,    -1,    -1,    -1,   121,    -1,    -1,
1122      124,   125,   126,   127,   128
1123 };
1124
1125   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1126      symbol of state STATE-NUM.  */
1127 static const yytype_uint8 yystos[] =
1128 {
1129        0,     3,     4,     5,     6,     7,     8,     9,   132,   133,
1130      134,   135,   136,   137,   138,   139,     0,   144,    10,    13,
1131       16,    19,    20,    21,    24,    25,    29,    30,    47,    48,
1132       52,    53,    55,    56,    57,    58,    59,    60,    62,    63,
1133       64,    65,    66,    67,    70,    73,    74,    75,    76,    77,
1134       81,    82,    83,    96,   117,   118,   120,   122,   123,   130,
1135      142,   203,   204,   205,   208,   209,   210,   211,   212,   213,
1136      214,   215,   216,   217,   219,   226,   234,   235,   236,   237,
1137      238,   239,   240,   241,   242,    11,   141,     1,    22,    26,
1138       27,    28,    31,    32,    35,    36,    37,    38,    40,    41,
1139       42,    43,    46,    49,    50,    51,    54,    68,    72,    89,
1140      140,   141,   154,   168,   203,   223,    69,   152,   153,   154,
1141      142,   150,   197,   198,   150,    56,    61,   141,   235,   243,
1142      226,   243,   217,   243,   217,   243,   243,   217,   120,   130,
1143      220,   235,   236,   237,   217,   141,   217,   180,   180,   181,
1144      243,   243,   218,    13,   130,   217,   180,   217,   130,   130,
1145       87,   130,   141,   217,    56,   142,   204,   225,   235,   243,
1146      243,   226,    56,    61,   183,   204,   217,   217,   217,   217,
1147      217,   129,   203,    92,    93,    94,    95,    15,    11,    13,
1148      130,   110,   111,   110,   108,   109,   108,    71,    78,    79,
1149       80,    91,    97,    98,    99,   101,   102,   103,   104,   105,
1150      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1151      116,   121,   124,   125,   126,   127,   128,   130,    11,    13,
1152       11,    13,    11,    13,    11,   144,   182,    56,    56,   221,
1153      235,   236,   237,   130,   130,    30,   120,   130,   233,   235,
1154      130,   130,   130,   130,   141,    11,   145,   145,   179,   183,
1155       22,   179,   183,    39,   142,   170,    22,    32,    35,    36,
1156       37,    38,    41,    22,   153,   154,   152,    16,    20,    24,
1157      142,   188,   189,   191,   192,   193,   194,    14,   130,   217,
1158      220,   235,   236,   237,   129,   203,    84,   186,    59,   142,
1159      184,    84,   142,   185,   185,   225,   130,    87,   203,   129,
1160      141,   129,   129,   203,   226,   226,   243,   204,    22,   225,
1161       13,   129,   203,   203,   203,   203,   217,   203,   203,   129,
1162      203,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1163      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1164      217,   217,   217,   217,   217,   217,   217,   217,   217,    10,
1165       11,    13,    16,    20,    24,    25,    57,    81,   130,   207,
1166      235,   129,   203,   203,   203,   203,   203,   203,   203,   203,
1167      150,    56,   142,   178,    56,    56,    84,   142,   222,   144,
1168      144,   120,   144,    30,   231,   232,   234,   235,   236,   237,
1169      144,   144,   130,   144,   144,   144,   144,   146,    44,   158,
1170      179,   157,   179,   141,   167,   203,   167,   167,   175,   203,
1171      167,   167,    61,   187,   187,    15,   129,   203,   186,   129,
1172       59,   185,    59,   144,   202,   202,   226,   204,    14,   206,
1173      129,    88,   129,   203,    12,   203,    13,    22,    14,   129,
1174      100,    25,   203,   203,    25,    25,    25,    25,    25,   129,
1175      203,   130,   129,    22,    14,    22,    14,    22,    14,    22,
1176       12,    18,   143,    11,    22,   185,    59,    97,   176,   203,
1177      176,   130,   228,   235,   130,   142,   168,   173,   176,   177,
1178      203,   231,   144,   175,   174,   203,   176,   176,   150,   144,
1179       56,   155,    22,   144,   199,   200,   156,    97,   142,   190,
1180      190,   192,   129,   200,   130,   142,   195,   196,   129,    23,
1181      142,   227,   225,   129,    14,   203,    12,   217,    22,    14,
1182      129,   226,    12,    12,    12,    12,   144,   144,    11,    22,
1183      224,   129,   129,   229,   230,   235,   130,   144,   129,    22,
1184      161,   176,   129,   129,   129,   129,    12,   130,   142,   147,
1185       56,   184,    11,   185,   217,   197,    11,   203,    88,    14,
1186       12,   129,    22,   163,   144,   217,   145,   145,    15,   129,
1187      176,   176,   145,   159,   130,   129,   172,   172,   145,   145,
1188      148,   162,   225,   185,   150,    22,   201,   202,   129,   150,
1189       86,   150,   164,    33,    34,   142,   169,   169,   235,   130,
1190      129,   129,   170,   174,   176,   145,   145,   145,   235,   145,
1191       22,   199,    12,    12,   142,   151,    12,   150,   145,   130,
1192      176,   145,   145,    22,   129,   170,   170,   170,   149,    45,
1193      171,    22,    59,   165,    12,   176,   129,   170,   170,   160,
1194      145,   129,   141,    17,    85,   142,   166,   129,   145,   172,
1195      170,   150,   145,   170,   177,    86,   169,   129,   145
1196 };
1197
1198   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1199 static const yytype_uint8 yyr1[] =
1200 {
1201        0,   131,   133,   132,   134,   132,   135,   132,   136,   132,
1202      137,   132,   138,   132,   139,   132,   140,   140,   141,   142,
1203      143,   144,   145,   146,   147,   148,   149,   147,   150,   150,
1204      151,   151,   152,   152,   153,   153,   154,   154,   155,   154,
1205      156,   154,   157,   154,   154,   154,   158,   154,   154,   154,
1206      154,   154,   154,   154,   154,   159,   160,   154,   154,   154,
1207      154,   161,   154,   154,   154,   162,   154,   154,   163,   154,
1208      164,   154,   154,   154,   154,   154,   154,   165,   166,   166,
1209      167,   168,   168,   168,   168,   168,   168,   168,   168,   169,
1210      169,   169,   170,   170,   171,   171,   172,   173,   173,   174,
1211      174,   175,   176,   177,   178,   178,   179,   180,   181,   182,
1212      183,   183,   184,   184,   185,   185,   185,   186,   186,   187,
1213      187,   188,   188,   189,   190,   190,   190,   191,   192,   192,
1214      193,   193,   193,   194,   194,   195,   195,   196,   198,   197,
1215      199,   199,   200,   201,   201,   202,   203,   203,   203,   203,
1216      203,   204,   204,   204,   205,   205,   205,   205,   205,   205,
1217      205,   205,   205,   206,   205,   207,   207,   208,   208,   208,
1218      208,   208,   208,   208,   208,   208,   208,   208,   208,   208,
1219      208,   209,   209,   209,   209,   209,   209,   209,   209,   209,
1220      209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
1221      209,   209,   209,   210,   210,   210,   210,   210,   211,   211,
1222      212,   212,   212,   212,   213,   213,   214,   214,   214,   214,
1223      214,   214,   214,   214,   214,   215,   215,   215,   215,   215,
1224      216,   216,   217,   217,   217,   217,   217,   217,   217,   217,
1225      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1226      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1227      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1228      217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
1229      218,   217,   217,   217,   217,   219,   219,   219,   219,   220,
1230      220,   220,   220,   220,   221,   221,   221,   222,   222,   222,
1231      223,   224,   223,   225,   225,   226,   226,   227,   227,   228,
1232      229,   229,   229,   230,   231,   231,   231,   232,   232,   233,
1233      233,   234,   235,   236,   237,   238,   238,   239,   240,   240,
1234      241,   241,   242,   242,   243,   243,   243,   243
1235 };
1236
1237   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1238 static const yytype_uint8 yyr2[] =
1239 {
1240        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1241        0,     3,     0,     3,     0,     3,     1,     1,     4,     0,
1242        7,     0,     4,     0,     1,     0,     0,     5,     1,     2,
1243        1,     2,     1,     1,     2,     2,     1,     4,     0,     7,
1244        0,     6,     0,     4,     4,     5,     0,     7,     7,     7,
1245        6,     6,     2,     8,     8,     0,     0,    13,     9,    11,
1246        8,     0,    10,     9,     7,     0,     8,     2,     0,     8,
1247        0,     9,     2,     2,     2,     2,     1,     2,     1,     3,
1248        1,     1,     1,     3,     3,     3,     3,     3,     3,     1,
1249        2,     6,     1,     2,     0,     2,     0,     1,     1,     0,
1250        1,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1251        1,     1,     1,     1,     1,     2,     1,     2,     1,     0,
1252        1,     1,     1,     3,     1,     1,     2,     3,     1,     1,
1253        2,     3,     1,     1,     1,     1,     1,     3,     0,     2,
1254        1,     1,     4,     1,     1,     5,     3,     3,     3,     3,
1255        1,     2,     3,     1,     3,     5,     6,     3,     3,     5,
1256        2,     4,     4,     0,     5,     1,     1,     5,     4,     5,
1257        4,     5,     6,     5,     4,     5,     4,     3,     6,     4,
1258        5,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1259        3,     1,     1,     3,     3,     3,     3,     3,     3,     3,
1260        3,     3,     3,     1,     3,     2,     2,     3,     3,     3,
1261        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1262        2,     2,     2,     2,     2,     3,     4,     5,     4,     4,
1263        2,     2,     1,     1,     1,     1,     5,     2,     1,     2,
1264        3,     1,     2,     1,     1,     1,     1,     1,     1,     4,
1265        4,     5,     5,     1,     1,     3,     4,     3,     4,     4,
1266        4,     4,     4,     1,     2,     2,     1,     2,     2,     1,
1267        2,     1,     2,     1,     3,     1,     3,     1,     3,     4,
1268        0,     6,     1,     1,     1,     3,     2,     4,     3,     3,
1269        2,     1,     1,     1,     1,     1,     1,     2,     1,     1,
1270        3,     0,     6,     1,     1,     1,     1,     1,     2,     1,
1271        2,     3,     1,     1,     1,     1,     1,     1,     1,     2,
1272        2,     2,     2,     2,     2,     2,     4,     2,     1,     3,
1273        1,     3,     1,     3,     1,     1,     1,     1
1274 };
1275
1276 typedef enum {
1277         toketype_ival, toketype_opval, toketype_pval
1278 } toketypes;
1279
1280 /* type of each token/terminal */
1281 static const toketypes yy_type_tab[] =
1282 {
1283   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1284   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1285   toketype_ival, toketype_ival, toketype_ival,
1286   toketype_ival, toketype_ival, toketype_ival,
1287   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1288   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1289   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1290   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1291   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1292   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1293   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1294   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1295   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1296   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1297   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1298   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1299   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1300   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_ival, toketype_ival, toketype_ival, toketype_ival,
1304   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1305   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1306   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1307   toketype_ival, 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, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1310   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1311   toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival,
1312   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1313   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1314   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1315   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1316   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1317   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1318   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1319   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1320   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1321   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1322   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1323   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_pval,
1324   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1325   toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1326   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1327   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1328 };
1329
1330 /* Generated from:
1331  * 0a5fcd15cf0b7afb57ade6ceaf68037a38dd194acd9d60d3e4ad99c15233af75 perly.y
1332  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1333  * ex: set ro ft=c: */