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