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