2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string
= "GNU C++";
116 extern tree void_list_node
;
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 char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec
;
135 int used_extern_spec
;
137 /* Cons up an empty parameter list. */
147 || current_class_type
!= NULL
)
148 parms
= void_list_node
;
156 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs
;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes
;
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr
;
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
176 extern tree combine_strings
PROTO((tree
));
179 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
188 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs
) != TREE_LIST
)
191 current_declspecs
= get_decl_list (current_declspecs
);
192 if (have_extern_spec
&& !used_extern_spec
)
194 current_declspecs
= decl_tree_cons (NULL_TREE
,
195 get_identifier ("extern"),
197 used_extern_spec
= 1;
199 sm
= suspend_momentary ();
200 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
201 attributes
, prefix_attributes
);
215 #define YYFLAG -32768
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 388)
220 static const char yytranslate
[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
225 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
227 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
253 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 static const short yyprhs
[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
262 52, 53, 60, 61, 67, 68, 75, 78, 79, 85,
263 88, 91, 95, 99, 101, 103, 106, 109, 111, 114,
264 115, 121, 125, 127, 131, 133, 134, 137, 140, 144,
265 146, 150, 152, 156, 158, 162, 165, 168, 171, 175,
266 179, 182, 185, 188, 191, 194, 196, 198, 200, 201,
267 203, 206, 207, 209, 214, 218, 222, 223, 232, 238,
268 239, 249, 256, 257, 266, 272, 273, 283, 290, 293,
269 296, 298, 301, 303, 310, 315, 322, 327, 330, 332,
270 335, 338, 340, 343, 345, 348, 351, 356, 359, 363,
271 364, 365, 367, 371, 374, 378, 380, 385, 388, 393,
272 396, 401, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 426, 427, 434, 435, 442, 443, 449,
274 450, 456, 457, 465, 466, 474, 475, 482, 483, 490,
275 491, 492, 497, 502, 504, 509, 511, 513, 514, 516,
276 518, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 542, 544, 548, 550, 554, 555, 557, 559, 560,
278 568, 570, 572, 576, 581, 585, 586, 590, 592, 596,
279 600, 604, 608, 610, 612, 614, 617, 620, 623, 626,
280 629, 632, 635, 640, 643, 648, 651, 655, 659, 664,
281 670, 677, 684, 692, 695, 700, 706, 709, 712, 714,
282 715, 720, 725, 729, 731, 735, 738, 742, 747, 749,
283 752, 758, 760, 764, 768, 772, 776, 780, 784, 788,
284 792, 796, 800, 804, 808, 812, 816, 820, 824, 828,
285 832, 836, 842, 846, 850, 852, 855, 859, 861, 863,
286 865, 867, 869, 870, 876, 882, 888, 894, 900, 902,
287 904, 906, 908, 911, 914, 918, 923, 928, 930, 932,
288 934, 938, 940, 942, 944, 946, 950, 954, 958, 959,
289 964, 969, 972, 977, 980, 983, 985, 990, 992, 1000,
290 1008, 1016, 1024, 1029, 1034, 1037, 1040, 1043, 1045, 1050,
291 1053, 1056, 1062, 1066, 1069, 1072, 1078, 1082, 1088, 1092,
292 1097, 1104, 1107, 1109, 1112, 1114, 1117, 1119, 1121, 1123,
293 1126, 1127, 1130, 1133, 1137, 1141, 1145, 1148, 1151, 1154,
294 1156, 1158, 1160, 1163, 1166, 1169, 1172, 1174, 1176, 1178,
295 1180, 1183, 1186, 1190, 1194, 1198, 1203, 1205, 1208, 1211,
296 1214, 1216, 1218, 1220, 1223, 1226, 1229, 1231, 1233, 1236,
297 1239, 1243, 1245, 1248, 1250, 1252, 1254, 1259, 1264, 1269,
298 1274, 1276, 1278, 1280, 1282, 1286, 1288, 1292, 1294, 1298,
299 1299, 1304, 1305, 1312, 1316, 1317, 1322, 1324, 1328, 1332,
300 1333, 1338, 1342, 1343, 1345, 1347, 1350, 1357, 1359, 1363,
301 1364, 1366, 1371, 1378, 1383, 1385, 1387, 1389, 1391, 1393,
302 1397, 1398, 1401, 1403, 1406, 1410, 1415, 1417, 1419, 1423,
303 1428, 1432, 1438, 1440, 1445, 1449, 1453, 1454, 1458, 1462,
304 1466, 1467, 1470, 1473, 1474, 1482, 1487, 1488, 1495, 1499,
305 1502, 1505, 1508, 1509, 1510, 1520, 1522, 1523, 1525, 1526,
306 1528, 1530, 1533, 1536, 1539, 1542, 1545, 1548, 1552, 1557,
307 1561, 1564, 1568, 1569, 1571, 1575, 1578, 1581, 1583, 1585,
308 1586, 1589, 1593, 1595, 1600, 1602, 1606, 1608, 1610, 1615,
309 1620, 1623, 1626, 1630, 1634, 1636, 1637, 1639, 1642, 1647,
310 1651, 1653, 1656, 1659, 1662, 1665, 1668, 1671, 1674, 1676,
311 1679, 1682, 1686, 1689, 1692, 1697, 1702, 1705, 1707, 1713,
312 1718, 1720, 1721, 1723, 1727, 1728, 1730, 1734, 1736, 1738,
313 1740, 1742, 1747, 1752, 1757, 1762, 1767, 1771, 1776, 1781,
314 1786, 1791, 1795, 1797, 1801, 1803, 1807, 1810, 1812, 1820,
315 1821, 1824, 1826, 1829, 1830, 1833, 1838, 1843, 1846, 1851,
316 1855, 1859, 1862, 1865, 1869, 1871, 1873, 1876, 1878, 1880,
317 1883, 1886, 1891, 1896, 1900, 1904, 1907, 1909, 1913, 1917,
318 1920, 1923, 1927, 1929, 1933, 1937, 1940, 1943, 1947, 1949,
319 1954, 1958, 1963, 1967, 1969, 1972, 1975, 1978, 1981, 1984,
320 1986, 1989, 1994, 1999, 2002, 2004, 2006, 2008, 2010, 2013,
321 2018, 2021, 2024, 2027, 2030, 2032, 2035, 2038, 2041, 2044,
322 2048, 2050, 2053, 2057, 2062, 2065, 2068, 2071, 2074, 2077,
323 2080, 2085, 2088, 2090, 2093, 2096, 2100, 2102, 2106, 2109,
324 2113, 2116, 2119, 2123, 2125, 2129, 2134, 2138, 2141, 2144,
325 2146, 2150, 2153, 2156, 2158, 2161, 2165, 2167, 2171, 2173,
326 2180, 2185, 2190, 2194, 2200, 2204, 2208, 2212, 2215, 2217,
327 2219, 2222, 2225, 2228, 2229, 2231, 2233, 2236, 2240, 2242,
328 2245, 2246, 2250, 2251, 2252, 2258, 2260, 2261, 2264, 2266,
329 2268, 2270, 2273, 2274, 2279, 2281, 2282, 2283, 2289, 2290,
330 2291, 2299, 2300, 2301, 2302, 2303, 2316, 2317, 2318, 2326,
331 2327, 2333, 2334, 2342, 2343, 2348, 2351, 2354, 2357, 2361,
332 2368, 2377, 2388, 2401, 2406, 2410, 2413, 2416, 2418, 2420,
333 2421, 2422, 2429, 2430, 2431, 2437, 2439, 2442, 2443, 2444,
334 2450, 2452, 2454, 2458, 2462, 2465, 2468, 2471, 2474, 2477,
335 2479, 2482, 2483, 2485, 2486, 2488, 2490, 2491, 2493, 2495,
336 2499, 2504, 2506, 2510, 2511, 2513, 2515, 2517, 2520, 2523,
337 2526, 2528, 2531, 2534, 2535, 2539, 2541, 2543, 2545, 2548,
338 2551, 2554, 2559, 2562, 2565, 2568, 2571, 2574, 2577, 2579,
339 2582, 2584, 2587, 2589, 2591, 2592, 2593, 2595, 2596, 2601,
340 2604, 2606, 2608, 2612, 2613, 2617, 2621, 2625, 2627, 2630,
341 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660,
342 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687, 2690,
343 2693, 2696, 2700, 2703, 2706, 2709, 2712, 2716, 2719, 2722,
347 static const short yyrhs
[] = { -1,
348 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
349 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
350 122, 0, 142, 141, 0, 138, 0, 137, 0, 119,
351 93, 210, 108, 60, 0, 129, 58, 115, 109, 0,
352 129, 116, 142, 117, 141, 0, 129, 116, 138, 117,
353 0, 0, 44, 157, 58, 123, 115, 109, 0, 0,
354 44, 58, 124, 115, 109, 0, 0, 44, 157, 64,
355 125, 128, 60, 0, 127, 60, 0, 0, 46, 44,
356 126, 128, 60, 0, 118, 122, 0, 46, 302, 0,
357 46, 316, 302, 0, 46, 316, 201, 0, 201, 0,
358 302, 0, 316, 302, 0, 316, 201, 0, 98, 0,
359 129, 98, 0, 0, 48, 74, 131, 132, 75, 0,
360 48, 74, 75, 0, 136, 0, 132, 59, 136, 0,
361 157, 0, 0, 259, 133, 0, 45, 133, 0, 130,
362 259, 133, 0, 134, 0, 134, 64, 216, 0, 379,
363 0, 379, 64, 196, 0, 135, 0, 135, 64, 176,
364 0, 130, 122, 0, 130, 1, 0, 227, 60, 0,
365 220, 226, 60, 0, 217, 225, 60, 0, 220, 60,
366 0, 160, 60, 0, 217, 60, 0, 1, 60, 0,
367 1, 109, 0, 60, 0, 211, 0, 153, 0, 0,
368 152, 0, 152, 60, 0, 0, 107, 0, 148, 140,
369 139, 326, 0, 148, 140, 350, 0, 148, 140, 1,
370 0, 0, 307, 5, 93, 144, 370, 108, 289, 382,
371 0, 307, 5, 47, 289, 382, 0, 0, 316, 307,
372 5, 93, 145, 370, 108, 289, 382, 0, 316, 307,
373 5, 47, 289, 382, 0, 0, 307, 172, 93, 146,
374 370, 108, 289, 382, 0, 307, 172, 47, 289, 382,
375 0, 0, 316, 307, 172, 93, 147, 370, 108, 289,
376 382, 0, 316, 307, 172, 47, 289, 382, 0, 217,
377 214, 0, 220, 299, 0, 299, 0, 220, 143, 0,
378 143, 0, 5, 93, 370, 108, 289, 382, 0, 5,
379 47, 289, 382, 0, 172, 93, 370, 108, 289, 382,
380 0, 172, 47, 289, 382, 0, 220, 149, 0, 149,
381 0, 217, 214, 0, 220, 299, 0, 299, 0, 220,
382 143, 0, 143, 0, 25, 3, 0, 151, 244, 0,
383 151, 93, 188, 108, 0, 151, 47, 0, 62, 154,
384 155, 0, 0, 0, 156, 0, 155, 59, 156, 0,
385 155, 1, 0, 93, 188, 108, 0, 47, 0, 158,
386 93, 188, 108, 0, 158, 47, 0, 295, 93, 188,
387 108, 0, 295, 47, 0, 309, 93, 188, 108, 0,
388 309, 47, 0, 3, 0, 4, 0, 5, 0, 56,
389 0, 57, 0, 3, 0, 56, 0, 57, 0, 104,
390 0, 103, 0, 105, 0, 0, 48, 169, 223, 60,
391 161, 170, 0, 0, 48, 169, 217, 214, 162, 170,
392 0, 0, 48, 169, 299, 163, 170, 0, 0, 48,
393 169, 143, 164, 170, 0, 0, 7, 48, 169, 223,
394 60, 165, 170, 0, 0, 7, 48, 169, 217, 214,
395 166, 170, 0, 0, 7, 48, 169, 299, 167, 170,
396 0, 0, 7, 48, 169, 143, 168, 170, 0, 0,
397 0, 56, 74, 174, 173, 0, 4, 74, 174, 173,
398 0, 172, 0, 5, 74, 174, 173, 0, 75, 0,
399 77, 0, 0, 175, 0, 176, 0, 175, 59, 176,
400 0, 216, 0, 56, 0, 196, 0, 79, 0, 78,
401 0, 86, 0, 87, 0, 110, 0, 187, 0, 196,
402 0, 47, 0, 93, 178, 108, 0, 47, 0, 93,
403 182, 108, 0, 0, 182, 0, 1, 0, 0, 360,
404 214, 228, 237, 64, 183, 245, 0, 178, 0, 109,
405 0, 323, 321, 109, 0, 323, 321, 1, 109, 0,
406 323, 1, 109, 0, 0, 58, 186, 184, 0, 335,
407 0, 196, 59, 196, 0, 196, 59, 1, 0, 187,
408 59, 196, 0, 187, 59, 1, 0, 196, 0, 187,
409 0, 205, 0, 118, 195, 0, 80, 195, 0, 70,
410 195, 0, 88, 195, 0, 177, 195, 0, 67, 157,
411 0, 13, 189, 0, 13, 93, 216, 108, 0, 29,
412 189, 0, 29, 93, 216, 108, 0, 207, 288, 0,
413 207, 288, 193, 0, 207, 192, 288, 0, 207, 192,
414 288, 193, 0, 207, 93, 191, 216, 190, 0, 207,
415 93, 191, 216, 190, 193, 0, 207, 192, 93, 191,
416 216, 190, 0, 207, 192, 93, 191, 216, 190, 193,
417 0, 208, 195, 0, 208, 94, 111, 195, 0, 208,
418 94, 178, 111, 195, 0, 34, 195, 0, 35, 195,
419 0, 108, 0, 0, 93, 191, 188, 108, 0, 58,
420 191, 188, 109, 0, 93, 188, 108, 0, 47, 0,
421 93, 223, 108, 0, 64, 245, 0, 93, 216, 108,
422 0, 194, 93, 216, 108, 0, 189, 0, 194, 189,
423 0, 194, 58, 246, 257, 109, 0, 195, 0, 196,
424 83, 196, 0, 196, 84, 196, 0, 196, 78, 196,
425 0, 196, 79, 196, 0, 196, 80, 196, 0, 196,
426 81, 196, 0, 196, 82, 196, 0, 196, 76, 196,
427 0, 196, 77, 196, 0, 196, 73, 196, 0, 196,
428 74, 196, 0, 196, 75, 196, 0, 196, 72, 196,
429 0, 196, 71, 196, 0, 196, 70, 196, 0, 196,
430 68, 196, 0, 196, 69, 196, 0, 196, 67, 196,
431 0, 196, 66, 196, 0, 196, 65, 365, 62, 196,
432 0, 196, 64, 196, 0, 196, 63, 196, 0, 61,
433 0, 61, 196, 0, 88, 380, 157, 0, 199, 0,
434 387, 0, 3, 0, 56, 0, 57, 0, 0, 6,
435 74, 198, 174, 173, 0, 387, 74, 198, 174, 173,
436 0, 48, 157, 74, 174, 173, 0, 48, 6, 74,
437 174, 173, 0, 48, 387, 74, 174, 173, 0, 197,
438 0, 4, 0, 5, 0, 197, 0, 80, 202, 0,
439 70, 202, 0, 93, 202, 108, 0, 3, 74, 174,
440 173, 0, 57, 74, 175, 173, 0, 301, 0, 197,
441 0, 203, 0, 93, 202, 108, 0, 197, 0, 10,
442 0, 209, 0, 210, 0, 93, 178, 108, 0, 93,
443 202, 108, 0, 93, 1, 108, 0, 0, 93, 206,
444 327, 108, 0, 205, 93, 188, 108, 0, 205, 47,
445 0, 205, 94, 178, 111, 0, 205, 86, 0, 205,
446 87, 0, 40, 0, 9, 93, 188, 108, 0, 305,
447 0, 50, 74, 216, 75, 93, 178, 108, 0, 51,
448 74, 216, 75, 93, 178, 108, 0, 52, 74, 216,
449 75, 93, 178, 108, 0, 53, 74, 216, 75, 93,
450 178, 108, 0, 49, 93, 178, 108, 0, 49, 93,
451 216, 108, 0, 316, 3, 0, 316, 199, 0, 316,
452 387, 0, 304, 0, 304, 93, 188, 108, 0, 304,
453 47, 0, 212, 200, 0, 212, 200, 93, 188, 108,
454 0, 212, 200, 47, 0, 212, 201, 0, 212, 304,
455 0, 212, 201, 93, 188, 108, 0, 212, 201, 47,
456 0, 212, 304, 93, 188, 108, 0, 212, 304, 47,
457 0, 212, 88, 8, 47, 0, 212, 8, 54, 88,
458 8, 47, 0, 212, 1, 0, 39, 0, 316, 39,
459 0, 38, 0, 316, 208, 0, 42, 0, 43, 0,
460 11, 0, 210, 11, 0, 0, 205, 92, 0, 205,
461 91, 0, 223, 225, 60, 0, 217, 225, 60, 0,
462 220, 226, 60, 0, 217, 60, 0, 220, 60, 0,
463 118, 213, 0, 294, 0, 299, 0, 47, 0, 215,
464 47, 0, 221, 319, 0, 290, 319, 0, 223, 319,
465 0, 221, 0, 290, 0, 221, 0, 218, 0, 220,
466 223, 0, 223, 219, 0, 223, 222, 219, 0, 220,
467 223, 219, 0, 220, 223, 222, 0, 220, 223, 222,
468 219, 0, 7, 0, 219, 224, 0, 219, 7, 0,
469 219, 238, 0, 238, 0, 290, 0, 7, 0, 220,
470 9, 0, 220, 7, 0, 220, 238, 0, 238, 0,
471 223, 0, 290, 223, 0, 223, 222, 0, 290, 223,
472 222, 0, 224, 0, 222, 224, 0, 252, 0, 8,
473 0, 296, 0, 28, 93, 178, 108, 0, 28, 93,
474 216, 108, 0, 30, 93, 178, 108, 0, 30, 93,
475 216, 108, 0, 8, 0, 9, 0, 252, 0, 233,
476 0, 225, 59, 229, 0, 234, 0, 226, 59, 229,
477 0, 235, 0, 227, 59, 229, 0, 0, 119, 93,
478 210, 108, 0, 0, 214, 228, 237, 64, 230, 245,
479 0, 214, 228, 237, 0, 0, 237, 64, 232, 245,
480 0, 237, 0, 214, 228, 231, 0, 299, 228, 231,
481 0, 0, 299, 228, 236, 231, 0, 143, 228, 237,
482 0, 0, 238, 0, 239, 0, 238, 239, 0, 31,
483 93, 93, 240, 108, 108, 0, 241, 0, 240, 59,
484 241, 0, 0, 242, 0, 242, 93, 3, 108, 0,
485 242, 93, 3, 59, 188, 108, 0, 242, 93, 188,
486 108, 0, 157, 0, 7, 0, 8, 0, 9, 0,
487 157, 0, 243, 59, 157, 0, 0, 64, 245, 0,
488 196, 0, 58, 109, 0, 58, 246, 109, 0, 58,
489 246, 59, 109, 0, 1, 0, 245, 0, 246, 59,
490 245, 0, 94, 196, 111, 245, 0, 157, 62, 245,
491 0, 246, 59, 157, 62, 245, 0, 97, 0, 247,
492 140, 139, 326, 0, 247, 140, 350, 0, 247, 140,
493 1, 0, 0, 249, 248, 141, 0, 102, 196, 107,
494 0, 102, 1, 107, 0, 0, 251, 250, 0, 251,
495 1, 0, 0, 14, 157, 58, 253, 286, 258, 109,
496 0, 14, 157, 58, 109, 0, 0, 14, 58, 254,
497 286, 258, 109, 0, 14, 58, 109, 0, 14, 157,
498 0, 14, 314, 0, 45, 309, 0, 0, 0, 266,
499 272, 274, 109, 237, 255, 251, 256, 249, 0, 266,
500 0, 0, 59, 0, 0, 59, 0, 36, 0, 259,
501 7, 0, 259, 8, 0, 259, 9, 0, 259, 36,
502 0, 259, 157, 0, 259, 159, 0, 259, 307, 157,
503 0, 259, 316, 307, 157, 0, 259, 316, 157, 0,
504 259, 171, 0, 259, 307, 171, 0, 0, 260, 0,
505 261, 263, 267, 0, 262, 267, 0, 259, 58, 0,
506 265, 0, 264, 0, 0, 62, 380, 0, 62, 380,
507 268, 0, 269, 0, 268, 59, 380, 269, 0, 270,
508 0, 271, 380, 270, 0, 309, 0, 295, 0, 30,
509 93, 178, 108, 0, 30, 93, 216, 108, 0, 37,
510 380, 0, 7, 380, 0, 271, 37, 380, 0, 271,
511 7, 380, 0, 58, 0, 0, 273, 0, 273, 275,
512 0, 274, 37, 62, 275, 0, 274, 37, 62, 0,
513 276, 0, 275, 276, 0, 277, 60, 0, 277, 109,
514 0, 150, 62, 0, 150, 95, 0, 150, 25, 0,
515 150, 58, 0, 60, 0, 118, 276, 0, 130, 276,
516 0, 130, 217, 60, 0, 217, 278, 0, 220, 279,
517 0, 299, 228, 237, 244, 0, 143, 228, 237, 244,
518 0, 62, 196, 0, 1, 0, 220, 149, 228, 237,
519 244, 0, 149, 228, 237, 244, 0, 127, 0, 0,
520 280, 0, 278, 59, 281, 0, 0, 283, 0, 279,
521 59, 285, 0, 282, 0, 283, 0, 284, 0, 285,
522 0, 294, 228, 237, 244, 0, 4, 62, 196, 237,
523 0, 299, 228, 237, 244, 0, 143, 228, 237, 244,
524 0, 3, 62, 196, 237, 0, 62, 196, 237, 0,
525 294, 228, 237, 244, 0, 4, 62, 196, 237, 0,
526 299, 228, 237, 244, 0, 3, 62, 196, 237, 0,
527 62, 196, 237, 0, 287, 0, 286, 59, 287, 0,
528 157, 0, 157, 64, 196, 0, 360, 317, 0, 360,
529 0, 93, 191, 216, 190, 94, 178, 111, 0, 0,
530 289, 9, 0, 9, 0, 290, 9, 0, 0, 291,
531 178, 0, 291, 93, 188, 108, 0, 291, 93, 370,
532 108, 0, 291, 47, 0, 291, 93, 1, 108, 0,
533 80, 290, 294, 0, 70, 290, 294, 0, 80, 294,
534 0, 70, 294, 0, 315, 289, 294, 0, 298, 0,
535 306, 0, 316, 306, 0, 295, 0, 297, 0, 316,
536 297, 0, 307, 306, 0, 298, 293, 289, 382, 0,
537 298, 94, 292, 111, 0, 298, 94, 111, 0, 93,
538 294, 108, 0, 307, 306, 0, 306, 0, 80, 290,
539 299, 0, 70, 290, 299, 0, 80, 299, 0, 70,
540 299, 0, 315, 289, 299, 0, 204, 0, 80, 290,
541 299, 0, 70, 290, 299, 0, 80, 300, 0, 70,
542 300, 0, 315, 289, 299, 0, 301, 0, 204, 293,
543 289, 382, 0, 93, 300, 108, 0, 204, 94, 292,
544 111, 0, 204, 94, 111, 0, 303, 0, 307, 203,
545 0, 307, 201, 0, 307, 200, 0, 307, 197, 0,
546 307, 200, 0, 303, 0, 316, 303, 0, 223, 93,
547 188, 108, 0, 223, 93, 202, 108, 0, 223, 215,
548 0, 4, 0, 5, 0, 171, 0, 308, 0, 307,
549 308, 0, 307, 48, 313, 54, 0, 4, 54, 0,
550 5, 54, 0, 57, 54, 0, 171, 54, 0, 310,
551 0, 316, 310, 0, 311, 157, 0, 311, 171, 0,
552 311, 313, 0, 311, 48, 313, 0, 312, 0, 311,
553 312, 0, 311, 313, 54, 0, 311, 48, 313, 54,
554 0, 4, 54, 0, 5, 54, 0, 171, 54, 0,
555 56, 54, 0, 3, 54, 0, 57, 54, 0, 157,
556 74, 174, 173, 0, 316, 306, 0, 297, 0, 316,
557 297, 0, 307, 80, 0, 316, 307, 80, 0, 54,
558 0, 80, 289, 317, 0, 80, 289, 0, 70, 289,
559 317, 0, 70, 289, 0, 315, 289, 0, 315, 289,
560 317, 0, 318, 0, 94, 178, 111, 0, 318, 94,
561 292, 111, 0, 80, 290, 319, 0, 80, 319, 0,
562 80, 290, 0, 80, 0, 70, 290, 319, 0, 70,
563 319, 0, 70, 290, 0, 70, 0, 315, 289, 0,
564 315, 289, 319, 0, 320, 0, 93, 319, 108, 0,
565 90, 0, 320, 93, 370, 108, 289, 382, 0, 320,
566 47, 289, 382, 0, 320, 94, 292, 111, 0, 320,
567 94, 111, 0, 93, 371, 108, 289, 382, 0, 194,
568 289, 382, 0, 215, 289, 382, 0, 94, 292, 111,
569 0, 94, 111, 0, 334, 0, 322, 0, 321, 334,
570 0, 321, 322, 0, 1, 60, 0, 0, 324, 0,
571 325, 0, 324, 325, 0, 33, 243, 60, 0, 327,
572 0, 1, 327, 0, 0, 58, 328, 184, 0, 0,
573 0, 15, 330, 180, 331, 332, 0, 327, 0, 0,
574 333, 335, 0, 327, 0, 335, 0, 213, 0, 178,
575 60, 0, 0, 329, 16, 336, 332, 0, 329, 0,
576 0, 0, 17, 337, 180, 338, 185, 0, 0, 0,
577 18, 339, 332, 17, 340, 179, 60, 0, 0, 0,
578 0, 0, 19, 341, 93, 363, 342, 181, 60, 343,
579 365, 108, 344, 185, 0, 0, 0, 20, 345, 93,
580 182, 108, 346, 332, 0, 0, 21, 196, 62, 347,
581 334, 0, 0, 21, 196, 12, 196, 62, 348, 334,
582 0, 0, 22, 62, 349, 334, 0, 23, 60, 0,
583 24, 60, 0, 25, 60, 0, 25, 178, 60, 0,
584 119, 364, 93, 210, 108, 60, 0, 119, 364, 93,
585 210, 62, 366, 108, 60, 0, 119, 364, 93, 210,
586 62, 366, 62, 366, 108, 60, 0, 119, 364, 93,
587 210, 62, 366, 62, 366, 62, 369, 108, 60, 0,
588 26, 80, 178, 60, 0, 26, 157, 60, 0, 362,
589 334, 0, 362, 109, 0, 60, 0, 353, 0, 0,
590 0, 95, 351, 139, 327, 352, 356, 0, 0, 0,
591 95, 354, 327, 355, 356, 0, 357, 0, 356, 357,
592 0, 0, 0, 96, 358, 361, 359, 327, 0, 221,
593 0, 290, 0, 93, 12, 108, 0, 93, 379, 108,
594 0, 3, 62, 0, 56, 62, 0, 4, 62, 0,
595 5, 62, 0, 365, 60, 0, 213, 0, 58, 184,
596 0, 0, 9, 0, 0, 178, 0, 1, 0, 0,
597 367, 0, 368, 0, 367, 59, 368, 0, 11, 93,
598 178, 108, 0, 11, 0, 369, 59, 11, 0, 0,
599 371, 0, 216, 0, 375, 0, 376, 12, 0, 375,
600 12, 0, 216, 12, 0, 12, 0, 375, 62, 0,
601 216, 62, 0, 0, 64, 373, 374, 0, 101, 0,
602 245, 0, 377, 0, 379, 372, 0, 376, 378, 0,
603 376, 381, 0, 376, 381, 64, 245, 0, 375, 59,
604 0, 216, 59, 0, 218, 214, 0, 221, 214, 0,
605 223, 214, 0, 218, 319, 0, 218, 0, 220, 299,
606 0, 379, 0, 379, 372, 0, 377, 0, 216, 0,
607 0, 0, 299, 0, 0, 61, 93, 384, 108, 0,
608 61, 47, 0, 216, 0, 383, 0, 384, 59, 383,
609 0, 0, 80, 289, 385, 0, 70, 289, 385, 0,
610 315, 289, 385, 0, 41, 0, 386, 80, 0, 386,
611 81, 0, 386, 82, 0, 386, 78, 0, 386, 79,
612 0, 386, 70, 0, 386, 68, 0, 386, 69, 0,
613 386, 88, 0, 386, 59, 0, 386, 73, 0, 386,
614 74, 0, 386, 75, 0, 386, 72, 0, 386, 63,
615 0, 386, 64, 0, 386, 76, 0, 386, 77, 0,
616 386, 86, 0, 386, 87, 0, 386, 67, 0, 386,
617 66, 0, 386, 110, 0, 386, 65, 62, 0, 386,
618 71, 0, 386, 91, 0, 386, 83, 0, 386, 47,
619 0, 386, 94, 111, 0, 386, 39, 0, 386, 38,
620 0, 386, 39, 94, 111, 0, 386, 38, 94, 111,
621 0, 386, 360, 385, 0, 386, 1, 0
627 static const short yyrline
[] = { 0,
628 330, 332, 340, 343, 344, 348, 350, 353, 358, 362,
629 368, 372, 375, 379, 382, 384, 386, 389, 391, 394,
630 397, 399, 401, 403, 405, 407, 414, 416, 418, 428,
631 432, 435, 437, 441, 443, 444, 446, 450, 453, 459,
632 462, 464, 469, 472, 476, 479, 482, 485, 489, 494,
633 504, 506, 508, 510, 512, 525, 534, 544, 546, 548,
634 552, 554, 555, 562, 563, 564, 567, 570, 574, 576,
635 577, 580, 582, 585, 588, 590, 594, 597, 599, 603,
636 605, 607, 611, 613, 615, 619, 621, 623, 629, 633,
637 636, 639, 642, 647, 650, 652, 654, 660, 670, 672,
638 675, 678, 680, 683, 687, 696, 699, 701, 705, 718,
639 738, 741, 743, 744, 747, 754, 760, 762, 764, 766,
640 768, 771, 776, 778, 779, 780, 781, 784, 786, 787,
641 790, 792, 793, 796, 801, 801, 805, 805, 808, 808,
642 811, 811, 815, 815, 820, 820, 823, 823, 826, 828,
643 831, 838, 845, 851, 854, 863, 865, 873, 876, 879,
644 882, 886, 889, 891, 894, 897, 899, 901, 903, 907,
645 910, 913, 918, 922, 927, 931, 934, 935, 939, 958,
646 965, 968, 970, 971, 972, 975, 979, 980, 984, 988,
647 991, 993, 997, 1000, 1003, 1007, 1010, 1012, 1014, 1016,
648 1019, 1023, 1025, 1027, 1029, 1035, 1038, 1041, 1044, 1056,
649 1061, 1065, 1069, 1074, 1076, 1080, 1084, 1086, 1095, 1099,
650 1102, 1105, 1110, 1113, 1115, 1123, 1136, 1141, 1147, 1149,
651 1151, 1164, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181,
652 1183, 1185, 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201,
653 1203, 1205, 1207, 1211, 1213, 1215, 1232, 1235, 1236, 1237,
654 1238, 1239, 1242, 1245, 1248, 1252, 1255, 1257, 1262, 1264,
655 1265, 1268, 1270, 1272, 1274, 1278, 1281, 1285, 1287, 1288,
656 1289, 1293, 1301, 1302, 1303, 1311, 1313, 1316, 1318, 1328,
657 1330, 1332, 1334, 1336, 1338, 1341, 1343, 1387, 1388, 1392,
658 1396, 1400, 1404, 1406, 1410, 1412, 1414, 1422, 1424, 1426,
659 1428, 1432, 1434, 1436, 1438, 1443, 1445, 1447, 1449, 1452,
660 1454, 1456, 1500, 1503, 1507, 1510, 1514, 1517, 1522, 1524,
661 1528, 1541, 1544, 1551, 1558, 1563, 1565, 1570, 1572, 1579,
662 1581, 1585, 1589, 1595, 1599, 1602, 1605, 1608, 1618, 1620,
663 1623, 1627, 1630, 1633, 1636, 1639, 1645, 1651, 1653, 1658,
664 1660, 1669, 1672, 1674, 1677, 1683, 1685, 1695, 1699, 1702,
665 1705, 1710, 1713, 1721, 1723, 1725, 1727, 1730, 1733, 1748,
666 1767, 1770, 1772, 1775, 1777, 1780, 1782, 1785, 1787, 1790,
667 1793, 1797, 1803, 1804, 1816, 1823, 1826, 1832, 1836, 1841,
668 1847, 1848, 1856, 1859, 1863, 1866, 1870, 1875, 1878, 1882,
669 1885, 1887, 1889, 1891, 1898, 1900, 1901, 1902, 1906, 1909,
670 1913, 1916, 1922, 1924, 1927, 1930, 1933, 1939, 1942, 1945,
671 1947, 1949, 1953, 1959, 1967, 1969, 1973, 1975, 1980, 1983,
672 1986, 1988, 1990, 1994, 1998, 2003, 2007, 2010, 2015, 2019,
673 2022, 2025, 2029, 2041, 2043, 2046, 2066, 2068, 2071, 2073,
674 2078, 2080, 2082, 2084, 2086, 2090, 2095, 2100, 2106, 2111,
675 2116, 2118, 2122, 2127, 2130, 2137, 2165, 2171, 2173, 2176,
676 2179, 2181, 2185, 2187, 2191, 2217, 2246, 2249, 2250, 2271,
677 2294, 2296, 2300, 2311, 2325, 2330, 2337, 2340, 2348, 2359,
678 2368, 2372, 2387, 2390, 2395, 2397, 2399, 2401, 2403, 2405,
679 2408, 2410, 2414, 2420, 2422, 2425, 2428, 2430, 2441, 2446,
680 2449, 2454, 2457, 2458, 2469, 2472, 2473, 2484, 2486, 2489,
681 2491, 2494, 2501, 2509, 2516, 2522, 2528, 2536, 2540, 2545,
682 2549, 2552, 2561, 2563, 2567, 2570, 2575, 2579, 2585, 2596,
683 2599, 2603, 2607, 2615, 2620, 2626, 2629, 2631, 2633, 2639,
684 2642, 2644, 2646, 2648, 2652, 2655, 2673, 2683, 2685, 2686,
685 2690, 2695, 2698, 2700, 2702, 2704, 2708, 2714, 2717, 2719,
686 2721, 2723, 2727, 2730, 2733, 2735, 2737, 2739, 2743, 2746,
687 2749, 2751, 2753, 2755, 2762, 2773, 2777, 2782, 2786, 2791,
688 2793, 2797, 2800, 2802, 2806, 2808, 2809, 2812, 2814, 2816,
689 2822, 2837, 2843, 2849, 2863, 2865, 2869, 2883, 2885, 2887,
690 2891, 2897, 2910, 2912, 2916, 2929, 2935, 2937, 2938, 2939,
691 2947, 2952, 2961, 2962, 2966, 2969, 2975, 2981, 2984, 2986,
692 2988, 2990, 2994, 2998, 3002, 3005, 3010, 3013, 3015, 3017,
693 3019, 3021, 3023, 3025, 3027, 3031, 3035, 3039, 3043, 3044,
694 3046, 3048, 3050, 3052, 3054, 3056, 3058, 3060, 3068, 3070,
695 3071, 3072, 3075, 3081, 3083, 3088, 3090, 3093, 3107, 3110,
696 3113, 3117, 3120, 3127, 3129, 3132, 3134, 3136, 3139, 3142,
697 3145, 3148, 3150, 3153, 3157, 3159, 3165, 3167, 3168, 3170,
698 3175, 3177, 3179, 3181, 3183, 3186, 3187, 3189, 3192, 3193,
699 3196, 3196, 3199, 3199, 3202, 3202, 3204, 3206, 3208, 3210,
700 3216, 3222, 3225, 3228, 3234, 3236, 3238, 3242, 3244, 3247,
701 3254, 3259, 3267, 3271, 3273, 3276, 3278, 3281, 3285, 3287,
702 3290, 3292, 3295, 3312, 3318, 3326, 3328, 3330, 3334, 3337,
703 3338, 3346, 3350, 3354, 3357, 3358, 3364, 3367, 3370, 3372,
704 3376, 3381, 3384, 3394, 3399, 3400, 3407, 3410, 3413, 3415,
705 3418, 3420, 3430, 3444, 3448, 3451, 3453, 3457, 3461, 3464,
706 3467, 3469, 3473, 3475, 3482, 3489, 3492, 3495, 3499, 3503,
707 3509, 3513, 3518, 3520, 3523, 3528, 3534, 3545, 3548, 3550,
708 3554, 3559, 3561, 3568, 3571, 3573, 3575, 3581, 3586, 3589,
709 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605, 3607, 3609,
710 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3625, 3627, 3629,
711 3631, 3633, 3635, 3637, 3639, 3641, 3643, 3645, 3647, 3649,
717 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
719 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
720 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
721 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
722 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
723 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
724 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
725 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
726 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
727 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
728 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
729 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
730 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
731 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
732 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
733 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
734 "asm_keyword","lang_extdef","@2","extdef","@3","@4","@5","@6","using_decl","any_id",
735 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
736 "template_type_parm","template_template_parm","template_parm","template_def",
737 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
738 "constructor_declarator","@8","@9","@10","@11","fn.def1","component_constructor_declarator",
739 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
740 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
741 "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation",
742 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
743 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
744 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
745 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
746 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
747 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
748 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
749 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
750 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
751 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
752 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
753 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
754 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
755 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
756 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
757 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
758 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
759 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
760 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
761 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
762 "component_decl_1","components","notype_components","component_declarator0",
763 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
764 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
765 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
766 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
767 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
768 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
769 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
770 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
771 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
772 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
773 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
774 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
775 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
776 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
777 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
778 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
779 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
780 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
781 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
785 static const short yyr1
[] = { 0,
786 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
787 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
788 123, 122, 124, 122, 125, 122, 122, 126, 122, 122,
789 127, 127, 127, 128, 128, 128, 128, 129, 129, 131,
790 130, 130, 132, 132, 133, 133, 134, 134, 135, 136,
791 136, 136, 136, 136, 136, 137, 137, 138, 138, 138,
792 138, 138, 138, 138, 138, 138, 139, 139, 140, 140,
793 140, 141, 141, 142, 142, 142, 144, 143, 143, 145,
794 143, 143, 146, 143, 143, 147, 143, 143, 148, 148,
795 148, 148, 148, 149, 149, 149, 149, 150, 150, 150,
796 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
797 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
798 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
799 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
800 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
801 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
802 175, 176, 176, 176, 177, 177, 177, 177, 177, 178,
803 178, 179, 179, 180, 180, 181, 181, 181, 183, 182,
804 182, 184, 184, 184, 184, 186, 185, 185, 187, 187,
805 187, 187, 188, 188, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
807 189, 189, 189, 189, 189, 189, 189, 189, 190, 191,
808 192, 192, 193, 193, 193, 193, 194, 194, 195, 195,
809 195, 196, 196, 196, 196, 196, 196, 196, 196, 196,
810 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
811 196, 196, 196, 196, 196, 196, 197, 197, 197, 197,
812 197, 197, 198, 199, 199, 200, 200, 200, 201, 201,
813 201, 202, 202, 202, 202, 203, 203, 204, 204, 204,
814 204, 205, 205, 205, 205, 205, 205, 205, 206, 205,
815 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
816 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
817 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
818 205, 205, 207, 207, 208, 208, 209, 209, 210, 210,
819 211, 212, 212, 213, 213, 213, 213, 213, 213, 214,
820 214, 215, 215, 216, 216, 216, 216, 216, 217, 217,
821 218, 218, 218, 218, 218, 218, 219, 219, 219, 219,
822 219, 220, 220, 220, 220, 220, 220, 221, 221, 221,
823 221, 222, 222, 223, 223, 223, 223, 223, 223, 223,
824 224, 224, 224, 225, 225, 226, 226, 227, 227, 228,
825 228, 230, 229, 229, 232, 231, 231, 233, 234, 236,
826 235, 235, 237, 237, 238, 238, 239, 240, 240, 241,
827 241, 241, 241, 241, 242, 242, 242, 242, 243, 243,
828 244, 244, 245, 245, 245, 245, 245, 246, 246, 246,
829 246, 246, 247, 248, 248, 248, 249, 249, 250, 250,
830 251, 251, 251, 253, 252, 252, 254, 252, 252, 252,
831 252, 252, 255, 256, 252, 252, 257, 257, 258, 258,
832 259, 259, 259, 259, 259, 260, 261, 262, 262, 262,
833 262, 262, 263, 264, 264, 264, 265, 266, 266, 267,
834 267, 267, 268, 268, 269, 269, 270, 270, 270, 270,
835 271, 271, 271, 271, 272, 273, 274, 274, 274, 274,
836 275, 275, 276, 276, 276, 276, 276, 276, 276, 276,
837 276, 276, 277, 277, 277, 277, 277, 277, 277, 277,
838 277, 278, 278, 278, 279, 279, 279, 280, 280, 281,
839 281, 282, 282, 283, 283, 283, 283, 284, 284, 285,
840 285, 285, 286, 286, 287, 287, 288, 288, 288, 289,
841 289, 290, 290, 291, 292, 293, 293, 293, 293, 294,
842 294, 294, 294, 294, 294, 295, 295, 296, 296, 296,
843 297, 298, 298, 298, 298, 298, 298, 299, 299, 299,
844 299, 299, 299, 300, 300, 300, 300, 300, 300, 301,
845 301, 301, 301, 301, 301, 302, 302, 303, 303, 304,
846 304, 305, 305, 305, 306, 306, 306, 307, 307, 307,
847 308, 308, 308, 308, 309, 309, 310, 310, 310, 310,
848 311, 311, 311, 311, 312, 312, 312, 312, 312, 312,
849 313, 314, 314, 314, 315, 315, 316, 317, 317, 317,
850 317, 317, 317, 317, 318, 318, 319, 319, 319, 319,
851 319, 319, 319, 319, 319, 319, 319, 320, 320, 320,
852 320, 320, 320, 320, 320, 320, 320, 320, 321, 321,
853 321, 321, 322, 323, 323, 324, 324, 325, 326, 326,
854 328, 327, 330, 331, 329, 332, 333, 332, 334, 334,
855 335, 335, 336, 335, 335, 337, 338, 335, 339, 340,
856 335, 341, 342, 343, 344, 335, 345, 346, 335, 347,
857 335, 348, 335, 349, 335, 335, 335, 335, 335, 335,
858 335, 335, 335, 335, 335, 335, 335, 335, 335, 351,
859 352, 350, 354, 355, 353, 356, 356, 358, 359, 357,
860 360, 360, 361, 361, 362, 362, 362, 362, 363, 363,
861 363, 364, 364, 365, 365, 365, 366, 366, 367, 367,
862 368, 369, 369, 370, 370, 370, 371, 371, 371, 371,
863 371, 371, 371, 373, 372, 374, 374, 375, 375, 375,
864 375, 375, 376, 376, 377, 377, 377, 377, 377, 377,
865 378, 378, 379, 379, 380, 381, 381, 382, 382, 382,
866 383, 384, 384, 385, 385, 385, 385, 386, 387, 387,
867 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
868 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
869 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
873 static const short yyr2
[] = { 0,
874 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
875 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
876 0, 6, 0, 5, 0, 6, 2, 0, 5, 2,
877 2, 3, 3, 1, 1, 2, 2, 1, 2, 0,
878 5, 3, 1, 3, 1, 0, 2, 2, 3, 1,
879 3, 1, 3, 1, 3, 2, 2, 2, 3, 3,
880 2, 2, 2, 2, 2, 1, 1, 1, 0, 1,
881 2, 0, 1, 4, 3, 3, 0, 8, 5, 0,
882 9, 6, 0, 8, 5, 0, 9, 6, 2, 2,
883 1, 2, 1, 6, 4, 6, 4, 2, 1, 2,
884 2, 1, 2, 1, 2, 2, 4, 2, 3, 0,
885 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
886 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
887 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
888 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
889 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
890 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
891 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
892 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
893 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
894 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
895 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
896 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
897 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
898 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
899 3, 5, 3, 3, 1, 2, 3, 1, 1, 1,
900 1, 1, 0, 5, 5, 5, 5, 5, 1, 1,
901 1, 1, 2, 2, 3, 4, 4, 1, 1, 1,
902 3, 1, 1, 1, 1, 3, 3, 3, 0, 4,
903 4, 2, 4, 2, 2, 1, 4, 1, 7, 7,
904 7, 7, 4, 4, 2, 2, 2, 1, 4, 2,
905 2, 5, 3, 2, 2, 5, 3, 5, 3, 4,
906 6, 2, 1, 2, 1, 2, 1, 1, 1, 2,
907 0, 2, 2, 3, 3, 3, 2, 2, 2, 1,
908 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
909 2, 2, 3, 3, 3, 4, 1, 2, 2, 2,
910 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
911 3, 1, 2, 1, 1, 1, 4, 4, 4, 4,
912 1, 1, 1, 1, 3, 1, 3, 1, 3, 0,
913 4, 0, 6, 3, 0, 4, 1, 3, 3, 0,
914 4, 3, 0, 1, 1, 2, 6, 1, 3, 0,
915 1, 4, 6, 4, 1, 1, 1, 1, 1, 3,
916 0, 2, 1, 2, 3, 4, 1, 1, 3, 4,
917 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
918 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
919 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
920 1, 2, 2, 2, 2, 2, 2, 3, 4, 3,
921 2, 3, 0, 1, 3, 2, 2, 1, 1, 0,
922 2, 3, 1, 4, 1, 3, 1, 1, 4, 4,
923 2, 2, 3, 3, 1, 0, 1, 2, 4, 3,
924 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
925 2, 3, 2, 2, 4, 4, 2, 1, 5, 4,
926 1, 0, 1, 3, 0, 1, 3, 1, 1, 1,
927 1, 4, 4, 4, 4, 4, 3, 4, 4, 4,
928 4, 3, 1, 3, 1, 3, 2, 1, 7, 0,
929 2, 1, 2, 0, 2, 4, 4, 2, 4, 3,
930 3, 2, 2, 3, 1, 1, 2, 1, 1, 2,
931 2, 4, 4, 3, 3, 2, 1, 3, 3, 2,
932 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
933 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
934 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
935 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
936 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
937 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
938 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
939 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
940 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
941 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
942 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
943 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
944 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
945 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
946 8, 10, 12, 4, 3, 2, 2, 1, 1, 0,
947 0, 6, 0, 0, 5, 1, 2, 0, 0, 5,
948 1, 1, 3, 3, 2, 2, 2, 2, 2, 1,
949 2, 0, 1, 0, 1, 1, 0, 1, 1, 3,
950 4, 1, 3, 0, 1, 1, 1, 2, 2, 2,
951 1, 2, 2, 0, 3, 1, 1, 1, 2, 2,
952 2, 4, 2, 2, 2, 2, 2, 2, 1, 2,
953 1, 2, 1, 1, 0, 0, 1, 0, 4, 2,
954 1, 1, 3, 0, 3, 3, 3, 1, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
956 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
957 2, 3, 2, 2, 2, 2, 3, 2, 2, 4,
961 static const short yydefact
[] = { 3,
962 12, 12, 5, 0, 4, 0, 260, 605, 606, 0,
963 363, 375, 552, 0, 11, 0, 0, 0, 10, 461,
964 808, 0, 0, 0, 150, 637, 261, 262, 66, 0,
965 0, 795, 0, 38, 0, 0, 13, 0, 8, 0,
966 16, 15, 72, 93, 69, 0, 607, 154, 279, 258,
967 280, 583, 0, 350, 0, 349, 368, 0, 388, 367,
968 405, 374, 0, 474, 473, 480, 479, 478, 456, 362,
969 568, 376, 569, 91, 278, 594, 566, 0, 608, 550,
970 0, 0, 259, 64, 65, 158, 611, 158, 612, 158,
971 263, 150, 123, 124, 125, 126, 127, 447, 450, 0,
972 633, 0, 451, 0, 0, 0, 0, 124, 125, 126,
973 127, 23, 0, 0, 0, 0, 0, 0, 0, 452,
974 615, 0, 621, 0, 0, 0, 28, 0, 0, 31,
975 0, 0, 40, 0, 158, 613, 0, 0, 581, 0,
976 0, 0, 580, 0, 0, 0, 0, 279, 0, 554,
977 0, 278, 550, 30, 0, 27, 3, 39, 0, 57,
978 56, 73, 14, 0, 403, 0, 0, 421, 70, 62,
979 614, 554, 0, 550, 63, 0, 0, 0, 89, 0,
980 384, 340, 565, 341, 577, 0, 550, 365, 364, 61,
981 92, 351, 0, 386, 366, 90, 357, 381, 382, 352,
982 370, 372, 361, 383, 0, 58, 406, 462, 463, 464,
983 465, 477, 132, 131, 133, 466, 467, 471, 0, 0,
984 480, 795, 476, 495, 496, 553, 369, 0, 400, 606,
985 0, 635, 154, 598, 599, 595, 571, 609, 0, 570,
986 567, 0, 843, 839, 838, 836, 818, 823, 824, 0,
987 830, 829, 815, 816, 814, 833, 822, 819, 820, 821,
988 825, 826, 812, 813, 809, 810, 811, 835, 827, 828,
989 817, 834, 0, 831, 741, 368, 742, 804, 263, 260,
990 552, 283, 329, 0, 0, 0, 0, 325, 323, 296,
991 327, 328, 0, 0, 0, 0, 0, 261, 262, 255,
992 0, 0, 166, 165, 0, 167, 168, 0, 0, 169,
993 0, 0, 159, 160, 0, 229, 0, 232, 164, 282,
994 195, 0, 0, 284, 285, 0, 162, 347, 368, 348,
995 600, 308, 298, 0, 0, 0, 0, 158, 0, 449,
996 0, 444, 0, 634, 632, 0, 170, 171, 0, 0,
997 0, 410, 3, 21, 25, 629, 625, 626, 628, 630,
998 627, 123, 124, 125, 0, 126, 127, 617, 618, 622,
999 619, 616, 0, 270, 271, 269, 597, 596, 33, 32,
1000 42, 0, 363, 140, 0, 0, 368, 138, 0, 0,
1001 579, 0, 578, 257, 274, 0, 587, 273, 0, 586,
1002 0, 281, 591, 0, 0, 12, 0, 150, 9, 9,
1003 0, 402, 404, 105, 76, 110, 730, 0, 68, 67,
1004 75, 108, 0, 0, 106, 71, 593, 0, 0, 558,
1005 0, 798, 0, 563, 0, 562, 0, 0, 0, 0,
1006 550, 403, 0, 60, 554, 550, 576, 0, 354, 355,
1007 0, 59, 403, 359, 358, 360, 353, 373, 390, 389,
1008 468, 472, 470, 0, 475, 481, 0, 0, 371, 403,
1009 550, 77, 0, 0, 0, 0, 550, 83, 551, 582,
1010 606, 636, 154, 0, 0, 832, 837, 370, 550, 550,
1011 0, 550, 842, 158, 0, 0, 0, 202, 0, 0,
1012 204, 217, 218, 0, 0, 0, 0, 0, 256, 201,
1013 198, 197, 199, 0, 0, 0, 0, 0, 282, 0,
1014 0, 0, 196, 156, 157, 276, 0, 200, 0, 0,
1015 230, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 292, 294, 295, 333, 332, 0, 0,
1018 220, 220, 0, 206, 548, 0, 214, 330, 322, 0,
1019 0, 795, 311, 314, 315, 0, 0, 342, 654, 650,
1020 659, 0, 554, 550, 550, 550, 344, 657, 0, 604,
1021 346, 0, 0, 345, 310, 0, 305, 324, 306, 326,
1022 601, 0, 307, 153, 155, 0, 148, 0, 368, 146,
1023 545, 459, 543, 446, 0, 0, 377, 0, 0, 378,
1024 379, 380, 416, 417, 418, 415, 0, 408, 411, 0,
1025 3, 0, 620, 158, 623, 0, 34, 35, 0, 46,
1026 0, 0, 0, 50, 54, 43, 794, 789, 0, 347,
1027 368, 46, 348, 793, 52, 151, 136, 134, 151, 152,
1028 277, 585, 584, 281, 588, 0, 18, 20, 72, 0,
1029 111, 331, 0, 681, 74, 679, 427, 0, 423, 422,
1030 194, 0, 193, 555, 592, 0, 771, 0, 766, 368,
1031 0, 765, 767, 796, 778, 0, 0, 590, 561, 560,
1032 0, 0, 575, 0, 398, 397, 385, 574, 0, 798,
1033 564, 356, 387, 399, 403, 469, 605, 606, 795, 0,
1034 795, 607, 482, 483, 485, 795, 488, 487, 0, 518,
1035 606, 0, 509, 0, 0, 521, 0, 104, 99, 0,
1036 154, 522, 525, 0, 501, 0, 102, 0, 403, 401,
1037 798, 764, 158, 158, 610, 158, 798, 764, 550, 80,
1038 550, 86, 841, 840, 804, 804, 804, 0, 0, 0,
1039 0, 604, 0, 0, 0, 0, 368, 0, 0, 0,
1040 288, 0, 286, 287, 0, 227, 161, 260, 605, 606,
1041 261, 262, 0, 0, 428, 457, 0, 254, 253, 756,
1042 755, 0, 251, 250, 248, 249, 247, 246, 245, 242,
1043 243, 244, 240, 241, 235, 236, 237, 238, 239, 233,
1044 234, 0, 0, 0, 0, 220, 208, 224, 0, 0,
1045 207, 550, 550, 0, 550, 547, 644, 0, 0, 0,
1046 0, 0, 313, 0, 317, 0, 319, 0, 653, 652,
1047 649, 648, 794, 0, 0, 668, 0, 0, 798, 343,
1048 798, 655, 550, 764, 554, 654, 650, 0, 0, 550,
1049 0, 0, 0, 0, 0, 264, 151, 144, 142, 151,
1050 0, 460, 0, 459, 192, 191, 190, 189, 410, 0,
1051 0, 24, 0, 0, 624, 0, 29, 37, 36, 48,
1052 45, 46, 0, 41, 0, 0, 654, 650, 0, 785,
1053 550, 788, 790, 0, 786, 787, 47, 466, 0, 141,
1054 151, 151, 139, 17, 19, 391, 128, 116, 129, 130,
1055 0, 109, 112, 0, 0, 0, 0, 680, 674, 424,
1056 0, 107, 559, 556, 770, 784, 773, 0, 557, 769,
1057 783, 772, 768, 797, 780, 791, 781, 774, 779, 800,
1058 0, 395, 573, 572, 394, 492, 0, 491, 795, 795,
1059 795, 0, 550, 764, 517, 510, 522, 511, 403, 403,
1060 507, 508, 505, 506, 550, 764, 260, 605, 0, 390,
1061 100, 513, 523, 528, 529, 390, 390, 0, 0, 390,
1062 98, 514, 526, 390, 502, 503, 504, 403, 0, 453,
1063 79, 0, 0, 0, 0, 85, 0, 798, 764, 798,
1064 764, 806, 805, 807, 265, 297, 203, 205, 303, 304,
1065 0, 0, 0, 0, 287, 290, 0, 0, 0, 0,
1066 228, 0, 291, 293, 0, 0, 0, 0, 209, 226,
1067 0, 0, 641, 639, 0, 642, 554, 215, 0, 0,
1068 158, 320, 0, 0, 0, 651, 647, 658, 550, 667,
1069 665, 666, 656, 798, 0, 663, 0, 602, 603, 0,
1070 309, 149, 151, 151, 147, 546, 544, 448, 0, 409,
1071 407, 260, 0, 22, 26, 631, 49, 44, 51, 55,
1072 653, 649, 654, 650, 0, 566, 0, 550, 655, 53,
1073 137, 135, 0, 114, 0, 118, 0, 120, 0, 122,
1074 0, 731, 0, 182, 682, 0, 675, 676, 0, 425,
1075 654, 650, 0, 282, 0, 600, 792, 0, 0, 801,
1076 802, 0, 0, 392, 0, 0, 0, 494, 493, 486,
1077 798, 0, 512, 421, 421, 798, 0, 0, 0, 403,
1078 403, 0, 403, 403, 0, 403, 0, 421, 0, 441,
1079 550, 267, 266, 268, 550, 82, 0, 88, 0, 0,
1080 0, 0, 0, 0, 431, 0, 429, 231, 252, 222,
1081 221, 219, 210, 0, 223, 225, 640, 638, 645, 643,
1082 0, 216, 0, 0, 312, 316, 318, 798, 661, 550,
1083 662, 145, 143, 445, 0, 412, 414, 653, 649, 571,
1084 655, 115, 113, 0, 0, 0, 0, 419, 0, 0,
1085 260, 605, 606, 683, 696, 699, 702, 707, 0, 0,
1086 0, 0, 0, 0, 261, 728, 733, 0, 752, 0,
1087 691, 0, 0, 368, 0, 670, 689, 695, 669, 690,
1088 729, 0, 677, 426, 0, 603, 782, 776, 777, 775,
1089 0, 799, 396, 0, 489, 490, 484, 95, 550, 516,
1090 520, 97, 550, 403, 403, 537, 421, 260, 605, 0,
1091 524, 530, 531, 390, 390, 421, 421, 0, 421, 527,
1092 515, 0, 798, 798, 550, 550, 0, 0, 0, 0,
1093 430, 0, 0, 211, 212, 646, 321, 266, 664, 798,
1094 0, 117, 119, 121, 738, 732, 736, 0, 678, 673,
1095 185, 745, 747, 748, 0, 0, 687, 0, 0, 0,
1096 714, 716, 717, 718, 0, 0, 0, 746, 0, 339,
1097 753, 0, 692, 337, 390, 0, 338, 0, 390, 0,
1098 0, 0, 183, 672, 671, 693, 727, 726, 287, 803,
1099 393, 798, 798, 536, 533, 535, 0, 0, 403, 403,
1100 403, 532, 534, 519, 443, 0, 442, 437, 78, 84,
1101 798, 798, 299, 300, 301, 302, 432, 0, 213, 660,
1102 413, 0, 737, 420, 174, 0, 684, 697, 686, 0,
1103 0, 0, 0, 0, 710, 0, 719, 0, 725, 734,
1104 0, 335, 336, 0, 0, 0, 334, 184, 687, 94,
1105 96, 403, 403, 542, 421, 421, 0, 0, 455, 81,
1106 87, 549, 0, 739, 181, 0, 368, 0, 687, 0,
1107 700, 688, 674, 750, 703, 0, 0, 0, 0, 715,
1108 724, 0, 0, 694, 541, 539, 538, 540, 440, 439,
1109 433, 69, 72, 0, 0, 0, 175, 390, 685, 186,
1110 698, 188, 0, 751, 0, 749, 708, 712, 711, 735,
1111 757, 0, 0, 438, 743, 744, 740, 403, 674, 172,
1112 0, 0, 178, 0, 177, 687, 0, 0, 0, 758,
1113 759, 720, 436, 0, 435, 0, 187, 0, 701, 704,
1114 709, 713, 0, 757, 0, 0, 434, 179, 173, 0,
1115 0, 0, 721, 760, 0, 0, 761, 0, 0, 180,
1116 705, 762, 0, 722, 0, 0, 0, 706, 763, 723,
1120 static const short yydefgoto
[] = { 1551,
1121 406, 2, 407, 159, 668, 311, 164, 3, 4, 37,
1122 631, 353, 632, 373, 736, 636, 39, 737, 382, 643,
1123 900, 644, 645, 646, 41, 42, 418, 167, 163, 43,
1124 738, 752, 1019, 758, 1021, 45, 739, 740, 168, 169,
1125 419, 671, 932, 933, 611, 934, 217, 46, 922, 921,
1126 659, 656, 1084, 1083, 880, 877, 134, 920, 47, 48,
1127 526, 312, 313, 314, 315, 1250, 1502, 1407, 1504, 1446,
1128 1535, 1125, 1481, 1499, 347, 869, 316, 1193, 824, 563,
1129 831, 317, 318, 348, 320, 338, 50, 235, 637, 395,
1130 51, 52, 321, 521, 322, 323, 324, 325, 420, 326,
1131 1251, 459, 585, 327, 1252, 54, 200, 649, 328, 201,
1132 499, 202, 180, 193, 58, 442, 460, 1274, 705, 1143,
1133 181, 194, 59, 470, 706, 60, 61, 627, 628, 629,
1134 1229, 425, 795, 796, 1472, 1473, 1439, 1387, 1302, 62,
1135 615, 341, 1170, 1388, 1040, 883, 63, 64, 65, 66,
1136 221, 67, 68, 69, 223, 723, 724, 725, 726, 225,
1137 467, 468, 744, 745, 746, 992, 1002, 993, 1291, 994,
1138 995, 1292, 1293, 612, 613, 564, 859, 330, 428, 429,
1139 174, 182, 71, 72, 73, 183, 184, 151, 75, 130,
1140 331, 332, 333, 77, 334, 79, 728, 121, 122, 123,
1141 475, 103, 80, 335, 836, 837, 854, 588, 1255, 1256,
1142 1126, 1127, 1128, 675, 1257, 939, 1258, 1335, 1449, 1410,
1143 1411, 1259, 1260, 1429, 1336, 1450, 1337, 1483, 1338, 1485,
1144 1530, 1545, 1339, 1506, 1459, 1507, 1416, 421, 672, 1227,
1145 1261, 1349, 1462, 1326, 1327, 1402, 1476, 1448, 1444, 1262,
1146 1455, 1352, 802, 1509, 1510, 1511, 1543, 691, 692, 959,
1147 1139, 1270, 693, 694, 695, 955, 696, 144, 957, 698,
1148 1141, 1142, 493, 82, 83
1151 static const short yypact
[] = { 114,
1152 125,-32768,-32768, 2470,-32768, 50, 74, 73, 162, 105,
1153 159,-32768,-32768, 1050,-32768, 128, 138, 152,-32768,-32768,
1154 -32768, 578, 421, 1349, 194,-32768, 225, 279,-32768, 1311,
1155 1311,-32768, 4719,-32768, 2470, 229,-32768, 289, 145, 4239,
1156 -32768,-32768, 249, 852, 327, 310, 378,-32768,-32768,-32768,
1157 -32768, 364, 2909,-32768, 4394,-32768, 1146, 337,-32768, 415,
1158 -32768,-32768, 1181,-32768,-32768, 408,-32768,-32768, 414, 3821,
1159 -32768,-32768,-32768, 877,-32768,-32768,-32768, 1978,-32768,-32768,
1160 501, 5668, 420,-32768,-32768, 9077,-32768, 9077,-32768, 9077,
1161 -32768,-32768,-32768, 73, 162, 225, 461, 411, 466, 378,
1162 -32768, 639,-32768, 501, 9163, 9163, 442,-32768,-32768,-32768,
1163 -32768,-32768, 182, 502, 406, 413, 417, 515, 523,-32768,
1164 -32768, 1287,-32768, 713, 73, 162,-32768, 225, 461,-32768,
1165 244, 132, 509, 10475, 9077,-32768, 9077, 3437,-32768, 2140,
1166 759, 3437,-32768, 820, 3753, 3753, 4719, 547, 601, 537,
1167 626, 630,-32768,-32768, 702,-32768, 620,-32768, 5570, 50,
1168 -32768,-32768,-32768, 652, 415, 755, 102, 295, 708,-32768,
1169 -32768, 655, 291,-32768,-32768, 4297, 4297, 5233, 877, 438,
1170 -32768,-32768, 439,-32768,-32768, 2354,-32768,-32768,-32768,-32768,
1171 -32768, 1146, 535,-32768, 415, 877,-32768,-32768,-32768, 1736,
1172 1146,-32768, 415,-32768, 5335,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 378, 1318, 1067,
1174 408,-32768,-32768,-32768,-32768,-32768, 1479, 501,-32768, 765,
1175 1631,-32768, 330,-32768,-32768,-32768,-32768,-32768, 4702,-32768,
1176 -32768, 561,-32768, 679, 682,-32768,-32768,-32768,-32768, 736,
1177 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1178 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1179 -32768,-32768, 689,-32768,-32768, 1479, 3821, 484,-32768,-32768,
1180 718,-32768,-32768, 9771, 9857, 9943, 9943,-32768,-32768,-32768,
1181 -32768,-32768, 734, 732, 756, 760, 763, 1068, 461, 9249,
1182 820, 9943,-32768,-32768, 9943,-32768,-32768, 9943, 7220,-32768,
1183 9943, 354, 774,-32768, 9943,-32768, 9335,-32768, 3505,-32768,
1184 1776, 1728, 9421,-32768, 832, 2181,-32768, 837, 1504, 3646,
1185 -32768, 343,-32768, 1830, 2744, 354, 354, 9077, 10475,-32768,
1186 820, 741, 820,-32768,-32768, 748, 800, 10588, 758, 764,
1187 779, 1329, 620,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1188 -32768, 502, 406, 413, 820, 417, 515, 789, 523,-32768,
1189 813,-32768, 1191, 73, 162,-32768,-32768,-32768,-32768,-32768,
1190 -32768, 3075,-32768,-32768, 5335, 4912, 1512,-32768, 354, 475,
1191 -32768, 680,-32768,-32768,-32768, 3437,-32768,-32768, 3437,-32768,
1192 795,-32768,-32768, 4702, 84, 769, 773,-32768,-32768,-32768,
1193 702,-32768, 415,-32768,-32768,-32768,-32768, 98,-32768,-32768,
1194 -32768,-32768, 7311, 9249,-32768,-32768,-32768, 9249, 807,-32768,
1195 6574, 96, 4853,-32768, 4853,-32768, 5170, 5170, 5233, 798,
1196 -32768, 415, 5335,-32768, 808,-32768,-32768, 5292, 1736, 1146,
1197 5335,-32768, 415,-32768,-32768, 415, 1736,-32768, 893,-32768,
1198 -32768, 378,-32768, 1318,-32768, 1168, 3149, 76, 1479, 415,
1199 -32768,-32768, 849, 850, 881, 872,-32768,-32768,-32768,-32768,
1200 957,-32768, 402, 841, 843,-32768,-32768, 1479,-32768,-32768,
1201 788,-32768,-32768, 9077, 9249, 718, 7220,-32768, 419, 7220,
1202 -32768,-32768,-32768, 9163, 4788, 4788, 4788, 4788, 10633,-32768,
1203 -32768,-32768,-32768, 835, 10029, 10029, 7220, 848, 547, 857,
1204 913, 866,-32768,-32768,-32768,-32768, 9077,-32768, 6850, 7220,
1205 -32768, 9249, 9249, 7402, 9249, 9249, 9249, 9249, 9249, 9249,
1206 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249,
1207 9249, 9249, 9249,-32768,-32768,-32768,-32768,-32768, 9249, 9249,
1208 -32768,-32768, 2706, 300, 306, 8034,-32768,-32768,-32768, 919,
1209 1631, 968, 437, 482, 500, 2590, 759,-32768, 2235, 2235,
1210 -32768, 5102, 873, 897, 945,-32768,-32768, 474, 8532, 611,
1211 -32768, 805, 501,-32768,-32768, 9249,-32768,-32768,-32768,-32768,
1212 -32768, 536, 420,-32768,-32768, 354,-32768, 5335, 1783,-32768,
1213 927, 947,-32768,-32768, 820, 789,-32768, 7766, 7857,-32768,
1214 -32768,-32768,-32768,-32768,-32768,-32768, 171,-32768, 925, 903,
1215 620, 1191, 971, 9077,-32768, 975,-32768,-32768, 132, 1060,
1216 194, 1000, 554, 977, 979,-32768,-32768, 3341, 10530, 3341,
1217 2926, 1181, 10183,-32768, 988,-32768,-32768,-32768,-32768,-32768,
1218 -32768,-32768,-32768, 961,-32768, 996,-32768,-32768, 249, 85,
1219 220, 1012, 913,-32768,-32768,-32768,-32768, 6756, 10633,-32768,
1220 800, 967, 10588,-32768,-32768, 980,-32768, 982, 607, 10238,
1221 983,-32768, 339, 10293, 1028, 1034, 544,-32768,-32768,-32768,
1222 4853, 4853,-32768, 5292,-32768, 1035,-32768,-32768, 1017, 96,
1223 -32768, 1736,-32768,-32768, 415,-32768, 406, 413,-32768, 1009,
1224 -32768, 523, 1071,-32768,-32768, 109,-32768,-32768, 1249,-32768,
1225 1203, 646,-32768, 9249, 5439,-32768, 5439, 118, 118, 147,
1226 567, 3161, 10348, 4027,-32768, 175, 118, 1047, 415,-32768,
1227 96, 3248, 9077, 9077,-32768, 9077, 96, 3248,-32768,-32768,
1228 -32768,-32768,-32768,-32768, 929, 929, 929, 354, 1023, 1024,
1229 9513, 945, 1029, 1033, 1042, 1077, 1958, 1082, 1083, 1089,
1230 -32768, 1061,-32768,-32768, 1062,-32768,-32768, 1106, 66, 728,
1231 514, 61, 9249, 1116,-32768, 1122, 1075, 10633, 10633,-32768,
1232 -32768, 1130, 10651, 10668, 8059, 5858, 2827, 3939, 3326, 2091,
1233 2091, 2091, 1772, 1772, 1402, 1402, 555, 555, 555,-32768,
1234 -32768, 1085, 1090, 9249, 9163,-32768, 300,-32768, 7311, 9249,
1235 -32768,-32768,-32768, 9249,-32768,-32768, 1113, 9943, 1101, 1112,
1236 1139, 1169,-32768, 9249,-32768, 9249,-32768, 9249, 2374,-32768,
1237 2374,-32768, 92, 1110, 1111,-32768, 1117, 4788, 96,-32768,
1238 96, 2651,-32768, 3248, 1119, 8716, 8716, 6386, 1115, 9335,
1239 1123, 2787, 2744, 865, 1126,-32768,-32768,-32768,-32768,-32768,
1240 9249, 820, 1127, 947,-32768, 10633,-32768, 10633, 1329, 1132,
1241 9599,-32768, 1137, 1196,-32768, 354,-32768,-32768,-32768,-32768,
1242 -32768, 1304, 3075,-32768, 4788, 9077, 1586, 1586, 6190,-32768,
1243 -32768,-32768,-32768, 2354,-32768,-32768,-32768, 180, 9249,-32768,
1244 -32768,-32768,-32768,-32768,-32768,-32768, 502,-32768, 417, 515,
1245 9249, 1182,-32768, 569, 599, 605, 913,-32768, 99,-32768,
1246 142,-32768,-32768,-32768,-32768,-32768,-32768, 8624,-32768,-32768,
1247 -32768,-32768,-32768,-32768,-32768, 1034, 1197,-32768,-32768,-32768,
1248 4788,-32768,-32768,-32768, 1200,-32768, 9163,-32768,-32768,-32768,
1249 -32768, 991,-32768, 3248, 10633,-32768, 2037,-32768, 415, 415,
1250 -32768,-32768,-32768,-32768,-32768, 3248, 550, 729, 9249, 893,
1251 -32768, 1201,-32768,-32768,-32768, 245, 356, 1978, 759, 770,
1252 118, 1212,-32768, 793,-32768,-32768,-32768, 415, 5043,-32768,
1253 -32768, 1166, 354, 354, 354,-32768, 1167, 96, 3248, 96,
1254 3248,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1255 1185, 1190, 1194, 1208, 961,-32768, 5881, 7311, 6944, 1180,
1256 -32768, 9249,-32768,-32768, 1195, 1186, 1202, 4788,-32768,-32768,
1257 1210, 261, 944, 944, 1192, 944,-32768,-32768, 9943, 1316,
1258 9077,-32768, 1233, 1237, 1238,-32768,-32768,-32768,-32768,-32768,
1259 -32768,-32768,-32768, 96, 1239,-32768, 1244,-32768,-32768, 2981,
1260 -32768,-32768,-32768,-32768,-32768, 10633,-32768,-32768, 1254,-32768,
1261 -32768, 228, 1240,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1262 1836, 1836, 2583, 2583, 6190,-32768, 2354,-32768, 3409, 3505,
1263 -32768,-32768, 1262,-32768, 220,-32768, 9249,-32768, 9249,-32768,
1264 9249,-32768, 820,-32768,-32768, 6293, 1338,-32768, 7035,-32768,
1265 8808, 8808, 6480, 144, 1264, 250,-32768, 7311, 7126,-32768,
1266 -32768, 237, 7311,-32768, 1270, 1271, 1168,-32768,-32768,-32768,
1267 96, 1272,-32768, 1319, 1319, 96, 1274, 9249, 9249, 3473,
1268 415, 4121, 415, 415, 1003, 415, 4251, 1319, 5834,-32768,
1269 -32768,-32768, 1330,-32768,-32768,-32768, 1279,-32768, 1280, 9249,
1270 9249, 9249, 9249, 7311,-32768, 1327,-32768,-32768, 10633,-32768,
1271 -32768,-32768, 168, 1202,-32768,-32768,-32768,-32768,-32768,-32768,
1272 1283,-32768, 1343, 354,-32768,-32768,-32768, 96,-32768,-32768,
1273 -32768,-32768,-32768,-32768, 9249,-32768,-32768, 1836, 1836,-32768,
1274 3409,-32768,-32768, 1288, 1289, 1293, 1299,-32768, 648, 252,
1275 1348, 885, 948,-32768,-32768,-32768,-32768,-32768, 9249, 1353,
1276 1357, 1364, 8900, 209, 617,-32768,-32768, 8991, 1416, 1367,
1277 -32768, 4539, 10416, 4522, 6097,-32768,-32768, 1417,-32768,-32768,
1278 -32768, 8143,-32768,-32768, 1336, 375,-32768,-32768,-32768,-32768,
1279 4788,-32768,-32768, 7311,-32768,-32768,-32768,-32768,-32768,-32768,
1280 -32768,-32768,-32768, 3473, 3473,-32768, 1319, 649, 1072, 9249,
1281 -32768,-32768,-32768, 893, 893, 1319, 1319, 957, 1319,-32768,
1282 -32768, 5982, 96, 96,-32768,-32768, 1337, 1340, 1345, 1346,
1283 -32768, 7311, 9249,-32768, 168,-32768,-32768,-32768,-32768, 96,
1284 1350,-32768,-32768,-32768,-32768, 1299,-32768, 820,-32768,-32768,
1285 -32768,-32768,-32768,-32768, 621, 621, 913, 1342, 1344, 10562,
1286 -32768,-32768,-32768,-32768, 1378, 9249, 1399,-32768, 913,-32768,
1287 -32768, 1368,-32768,-32768, 893, 697,-32768, 726, 893, 9685,
1288 745, 256,-32768,-32768,-32768,-32768,-32768,-32768, 348,-32768,
1289 -32768, 96, 96,-32768,-32768,-32768, 9249, 9249, 3473, 415,
1290 415,-32768,-32768,-32768,-32768, 7948,-32768,-32768,-32768,-32768,
1291 96, 96,-32768,-32768,-32768,-32768,-32768, 1351,-32768,-32768,
1292 -32768, 1370,-32768,-32768,-32768, 9163,-32768,-32768,-32768, 1447,
1293 8439, 6665, 9163, 9249,-32768, 8251,-32768, 1407,-32768,-32768,
1294 702,-32768,-32768, 10115, 10115, 7493,-32768,-32768, 913,-32768,
1295 -32768, 3473, 3473,-32768, 1319, 1319, 1365, 5717, 1374,-32768,
1296 -32768,-32768, 3945,-32768,-32768, 1371, 508, 5335, 913, 8345,
1297 -32768,-32768, 99,-32768,-32768, 1413, 1372, 10611, 8251,-32768,
1298 -32768, 1299, 82,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1299 -32768, 327, 249, 1383, 1386, 913,-32768, 893,-32768,-32768,
1300 -32768,-32768, 627,-32768, 7584,-32768,-32768,-32768,-32768, 1299,
1301 1464, 1418, 107,-32768,-32768,-32768,-32768, 415, 99,-32768,
1302 9249, 1435,-32768, 1438,-32768, 913, 8251, 1408, 546, 1457,
1303 -32768,-32768,-32768, 98,-32768, 1412,-32768, 1414,-32768,-32768,
1304 -32768,-32768, 9249, 1464, 1463, 1464,-32768,-32768,-32768, 7675,
1305 1419, 635,-32768,-32768, 7311, 1420,-32768, 1518, 1473,-32768,
1306 -32768,-32768, 266,-32768, 8345, 1523, 1482,-32768,-32768,-32768,
1310 static const short yypgoto
[] = {-32768,
1311 1546,-32768, -301,-32768, 1140, 18, 10, 1552,-32768, 424,
1312 -32768,-32768,-32768,-32768, 706, 924,-32768, 39,-32768,-32768,
1313 -598,-32768,-32768, 656,-32768, 1403, -671, 93, -659, 1405,
1314 36,-32768,-32768,-32768,-32768,-32768, 823,-32768,-32768,-32768,
1315 -32768,-32768,-32768, 454, 1716,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768,-32768,-32768,-32768,-32768, 1483, -602, 5237, 64,
1317 72, -29, 1434, -486,-32768, -87,-32768, 240,-32768, -1287,
1318 -32768, -764, 32,-32768, 1450, 869, -255, 384, -495,-32768,
1319 -801, 2226, 664, 1073, 3480, 1301, -310, -63, -68, 110,
1320 -18, 16,-32768,-32768,-32768, -311,-32768, -151,-32768,-32768,
1321 -1179, -48, -322, 2919, 52, 780, -111, 40, 94, -179,
1322 -4, -167, -847, 328,-32768, 33, -233,-32768, -199,-32768,
1323 -32768,-32768,-32768,-32768, -82, 1885, -28,-32768, 693,-32768,
1324 -32768, -788, -417, 905,-32768,-32768,-32768,-32768,-32768, 123,
1325 -32768,-32768,-32768,-32768,-32768, 703, -361,-32768,-32768,-32768,
1326 -32768,-32768,-32768,-32768, 1375,-32768, 441, 631,-32768,-32768,
1327 -32768,-32768, 584, -626,-32768,-32768,-32768,-32768,-32768,-32768,
1328 856,-32768, 440, 989, 746, 1066, 3207, 7, 21, -425,
1329 1448, 1718, -454,-32768, 13,-32768, 4610, -143, 226, -93,
1330 3765, 1312,-32768, 4552, 1671, 575, -15, -101,-32768, 1508,
1331 -67,-32768, 4113, 2619, -164,-32768, 4175,-32768,-32768, 386,
1332 -32768,-32768, 518, 133, -409,-32768,-32768,-32768,-32768, -1310,
1333 -32768, -1190, -1326,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1334 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 153,-32768,-32768,
1335 -32768,-32768,-32768, 187, -1256,-32768,-32768, -36,-32768,-32768,
1336 -32768,-32768, -1324, 129,-32768, 131,-32768, -571, -554, 698,
1337 -32768,-32768,-32768,-32768, -367,-32768, -366, -122,-32768, 998,
1338 387,-32768, -85,-32768, -214
1342 #define YYLAST 10752
1345 static const short yytable
[] = { 57,
1346 937, 397, 400, 405, 179, 680, 590, 120, 676, 925,
1347 70, 727, 450, 36, 654, 655, 476, 346, 350, 709,
1348 652, 35, 372, 600, 599, 1049, 101, 855, 498, 501,
1349 57, 207, 455, 458, 855, 57, 138, 142, 380, 44,
1350 787, 70, 40, 55, 36, 278, 70, 469, 150, 36,
1351 192, 630, 35, 917, 371, 53, 923, 35, 336, 236,
1352 337, 531, 378, 379, 1365, 227, 825, 377, 1350, 1403,
1353 44, 1368, 173, 40, 55, 44, 165, 276, 40, 55,
1354 449, 329, 412, 329, 1452, 329, 53, 1456, 277, 457,
1355 191, 53, 568, 240, 568, 568, 488, 56, 673, 466,
1356 329, 329, 415, 945, 479, 389, 229, 1513, 976, 84,
1357 978, 785, 748, -1, 136, 970, 344, 1005, 1464, 87,
1358 603, 236, -127, 1482, -2, 1457, 87, -124, 56, 387,
1359 329, 1123, 329, 56, 280, 374, 375, 10, 1479, 88,
1360 70, 233, 149, 1491, 15, 971, 88, 86, -390, 488,
1361 946, 396, 399, 947, 57, 674, 697, 857, 85, -331,
1362 150, 150, 150, 416, -331, 70, 207, 236, 416, 384,
1363 173, 981, 21, 386, 207, 275, 772, -390, 91, 204,
1364 1012, -390, 433, 435, 749, 385, 1017, 27, 299, 1492,
1365 -279, 666, 926, 150, 44, 1521, 417, 1505, 55, 786,
1366 1129, 417, 157, 173, 982, 1536, 92, 1124, 983, 707,
1367 53, 93, 108, 109, 828, 89, 935, 713, 1482, 32,
1368 105, 518, 927, 717, 718, 1460, -390, 56, 453, 889,
1369 106, 829, 1454, 1403, 1006, 90, -279, -279, -45, 354,
1370 240, 984, 158, -45, 107, 355, 280, 374, 375, 10,
1371 1130, -272, 56, 714, -45, 398, 401, 574, 152, 670,
1372 830, 1313, 573, 938, 110, 111, 928, 133, 1489, -340,
1373 750, 15, 227, 26, 1082, 929, 930, 1085, 890, 638,
1374 902, 455, 458, 1007, 21, 565, 1215, 149, 1346, 455,
1375 600, 231, 1075, 397, 400, 1271, -594, 633, 135, 27,
1376 299, 458, -340, 1097, 329, 483, -340, 578, 606, 125,
1377 126, 1330, 931, 855, 204, 1330, 1522, 276, 1111, 1112,
1378 458, 155, 204, 204, 1546, 227, 654, 956, 277, 893,
1379 1048, 32, 136, 329, 609, 1216, 657, 430, 712, -340,
1380 684, 422, -594, -594, 1272, 70, 828, 240, 156, 204,
1381 950, 166, 137, 771, 855, 162, 476, -594, 423, 26,
1382 1331, 128, 129, 829, 1428, 1280, 1281, 590, 1196, 170,
1383 152, 152, 152, 1547, 607, 832, 477, 651, 386, 1301,
1384 -341, 192, 15, 431, 207, 833, -281, 424, 653, 595,
1385 608, 1314, 830, 855, -281, 205, 206, 951, 204, 834,
1386 952, -281, 1152, 152, 1356, -281, 1361, 604, 605, 518,
1387 -554, 1050, 518, -341, 1157, 275, 774, -341, 520, 1100,
1388 642, -281, 478, 114, 115, 116, 690, 207, 524, 518,
1389 525, 171, 56, -281, -281, 596, -281, 653, -281, 1077,
1390 -281, -281, 518, 701, 702, 18, 801, 1177, 761, 1179,
1391 -341, 204, 150, 150, 150, -275, -554, 172, 154, 357,
1392 660, 661, 57, 161, 768, 578, 358, -281, -281, 222,
1393 359, 224, 823, 70, 26, 650, 117, 118, 839, 88,
1394 1212, 1213, -281, 843, 735, -554, 90, 125, 126, 329,
1395 135, 715, 329, 279, 762, 329, 443, 444, 1376, 329,
1396 777, 777, 777, 777, 8, 9, 743, 1382, 1383, 204,
1397 1384, 771, 329, 1399, 136, 198, 199, 727, 742, 340,
1398 863, 14, 329, 342, 650, 329, 565, 1122, 845, 844,
1399 741, -554, 445, 527, 352, 654, 655, 26, 638, 128,
1400 129, 652, 1005, 20, 455, 899, 847, 398, 401, 524,
1401 855, 525, 23, 489, 578, 356, 128, 129, 276, 878,
1402 56, 600, 599, 490, 8, 481, 864, 865, 360, 277,
1403 898, 204, 204, 288, 846, -126, 361, 651, 855, 204,
1404 93, 108, 109, 381, 690, 849, 851, 135, 653, 26,
1405 960, 204, 848, 451, 452, 653, 966, 488, 968, 910,
1406 771, 915, 916, 972, 896, 240, 520, 1524, 343, 520,
1407 204, 1158, 903, 985, 531, 1116, 128, 129, 945, -550,
1408 1185, 1187, -550, 86, 120, 398, 782, 372, 904, 329,
1409 172, 1201, 965, 110, 111, 112, 961, 552, 553, 520,
1410 482, 916, 8, 9, 192, 1118, 1467, 1468, 227, 125,
1411 126, 1120, 238, 1525, -272, 936, 275, 860, 603, 986,
1412 935, 1117, 152, 152, 152, 946, 1010, 1405, 947, -550,
1413 -794, -550, -550, 1500, -550, 650, 238, 876, 1348, 1022,
1414 1023, 1024, 650, 125, 126, -550, 343, -550, 1484, 651,
1415 135, 1119, 727, 991, 128, 129, 1538, 1121, 871, 26,
1416 653, 128, 129, -550, -550, 238, 1328, 1329, 402, 38,
1417 1377, 1187, 283, 1406, 238, 114, 115, 116, -550, 1501,
1418 1267, 1269, 86, 1013, 1014, 1273, 1015, 343, -7, 772,
1419 57, 204, 57, 403, 1517, 128, 129, -589, 192, 57,
1420 38, 70, 1539, 70, 411, 38, 1055, 651, 329, 329,
1421 70, 329, 735, 651, 735, 443, 1422, 414, 653, 482,
1422 238, 735, 125, 126, 653, 427, 1311, 426, 117, 118,
1423 979, 980, 484, 204, 743, 485, 743, 990, 1000, 1008,
1424 518, 89, 87, 743, 451, 1423, 742, 650, 977, -125,
1425 1159, 125, 126, 238, -103, 742, 15, 486, 741, 487,
1426 741, 90, 88, 443, 1427, 505, 741, 741, 8, 9,
1427 495, 471, 204, 1494, 128, 129, 238, -101, 89, 15,
1428 329, 1514, 93, 108, 109, 1052, 504, -103, 56, 506,
1429 56, -103, 527, 507, 204, 343, 508, 56, 90, 1025,
1430 125, 126, 568, 128, 129, 650, 1147, 1148, 1149, 614,
1431 -101, 650, 343, 777, -101, 617, 1371, 472, 618, 651,
1432 128, 129, 634, 690, -103, 620, 635, 232, 8, 9,
1433 653, 621, 849, 851, 653, 110, 111, -6, 15, 1145,
1434 871, 667, -390, 578, 232, 240, 622, -101, 1197, 1198,
1435 26, 1200, 128, 129, 1397, 236, 1154, 1155, 651, 204,
1436 777, 329, 664, 15, 651, 703, 579, -390, 238, 653,
1437 -390, -390, 343, 1101, 1102, 653, 580, 685, 708, 15,
1438 128, 129, 753, 754, 150, 1168, 581, 1409, 991, 582,
1439 583, 772, 125, 126, 755, -390, -390, 479, 87, 1420,
1440 -390, 642, 781, 690, 482, 756, 1333, 125, 126, 502,
1441 503, 763, 479, 764, 653, 783, 777, 650, 88, 397,
1442 400, 650, 329, 150, 784, 511, 238, 1096, 512, 651,
1443 674, 513, 840, 786, 523, 842, 398, 782, 528, 236,
1444 653, 651, 26, 856, 128, 129, 567, 397, 400, 858,
1445 881, 860, 653, 114, 717, 718, 650, 26, 489, 128,
1446 129, 89, 650, 759, 57, 882, 125, 1298, 490, 1334,
1447 89, 892, 990, 832, 651, 70, 651, 891, 149, 1409,
1448 720, 90, 1161, 833, 895, 653, 735, 653, 1163, 1164,
1449 90, 1204, 1161, 1166, 897, 20, 1164, 834, 238, 1409,
1450 905, 650, 906, 777, 26, 518, 117, 118, 743, 760,
1451 343, 919, 93, 94, 95, 924, 329, 1135, 128, 129,
1452 742, 233, 362, 363, 364, 238, 1497, 650, -275, 93,
1453 94, 95, 741, 416, 942, 654, 1475, 1286, 1287, 650,
1454 1296, 1297, 482, 1299, 1172, 1173, 1174, 943, 236, 944,
1455 949, -793, 1307, 1308, 1309, 1310, 1409, 958, 962, 936,
1456 651, 967, 56, 26, 676, 96, 97, 98, 1009, 1218,
1457 1219, 653, 650, 26, 650, 366, 367, 1540, 150, 150,
1458 150, 1254, 96, 97, 772, 87, -163, 963, 690, 969,
1459 1026, 1027, 70, 1378, 152, 1249, 1028, 1218, 1219, 653,
1460 1029, 135, -163, 1248, -163, 88, 150, 150, 150, 1030,
1461 238, 1031, 197, 198, 199, 1345, 1032, 1033, 319, 14,
1462 319, 648, 319, 1034, 57, 1253, 238, -123, 1035, 1036,
1463 114, 717, 718, 152, 719, 70, 18, 1038, 511, 512,
1464 1039, 20, 1041, 93, 94, 95, 735, 208, 209, 210,
1465 23, 1042, 1043, 280, 374, 375, 10, 720, 650, 1060,
1466 1044, 1374, 1375, 1355, 721, 1355, 1057, 319, 743, 319,
1467 648, 1059, 1061, 398, 401, 1062, 211, 1068, 1069, 56,
1468 742, 26, 1078, 117, 118, 1398, 650, 1070, 483, 1076,
1469 1079, 21, 741, 1081, 26, 1088, 96, 97, 212, 1091,
1470 1115, 398, 1265, 1254, 26, 1094, 27, 299, 192, 973,
1471 1254, 114, 717, 718, 70, 1095, 89, 1254, 1418, 1162,
1472 1138, 70, 56, 1144, 1249, 1248, 777, 488, 70, 1463,
1473 1167, 1249, 1248, 1171, 1175, 1318, 90, 1180, 32, 1248,
1474 397, 400, 1181, 213, 214, 215, 1182, 1253, 1188, 362,
1475 363, 364, 682, 1191, 1253, 974, 1434, 1435, 1436, 688,
1476 1183, 1253, 1199, 1190, 117, 118, 93, 108, 109, 1192,
1477 208, 209, 210, 7, 125, 126, 10, 1195, 1445, 13,
1478 93, 94, 95, 1203, 801, 1445, 1380, 1381, 152, 152,
1479 152, 93, 108, 109, 365, 623, 624, 625, 518, 211,
1480 1205, 56, 366, 367, 1206, 1207, 1210, 1217, 56, 1465,
1481 1466, 21, 125, 126, 1211, 56, 152, 152, 152, 110,
1482 111, 648, 1214, 769, 26, 343, 27, 28, 648, 1222,
1483 1123, 1266, 509, 96, 97, 150, 204, 1275, 1276, 1279,
1484 30, 1283, 423, -631, 110, 111, 1305, 1306, 1312, 1317,
1485 31, 453, 127, 1316, 1325, 1322, 1323, 1445, 32, 1478,
1486 1324, 1447, 26, 33, 128, 129, 1254, 1254, 1447, 1332,
1487 319, 1254, 277, 1518, 1341, 1516, 1342, 70, 70, 277,
1488 1249, 329, 70, 1343, 1351, 1249, 1353, 822, 1248, 1248,
1489 701, 702, 1366, 1248, 1412, 1531, 1413, 1417, 651, 150,
1490 150, 150, 801, 1369, 1393, 1254, 238, 1394, 238, 653,
1491 1253, 1253, 1395, 1396, 1254, 1253, 70, 1401, 1419, 1249,
1492 1421, 1442, 1443, 1451, 875, 70, 1461, 1248, 1249, 1135,
1493 1471, 1469, 1486, 648, 1508, 1528, 1248, 1512, 1477, 1487,
1494 1447, 549, 550, 551, 552, 553, 198, 199, 238, 1253,
1495 1495, 277, 14, 1496, 1519, 679, 683, 1520, 1253, 275,
1496 1523, 1058, 1254, 683, 56, 56, 275, 125, 126, 56,
1497 1498, 198, 199, 70, 20, 1526, 1249, 14, 197, 198,
1498 199, 1529, 1533, 23, 1248, 14, 1537, 1541, 1542, 511,
1499 512, 648, 1544, 1549, 398, 1265, 650, 648, 1552, 20,
1500 1254, 1550, 18, 56, 1553, 1, 1253, 20, 23, 669,
1501 578, 70, 56, 5, 1249, 894, 23, 26, 1098, 128,
1502 129, 409, 1248, 410, 1493, 1001, 319, 683, 1223, 204,
1503 390, 658, 238, 579, 339, 1408, 1548, 1315, 275, 494,
1504 1358, 1090, 941, 580, 1253, 152, 1089, 1277, 7, 8,
1505 9, 10, 1169, 581, 13, 465, 589, 583, 1003, 319,
1506 56, 679, 1150, 884, 798, 799, 1300, 803, 804, 805,
1507 806, 807, 808, 809, 810, 811, 812, 813, 814, 815,
1508 816, 817, 818, 819, 820, 821, 21, 1087, 827, 370,
1509 446, 683, 578, 93, 108, 109, 473, 575, 56, 26,
1510 1364, 27, 28, 648, 1263, 1515, 1527, 648, 1490, 152,
1511 152, 152, 1532, 1137, 238, 907, 1534, 1370, 0, 0,
1512 0, 683, 0, 0, 0, 908, 0, 0, 683, 0,
1513 0, 21, 0, 32, 78, 581, 0, 0, 909, 583,
1514 0, 238, 648, 0, 102, 0, 110, 111, 648, 0,
1515 886, 888, 1045, 1046, 131, 0, 0, 0, 1051, 0,
1516 140, 140, 0, 140, 0, 78, 319, 964, 0, 0,
1517 78, 0, 1063, 0, 1064, 0, 1065, 0, 0, 0,
1518 0, 0, 1202, 186, 0, 78, 0, 648, 0, 99,
1519 0, 8, 9, 219, 0, 12, 13, 113, 0, 238,
1520 102, 14, 454, 198, 199, 0, 0, 0, 1011, 14,
1521 679, 242, 102, 648, 1016, 16, 0, 17, 0, 1093,
1522 0, 0, 0, 20, 0, 648, 18, 0, 0, 0,
1523 0, 20, 23, 0, 102, 0, 0, 0, 216, 0,
1524 23, 26, 0, 128, 129, 561, 0, 0, 0, 197,
1525 198, 199, 0, 0, 511, 512, 14, 0, 648, 1113,
1526 648, 0, 131, 0, 78, 0, 975, 0, 140, 0,
1527 0, 392, 140, 18, 0, 140, 140, 140, 20, 0,
1528 562, 0, 554, 0, 0, 319, 319, 23, 319, 78,
1529 0, 0, 280, 8, 9, 10, 0, 368, 7, 8,
1530 9, 10, 879, 683, 226, 0, 186, 186, 186, 547,
1531 548, 549, 550, 551, 552, 553, 1071, 0, 1072, 394,
1532 0, 555, 556, 0, 0, 1037, 557, 558, 559, 560,
1533 21, 0, 0, 681, 0, 186, 21, 231, 0, 0,
1534 681, 0, 578, 0, 648, 27, 299, 0, 0, 26,
1535 464, 27, 28, 434, 436, 440, 683, 683, 102, 0,
1536 0, 679, 683, 0, 0, 907, 0, 0, 0, 140,
1537 0, 523, 648, 0, 0, 908, 683, 32, 683, 0,
1538 683, 0, 0, 32, 0, 581, 0, 0, 909, 583,
1539 0, 0, 0, 0, 461, 463, 0, 0, 0, 195,
1540 0, 203, 0, 0, 681, 0, 474, 102, 491, 0,
1541 0, 0, 0, 1086, 0, 0, 0, 0, 0, 0,
1542 0, 125, 126, 683, 0, 198, 199, 0, 0, 0,
1543 0, 14, 0, 0, 0, 0, 0, 0, 319, 0,
1544 7, 8, 230, 10, 0, 1224, 0, 1225, 0, 1226,
1545 0, 1110, 102, 20, 0, 0, 576, 0, 491, 491,
1546 592, 0, 23, 683, 578, 0, 0, 0, 681, 78,
1547 0, 26, 0, 128, 129, 1176, 510, 1178, 21, 0,
1548 683, 0, 0, 0, 0, 231, 0, 579, 0, 0,
1549 0, 0, 0, 27, 28, 0, 0, 580, 681, 987,
1550 988, 9, 10, 131, 0, 681, 0, 581, 0, 413,
1551 582, 583, 102, 0, 0, 186, 102, 232, 616, 0,
1552 0, 1160, 0, 0, 0, 32, 140, 626, 0, 140,
1553 0, 1209, 0, 0, 140, 0, 203, 21, 0, 0,
1554 616, 0, 0, 1321, 456, 203, 0, 511, 512, 0,
1555 26, 0, 27, 28, 0, 0, 1153, 0, 989, 0,
1556 0, 0, 0, 186, 0, 186, 176, 186, 186, 186,
1557 679, 679, 0, 186, 1189, 0, 177, 0, 186, 0,
1558 0, 186, 0, 0, 32, 0, 0, 0, 0, 178,
1559 0, 0, 0, 319, 0, 0, 0, 78, 0, 0,
1560 0, 0, 7, 125, 126, 10, 0, 0, 1278, 0,
1561 699, 0, 700, 1282, 434, 436, 440, 0, 0, 0,
1562 0, 0, 0, 0, 0, 711, 545, 546, 547, 548,
1563 549, 550, 551, 552, 553, 102, 102, 102, 102, 716,
1564 21, 569, 0, 280, 374, 375, 10, 231, 570, 683,
1565 0, 683, 0, 683, 0, 27, 28, 0, 0, 0,
1566 0, 679, 0, 0, 0, 1319, 0, 0, 0, 0,
1567 679, 679, 0, 0, 0, 679, 0, 0, 0, 232,
1568 681, 21, 648, 0, 0, 0, 0, 32, 571, 0,
1569 1284, 1285, 0, 102, 26, 491, 27, 299, 125, 126,
1570 0, 0, 0, 13, 794, 0, 0, 576, 0, 491,
1571 491, 0, 592, 0, 0, 0, 679, 0, 0, 872,
1572 0, 0, 0, 874, 0, 0, 0, 0, 572, 0,
1573 195, 203, 0, 681, 681, 0, 0, 0, 186, 681,
1574 0, 578, 0, 0, 0, 0, 841, 683, 26, 0,
1575 128, 129, 0, 681, 0, 681, 0, 681, 0, 0,
1576 1389, 1390, 131, 0, 579, 0, 0, 0, 0, 131,
1577 0, 1340, 0, 0, 580, 0, 0, 1400, 186, 914,
1578 186, 186, 219, 592, 581, 0, 413, 582, 583, 0,
1579 0, 0, 0, 456, 203, 0, 0, 413, 0, 0,
1580 681, 456, 0, 0, 0, 0, 679, 0, 0, 0,
1581 0, 0, 0, 0, 413, 901, 7, 8, 9, 10,
1582 186, 0, 1379, 0, 914, 0, 0, 918, 0, 1430,
1583 1431, 186, 186, 0, 186, 0, 0, 125, 126, 0,
1584 681, 0, 226, 0, 679, 0, 0, 0, 1440, 1441,
1585 0, 0, 0, 794, 21, 0, 0, 681, 0, 0,
1586 0, 231, 131, 0, 0, 78, 0, 78, 0, 27,
1587 28, 0, 998, 78, 78, 0, 0, 0, 699, 700,
1588 578, 711, 102, 0, 0, 0, 0, 26, 102, 128,
1589 129, 0, 683, 232, 0, 491, 491, 491, 0, 0,
1590 0, 32, 0, 579, 0, 0, 0, 491, 0, 1432,
1591 1433, 0, 0, 580, 0, 0, 0, 0, 1438, 996,
1592 0, 0, 0, 581, 0, 0, 582, 583, 0, 0,
1593 6, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1594 0, 0, 0, 14, 0, 0, 1458, 0, 0, 0,
1595 0, 0, 0, 203, 0, 0, 15, 16, 0, 17,
1596 18, 19, 0, 0, 0, 20, 0, 0, 0, 0,
1597 21, 0, 0, 22, 23, 24, 0, 25, 0, 491,
1598 0, 491, 0, 26, 0, 27, 28, 0, 102, 29,
1599 0, 0, 491, 195, 102, 203, 872, 872, 872, 30,
1600 0, 0, 0, 1080, 0, 0, 0, 0, 0, 31,
1601 0, 0, 0, 584, 584, 584, 0, 32, 0, 0,
1602 0, 0, 33, 0, 0, 0, 681, 34, 681, 0,
1603 681, 0, 0, 102, 203, 102, 0, 186, 186, 1107,
1604 0, 0, 0, 0, 0, 7, 8, 9, 10, 0,
1605 0, 13, 280, 125, 126, 10, 456, 0, 0, 413,
1606 0, 0, 0, 0, 626, 0, 0, 679, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 901, 1107, 0,
1608 0, 0, 81, 21, 434, 436, 440, 195, 0, 578,
1609 21, 102, 104, 413, 0, 0, 26, 231, 27, 28,
1610 0, 124, 132, 0, 102, 27, 299, 998, 141, 141,
1611 0, 141, 1103, 81, 125, 126, 102, 0, 81, 479,
1612 0, 0, 1104, 0, 681, 440, 0, 0, 0, 1165,
1613 32, 141, 581, 81, 0, 1105, 583, 32, 0, 78,
1614 0, 220, 0, 0, 0, 0, 0, 0, 228, 102,
1615 0, 102, 0, 0, 996, 0, 0, 578, 0, 0,
1616 228, 0, 0, 0, 26, 0, 128, 129, 0, 8,
1617 9, 0, 0, 12, 13, 0, 0, 0, 102, 14,
1618 579, 0, 0, 491, 491, 0, 491, 0, 0, 0,
1619 580, 0, 0, 16, 0, 17, 0, 0, 0, 0,
1620 581, 20, 0, 582, 583, 0, 597, 8, 9, 10,
1621 23, 0, 81, 0, 1186, 0, 141, 0, 0, 26,
1622 141, 128, 129, 141, 141, 141, 0, 0, 0, 0,
1623 0, 186, 186, 186, 186, 1107, 0, 81, 0, 186,
1624 0, 288, 598, 0, 21, 0, 0, 0, 0, 280,
1625 8, 9, 10, 0, 141, 141, 141, 26, 826, 128,
1626 129, 1107, 1107, 1107, 584, 584, 0, 584, 0, 681,
1627 0, 0, 0, 0, 870, 0, 0, 0, 699, 700,
1628 434, 436, 440, 141, 0, 0, 711, 21, 0, 0,
1629 0, 0, 186, 0, 231, 0, 0, 140, 1228, 78,
1630 0, 0, 27, 299, 1186, 0, 0, 0, 434, 436,
1631 440, 0, 0, 0, 0, 0, 0, 141, 0, 0,
1632 0, 0, 0, 413, 413, 0, 232, 0, 0, 0,
1633 0, 0, 0, 584, 32, 584, 584, 0, 584, 1294,
1634 0, 0, 0, 0, 0, 0, 0, 0, 186, 186,
1635 0, 186, 413, 0, 0, 228, 141, 540, 541, 542,
1636 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
1637 553, 7, 8, 9, 10, 584, 0, 0, 0, 0,
1638 0, 0, 186, 914, 186, 0, 0, 0, 7, 8,
1639 9, 10, 197, 198, 199, 699, 700, 0, 711, 14,
1640 228, 102, 0, 0, 577, 0, 141, 141, 593, 21,
1641 0, 0, 0, 602, 0, 0, 18, 81, 0, 1347,
1642 0, 20, 26, 0, 27, 28, 21, 0, 175, 0,
1643 23, 0, 578, 0, 0, 0, 0, 0, 176, 26,
1644 0, 27, 28, 280, 8, 9, 10, 0, 177, 0,
1645 0, 639, 0, 0, 0, 907, 32, 0, 0, 0,
1646 228, 178, 584, 141, 228, 908, 0, 0, 0, 0,
1647 0, 0, 0, 32, 141, 581, 0, 141, 909, 583,
1648 0, 21, 141, 349, 351, 0, 0, 0, 231, 0,
1649 1107, 0, 0, 0, 0, 0, 27, 299, 0, 0,
1650 0, 0, 0, 1404, 413, 413, 0, 413, 413, 0,
1651 413, 141, 0, 141, 0, 141, 141, 141, 0, 0,
1652 482, 141, 0, 0, 0, 0, 141, 0, 32, 141,
1653 0, 0, 0, 0, 584, 0, 584, 440, 8, 9,
1654 0, 383, 12, 13, 729, 81, 0, 584, 14, 0,
1655 0, 870, 870, 870, 1107, 1107, 1107, 0, 0, 0,
1656 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
1657 20, 0, 0, 102, 0, 0, 0, 0, 186, 640,
1658 0, 0, 641, 228, 228, 228, 228, 0, 26, 0,
1659 128, 129, 584, 584, 584, 0, 0, 195, 203, 0,
1660 0, 434, 436, 440, 0, 0, 0, 0, 0, 730,
1661 0, 7, 8, 731, 10, 383, 12, 13, 0, 0,
1662 0, 0, 14, 987, 988, 9, 10, 0, 413, 413,
1663 0, 0, 0, 870, 0, 0, 16, 0, 17, 18,
1664 19, 228, 0, 141, 20, -497, 0, 0, 0, 21,
1665 0, 0, 0, 23, 732, 0, 641, 141, 141, 0,
1666 593, 21, 26, 0, 27, 28, 0, 873, 733, 0,
1667 734, 0, 0, 0, 26, 0, 27, 28, 30, 0,
1668 602, 0, 989, 0, 0, 0, 141, 522, 31, 0,
1669 176, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1670 177, 33, 0, 0, 0, 0, 0, 0, 32, 0,
1671 639, 8, 9, 178, 383, 12, 13, -497, 124, 687,
1672 0, 14, 0, 413, 413, 413, 141, 593, 141, 141,
1673 220, 593, 0, 0, 0, 16, 0, 17, 18, 0,
1674 0, 0, 0, 20, 0, 0, 239, 0, 0, 729,
1675 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
1676 647, 26, 0, 128, 129, 0, 0, 0, 141, 0,
1677 0, 0, 593, 0, 0, 0, 413, 413, 0, 141,
1678 141, 0, 141, 0, 0, 0, 584, 584, 584, 584,
1679 584, 0, 0, 0, 584, 0, 0, 0, 0, 0,
1680 0, 0, 0, 7, 8, 9, 10, 0, 0, 689,
1681 132, 0, 0, 81, 0, 81, 870, 870, 870, 404,
1682 999, 81, 81, 0, 0, 0, 0, 0, 0, 0,
1683 228, 0, 0, 0, 0, 0, 228, 0, 0, 0,
1684 432, 21, 413, 141, 141, 141, 0, 578, 0, 0,
1685 0, 0, 0, 448, 26, 141, 27, 28, 542, 543,
1686 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1687 907, 7, 8, 9, 10, 770, 0, 479, 773, 0,
1688 908, 0, 775, 776, 778, 779, 780, 0, 32, 0,
1689 581, 0, 0, 909, 583, 522, 0, 0, 0, 7,
1690 125, 126, 10, 584, 584, 226, 584, 0, 797, 21,
1691 0, 0, 0, 0, 0, 578, 0, 0, 0, 0,
1692 0, 0, 26, 0, 27, 28, 0, 141, 0, 141,
1693 0, 0, 0, 0, 0, 0, 228, 21, 907, 0,
1694 141, 0, 228, 49, 873, 873, 873, 0, 908, 0,
1695 26, 602, 27, 28, 0, 0, 32, 0, 581, 0,
1696 853, 909, 583, 18, 0, 0, 30, 853, 0, 49,
1697 49, 0, 148, 0, 49, 0, 31, 0, 0, 49,
1698 0, 228, 0, 228, 32, 141, 141, 593, 0, 33,
1699 0, 0, 49, 0, 49, 532, 533, 534, 535, 536,
1700 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
1701 547, 548, 549, 550, 551, 552, 553, 234, 0, 0,
1702 0, 0, 0, 0, 0, 0, 873, 532, 533, 534,
1703 535, 536, 537, 538, 539, 540, 541, 542, 543, 228,
1704 545, 546, 547, 548, 549, 550, 551, 552, 553, 0,
1705 729, 0, 228, 0, 0, 999, 0, 0, 0, 0,
1706 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
1707 376, 376, 647, 49, 0, 0, 0, 49, 0, 234,
1708 0, 49, 0, 0, 148, 148, 148, 81, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 228, 49, 228,
1710 0, 0, 0, 0, 0, 0, 0, 704, 0, 8,
1711 9, 0, 710, 12, 226, 49, 49, 148, 0, 14,
1712 0, 0, 0, 0, 0, 234, 228, 0, 0, 0,
1713 689, 141, 141, 16, 141, 17, 689, 751, 0, 0,
1714 0, 20, 0, 757, 49, 0, 0, 0, 0, 0,
1715 23, 0, 578, 0, 0, 765, 766, 0, 767, 26,
1716 0, 128, 129, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 579, 0, 0, 49, 141,
1718 141, 141, 141, 593, 0, 580, 0, 141, 0, 0,
1719 0, 0, 0, 729, 0, 581, 0, 0, 582, 583,
1720 0, 0, 0, 1047, 0, 0, 0, 0, 0, 873,
1721 873, 873, 0, 0, 0, 7, 125, 126, 10, 0,
1722 0, 13, 0, 0, 0, 729, 0, 0, 76, 0,
1723 0, 0, 0, 0, 0, 0, 797, 0, 0, 0,
1724 141, 0, 689, 0, 0, 141, 853, 81, 519, 0,
1725 0, 861, 862, 21, 76, 76, 861, 76, 0, 76,
1726 0, 0, 0, 0, 76, 376, 26, 0, 27, 28,
1727 0, 0, 0, 234, 0, 0, 0, 76, 49, 76,
1728 0, 647, 145, 1099, 8, 9, 0, 853, 12, 226,
1729 0, 0, 146, 0, 14, 0, 141, 141, 0, 141,
1730 32, 0, 0, 0, 0, 147, 0, 0, 16, 0,
1731 17, 0, 376, 0, 0, 0, 20, 0, 0, 0,
1732 0, 0, 0, 0, 49, 23, 853, 0, 0, 0,
1733 141, 593, 141, 0, 26, 49, 128, 129, 49, 1140,
1734 0, 0, 0, 49, 0, 1146, 0, 0, 0, 228,
1735 0, 0, 689, 0, 0, 0, 0, 0, 76, 0,
1736 0, 0, 76, 0, 689, 0, 76, 0, 0, 76,
1737 76, 76, 49, 0, 49, 0, 148, 148, 148, 0,
1738 0, 0, 49, 76, 0, 0, 0, 49, 0, 0,
1739 49, 0, 0, 0, 0, 0, 0, 689, 0, 689,
1740 76, 76, 76, 0, 0, 0, 49, 0, 8, 9,
1741 0, 383, 12, 13, 0, 0, 1474, 0, 14, 0,
1742 0, 0, 0, 0, 0, 1018, 1194, 1020, 0, 76,
1743 0, 0, 16, 0, 17, 18, 519, 0, 873, 519,
1744 20, 0, 0, 0, 0, 0, 0, 0, 0, 23,
1745 0, 0, 0, 0, 519, 519, 519, 0, 26, 0,
1746 128, 129, 0, 76, 0, 0, 0, 0, 0, 519,
1747 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1748 551, 552, 553, 853, 0, 0, 0, 730, 0, 7,
1749 8, 731, 10, 383, 12, 13, 0, 0, 1053, 1054,
1750 14, 1056, 873, 873, 873, 0, 0, 0, 0, 0,
1751 0, 853, 0, 0, 16, 234, 17, 18, 19, 0,
1752 0, 228, 20, -498, 0, 0, 141, 21, 519, 1074,
1753 0, 23, 732, 0, 641, 0, 0, 0, 0, 0,
1754 26, 0, 27, 28, 0, 0, 733, 49, 734, 0,
1755 0, 0, 0, 0, 0, 0, 30, 0, 0, 601,
1756 0, 0, 0, 76, 0, 0, 31, 0, 0, 0,
1757 0, 376, 0, 0, 32, 0, 0, 1109, 376, 33,
1758 0, 0, 0, 1288, 1289, 9, 10, 49, 49, 49,
1759 49, 0, 0, 0, 0, -498, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 153, 0, 0, 0, 76,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 76, 21, 0, 76, 0, 187, 0, 0, 76, 49,
1763 0, 0, 0, 49, 26, 0, 27, 28, 0, 1151,
1764 49, 49, 1290, 49, 0, 0, 0, 0, 0, 1140,
1765 176, 1156, 0, 0, 0, 0, 0, 76, 0, 76,
1766 177, 76, 76, 76, 0, 0, 0, 76, 32, 0,
1767 0, 0, 76, 178, 49, 76, 49, 0, 0, 0,
1768 0, 49, 49, 49, 0, 0, 0, 0, 0, 0,
1769 0, 76, 0, 0, 0, 0, 0, 0, 0, 160,
1770 0, 7, 8, 9, 10, 11, 12, 13, 0, 0,
1771 519, 0, 14, 1288, 125, 126, 10, 153, 153, 153,
1772 0, 0, 0, 0, 0, 15, 16, 0, 17, 18,
1773 19, 0, 0, 0, 20, 1208, 0, 0, 0, 21,
1774 0, 0, 22, 23, 24, 0, 25, 0, 187, 187,
1775 441, 21, 26, 0, 27, 28, 0, 0, 29, 7,
1776 8, 9, 10, 0, 26, 13, 27, 28, 30, 0,
1777 0, 0, 1290, 0, 1221, 0, 0, 187, 31, 0,
1778 30, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1779 31, 33, 0, 0, 0, 0, 34, 21, 32, 0,
1780 0, 601, 0, 33, 522, 519, 519, 519, 0, 0,
1781 26, 234, 27, 28, 0, 0, 0, 0, 0, 0,
1782 0, 647, 0, 0, 0, 0, 176, 0, 0, 0,
1783 0, 0, 76, 0, 0, 0, 177, 1303, 0, 0,
1784 0, 1304, 0, 0, 32, 0, 49, 49, 148, 178,
1785 492, 0, 0, 234, 0, 0, 7, 8, 9, 10,
1786 188, 12, 189, 0, 0, 0, 0, 14, 0, 0,
1787 0, 0, 76, 76, 76, 76, 1320, 0, 0, 0,
1788 0, 16, 0, 17, 18, 0, 0, 1134, 0, 20,
1789 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1790 586, 586, 586, 0, 0, 0, 0, 26, 0, 27,
1791 28, 0, 0, 190, 76, 0, 49, 0, 76, 0,
1792 0, 0, 0, 30, 0, 76, 76, 0, 76, 0,
1793 0, 0, 0, 31, 0, 0, 0, 234, 0, 0,
1794 0, 32, 0, 0, 0, 1372, 33, 0, 49, 1373,
1795 0, 0, 0, 0, 0, 0, 0, 187, 0, 76,
1796 0, 76, 587, 591, 594, 0, 76, 76, 76, 0,
1797 0, 1391, 1392, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 7, 8, 9, 10, 197, 198,
1799 199, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1800 0, 7, 8, 9, 10, 187, 0, 187, 0, 441,
1801 441, 441, 18, 0, 0, 187, 0, 20, 0, 234,
1802 187, 0, 21, 187, 0, 0, 23, 0, 578, 0,
1803 0, 0, 0, 0, 0, 26, 0, 27, 28, 21,
1804 49, 49, 148, 148, 148, 0, 234, 0, 49, 0,
1805 0, 176, 26, 0, 27, 28, 0, 0, 1354, 0,
1806 0, 177, 0, 0, 185, 0, 0, 0, 176, 32,
1807 1134, 1134, 1134, 74, 1360, 0, 0, 0, 177, 0,
1808 0, 0, 0, 0, 0, 0, 32, 0, 0, 237,
1809 0, 178, 241, 0, 0, 0, 0, 601, 0, 139,
1810 143, 49, 0, 0, 74, 0, 49, 0, 49, 74,
1811 0, 0, 0, 237, 0, 345, 0, 0, 0, 0,
1812 0, 0, 0, 0, 196, 0, 0, 0, 0, 0,
1813 0, 76, 76, 76, 0, 0, 0, 835, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 586, 586, 0, 586, 0, 0, 49, 49, 0,
1816 49, 586, 0, 0, 7, 125, 126, 10, 0, 0,
1817 479, 0, 1136, 0, 0, 0, 0, 0, 0, 0,
1818 187, 7, 125, 126, 10, 0, 0, 185, 185, 185,
1819 0, 49, 49, 49, 0, 0, 0, 447, 0, 0,
1820 0, 76, 21, 388, 0, 0, 0, 391, 0, 0,
1821 0, 393, 0, 850, 852, 26, 185, 27, 28, 21,
1822 911, 0, 911, 911, 0, 586, 0, 0, 74, 0,
1823 0, 30, 26, 76, 27, 28, 0, 0, 0, 241,
1824 0, 31, 0, 0, 0, 139, 143, 0, 145, 32,
1825 0, 8, 9, 237, 33, 12, 13, 0, 146, 0,
1826 0, 14, 911, 0, 0, 0, 32, 0, 0, 0,
1827 0, 147, 0, 187, 187, 16, 187, 17, 0, 0,
1828 0, 0, 912, 20, 587, 591, 0, 594, 0, 0,
1829 0, 0, 23, 0, 0, 0, 0, 0, 0, 1134,
1830 0, 26, 0, 128, 129, 0, 0, 0, 480, 0,
1831 0, 0, 0, 0, 187, 7, 8, 9, 10, 0,
1832 0, 226, 0, 0, 591, 76, 76, 76, 76, 76,
1833 0, 0, 0, 76, 0, 0, 0, 492, 492, 492,
1834 0, 0, 0, 0, 0, 237, 241, 0, 0, 586,
1835 0, 0, 0, 21, 0, 1136, 1136, 1136, 0, 0,
1836 0, 0, 0, 1134, 1134, 1134, 26, 0, 27, 28,
1837 0, 0, 0, 0, 0, 8, 9, 0, 188, 12,
1838 189, 0, 176, 0, 0, 14, 76, 49, 0, 0,
1839 0, 76, 177, 76, 0, 0, 185, 0, 0, 16,
1840 32, 17, 18, 0, 0, 178, 0, 20, 610, 0,
1841 0, 591, 0, 0, 0, 0, 23, 0, 0, 0,
1842 0, 586, 0, 586, 0, 26, 0, 128, 129, 0,
1843 0, 0, 0, 0, 586, 0, 0, 0, 586, 586,
1844 586, 0, 76, 76, 185, 76, 185, 0, 185, 185,
1845 185, 0, 0, 0, 185, 0, 0, 0, 0, 185,
1846 0, 0, 185, 0, 0, 662, 0, 0, 663, 0,
1847 0, 0, 0, 665, 0, 0, 76, 76, 76, 911,
1848 911, 1108, 0, 1066, 0, 1067, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 1073, 0, 0, 0,
1850 850, 852, 391, 730, 393, 7, 8, 731, 10, 383,
1851 12, 13, 0, 0, 0, 0, 14, 480, 0, 0,
1852 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 16, 0, 17, 18, 19, 0, 747, 0, 20, -500,
1854 0, 850, 852, 21, 0, 0, 0, 23, 732, 187,
1855 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1856 0, 0, 733, 0, 734, 8, 9, 0, 383, 12,
1857 13, 0, 30, 687, 0, 14, 0, 0, 0, 0,
1858 0, 0, 31, 0, 1136, 0, 0, 0, 0, 16,
1859 32, 17, 18, 0, 0, 33, 0, 20, 0, 0,
1860 0, 0, 0, 237, 241, 0, 23, 0, 578, 0,
1861 0, -500, 0, 0, 0, 26, 0, 128, 129, 185,
1862 0, 0, 0, 0, 0, 835, 835, 0, 835, 0,
1863 0, 579, 7, 8, 9, 10, 0, 0, 13, 0,
1864 0, 580, 0, 0, 0, 0, 0, 0, 1136, 1136,
1865 1136, 581, 0, 0, 582, 583, 0, 0, 0, 185,
1866 0, 185, 185, 0, 0, 0, 0, 0, 0, 0,
1867 21, 0, 76, 911, 911, 1108, 1108, 1108, 0, 0,
1868 0, 911, 0, 26, 0, 27, 28, 0, 0, 0,
1869 0, 0, 0, 0, 0, 7, 8, 9, 10, 437,
1870 0, 185, 0, 1108, 1108, 1108, 0, 0, 0, 438,
1871 100, 0, 185, 185, 0, 185, 0, 32, 913, 119,
1872 100, 0, 439, 0, 0, 0, 100, 100, 0, 100,
1873 0, 0, 0, 21, 187, 1066, 1067, 850, 852, 0,
1874 241, 0, 0, 1073, 0, 0, 26, 0, 27, 28,
1875 0, 0, 0, 185, 7, 8, 9, 10, 0, 218,
1876 479, 0, 437, 954, 0, 850, 852, 0, 0, 0,
1877 662, 663, 438, 665, 0, 0, 0, 0, 0, 0,
1878 32, 0, 0, 0, 0, 439, 0, 0, 0, 0,
1879 911, 911, 21, 911, 0, 0, 0, 7, 8, 9,
1880 10, 0, 0, 0, 747, 26, 747, 27, 28, 0,
1881 0, 997, 1004, 747, 0, 0, 0, 0, 369, 0,
1882 119, 176, 0, 0, 187, 0, 187, 100, 100, 0,
1883 0, 177, 0, 0, 100, 21, 100, 100, 100, 32,
1884 0, 100, 100, 100, 178, 0, 0, 0, 26, 0,
1885 27, 28, 1066, 1067, 0, 1073, 0, 0, 0, 0,
1886 0, 0, 0, 0, 176, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 177, 0, 0, 0, 0, 0,
1888 0, 0, 32, 237, 241, 237, 0, 178, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
1890 0, 7, 8, 731, 10, 383, 12, 13, 0, 0,
1891 0, 0, 14, 0, 0, 462, 100, 0, 185, 185,
1892 1106, 0, 0, 0, 0, 237, 16, 0, 17, 18,
1893 19, 0, 441, 0, 20, 100, 0, 0, 0, 21,
1894 0, 0, 0, 23, 732, 0, 641, 0, 0, 0,
1895 0, 0, 26, 0, 27, 28, 0, 0, 733, 1106,
1896 734, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1897 0, 0, 0, 0, 100, 0, 139, 143, 31, 0,
1898 0, 0, 0, 0, 0, 0, 32, 0, 185, 0,
1899 0, 33, 0, 0, 0, 0, 441, 441, 441, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 447,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 187, 0, 100, 0, 100, 100, 0, 0, 0, 0,
1903 6, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1904 0, 0, 0, 14, 0, 0, 997, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1906 18, 0, 0, 0, 0, 20, 0, 0, 0, 100,
1907 21, 0, 0, 0, 23, 0, 0, 408, 747, 0,
1908 0, 0, 0, 26, 0, 27, 28, 0, 100, 29,
1909 0, 237, 100, 0, 0, 100, 0, 0, 0, 30,
1910 100, 0, 0, 0, 0, 0, 0, 0, 0, 31,
1911 0, 0, 185, 185, 185, 185, 1106, 32, 1220, 0,
1912 185, 0, 33, 0, 0, 0, 0, 0, 243, 0,
1913 0, 8, 9, 0, 0, 12, 13, 0, 0, 0,
1914 0, 14, 1106, 1106, 1106, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 16, 0, 17, 0, 0,
1916 100, 0, 722, 20, 0, 244, 245, 0, 0, 0,
1917 391, 393, 23, 185, 246, 0, 0, 0, 480, 0,
1918 0, 26, 0, 128, 129, 0, 247, 100, 0, 0,
1919 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1920 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1921 268, 0, 0, 269, 270, 271, 0, 0, 272, 0,
1922 0, 273, 0, 0, 0, 0, 0, 0, 0, 185,
1923 185, 1295, 185, 0, 0, 0, 1295, 274, 747, 532,
1924 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
1925 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
1926 553, 100, 0, 185, 0, 185, 0, 0, 0, 0,
1927 0, 0, 100, 100, 0, 100, 100, 0, 0, 0,
1928 0, 0, 0, 1470, 0, 0, 0, 662, 663, 0,
1929 665, 0, 0, 0, 730, 0, 7, 8, 731, 10,
1930 383, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 16, 1359, 17, 18, 19, 0, 0, 100, 20,
1933 -499, 0, 0, 0, 21, 100, 119, 0, 23, 732,
1934 0, 641, 0, 0, 0, 0, 0, 26, 218, 27,
1935 28, 0, 0, 733, 0, 734, 0, 0, 0, 0,
1936 0, 0, 0, 30, 0, 0, 0, 722, 0, 0,
1937 0, 1106, 0, 31, 0, 0, 0, 0, 0, 0,
1938 0, 32, 0, 0, 0, 0, 33, 539, 540, 541,
1939 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1940 552, 553, -499, 532, 533, 534, 535, 536, 537, 538,
1941 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1942 549, 550, 551, 552, 553, 722, 0, 0, 100, 0,
1943 0, 0, 0, 0, 0, 1106, 1106, 1106, 0, 0,
1944 0, 0, 1385, 0, -454, -454, -454, -454, -454, -454,
1945 -454, 1184, 0, -454, 0, -454, 0, 0, 0, 185,
1946 0, 100, 100, 100, 0, 0, -454, 0, -454, 0,
1947 0, 0, -454, 100, 0, 0, 0, -454, 0, 0,
1948 0, 0, -454, 0, 0, 0, -454, 0, -454, 0,
1949 0, 0, 0, 0, 0, -454, 0, -454, -454, -454,
1950 -454, -454, 0, -454, -454, -454, -454, -454, -454, -454,
1951 -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
1952 -454, -454, -454, -454, -454, -454, 0, -454, -454, -454,
1953 0, -454, -454, -454, -454, -454, -454, 0, -454, 0,
1954 0, 0, 0, 1386, 0, 100, 0, 100, -454, -454,
1955 -454, 0, -454, 0, 0, 0, 0, 1362, 100, 1231,
1956 1232, 1233, 10, 383, 12, 281, 282, 283, 0, 284,
1957 14, 1234, 0, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
1958 1242, 1243, 1244, 15, 16, 285, 17, 18, 19, 0,
1959 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
1960 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
1961 26, 0, 1245, 299, 674, 0, 1246, 300, 0, 0,
1962 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
1963 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
1964 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
1965 0, 1247, 7, 8, 9, 10, 383, 12, 13, 0,
1966 0, 687, 0, 14, 0, 1363, 310, 0, 722, 0,
1967 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1968 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1969 21, 0, 0, 0, 23, 100, 578, 0, 0, 0,
1970 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 1104,
1973 0, 0, 0, 0, 0, 0, 0, 32, 0, 581,
1974 0, 0, 1105, 583, 0, 0, 0, 0, 0, 100,
1975 100, 0, 100, 1230, 0, 1231, 1232, 1233, 10, 383,
1976 12, 281, 282, 283, 0, 284, 14, 1234, 0, 1235,
1977 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15,
1978 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1979 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1980 0, 293, 294, 295, 296, 297, 26, 0, 1245, 299,
1981 674, 722, 1246, 300, 0, 0, 0, 0, 0, 301,
1982 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
1983 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
1984 308, 0, 0, 722, 0, 309, 514, 1247, 280, 8,
1985 9, 10, 383, 12, 281, 282, 283, 687, 284, 14,
1986 0, 100, 310, 100, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 16, 285, 17, 18, 19, 0, 286,
1988 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
1989 23, 0, 578, 0, 293, 294, 295, 296, 297, 26,
1990 0, 27, 299, -289, 0, 0, 300, 0, 0, 0,
1991 0, 0, 301, 0, 0, 866, 0, 0, 0, 0,
1992 0, 0, 0, 303, 304, 867, 0, 0, 0, 0,
1993 0, 306, 307, 308, 0, 581, 0, 0, 868, 583,
1994 514, 0, 7, 8, 9, 10, 383, 12, 281, 282,
1995 283, 687, 284, 14, 0, 310, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
1997 18, 19, 0, 286, 287, 20, 0, 288, 289, 290,
1998 21, 291, 292, 0, 23, 0, 578, 0, 293, 294,
1999 295, 296, 297, 26, 0, 27, 28, -289, 0, 0,
2000 300, 0, 0, 0, 0, 0, 301, 0, 0, 1131,
2001 0, 0, 0, 0, 0, 0, 0, 303, 304, 1132,
2002 0, 0, 0, 0, 0, 306, 307, 308, 0, 581,
2003 0, 0, 1133, 583, 686, 0, 280, 8, 9, 10,
2004 383, 12, 281, 282, 283, 687, 284, 14, 0, 310,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2007 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2008 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2009 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 800, 309, 280, 8, 9,
2013 10, 383, 12, 281, 282, 283, 0, 284, 14, 0,
2014 0, -764, 0, 310, 0, 0, 0, 0, 0, 0,
2015 0, 0, 16, 285, 17, 18, 19, 0, 286, 287,
2016 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2017 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2018 27, 299, 1453, 0, -754, 300, 0, 0, 0, 0,
2019 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2020 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2021 306, 307, 308, 0, 0, 0, 677, 309, 788, 789,
2022 790, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2023 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2024 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2025 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2026 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2027 0, 791, 792, 678, 0, 0, 300, 0, 0, 0,
2028 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2029 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2030 0, 306, 307, 308, 0, 0, 0, 0, 309, 793,
2031 677, 0, 788, 789, 790, 10, 0, 12, 496, 282,
2032 283, 0, 284, 14, 940, 310, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2034 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2035 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2036 295, 296, 297, 26, 0, 791, 792, 678, 0, 0,
2037 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2038 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2039 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2040 0, 0, 309, 793, 677, 0, 788, 789, 790, 10,
2041 0, 12, 496, 282, 283, 0, 284, 14, 0, 310,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2044 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2045 0, 0, 293, 294, 295, 296, 297, 26, 0, 791,
2046 792, 678, 0, 0, 300, 0, 0, 0, 0, 0,
2047 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2048 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2049 307, 308, 0, 0, 0, 677, 309, 788, 789, 790,
2050 10, 0, 12, 496, 282, 283, 0, 284, 14, 0,
2051 0, 0, -458, 310, 0, 0, 0, 0, 0, 0,
2052 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2053 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2054 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2055 791, 792, 678, 0, 0, 300, 0, 0, 0, 0,
2056 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2057 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2058 306, 307, 308, 0, 0, 0, 677, 309, 280, 8,
2059 9, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2060 0, 0, 0, 1264, 310, 0, 0, 0, 0, 0,
2061 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2062 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2063 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2064 0, 27, 299, 678, 0, 0, 300, 0, 0, 0,
2065 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2066 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2067 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2068 514, 0, 280, 8, 9, 10, 1268, 12, 281, 282,
2069 283, 0, 284, 14, 0, 310, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2071 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2072 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2073 295, 296, 297, 26, 0, 27, 299, -289, 0, 0,
2074 300, 0, 0, 0, 0, 0, 301, 0, 0, 515,
2075 0, 0, 0, 0, 0, 0, 0, 303, 304, 516,
2076 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2077 0, 677, 517, 280, 8, 9, 10, 0, 12, 496,
2078 282, 283, 0, 284, 14, 0, 0, 0, 0, 310,
2079 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2080 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2081 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2082 294, 295, 296, 297, 26, 0, 27, 299, 678, 0,
2083 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2084 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2085 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2086 0, 0, 800, 309, 280, 8, 9, 10, 0, 12,
2087 496, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2088 310, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2089 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2090 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2091 293, 294, 295, 296, 297, 26, 0, 27, 299, 0,
2092 0, 0, 300, -754, 0, 0, 0, 0, 301, 0,
2093 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2094 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2095 0, 0, 0, 514, 309, 7, 8, 9, 10, 0,
2096 12, 281, 282, 283, 0, 284, 14, 0, 0, 0,
2097 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2098 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2099 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2100 0, 293, 294, 295, 296, 297, 26, 0, 27, 28,
2101 -289, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2102 0, 0, 1424, 0, 0, 0, 0, 0, 0, 0,
2103 303, 304, 1425, 0, 0, 0, 0, 0, 306, 307,
2104 308, 0, 0, 0, 1503, 1426, 280, 8, 9, 10,
2105 0, 12, 281, 282, 283, 0, 284, 14, 0, 0,
2106 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2107 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2108 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2109 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2110 299, 0, 0, -176, 300, 0, 0, 0, 0, 0,
2111 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2112 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2113 307, 308, 0, 0, 0, 800, 309, 280, 8, 9,
2114 10, 0, 12, 496, 282, 283, 0, 284, 14, 0,
2115 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2116 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2117 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2118 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2119 27, 299, 0, 0, 0, 300, 0, 0, 0, 0,
2120 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2121 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2122 306, 307, 308, 0, 0, 0, 885, 309, 280, 8,
2123 9, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2124 0, 0, -754, 0, 310, 0, 0, 0, 0, 0,
2125 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2126 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2127 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2128 0, 27, 299, 0, 0, 0, 300, 0, 0, 0,
2129 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2130 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2131 0, 306, 307, 308, 0, 0, 0, 887, 309, 280,
2132 8, 9, 10, 0, 12, 496, 282, 283, 0, 284,
2133 14, 0, 0, 0, 0, 310, 0, 0, 0, 0,
2134 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2135 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2136 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2137 26, 0, 27, 299, 0, 0, 0, 300, 0, 0,
2138 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2139 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2140 0, 0, 306, 307, 308, 0, 0, 0, 1437, 309,
2141 280, 8, 9, 10, 0, 12, 496, 282, 283, 0,
2142 284, 14, 0, 0, 0, 0, 310, 0, 0, 0,
2143 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2144 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2145 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2146 297, 26, 0, 27, 299, 0, 0, 0, 300, 0,
2147 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2148 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2149 0, 0, 0, 306, 307, 308, 280, 8, 9, 10,
2150 309, 12, 496, 282, 283, 0, 284, 14, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2152 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2153 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2154 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2155 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2156 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2157 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2158 307, 308, 0, 0, 0, 0, 309, 538, 539, 540,
2159 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2160 551, 552, 553, 310, 838, 1231, 1232, 1233, 10, 383,
2161 12, 281, 282, 283, 0, 284, 14, 1234, 0, 1235,
2162 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15,
2163 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
2164 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2165 0, 293, 294, 295, 296, 297, 26, 0, 1245, 299,
2166 674, 0, 1246, 300, 0, 0, 0, 0, 0, 301,
2167 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2168 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2169 308, 0, 0, 0, 0, 309, 0, 1247, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 1367, 310, 1231, 1232, 1233, 10, 383, 12, 281,
2172 282, 283, 0, 284, 14, 1234, 0, 1235, 1236, 1237,
2173 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15, 16, 285,
2174 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2175 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2176 294, 295, 296, 297, 26, 0, 1245, 299, 674, 0,
2177 1246, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2178 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2179 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2180 0, 0, 0, 309, 0, 1247, 0, 1231, 1232, 1233,
2181 10, 383, 12, 281, 282, 283, 0, 284, 14, 1234,
2182 310, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
2183 1244, 15, 16, 285, 17, 18, 19, 0, 286, 287,
2184 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2185 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2186 1245, 299, 1480, 0, 1246, 300, 0, 0, 0, 0,
2187 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2188 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2189 306, 307, 308, 0, 0, 0, 0, 309, 0, 1247,
2190 0, 1231, 1232, 1233, 10, 383, 12, 281, 282, 283,
2191 0, 284, 14, 1234, 310, 1235, 1236, 1237, 1238, 1239,
2192 1240, 1241, 1242, 1243, 1244, 15, 16, 285, 17, 18,
2193 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2194 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2195 296, 297, 26, 0, 1245, 299, 0, 0, 1246, 300,
2196 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2197 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2198 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2199 0, 309, 0, 1247, 280, 8, 9, 10, 383, 12,
2200 281, 282, 283, 687, 284, 14, 0, 0, 310, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2202 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2203 289, 290, 21, 291, 292, 0, 23, 0, 578, 0,
2204 293, 294, 295, 296, 297, 26, 0, 27, 299, 0,
2205 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2206 0, 866, 0, 0, 0, 0, 0, 0, 0, 303,
2207 304, 867, 0, 0, 0, 0, 0, 306, 307, 308,
2208 0, 581, 0, 0, 868, 583, 7, 8, 9, 10,
2209 383, 12, 281, 282, 283, 687, 284, 14, 0, 0,
2210 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2212 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2213 578, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2214 28, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2215 301, 0, 0, 1131, 0, 0, 0, 0, 0, 0,
2216 0, 303, 304, 1132, 0, 0, 0, 0, 0, 306,
2217 307, 308, 0, 581, 0, 0, 1133, 583, 280, 8,
2218 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2219 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2221 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2222 23, 0, 578, 0, 293, 294, 295, 296, 297, 26,
2223 0, 27, 299, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 301, 0, 0, 866, 0, 0, 0, 0,
2225 0, 0, 0, 303, 304, 867, 0, 0, 0, 0,
2226 0, 306, 307, 308, 0, 581, 0, 0, 868, 583,
2227 7, 8, 9, 10, 0, 12, 281, 282, 283, 0,
2228 284, 14, 0, 0, 0, 310, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2230 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2231 292, 0, 23, 0, 578, 0, 293, 294, 295, 296,
2232 297, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 301, 0, 0, 1131, 0, 0,
2234 0, 0, 0, 0, 0, 303, 304, 1132, 0, 0,
2235 0, 0, 0, 306, 307, 308, 0, 581, 0, 0,
2236 1133, 583, 280, 8, 9, 10, 0, 12, 496, 282,
2237 283, 0, 284, 14, 0, 0, 0, 310, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2239 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2240 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2241 295, 296, 297, 26, 0, 27, 299, 0, 0, 1344,
2242 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2243 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2244 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2245 0, 0, 309, 280, 8, 9, 10, 383, 12, 281,
2246 282, 283, 0, 284, 14, 0, 0, 0, 0, 310,
2247 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2248 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2249 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2250 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2252 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2253 305, 0, 0, 0, 0, 0, 306, 307, 308, 280,
2254 8, 9, 10, 309, 12, 281, 282, 283, 0, 284,
2255 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 310, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2257 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2258 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2259 26, 0, 298, 299, 0, 0, 0, 300, 0, 0,
2260 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2261 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2262 0, 0, 306, 307, 308, 280, 8, 9, 10, 309,
2263 12, 281, 282, 283, 0, 284, 14, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2265 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2266 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2267 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2268 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2269 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2270 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2271 308, 280, 8, 9, 10, 309, 12, 496, 282, 283,
2272 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2274 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2275 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2276 296, 297, 26, 0, 27, 299, 0, 0, 0, 300,
2277 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2278 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2279 0, 0, 0, 0, 306, 307, 308, 280, 8, 9,
2280 10, 309, 12, 496, 282, 283, 0, 284, 14, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2282 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2283 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2284 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2285 27, 299, 529, 0, 0, 0, 0, 0, 0, 0,
2286 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2287 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2288 306, 307, 308, 280, 8, 9, 10, 530, 12, 496,
2289 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 310, 0, 0, 0, 16, 285,
2291 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2292 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2293 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2295 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2296 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2297 0, 0, 0, 309, 566, 280, 8, 9, 10, 0,
2298 12, 496, 282, 283, 0, 284, 14, 0, 0, 0,
2299 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2301 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2302 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2303 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2304 0, 0, 515, 0, 0, 0, 0, 0, 0, 0,
2305 303, 304, 516, 0, 0, 0, 0, 0, 306, 307,
2306 308, 1092, 8, 9, 10, 517, 12, 496, 282, 283,
2307 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2308 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2309 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2310 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2311 296, 297, 26, 0, 27, 299, 0, 0, 0, 300,
2312 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2313 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2314 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2315 10, 309, 12, 496, 282, 283, 0, 284, 14, 0,
2316 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2317 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2318 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2319 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2320 27, 28, 0, 0, 0, 300, 0, 0, 0, 0,
2321 0, 301, 0, 0, 1424, 0, 0, 0, 0, 0,
2322 0, 0, 303, 304, 1425, 0, 0, 0, 0, 0,
2323 306, 307, 308, 280, 8, 9, 10, 1426, 12, 496,
2324 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2325 0, 0, 0, 0, 310, 0, 0, 0, 16, 285,
2326 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2327 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2328 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2330 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2331 305, 0, 0, 0, 0, 0, 306, 307, 308, 280,
2332 8, 9, 10, 497, 12, 496, 282, 283, 0, 284,
2333 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 310, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2335 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2336 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2337 26, 0, 27, 299, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2339 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2340 0, 0, 306, 307, 308, 280, 8, 9, 10, 500,
2341 12, 496, 282, 283, 0, 284, 14, 0, 0, 0,
2342 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2343 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2344 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2345 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 301,
2347 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2348 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2349 308, 280, 8, 9, 10, 309, 12, 496, 282, 283,
2350 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2352 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2353 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2354 296, 297, 26, 0, 27, 299, 0, 0, 0, 0,
2355 0, 0, 0, 0, 0, 301, 0, 0, 515, 0,
2356 0, 0, 0, 0, 0, 0, 303, 304, 516, 0,
2357 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2358 10, 517, 12, 281, 282, 283, 0, 284, 14, 0,
2359 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2360 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2361 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2362 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2363 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 301, 0, 0, 1424, -362, 8, 9, -362, -362,
2365 12, 226, 303, 304, 1425, 0, 14, 0, 0, 0,
2366 306, 307, 308, 0, 0, 0, 0, 1426, 0, 0,
2367 16, 0, 17, -362, 0, 0, 0, 0, 20, 0,
2368 0, 0, 0, -362, 310, 0, 0, 23, 0, 578,
2369 0, 0, 0, 0, 0, 0, 26, 0, 128, 129,
2370 7, 8, 9, 10, 197, 198, 199, 0, 0, 0,
2371 0, 14, 579, 0, 0, 0, 0, 0, 0, 0,
2372 0, 0, 580, 0, 0, 0, 0, 0, 18, 0,
2373 -362, 0, 581, 20, 0, 582, 583, 0, 21, 0,
2374 0, 0, 23, 0, 578, 0, 0, 0, 0, 0,
2375 0, 26, 0, 27, 28, 7, 8, 9, 10, 383,
2376 12, 13, 0, 0, 953, 0, 14, 907, 0, 0,
2377 0, 0, 0, 0, 0, 0, 0, 908, 0, 0,
2378 16, 0, 17, 18, 0, 32, 0, 581, 20, 0,
2379 948, 583, 0, 21, 0, 0, 0, 23, 0, 0,
2380 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2381 987, 8, 731, 10, 188, 12, 189, 0, 0, 0,
2382 0, 14, 30, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 31, 0, 0, 16, 0, 17, 18, 0,
2384 32, 0, 0, 20, 0, 33, 0, 0, 21, 0,
2385 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2386 0, 26, 0, 27, 28, 0, 0, 0, 0, 989,
2387 0, 0, 0, 0, 0, 0, 0, 30, 7, 8,
2388 9, 10, 188, 12, 189, 0, 0, 31, 0, 14,
2389 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2390 33, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2391 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2392 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2393 0, 27, 28, 0, 0, 1357, 0, 7, 8, 9,
2394 10, 383, 12, 13, 0, 30, 0, 0, 14, 0,
2395 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
2396 0, 0, 16, 32, 17, 18, 0, 0, 33, 0,
2397 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2398 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2399 27, 28, 7, 8, 9, 10, 188, 12, 189, 0,
2400 0, 0, 0, 14, 30, 0, 0, 0, 0, 0,
2401 0, 0, 0, 0, 31, 0, 0, 16, 0, 17,
2402 18, 0, 32, 0, 0, 20, 0, 33, 0, 0,
2403 21, 0, 0, 1414, 23, 0, 0, 0, 0, 0,
2404 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2407 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2408 0, 0, 33, 1415, 532, 533, 534, 535, 536, 537,
2409 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2410 548, 549, 550, 551, 552, 553, 619, 0, 0, 0,
2411 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2412 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2413 552, 553, 1488, 532, 533, 534, 535, 536, 537, 538,
2414 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2415 549, 550, 551, 552, 553, 532, 533, 534, 535, 536,
2416 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2417 547, 548, 549, 550, 551, 552, 553, 536, 537, 538,
2418 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2419 549, 550, 551, 552, 553, 537, 538, 539, 540, 541,
2420 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2424 static const short yycheck
[] = { 4,
2425 672, 145, 146, 155, 53, 423, 329, 23, 418, 669,
2426 4, 466, 192, 4, 382, 382, 231, 105, 106, 445,
2427 382, 4, 124, 335, 335, 827, 14, 582, 284, 285,
2428 35, 60, 200, 201, 589, 40, 30, 31, 132, 4,
2429 527, 35, 4, 4, 35, 82, 40, 227, 33, 40,
2430 55, 353, 35, 652, 122, 4, 659, 40, 88, 78,
2431 90, 317, 131, 132, 1255, 70, 562, 131, 1248, 1326,
2432 35, 1262, 52, 35, 35, 40, 44, 82, 40, 40,
2433 192, 86, 165, 88, 1411, 90, 35, 1412, 82, 201,
2434 55, 40, 11, 81, 11, 11, 276, 4, 1, 222,
2435 105, 106, 1, 12, 9, 135, 74, 1, 735, 60,
2436 737, 521, 37, 0, 54, 7, 104, 744, 1429, 54,
2437 335, 140, 62, 1450, 0, 1413, 54, 62, 35, 134,
2438 135, 33, 137, 40, 3, 4, 5, 6, 1449, 74,
2439 134, 78, 33, 62, 27, 37, 74, 74, 31, 329,
2440 59, 145, 146, 62, 159, 58, 61, 583, 109, 58,
2441 145, 146, 147, 62, 58, 159, 195, 186, 62, 134,
2442 150, 25, 41, 134, 203, 82, 499, 60, 74, 57,
2443 752, 64, 176, 177, 109, 134, 758, 56, 57, 108,
2444 47, 108, 108, 178, 159, 1506, 95, 1485, 159, 108,
2445 59, 95, 58, 183, 58, 1530, 48, 109, 62, 443,
2446 159, 3, 4, 5, 47, 54, 671, 451, 1545, 88,
2447 93, 309, 3, 4, 5, 1416, 109, 134, 196, 59,
2448 93, 64, 1412, 1490, 60, 74, 93, 94, 59, 58,
2449 228, 95, 98, 64, 93, 64, 3, 4, 5, 6,
2450 109, 108, 159, 453, 75, 146, 147, 326, 33, 411,
2451 93, 94, 326, 673, 56, 57, 47, 74, 1459, 25,
2452 470, 27, 277, 54, 877, 56, 57, 880, 108, 373,
2453 642, 449, 450, 109, 41, 322, 59, 178, 80, 457,
2454 602, 48, 864, 437, 438, 59, 47, 365, 74, 56,
2455 57, 469, 58, 902, 309, 242, 62, 47, 338, 4,
2456 5, 60, 93, 868, 192, 60, 1507, 322, 921, 922,
2457 488, 93, 200, 201, 59, 330, 694, 694, 322, 631,
2458 826, 88, 54, 338, 339, 108, 385, 47, 450, 95,
2459 428, 47, 93, 94, 108, 339, 47, 335, 60, 227,
2460 12, 25, 74, 93, 909, 107, 571, 108, 64, 54,
2461 109, 56, 57, 64, 109, 1154, 1155, 690, 108, 60,
2462 145, 146, 147, 108, 339, 70, 47, 382, 339, 1168,
2463 25, 386, 27, 93, 413, 80, 12, 93, 382, 47,
2464 339, 1193, 93, 948, 47, 59, 60, 59, 276, 94,
2465 62, 27, 974, 178, 1252, 31, 1254, 336, 337, 497,
2466 47, 829, 500, 58, 986, 322, 504, 62, 309, 906,
2467 382, 47, 93, 3, 4, 5, 431, 456, 75, 517,
2468 77, 54, 339, 59, 60, 93, 62, 431, 64, 865,
2469 93, 94, 530, 437, 438, 31, 534, 1019, 47, 1021,
2470 95, 329, 437, 438, 439, 108, 93, 94, 35, 54,
2471 389, 390, 467, 40, 494, 47, 54, 93, 94, 62,
2472 54, 58, 560, 467, 54, 382, 56, 57, 566, 74,
2473 1083, 1084, 108, 47, 467, 47, 74, 4, 5, 494,
2474 74, 459, 497, 74, 93, 500, 59, 60, 1287, 504,
2475 505, 506, 507, 508, 4, 5, 467, 1296, 1297, 387,
2476 1299, 93, 517, 1315, 54, 8, 9, 972, 467, 109,
2477 47, 14, 527, 58, 431, 530, 563, 937, 47, 93,
2478 467, 93, 94, 59, 93, 903, 903, 54, 632, 56,
2479 57, 903, 1169, 36, 712, 639, 47, 438, 439, 75,
2480 1105, 77, 45, 70, 47, 54, 56, 57, 563, 608,
2481 467, 873, 873, 80, 4, 5, 93, 94, 54, 563,
2482 639, 449, 450, 38, 93, 62, 54, 582, 1133, 457,
2483 3, 4, 5, 75, 589, 579, 580, 74, 582, 54,
2484 47, 469, 93, 59, 60, 589, 719, 777, 721, 648,
2485 93, 650, 651, 726, 634, 593, 497, 62, 48, 500,
2486 488, 62, 59, 47, 870, 47, 56, 57, 12, 9,
2487 1038, 1039, 12, 74, 640, 516, 517, 729, 75, 634,
2488 94, 1057, 715, 56, 57, 58, 93, 83, 84, 530,
2489 80, 690, 4, 5, 649, 47, 1435, 1436, 653, 4,
2490 5, 47, 78, 108, 108, 671, 563, 47, 873, 93,
2491 1115, 93, 437, 438, 439, 59, 749, 47, 62, 59,
2492 64, 61, 62, 47, 64, 582, 102, 606, 62, 765,
2493 766, 767, 589, 4, 5, 75, 48, 77, 1453, 694,
2494 74, 93, 1147, 742, 56, 57, 62, 93, 589, 54,
2495 694, 56, 57, 93, 94, 131, 59, 60, 108, 4,
2496 62, 1129, 11, 93, 140, 3, 4, 5, 108, 93,
2497 1138, 1139, 74, 753, 754, 1143, 756, 48, 109, 1052,
2498 735, 609, 737, 108, 1499, 56, 57, 108, 743, 744,
2499 35, 735, 108, 737, 93, 40, 834, 752, 753, 754,
2500 744, 756, 735, 758, 737, 59, 60, 3, 752, 80,
2501 186, 744, 4, 5, 758, 111, 1184, 60, 56, 57,
2502 738, 739, 94, 651, 735, 94, 737, 742, 743, 747,
2503 868, 54, 54, 744, 59, 60, 735, 694, 737, 62,
2504 62, 4, 5, 219, 25, 744, 27, 62, 735, 111,
2505 737, 74, 74, 59, 60, 74, 743, 744, 4, 5,
2506 93, 47, 690, 1473, 56, 57, 242, 25, 54, 27,
2507 825, 1493, 3, 4, 5, 830, 93, 58, 735, 74,
2508 737, 62, 59, 74, 712, 48, 74, 744, 74, 768,
2509 4, 5, 11, 56, 57, 752, 969, 970, 971, 109,
2510 58, 758, 48, 858, 62, 108, 1274, 93, 59, 864,
2511 56, 57, 74, 868, 95, 108, 54, 80, 4, 5,
2512 864, 108, 866, 867, 868, 56, 57, 109, 27, 967,
2513 771, 109, 31, 47, 80, 873, 108, 95, 1053, 1054,
2514 54, 1056, 56, 57, 1312, 914, 979, 980, 903, 777,
2515 905, 906, 108, 27, 909, 108, 70, 31, 334, 903,
2516 59, 60, 48, 907, 908, 909, 80, 111, 111, 27,
2517 56, 57, 74, 74, 909, 1008, 90, 1337, 977, 93,
2518 94, 1254, 4, 5, 54, 59, 60, 9, 54, 1349,
2519 64, 903, 108, 948, 80, 74, 62, 4, 5, 286,
2520 287, 111, 9, 111, 948, 108, 961, 864, 74, 1103,
2521 1104, 868, 967, 948, 108, 302, 392, 896, 305, 974,
2522 58, 308, 54, 108, 311, 8, 867, 868, 315, 998,
2523 974, 986, 54, 111, 56, 57, 323, 1131, 1132, 93,
2524 64, 47, 986, 3, 4, 5, 903, 54, 70, 56,
2525 57, 54, 909, 47, 1009, 59, 4, 5, 80, 62,
2526 54, 109, 977, 70, 1019, 1009, 1021, 93, 909, 1429,
2527 30, 74, 990, 80, 54, 1019, 1009, 1021, 996, 997,
2528 74, 1061, 1000, 1001, 60, 36, 1004, 94, 464, 1449,
2529 64, 948, 64, 1048, 54, 1133, 56, 57, 1009, 93,
2530 48, 64, 3, 4, 5, 60, 1061, 948, 56, 57,
2531 1009, 998, 3, 4, 5, 491, 1476, 974, 108, 3,
2532 4, 5, 1009, 62, 108, 1443, 1443, 1160, 1161, 986,
2533 1163, 1164, 80, 1166, 1013, 1014, 1015, 108, 1107, 108,
2534 108, 64, 1180, 1181, 1182, 1183, 1506, 64, 64, 1115,
2535 1105, 93, 1009, 54, 1514, 56, 57, 58, 62, 1103,
2536 1104, 1105, 1019, 54, 1021, 56, 57, 1535, 1103, 1104,
2537 1105, 1126, 56, 57, 1447, 54, 59, 111, 1133, 59,
2538 108, 108, 1126, 62, 909, 1126, 108, 1131, 1132, 1133,
2539 108, 74, 75, 1126, 77, 74, 1131, 1132, 1133, 108,
2540 576, 75, 7, 8, 9, 1243, 75, 75, 86, 14,
2541 88, 382, 90, 75, 1169, 1126, 592, 62, 108, 108,
2542 3, 4, 5, 948, 7, 1169, 31, 62, 515, 516,
2543 59, 36, 108, 3, 4, 5, 1169, 7, 8, 9,
2544 45, 62, 108, 3, 4, 5, 6, 30, 1105, 88,
2545 111, 1284, 1285, 1252, 37, 1254, 94, 135, 1169, 137,
2546 431, 111, 74, 1104, 1105, 47, 36, 108, 108, 1126,
2547 1169, 54, 108, 56, 57, 1313, 1133, 111, 1165, 111,
2548 108, 41, 1169, 108, 54, 109, 56, 57, 58, 108,
2549 59, 1132, 1133, 1248, 54, 109, 56, 57, 1253, 47,
2550 1255, 3, 4, 5, 1248, 60, 54, 1262, 1346, 59,
2551 64, 1255, 1169, 64, 1255, 1248, 1271, 1447, 1262, 1421,
2552 59, 1262, 1255, 108, 108, 1204, 74, 93, 88, 1262,
2553 1424, 1425, 93, 103, 104, 105, 93, 1248, 109, 3,
2554 4, 5, 424, 108, 1255, 93, 1379, 1380, 1381, 431,
2555 93, 1262, 111, 109, 56, 57, 3, 4, 5, 108,
2556 7, 8, 9, 3, 4, 5, 6, 108, 1406, 9,
2557 3, 4, 5, 8, 1412, 1413, 1294, 1295, 1103, 1104,
2558 1105, 3, 4, 5, 48, 7, 8, 9, 1426, 36,
2559 108, 1248, 56, 57, 108, 108, 108, 108, 1255, 1432,
2560 1433, 41, 4, 5, 111, 1262, 1131, 1132, 1133, 56,
2561 57, 582, 109, 495, 54, 48, 56, 57, 589, 108,
2562 33, 108, 300, 56, 57, 1360, 1254, 108, 108, 108,
2563 70, 108, 64, 54, 56, 57, 108, 108, 62, 47,
2564 80, 1359, 44, 111, 96, 108, 108, 1485, 88, 1448,
2565 108, 1406, 54, 93, 56, 57, 1411, 1412, 1413, 62,
2566 338, 1416, 1406, 1501, 62, 1498, 60, 1411, 1412, 1413,
2567 1411, 1426, 1416, 60, 9, 1416, 60, 559, 1411, 1412,
2568 1424, 1425, 16, 1416, 93, 1523, 93, 60, 1443, 1424,
2569 1425, 1426, 1530, 108, 108, 1450, 872, 108, 874, 1443,
2570 1411, 1412, 108, 108, 1459, 1416, 1450, 108, 60, 1450,
2571 93, 111, 93, 17, 596, 1459, 60, 1450, 1459, 1360,
2572 97, 107, 60, 694, 11, 64, 1459, 60, 108, 108,
2573 1485, 80, 81, 82, 83, 84, 8, 9, 914, 1450,
2574 108, 1485, 14, 108, 60, 423, 424, 60, 1459, 1406,
2575 93, 838, 1507, 431, 1411, 1412, 1413, 4, 5, 1416,
2576 1478, 8, 9, 1507, 36, 59, 1507, 14, 7, 8,
2577 9, 108, 60, 45, 1507, 14, 108, 108, 11, 866,
2578 867, 752, 60, 11, 1425, 1426, 1443, 758, 0, 36,
2579 1545, 60, 31, 1450, 0, 0, 1507, 36, 45, 410,
2580 47, 1545, 1459, 2, 1545, 632, 45, 54, 903, 56,
2581 57, 159, 1545, 159, 1472, 743, 494, 495, 1115, 1447,
2582 137, 60, 998, 70, 92, 1336, 1545, 1194, 1485, 279,
2583 1253, 889, 678, 80, 1545, 1360, 884, 1147, 3, 4,
2584 5, 6, 1009, 90, 9, 221, 93, 94, 743, 527,
2585 1507, 529, 972, 615, 532, 533, 1167, 535, 536, 537,
2586 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2587 548, 549, 550, 551, 552, 553, 41, 882, 563, 122,
2588 183, 559, 47, 3, 4, 5, 6, 326, 1545, 54,
2589 1255, 56, 57, 864, 1127, 1493, 1514, 868, 1462, 1424,
2590 1425, 1426, 1524, 956, 1080, 70, 1526, 1271, -1, -1,
2591 -1, 589, -1, -1, -1, 80, -1, -1, 596, -1,
2592 -1, 41, -1, 88, 4, 90, -1, -1, 93, 94,
2593 -1, 1107, 903, -1, 14, -1, 56, 57, 909, -1,
2594 618, 619, 824, 825, 24, -1, -1, -1, 830, -1,
2595 30, 31, -1, 33, -1, 35, 634, 710, -1, -1,
2596 40, -1, 844, -1, 846, -1, 848, -1, -1, -1,
2597 -1, -1, 1059, 53, -1, 55, -1, 948, -1, 14,
2598 -1, 4, 5, 63, -1, 8, 9, 22, -1, 1165,
2599 70, 14, 7, 8, 9, -1, -1, -1, 751, 14,
2600 678, 81, 82, 974, 757, 28, -1, 30, -1, 891,
2601 -1, -1, -1, 36, -1, 986, 31, -1, -1, -1,
2602 -1, 36, 45, -1, 104, -1, -1, -1, 63, -1,
2603 45, 54, -1, 56, 57, 58, -1, -1, -1, 7,
2604 8, 9, -1, -1, 1131, 1132, 14, -1, 1019, 931,
2605 1021, -1, 132, -1, 134, -1, 734, -1, 138, -1,
2606 -1, 141, 142, 31, -1, 145, 146, 147, 36, -1,
2607 93, -1, 47, -1, -1, 753, 754, 45, 756, 159,
2608 -1, -1, 3, 4, 5, 6, -1, 122, 3, 4,
2609 5, 6, 60, 771, 9, -1, 176, 177, 178, 78,
2610 79, 80, 81, 82, 83, 84, 859, -1, 861, 144,
2611 -1, 86, 87, -1, -1, 793, 91, 92, 93, 94,
2612 41, -1, -1, 424, -1, 205, 41, 48, -1, -1,
2613 431, -1, 47, -1, 1105, 56, 57, -1, -1, 54,
2614 220, 56, 57, 176, 177, 178, 824, 825, 228, -1,
2615 -1, 829, 830, -1, -1, 70, -1, -1, -1, 239,
2616 -1, 1248, 1133, -1, -1, 80, 844, 88, 846, -1,
2617 848, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2618 -1, -1, -1, -1, 219, 220, -1, -1, -1, 55,
2619 -1, 57, -1, -1, 495, -1, 231, 277, 278, -1,
2620 -1, -1, -1, 881, -1, -1, -1, -1, -1, -1,
2621 -1, 4, 5, 891, -1, 8, 9, -1, -1, -1,
2622 -1, 14, -1, -1, -1, -1, -1, -1, 906, -1,
2623 3, 4, 5, 6, -1, 1117, -1, 1119, -1, 1121,
2624 -1, 919, 322, 36, -1, -1, 326, -1, 328, 329,
2625 330, -1, 45, 931, 47, -1, -1, -1, 559, 339,
2626 -1, 54, -1, 56, 57, 1018, 301, 1020, 41, -1,
2627 948, -1, -1, -1, -1, 48, -1, 70, -1, -1,
2628 -1, -1, -1, 56, 57, -1, -1, 80, 589, 3,
2629 4, 5, 6, 373, -1, 596, -1, 90, -1, 165,
2630 93, 94, 382, -1, -1, 385, 386, 80, 343, -1,
2631 -1, 989, -1, -1, -1, 88, 396, 352, -1, 399,
2632 -1, 1074, -1, -1, 404, -1, 192, 41, -1, -1,
2633 365, -1, -1, 1215, 200, 201, -1, 1424, 1425, -1,
2634 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
2635 -1, -1, -1, 433, -1, 435, 70, 437, 438, 439,
2636 1038, 1039, -1, 443, 1042, -1, 80, -1, 448, -1,
2637 -1, 451, -1, -1, 88, -1, -1, -1, -1, 93,
2638 -1, -1, -1, 1061, -1, -1, -1, 467, -1, -1,
2639 -1, -1, 3, 4, 5, 6, -1, -1, 1151, -1,
2640 433, -1, 435, 1156, 437, 438, 439, -1, -1, -1,
2641 -1, -1, -1, -1, -1, 448, 76, 77, 78, 79,
2642 80, 81, 82, 83, 84, 505, 506, 507, 508, 464,
2643 41, 1, -1, 3, 4, 5, 6, 48, 8, 1117,
2644 -1, 1119, -1, 1121, -1, 56, 57, -1, -1, -1,
2645 -1, 1129, -1, -1, -1, 1208, -1, -1, -1, -1,
2646 1138, 1139, -1, -1, -1, 1143, -1, -1, -1, 80,
2647 771, 41, 1443, -1, -1, -1, -1, 88, 48, -1,
2648 1158, 1159, -1, 563, 54, 565, 56, 57, 4, 5,
2649 -1, -1, -1, 9, 529, -1, -1, 577, -1, 579,
2650 580, -1, 582, -1, -1, -1, 1184, -1, -1, 589,
2651 -1, -1, -1, 593, -1, -1, -1, -1, 88, -1,
2652 386, 387, -1, 824, 825, -1, -1, -1, 608, 830,
2653 -1, 47, -1, -1, -1, -1, 571, 1215, 54, -1,
2654 56, 57, -1, 844, -1, 846, -1, 848, -1, -1,
2655 1303, 1304, 632, -1, 70, -1, -1, -1, -1, 639,
2656 -1, 1239, -1, -1, 80, -1, -1, 1320, 648, 649,
2657 650, 651, 652, 653, 90, -1, 442, 93, 94, -1,
2658 -1, -1, -1, 449, 450, -1, -1, 453, -1, -1,
2659 891, 457, -1, -1, -1, -1, 1274, -1, -1, -1,
2660 -1, -1, -1, -1, 470, 640, 3, 4, 5, 6,
2661 690, -1, 1290, -1, 694, -1, -1, 652, -1, 1372,
2662 1373, 701, 702, -1, 704, -1, -1, 4, 5, -1,
2663 931, -1, 9, -1, 1312, -1, -1, -1, 1391, 1392,
2664 -1, -1, -1, 678, 41, -1, -1, 948, -1, -1,
2665 -1, 48, 732, -1, -1, 735, -1, 737, -1, 56,
2666 57, -1, 742, 743, 744, -1, -1, -1, 701, 702,
2667 47, 704, 752, -1, -1, -1, -1, 54, 758, 56,
2668 57, -1, 1360, 80, -1, 765, 766, 767, -1, -1,
2669 -1, 88, -1, 70, -1, -1, -1, 777, -1, 1377,
2670 1378, -1, -1, 80, -1, -1, -1, -1, 1386, 742,
2671 -1, -1, -1, 90, -1, -1, 93, 94, -1, -1,
2672 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2673 -1, -1, -1, 14, -1, -1, 1414, -1, -1, -1,
2674 -1, -1, -1, 609, -1, -1, 27, 28, -1, 30,
2675 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
2676 41, -1, -1, 44, 45, 46, -1, 48, -1, 849,
2677 -1, 851, -1, 54, -1, 56, 57, -1, 858, 60,
2678 -1, -1, 862, 649, 864, 651, 866, 867, 868, 70,
2679 -1, -1, -1, 873, -1, -1, -1, -1, -1, 80,
2680 -1, -1, -1, 328, 329, 330, -1, 88, -1, -1,
2681 -1, -1, 93, -1, -1, -1, 1117, 98, 1119, -1,
2682 1121, -1, -1, 903, 690, 905, -1, 907, 908, 909,
2683 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2684 -1, 9, 3, 4, 5, 6, 712, -1, -1, 715,
2685 -1, -1, -1, -1, 889, -1, -1, 1535, -1, -1,
2686 -1, -1, -1, -1, -1, -1, -1, 902, 948, -1,
2687 -1, -1, 4, 41, 907, 908, 909, 743, -1, 47,
2688 41, 961, 14, 749, -1, -1, 54, 48, 56, 57,
2689 -1, 23, 24, -1, 974, 56, 57, 977, 30, 31,
2690 -1, 33, 70, 35, 4, 5, 986, -1, 40, 9,
2691 -1, -1, 80, -1, 1215, 948, -1, -1, -1, 999,
2692 88, 53, 90, 55, -1, 93, 94, 88, -1, 1009,
2693 -1, 63, -1, -1, -1, -1, -1, -1, 70, 1019,
2694 -1, 1021, -1, -1, 977, -1, -1, 47, -1, -1,
2695 82, -1, -1, -1, 54, -1, 56, 57, -1, 4,
2696 5, -1, -1, 8, 9, -1, -1, -1, 1048, 14,
2697 70, -1, -1, 1053, 1054, -1, 1056, -1, -1, -1,
2698 80, -1, -1, 28, -1, 30, -1, -1, -1, -1,
2699 90, 36, -1, 93, 94, -1, 3, 4, 5, 6,
2700 45, -1, 134, -1, 1039, -1, 138, -1, -1, 54,
2701 142, 56, 57, 145, 146, 147, -1, -1, -1, -1,
2702 -1, 1101, 1102, 1103, 1104, 1105, -1, 159, -1, 1109,
2703 -1, 38, 39, -1, 41, -1, -1, -1, -1, 3,
2704 4, 5, 6, -1, 176, 177, 178, 54, 93, 56,
2705 57, 1131, 1132, 1133, 579, 580, -1, 582, -1, 1360,
2706 -1, -1, -1, -1, 589, -1, -1, -1, 1101, 1102,
2707 1103, 1104, 1105, 205, -1, -1, 1109, 41, -1, -1,
2708 -1, -1, 1162, -1, 48, -1, -1, 1167, 1123, 1169,
2709 -1, -1, 56, 57, 1129, -1, -1, -1, 1131, 1132,
2710 1133, -1, -1, -1, -1, -1, -1, 239, -1, -1,
2711 -1, -1, -1, 979, 980, -1, 80, -1, -1, -1,
2712 -1, -1, -1, 648, 88, 650, 651, -1, 653, 1162,
2713 -1, -1, -1, -1, -1, -1, -1, -1, 1218, 1219,
2714 -1, 1221, 1008, -1, -1, 277, 278, 71, 72, 73,
2715 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2716 84, 3, 4, 5, 6, 690, -1, -1, -1, -1,
2717 -1, -1, 1252, 1253, 1254, -1, -1, -1, 3, 4,
2718 5, 6, 7, 8, 9, 1218, 1219, -1, 1221, 14,
2719 322, 1271, -1, -1, 326, -1, 328, 329, 330, 41,
2720 -1, -1, -1, 335, -1, -1, 31, 339, -1, 1244,
2721 -1, 36, 54, -1, 56, 57, 41, -1, 60, -1,
2722 45, -1, 47, -1, -1, -1, -1, -1, 70, 54,
2723 -1, 56, 57, 3, 4, 5, 6, -1, 80, -1,
2724 -1, 373, -1, -1, -1, 70, 88, -1, -1, -1,
2725 382, 93, 777, 385, 386, 80, -1, -1, -1, -1,
2726 -1, -1, -1, 88, 396, 90, -1, 399, 93, 94,
2727 -1, 41, 404, 105, 106, -1, -1, -1, 48, -1,
2728 1360, -1, -1, -1, -1, -1, 56, 57, -1, -1,
2729 -1, -1, -1, 1328, 1160, 1161, -1, 1163, 1164, -1,
2730 1166, 433, -1, 435, -1, 437, 438, 439, -1, -1,
2731 80, 443, -1, -1, -1, -1, 448, -1, 88, 451,
2732 -1, -1, -1, -1, 849, -1, 851, 1360, 4, 5,
2733 -1, 7, 8, 9, 466, 467, -1, 862, 14, -1,
2734 -1, 866, 867, 868, 1424, 1425, 1426, -1, -1, -1,
2735 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
2736 36, -1, -1, 1443, -1, -1, -1, -1, 1448, 45,
2737 -1, -1, 48, 505, 506, 507, 508, -1, 54, -1,
2738 56, 57, 907, 908, 909, -1, -1, 1253, 1254, -1,
2739 -1, 1424, 1425, 1426, -1, -1, -1, -1, -1, 1,
2740 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2741 -1, -1, 14, 3, 4, 5, 6, -1, 1284, 1285,
2742 -1, -1, -1, 948, -1, -1, 28, -1, 30, 31,
2743 32, 563, -1, 565, 36, 37, -1, -1, -1, 41,
2744 -1, -1, -1, 45, 46, -1, 48, 579, 580, -1,
2745 582, 41, 54, -1, 56, 57, -1, 589, 60, -1,
2746 62, -1, -1, -1, 54, -1, 56, 57, 70, -1,
2747 602, -1, 62, -1, -1, -1, 608, 309, 80, -1,
2748 70, -1, -1, -1, -1, -1, 88, -1, -1, -1,
2749 80, 93, -1, -1, -1, -1, -1, -1, 88, -1,
2750 632, 4, 5, 93, 7, 8, 9, 109, 640, 12,
2751 -1, 14, -1, 1379, 1380, 1381, 648, 649, 650, 651,
2752 652, 653, -1, -1, -1, 28, -1, 30, 31, -1,
2753 -1, -1, -1, 36, -1, -1, 80, -1, -1, 671,
2754 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
2755 382, 54, -1, 56, 57, -1, -1, -1, 690, -1,
2756 -1, -1, 694, -1, -1, -1, 1432, 1433, -1, 701,
2757 702, -1, 704, -1, -1, -1, 1101, 1102, 1103, 1104,
2758 1105, -1, -1, -1, 1109, -1, -1, -1, -1, -1,
2759 -1, -1, -1, 3, 4, 5, 6, -1, -1, 431,
2760 732, -1, -1, 735, -1, 737, 1131, 1132, 1133, 153,
2761 742, 743, 744, -1, -1, -1, -1, -1, -1, -1,
2762 752, -1, -1, -1, -1, -1, 758, -1, -1, -1,
2763 174, 41, 1498, 765, 766, 767, -1, 47, -1, -1,
2764 -1, -1, -1, 187, 54, 777, 56, 57, 73, 74,
2765 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2766 70, 3, 4, 5, 6, 497, -1, 9, 500, -1,
2767 80, -1, 504, 505, 506, 507, 508, -1, 88, -1,
2768 90, -1, -1, 93, 94, 517, -1, -1, -1, 3,
2769 4, 5, 6, 1218, 1219, 9, 1221, -1, 530, 41,
2770 -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
2771 -1, -1, 54, -1, 56, 57, -1, 849, -1, 851,
2772 -1, -1, -1, -1, -1, -1, 858, 41, 70, -1,
2773 862, -1, 864, 4, 866, 867, 868, -1, 80, -1,
2774 54, 873, 56, 57, -1, -1, 88, -1, 90, -1,
2775 582, 93, 94, 31, -1, -1, 70, 589, -1, 30,
2776 31, -1, 33, -1, 35, -1, 80, -1, -1, 40,
2777 -1, 903, -1, 905, 88, 907, 908, 909, -1, 93,
2778 -1, -1, 53, -1, 55, 63, 64, 65, 66, 67,
2779 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2780 78, 79, 80, 81, 82, 83, 84, 78, -1, -1,
2781 -1, -1, -1, -1, -1, -1, 948, 63, 64, 65,
2782 66, 67, 68, 69, 70, 71, 72, 73, 74, 961,
2783 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2784 972, -1, 974, -1, -1, 977, -1, -1, -1, -1,
2785 -1, -1, -1, -1, 986, -1, -1, -1, -1, -1,
2786 131, 132, 694, 134, -1, -1, -1, 138, -1, 140,
2787 -1, 142, -1, -1, 145, 146, 147, 1009, -1, -1,
2788 -1, -1, -1, -1, -1, -1, -1, 1019, 159, 1021,
2789 -1, -1, -1, -1, -1, -1, -1, 441, -1, 4,
2790 5, -1, 446, 8, 9, 176, 177, 178, -1, 14,
2791 -1, -1, -1, -1, -1, 186, 1048, -1, -1, -1,
2792 752, 1053, 1054, 28, 1056, 30, 758, 471, -1, -1,
2793 -1, 36, -1, 477, 205, -1, -1, -1, -1, -1,
2794 45, -1, 47, -1, -1, 489, 490, -1, 492, 54,
2795 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
2796 -1, -1, -1, -1, -1, 70, -1, -1, 239, 1101,
2797 1102, 1103, 1104, 1105, -1, 80, -1, 1109, -1, -1,
2798 -1, -1, -1, 1115, -1, 90, -1, -1, 93, 94,
2799 -1, -1, -1, 825, -1, -1, -1, -1, -1, 1131,
2800 1132, 1133, -1, -1, -1, 3, 4, 5, 6, -1,
2801 -1, 9, -1, -1, -1, 1147, -1, -1, 4, -1,
2802 -1, -1, -1, -1, -1, -1, 858, -1, -1, -1,
2803 1162, -1, 864, -1, -1, 1167, 868, 1169, 309, -1,
2804 -1, 585, 586, 41, 30, 31, 590, 33, -1, 35,
2805 -1, -1, -1, -1, 40, 326, 54, -1, 56, 57,
2806 -1, -1, -1, 334, -1, -1, -1, 53, 339, 55,
2807 -1, 903, 70, 905, 4, 5, -1, 909, 8, 9,
2808 -1, -1, 80, -1, 14, -1, 1218, 1219, -1, 1221,
2809 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
2810 30, -1, 373, -1, -1, -1, 36, -1, -1, -1,
2811 -1, -1, -1, -1, 385, 45, 948, -1, -1, -1,
2812 1252, 1253, 1254, -1, 54, 396, 56, 57, 399, 961,
2813 -1, -1, -1, 404, -1, 967, -1, -1, -1, 1271,
2814 -1, -1, 974, -1, -1, -1, -1, -1, 134, -1,
2815 -1, -1, 138, -1, 986, -1, 142, -1, -1, 145,
2816 146, 147, 433, -1, 435, -1, 437, 438, 439, -1,
2817 -1, -1, 443, 159, -1, -1, -1, 448, -1, -1,
2818 451, -1, -1, -1, -1, -1, -1, 1019, -1, 1021,
2819 176, 177, 178, -1, -1, -1, 467, -1, 4, 5,
2820 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2821 -1, -1, -1, -1, -1, 759, 1048, 761, -1, 205,
2822 -1, -1, 28, -1, 30, 31, 497, -1, 1360, 500,
2823 36, -1, -1, -1, -1, -1, -1, -1, -1, 45,
2824 -1, -1, -1, -1, 515, 516, 517, -1, 54, -1,
2825 56, 57, -1, 239, -1, -1, -1, -1, -1, 530,
2826 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2827 82, 83, 84, 1105, -1, -1, -1, 1, -1, 3,
2828 4, 5, 6, 7, 8, 9, -1, -1, 832, 833,
2829 14, 835, 1424, 1425, 1426, -1, -1, -1, -1, -1,
2830 -1, 1133, -1, -1, 28, 576, 30, 31, 32, -1,
2831 -1, 1443, 36, 37, -1, -1, 1448, 41, 589, 863,
2832 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
2833 54, -1, 56, 57, -1, -1, 60, 608, 62, -1,
2834 -1, -1, -1, -1, -1, -1, 70, -1, -1, 335,
2835 -1, -1, -1, 339, -1, -1, 80, -1, -1, -1,
2836 -1, 632, -1, -1, 88, -1, -1, 911, 639, 93,
2837 -1, -1, -1, 3, 4, 5, 6, 648, 649, 650,
2838 651, -1, -1, -1, -1, 109, -1, -1, -1, -1,
2839 -1, -1, -1, -1, -1, 33, -1, -1, -1, 385,
2840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2841 396, 41, -1, 399, -1, 53, -1, -1, 404, 690,
2842 -1, -1, -1, 694, 54, -1, 56, 57, -1, 973,
2843 701, 702, 62, 704, -1, -1, -1, -1, -1, 1271,
2844 70, 985, -1, -1, -1, -1, -1, 433, -1, 435,
2845 80, 437, 438, 439, -1, -1, -1, 443, 88, -1,
2846 -1, -1, 448, 93, 735, 451, 737, -1, -1, -1,
2847 -1, 742, 743, 744, -1, -1, -1, -1, -1, -1,
2848 -1, 467, -1, -1, -1, -1, -1, -1, -1, 1,
2849 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2850 771, -1, 14, 3, 4, 5, 6, 145, 146, 147,
2851 -1, -1, -1, -1, -1, 27, 28, -1, 30, 31,
2852 32, -1, -1, -1, 36, 1069, -1, -1, -1, 41,
2853 -1, -1, 44, 45, 46, -1, 48, -1, 176, 177,
2854 178, 41, 54, -1, 56, 57, -1, -1, 60, 3,
2855 4, 5, 6, -1, 54, 9, 56, 57, 70, -1,
2856 -1, -1, 62, -1, 1108, -1, -1, 205, 80, -1,
2857 70, -1, -1, -1, -1, -1, 88, -1, -1, -1,
2858 80, 93, -1, -1, -1, -1, 98, 41, 88, -1,
2859 -1, 577, -1, 93, 1426, 866, 867, 868, -1, -1,
2860 54, 872, 56, 57, -1, -1, -1, -1, -1, -1,
2861 -1, 1443, -1, -1, -1, -1, 70, -1, -1, -1,
2862 -1, -1, 608, -1, -1, -1, 80, 1171, -1, -1,
2863 -1, 1175, -1, -1, 88, -1, 907, 908, 909, 93,
2864 278, -1, -1, 914, -1, -1, 3, 4, 5, 6,
2865 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2866 -1, -1, 648, 649, 650, 651, 1210, -1, -1, -1,
2867 -1, 28, -1, 30, 31, -1, -1, 948, -1, 36,
2868 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2869 328, 329, 330, -1, -1, -1, -1, 54, -1, 56,
2870 57, -1, -1, 60, 690, -1, 977, -1, 694, -1,
2871 -1, -1, -1, 70, -1, 701, 702, -1, 704, -1,
2872 -1, -1, -1, 80, -1, -1, -1, 998, -1, -1,
2873 -1, 88, -1, -1, -1, 1279, 93, -1, 1009, 1283,
2874 -1, -1, -1, -1, -1, -1, -1, 385, -1, 735,
2875 -1, 737, 328, 329, 330, -1, 742, 743, 744, -1,
2876 -1, 1305, 1306, -1, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2878 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2879 -1, 3, 4, 5, 6, 433, -1, 435, -1, 437,
2880 438, 439, 31, -1, -1, 443, -1, 36, -1, 1080,
2881 448, -1, 41, 451, -1, -1, 45, -1, 47, -1,
2882 -1, -1, -1, -1, -1, 54, -1, 56, 57, 41,
2883 1101, 1102, 1103, 1104, 1105, -1, 1107, -1, 1109, -1,
2884 -1, 70, 54, -1, 56, 57, -1, -1, 60, -1,
2885 -1, 80, -1, -1, 53, -1, -1, -1, 70, 88,
2886 1131, 1132, 1133, 4, 93, -1, -1, -1, 80, -1,
2887 -1, -1, -1, -1, -1, -1, 88, -1, -1, 78,
2888 -1, 93, 81, -1, -1, -1, -1, 873, -1, 30,
2889 31, 1162, -1, -1, 35, -1, 1167, -1, 1169, 40,
2890 -1, -1, -1, 102, -1, 104, -1, -1, -1, -1,
2891 -1, -1, -1, -1, 55, -1, -1, -1, -1, -1,
2892 -1, 907, 908, 909, -1, -1, -1, 565, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, 579, 580, -1, 582, -1, -1, 1218, 1219, -1,
2895 1221, 589, -1, -1, 3, 4, 5, 6, -1, -1,
2896 9, -1, 948, -1, -1, -1, -1, -1, -1, -1,
2897 608, 3, 4, 5, 6, -1, -1, 176, 177, 178,
2898 -1, 1252, 1253, 1254, -1, -1, -1, 186, -1, -1,
2899 -1, 977, 41, 134, -1, -1, -1, 138, -1, -1,
2900 -1, 142, -1, 579, 580, 54, 205, 56, 57, 41,
2901 648, -1, 650, 651, -1, 653, -1, -1, 159, -1,
2902 -1, 70, 54, 1009, 56, 57, -1, -1, -1, 228,
2903 -1, 80, -1, -1, -1, 176, 177, -1, 70, 88,
2904 -1, 4, 5, 242, 93, 8, 9, -1, 80, -1,
2905 -1, 14, 690, -1, -1, -1, 88, -1, -1, -1,
2906 -1, 93, -1, 701, 702, 28, 704, 30, -1, -1,
2907 -1, -1, 648, 36, 650, 651, -1, 653, -1, -1,
2908 -1, -1, 45, -1, -1, -1, -1, -1, -1, 1360,
2909 -1, 54, -1, 56, 57, -1, -1, -1, 239, -1,
2910 -1, -1, -1, -1, 742, 3, 4, 5, 6, -1,
2911 -1, 9, -1, -1, 690, 1101, 1102, 1103, 1104, 1105,
2912 -1, -1, -1, 1109, -1, -1, -1, 765, 766, 767,
2913 -1, -1, -1, -1, -1, 334, 335, -1, -1, 777,
2914 -1, -1, -1, 41, -1, 1131, 1132, 1133, -1, -1,
2915 -1, -1, -1, 1424, 1425, 1426, 54, -1, 56, 57,
2916 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2917 9, -1, 70, -1, -1, 14, 1162, 1448, -1, -1,
2918 -1, 1167, 80, 1169, -1, -1, 385, -1, -1, 28,
2919 88, 30, 31, -1, -1, 93, -1, 36, 339, -1,
2920 -1, 777, -1, -1, -1, -1, 45, -1, -1, -1,
2921 -1, 849, -1, 851, -1, 54, -1, 56, 57, -1,
2922 -1, -1, -1, -1, 862, -1, -1, -1, 866, 867,
2923 868, -1, 1218, 1219, 433, 1221, 435, -1, 437, 438,
2924 439, -1, -1, -1, 443, -1, -1, -1, -1, 448,
2925 -1, -1, 451, -1, -1, 396, -1, -1, 399, -1,
2926 -1, -1, -1, 404, -1, -1, 1252, 1253, 1254, 907,
2927 908, 909, -1, 849, -1, 851, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, -1, 862, -1, -1, -1,
2929 866, 867, 433, 1, 435, 3, 4, 5, 6, 7,
2930 8, 9, -1, -1, -1, -1, 14, 448, -1, -1,
2931 948, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932 28, -1, 30, 31, 32, -1, 467, -1, 36, 37,
2933 -1, 907, 908, 41, -1, -1, -1, 45, 46, 977,
2934 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2935 -1, -1, 60, -1, 62, 4, 5, -1, 7, 8,
2936 9, -1, 70, 12, -1, 14, -1, -1, -1, -1,
2937 -1, -1, 80, -1, 1360, -1, -1, -1, -1, 28,
2938 88, 30, 31, -1, -1, 93, -1, 36, -1, -1,
2939 -1, -1, -1, 592, 593, -1, 45, -1, 47, -1,
2940 -1, 109, -1, -1, -1, 54, -1, 56, 57, 608,
2941 -1, -1, -1, -1, -1, 1053, 1054, -1, 1056, -1,
2942 -1, 70, 3, 4, 5, 6, -1, -1, 9, -1,
2943 -1, 80, -1, -1, -1, -1, -1, -1, 1424, 1425,
2944 1426, 90, -1, -1, 93, 94, -1, -1, -1, 648,
2945 -1, 650, 651, -1, -1, -1, -1, -1, -1, -1,
2946 41, -1, 1448, 1101, 1102, 1103, 1104, 1105, -1, -1,
2947 -1, 1109, -1, 54, -1, 56, 57, -1, -1, -1,
2948 -1, -1, -1, -1, -1, 3, 4, 5, 6, 70,
2949 -1, 690, -1, 1131, 1132, 1133, -1, -1, -1, 80,
2950 14, -1, 701, 702, -1, 704, -1, 88, 649, 23,
2951 24, -1, 93, -1, -1, -1, 30, 31, -1, 33,
2952 -1, -1, -1, 41, 1162, 1101, 1102, 1103, 1104, -1,
2953 729, -1, -1, 1109, -1, -1, 54, -1, 56, 57,
2954 -1, -1, -1, 742, 3, 4, 5, 6, -1, 63,
2955 9, -1, 70, 694, -1, 1131, 1132, -1, -1, -1,
2956 701, 702, 80, 704, -1, -1, -1, -1, -1, -1,
2957 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2958 1218, 1219, 41, 1221, -1, -1, -1, 3, 4, 5,
2959 6, -1, -1, -1, 735, 54, 737, 56, 57, -1,
2960 -1, 742, 743, 744, -1, -1, -1, -1, 122, -1,
2961 124, 70, -1, -1, 1252, -1, 1254, 131, 132, -1,
2962 -1, 80, -1, -1, 138, 41, 140, 141, 142, 88,
2963 -1, 145, 146, 147, 93, -1, -1, -1, 54, -1,
2964 56, 57, 1218, 1219, -1, 1221, -1, -1, -1, -1,
2965 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2966 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2967 -1, -1, 88, 872, 873, 874, -1, 93, -1, -1,
2968 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
2969 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2970 -1, -1, 14, -1, -1, 219, 220, -1, 907, 908,
2971 909, -1, -1, -1, -1, 914, 28, -1, 30, 31,
2972 32, -1, 1360, -1, 36, 239, -1, -1, -1, 41,
2973 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
2974 -1, -1, 54, -1, 56, 57, -1, -1, 60, 948,
2975 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2976 -1, -1, -1, -1, 278, -1, 907, 908, 80, -1,
2977 -1, -1, -1, -1, -1, -1, 88, -1, 977, -1,
2978 -1, 93, -1, -1, -1, -1, 1424, 1425, 1426, -1,
2979 -1, -1, -1, -1, -1, -1, -1, -1, -1, 998,
2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2981 1448, -1, 326, -1, 328, 329, -1, -1, -1, -1,
2982 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2983 -1, -1, -1, 14, -1, -1, 977, -1, -1, -1,
2984 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2985 31, -1, -1, -1, -1, 36, -1, -1, -1, 373,
2986 41, -1, -1, -1, 45, -1, -1, 48, 1009, -1,
2987 -1, -1, -1, 54, -1, 56, 57, -1, 392, 60,
2988 -1, 1080, 396, -1, -1, 399, -1, -1, -1, 70,
2989 404, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2990 -1, -1, 1101, 1102, 1103, 1104, 1105, 88, 1107, -1,
2991 1109, -1, 93, -1, -1, -1, -1, -1, 1, -1,
2992 -1, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2993 -1, 14, 1131, 1132, 1133, -1, -1, -1, -1, -1,
2994 -1, -1, -1, -1, -1, 28, -1, 30, -1, -1,
2995 464, -1, 466, 36, -1, 38, 39, -1, -1, -1,
2996 1101, 1102, 45, 1162, 47, -1, -1, -1, 1109, -1,
2997 -1, 54, -1, 56, 57, -1, 59, 491, -1, -1,
2998 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2999 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3000 83, -1, -1, 86, 87, 88, -1, -1, 91, -1,
3001 -1, 94, -1, -1, -1, -1, -1, -1, -1, 1218,
3002 1219, 1162, 1221, -1, -1, -1, 1167, 110, 1169, 63,
3003 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3004 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3005 84, 565, -1, 1252, -1, 1254, -1, -1, -1, -1,
3006 -1, -1, 576, 577, -1, 579, 580, -1, -1, -1,
3007 -1, -1, -1, 107, -1, -1, -1, 1218, 1219, -1,
3008 1221, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3009 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3011 -1, 28, 1253, 30, 31, 32, -1, -1, 632, 36,
3012 37, -1, -1, -1, 41, 639, 640, -1, 45, 46,
3013 -1, 48, -1, -1, -1, -1, -1, 54, 652, 56,
3014 57, -1, -1, 60, -1, 62, -1, -1, -1, -1,
3015 -1, -1, -1, 70, -1, -1, -1, 671, -1, -1,
3016 -1, 1360, -1, 80, -1, -1, -1, -1, -1, -1,
3017 -1, 88, -1, -1, -1, -1, 93, 70, 71, 72,
3018 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3019 83, 84, 109, 63, 64, 65, 66, 67, 68, 69,
3020 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3021 80, 81, 82, 83, 84, 729, -1, -1, 732, -1,
3022 -1, -1, -1, -1, -1, 1424, 1425, 1426, -1, -1,
3023 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3024 9, 111, -1, 12, -1, 14, -1, -1, -1, 1448,
3025 -1, 765, 766, 767, -1, -1, 25, -1, 27, -1,
3026 -1, -1, 31, 777, -1, -1, -1, 36, -1, -1,
3027 -1, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3028 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3029 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3030 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3031 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3032 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3033 -1, -1, -1, 102, -1, 849, -1, 851, 107, 108,
3034 109, -1, 111, -1, -1, -1, -1, 1, 862, 3,
3035 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3036 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3037 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3038 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3039 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3040 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3041 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3042 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3043 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3044 -1, 95, 3, 4, 5, 6, 7, 8, 9, -1,
3045 -1, 12, -1, 14, -1, 109, 110, -1, 972, -1,
3046 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3047 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3048 41, -1, -1, -1, 45, 999, 47, -1, -1, -1,
3049 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3052 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
3053 -1, -1, 93, 94, -1, -1, -1, -1, -1, 1053,
3054 1054, -1, 1056, 1, -1, 3, 4, 5, 6, 7,
3055 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3056 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3057 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3058 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3059 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3060 58, 1115, 60, 61, -1, -1, -1, -1, -1, 67,
3061 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3062 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3063 88, -1, -1, 1147, -1, 93, 1, 95, 3, 4,
3064 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3065 -1, 1165, 110, 1167, -1, -1, -1, -1, -1, -1,
3066 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3067 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3068 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3069 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3070 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3071 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3072 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3073 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3074 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3075 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3076 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3077 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3078 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3079 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3080 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3081 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3082 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3083 7, 8, 9, 10, 11, 12, 13, 14, -1, 110,
3084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3085 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3086 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3087 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3088 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3089 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3090 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3091 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3092 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3093 -1, 108, -1, 110, -1, -1, -1, -1, -1, -1,
3094 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3095 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3096 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3097 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3098 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3099 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3100 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3101 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3102 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3103 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3104 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3105 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3106 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3107 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3108 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3109 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3110 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3111 11, -1, 13, 14, 109, 110, -1, -1, -1, -1,
3112 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3113 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3114 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3115 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3116 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3117 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3118 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3119 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3120 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3122 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3123 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3124 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3125 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3126 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3127 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3128 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3129 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3130 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3131 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3132 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3133 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3134 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3135 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3136 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3137 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3138 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3139 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3140 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3141 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3142 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3143 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3144 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3145 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3146 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3147 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3148 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3149 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3150 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3151 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3152 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3153 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3154 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3155 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3156 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3157 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3158 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3159 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3160 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3161 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3162 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3163 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3164 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3165 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3166 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3167 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3168 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3169 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3170 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3171 -1, -1, 61, 62, -1, -1, -1, -1, 67, -1,
3172 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3173 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3174 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3175 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3176 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3177 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3178 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3179 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3180 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3181 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3182 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3183 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3184 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3185 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3186 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3187 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3188 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3189 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3190 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3191 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3192 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3193 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3194 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3195 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3196 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3197 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3198 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3199 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3200 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3201 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3202 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3203 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3204 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3205 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3206 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3207 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3208 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3209 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3210 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3211 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3212 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3213 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3214 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3215 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3216 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3217 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3218 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3219 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3220 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3221 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3222 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3223 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3224 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3225 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3226 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3227 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3228 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3229 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3230 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3231 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3232 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3233 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3234 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3235 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3236 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3237 87, 88, -1, -1, -1, -1, 93, 69, 70, 71,
3238 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3239 82, 83, 84, 110, 111, 3, 4, 5, 6, 7,
3240 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3241 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3242 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3243 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3244 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3245 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3246 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3247 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3248 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3251 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3252 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3253 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3254 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3255 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3256 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3257 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3258 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3259 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3260 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3261 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3262 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3263 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3264 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3265 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3266 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3267 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3268 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3269 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3270 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3271 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3272 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3273 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3274 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3275 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3276 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3277 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3278 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3279 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3281 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3282 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3283 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3284 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3285 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3286 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3287 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3288 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3289 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3290 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3291 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3292 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3293 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3294 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3295 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3296 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3297 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3298 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3299 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3300 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3301 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3302 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3304 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3305 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3306 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3307 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3308 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3309 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3310 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3311 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3312 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3313 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3314 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3315 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3316 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3317 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3318 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3319 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3320 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3321 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3322 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3323 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3324 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3325 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3326 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3327 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3328 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3329 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3330 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3331 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3332 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3333 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3334 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3335 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3336 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3337 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3338 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3339 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3340 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3341 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3342 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3343 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3344 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3345 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3346 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3347 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3348 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3349 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3350 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3351 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3352 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3353 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3354 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3355 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3356 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3357 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3358 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3359 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3360 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3361 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3362 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3363 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3364 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3365 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3366 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3367 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3368 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3369 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3370 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3371 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3372 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3373 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3374 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3375 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3376 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3377 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3378 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3379 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3380 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3381 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3382 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3383 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3384 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3385 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3386 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3387 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3388 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3389 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3390 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3391 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3392 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3393 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3394 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3395 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3396 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3397 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3398 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3399 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3400 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3401 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3402 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3403 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3404 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3405 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3406 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3407 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3408 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3409 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3410 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3411 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3412 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3413 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3414 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3415 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3416 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3417 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3418 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3419 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3420 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3421 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3422 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3423 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3424 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3426 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3427 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3428 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3429 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3430 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3431 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3432 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3433 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3434 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3435 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3436 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3437 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3438 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3439 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3440 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3441 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3442 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3443 -1, 67, -1, -1, 70, 3, 4, 5, 6, 7,
3444 8, 9, 78, 79, 80, -1, 14, -1, -1, -1,
3445 86, 87, 88, -1, -1, -1, -1, 93, -1, -1,
3446 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3447 -1, -1, -1, 41, 110, -1, -1, 45, -1, 47,
3448 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3449 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3450 -1, 14, 70, -1, -1, -1, -1, -1, -1, -1,
3451 -1, -1, 80, -1, -1, -1, -1, -1, 31, -1,
3452 88, -1, 90, 36, -1, 93, 94, -1, 41, -1,
3453 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
3454 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3455 8, 9, -1, -1, 12, -1, 14, 70, -1, -1,
3456 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3457 28, -1, 30, 31, -1, 88, -1, 90, 36, -1,
3458 93, 94, -1, 41, -1, -1, -1, 45, -1, -1,
3459 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3460 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3461 -1, 14, 70, -1, -1, -1, -1, -1, -1, -1,
3462 -1, -1, 80, -1, -1, 28, -1, 30, 31, -1,
3463 88, -1, -1, 36, -1, 93, -1, -1, 41, -1,
3464 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
3465 -1, 54, -1, 56, 57, -1, -1, -1, -1, 62,
3466 -1, -1, -1, -1, -1, -1, -1, 70, 3, 4,
3467 5, 6, 7, 8, 9, -1, -1, 80, -1, 14,
3468 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3469 93, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3470 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3471 45, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3472 -1, 56, 57, -1, -1, 60, -1, 3, 4, 5,
3473 6, 7, 8, 9, -1, 70, -1, -1, 14, -1,
3474 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3475 -1, -1, 28, 88, 30, 31, -1, -1, 93, -1,
3476 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
3477 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3478 56, 57, 3, 4, 5, 6, 7, 8, 9, -1,
3479 -1, -1, -1, 14, 70, -1, -1, -1, -1, -1,
3480 -1, -1, -1, -1, 80, -1, -1, 28, -1, 30,
3481 31, -1, 88, -1, -1, 36, -1, 93, -1, -1,
3482 41, -1, -1, 12, 45, -1, -1, -1, -1, -1,
3483 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3484 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3486 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3487 -1, -1, 93, 62, 63, 64, 65, 66, 67, 68,
3488 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3489 79, 80, 81, 82, 83, 84, 59, -1, -1, -1,
3490 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3491 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3492 83, 84, 62, 63, 64, 65, 66, 67, 68, 69,
3493 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3494 80, 81, 82, 83, 84, 63, 64, 65, 66, 67,
3495 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3496 78, 79, 80, 81, 82, 83, 84, 67, 68, 69,
3497 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3498 80, 81, 82, 83, 84, 68, 69, 70, 71, 72,
3499 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3502 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3503 #line 3 "/usr/lib/bison.simple"
3505 /* Skeleton output parser for bison,
3506 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3508 This program is free software; you can redistribute it and/or modify
3509 it under the terms of the GNU General Public License as published by
3510 the Free Software Foundation; either version 2, or (at your option)
3513 This program is distributed in the hope that it will be useful,
3514 but WITHOUT ANY WARRANTY; without even the implied warranty of
3515 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3516 GNU General Public License for more details.
3518 You should have received a copy of the GNU General Public License
3519 along with this program; if not, write to the Free Software
3520 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3522 /* As a special exception, when this file is copied by Bison into a
3523 Bison output file, you may use that output file without restriction.
3524 This special exception was added by the Free Software Foundation
3525 in version 1.24 of Bison. */
3529 #define alloca __builtin_alloca
3530 #else /* not GNU C. */
3531 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3533 #else /* not sparc */
3534 #if defined (MSDOS) && !defined (__TURBOC__)
3536 #else /* not MSDOS, or __TURBOC__ */
3540 #else /* not MSDOS, __TURBOC__, or _AIX */
3544 void *alloca (unsigned int);
3546 #else /* not __cplusplus */
3548 #endif /* not __cplusplus */
3550 #endif /* not _AIX */
3551 #endif /* not MSDOS, or __TURBOC__ */
3552 #endif /* not sparc. */
3553 #endif /* not GNU C. */
3554 #endif /* alloca not defined. */
3556 /* This is the parser code that is written into each bison parser
3557 when the %semantic_parser declaration is not specified in the grammar.
3558 It was written by Richard Stallman by simplifying the hairy parser
3559 used when %semantic_parser is specified. */
3561 /* Note: there must be only one dollar sign in this file.
3562 It is replaced by the list of actions, each action
3563 as one case of the switch. */
3565 #define yyerrok (yyerrstatus = 0)
3566 #define yyclearin (yychar = YYEMPTY)
3569 #define YYACCEPT return(0)
3570 #define YYABORT return(1)
3571 #define YYERROR goto yyerrlab1
3572 /* Like YYERROR except do call yyerror.
3573 This remains here temporarily to ease the
3574 transition to the new meaning of YYERROR, for GCC.
3575 Once GCC version 2 has supplanted version 1, this can go. */
3576 #define YYFAIL goto yyerrlab
3577 #define YYRECOVERING() (!!yyerrstatus)
3578 #define YYBACKUP(token, value) \
3580 if (yychar == YYEMPTY && yylen == 1) \
3581 { yychar = (token), yylval = (value); \
3582 yychar1 = YYTRANSLATE (yychar); \
3587 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3591 #define YYERRCODE 256
3594 #define YYLEX yylex()
3600 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3602 #define YYLEX yylex(&yylval, &yylloc)
3604 #else /* not YYLSP_NEEDED */
3606 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3608 #define YYLEX yylex(&yylval)
3610 #endif /* not YYLSP_NEEDED */
3613 /* If nonreentrant, generate the variables here */
3617 int yychar
; /* the lookahead symbol */
3618 YYSTYPE yylval
; /* the semantic value of the */
3619 /* lookahead symbol */
3622 YYLTYPE yylloc
; /* location data for the lookahead */
3626 int yynerrs
; /* number of parse errors so far */
3627 #endif /* not YYPURE */
3630 int yydebug
; /* nonzero means print parse trace */
3631 /* Since this is uninitialized, it does not stop multiple parsers
3635 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3638 #define YYINITDEPTH 200
3641 /* YYMAXDEPTH is the maximum size the stacks can grow to
3642 (effective only if the built-in stack extension method is used). */
3649 #define YYMAXDEPTH 10000
3652 /* Prevent warning if -Wstrict-prototypes. */
3657 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3658 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3659 #else /* not GNU C or C++ */
3662 /* This is the most reliable way to avoid incompatibilities
3663 in available built-in functions on various systems. */
3665 __yy_memcpy (to
, from
, count
)
3670 register char *f
= from
;
3671 register char *t
= to
;
3672 register int i
= count
;
3678 #else /* __cplusplus */
3680 /* This is the most reliable way to avoid incompatibilities
3681 in available built-in functions on various systems. */
3683 __yy_memcpy (char *to
, char *from
, int count
)
3685 register char *f
= from
;
3686 register char *t
= to
;
3687 register int i
= count
;
3696 #line 196 "/usr/lib/bison.simple"
3698 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3699 into yyparse. The argument should have type void *.
3700 It should actually point to an object.
3701 Grammar actions can access the variable by casting it
3702 to the proper pointer type. */
3704 #ifdef YYPARSE_PARAM
3706 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3707 #define YYPARSE_PARAM_DECL
3708 #else /* not __cplusplus */
3709 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3710 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3711 #endif /* not __cplusplus */
3712 #else /* not YYPARSE_PARAM */
3713 #define YYPARSE_PARAM_ARG
3714 #define YYPARSE_PARAM_DECL
3715 #endif /* not YYPARSE_PARAM */
3718 yyparse(YYPARSE_PARAM_ARG
)
3721 register int yystate
;
3723 register short *yyssp
;
3724 register YYSTYPE
*yyvsp
;
3725 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3726 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3728 short yyssa
[YYINITDEPTH
]; /* the state stack */
3729 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3731 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3732 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3735 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3736 YYLTYPE
*yyls
= yylsa
;
3739 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3741 #define YYPOPSTACK (yyvsp--, yyssp--)
3744 int yystacksize
= YYINITDEPTH
;
3755 YYSTYPE yyval
; /* the variable used to return */
3756 /* semantic values from the action */
3763 fprintf(stderr
, "Starting parse\n");
3769 yychar
= YYEMPTY
; /* Cause a token to be read. */
3771 /* Initialize stack pointers.
3772 Waste one element of value and location stack
3773 so that they stay on the same level as the state stack.
3774 The wasted elements are never initialized. */
3782 /* Push a new state, which is found in yystate . */
3783 /* In all cases, when you get here, the value and location stacks
3784 have just been pushed. so pushing a state here evens the stacks. */
3789 if (yyssp
>= yyss
+ yystacksize
- 1)
3791 /* Give user a chance to reallocate the stack */
3792 /* Use copies of these so that the &'s don't force the real ones into memory. */
3793 YYSTYPE
*yyvs1
= yyvs
;
3794 short *yyss1
= yyss
;
3796 YYLTYPE
*yyls1
= yyls
;
3799 /* Get the current used size of the three stacks, in elements. */
3800 int size
= yyssp
- yyss
+ 1;
3803 /* Each stack pointer address is followed by the size of
3804 the data in use in that stack, in bytes. */
3806 /* This used to be a conditional around just the two extra args,
3807 but that might be undefined if yyoverflow is a macro. */
3808 yyoverflow("parser stack overflow",
3809 &yyss1
, size
* sizeof (*yyssp
),
3810 &yyvs1
, size
* sizeof (*yyvsp
),
3811 &yyls1
, size
* sizeof (*yylsp
),
3814 yyoverflow("parser stack overflow",
3815 &yyss1
, size
* sizeof (*yyssp
),
3816 &yyvs1
, size
* sizeof (*yyvsp
),
3820 yyss
= yyss1
; yyvs
= yyvs1
;
3824 #else /* no yyoverflow */
3825 /* Extend the stack our own way. */
3826 if (yystacksize
>= YYMAXDEPTH
)
3828 yyerror("parser stack overflow");
3832 if (yystacksize
> YYMAXDEPTH
)
3833 yystacksize
= YYMAXDEPTH
;
3834 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3835 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3836 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3837 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3839 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3840 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3842 #endif /* no yyoverflow */
3844 yyssp
= yyss
+ size
- 1;
3845 yyvsp
= yyvs
+ size
- 1;
3847 yylsp
= yyls
+ size
- 1;
3852 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3855 if (yyssp
>= yyss
+ yystacksize
- 1)
3861 fprintf(stderr
, "Entering state %d\n", yystate
);
3867 /* Do appropriate processing given the current state. */
3868 /* Read a lookahead token if we need one and don't already have one. */
3871 /* First try to decide what to do without reference to lookahead token. */
3873 yyn
= yypact
[yystate
];
3877 /* Not known => get a lookahead token if don't already have one. */
3879 /* yychar is either YYEMPTY or YYEOF
3880 or a valid token in external form. */
3882 if (yychar
== YYEMPTY
)
3886 fprintf(stderr
, "Reading a token: ");
3891 /* Convert token to internal form (in yychar1) for indexing tables with */
3893 if (yychar
<= 0) /* This means end of input. */
3896 yychar
= YYEOF
; /* Don't call YYLEX any more */
3900 fprintf(stderr
, "Now at end of input.\n");
3905 yychar1
= YYTRANSLATE(yychar
);
3910 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3911 /* Give the individual parser a way to print the precise meaning
3912 of a token, for further debugging info. */
3914 YYPRINT (stderr
, yychar
, yylval
);
3916 fprintf (stderr
, ")\n");
3922 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3927 /* yyn is what to do for this token type in this state.
3928 Negative => reduce, -yyn is rule number.
3929 Positive => shift, yyn is new state.
3930 New state is final state => don't bother to shift,
3931 just return success.
3932 0, or most negative number => error. */
3947 /* Shift the lookahead token. */
3951 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3954 /* Discard the token being shifted unless it is eof. */
3955 if (yychar
!= YYEOF
)
3963 /* count tokens shifted since error; after three, turn off error status. */
3964 if (yyerrstatus
) yyerrstatus
--;
3969 /* Do the default action for the current state. */
3972 yyn
= yydefact
[yystate
];
3976 /* Do a reduction. yyn is the number of a rule to reduce with. */
3980 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3987 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3990 /* Print the symbols being reduced, and their result. */
3991 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3992 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3993 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4002 { finish_translation_unit (); ;
4006 { yyval
.ttype
= NULL_TREE
; ;
4010 { yyval
.ttype
= NULL_TREE
; ;
4014 { yyval
.ttype
= NULL_TREE
; ;
4018 { have_extern_spec
= 1;
4019 used_extern_spec
= 0;
4020 yyval
.ttype
= NULL_TREE
; ;
4024 { have_extern_spec
= 0; ;
4028 { yyval
.itype
= pedantic
;
4033 { if (pending_lang_change
) do_pending_lang_change(); ;
4037 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4038 pop_everything (); ;
4042 { if (pending_inlines
) do_pending_inlines (); ;
4046 { if (pending_inlines
) do_pending_inlines (); ;
4050 { if (pending_inlines
) do_pending_inlines (); ;
4054 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4055 assemble_asm (yyvsp
[-2].ttype
); ;
4059 { pop_lang_context (); ;
4063 { if (pending_inlines
) do_pending_inlines ();
4064 pop_lang_context (); ;
4068 { if (pending_inlines
) do_pending_inlines ();
4069 pop_lang_context (); ;
4073 { push_namespace (yyvsp
[-1].ttype
); ;
4077 { pop_namespace (); ;
4081 { push_namespace (NULL_TREE
); ;
4085 { pop_namespace (); ;
4089 { begin_only_namespace_names (); ;
4094 end_only_namespace_names ();
4096 yyvsp
[-1].ttype
= lastiddecl
;
4097 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4102 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4106 { begin_only_namespace_names (); ;
4111 end_only_namespace_names ();
4112 /* If no declaration was found, the using-directive is
4113 invalid. Since that was not reported, we need the
4114 identifier for the error message. */
4115 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4116 yyvsp
[-1].ttype
= lastiddecl
;
4117 do_using_directive (yyvsp
[-1].ttype
);
4122 { pedantic
= yyvsp
[-1].itype
; ;
4126 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4130 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4134 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4138 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4142 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4146 { push_lang_context (yyvsp
[0].ttype
); ;
4150 { if (current_lang_name
!= yyvsp
[0].ttype
)
4151 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4152 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4156 { begin_template_parm_list (); ;
4160 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4164 { begin_specialization();
4165 yyval
.ttype
= NULL_TREE
; ;
4169 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4173 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4177 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4181 { yyval
.ttype
= NULL_TREE
; ;
4185 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4189 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4193 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4197 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4201 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4205 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4209 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4213 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4218 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4219 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4220 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4222 error ("invalid default template argument");
4223 yyvsp
[0].ttype
= error_mark_node
;
4225 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4231 if (yyvsp
[-1].ttype
)
4232 end_template_decl ();
4234 end_specialization ();
4240 if (yyvsp
[-1].ttype
)
4241 end_template_decl ();
4243 end_specialization ();
4253 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4258 { pedwarn ("empty declaration"); ;
4264 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4266 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4271 { yyval
.itype
= 0; ;
4275 { yyval
.itype
= 1; ;
4279 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4291 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4295 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4299 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4300 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4305 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4309 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4313 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4314 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4319 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4323 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4327 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4328 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4333 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4337 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4341 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4342 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4347 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4352 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4357 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4362 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4367 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4372 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4376 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4380 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4384 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4388 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4389 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4393 if (yychar
== YYEMPTY
)
4395 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4399 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4403 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4404 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4408 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4409 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4413 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4417 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4418 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4422 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4427 if (! current_function_parms_stored
)
4428 store_parm_decls ();
4429 yyval
.ttype
= yyvsp
[0].ttype
;
4434 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4438 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4442 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4447 if (yyvsp
[0].itype
== 0)
4448 error ("no base initializers given following ':'");
4450 /* Always keep the BLOCK node associated with the outermost
4451 pair of curley braces of a function. These are needed
4452 for correct operation of dwarfout.c. */
4459 if (! current_function_parms_stored
)
4460 store_parm_decls ();
4462 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4464 /* Make a contour for the initializer list. */
4467 expand_start_bindings (0);
4469 else if (current_class_type
== NULL_TREE
)
4470 error ("base initializers not allowed for non-member functions");
4471 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4472 error ("only constructors take base initializers");
4477 { yyval
.itype
= 0; ;
4481 { yyval
.itype
= 1; ;
4486 if (current_class_name
)
4487 pedwarn ("anachronistic old style base class initializer");
4488 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4494 if (current_class_name
)
4495 pedwarn ("anachronistic old style base class initializer");
4496 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4501 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4505 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4509 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4513 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4517 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4522 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4527 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4528 yyungetc (';', 1); ;
4532 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4533 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4537 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4541 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4545 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4546 yyungetc (';', 1); ;
4550 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4551 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4555 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4559 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4563 { begin_explicit_instantiation(); ;
4567 { end_explicit_instantiation(); ;
4572 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4573 if (yyval
.ttype
!= error_mark_node
)
4574 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4580 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4581 if (yyval
.ttype
!= error_mark_node
)
4582 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4588 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4589 if (yyval
.ttype
!= error_mark_node
)
4590 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4596 /* Handle `Class<Class<Type>>' without space in the `>>' */
4597 pedwarn ("`>>' should be `> >' in template class name");
4603 { yyval
.ttype
= NULL_TREE
; ;
4607 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4611 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4615 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4619 { yyval
.ttype
= lastiddecl
; ;
4623 { yyval
.code
= NEGATE_EXPR
; ;
4627 { yyval
.code
= CONVERT_EXPR
; ;
4631 { yyval
.code
= PREINCREMENT_EXPR
; ;
4635 { yyval
.code
= PREDECREMENT_EXPR
; ;
4639 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4643 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4647 { error ("ANSI C++ forbids an empty condition for `%s'",
4649 yyval
.ttype
= integer_zero_node
; ;
4653 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4657 { error ("ANSI C++ forbids an empty condition for `%s'",
4659 yyval
.ttype
= integer_zero_node
; ;
4663 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4667 { yyval
.ttype
= NULL_TREE
; ;
4671 { yyval
.ttype
= NULL_TREE
; ;
4677 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4678 if (TREE_CODE (d
) == TYPE_DECL
) {
4679 tree s
= TREE_TYPE (d
);
4680 if (TREE_CODE (s
) == RECORD_TYPE
)
4681 cp_error ("definition of class `%T' in condition", s
);
4682 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4683 cp_error ("definition of enum `%T' in condition", s
);
4686 current_declspecs
= yyvsp
[-4].ftype
.t
;
4687 yyvsp
[0].itype
= suspend_momentary ();
4688 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4689 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4695 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4696 resume_momentary (yyvsp
[-2].itype
);
4697 yyval
.ttype
= yyvsp
[-1].ttype
;
4698 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4699 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4704 { yyval
.ttype
= begin_compound_stmt (1); ;
4708 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4712 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4713 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4717 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4718 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4722 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4726 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4730 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4733 #line 1005 "parse.y"
4734 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4737 #line 1008 "parse.y"
4738 { yyval
.ttype
= yyvsp
[0].ttype
;
4739 pedantic
= yyvsp
[-1].itype
; ;
4742 #line 1011 "parse.y"
4743 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4746 #line 1013 "parse.y"
4747 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4750 #line 1015 "parse.y"
4751 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4754 #line 1017 "parse.y"
4755 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4758 #line 1020 "parse.y"
4760 pedwarn ("ANSI C++ forbids `&&'");
4761 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4764 #line 1024 "parse.y"
4765 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4768 #line 1026 "parse.y"
4769 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4772 #line 1028 "parse.y"
4773 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4776 #line 1030 "parse.y"
4777 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4778 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4781 #line 1036 "parse.y"
4782 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4783 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4786 #line 1039 "parse.y"
4787 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4788 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4791 #line 1042 "parse.y"
4792 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4793 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4796 #line 1045 "parse.y"
4797 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4798 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4801 #line 1058 "parse.y"
4802 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4803 NULL_TREE
, yyvsp
[-4].itype
);
4804 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4807 #line 1063 "parse.y"
4808 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4809 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4812 #line 1067 "parse.y"
4813 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
4814 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4817 #line 1071 "parse.y"
4818 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
4819 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4822 #line 1075 "parse.y"
4823 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4826 #line 1077 "parse.y"
4827 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4828 if (yychar
== YYEMPTY
)
4832 #line 1081 "parse.y"
4833 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4834 if (yychar
== YYEMPTY
)
4838 #line 1085 "parse.y"
4839 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4842 #line 1087 "parse.y"
4843 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4846 #line 1097 "parse.y"
4847 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
4850 #line 1100 "parse.y"
4851 { yyval
.itype
= begin_new_placement (); ;
4854 #line 1104 "parse.y"
4855 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4858 #line 1106 "parse.y"
4859 { cp_pedwarn ("old style placement syntax, use () instead");
4860 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4863 #line 1112 "parse.y"
4864 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4867 #line 1114 "parse.y"
4868 { yyval
.ttype
= NULL_TREE
; ;
4871 #line 1116 "parse.y"
4873 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4874 yyval
.ttype
= error_mark_node
;
4878 #line 1124 "parse.y"
4881 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4882 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4883 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4884 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4886 yyval
.ttype
= yyvsp
[0].ttype
;
4890 #line 1138 "parse.y"
4891 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4892 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4893 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4896 #line 1142 "parse.y"
4897 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4898 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4899 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4902 #line 1150 "parse.y"
4903 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4906 #line 1152 "parse.y"
4908 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4909 nreverse (yyvsp
[-2].ttype
));
4911 pedwarn ("ANSI C++ forbids constructor-expressions");
4912 /* Indicate that this was a GNU C constructor expression. */
4913 TREE_HAS_CONSTRUCTOR (init
) = 1;
4915 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4919 #line 1168 "parse.y"
4920 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4923 #line 1170 "parse.y"
4924 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4927 #line 1172 "parse.y"
4928 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4931 #line 1174 "parse.y"
4932 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4935 #line 1176 "parse.y"
4936 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4939 #line 1178 "parse.y"
4940 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4943 #line 1180 "parse.y"
4944 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4947 #line 1182 "parse.y"
4948 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4951 #line 1184 "parse.y"
4952 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4955 #line 1186 "parse.y"
4956 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4959 #line 1188 "parse.y"
4960 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4963 #line 1190 "parse.y"
4964 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4967 #line 1192 "parse.y"
4968 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4971 #line 1194 "parse.y"
4972 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4975 #line 1196 "parse.y"
4976 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4979 #line 1198 "parse.y"
4980 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4983 #line 1200 "parse.y"
4984 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4987 #line 1202 "parse.y"
4988 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4991 #line 1204 "parse.y"
4992 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4995 #line 1206 "parse.y"
4996 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4999 #line 1208 "parse.y"
5000 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5001 if (yyval
.ttype
!= error_mark_node
)
5002 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5005 #line 1212 "parse.y"
5006 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5009 #line 1214 "parse.y"
5010 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5013 #line 1216 "parse.y"
5014 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5017 #line 1234 "parse.y"
5018 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5021 #line 1243 "parse.y"
5022 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5025 #line 1247 "parse.y"
5026 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5029 #line 1249 "parse.y"
5030 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5033 #line 1254 "parse.y"
5034 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5037 #line 1256 "parse.y"
5038 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5041 #line 1259 "parse.y"
5042 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5045 #line 1271 "parse.y"
5046 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5049 #line 1273 "parse.y"
5050 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5053 #line 1275 "parse.y"
5054 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5057 #line 1280 "parse.y"
5058 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5061 #line 1282 "parse.y"
5062 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5065 #line 1290 "parse.y"
5066 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5069 #line 1295 "parse.y"
5071 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5072 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5074 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5078 #line 1304 "parse.y"
5080 if (processing_template_decl
)
5081 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5082 yyval
.ttype
= combine_strings (yyval
.ttype
);
5083 if (processing_template_decl
)
5088 #line 1312 "parse.y"
5089 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5092 #line 1314 "parse.y"
5093 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5094 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5097 #line 1317 "parse.y"
5098 { yyval
.ttype
= error_mark_node
; ;
5101 #line 1319 "parse.y"
5102 { if (current_function_decl
== 0)
5104 error ("braced-group within expression allowed only inside a function");
5108 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5109 yyval
.ttype
= begin_stmt_expr ();
5113 #line 1329 "parse.y"
5114 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5117 #line 1331 "parse.y"
5118 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5121 #line 1333 "parse.y"
5122 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5125 #line 1335 "parse.y"
5126 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5129 #line 1337 "parse.y"
5130 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5133 #line 1339 "parse.y"
5134 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5137 #line 1342 "parse.y"
5138 { yyval
.ttype
= finish_this_expr (); ;
5141 #line 1344 "parse.y"
5143 tree type
= NULL_TREE
;
5144 tree id
= yyval
.ttype
;
5146 /* This is a C cast in C++'s `functional' notation. */
5147 if (yyvsp
[-1].ttype
== error_mark_node
)
5149 yyval
.ttype
= error_mark_node
;
5153 if (yyvsp
[-1].ttype
== NULL_TREE
)
5155 error ("cannot cast null list to type `%s'",
5156 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5157 yyval
.ttype
= error_mark_node
;
5162 /* type is not set! (mrs) */
5163 if (type
== error_mark_node
)
5164 yyval
.ttype
= error_mark_node
;
5168 if (id
== ridpointers
[(int) RID_CONST
])
5169 type
= build_type_variant (integer_type_node
, 1, 0);
5170 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5171 type
= build_type_variant (integer_type_node
, 0, 1);
5173 /* should not be able to get here (mrs) */
5174 else if (id
== ridpointers
[(int) RID_FRIEND
])
5176 error ("cannot cast expression to `friend' type");
5177 yyval
.ttype
= error_mark_node
;
5181 else my_friendly_abort (79);
5182 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5187 #line 1389 "parse.y"
5188 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5189 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5190 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5193 #line 1393 "parse.y"
5194 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5195 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5196 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5199 #line 1397 "parse.y"
5200 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5201 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5202 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5205 #line 1401 "parse.y"
5206 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5207 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5208 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5211 #line 1405 "parse.y"
5212 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5215 #line 1407 "parse.y"
5216 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5217 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5218 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5221 #line 1411 "parse.y"
5222 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5225 #line 1413 "parse.y"
5226 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5229 #line 1415 "parse.y"
5231 got_scope
= NULL_TREE
;
5232 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5233 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5235 yyval
.ttype
= yyvsp
[0].ttype
;
5239 #line 1423 "parse.y"
5240 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5243 #line 1425 "parse.y"
5244 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5247 #line 1427 "parse.y"
5248 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5251 #line 1429 "parse.y"
5253 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5257 #line 1433 "parse.y"
5258 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5261 #line 1435 "parse.y"
5262 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5265 #line 1437 "parse.y"
5266 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5269 #line 1439 "parse.y"
5270 { if (processing_template_decl
)
5271 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5273 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5276 #line 1444 "parse.y"
5277 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5280 #line 1446 "parse.y"
5281 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5284 #line 1448 "parse.y"
5285 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5288 #line 1450 "parse.y"
5289 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5292 #line 1453 "parse.y"
5293 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5296 #line 1455 "parse.y"
5297 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5300 #line 1457 "parse.y"
5302 yyval
.ttype
= error_mark_node
;
5306 #line 1502 "parse.y"
5307 { yyval
.itype
= 0; ;
5310 #line 1504 "parse.y"
5311 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5314 #line 1509 "parse.y"
5315 { yyval
.itype
= 0; ;
5318 #line 1511 "parse.y"
5319 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5322 #line 1516 "parse.y"
5323 { yyval
.ttype
= boolean_true_node
; ;
5326 #line 1518 "parse.y"
5327 { yyval
.ttype
= boolean_false_node
; ;
5330 #line 1525 "parse.y"
5331 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5334 #line 1530 "parse.y"
5336 if (! current_function_parms_stored
)
5337 store_parm_decls ();
5339 /* Always keep the BLOCK node associated with the outermost
5340 pair of curley braces of a function. These are needed
5341 for correct operation of dwarfout.c. */
5346 #line 1543 "parse.y"
5347 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5350 #line 1545 "parse.y"
5352 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5353 got_object
= TREE_TYPE (yyval
.ttype
);
5357 #line 1553 "parse.y"
5359 resume_momentary (yyvsp
[-1].itype
);
5360 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5361 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5365 #line 1559 "parse.y"
5367 resume_momentary (yyvsp
[-1].itype
);
5368 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5372 #line 1564 "parse.y"
5373 { resume_momentary (yyvsp
[-1].itype
); ;
5376 #line 1566 "parse.y"
5378 shadow_tag (yyvsp
[-1].ftype
.t
);
5379 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5383 #line 1571 "parse.y"
5384 { warning ("empty declaration"); ;
5387 #line 1573 "parse.y"
5388 { pedantic
= yyvsp
[-1].itype
; ;
5391 #line 1587 "parse.y"
5392 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5393 NULL_TREE
, NULL_TREE
); ;
5396 #line 1590 "parse.y"
5397 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5401 #line 1597 "parse.y"
5402 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5403 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5406 #line 1600 "parse.y"
5407 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5408 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5411 #line 1603 "parse.y"
5412 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5413 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5416 #line 1606 "parse.y"
5417 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5418 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5421 #line 1609 "parse.y"
5422 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5423 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5426 #line 1625 "parse.y"
5427 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5428 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5431 #line 1628 "parse.y"
5432 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5433 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5436 #line 1631 "parse.y"
5437 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5438 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5441 #line 1634 "parse.y"
5442 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5443 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5446 #line 1637 "parse.y"
5447 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5448 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5451 #line 1640 "parse.y"
5452 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5453 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5454 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5457 #line 1647 "parse.y"
5458 { if (extra_warnings
)
5459 warning ("`%s' is not at beginning of declaration",
5460 IDENTIFIER_POINTER (yyval
.ttype
));
5461 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5464 #line 1652 "parse.y"
5465 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5468 #line 1654 "parse.y"
5469 { if (extra_warnings
)
5470 warning ("`%s' is not at beginning of declaration",
5471 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5472 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5475 #line 1659 "parse.y"
5476 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5479 #line 1661 "parse.y"
5480 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5483 #line 1671 "parse.y"
5484 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5487 #line 1673 "parse.y"
5488 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5491 #line 1675 "parse.y"
5492 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5493 TREE_STATIC (yyval
.ttype
) = 1; ;
5496 #line 1678 "parse.y"
5497 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5498 warning ("`%s' is not at beginning of declaration",
5499 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5500 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5501 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5504 #line 1684 "parse.y"
5505 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5508 #line 1686 "parse.y"
5509 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5512 #line 1697 "parse.y"
5513 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5514 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5517 #line 1700 "parse.y"
5518 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5519 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5522 #line 1703 "parse.y"
5523 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5524 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5527 #line 1706 "parse.y"
5528 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5529 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5532 #line 1712 "parse.y"
5533 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5536 #line 1714 "parse.y"
5537 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5540 #line 1724 "parse.y"
5541 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5544 #line 1726 "parse.y"
5545 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5548 #line 1728 "parse.y"
5549 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5550 yyval
.ftype
.new_type_flag
= 0; ;
5553 #line 1731 "parse.y"
5554 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5555 yyval
.ftype
.new_type_flag
= 0; ;
5558 #line 1734 "parse.y"
5559 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5561 yyval
.ftype
.new_type_flag
= 0;
5562 if (IS_AGGR_TYPE (type
))
5564 sorry ("sigof type specifier");
5565 yyval
.ftype
.t
= type
;
5569 error ("`sigof' applied to non-aggregate expression");
5570 yyval
.ftype
.t
= error_mark_node
;
5575 #line 1749 "parse.y"
5576 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5578 yyval
.ftype
.new_type_flag
= 0;
5579 if (IS_AGGR_TYPE (type
))
5581 sorry ("sigof type specifier");
5582 yyval
.ftype
.t
= type
;
5586 error("`sigof' applied to non-aggregate type");
5587 yyval
.ftype
.t
= error_mark_node
;
5592 #line 1769 "parse.y"
5593 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5596 #line 1771 "parse.y"
5597 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5600 #line 1792 "parse.y"
5601 { yyval
.ttype
= NULL_TREE
; ;
5604 #line 1794 "parse.y"
5605 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5608 #line 1799 "parse.y"
5609 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5610 yyvsp
[-1].ttype
, prefix_attributes
); ;
5613 #line 1803 "parse.y"
5614 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5617 #line 1805 "parse.y"
5618 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5619 yyvsp
[0].ttype
, prefix_attributes
);
5620 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5623 #line 1818 "parse.y"
5624 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5625 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5628 #line 1823 "parse.y"
5629 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5630 LOOKUP_ONLYCONVERTING
);
5631 yyval
.itype
= yyvsp
[-2].itype
; ;
5634 #line 1827 "parse.y"
5636 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5637 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5640 #line 1834 "parse.y"
5641 { yyval
.itype
= yyvsp
[0].itype
; ;
5644 #line 1838 "parse.y"
5645 { yyval
.itype
= yyvsp
[0].itype
; ;
5648 #line 1843 "parse.y"
5649 { /* Set things up as initdcl0_innards expects. */
5650 yyval
.ttype
= yyvsp
[-1].ttype
;
5651 yyvsp
[-1].ttype
= NULL_TREE
; ;
5654 #line 1847 "parse.y"
5658 #line 1849 "parse.y"
5660 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5661 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5664 #line 1858 "parse.y"
5665 { yyval
.ttype
= NULL_TREE
; ;
5668 #line 1860 "parse.y"
5669 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5672 #line 1865 "parse.y"
5673 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5676 #line 1867 "parse.y"
5677 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5680 #line 1872 "parse.y"
5681 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5684 #line 1877 "parse.y"
5685 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5688 #line 1879 "parse.y"
5689 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5692 #line 1884 "parse.y"
5693 { yyval
.ttype
= NULL_TREE
; ;
5696 #line 1886 "parse.y"
5697 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5700 #line 1888 "parse.y"
5701 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5704 #line 1890 "parse.y"
5705 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5708 #line 1892 "parse.y"
5709 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5712 #line 1908 "parse.y"
5713 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5716 #line 1910 "parse.y"
5717 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5720 #line 1915 "parse.y"
5721 { yyval
.ttype
= NULL_TREE
; ;
5724 #line 1917 "parse.y"
5725 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5728 #line 1925 "parse.y"
5729 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5730 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5733 #line 1928 "parse.y"
5734 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5735 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5738 #line 1931 "parse.y"
5739 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5740 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5743 #line 1934 "parse.y"
5744 { yyval
.ttype
= NULL_TREE
; ;
5747 #line 1941 "parse.y"
5748 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5751 #line 1943 "parse.y"
5752 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5755 #line 1946 "parse.y"
5756 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5759 #line 1948 "parse.y"
5760 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5763 #line 1950 "parse.y"
5764 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5767 #line 1955 "parse.y"
5768 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5770 reinit_parse_for_function (); ;
5773 #line 1961 "parse.y"
5775 int nested
= (hack_decl_function_context
5776 (current_function_decl
) != NULL_TREE
);
5777 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5778 process_next_inline (yyvsp
[-3].ttype
);
5782 #line 1968 "parse.y"
5783 { process_next_inline (yyvsp
[-2].ttype
); ;
5786 #line 1970 "parse.y"
5787 { process_next_inline (yyvsp
[-2].ttype
); ;
5790 #line 1982 "parse.y"
5791 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5794 #line 1984 "parse.y"
5795 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5798 #line 1989 "parse.y"
5799 { do_pending_defargs (); ;
5802 #line 1991 "parse.y"
5803 { do_pending_defargs (); ;
5806 #line 1996 "parse.y"
5807 { yyvsp
[0].itype
= suspend_momentary ();
5808 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5811 #line 1999 "parse.y"
5812 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5813 yyval
.ftype
.new_type_flag
= 1;
5814 resume_momentary ((int) yyvsp
[-4].itype
);
5815 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5818 #line 2004 "parse.y"
5819 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5820 yyval
.ftype
.new_type_flag
= 1;
5821 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5824 #line 2008 "parse.y"
5825 { yyvsp
[0].itype
= suspend_momentary ();
5826 yyval
.ttype
= start_enum (make_anon_name ()); ;
5829 #line 2011 "parse.y"
5830 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5831 resume_momentary ((int) yyvsp
[-5].itype
);
5832 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5833 yyval
.ftype
.new_type_flag
= 1; ;
5836 #line 2016 "parse.y"
5837 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5838 yyval
.ftype
.new_type_flag
= 1;
5839 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5842 #line 2020 "parse.y"
5843 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5844 yyval
.ftype
.new_type_flag
= 0; ;
5847 #line 2023 "parse.y"
5848 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5849 yyval
.ftype
.new_type_flag
= 0; ;
5852 #line 2026 "parse.y"
5853 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5854 yyval
.ftype
.new_type_flag
= 0; ;
5857 #line 2031 "parse.y"
5861 if (yychar
== YYEMPTY
)
5863 semi
= yychar
== ';';
5865 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5869 #line 2041 "parse.y"
5870 { finish_default_args (); ;
5873 #line 2043 "parse.y"
5874 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5875 yyval
.ftype
.new_type_flag
= 1;
5876 begin_inline_definitions (); ;
5879 #line 2047 "parse.y"
5881 yyval
.ftype
.new_type_flag
= 0;
5882 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5884 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5885 yyval
.ftype
.t
= error_mark_node
;
5889 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5890 /* struct B: public A; is not accepted by the WP grammar. */
5891 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5892 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5893 cp_error ("base clause without member specification for `%#T'",
5899 #line 2074 "parse.y"
5900 { if (pedantic
&& !in_system_header
)
5901 pedwarn ("comma at end of enumerator list"); ;
5904 #line 2081 "parse.y"
5905 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5908 #line 2083 "parse.y"
5909 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5912 #line 2085 "parse.y"
5913 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5916 #line 2087 "parse.y"
5917 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5920 #line 2092 "parse.y"
5921 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5924 #line 2097 "parse.y"
5925 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5928 #line 2102 "parse.y"
5930 current_aggr
= yyvsp
[-2].ttype
;
5931 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5935 #line 2107 "parse.y"
5937 current_aggr
= yyvsp
[-3].ttype
;
5938 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5942 #line 2112 "parse.y"
5944 current_aggr
= yyvsp
[-2].ttype
;
5945 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5949 #line 2117 "parse.y"
5950 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5953 #line 2119 "parse.y"
5954 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5957 #line 2124 "parse.y"
5958 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
5961 #line 2129 "parse.y"
5962 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5965 #line 2132 "parse.y"
5967 yyval
.ttype
= yyvsp
[-1].ttype
;
5969 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5973 #line 2138 "parse.y"
5975 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
5976 if (TREE_INT_CST_LOW (current_aggr
) == union_type
5977 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
5978 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
5979 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
5980 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
5981 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
5984 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
5986 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
5987 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
5989 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
5990 if (processing_template_decl
)
5991 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
5993 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
5994 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
5996 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6001 #line 2167 "parse.y"
6002 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6003 yyungetc ('{', 1); ;
6006 #line 2178 "parse.y"
6007 { yyval
.ttype
= NULL_TREE
; ;
6010 #line 2180 "parse.y"
6011 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6014 #line 2182 "parse.y"
6015 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6018 #line 2188 "parse.y"
6019 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6022 #line 2193 "parse.y"
6024 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6025 if (! is_aggr_type (type
, 1))
6026 yyval
.ttype
= NULL_TREE
;
6027 else if (current_aggr
== signature_type_node
6028 && (! type
) && (! IS_SIGNATURE (type
)))
6030 error ("class name not allowed as base signature");
6031 yyval
.ttype
= NULL_TREE
;
6033 else if (current_aggr
== signature_type_node
)
6035 sorry ("signature inheritance, base type `%s' ignored",
6036 IDENTIFIER_POINTER (yyval
.ttype
));
6037 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6039 else if (type
&& IS_SIGNATURE (type
))
6041 error ("signature name not allowed as base class");
6042 yyval
.ttype
= NULL_TREE
;
6045 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6049 #line 2218 "parse.y"
6051 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6052 if (current_aggr
== signature_type_node
)
6053 error ("access and source specifiers not allowed in signature");
6054 if (! is_aggr_type (type
, 1))
6055 yyval
.ttype
= NULL_TREE
;
6056 else if (current_aggr
== signature_type_node
6057 && (! type
) && (! IS_SIGNATURE (type
)))
6059 error ("class name not allowed as base signature");
6060 yyval
.ttype
= NULL_TREE
;
6062 else if (current_aggr
== signature_type_node
)
6064 sorry ("signature inheritance, base type `%s' ignored",
6065 IDENTIFIER_POINTER (yyval
.ttype
));
6066 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6068 else if (type
&& IS_SIGNATURE (type
))
6070 error ("signature name not allowed as base class");
6071 yyval
.ttype
= NULL_TREE
;
6074 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6078 #line 2248 "parse.y"
6079 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6082 #line 2251 "parse.y"
6084 if (current_aggr
== signature_type_node
)
6086 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6088 sorry ("`sigof' as base signature specifier");
6089 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6093 error ("`sigof' applied to non-aggregate expression");
6094 yyval
.ttype
= error_mark_node
;
6099 error ("`sigof' in struct or class declaration");
6100 yyval
.ttype
= error_mark_node
;
6105 #line 2272 "parse.y"
6107 if (current_aggr
== signature_type_node
)
6109 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6111 sorry ("`sigof' as base signature specifier");
6112 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6116 error ("`sigof' applied to non-aggregate expression");
6117 yyval
.ttype
= error_mark_node
;
6122 error ("`sigof' in struct or class declaration");
6123 yyval
.ttype
= error_mark_node
;
6128 #line 2297 "parse.y"
6129 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6130 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6131 yyval
.ttype
= access_default_virtual_node
; ;
6134 #line 2301 "parse.y"
6136 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6137 error ("multiple access specifiers");
6138 else if (yyvsp
[-1].ttype
== access_public_node
)
6139 yyval
.ttype
= access_public_virtual_node
;
6140 else if (yyvsp
[-1].ttype
== access_protected_node
)
6141 yyval
.ttype
= access_protected_virtual_node
;
6142 else /* $2 == access_private_node */
6143 yyval
.ttype
= access_private_virtual_node
;
6147 #line 2312 "parse.y"
6148 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6149 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6150 else if (yyval
.ttype
== access_public_node
)
6151 yyval
.ttype
= access_public_virtual_node
;
6152 else if (yyval
.ttype
== access_protected_node
)
6153 yyval
.ttype
= access_protected_virtual_node
;
6154 else if (yyval
.ttype
== access_private_node
)
6155 yyval
.ttype
= access_private_virtual_node
;
6157 error ("multiple `virtual' specifiers");
6161 #line 2327 "parse.y"
6162 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6165 #line 2332 "parse.y"
6167 yyval
.ttype
= build_self_reference ();
6171 #line 2339 "parse.y"
6172 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6175 #line 2341 "parse.y"
6177 if (current_aggr
== signature_type_node
)
6178 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6180 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6181 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6185 #line 2349 "parse.y"
6187 tree visspec
= yyvsp
[-2].ttype
;
6189 if (current_aggr
== signature_type_node
)
6191 error ("access specifier not allowed in signature");
6192 visspec
= access_public_node
;
6194 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6198 #line 2360 "parse.y"
6200 if (current_aggr
== signature_type_node
)
6201 error ("access specifier not allowed in signature");
6205 #line 2370 "parse.y"
6206 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6210 #line 2373 "parse.y"
6211 { /* In pushdecl, we created a reverse list of names
6212 in this binding level. Make sure that the chain
6213 of what we're trying to add isn't the item itself
6214 (which can happen with what pushdecl's doing). */
6215 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6217 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6218 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6220 yyval
.ttype
= yyvsp
[0].ttype
;
6225 #line 2389 "parse.y"
6229 #line 2391 "parse.y"
6230 { error ("missing ';' before right brace");
6231 yyungetc ('}', 0); ;
6234 #line 2396 "parse.y"
6235 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6238 #line 2398 "parse.y"
6239 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6242 #line 2400 "parse.y"
6243 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6246 #line 2402 "parse.y"
6247 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6250 #line 2404 "parse.y"
6251 { yyval
.ttype
= NULL_TREE
; ;
6254 #line 2406 "parse.y"
6255 { yyval
.ttype
= yyvsp
[0].ttype
;
6256 pedantic
= yyvsp
[-1].itype
; ;
6259 #line 2409 "parse.y"
6260 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6263 #line 2411 "parse.y"
6264 { yyval
.ttype
= finish_member_class_template (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
); ;
6267 #line 2419 "parse.y"
6268 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6271 #line 2421 "parse.y"
6272 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6275 #line 2423 "parse.y"
6276 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6277 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6280 #line 2426 "parse.y"
6281 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6282 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6285 #line 2429 "parse.y"
6286 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6289 #line 2431 "parse.y"
6290 { yyval
.ttype
= NULL_TREE
; ;
6293 #line 2442 "parse.y"
6294 { tree specs
, attrs
;
6295 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6296 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6297 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6300 #line 2447 "parse.y"
6301 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6302 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6305 #line 2450 "parse.y"
6306 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6309 #line 2456 "parse.y"
6310 { yyval
.ttype
= NULL_TREE
; ;
6313 #line 2459 "parse.y"
6315 /* In this context, void_type_node encodes
6316 friends. They have been recorded elsewhere. */
6317 if (yyval
.ttype
== void_type_node
)
6318 yyval
.ttype
= yyvsp
[0].ttype
;
6320 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6324 #line 2471 "parse.y"
6325 { yyval
.ttype
= NULL_TREE
; ;
6328 #line 2474 "parse.y"
6330 /* In this context, void_type_node encodes
6331 friends. They have been recorded elsewhere. */
6332 if (yyval
.ttype
== void_type_node
)
6333 yyval
.ttype
= yyvsp
[0].ttype
;
6335 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6339 #line 2496 "parse.y"
6340 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6341 &prefix_attributes
);
6342 yyvsp
[-4].ttype
= current_declspecs
;
6343 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6344 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6347 #line 2502 "parse.y"
6348 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6349 &prefix_attributes
);
6350 yyvsp
[-4].ttype
= current_declspecs
;
6351 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6352 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6355 #line 2511 "parse.y"
6356 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6357 &prefix_attributes
);
6358 yyvsp
[-4].ttype
= current_declspecs
;
6359 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6360 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6363 #line 2517 "parse.y"
6364 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6365 &prefix_attributes
);
6366 yyvsp
[-4].ttype
= current_declspecs
;
6367 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6368 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6371 #line 2523 "parse.y"
6372 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6373 &prefix_attributes
);
6374 yyvsp
[-4].ttype
= current_declspecs
;
6375 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6376 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6379 #line 2529 "parse.y"
6380 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6381 &prefix_attributes
);
6382 yyvsp
[-3].ttype
= current_declspecs
;
6383 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6384 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6387 #line 2538 "parse.y"
6388 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6389 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6392 #line 2541 "parse.y"
6393 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6394 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6397 #line 2547 "parse.y"
6398 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6399 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6402 #line 2550 "parse.y"
6403 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6404 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6407 #line 2553 "parse.y"
6408 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6409 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6412 #line 2564 "parse.y"
6413 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6416 #line 2569 "parse.y"
6417 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6420 #line 2571 "parse.y"
6421 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6424 #line 2577 "parse.y"
6425 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6426 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6429 #line 2580 "parse.y"
6430 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6431 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6434 #line 2587 "parse.y"
6437 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6438 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6439 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6440 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6444 #line 2598 "parse.y"
6445 { yyval
.ttype
= NULL_TREE
; ;
6448 #line 2600 "parse.y"
6449 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6452 #line 2605 "parse.y"
6453 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6454 yyval
.ftype
.new_type_flag
= 0; ;
6457 #line 2608 "parse.y"
6458 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6459 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6462 #line 2617 "parse.y"
6463 { yyval
.itype
= suspend_momentary (); ;
6466 #line 2622 "parse.y"
6467 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6470 #line 2628 "parse.y"
6471 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6474 #line 2630 "parse.y"
6475 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6478 #line 2632 "parse.y"
6479 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6482 #line 2634 "parse.y"
6483 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6486 #line 2641 "parse.y"
6487 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6490 #line 2643 "parse.y"
6491 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6494 #line 2645 "parse.y"
6495 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6498 #line 2647 "parse.y"
6499 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6502 #line 2649 "parse.y"
6503 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6504 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6508 #line 2657 "parse.y"
6510 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6512 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6513 if (current_class_type
6514 && TYPE_BEING_DEFINED (current_class_type
)
6515 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6517 /* Remember that this name has been used in the class
6518 definition, as per [class.scope0] */
6519 pushdecl_class_level (yyval
.ttype
);
6523 yyval
.ttype
= yyvsp
[0].ttype
;
6527 #line 2674 "parse.y"
6529 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6530 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6532 yyval
.ttype
= yyvsp
[0].ttype
;
6533 got_scope
= NULL_TREE
;
6537 #line 2687 "parse.y"
6538 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6541 #line 2692 "parse.y"
6542 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6545 #line 2697 "parse.y"
6546 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6549 #line 2699 "parse.y"
6550 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6553 #line 2701 "parse.y"
6554 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6557 #line 2703 "parse.y"
6558 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6561 #line 2705 "parse.y"
6562 { push_nested_class (yyvsp
[-1].ttype
, 3);
6563 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6564 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6567 #line 2716 "parse.y"
6568 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6571 #line 2718 "parse.y"
6572 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6575 #line 2720 "parse.y"
6576 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6579 #line 2722 "parse.y"
6580 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6583 #line 2724 "parse.y"
6584 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6585 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6589 #line 2732 "parse.y"
6590 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6593 #line 2734 "parse.y"
6594 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6597 #line 2736 "parse.y"
6598 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6601 #line 2738 "parse.y"
6602 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6605 #line 2740 "parse.y"
6606 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6607 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6611 #line 2748 "parse.y"
6612 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6615 #line 2750 "parse.y"
6616 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6619 #line 2752 "parse.y"
6620 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6623 #line 2754 "parse.y"
6624 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6627 #line 2756 "parse.y"
6628 { if (OP0 (yyvsp
[0].ttype
) != current_class_type
)
6630 push_nested_class (OP0 (yyvsp
[0].ttype
), 3);
6631 TREE_COMPLEXITY (yyvsp
[0].ttype
) = current_class_depth
;
6636 #line 2763 "parse.y"
6637 { got_scope
= NULL_TREE
;
6638 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6639 if (yyvsp
[-1].ttype
!= current_class_type
)
6641 push_nested_class (yyvsp
[-1].ttype
, 3);
6642 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6647 #line 2775 "parse.y"
6648 { got_scope
= NULL_TREE
;
6649 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6652 #line 2778 "parse.y"
6653 { got_scope
= NULL_TREE
;
6654 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6657 #line 2784 "parse.y"
6658 { got_scope
= NULL_TREE
;
6659 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6662 #line 2787 "parse.y"
6663 { got_scope
= NULL_TREE
;
6664 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6667 #line 2794 "parse.y"
6668 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6671 #line 2799 "parse.y"
6672 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6675 #line 2801 "parse.y"
6676 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6679 #line 2803 "parse.y"
6680 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6683 #line 2815 "parse.y"
6684 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6687 #line 2817 "parse.y"
6688 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6691 #line 2824 "parse.y"
6693 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6695 yyval
.ttype
= lastiddecl
;
6696 /* Remember that this name has been used in the class
6697 definition, as per [class.scope0] */
6698 if (current_class_type
6699 && TYPE_BEING_DEFINED (current_class_type
)
6700 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6701 pushdecl_class_level (yyval
.ttype
);
6703 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6707 #line 2838 "parse.y"
6709 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6710 yyval
.ttype
= lastiddecl
;
6711 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6715 #line 2844 "parse.y"
6717 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6718 yyval
.ttype
= lastiddecl
;
6719 got_scope
= yyval
.ttype
;
6723 #line 2850 "parse.y"
6724 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6727 #line 2866 "parse.y"
6728 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6731 #line 2871 "parse.y"
6733 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6734 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6735 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6736 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6739 yyval
.ttype
= yyvsp
[0].ttype
;
6740 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6741 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6746 #line 2884 "parse.y"
6747 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6750 #line 2886 "parse.y"
6751 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6754 #line 2888 "parse.y"
6755 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6758 #line 2893 "parse.y"
6760 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6761 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6765 #line 2898 "parse.y"
6767 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6768 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6769 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6770 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6773 yyval
.ttype
= yyvsp
[0].ttype
;
6774 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6775 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6780 #line 2911 "parse.y"
6781 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6784 #line 2913 "parse.y"
6785 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6788 #line 2918 "parse.y"
6790 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6791 yyvsp
[-1].ttype
= lastiddecl
;
6793 /* Retrieve the type for the identifier, which might involve
6794 some computation. */
6795 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6797 if (yyval
.ttype
== error_mark_node
)
6798 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6802 #line 2930 "parse.y"
6804 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6805 yyval
.ttype
= lastiddecl
;
6806 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6810 #line 2936 "parse.y"
6811 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6814 #line 2940 "parse.y"
6816 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6817 yyval
.ttype
= lastiddecl
;
6818 got_scope
= yyval
.ttype
;
6822 #line 2949 "parse.y"
6823 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6826 #line 2954 "parse.y"
6828 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6829 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6831 yyval
.ttype
= yyvsp
[0].ttype
;
6832 got_scope
= NULL_TREE
;
6836 #line 2963 "parse.y"
6837 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6840 #line 2968 "parse.y"
6841 { got_scope
= NULL_TREE
; ;
6844 #line 2970 "parse.y"
6845 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6848 #line 2977 "parse.y"
6849 { got_scope
= void_type_node
; ;
6852 #line 2983 "parse.y"
6853 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6856 #line 2985 "parse.y"
6857 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6860 #line 2987 "parse.y"
6861 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6864 #line 2989 "parse.y"
6865 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6868 #line 2991 "parse.y"
6869 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6870 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6874 #line 2995 "parse.y"
6875 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6876 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6880 #line 3004 "parse.y"
6881 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6884 #line 3006 "parse.y"
6885 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6888 #line 3012 "parse.y"
6889 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6892 #line 3014 "parse.y"
6893 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6896 #line 3016 "parse.y"
6897 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6900 #line 3018 "parse.y"
6901 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
6904 #line 3020 "parse.y"
6905 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6908 #line 3022 "parse.y"
6909 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6912 #line 3024 "parse.y"
6913 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6916 #line 3026 "parse.y"
6917 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
6920 #line 3028 "parse.y"
6921 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6922 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6926 #line 3032 "parse.y"
6927 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6928 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6932 #line 3041 "parse.y"
6933 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6936 #line 3045 "parse.y"
6937 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6940 #line 3047 "parse.y"
6941 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6944 #line 3049 "parse.y"
6945 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6948 #line 3051 "parse.y"
6949 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6952 #line 3053 "parse.y"
6953 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6956 #line 3055 "parse.y"
6957 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6960 #line 3057 "parse.y"
6961 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6964 #line 3059 "parse.y"
6965 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6968 #line 3061 "parse.y"
6969 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
6972 #line 3084 "parse.y"
6974 pedwarn ("ANSI C++ forbids label declarations"); ;
6977 #line 3095 "parse.y"
6979 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
6981 tree label
= shadow_label (TREE_VALUE (link
));
6982 C_DECLARED_LABEL_FLAG (label
) = 1;
6983 declare_nonlocal_label (label
);
6988 #line 3109 "parse.y"
6992 #line 3115 "parse.y"
6993 { yyval
.ttype
= begin_compound_stmt (0); ;
6996 #line 3117 "parse.y"
6997 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7000 #line 3122 "parse.y"
7002 yyval
.ttype
= begin_if_stmt ();
7003 cond_stmt_keyword
= "if";
7007 #line 3127 "parse.y"
7008 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7011 #line 3129 "parse.y"
7012 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7015 #line 3134 "parse.y"
7016 { yyval
.ttype
= begin_compound_stmt (0); ;
7019 #line 3136 "parse.y"
7020 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7023 #line 3141 "parse.y"
7027 #line 3147 "parse.y"
7031 #line 3149 "parse.y"
7032 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7035 #line 3151 "parse.y"
7036 { begin_else_clause (); ;
7039 #line 3153 "parse.y"
7041 finish_else_clause (yyvsp
[-3].ttype
);
7046 #line 3158 "parse.y"
7047 { finish_if_stmt (); ;
7050 #line 3160 "parse.y"
7052 yyval
.ttype
= begin_while_stmt ();
7053 cond_stmt_keyword
= "while";
7057 #line 3165 "parse.y"
7058 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7061 #line 3167 "parse.y"
7062 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7065 #line 3169 "parse.y"
7066 { yyval
.ttype
= begin_do_stmt (); ;
7069 #line 3171 "parse.y"
7071 finish_do_body (yyvsp
[-2].ttype
);
7072 cond_stmt_keyword
= "do";
7076 #line 3176 "parse.y"
7077 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7080 #line 3178 "parse.y"
7081 { yyval
.ttype
= begin_for_stmt (); ;
7084 #line 3180 "parse.y"
7085 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7088 #line 3182 "parse.y"
7089 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7092 #line 3184 "parse.y"
7093 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7096 #line 3186 "parse.y"
7097 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7100 #line 3188 "parse.y"
7101 { begin_switch_stmt (); ;
7104 #line 3190 "parse.y"
7105 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7108 #line 3192 "parse.y"
7109 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7112 #line 3194 "parse.y"
7113 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7116 #line 3197 "parse.y"
7117 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7120 #line 3200 "parse.y"
7121 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7124 #line 3203 "parse.y"
7125 { finish_break_stmt (); ;
7128 #line 3205 "parse.y"
7129 { finish_continue_stmt (); ;
7132 #line 3207 "parse.y"
7133 { finish_return_stmt (NULL_TREE
); ;
7136 #line 3209 "parse.y"
7137 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7140 #line 3211 "parse.y"
7142 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7147 #line 3217 "parse.y"
7149 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7154 #line 3223 "parse.y"
7155 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7158 #line 3227 "parse.y"
7159 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7162 #line 3229 "parse.y"
7165 pedwarn ("ANSI C++ forbids computed gotos");
7166 finish_goto_stmt (yyvsp
[-1].ttype
);
7170 #line 3235 "parse.y"
7171 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7174 #line 3237 "parse.y"
7178 #line 3239 "parse.y"
7179 { error ("label must be followed by statement");
7184 #line 3243 "parse.y"
7188 #line 3249 "parse.y"
7190 if (! current_function_parms_stored
)
7191 store_parm_decls ();
7192 expand_start_early_try_stmts ();
7196 #line 3255 "parse.y"
7198 expand_start_all_catch ();
7202 #line 3259 "parse.y"
7204 int nested
= (hack_decl_function_context
7205 (current_function_decl
) != NULL_TREE
);
7206 expand_end_all_catch ();
7207 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7211 #line 3269 "parse.y"
7212 { yyval
.ttype
= begin_try_block (); ;
7215 #line 3271 "parse.y"
7216 { finish_try_block (yyvsp
[-1].ttype
); ;
7219 #line 3273 "parse.y"
7220 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7223 #line 3283 "parse.y"
7224 { yyval
.ttype
= begin_handler(); ;
7227 #line 3285 "parse.y"
7228 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7231 #line 3287 "parse.y"
7232 { finish_handler (yyvsp
[-3].ttype
); ;
7235 #line 3297 "parse.y"
7236 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7239 #line 3313 "parse.y"
7240 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7241 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7242 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7245 #line 3320 "parse.y"
7248 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7249 if (label
&& ! minimal_parse_mode
)
7250 expand_label (label
);
7254 #line 3327 "parse.y"
7258 #line 3329 "parse.y"
7262 #line 3331 "parse.y"
7266 #line 3336 "parse.y"
7267 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7270 #line 3339 "parse.y"
7272 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7276 #line 3348 "parse.y"
7277 { emit_line_note (input_filename
, lineno
);
7278 yyval
.ttype
= NULL_TREE
; ;
7281 #line 3351 "parse.y"
7282 { emit_line_note (input_filename
, lineno
); ;
7285 #line 3356 "parse.y"
7286 { yyval
.ttype
= NULL_TREE
; ;
7289 #line 3359 "parse.y"
7290 { yyval
.ttype
= NULL_TREE
; ;
7293 #line 3366 "parse.y"
7294 { yyval
.ttype
= NULL_TREE
; ;
7297 #line 3373 "parse.y"
7298 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7301 #line 3378 "parse.y"
7302 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7305 #line 3383 "parse.y"
7306 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7309 #line 3385 "parse.y"
7310 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7313 #line 3396 "parse.y"
7315 yyval
.ttype
= empty_parms();
7319 #line 3401 "parse.y"
7320 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7321 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7324 #line 3409 "parse.y"
7325 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7328 #line 3411 "parse.y"
7329 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7332 #line 3414 "parse.y"
7333 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7336 #line 3416 "parse.y"
7337 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7338 yyvsp
[-1].ftype
.t
), 1); ;
7341 #line 3419 "parse.y"
7342 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7345 #line 3421 "parse.y"
7347 /* This helps us recover from really nasty
7348 parse errors, for example, a missing right
7350 yyerror ("possibly missing ')'");
7351 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7357 #line 3431 "parse.y"
7359 /* This helps us recover from really nasty
7360 parse errors, for example, a missing right
7362 yyerror ("possibly missing ')'");
7363 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7364 yyvsp
[-1].ftype
.t
), 0);
7370 #line 3446 "parse.y"
7371 { maybe_snarf_defarg (); ;
7374 #line 3448 "parse.y"
7375 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7378 #line 3459 "parse.y"
7379 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7380 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7383 #line 3462 "parse.y"
7384 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7385 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7388 #line 3465 "parse.y"
7389 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7390 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7393 #line 3468 "parse.y"
7394 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7397 #line 3470 "parse.y"
7398 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7401 #line 3476 "parse.y"
7402 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7403 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7406 #line 3486 "parse.y"
7407 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7408 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7409 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7412 #line 3490 "parse.y"
7413 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7414 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7417 #line 3493 "parse.y"
7418 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7419 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7422 #line 3496 "parse.y"
7423 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7424 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7425 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7428 #line 3500 "parse.y"
7429 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7430 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7431 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7434 #line 3504 "parse.y"
7435 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7436 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7437 yyval
.ftype
.new_type_flag
= 0; ;
7440 #line 3511 "parse.y"
7441 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7442 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7445 #line 3514 "parse.y"
7446 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7447 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7450 #line 3525 "parse.y"
7451 { see_typename (); ;
7454 #line 3530 "parse.y"
7456 error ("type specifier omitted for parameter");
7457 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7461 #line 3535 "parse.y"
7463 error ("type specifier omitted for parameter");
7464 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7465 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7466 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7467 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7468 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7472 #line 3547 "parse.y"
7473 { yyval
.ttype
= NULL_TREE
; ;
7476 #line 3549 "parse.y"
7477 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7480 #line 3551 "parse.y"
7481 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7484 #line 3556 "parse.y"
7485 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7488 #line 3562 "parse.y"
7490 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7491 yyval
.ttype
= yyvsp
[0].ttype
;
7495 #line 3570 "parse.y"
7496 { yyval
.ttype
= NULL_TREE
; ;
7499 #line 3572 "parse.y"
7500 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7503 #line 3574 "parse.y"
7504 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7507 #line 3576 "parse.y"
7508 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7509 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7513 #line 3583 "parse.y"
7514 { got_scope
= NULL_TREE
; ;
7517 #line 3588 "parse.y"
7518 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7521 #line 3590 "parse.y"
7522 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7525 #line 3592 "parse.y"
7526 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7529 #line 3594 "parse.y"
7530 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7533 #line 3596 "parse.y"
7534 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7537 #line 3598 "parse.y"
7538 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7541 #line 3600 "parse.y"
7542 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7545 #line 3602 "parse.y"
7546 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7549 #line 3604 "parse.y"
7550 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7553 #line 3606 "parse.y"
7554 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7557 #line 3608 "parse.y"
7558 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7561 #line 3610 "parse.y"
7562 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7565 #line 3612 "parse.y"
7566 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7569 #line 3614 "parse.y"
7570 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7573 #line 3616 "parse.y"
7574 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7577 #line 3618 "parse.y"
7578 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7581 #line 3620 "parse.y"
7582 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7585 #line 3622 "parse.y"
7586 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7589 #line 3624 "parse.y"
7590 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7593 #line 3626 "parse.y"
7594 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7597 #line 3628 "parse.y"
7598 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7601 #line 3630 "parse.y"
7602 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7605 #line 3632 "parse.y"
7606 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7609 #line 3634 "parse.y"
7610 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7613 #line 3636 "parse.y"
7614 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7617 #line 3638 "parse.y"
7618 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7621 #line 3640 "parse.y"
7622 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7625 #line 3642 "parse.y"
7626 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7629 #line 3644 "parse.y"
7630 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7633 #line 3646 "parse.y"
7634 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7637 #line 3648 "parse.y"
7638 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7641 #line 3650 "parse.y"
7642 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7645 #line 3652 "parse.y"
7646 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7649 #line 3655 "parse.y"
7650 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7653 #line 3657 "parse.y"
7654 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7657 /* the action file gets copied in in place of this dollarsign */
7658 #line 498 "/usr/lib/bison.simple"
7669 short *ssp1
= yyss
- 1;
7670 fprintf (stderr
, "state stack now");
7671 while (ssp1
!= yyssp
)
7672 fprintf (stderr
, " %d", *++ssp1
);
7673 fprintf (stderr
, "\n");
7683 yylsp
->first_line
= yylloc
.first_line
;
7684 yylsp
->first_column
= yylloc
.first_column
;
7685 yylsp
->last_line
= (yylsp
-1)->last_line
;
7686 yylsp
->last_column
= (yylsp
-1)->last_column
;
7691 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7692 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7696 /* Now "shift" the result of the reduction.
7697 Determine what state that goes to,
7698 based on the state we popped back to
7699 and the rule number reduced by. */
7703 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7704 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7705 yystate
= yytable
[yystate
];
7707 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7711 yyerrlab
: /* here on detecting error */
7714 /* If not already recovering from an error, report this error. */
7718 #ifdef YYERROR_VERBOSE
7719 yyn
= yypact
[yystate
];
7721 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7728 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7729 for (x
= (yyn
< 0 ? -yyn
: 0);
7730 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7731 if (yycheck
[x
+ yyn
] == x
)
7732 size
+= strlen(yytname
[x
]) + 15, count
++;
7733 msg
= (char *) malloc(size
+ 15);
7736 strcpy(msg
, "parse error");
7741 for (x
= (yyn
< 0 ? -yyn
: 0);
7742 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7743 if (yycheck
[x
+ yyn
] == x
)
7745 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7746 strcat(msg
, yytname
[x
]);
7755 yyerror ("parse error; also virtual memory exceeded");
7758 #endif /* YYERROR_VERBOSE */
7759 yyerror("parse error");
7763 yyerrlab1
: /* here on error raised explicitly by an action */
7765 if (yyerrstatus
== 3)
7767 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7769 /* return failure if at end of input */
7770 if (yychar
== YYEOF
)
7775 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7781 /* Else will try to reuse lookahead token
7782 after shifting the error token. */
7784 yyerrstatus
= 3; /* Each real token shifted decrements this */
7788 yyerrdefault
: /* current state does not do anything special for the error token. */
7791 /* This is wrong; only states that explicitly want error tokens
7792 should shift them. */
7793 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7794 if (yyn
) goto yydefault
;
7797 yyerrpop
: /* pop the current state because it cannot handle the error token */
7799 if (yyssp
== yyss
) YYABORT
;
7809 short *ssp1
= yyss
- 1;
7810 fprintf (stderr
, "Error: state stack now");
7811 while (ssp1
!= yyssp
)
7812 fprintf (stderr
, " %d", *++ssp1
);
7813 fprintf (stderr
, "\n");
7819 yyn
= yypact
[yystate
];
7824 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7843 fprintf(stderr
, "Shifting error token, ");
7854 #line 3660 "parse.y"
7859 debug_yytranslate (value
)
7862 return yytname
[YYTRANSLATE (value
)];