fix leak
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default;
90
91 /* Copy the second part of user declarations. */
92
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102 #define YYDEBUG 1
103
104 static int psi_parser_proc_lex(YYSTYPE *u, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
105 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg);
106
107 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
108 {
109 assert(strct);
110 if (!P->structs) {
111 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
112 }
113 P->structs = psi_plist_add(P->structs, &strct);
114 }
115 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
116 {
117 assert(u);
118 if (!P->unions) {
119 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
120 }
121 P->unions = psi_plist_add(P->unions, &u);
122 }
123 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
124 {
125 assert(e);
126 if (!P->enums) {
127 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
128 }
129 P->enums = psi_plist_add(P->enums, &e);
130 }
131 static inline void psi_parser_proc_add_from_typedef(struct psi_parser *P, struct psi_decl_arg *def)
132 {
133 if (def->type->real.def) {
134 switch (def->type->type) {
135 case PSI_T_STRUCT:
136 psi_parser_proc_add_struct(P, def->type->real.strct);
137 break;
138 case PSI_T_UNION:
139 psi_parser_proc_add_union(P, def->type->real.unn);
140 break;
141 case PSI_T_ENUM:
142 psi_parser_proc_add_enum(P, def->type->real.enm);
143 break;
144 default:
145 break;
146 }
147 }
148 }
149 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
150 {
151 assert(def);
152 if (!P->types) {
153 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
154 }
155 P->types = psi_plist_add(P->types, &def);
156 }
157 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
158 assert(cnst);
159 if (!P->consts) {
160 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
161 }
162 P->consts = psi_plist_add(P->consts, &cnst);
163
164 }
165 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
166 assert(decl);
167 if (!P->decls) {
168 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
169 }
170 P->decls = psi_plist_add(P->decls, &decl);
171 }
172 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
173 assert(impl);
174 if (!P->impls) {
175 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
176 }
177 P->impls = psi_plist_add(P->impls, &impl);
178 }
179
180 /* end code */
181
182 #line 183 "src/parser_proc.c" /* glr.c:264 */
183
184 #include <stdio.h>
185 #include <stdlib.h>
186 #include <string.h>
187
188 #ifndef YY_
189 # if defined YYENABLE_NLS && YYENABLE_NLS
190 # if ENABLE_NLS
191 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
193 # endif
194 # endif
195 # ifndef YY_
196 # define YY_(Msgid) Msgid
197 # endif
198 #endif
199
200 #ifndef YYFREE
201 # define YYFREE free
202 #endif
203 #ifndef YYMALLOC
204 # define YYMALLOC malloc
205 #endif
206 #ifndef YYREALLOC
207 # define YYREALLOC realloc
208 #endif
209
210 #define YYSIZEMAX ((size_t) -1)
211
212 #ifdef __cplusplus
213 typedef bool yybool;
214 #else
215 typedef unsigned char yybool;
216 #endif
217 #define yytrue 1
218 #define yyfalse 0
219
220 #ifndef YYSETJMP
221 # include <setjmp.h>
222 # define YYJMP_BUF jmp_buf
223 # define YYSETJMP(Env) setjmp (Env)
224 /* Pacify clang. */
225 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
226 #endif
227
228 #ifndef YY_ATTRIBUTE
229 # if (defined __GNUC__ \
230 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
231 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
232 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
233 # else
234 # define YY_ATTRIBUTE(Spec) /* empty */
235 # endif
236 #endif
237
238 #ifndef YY_ATTRIBUTE_PURE
239 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
240 #endif
241
242 #ifndef YY_ATTRIBUTE_UNUSED
243 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
244 #endif
245
246 #if !defined _Noreturn \
247 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
248 # if defined _MSC_VER && 1200 <= _MSC_VER
249 # define _Noreturn __declspec (noreturn)
250 # else
251 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
252 # endif
253 #endif
254
255 /* Suppress unused-variable warnings by "using" E. */
256 #if ! defined lint || defined __GNUC__
257 # define YYUSE(E) ((void) (E))
258 #else
259 # define YYUSE(E) /* empty */
260 #endif
261
262 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
263 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
264 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
265 _Pragma ("GCC diagnostic push") \
266 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
267 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
268 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
269 _Pragma ("GCC diagnostic pop")
270 #else
271 # define YY_INITIAL_VALUE(Value) Value
272 #endif
273 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
274 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
275 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
276 #endif
277 #ifndef YY_INITIAL_VALUE
278 # define YY_INITIAL_VALUE(Value) /* Nothing. */
279 #endif
280
281
282 #ifndef YYASSERT
283 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
284 #endif
285
286 /* YYFINAL -- State number of the termination state. */
287 #define YYFINAL 167
288 /* YYLAST -- Last index in YYTABLE. */
289 #define YYLAST 3089
290
291 /* YYNTOKENS -- Number of terminals. */
292 #define YYNTOKENS 132
293 /* YYNNTS -- Number of nonterminals. */
294 #define YYNNTS 122
295 /* YYNRULES -- Number of rules. */
296 #define YYNRULES 479
297 /* YYNRULES -- Number of states. */
298 #define YYNSTATES 710
299 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
300 #define YYMAXRHS 13
301 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
302 accessed by $0, $-1, etc., in any rule. */
303 #define YYMAXLEFT 0
304
305 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
306 #define YYUNDEFTOK 2
307 #define YYMAXUTOK 386
308
309 #define YYTRANSLATE(YYX) \
310 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
311
312 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
313 static const unsigned char yytranslate[] =
314 {
315 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
341 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
342 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
343 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
344 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
345 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
346 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
347 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
348 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
349 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
350 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
351 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
352 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
353 125, 126, 127, 128, 129, 130, 131
354 };
355
356 #if YYDEBUG
357 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
358 static const unsigned short int yyrline[] =
359 {
360 0, 391, 391, 391, 391, 391, 391, 391, 391, 391,
361 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
362 392, 392, 392, 392, 393, 393, 393, 393, 393, 393,
363 393, 393, 393, 393, 393, 393, 393, 393, 393, 393,
364 393, 393, 394, 394, 394, 394, 394, 394, 394, 394,
365 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
366 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
367 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
368 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
369 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
370 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
371 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
372 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
373 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
374 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
375 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
376 394, 394, 394, 394, 398, 399, 402, 403, 406, 407,
377 408, 409, 415, 423, 426, 429, 430, 433, 436, 439,
378 442, 448, 454, 457, 463, 486, 490, 494, 499, 503,
379 507, 511, 518, 519, 523, 524, 528, 529, 530, 534,
380 535, 539, 540, 544, 545, 546, 550, 551, 555, 556,
381 557, 558, 559, 560, 564, 569, 577, 580, 584, 589,
382 597, 600, 604, 608, 615, 619, 623, 627, 632, 642,
383 652, 657, 662, 668, 677, 680, 684, 688, 694, 701,
384 707, 708, 709, 710, 714, 717, 748, 755, 756, 757,
385 758, 762, 765, 771, 772, 780, 791, 800, 809, 817,
386 820, 824, 828, 832, 837, 842, 850, 851, 852, 855,
387 861, 864, 867, 873, 874, 875, 876, 877, 878, 879,
388 880, 884, 885, 889, 892, 895, 901, 904, 907, 915,
389 927, 930, 933, 940, 943, 953, 956, 959, 962, 963,
390 967, 970, 973, 984, 987, 993, 994, 998, 999, 1003,
391 1007, 1013, 1014, 1020, 1023, 1029, 1030, 1037, 1038, 1042,
392 1049, 1060, 1067, 1078, 1085, 1096, 1107, 1121, 1122, 1134,
393 1137, 1140, 1143, 1150, 1153, 1159, 1168, 1180, 1188, 1191,
394 1201, 1214, 1219, 1227, 1237, 1247, 1250, 1254, 1260, 1274,
395 1291, 1294, 1300, 1307, 1317, 1324, 1327, 1333, 1338, 1346,
396 1350, 1354, 1358, 1362, 1366, 1373, 1377, 1381, 1385, 1392,
397 1405, 1418, 1431, 1434, 1441, 1444, 1447, 1450, 1456, 1460,
398 1467, 1470, 1476, 1479, 1485, 1486, 1492, 1495, 1507, 1510,
399 1517, 1522, 1527, 1537, 1540, 1546, 1549, 1555, 1562, 1569,
400 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1581, 1584,
401 1590, 1593, 1596, 1599, 1602, 1608, 1612, 1620, 1621, 1625,
402 1632, 1635, 1638, 1642, 1645, 1648, 1654, 1658, 1666, 1673,
403 1681, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697,
404 1698, 1702, 1705, 1711, 1714, 1720, 1721, 1725, 1728, 1734,
405 1737, 1743, 1750, 1757, 1760, 1763, 1770, 1775, 1783, 1784,
406 1785, 1786, 1787, 1788, 1789, 1790, 1794, 1797, 1803, 1806,
407 1812, 1819, 1820, 1824, 1831, 1834, 1840, 1848, 1851, 1857
408 };
409 #endif
410
411 #if YYDEBUG || YYERROR_VERBOSE || 1
412 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
413 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
414 static const char *const yytname[] =
415 {
416 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
417 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
418 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
419 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
420 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
421 "QUOTED_CHAR", "\"end of line\"", "\";\"", "\"(\"", "\")\"", "\",\"",
422 "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"", "\"#\"", "\"|\"",
423 "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"", "\"*\"", "\"/\"",
424 "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"", "\"||\"", "\"&&\"",
425 "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"", "\"\\\\\"", "\"...\"",
426 "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR", "WARNING", "IF",
427 "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE", "DEFINED", "UNDEF",
428 "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF", "STRUCT", "UNION",
429 "ENUM", "CONST", "LIB", "STATIC", "CALLBACK", "FUNCTION", "LET", "SET",
430 "TEMP", "FREE", "RETURN", "PRE_ASSERT", "POST_ASSERT", "BOOLVAL",
431 "INTVAL", "STRVAL", "PATHVAL", "STRLEN", "FLOATVAL", "ARRVAL", "OBJVAL",
432 "COUNT", "CALLOC", "TO_BOOL", "TO_INT", "TO_STRING", "TO_FLOAT",
433 "TO_ARRAY", "TO_OBJECT", "COMMENT", "WHITESPACE", "NO_WHITESPACE",
434 "CPP_HEADER", "CPP_ATTRIBUTE", "CPP_EXTENSION", "CPP_PASTE",
435 "CPP_RESTRICT", "CPP_ASM", "BINARY", "UNARY", "$accept",
436 "binary_op_token", "unary_op_token", "name_token", "any_noeol_token",
437 "file", "blocks", "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
438 "cpp_message_token", "cpp_include_token", "cpp_header_token",
439 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
440 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
441 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
442 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
443 "cpp_macro_call_arg_list", "constant", "constant_type",
444 "constant_type_token", "impl_def_val", "impl_def_val_token",
445 "decl_typedef", "typedef", "const_decl_type", "decl_type",
446 "decl_type_complex", "decl_type_simple", "decl_real_type",
447 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
448 "int_signed_types", "signed_short_types", "signed_long_types",
449 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
450 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl_vars",
451 "decl", "decl_body", "decl_func_body", "decl_functor_body",
452 "decl_functor", "decl_func", "decl_args", "decl_anon_arg", "decl_arg",
453 "decl_var", "decl_union", "decl_struct", "decl_struct_args",
454 "struct_args_block", "struct_args", "struct_arg_var_list",
455 "decl_vars_with_layout", "decl_enum", "decl_enum_items",
456 "decl_enum_item", "num_exp", "number", "enum_name", "union_name",
457 "struct_name", "optional_name", "decl_layout", "align_and_size",
458 "array_size", "indirection", "pointers", "asterisks", "impl",
459 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
460 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
461 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
462 "let_func", "let_func_token", "let_func_exps", "let_exps",
463 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
464 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
465 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
466 "free_exp", "reference", "byref", YY_NULLPTR
467 };
468 #endif
469
470 #define YYPACT_NINF -550
471 #define YYTABLE_NINF -478
472
473 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
474 STATE-NUM. */
475 static const short int yypact[] =
476 {
477 946, -550, -550, -550, -550, -550, 64, -550, -550, 505,
478 -550, -550, -550, -550, -550, -550, -550, -550, 2646, -550,
479 -550, 510, 2690, 2496, 2496, 2496, 308, 10, -49, 32,
480 -550, 1040, 94, 946, -550, -550, -550, -550, -550, 2206,
481 -550, -550, -550, -550, -550, 61, 82, -550, -550, -550,
482 102, -2, -550, -550, 43, 103, 105, -550, -550, -550,
483 -550, 89, -550, 111, -550, -550, -550, -550, -550, 656,
484 -550, 104, -550, -550, -550, -550, -550, -550, -550, -550,
485 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
486 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
487 -550, -550, 2255, -22, -550, -550, -550, 2496, 2496, 2496,
488 245, -550, 84, -550, -550, -550, -550, -550, -550, -550,
489 -550, -550, -550, -550, -550, 905, -550, -550, -550, -550,
490 131, 786, 786, -3, -550, 905, 2132, 2496, 2496, 150,
491 1896, -550, -550, 169, 2496, 172, 172, 63, 63, 173,
492 -550, -550, 183, 185, -550, 104, 186, -550, -550, 182,
493 178, -550, 197, -550, 2723, 2690, -2, -550, -550, 187,
494 -550, 191, 2496, -550, 224, -550, 90, -550, -550, 61,
495 -550, -550, 194, 198, 2767, 2767, 2496, 279, 2496, -550,
496 104, -550, -550, -550, -550, -550, -550, 2206, -550, -550,
497 -550, -550, -550, -550, 113, 786, -550, -550, -550, -550,
498 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
499 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
500 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
501 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
502 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
503 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
504 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
505 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
506 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
507 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
508 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
509 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
510 -550, -550, 786, -550, -550, -550, -550, -550, -550, -550,
511 -550, 2132, -550, -550, -550, -550, 2373, 2132, 196, 2946,
512 21, -550, 21, -550, -550, -550, -550, 203, 195, 195,
513 5, 5, 2422, 192, -550, 279, 201, 206, 221, 226,
514 -550, 104, 187, -550, -550, -550, -550, -550, -550, 227,
515 -550, 3, 2800, 2206, 75, -550, -550, 107, 214, 77,
516 -550, 2206, 1778, 2206, 2496, 74, -550, -550, 123, -550,
517 -550, -550, -550, -550, 2014, -550, 233, 2496, 223, -550,
518 2496, 235, -550, -550, 2817, 2496, -550, -550, 2132, -550,
519 -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
520 -550, -550, -550, -550, -550, -550, -550, 2132, 2132, 236,
521 2690, 2206, 2206, -550, -550, -550, -550, 104, -550, 1188,
522 202, 40, -550, -550, 231, 2496, -550, -550, 6, 2255,
523 104, 191, 187, 2556, 187, 2613, 2014, 2496, -550, 232,
524 240, -550, -550, -550, 1070, 2014, -550, 2970, -550, 237,
525 242, -550, 244, 252, 239, 248, 86, -550, -550, 250,
526 244, -550, -550, 2790, -550, 251, 2206, 2496, -550, 254,
527 2946, 256, 257, 2897, -550, 265, 280, 1937, -550, -550,
528 2496, -550, -550, -550, -550, 287, -550, 2970, -550, -550,
529 -550, -550, -550, -550, -550, -550, -550, -550, 285, 122,
530 -550, 32, -550, -550, 300, -550, -550, 2422, -550, 3,
531 301, -550, -550, 303, 2970, -550, 1306, -550, 304, 464,
532 306, 2845, -550, 2014, 2014, 1778, -550, 2206, -550, 32,
533 2206, -550, 2496, -550, -550, -550, -550, -550, 309, 310,
534 -550, -550, 2132, 2132, 311, 27, 313, -550, 280, 317,
535 -550, 355, 316, 355, 314, -550, 187, 187, -550, 249,
536 93, 328, 2970, -550, -550, -550, -550, 335, 1424, 2014,
537 -550, 2922, -550, -550, 344, 2206, 137, -550, 786, 2496,
538 2946, 2994, 342, 346, 347, 2206, 312, 313, -550, -550,
539 355, -550, 32, 1188, -550, -550, 328, -550, -550, -550,
540 -550, 350, 2014, 32, -550, -550, 2014, 1542, 351, 352,
541 -550, -550, -550, 353, 354, 358, 280, 356, -550, 360,
542 -550, 7, -550, 32, 586, 361, 3018, 365, -550, 366,
543 -550, -550, -550, 367, 368, -550, 2206, -550, 377, 373,
544 2014, 1306, 374, -550, 1778, 379, 381, 280, 378, 1660,
545 2872, 232, -550, -550, -550, 376, 1424, -550, -550, 380,
546 382, -550, 384, 383, 387, -550, -550, 1306, -550, 386,
547 -550, 355, 389, 1778, -550, 391, -550, -550, -550, -550
548 };
549
550 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
551 Performed when YYTABLE does not specify something else to do. Zero
552 means the default is an error. */
553 static const unsigned short int yydefact[] =
554 {
555 164, 286, 283, 287, 281, 282, 284, 270, 271, 0,
556 273, 274, 275, 276, 277, 278, 279, 280, 269, 169,
557 168, 0, 0, 0, 0, 372, 0, 0, 0, 477,
558 170, 0, 0, 165, 166, 172, 171, 173, 176, 382,
559 260, 262, 261, 267, 268, 290, 300, 266, 174, 175,
560 0, 305, 315, 317, 318, 0, 0, 327, 178, 177,
561 179, 0, 180, 0, 285, 272, 33, 34, 465, 431,
562 24, 382, 386, 39, 38, 37, 35, 36, 32, 31,
563 25, 29, 28, 26, 27, 439, 438, 436, 434, 435,
564 437, 433, 432, 440, 30, 463, 461, 460, 462, 459,
565 458, 328, 0, 384, 40, 41, 269, 0, 0, 0,
566 0, 316, 311, 182, 193, 190, 192, 194, 195, 206,
567 203, 204, 201, 207, 202, 0, 205, 196, 197, 198,
568 0, 220, 220, 0, 186, 0, 0, 372, 372, 0,
569 382, 254, 337, 253, 0, 378, 378, 263, 264, 265,
570 369, 240, 287, 270, 243, 0, 0, 239, 259, 0,
571 0, 479, 0, 478, 269, 0, 305, 1, 167, 380,
572 338, 0, 383, 291, 295, 293, 297, 288, 301, 290,
573 289, 309, 0, 0, 329, 329, 0, 0, 0, 383,
574 382, 340, 387, 385, 263, 264, 265, 0, 310, 209,
575 210, 211, 213, 212, 208, 220, 188, 183, 75, 42,
576 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
577 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
578 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
579 73, 74, 76, 77, 78, 79, 80, 81, 82, 83,
580 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
581 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
582 104, 105, 106, 107, 108, 109, 115, 113, 114, 112,
583 110, 111, 116, 117, 118, 119, 120, 121, 122, 123,
584 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
585 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
586 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
587 154, 155, 156, 157, 158, 159, 162, 160, 161, 163,
588 222, 191, 221, 184, 199, 200, 185, 208, 187, 230,
589 231, 0, 22, 23, 20, 21, 0, 0, 232, 189,
590 263, 371, 264, 370, 251, 258, 255, 0, 0, 0,
591 0, 0, 0, 0, 181, 0, 0, 0, 0, 0,
592 342, 382, 380, 296, 292, 298, 299, 294, 302, 0,
593 303, 330, 0, 382, 0, 331, 333, 0, 357, 0,
594 355, 0, 477, 0, 0, 0, 471, 472, 0, 408,
595 411, 410, 412, 413, 0, 414, 0, 0, 312, 313,
596 0, 0, 215, 223, 0, 0, 228, 225, 234, 2,
597 3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
598 12, 14, 15, 16, 17, 18, 19, 0, 0, 0,
599 0, 0, 0, 345, 344, 346, 343, 382, 339, 244,
600 0, 0, 252, 304, 0, 0, 341, 307, 0, 336,
601 0, 334, 380, 0, 380, 0, 0, 0, 354, 0,
602 0, 366, 365, 367, 0, 0, 368, 454, 359, 0,
603 0, 453, 41, 0, 0, 0, 0, 474, 464, 0,
604 0, 388, 409, 0, 326, 0, 0, 216, 224, 0,
605 236, 0, 235, 0, 226, 0, 374, 0, 257, 256,
606 0, 247, 248, 249, 250, 0, 246, 245, 389, 401,
607 402, 403, 404, 400, 405, 406, 407, 399, 0, 0,
608 393, 477, 398, 381, 0, 308, 306, 335, 321, 0,
609 0, 332, 319, 0, 358, 356, 0, 415, 24, 0,
610 0, 0, 363, 0, 0, 477, 452, 0, 397, 477,
611 0, 473, 0, 451, 470, 325, 314, 218, 0, 217,
612 229, 233, 0, 0, 0, 0, 350, 347, 374, 0,
613 238, 0, 0, 0, 395, 323, 380, 380, 420, 0,
614 31, 30, 425, 426, 421, 423, 424, 40, 0, 0,
615 361, 0, 362, 455, 466, 0, 0, 475, 220, 0,
616 237, 227, 0, 375, 0, 0, 0, 350, 324, 390,
617 0, 394, 477, 244, 322, 320, 0, 422, 445, 431,
618 446, 0, 0, 477, 427, 360, 0, 477, 0, 0,
619 476, 214, 219, 0, 0, 0, 374, 351, 348, 0,
620 391, 0, 396, 477, 0, 441, 364, 0, 468, 467,
621 456, 416, 379, 0, 0, 352, 0, 349, 0, 0,
622 0, 0, 0, 457, 477, 0, 0, 374, 0, 447,
623 0, 368, 443, 419, 417, 442, 0, 430, 469, 0,
624 0, 353, 0, 0, 448, 449, 428, 0, 418, 0,
625 376, 0, 0, 477, 444, 0, 392, 429, 450, 377
626 };
627
628 /* YYPGOTO[NTERM-NUM]. */
629 static const short int yypgoto[] =
630 {
631 -550, -319, -129, 0, 91, -550, -550, 398, -550, -550,
632 -550, -550, -550, -550, -550, -550, -550, -550, 258, -550,
633 -550, -550, -127, -550, -325, -550, -550, -550, -550, -550,
634 -191, -550, -550, -152, -11, -23, -550, -550, -550, 293,
635 388, -550, -550, 260, -550, -550, -550, -550, 269, -550,
636 -550, -550, -550, -124, 410, 1, -16, 18, -550, -550,
637 261, -331, -14, -39, -550, -550, 81, -179, -550, -172,
638 -550, 38, -550, -20, -390, -550, -550, -550, -550, 73,
639 -549, 49, -346, -61, -7, -550, -550, 420, -550, -133,
640 -503, -546, -550, 95, -364, -550, -241, -526, 67, -128,
641 -550, -550, -529, -550, -550, -550, -550, -550, -550, -550,
642 -534, 69, -380, -550, -550, -550, -550, -550, -550, -100,
643 -28, -519
644 };
645
646 /* YYDEFGOTO[NTERM-NUM]. */
647 static const short int yydefgoto[] =
648 {
649 -1, 554, 475, 169, 330, 32, 33, 34, 35, 36,
650 130, 131, 132, 133, 336, 134, 135, 136, 205, 206,
651 568, 569, 331, 332, 349, 501, 502, 37, 156, 157,
652 515, 516, 38, 139, 39, 40, 41, 42, 43, 44,
653 45, 46, 47, 177, 374, 377, 180, 48, 183, 458,
654 49, 50, 198, 408, 51, 52, 53, 142, 55, 56,
655 384, 385, 57, 476, 58, 59, 444, 445, 507, 616,
656 647, 144, 389, 390, 477, 478, 61, 145, 146, 150,
657 576, 358, 370, 171, 410, 103, 62, 63, 529, 530,
658 479, 531, 532, 398, 399, 400, 682, 683, 684, 594,
659 595, 596, 104, 672, 685, 631, 693, 694, 401, 402,
660 480, 481, 105, 638, 659, 403, 404, 405, 486, 487,
661 483, 163
662 };
663
664 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
665 positive, shift that token. If negative, reduce the rule whose
666 number is the opposite. If YYTABLE_NINF, syntax error. */
667 static const short int yytable[] =
668 {
669 170, 162, 102, 158, 112, 333, 141, 347, 143, 101,
670 188, 140, 482, 367, 493, 490, 414, 597, 54, 111,
671 593, 603, 417, 147, 148, 149, 456, 598, 584, 617,
672 438, 334, 172, 192, 492, 619, 54, 622, 60, 558,
673 535, 71, 443, 519, 159, 536, 520, 440, 29, 54,
674 521, 54, 522, 523, 524, 525, 526, 527, 72, 517,
675 613, 630, -373, -373, 189, 173, 174, 175, 614, 597,
676 176, 60, 634, 64, 650, 65, 544, 668, 412, 528,
677 -318, -337, 161, -337, 551, 552, 492, 158, 178, 4,
678 5, 68, 488, 500, 167, 438, 375, 665, 438, 376,
679 -378, 170, 191, 658, 357, -378, 193, 194, 195, 196,
680 628, 629, 503, 504, 462, 463, 538, 467, 542, 584,
681 468, 335, -327, 561, 197, 204, 562, 182, 691, 407,
682 655, 186, 541, 172, 541, 337, 348, 350, 352, 181,
683 688, 184, 597, 185, 356, 695, 464, 465, 362, 141,
684 669, 143, 686, 187, 140, 706, 592, 597, 409, 72,
685 698, 582, 583, 601, 602, 111, 491, 207, 597, 708,
686 386, 386, 372, 383, 383, 482, 640, 496, 686, 441,
687 442, 438, 54, 189, 438, 438, 388, 354, 406, 95,
688 96, 97, 98, 99, 100, 359, 360, 361, 85, 86,
689 87, 88, 89, 90, 91, 92, 93, -327, 592, 635,
690 351, 353, 347, 357, -241, -373, -242, 363, 347, 364,
691 365, 391, 392, 393, 394, 395, 396, 397, 366, 371,
692 373, 369, 379, 517, 418, 380, 411, 440, 449, 451,
693 624, 625, 654, 452, 439, 518, 656, 610, 611, 1,
694 2, 3, 4, 5, 6, 7, 8, 482, 453, 454,
695 466, 457, 155, 496, 10, 11, 12, 13, 14, 15,
696 16, 17, 494, 497, 505, 106, 533, 547, 546, 556,
697 680, 592, 557, 555, 558, 559, 560, 563, 506, 347,
698 565, 438, 438, 570, 482, 571, 592, 572, 574, 482,
699 391, 392, 393, 394, 395, 396, 397, 592, 347, 347,
700 455, 151, 1, 2, 152, 4, 5, 6, 153, 8,
701 154, 575, 461, 482, 580, 155, 581, 10, 11, 12,
702 13, 14, 15, 16, 17, 107, 108, 109, 106, 585,
703 586, 348, 587, -24, 170, 599, 416, 348, 608, 648,
704 609, 612, 469, 615, 484, 578, 618, 620, 519, 158,
705 623, 520, 448, 626, 189, 521, 632, 522, 523, 524,
706 525, 526, 527, 633, 459, 643, 172, 391, 392, 393,
707 394, 395, 396, 397, 637, 645, 510, 644, 653, 661,
708 660, 664, 662, 338, 485, 663, 666, 667, 107, 108,
709 109, 671, 508, 509, 673, 675, 674, 495, 676, 678,
710 372, 679, 689, 687, 690, 499, 697, 692, 348, 705,
711 699, 700, 702, 413, 141, 701, 143, 703, 707, 140,
712 709, 168, 652, 355, 179, 368, 606, 348, 348, 378,
713 189, 166, 446, 347, 347, 649, 387, 545, 160, 386,
714 621, 386, 383, 537, 383, 534, 704, 566, 470, 191,
715 450, 627, 607, 550, 489, 0, 0, 388, 1, 2,
716 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
717 0, 641, 0, 10, 11, 12, 13, 14, 15, 16,
718 17, 141, 0, 143, 106, 0, 140, 567, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
720 579, 0, 0, 0, 0, 0, 0, 67, 604, 0,
721 0, 409, 68, 69, 0, 0, 158, 0, 0, 0,
722 0, 605, 459, 0, 0, 70, 0, 448, 0, 0,
723 0, 0, 0, 71, 0, 0, 113, 0, 0, 0,
724 0, 0, 0, 0, 107, 108, 109, 0, 0, 0,
725 72, 0, 485, 0, 0, 0, 639, 0, 0, 0,
726 0, 0, 348, 348, 0, 0, 646, 73, 74, 75,
727 76, 77, 114, 115, 116, 117, 118, 119, 120, 121,
728 122, 123, 124, 125, 651, 126, 127, 128, 129, 78,
729 0, 79, 80, 81, 82, 83, 84, 0, 0, 642,
730 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
731 95, 96, 97, 98, 99, 100, 670, 677, 0, 0,
732 0, 0, 681, 0, 419, 420, 421, 422, 423, 424,
733 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
734 435, 436, 0, 0, 0, 0, -431, 553, 681, -431,
735 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
736 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
737 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
738 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
739 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
740 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
741 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
742 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
743 -431, -431, 0, -431, 0, -431, -431, -431, -431, -431,
744 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
745 -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
746 -431, -431, -431, -431, -431, -431, -431, -431, 0, -431,
747 -431, 0, -431, -431, -431, -431, 208, 0, 0, 209,
748 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
749 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
750 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
751 240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
752 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
753 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
754 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
755 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
756 289, 290, 0, 291, 0, 292, 293, 294, 295, 296,
757 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
758 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
759 317, 318, 319, 320, 321, 322, 323, 324, 66, 0,
760 325, 0, 326, 327, 328, 329, 0, 67, 0, 0,
761 0, 0, 68, 69, 0, 0, 0, 0, 0, 0,
762 0, 0, 199, 200, 201, 70, 0, 0, 0, 0,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
764 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
765 0, 0, 0, 9, 0, 10, 11, 12, 13, 14,
766 15, 16, 17, 0, 0, 0, 18, 73, 74, 75,
767 76, 77, 19, 20, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 21, 0, 0, 0, 0, 0, 78,
769 0, 79, 80, 81, 82, 83, 84, 0, 0, 0,
770 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
771 95, 96, 97, 98, 99, 100, 0, 0, 0, 0,
772 0, 202, 0, 203, 0, 22, 23, 24, 25, 26,
773 27, 28, 0, 29, 1, 2, 3, 4, 5, 6,
774 7, 8, 0, 0, 0, 0, 0, 9, 0, 10,
775 11, 12, 13, 14, 15, 16, 17, 30, 0, 0,
776 164, 0, 31, 66, 1, 2, 3, 4, 5, 6,
777 7, 8, 67, 0, 0, 0, 0, 68, 69, 10,
778 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
779 548, 471, 0, 472, 0, 473, 0, 0, 474, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781 0, 0, 0, 342, 343, 72, 0, 0, 0, 165,
782 107, 108, 109, 110, 0, 0, 344, 345, 0, 0,
783 0, 0, 73, 74, 75, 76, 77, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 107, 108, 109, 549, 78, 0, 79, 80, 81, 82,
786 83, 84, 0, 0, 0, 85, 86, 87, 88, 89,
787 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
788 100, 66, 0, 0, 0, 0, 0, 0, 0, 0,
789 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
790 0, 0, 0, 0, 0, 511, 512, 513, 70, 471,
791 0, 472, 514, 473, 0, 0, 474, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 342, 343, 72, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 344, 345, 0, 0, 0, 0,
795 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 0, 0, 78, 0, 79, 80, 81, 82, 83, 84,
798 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
799 92, 93, 94, 95, 96, 97, 98, 99, 100, 66,
800 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
801 0, 0, 0, 68, 69, 0, 0, 0, 0, 0,
802 0, 0, 0, 588, 0, 0, 70, 471, 0, 472,
803 0, 473, 0, 0, 474, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 161, 0, 0, 342,
805 343, 72, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 344, 345, 0, 0, 0, 0, 73, 74,
807 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 78, 589, 590, 80, 81, 82, 83, 84, 0, 0,
810 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
811 591, 95, 96, 97, 98, 99, 100, 66, 0, 0,
812 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
813 0, 68, 69, 0, 0, 0, 0, 0, 0, 0,
814 0, 588, 0, 0, 70, 471, 0, 472, 0, 473,
815 0, 0, 474, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 342, 343, 72,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 344, 345, 0, 0, 0, 0, 73, 74, 75, 76,
819 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 78, 589,
821 590, 80, 81, 82, 83, 84, 0, 0, 0, 85,
822 86, 87, 88, 89, 90, 91, 92, 93, 591, 95,
823 96, 97, 98, 99, 100, 66, 0, 0, 0, 0,
824 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
825 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 70, 471, 0, 472, 0, 473, 0, 0,
827 474, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 161, 0, 0, 342, 343, 72, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 344, 345,
830 0, 0, 657, 0, 73, 74, 75, 76, 77, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 78, 0, 79, 80,
833 81, 82, 83, 84, 0, 0, 0, 85, 86, 87,
834 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
835 98, 99, 100, 66, 0, 0, 0, 0, 0, 0,
836 0, 0, 67, 0, 0, 0, 0, 68, 69, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 70, 471, -477, 472, 0, 473, 0, 0, 474, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 161, 0, 0, 342, 343, 72, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 344, 345, 0, 0,
842 0, 0, 73, 74, 75, 76, 77, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 78, 0, 79, 80, 81, 82,
845 83, 84, 0, 0, 0, 85, 86, 87, 88, 89,
846 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
847 100, 66, 0, 0, 0, 0, 0, 0, 0, 0,
848 67, 0, 0, 0, 0, 68, 69, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 70, 471,
850 0, 472, 0, 473, 0, 0, 474, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 161, 0,
852 0, 342, 343, 72, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 344, 345, 0, 0, 0, 0,
854 73, 74, 75, 76, 77, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 78, 0, 79, 80, 81, 82, 83, 84,
857 0, 0, 0, 85, 86, 87, 88, 89, 90, 91,
858 92, 93, 94, 95, 96, 97, 98, 99, 100, 66,
859 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
860 0, 0, 0, 68, 69, 10, 11, 12, 13, 14,
861 15, 16, 17, 0, 0, 0, 70, 0, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
864 0, 72, 0, 0, 9, 0, 10, 11, 12, 13,
865 14, 15, 16, 17, 0, 0, 0, 106, 73, 74,
866 75, 76, 77, 0, 0, 0, 0, 0, 0, 0,
867 577, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
869 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
870 94, 95, 96, 97, 98, 99, 100, 66, 0, 0,
871 0, 0, 0, 0, 0, 0, 67, 137, 138, 25,
872 110, 68, 69, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 70, 471, 0, 472, 0, 473,
874 0, 0, 474, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 342, 343, 72,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 344, 345, 0, 0, 0, 0, 73, 74, 75, 76,
878 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 78, 0,
880 79, 80, 81, 82, 83, 84, 0, 0, 0, 85,
881 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
882 96, 97, 98, 99, 100, 66, 0, 0, 0, 0,
883 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
884 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 70, 0, 0, 339, 0, 340, 0, 0,
886 341, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 342, 343, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 344, 345,
889 0, 0, 0, 0, 73, 74, 75, 76, 77, 66,
890 0, 0, 0, 0, 0, 0, 346, 0, 67, 0,
891 0, 0, 0, 68, 69, 0, 78, 0, 79, 80,
892 81, 82, 83, 84, 0, 0, 70, 85, 86, 87,
893 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
894 98, 99, 100, 0, 0, 0, 0, 0, 66, 0,
895 0, 72, 0, 0, 0, 0, 0, 67, 0, 0,
896 0, 0, 68, 69, 0, 0, 0, 0, 73, 74,
897 75, 76, 77, 0, 0, 70, 0, 0, 0, 0,
898 0, 0, 0, 190, 0, 0, 0, 0, 0, 0,
899 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
900 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
901 94, 95, 96, 97, 98, 99, 100, 73, 74, 75,
902 76, 77, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
904 0, 79, 80, 81, 82, 83, 84, 0, 0, 0,
905 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
906 95, 96, 97, 98, 99, 100, 66, 0, 0, 0,
907 0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
908 68, 69, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
910 0, 415, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 66, 0, 0, 0, 0,
912 0, 0, 0, 0, 67, 0, 0, 0, 0, 68,
913 69, 0, 0, 0, 0, 73, 74, 75, 76, 77,
914 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
915 447, 0, 0, 0, 0, 0, 0, 78, 0, 79,
916 80, 81, 82, 83, 84, 0, 0, 0, 85, 86,
917 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
918 97, 98, 99, 100, 73, 74, 75, 76, 77, 66,
919 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
920 0, 0, 0, 68, 69, 0, 78, 0, 79, 80,
921 81, 82, 83, 84, 0, 0, 70, 85, 86, 87,
922 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
923 98, 99, 100, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 1, 2, 3, 4, 5, 6, 7, 8, 73, 74,
926 75, 76, 77, 539, 0, 10, 11, 12, 13, 14,
927 15, 16, 17, 0, 0, 0, 106, 0, 0, 0,
928 78, 0, 79, 80, 81, 82, 83, 84, 0, 0,
929 0, 85, 86, 87, 88, 89, 90, 91, 92, 93,
930 94, 95, 96, 97, 98, 99, 100, 1, 2, 3,
931 4, 5, 6, 7, 8, 0, 540, 0, 0, 0,
932 539, 0, 10, 11, 12, 13, 14, 15, 16, 17,
933 0, 0, 0, 106, 0, 0, 107, 108, 109, 382,
934 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
935 0, 0, 0, 9, 0, 10, 11, 12, 13, 14,
936 15, 16, 17, 0, 0, 0, 106, 0, 0, 0,
937 0, 0, 0, 543, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
939 7, 8, 0, 107, 108, 109, 382, 9, 0, 10,
940 11, 12, 13, 14, 15, 16, 17, 0, 0, 0,
941 106, 0, 0, 0, 0, 0, 0, 1, 2, 3,
942 4, 5, 6, 7, 8, 0, 107, 108, 109, 110,
943 9, 0, 10, 11, 12, 13, 14, 15, 16, 17,
944 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
947 137, 138, 25, 110, 381, 0, 10, 11, 12, 13,
948 14, 15, 16, 17, 0, 0, 0, 106, 0, 0,
949 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
950 7, 8, 0, 107, 108, 109, 110, 460, 0, 10,
951 11, 12, 13, 14, 15, 16, 17, 564, 0, 0,
952 106, 0, 0, 0, 0, 0, 0, 0, 419, 420,
953 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
954 431, 432, 433, 434, 435, 436, 498, 107, 108, 109,
955 382, 553, 0, 0, 0, 419, 420, 421, 422, 423,
956 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
957 434, 435, 436, 0, 600, 0, 0, 0, 437, 0,
958 107, 108, 109, 419, 420, 421, 422, 423, 424, 425,
959 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
960 436, 696, 0, 0, 0, 0, 553, 0, 0, 0,
961 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
962 429, 430, 431, 432, 433, 434, 435, 436, 573, 0,
963 0, 0, 0, 553, 0, 419, 420, 421, 422, 423,
964 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
965 434, 435, 436, 636, 0, 0, 0, 0, 437, 0,
966 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
967 429, 430, 431, 432, 433, 434, 435, 436, 0, 0,
968 0, 0, 0, 553, 419, 420, 421, 422, 423, 424,
969 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
970 435, 436, 0, 0, 0, 0, 0, 437, 419, 420,
971 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
972 431, 432, 433, 434, 435, 436, 0, 0, 0, 0,
973 0, 553, 419, 420, 421, 422, 423, 424, 425, 426,
974 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
975 0, 0, 0, 0, 0, 437, 419, 420, 421, 422,
976 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
977 433, 434, 435, 436, 0, 0, 0, 0, 0, 553
978 };
979
980 static const short int yycheck[] =
981 {
982 39, 29, 9, 26, 18, 132, 22, 136, 22, 9,
983 71, 22, 392, 165, 404, 395, 341, 546, 0, 18,
984 546, 555, 347, 23, 24, 25, 372, 546, 531, 578,
985 349, 34, 39, 55, 398, 581, 18, 583, 0, 32,
986 34, 38, 37, 3, 34, 39, 6, 42, 97, 31,
987 10, 33, 12, 13, 14, 15, 16, 17, 55, 449,
988 33, 590, 41, 42, 71, 4, 5, 6, 41, 598,
989 9, 33, 598, 9, 620, 11, 466, 70, 205, 39,
990 37, 38, 50, 40, 474, 475, 450, 110, 6, 7,
991 8, 17, 18, 418, 0, 414, 6, 646, 417, 9,
992 37, 140, 102, 637, 41, 42, 128, 107, 108, 109,
993 17, 18, 437, 438, 39, 40, 462, 40, 464, 622,
994 43, 124, 38, 37, 40, 125, 40, 129, 677, 190,
995 633, 42, 463, 140, 465, 135, 136, 137, 138, 37,
996 674, 38, 671, 38, 144, 679, 39, 40, 155, 165,
997 653, 165, 671, 42, 165, 701, 546, 686, 197, 55,
998 686, 39, 40, 553, 554, 164, 43, 36, 697, 703,
999 184, 185, 172, 184, 185, 555, 39, 40, 697, 358,
1000 359, 500, 164, 190, 503, 504, 186, 37, 188, 115,
1001 116, 117, 118, 119, 120, 146, 147, 148, 105, 106,
1002 107, 108, 109, 110, 111, 112, 113, 38, 598, 599,
1003 137, 138, 341, 41, 31, 42, 31, 31, 347, 37,
1004 42, 98, 99, 100, 101, 102, 103, 104, 31, 38,
1005 6, 44, 38, 623, 38, 37, 123, 42, 46, 38,
1006 586, 587, 632, 37, 41, 43, 636, 572, 573, 4,
1007 5, 6, 7, 8, 9, 10, 11, 637, 37, 33,
1008 46, 34, 17, 40, 19, 20, 21, 22, 23, 24,
1009 25, 26, 39, 38, 38, 30, 45, 37, 46, 37,
1010 670, 671, 38, 46, 32, 46, 38, 37, 440, 418,
1011 39, 610, 611, 39, 674, 39, 686, 40, 33, 679,
1012 98, 99, 100, 101, 102, 103, 104, 697, 437, 438,
1013 371, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1014 12, 41, 383, 703, 37, 17, 41, 19, 20, 21,
1015 22, 23, 24, 25, 26, 90, 91, 92, 30, 39,
1016 39, 341, 39, 39, 383, 39, 346, 347, 39, 37,
1017 40, 40, 391, 40, 393, 507, 39, 41, 3, 382,
1018 46, 6, 362, 114, 371, 10, 38, 12, 13, 14,
1019 15, 16, 17, 38, 381, 33, 383, 98, 99, 100,
1020 101, 102, 103, 104, 40, 38, 447, 41, 38, 37,
1021 39, 33, 39, 135, 394, 41, 40, 37, 90, 91,
1022 92, 40, 441, 442, 39, 38, 40, 407, 40, 32,
1023 410, 38, 33, 39, 33, 415, 40, 39, 418, 33,
1024 40, 39, 39, 332, 440, 41, 440, 40, 39, 440,
1025 39, 33, 623, 140, 46, 166, 560, 437, 438, 179,
1026 447, 31, 361, 572, 573, 617, 185, 467, 28, 463,
1027 583, 465, 463, 460, 465, 455, 697, 496, 391, 459,
1028 365, 589, 562, 474, 395, -1, -1, 467, 4, 5,
1029 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1030 -1, 608, -1, 19, 20, 21, 22, 23, 24, 25,
1031 26, 507, -1, 507, 30, -1, 507, 497, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, 3, -1,
1033 510, -1, -1, -1, -1, -1, -1, 12, 557, -1,
1034 -1, 560, 17, 18, -1, -1, 549, -1, -1, -1,
1035 -1, 559, 539, -1, -1, 30, -1, 537, -1, -1,
1036 -1, -1, -1, 38, -1, -1, 36, -1, -1, -1,
1037 -1, -1, -1, -1, 90, 91, 92, -1, -1, -1,
1038 55, -1, 562, -1, -1, -1, 605, -1, -1, -1,
1039 -1, -1, 572, 573, -1, -1, 615, 72, 73, 74,
1040 75, 76, 72, 73, 74, 75, 76, 77, 78, 79,
1041 80, 81, 82, 83, 622, 85, 86, 87, 88, 94,
1042 -1, 96, 97, 98, 99, 100, 101, -1, -1, 609,
1043 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1044 115, 116, 117, 118, 119, 120, 40, 666, -1, -1,
1045 -1, -1, 671, -1, 48, 49, 50, 51, 52, 53,
1046 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1047 64, 65, -1, -1, -1, -1, 0, 71, 697, 3,
1048 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1049 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1050 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1051 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1052 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1053 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1054 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1055 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1056 84, 85, -1, 87, -1, 89, 90, 91, 92, 93,
1057 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1058 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1059 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
1060 124, -1, 126, 127, 128, 129, 0, -1, -1, 3,
1061 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1062 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1063 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1064 34, 35, -1, 37, 38, 39, 40, 41, 42, 43,
1065 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1066 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1067 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1068 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1069 84, 85, -1, 87, -1, 89, 90, 91, 92, 93,
1070 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1071 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1072 114, 115, 116, 117, 118, 119, 120, 121, 3, -1,
1073 124, -1, 126, 127, 128, 129, -1, 12, -1, -1,
1074 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1075 -1, -1, 27, 28, 29, 30, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1077 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1078 -1, -1, -1, 17, -1, 19, 20, 21, 22, 23,
1079 24, 25, 26, -1, -1, -1, 30, 72, 73, 74,
1080 75, 76, 36, 37, -1, -1, -1, -1, -1, -1,
1081 -1, -1, -1, 47, -1, -1, -1, -1, -1, 94,
1082 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
1083 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1084 115, 116, 117, 118, 119, 120, -1, -1, -1, -1,
1085 -1, 126, -1, 128, -1, 89, 90, 91, 92, 93,
1086 94, 95, -1, 97, 4, 5, 6, 7, 8, 9,
1087 10, 11, -1, -1, -1, -1, -1, 17, -1, 19,
1088 20, 21, 22, 23, 24, 25, 26, 121, -1, -1,
1089 30, -1, 126, 3, 4, 5, 6, 7, 8, 9,
1090 10, 11, 12, -1, -1, -1, -1, 17, 18, 19,
1091 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1092 30, 31, -1, 33, -1, 35, -1, -1, 38, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, 53, 54, 55, -1, -1, -1, 89,
1095 90, 91, 92, 93, -1, -1, 66, 67, -1, -1,
1096 -1, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1098 90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
1099 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1100 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1101 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1102 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1103 -1, -1, -1, -1, -1, 27, 28, 29, 30, 31,
1104 -1, 33, 34, 35, -1, -1, 38, -1, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1106 -1, 53, 54, 55, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
1108 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, 94, -1, 96, 97, 98, 99, 100, 101,
1111 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1112 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1113 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1114 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1115 -1, -1, -1, 27, -1, -1, 30, 31, -1, 33,
1116 -1, 35, -1, -1, 38, -1, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, 50, -1, -1, 53,
1118 54, 55, -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, 66, 67, -1, -1, -1, -1, 72, 73,
1120 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1122 94, 95, 96, 97, 98, 99, 100, 101, -1, -1,
1123 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1124 114, 115, 116, 117, 118, 119, 120, 3, -1, -1,
1125 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1126 -1, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1127 -1, 27, -1, -1, 30, 31, -1, 33, -1, 35,
1128 -1, -1, 38, -1, -1, -1, -1, -1, -1, -1,
1129 -1, -1, -1, -1, -1, -1, -1, 53, 54, 55,
1130 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1131 66, 67, -1, -1, -1, -1, 72, 73, 74, 75,
1132 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1133 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
1134 96, 97, 98, 99, 100, 101, -1, -1, -1, 105,
1135 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1136 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1137 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1138 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, 30, 31, -1, 33, -1, 35, -1, -1,
1140 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1141 -1, -1, 50, -1, -1, 53, 54, 55, -1, -1,
1142 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1143 -1, -1, 70, -1, 72, 73, 74, 75, 76, -1,
1144 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1145 -1, -1, -1, -1, -1, -1, 94, -1, 96, 97,
1146 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1147 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1148 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1149 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1151 30, 31, 32, 33, -1, 35, -1, -1, 38, -1,
1152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1153 50, -1, -1, 53, 54, 55, -1, -1, -1, -1,
1154 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
1155 -1, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1157 -1, -1, -1, -1, 94, -1, 96, 97, 98, 99,
1158 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1159 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1160 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1161 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, 30, 31,
1163 -1, 33, -1, 35, -1, -1, 38, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, -1, -1, 50, -1,
1165 -1, 53, 54, 55, -1, -1, -1, -1, -1, -1,
1166 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
1167 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1169 -1, -1, 94, -1, 96, 97, 98, 99, 100, 101,
1170 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1171 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1172 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1173 -1, -1, -1, 17, 18, 19, 20, 21, 22, 23,
1174 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1176 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1177 -1, 55, -1, -1, 17, -1, 19, 20, 21, 22,
1178 23, 24, 25, 26, -1, -1, -1, 30, 72, 73,
1179 74, 75, 76, -1, -1, -1, -1, -1, -1, -1,
1180 43, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1181 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1182 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1183 114, 115, 116, 117, 118, 119, 120, 3, -1, -1,
1184 -1, -1, -1, -1, -1, -1, 12, 90, 91, 92,
1185 93, 17, 18, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, 30, 31, -1, 33, -1, 35,
1187 -1, -1, 38, -1, -1, -1, -1, -1, -1, -1,
1188 -1, -1, -1, -1, -1, -1, -1, 53, 54, 55,
1189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1190 66, 67, -1, -1, -1, -1, 72, 73, 74, 75,
1191 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1192 -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
1193 96, 97, 98, 99, 100, 101, -1, -1, -1, 105,
1194 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1195 116, 117, 118, 119, 120, 3, -1, -1, -1, -1,
1196 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1197 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1198 -1, -1, 30, -1, -1, 33, -1, 35, -1, -1,
1199 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1200 -1, -1, -1, -1, -1, 53, 54, -1, -1, -1,
1201 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
1202 -1, -1, -1, -1, 72, 73, 74, 75, 76, 3,
1203 -1, -1, -1, -1, -1, -1, 84, -1, 12, -1,
1204 -1, -1, -1, 17, 18, -1, 94, -1, 96, 97,
1205 98, 99, 100, 101, -1, -1, 30, 105, 106, 107,
1206 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1207 118, 119, 120, -1, -1, -1, -1, -1, 3, -1,
1208 -1, 55, -1, -1, -1, -1, -1, 12, -1, -1,
1209 -1, -1, 17, 18, -1, -1, -1, -1, 72, 73,
1210 74, 75, 76, -1, -1, 30, -1, -1, -1, -1,
1211 -1, -1, -1, 38, -1, -1, -1, -1, -1, -1,
1212 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1213 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1214 114, 115, 116, 117, 118, 119, 120, 72, 73, 74,
1215 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1216 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1217 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
1218 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1219 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1220 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1221 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1223 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1224 -1, -1, -1, -1, -1, 3, -1, -1, -1, -1,
1225 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1226 18, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1227 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1228 38, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1229 97, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1230 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1231 117, 118, 119, 120, 72, 73, 74, 75, 76, 3,
1232 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1233 -1, -1, -1, 17, 18, -1, 94, -1, 96, 97,
1234 98, 99, 100, 101, -1, -1, 30, 105, 106, 107,
1235 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1236 118, 119, 120, -1, -1, -1, -1, -1, -1, -1,
1237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1238 4, 5, 6, 7, 8, 9, 10, 11, 72, 73,
1239 74, 75, 76, 17, -1, 19, 20, 21, 22, 23,
1240 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1241 94, -1, 96, 97, 98, 99, 100, 101, -1, -1,
1242 -1, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1243 114, 115, 116, 117, 118, 119, 120, 4, 5, 6,
1244 7, 8, 9, 10, 11, -1, 70, -1, -1, -1,
1245 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1246 -1, -1, -1, 30, -1, -1, 90, 91, 92, 93,
1247 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1248 -1, -1, -1, 17, -1, 19, 20, 21, 22, 23,
1249 24, 25, 26, -1, -1, -1, 30, -1, -1, -1,
1250 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
1251 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1252 10, 11, -1, 90, 91, 92, 93, 17, -1, 19,
1253 20, 21, 22, 23, 24, 25, 26, -1, -1, -1,
1254 30, -1, -1, -1, -1, -1, -1, 4, 5, 6,
1255 7, 8, 9, 10, 11, -1, 90, 91, 92, 93,
1256 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1257 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1258 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1259 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1260 90, 91, 92, 93, 17, -1, 19, 20, 21, 22,
1261 23, 24, 25, 26, -1, -1, -1, 30, -1, -1,
1262 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1263 10, 11, -1, 90, 91, 92, 93, 17, -1, 19,
1264 20, 21, 22, 23, 24, 25, 26, 37, -1, -1,
1265 30, -1, -1, -1, -1, -1, -1, -1, 48, 49,
1266 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1267 60, 61, 62, 63, 64, 65, 39, 90, 91, 92,
1268 93, 71, -1, -1, -1, 48, 49, 50, 51, 52,
1269 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1270 63, 64, 65, -1, 39, -1, -1, -1, 71, -1,
1271 90, 91, 92, 48, 49, 50, 51, 52, 53, 54,
1272 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1273 65, 39, -1, -1, -1, -1, 71, -1, -1, -1,
1274 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1275 58, 59, 60, 61, 62, 63, 64, 65, 41, -1,
1276 -1, -1, -1, 71, -1, 48, 49, 50, 51, 52,
1277 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1278 63, 64, 65, 41, -1, -1, -1, -1, 71, -1,
1279 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1280 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
1281 -1, -1, -1, 71, 48, 49, 50, 51, 52, 53,
1282 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1283 64, 65, -1, -1, -1, -1, -1, 71, 48, 49,
1284 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1285 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
1286 -1, 71, 48, 49, 50, 51, 52, 53, 54, 55,
1287 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1288 -1, -1, -1, -1, -1, 71, 48, 49, 50, 51,
1289 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1290 62, 63, 64, 65, -1, -1, -1, -1, -1, 71
1291 };
1292
1293 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1294 symbol of state STATE-NUM. */
1295 static const unsigned char yystos[] =
1296 {
1297 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1298 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1299 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1300 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1301 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1302 183, 186, 187, 188, 189, 190, 191, 194, 196, 197,
1303 203, 208, 218, 219, 9, 11, 3, 12, 17, 18,
1304 30, 38, 55, 72, 73, 74, 75, 76, 94, 96,
1305 97, 98, 99, 100, 101, 105, 106, 107, 108, 109,
1306 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1307 120, 135, 216, 217, 234, 244, 30, 90, 91, 92,
1308 93, 187, 194, 36, 72, 73, 74, 75, 76, 77,
1309 78, 79, 80, 81, 82, 83, 85, 86, 87, 88,
1310 142, 143, 144, 145, 147, 148, 149, 90, 91, 165,
1311 166, 188, 189, 194, 203, 209, 210, 135, 135, 135,
1312 211, 3, 6, 10, 12, 17, 160, 161, 167, 34,
1313 219, 50, 252, 253, 30, 89, 186, 0, 139, 135,
1314 195, 215, 216, 4, 5, 6, 9, 175, 6, 172,
1315 178, 37, 129, 180, 38, 38, 42, 42, 215, 216,
1316 38, 135, 55, 128, 135, 135, 135, 40, 184, 27,
1317 28, 29, 126, 128, 135, 150, 151, 36, 0, 3,
1318 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1319 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1320 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1321 34, 35, 37, 38, 39, 40, 41, 42, 43, 44,
1322 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1323 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1324 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1325 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1326 85, 87, 89, 90, 91, 92, 93, 94, 95, 96,
1327 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1328 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1329 117, 118, 119, 120, 121, 124, 126, 127, 128, 129,
1330 136, 154, 155, 154, 34, 124, 146, 135, 150, 33,
1331 35, 38, 53, 54, 66, 67, 84, 134, 135, 156,
1332 135, 211, 135, 211, 37, 171, 135, 41, 213, 213,
1333 213, 213, 216, 31, 37, 42, 31, 165, 180, 44,
1334 214, 38, 135, 6, 176, 6, 9, 177, 175, 38,
1335 37, 17, 93, 166, 192, 193, 194, 192, 135, 204,
1336 205, 98, 99, 100, 101, 102, 103, 104, 225, 226,
1337 227, 240, 241, 247, 248, 249, 135, 215, 185, 195,
1338 216, 123, 154, 136, 156, 38, 135, 156, 38, 48,
1339 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1340 59, 60, 61, 62, 63, 64, 65, 71, 133, 41,
1341 42, 199, 199, 37, 198, 199, 198, 38, 135, 46,
1342 225, 38, 37, 37, 33, 215, 214, 34, 181, 216,
1343 17, 215, 39, 40, 39, 40, 46, 40, 43, 195,
1344 230, 31, 33, 35, 38, 134, 195, 206, 207, 222,
1345 242, 243, 244, 252, 195, 135, 250, 251, 18, 243,
1346 244, 43, 226, 206, 39, 135, 40, 38, 39, 135,
1347 156, 157, 158, 156, 156, 38, 165, 200, 195, 195,
1348 215, 27, 28, 29, 34, 162, 163, 206, 43, 3,
1349 6, 10, 12, 13, 14, 15, 16, 17, 39, 220,
1350 221, 223, 224, 45, 135, 34, 39, 216, 214, 17,
1351 70, 193, 214, 70, 206, 205, 46, 37, 30, 93,
1352 166, 206, 206, 71, 133, 46, 37, 38, 32, 46,
1353 38, 37, 40, 37, 37, 39, 195, 135, 152, 153,
1354 39, 39, 40, 41, 33, 41, 212, 43, 165, 135,
1355 37, 41, 39, 40, 222, 39, 39, 39, 27, 95,
1356 96, 114, 206, 229, 231, 232, 233, 234, 253, 39,
1357 39, 206, 206, 242, 195, 252, 185, 251, 39, 40,
1358 156, 156, 40, 33, 41, 40, 201, 212, 39, 223,
1359 41, 221, 223, 46, 214, 214, 114, 231, 17, 18,
1360 234, 237, 38, 38, 229, 206, 41, 40, 245, 195,
1361 39, 154, 135, 33, 41, 38, 195, 202, 37, 201,
1362 223, 252, 162, 38, 206, 222, 206, 70, 242, 246,
1363 39, 37, 39, 41, 33, 212, 40, 37, 70, 222,
1364 40, 40, 235, 39, 40, 38, 40, 195, 32, 38,
1365 206, 195, 228, 229, 230, 236, 253, 39, 242, 33,
1366 33, 212, 39, 238, 239, 242, 39, 40, 229, 40,
1367 39, 41, 39, 40, 228, 33, 223, 39, 242, 39
1368 };
1369
1370 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1371 static const unsigned char yyr1[] =
1372 {
1373 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1374 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1375 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1376 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1377 135, 135, 136, 136, 136, 136, 136, 136, 136, 136,
1378 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1379 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1380 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1381 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1382 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1383 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1384 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1385 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1386 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1387 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1388 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1389 136, 136, 136, 136, 137, 137, 138, 138, 139, 139,
1390 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1391 139, 140, 141, 141, 142, 142, 142, 142, 142, 142,
1392 142, 142, 143, 143, 144, 144, 145, 145, 145, 146,
1393 146, 147, 147, 148, 148, 148, 149, 149, 150, 150,
1394 150, 150, 150, 150, 151, 151, 152, 152, 153, 153,
1395 154, 154, 155, 155, 156, 156, 156, 156, 156, 156,
1396 156, 156, 156, 156, 157, 157, 158, 158, 159, 160,
1397 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
1398 163, 164, 164, 165, 165, 165, 165, 165, 165, 166,
1399 166, 167, 167, 168, 168, 168, 169, 169, 169, 169,
1400 170, 170, 170, 171, 171, 171, 171, 171, 171, 171,
1401 171, 172, 172, 173, 173, 173, 174, 174, 174, 174,
1402 175, 175, 175, 175, 175, 176, 176, 177, 177, 177,
1403 178, 178, 178, 179, 179, 180, 180, 181, 181, 182,
1404 183, 184, 184, 185, 185, 186, 186, 187, 187, 188,
1405 188, 189, 189, 190, 190, 190, 190, 191, 191, 192,
1406 192, 192, 192, 193, 193, 193, 193, 194, 194, 194,
1407 194, 195, 195, 196, 197, 198, 198, 199, 200, 200,
1408 201, 201, 202, 202, 203, 204, 204, 205, 205, 206,
1409 206, 206, 206, 206, 206, 207, 207, 207, 207, 208,
1410 209, 210, 211, 211, 212, 212, 212, 212, 213, 213,
1411 214, 214, 215, 215, 216, 216, 217, 217, 218, 218,
1412 219, 219, 219, 220, 220, 221, 221, 222, 223, 224,
1413 224, 224, 224, 224, 224, 224, 224, 224, 225, 225,
1414 226, 226, 226, 226, 226, 227, 227, 228, 228, 228,
1415 229, 229, 229, 229, 229, 229, 230, 230, 231, 232,
1416 233, 234, 234, 234, 234, 234, 234, 234, 234, 234,
1417 234, 235, 235, 236, 236, 237, 237, 238, 238, 239,
1418 239, 240, 241, 242, 242, 242, 243, 243, 244, 244,
1419 244, 244, 244, 244, 244, 244, 245, 245, 246, 246,
1420 247, 248, 248, 249, 250, 250, 251, 252, 252, 253
1421 };
1422
1423 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1424 static const unsigned char yyr2[] =
1425 {
1426 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1442 1, 1, 1, 1, 0, 1, 1, 2, 1, 1,
1443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1444 1, 3, 2, 3, 2, 2, 1, 2, 2, 2,
1445 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1447 1, 1, 1, 1, 6, 2, 0, 1, 1, 3,
1448 0, 1, 1, 2, 3, 2, 3, 5, 2, 4,
1449 1, 1, 1, 4, 0, 1, 1, 3, 6, 1,
1450 1, 1, 1, 1, 0, 1, 1, 1, 1, 1,
1451 1, 3, 4, 1, 1, 2, 4, 4, 2, 2,
1452 1, 1, 1, 2, 2, 2, 1, 1, 1, 1,
1453 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1454 1, 1, 1, 1, 1, 2, 1, 1, 2, 2,
1455 0, 1, 2, 1, 2, 0, 1, 0, 1, 1,
1456 0, 1, 2, 3, 4, 0, 4, 1, 2, 2,
1457 3, 0, 2, 1, 3, 1, 2, 1, 1, 5,
1458 7, 5, 7, 6, 7, 6, 5, 1, 2, 0,
1459 1, 1, 3, 1, 2, 3, 2, 1, 2, 4,
1460 3, 3, 2, 4, 4, 1, 1, 3, 4, 5,
1461 0, 2, 2, 4, 4, 1, 3, 1, 3, 1,
1462 4, 3, 3, 2, 5, 1, 1, 1, 1, 2,
1463 2, 2, 0, 1, 0, 2, 7, 9, 0, 7,
1464 0, 3, 0, 1, 1, 2, 1, 2, 4, 5,
1465 7, 8, 13, 1, 3, 2, 4, 2, 1, 1,
1466 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
1467 1, 1, 1, 1, 1, 3, 6, 1, 2, 1,
1468 1, 1, 2, 1, 1, 1, 3, 4, 6, 8,
1469 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1470 1, 0, 2, 1, 3, 1, 1, 0, 1, 1,
1471 3, 3, 3, 1, 1, 3, 5, 6, 1, 1,
1472 1, 1, 1, 1, 1, 1, 0, 2, 1, 3,
1473 3, 1, 1, 3, 1, 3, 4, 0, 1, 1
1474 };
1475
1476
1477 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1478 static const unsigned char yydprec[] =
1479 {
1480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, 0, 0,