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