This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlhacktips: Add callgrind profiling documentation
[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   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.  */
30 static const yytype_uint8 yytranslate[] =
31 {
32        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
58        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
59       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
60       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
61       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
62       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
63       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
64       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
65       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
66       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
67       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
68      105,   106,   107,   108,   109,   110,   111,   112
69 };
70
71 #if YYDEBUG
72   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
73 static 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.  */
111 static 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).  */
155 static 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.  */
184 static 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.  */
250 static 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].  */
314 static 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].  */
329 static 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.  */
346 static 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
668 static 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.  */
992 static 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.  */
1056 static 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.  */
1091 static 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
1125 typedef enum {
1126         toketype_ival, toketype_opval
1127 } toketypes;
1128
1129 /* type of each token/terminal */
1130 static 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: */