* cp-tree.h (make_typename_type): Change prototype.
[official-gcc.git] / gcc / cp / parse.c
blob4ceeea6e538524256929595b36fc22bfa6b16102
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.27
4 */
6 #define YYBISON 1 /* Identify Bison output. */
8 #define IDENTIFIER 257
9 #define TYPENAME 258
10 #define SELFNAME 259
11 #define PFUNCNAME 260
12 #define SCSPEC 261
13 #define TYPESPEC 262
14 #define CV_QUALIFIER 263
15 #define CONSTANT 264
16 #define STRING 265
17 #define ELLIPSIS 266
18 #define SIZEOF 267
19 #define ENUM 268
20 #define IF 269
21 #define ELSE 270
22 #define WHILE 271
23 #define DO 272
24 #define FOR 273
25 #define SWITCH 274
26 #define CASE 275
27 #define DEFAULT 276
28 #define BREAK 277
29 #define CONTINUE 278
30 #define RETURN_KEYWORD 279
31 #define GOTO 280
32 #define ASM_KEYWORD 281
33 #define TYPEOF 282
34 #define ALIGNOF 283
35 #define SIGOF 284
36 #define ATTRIBUTE 285
37 #define EXTENSION 286
38 #define LABEL 287
39 #define REALPART 288
40 #define IMAGPART 289
41 #define VA_ARG 290
42 #define AGGR 291
43 #define VISSPEC 292
44 #define DELETE 293
45 #define NEW 294
46 #define THIS 295
47 #define OPERATOR 296
48 #define CXX_TRUE 297
49 #define CXX_FALSE 298
50 #define NAMESPACE 299
51 #define TYPENAME_KEYWORD 300
52 #define USING 301
53 #define LEFT_RIGHT 302
54 #define TEMPLATE 303
55 #define TYPEID 304
56 #define DYNAMIC_CAST 305
57 #define STATIC_CAST 306
58 #define REINTERPRET_CAST 307
59 #define CONST_CAST 308
60 #define SCOPE 309
61 #define EMPTY 310
62 #define PTYPENAME 311
63 #define NSNAME 312
64 #define THROW 313
65 #define ASSIGN 314
66 #define OROR 315
67 #define ANDAND 316
68 #define MIN_MAX 317
69 #define EQCOMPARE 318
70 #define ARITHCOMPARE 319
71 #define LSHIFT 320
72 #define RSHIFT 321
73 #define POINTSAT_STAR 322
74 #define DOT_STAR 323
75 #define UNARY 324
76 #define PLUSPLUS 325
77 #define MINUSMINUS 326
78 #define HYPERUNARY 327
79 #define POINTSAT 328
80 #define TRY 329
81 #define CATCH 330
82 #define EXTERN_LANG_STRING 331
83 #define ALL 332
84 #define PRE_PARSED_CLASS_DECL 333
85 #define DEFARG 334
86 #define DEFARG_MARKER 335
87 #define PRE_PARSED_FUNCTION_DECL 336
88 #define TYPENAME_DEFN 337
89 #define IDENTIFIER_DEFN 338
90 #define PTYPENAME_DEFN 339
91 #define END_OF_LINE 340
92 #define END_OF_SAVED_INPUT 341
94 #line 29 "parse.y"
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
99 #include "config.h"
101 #include "system.h"
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111 #include "ggc.h"
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 const char * const language_string = "GNU C++";
117 extern struct obstack permanent_obstack;
119 extern int end_of_file;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static const char *cond_stmt_keyword;
131 static tree empty_parms PROTO((void));
132 static int parse_decl PROTO((tree, tree, tree, int, tree *));
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
138 /* Cons up an empty parameter list. */
139 static inline tree
140 empty_parms ()
142 tree parms;
144 if (strict_prototype
145 || current_class_type != NULL)
146 parms = void_list_node;
147 else
148 parms = NULL_TREE;
149 return parms;
153 #line 90 "parse.y"
154 typedef union {
155 long itype;
156 tree ttype;
157 char *strtype;
158 enum tree_code code;
159 flagged_type_tree ftype;
160 struct pending_inline *pi;
161 } YYSTYPE;
162 #line 295 "parse.y"
164 /* List of types and structure classes of the current declaration. */
165 static tree current_declspecs;
167 /* List of prefix attributes in effect.
168 Prefix attributes are parsed by the reserved_declspecs and declmods
169 rules. They create a list that contains *both* declspecs and attrs. */
170 /* ??? It is not clear yet that all cases where an attribute can now appear in
171 a declspec list have been updated. */
172 static tree prefix_attributes;
174 /* When defining an aggregate, this is the kind of the most recent one
175 being defined. (For example, this might be class_type_node.) */
176 static tree current_aggr;
178 /* When defining an enumeration, this is the type of the enumeration. */
179 static tree current_enum_type;
181 /* Tell yyparse how to print a token's value, if yydebug is set. */
183 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
184 extern void yyprint PROTO((FILE *, int, YYSTYPE));
185 extern tree combine_strings PROTO((tree));
187 static int
188 parse_decl (declarator, specs_attrs, attributes, initialized, decl)
189 tree declarator;
190 tree specs_attrs;
191 tree attributes;
192 int initialized;
193 tree* decl;
195 int sm;
197 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
198 if (current_declspecs
199 && TREE_CODE (current_declspecs) != TREE_LIST)
200 current_declspecs = build_decl_list (NULL_TREE, current_declspecs);
201 if (have_extern_spec && !used_extern_spec)
203 current_declspecs = decl_tree_cons (NULL_TREE,
204 get_identifier ("extern"),
205 current_declspecs);
206 used_extern_spec = 1;
208 sm = suspend_momentary ();
209 *decl = start_decl (declarator, current_declspecs, initialized,
210 attributes, prefix_attributes);
211 return sm;
214 void
215 cp_parse_init ()
217 ggc_add_tree_root (&current_declspecs, 1);
218 ggc_add_tree_root (&prefix_attributes, 1);
219 ggc_add_tree_root (&current_aggr, 1);
220 ggc_add_tree_root (&current_enum_type, 1);
222 #include <stdio.h>
224 #ifndef __cplusplus
225 #ifndef __STDC__
226 #define const
227 #endif
228 #endif
232 #define YYFINAL 1668
233 #define YYFLAG -32768
234 #define YYNTBASE 112
236 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 401)
238 static const char yytranslate[] = { 0,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 110, 2, 2, 2, 83, 71, 2, 93,
243 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
245 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
254 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
261 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
262 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
263 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
264 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
265 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
266 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
267 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
268 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
269 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
270 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
271 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
272 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
276 #if YYDEBUG != 0
277 static const short yyprhs[] = { 0,
278 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
279 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
280 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
281 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
282 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
283 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
284 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
285 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
286 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
287 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
288 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
289 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
290 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
291 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
292 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
293 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
294 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
295 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
296 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
297 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
298 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
299 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
300 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
301 737, 743, 750, 757, 765, 768, 773, 779, 782, 785,
302 792, 794, 795, 800, 805, 809, 811, 815, 818, 822,
303 827, 829, 832, 838, 840, 844, 848, 852, 856, 860,
304 864, 868, 872, 876, 880, 884, 888, 892, 896, 900,
305 904, 908, 912, 916, 922, 926, 930, 932, 935, 939,
306 943, 945, 947, 949, 951, 953, 954, 960, 966, 972,
307 978, 984, 986, 988, 990, 992, 995, 997, 1000, 1003,
308 1007, 1012, 1017, 1019, 1021, 1023, 1027, 1029, 1031, 1033,
309 1035, 1039, 1043, 1047, 1048, 1053, 1058, 1061, 1066, 1069,
310 1074, 1077, 1080, 1082, 1087, 1089, 1097, 1105, 1113, 1121,
311 1126, 1131, 1134, 1137, 1140, 1142, 1147, 1150, 1153, 1159,
312 1163, 1166, 1169, 1175, 1179, 1185, 1189, 1194, 1201, 1204,
313 1206, 1209, 1211, 1214, 1216, 1218, 1220, 1223, 1224, 1227,
314 1230, 1234, 1238, 1242, 1245, 1248, 1251, 1253, 1255, 1257,
315 1260, 1263, 1266, 1269, 1271, 1273, 1275, 1277, 1280, 1283,
316 1287, 1291, 1295, 1300, 1302, 1305, 1308, 1311, 1313, 1315,
317 1317, 1320, 1323, 1326, 1328, 1330, 1333, 1336, 1340, 1342,
318 1345, 1347, 1349, 1351, 1356, 1361, 1366, 1371, 1373, 1375,
319 1377, 1379, 1383, 1385, 1389, 1391, 1395, 1396, 1401, 1402,
320 1409, 1413, 1414, 1419, 1421, 1425, 1429, 1430, 1435, 1439,
321 1440, 1442, 1444, 1447, 1454, 1456, 1460, 1461, 1463, 1468,
322 1475, 1480, 1482, 1484, 1486, 1488, 1490, 1494, 1495, 1498,
323 1500, 1503, 1507, 1512, 1514, 1516, 1520, 1525, 1529, 1535,
324 1537, 1542, 1546, 1550, 1551, 1555, 1559, 1563, 1564, 1567,
325 1570, 1571, 1578, 1579, 1585, 1588, 1591, 1594, 1595, 1596,
326 1597, 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624,
327 1627, 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658,
328 1661, 1665, 1667, 1668, 1672, 1675, 1678, 1680, 1682, 1683,
329 1686, 1690, 1692, 1697, 1699, 1703, 1705, 1707, 1710, 1713,
330 1717, 1721, 1722, 1724, 1728, 1731, 1734, 1736, 1739, 1742,
331 1745, 1748, 1751, 1754, 1757, 1759, 1762, 1765, 1769, 1772,
332 1775, 1780, 1785, 1788, 1790, 1796, 1801, 1803, 1804, 1806,
333 1810, 1811, 1813, 1817, 1819, 1821, 1823, 1825, 1830, 1835,
334 1840, 1845, 1850, 1854, 1859, 1864, 1869, 1874, 1878, 1881,
335 1883, 1885, 1889, 1891, 1895, 1898, 1900, 1908, 1909, 1912,
336 1914, 1917, 1918, 1921, 1926, 1931, 1934, 1939, 1941, 1944,
337 1948, 1952, 1955, 1958, 1962, 1964, 1969, 1974, 1978, 1982,
338 1985, 1987, 1989, 1992, 1994, 1996, 1999, 2002, 2004, 2007,
339 2011, 2015, 2018, 2021, 2025, 2027, 2031, 2035, 2038, 2041,
340 2045, 2047, 2052, 2056, 2061, 2065, 2067, 2070, 2073, 2076,
341 2079, 2082, 2084, 2087, 2092, 2097, 2100, 2102, 2104, 2106,
342 2108, 2111, 2116, 2119, 2122, 2125, 2128, 2130, 2133, 2136,
343 2139, 2142, 2146, 2148, 2151, 2155, 2160, 2163, 2166, 2169,
344 2172, 2175, 2178, 2183, 2186, 2188, 2191, 2194, 2198, 2200,
345 2204, 2207, 2211, 2214, 2217, 2221, 2223, 2227, 2232, 2234,
346 2237, 2241, 2244, 2247, 2249, 2253, 2256, 2259, 2261, 2264,
347 2268, 2270, 2274, 2281, 2286, 2291, 2295, 2301, 2305, 2309,
348 2313, 2316, 2318, 2320, 2323, 2326, 2329, 2330, 2332, 2334,
349 2337, 2341, 2343, 2346, 2347, 2351, 2352, 2353, 2359, 2361,
350 2362, 2365, 2367, 2369, 2371, 2374, 2375, 2380, 2382, 2383,
351 2384, 2390, 2391, 2392, 2400, 2401, 2402, 2403, 2404, 2417,
352 2418, 2419, 2427, 2428, 2434, 2435, 2443, 2444, 2449, 2452,
353 2455, 2458, 2462, 2469, 2478, 2489, 2502, 2507, 2511, 2514,
354 2517, 2519, 2521, 2523, 2525, 2527, 2528, 2529, 2536, 2537,
355 2538, 2544, 2546, 2549, 2550, 2551, 2557, 2559, 2561, 2565,
356 2569, 2572, 2575, 2578, 2581, 2584, 2586, 2589, 2590, 2592,
357 2593, 2595, 2597, 2598, 2600, 2602, 2606, 2611, 2613, 2617,
358 2618, 2620, 2622, 2624, 2627, 2630, 2633, 2635, 2638, 2641,
359 2642, 2646, 2648, 2650, 2652, 2655, 2658, 2661, 2666, 2669,
360 2672, 2675, 2678, 2681, 2684, 2686, 2689, 2691, 2694, 2696,
361 2698, 2699, 2700, 2702, 2703, 2708, 2711, 2713, 2715, 2719,
362 2720, 2724, 2728, 2732, 2734, 2737, 2740, 2743, 2746, 2749,
363 2752, 2755, 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779,
364 2782, 2785, 2788, 2791, 2794, 2797, 2800, 2803, 2807, 2810,
365 2813, 2816, 2819, 2823, 2826, 2829, 2834, 2839, 2843
368 static const short yyrhs[] = { -1,
369 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
370 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
371 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
372 93, 219, 108, 61, 0, 133, 59, 115, 109, 0,
373 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
374 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
375 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
376 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
377 126, 132, 61, 0, 47, 314, 0, 47, 328, 314,
378 0, 47, 328, 209, 0, 47, 131, 163, 0, 47,
379 328, 163, 0, 47, 328, 131, 163, 0, 0, 47,
380 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
381 55, 0, 209, 0, 314, 0, 328, 314, 0, 328,
382 209, 0, 97, 0, 133, 97, 0, 0, 49, 75,
383 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
384 136, 60, 140, 0, 163, 0, 0, 269, 137, 0,
385 46, 137, 0, 134, 269, 137, 0, 138, 0, 138,
386 65, 225, 0, 392, 0, 392, 65, 204, 0, 139,
387 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
388 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
389 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
390 142, 0, 236, 61, 0, 229, 235, 61, 0, 226,
391 234, 61, 0, 261, 61, 0, 236, 61, 0, 229,
392 235, 61, 0, 226, 234, 61, 0, 229, 61, 0,
393 166, 61, 0, 226, 61, 0, 1, 61, 0, 1,
394 109, 0, 61, 0, 220, 0, 159, 0, 0, 158,
395 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
396 339, 0, 154, 146, 363, 0, 154, 146, 1, 0,
397 0, 319, 5, 93, 150, 383, 108, 299, 395, 0,
398 319, 5, 48, 299, 395, 0, 0, 328, 319, 5,
399 93, 151, 383, 108, 299, 395, 0, 328, 319, 5,
400 48, 299, 395, 0, 0, 319, 179, 93, 152, 383,
401 108, 299, 395, 0, 319, 179, 48, 299, 395, 0,
402 0, 328, 319, 179, 93, 153, 383, 108, 299, 395,
403 0, 328, 319, 179, 48, 299, 395, 0, 226, 223,
404 0, 229, 311, 0, 311, 0, 229, 149, 0, 149,
405 0, 5, 93, 383, 108, 299, 395, 0, 5, 48,
406 299, 395, 0, 179, 93, 383, 108, 299, 395, 0,
407 179, 48, 299, 395, 0, 229, 155, 0, 155, 0,
408 226, 223, 0, 229, 311, 0, 311, 0, 229, 149,
409 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
410 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
411 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
412 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
413 196, 108, 0, 164, 48, 0, 307, 93, 196, 108,
414 0, 307, 48, 0, 321, 93, 196, 108, 0, 321,
415 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
416 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
417 104, 0, 103, 0, 105, 0, 0, 49, 175, 232,
418 61, 167, 176, 0, 0, 49, 175, 226, 223, 168,
419 176, 0, 0, 49, 175, 311, 169, 176, 0, 0,
420 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
421 232, 61, 171, 176, 0, 0, 7, 49, 175, 226,
422 223, 172, 176, 0, 0, 7, 49, 175, 311, 173,
423 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
424 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
425 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
426 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
427 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
428 183, 60, 184, 0, 225, 0, 57, 0, 204, 0,
429 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
430 195, 0, 204, 0, 48, 0, 93, 186, 108, 0,
431 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
432 0, 0, 373, 223, 237, 246, 65, 191, 254, 0,
433 186, 0, 109, 0, 336, 334, 109, 0, 336, 334,
434 1, 109, 0, 336, 1, 109, 0, 0, 59, 194,
435 192, 0, 348, 0, 204, 60, 204, 0, 204, 60,
436 1, 0, 195, 60, 204, 0, 195, 60, 1, 0,
437 204, 0, 195, 0, 214, 0, 118, 203, 0, 81,
438 203, 0, 71, 203, 0, 89, 203, 0, 185, 203,
439 0, 68, 163, 0, 13, 197, 0, 13, 93, 225,
440 108, 0, 29, 197, 0, 29, 93, 225, 108, 0,
441 216, 298, 0, 216, 298, 201, 0, 216, 200, 298,
442 0, 216, 200, 298, 201, 0, 216, 93, 199, 225,
443 198, 0, 216, 93, 199, 225, 198, 201, 0, 216,
444 200, 93, 199, 225, 198, 0, 216, 200, 93, 199,
445 225, 198, 201, 0, 217, 203, 0, 217, 94, 111,
446 203, 0, 217, 94, 186, 111, 203, 0, 34, 203,
447 0, 35, 203, 0, 36, 93, 204, 60, 225, 108,
448 0, 108, 0, 0, 93, 199, 196, 108, 0, 59,
449 199, 196, 109, 0, 93, 196, 108, 0, 48, 0,
450 93, 232, 108, 0, 65, 254, 0, 93, 225, 108,
451 0, 202, 93, 225, 108, 0, 197, 0, 202, 197,
452 0, 202, 59, 255, 267, 109, 0, 203, 0, 204,
453 84, 204, 0, 204, 85, 204, 0, 204, 79, 204,
454 0, 204, 80, 204, 0, 204, 81, 204, 0, 204,
455 82, 204, 0, 204, 83, 204, 0, 204, 77, 204,
456 0, 204, 78, 204, 0, 204, 74, 204, 0, 204,
457 75, 204, 0, 204, 76, 204, 0, 204, 73, 204,
458 0, 204, 72, 204, 0, 204, 71, 204, 0, 204,
459 69, 204, 0, 204, 70, 204, 0, 204, 68, 204,
460 0, 204, 67, 204, 0, 204, 66, 378, 63, 204,
461 0, 204, 65, 204, 0, 204, 64, 204, 0, 62,
462 0, 62, 204, 0, 89, 393, 163, 0, 89, 393,
463 177, 0, 207, 0, 400, 0, 3, 0, 57, 0,
464 58, 0, 0, 6, 75, 206, 182, 181, 0, 400,
465 75, 206, 182, 181, 0, 49, 163, 75, 182, 181,
466 0, 49, 6, 75, 182, 181, 0, 49, 400, 75,
467 182, 181, 0, 205, 0, 4, 0, 5, 0, 211,
468 0, 247, 211, 0, 205, 0, 81, 210, 0, 71,
469 210, 0, 93, 210, 108, 0, 3, 75, 182, 181,
470 0, 58, 75, 183, 181, 0, 313, 0, 205, 0,
471 212, 0, 93, 210, 108, 0, 205, 0, 10, 0,
472 218, 0, 219, 0, 93, 186, 108, 0, 93, 210,
473 108, 0, 93, 1, 108, 0, 0, 93, 215, 340,
474 108, 0, 205, 93, 196, 108, 0, 205, 48, 0,
475 214, 93, 196, 108, 0, 214, 48, 0, 214, 94,
476 186, 111, 0, 214, 87, 0, 214, 88, 0, 41,
477 0, 9, 93, 196, 108, 0, 317, 0, 51, 75,
478 225, 76, 93, 186, 108, 0, 52, 75, 225, 76,
479 93, 186, 108, 0, 53, 75, 225, 76, 93, 186,
480 108, 0, 54, 75, 225, 76, 93, 186, 108, 0,
481 50, 93, 186, 108, 0, 50, 93, 225, 108, 0,
482 328, 3, 0, 328, 207, 0, 328, 400, 0, 316,
483 0, 316, 93, 196, 108, 0, 316, 48, 0, 221,
484 208, 0, 221, 208, 93, 196, 108, 0, 221, 208,
485 48, 0, 221, 209, 0, 221, 316, 0, 221, 209,
486 93, 196, 108, 0, 221, 209, 48, 0, 221, 316,
487 93, 196, 108, 0, 221, 316, 48, 0, 221, 89,
488 8, 48, 0, 221, 8, 55, 89, 8, 48, 0,
489 221, 1, 0, 40, 0, 328, 40, 0, 39, 0,
490 328, 217, 0, 43, 0, 44, 0, 11, 0, 219,
491 11, 0, 0, 214, 92, 0, 214, 91, 0, 232,
492 234, 61, 0, 226, 234, 61, 0, 229, 235, 61,
493 0, 226, 61, 0, 229, 61, 0, 118, 222, 0,
494 305, 0, 311, 0, 48, 0, 224, 48, 0, 230,
495 332, 0, 300, 332, 0, 232, 332, 0, 230, 0,
496 300, 0, 230, 0, 227, 0, 229, 232, 0, 232,
497 228, 0, 232, 231, 228, 0, 229, 232, 228, 0,
498 229, 232, 231, 0, 229, 232, 231, 228, 0, 7,
499 0, 228, 233, 0, 228, 7, 0, 228, 247, 0,
500 247, 0, 300, 0, 7, 0, 229, 9, 0, 229,
501 7, 0, 229, 247, 0, 247, 0, 232, 0, 300,
502 232, 0, 232, 231, 0, 300, 232, 231, 0, 233,
503 0, 231, 233, 0, 261, 0, 8, 0, 308, 0,
504 28, 93, 186, 108, 0, 28, 93, 225, 108, 0,
505 30, 93, 186, 108, 0, 30, 93, 225, 108, 0,
506 8, 0, 9, 0, 261, 0, 242, 0, 234, 60,
507 238, 0, 243, 0, 235, 60, 238, 0, 244, 0,
508 236, 60, 238, 0, 0, 119, 93, 219, 108, 0,
509 0, 223, 237, 246, 65, 239, 254, 0, 223, 237,
510 246, 0, 0, 246, 65, 241, 254, 0, 246, 0,
511 223, 237, 240, 0, 311, 237, 240, 0, 0, 311,
512 237, 245, 240, 0, 149, 237, 246, 0, 0, 247,
513 0, 248, 0, 247, 248, 0, 31, 93, 93, 249,
514 108, 108, 0, 250, 0, 249, 60, 250, 0, 0,
515 251, 0, 251, 93, 3, 108, 0, 251, 93, 3,
516 60, 196, 108, 0, 251, 93, 196, 108, 0, 163,
517 0, 7, 0, 8, 0, 9, 0, 163, 0, 252,
518 60, 163, 0, 0, 65, 254, 0, 204, 0, 59,
519 109, 0, 59, 255, 109, 0, 59, 255, 60, 109,
520 0, 1, 0, 254, 0, 255, 60, 254, 0, 94,
521 204, 111, 254, 0, 163, 63, 254, 0, 255, 60,
522 163, 63, 254, 0, 102, 0, 256, 146, 145, 339,
523 0, 256, 146, 363, 0, 256, 146, 1, 0, 0,
524 258, 257, 147, 0, 101, 204, 107, 0, 101, 1,
525 107, 0, 0, 260, 259, 0, 260, 1, 0, 0,
526 14, 163, 59, 262, 295, 109, 0, 0, 14, 59,
527 263, 295, 109, 0, 14, 163, 0, 14, 326, 0,
528 46, 321, 0, 0, 0, 0, 276, 59, 264, 282,
529 109, 246, 265, 260, 266, 258, 0, 276, 0, 0,
530 60, 0, 0, 60, 0, 37, 0, 269, 7, 0,
531 269, 8, 0, 269, 9, 0, 269, 37, 0, 269,
532 247, 0, 269, 163, 0, 269, 165, 0, 270, 59,
533 0, 270, 63, 0, 269, 319, 163, 0, 269, 328,
534 319, 163, 0, 269, 328, 163, 0, 269, 178, 0,
535 269, 319, 178, 0, 270, 0, 0, 271, 274, 277,
536 0, 272, 277, 0, 269, 59, 0, 275, 0, 273,
537 0, 0, 63, 393, 0, 63, 393, 278, 0, 279,
538 0, 278, 60, 393, 279, 0, 280, 0, 281, 393,
539 280, 0, 321, 0, 307, 0, 38, 393, 0, 7,
540 393, 0, 281, 38, 393, 0, 281, 7, 393, 0,
541 0, 284, 0, 282, 283, 284, 0, 282, 283, 0,
542 38, 63, 0, 285, 0, 284, 285, 0, 286, 61,
543 0, 286, 109, 0, 156, 63, 0, 156, 95, 0,
544 156, 25, 0, 156, 59, 0, 61, 0, 118, 285,
545 0, 134, 285, 0, 134, 226, 61, 0, 226, 287,
546 0, 229, 288, 0, 311, 237, 246, 253, 0, 149,
547 237, 246, 253, 0, 63, 204, 0, 1, 0, 229,
548 155, 237, 246, 253, 0, 155, 237, 246, 253, 0,
549 127, 0, 0, 289, 0, 287, 60, 290, 0, 0,
550 292, 0, 288, 60, 294, 0, 291, 0, 292, 0,
551 293, 0, 294, 0, 305, 237, 246, 253, 0, 4,
552 63, 204, 246, 0, 311, 237, 246, 253, 0, 149,
553 237, 246, 253, 0, 3, 63, 204, 246, 0, 63,
554 204, 246, 0, 305, 237, 246, 253, 0, 4, 63,
555 204, 246, 0, 311, 237, 246, 253, 0, 3, 63,
556 204, 246, 0, 63, 204, 246, 0, 296, 268, 0,
557 268, 0, 297, 0, 296, 60, 297, 0, 163, 0,
558 163, 65, 204, 0, 373, 329, 0, 373, 0, 93,
559 199, 225, 198, 94, 186, 111, 0, 0, 299, 9,
560 0, 9, 0, 300, 9, 0, 0, 301, 186, 0,
561 301, 93, 196, 108, 0, 301, 93, 383, 108, 0,
562 301, 48, 0, 301, 93, 1, 108, 0, 305, 0,
563 247, 305, 0, 81, 300, 304, 0, 71, 300, 304,
564 0, 81, 304, 0, 71, 304, 0, 327, 299, 304,
565 0, 306, 0, 306, 303, 299, 395, 0, 306, 94,
566 302, 111, 0, 306, 94, 111, 0, 93, 304, 108,
567 0, 319, 318, 0, 318, 0, 318, 0, 328, 318,
568 0, 307, 0, 309, 0, 328, 309, 0, 319, 318,
569 0, 311, 0, 247, 311, 0, 81, 300, 310, 0,
570 71, 300, 310, 0, 81, 310, 0, 71, 310, 0,
571 327, 299, 310, 0, 213, 0, 81, 300, 310, 0,
572 71, 300, 310, 0, 81, 312, 0, 71, 312, 0,
573 327, 299, 310, 0, 313, 0, 213, 303, 299, 395,
574 0, 93, 312, 108, 0, 213, 94, 302, 111, 0,
575 213, 94, 111, 0, 315, 0, 319, 212, 0, 319,
576 209, 0, 319, 208, 0, 319, 205, 0, 319, 208,
577 0, 315, 0, 328, 315, 0, 232, 93, 196, 108,
578 0, 232, 93, 210, 108, 0, 232, 224, 0, 4,
579 0, 5, 0, 177, 0, 320, 0, 319, 320, 0,
580 319, 49, 325, 55, 0, 4, 55, 0, 5, 55,
581 0, 58, 55, 0, 177, 55, 0, 322, 0, 328,
582 322, 0, 323, 163, 0, 323, 177, 0, 323, 325,
583 0, 323, 49, 325, 0, 324, 0, 323, 324, 0,
584 323, 325, 55, 0, 323, 49, 325, 55, 0, 4,
585 55, 0, 5, 55, 0, 177, 55, 0, 57, 55,
586 0, 3, 55, 0, 58, 55, 0, 163, 75, 182,
587 181, 0, 328, 318, 0, 309, 0, 328, 309, 0,
588 319, 81, 0, 328, 319, 81, 0, 55, 0, 81,
589 299, 329, 0, 81, 299, 0, 71, 299, 329, 0,
590 71, 299, 0, 327, 299, 0, 327, 299, 329, 0,
591 330, 0, 94, 186, 111, 0, 330, 94, 302, 111,
592 0, 332, 0, 247, 332, 0, 81, 300, 331, 0,
593 81, 331, 0, 81, 300, 0, 81, 0, 71, 300,
594 331, 0, 71, 331, 0, 71, 300, 0, 71, 0,
595 327, 299, 0, 327, 299, 331, 0, 333, 0, 93,
596 331, 108, 0, 333, 93, 383, 108, 299, 395, 0,
597 333, 48, 299, 395, 0, 333, 94, 302, 111, 0,
598 333, 94, 111, 0, 93, 384, 108, 299, 395, 0,
599 202, 299, 395, 0, 224, 299, 395, 0, 94, 302,
600 111, 0, 94, 111, 0, 347, 0, 335, 0, 334,
601 347, 0, 334, 335, 0, 1, 61, 0, 0, 337,
602 0, 338, 0, 337, 338, 0, 33, 252, 61, 0,
603 340, 0, 1, 340, 0, 0, 59, 341, 192, 0,
604 0, 0, 15, 343, 188, 344, 345, 0, 340, 0,
605 0, 346, 348, 0, 340, 0, 348, 0, 222, 0,
606 186, 61, 0, 0, 342, 16, 349, 345, 0, 342,
607 0, 0, 0, 17, 350, 188, 351, 193, 0, 0,
608 0, 18, 352, 345, 17, 353, 187, 61, 0, 0,
609 0, 0, 0, 19, 354, 93, 376, 355, 189, 61,
610 356, 378, 108, 357, 193, 0, 0, 0, 20, 358,
611 93, 190, 108, 359, 345, 0, 0, 21, 204, 63,
612 360, 347, 0, 0, 21, 204, 12, 204, 63, 361,
613 347, 0, 0, 22, 63, 362, 347, 0, 23, 61,
614 0, 24, 61, 0, 25, 61, 0, 25, 186, 61,
615 0, 119, 377, 93, 219, 108, 61, 0, 119, 377,
616 93, 219, 63, 379, 108, 61, 0, 119, 377, 93,
617 219, 63, 379, 63, 379, 108, 61, 0, 119, 377,
618 93, 219, 63, 379, 63, 379, 63, 382, 108, 61,
619 0, 26, 81, 186, 61, 0, 26, 163, 61, 0,
620 375, 347, 0, 375, 109, 0, 61, 0, 366, 0,
621 129, 0, 128, 0, 125, 0, 0, 0, 95, 364,
622 145, 340, 365, 369, 0, 0, 0, 95, 367, 340,
623 368, 369, 0, 370, 0, 369, 370, 0, 0, 0,
624 96, 371, 374, 372, 340, 0, 230, 0, 300, 0,
625 93, 12, 108, 0, 93, 392, 108, 0, 3, 63,
626 0, 57, 63, 0, 4, 63, 0, 5, 63, 0,
627 378, 61, 0, 222, 0, 59, 192, 0, 0, 9,
628 0, 0, 186, 0, 1, 0, 0, 380, 0, 381,
629 0, 380, 60, 381, 0, 11, 93, 186, 108, 0,
630 11, 0, 382, 60, 11, 0, 0, 384, 0, 225,
631 0, 388, 0, 389, 12, 0, 388, 12, 0, 225,
632 12, 0, 12, 0, 388, 63, 0, 225, 63, 0,
633 0, 65, 386, 387, 0, 100, 0, 254, 0, 390,
634 0, 392, 385, 0, 389, 391, 0, 389, 394, 0,
635 389, 394, 65, 254, 0, 388, 60, 0, 225, 60,
636 0, 227, 223, 0, 230, 223, 0, 232, 223, 0,
637 227, 332, 0, 227, 0, 229, 311, 0, 392, 0,
638 392, 385, 0, 390, 0, 225, 0, 0, 0, 311,
639 0, 0, 62, 93, 397, 108, 0, 62, 48, 0,
640 225, 0, 396, 0, 397, 60, 396, 0, 0, 81,
641 299, 398, 0, 71, 299, 398, 0, 327, 299, 398,
642 0, 42, 0, 399, 81, 0, 399, 82, 0, 399,
643 83, 0, 399, 79, 0, 399, 80, 0, 399, 71,
644 0, 399, 69, 0, 399, 70, 0, 399, 89, 0,
645 399, 60, 0, 399, 74, 0, 399, 75, 0, 399,
646 76, 0, 399, 73, 0, 399, 64, 0, 399, 65,
647 0, 399, 77, 0, 399, 78, 0, 399, 87, 0,
648 399, 88, 0, 399, 68, 0, 399, 67, 0, 399,
649 110, 0, 399, 66, 63, 0, 399, 72, 0, 399,
650 91, 0, 399, 84, 0, 399, 48, 0, 399, 94,
651 111, 0, 399, 40, 0, 399, 39, 0, 399, 40,
652 94, 111, 0, 399, 39, 94, 111, 0, 399, 373,
653 398, 0, 399, 1, 0
656 #endif
658 #if YYDEBUG != 0
659 static const short yyrline[] = { 0,
660 357, 359, 367, 370, 371, 375, 377, 380, 385, 389,
661 395, 399, 402, 406, 409, 411, 413, 416, 418, 421,
662 424, 426, 428, 430, 432, 433, 435, 436, 440, 443,
663 452, 455, 457, 461, 464, 466, 470, 473, 485, 492,
664 500, 502, 503, 505, 509, 512, 518, 521, 523, 528,
665 531, 535, 538, 541, 544, 548, 553, 563, 565, 567,
666 569, 571, 584, 587, 591, 594, 596, 598, 601, 604,
667 608, 610, 612, 614, 619, 621, 623, 625, 627, 628,
668 635, 636, 637, 640, 643, 647, 649, 650, 653, 655,
669 658, 661, 663, 667, 670, 672, 676, 678, 680, 684,
670 686, 688, 692, 694, 696, 702, 706, 709, 712, 715,
671 720, 723, 725, 727, 733, 745, 748, 753, 758, 761,
672 766, 771, 780, 783, 785, 789, 798, 814, 817, 819,
673 820, 823, 830, 836, 838, 840, 842, 844, 847, 850,
674 853, 855, 856, 857, 858, 861, 863, 864, 867, 869,
675 870, 873, 878, 878, 882, 882, 885, 885, 888, 888,
676 892, 892, 897, 897, 900, 900, 903, 905, 908, 915,
677 919, 922, 925, 927, 931, 937, 946, 948, 956, 959,
678 962, 965, 969, 972, 974, 977, 980, 982, 984, 986,
679 990, 993, 996, 1001, 1005, 1010, 1014, 1017, 1018, 1022,
680 1041, 1048, 1051, 1053, 1054, 1055, 1058, 1062, 1063, 1067,
681 1071, 1074, 1076, 1080, 1083, 1086, 1090, 1093, 1095, 1097,
682 1099, 1102, 1106, 1108, 1111, 1113, 1119, 1122, 1125, 1128,
683 1140, 1145, 1149, 1153, 1158, 1160, 1164, 1168, 1170, 1172,
684 1182, 1186, 1189, 1192, 1197, 1200, 1202, 1210, 1223, 1228,
685 1234, 1236, 1238, 1251, 1254, 1256, 1258, 1260, 1262, 1264,
686 1266, 1268, 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284,
687 1286, 1288, 1290, 1292, 1294, 1298, 1300, 1302, 1319, 1322,
688 1324, 1325, 1326, 1327, 1328, 1331, 1343, 1346, 1350, 1353,
689 1355, 1360, 1362, 1363, 1366, 1368, 1376, 1378, 1380, 1382,
690 1386, 1389, 1393, 1397, 1398, 1399, 1403, 1411, 1412, 1413,
691 1427, 1429, 1432, 1434, 1445, 1450, 1452, 1454, 1456, 1458,
692 1460, 1462, 1465, 1467, 1478, 1479, 1483, 1487, 1491, 1495,
693 1497, 1501, 1503, 1505, 1513, 1515, 1517, 1519, 1523, 1525,
694 1527, 1529, 1534, 1536, 1538, 1540, 1543, 1545, 1547, 1591,
695 1594, 1598, 1601, 1605, 1608, 1613, 1615, 1619, 1628, 1631,
696 1638, 1645, 1650, 1652, 1657, 1659, 1666, 1668, 1672, 1676,
697 1682, 1686, 1689, 1693, 1696, 1706, 1708, 1711, 1715, 1718,
698 1721, 1724, 1727, 1733, 1739, 1741, 1746, 1748, 1766, 1769,
699 1771, 1774, 1780, 1782, 1792, 1796, 1799, 1802, 1807, 1810,
700 1818, 1820, 1822, 1824, 1827, 1830, 1845, 1864, 1867, 1869,
701 1872, 1874, 1878, 1880, 1884, 1886, 1890, 1893, 1897, 1903,
702 1904, 1916, 1923, 1926, 1932, 1936, 1941, 1947, 1948, 1956,
703 1959, 1963, 1966, 1970, 1975, 1978, 1982, 1985, 1987, 1989,
704 1991, 1998, 2000, 2001, 2002, 2006, 2009, 2013, 2016, 2022,
705 2024, 2027, 2030, 2033, 2039, 2042, 2045, 2047, 2049, 2053,
706 2060, 2066, 2071, 2077, 2079, 2084, 2087, 2090, 2092, 2094,
707 2098, 2103, 2110, 2114, 2121, 2124, 2127, 2133, 2135, 2147,
708 2151, 2156, 2180, 2182, 2185, 2187, 2192, 2194, 2196, 2198,
709 2200, 2202, 2206, 2214, 2217, 2219, 2223, 2230, 2236, 2242,
710 2248, 2258, 2264, 2268, 2275, 2303, 2313, 2319, 2322, 2325,
711 2327, 2331, 2333, 2337, 2340, 2344, 2347, 2350, 2352, 2356,
712 2367, 2381, 2382, 2383, 2384, 2387, 2396, 2401, 2407, 2409,
713 2414, 2416, 2418, 2420, 2422, 2424, 2427, 2437, 2444, 2469,
714 2475, 2478, 2481, 2483, 2494, 2499, 2502, 2507, 2510, 2517,
715 2527, 2530, 2537, 2547, 2549, 2552, 2554, 2557, 2564, 2572,
716 2579, 2585, 2591, 2599, 2603, 2608, 2612, 2615, 2620, 2622,
717 2630, 2632, 2636, 2639, 2644, 2648, 2654, 2665, 2668, 2672,
718 2676, 2684, 2689, 2695, 2698, 2700, 2702, 2708, 2710, 2719,
719 2722, 2724, 2726, 2728, 2732, 2735, 2738, 2740, 2742, 2744,
720 2748, 2751, 2762, 2772, 2774, 2775, 2779, 2787, 2789, 2797,
721 2800, 2802, 2804, 2806, 2810, 2813, 2816, 2818, 2820, 2822,
722 2826, 2829, 2832, 2834, 2836, 2838, 2840, 2847, 2851, 2856,
723 2860, 2865, 2867, 2871, 2874, 2876, 2879, 2881, 2882, 2885,
724 2887, 2889, 2896, 2907, 2913, 2919, 2933, 2935, 2939, 2953,
725 2955, 2957, 2961, 2967, 2980, 2983, 2988, 3001, 3007, 3009,
726 3010, 3011, 3019, 3024, 3033, 3034, 3038, 3041, 3047, 3053,
727 3056, 3058, 3060, 3062, 3066, 3070, 3074, 3077, 3081, 3083,
728 3092, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109, 3113,
729 3117, 3121, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139,
730 3141, 3149, 3151, 3152, 3153, 3156, 3162, 3164, 3169, 3171,
731 3174, 3187, 3190, 3193, 3197, 3200, 3207, 3209, 3212, 3214,
732 3216, 3219, 3222, 3225, 3228, 3230, 3233, 3237, 3239, 3245,
733 3247, 3248, 3250, 3255, 3257, 3259, 3261, 3263, 3266, 3267,
734 3269, 3272, 3273, 3276, 3276, 3279, 3279, 3282, 3282, 3284,
735 3286, 3288, 3290, 3296, 3302, 3305, 3308, 3314, 3316, 3317,
736 3320, 3322, 3323, 3324, 3326, 3329, 3332, 3335, 3341, 3345,
737 3347, 3350, 3352, 3355, 3359, 3361, 3364, 3366, 3369, 3386,
738 3394, 3397, 3399, 3401, 3405, 3408, 3409, 3417, 3421, 3425,
739 3428, 3429, 3435, 3438, 3441, 3443, 3447, 3452, 3455, 3465,
740 3470, 3471, 3478, 3481, 3484, 3486, 3489, 3491, 3501, 3515,
741 3519, 3522, 3524, 3528, 3532, 3535, 3538, 3540, 3544, 3546,
742 3553, 3560, 3563, 3567, 3571, 3575, 3581, 3585, 3590, 3592,
743 3595, 3600, 3606, 3617, 3620, 3622, 3626, 3634, 3637, 3641,
744 3644, 3646, 3648, 3654, 3659, 3662, 3664, 3666, 3668, 3670,
745 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690,
746 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, 3710,
747 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3727, 3729
749 #endif
752 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
754 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
755 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
756 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
757 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
758 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
759 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
760 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
761 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
762 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
763 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
764 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
765 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
766 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
767 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
768 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
769 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
770 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
771 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
772 "template_type_parm","template_template_parm","template_parm","template_def",
773 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
774 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
775 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
776 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
777 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
778 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
779 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
780 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
781 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
782 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
783 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
784 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
785 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
786 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
787 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
788 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
789 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
790 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
791 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
792 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
793 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
794 "pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
795 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
796 "named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head",
797 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
798 "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
799 "component_decl","component_decl_1","components","notype_components","component_declarator0",
800 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
801 "after_type_component_declarator","notype_component_declarator","enumlist_opt",
802 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
803 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator_intern",
804 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
805 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
806 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
807 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
808 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
809 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
810 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
811 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
812 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
813 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
814 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
815 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
816 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
817 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
818 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
819 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
821 #endif
823 static const short yyr1[] = { 0,
824 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
825 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
826 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
827 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
828 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
829 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
830 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
831 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
832 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
833 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
834 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
835 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
836 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
837 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
838 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
839 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
840 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
841 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
842 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
843 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
844 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
845 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
846 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
847 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
848 198, 199, 200, 200, 201, 201, 201, 201, 202, 202,
849 203, 203, 203, 204, 204, 204, 204, 204, 204, 204,
850 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
851 204, 204, 204, 204, 204, 204, 204, 204, 205, 205,
852 205, 205, 205, 205, 205, 206, 207, 207, 208, 208,
853 208, 209, 209, 209, 210, 210, 211, 211, 211, 211,
854 212, 212, 213, 213, 213, 213, 214, 214, 214, 214,
855 214, 214, 214, 215, 214, 214, 214, 214, 214, 214,
856 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
857 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
858 214, 214, 214, 214, 214, 214, 214, 214, 214, 216,
859 216, 217, 217, 218, 218, 219, 219, 220, 221, 221,
860 222, 222, 222, 222, 222, 222, 223, 223, 224, 224,
861 225, 225, 225, 225, 225, 226, 226, 227, 227, 227,
862 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
863 229, 229, 229, 229, 230, 230, 230, 230, 231, 231,
864 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
865 234, 234, 235, 235, 236, 236, 237, 237, 239, 238,
866 238, 241, 240, 240, 242, 243, 245, 244, 244, 246,
867 246, 247, 247, 248, 249, 249, 250, 250, 250, 250,
868 250, 251, 251, 251, 251, 252, 252, 253, 253, 254,
869 254, 254, 254, 254, 255, 255, 255, 255, 255, 256,
870 257, 257, 257, 258, 258, 259, 259, 260, 260, 260,
871 262, 261, 263, 261, 261, 261, 261, 264, 265, 266,
872 261, 261, 267, 267, 268, 268, 269, 269, 269, 269,
873 269, 269, 270, 271, 271, 271, 272, 272, 272, 272,
874 272, 273, 274, 273, 273, 275, 276, 276, 277, 277,
875 277, 278, 278, 279, 279, 280, 280, 281, 281, 281,
876 281, 282, 282, 282, 282, 283, 284, 284, 285, 285,
877 285, 285, 285, 285, 285, 285, 285, 285, 286, 286,
878 286, 286, 286, 286, 286, 286, 286, 287, 287, 287,
879 288, 288, 288, 289, 289, 290, 290, 291, 291, 292,
880 292, 292, 292, 293, 293, 294, 294, 294, 295, 295,
881 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
882 300, 301, 302, 303, 303, 303, 303, 304, 304, 305,
883 305, 305, 305, 305, 305, 306, 306, 306, 306, 306,
884 306, 307, 307, 308, 308, 308, 309, 310, 310, 311,
885 311, 311, 311, 311, 311, 312, 312, 312, 312, 312,
886 312, 313, 313, 313, 313, 313, 313, 314, 314, 315,
887 315, 316, 316, 317, 317, 317, 318, 318, 318, 319,
888 319, 319, 320, 320, 320, 320, 321, 321, 322, 322,
889 322, 322, 323, 323, 323, 323, 324, 324, 324, 324,
890 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
891 329, 329, 329, 329, 329, 329, 330, 330, 331, 331,
892 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
893 332, 333, 333, 333, 333, 333, 333, 333, 333, 333,
894 333, 334, 334, 334, 334, 335, 336, 336, 337, 337,
895 338, 339, 339, 341, 340, 343, 344, 342, 345, 346,
896 345, 347, 347, 348, 348, 349, 348, 348, 350, 351,
897 348, 352, 353, 348, 354, 355, 356, 357, 348, 358,
898 359, 348, 360, 348, 361, 348, 362, 348, 348, 348,
899 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
900 348, 348, 348, 348, 348, 364, 365, 363, 367, 368,
901 366, 369, 369, 371, 372, 370, 373, 373, 374, 374,
902 375, 375, 375, 375, 376, 376, 376, 377, 377, 378,
903 378, 378, 379, 379, 380, 380, 381, 382, 382, 383,
904 383, 383, 384, 384, 384, 384, 384, 384, 384, 386,
905 385, 387, 387, 388, 388, 388, 388, 388, 389, 389,
906 390, 390, 390, 390, 390, 390, 391, 391, 392, 392,
907 393, 394, 394, 395, 395, 395, 396, 397, 397, 398,
908 398, 398, 398, 399, 400, 400, 400, 400, 400, 400,
909 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
910 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
911 400, 400, 400, 400, 400, 400, 400, 400, 400
914 static const short yyr2[] = { 0,
915 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
916 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
917 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
918 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
919 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
920 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
921 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
922 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
923 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
924 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
925 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
926 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
927 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
928 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
930 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
931 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
932 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
933 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
934 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
935 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
936 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
937 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
938 5, 6, 6, 7, 2, 4, 5, 2, 2, 6,
939 1, 0, 4, 4, 3, 1, 3, 2, 3, 4,
940 1, 2, 5, 1, 3, 3, 3, 3, 3, 3,
941 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
942 3, 3, 3, 5, 3, 3, 1, 2, 3, 3,
943 1, 1, 1, 1, 1, 0, 5, 5, 5, 5,
944 5, 1, 1, 1, 1, 2, 1, 2, 2, 3,
945 4, 4, 1, 1, 1, 3, 1, 1, 1, 1,
946 3, 3, 3, 0, 4, 4, 2, 4, 2, 4,
947 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
948 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
949 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
950 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
951 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
952 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
953 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
954 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
955 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
956 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
957 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
958 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
959 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
960 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
961 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
962 0, 6, 0, 5, 2, 2, 2, 0, 0, 0,
963 10, 1, 0, 1, 0, 1, 1, 2, 2, 2,
964 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
965 3, 1, 0, 3, 2, 2, 1, 1, 0, 2,
966 3, 1, 4, 1, 3, 1, 1, 2, 2, 3,
967 3, 0, 1, 3, 2, 2, 1, 2, 2, 2,
968 2, 2, 2, 2, 1, 2, 2, 3, 2, 2,
969 4, 4, 2, 1, 5, 4, 1, 0, 1, 3,
970 0, 1, 3, 1, 1, 1, 1, 4, 4, 4,
971 4, 4, 3, 4, 4, 4, 4, 3, 2, 1,
972 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
973 2, 0, 2, 4, 4, 2, 4, 1, 2, 3,
974 3, 2, 2, 3, 1, 4, 4, 3, 3, 2,
975 1, 1, 2, 1, 1, 2, 2, 1, 2, 3,
976 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
977 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
978 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
979 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
980 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
981 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
982 2, 3, 2, 2, 3, 1, 3, 4, 1, 2,
983 3, 2, 2, 1, 3, 2, 2, 1, 2, 3,
984 1, 3, 6, 4, 4, 3, 5, 3, 3, 3,
985 2, 1, 1, 2, 2, 2, 0, 1, 1, 2,
986 3, 1, 2, 0, 3, 0, 0, 5, 1, 0,
987 2, 1, 1, 1, 2, 0, 4, 1, 0, 0,
988 5, 0, 0, 7, 0, 0, 0, 0, 12, 0,
989 0, 7, 0, 5, 0, 7, 0, 4, 2, 2,
990 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
991 1, 1, 1, 1, 1, 0, 0, 6, 0, 0,
992 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
993 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
994 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
995 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
996 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
997 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
998 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
999 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
1002 2, 2, 3, 2, 2, 4, 4, 3, 2
1005 static const short yydefact[] = { 3,
1006 12, 12, 5, 0, 4, 0, 283, 637, 638, 0,
1007 390, 402, 580, 0, 11, 0, 0, 0, 10, 487,
1008 844, 0, 0, 0, 168, 669, 284, 285, 83, 0,
1009 0, 831, 0, 45, 0, 0, 13, 25, 0, 27,
1010 8, 0, 16, 15, 89, 110, 86, 0, 639, 172,
1011 304, 281, 305, 615, 0, 377, 0, 376, 395, 0,
1012 415, 394, 432, 401, 0, 502, 503, 509, 508, 507,
1013 482, 389, 604, 403, 605, 108, 303, 626, 602, 0,
1014 640, 578, 0, 0, 282, 81, 82, 179, 643, 179,
1015 644, 179, 286, 168, 141, 142, 143, 144, 145, 473,
1016 475, 0, 665, 0, 476, 0, 0, 0, 0, 142,
1017 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1018 0, 477, 647, 0, 653, 0, 0, 0, 37, 0,
1019 0, 31, 0, 0, 47, 0, 179, 645, 0, 0,
1020 0, 613, 608, 0, 0, 0, 612, 0, 0, 0,
1021 0, 304, 0, 295, 582, 0, 0, 303, 578, 28,
1022 0, 26, 3, 46, 0, 64, 390, 0, 0, 8,
1023 67, 63, 66, 89, 0, 0, 0, 401, 90, 14,
1024 0, 430, 0, 0, 448, 87, 79, 646, 582, 0,
1025 578, 80, 0, 0, 0, 106, 0, 411, 367, 595,
1026 368, 601, 0, 578, 392, 391, 78, 109, 378, 0,
1027 413, 393, 107, 384, 408, 409, 379, 397, 399, 388,
1028 410, 0, 75, 433, 488, 489, 490, 491, 506, 150,
1029 149, 151, 493, 494, 173, 500, 492, 0, 0, 495,
1030 496, 509, 831, 505, 478, 581, 396, 0, 427, 638,
1031 0, 667, 172, 630, 631, 627, 607, 641, 0, 606,
1032 603, 0, 879, 875, 874, 872, 854, 859, 860, 0,
1033 866, 865, 851, 852, 850, 869, 858, 855, 856, 857,
1034 861, 862, 848, 849, 845, 846, 847, 871, 863, 864,
1035 853, 870, 0, 867, 777, 395, 778, 840, 286, 283,
1036 580, 308, 356, 0, 0, 0, 0, 0, 352, 350,
1037 323, 354, 355, 0, 0, 0, 0, 0, 284, 285,
1038 277, 0, 0, 187, 186, 0, 188, 189, 0, 0,
1039 190, 0, 0, 180, 181, 0, 251, 0, 254, 185,
1040 307, 216, 0, 0, 309, 310, 0, 183, 374, 395,
1041 375, 632, 335, 325, 0, 0, 0, 0, 179, 0,
1042 485, 471, 0, 666, 664, 0, 191, 192, 0, 0,
1043 0, 437, 3, 21, 29, 661, 657, 658, 660, 662,
1044 659, 141, 142, 143, 0, 144, 145, 649, 650, 654,
1045 651, 648, 0, 293, 294, 292, 629, 628, 33, 32,
1046 49, 0, 158, 0, 0, 395, 156, 0, 0, 609,
1047 611, 0, 610, 142, 143, 279, 280, 299, 0, 619,
1048 298, 0, 618, 0, 306, 284, 285, 0, 0, 0,
1049 297, 296, 623, 0, 0, 12, 0, 168, 9, 9,
1050 70, 0, 65, 0, 0, 71, 74, 0, 429, 431,
1051 122, 93, 127, 766, 0, 85, 84, 92, 125, 0,
1052 0, 123, 88, 625, 0, 0, 586, 0, 834, 0,
1053 0, 593, 588, 0, 592, 0, 0, 0, 0, 0,
1054 578, 430, 0, 77, 582, 578, 600, 0, 381, 382,
1055 0, 76, 430, 386, 385, 387, 380, 400, 417, 416,
1056 179, 497, 501, 499, 0, 504, 510, 0, 398, 430,
1057 578, 94, 0, 0, 0, 0, 578, 100, 579, 614,
1058 638, 668, 172, 0, 0, 868, 873, 397, 578, 578,
1059 0, 578, 878, 179, 0, 0, 0, 223, 0, 0,
1060 225, 238, 239, 0, 0, 0, 0, 0, 0, 278,
1061 222, 219, 218, 220, 0, 0, 0, 0, 0, 307,
1062 0, 0, 0, 217, 177, 178, 301, 0, 221, 0,
1063 0, 252, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 317, 0, 319, 321, 322, 360,
1066 359, 0, 0, 242, 242, 0, 227, 576, 0, 235,
1067 357, 349, 0, 0, 831, 338, 341, 342, 0, 0,
1068 369, 688, 684, 0, 582, 578, 578, 578, 371, 691,
1069 0, 636, 373, 0, 0, 372, 337, 0, 332, 351,
1070 333, 353, 633, 0, 334, 176, 176, 0, 166, 0,
1071 395, 164, 486, 573, 570, 0, 485, 571, 485, 0,
1072 404, 0, 0, 405, 406, 407, 443, 444, 445, 442,
1073 0, 435, 438, 0, 3, 0, 652, 179, 655, 0,
1074 41, 42, 0, 53, 0, 0, 57, 61, 50, 830,
1075 825, 0, 374, 395, 53, 375, 829, 59, 169, 154,
1076 152, 169, 176, 302, 617, 616, 306, 0, 620, 0,
1077 18, 20, 89, 9, 9, 73, 72, 0, 0, 358,
1078 0, 714, 91, 712, 454, 0, 450, 449, 215, 0,
1079 214, 583, 624, 0, 807, 0, 802, 395, 0, 801,
1080 803, 832, 814, 0, 0, 622, 589, 591, 590, 0,
1081 0, 0, 0, 0, 0, 578, 599, 0, 425, 424,
1082 412, 598, 0, 834, 594, 383, 414, 426, 430, 0,
1083 498, 637, 638, 831, 831, 639, 511, 512, 514, 831,
1084 517, 516, 0, 544, 638, 0, 535, 0, 0, 547,
1085 0, 121, 116, 0, 172, 548, 551, 0, 0, 527,
1086 0, 119, 428, 834, 800, 179, 179, 642, 179, 834,
1087 800, 578, 97, 578, 103, 877, 876, 840, 840, 840,
1088 0, 0, 0, 0, 636, 0, 0, 0, 0, 0,
1089 395, 0, 0, 0, 313, 0, 311, 312, 0, 249,
1090 182, 283, 637, 638, 284, 285, 0, 0, 455, 483,
1091 0, 276, 275, 792, 791, 0, 273, 272, 270, 271,
1092 269, 268, 267, 264, 265, 266, 262, 263, 257, 258,
1093 259, 260, 261, 255, 256, 0, 0, 0, 0, 0,
1094 242, 229, 246, 0, 0, 228, 578, 578, 0, 578,
1095 575, 676, 0, 0, 0, 0, 0, 340, 0, 344,
1096 0, 346, 0, 0, 687, 686, 679, 683, 682, 830,
1097 394, 0, 0, 701, 0, 0, 834, 370, 834, 689,
1098 578, 800, 582, 688, 684, 0, 0, 578, 0, 394,
1099 0, 0, 0, 0, 171, 175, 287, 169, 162, 160,
1100 169, 0, 474, 486, 569, 0, 213, 212, 211, 210,
1101 437, 0, 0, 24, 0, 0, 656, 0, 38, 44,
1102 43, 55, 52, 53, 0, 48, 0, 0, 688, 684,
1103 0, 821, 578, 824, 826, 0, 822, 823, 54, 493,
1104 0, 159, 169, 169, 157, 170, 300, 17, 19, 69,
1105 89, 418, 140, 146, 133, 147, 148, 0, 126, 129,
1106 0, 0, 0, 0, 713, 707, 451, 0, 124, 587,
1107 584, 806, 820, 809, 0, 585, 805, 819, 808, 804,
1108 833, 816, 827, 817, 810, 815, 836, 0, 0, 0,
1109 0, 422, 597, 596, 421, 176, 519, 518, 831, 831,
1110 831, 0, 578, 800, 543, 536, 548, 537, 430, 430,
1111 533, 534, 531, 532, 578, 800, 283, 637, 0, 417,
1112 117, 539, 549, 554, 555, 417, 417, 0, 0, 417,
1113 115, 540, 552, 417, 0, 430, 0, 528, 529, 530,
1114 430, 96, 0, 0, 0, 0, 102, 0, 834, 800,
1115 834, 800, 842, 841, 843, 288, 324, 224, 226, 0,
1116 330, 331, 0, 0, 0, 0, 312, 315, 0, 0,
1117 0, 0, 250, 0, 316, 318, 320, 0, 0, 0,
1118 0, 230, 248, 0, 0, 673, 671, 0, 674, 582,
1119 236, 0, 0, 179, 347, 0, 0, 0, 680, 685,
1120 681, 692, 578, 700, 698, 699, 690, 834, 0, 696,
1121 0, 0, 634, 635, 688, 684, 0, 0, 336, 167,
1122 169, 169, 165, 574, 572, 472, 436, 434, 283, 0,
1123 22, 30, 663, 56, 51, 58, 62, 0, 687, 683,
1124 688, 684, 0, 394, 602, 0, 578, 689, 60, 155,
1125 153, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1126 0, 767, 0, 203, 715, 0, 708, 709, 0, 452,
1127 688, 684, 0, 307, 0, 632, 828, 0, 0, 837,
1128 838, 0, 0, 0, 0, 0, 0, 419, 174, 0,
1129 521, 520, 515, 834, 0, 538, 448, 448, 834, 0,
1130 0, 0, 430, 430, 0, 430, 430, 0, 430, 0,
1131 526, 479, 0, 448, 578, 290, 289, 291, 578, 99,
1132 0, 105, 0, 0, 0, 0, 0, 0, 0, 458,
1133 0, 456, 253, 274, 244, 243, 241, 231, 0, 245,
1134 247, 672, 670, 677, 675, 0, 237, 0, 0, 339,
1135 343, 345, 834, 694, 578, 695, 163, 161, 0, 439,
1136 441, 0, 687, 683, 688, 684, 0, 578, 607, 689,
1137 132, 130, 0, 0, 0, 0, 446, 0, 0, 283,
1138 637, 638, 716, 729, 732, 735, 740, 0, 0, 0,
1139 0, 0, 0, 0, 0, 284, 761, 769, 0, 788,
1140 765, 764, 763, 0, 724, 0, 0, 395, 0, 703,
1141 722, 728, 702, 723, 762, 0, 710, 453, 0, 635,
1142 818, 812, 813, 811, 0, 835, 423, 0, 513, 112,
1143 578, 542, 546, 114, 578, 430, 430, 563, 448, 283,
1144 637, 0, 550, 556, 557, 417, 417, 448, 448, 0,
1145 448, 553, 468, 541, 834, 834, 578, 578, 240, 0,
1146 0, 0, 0, 457, 0, 0, 232, 233, 678, 348,
1147 289, 697, 834, 0, 687, 683, 0, 689, 134, 136,
1148 138, 774, 768, 772, 0, 711, 706, 206, 781, 783,
1149 784, 0, 0, 720, 0, 0, 0, 747, 749, 750,
1150 751, 0, 0, 0, 0, 0, 0, 0, 782, 0,
1151 366, 789, 0, 725, 364, 417, 0, 365, 0, 417,
1152 0, 0, 0, 204, 705, 704, 726, 760, 759, 312,
1153 839, 420, 834, 834, 562, 559, 561, 0, 0, 430,
1154 430, 430, 558, 560, 545, 0, 95, 101, 834, 834,
1155 326, 327, 328, 329, 459, 0, 234, 693, 440, 688,
1156 684, 0, 0, 0, 773, 447, 195, 0, 717, 730,
1157 719, 0, 0, 0, 0, 0, 743, 0, 752, 0,
1158 758, 39, 145, 34, 145, 0, 35, 770, 0, 362,
1159 363, 0, 0, 0, 361, 205, 720, 111, 113, 430,
1160 430, 568, 448, 448, 470, 0, 469, 464, 98, 104,
1161 577, 394, 0, 775, 202, 0, 395, 0, 720, 0,
1162 733, 721, 707, 786, 736, 0, 0, 0, 0, 748,
1163 757, 40, 36, 0, 0, 727, 567, 565, 564, 566,
1164 0, 0, 481, 0, 0, 0, 196, 417, 718, 207,
1165 731, 209, 0, 787, 0, 785, 741, 745, 744, 771,
1166 793, 0, 467, 466, 460, 86, 89, 779, 780, 776,
1167 430, 707, 193, 0, 0, 199, 0, 198, 720, 0,
1168 0, 0, 794, 795, 753, 0, 465, 0, 208, 0,
1169 734, 737, 742, 746, 0, 793, 0, 0, 463, 0,
1170 462, 200, 194, 0, 0, 0, 754, 796, 461, 0,
1171 0, 797, 0, 0, 201, 738, 798, 0, 755, 0,
1172 0, 0, 739, 799, 756, 0, 0, 0
1175 static const short yydefgoto[] = { 1666,
1176 436, 2, 437, 165, 712, 332, 181, 3, 4, 37,
1177 675, 373, 1341, 676, 790, 1342, 1343, 393, 1447, 680,
1178 41, 791, 402, 686, 962, 687, 688, 689, 43, 172,
1179 173, 44, 455, 184, 180, 45, 46, 805, 1090, 811,
1180 1092, 47, 793, 794, 185, 186, 456, 719, 999, 1000,
1181 654, 1001, 234, 48, 984, 983, 702, 699, 1162, 1161,
1182 941, 938, 136, 982, 49, 236, 50, 935, 567, 333,
1183 334, 335, 336, 1344, 1615, 1509, 1617, 1556, 1650, 1205,
1184 1591, 1612, 367, 927, 337, 1278, 879, 606, 886, 338,
1185 339, 368, 341, 359, 52, 255, 681, 418, 154, 53,
1186 54, 342, 562, 343, 344, 345, 346, 457, 347, 1345,
1187 499, 627, 348, 1346, 56, 217, 692, 349, 218, 539,
1188 219, 197, 210, 60, 482, 500, 1368, 759, 1227, 198,
1189 211, 61, 510, 760, 62, 63, 671, 672, 673, 1318,
1190 462, 849, 850, 1606, 1607, 1583, 1547, 1486, 64, 659,
1191 361, 508, 1393, 1548, 1112, 655, 65, 66, 67, 68,
1192 69, 242, 70, 71, 244, 777, 778, 779, 780, 798,
1193 1077, 799, 800, 801, 1062, 1072, 1063, 1383, 1064, 1065,
1194 1384, 1385, 656, 657, 658, 607, 917, 351, 465, 466,
1195 191, 480, 473, 200, 73, 74, 75, 142, 143, 157,
1196 77, 132, 352, 353, 354, 79, 355, 81, 782, 123,
1197 124, 125, 515, 105, 82, 356, 891, 892, 912, 907,
1198 630, 1349, 1350, 1206, 1207, 1208, 723, 1351, 1006, 1352,
1199 1432, 1559, 1512, 1513, 1353, 1354, 1537, 1433, 1560, 1434,
1200 1593, 1435, 1595, 1644, 1660, 1436, 1619, 1569, 1620, 1518,
1201 458, 720, 1316, 1355, 1450, 1574, 1423, 1424, 1504, 1586,
1202 1558, 1554, 1356, 1565, 1453, 856, 1622, 1623, 1624, 1658,
1203 739, 913, 1026, 1219, 1364, 741, 742, 743, 1022, 744,
1204 148, 1024, 746, 1221, 1222, 533, 84, 85
1207 static const short yypact[] = { 193,
1208 240,-32768,-32768, 3063,-32768, 65, 34, 270, 329, 161,
1209 234,-32768,-32768, 1086,-32768, 219, 229, 281,-32768,-32768,
1210 -32768, 1933, 1911, 109, 211,-32768, 294, 521,-32768, 1916,
1211 1916,-32768, 968,-32768, 3063, 285,-32768,-32768, 332,-32768,
1212 206, 3343,-32768,-32768, 292, 826, 406, 349, 393,-32768,
1213 -32768,-32768,-32768, 638, 2972,-32768, 6660,-32768, 1411, 435,
1214 -32768, 432,-32768,-32768, 1373, 68,-32768, 391,-32768,-32768,
1215 427, 5972,-32768,-32768,-32768, 1267,-32768,-32768,-32768, 337,
1216 -32768,-32768, 522, 5462, 402,-32768,-32768, 11022,-32768, 11022,
1217 -32768, 11022,-32768,-32768,-32768, 270, 329, 294, 436,-32768,
1218 441, 393,-32768, 652,-32768, 522, 11113, 11113, 416,-32768,
1219 -32768,-32768,-32768,-32768, 250, 469, 535, 627, 667, 498,
1220 504,-32768,-32768, 1220,-32768, 921, 270, 329,-32768, 294,
1221 436,-32768, 385, 2061, 512, 7112, 11022,-32768, 11022, 3134,
1222 4234,-32768,-32768, 1595, 690, 4234,-32768, 1242, 5334, 5334,
1223 968, 484, 517,-32768, 544, 2098, 546, 577,-32768,-32768,
1224 633,-32768, 591,-32768, 2306,-32768,-32768, 211, 4047, 637,
1225 -32768,-32768,-32768, 292, 785, 7623, 879, 683,-32768,-32768,
1226 657, 432, 777, 146, 327, 696,-32768,-32768, 672, 80,
1227 -32768,-32768, 5572, 5572, 3786, 1267, 953,-32768,-32768, 673,
1228 -32768,-32768, 2992,-32768,-32768,-32768,-32768,-32768, 1411, 973,
1229 -32768, 432, 1267,-32768,-32768,-32768, 2784, 1411,-32768, 432,
1230 -32768, 785,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1231 -32768,-32768, 719,-32768, 393,-32768, 432, 1702, 1730,-32768,
1232 -32768, 391,-32768,-32768,-32768,-32768, 1256, 522,-32768, 603,
1233 714,-32768, 203,-32768,-32768,-32768,-32768,-32768, 6455,-32768,
1234 -32768, 418,-32768, 703, 710,-32768,-32768,-32768,-32768, 746,
1235 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1236 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1237 -32768,-32768, 720,-32768,-32768, 1256, 5972, 1276,-32768,-32768,
1238 728,-32768,-32768, 11751, 11842, 11933, 11933, 733,-32768,-32768,
1239 -32768,-32768,-32768, 742, 761, 780, 790, 792, 1076, 436,
1240 11204, 2019, 11933,-32768,-32768, 11933,-32768,-32768, 11933, 8604,
1241 -32768, 11933, 383, 800,-32768, 11933,-32768, 11295,-32768, 12387,
1242 239, 1022, 12153, 11386,-32768, 858, 3828,-32768, 1852, 2345,
1243 3504,-32768, 314,-32768, 1233, 2191, 383, 383, 11022, 7112,
1244 815,-32768, 2019,-32768,-32768, 763, 824, 12294, 782, 794,
1245 798, 2065, 591,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1246 -32768, 469, 535, 627, 2019, 667, 498, 819, 504,-32768,
1247 833,-32768, 1607, 270, 329,-32768,-32768,-32768,-32768,-32768,
1248 -32768, 4919,-32768, 785, 2686, 2442,-32768, 383, 924,-32768,
1249 -32768, 626,-32768, 834, 844,-32768,-32768,-32768, 4234,-32768,
1250 -32768, 4234,-32768, 821,-32768,-32768,-32768, 2098, 2098, 2098,
1251 -32768,-32768,-32768, 6455, 74, 839, 843,-32768,-32768,-32768,
1252 -32768, 7112,-32768, 1068, 1125,-32768,-32768, 633,-32768, 432,
1253 -32768,-32768,-32768,-32768, 104,-32768,-32768,-32768,-32768, 9155,
1254 11204,-32768,-32768,-32768, 11204, 848,-32768, 8288, 140, 7184,
1255 6969,-32768,-32768, 6969,-32768, 7067, 7067, 3786, 12113, 847,
1256 -32768, 432, 785,-32768, 851,-32768,-32768, 12050, 2784, 1411,
1257 785,-32768, 432,-32768,-32768, 432, 2784,-32768, 941,-32768,
1258 11022, 719,-32768,-32768, 1702,-32768, 1228, 4279, 1256, 432,
1259 -32768,-32768, 900, 913, 935, 917,-32768,-32768,-32768,-32768,
1260 786,-32768, 423, 887, 897,-32768,-32768, 1256,-32768,-32768,
1261 946,-32768,-32768, 11022, 11204, 728, 8604,-32768, 464, 8604,
1262 -32768,-32768,-32768, 11204, 11113, 6354, 6354, 6354, 6354, 12365,
1263 -32768,-32768,-32768,-32768, 930, 11478, 11478, 8604, 933, 253,
1264 939, 970, 948,-32768,-32768,-32768,-32768, 11022,-32768, 8695,
1265 8604,-32768, 11204, 11204, 9246, 11204, 11204, 11204, 11204, 11204,
1266 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204,
1267 11204, 11204, 11204, 11204,-32768, 11204,-32768,-32768,-32768,-32768,
1268 -32768, 11204, 11204,-32768,-32768, 5162, 446, 899, 9792,-32768,
1269 -32768,-32768, 988, 714, 1051, 501, 525, 536, 1486, 690,
1270 -32768, 2564, 2564, 4463, 952, 985, 1018,-32768,-32768, 676,
1271 10290, 820,-32768, 1422, 522,-32768,-32768, 11204,-32768,-32768,
1272 -32768,-32768,-32768, 171, 402,-32768,-32768, 383,-32768, 785,
1273 2744,-32768,-32768, 1016,-32768, 1002, 1027,-32768, 815, 819,
1274 -32768, 9519, 9610,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1275 141,-32768, 1004, 1011, 591, 1607, 1084, 11022,-32768, 1070,
1276 -32768,-32768, 2061, 2003, 1109, 336, 1094, 1099,-32768,-32768,
1277 3249, 7623, 3249, 2078, 1373, 5229,-32768, 1102,-32768,-32768,
1278 -32768,-32768,-32768,-32768,-32768,-32768, 1041, 1062,-32768, 1112,
1279 -32768,-32768, 292,-32768,-32768,-32768,-32768, 91, 1689, 1113,
1280 970,-32768,-32768,-32768,-32768, 8510, 12365,-32768, 824, 1073,
1281 12294,-32768,-32768, 1085,-32768, 1087, 556, 6399, 1091,-32768,
1282 144, 6794, 1146, 1161, 541,-32768,-32768,-32768,-32768, 6969,
1283 6969, 12067, 12067, 12113, 1422,-32768,-32768, 12050,-32768, 1163,
1284 -32768,-32768, 1101, 140,-32768, 2784,-32768,-32768, 432, 1154,
1285 -32768, 535, 627,-32768,-32768, 504, 1174,-32768,-32768, 101,
1286 -32768,-32768, 2039,-32768, 1005, 961,-32768, 11204, 6007,-32768,
1287 6007, 207, 207, 195, 598, 3977, 5869, 78, 5757,-32768,
1288 77, 207,-32768, 140, 7226, 11022, 11022,-32768, 11022, 140,
1289 7226,-32768,-32768,-32768,-32768,-32768,-32768, 1103, 1103, 1103,
1290 383, 1132, 1135, 10658, 1018, 1140, 12320, 1142, 1144, 1177,
1291 2553, 1178, 1179, 1180,-32768, 1150,-32768,-32768, 1164,-32768,
1292 -32768, 1243, 584, 775, 43, 87, 11204, 1247,-32768, 1236,
1293 1203, 12365, 12365,-32768,-32768, 1250, 4334, 8333, 5373, 4584,
1294 2780, 3183, 3879, 2798, 2798, 2798, 2213, 2213, 1136, 1136,
1295 453, 453, 453,-32768,-32768, 1207, 1212, 1213, 11204, 11113,
1296 -32768, 446,-32768, 9155, 11204,-32768,-32768,-32768, 11204,-32768,
1297 -32768, 1232, 11933, 1225, 1248, 1263, 1291,-32768, 11204,-32768,
1298 11204,-32768, 11204, 1403, 4133,-32768,-32768, 4133,-32768, 95,
1299 1403, 1234, 1240,-32768, 1230, 6354, 140,-32768, 140, 4524,
1300 -32768, 7226, 1238, 10474, 10474, 6104, 1245, 11295, 1246, 3522,
1301 4297, 2191, 1489, 1252,-32768,-32768,-32768,-32768,-32768,-32768,
1302 -32768, 11204,-32768, 2019,-32768, 1235,-32768, 12365,-32768, 12365,
1303 2065, 1258, 11569,-32768, 1255, 1290,-32768, 383,-32768,-32768,
1304 -32768,-32768,-32768, 978, 4919,-32768, 6354, 11022, 2667, 2667,
1305 4687,-32768,-32768,-32768,-32768, 2992,-32768,-32768,-32768, 1007,
1306 11204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 292,-32768,-32768, 469,-32768, 667, 498, 11204, 1295,-32768,
1308 660, 665, 715, 970,-32768, 86,-32768, 169,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 10382,-32768,-32768,-32768,-32768,-32768,
1310 -32768,-32768, 1161, 1310,-32768,-32768,-32768, 6354, 1768, 1768,
1311 2313,-32768,-32768,-32768, 1318,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 2179,-32768, 7226, 12365,-32768, 1751,-32768, 432, 432,
1313 -32768,-32768,-32768,-32768,-32768, 7226, 370, 845, 11204, 941,
1314 -32768, 1324,-32768,-32768,-32768, 346, 460, 337, 690, 754,
1315 207, 1325,-32768, 874, 1323, 432, 6952,-32768,-32768,-32768,
1316 432,-32768, 1279, 383, 383, 383,-32768, 1280, 140, 7226,
1317 140, 7226,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6354,
1318 -32768,-32768, 1302, 1303, 1312, 1313, 1041,-32768, 12228, 9155,
1319 8789, 1294,-32768, 11204,-32768,-32768,-32768, 1300, 1306, 1309,
1320 6354,-32768,-32768, 1314, 405, 668, 668, 1326, 668,-32768,
1321 -32768, 11933, 1413, 11022,-32768, 1315, 1316, 1321,-32768,-32768,
1322 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 140, 1327,-32768,
1323 1332, 3522,-32768,-32768, 2900, 2900, 4836, 4542,-32768,-32768,
1324 -32768,-32768,-32768, 12365,-32768,-32768,-32768,-32768, 168, 1328,
1325 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 4127, 3682, 3682,
1326 4392, 4392, 4687, 5093, 75, 2992,-32768, 4939, 12387,-32768,
1327 -32768,-32768, 1339,-32768, 477,-32768, 11204,-32768, 11204,-32768,
1328 11204,-32768, 2019,-32768,-32768, 8083, 1416,-32768, 8880,-32768,
1329 10566, 10566, 8176, 166, 1342, 213,-32768, 9155, 8971,-32768,
1330 -32768, 183, 3274, 3274, 2454, 2454, 9155,-32768,-32768, 1228,
1331 -32768,-32768,-32768, 140, 1345,-32768, 1389, 1389, 140, 1348,
1332 11204, 11204, 7877, 432, 5628, 432, 432, 1628, 432, 7846,
1333 -32768,-32768, 7465, 1389,-32768,-32768, 1404,-32768,-32768,-32768,
1334 1355,-32768, 1356, 1357, 11204, 11204, 11204, 11204, 9155,-32768,
1335 1406,-32768,-32768, 12365,-32768,-32768,-32768, 567, 1309,-32768,
1336 -32768,-32768,-32768,-32768,-32768, 1362,-32768, 1419, 383,-32768,
1337 -32768,-32768, 140,-32768,-32768,-32768,-32768,-32768, 11204,-32768,
1338 -32768, 5093, 3682, 3682, 5033, 5033, 6232,-32768, 399, 4939,
1339 -32768,-32768, 1367, 1374, 1377, 1385,-32768, 1128, 209, 1424,
1340 942, 1030,-32768,-32768,-32768,-32768,-32768, 11204, 1425, 1434,
1341 1438, 10749, 276, 2019, 876, 503,-32768,-32768, 10840, 1491,
1342 -32768,-32768,-32768, 1444,-32768, 6555, 7346, 7829, 7962,-32768,
1343 -32768, 1490,-32768,-32768,-32768, 9901,-32768,-32768, 1400, 457,
1344 -32768,-32768,-32768,-32768, 6354,-32768,-32768, 9155,-32768,-32768,
1345 -32768,-32768,-32768,-32768,-32768, 7877, 7877,-32768, 1389, 640,
1346 1063, 11204,-32768,-32768,-32768, 941, 941, 1389, 1389, 786,
1347 1389,-32768,-32768,-32768, 140, 140,-32768,-32768,-32768, 1407,
1348 1408, 1418, 1421,-32768, 9155, 11204,-32768, 567,-32768,-32768,
1349 -32768,-32768, 140, 1423, 4744, 4744, 1422, 5645,-32768,-32768,
1350 -32768,-32768, 1385,-32768, 2019,-32768,-32768,-32768,-32768,-32768,
1351 -32768, 717, 717, 970, 1426, 1439, 12151,-32768,-32768,-32768,
1352 -32768, 1478, 11204, 1479, 1477, 1493, 2171, 2220,-32768, 970,
1353 -32768,-32768, 1457,-32768,-32768, 941, 1130,-32768, 1143, 941,
1354 10931, 1147, 259,-32768,-32768,-32768,-32768,-32768,-32768, 514,
1355 -32768,-32768, 140, 140,-32768,-32768,-32768, 11204, 11204, 7877,
1356 432, 432,-32768,-32768,-32768, 7714,-32768,-32768, 140, 140,
1357 -32768,-32768,-32768,-32768,-32768, 1440,-32768,-32768,-32768, 6224,
1358 6224, 12020, 2413, 1461,-32768,-32768,-32768, 11113,-32768,-32768,
1359 -32768, 1540, 10197, 8419, 11113, 11204,-32768, 10009,-32768, 1498,
1360 -32768,-32768, 1506,-32768, 1493, 2171,-32768,-32768, 633,-32768,
1361 -32768, 11660, 11660, 9064,-32768,-32768, 970,-32768,-32768, 7877,
1362 7877,-32768, 1389, 1389,-32768, 9701,-32768,-32768,-32768,-32768,
1363 -32768, 2413, 12233,-32768,-32768, 1455, 236, 785, 970, 10103,
1364 -32768,-32768, 86,-32768,-32768, 1503, 1458, 12343, 10009,-32768,
1365 -32768,-32768,-32768, 1385, 88,-32768,-32768,-32768,-32768,-32768,
1366 1464, 12250, 1466, 1465, 1472, 970,-32768, 941,-32768,-32768,
1367 -32768,-32768, 730,-32768, 9337,-32768,-32768,-32768,-32768, 1385,
1368 1563, 1521,-32768,-32768,-32768, 406, 292,-32768,-32768,-32768,
1369 432, 86,-32768, 11204, 1523,-32768, 1524,-32768, 970, 10009,
1370 1496, 322, 1526,-32768,-32768, 174,-32768, 1525,-32768, 1487,
1371 -32768,-32768,-32768,-32768, 11204, 1563, 1541, 1563,-32768, 104,
1372 -32768,-32768,-32768, 9428, 1501, 737,-32768,-32768,-32768, 9155,
1373 1507,-32768, 1615, 1557,-32768,-32768,-32768, 264,-32768, 10103,
1374 1617, 1570,-32768,-32768,-32768, 1634, 1636,-32768
1377 static const short yypgoto[] = {-32768,
1378 1640,-32768, -337, 1471, -366, 7, 9, 1643,-32768, 1611,
1379 -32768,-32768, 378,-32768, 421,-32768, 433,-32768, 200, 974,
1380 49, 12,-32768,-32768, -669,-32768,-32768, 689, 54, 1488,
1381 1216, 1505, -719, 72, -166, 20, 55,-32768,-32768,-32768,
1382 -32768,-32768, 864,-32768,-32768,-32768,-32768,-32768,-32768, 485,
1383 263,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1384 -32768,-32768, 1561, -633, 7245, 1441, -56, -592, -142, -55,
1385 1543, -547,-32768, 597,-32768, 254,-32768, -1415,-32768, -1315,
1386 29,-32768, 1382, -308, -259, 412, -562,-32768, -821, 6016,
1387 609, 1301, 4427, 1398, -327, -58, -83, 2389, -115, -46,
1388 186,-32768,-32768,-32768, -331,-32768, -156,-32768,-32768, -1262,
1389 -41, -341, 6520, 48, 2180, -146, 23, 468, -207, -4,
1390 -73, -168, -170, 31, -16, 145,-32768, -364,-32768,-32768,
1391 -32768,-32768,-32768, 554, 1522, 90,-32768, 748,-32768,-32768,
1392 -1167, -445, 976,-32768,-32768,-32768,-32768,-32768, -39,-32768,
1393 -32768,-32768,-32768,-32768,-32768, 1043, -354,-32768,-32768,-32768,
1394 -32768,-32768,-32768,-32768, 1480,-32768, 473, 666,-32768,-32768,
1395 -32768, 636, -732,-32768,-32768,-32768,-32768,-32768,-32768, 927,
1396 -32768, 475, 1055,-32768, 799, 1139, 4626, 106, 39, -463,
1397 1536, 2692, -51,-32768, -484,-32768, 14, 1904, 4571, -117,
1398 1251, -70, 5237, 1391,-32768, 6116, 2491, 537, -13, -107,
1399 -32768, 1618, -68,-32768, 5603, 3459, -81,-32768, 2857, 410,
1400 -32768,-32768, 401,-32768,-32768, 545, 113, -315,-32768,-32768,
1401 -32768,-32768, -1442,-32768, -1255, -1435,-32768,-32768,-32768,-32768,
1402 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1403 132,-32768,-32768,-32768,-32768,-32768, 189, -1347,-32768,-32768,
1404 -45,-32768,-32768,-32768,-32768, -1433, 128,-32768, 127,-32768,
1405 -690, -376, 744,-32768,-32768,-32768,-32768, -390,-32768, -384,
1406 -177,-32768, 813, 403,-32768, 304,-32768, -234
1410 #define YYLAST 12472
1413 static const short yytable[] = { 59,
1414 1004, 490, 178, 199, 435, 445, 444, 443, 632, 122,
1415 35, 697, 36, 196, 728, 42, 516, 698, 392, 221,
1416 841, 763, 781, 253, 642, 979, 57, 103, 641, 182,
1417 59, 420, 423, 256, 357, 674, 358, 59, 298, 509,
1418 432, 35, 880, 36, 538, 541, 42, 695, 169, 398,
1419 399, 55, 209, 42, 936, 391, 1046, 57, 1048, 249,
1420 1122, 174, 489, 400, 176, 507, 1078, 247, 985, 1372,
1421 1373, 497, 177, 713, 397, 1505, 1451, 1562, 572, 296,
1422 1566, 408, 55, 350, 611, 350, 1394, 350, 528, 175,
1423 170, 740, 190, 1466, 1576, 171, 260, 256, 611, 1567,
1424 1469, 611, 350, 350, 721, -144, 1012, 1040, 88, 72,
1425 986, 208, 127, 128, 1083, 1075, 1589, 137, 1203, 364,
1426 1088, 645, -601, 199, 1592, 86, 240, 467, 768, 178,
1427 241, 406, 350, 196, 350, 141, 146, 1079, 1041, 724,
1428 72, 138, 528, 495, 498, 803, 452, 72, 519, -145,
1429 1601, 224, 730, 129, 1013, 1017, 256, 1014, 405, 736,
1430 59, 915, 722, 26, 59, 130, 131, -601, -601, 221,
1431 199, 209, 468, 87, 1639, 169, 1633, 221, 221, 1618,
1432 42, 710, -601, 404, 440, 1080, 1076, 57, 174, 297,
1433 403, 176, -1, 190, 1204, 1602, 493, 825, 992, 177,
1434 951, 745, 840, 1018, -358, 523, 1019, 221, 453, 309,
1435 1651, 1477, 55, -304, 646, 647, 175, 170, 155, 1051,
1436 1483, 1484, 171, 1485, 1592, 26, 822, 1299, 1209, 224,
1437 208, 1149, -358, 15, 1002, 93, 453, -417, 190, -2,
1438 454, 72, 1365, 215, 216, 224, 839, 1594, 952, 14,
1439 517, 1564, 1505, 1052, 419, 422, 221, 1053, -304, -304,
1440 -626, 260, 1570, 617, 163, 703, 704, -417, 454, 1427,
1441 72, -417, 20, -297, 72, 1300, 101, 1210, 95, 110,
1442 111, 23, 94, 621, 115, 135, 595, 876, 616, 1054,
1443 1366, 718, 247, 877, 1174, 518, 1629, 608, 471, 474,
1444 595, 224, 164, 648, 1160, -626, -626, 1163, 374, 224,
1445 221, 107, 642, 1599, 375, -417, 677, 1428, 1121, 1427,
1446 -626, 108, 682, 1661, 89, 350, 224, 233, 824, 934,
1447 964, 596, 112, 113, 155, 155, 155, 955, 296, 7,
1448 8, 250, 10, 766, 90, 596, 247, 990, 991, 1190,
1449 1191, 697, 199, 1235, 350, 651, 1443, 1023, 420, 423,
1450 -297, 637, 700, 432, 1634, 1240, 221, 1536, 137, 260,
1451 -367, 1662, 15, 109, 459, 1579, 1580, 161, 21, 516,
1452 155, 38, 405, 91, 1636, 251, 388, 300, 394, 395,
1453 10, 460, 162, 27, 28, 965, 632, 694, 179, 1261,
1454 209, 1263, 178, 92, -367, 1005, 638, 650, -367, 187,
1455 416, 966, 38, 685, 649, 495, 498, 252, 747, 461,
1456 1177, 8, 521, 495, 39, 32, 21, 747, 740, 1637,
1457 183, 199, 1241, 251, 740, 498, 40, 59, 1123, 199,
1458 -367, 27, 320, 1229, 88, 770, -600, 188, 297, 221,
1459 221, 795, 621, 243, 498, 39, 1407, 221, 565, 1151,
1460 566, 715, 18, 738, 176, 72, 363, 40, -306, 221,
1461 814, 58, 177, 32, 130, 131, 299, 993, 821, 994,
1462 772, 773, 769, -306, -368, 245, 15, -306, 221, 175,
1463 138, -600, -600, 883, 222, 223, 350, 824, 522, 362,
1464 502, 504, 58, 59, -306, 937, -600, 696, 372, 58,
1465 884, 621, 1281, 514, 789, 815, -306, -306, -368, -306,
1466 1078, -306, -368, 376, 995, 8, 9, 1297, 1298, 350,
1467 797, 26, 350, 996, 997, 350, 593, 594, 885, 224,
1468 350, 831, 831, 831, 831, 740, 989, 72, 898, -306,
1469 -306, 295, 380, 350, -368, 796, 824, 781, 381, 224,
1470 608, -306, 792, 350, -306, 1449, 350, 1012, 224, 998,
1471 1118, 1119, 900, 696, 697, 138, 1124, 137, 130, 131,
1472 698, 750, 751, 902, 551, 224, 1497, 401, 1027, 377,
1473 1136, -297, 1137, 899, 1138, 139, 1037, 1038, 199, 960,
1474 642, 296, 1042, 58, 641, 682, -306, -306, 939, 90,
1475 695, 221, 961, 72, 883, 1013, 258, 901, 1014, 694,
1476 -830, -300, 958, 528, 425, 660, 738, 761, 903, 127,
1477 128, 884, 58, 1028, 670, 767, 58, 189, 89, 199,
1478 258, 199, 199, 303, 1170, 1055, -142, 660, 260, 972,
1479 511, 977, 978, 433, 221, 8, 9, 91, 90, 885,
1480 1406, 155, 155, 155, 1270, 1272, 1286, 740, 572, 258,
1481 122, 127, 128, 350, 363, 392, 519, 92, 1096, 740,
1482 258, 378, 130, 131, -621, -582, 199, 209, 1202, 1193,
1483 1056, 247, 495, 127, 128, 512, 978, 645, 221, -7,
1484 363, 92, 1478, 366, 370, 1003, 522, 1196, 130, 131,
1485 1002, 297, 1198, 740, 88, 740, 95, 110, 111, 513,
1486 -582, 379, 26, 921, 130, 131, 221, 905, 908, 696,
1487 -582, 189, 795, 164, 795, 449, 696, 694, 887, 258,
1488 795, 137, 795, 447, 1066, 781, 130, 131, 888, 448,
1489 1084, 1085, 1197, 1086, 1061, 21, 463, 1199, 629, 633,
1490 636, 889, 1200, 1272, 1507, -582, 485, 771, 922, 923,
1491 112, 113, 1361, 1363, 258, 1049, 1050, 1613, -120, 451,
1492 15, 1367, 464, 825, 59, 1081, 59, 7, 8, 9,
1493 10, 221, 209, 501, 59, 789, 524, 789, 258, 1653,
1494 694, 350, 350, 525, 350, 789, 694, 1201, 526, 1508,
1495 295, 797, -120, 797, 432, 1173, -120, 95, 110, 111,
1496 535, 797, 1614, 1404, 1192, 544, 21, 58, -578, 91,
1497 527, -578, 848, 812, 545, 546, 796, -143, 1047, 26,
1498 91, 27, 28, 792, 1654, 792, 796, 696, -120, 92,
1499 1060, 1070, 15, 792, 547, 193, -417, 1029, 1030, 568,
1500 92, 1230, 1231, 1232, 548, 194, 549, 918, 611, 693,
1501 661, 112, 113, 32, 653, 350, 896, 195, 813, -578,
1502 1125, -578, -578, 662, -578, -417, -417, 679, 1313, 664,
1503 1314, 258, 1315, 678, 72, -578, 72, -578, -118, 89,
1504 15, 665, 127, 128, 72, 666, 1640, 1242, 90, 58,
1505 696, 831, -578, -578, 542, 543, 696, 694, 92, 90,
1506 129, 738, 1472, 116, 117, 118, 559, -578, 707, 256,
1507 26, 552, -118, 1446, 553, 693, -118, 554, 222, 446,
1508 564, 1256, 1257, 1258, 569, 260, 963, -6, 258, 127,
1509 128, 711, 610, 26, 757, 130, 131, 980, 733, 1495,
1510 694, 762, 831, 350, 127, 128, 694, 15, -118, 887,
1511 7, 127, 128, 10, 806, 58, 685, 119, 120, 888,
1512 95, 110, 111, 568, 225, 226, 227, 807, 848, 808,
1513 1414, 809, 889, 224, 363, 1066, 89, 816, 18, 565,
1514 224, 566, 130, 131, 1430, 1061, 825, 817, 18, 21,
1515 738, 253, 483, 484, 228, 26, 90, 130, 131, 224,
1516 795, 256, 26, 831, 27, 28, 252, 696, 722, 905,
1517 908, 696, 491, 492, 112, 113, 432, 835, 149, 694,
1518 837, 258, 895, 1244, 1282, 1283, 838, 1285, 150, 1246,
1519 1247, 694, 1043, 1244, 1249, 840, 32, 1247, 897, 91,
1520 151, 732, 914, 420, 423, 918, -52, 258, 432, 597,
1521 696, -52, 59, 295, 1179, 1180, 696, 916, 1289, 92,
1522 942, 501, -52, 789, 91, 694, 944, 694, 95, 96,
1523 97, 693, 1431, 420, 423, 831, 953, 1044, 693, 797,
1524 974, 1060, 629, 633, 92, 636, 127, 128, 598, 599,
1525 943, 519, 600, 601, 602, 603, 831, 89, 1511, 954,
1526 696, 1093, 1094, 1095, 796, 1479, 747, 483, 716, 350,
1527 959, 792, 747, 559, 1528, -184, 559, 90, 957, 256,
1528 26, 828, 98, 99, 100, 20, 1411, 633, -300, 696,
1529 137, -184, 694, -184, 559, 258, 155, 26, 967, 130,
1530 131, 696, 697, 968, 552, 553, 981, 559, 1585, 987,
1531 258, 855, 988, 529, 747, 453, 1459, 1457, 694, 1462,
1532 1009, 1003, 72, 530, 491, 717, 432, 1425, 1426, 483,
1533 1530, 523, 1010, 1386, 1011, 696, 795, 696, 1016, 878,
1534 155, 1348, 491, 1531, 1655, 894, 483, 1535, 738, 693,
1535 -829, 1033, 1339, 670, 1340, 825, 590, 591, 592, 593,
1536 594, 1511, 382, 383, 384, 1025, 963, 1032, 1347, 1036,
1537 116, 772, 773, 1039, 774, 300, 8, 9, 10, 1097,
1538 633, 224, 1098, 1511, 95, 414, 415, 1099, 59, 1101,
1539 747, 1102, 1103, 1104, 1105, 1106, 58, 1107, 58, 789,
1540 905, 908, 696, 215, 216, 775, 58, 224, 385, 14,
1541 1610, 1108, 693, 224, 21, 797, 386, 387, 693, 127,
1542 128, 251, 26, 158, 119, 120, 1303, 1304, 696, 27,
1543 320, 258, 20, 15, 199, 1111, 199, -417, 98, 113,
1544 796, 23, 694, 1511, 1456, -141, 1456, 792, 221, 1110,
1545 1113, 72, 1114, 1139, 1115, 224, 1303, 1304, 696, 1116,
1546 1139, 32, 1035, 1117, 724, 1130, -417, -417, 1029, 1030,
1547 26, -417, 130, 131, 1348, 1132, 1133, 1134, 1135, 1139,
1548 1144, 1142, 209, 1166, 1348, 1339, 529, 1143, 1150, 528,
1549 1172, 1348, 1153, 1154, 1195, 1339, 530, 1340, 72, 1159,
1550 831, 1347, 1339, 1171, 1340, 1168, 155, 155, 155, 1481,
1551 1482, 1347, 1575, 1271, 1218, 95, 96, 97, 1347, 225,
1552 226, 227, 1228, 1245, 1250, 1251, 1255, 1259, 340, 693,
1553 340, 224, 340, 693, 1265, 1266, 155, 155, 155, 158,
1554 158, 158, 1273, 18, 1267, 1268, 127, 128, 1275, 228,
1555 1415, 1416, 696, 1276, 420, 423, 1277, 214, 215, 216,
1556 1288, 1280, 1290, 1291, 14, 8, 9, 26, 1292, 98,
1557 99, 229, 693, 18, 1295, 1301, 1284, 340, 693, 340,
1558 1627, 18, 1296, 493, 72, 158, 1311, 20, 1203, 1360,
1559 621, 747, 1371, 460, 72, 1375, 23, 26, -663, 130,
1560 131, 72, 1397, 1398, 1399, 1317, 1410, 258, 1405, 258,
1561 363, 1271, 1409, 622, 1419, 230, 231, 232, 130, 131,
1562 1422, 1420, 693, 623, 1421, 1128, 1429, 1438, 300, 127,
1563 128, 10, 8, 9, 1439, 624, 625, 694, 1440, 1452,
1564 747, 1131, 252, 1557, 1454, 1467, 199, 1470, 1348, 1348,
1565 1557, 693, 258, 1348, 1491, 1492, 1588, 221, 1514, 1339,
1566 1339, 1340, 559, 693, 1339, 1493, 1340, 21, 1494, 350,
1567 1499, 1515, 552, 553, 251, 1347, 1347, 363, 1519, 1521,
1568 1347, 375, 27, 320, 58, 130, 131, 1522, 694, 1529,
1569 1551, 140, 140, 1553, 156, 1348, 1561, 693, 1571, 693,
1570 1572, 1139, 1587, 1596, 1348, 1597, 1339, 1605, 1340, 522,
1571 1603, 1611, 1608, 1621, 32, 1339, 1034, 1340, 212, 1609,
1572 220, 1625, 1347, 1631, 1632, 1638, 237, 1139, 1635, 1642,
1573 1557, 1347, 224, 1139, 1643, 1444, 1445, 7, 127, 128,
1574 10, 1647, 1237, 1238, 258, 1415, 1416, 696, 1652, 300,
1575 394, 395, 10, 297, 1656, 1348, 1082, 1659, 72, 72,
1576 297, 550, 1087, 72, 693, 1657, 1339, 1664, 1340, 1252,
1577 1665, 127, 1390, 1667, 1254, 1668, 21, 750, 751, 1,
1578 442, 224, 1347, 251, 5, 160, 155, 1526, 21, 956,
1579 693, 27, 28, 1175, 360, 1348, 441, 714, 696, 340,
1580 1071, 26, 140, 27, 320, 72, 1339, 140, 1340, 439,
1581 156, 156, 156, 58, 72, 252, 363, 1626, 503, 1312,
1582 693, 409, 1347, 32, 130, 131, 1510, 1506, 1663, 993,
1583 1408, 994, 772, 773, 258, 32, 534, 212, 1167, 945,
1584 297, 1008, 1369, 450, 95, 96, 97, 1233, 522, 1524,
1585 1527, 1139, 1253, 946, 470, 470, 479, 155, 155, 155,
1586 58, 506, 258, 1073, 1392, 72, 158, 158, 158, 1145,
1587 220, 1146, 95, 96, 97, 486, 995, 618, 496, 220,
1588 1287, 390, 1165, 26, 882, 996, 997, -128, -128, 1465,
1589 363, 1357, 1649, 1057, 1058, 9, 10, 1641, 98, 99,
1590 727, 731, 1600, 1646, 1648, 72, 1217, 1471, 731, 0,
1591 0, 8, 9, 0, 693, 0, 246, 0, 0, 0,
1592 140, 998, 0, 0, 258, 0, 98, 99, 1573, 0,
1593 0, 0, 21, 0, 0, 0, 1378, 1379, 18, 1388,
1594 1389, 340, 1391, 0, 0, 26, 58, 27, 28, 559,
1595 0, 1236, 0, 1059, 0, 0, 58, 0, 0, 552,
1596 553, 193, 26, 58, 130, 131, 0, 0, 0, 0,
1597 0, 194, 0, 0, 340, 731, 0, 0, 1223, 32,
1598 0, 0, 729, 195, 827, 0, 0, 0, 1224, 729,
1599 0, 156, 0, 0, 0, 127, 128, 0, 0, 0,
1600 1225, 1400, 1401, 1402, 1403, 0, 0, 0, 340, 0,
1601 727, 0, 0, 852, 853, 0, 857, 858, 859, 860,
1602 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1603 871, 872, 873, 874, 875, 0, 731, 0, 0, 621,
1604 0, 1260, 731, 1262, 0, 0, 26, 0, 130, 131,
1605 0, 0, 1139, 116, 117, 118, 729, 0, 7, 127,
1606 128, 10, 622, 0, 13, 0, 212, 220, 1442, 1475,
1607 1476, 731, 623, 0, 147, 95, 110, 111, 731, 0,
1608 140, 0, 0, 140, 624, 625, 18, 564, 0, 156,
1609 156, 156, 0, 258, 0, 140, 0, 21, 0, 0,
1610 1294, 1139, 948, 950, 0, 26, 0, 119, 120, 693,
1611 26, 0, 27, 28, 0, 295, 0, 729, 340, 0,
1612 58, 58, 295, 729, 0, 58, 30, 0, 0, 112,
1613 113, 114, 470, 0, 0, 470, 31, 479, 479, 479,
1614 0, 0, 1496, 450, 32, 382, 383, 384, 33, 470,
1615 496, 220, 729, 0, 450, 0, 0, 0, 496, 729,
1616 693, 95, 110, 111, 0, 0, 727, 58, 0, 0,
1617 0, 450, 0, 1542, 1543, 1544, 58, 0, 0, 1520,
1618 0, 116, 772, 773, 411, 0, 1370, 0, 0, 413,
1619 0, 1374, 0, 0, 0, 0, 0, 26, 156, 386,
1620 387, 156, 295, 300, 394, 395, 10, 95, 110, 111,
1621 0, 667, 668, 669, 0, 112, 113, 156, 156, 156,
1622 7, 8, 9, 10, 214, 215, 216, 58, 1045, 0,
1623 0, 14, 156, 1577, 1578, 119, 120, 147, 0, 0,
1624 300, 0, 21, 10, 1555, 1412, 340, 340, 18, 340,
1625 855, 1555, 0, 0, 20, 0, 0, 27, 320, 21,
1626 0, 112, 113, 23, 731, 621, 0, 58, 18, 0,
1627 559, 0, 26, 0, 27, 28, 0, 0, 0, 21,
1628 552, 553, 0, 904, 904, 911, 0, 1109, 969, 32,
1629 0, 0, 930, 0, 426, 427, 0, 0, 970, 0,
1630 0, 0, 520, 0, 1628, 0, 32, 0, 428, 0,
1631 971, 625, 220, 95, 110, 111, 0, 0, 429, 731,
1632 731, 116, 772, 773, 727, 731, 32, 0, 0, 0,
1633 430, 1555, 0, 639, 8, 9, 10, 0, 0, 731,
1634 0, 731, 0, 731, 0, 729, 0, 1487, 1488, 0,
1635 1630, 0, 0, 212, 0, 220, 237, 0, 0, 0,
1636 0, 158, 95, 110, 111, 1498, 0, 112, 1523, 309,
1637 640, 1645, 21, 26, 0, 119, 120, 0, 0, 0,
1638 855, 0, 1164, 0, 0, 26, 0, 130, 131, 0,
1639 0, 0, 0, 731, 0, 0, 0, 0, 0, 220,
1640 729, 729, 0, 0, 0, 158, 729, 0, 340, 0,
1641 0, 470, 470, 479, 479, 479, 112, 1525, 0, 470,
1642 729, 1189, 729, 0, 729, 1538, 1539, 496, 0, 0,
1643 450, 588, 589, 590, 591, 592, 593, 594, 731, 0,
1644 0, 1549, 1550, 0, 0, 0, 6, 0, 7, 8,
1645 9, 10, 11, 12, 13, 731, 8, 9, 212, 14,
1646 0, 519, 705, 0, 0, 706, 0, 0, 0, 0,
1647 0, 0, 0, 16, 729, 17, 18, 709, 0, 0,
1648 0, 0, 20, 18, 0, 156, 0, 21, 127, 128,
1649 0, 23, 215, 216, 438, 0, 0, 0, 14, 1243,
1650 26, 0, 27, 28, 0, 0, 29, 26, 0, 130,
1651 131, 0, 0, 0, 411, 0, 30, 413, 0, 729,
1652 0, 20, 0, 1223, 0, 0, 31, 0, 0, 0,
1653 23, 520, 621, 1224, 32, 0, 729, 0, 33, 26,
1654 0, 130, 131, 0, 0, 1225, 0, 0, 0, 0,
1655 727, 727, 0, 0, 1274, 622, 8, 9, 0, 0,
1656 0, 153, 0, 0, 0, 623, 904, 0, 0, 904,
1657 0, 158, 158, 158, 340, 0, 0, 631, 625, 0,
1658 0, 904, 0, 18, 0, 1152, 1152, 930, 214, 215,
1659 216, 0, 0, 0, 0, 14, 0, 8, 9, 0,
1660 621, 158, 158, 158, 0, 0, 0, 26, 0, 130,
1661 131, 0, 18, 0, 0, 0, 0, 0, 20, 0,
1662 0, 0, 0, 1500, 18, 237, 0, 23, 0, 0,
1663 1178, 1178, 1184, 1501, 80, 0, 0, 731, 0, 731,
1664 0, 731, 701, 0, 104, 1502, 625, 0, 26, 727,
1665 130, 131, 0, 0, 133, 0, 0, 0, 727, 727,
1666 144, 144, 0, 144, 1223, 80, 0, 727, 0, 0,
1667 0, 0, 80, 0, 1224, 0, 1184, 0, 421, 424,
1668 0, 1376, 1377, 0, 0, 203, 1225, 80, 0, 0,
1669 1226, 1226, 1226, 0, 0, 238, 127, 128, 0, 0,
1670 215, 216, 104, 0, 0, 0, 14, 127, 128, 727,
1671 450, 450, 13, 262, 104, 0, 0, 0, 729, 0,
1672 729, 691, 729, 153, 0, 0, 0, 0, 0, 20,
1673 0, 0, 0, 0, 18, 0, 104, 450, 23, 731,
1674 621, 0, 450, 0, 0, 0, 0, 26, 0, 130,
1675 131, 621, 0, 0, 0, 0, 0, 0, 26, 0,
1676 130, 131, 0, 622, 133, 0, 80, 0, 1437, 0,
1677 144, 144, 0, 623, 622, 412, 144, 0, 0, 144,
1678 144, 144, 0, 0, 623, 624, 625, 691, 0, 0,
1679 0, 0, 0, 705, 706, 80, 624, 625, 0, 80,
1680 0, 709, 0, 0, 0, 203, 80, 0, 727, 7,
1681 8, 9, 10, 0, 0, 13, 1152, 1152, 930, 0,
1682 729, 0, 1480, 203, 203, 203, 0, 0, 0, 8,
1683 9, 0, 205, 12, 206, 0, 0, 18, 0, 14,
1684 1178, 1178, 1302, 1302, 1184, 727, 0, 0, 21, 1178,
1685 0, 158, 203, 16, 621, 17, 18, 0, 561, 0,
1686 0, 26, 20, 27, 28, 0, 0, 0, 0, 505,
1687 0, 23, 1302, 1302, 1184, 0, 0, 969, 104, 0,
1688 26, 0, 130, 131, 1226, 1226, 1226, 970, 0, 144,
1689 214, 215, 216, 0, 0, 32, 0, 14, 0, 971,
1690 625, 731, 0, 0, 450, 450, 0, 450, 450, 0,
1691 450, 0, 0, 0, 18, 0, 0, 0, 1540, 1541,
1692 20, 0, 158, 158, 158, 0, 0, 104, 531, 23,
1693 494, 215, 216, 0, 0, 0, 0, 14, 0, 0,
1694 0, 0, 0, 691, 940, 0, 0, 0, 0, 0,
1695 691, 0, 0, 0, 18, 0, 1568, 421, 708, 0,
1696 20, 0, 0, 0, 1178, 1178, 1302, 1302, 1184, 23,
1697 0, 1178, 0, 104, 0, 0, 0, 619, 0, 531,
1698 531, 634, 729, 0, 0, 0, 1582, 0, 0, 0,
1699 80, 581, 582, 583, 584, 585, 586, 587, 588, 589,
1700 590, 591, 592, 593, 594, 421, 424, 0, 212, 220,
1701 0, 0, 0, 147, 586, 587, 588, 589, 590, 591,
1702 592, 593, 594, 133, 472, 475, 0, 0, 0, 0,
1703 0, 0, 104, 0, 203, 104, 0, 450, 450, 0,
1704 0, 0, 300, 127, 128, 10, 0, 0, 13, 144,
1705 0, 0, 144, 0, 0, 0, 0, 0, 0, 0,
1706 0, 691, 0, 0, 144, 561, 0, 0, 561, 0,
1707 18, 0, 80, 0, 0, 0, 1503, 1503, 0, 1503,
1708 0, 21, 0, 0, 0, 421, 836, 621, 0, 0,
1709 727, 0, 0, 0, 26, 0, 27, 320, 0, 561,
1710 203, 203, 0, 0, 203, 0, 203, 203, 203, 755,
1711 1155, 0, 0, 203, 7, 8, 9, 10, 203, 0,
1712 1156, 203, 479, 0, 691, 0, 0, 0, 32, 0,
1713 691, 0, 1157, 625, 7, 8, 9, 10, 80, 0,
1714 0, 450, 450, 450, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 21, 0, 0, 0, 0, 0, 929,
1716 0, 1503, 1503, 1552, 0, 0, 26, 0, 27, 28,
1717 0, 0, 192, 21, 0, 0, 104, 104, 104, 104,
1718 251, 0, 193, 0, 0, 0, 0, 0, 27, 28,
1719 0, 0, 194, 479, 479, 479, 0, 0, 0, 0,
1720 32, 450, 450, 6, 195, 7, 8, 9, 10, 11,
1721 12, 13, 252, 0, 0, 0, 14, 0, 0, 0,
1722 32, 0, 411, 413, 0, 0, 0, 0, 0, 15,
1723 16, 520, 17, 18, 19, 0, 104, 0, 531, 20,
1724 0, 691, 0, 0, 21, 691, 0, 22, 23, 24,
1725 619, 25, 531, 531, 634, 0, 0, 26, 0, 27,
1726 28, 931, 0, 29, 0, 933, 0, 0, 0, 0,
1727 0, 0, 450, 30, 0, 0, 7, 127, 128, 10,
1728 203, 421, 708, 31, 691, 0, 0, 0, 0, 0,
1729 691, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1730 0, 0, 748, 0, 18, 749, 133, 472, 475, 0,
1731 0, 0, 0, 133, 0, 21, 0, 0, 0, 765,
1732 0, 203, 976, 203, 203, 238, 634, 0, 26, 0,
1733 27, 28, 0, 0, 691, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 30, 0, 705, 706, 0, 0,
1735 0, 0, 929, 709, 31, 0, 0, 0, 0, 0,
1736 0, 0, 32, 691, 0, 0, 33, 0, 203, 0,
1737 0, 0, 976, 0, 0, 691, 0, 0, 0, 0,
1738 203, 203, 755, 755, 755, 0, 0, 0, 203, 0,
1739 0, 7, 8, 9, 10, 582, 583, 584, 585, 586,
1740 587, 588, 589, 590, 591, 592, 593, 594, 0, 691,
1741 0, 691, 0, 0, 0, 0, 133, 8, 9, 80,
1742 0, 80, 13, 0, 0, 0, 1068, 80, 0, 80,
1743 21, 0, 0, 0, 0, 104, 621, 0, 0, 0,
1744 0, 104, 0, 26, 18, 27, 28, 0, 531, 531,
1745 531, 0, 0, 421, 836, 0, 0, 0, 0, 969,
1746 0, 531, 0, 0, 0, 0, 0, 0, 26, 970,
1747 130, 131, 0, 0, 0, 0, 691, 32, 0, 0,
1748 0, 971, 625, 166, 1223, 7, 8, 9, 10, 167,
1749 12, 13, 0, 0, 1224, 0, 14, 0, 0, 153,
1750 0, 0, 691, 0, 0, 0, 1225, 0, 0, 0,
1751 16, 0, 17, 18, 19, 0, 0, 0, 0, 20,
1752 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1753 0, 168, 691, 0, 531, 531, 0, 26, 531, 27,
1754 28, 531, 0, 1215, 0, 0, 104, 0, 0, 0,
1755 531, 0, 104, 30, 931, 931, 931, 0, 0, 0,
1756 531, 0, 1158, 31, 0, 0, 0, 0, 0, 0,
1757 0, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1758 0, 748, 749, 472, 475, 0, 0, 0, 0, 765,
1759 0, 0, 0, 0, 0, 104, 0, 104, 0, 203,
1760 203, 1186, 83, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 106, 0, 0, 0, 0, 0, 906, 909,
1762 0, 126, 134, 0, 0, 0, 691, 0, 145, 145,
1763 0, 145, 0, 83, 0, 0, 0, 0, 0, 0,
1764 83, 0, 0, 0, 0, 1186, 0, 8, 9, 0,
1765 0, 12, 246, 145, 0, 83, 0, 14, 104, 755,
1766 755, 755, 0, 239, 300, 127, 128, 10, 0, 0,
1767 248, 16, 0, 17, 104, 0, 0, 1068, 0, 0,
1768 20, 0, 248, 0, 421, 708, 104, 0, 0, 23,
1769 0, 621, 18, 0, 0, 0, 0, 0, 26, 1248,
1770 130, 131, 0, 21, 0, 0, 0, 80, 0, 621,
1771 421, 424, 0, 0, 622, 0, 26, 0, 27, 320,
1772 104, 0, 104, 0, 623, 0, 0, 0, 0, 0,
1773 104, 0, 1155, 0, 83, 0, 624, 625, 145, 145,
1774 421, 1359, 1156, 0, 145, 0, 0, 145, 145, 145,
1775 32, 104, 0, 0, 1157, 625, 531, 531, 0, 531,
1776 0, 0, 0, 83, 0, 0, 0, 83, 0, 0,
1777 0, 0, 0, 145, 83, 0, 0, 0, 0, 0,
1778 0, 0, 531, 0, 0, 531, 531, 634, 0, 0,
1779 0, 145, 145, 145, 0, 0, 0, 0, 0, 0,
1780 472, 475, 0, 0, 0, 0, 0, 0, 203, 203,
1781 203, 203, 203, 1186, 755, 0, 0, 0, 203, 0,
1782 145, 691, 0, 0, 7, 8, 9, 10, 0, 0,
1783 246, 0, 0, 0, 421, 708, 0, 0, 0, 0,
1784 0, 1186, 1186, 1186, 0, 0, 0, 0, 0, 0,
1785 0, 0, 18, 755, 755, 755, 755, 145, 0, 0,
1786 748, 749, 765, 21, 0, 0, 0, 0, 0, 621,
1787 0, 0, 691, 0, 0, 203, 26, 0, 27, 28,
1788 144, 0, 0, 80, 0, 0, 0, 0, 0, 0,
1789 0, 0, 969, 0, 0, 248, 145, 0, 0, 0,
1790 0, 1140, 970, 0, 1141, 0, 0, 0, 0, 0,
1791 32, 0, 0, 0, 971, 625, 1147, 0, 0, 0,
1792 906, 909, 0, 0, 0, 0, 0, 0, 7, 8,
1793 9, 10, 755, 203, 203, 755, 755, 1417, 0, 0,
1794 203, 248, 0, 0, 0, 620, 0, 145, 145, 635,
1795 0, 0, 0, 0, 644, 0, 18, 0, 83, 0,
1796 0, 0, 0, 0, 0, 906, 909, 21, 612, 0,
1797 300, 394, 395, 10, 0, 613, 203, 976, 203, 0,
1798 26, 0, 27, 28, 0, 0, 0, 0, 0, 1215,
1799 0, 683, 0, 0, 0, 104, 476, 0, 0, 0,
1800 248, 0, 145, 248, 0, 0, 477, 0, 0, 21,
1801 748, 749, 472, 475, 32, 0, 614, 145, 478, 765,
1802 145, 0, 26, 0, 27, 320, 0, 0, 0, 0,
1803 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
1804 83, 0, 472, 475, 0, 755, 755, 0, 755, 0,
1805 0, 0, 0, 0, 472, 475, 615, 0, 0, 0,
1806 0, 421, 1359, 0, 0, 0, 0, 0, 145, 145,
1807 0, 0, 145, 0, 145, 145, 145, 145, 0, 0,
1808 0, 145, 0, 0, 0, 0, 145, 0, 0, 145,
1809 0, 1186, 583, 584, 585, 586, 587, 588, 589, 590,
1810 591, 592, 593, 594, 0, 783, 83, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057,
1812 1058, 9, 10, 0, 0, 0, 0, 0, 0, 0,
1813 755, 755, 1417, 755, 748, 749, 472, 475, 0, 0,
1814 0, 765, 0, 0, 248, 248, 248, 248, 0, 0,
1815 0, 906, 909, 0, 0, 0, 0, 0, 21, 0,
1816 0, 0, 1186, 1186, 1186, 0, 0, 0, 0, 0,
1817 0, 26, 0, 27, 28, 1140, 1141, 906, 909, 1059,
1818 0, 0, 755, 104, 1147, 0, 0, 193, 203, 7,
1819 8, 9, 10, 167, 12, 13, 0, 194, 0, 0,
1820 14, 0, 0, 0, 248, 32, 145, 906, 909, 195,
1821 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1822 145, 145, 635, 20, 0, 0, 0, 0, 21, 932,
1823 0, 0, 23, 0, 0, 168, 0, 0, 0, 0,
1824 0, 26, 644, 27, 28, 0, 748, 749, 145, 765,
1825 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 31, 0, 7,
1827 8, 9, 10, 0, 683, 32, 127, 128, 0, 33,
1828 0, 246, 126, 34, 0, 0, 0, 0, 0, 145,
1829 635, 145, 145, 239, 635, 0, 0, 18, 0, 1140,
1830 1141, 906, 909, 18, 0, 0, 1147, 0, 21, 0,
1831 0, 0, 0, 0, 621, 0, 0, 783, 0, 0,
1832 621, 26, 0, 27, 28, 0, 0, 26, 0, 130,
1833 131, 472, 475, 0, 0, 0, 145, 969, 0, 0,
1834 635, 0, 0, 622, 0, 0, 0, 970, 145, 145,
1835 145, 145, 145, 623, 0, 32, 145, 0, 0, 971,
1836 625, 0, 0, 472, 475, 624, 625, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1838 0, 0, 246, 0, 134, 0, 0, 83, 0, 83,
1839 0, 0, 0, 0, 1069, 83, 0, 83, 0, 0,
1840 0, 0, 0, 248, 18, 0, 0, 0, 0, 248,
1841 0, 1140, 1141, 0, 1147, 21, 145, 145, 145, 784,
1842 0, 7, 8, 785, 10, 167, 12, 13, 26, 145,
1843 27, 28, 14, 0, 0, 0, 0, 0, 0, 300,
1844 8, 9, 10, 0, 30, 0, 16, 0, 17, 18,
1845 19, 0, 0, 0, 31, 20, -522, 0, 0, 0,
1846 21, 0, 32, 0, 23, 786, 33, 168, 0, 0,
1847 0, 0, 0, 26, 0, 27, 28, 0, 21, 787,
1848 0, 788, 0, 0, 0, 251, 0, 0, 0, 30,
1849 0, 0, 0, 27, 320, 0, 906, 909, 0, 31,
1850 0, 0, 145, 145, 0, 0, 145, 32, 0, 145,
1851 0, 33, 0, 0, 248, 0, 0, 252, 145, 0,
1852 248, 0, 932, 932, 932, 32, 0, -522, 145, 0,
1853 644, 0, 0, 0, 7, 8, 9, 10, 0, 0,
1854 13, 577, 578, 579, 580, 581, 582, 583, 584, 585,
1855 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
1856 0, 0, 18, 248, 0, 248, 0, 145, 145, 635,
1857 51, 0, 0, 21, 0, 0, 0, 0, 0, 621,
1858 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1859 0, 0, 0, 0, 0, 0, 51, 51, 0, 152,
1860 0, 51, 1181, 0, 0, 0, 8, 9, 51, 167,
1861 12, 13, 1182, 932, 735, 0, 14, 0, 0, 0,
1862 32, 51, 0, 51, 1183, 625, 248, 145, 145, 145,
1863 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
1864 783, 0, 248, 0, 0, 1069, 254, 0, 23, 0,
1865 621, 0, 0, 0, 248, 0, 0, 26, 0, 130,
1866 131, 0, 0, 0, 0, 0, 0, 127, 128, 0,
1867 0, 0, 519, 622, 0, 83, 0, 0, 0, 0,
1868 0, 0, 0, 623, 300, 8, 9, 10, 248, 0,
1869 248, 0, 0, 0, 18, 624, 625, 0, 248, 396,
1870 396, 0, 51, 0, 0, 0, 51, 51, 0, 0,
1871 254, 621, 51, 0, 76, 152, 152, 152, 26, 248,
1872 130, 131, 431, 21, 145, 145, 0, 145, 0, 0,
1873 251, 51, 0, 0, 622, 51, 0, 0, 27, 320,
1874 0, 51, 51, 0, 623, 76, 0, 0, 0, 0,
1875 145, 0, 76, 145, 145, 635, 624, 625, 0, 51,
1876 51, 152, 522, 0, 0, 201, 0, 213, 0, 254,
1877 32, 0, 0, 0, 0, 0, 145, 145, 145, 145,
1878 145, 635, 145, 0, 0, 0, 145, 0, 51, 0,
1879 0, 0, 0, 783, 580, 581, 582, 583, 584, 585,
1880 586, 587, 588, 589, 590, 591, 592, 593, 594, 932,
1881 932, 932, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 145, 145, 145, 145, 51, 0, 0, 783, 7,
1883 8, 9, 10, 167, 12, 13, 0, 0, 735, 0,
1884 14, 0, 0, 145, 0, 0, 407, 259, 145, 0,
1885 410, 83, 0, 0, 16, 0, 17, 18, 0, 0,
1886 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
1887 0, 0, 23, 0, 621, 76, 0, 0, 0, 76,
1888 0, 26, 0, 27, 28, 201, 213, 8, 9, 0,
1889 0, 0, 246, 0, 0, 0, 560, 1181, 0, 0,
1890 145, 145, 145, 145, 145, 635, 0, 1182, 145, 0,
1891 0, 0, 0, 396, 18, 32, 0, 0, 0, 1183,
1892 625, 254, 0, 0, 434, 0, 51, 0, 0, 0,
1893 0, 621, 201, 1448, 0, 0, 0, 0, 26, 0,
1894 130, 131, 0, 0, 145, 635, 145, 0, 0, 0,
1895 0, 0, 0, 0, 1500, 0, 469, 0, 0, 396,
1896 0, 0, 0, 248, 1501, 0, 0, 0, 0, 488,
1897 51, 0, 0, 0, 0, 0, 1502, 625, 300, 8,
1898 9, 10, 167, 12, 13, 51, 0, 735, 51, 14,
1899 0, 0, 0, 0, 431, 431, 431, 0, 0, 0,
1900 51, 0, 0, 16, 0, 17, 18, 0, 51, 0,
1901 0, 0, 20, 145, 145, 0, 145, 21, 0, 0,
1902 0, 23, 0, 621, 0, 0, 0, 0, 0, 0,
1903 26, 0, 27, 320, 0, 0, 51, 51, 0, 0,
1904 51, 0, 152, 152, 152, 431, 1155, 0, 0, 51,
1905 0, 0, 0, 0, 51, 0, 1156, 51, 0, 932,
1906 0, 0, 8, 9, 32, 167, 12, 13, 1157, 625,
1907 652, 0, 14, 0, 51, 0, 0, 0, 0, 0,
1908 0, 7, 8, 9, 10, 0, 16, 519, 17, 18,
1909 0, 0, 0, 0, 0, 20, 0, 0, 145, 145,
1910 635, 145, 0, 560, 684, 0, 560, 168, 0, 18,
1911 0, 0, 0, 26, 201, 130, 131, 0, 0, 0,
1912 21, 0, 560, 560, 560, 0, 621, 0, 0, 0,
1913 932, 932, 932, 26, 0, 27, 28, 560, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 969,
1915 145, 248, 76, 0, 0, 0, 145, 0, 0, 970,
1916 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
1917 0, 971, 625, 0, 0, 300, 8, 9, 10, 0,
1918 410, 13, 0, 0, 0, 254, 0, 0, 0, 0,
1919 0, 0, 0, 201, 0, 0, 0, 560, 0, 0,
1920 0, 201, 0, 18, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 21, 0, 51, 0, 802, 0,
1922 621, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1923 320, 0, 0, 0, 0, 300, 8, 9, 10, 0,
1924 0, 0, 396, 1305, 0, 0, 758, 0, 0, 396,
1925 0, 764, 0, 1306, 0, 0, 0, 51, 51, 51,
1926 51, 32, 0, 18, 0, 1307, 625, 0, 0, 0,
1927 0, 0, 0, 0, 21, 0, 804, 0, 0, 0,
1928 621, 0, 810, 0, 0, 0, 0, 26, 0, 27,
1929 320, 0, 0, 0, 818, 819, 0, 820, 0, 0,
1930 0, 0, 0, 1305, 51, 8, 9, 0, 51, 12,
1931 13, 0, 0, 1306, 0, 14, 51, 51, 431, 431,
1932 431, 32, 0, 0, 51, 1307, 625, 0, 0, 16,
1933 0, 17, 0, 0, 0, 0, 0, 0, 20, 0,
1934 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
1935 0, 0, 0, 0, 0, 51, 26, 51, 130, 131,
1936 201, 0, 51, 51, 0, 51, 0, 0, 0, 0,
1937 0, -389, 8, 9, -389, -389, 12, 246, 0, 0,
1938 78, 0, 14, 0, 0, 0, 0, 0, 0, 0,
1939 560, 0, 919, 920, 881, 0, 16, 919, 17, -389,
1940 0, 201, 975, 201, 201, 20, 78, 78, 0, 78,
1941 -389, 78, 0, 0, 23, 0, 621, 0, 78, 0,
1942 0, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1943 0, 78, 0, 78, 0, 0, 0, 0, 0, 622,
1944 0, 0, 0, 0, 0, 0, 0, 0, 201, 623,
1945 0, 0, 1021, 0, 0, 0, 0, -389, 0, 0,
1946 0, 624, 625, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1948 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
1949 560, 560, 560, 0, 0, 0, 431, 254, 0, 802,
1950 0, 802, 0, 0, 18, 0, 1067, 1074, 0, 802,
1951 0, 0, 78, 0, 0, 21, 78, 78, 0, 0,
1952 0, 1031, 78, 0, 0, 78, 78, 78, 26, 0,
1953 27, 28, 0, 0, 0, 51, 51, 152, 0, 0,
1954 0, 78, 254, 0, 149, 78, 0, 0, 0, 0,
1955 0, 78, 78, 0, 150, 0, 0, 0, 0, 0,
1956 0, 0, 32, 0, 0, 0, 151, 0, 0, 78,
1957 78, 78, 0, 0, 0, 0, 0, 1089, 0, 1091,
1958 0, 1214, 579, 580, 581, 582, 583, 584, 585, 586,
1959 587, 588, 589, 590, 591, 592, 593, 594, 78, 0,
1960 0, 0, 263, 0, 0, 8, 9, 0, 0, 12,
1961 13, 0, 0, 51, 0, 14, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1963 0, 17, 0, 0, 254, 78, 0, 0, 20, 0,
1964 264, 265, 0, 51, 0, 0, 0, 23, 0, 266,
1965 0, 0, 1126, 1127, 0, 1129, 26, 0, 130, 131,
1966 0, 267, 0, 0, 0, 268, 269, 270, 271, 272,
1967 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1968 283, 284, 285, 286, 287, 288, 1148, 0, 289, 290,
1969 291, 0, 292, 0, 0, 293, 0, 0, 0, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971 0, 294, 0, 0, 7, 8, 9, 10, 431, 0,
1972 13, 431, 431, 431, 254, 0, 0, 0, 0, 0,
1973 0, 0, 643, 0, 0, 0, 78, 0, 1188, 0,
1974 0, 0, 18, 0, 51, 51, 51, 152, 152, 152,
1975 431, 0, 254, 21, 51, 0, 0, 1067, 0, 0,
1976 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1977 1380, 1381, 9, 10, 0, 159, 0, 1214, 1214, 1214,
1978 78, 0, 193, 0, 0, 0, 0, 802, 8, 9,
1979 0, 0, 194, 519, 0, 78, 0, 204, 78, 0,
1980 32, 0, 0, 0, 195, 0, 0, 0, 1234, 21,
1981 78, 51, 0, 0, 0, 18, 51, 0, 78, 51,
1982 1239, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1983 1382, 0, 621, 0, 0, 0, 0, 0, 193, 26,
1984 0, 130, 131, 0, 0, 0, 78, 78, 194, 0,
1985 78, 0, 78, 78, 78, 1500, 32, 0, 0, 78,
1986 195, 0, 0, 0, 78, 1501, 0, 78, 431, 51,
1987 51, 431, 431, 431, 0, 0, 51, 1502, 625, 0,
1988 0, 0, 0, 0, 78, 0, 0, 0, 410, 0,
1989 0, 159, 159, 159, 0, 0, 0, 784, 0, 7,
1990 8, 785, 10, 167, 12, 13, 0, 0, 1293, 0,
1991 14, 0, 51, 51, 51, 0, 0, 204, 0, 0,
1992 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1993 0, 0, 0, 20, -523, 204, 204, 481, 21, 0,
1994 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
1995 0, 26, 1310, 27, 28, 1387, 0, 787, 0, 788,
1996 1387, 0, 0, 802, 204, 0, 0, 30, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1998 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
1999 0, 0, 0, 0, 0, 0, 643, 0, 0, 0,
2000 0, 0, 0, 0, 0, -523, 0, 0, 0, 0,
2001 0, 1057, 8, 785, 10, 205, 12, 206, 0, 0,
2002 1395, 0, 14, 0, 1396, 0, 78, 1214, 0, 0,
2003 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2004 532, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2005 21, 0, 0, 0, 23, 0, 201, 1460, 201, 0,
2006 1413, 0, 0, 26, 0, 27, 28, 78, 78, 78,
2007 78, 1059, 0, 1418, 0, 0, 0, 0, 0, 30,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2009 0, 628, 628, 628, 0, 0, 0, 32, 1214, 1214,
2010 1214, 33, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 78, 8, 9, 0, 78, 12,
2012 246, 0, 0, 0, 51, 14, 78, 78, 0, 0,
2013 0, 0, 0, 0, 78, 0, 1473, 0, 0, 16,
2014 1474, 17, 0, 0, 0, 0, 204, 784, 20, 7,
2015 8, 785, 10, 167, 12, 13, 0, 23, 0, 0,
2016 14, 0, 1489, 1490, 0, 78, 26, 78, 130, 131,
2017 0, 0, 78, 78, 16, 78, 17, 18, 19, 0,
2018 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
2019 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
2020 0, 26, 0, 27, 28, 0, 0, 787, 0, 788,
2021 0, 0, 204, 204, 0, 0, 204, 30, 481, 481,
2022 481, 756, 0, 0, 0, 204, 0, 31, 0, 0,
2023 204, 0, 0, 204, 0, 32, 0, 0, 0, 33,
2024 0, 0, 0, 0, 555, 0, 300, 8, 9, 10,
2025 167, 12, 301, 302, 303, 735, 304, 14, 0, 0,
2026 0, 0, 0, 0, 0, 0, 0, 0, 201, 0,
2027 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2028 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2029 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2030 27, 320, -314, 0, 0, 321, 0, 0, 643, 0,
2031 202, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2032 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2033 327, 328, 329, 0, 0, 257, 926, 625, 261, 0,
2034 0, 0, 0, 0, 0, 78, 78, 78, 0, 0,
2035 890, 0, 0, 331, 0, 0, 0, 0, 0, 257,
2036 0, 365, 0, 0, 628, 628, 628, 8, 9, 0,
2037 0, 0, 13, 628, 300, 8, 9, 10, 167, 12,
2038 13, 0, 0, 735, 0, 14, 0, 0, 0, 0,
2039 0, 1216, 204, 0, 18, 0, 0, 0, 0, 16,
2040 0, 17, 18, 0, 0, 0, 0, 0, 20, 0,
2041 0, 621, 0, 21, 0, 0, 0, 23, 26, 621,
2042 130, 131, 0, 78, 0, 0, 26, 0, 27, 320,
2043 202, 0, 0, 973, 1500, 973, 973, 0, 628, 0,
2044 0, 0, 1305, 0, 1501, 0, 0, 0, 202, 202,
2045 202, 0, 1306, 78, 0, 0, 1502, 625, 487, 0,
2046 32, 0, 0, 0, 1307, 625, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 202, 0, 0,
2048 973, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 204, 204, 756, 756, 756, 8, 9, 0,
2050 204, 12, 13, 261, 626, 626, 626, 14, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 257, 0, 0,
2052 0, 16, 0, 17, 0, 0, 0, 0, 0, 0,
2053 20, 0, 0, 0, 0, 0, 0, 0, 204, 23,
2054 0, 7, 8, 9, 10, 214, 215, 216, 26, 0,
2055 130, 131, 14, 0, 78, 78, 78, 78, 78, 78,
2056 532, 532, 532, 0, 78, 0, 0, 0, 0, 18,
2057 0, 0, 0, 628, 0, 20, 0, 0, 0, 0,
2058 21, 0, 0, 0, 23, 0, 621, 1216, 1216, 1216,
2059 0, 0, 0, 26, 0, 27, 28, 7, 127, 128,
2060 10, 0, 0, 519, 0, 0, 0, 0, 0, 969,
2061 257, 261, 0, 0, 0, 0, 0, 0, 0, 970,
2062 0, 78, 0, 0, 0, 18, 78, 32, 0, 78,
2063 0, 1015, 625, 0, 0, 0, 21, 0, 0, 0,
2064 0, 0, 0, 0, 0, 0, 628, 628, 0, 26,
2065 628, 27, 28, 628, 0, 0, 0, 0, 0, 202,
2066 0, 0, 628, 0, 0, 30, 628, 628, 628, 0,
2067 0, 0, 628, 0, 0, 31, 0, 0, 0, 78,
2068 78, 0, 0, 32, 0, 0, 78, 33, 0, 0,
2069 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
2070 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 973, 973, 1187, 0, 0, 0, 0, 0, 0,
2072 0, 0, 78, 78, 78, 202, 202, 0, 0, 202,
2073 0, 202, 202, 202, 202, 0, 21, 0, 202, 0,
2074 0, 0, 0, 202, 0, 0, 202, 0, 0, 26,
2075 0, 27, 28, 0, 0, 1455, 0, 1187, 0, 0,
2076 0, 0, 0, 0, 0, 193, 369, 371, 0, 0,
2077 0, 756, 756, 756, 0, 194, 0, 626, 626, 626,
2078 0, 0, 0, 32, 0, 0, 928, 195, 0, 204,
2079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080 0, 0, 7, 8, 9, 10, 205, 12, 206, 0,
2081 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2082 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2083 18, 0, 0, 0, 0, 0, 20, 1216, 0, 0,
2084 0, 21, 0, 0, 0, 23, 626, 0, 626, 626,
2085 0, 626, 0, 0, 26, 0, 27, 28, 0, 0,
2086 207, 0, 0, 0, 0, 0, 0, 0, 890, 890,
2087 30, 890, 0, 0, 0, 0, 0, 0, 0, 0,
2088 31, 0, 0, 0, 0, 0, 0, 0, 32, 257,
2089 261, 0, 33, 626, 628, 0, 0, 628, 628, 628,
2090 0, 0, 0, 0, 0, 202, 0, 0, 1216, 1216,
2091 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 973, 973, 973, 1187, 1187, 1187, 1308, 0, 0, 0,
2093 973, 0, 0, 0, 78, 0, 7, 8, 9, 10,
2094 167, 12, 13, 0, 0, 1020, 202, 14, 202, 202,
2095 0, 0, 0, 1187, 1187, 1187, 0, 0, 0, 0,
2096 0, 16, 0, 17, 18, 756, 756, 756, 756, 0,
2097 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2098 0, 0, 0, 0, 0, 0, 626, 204, 26, 563,
2099 27, 28, 0, 202, 0, 0, 0, 0, 0, 0,
2100 0, 0, 0, 0, 30, 202, 202, 202, 202, 202,
2101 487, 0, 0, 202, 31, 0, 0, 0, 0, 0,
2102 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 261, 0,
2104 0, 0, 0, 0, 1308, 973, 973, 1308, 1308, 1308,
2105 0, 202, 973, 0, 0, 0, 0, 0, 0, 626,
2106 626, 690, 0, 626, 0, 0, 626, 0, 0, 0,
2107 0, 0, 0, 0, 0, 626, 0, 0, 0, 928,
2108 928, 928, 0, 0, 0, 626, 0, 0, 204, 0,
2109 204, 0, 784, 0, 7, 8, 785, 10, 167, 12,
2110 13, 0, 0, 0, 0, 14, 0, 0, 0, 0,
2111 0, 7, 8, 9, 10, 0, 0, 246, 0, 16,
2112 0, 17, 18, 19, 626, 626, 626, 737, 20, -525,
2113 0, 0, 0, 21, 0, 0, 0, 23, 786, 18,
2114 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2115 21, 0, 787, 0, 788, 0, 0, 1308, 1308, 0,
2116 1308, 0, 30, 26, 0, 27, 28, 0, 0, 0,
2117 928, 0, 31, 0, 0, 0, 0, 0, 0, 193,
2118 32, 0, 0, 0, 33, 0, 257, 261, 257, 194,
2119 0, 0, 0, 0, 0, 0, 823, 32, 0, 826,
2120 -525, 195, 0, 481, 829, 830, 832, 833, 834, 7,
2121 8, 9, 10, 0, 0, 13, 0, 563, 0, 0,
2122 0, 0, 0, 0, 202, 202, 1185, 0, 0, 0,
2123 851, 257, 0, 0, 0, 0, 0, 18, 0, 0,
2124 0, 0, 1308, 1308, 1308, 1308, 0, 0, 21, 0,
2125 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
2126 13, 26, 0, 27, 28, 14, 0, 0, 0, 0,
2127 1185, 0, 0, 0, 481, 481, 481, 476, 0, 16,
2128 0, 17, 18, 910, 202, 202, 202, 477, 20, 0,
2129 910, 0, 0, 21, 1308, 32, 0, 23, 0, 478,
2130 204, 0, 202, 0, 0, 0, 26, 626, 27, 28,
2131 626, 626, 626, 0, 0, 0, 0, 0, 0, 0,
2132 0, 0, 30, 487, 0, 0, 7, 8, 9, 10,
2133 0, 0, 31, 626, 626, 626, 626, 626, 626, 626,
2134 32, 0, 0, 626, 33, 0, 0, 0, 0, 0,
2135 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 21, 928, 928, 928, 8,
2137 9, 0, 167, 12, 13, 0, 0, 735, 26, 14,
2138 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 16, 193, 17, 18, 0, 102, 0,
2140 0, 690, 20, 0, 194, 0, 0, 121, 102, 0,
2141 0, 23, 32, 257, 102, 102, 195, 102, 0, 0,
2142 26, 0, 130, 131, 0, 0, 0, 0, 0, 0,
2143 0, 0, 0, 202, 202, 202, 202, 202, 1185, 202,
2144 0, 1309, 0, 202, 0, 0, 0, 0, 0, 235,
2145 0, 0, 0, 0, 0, 0, 0, 626, 626, 626,
2146 626, 626, 626, 0, 737, 626, 1185, 1185, 1185, 0,
2147 737, 0, 0, 0, 0, 0, 0, 0, 202, 202,
2148 202, 202, 0, 0, 0, 0, 0, 0, 7, 8,
2149 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
2150 202, 0, 0, 0, 0, 0, 0, 0, 389, 0,
2151 121, 0, 0, 16, 0, 17, 18, 102, 102, 0,
2152 0, 0, 20, 0, 102, 102, 0, 21, 102, 102,
2153 102, 23, 417, 102, 102, 102, 0, 0, 0, 1120,
2154 26, 0, 27, 28, 0, 0, 1458, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 30, 202, 202, 202,
2156 202, 202, 1185, 0, 0, 202, 31, 0, 0, 0,
2157 626, 626, 0, 626, 32, 851, 0, 0, 33, 0,
2158 0, 737, 0, 0, 0, 910, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2160 0, 202, 0, 202, 0, 784, 0, 7, 8, 785,
2161 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
2162 0, 0, 235, 102, 690, 0, 1176, 0, 0, 0,
2163 910, 0, 16, 0, 17, 18, 19, 0, 0, 0,
2164 0, 20, -524, 102, 0, 0, 21, 0, 0, 0,
2165 23, 786, 0, 168, 0, 626, 626, 626, 626, 26,
2166 0, 27, 28, 0, 0, 787, 0, 788, 0, 0,
2167 202, 202, 1309, 202, 910, 30, 0, 0, 0, 0,
2168 0, 0, 102, 0, 0, 31, 0, 1220, 0, 0,
2169 0, 0, 0, 32, 0, 0, 0, 33, 0, 0,
2170 0, 0, 0, 737, 0, 0, 0, 626, 0, 0,
2171 0, 0, 0, -524, 0, 737, 1185, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 0, 102, 0, 102, 102, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 0, 0, 737,
2175 0, 737, 0, 0, 0, 202, 202, 1185, 202, 1264,
2176 0, 0, 0, 0, 0, 7, 8, 9, 10, 205,
2177 12, 206, 0, 0, 0, 0, 14, 102, 0, 0,
2178 1279, 0, 0, 0, 0, 0, 0, 1185, 1185, 1185,
2179 16, 0, 17, 18, 0, 0, 102, 0, 0, 20,
2180 0, 0, 0, 102, 21, 0, 102, 202, 23, 0,
2181 0, 0, 0, 202, 0, 0, 910, 26, 102, 27,
2182 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
2184 0, 0, 910, 31, 0, 0, 0, 0, 0, 0,
2185 0, 32, 0, 0, 1545, 33, -480, -480, -480, -480,
2186 -480, -480, -480, 0, 0, -480, 0, -480, 0, 0,
2187 0, 0, 910, 0, 0, 0, 0, 0, -480, 0,
2188 -480, 0, 0, 0, -480, 0, 0, 0, 0, 102,
2189 -480, 776, 0, 0, 0, -480, 0, 0, 0, -480,
2190 0, -480, 0, 0, 0, 0, 0, 0, -480, 0,
2191 -480, -480, -480, -480, -480, 102, -480, -480, -480, -480,
2192 -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
2193 -480, -480, -480, -480, -480, -480, -480, -480, -480, 0,
2194 -480, -480, -480, 0, -480, -480, -480, -480, -480, 0,
2195 0, 0, 0, 0, 1546, -480, 0, 0, 0, 0,
2196 -480, -480, -480, 0, -480, 0, 910, 0, 0, 0,
2197 0, 7, 8, 9, 10, 214, 215, 216, 0, 0,
2198 0, 0, 14, 0, 0, 0, 0, 0, 1380, 127,
2199 128, 10, 102, 0, 0, 0, 0, 0, 0, 18,
2200 0, 0, 0, 102, 102, 20, 102, 102, 0, 0,
2201 21, 0, 0, 0, 23, 0, 621, 0, 0, 0,
2202 0, 0, 0, 26, 1220, 27, 28, 21, 0, 0,
2203 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
2204 26, 0, 27, 28, 0, 0, 0, 18, 1382, 194,
2205 0, 0, 0, 0, 0, 0, 30, 32, 0, 0,
2206 102, 1461, 0, 0, 0, 0, 31, 102, 121, 0,
2207 0, 0, 0, 0, 32, 0, 0, 0, 33, 235,
2208 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2209 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
2210 593, 594, 1463, 776, 1320, 1321, 1322, 10, 167, 12,
2211 301, 302, 303, 0, 304, 14, 1323, 0, 1324, 1325,
2212 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16,
2213 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2214 309, 310, 311, 21, 312, 313, 1334, 23, 1335, 0,
2215 0, 314, 315, 316, 317, 318, 26, 0, 1336, 320,
2216 722, 910, 1337, 321, 0, 0, 0, 776, 0, 322,
2217 102, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2218 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2219 329, 0, 0, 563, 330, 0, 1338, 0, 0, 0,
2220 0, 0, 102, 102, 102, 0, 0, 0, 0, 0,
2221 1464, 331, 690, 0, 0, 102, 0, 0, 0, 0,
2222 0, 0, 0, 1319, 0, 1320, 1321, 1322, 10, 167,
2223 12, 301, 302, 303, 0, 304, 14, 1323, 0, 1324,
2224 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2225 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2226 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2227 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2228 320, 722, 0, 1337, 321, 0, 0, 0, 102, 102,
2229 322, 0, 102, 323, 0, 102, 0, 0, 0, 0,
2230 0, 324, 325, 326, 102, 0, 0, 0, 0, 327,
2231 328, 329, 0, 0, 102, 330, 555, 1338, 7, 8,
2232 9, 10, 167, 12, 301, 302, 303, 735, 304, 14,
2233 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2234 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2235 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2236 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2237 26, 0, 27, 28, -314, 0, 0, 321, 0, 0,
2238 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2239 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2240 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 0, 0, 0, 0, 331, 776, 0, 734, 0,
2243 300, 8, 9, 10, 167, 12, 301, 302, 303, 735,
2244 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 102, 0, 16, 305, 17, 18, 19,
2246 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2247 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2248 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2249 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2250 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2251 102, 102, 0, 102, 327, 328, 329, 0, 0, 0,
2252 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, -800, 102, 331, 0, 102,
2254 102, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2255 587, 588, 589, 590, 591, 592, 593, 594, 0, 854,
2256 0, 300, 8, 9, 10, 167, 12, 301, 302, 303,
2257 0, 304, 14, 0, 0, 0, 0, 0, 0, 776,
2258 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2259 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2260 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2261 316, 317, 318, 26, 776, 27, 320, 1563, 0, -790,
2262 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2263 0, 0, 102, 0, 102, 0, 0, 324, 325, 326,
2264 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2265 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2266 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2267 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2268 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2269 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2270 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2271 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2272 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2273 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2274 0, 0, 330, 847, 555, 0, 300, 8, 9, 10,
2275 0, 12, 301, 302, 303, 0, 304, 14, 1007, 331,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2278 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2279 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2280 27, 320, -314, 0, 0, 321, 0, 0, 0, 0,
2281 0, 322, 0, 0, 556, 0, 0, 0, 0, 0,
2282 0, 0, 324, 325, 557, 0, 0, 0, 0, 0,
2283 327, 328, 329, 0, 0, 725, 558, 842, 843, 844,
2284 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2285 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2286 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2287 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2288 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2289 0, 845, 846, 726, 0, 0, 321, 0, 0, 0,
2290 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2291 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2292 0, 327, 328, 329, 0, 0, 0, 330, 847, 725,
2293 0, 842, 843, 844, 10, 0, 12, 536, 302, 303,
2294 0, 304, 14, 0, 331, 0, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2296 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2297 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2298 316, 317, 318, 26, 0, 845, 846, 726, 0, 0,
2299 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2300 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2301 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2302 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2303 303, 0, 304, 14, 0, 0, 0, -484, 331, 0,
2304 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2305 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2306 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2307 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2308 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2309 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2310 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2311 0, 725, 330, 300, 8, 9, 10, 0, 12, 536,
2312 302, 303, 0, 304, 14, 0, 0, 0, 1358, 331,
2313 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2314 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2315 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2316 314, 315, 316, 317, 318, 26, 0, 27, 320, 726,
2317 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2318 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2319 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2320 0, 0, 0, 330, 555, 0, 7, 8, 9, 10,
2321 1362, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2322 331, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2323 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2324 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2325 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2326 27, 28, -314, 0, 0, 321, 0, 0, 0, 0,
2327 0, 322, 0, 0, 1532, 0, 0, 0, 0, 0,
2328 0, 0, 324, 325, 1533, 0, 0, 0, 0, 0,
2329 327, 328, 329, 0, 0, 725, 1534, 300, 8, 9,
2330 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2331 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2332 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2333 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2334 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2335 0, 27, 320, 726, 0, 0, 321, 0, 0, 0,
2336 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2337 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2338 0, 327, 328, 329, 0, 0, 854, 330, 300, 8,
2339 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2340 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2341 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2342 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2343 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2344 26, 0, 27, 320, 0, 0, 0, 321, -790, 0,
2345 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2346 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2347 0, 0, 327, 328, 329, 0, 0, 1616, 330, 300,
2348 8, 9, 10, 0, 12, 301, 302, 303, 0, 304,
2349 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
2350 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2351 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2352 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
2353 318, 26, 0, 27, 320, 0, 0, -197, 321, 0,
2354 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2355 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2356 0, 0, 0, 327, 328, 329, 0, 0, 854, 330,
2357 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2358 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
2359 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
2360 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2361 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2362 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2363 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2364 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2365 0, 0, 0, 0, 327, 328, 329, 0, 0, 947,
2366 330, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2367 0, 304, 14, 0, 0, -790, 0, 331, 0, 0,
2368 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2369 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2370 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2371 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2372 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2373 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2374 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2375 949, 330, 300, 8, 9, 10, 0, 12, 536, 302,
2376 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2377 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2378 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2379 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2380 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2381 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2382 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2383 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2384 0, 1581, 330, 300, 8, 9, 10, 0, 12, 536,
2385 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2386 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2387 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2388 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2389 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2390 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2391 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2392 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2393 0, 0, 0, 330, 300, 8, 9, 10, 0, 12,
2394 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2395 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2396 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2397 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2398 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2399 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2400 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2401 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2402 329, 0, 0, 0, 330, 0, 0, 0, 0, 0,
2403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2404 0, 331, 893, 1320, 1321, 1322, 10, 167, 12, 301,
2405 302, 303, 0, 304, 14, 1323, 0, 1324, 1325, 1326,
2406 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16, 305,
2407 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2408 310, 311, 21, 312, 313, 1334, 23, 1335, 0, 0,
2409 314, 315, 316, 317, 318, 26, 0, 1336, 320, 722,
2410 0, 1337, 321, 0, 0, 0, 0, 0, 322, 0,
2411 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2412 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2413 0, 0, 0, 330, 0, 1338, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468,
2415 331, 1320, 1321, 1322, 10, 167, 12, 301, 302, 303,
2416 0, 304, 14, 1323, 0, 1324, 1325, 1326, 1327, 1328,
2417 1329, 1330, 1331, 1332, 1333, 15, 16, 305, 17, 18,
2418 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2419 21, 312, 313, 1334, 23, 1335, 0, 0, 314, 315,
2420 316, 317, 318, 26, 0, 1336, 320, 722, 0, 1337,
2421 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2422 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2423 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2424 0, 330, 0, 1338, 0, 1320, 1321, 1322, 10, 167,
2425 12, 301, 302, 303, 0, 304, 14, 1323, 331, 1324,
2426 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2427 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2428 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2429 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2430 320, 1590, 0, 1337, 321, 0, 0, 0, 0, 0,
2431 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2432 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2433 328, 329, 0, 0, 0, 330, 0, 1338, 0, 1320,
2434 1321, 1322, 10, 167, 12, 301, 302, 303, 0, 304,
2435 14, 1323, 331, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
2436 1331, 1332, 1333, 15, 16, 305, 17, 18, 19, 0,
2437 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2438 313, 1334, 23, 1335, 0, 0, 314, 315, 316, 317,
2439 318, 26, 0, 1336, 320, 0, 0, 1337, 321, 0,
2440 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2441 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2442 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
2443 0, 1338, 300, 8, 9, 10, 167, 12, 301, 302,
2444 303, 735, 304, 14, 0, 0, 331, 0, 0, 0,
2445 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2446 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2447 311, 21, 312, 313, 0, 23, 0, 621, 0, 314,
2448 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2449 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2450 924, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2451 925, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2452 0, 0, 926, 625, 7, 8, 9, 10, 167, 12,
2453 301, 302, 303, 735, 304, 14, 0, 0, 0, 331,
2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2455 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2456 309, 310, 311, 21, 312, 313, 0, 23, 0, 621,
2457 0, 314, 315, 316, 317, 318, 26, 0, 27, 28,
2458 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2459 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
2460 324, 325, 1212, 0, 0, 0, 0, 0, 327, 328,
2461 329, 0, 0, 0, 1213, 625, 300, 8, 9, 10,
2462 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2463 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2465 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2466 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2467 27, 320, 0, 0, 0, 0, 0, 0, 0, 0,
2468 0, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2469 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2470 327, 328, 329, 0, 0, 0, 926, 625, 7, 8,
2471 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2472 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2473 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2474 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2475 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2476 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
2477 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2478 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2479 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2480 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2481 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2483 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2484 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2485 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2486 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2487 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2488 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2489 558, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2490 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2491 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2492 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2493 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2494 316, 317, 318, 26, 0, 27, 320, 0, 0, 1441,
2495 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2496 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2497 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2498 0, 330, 300, 8, 9, 10, 167, 12, 301, 302,
2499 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2500 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2501 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2502 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2503 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2505 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2506 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2507 0, 0, 330, 7, 8, 9, 10, 0, 12, 536,
2508 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2509 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2510 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2511 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2512 314, 315, 316, 317, 318, 26, 0, 27, 28, 0,
2513 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2514 0, 1532, 0, 0, 0, 0, 0, 0, 0, 324,
2515 325, 1533, 0, 0, 0, 0, 0, 327, 328, 329,
2516 0, 0, 0, 1534, 300, 8, 9, 10, 0, 12,
2517 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2518 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2519 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2520 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2521 0, 314, 315, 316, 317, 318, 26, 0, 319, 320,
2522 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2523 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2524 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2525 329, 0, 0, 0, 330, 300, 8, 9, 10, 0,
2526 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2527 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2528 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2529 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2530 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2531 320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
2532 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2533 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2534 328, 329, 0, 0, 0, 330, 300, 8, 9, 10,
2535 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
2536 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2537 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
2538 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2539 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2540 27, 320, 0, 0, 0, 321, 0, 0, 0, 0,
2541 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
2542 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
2543 327, 328, 329, 0, 0, 0, 330, 300, 8, 9,
2544 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2545 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2546 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2547 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2548 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2549 0, 27, 320, 570, 0, 0, 0, 0, 0, 0,
2550 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2551 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2552 0, 327, 328, 329, 0, 0, 0, 571, 300, 8,
2553 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2554 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2555 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2556 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2557 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2558 26, 0, 27, 320, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2560 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2561 0, 0, 327, 328, 329, 0, 0, 0, 330, 609,
2562 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2563 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2565 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2566 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2567 317, 318, 26, 0, 27, 320, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2569 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2570 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2571 558, 1169, 8, 9, 10, 0, 12, 536, 302, 303,
2572 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2573 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2574 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2575 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2576 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2577 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2578 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2579 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2580 0, 330, 7, 8, 9, 10, 0, 12, 301, 302,
2581 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2582 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2583 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2584 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2585 315, 316, 317, 318, 26, 0, 27, 28, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2587 1532, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2588 1533, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2589 0, 0, 1534, 300, 8, 9, 10, 0, 12, 536,
2590 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2591 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2592 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2593 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2594 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
2596 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2597 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2598 0, 0, 0, 537, 300, 8, 9, 10, 0, 12,
2599 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2600 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2601 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2602 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2603 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2605 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2606 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2607 329, 0, 0, 0, 540, 300, 8, 9, 10, 0,
2608 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
2609 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2610 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2611 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2612 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2613 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2614 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2615 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2616 328, 329, 0, 8, 9, 330, 167, 12, 13, 0,
2617 0, 735, 0, 14, 0, 0, 0, 0, 0, 0,
2618 0, 0, 331, 0, 0, 0, 0, 16, 0, 17,
2619 18, 0, 7, 8, 9, 10, 20, 0, 519, 0,
2620 0, 0, 0, 0, 0, 23, 0, 621, 0, 300,
2621 8, 9, 10, 0, 26, 13, 130, 131, 0, 0,
2622 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 1500, 21, 0, 0, 0, 0, 0, 18, 0, 0,
2624 1501, 0, 0, 0, 26, 0, 27, 28, 21, 0,
2625 0, 0, 1502, 625, 0, 300, 8, 9, 10, 0,
2626 193, 26, 0, 27, 320, 0, 0, 0, 0, 0,
2627 194, 0, 0, 0, 0, 0, 0, 752, 32, 0,
2628 0, 0, 195, 18, 0, 0, 0, 753, 0, 0,
2629 0, 0, 0, 0, 21, 32, 8, 9, 0, 754,
2630 12, 13, 1516, 0, 0, 0, 14, 26, 0, 27,
2631 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 16, 0, 17, 752, 0, 0, 0, 0, 0, 20,
2633 0, 0, 0, 753, 0, 0, 0, 0, 23, 0,
2634 0, 32, 0, 0, 0, 754, 0, 26, 0, 130,
2635 131, 604, 0, 1517, 573, 574, 575, 576, 577, 578,
2636 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2637 589, 590, 591, 592, 593, 594, 8, 9, 0, 167,
2638 12, 13, 0, 0, 1584, 605, 14, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2641 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2642 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2643 131, 573, 574, 575, 576, 577, 578, 579, 580, 581,
2644 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
2645 592, 593, 594, 573, 574, 575, 576, 577, 578, 579,
2646 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2647 590, 591, 592, 593, 594, 0, 0, 0, 1269, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 663, 0, 0, 1604, 573, 574, 575,
2650 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2651 586, 587, 588, 589, 590, 591, 592, 593, 594, 1100,
2652 0, 0, 0, 573, 574, 575, 576, 577, 578, 579,
2653 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2654 590, 591, 592, 593, 594, 1598, 573, 574, 575, 576,
2655 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2656 587, 588, 589, 590, 591, 592, 593, 594, 573, 574,
2657 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2658 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2659 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2660 583, 584, 0, 586, 587, 588, 589, 590, 591, 592,
2661 593, 594
2664 static const short yycheck[] = { 4,
2665 720, 209, 42, 55, 161, 176, 175, 174, 350, 23,
2666 4, 402, 4, 55, 460, 4, 251, 402, 126, 59,
2667 568, 485, 507, 80, 356, 695, 4, 14, 356, 46,
2668 35, 149, 150, 80, 90, 373, 92, 42, 84, 247,
2669 156, 35, 605, 35, 304, 305, 35, 402, 42, 133,
2670 134, 4, 57, 42, 647, 124, 789, 35, 791, 76,
2671 882, 42, 209, 134, 42, 243, 799, 72, 702, 1237,
2672 1238, 218, 42, 440, 133, 1423, 1339, 1513, 338, 84,
2673 1514, 137, 35, 88, 11, 90, 1254, 92, 296, 42,
2674 42, 468, 54, 1349, 1537, 42, 83, 144, 11, 1515,
2675 1356, 11, 107, 108, 1, 63, 12, 7, 75, 4,
2676 703, 57, 4, 5, 805, 38, 1559, 75, 33, 106,
2677 811, 356, 48, 175, 1560, 61, 59, 48, 493, 169,
2678 63, 136, 137, 175, 139, 30, 31, 61, 38, 455,
2679 35, 55, 350, 217, 218, 510, 1, 42, 9, 63,
2680 63, 62, 461, 45, 60, 12, 203, 63, 136, 468,
2681 165, 625, 59, 55, 169, 57, 58, 93, 94, 209,
2682 222, 176, 93, 109, 1, 169, 1619, 217, 218, 1595,
2683 169, 108, 108, 136, 165, 109, 109, 165, 169, 84,
2684 136, 169, 0, 155, 109, 108, 213, 539, 108, 169,
2685 60, 62, 108, 60, 59, 262, 63, 247, 63, 39,
2686 1644, 1379, 165, 48, 357, 358, 169, 169, 33, 25,
2687 1388, 1389, 169, 1391, 1660, 55, 535, 60, 60, 140,
2688 176, 922, 59, 27, 719, 75, 63, 31, 200, 0,
2689 95, 136, 60, 8, 9, 156, 562, 1563, 108, 14,
2690 48, 1514, 1600, 59, 149, 150, 296, 63, 93, 94,
2691 48, 248, 1518, 347, 59, 408, 409, 61, 95, 61,
2692 165, 65, 37, 108, 169, 108, 14, 109, 3, 4,
2693 5, 46, 49, 48, 22, 75, 48, 596, 347, 95,
2694 108, 448, 297, 602, 964, 93, 1612, 343, 193, 194,
2695 48, 212, 97, 359, 938, 93, 94, 941, 59, 220,
2696 350, 93, 644, 1569, 65, 109, 385, 109, 881, 61,
2697 108, 93, 393, 60, 55, 330, 237, 65, 93, 638,
2698 685, 93, 57, 58, 149, 150, 151, 675, 343, 3,
2699 4, 5, 6, 490, 75, 93, 351, 714, 715, 983,
2700 984, 742, 404, 1044, 359, 360, 81, 742, 476, 477,
2701 108, 48, 404, 479, 1620, 1056, 406, 109, 75, 356,
2702 25, 108, 27, 93, 48, 1543, 1544, 93, 42, 614,
2703 195, 4, 360, 55, 63, 49, 124, 3, 4, 5,
2704 6, 65, 61, 57, 58, 60, 738, 402, 107, 1090,
2705 405, 1092, 442, 75, 59, 721, 93, 360, 63, 61,
2706 148, 76, 35, 402, 360, 489, 490, 81, 470, 93,
2707 968, 4, 5, 497, 4, 89, 42, 479, 805, 108,
2708 25, 483, 63, 49, 811, 509, 4, 442, 884, 491,
2709 95, 57, 58, 1036, 75, 501, 48, 55, 343, 489,
2710 490, 508, 48, 63, 528, 35, 1278, 497, 76, 923,
2711 78, 442, 31, 468, 442, 360, 49, 35, 12, 509,
2712 48, 4, 442, 89, 57, 58, 75, 1, 534, 3,
2713 4, 5, 499, 27, 25, 59, 27, 31, 528, 442,
2714 55, 93, 94, 48, 60, 61, 501, 93, 81, 59,
2715 238, 239, 35, 508, 48, 648, 108, 402, 93, 42,
2716 65, 48, 108, 251, 508, 93, 60, 61, 59, 63,
2717 1253, 65, 63, 55, 48, 4, 5, 1161, 1162, 534,
2718 508, 55, 537, 57, 58, 540, 84, 85, 93, 450,
2719 545, 546, 547, 548, 549, 922, 713, 442, 48, 93,
2720 94, 84, 55, 558, 95, 508, 93, 1042, 55, 470,
2721 606, 48, 508, 568, 108, 63, 571, 12, 479, 93,
2722 879, 880, 48, 468, 965, 55, 885, 75, 57, 58,
2723 965, 476, 477, 48, 322, 496, 1408, 76, 48, 55,
2724 899, 108, 901, 93, 903, 75, 774, 775, 650, 683,
2725 932, 606, 780, 136, 932, 676, 93, 94, 650, 75,
2726 965, 651, 683, 508, 48, 60, 80, 93, 63, 624,
2727 65, 108, 678, 831, 108, 363, 631, 483, 93, 4,
2728 5, 65, 165, 93, 372, 491, 169, 94, 55, 691,
2729 104, 693, 694, 11, 953, 48, 63, 385, 635, 691,
2730 48, 693, 694, 108, 694, 4, 5, 55, 75, 93,
2731 94, 476, 477, 478, 1110, 1111, 1130, 1044, 928, 133,
2732 684, 4, 5, 678, 49, 783, 9, 75, 821, 1056,
2733 144, 55, 57, 58, 108, 48, 738, 692, 1004, 998,
2734 93, 696, 766, 4, 5, 93, 738, 932, 738, 109,
2735 49, 75, 63, 107, 108, 719, 81, 48, 57, 58,
2736 1195, 606, 48, 1090, 75, 1092, 3, 4, 5, 6,
2737 48, 55, 55, 48, 57, 58, 766, 622, 623, 624,
2738 93, 94, 789, 97, 791, 182, 631, 742, 71, 203,
2739 797, 75, 799, 61, 796, 1230, 57, 58, 81, 93,
2740 806, 807, 93, 809, 796, 42, 61, 93, 349, 350,
2741 351, 94, 48, 1209, 48, 93, 94, 505, 93, 94,
2742 57, 58, 1218, 1219, 238, 792, 793, 48, 25, 3,
2743 27, 1227, 111, 1125, 789, 802, 791, 3, 4, 5,
2744 6, 831, 797, 75, 799, 789, 94, 791, 262, 63,
2745 805, 806, 807, 94, 809, 799, 811, 93, 63, 93,
2746 343, 789, 59, 791, 930, 958, 63, 3, 4, 5,
2747 93, 799, 93, 1269, 991, 93, 42, 360, 9, 55,
2748 111, 12, 570, 48, 93, 75, 789, 63, 791, 55,
2749 55, 57, 58, 789, 108, 791, 799, 742, 95, 75,
2750 796, 797, 27, 799, 75, 71, 31, 752, 753, 60,
2751 75, 1039, 1040, 1041, 75, 81, 75, 48, 11, 402,
2752 108, 57, 58, 89, 60, 880, 614, 93, 93, 60,
2753 885, 62, 63, 60, 65, 60, 61, 55, 1197, 108,
2754 1199, 355, 1201, 75, 789, 76, 791, 78, 25, 55,
2755 27, 108, 4, 5, 799, 108, 1626, 63, 75, 442,
2756 805, 916, 93, 94, 306, 307, 811, 922, 75, 75,
2757 45, 926, 1368, 3, 4, 5, 330, 108, 108, 976,
2758 55, 323, 59, 58, 326, 468, 63, 329, 60, 61,
2759 332, 1084, 1085, 1086, 336, 932, 684, 109, 412, 4,
2760 5, 109, 344, 55, 108, 57, 58, 695, 111, 1405,
2761 965, 111, 967, 968, 4, 5, 971, 27, 95, 71,
2762 3, 4, 5, 6, 75, 508, 965, 57, 58, 81,
2763 3, 4, 5, 60, 7, 8, 9, 75, 726, 55,
2764 1299, 75, 94, 904, 49, 1047, 55, 111, 31, 76,
2765 911, 78, 57, 58, 63, 1047, 1348, 111, 31, 42,
2766 1015, 1068, 60, 61, 37, 55, 75, 57, 58, 930,
2767 1077, 1068, 55, 1028, 57, 58, 81, 922, 59, 924,
2768 925, 926, 60, 61, 57, 58, 1152, 108, 71, 1044,
2769 108, 505, 55, 1060, 1126, 1127, 108, 1129, 81, 1066,
2770 1067, 1056, 48, 1070, 1071, 108, 89, 1074, 8, 55,
2771 93, 465, 111, 1181, 1182, 48, 60, 531, 1184, 48,
2772 965, 65, 1077, 606, 969, 970, 971, 93, 1134, 75,
2773 65, 75, 76, 1077, 55, 1090, 60, 1092, 3, 4,
2774 5, 624, 63, 1211, 1212, 1100, 93, 93, 631, 1077,
2775 691, 1047, 693, 694, 75, 696, 4, 5, 87, 88,
2776 109, 9, 91, 92, 93, 94, 1121, 55, 1434, 109,
2777 1015, 818, 819, 820, 1077, 63, 1178, 60, 61, 1134,
2778 61, 1077, 1184, 537, 1450, 60, 540, 75, 55, 1186,
2779 55, 545, 57, 58, 59, 37, 1289, 738, 108, 1044,
2780 75, 76, 1157, 78, 558, 619, 971, 55, 65, 57,
2781 58, 1056, 1553, 65, 556, 557, 65, 571, 1553, 108,
2782 634, 575, 61, 71, 1226, 63, 1347, 1346, 1183, 1348,
2783 108, 1195, 1077, 81, 60, 61, 1302, 60, 61, 60,
2784 61, 1248, 108, 1245, 108, 1090, 1253, 1092, 108, 603,
2785 1015, 1206, 60, 61, 1650, 609, 60, 61, 1213, 742,
2786 65, 111, 1206, 951, 1206, 1557, 81, 82, 83, 84,
2787 85, 1537, 3, 4, 5, 65, 964, 65, 1206, 76,
2788 3, 4, 5, 60, 7, 3, 4, 5, 6, 108,
2789 831, 1152, 108, 1559, 3, 4, 5, 108, 1253, 108,
2790 1302, 108, 76, 76, 76, 76, 789, 108, 791, 1253,
2791 1155, 1156, 1157, 8, 9, 38, 799, 1178, 49, 14,
2792 1586, 108, 805, 1184, 42, 1253, 57, 58, 811, 4,
2793 5, 49, 55, 33, 57, 58, 1181, 1182, 1183, 57,
2794 58, 755, 37, 27, 1346, 60, 1348, 31, 57, 58,
2795 1253, 46, 1307, 1619, 1346, 63, 1348, 1253, 1348, 63,
2796 108, 1206, 63, 904, 108, 1226, 1211, 1212, 1213, 108,
2797 911, 89, 769, 111, 1640, 94, 60, 61, 1223, 1224,
2798 55, 65, 57, 58, 1339, 111, 89, 75, 48, 930,
2799 111, 108, 1347, 109, 1349, 1339, 71, 108, 111, 1557,
2800 61, 1356, 108, 108, 60, 1349, 81, 1349, 1253, 108,
2801 1365, 1339, 1356, 109, 1356, 108, 1181, 1182, 1183, 1386,
2802 1387, 1349, 1529, 1111, 65, 3, 4, 5, 1356, 7,
2803 8, 9, 65, 60, 60, 63, 108, 108, 88, 922,
2804 90, 1302, 92, 926, 93, 93, 1211, 1212, 1213, 149,
2805 150, 151, 109, 31, 93, 93, 4, 5, 109, 37,
2806 1305, 1306, 1307, 108, 1532, 1533, 108, 7, 8, 9,
2807 8, 108, 108, 108, 14, 4, 5, 55, 108, 57,
2808 58, 59, 965, 31, 108, 108, 111, 137, 971, 139,
2809 1607, 31, 111, 1460, 1339, 195, 108, 37, 33, 108,
2810 48, 1503, 108, 65, 1349, 108, 46, 55, 55, 57,
2811 58, 1356, 108, 108, 108, 1203, 48, 931, 63, 933,
2812 49, 1209, 111, 71, 108, 103, 104, 105, 57, 58,
2813 96, 108, 1015, 81, 108, 889, 63, 63, 3, 4,
2814 5, 6, 4, 5, 61, 93, 94, 1502, 61, 9,
2815 1552, 893, 81, 1508, 61, 16, 1558, 108, 1513, 1514,
2816 1515, 1044, 976, 1518, 108, 108, 1558, 1557, 93, 1513,
2817 1514, 1513, 926, 1056, 1518, 108, 1518, 42, 108, 1534,
2818 108, 93, 924, 925, 49, 1513, 1514, 49, 61, 61,
2819 1518, 65, 57, 58, 1077, 57, 58, 55, 1553, 93,
2820 111, 30, 31, 93, 33, 1560, 17, 1090, 61, 1092,
2821 55, 1152, 108, 61, 1569, 108, 1560, 102, 1560, 81,
2822 107, 1588, 108, 11, 89, 1569, 764, 1569, 57, 108,
2823 59, 61, 1560, 61, 61, 60, 65, 1178, 93, 65,
2824 1595, 1569, 1503, 1184, 108, 1333, 1334, 3, 4, 5,
2825 6, 61, 1049, 1050, 1068, 1500, 1501, 1502, 108, 3,
2826 4, 5, 6, 1508, 108, 1620, 804, 61, 1513, 1514,
2827 1515, 321, 810, 1518, 1157, 11, 1620, 11, 1620, 1076,
2828 61, 4, 5, 0, 1081, 0, 42, 1532, 1533, 0,
2829 170, 1552, 1620, 49, 2, 35, 1461, 1448, 42, 676,
2830 1183, 57, 58, 965, 94, 1660, 169, 442, 1553, 359,
2831 797, 55, 141, 57, 58, 1560, 1660, 146, 1660, 165,
2832 149, 150, 151, 1206, 1569, 81, 49, 1606, 238, 1195,
2833 1213, 139, 1660, 89, 57, 58, 1433, 1425, 1660, 1,
2834 1279, 3, 4, 5, 1158, 89, 299, 176, 951, 657,
2835 1595, 726, 1230, 182, 3, 4, 5, 1042, 81, 1447,
2836 1448, 1302, 1077, 659, 193, 194, 195, 1532, 1533, 1534,
2837 1253, 242, 1186, 797, 1250, 1620, 476, 477, 478, 917,
2838 209, 919, 3, 4, 5, 200, 48, 347, 217, 218,
2839 1132, 124, 944, 55, 606, 57, 58, 59, 60, 1349,
2840 49, 1207, 1640, 3, 4, 5, 6, 1626, 57, 58,
2841 460, 461, 1574, 1636, 1638, 1660, 1023, 1365, 468, -1,
2842 -1, 4, 5, -1, 1307, -1, 9, -1, -1, -1,
2843 259, 93, -1, -1, 1248, -1, 57, 58, 1526, -1,
2844 -1, -1, 42, -1, -1, -1, 1243, 1244, 31, 1246,
2845 1247, 501, 1249, -1, -1, 55, 1339, 57, 58, 1213,
2846 -1, 61, -1, 63, -1, -1, 1349, -1, -1, 1211,
2847 1212, 71, 55, 1356, 57, 58, -1, -1, -1, -1,
2848 -1, 81, -1, -1, 534, 535, -1, -1, 71, 89,
2849 -1, -1, 461, 93, 544, -1, -1, -1, 81, 468,
2850 -1, 330, -1, -1, -1, 4, 5, -1, -1, -1,
2851 93, 1265, 1266, 1267, 1268, -1, -1, -1, 568, -1,
2852 570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
2853 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2854 590, 591, 592, 593, 594, -1, 596, -1, -1, 48,
2855 -1, 1089, 602, 1091, -1, -1, 55, -1, 57, 58,
2856 -1, -1, 1503, 3, 4, 5, 535, -1, 3, 4,
2857 5, 6, 71, -1, 9, -1, 405, 406, 1332, 1376,
2858 1377, 631, 81, -1, 31, 3, 4, 5, 638, -1,
2859 419, -1, -1, 422, 93, 94, 31, 1339, -1, 428,
2860 429, 430, -1, 1417, -1, 434, -1, 42, -1, -1,
2861 1148, 1552, 662, 663, -1, 55, -1, 57, 58, 1502,
2862 55, -1, 57, 58, -1, 1508, -1, 596, 678, -1,
2863 1513, 1514, 1515, 602, -1, 1518, 71, -1, -1, 57,
2864 58, 59, 471, -1, -1, 474, 81, 476, 477, 478,
2865 -1, -1, 1406, 482, 89, 3, 4, 5, 93, 488,
2866 489, 490, 631, -1, 493, -1, -1, -1, 497, 638,
2867 1553, 3, 4, 5, -1, -1, 726, 1560, -1, -1,
2868 -1, 510, -1, 1480, 1481, 1482, 1569, -1, -1, 1443,
2869 -1, 3, 4, 5, 141, -1, 1234, -1, -1, 146,
2870 -1, 1239, -1, -1, -1, -1, -1, 55, 537, 57,
2871 58, 540, 1595, 3, 4, 5, 6, 3, 4, 5,
2872 -1, 7, 8, 9, -1, 57, 58, 556, 557, 558,
2873 3, 4, 5, 6, 7, 8, 9, 1620, 788, -1,
2874 -1, 14, 571, 1540, 1541, 57, 58, 194, -1, -1,
2875 3, -1, 42, 6, 1508, 1293, 806, 807, 31, 809,
2876 1514, 1515, -1, -1, 37, -1, -1, 57, 58, 42,
2877 -1, 57, 58, 46, 824, 48, -1, 1660, 31, -1,
2878 1534, -1, 55, -1, 57, 58, -1, -1, -1, 42,
2879 1532, 1533, -1, 622, 623, 624, -1, 847, 71, 89,
2880 -1, -1, 631, -1, 57, 58, -1, -1, 81, -1,
2881 -1, -1, 259, -1, 1611, -1, 89, -1, 71, -1,
2882 93, 94, 651, 3, 4, 5, -1, -1, 81, 879,
2883 880, 3, 4, 5, 884, 885, 89, -1, -1, -1,
2884 93, 1595, -1, 3, 4, 5, 6, -1, -1, 899,
2885 -1, 901, -1, 903, -1, 824, -1, 1395, 1396, -1,
2886 1614, -1, -1, 692, -1, 694, 695, -1, -1, -1,
2887 -1, 971, 3, 4, 5, 1413, -1, 57, 58, 39,
2888 40, 1635, 42, 55, -1, 57, 58, -1, -1, -1,
2889 1644, -1, 942, -1, -1, 55, -1, 57, 58, -1,
2890 -1, -1, -1, 953, -1, -1, -1, -1, -1, 738,
2891 879, 880, -1, -1, -1, 1015, 885, -1, 968, -1,
2892 -1, 750, 751, 752, 753, 754, 57, 58, -1, 758,
2893 899, 981, 901, -1, 903, 1473, 1474, 766, -1, -1,
2894 769, 79, 80, 81, 82, 83, 84, 85, 998, -1,
2895 -1, 1489, 1490, -1, -1, -1, 1, -1, 3, 4,
2896 5, 6, 7, 8, 9, 1015, 4, 5, 797, 14,
2897 -1, 9, 419, -1, -1, 422, -1, -1, -1, -1,
2898 -1, -1, -1, 28, 953, 30, 31, 434, -1, -1,
2899 -1, -1, 37, 31, -1, 824, -1, 42, 4, 5,
2900 -1, 46, 8, 9, 49, -1, -1, -1, 14, 1059,
2901 55, -1, 57, 58, -1, -1, 61, 55, -1, 57,
2902 58, -1, -1, -1, 471, -1, 71, 474, -1, 998,
2903 -1, 37, -1, 71, -1, -1, 81, -1, -1, -1,
2904 46, 488, 48, 81, 89, -1, 1015, -1, 93, 55,
2905 -1, 57, 58, -1, -1, 93, -1, -1, -1, -1,
2906 1110, 1111, -1, -1, 1114, 71, 4, 5, -1, -1,
2907 -1, 33, -1, -1, -1, 81, 905, -1, -1, 908,
2908 -1, 1181, 1182, 1183, 1134, -1, -1, 93, 94, -1,
2909 -1, 920, -1, 31, -1, 924, 925, 926, 7, 8,
2910 9, -1, -1, -1, -1, 14, -1, 4, 5, -1,
2911 48, 1211, 1212, 1213, -1, -1, -1, 55, -1, 57,
2912 58, -1, 31, -1, -1, -1, -1, -1, 37, -1,
2913 -1, -1, -1, 71, 31, 964, -1, 46, -1, -1,
2914 969, 970, 971, 81, 4, -1, -1, 1197, -1, 1199,
2915 -1, 1201, 61, -1, 14, 93, 94, -1, 55, 1209,
2916 57, 58, -1, -1, 24, -1, -1, -1, 1218, 1219,
2917 30, 31, -1, 33, 71, 35, -1, 1227, -1, -1,
2918 -1, -1, 42, -1, 81, -1, 1015, -1, 150, 151,
2919 -1, 1241, 1242, -1, -1, 55, 93, 57, -1, -1,
2920 1029, 1030, 1031, -1, -1, 65, 4, 5, -1, -1,
2921 8, 9, 72, -1, -1, -1, 14, 4, 5, 1269,
2922 1049, 1050, 9, 83, 84, -1, -1, -1, 1197, -1,
2923 1199, 402, 1201, 195, -1, -1, -1, -1, -1, 37,
2924 -1, -1, -1, -1, 31, -1, 106, 1076, 46, 1299,
2925 48, -1, 1081, -1, -1, -1, -1, 55, -1, 57,
2926 58, 48, -1, -1, -1, -1, -1, -1, 55, -1,
2927 57, 58, -1, 71, 134, -1, 136, -1, 1328, -1,
2928 140, 141, -1, 81, 71, 145, 146, -1, -1, 149,
2929 150, 151, -1, -1, 81, 93, 94, 468, -1, -1,
2930 -1, -1, -1, 750, 751, 165, 93, 94, -1, 169,
2931 -1, 758, -1, -1, -1, 175, 176, -1, 1368, 3,
2932 4, 5, 6, -1, -1, 9, 1155, 1156, 1157, -1,
2933 1299, -1, 1382, 193, 194, 195, -1, -1, -1, 4,
2934 5, -1, 7, 8, 9, -1, -1, 31, -1, 14,
2935 1179, 1180, 1181, 1182, 1183, 1405, -1, -1, 42, 1188,
2936 -1, 1461, 222, 28, 48, 30, 31, -1, 330, -1,
2937 -1, 55, 37, 57, 58, -1, -1, -1, -1, 239,
2938 -1, 46, 1211, 1212, 1213, -1, -1, 71, 248, -1,
2939 55, -1, 57, 58, 1223, 1224, 1225, 81, -1, 259,
2940 7, 8, 9, -1, -1, 89, -1, 14, -1, 93,
2941 94, 1461, -1, -1, 1243, 1244, -1, 1246, 1247, -1,
2942 1249, -1, -1, -1, 31, -1, -1, -1, 1478, 1479,
2943 37, -1, 1532, 1533, 1534, -1, -1, 297, 298, 46,
2944 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2945 -1, -1, -1, 624, 61, -1, -1, -1, -1, -1,
2946 631, -1, -1, -1, 31, -1, 1516, 429, 430, -1,
2947 37, -1, -1, -1, 1303, 1304, 1305, 1306, 1307, 46,
2948 -1, 1310, -1, 343, -1, -1, -1, 347, -1, 349,
2949 350, 351, 1461, -1, -1, -1, 1546, -1, -1, -1,
2950 360, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2951 81, 82, 83, 84, 85, 477, 478, -1, 1347, 1348,
2952 -1, -1, -1, 970, 77, 78, 79, 80, 81, 82,
2953 83, 84, 85, 393, 193, 194, -1, -1, -1, -1,
2954 -1, -1, 402, -1, 404, 405, -1, 1376, 1377, -1,
2955 -1, -1, 3, 4, 5, 6, -1, -1, 9, 419,
2956 -1, -1, 422, -1, -1, -1, -1, -1, -1, -1,
2957 -1, 742, -1, -1, 434, 537, -1, -1, 540, -1,
2958 31, -1, 442, -1, -1, -1, 1415, 1416, -1, 1418,
2959 -1, 42, -1, -1, -1, 557, 558, 48, -1, -1,
2960 1650, -1, -1, -1, 55, -1, 57, 58, -1, 571,
2961 470, 471, -1, -1, 474, -1, 476, 477, 478, 479,
2962 71, -1, -1, 483, 3, 4, 5, 6, 488, -1,
2963 81, 491, 1461, -1, 805, -1, -1, -1, 89, -1,
2964 811, -1, 93, 94, 3, 4, 5, 6, 508, -1,
2965 -1, 1480, 1481, 1482, -1, -1, -1, -1, -1, -1,
2966 -1, -1, -1, 42, -1, -1, -1, -1, -1, 631,
2967 -1, 1500, 1501, 1502, -1, -1, 55, -1, 57, 58,
2968 -1, -1, 61, 42, -1, -1, 546, 547, 548, 549,
2969 49, -1, 71, -1, -1, -1, -1, -1, 57, 58,
2970 -1, -1, 81, 1532, 1533, 1534, -1, -1, -1, -1,
2971 89, 1540, 1541, 1, 93, 3, 4, 5, 6, 7,
2972 8, 9, 81, -1, -1, -1, 14, -1, -1, -1,
2973 89, -1, 1179, 1180, -1, -1, -1, -1, -1, 27,
2974 28, 1188, 30, 31, 32, -1, 606, -1, 608, 37,
2975 -1, 922, -1, -1, 42, 926, -1, 45, 46, 47,
2976 620, 49, 622, 623, 624, -1, -1, 55, -1, 57,
2977 58, 631, -1, 61, -1, 635, -1, -1, -1, -1,
2978 -1, -1, 1611, 71, -1, -1, 3, 4, 5, 6,
2979 650, 753, 754, 81, 965, -1, -1, -1, -1, -1,
2980 971, 89, -1, -1, -1, 93, -1, -1, -1, 97,
2981 -1, -1, 471, -1, 31, 474, 676, 476, 477, -1,
2982 -1, -1, -1, 683, -1, 42, -1, -1, -1, 488,
2983 -1, 691, 692, 693, 694, 695, 696, -1, 55, -1,
2984 57, 58, -1, -1, 1015, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, 71, -1, 1303, 1304, -1, -1,
2986 -1, -1, 824, 1310, 81, -1, -1, -1, -1, -1,
2987 -1, -1, 89, 1044, -1, -1, 93, -1, 738, -1,
2988 -1, -1, 742, -1, -1, 1056, -1, -1, -1, -1,
2989 750, 751, 752, 753, 754, -1, -1, -1, 758, -1,
2990 -1, 3, 4, 5, 6, 73, 74, 75, 76, 77,
2991 78, 79, 80, 81, 82, 83, 84, 85, -1, 1090,
2992 -1, 1092, -1, -1, -1, -1, 786, 4, 5, 789,
2993 -1, 791, 9, -1, -1, -1, 796, 797, -1, 799,
2994 42, -1, -1, -1, -1, 805, 48, -1, -1, -1,
2995 -1, 811, -1, 55, 31, 57, 58, -1, 818, 819,
2996 820, -1, -1, 925, 926, -1, -1, -1, -1, 71,
2997 -1, 831, -1, -1, -1, -1, -1, -1, 55, 81,
2998 57, 58, -1, -1, -1, -1, 1157, 89, -1, -1,
2999 -1, 93, 94, 1, 71, 3, 4, 5, 6, 7,
3000 8, 9, -1, -1, 81, -1, 14, -1, -1, 971,
3001 -1, -1, 1183, -1, -1, -1, 93, -1, -1, -1,
3002 28, -1, 30, 31, 32, -1, -1, -1, -1, 37,
3003 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3004 -1, 49, 1213, -1, 904, 905, -1, 55, 908, 57,
3005 58, 911, -1, 1015, -1, -1, 916, -1, -1, -1,
3006 920, -1, 922, 71, 924, 925, 926, -1, -1, -1,
3007 930, -1, 932, 81, -1, -1, -1, -1, -1, -1,
3008 -1, 89, -1, -1, -1, 93, -1, -1, -1, 97,
3009 -1, 750, 751, 752, 753, -1, -1, -1, -1, 758,
3010 -1, -1, -1, -1, -1, 965, -1, 967, -1, 969,
3011 970, 971, 4, -1, -1, -1, -1, -1, -1, -1,
3012 -1, -1, 14, -1, -1, -1, -1, -1, 622, 623,
3013 -1, 23, 24, -1, -1, -1, 1307, -1, 30, 31,
3014 -1, 33, -1, 35, -1, -1, -1, -1, -1, -1,
3015 42, -1, -1, -1, -1, 1015, -1, 4, 5, -1,
3016 -1, 8, 9, 55, -1, 57, -1, 14, 1028, 1029,
3017 1030, 1031, -1, 65, 3, 4, 5, 6, -1, -1,
3018 72, 28, -1, 30, 1044, -1, -1, 1047, -1, -1,
3019 37, -1, 84, -1, 1156, 1157, 1056, -1, -1, 46,
3020 -1, 48, 31, -1, -1, -1, -1, -1, 55, 1069,
3021 57, 58, -1, 42, -1, -1, -1, 1077, -1, 48,
3022 1182, 1183, -1, -1, 71, -1, 55, -1, 57, 58,
3023 1090, -1, 1092, -1, 81, -1, -1, -1, -1, -1,
3024 1100, -1, 71, -1, 136, -1, 93, 94, 140, 141,
3025 1212, 1213, 81, -1, 146, -1, -1, 149, 150, 151,
3026 89, 1121, -1, -1, 93, 94, 1126, 1127, -1, 1129,
3027 -1, -1, -1, 165, -1, -1, -1, 169, -1, -1,
3028 -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
3029 -1, -1, 1152, -1, -1, 1155, 1156, 1157, -1, -1,
3030 -1, 193, 194, 195, -1, -1, -1, -1, -1, -1,
3031 969, 970, -1, -1, -1, -1, -1, -1, 1178, 1179,
3032 1180, 1181, 1182, 1183, 1184, -1, -1, -1, 1188, -1,
3033 222, 1502, -1, -1, 3, 4, 5, 6, -1, -1,
3034 9, -1, -1, -1, 1306, 1307, -1, -1, -1, -1,
3035 -1, 1211, 1212, 1213, -1, -1, -1, -1, -1, -1,
3036 -1, -1, 31, 1223, 1224, 1225, 1226, 259, -1, -1,
3037 1029, 1030, 1031, 42, -1, -1, -1, -1, -1, 48,
3038 -1, -1, 1553, -1, -1, 1245, 55, -1, 57, 58,
3039 1250, -1, -1, 1253, -1, -1, -1, -1, -1, -1,
3040 -1, -1, 71, -1, -1, 297, 298, -1, -1, -1,
3041 -1, 905, 81, -1, 908, -1, -1, -1, -1, -1,
3042 89, -1, -1, -1, 93, 94, 920, -1, -1, -1,
3043 924, 925, -1, -1, -1, -1, -1, -1, 3, 4,
3044 5, 6, 1302, 1303, 1304, 1305, 1306, 1307, -1, -1,
3045 1310, 343, -1, -1, -1, 347, -1, 349, 350, 351,
3046 -1, -1, -1, -1, 356, -1, 31, -1, 360, -1,
3047 -1, -1, -1, -1, -1, 969, 970, 42, 1, -1,
3048 3, 4, 5, 6, -1, 8, 1346, 1347, 1348, -1,
3049 55, -1, 57, 58, -1, -1, -1, -1, -1, 1461,
3050 -1, 393, -1, -1, -1, 1365, 71, -1, -1, -1,
3051 402, -1, 404, 405, -1, -1, 81, -1, -1, 42,
3052 1179, 1180, 1181, 1182, 89, -1, 49, 419, 93, 1188,
3053 422, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3054 -1, -1, 434, -1, -1, -1, -1, -1, -1, -1,
3055 442, -1, 1211, 1212, -1, 1415, 1416, -1, 1418, -1,
3056 -1, -1, -1, -1, 1223, 1224, 89, -1, -1, -1,
3057 -1, 1533, 1534, -1, -1, -1, -1, -1, 470, 471,
3058 -1, -1, 474, -1, 476, 477, 478, 479, -1, -1,
3059 -1, 483, -1, -1, -1, -1, 488, -1, -1, 491,
3060 -1, 1461, 74, 75, 76, 77, 78, 79, 80, 81,
3061 82, 83, 84, 85, -1, 507, 508, -1, -1, -1,
3062 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
3063 4, 5, 6, -1, -1, -1, -1, -1, -1, -1,
3064 1500, 1501, 1502, 1503, 1303, 1304, 1305, 1306, -1, -1,
3065 -1, 1310, -1, -1, 546, 547, 548, 549, -1, -1,
3066 -1, 1155, 1156, -1, -1, -1, -1, -1, 42, -1,
3067 -1, -1, 1532, 1533, 1534, -1, -1, -1, -1, -1,
3068 -1, 55, -1, 57, 58, 1179, 1180, 1181, 1182, 63,
3069 -1, -1, 1552, 1553, 1188, -1, -1, 71, 1558, 3,
3070 4, 5, 6, 7, 8, 9, -1, 81, -1, -1,
3071 14, -1, -1, -1, 606, 89, 608, 1211, 1212, 93,
3072 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3073 622, 623, 624, 37, -1, -1, -1, -1, 42, 631,
3074 -1, -1, 46, -1, -1, 49, -1, -1, -1, -1,
3075 -1, 55, 644, 57, 58, -1, 1415, 1416, 650, 1418,
3076 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3077 -1, -1, -1, -1, -1, -1, -1, 81, -1, 3,
3078 4, 5, 6, -1, 676, 89, 4, 5, -1, 93,
3079 -1, 9, 684, 97, -1, -1, -1, -1, -1, 691,
3080 692, 693, 694, 695, 696, -1, -1, 31, -1, 1303,
3081 1304, 1305, 1306, 31, -1, -1, 1310, -1, 42, -1,
3082 -1, -1, -1, -1, 48, -1, -1, 719, -1, -1,
3083 48, 55, -1, 57, 58, -1, -1, 55, -1, 57,
3084 58, 1500, 1501, -1, -1, -1, 738, 71, -1, -1,
3085 742, -1, -1, 71, -1, -1, -1, 81, 750, 751,
3086 752, 753, 754, 81, -1, 89, 758, -1, -1, 93,
3087 94, -1, -1, 1532, 1533, 93, 94, -1, -1, -1,
3088 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3089 -1, -1, 9, -1, 786, -1, -1, 789, -1, 791,
3090 -1, -1, -1, -1, 796, 797, -1, 799, -1, -1,
3091 -1, -1, -1, 805, 31, -1, -1, -1, -1, 811,
3092 -1, 1415, 1416, -1, 1418, 42, 818, 819, 820, 1,
3093 -1, 3, 4, 5, 6, 7, 8, 9, 55, 831,
3094 57, 58, 14, -1, -1, -1, -1, -1, -1, 3,
3095 4, 5, 6, -1, 71, -1, 28, -1, 30, 31,
3096 32, -1, -1, -1, 81, 37, 38, -1, -1, -1,
3097 42, -1, 89, -1, 46, 47, 93, 49, -1, -1,
3098 -1, -1, -1, 55, -1, 57, 58, -1, 42, 61,
3099 -1, 63, -1, -1, -1, 49, -1, -1, -1, 71,
3100 -1, -1, -1, 57, 58, -1, 1500, 1501, -1, 81,
3101 -1, -1, 904, 905, -1, -1, 908, 89, -1, 911,
3102 -1, 93, -1, -1, 916, -1, -1, 81, 920, -1,
3103 922, -1, 924, 925, 926, 89, -1, 109, 930, -1,
3104 932, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3105 9, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3106 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3107 -1, -1, 31, 965, -1, 967, -1, 969, 970, 971,
3108 4, -1, -1, 42, -1, -1, -1, -1, -1, 48,
3109 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3110 -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
3111 -1, 35, 71, -1, -1, -1, 4, 5, 42, 7,
3112 8, 9, 81, 1015, 12, -1, 14, -1, -1, -1,
3113 89, 55, -1, 57, 93, 94, 1028, 1029, 1030, 1031,
3114 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3115 1042, -1, 1044, -1, -1, 1047, 80, -1, 46, -1,
3116 48, -1, -1, -1, 1056, -1, -1, 55, -1, 57,
3117 58, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3118 -1, -1, 9, 71, -1, 1077, -1, -1, -1, -1,
3119 -1, -1, -1, 81, 3, 4, 5, 6, 1090, -1,
3120 1092, -1, -1, -1, 31, 93, 94, -1, 1100, 133,
3121 134, -1, 136, -1, -1, -1, 140, 141, -1, -1,
3122 144, 48, 146, -1, 4, 149, 150, 151, 55, 1121,
3123 57, 58, 156, 42, 1126, 1127, -1, 1129, -1, -1,
3124 49, 165, -1, -1, 71, 169, -1, -1, 57, 58,
3125 -1, 175, 176, -1, 81, 35, -1, -1, -1, -1,
3126 1152, -1, 42, 1155, 1156, 1157, 93, 94, -1, 193,
3127 194, 195, 81, -1, -1, 55, -1, 57, -1, 203,
3128 89, -1, -1, -1, -1, -1, 1178, 1179, 1180, 1181,
3129 1182, 1183, 1184, -1, -1, -1, 1188, -1, 222, -1,
3130 -1, -1, -1, 1195, 71, 72, 73, 74, 75, 76,
3131 77, 78, 79, 80, 81, 82, 83, 84, 85, 1211,
3132 1212, 1213, -1, -1, -1, -1, -1, -1, -1, -1,
3133 -1, 1223, 1224, 1225, 1226, 259, -1, -1, 1230, 3,
3134 4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
3135 14, -1, -1, 1245, -1, -1, 136, 82, 1250, -1,
3136 140, 1253, -1, -1, 28, -1, 30, 31, -1, -1,
3137 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3138 -1, -1, 46, -1, 48, 165, -1, -1, -1, 169,
3139 -1, 55, -1, 57, 58, 175, 176, 4, 5, -1,
3140 -1, -1, 9, -1, -1, -1, 330, 71, -1, -1,
3141 1302, 1303, 1304, 1305, 1306, 1307, -1, 81, 1310, -1,
3142 -1, -1, -1, 347, 31, 89, -1, -1, -1, 93,
3143 94, 355, -1, -1, 159, -1, 360, -1, -1, -1,
3144 -1, 48, 222, 1335, -1, -1, -1, -1, 55, -1,
3145 57, 58, -1, -1, 1346, 1347, 1348, -1, -1, -1,
3146 -1, -1, -1, -1, 71, -1, 191, -1, -1, 393,
3147 -1, -1, -1, 1365, 81, -1, -1, -1, -1, 204,
3148 404, -1, -1, -1, -1, -1, 93, 94, 3, 4,
3149 5, 6, 7, 8, 9, 419, -1, 12, 422, 14,
3150 -1, -1, -1, -1, 428, 429, 430, -1, -1, -1,
3151 434, -1, -1, 28, -1, 30, 31, -1, 442, -1,
3152 -1, -1, 37, 1415, 1416, -1, 1418, 42, -1, -1,
3153 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3154 55, -1, 57, 58, -1, -1, 470, 471, -1, -1,
3155 474, -1, 476, 477, 478, 479, 71, -1, -1, 483,
3156 -1, -1, -1, -1, 488, -1, 81, 491, -1, 1461,
3157 -1, -1, 4, 5, 89, 7, 8, 9, 93, 94,
3158 360, -1, 14, -1, 508, -1, -1, -1, -1, -1,
3159 -1, 3, 4, 5, 6, -1, 28, 9, 30, 31,
3160 -1, -1, -1, -1, -1, 37, -1, -1, 1500, 1501,
3161 1502, 1503, -1, 537, 46, -1, 540, 49, -1, 31,
3162 -1, -1, -1, 55, 404, 57, 58, -1, -1, -1,
3163 42, -1, 556, 557, 558, -1, 48, -1, -1, -1,
3164 1532, 1533, 1534, 55, -1, 57, 58, 571, -1, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3166 1552, 1553, 442, -1, -1, -1, 1558, -1, -1, 81,
3167 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3168 -1, 93, 94, -1, -1, 3, 4, 5, 6, -1,
3169 470, 9, -1, -1, -1, 619, -1, -1, -1, -1,
3170 -1, -1, -1, 483, -1, -1, -1, 631, -1, -1,
3171 -1, 491, -1, 31, -1, -1, -1, -1, -1, -1,
3172 -1, -1, -1, -1, 42, -1, 650, -1, 508, -1,
3173 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3174 58, -1, -1, -1, -1, 3, 4, 5, 6, -1,
3175 -1, -1, 676, 71, -1, -1, 481, -1, -1, 683,
3176 -1, 486, -1, 81, -1, -1, -1, 691, 692, 693,
3177 694, 89, -1, 31, -1, 93, 94, -1, -1, -1,
3178 -1, -1, -1, -1, 42, -1, 511, -1, -1, -1,
3179 48, -1, 517, -1, -1, -1, -1, 55, -1, 57,
3180 58, -1, -1, -1, 529, 530, -1, 532, -1, -1,
3181 -1, -1, -1, 71, 738, 4, 5, -1, 742, 8,
3182 9, -1, -1, 81, -1, 14, 750, 751, 752, 753,
3183 754, 89, -1, -1, 758, 93, 94, -1, -1, 28,
3184 -1, 30, -1, -1, -1, -1, -1, -1, 37, -1,
3185 -1, -1, -1, -1, -1, -1, -1, 46, -1, -1,
3186 -1, -1, -1, -1, -1, 789, 55, 791, 57, 58,
3187 650, -1, 796, 797, -1, 799, -1, -1, -1, -1,
3188 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3189 4, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3190 824, -1, 627, 628, 93, -1, 28, 632, 30, 31,
3191 -1, 691, 692, 693, 694, 37, 30, 31, -1, 33,
3192 42, 35, -1, -1, 46, -1, 48, -1, 42, -1,
3193 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3194 -1, 55, -1, 57, -1, -1, -1, -1, -1, 71,
3195 -1, -1, -1, -1, -1, -1, -1, -1, 738, 81,
3196 -1, -1, 742, -1, -1, -1, -1, 89, -1, -1,
3197 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3198 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3199 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
3200 924, 925, 926, -1, -1, -1, 930, 931, -1, 789,
3201 -1, 791, -1, -1, 31, -1, 796, 797, -1, 799,
3202 -1, -1, 136, -1, -1, 42, 140, 141, -1, -1,
3203 -1, 756, 146, -1, -1, 149, 150, 151, 55, -1,
3204 57, 58, -1, -1, -1, 969, 970, 971, -1, -1,
3205 -1, 165, 976, -1, 71, 169, -1, -1, -1, -1,
3206 -1, 175, 176, -1, 81, -1, -1, -1, -1, -1,
3207 -1, -1, 89, -1, -1, -1, 93, -1, -1, 193,
3208 194, 195, -1, -1, -1, -1, -1, 812, -1, 814,
3209 -1, 1015, 70, 71, 72, 73, 74, 75, 76, 77,
3210 78, 79, 80, 81, 82, 83, 84, 85, 222, -1,
3211 -1, -1, 1, -1, -1, 4, 5, -1, -1, 8,
3212 9, -1, -1, 1047, -1, 14, -1, -1, -1, -1,
3213 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3214 -1, 30, -1, -1, 1068, 259, -1, -1, 37, -1,
3215 39, 40, -1, 1077, -1, -1, -1, 46, -1, 48,
3216 -1, -1, 887, 888, -1, 890, 55, -1, 57, 58,
3217 -1, 60, -1, -1, -1, 64, 65, 66, 67, 68,
3218 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3219 79, 80, 81, 82, 83, 84, 921, -1, 87, 88,
3220 89, -1, 91, -1, -1, 94, -1, -1, -1, -1,
3221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3222 -1, 110, -1, -1, 3, 4, 5, 6, 1152, -1,
3223 9, 1155, 1156, 1157, 1158, -1, -1, -1, -1, -1,
3224 -1, -1, 356, -1, -1, -1, 360, -1, 973, -1,
3225 -1, -1, 31, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3226 1184, -1, 1186, 42, 1188, -1, -1, 1047, -1, -1,
3227 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3228 3, 4, 5, 6, -1, 33, -1, 1211, 1212, 1213,
3229 404, -1, 71, -1, -1, -1, -1, 1077, 4, 5,
3230 -1, -1, 81, 9, -1, 419, -1, 55, 422, -1,
3231 89, -1, -1, -1, 93, -1, -1, -1, 1043, 42,
3232 434, 1245, -1, -1, -1, 31, 1250, -1, 442, 1253,
3233 1055, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3234 63, -1, 48, -1, -1, -1, -1, -1, 71, 55,
3235 -1, 57, 58, -1, -1, -1, 470, 471, 81, -1,
3236 474, -1, 476, 477, 478, 71, 89, -1, -1, 483,
3237 93, -1, -1, -1, 488, 81, -1, 491, 1302, 1303,
3238 1304, 1305, 1306, 1307, -1, -1, 1310, 93, 94, -1,
3239 -1, -1, -1, -1, 508, -1, -1, -1, 1178, -1,
3240 -1, 149, 150, 151, -1, -1, -1, 1, -1, 3,
3241 4, 5, 6, 7, 8, 9, -1, -1, 1143, -1,
3242 14, -1, 1346, 1347, 1348, -1, -1, 175, -1, -1,
3243 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3244 -1, -1, -1, 37, 38, 193, 194, 195, 42, -1,
3245 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3246 -1, 55, 1187, 57, 58, 1245, -1, 61, -1, 63,
3247 1250, -1, -1, 1253, 222, -1, -1, 71, -1, -1,
3248 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3249 -1, -1, -1, -1, -1, 89, -1, -1, -1, 93,
3250 -1, -1, -1, -1, -1, -1, 620, -1, -1, -1,
3251 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1,
3252 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3253 1255, -1, 14, -1, 1259, -1, 650, 1461, -1, -1,
3254 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3255 298, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3256 42, -1, -1, -1, 46, -1, 1346, 1347, 1348, -1,
3257 1295, -1, -1, 55, -1, 57, 58, 691, 692, 693,
3258 694, 63, -1, 1308, -1, -1, -1, -1, -1, 71,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3260 -1, 349, 350, 351, -1, -1, -1, 89, 1532, 1533,
3261 1534, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, 738, 4, 5, -1, 742, 8,
3263 9, -1, -1, -1, 1558, 14, 750, 751, -1, -1,
3264 -1, -1, -1, -1, 758, -1, 1371, -1, -1, 28,
3265 1375, 30, -1, -1, -1, -1, 404, 1, 37, 3,
3266 4, 5, 6, 7, 8, 9, -1, 46, -1, -1,
3267 14, -1, 1397, 1398, -1, 789, 55, 791, 57, 58,
3268 -1, -1, 796, 797, 28, 799, 30, 31, 32, -1,
3269 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3270 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3271 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3272 -1, -1, 470, 471, -1, -1, 474, 71, 476, 477,
3273 478, 479, -1, -1, -1, 483, -1, 81, -1, -1,
3274 488, -1, -1, 491, -1, 89, -1, -1, -1, 93,
3275 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3276 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, -1, 1558, -1,
3278 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3279 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3280 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3281 57, 58, 59, -1, -1, 62, -1, -1, 932, -1,
3282 55, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3283 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3284 87, 88, 89, -1, -1, 80, 93, 94, 83, -1,
3285 -1, -1, -1, -1, -1, 969, 970, 971, -1, -1,
3286 608, -1, -1, 110, -1, -1, -1, -1, -1, 104,
3287 -1, 106, -1, -1, 622, 623, 624, 4, 5, -1,
3288 -1, -1, 9, 631, 3, 4, 5, 6, 7, 8,
3289 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3290 -1, 1015, 650, -1, 31, -1, -1, -1, -1, 28,
3291 -1, 30, 31, -1, -1, -1, -1, -1, 37, -1,
3292 -1, 48, -1, 42, -1, -1, -1, 46, 55, 48,
3293 57, 58, -1, 1047, -1, -1, 55, -1, 57, 58,
3294 175, -1, -1, 691, 71, 693, 694, -1, 696, -1,
3295 -1, -1, 71, -1, 81, -1, -1, -1, 193, 194,
3296 195, -1, 81, 1077, -1, -1, 93, 94, 203, -1,
3297 89, -1, -1, -1, 93, 94, -1, -1, -1, -1,
3298 -1, -1, -1, -1, -1, -1, -1, 222, -1, -1,
3299 738, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3300 -1, -1, 750, 751, 752, 753, 754, 4, 5, -1,
3301 758, 8, 9, 248, 349, 350, 351, 14, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
3303 -1, 28, -1, 30, -1, -1, -1, -1, -1, -1,
3304 37, -1, -1, -1, -1, -1, -1, -1, 796, 46,
3305 -1, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3306 57, 58, 14, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3307 818, 819, 820, -1, 1188, -1, -1, -1, -1, 31,
3308 -1, -1, -1, 831, -1, 37, -1, -1, -1, -1,
3309 42, -1, -1, -1, 46, -1, 48, 1211, 1212, 1213,
3310 -1, -1, -1, 55, -1, 57, 58, 3, 4, 5,
3311 6, -1, -1, 9, -1, -1, -1, -1, -1, 71,
3312 355, 356, -1, -1, -1, -1, -1, -1, -1, 81,
3313 -1, 1245, -1, -1, -1, 31, 1250, 89, -1, 1253,
3314 -1, 93, 94, -1, -1, -1, 42, -1, -1, -1,
3315 -1, -1, -1, -1, -1, -1, 904, 905, -1, 55,
3316 908, 57, 58, 911, -1, -1, -1, -1, -1, 404,
3317 -1, -1, 920, -1, -1, 71, 924, 925, 926, -1,
3318 -1, -1, 930, -1, -1, 81, -1, -1, -1, 1303,
3319 1304, -1, -1, 89, -1, -1, 1310, 93, -1, -1,
3320 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3321 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3322 -1, 969, 970, 971, -1, -1, -1, -1, -1, -1,
3323 -1, -1, 1346, 1347, 1348, 470, 471, -1, -1, 474,
3324 -1, 476, 477, 478, 479, -1, 42, -1, 483, -1,
3325 -1, -1, -1, 488, -1, -1, 491, -1, -1, 55,
3326 -1, 57, 58, -1, -1, 61, -1, 1015, -1, -1,
3327 -1, -1, -1, -1, -1, 71, 107, 108, -1, -1,
3328 -1, 1029, 1030, 1031, -1, 81, -1, 622, 623, 624,
3329 -1, -1, -1, 89, -1, -1, 631, 93, -1, 1047,
3330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3331 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3332 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3333 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3334 31, -1, -1, -1, -1, -1, 37, 1461, -1, -1,
3335 -1, 42, -1, -1, -1, 46, 691, -1, 693, 694,
3336 -1, 696, -1, -1, 55, -1, 57, 58, -1, -1,
3337 61, -1, -1, -1, -1, -1, -1, -1, 1126, 1127,
3338 71, 1129, -1, -1, -1, -1, -1, -1, -1, -1,
3339 81, -1, -1, -1, -1, -1, -1, -1, 89, 634,
3340 635, -1, 93, 738, 1152, -1, -1, 1155, 1156, 1157,
3341 -1, -1, -1, -1, -1, 650, -1, -1, 1532, 1533,
3342 1534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3343 1178, 1179, 1180, 1181, 1182, 1183, 1184, -1, -1, -1,
3344 1188, -1, -1, -1, 1558, -1, 3, 4, 5, 6,
3345 7, 8, 9, -1, -1, 12, 691, 14, 693, 694,
3346 -1, -1, -1, 1211, 1212, 1213, -1, -1, -1, -1,
3347 -1, 28, -1, 30, 31, 1223, 1224, 1225, 1226, -1,
3348 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3349 -1, -1, -1, -1, -1, -1, 831, 1245, 55, 330,
3350 57, 58, -1, 738, -1, -1, -1, -1, -1, -1,
3351 -1, -1, -1, -1, 71, 750, 751, 752, 753, 754,
3352 755, -1, -1, 758, 81, -1, -1, -1, -1, -1,
3353 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3354 -1, -1, -1, -1, -1, -1, -1, -1, 783, -1,
3355 -1, -1, -1, -1, 1302, 1303, 1304, 1305, 1306, 1307,
3356 -1, 796, 1310, -1, -1, -1, -1, -1, -1, 904,
3357 905, 402, -1, 908, -1, -1, 911, -1, -1, -1,
3358 -1, -1, -1, -1, -1, 920, -1, -1, -1, 924,
3359 925, 926, -1, -1, -1, 930, -1, -1, 1346, -1,
3360 1348, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3361 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
3362 -1, 3, 4, 5, 6, -1, -1, 9, -1, 28,
3363 -1, 30, 31, 32, 969, 970, 971, 468, 37, 38,
3364 -1, -1, -1, 42, -1, -1, -1, 46, 47, 31,
3365 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3366 42, -1, 61, -1, 63, -1, -1, 1415, 1416, -1,
3367 1418, -1, 71, 55, -1, 57, 58, -1, -1, -1,
3368 1015, -1, 81, -1, -1, -1, -1, -1, -1, 71,
3369 89, -1, -1, -1, 93, -1, 931, 932, 933, 81,
3370 -1, -1, -1, -1, -1, -1, 537, 89, -1, 540,
3371 109, 93, -1, 1461, 545, 546, 547, 548, 549, 3,
3372 4, 5, 6, -1, -1, 9, -1, 558, -1, -1,
3373 -1, -1, -1, -1, 969, 970, 971, -1, -1, -1,
3374 571, 976, -1, -1, -1, -1, -1, 31, -1, -1,
3375 -1, -1, 1500, 1501, 1502, 1503, -1, -1, 42, -1,
3376 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
3377 9, 55, -1, 57, 58, 14, -1, -1, -1, -1,
3378 1015, -1, -1, -1, 1532, 1533, 1534, 71, -1, 28,
3379 -1, 30, 31, 624, 1029, 1030, 1031, 81, 37, -1,
3380 631, -1, -1, 42, 1552, 89, -1, 46, -1, 93,
3381 1558, -1, 1047, -1, -1, -1, 55, 1152, 57, 58,
3382 1155, 1156, 1157, -1, -1, -1, -1, -1, -1, -1,
3383 -1, -1, 71, 1068, -1, -1, 3, 4, 5, 6,
3384 -1, -1, 81, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3385 89, -1, -1, 1188, 93, -1, -1, -1, -1, -1,
3386 -1, -1, -1, -1, 31, -1, -1, -1, -1, -1,
3387 -1, -1, -1, -1, -1, 42, 1211, 1212, 1213, 4,
3388 5, -1, 7, 8, 9, -1, -1, 12, 55, 14,
3389 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3390 -1, -1, -1, 28, 71, 30, 31, -1, 14, -1,
3391 -1, 742, 37, -1, 81, -1, -1, 23, 24, -1,
3392 -1, 46, 89, 1158, 30, 31, 93, 33, -1, -1,
3393 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3394 -1, -1, -1, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3395 -1, 1186, -1, 1188, -1, -1, -1, -1, -1, 65,
3396 -1, -1, -1, -1, -1, -1, -1, 1302, 1303, 1304,
3397 1305, 1306, 1307, -1, 805, 1310, 1211, 1212, 1213, -1,
3398 811, -1, -1, -1, -1, -1, -1, -1, 1223, 1224,
3399 1225, 1226, -1, -1, -1, -1, -1, -1, 3, 4,
3400 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3401 1245, -1, -1, -1, -1, -1, -1, -1, 124, -1,
3402 126, -1, -1, 28, -1, 30, 31, 133, 134, -1,
3403 -1, -1, 37, -1, 140, 141, -1, 42, 144, 145,
3404 146, 46, 148, 149, 150, 151, -1, -1, -1, 880,
3405 55, -1, 57, 58, -1, -1, 61, -1, -1, -1,
3406 -1, -1, -1, -1, -1, -1, 71, 1302, 1303, 1304,
3407 1305, 1306, 1307, -1, -1, 1310, 81, -1, -1, -1,
3408 1415, 1416, -1, 1418, 89, 916, -1, -1, 93, -1,
3409 -1, 922, -1, -1, -1, 926, -1, -1, -1, -1,
3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3411 -1, 1346, -1, 1348, -1, 1, -1, 3, 4, 5,
3412 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
3413 -1, -1, 238, 239, 965, -1, 967, -1, -1, -1,
3414 971, -1, 28, -1, 30, 31, 32, -1, -1, -1,
3415 -1, 37, 38, 259, -1, -1, 42, -1, -1, -1,
3416 46, 47, -1, 49, -1, 1500, 1501, 1502, 1503, 55,
3417 -1, 57, 58, -1, -1, 61, -1, 63, -1, -1,
3418 1415, 1416, 1417, 1418, 1015, 71, -1, -1, -1, -1,
3419 -1, -1, 298, -1, -1, 81, -1, 1028, -1, -1,
3420 -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
3421 -1, -1, -1, 1044, -1, -1, -1, 1552, -1, -1,
3422 -1, -1, -1, 109, -1, 1056, 1461, -1, -1, -1,
3423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3424 -1, 347, -1, 349, 350, -1, -1, -1, -1, -1,
3425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090,
3426 -1, 1092, -1, -1, -1, 1500, 1501, 1502, 1503, 1100,
3427 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3428 8, 9, -1, -1, -1, -1, 14, 393, -1, -1,
3429 1121, -1, -1, -1, -1, -1, -1, 1532, 1533, 1534,
3430 28, -1, 30, 31, -1, -1, 412, -1, -1, 37,
3431 -1, -1, -1, 419, 42, -1, 422, 1552, 46, -1,
3432 -1, -1, -1, 1558, -1, -1, 1157, 55, 434, 57,
3433 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3434 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3435 -1, -1, 1183, 81, -1, -1, -1, -1, -1, -1,
3436 -1, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3437 7, 8, 9, -1, -1, 12, -1, 14, -1, -1,
3438 -1, -1, 1213, -1, -1, -1, -1, -1, 25, -1,
3439 27, -1, -1, -1, 31, -1, -1, -1, -1, 505,
3440 37, 507, -1, -1, -1, 42, -1, -1, -1, 46,
3441 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3442 57, 58, 59, 60, 61, 531, 63, 64, 65, 66,
3443 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3444 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3445 87, 88, 89, -1, 91, 92, 93, 94, 95, -1,
3446 -1, -1, -1, -1, 101, 102, -1, -1, -1, -1,
3447 107, 108, 109, -1, 111, -1, 1307, -1, -1, -1,
3448 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3449 -1, -1, 14, -1, -1, -1, -1, -1, 3, 4,
3450 5, 6, 608, -1, -1, -1, -1, -1, -1, 31,
3451 -1, -1, -1, 619, 620, 37, 622, 623, -1, -1,
3452 42, -1, -1, -1, 46, -1, 48, -1, -1, -1,
3453 -1, -1, -1, 55, 1365, 57, 58, 42, -1, -1,
3454 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3455 55, -1, 57, 58, -1, -1, -1, 31, 63, 81,
3456 -1, -1, -1, -1, -1, -1, 71, 89, -1, -1,
3457 676, 93, -1, -1, -1, -1, 81, 683, 684, -1,
3458 -1, -1, -1, -1, 89, -1, -1, -1, 93, 695,
3459 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3460 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3461 84, 85, 1, 719, 3, 4, 5, 6, 7, 8,
3462 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3463 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3464 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3465 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3466 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3467 59, 1502, 61, 62, -1, -1, -1, 783, -1, 68,
3468 786, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3469 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3470 89, -1, -1, 1534, 93, -1, 95, -1, -1, -1,
3471 -1, -1, 818, 819, 820, -1, -1, -1, -1, -1,
3472 109, 110, 1553, -1, -1, 831, -1, -1, -1, -1,
3473 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3474 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3475 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3476 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3477 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3478 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3479 58, 59, -1, 61, 62, -1, -1, -1, 904, 905,
3480 68, -1, 908, 71, -1, 911, -1, -1, -1, -1,
3481 -1, 79, 80, 81, 920, -1, -1, -1, -1, 87,
3482 88, 89, -1, -1, 930, 93, 1, 95, 3, 4,
3483 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3484 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3485 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3486 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3487 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3488 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3489 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3490 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3491 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3493 -1, -1, -1, -1, -1, 110, 1042, -1, 1, -1,
3494 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3495 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3496 -1, -1, -1, 1069, -1, 28, 29, 30, 31, 32,
3497 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3498 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3499 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3500 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3501 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3502 1126, 1127, -1, 1129, 87, 88, 89, -1, -1, -1,
3503 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3504 -1, -1, -1, -1, -1, 108, 1152, 110, -1, 1155,
3505 1156, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3506 78, 79, 80, 81, 82, 83, 84, 85, -1, 1,
3507 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3508 -1, 13, 14, -1, -1, -1, -1, -1, -1, 1195,
3509 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3510 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3511 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3512 52, 53, 54, 55, 1230, 57, 58, 59, -1, 61,
3513 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3514 -1, -1, 1248, -1, 1250, -1, -1, 79, 80, 81,
3515 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3516 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3517 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3518 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3519 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3520 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3521 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3522 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3523 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3524 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3525 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3526 -1, 8, 9, 10, 11, -1, 13, 14, 109, 110,
3527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3528 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3529 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3530 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3531 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3532 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3533 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3534 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3535 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3536 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3537 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3538 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3539 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3540 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3541 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3542 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3543 -1, 87, 88, 89, -1, -1, -1, 93, 94, 1,
3544 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3545 -1, 13, 14, -1, 110, -1, -1, -1, -1, -1,
3546 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3547 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3548 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3549 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3550 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3551 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3552 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3553 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3554 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3555 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3556 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3557 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3558 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3559 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3560 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3561 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3562 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3563 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3564 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3565 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3566 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3567 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3568 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3569 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3570 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3571 -1, -1, -1, 93, 1, -1, 3, 4, 5, 6,
3572 100, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3573 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3574 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3575 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3576 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3577 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3578 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3579 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3580 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3581 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3582 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3583 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3584 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3585 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3586 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3587 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3588 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3589 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3590 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3591 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3592 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3593 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3594 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3595 55, -1, 57, 58, -1, -1, -1, 62, 63, -1,
3596 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3597 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3598 -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
3599 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3600 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3601 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3602 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3603 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3604 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3605 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3606 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3607 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3608 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3609 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3610 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3611 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3612 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3613 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3614 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3615 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3616 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3617 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3618 -1, 13, 14, -1, -1, 108, -1, 110, -1, -1,
3619 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3620 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3621 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3622 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3623 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3624 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3625 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3626 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3627 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3628 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3629 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3630 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3631 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3632 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3633 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3634 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3635 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3636 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3637 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3638 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3639 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3640 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3641 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3642 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3643 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3644 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3645 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3646 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3647 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3648 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3649 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3650 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3651 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3652 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3653 89, -1, -1, -1, 93, -1, -1, -1, -1, -1,
3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3655 -1, 110, 111, 3, 4, 5, 6, 7, 8, 9,
3656 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3657 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3658 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3659 40, 41, 42, 43, 44, 45, 46, 47, -1, -1,
3660 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3661 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3662 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3663 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3664 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3665 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3666 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3667 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3668 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3669 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3670 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
3671 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3672 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3673 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3674 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3675 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3676 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3677 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3678 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3679 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3680 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3681 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3682 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3683 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3684 88, 89, -1, -1, -1, 93, -1, 95, -1, 3,
3685 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3686 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3687 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3688 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3689 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3690 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3691 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3692 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3693 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3694 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3695 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3696 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3697 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3698 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3699 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3700 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3701 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3702 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3703 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3704 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3706 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3707 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3708 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3709 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3710 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3711 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3712 89, -1, -1, -1, 93, 94, 3, 4, 5, 6,
3713 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3714 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3715 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3716 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3717 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3718 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3719 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3720 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3721 87, 88, 89, -1, -1, -1, 93, 94, 3, 4,
3722 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3723 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3724 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3725 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3726 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3727 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3728 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3729 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3730 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3731 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3732 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3733 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3734 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3735 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3736 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3737 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3738 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3739 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3740 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3741 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3742 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3743 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3744 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3745 52, 53, 54, 55, -1, 57, 58, -1, -1, 61,
3746 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3747 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3748 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3749 -1, 93, 3, 4, 5, 6, 7, 8, 9, 10,
3750 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3751 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3752 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3753 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3754 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3755 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3756 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3757 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3758 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3759 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3760 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3761 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3762 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3763 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3764 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3765 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3766 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3767 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3768 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3769 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3770 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3771 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3772 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3773 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3774 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3775 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3776 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3777 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3778 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3779 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3780 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3781 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3782 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3783 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3784 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3785 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3786 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3787 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3788 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3789 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3790 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3791 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3792 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3793 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3794 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3795 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3796 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3797 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3798 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3799 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3800 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3801 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3802 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3803 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3804 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3805 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3806 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3807 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3808 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3809 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3810 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3811 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3812 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3813 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3814 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3815 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3816 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3817 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3818 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3819 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3820 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3821 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3822 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3823 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3824 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3825 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3826 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3827 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3828 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3829 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3830 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3831 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3832 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3833 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3834 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3835 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3836 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3837 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3838 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3839 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3840 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3841 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3842 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3843 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3844 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3845 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3846 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3847 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3848 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3849 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3850 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3851 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3852 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3853 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3854 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3855 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3856 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3857 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3858 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3859 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3860 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3861 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3862 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3863 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3864 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3865 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3866 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3867 88, 89, -1, 4, 5, 93, 7, 8, 9, -1,
3868 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3869 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3870 31, -1, 3, 4, 5, 6, 37, -1, 9, -1,
3871 -1, -1, -1, -1, -1, 46, -1, 48, -1, 3,
3872 4, 5, 6, -1, 55, 9, 57, 58, -1, -1,
3873 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3874 71, 42, -1, -1, -1, -1, -1, 31, -1, -1,
3875 81, -1, -1, -1, 55, -1, 57, 58, 42, -1,
3876 -1, -1, 93, 94, -1, 3, 4, 5, 6, -1,
3877 71, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3878 81, -1, -1, -1, -1, -1, -1, 71, 89, -1,
3879 -1, -1, 93, 31, -1, -1, -1, 81, -1, -1,
3880 -1, -1, -1, -1, 42, 89, 4, 5, -1, 93,
3881 8, 9, 12, -1, -1, -1, 14, 55, -1, 57,
3882 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3883 28, -1, 30, 71, -1, -1, -1, -1, -1, 37,
3884 -1, -1, -1, 81, -1, -1, -1, -1, 46, -1,
3885 -1, 89, -1, -1, -1, 93, -1, 55, -1, 57,
3886 58, 59, -1, 63, 64, 65, 66, 67, 68, 69,
3887 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3888 80, 81, 82, 83, 84, 85, 4, 5, -1, 7,
3889 8, 9, -1, -1, 12, 93, 14, -1, -1, -1,
3890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3891 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3892 -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
3893 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3894 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3895 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3896 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3897 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3898 81, 82, 83, 84, 85, -1, -1, -1, 111, -1,
3899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3900 -1, -1, -1, 60, -1, -1, 107, 64, 65, 66,
3901 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3902 77, 78, 79, 80, 81, 82, 83, 84, 85, 60,
3903 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
3904 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3905 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
3906 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3907 78, 79, 80, 81, 82, 83, 84, 85, 64, 65,
3908 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3909 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3910 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3911 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
3912 84, 85
3914 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3915 #line 3 "/usr/lib/bison.simple"
3916 /* This file comes from bison-1.27. */
3918 /* Skeleton output parser for bison,
3919 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3921 This program is free software; you can redistribute it and/or modify
3922 it under the terms of the GNU General Public License as published by
3923 the Free Software Foundation; either version 2, or (at your option)
3924 any later version.
3926 This program is distributed in the hope that it will be useful,
3927 but WITHOUT ANY WARRANTY; without even the implied warranty of
3928 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3929 GNU General Public License for more details.
3931 You should have received a copy of the GNU General Public License
3932 along with this program; if not, write to the Free Software
3933 Foundation, Inc., 59 Temple Place - Suite 330,
3934 Boston, MA 02111-1307, USA. */
3936 /* As a special exception, when this file is copied by Bison into a
3937 Bison output file, you may use that output file without restriction.
3938 This special exception was added by the Free Software Foundation
3939 in version 1.24 of Bison. */
3941 /* This is the parser code that is written into each bison parser
3942 when the %semantic_parser declaration is not specified in the grammar.
3943 It was written by Richard Stallman by simplifying the hairy parser
3944 used when %semantic_parser is specified. */
3946 #ifndef YYSTACK_USE_ALLOCA
3947 #ifdef alloca
3948 #define YYSTACK_USE_ALLOCA
3949 #else /* alloca not defined */
3950 #ifdef __GNUC__
3951 #define YYSTACK_USE_ALLOCA
3952 #define alloca __builtin_alloca
3953 #else /* not GNU C. */
3954 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
3955 #define YYSTACK_USE_ALLOCA
3956 #include <alloca.h>
3957 #else /* not sparc */
3958 /* We think this test detects Watcom and Microsoft C. */
3959 /* This used to test MSDOS, but that is a bad idea
3960 since that symbol is in the user namespace. */
3961 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
3962 #if 0 /* No need for malloc.h, which pollutes the namespace;
3963 instead, just don't use alloca. */
3964 #include <malloc.h>
3965 #endif
3966 #else /* not MSDOS, or __TURBOC__ */
3967 #if defined(_AIX)
3968 /* I don't know what this was needed for, but it pollutes the namespace.
3969 So I turned it off. rms, 2 May 1997. */
3970 /* #include <malloc.h> */
3971 #pragma alloca
3972 #define YYSTACK_USE_ALLOCA
3973 #else /* not MSDOS, or __TURBOC__, or _AIX */
3974 #if 0
3975 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
3976 and on HPUX 10. Eventually we can turn this on. */
3977 #define YYSTACK_USE_ALLOCA
3978 #define alloca __builtin_alloca
3979 #endif /* __hpux */
3980 #endif
3981 #endif /* not _AIX */
3982 #endif /* not MSDOS, or __TURBOC__ */
3983 #endif /* not sparc */
3984 #endif /* not GNU C */
3985 #endif /* alloca not defined */
3986 #endif /* YYSTACK_USE_ALLOCA not defined */
3988 #ifdef YYSTACK_USE_ALLOCA
3989 #define YYSTACK_ALLOC alloca
3990 #else
3991 #define YYSTACK_ALLOC malloc
3992 #endif
3994 /* Note: there must be only one dollar sign in this file.
3995 It is replaced by the list of actions, each action
3996 as one case of the switch. */
3998 #define yyerrok (yyerrstatus = 0)
3999 #define yyclearin (yychar = YYEMPTY)
4000 #define YYEMPTY -2
4001 #define YYEOF 0
4002 #define YYACCEPT goto yyacceptlab
4003 #define YYABORT goto yyabortlab
4004 #define YYERROR goto yyerrlab1
4005 /* Like YYERROR except do call yyerror.
4006 This remains here temporarily to ease the
4007 transition to the new meaning of YYERROR, for GCC.
4008 Once GCC version 2 has supplanted version 1, this can go. */
4009 #define YYFAIL goto yyerrlab
4010 #define YYRECOVERING() (!!yyerrstatus)
4011 #define YYBACKUP(token, value) \
4012 do \
4013 if (yychar == YYEMPTY && yylen == 1) \
4014 { yychar = (token), yylval = (value); \
4015 yychar1 = YYTRANSLATE (yychar); \
4016 YYPOPSTACK; \
4017 goto yybackup; \
4019 else \
4020 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4021 while (0)
4023 #define YYTERROR 1
4024 #define YYERRCODE 256
4026 #ifndef YYPURE
4027 #define YYLEX yylex()
4028 #endif
4030 #ifdef YYPURE
4031 #ifdef YYLSP_NEEDED
4032 #ifdef YYLEX_PARAM
4033 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4034 #else
4035 #define YYLEX yylex(&yylval, &yylloc)
4036 #endif
4037 #else /* not YYLSP_NEEDED */
4038 #ifdef YYLEX_PARAM
4039 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4040 #else
4041 #define YYLEX yylex(&yylval)
4042 #endif
4043 #endif /* not YYLSP_NEEDED */
4044 #endif
4046 /* If nonreentrant, generate the variables here */
4048 #ifndef YYPURE
4050 int yychar; /* the lookahead symbol */
4051 YYSTYPE yylval; /* the semantic value of the */
4052 /* lookahead symbol */
4054 #ifdef YYLSP_NEEDED
4055 YYLTYPE yylloc; /* location data for the lookahead */
4056 /* symbol */
4057 #endif
4059 int yynerrs; /* number of parse errors so far */
4060 #endif /* not YYPURE */
4062 #if YYDEBUG != 0
4063 int yydebug; /* nonzero means print parse trace */
4064 /* Since this is uninitialized, it does not stop multiple parsers
4065 from coexisting. */
4066 #endif
4068 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4070 #ifndef YYINITDEPTH
4071 #define YYINITDEPTH 200
4072 #endif
4074 /* YYMAXDEPTH is the maximum size the stacks can grow to
4075 (effective only if the built-in stack extension method is used). */
4077 #if YYMAXDEPTH == 0
4078 #undef YYMAXDEPTH
4079 #endif
4081 #ifndef YYMAXDEPTH
4082 #define YYMAXDEPTH 10000
4083 #endif
4085 /* Define __yy_memcpy. Note that the size argument
4086 should be passed with type unsigned int, because that is what the non-GCC
4087 definitions require. With GCC, __builtin_memcpy takes an arg
4088 of type size_t, but it can handle unsigned int. */
4090 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4091 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4092 #else /* not GNU C or C++ */
4093 #ifndef __cplusplus
4095 /* This is the most reliable way to avoid incompatibilities
4096 in available built-in functions on various systems. */
4097 static void
4098 __yy_memcpy (to, from, count)
4099 char *to;
4100 char *from;
4101 unsigned int count;
4103 register char *f = from;
4104 register char *t = to;
4105 register int i = count;
4107 while (i-- > 0)
4108 *t++ = *f++;
4111 #else /* __cplusplus */
4113 /* This is the most reliable way to avoid incompatibilities
4114 in available built-in functions on various systems. */
4115 static void
4116 __yy_memcpy (char *to, char *from, unsigned int count)
4118 register char *t = to;
4119 register char *f = from;
4120 register int i = count;
4122 while (i-- > 0)
4123 *t++ = *f++;
4126 #endif
4127 #endif
4129 #line 216 "/usr/lib/bison.simple"
4131 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4132 into yyparse. The argument should have type void *.
4133 It should actually point to an object.
4134 Grammar actions can access the variable by casting it
4135 to the proper pointer type. */
4137 #ifdef YYPARSE_PARAM
4138 #ifdef __cplusplus
4139 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4140 #define YYPARSE_PARAM_DECL
4141 #else /* not __cplusplus */
4142 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4143 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4144 #endif /* not __cplusplus */
4145 #else /* not YYPARSE_PARAM */
4146 #define YYPARSE_PARAM_ARG
4147 #define YYPARSE_PARAM_DECL
4148 #endif /* not YYPARSE_PARAM */
4150 /* Prevent warning if -Wstrict-prototypes. */
4151 #ifdef __GNUC__
4152 #ifdef YYPARSE_PARAM
4153 int yyparse (void *);
4154 #else
4155 int yyparse (void);
4156 #endif
4157 #endif
4160 yyparse(YYPARSE_PARAM_ARG)
4161 YYPARSE_PARAM_DECL
4163 register int yystate;
4164 register int yyn;
4165 register short *yyssp;
4166 register YYSTYPE *yyvsp;
4167 int yyerrstatus; /* number of tokens to shift before error messages enabled */
4168 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
4170 short yyssa[YYINITDEPTH]; /* the state stack */
4171 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
4173 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
4174 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
4176 #ifdef YYLSP_NEEDED
4177 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
4178 YYLTYPE *yyls = yylsa;
4179 YYLTYPE *yylsp;
4181 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4182 #else
4183 #define YYPOPSTACK (yyvsp--, yyssp--)
4184 #endif
4186 int yystacksize = YYINITDEPTH;
4187 int yyfree_stacks = 0;
4189 #ifdef YYPURE
4190 int yychar;
4191 YYSTYPE yylval;
4192 int yynerrs;
4193 #ifdef YYLSP_NEEDED
4194 YYLTYPE yylloc;
4195 #endif
4196 #endif
4198 YYSTYPE yyval; /* the variable used to return */
4199 /* semantic values from the action */
4200 /* routines */
4202 int yylen;
4204 #if YYDEBUG != 0
4205 if (yydebug)
4206 fprintf(stderr, "Starting parse\n");
4207 #endif
4209 yystate = 0;
4210 yyerrstatus = 0;
4211 yynerrs = 0;
4212 yychar = YYEMPTY; /* Cause a token to be read. */
4214 /* Initialize stack pointers.
4215 Waste one element of value and location stack
4216 so that they stay on the same level as the state stack.
4217 The wasted elements are never initialized. */
4219 yyssp = yyss - 1;
4220 yyvsp = yyvs;
4221 #ifdef YYLSP_NEEDED
4222 yylsp = yyls;
4223 #endif
4225 /* Push a new state, which is found in yystate . */
4226 /* In all cases, when you get here, the value and location stacks
4227 have just been pushed. so pushing a state here evens the stacks. */
4228 yynewstate:
4230 *++yyssp = yystate;
4232 if (yyssp >= yyss + yystacksize - 1)
4234 /* Give user a chance to reallocate the stack */
4235 /* Use copies of these so that the &'s don't force the real ones into memory. */
4236 YYSTYPE *yyvs1 = yyvs;
4237 short *yyss1 = yyss;
4238 #ifdef YYLSP_NEEDED
4239 YYLTYPE *yyls1 = yyls;
4240 #endif
4242 /* Get the current used size of the three stacks, in elements. */
4243 int size = yyssp - yyss + 1;
4245 #ifdef yyoverflow
4246 /* Each stack pointer address is followed by the size of
4247 the data in use in that stack, in bytes. */
4248 #ifdef YYLSP_NEEDED
4249 /* This used to be a conditional around just the two extra args,
4250 but that might be undefined if yyoverflow is a macro. */
4251 yyoverflow("parser stack overflow",
4252 &yyss1, size * sizeof (*yyssp),
4253 &yyvs1, size * sizeof (*yyvsp),
4254 &yyls1, size * sizeof (*yylsp),
4255 &yystacksize);
4256 #else
4257 yyoverflow("parser stack overflow",
4258 &yyss1, size * sizeof (*yyssp),
4259 &yyvs1, size * sizeof (*yyvsp),
4260 &yystacksize);
4261 #endif
4263 yyss = yyss1; yyvs = yyvs1;
4264 #ifdef YYLSP_NEEDED
4265 yyls = yyls1;
4266 #endif
4267 #else /* no yyoverflow */
4268 /* Extend the stack our own way. */
4269 if (yystacksize >= YYMAXDEPTH)
4271 yyerror("parser stack overflow");
4272 if (yyfree_stacks)
4274 free (yyss);
4275 free (yyvs);
4276 #ifdef YYLSP_NEEDED
4277 free (yyls);
4278 #endif
4280 return 2;
4282 yystacksize *= 2;
4283 if (yystacksize > YYMAXDEPTH)
4284 yystacksize = YYMAXDEPTH;
4285 #ifndef YYSTACK_USE_ALLOCA
4286 yyfree_stacks = 1;
4287 #endif
4288 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
4289 __yy_memcpy ((char *)yyss, (char *)yyss1,
4290 size * (unsigned int) sizeof (*yyssp));
4291 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
4292 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
4293 size * (unsigned int) sizeof (*yyvsp));
4294 #ifdef YYLSP_NEEDED
4295 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
4296 __yy_memcpy ((char *)yyls, (char *)yyls1,
4297 size * (unsigned int) sizeof (*yylsp));
4298 #endif
4299 #endif /* no yyoverflow */
4301 yyssp = yyss + size - 1;
4302 yyvsp = yyvs + size - 1;
4303 #ifdef YYLSP_NEEDED
4304 yylsp = yyls + size - 1;
4305 #endif
4307 #if YYDEBUG != 0
4308 if (yydebug)
4309 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
4310 #endif
4312 if (yyssp >= yyss + yystacksize - 1)
4313 YYABORT;
4316 #if YYDEBUG != 0
4317 if (yydebug)
4318 fprintf(stderr, "Entering state %d\n", yystate);
4319 #endif
4321 goto yybackup;
4322 yybackup:
4324 /* Do appropriate processing given the current state. */
4325 /* Read a lookahead token if we need one and don't already have one. */
4326 /* yyresume: */
4328 /* First try to decide what to do without reference to lookahead token. */
4330 yyn = yypact[yystate];
4331 if (yyn == YYFLAG)
4332 goto yydefault;
4334 /* Not known => get a lookahead token if don't already have one. */
4336 /* yychar is either YYEMPTY or YYEOF
4337 or a valid token in external form. */
4339 if (yychar == YYEMPTY)
4341 #if YYDEBUG != 0
4342 if (yydebug)
4343 fprintf(stderr, "Reading a token: ");
4344 #endif
4345 yychar = YYLEX;
4348 /* Convert token to internal form (in yychar1) for indexing tables with */
4350 if (yychar <= 0) /* This means end of input. */
4352 yychar1 = 0;
4353 yychar = YYEOF; /* Don't call YYLEX any more */
4355 #if YYDEBUG != 0
4356 if (yydebug)
4357 fprintf(stderr, "Now at end of input.\n");
4358 #endif
4360 else
4362 yychar1 = YYTRANSLATE(yychar);
4364 #if YYDEBUG != 0
4365 if (yydebug)
4367 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4368 /* Give the individual parser a way to print the precise meaning
4369 of a token, for further debugging info. */
4370 #ifdef YYPRINT
4371 YYPRINT (stderr, yychar, yylval);
4372 #endif
4373 fprintf (stderr, ")\n");
4375 #endif
4378 yyn += yychar1;
4379 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4380 goto yydefault;
4382 yyn = yytable[yyn];
4384 /* yyn is what to do for this token type in this state.
4385 Negative => reduce, -yyn is rule number.
4386 Positive => shift, yyn is new state.
4387 New state is final state => don't bother to shift,
4388 just return success.
4389 0, or most negative number => error. */
4391 if (yyn < 0)
4393 if (yyn == YYFLAG)
4394 goto yyerrlab;
4395 yyn = -yyn;
4396 goto yyreduce;
4398 else if (yyn == 0)
4399 goto yyerrlab;
4401 if (yyn == YYFINAL)
4402 YYACCEPT;
4404 /* Shift the lookahead token. */
4406 #if YYDEBUG != 0
4407 if (yydebug)
4408 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4409 #endif
4411 /* Discard the token being shifted unless it is eof. */
4412 if (yychar != YYEOF)
4413 yychar = YYEMPTY;
4415 *++yyvsp = yylval;
4416 #ifdef YYLSP_NEEDED
4417 *++yylsp = yylloc;
4418 #endif
4420 /* count tokens shifted since error; after three, turn off error status. */
4421 if (yyerrstatus) yyerrstatus--;
4423 yystate = yyn;
4424 goto yynewstate;
4426 /* Do the default action for the current state. */
4427 yydefault:
4429 yyn = yydefact[yystate];
4430 if (yyn == 0)
4431 goto yyerrlab;
4433 /* Do a reduction. yyn is the number of a rule to reduce with. */
4434 yyreduce:
4435 yylen = yyr2[yyn];
4436 if (yylen > 0)
4437 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4439 #if YYDEBUG != 0
4440 if (yydebug)
4442 int i;
4444 fprintf (stderr, "Reducing via rule %d (line %d), ",
4445 yyn, yyrline[yyn]);
4447 /* Print the symbols being reduced, and their result. */
4448 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4449 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4450 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4452 #endif
4455 switch (yyn) {
4457 case 2:
4458 #line 360 "parse.y"
4459 { finish_translation_unit (); ;
4460 break;}
4461 case 3:
4462 #line 368 "parse.y"
4463 { yyval.ttype = NULL_TREE; ;
4464 break;}
4465 case 4:
4466 #line 370 "parse.y"
4467 { yyval.ttype = NULL_TREE; ;
4468 break;}
4469 case 5:
4470 #line 372 "parse.y"
4471 { yyval.ttype = NULL_TREE; ;
4472 break;}
4473 case 8:
4474 #line 381 "parse.y"
4475 { have_extern_spec = 1;
4476 used_extern_spec = 0;
4477 yyval.ttype = NULL_TREE; ;
4478 break;}
4479 case 9:
4480 #line 386 "parse.y"
4481 { have_extern_spec = 0; ;
4482 break;}
4483 case 10:
4484 #line 391 "parse.y"
4485 { yyval.itype = pedantic;
4486 pedantic = 0; ;
4487 break;}
4488 case 12:
4489 #line 400 "parse.y"
4490 { if (pending_lang_change) do_pending_lang_change(); ;
4491 break;}
4492 case 13:
4493 #line 402 "parse.y"
4494 { if (! toplevel_bindings_p ())
4495 pop_everything (); ;
4496 break;}
4497 case 14:
4498 #line 408 "parse.y"
4499 { if (pending_inlines) do_pending_inlines (); ;
4500 break;}
4501 case 15:
4502 #line 410 "parse.y"
4503 { if (pending_inlines) do_pending_inlines (); ;
4504 break;}
4505 case 16:
4506 #line 412 "parse.y"
4507 { if (pending_inlines) do_pending_inlines (); ;
4508 break;}
4509 case 17:
4510 #line 414 "parse.y"
4511 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4512 assemble_asm (yyvsp[-2].ttype); ;
4513 break;}
4514 case 18:
4515 #line 417 "parse.y"
4516 { pop_lang_context (); ;
4517 break;}
4518 case 19:
4519 #line 419 "parse.y"
4520 { if (pending_inlines) do_pending_inlines ();
4521 pop_lang_context (); ;
4522 break;}
4523 case 20:
4524 #line 422 "parse.y"
4525 { if (pending_inlines) do_pending_inlines ();
4526 pop_lang_context (); ;
4527 break;}
4528 case 21:
4529 #line 425 "parse.y"
4530 { push_namespace (yyvsp[-1].ttype); ;
4531 break;}
4532 case 22:
4533 #line 427 "parse.y"
4534 { pop_namespace (); ;
4535 break;}
4536 case 23:
4537 #line 429 "parse.y"
4538 { push_namespace (NULL_TREE); ;
4539 break;}
4540 case 24:
4541 #line 431 "parse.y"
4542 { pop_namespace (); ;
4543 break;}
4544 case 26:
4545 #line 434 "parse.y"
4546 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4547 break;}
4548 case 28:
4549 #line 437 "parse.y"
4550 { pedantic = yyvsp[-1].itype; ;
4551 break;}
4552 case 29:
4553 #line 442 "parse.y"
4554 { begin_only_namespace_names (); ;
4555 break;}
4556 case 30:
4557 #line 444 "parse.y"
4559 end_only_namespace_names ();
4560 if (lastiddecl)
4561 yyvsp[-1].ttype = lastiddecl;
4562 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4564 break;}
4565 case 31:
4566 #line 454 "parse.y"
4567 { yyval.ttype = yyvsp[0].ttype; ;
4568 break;}
4569 case 32:
4570 #line 456 "parse.y"
4571 { yyval.ttype = yyvsp[0].ttype; ;
4572 break;}
4573 case 33:
4574 #line 458 "parse.y"
4575 { yyval.ttype = yyvsp[0].ttype; ;
4576 break;}
4577 case 34:
4578 #line 463 "parse.y"
4579 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4580 break;}
4581 case 35:
4582 #line 465 "parse.y"
4583 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4584 break;}
4585 case 36:
4586 #line 467 "parse.y"
4587 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4588 break;}
4589 case 37:
4590 #line 472 "parse.y"
4591 { begin_only_namespace_names (); ;
4592 break;}
4593 case 38:
4594 #line 474 "parse.y"
4596 end_only_namespace_names ();
4597 /* If no declaration was found, the using-directive is
4598 invalid. Since that was not reported, we need the
4599 identifier for the error message. */
4600 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4601 yyvsp[-1].ttype = lastiddecl;
4602 do_using_directive (yyvsp[-1].ttype);
4604 break;}
4605 case 39:
4606 #line 487 "parse.y"
4608 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4609 yyval.ttype = lastiddecl;
4610 got_scope = yyval.ttype;
4612 break;}
4613 case 40:
4614 #line 493 "parse.y"
4616 yyval.ttype = yyvsp[-1].ttype;
4617 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4618 yyval.ttype = lastiddecl;
4619 got_scope = yyval.ttype;
4621 break;}
4622 case 43:
4623 #line 504 "parse.y"
4624 { yyval.ttype = yyvsp[0].ttype; ;
4625 break;}
4626 case 44:
4627 #line 506 "parse.y"
4628 { yyval.ttype = yyvsp[0].ttype; ;
4629 break;}
4630 case 45:
4631 #line 511 "parse.y"
4632 { push_lang_context (yyvsp[0].ttype); ;
4633 break;}
4634 case 46:
4635 #line 513 "parse.y"
4636 { if (current_lang_name != yyvsp[0].ttype)
4637 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4638 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4639 break;}
4640 case 47:
4641 #line 520 "parse.y"
4642 { begin_template_parm_list (); ;
4643 break;}
4644 case 48:
4645 #line 522 "parse.y"
4646 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4647 break;}
4648 case 49:
4649 #line 524 "parse.y"
4650 { begin_specialization();
4651 yyval.ttype = NULL_TREE; ;
4652 break;}
4653 case 50:
4654 #line 530 "parse.y"
4655 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4656 break;}
4657 case 51:
4658 #line 532 "parse.y"
4659 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4660 break;}
4661 case 52:
4662 #line 537 "parse.y"
4663 { yyval.ttype = yyvsp[0].ttype; ;
4664 break;}
4665 case 53:
4666 #line 539 "parse.y"
4667 { yyval.ttype = NULL_TREE; ;
4668 break;}
4669 case 54:
4670 #line 543 "parse.y"
4671 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4672 break;}
4673 case 55:
4674 #line 545 "parse.y"
4675 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4676 break;}
4677 case 56:
4678 #line 550 "parse.y"
4679 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4680 break;}
4681 case 57:
4682 #line 562 "parse.y"
4683 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4684 break;}
4685 case 58:
4686 #line 564 "parse.y"
4687 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4688 break;}
4689 case 59:
4690 #line 566 "parse.y"
4691 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4692 break;}
4693 case 60:
4694 #line 568 "parse.y"
4695 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4696 break;}
4697 case 61:
4698 #line 570 "parse.y"
4699 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4700 break;}
4701 case 62:
4702 #line 572 "parse.y"
4704 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4705 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4706 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4708 error ("invalid default template argument");
4709 yyvsp[0].ttype = error_mark_node;
4711 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4713 break;}
4714 case 63:
4715 #line 586 "parse.y"
4716 { finish_template_decl (yyvsp[-1].ttype); ;
4717 break;}
4718 case 64:
4719 #line 588 "parse.y"
4720 { finish_template_decl (yyvsp[-1].ttype); ;
4721 break;}
4722 case 65:
4723 #line 593 "parse.y"
4724 { if (pending_inlines) do_pending_inlines (); ;
4725 break;}
4726 case 66:
4727 #line 595 "parse.y"
4728 { if (pending_inlines) do_pending_inlines (); ;
4729 break;}
4730 case 67:
4731 #line 597 "parse.y"
4732 { if (pending_inlines) do_pending_inlines (); ;
4733 break;}
4734 case 68:
4735 #line 599 "parse.y"
4736 { if (pending_inlines) do_pending_inlines ();
4737 pop_lang_context (); ;
4738 break;}
4739 case 69:
4740 #line 602 "parse.y"
4741 { if (pending_inlines) do_pending_inlines ();
4742 pop_lang_context (); ;
4743 break;}
4744 case 70:
4745 #line 605 "parse.y"
4746 { pedantic = yyvsp[-1].itype; ;
4747 break;}
4748 case 72:
4749 #line 611 "parse.y"
4751 break;}
4752 case 73:
4753 #line 613 "parse.y"
4754 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4755 break;}
4756 case 74:
4757 #line 615 "parse.y"
4758 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4759 note_got_semicolon (yyvsp[-1].ftype.t); ;
4760 break;}
4761 case 76:
4762 #line 622 "parse.y"
4764 break;}
4765 case 77:
4766 #line 624 "parse.y"
4767 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4768 break;}
4769 case 78:
4770 #line 626 "parse.y"
4771 { pedwarn ("empty declaration"); ;
4772 break;}
4773 case 80:
4774 #line 629 "parse.y"
4776 tree t, attrs;
4777 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4778 shadow_tag (t);
4779 note_list_got_semicolon (yyvsp[-1].ftype.t);
4781 break;}
4782 case 84:
4783 #line 642 "parse.y"
4784 { yyval.itype = 0; ;
4785 break;}
4786 case 85:
4787 #line 644 "parse.y"
4788 { yyval.itype = 1; ;
4789 break;}
4790 case 91:
4791 #line 660 "parse.y"
4792 { expand_body (finish_function (lineno, (int)yyvsp[-1].itype)); ;
4793 break;}
4794 case 92:
4795 #line 662 "parse.y"
4796 { expand_body (finish_function (lineno, (int)yyvsp[0].itype)); ;
4797 break;}
4798 case 93:
4799 #line 664 "parse.y"
4801 break;}
4802 case 94:
4803 #line 669 "parse.y"
4804 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4805 break;}
4806 case 95:
4807 #line 671 "parse.y"
4808 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4809 break;}
4810 case 96:
4811 #line 673 "parse.y"
4812 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4813 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4815 break;}
4816 case 97:
4817 #line 677 "parse.y"
4818 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4819 break;}
4820 case 98:
4821 #line 679 "parse.y"
4822 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4823 break;}
4824 case 99:
4825 #line 681 "parse.y"
4826 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4827 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4829 break;}
4830 case 100:
4831 #line 685 "parse.y"
4832 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4833 break;}
4834 case 101:
4835 #line 687 "parse.y"
4836 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4837 break;}
4838 case 102:
4839 #line 689 "parse.y"
4840 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4841 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4843 break;}
4844 case 103:
4845 #line 693 "parse.y"
4846 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4847 break;}
4848 case 104:
4849 #line 695 "parse.y"
4850 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4851 break;}
4852 case 105:
4853 #line 697 "parse.y"
4854 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4855 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4857 break;}
4858 case 106:
4859 #line 704 "parse.y"
4860 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4861 YYERROR1; ;
4862 break;}
4863 case 107:
4864 #line 707 "parse.y"
4865 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4866 YYERROR1; ;
4867 break;}
4868 case 108:
4869 #line 710 "parse.y"
4870 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4871 YYERROR1; ;
4872 break;}
4873 case 109:
4874 #line 713 "parse.y"
4875 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4876 YYERROR1; ;
4877 break;}
4878 case 110:
4879 #line 716 "parse.y"
4880 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4881 YYERROR1; ;
4882 break;}
4883 case 111:
4884 #line 722 "parse.y"
4885 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4886 break;}
4887 case 112:
4888 #line 724 "parse.y"
4889 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4890 break;}
4891 case 113:
4892 #line 726 "parse.y"
4893 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4894 break;}
4895 case 114:
4896 #line 728 "parse.y"
4897 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4898 break;}
4899 case 115:
4900 #line 735 "parse.y"
4901 { tree specs, attrs;
4902 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4903 attrs = build_tree_list (attrs, NULL_TREE);
4904 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4905 rest_of_mdef:
4906 if (! yyval.ttype)
4907 YYERROR1;
4908 if (yychar == YYEMPTY)
4909 yychar = YYLEX;
4910 reinit_parse_for_method (yychar, yyval.ttype); ;
4911 break;}
4912 case 116:
4913 #line 746 "parse.y"
4914 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4915 goto rest_of_mdef; ;
4916 break;}
4917 case 117:
4918 #line 749 "parse.y"
4919 { tree specs, attrs;
4920 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4921 attrs = build_tree_list (attrs, NULL_TREE);
4922 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4923 break;}
4924 case 118:
4925 #line 754 "parse.y"
4926 { tree specs, attrs;
4927 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4928 attrs = build_tree_list (attrs, NULL_TREE);
4929 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4930 break;}
4931 case 119:
4932 #line 759 "parse.y"
4933 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4934 goto rest_of_mdef; ;
4935 break;}
4936 case 120:
4937 #line 762 "parse.y"
4938 { tree specs, attrs;
4939 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4940 attrs = build_tree_list (attrs, NULL_TREE);
4941 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4942 break;}
4943 case 121:
4944 #line 767 "parse.y"
4945 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4946 goto rest_of_mdef; ;
4947 break;}
4948 case 122:
4949 #line 773 "parse.y"
4951 if (! current_function_parms_stored)
4952 store_parm_decls ();
4953 yyval.ttype = yyvsp[0].ttype;
4955 break;}
4956 case 123:
4957 #line 782 "parse.y"
4958 { finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ;
4959 break;}
4960 case 124:
4961 #line 784 "parse.y"
4962 { finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ;
4963 break;}
4964 case 125:
4965 #line 786 "parse.y"
4966 { finish_named_return_value (yyval.ttype, NULL_TREE); ;
4967 break;}
4968 case 126:
4969 #line 791 "parse.y"
4971 if (yyvsp[0].itype == 0)
4972 error ("no base initializers given following ':'");
4973 setup_vtbl_ptr ();
4975 break;}
4976 case 127:
4977 #line 800 "parse.y"
4979 if (! current_function_parms_stored)
4980 store_parm_decls ();
4982 if (DECL_CONSTRUCTOR_P (current_function_decl))
4983 /* Make a contour for the initializer list. */
4984 do_pushlevel ();
4985 else if (current_class_type == NULL_TREE)
4986 error ("base initializers not allowed for non-member functions");
4987 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4988 error ("only constructors take base initializers");
4990 break;}
4991 case 128:
4992 #line 816 "parse.y"
4993 { yyval.itype = 0; ;
4994 break;}
4995 case 129:
4996 #line 818 "parse.y"
4997 { yyval.itype = 1; ;
4998 break;}
4999 case 132:
5000 #line 825 "parse.y"
5002 if (current_class_name)
5003 pedwarn ("anachronistic old style base class initializer");
5004 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
5006 break;}
5007 case 133:
5008 #line 831 "parse.y"
5010 if (current_class_name)
5011 pedwarn ("anachronistic old style base class initializer");
5012 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
5014 break;}
5015 case 134:
5016 #line 837 "parse.y"
5017 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5018 break;}
5019 case 135:
5020 #line 839 "parse.y"
5021 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
5022 break;}
5023 case 136:
5024 #line 841 "parse.y"
5025 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5026 break;}
5027 case 137:
5028 #line 843 "parse.y"
5029 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
5030 break;}
5031 case 138:
5032 #line 845 "parse.y"
5033 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
5034 yyvsp[-1].ttype); ;
5035 break;}
5036 case 139:
5037 #line 848 "parse.y"
5038 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
5039 void_type_node); ;
5040 break;}
5041 case 152:
5042 #line 875 "parse.y"
5043 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
5044 yyungetc (';', 1); ;
5045 break;}
5046 case 154:
5047 #line 879 "parse.y"
5048 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5049 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
5050 break;}
5051 case 156:
5052 #line 883 "parse.y"
5053 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5054 break;}
5055 case 158:
5056 #line 886 "parse.y"
5057 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5058 break;}
5059 case 160:
5060 #line 889 "parse.y"
5061 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
5062 yyungetc (';', 1); ;
5063 break;}
5064 case 162:
5065 #line 894 "parse.y"
5066 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5067 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
5068 break;}
5069 case 164:
5070 #line 898 "parse.y"
5071 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5072 break;}
5073 case 166:
5074 #line 901 "parse.y"
5075 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5076 break;}
5077 case 168:
5078 #line 906 "parse.y"
5079 { begin_explicit_instantiation(); ;
5080 break;}
5081 case 169:
5082 #line 909 "parse.y"
5083 { end_explicit_instantiation(); ;
5084 break;}
5085 case 170:
5086 #line 918 "parse.y"
5087 { yyval.ttype = yyvsp[0].ttype; ;
5088 break;}
5089 case 171:
5090 #line 921 "parse.y"
5091 { yyval.ttype = yyvsp[0].ttype; ;
5092 break;}
5093 case 174:
5094 #line 929 "parse.y"
5095 { yyval.ttype = yyvsp[0].ttype; ;
5096 break;}
5097 case 175:
5098 #line 934 "parse.y"
5099 { yyval.ttype = yyvsp[0].ttype; ;
5100 break;}
5101 case 176:
5102 #line 938 "parse.y"
5104 if (yychar == YYEMPTY)
5105 yychar = YYLEX;
5107 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
5108 yychar == SCOPE);
5110 break;}
5111 case 178:
5112 #line 949 "parse.y"
5114 /* Handle `Class<Class<Type>>' without space in the `>>' */
5115 pedwarn ("`>>' should be `> >' in template class name");
5116 yyungetc ('>', 1);
5118 break;}
5119 case 179:
5120 #line 958 "parse.y"
5121 { yyval.ttype = NULL_TREE; ;
5122 break;}
5123 case 181:
5124 #line 964 "parse.y"
5125 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5126 break;}
5127 case 182:
5128 #line 966 "parse.y"
5129 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5130 break;}
5131 case 183:
5132 #line 971 "parse.y"
5133 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
5134 break;}
5135 case 184:
5136 #line 973 "parse.y"
5137 { yyval.ttype = lastiddecl; ;
5138 break;}
5139 case 186:
5140 #line 979 "parse.y"
5141 { yyval.code = NEGATE_EXPR; ;
5142 break;}
5143 case 187:
5144 #line 981 "parse.y"
5145 { yyval.code = CONVERT_EXPR; ;
5146 break;}
5147 case 188:
5148 #line 983 "parse.y"
5149 { yyval.code = PREINCREMENT_EXPR; ;
5150 break;}
5151 case 189:
5152 #line 985 "parse.y"
5153 { yyval.code = PREDECREMENT_EXPR; ;
5154 break;}
5155 case 190:
5156 #line 987 "parse.y"
5157 { yyval.code = TRUTH_NOT_EXPR; ;
5158 break;}
5159 case 191:
5160 #line 992 "parse.y"
5161 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
5162 break;}
5163 case 193:
5164 #line 998 "parse.y"
5165 { error ("ANSI C++ forbids an empty condition for `%s'",
5166 cond_stmt_keyword);
5167 yyval.ttype = integer_zero_node; ;
5168 break;}
5169 case 194:
5170 #line 1002 "parse.y"
5171 { yyval.ttype = yyvsp[-1].ttype; ;
5172 break;}
5173 case 195:
5174 #line 1007 "parse.y"
5175 { error ("ANSI C++ forbids an empty condition for `%s'",
5176 cond_stmt_keyword);
5177 yyval.ttype = integer_zero_node; ;
5178 break;}
5179 case 196:
5180 #line 1011 "parse.y"
5181 { yyval.ttype = yyvsp[-1].ttype; ;
5182 break;}
5183 case 197:
5184 #line 1016 "parse.y"
5185 { yyval.ttype = NULL_TREE; ;
5186 break;}
5187 case 199:
5188 #line 1019 "parse.y"
5189 { yyval.ttype = NULL_TREE; ;
5190 break;}
5191 case 200:
5192 #line 1024 "parse.y"
5194 tree d;
5195 for (d = getdecls (); d; d = TREE_CHAIN (d))
5196 if (TREE_CODE (d) == TYPE_DECL) {
5197 tree s = TREE_TYPE (d);
5198 if (TREE_CODE (s) == RECORD_TYPE)
5199 cp_error ("definition of class `%T' in condition", s);
5200 else if (TREE_CODE (s) == ENUMERAL_TYPE)
5201 cp_error ("definition of enum `%T' in condition", s);
5204 current_declspecs = yyvsp[-4].ftype.t;
5205 yyvsp[0].itype = suspend_momentary ();
5206 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5207 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
5209 break;}
5210 case 201:
5211 #line 1041 "parse.y"
5213 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
5214 resume_momentary (yyvsp[-2].itype);
5215 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
5216 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
5217 cp_error ("definition of array `%#D' in condition", yyval.ttype);
5219 break;}
5220 case 207:
5221 #line 1060 "parse.y"
5222 { yyval.ttype = begin_compound_stmt (1); ;
5223 break;}
5224 case 208:
5225 #line 1062 "parse.y"
5226 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
5227 break;}
5228 case 210:
5229 #line 1069 "parse.y"
5230 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5231 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
5232 break;}
5233 case 211:
5234 #line 1072 "parse.y"
5235 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5236 build_expr_list (NULL_TREE, error_mark_node)); ;
5237 break;}
5238 case 212:
5239 #line 1075 "parse.y"
5240 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
5241 break;}
5242 case 213:
5243 #line 1077 "parse.y"
5244 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
5245 break;}
5246 case 214:
5247 #line 1082 "parse.y"
5248 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
5249 break;}
5250 case 216:
5251 #line 1088 "parse.y"
5252 { yyval.ttype = yyvsp[0].ttype; ;
5253 break;}
5254 case 217:
5255 #line 1091 "parse.y"
5256 { yyval.ttype = yyvsp[0].ttype;
5257 pedantic = yyvsp[-1].itype; ;
5258 break;}
5259 case 218:
5260 #line 1094 "parse.y"
5261 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
5262 break;}
5263 case 219:
5264 #line 1096 "parse.y"
5265 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
5266 break;}
5267 case 220:
5268 #line 1098 "parse.y"
5269 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5270 break;}
5271 case 221:
5272 #line 1100 "parse.y"
5273 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
5274 break;}
5275 case 222:
5276 #line 1103 "parse.y"
5277 { if (pedantic)
5278 pedwarn ("ANSI C++ forbids `&&'");
5279 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
5280 break;}
5281 case 223:
5282 #line 1107 "parse.y"
5283 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
5284 break;}
5285 case 224:
5286 #line 1109 "parse.y"
5287 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
5288 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
5289 break;}
5290 case 225:
5291 #line 1112 "parse.y"
5292 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
5293 break;}
5294 case 226:
5295 #line 1114 "parse.y"
5296 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
5297 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
5298 break;}
5299 case 227:
5300 #line 1120 "parse.y"
5301 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
5302 check_for_new_type ("new", yyvsp[0].ftype); ;
5303 break;}
5304 case 228:
5305 #line 1123 "parse.y"
5306 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
5307 check_for_new_type ("new", yyvsp[-1].ftype); ;
5308 break;}
5309 case 229:
5310 #line 1126 "parse.y"
5311 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5312 check_for_new_type ("new", yyvsp[0].ftype); ;
5313 break;}
5314 case 230:
5315 #line 1129 "parse.y"
5316 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5317 check_for_new_type ("new", yyvsp[-1].ftype); ;
5318 break;}
5319 case 231:
5320 #line 1142 "parse.y"
5321 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5322 NULL_TREE, yyvsp[-4].itype);
5323 check_for_new_type ("new", yyvsp[-1].ftype); ;
5324 break;}
5325 case 232:
5326 #line 1147 "parse.y"
5327 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5328 check_for_new_type ("new", yyvsp[-2].ftype); ;
5329 break;}
5330 case 233:
5331 #line 1151 "parse.y"
5332 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5333 check_for_new_type ("new", yyvsp[-1].ftype); ;
5334 break;}
5335 case 234:
5336 #line 1155 "parse.y"
5337 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5338 check_for_new_type ("new", yyvsp[-2].ftype); ;
5339 break;}
5340 case 235:
5341 #line 1159 "parse.y"
5342 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5343 break;}
5344 case 236:
5345 #line 1161 "parse.y"
5346 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5347 if (yychar == YYEMPTY)
5348 yychar = YYLEX; ;
5349 break;}
5350 case 237:
5351 #line 1165 "parse.y"
5352 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5353 if (yychar == YYEMPTY)
5354 yychar = YYLEX; ;
5355 break;}
5356 case 238:
5357 #line 1169 "parse.y"
5358 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5359 break;}
5360 case 239:
5361 #line 1171 "parse.y"
5362 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5363 break;}
5364 case 240:
5365 #line 1173 "parse.y"
5366 { yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
5367 check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
5368 break;}
5369 case 241:
5370 #line 1184 "parse.y"
5371 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5372 break;}
5373 case 242:
5374 #line 1187 "parse.y"
5375 { yyval.itype = begin_new_placement (); ;
5376 break;}
5377 case 243:
5378 #line 1191 "parse.y"
5379 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5380 break;}
5381 case 244:
5382 #line 1193 "parse.y"
5383 { cp_pedwarn ("old style placement syntax, use () instead");
5384 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5385 break;}
5386 case 245:
5387 #line 1199 "parse.y"
5388 { yyval.ttype = yyvsp[-1].ttype; ;
5389 break;}
5390 case 246:
5391 #line 1201 "parse.y"
5392 { yyval.ttype = NULL_TREE; ;
5393 break;}
5394 case 247:
5395 #line 1203 "parse.y"
5397 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5398 yyval.ttype = error_mark_node;
5400 break;}
5401 case 248:
5402 #line 1211 "parse.y"
5404 if (pedantic)
5405 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5406 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5407 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5408 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5409 else
5410 yyval.ttype = yyvsp[0].ttype;
5412 break;}
5413 case 249:
5414 #line 1225 "parse.y"
5415 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5416 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5417 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5418 break;}
5419 case 250:
5420 #line 1229 "parse.y"
5421 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5422 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5423 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5424 break;}
5425 case 252:
5426 #line 1237 "parse.y"
5427 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5428 break;}
5429 case 253:
5430 #line 1239 "parse.y"
5432 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5433 nreverse (yyvsp[-2].ttype));
5434 if (pedantic)
5435 pedwarn ("ANSI C++ forbids constructor-expressions");
5436 /* Indicate that this was a GNU C constructor expression. */
5437 TREE_HAS_CONSTRUCTOR (init) = 1;
5439 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5441 break;}
5442 case 255:
5443 #line 1255 "parse.y"
5444 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5445 break;}
5446 case 256:
5447 #line 1257 "parse.y"
5448 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5449 break;}
5450 case 257:
5451 #line 1259 "parse.y"
5452 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5453 break;}
5454 case 258:
5455 #line 1261 "parse.y"
5456 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5457 break;}
5458 case 259:
5459 #line 1263 "parse.y"
5460 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5461 break;}
5462 case 260:
5463 #line 1265 "parse.y"
5464 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5465 break;}
5466 case 261:
5467 #line 1267 "parse.y"
5468 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5469 break;}
5470 case 262:
5471 #line 1269 "parse.y"
5472 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5473 break;}
5474 case 263:
5475 #line 1271 "parse.y"
5476 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5477 break;}
5478 case 264:
5479 #line 1273 "parse.y"
5480 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5481 break;}
5482 case 265:
5483 #line 1275 "parse.y"
5484 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5485 break;}
5486 case 266:
5487 #line 1277 "parse.y"
5488 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5489 break;}
5490 case 267:
5491 #line 1279 "parse.y"
5492 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5493 break;}
5494 case 268:
5495 #line 1281 "parse.y"
5496 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5497 break;}
5498 case 269:
5499 #line 1283 "parse.y"
5500 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5501 break;}
5502 case 270:
5503 #line 1285 "parse.y"
5504 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5505 break;}
5506 case 271:
5507 #line 1287 "parse.y"
5508 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5509 break;}
5510 case 272:
5511 #line 1289 "parse.y"
5512 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5513 break;}
5514 case 273:
5515 #line 1291 "parse.y"
5516 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5517 break;}
5518 case 274:
5519 #line 1293 "parse.y"
5520 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5521 break;}
5522 case 275:
5523 #line 1295 "parse.y"
5524 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5525 if (yyval.ttype != error_mark_node)
5526 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5527 break;}
5528 case 276:
5529 #line 1299 "parse.y"
5530 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5531 break;}
5532 case 277:
5533 #line 1301 "parse.y"
5534 { yyval.ttype = build_throw (NULL_TREE); ;
5535 break;}
5536 case 278:
5537 #line 1303 "parse.y"
5538 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5539 break;}
5540 case 279:
5541 #line 1321 "parse.y"
5542 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5543 break;}
5544 case 280:
5545 #line 1323 "parse.y"
5546 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5547 break;}
5548 case 286:
5549 #line 1332 "parse.y"
5551 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5552 means that we're in an expression like S::f<int>, so
5553 don't do_identifier; we only do that for unqualified
5554 identifiers. */
5555 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5556 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5557 else
5558 yyval.ttype = yyvsp[-1].ttype;
5560 break;}
5561 case 287:
5562 #line 1345 "parse.y"
5563 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5564 break;}
5565 case 288:
5566 #line 1347 "parse.y"
5567 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5568 break;}
5569 case 289:
5570 #line 1352 "parse.y"
5571 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5572 break;}
5573 case 290:
5574 #line 1354 "parse.y"
5575 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5576 break;}
5577 case 291:
5578 #line 1357 "parse.y"
5579 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5580 break;}
5581 case 296:
5582 #line 1369 "parse.y"
5584 /* Provide support for '(' attributes '*' declarator ')'
5585 etc */
5586 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5588 break;}
5589 case 298:
5590 #line 1379 "parse.y"
5591 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5592 break;}
5593 case 299:
5594 #line 1381 "parse.y"
5595 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5596 break;}
5597 case 300:
5598 #line 1383 "parse.y"
5599 { yyval.ttype = yyvsp[-1].ttype; ;
5600 break;}
5601 case 301:
5602 #line 1388 "parse.y"
5603 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5604 break;}
5605 case 302:
5606 #line 1390 "parse.y"
5607 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5608 break;}
5609 case 306:
5610 #line 1400 "parse.y"
5611 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5612 break;}
5613 case 307:
5614 #line 1405 "parse.y"
5616 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5617 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5618 else
5619 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5621 break;}
5622 case 310:
5623 #line 1414 "parse.y"
5625 if (processing_template_decl)
5626 push_obstacks (&permanent_obstack, &permanent_obstack);
5627 yyval.ttype = combine_strings (yyval.ttype);
5628 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5629 a const array the way we want, so fix it. */
5630 if (flag_const_strings)
5631 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5632 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5633 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5634 if (processing_template_decl)
5635 pop_obstacks ();
5637 break;}
5638 case 311:
5639 #line 1428 "parse.y"
5640 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5641 break;}
5642 case 312:
5643 #line 1430 "parse.y"
5644 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5645 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5646 break;}
5647 case 313:
5648 #line 1433 "parse.y"
5649 { yyval.ttype = error_mark_node; ;
5650 break;}
5651 case 314:
5652 #line 1435 "parse.y"
5653 { tree scope = current_scope ();
5654 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5656 error ("braced-group within expression allowed only inside a function");
5657 YYERROR;
5659 if (pedantic)
5660 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5661 yyval.ttype = begin_stmt_expr ();
5663 break;}
5664 case 315:
5665 #line 1446 "parse.y"
5666 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
5667 break;}
5668 case 316:
5669 #line 1451 "parse.y"
5670 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5671 break;}
5672 case 317:
5673 #line 1453 "parse.y"
5674 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5675 break;}
5676 case 318:
5677 #line 1455 "parse.y"
5678 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5679 break;}
5680 case 319:
5681 #line 1457 "parse.y"
5682 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5683 break;}
5684 case 320:
5685 #line 1459 "parse.y"
5686 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5687 break;}
5688 case 321:
5689 #line 1461 "parse.y"
5690 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5691 break;}
5692 case 322:
5693 #line 1463 "parse.y"
5694 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5695 break;}
5696 case 323:
5697 #line 1466 "parse.y"
5698 { yyval.ttype = finish_this_expr (); ;
5699 break;}
5700 case 324:
5701 #line 1468 "parse.y"
5703 /* This is a C cast in C++'s `functional' notation
5704 using the "implicit int" extension so that:
5705 `const (3)' is equivalent to `const int (3)'. */
5706 tree type;
5708 type = hash_tree_cons (NULL_TREE, yyvsp[-3].ttype, NULL_TREE);
5709 type = groktypename (build_decl_list (type, NULL_TREE));
5710 yyval.ttype = build_functional_cast (type, yyvsp[-1].ttype);
5712 break;}
5713 case 326:
5714 #line 1480 "parse.y"
5715 { tree type = groktypename (yyvsp[-4].ftype.t);
5716 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5717 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5718 break;}
5719 case 327:
5720 #line 1484 "parse.y"
5721 { tree type = groktypename (yyvsp[-4].ftype.t);
5722 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5723 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5724 break;}
5725 case 328:
5726 #line 1488 "parse.y"
5727 { tree type = groktypename (yyvsp[-4].ftype.t);
5728 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5729 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5730 break;}
5731 case 329:
5732 #line 1492 "parse.y"
5733 { tree type = groktypename (yyvsp[-4].ftype.t);
5734 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5735 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5736 break;}
5737 case 330:
5738 #line 1496 "parse.y"
5739 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5740 break;}
5741 case 331:
5742 #line 1498 "parse.y"
5743 { tree type = groktypename (yyvsp[-1].ftype.t);
5744 check_for_new_type ("typeid", yyvsp[-1].ftype);
5745 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5746 break;}
5747 case 332:
5748 #line 1502 "parse.y"
5749 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5750 break;}
5751 case 333:
5752 #line 1504 "parse.y"
5753 { yyval.ttype = yyvsp[0].ttype; ;
5754 break;}
5755 case 334:
5756 #line 1506 "parse.y"
5758 got_scope = NULL_TREE;
5759 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5760 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5761 else
5762 yyval.ttype = yyvsp[0].ttype;
5764 break;}
5765 case 335:
5766 #line 1514 "parse.y"
5767 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5768 break;}
5769 case 336:
5770 #line 1516 "parse.y"
5771 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5772 break;}
5773 case 337:
5774 #line 1518 "parse.y"
5775 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5776 break;}
5777 case 338:
5778 #line 1520 "parse.y"
5780 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5782 break;}
5783 case 339:
5784 #line 1524 "parse.y"
5785 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5786 break;}
5787 case 340:
5788 #line 1526 "parse.y"
5789 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5790 break;}
5791 case 341:
5792 #line 1528 "parse.y"
5793 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5794 break;}
5795 case 342:
5796 #line 1530 "parse.y"
5797 { if (processing_template_decl)
5798 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
5799 else
5800 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5801 break;}
5802 case 343:
5803 #line 1535 "parse.y"
5804 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5805 break;}
5806 case 344:
5807 #line 1537 "parse.y"
5808 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5809 break;}
5810 case 345:
5811 #line 1539 "parse.y"
5812 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5813 break;}
5814 case 346:
5815 #line 1541 "parse.y"
5816 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5817 break;}
5818 case 347:
5819 #line 1544 "parse.y"
5820 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5821 break;}
5822 case 348:
5823 #line 1546 "parse.y"
5824 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5825 break;}
5826 case 349:
5827 #line 1548 "parse.y"
5829 yyval.ttype = error_mark_node;
5831 break;}
5832 case 350:
5833 #line 1593 "parse.y"
5834 { yyval.itype = 0; ;
5835 break;}
5836 case 351:
5837 #line 1595 "parse.y"
5838 { got_scope = NULL_TREE; yyval.itype = 1; ;
5839 break;}
5840 case 352:
5841 #line 1600 "parse.y"
5842 { yyval.itype = 0; ;
5843 break;}
5844 case 353:
5845 #line 1602 "parse.y"
5846 { got_scope = NULL_TREE; yyval.itype = 1; ;
5847 break;}
5848 case 354:
5849 #line 1607 "parse.y"
5850 { yyval.ttype = boolean_true_node; ;
5851 break;}
5852 case 355:
5853 #line 1609 "parse.y"
5854 { yyval.ttype = boolean_false_node; ;
5855 break;}
5856 case 357:
5857 #line 1616 "parse.y"
5858 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5859 break;}
5860 case 358:
5861 #line 1621 "parse.y"
5863 if (! current_function_parms_stored)
5864 store_parm_decls ();
5865 setup_vtbl_ptr ();
5867 break;}
5868 case 359:
5869 #line 1630 "parse.y"
5870 { got_object = TREE_TYPE (yyval.ttype); ;
5871 break;}
5872 case 360:
5873 #line 1632 "parse.y"
5875 yyval.ttype = build_x_arrow (yyval.ttype);
5876 got_object = TREE_TYPE (yyval.ttype);
5878 break;}
5879 case 361:
5880 #line 1640 "parse.y"
5882 resume_momentary (yyvsp[-1].itype);
5883 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5884 note_got_semicolon (yyvsp[-2].ftype.t);
5886 break;}
5887 case 362:
5888 #line 1646 "parse.y"
5890 resume_momentary (yyvsp[-1].itype);
5891 note_list_got_semicolon (yyvsp[-2].ftype.t);
5893 break;}
5894 case 363:
5895 #line 1651 "parse.y"
5896 { resume_momentary (yyvsp[-1].itype); ;
5897 break;}
5898 case 364:
5899 #line 1653 "parse.y"
5901 shadow_tag (yyvsp[-1].ftype.t);
5902 note_list_got_semicolon (yyvsp[-1].ftype.t);
5904 break;}
5905 case 365:
5906 #line 1658 "parse.y"
5907 { warning ("empty declaration"); ;
5908 break;}
5909 case 366:
5910 #line 1660 "parse.y"
5911 { pedantic = yyvsp[-1].itype; ;
5912 break;}
5913 case 369:
5914 #line 1674 "parse.y"
5915 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5916 NULL_TREE, NULL_TREE); ;
5917 break;}
5918 case 370:
5919 #line 1677 "parse.y"
5920 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5921 NULL_TREE); ;
5922 break;}
5923 case 371:
5924 #line 1684 "parse.y"
5925 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5926 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5927 break;}
5928 case 372:
5929 #line 1687 "parse.y"
5930 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5931 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5932 break;}
5933 case 373:
5934 #line 1690 "parse.y"
5935 { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
5936 yyvsp[0].ttype);
5937 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5938 break;}
5939 case 374:
5940 #line 1694 "parse.y"
5941 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5942 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5943 break;}
5944 case 375:
5945 #line 1697 "parse.y"
5946 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5947 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5948 break;}
5949 case 378:
5950 #line 1713 "parse.y"
5951 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5952 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5953 break;}
5954 case 379:
5955 #line 1716 "parse.y"
5956 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5957 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5958 break;}
5959 case 380:
5960 #line 1719 "parse.y"
5961 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5962 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5963 break;}
5964 case 381:
5965 #line 1722 "parse.y"
5966 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5967 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5968 break;}
5969 case 382:
5970 #line 1725 "parse.y"
5971 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5972 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5973 break;}
5974 case 383:
5975 #line 1728 "parse.y"
5976 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5977 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5978 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5979 break;}
5980 case 384:
5981 #line 1735 "parse.y"
5982 { if (extra_warnings)
5983 warning ("`%s' is not at beginning of declaration",
5984 IDENTIFIER_POINTER (yyval.ttype));
5985 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5986 break;}
5987 case 385:
5988 #line 1740 "parse.y"
5989 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5990 break;}
5991 case 386:
5992 #line 1742 "parse.y"
5993 { if (extra_warnings)
5994 warning ("`%s' is not at beginning of declaration",
5995 IDENTIFIER_POINTER (yyvsp[0].ttype));
5996 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5997 break;}
5998 case 387:
5999 #line 1747 "parse.y"
6000 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
6001 break;}
6002 case 388:
6003 #line 1749 "parse.y"
6004 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
6005 break;}
6006 case 389:
6007 #line 1768 "parse.y"
6008 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
6009 break;}
6010 case 390:
6011 #line 1770 "parse.y"
6012 { yyval.ttype = hash_tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
6013 break;}
6014 case 391:
6015 #line 1772 "parse.y"
6016 { yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
6017 TREE_STATIC (yyval.ttype) = 1; ;
6018 break;}
6019 case 392:
6020 #line 1775 "parse.y"
6021 { if (extra_warnings && TREE_STATIC (yyval.ttype))
6022 warning ("`%s' is not at beginning of declaration",
6023 IDENTIFIER_POINTER (yyvsp[0].ttype));
6024 yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
6025 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
6026 break;}
6027 case 393:
6028 #line 1781 "parse.y"
6029 { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
6030 break;}
6031 case 394:
6032 #line 1783 "parse.y"
6033 { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
6034 break;}
6035 case 395:
6036 #line 1794 "parse.y"
6037 { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t);
6038 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6039 break;}
6040 case 396:
6041 #line 1797 "parse.y"
6042 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
6043 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6044 break;}
6045 case 397:
6046 #line 1800 "parse.y"
6047 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
6048 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6049 break;}
6050 case 398:
6051 #line 1803 "parse.y"
6052 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
6053 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
6054 break;}
6055 case 399:
6056 #line 1809 "parse.y"
6057 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
6058 break;}
6059 case 400:
6060 #line 1811 "parse.y"
6061 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
6062 break;}
6063 case 402:
6064 #line 1821 "parse.y"
6065 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6066 break;}
6067 case 403:
6068 #line 1823 "parse.y"
6069 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6070 break;}
6071 case 404:
6072 #line 1825 "parse.y"
6073 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
6074 yyval.ftype.new_type_flag = 0; ;
6075 break;}
6076 case 405:
6077 #line 1828 "parse.y"
6078 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
6079 yyval.ftype.new_type_flag = 0; ;
6080 break;}
6081 case 406:
6082 #line 1831 "parse.y"
6083 { tree type = TREE_TYPE (yyvsp[-1].ttype);
6085 yyval.ftype.new_type_flag = 0;
6086 if (IS_AGGR_TYPE (type))
6088 sorry ("sigof type specifier");
6089 yyval.ftype.t = type;
6091 else
6093 error ("`sigof' applied to non-aggregate expression");
6094 yyval.ftype.t = error_mark_node;
6097 break;}
6098 case 407:
6099 #line 1846 "parse.y"
6100 { tree type = groktypename (yyvsp[-1].ftype.t);
6102 yyval.ftype.new_type_flag = 0;
6103 if (IS_AGGR_TYPE (type))
6105 sorry ("sigof type specifier");
6106 yyval.ftype.t = type;
6108 else
6110 error("`sigof' applied to non-aggregate type");
6111 yyval.ftype.t = error_mark_node;
6114 break;}
6115 case 408:
6116 #line 1866 "parse.y"
6117 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6118 break;}
6119 case 409:
6120 #line 1868 "parse.y"
6121 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6122 break;}
6123 case 412:
6124 #line 1875 "parse.y"
6125 { check_multiple_declarators (); ;
6126 break;}
6127 case 414:
6128 #line 1881 "parse.y"
6129 { check_multiple_declarators (); ;
6130 break;}
6131 case 416:
6132 #line 1887 "parse.y"
6133 { check_multiple_declarators (); ;
6134 break;}
6135 case 417:
6136 #line 1892 "parse.y"
6137 { yyval.ttype = NULL_TREE; ;
6138 break;}
6139 case 418:
6140 #line 1894 "parse.y"
6141 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
6142 break;}
6143 case 419:
6144 #line 1899 "parse.y"
6145 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
6146 yyvsp[-1].ttype, prefix_attributes); ;
6147 break;}
6148 case 420:
6149 #line 1903 "parse.y"
6150 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
6151 break;}
6152 case 421:
6153 #line 1905 "parse.y"
6154 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
6155 yyvsp[0].ttype, prefix_attributes);
6156 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6157 break;}
6158 case 422:
6159 #line 1918 "parse.y"
6160 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
6161 yyvsp[-1].ttype, 1, &yyval.ttype); ;
6162 break;}
6163 case 423:
6164 #line 1923 "parse.y"
6165 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
6166 LOOKUP_ONLYCONVERTING);
6167 yyval.itype = yyvsp[-2].itype; ;
6168 break;}
6169 case 424:
6170 #line 1927 "parse.y"
6171 { tree d;
6172 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
6173 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6174 break;}
6175 case 425:
6176 #line 1934 "parse.y"
6177 { yyval.itype = yyvsp[0].itype; ;
6178 break;}
6179 case 426:
6180 #line 1938 "parse.y"
6181 { yyval.itype = yyvsp[0].itype; ;
6182 break;}
6183 case 427:
6184 #line 1943 "parse.y"
6185 { /* Set things up as initdcl0_innards expects. */
6186 yyvsp[0].ttype = yyvsp[-1].ttype;
6187 yyvsp[-1].ttype = NULL_TREE; ;
6188 break;}
6189 case 428:
6190 #line 1947 "parse.y"
6192 break;}
6193 case 429:
6194 #line 1949 "parse.y"
6195 { tree d;
6196 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
6197 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6198 break;}
6199 case 430:
6200 #line 1958 "parse.y"
6201 { yyval.ttype = NULL_TREE; ;
6202 break;}
6203 case 431:
6204 #line 1960 "parse.y"
6205 { yyval.ttype = yyvsp[0].ttype; ;
6206 break;}
6207 case 432:
6208 #line 1965 "parse.y"
6209 { yyval.ttype = yyvsp[0].ttype; ;
6210 break;}
6211 case 433:
6212 #line 1967 "parse.y"
6213 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6214 break;}
6215 case 434:
6216 #line 1972 "parse.y"
6217 { yyval.ttype = yyvsp[-2].ttype; ;
6218 break;}
6219 case 435:
6220 #line 1977 "parse.y"
6221 { yyval.ttype = yyvsp[0].ttype; ;
6222 break;}
6223 case 436:
6224 #line 1979 "parse.y"
6225 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6226 break;}
6227 case 437:
6228 #line 1984 "parse.y"
6229 { yyval.ttype = NULL_TREE; ;
6230 break;}
6231 case 438:
6232 #line 1986 "parse.y"
6233 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
6234 break;}
6235 case 439:
6236 #line 1988 "parse.y"
6237 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
6238 break;}
6239 case 440:
6240 #line 1990 "parse.y"
6241 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
6242 break;}
6243 case 441:
6244 #line 1992 "parse.y"
6245 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6246 break;}
6247 case 446:
6248 #line 2008 "parse.y"
6249 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6250 break;}
6251 case 447:
6252 #line 2010 "parse.y"
6253 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6254 break;}
6255 case 448:
6256 #line 2015 "parse.y"
6257 { yyval.ttype = NULL_TREE; ;
6258 break;}
6259 case 449:
6260 #line 2017 "parse.y"
6261 { yyval.ttype = yyvsp[0].ttype; ;
6262 break;}
6263 case 451:
6264 #line 2025 "parse.y"
6265 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6266 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6267 break;}
6268 case 452:
6269 #line 2028 "parse.y"
6270 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6271 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6272 break;}
6273 case 453:
6274 #line 2031 "parse.y"
6275 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6276 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6277 break;}
6278 case 454:
6279 #line 2034 "parse.y"
6280 { yyval.ttype = NULL_TREE; ;
6281 break;}
6282 case 455:
6283 #line 2041 "parse.y"
6284 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6285 break;}
6286 case 456:
6287 #line 2043 "parse.y"
6288 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6289 break;}
6290 case 457:
6291 #line 2046 "parse.y"
6292 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6293 break;}
6294 case 458:
6295 #line 2048 "parse.y"
6296 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6297 break;}
6298 case 459:
6299 #line 2050 "parse.y"
6300 { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6301 break;}
6302 case 460:
6303 #line 2055 "parse.y"
6304 { start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE,
6305 (SF_DEFAULT | SF_PRE_PARSED
6306 | SF_INCLASS_INLINE));
6307 reinit_parse_for_function (); ;
6308 break;}
6309 case 461:
6310 #line 2062 "parse.y"
6312 expand_body (finish_function (lineno, (int)yyvsp[-1].itype | 2));
6313 process_next_inline (yyvsp[-3].pi);
6315 break;}
6316 case 462:
6317 #line 2067 "parse.y"
6319 expand_body (finish_function (lineno, (int)yyvsp[0].itype | 2));
6320 process_next_inline (yyvsp[-2].pi);
6322 break;}
6323 case 463:
6324 #line 2072 "parse.y"
6326 finish_function (lineno, 2);
6327 process_next_inline (yyvsp[-2].pi); ;
6328 break;}
6329 case 466:
6330 #line 2086 "parse.y"
6331 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6332 break;}
6333 case 467:
6334 #line 2088 "parse.y"
6335 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6336 break;}
6337 case 469:
6338 #line 2093 "parse.y"
6339 { do_pending_defargs (); ;
6340 break;}
6341 case 470:
6342 #line 2095 "parse.y"
6343 { do_pending_defargs (); ;
6344 break;}
6345 case 471:
6346 #line 2100 "parse.y"
6347 { yyvsp[0].itype = suspend_momentary ();
6348 yyval.ttype = current_enum_type;
6349 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6350 break;}
6351 case 472:
6352 #line 2104 "parse.y"
6353 { TYPE_VALUES (current_enum_type) = yyvsp[-1].ttype;
6354 yyval.ftype.t = finish_enum (current_enum_type);
6355 yyval.ftype.new_type_flag = 1;
6356 current_enum_type = yyvsp[-2].ttype;
6357 resume_momentary ((int) yyvsp[-3].itype);
6358 check_for_missing_semicolon (yyval.ftype.t); ;
6359 break;}
6360 case 473:
6361 #line 2111 "parse.y"
6362 { yyvsp[0].itype = suspend_momentary ();
6363 yyval.ttype = current_enum_type;
6364 current_enum_type = start_enum (make_anon_name ()); ;
6365 break;}
6366 case 474:
6367 #line 2115 "parse.y"
6368 { TYPE_VALUES (current_enum_type) = yyvsp[-1].ttype;
6369 yyval.ftype.t = finish_enum (current_enum_type);
6370 yyval.ftype.new_type_flag = 1;
6371 current_enum_type = yyvsp[-2].ttype;
6372 resume_momentary ((int) yyvsp[-4].itype);
6373 check_for_missing_semicolon (yyval.ftype.t); ;
6374 break;}
6375 case 475:
6376 #line 2122 "parse.y"
6377 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6378 yyval.ftype.new_type_flag = 0; ;
6379 break;}
6380 case 476:
6381 #line 2125 "parse.y"
6382 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6383 yyval.ftype.new_type_flag = 0; ;
6384 break;}
6385 case 477:
6386 #line 2128 "parse.y"
6387 { yyval.ftype.t = yyvsp[0].ttype;
6388 yyval.ftype.new_type_flag = 0;
6389 if (!processing_template_decl)
6390 cp_pedwarn ("using `typename' outside of template"); ;
6391 break;}
6392 case 478:
6393 #line 2134 "parse.y"
6394 { yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ;
6395 break;}
6396 case 479:
6397 #line 2136 "parse.y"
6399 int semi;
6401 if (yychar == YYEMPTY)
6402 yychar = YYLEX;
6403 semi = yychar == ';';
6405 yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi,
6406 yyvsp[-5].ftype.new_type_flag);
6408 break;}
6409 case 480:
6410 #line 2147 "parse.y"
6412 begin_inline_definitions ();
6414 break;}
6415 case 481:
6416 #line 2151 "parse.y"
6418 finish_inline_definitions ();
6419 yyval.ftype.t = yyvsp[-3].ttype;
6420 yyval.ftype.new_type_flag = 1;
6422 break;}
6423 case 482:
6424 #line 2157 "parse.y"
6426 if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node)
6427 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t)));
6428 yyval.ftype.new_type_flag = 0;
6429 if (yyvsp[0].ftype.t == error_mark_node)
6430 yyval.ftype.t = yyvsp[0].ftype.t;
6431 else if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE)
6433 cp_error ("%T is not a class type", yyvsp[0].ftype.t);
6434 yyval.ftype.t = error_mark_node;
6436 else
6438 yyval.ftype.t = yyvsp[0].ftype.t;
6439 /* struct B: public A; is not accepted by the WP grammar. */
6440 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6441 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6442 cp_error ("base clause without member specification for `%#T'",
6443 yyval.ftype.t);
6446 break;}
6447 case 486:
6448 #line 2188 "parse.y"
6449 { if (pedantic && !in_system_header)
6450 pedwarn ("comma at end of enumerator list"); ;
6451 break;}
6452 case 488:
6453 #line 2195 "parse.y"
6454 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6455 break;}
6456 case 489:
6457 #line 2197 "parse.y"
6458 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6459 break;}
6460 case 490:
6461 #line 2199 "parse.y"
6462 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6463 break;}
6464 case 491:
6465 #line 2201 "parse.y"
6466 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6467 break;}
6468 case 492:
6469 #line 2203 "parse.y"
6470 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6471 break;}
6472 case 493:
6473 #line 2208 "parse.y"
6475 current_aggr = yyvsp[-1].ttype;
6476 yyval.ttype = yyvsp[0].ttype;
6478 break;}
6479 case 494:
6480 #line 2216 "parse.y"
6481 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6482 break;}
6483 case 495:
6484 #line 2218 "parse.y"
6485 { yyungetc ('{', 1); ;
6486 break;}
6487 case 496:
6488 #line 2220 "parse.y"
6489 { yyungetc (':', 1); ;
6490 break;}
6491 case 497:
6492 #line 2225 "parse.y"
6494 current_aggr = yyvsp[-2].ttype;
6495 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6496 yyval.ftype.new_type_flag = 1;
6498 break;}
6499 case 498:
6500 #line 2231 "parse.y"
6502 current_aggr = yyvsp[-3].ttype;
6503 yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6504 yyval.ftype.new_type_flag = 1;
6506 break;}
6507 case 499:
6508 #line 2237 "parse.y"
6510 current_aggr = yyvsp[-2].ttype;
6511 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6512 yyval.ftype.new_type_flag = 1;
6514 break;}
6515 case 500:
6516 #line 2243 "parse.y"
6518 current_aggr = yyvsp[-1].ttype;
6519 yyval.ftype.t = yyvsp[0].ttype;
6520 yyval.ftype.new_type_flag = 0;
6522 break;}
6523 case 501:
6524 #line 2249 "parse.y"
6526 current_aggr = yyvsp[-2].ttype;
6527 yyval.ftype.t = yyvsp[0].ttype;
6528 if (CP_DECL_CONTEXT (yyval.ftype.t))
6529 push_scope (CP_DECL_CONTEXT (yyval.ftype.t));
6530 yyval.ftype.new_type_flag = 1;
6532 break;}
6533 case 502:
6534 #line 2260 "parse.y"
6536 yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1);
6537 yyval.ftype.new_type_flag = 0;
6539 break;}
6540 case 503:
6541 #line 2265 "parse.y"
6542 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6543 break;}
6544 case 504:
6545 #line 2269 "parse.y"
6547 yyval.ftype.t = yyvsp[-1].ttype;
6548 yyval.ftype.new_type_flag = 0;
6549 if (yyvsp[0].ttype)
6550 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6552 break;}
6553 case 505:
6554 #line 2277 "parse.y"
6556 if (yyvsp[-1].ftype.t != error_mark_node)
6558 yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t);
6559 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
6560 if (current_aggr == union_type_node
6561 && TREE_CODE (yyval.ftype.t) != UNION_TYPE)
6562 cp_pedwarn ("`union' tag used in declaring `%#T'",
6563 yyval.ftype.t);
6564 else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE
6565 && current_aggr != union_type_node)
6566 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype);
6567 else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE)
6568 /* We might be specializing a template with a different
6569 class-key; deal. */
6570 CLASSTYPE_DECLARED_CLASS (yyval.ftype.t)
6571 = (current_aggr == class_type_node);
6572 if (yyvsp[0].ttype)
6574 maybe_process_partial_specialization (yyval.ftype.t);
6575 xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype);
6579 break;}
6580 case 506:
6581 #line 2305 "parse.y"
6582 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6583 yyungetc ('{', 1); ;
6584 break;}
6585 case 507:
6586 #line 2315 "parse.y"
6588 yyval.ftype.t = yyvsp[0].ttype;
6589 yyval.ftype.new_type_flag = 0;
6591 break;}
6592 case 509:
6593 #line 2324 "parse.y"
6594 { yyval.ttype = NULL_TREE; ;
6595 break;}
6596 case 510:
6597 #line 2326 "parse.y"
6598 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6599 break;}
6600 case 511:
6601 #line 2328 "parse.y"
6602 { yyval.ttype = yyvsp[0].ttype; ;
6603 break;}
6604 case 513:
6605 #line 2334 "parse.y"
6606 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6607 break;}
6608 case 514:
6609 #line 2339 "parse.y"
6610 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
6611 break;}
6612 case 515:
6613 #line 2341 "parse.y"
6614 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6615 break;}
6616 case 516:
6617 #line 2346 "parse.y"
6618 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6619 break;}
6620 case 519:
6621 #line 2353 "parse.y"
6622 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6623 cp_error ("`%D' access", yyvsp[-1].ttype);
6624 yyval.ttype = access_default_virtual_node; ;
6625 break;}
6626 case 520:
6627 #line 2357 "parse.y"
6629 if (yyvsp[-2].ttype != access_default_virtual_node)
6630 error ("multiple access specifiers");
6631 else if (yyvsp[-1].ttype == access_public_node)
6632 yyval.ttype = access_public_virtual_node;
6633 else if (yyvsp[-1].ttype == access_protected_node)
6634 yyval.ttype = access_protected_virtual_node;
6635 else /* $2 == access_private_node */
6636 yyval.ttype = access_private_virtual_node;
6638 break;}
6639 case 521:
6640 #line 2368 "parse.y"
6641 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6642 cp_error ("`%D' access", yyvsp[-1].ttype);
6643 else if (yyval.ttype == access_public_node)
6644 yyval.ttype = access_public_virtual_node;
6645 else if (yyval.ttype == access_protected_node)
6646 yyval.ttype = access_protected_virtual_node;
6647 else if (yyval.ttype == access_private_node)
6648 yyval.ttype = access_private_virtual_node;
6649 else
6650 error ("multiple `virtual' specifiers");
6652 break;}
6653 case 526:
6654 #line 2389 "parse.y"
6656 current_access_specifier = yyvsp[-1].ttype;
6658 break;}
6659 case 527:
6660 #line 2398 "parse.y"
6662 finish_member_declaration (yyvsp[0].ttype);
6664 break;}
6665 case 528:
6666 #line 2402 "parse.y"
6668 finish_member_declaration (yyvsp[0].ttype);
6670 break;}
6671 case 530:
6672 #line 2410 "parse.y"
6673 { error ("missing ';' before right brace");
6674 yyungetc ('}', 0); ;
6675 break;}
6676 case 531:
6677 #line 2415 "parse.y"
6678 { yyval.ttype = finish_method (yyval.ttype); ;
6679 break;}
6680 case 532:
6681 #line 2417 "parse.y"
6682 { yyval.ttype = finish_method (yyval.ttype); ;
6683 break;}
6684 case 533:
6685 #line 2419 "parse.y"
6686 { yyval.ttype = finish_method (yyval.ttype); ;
6687 break;}
6688 case 534:
6689 #line 2421 "parse.y"
6690 { yyval.ttype = finish_method (yyval.ttype); ;
6691 break;}
6692 case 535:
6693 #line 2423 "parse.y"
6694 { yyval.ttype = NULL_TREE; ;
6695 break;}
6696 case 536:
6697 #line 2425 "parse.y"
6698 { yyval.ttype = yyvsp[0].ttype;
6699 pedantic = yyvsp[-1].itype; ;
6700 break;}
6701 case 537:
6702 #line 2428 "parse.y"
6704 if (yyvsp[0].ttype)
6705 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6706 else
6707 /* The component was already processed. */
6708 yyval.ttype = NULL_TREE;
6710 finish_template_decl (yyvsp[-1].ttype);
6712 break;}
6713 case 538:
6714 #line 2438 "parse.y"
6716 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6717 finish_template_decl (yyvsp[-2].ttype);
6719 break;}
6720 case 539:
6721 #line 2449 "parse.y"
6723 /* Most of the productions for component_decl only
6724 allow the creation of one new member, so we call
6725 finish_member_declaration in component_decl_list.
6726 For this rule and the next, however, there can be
6727 more than one member, e.g.:
6729 int i, j;
6731 and we need the first member to be fully
6732 registered before the second is processed.
6733 Therefore, the rules for components take care of
6734 this processing. To avoid registering the
6735 components more than once, we send NULL_TREE up
6736 here; that lets finish_member_declaration know
6737 that there is nothing to do. */
6738 if (!yyvsp[0].itype)
6739 grok_x_components (yyvsp[-1].ftype.t);
6740 yyval.ttype = NULL_TREE;
6742 break;}
6743 case 540:
6744 #line 2470 "parse.y"
6746 if (!yyvsp[0].itype)
6747 grok_x_components (yyvsp[-1].ttype);
6748 yyval.ttype = NULL_TREE;
6750 break;}
6751 case 541:
6752 #line 2476 "parse.y"
6753 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6754 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6755 break;}
6756 case 542:
6757 #line 2479 "parse.y"
6758 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6759 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6760 break;}
6761 case 543:
6762 #line 2482 "parse.y"
6763 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6764 break;}
6765 case 544:
6766 #line 2484 "parse.y"
6767 { yyval.ttype = NULL_TREE; ;
6768 break;}
6769 case 545:
6770 #line 2495 "parse.y"
6771 { tree specs, attrs;
6772 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6773 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6774 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6775 break;}
6776 case 546:
6777 #line 2500 "parse.y"
6778 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6779 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6780 break;}
6781 case 547:
6782 #line 2503 "parse.y"
6783 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6784 break;}
6785 case 548:
6786 #line 2509 "parse.y"
6787 { yyval.itype = 0; ;
6788 break;}
6789 case 549:
6790 #line 2511 "parse.y"
6792 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6793 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6794 finish_member_declaration (yyvsp[0].ttype);
6795 yyval.itype = 1;
6797 break;}
6798 case 550:
6799 #line 2518 "parse.y"
6801 check_multiple_declarators ();
6802 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6803 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6804 finish_member_declaration (yyvsp[0].ttype);
6805 yyval.itype = 2;
6807 break;}
6808 case 551:
6809 #line 2529 "parse.y"
6810 { yyval.itype = 0; ;
6811 break;}
6812 case 552:
6813 #line 2531 "parse.y"
6815 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6816 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6817 finish_member_declaration (yyvsp[0].ttype);
6818 yyval.itype = 1;
6820 break;}
6821 case 553:
6822 #line 2538 "parse.y"
6824 check_multiple_declarators ();
6825 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6826 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6827 finish_member_declaration (yyvsp[0].ttype);
6828 yyval.itype = 2;
6830 break;}
6831 case 558:
6832 #line 2559 "parse.y"
6833 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6834 &prefix_attributes);
6835 yyvsp[-4].ttype = current_declspecs;
6836 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6837 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6838 break;}
6839 case 559:
6840 #line 2565 "parse.y"
6841 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6842 &prefix_attributes);
6843 yyvsp[-4].ttype = current_declspecs;
6844 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6845 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6846 break;}
6847 case 560:
6848 #line 2574 "parse.y"
6849 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6850 &prefix_attributes);
6851 yyvsp[-4].ttype = current_declspecs;
6852 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6853 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6854 break;}
6855 case 561:
6856 #line 2580 "parse.y"
6857 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6858 &prefix_attributes);
6859 yyvsp[-4].ttype = current_declspecs;
6860 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6861 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6862 break;}
6863 case 562:
6864 #line 2586 "parse.y"
6865 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6866 &prefix_attributes);
6867 yyvsp[-4].ttype = current_declspecs;
6868 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6869 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6870 break;}
6871 case 563:
6872 #line 2592 "parse.y"
6873 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6874 &prefix_attributes);
6875 yyvsp[-3].ttype = current_declspecs;
6876 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6877 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6878 break;}
6879 case 564:
6880 #line 2601 "parse.y"
6881 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6882 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6883 break;}
6884 case 565:
6885 #line 2604 "parse.y"
6886 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6887 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6888 break;}
6889 case 566:
6890 #line 2610 "parse.y"
6891 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6892 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6893 break;}
6894 case 567:
6895 #line 2613 "parse.y"
6896 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6897 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6898 break;}
6899 case 568:
6900 #line 2616 "parse.y"
6901 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6902 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6903 break;}
6904 case 570:
6905 #line 2623 "parse.y"
6906 { yyval.ttype = NULL_TREE; ;
6907 break;}
6908 case 572:
6909 #line 2633 "parse.y"
6910 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6911 break;}
6912 case 573:
6913 #line 2638 "parse.y"
6914 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6915 break;}
6916 case 574:
6917 #line 2640 "parse.y"
6918 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6919 break;}
6920 case 575:
6921 #line 2646 "parse.y"
6922 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6923 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6924 break;}
6925 case 576:
6926 #line 2649 "parse.y"
6927 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6928 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6929 break;}
6930 case 577:
6931 #line 2656 "parse.y"
6933 if (pedantic)
6934 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6935 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6936 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6937 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6939 break;}
6940 case 578:
6941 #line 2667 "parse.y"
6942 { yyval.ttype = NULL_TREE; ;
6943 break;}
6944 case 579:
6945 #line 2669 "parse.y"
6946 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6947 break;}
6948 case 580:
6949 #line 2674 "parse.y"
6950 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
6951 yyval.ftype.new_type_flag = 0; ;
6952 break;}
6953 case 581:
6954 #line 2677 "parse.y"
6955 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6956 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6957 break;}
6958 case 582:
6959 #line 2686 "parse.y"
6960 { yyval.itype = suspend_momentary (); ;
6961 break;}
6962 case 583:
6963 #line 2691 "parse.y"
6964 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6965 break;}
6966 case 584:
6967 #line 2697 "parse.y"
6968 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6969 break;}
6970 case 585:
6971 #line 2699 "parse.y"
6972 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6973 break;}
6974 case 586:
6975 #line 2701 "parse.y"
6976 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6977 break;}
6978 case 587:
6979 #line 2703 "parse.y"
6980 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6981 break;}
6982 case 589:
6983 #line 2711 "parse.y"
6985 /* Provide support for '(' attributes '*' declarator ')'
6986 etc */
6987 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6989 break;}
6990 case 590:
6991 #line 2721 "parse.y"
6992 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6993 break;}
6994 case 591:
6995 #line 2723 "parse.y"
6996 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6997 break;}
6998 case 592:
6999 #line 2725 "parse.y"
7000 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7001 break;}
7002 case 593:
7003 #line 2727 "parse.y"
7004 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7005 break;}
7006 case 594:
7007 #line 2729 "parse.y"
7008 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7009 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7011 break;}
7012 case 596:
7013 #line 2737 "parse.y"
7014 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7015 break;}
7016 case 597:
7017 #line 2739 "parse.y"
7018 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7019 break;}
7020 case 598:
7021 #line 2741 "parse.y"
7022 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7023 break;}
7024 case 599:
7025 #line 2743 "parse.y"
7026 { yyval.ttype = yyvsp[-1].ttype; ;
7027 break;}
7028 case 600:
7029 #line 2745 "parse.y"
7030 { push_nested_class (yyvsp[-1].ttype, 3);
7031 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
7032 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
7033 break;}
7034 case 602:
7035 #line 2753 "parse.y"
7037 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7039 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
7040 maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype);
7042 else
7043 yyval.ttype = yyvsp[0].ttype;
7045 break;}
7046 case 603:
7047 #line 2763 "parse.y"
7049 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7050 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7051 else
7052 yyval.ttype = yyvsp[0].ttype;
7053 got_scope = NULL_TREE;
7055 break;}
7056 case 606:
7057 #line 2776 "parse.y"
7058 { yyval.ttype = yyvsp[0].ttype; ;
7059 break;}
7060 case 607:
7061 #line 2781 "parse.y"
7062 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
7063 break;}
7064 case 609:
7065 #line 2790 "parse.y"
7067 /* Provide support for '(' attributes '*' declarator ')'
7068 etc */
7069 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7071 break;}
7072 case 610:
7073 #line 2799 "parse.y"
7074 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7075 break;}
7076 case 611:
7077 #line 2801 "parse.y"
7078 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7079 break;}
7080 case 612:
7081 #line 2803 "parse.y"
7082 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7083 break;}
7084 case 613:
7085 #line 2805 "parse.y"
7086 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7087 break;}
7088 case 614:
7089 #line 2807 "parse.y"
7090 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7091 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7093 break;}
7094 case 616:
7095 #line 2815 "parse.y"
7096 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7097 break;}
7098 case 617:
7099 #line 2817 "parse.y"
7100 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7101 break;}
7102 case 618:
7103 #line 2819 "parse.y"
7104 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7105 break;}
7106 case 619:
7107 #line 2821 "parse.y"
7108 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7109 break;}
7110 case 620:
7111 #line 2823 "parse.y"
7112 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7113 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7115 break;}
7116 case 622:
7117 #line 2831 "parse.y"
7118 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7119 break;}
7120 case 623:
7121 #line 2833 "parse.y"
7122 { yyval.ttype = yyvsp[-1].ttype; ;
7123 break;}
7124 case 624:
7125 #line 2835 "parse.y"
7126 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7127 break;}
7128 case 625:
7129 #line 2837 "parse.y"
7130 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7131 break;}
7132 case 626:
7133 #line 2839 "parse.y"
7134 { enter_scope_of (yyvsp[0].ttype); ;
7135 break;}
7136 case 627:
7137 #line 2841 "parse.y"
7138 { got_scope = NULL_TREE;
7139 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7140 enter_scope_of (yyval.ttype);
7142 break;}
7143 case 628:
7144 #line 2849 "parse.y"
7145 { got_scope = NULL_TREE;
7146 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7147 break;}
7148 case 629:
7149 #line 2852 "parse.y"
7150 { got_scope = NULL_TREE;
7151 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7152 break;}
7153 case 630:
7154 #line 2858 "parse.y"
7155 { got_scope = NULL_TREE;
7156 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7157 break;}
7158 case 631:
7159 #line 2861 "parse.y"
7160 { got_scope = NULL_TREE;
7161 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7162 break;}
7163 case 633:
7164 #line 2868 "parse.y"
7165 { yyval.ttype = yyvsp[0].ttype; ;
7166 break;}
7167 case 634:
7168 #line 2873 "parse.y"
7169 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7170 break;}
7171 case 635:
7172 #line 2875 "parse.y"
7173 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7174 break;}
7175 case 636:
7176 #line 2877 "parse.y"
7177 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7178 break;}
7179 case 641:
7180 #line 2888 "parse.y"
7181 { yyval.ttype = yyvsp[0].ttype; ;
7182 break;}
7183 case 642:
7184 #line 2890 "parse.y"
7185 { got_scope = yyval.ttype
7186 = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7187 break;}
7188 case 643:
7189 #line 2898 "parse.y"
7191 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7193 yyval.ttype = lastiddecl;
7194 maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype);
7196 got_scope = yyval.ttype =
7197 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
7199 break;}
7200 case 644:
7201 #line 2908 "parse.y"
7203 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7204 yyval.ttype = lastiddecl;
7205 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7207 break;}
7208 case 645:
7209 #line 2914 "parse.y"
7211 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7212 yyval.ttype = lastiddecl;
7213 got_scope = yyval.ttype;
7215 break;}
7216 case 646:
7217 #line 2920 "parse.y"
7218 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7219 break;}
7220 case 648:
7221 #line 2936 "parse.y"
7222 { yyval.ttype = yyvsp[0].ttype; ;
7223 break;}
7224 case 649:
7225 #line 2941 "parse.y"
7227 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7228 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
7229 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7230 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7231 else
7233 yyval.ttype = yyvsp[0].ttype;
7234 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7235 yyval.ttype = TREE_TYPE (yyval.ttype);
7238 break;}
7239 case 650:
7240 #line 2954 "parse.y"
7241 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
7242 break;}
7243 case 651:
7244 #line 2956 "parse.y"
7245 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); ;
7246 break;}
7247 case 652:
7248 #line 2958 "parse.y"
7249 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, /*complain=*/1); ;
7250 break;}
7251 case 653:
7252 #line 2963 "parse.y"
7254 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7255 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7257 break;}
7258 case 654:
7259 #line 2968 "parse.y"
7261 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7262 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
7263 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7264 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7265 else
7267 yyval.ttype = yyvsp[0].ttype;
7268 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7269 yyval.ttype = TREE_TYPE (yyval.ttype);
7272 break;}
7273 case 655:
7274 #line 2981 "parse.y"
7275 { got_scope = yyval.ttype
7276 = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7277 break;}
7278 case 656:
7279 #line 2984 "parse.y"
7280 { got_scope = yyval.ttype
7281 = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7282 break;}
7283 case 657:
7284 #line 2990 "parse.y"
7286 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7287 yyvsp[-1].ttype = lastiddecl;
7289 /* Retrieve the type for the identifier, which might involve
7290 some computation. */
7291 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7293 if (yyval.ttype == error_mark_node)
7294 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7296 break;}
7297 case 658:
7298 #line 3002 "parse.y"
7300 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7301 yyval.ttype = lastiddecl;
7302 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7304 break;}
7305 case 659:
7306 #line 3008 "parse.y"
7307 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7308 break;}
7309 case 662:
7310 #line 3012 "parse.y"
7312 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7313 yyval.ttype = lastiddecl;
7314 got_scope = yyval.ttype;
7316 break;}
7317 case 663:
7318 #line 3021 "parse.y"
7319 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7320 break;}
7321 case 664:
7322 #line 3026 "parse.y"
7324 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7325 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7326 else
7327 yyval.ttype = yyvsp[0].ttype;
7328 got_scope = NULL_TREE;
7330 break;}
7331 case 666:
7332 #line 3035 "parse.y"
7333 { yyval.ttype = yyvsp[0].ttype; ;
7334 break;}
7335 case 667:
7336 #line 3040 "parse.y"
7337 { got_scope = NULL_TREE; ;
7338 break;}
7339 case 668:
7340 #line 3042 "parse.y"
7341 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7342 break;}
7343 case 669:
7344 #line 3049 "parse.y"
7345 { got_scope = void_type_node; ;
7346 break;}
7347 case 670:
7348 #line 3055 "parse.y"
7349 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7350 break;}
7351 case 671:
7352 #line 3057 "parse.y"
7353 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7354 break;}
7355 case 672:
7356 #line 3059 "parse.y"
7357 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7358 break;}
7359 case 673:
7360 #line 3061 "parse.y"
7361 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7362 break;}
7363 case 674:
7364 #line 3063 "parse.y"
7365 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7366 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7368 break;}
7369 case 675:
7370 #line 3067 "parse.y"
7371 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7372 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7374 break;}
7375 case 677:
7376 #line 3076 "parse.y"
7377 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7378 break;}
7379 case 678:
7380 #line 3078 "parse.y"
7381 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7382 break;}
7383 case 680:
7384 #line 3084 "parse.y"
7386 /* Provide support for '(' attributes '*' declarator ')'
7387 etc */
7388 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7390 break;}
7391 case 681:
7392 #line 3094 "parse.y"
7393 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7394 break;}
7395 case 682:
7396 #line 3096 "parse.y"
7397 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7398 break;}
7399 case 683:
7400 #line 3098 "parse.y"
7401 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7402 break;}
7403 case 684:
7404 #line 3100 "parse.y"
7405 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7406 break;}
7407 case 685:
7408 #line 3102 "parse.y"
7409 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7410 break;}
7411 case 686:
7412 #line 3104 "parse.y"
7413 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7414 break;}
7415 case 687:
7416 #line 3106 "parse.y"
7417 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7418 break;}
7419 case 688:
7420 #line 3108 "parse.y"
7421 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7422 break;}
7423 case 689:
7424 #line 3110 "parse.y"
7425 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7426 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7428 break;}
7429 case 690:
7430 #line 3114 "parse.y"
7431 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7432 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7434 break;}
7435 case 692:
7436 #line 3123 "parse.y"
7437 { yyval.ttype = yyvsp[-1].ttype; ;
7438 break;}
7439 case 693:
7440 #line 3126 "parse.y"
7441 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7442 break;}
7443 case 694:
7444 #line 3128 "parse.y"
7445 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7446 break;}
7447 case 695:
7448 #line 3130 "parse.y"
7449 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7450 break;}
7451 case 696:
7452 #line 3132 "parse.y"
7453 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7454 break;}
7455 case 697:
7456 #line 3134 "parse.y"
7457 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7458 break;}
7459 case 698:
7460 #line 3136 "parse.y"
7461 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7462 break;}
7463 case 699:
7464 #line 3138 "parse.y"
7465 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7466 break;}
7467 case 700:
7468 #line 3140 "parse.y"
7469 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7470 break;}
7471 case 701:
7472 #line 3142 "parse.y"
7473 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7474 break;}
7475 case 708:
7476 #line 3165 "parse.y"
7477 { if (pedantic)
7478 pedwarn ("ANSI C++ forbids label declarations"); ;
7479 break;}
7480 case 711:
7481 #line 3176 "parse.y"
7483 while (yyvsp[-1].ttype)
7485 finish_label_decl (TREE_VALUE (yyvsp[-1].ttype));
7486 yyvsp[-1].ttype = TREE_CHAIN (yyvsp[-1].ttype);
7489 break;}
7490 case 712:
7491 #line 3189 "parse.y"
7493 break;}
7494 case 714:
7495 #line 3195 "parse.y"
7496 { yyval.ttype = begin_compound_stmt (0); ;
7497 break;}
7498 case 715:
7499 #line 3197 "parse.y"
7500 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7501 break;}
7502 case 716:
7503 #line 3202 "parse.y"
7505 yyval.ttype = begin_if_stmt ();
7506 cond_stmt_keyword = "if";
7508 break;}
7509 case 717:
7510 #line 3207 "parse.y"
7511 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7512 break;}
7513 case 718:
7514 #line 3209 "parse.y"
7515 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7516 break;}
7517 case 720:
7518 #line 3214 "parse.y"
7519 { yyval.ttype = begin_compound_stmt (0); ;
7520 break;}
7521 case 721:
7522 #line 3216 "parse.y"
7523 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7524 break;}
7525 case 722:
7526 #line 3221 "parse.y"
7528 break;}
7529 case 724:
7530 #line 3227 "parse.y"
7531 { finish_stmt (); ;
7532 break;}
7533 case 725:
7534 #line 3229 "parse.y"
7535 { finish_expr_stmt (yyvsp[-1].ttype); ;
7536 break;}
7537 case 726:
7538 #line 3231 "parse.y"
7539 { begin_else_clause (); ;
7540 break;}
7541 case 727:
7542 #line 3233 "parse.y"
7544 finish_else_clause (yyvsp[-3].ttype);
7545 finish_if_stmt ();
7547 break;}
7548 case 728:
7549 #line 3238 "parse.y"
7550 { finish_if_stmt (); ;
7551 break;}
7552 case 729:
7553 #line 3240 "parse.y"
7555 yyval.ttype = begin_while_stmt ();
7556 cond_stmt_keyword = "while";
7558 break;}
7559 case 730:
7560 #line 3245 "parse.y"
7561 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7562 break;}
7563 case 731:
7564 #line 3247 "parse.y"
7565 { finish_while_stmt (yyvsp[-3].ttype); ;
7566 break;}
7567 case 732:
7568 #line 3249 "parse.y"
7569 { yyval.ttype = begin_do_stmt (); ;
7570 break;}
7571 case 733:
7572 #line 3251 "parse.y"
7574 finish_do_body (yyvsp[-2].ttype);
7575 cond_stmt_keyword = "do";
7577 break;}
7578 case 734:
7579 #line 3256 "parse.y"
7580 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7581 break;}
7582 case 735:
7583 #line 3258 "parse.y"
7584 { yyval.ttype = begin_for_stmt (); ;
7585 break;}
7586 case 736:
7587 #line 3260 "parse.y"
7588 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7589 break;}
7590 case 737:
7591 #line 3262 "parse.y"
7592 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7593 break;}
7594 case 738:
7595 #line 3264 "parse.y"
7596 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7597 break;}
7598 case 739:
7599 #line 3266 "parse.y"
7600 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7601 break;}
7602 case 740:
7603 #line 3268 "parse.y"
7604 { yyval.ttype = begin_switch_stmt (); ;
7605 break;}
7606 case 741:
7607 #line 3270 "parse.y"
7608 { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7609 break;}
7610 case 742:
7611 #line 3272 "parse.y"
7612 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-5].ttype); ;
7613 break;}
7614 case 743:
7615 #line 3274 "parse.y"
7616 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7617 break;}
7618 case 745:
7619 #line 3277 "parse.y"
7620 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7621 break;}
7622 case 747:
7623 #line 3280 "parse.y"
7624 { finish_case_label (NULL_TREE, NULL_TREE); ;
7625 break;}
7626 case 749:
7627 #line 3283 "parse.y"
7628 { finish_break_stmt (); ;
7629 break;}
7630 case 750:
7631 #line 3285 "parse.y"
7632 { finish_continue_stmt (); ;
7633 break;}
7634 case 751:
7635 #line 3287 "parse.y"
7636 { finish_return_stmt (NULL_TREE); ;
7637 break;}
7638 case 752:
7639 #line 3289 "parse.y"
7640 { finish_return_stmt (yyvsp[-1].ttype); ;
7641 break;}
7642 case 753:
7643 #line 3291 "parse.y"
7645 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7646 NULL_TREE);
7648 break;}
7649 case 754:
7650 #line 3297 "parse.y"
7652 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7653 NULL_TREE);
7655 break;}
7656 case 755:
7657 #line 3303 "parse.y"
7658 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7659 break;}
7660 case 756:
7661 #line 3307 "parse.y"
7662 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7663 break;}
7664 case 757:
7665 #line 3309 "parse.y"
7667 if (pedantic)
7668 pedwarn ("ANSI C++ forbids computed gotos");
7669 finish_goto_stmt (yyvsp[-1].ttype);
7671 break;}
7672 case 758:
7673 #line 3315 "parse.y"
7674 { finish_goto_stmt (yyvsp[-1].ttype); ;
7675 break;}
7676 case 760:
7677 #line 3318 "parse.y"
7678 { error ("label must be followed by statement");
7679 yyungetc ('}', 0); ;
7680 break;}
7681 case 761:
7682 #line 3321 "parse.y"
7683 { finish_stmt (); ;
7684 break;}
7685 case 764:
7686 #line 3325 "parse.y"
7687 { do_local_using_decl (yyvsp[0].ttype); ;
7688 break;}
7689 case 766:
7690 #line 3331 "parse.y"
7691 { yyval.ttype = begin_function_try_block (); ;
7692 break;}
7693 case 767:
7694 #line 3333 "parse.y"
7695 { finish_function_try_block (yyvsp[-2].ttype); ;
7696 break;}
7697 case 768:
7698 #line 3335 "parse.y"
7700 finish_function_handler_sequence (yyvsp[-4].ttype);
7701 yyval.itype = yyvsp[-3].itype;
7703 break;}
7704 case 769:
7705 #line 3343 "parse.y"
7706 { yyval.ttype = begin_try_block (); ;
7707 break;}
7708 case 770:
7709 #line 3345 "parse.y"
7710 { finish_try_block (yyvsp[-1].ttype); ;
7711 break;}
7712 case 771:
7713 #line 3347 "parse.y"
7714 { finish_handler_sequence (yyvsp[-3].ttype); ;
7715 break;}
7716 case 774:
7717 #line 3357 "parse.y"
7718 { yyval.ttype = begin_handler(); ;
7719 break;}
7720 case 775:
7721 #line 3359 "parse.y"
7722 { yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7723 break;}
7724 case 776:
7725 #line 3361 "parse.y"
7726 { finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7727 break;}
7728 case 779:
7729 #line 3371 "parse.y"
7730 { yyval.ttype = NULL_TREE; ;
7731 break;}
7732 case 780:
7733 #line 3387 "parse.y"
7735 check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7736 yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
7737 TREE_VALUE (yyvsp[-1].ftype.t));
7739 break;}
7740 case 781:
7741 #line 3396 "parse.y"
7742 { finish_label_stmt (yyvsp[-1].ttype); ;
7743 break;}
7744 case 782:
7745 #line 3398 "parse.y"
7746 { finish_label_stmt (yyvsp[-1].ttype); ;
7747 break;}
7748 case 783:
7749 #line 3400 "parse.y"
7750 { finish_label_stmt (yyvsp[-1].ttype); ;
7751 break;}
7752 case 784:
7753 #line 3402 "parse.y"
7754 { finish_label_stmt (yyvsp[-1].ttype); ;
7755 break;}
7756 case 785:
7757 #line 3407 "parse.y"
7758 { finish_expr_stmt (yyvsp[-1].ttype); ;
7759 break;}
7760 case 787:
7761 #line 3410 "parse.y"
7762 { if (pedantic)
7763 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7765 break;}
7766 case 788:
7767 #line 3419 "parse.y"
7768 { emit_line_note (input_filename, lineno);
7769 yyval.ttype = NULL_TREE; ;
7770 break;}
7771 case 789:
7772 #line 3422 "parse.y"
7773 { emit_line_note (input_filename, lineno); ;
7774 break;}
7775 case 790:
7776 #line 3427 "parse.y"
7777 { yyval.ttype = NULL_TREE; ;
7778 break;}
7779 case 792:
7780 #line 3430 "parse.y"
7781 { yyval.ttype = NULL_TREE; ;
7782 break;}
7783 case 793:
7784 #line 3437 "parse.y"
7785 { yyval.ttype = NULL_TREE; ;
7786 break;}
7787 case 796:
7788 #line 3444 "parse.y"
7789 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7790 break;}
7791 case 797:
7792 #line 3449 "parse.y"
7793 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7794 break;}
7795 case 798:
7796 #line 3454 "parse.y"
7797 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7798 break;}
7799 case 799:
7800 #line 3456 "parse.y"
7801 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7802 break;}
7803 case 800:
7804 #line 3467 "parse.y"
7806 yyval.ttype = empty_parms();
7808 break;}
7809 case 802:
7810 #line 3472 "parse.y"
7811 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7812 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7813 break;}
7814 case 803:
7815 #line 3480 "parse.y"
7816 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7817 break;}
7818 case 804:
7819 #line 3482 "parse.y"
7820 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7821 break;}
7822 case 805:
7823 #line 3485 "parse.y"
7824 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7825 break;}
7826 case 806:
7827 #line 3487 "parse.y"
7828 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7829 yyvsp[-1].ftype.t), 1); ;
7830 break;}
7831 case 807:
7832 #line 3490 "parse.y"
7833 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7834 break;}
7835 case 808:
7836 #line 3492 "parse.y"
7838 /* This helps us recover from really nasty
7839 parse errors, for example, a missing right
7840 parenthesis. */
7841 yyerror ("possibly missing ')'");
7842 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7843 yyungetc (':', 0);
7844 yychar = ')';
7846 break;}
7847 case 809:
7848 #line 3502 "parse.y"
7850 /* This helps us recover from really nasty
7851 parse errors, for example, a missing right
7852 parenthesis. */
7853 yyerror ("possibly missing ')'");
7854 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7855 yyvsp[-1].ftype.t), 0);
7856 yyungetc (':', 0);
7857 yychar = ')';
7859 break;}
7860 case 810:
7861 #line 3517 "parse.y"
7862 { maybe_snarf_defarg (); ;
7863 break;}
7864 case 811:
7865 #line 3519 "parse.y"
7866 { yyval.ttype = yyvsp[0].ttype; ;
7867 break;}
7868 case 814:
7869 #line 3530 "parse.y"
7870 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7871 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7872 break;}
7873 case 815:
7874 #line 3533 "parse.y"
7875 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7876 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7877 break;}
7878 case 816:
7879 #line 3536 "parse.y"
7880 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7881 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7882 break;}
7883 case 817:
7884 #line 3539 "parse.y"
7885 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7886 break;}
7887 case 818:
7888 #line 3541 "parse.y"
7889 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7890 break;}
7891 case 820:
7892 #line 3547 "parse.y"
7893 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7894 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7895 break;}
7896 case 821:
7897 #line 3557 "parse.y"
7898 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7899 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7900 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7901 break;}
7902 case 822:
7903 #line 3561 "parse.y"
7904 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7905 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7906 break;}
7907 case 823:
7908 #line 3564 "parse.y"
7909 { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
7910 yyvsp[0].ttype);
7911 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7912 break;}
7913 case 824:
7914 #line 3568 "parse.y"
7915 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7916 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7917 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7918 break;}
7919 case 825:
7920 #line 3572 "parse.y"
7921 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7922 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7923 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7924 break;}
7925 case 826:
7926 #line 3576 "parse.y"
7927 { tree specs = strip_attrs (yyvsp[-1].ttype);
7928 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7929 yyval.ftype.new_type_flag = 0; ;
7930 break;}
7931 case 827:
7932 #line 3583 "parse.y"
7933 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7934 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7935 break;}
7936 case 828:
7937 #line 3586 "parse.y"
7938 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7939 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7940 break;}
7941 case 831:
7942 #line 3597 "parse.y"
7943 { see_typename (); ;
7944 break;}
7945 case 832:
7946 #line 3602 "parse.y"
7948 error ("type specifier omitted for parameter");
7949 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7951 break;}
7952 case 833:
7953 #line 3607 "parse.y"
7955 error ("type specifier omitted for parameter");
7956 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7957 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7958 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7959 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7960 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7962 break;}
7963 case 834:
7964 #line 3619 "parse.y"
7965 { yyval.ttype = NULL_TREE; ;
7966 break;}
7967 case 835:
7968 #line 3621 "parse.y"
7969 { yyval.ttype = yyvsp[-1].ttype; ;
7970 break;}
7971 case 836:
7972 #line 3623 "parse.y"
7973 { yyval.ttype = empty_except_spec; ;
7974 break;}
7975 case 837:
7976 #line 3628 "parse.y"
7978 check_for_new_type ("exception specifier", yyvsp[0].ftype);
7979 yyval.ttype = groktypename (yyvsp[0].ftype.t);
7981 break;}
7982 case 838:
7983 #line 3636 "parse.y"
7984 { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
7985 break;}
7986 case 839:
7987 #line 3638 "parse.y"
7988 { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
7989 break;}
7990 case 840:
7991 #line 3643 "parse.y"
7992 { yyval.ttype = NULL_TREE; ;
7993 break;}
7994 case 841:
7995 #line 3645 "parse.y"
7996 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7997 break;}
7998 case 842:
7999 #line 3647 "parse.y"
8000 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8001 break;}
8002 case 843:
8003 #line 3649 "parse.y"
8004 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8005 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8007 break;}
8008 case 844:
8009 #line 3656 "parse.y"
8010 { got_scope = NULL_TREE; ;
8011 break;}
8012 case 845:
8013 #line 3661 "parse.y"
8014 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
8015 break;}
8016 case 846:
8017 #line 3663 "parse.y"
8018 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
8019 break;}
8020 case 847:
8021 #line 3665 "parse.y"
8022 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
8023 break;}
8024 case 848:
8025 #line 3667 "parse.y"
8026 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
8027 break;}
8028 case 849:
8029 #line 3669 "parse.y"
8030 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
8031 break;}
8032 case 850:
8033 #line 3671 "parse.y"
8034 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
8035 break;}
8036 case 851:
8037 #line 3673 "parse.y"
8038 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
8039 break;}
8040 case 852:
8041 #line 3675 "parse.y"
8042 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
8043 break;}
8044 case 853:
8045 #line 3677 "parse.y"
8046 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
8047 break;}
8048 case 854:
8049 #line 3679 "parse.y"
8050 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
8051 break;}
8052 case 855:
8053 #line 3681 "parse.y"
8054 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8055 break;}
8056 case 856:
8057 #line 3683 "parse.y"
8058 { yyval.ttype = ansi_opname[LT_EXPR]; ;
8059 break;}
8060 case 857:
8061 #line 3685 "parse.y"
8062 { yyval.ttype = ansi_opname[GT_EXPR]; ;
8063 break;}
8064 case 858:
8065 #line 3687 "parse.y"
8066 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8067 break;}
8068 case 859:
8069 #line 3689 "parse.y"
8070 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
8071 break;}
8072 case 860:
8073 #line 3691 "parse.y"
8074 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
8075 break;}
8076 case 861:
8077 #line 3693 "parse.y"
8078 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8079 break;}
8080 case 862:
8081 #line 3695 "parse.y"
8082 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8083 break;}
8084 case 863:
8085 #line 3697 "parse.y"
8086 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
8087 break;}
8088 case 864:
8089 #line 3699 "parse.y"
8090 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
8091 break;}
8092 case 865:
8093 #line 3701 "parse.y"
8094 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
8095 break;}
8096 case 866:
8097 #line 3703 "parse.y"
8098 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
8099 break;}
8100 case 867:
8101 #line 3705 "parse.y"
8102 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
8103 break;}
8104 case 868:
8105 #line 3707 "parse.y"
8106 { yyval.ttype = ansi_opname[COND_EXPR]; ;
8107 break;}
8108 case 869:
8109 #line 3709 "parse.y"
8110 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8111 break;}
8112 case 870:
8113 #line 3711 "parse.y"
8114 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
8115 break;}
8116 case 871:
8117 #line 3713 "parse.y"
8118 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
8119 break;}
8120 case 872:
8121 #line 3715 "parse.y"
8122 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
8123 break;}
8124 case 873:
8125 #line 3717 "parse.y"
8126 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
8127 break;}
8128 case 874:
8129 #line 3719 "parse.y"
8130 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
8131 break;}
8132 case 875:
8133 #line 3721 "parse.y"
8134 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
8135 break;}
8136 case 876:
8137 #line 3723 "parse.y"
8138 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
8139 break;}
8140 case 877:
8141 #line 3725 "parse.y"
8142 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
8143 break;}
8144 case 878:
8145 #line 3728 "parse.y"
8146 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8147 break;}
8148 case 879:
8149 #line 3730 "parse.y"
8150 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
8151 break;}
8153 /* the action file gets copied in in place of this dollarsign */
8154 #line 542 "/usr/lib/bison.simple"
8156 yyvsp -= yylen;
8157 yyssp -= yylen;
8158 #ifdef YYLSP_NEEDED
8159 yylsp -= yylen;
8160 #endif
8162 #if YYDEBUG != 0
8163 if (yydebug)
8165 short *ssp1 = yyss - 1;
8166 fprintf (stderr, "state stack now");
8167 while (ssp1 != yyssp)
8168 fprintf (stderr, " %d", *++ssp1);
8169 fprintf (stderr, "\n");
8171 #endif
8173 *++yyvsp = yyval;
8175 #ifdef YYLSP_NEEDED
8176 yylsp++;
8177 if (yylen == 0)
8179 yylsp->first_line = yylloc.first_line;
8180 yylsp->first_column = yylloc.first_column;
8181 yylsp->last_line = (yylsp-1)->last_line;
8182 yylsp->last_column = (yylsp-1)->last_column;
8183 yylsp->text = 0;
8185 else
8187 yylsp->last_line = (yylsp+yylen-1)->last_line;
8188 yylsp->last_column = (yylsp+yylen-1)->last_column;
8190 #endif
8192 /* Now "shift" the result of the reduction.
8193 Determine what state that goes to,
8194 based on the state we popped back to
8195 and the rule number reduced by. */
8197 yyn = yyr1[yyn];
8199 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8200 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8201 yystate = yytable[yystate];
8202 else
8203 yystate = yydefgoto[yyn - YYNTBASE];
8205 goto yynewstate;
8207 yyerrlab: /* here on detecting error */
8209 if (! yyerrstatus)
8210 /* If not already recovering from an error, report this error. */
8212 ++yynerrs;
8214 #ifdef YYERROR_VERBOSE
8215 yyn = yypact[yystate];
8217 if (yyn > YYFLAG && yyn < YYLAST)
8219 int size = 0;
8220 char *msg;
8221 int x, count;
8223 count = 0;
8224 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8225 for (x = (yyn < 0 ? -yyn : 0);
8226 x < (sizeof(yytname) / sizeof(char *)); x++)
8227 if (yycheck[x + yyn] == x)
8228 size += strlen(yytname[x]) + 15, count++;
8229 msg = (char *) malloc(size + 15);
8230 if (msg != 0)
8232 strcpy(msg, "parse error");
8234 if (count < 5)
8236 count = 0;
8237 for (x = (yyn < 0 ? -yyn : 0);
8238 x < (sizeof(yytname) / sizeof(char *)); x++)
8239 if (yycheck[x + yyn] == x)
8241 strcat(msg, count == 0 ? ", expecting `" : " or `");
8242 strcat(msg, yytname[x]);
8243 strcat(msg, "'");
8244 count++;
8247 yyerror(msg);
8248 free(msg);
8250 else
8251 yyerror ("parse error; also virtual memory exceeded");
8253 else
8254 #endif /* YYERROR_VERBOSE */
8255 yyerror("parse error");
8258 goto yyerrlab1;
8259 yyerrlab1: /* here on error raised explicitly by an action */
8261 if (yyerrstatus == 3)
8263 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8265 /* return failure if at end of input */
8266 if (yychar == YYEOF)
8267 YYABORT;
8269 #if YYDEBUG != 0
8270 if (yydebug)
8271 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8272 #endif
8274 yychar = YYEMPTY;
8277 /* Else will try to reuse lookahead token
8278 after shifting the error token. */
8280 yyerrstatus = 3; /* Each real token shifted decrements this */
8282 goto yyerrhandle;
8284 yyerrdefault: /* current state does not do anything special for the error token. */
8286 #if 0
8287 /* This is wrong; only states that explicitly want error tokens
8288 should shift them. */
8289 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8290 if (yyn) goto yydefault;
8291 #endif
8293 yyerrpop: /* pop the current state because it cannot handle the error token */
8295 if (yyssp == yyss) YYABORT;
8296 yyvsp--;
8297 yystate = *--yyssp;
8298 #ifdef YYLSP_NEEDED
8299 yylsp--;
8300 #endif
8302 #if YYDEBUG != 0
8303 if (yydebug)
8305 short *ssp1 = yyss - 1;
8306 fprintf (stderr, "Error: state stack now");
8307 while (ssp1 != yyssp)
8308 fprintf (stderr, " %d", *++ssp1);
8309 fprintf (stderr, "\n");
8311 #endif
8313 yyerrhandle:
8315 yyn = yypact[yystate];
8316 if (yyn == YYFLAG)
8317 goto yyerrdefault;
8319 yyn += YYTERROR;
8320 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8321 goto yyerrdefault;
8323 yyn = yytable[yyn];
8324 if (yyn < 0)
8326 if (yyn == YYFLAG)
8327 goto yyerrpop;
8328 yyn = -yyn;
8329 goto yyreduce;
8331 else if (yyn == 0)
8332 goto yyerrpop;
8334 if (yyn == YYFINAL)
8335 YYACCEPT;
8337 #if YYDEBUG != 0
8338 if (yydebug)
8339 fprintf(stderr, "Shifting error token, ");
8340 #endif
8342 *++yyvsp = yylval;
8343 #ifdef YYLSP_NEEDED
8344 *++yylsp = yylloc;
8345 #endif
8347 yystate = yyn;
8348 goto yynewstate;
8350 yyacceptlab:
8351 /* YYACCEPT comes here. */
8352 if (yyfree_stacks)
8354 free (yyss);
8355 free (yyvs);
8356 #ifdef YYLSP_NEEDED
8357 free (yyls);
8358 #endif
8360 return 0;
8362 yyabortlab:
8363 /* YYABORT comes here. */
8364 if (yyfree_stacks)
8366 free (yyss);
8367 free (yyvs);
8368 #ifdef YYLSP_NEEDED
8369 free (yyls);
8370 #endif
8372 return 1;
8374 #line 3733 "parse.y"
8377 #ifdef SPEW_DEBUG
8378 const char *
8379 debug_yytranslate (value)
8380 int value;
8382 return yytname[YYTRANSLATE (value)];
8385 #endif