xref: /openbsd/gnu/usr.bin/perl/perly.tab (revision e0680481)
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.  */
30static 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.  */
75static 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.  */
117static 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).  */
170static 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.  */
201static 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.  */
275static 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].  */
347static 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].  */
364static 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.  */
383static 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
754static 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.  */
1127static 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.  */
1199static 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.  */
1238static 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
1276typedef enum {
1277	toketype_ival, toketype_opval, toketype_pval
1278} toketypes;
1279
1280/* type of each token/terminal */
1281static 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: */
1334