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