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