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