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