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