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] : 392)
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, 69, 72, 74, 77, 78,
263 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
264 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
265 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
266 180, 182, 186, 189, 192, 195, 199, 203, 206, 209,
267 212, 215, 218, 220, 222, 224, 225, 227, 230, 231,
268 233, 238, 242, 246, 247, 256, 262, 263, 273, 280,
269 281, 290, 296, 297, 307, 314, 317, 320, 322, 325,
270 327, 334, 339, 346, 351, 354, 356, 359, 362, 364,
271 367, 369, 372, 375, 380, 383, 387, 388, 389, 391,
272 395, 398, 402, 404, 409, 412, 417, 420, 425, 428,
273 430, 432, 434, 436, 438, 440, 442, 444, 446, 448,
274 450, 451, 458, 459, 466, 467, 473, 474, 480, 481,
275 489, 490, 498, 499, 506, 507, 514, 515, 516, 521,
276 526, 528, 533, 535, 537, 538, 540, 542, 546, 548,
277 550, 552, 554, 556, 558, 560, 562, 564, 566, 568,
278 572, 574, 578, 579, 581, 583, 584, 592, 594, 596,
279 600, 605, 609, 610, 614, 616, 620, 624, 628, 632,
280 634, 636, 638, 641, 644, 647, 650, 653, 656, 659,
281 664, 667, 672, 675, 679, 683, 688, 694, 701, 708,
282 716, 719, 724, 730, 733, 736, 738, 739, 744, 749,
283 753, 755, 759, 762, 766, 771, 773, 776, 782, 784,
284 788, 792, 796, 800, 804, 808, 812, 816, 820, 824,
285 828, 832, 836, 840, 844, 848, 852, 856, 860, 866,
286 870, 874, 876, 879, 883, 885, 887, 889, 891, 893,
287 894, 900, 906, 912, 918, 924, 926, 928, 930, 932,
288 935, 938, 942, 947, 952, 954, 956, 958, 962, 964,
289 966, 968, 970, 974, 978, 982, 983, 988, 993, 996,
290 1001, 1004, 1009, 1012, 1015, 1017, 1022, 1024, 1032, 1040,
291 1048, 1056, 1061, 1066, 1069, 1072, 1075, 1077, 1082, 1085,
292 1088, 1094, 1098, 1101, 1104, 1110, 1114, 1120, 1124, 1129,
293 1136, 1139, 1141, 1144, 1146, 1149, 1151, 1153, 1155, 1158,
294 1159, 1162, 1165, 1169, 1173, 1177, 1180, 1183, 1186, 1188,
295 1190, 1192, 1195, 1198, 1201, 1204, 1206, 1208, 1210, 1212,
296 1215, 1218, 1222, 1226, 1230, 1235, 1237, 1240, 1243, 1246,
297 1248, 1250, 1252, 1255, 1258, 1261, 1263, 1265, 1268, 1271,
298 1275, 1277, 1280, 1282, 1284, 1286, 1291, 1296, 1301, 1306,
299 1308, 1310, 1312, 1314, 1318, 1320, 1324, 1326, 1330, 1331,
300 1336, 1337, 1344, 1348, 1349, 1354, 1356, 1360, 1364, 1365,
301 1370, 1374, 1375, 1377, 1379, 1382, 1389, 1391, 1395, 1396,
302 1398, 1403, 1410, 1415, 1417, 1419, 1421, 1423, 1425, 1429,
303 1430, 1433, 1435, 1438, 1442, 1447, 1449, 1451, 1455, 1460,
304 1464, 1470, 1472, 1477, 1481, 1485, 1486, 1490, 1494, 1498,
305 1499, 1502, 1505, 1506, 1514, 1519, 1520, 1527, 1531, 1534,
306 1537, 1540, 1541, 1542, 1552, 1554, 1555, 1557, 1558, 1560,
307 1562, 1565, 1568, 1571, 1574, 1577, 1580, 1583, 1586, 1589,
308 1593, 1598, 1602, 1605, 1609, 1610, 1612, 1616, 1619, 1622,
309 1624, 1626, 1627, 1630, 1634, 1636, 1641, 1643, 1647, 1649,
310 1651, 1656, 1661, 1664, 1667, 1671, 1675, 1677, 1678, 1680,
311 1683, 1688, 1692, 1694, 1697, 1700, 1703, 1706, 1709, 1712,
312 1715, 1717, 1720, 1723, 1727, 1730, 1733, 1738, 1743, 1746,
313 1748, 1754, 1759, 1761, 1762, 1764, 1768, 1769, 1771, 1775,
314 1777, 1779, 1781, 1783, 1788, 1793, 1798, 1803, 1808, 1812,
315 1817, 1822, 1827, 1832, 1836, 1838, 1842, 1844, 1848, 1851,
316 1853, 1861, 1862, 1865, 1867, 1870, 1871, 1874, 1879, 1884,
317 1887, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1914, 1917,
318 1919, 1921, 1924, 1927, 1932, 1937, 1941, 1945, 1948, 1950,
319 1954, 1958, 1961, 1964, 1968, 1970, 1974, 1978, 1981, 1984,
320 1988, 1990, 1995, 1999, 2004, 2008, 2010, 2013, 2016, 2019,
321 2022, 2025, 2027, 2030, 2035, 2040, 2043, 2045, 2047, 2049,
322 2051, 2054, 2059, 2062, 2065, 2068, 2071, 2073, 2076, 2079,
323 2082, 2085, 2089, 2091, 2094, 2098, 2103, 2106, 2109, 2112,
324 2115, 2118, 2121, 2126, 2129, 2131, 2134, 2137, 2141, 2143,
325 2147, 2150, 2154, 2157, 2160, 2164, 2166, 2170, 2175, 2179,
326 2182, 2185, 2187, 2191, 2194, 2197, 2199, 2202, 2206, 2208,
327 2212, 2214, 2221, 2226, 2231, 2235, 2241, 2245, 2249, 2253,
328 2256, 2258, 2260, 2263, 2266, 2269, 2270, 2272, 2274, 2277,
329 2281, 2283, 2286, 2287, 2291, 2292, 2293, 2299, 2301, 2302,
330 2305, 2307, 2309, 2311, 2314, 2315, 2320, 2322, 2323, 2324,
331 2330, 2331, 2332, 2340, 2341, 2342, 2343, 2344, 2357, 2358,
332 2359, 2367, 2368, 2374, 2375, 2383, 2384, 2389, 2392, 2395,
333 2398, 2402, 2409, 2418, 2429, 2442, 2447, 2451, 2454, 2457,
334 2459, 2461, 2463, 2465, 2467, 2468, 2469, 2476, 2477, 2478,
335 2484, 2486, 2489, 2490, 2491, 2497, 2499, 2501, 2505, 2509,
336 2512, 2515, 2518, 2521, 2524, 2526, 2529, 2530, 2532, 2533,
337 2535, 2537, 2538, 2540, 2542, 2546, 2551, 2553, 2557, 2558,
338 2560, 2562, 2564, 2567, 2570, 2573, 2575, 2578, 2581, 2582,
339 2586, 2588, 2590, 2592, 2595, 2598, 2601, 2606, 2609, 2612,
340 2615, 2618, 2621, 2624, 2626, 2629, 2631, 2634, 2636, 2638,
341 2639, 2640, 2642, 2643, 2648, 2651, 2653, 2655, 2659, 2660,
342 2664, 2668, 2672, 2674, 2677, 2680, 2683, 2686, 2689, 2692,
343 2695, 2698, 2701, 2704, 2707, 2710, 2713, 2716, 2719, 2722,
344 2725, 2728, 2731, 2734, 2737, 2740, 2743, 2747, 2750, 2753,
345 2756, 2759, 2763, 2766, 2769, 2774, 2779, 2783
348 static const short yyrhs
[] = { -1,
349 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
350 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
351 122, 0, 146, 145, 0, 142, 0, 141, 0, 119,
352 93, 214, 108, 60, 0, 133, 58, 115, 109, 0,
353 133, 116, 146, 117, 145, 0, 133, 116, 142, 117,
354 0, 0, 44, 161, 58, 123, 115, 109, 0, 0,
355 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
356 0, 129, 0, 118, 122, 0, 0, 44, 161, 64,
357 126, 132, 60, 0, 46, 306, 0, 46, 320, 306,
358 0, 46, 320, 205, 0, 46, 131, 161, 0, 46,
359 320, 161, 0, 46, 320, 131, 161, 0, 0, 46,
360 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
361 54, 0, 205, 0, 306, 0, 320, 306, 0, 320,
362 205, 0, 98, 0, 133, 98, 0, 0, 48, 74,
363 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
364 136, 59, 140, 0, 161, 0, 0, 263, 137, 0,
365 45, 137, 0, 134, 263, 137, 0, 138, 0, 138,
366 64, 220, 0, 383, 0, 383, 64, 200, 0, 139,
367 0, 139, 64, 180, 0, 134, 122, 0, 134, 1,
368 0, 231, 60, 0, 224, 230, 60, 0, 221, 229,
369 60, 0, 224, 60, 0, 164, 60, 0, 221, 60,
370 0, 1, 60, 0, 1, 109, 0, 60, 0, 215,
371 0, 157, 0, 0, 156, 0, 156, 60, 0, 0,
372 107, 0, 152, 144, 143, 330, 0, 152, 144, 354,
373 0, 152, 144, 1, 0, 0, 311, 5, 93, 148,
374 374, 108, 293, 386, 0, 311, 5, 47, 293, 386,
375 0, 0, 320, 311, 5, 93, 149, 374, 108, 293,
376 386, 0, 320, 311, 5, 47, 293, 386, 0, 0,
377 311, 176, 93, 150, 374, 108, 293, 386, 0, 311,
378 176, 47, 293, 386, 0, 0, 320, 311, 176, 93,
379 151, 374, 108, 293, 386, 0, 320, 311, 176, 47,
380 293, 386, 0, 221, 218, 0, 224, 303, 0, 303,
381 0, 224, 147, 0, 147, 0, 5, 93, 374, 108,
382 293, 386, 0, 5, 47, 293, 386, 0, 176, 93,
383 374, 108, 293, 386, 0, 176, 47, 293, 386, 0,
384 224, 153, 0, 153, 0, 221, 218, 0, 224, 303,
385 0, 303, 0, 224, 147, 0, 147, 0, 25, 3,
386 0, 155, 248, 0, 155, 93, 192, 108, 0, 155,
387 47, 0, 62, 158, 159, 0, 0, 0, 160, 0,
388 159, 59, 160, 0, 159, 1, 0, 93, 192, 108,
389 0, 47, 0, 162, 93, 192, 108, 0, 162, 47,
390 0, 299, 93, 192, 108, 0, 299, 47, 0, 313,
391 93, 192, 108, 0, 313, 47, 0, 3, 0, 4,
392 0, 5, 0, 56, 0, 57, 0, 3, 0, 56,
393 0, 57, 0, 104, 0, 103, 0, 105, 0, 0,
394 48, 173, 227, 60, 165, 174, 0, 0, 48, 173,
395 221, 218, 166, 174, 0, 0, 48, 173, 303, 167,
396 174, 0, 0, 48, 173, 147, 168, 174, 0, 0,
397 7, 48, 173, 227, 60, 169, 174, 0, 0, 7,
398 48, 173, 221, 218, 170, 174, 0, 0, 7, 48,
399 173, 303, 171, 174, 0, 0, 7, 48, 173, 147,
400 172, 174, 0, 0, 0, 56, 74, 178, 177, 0,
401 4, 74, 178, 177, 0, 176, 0, 5, 74, 178,
402 177, 0, 75, 0, 77, 0, 0, 179, 0, 180,
403 0, 179, 59, 180, 0, 220, 0, 56, 0, 200,
404 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
405 0, 191, 0, 200, 0, 47, 0, 93, 182, 108,
406 0, 47, 0, 93, 186, 108, 0, 0, 186, 0,
407 1, 0, 0, 364, 218, 232, 241, 64, 187, 249,
408 0, 182, 0, 109, 0, 327, 325, 109, 0, 327,
409 325, 1, 109, 0, 327, 1, 109, 0, 0, 58,
410 190, 188, 0, 339, 0, 200, 59, 200, 0, 200,
411 59, 1, 0, 191, 59, 200, 0, 191, 59, 1,
412 0, 200, 0, 191, 0, 209, 0, 118, 199, 0,
413 80, 199, 0, 70, 199, 0, 88, 199, 0, 181,
414 199, 0, 67, 161, 0, 13, 193, 0, 13, 93,
415 220, 108, 0, 29, 193, 0, 29, 93, 220, 108,
416 0, 211, 292, 0, 211, 292, 197, 0, 211, 196,
417 292, 0, 211, 196, 292, 197, 0, 211, 93, 195,
418 220, 194, 0, 211, 93, 195, 220, 194, 197, 0,
419 211, 196, 93, 195, 220, 194, 0, 211, 196, 93,
420 195, 220, 194, 197, 0, 212, 199, 0, 212, 94,
421 111, 199, 0, 212, 94, 182, 111, 199, 0, 34,
422 199, 0, 35, 199, 0, 108, 0, 0, 93, 195,
423 192, 108, 0, 58, 195, 192, 109, 0, 93, 192,
424 108, 0, 47, 0, 93, 227, 108, 0, 64, 249,
425 0, 93, 220, 108, 0, 198, 93, 220, 108, 0,
426 193, 0, 198, 193, 0, 198, 58, 250, 261, 109,
427 0, 199, 0, 200, 83, 200, 0, 200, 84, 200,
428 0, 200, 78, 200, 0, 200, 79, 200, 0, 200,
429 80, 200, 0, 200, 81, 200, 0, 200, 82, 200,
430 0, 200, 76, 200, 0, 200, 77, 200, 0, 200,
431 73, 200, 0, 200, 74, 200, 0, 200, 75, 200,
432 0, 200, 72, 200, 0, 200, 71, 200, 0, 200,
433 70, 200, 0, 200, 68, 200, 0, 200, 69, 200,
434 0, 200, 67, 200, 0, 200, 66, 200, 0, 200,
435 65, 369, 62, 200, 0, 200, 64, 200, 0, 200,
436 63, 200, 0, 61, 0, 61, 200, 0, 88, 384,
437 161, 0, 203, 0, 391, 0, 3, 0, 56, 0,
438 57, 0, 0, 6, 74, 202, 178, 177, 0, 391,
439 74, 202, 178, 177, 0, 48, 161, 74, 178, 177,
440 0, 48, 6, 74, 178, 177, 0, 48, 391, 74,
441 178, 177, 0, 201, 0, 4, 0, 5, 0, 201,
442 0, 80, 206, 0, 70, 206, 0, 93, 206, 108,
443 0, 3, 74, 178, 177, 0, 57, 74, 179, 177,
444 0, 305, 0, 201, 0, 207, 0, 93, 206, 108,
445 0, 201, 0, 10, 0, 213, 0, 214, 0, 93,
446 182, 108, 0, 93, 206, 108, 0, 93, 1, 108,
447 0, 0, 93, 210, 331, 108, 0, 201, 93, 192,
448 108, 0, 201, 47, 0, 209, 93, 192, 108, 0,
449 209, 47, 0, 209, 94, 182, 111, 0, 209, 86,
450 0, 209, 87, 0, 40, 0, 9, 93, 192, 108,
451 0, 309, 0, 50, 74, 220, 75, 93, 182, 108,
452 0, 51, 74, 220, 75, 93, 182, 108, 0, 52,
453 74, 220, 75, 93, 182, 108, 0, 53, 74, 220,
454 75, 93, 182, 108, 0, 49, 93, 182, 108, 0,
455 49, 93, 220, 108, 0, 320, 3, 0, 320, 203,
456 0, 320, 391, 0, 308, 0, 308, 93, 192, 108,
457 0, 308, 47, 0, 216, 204, 0, 216, 204, 93,
458 192, 108, 0, 216, 204, 47, 0, 216, 205, 0,
459 216, 308, 0, 216, 205, 93, 192, 108, 0, 216,
460 205, 47, 0, 216, 308, 93, 192, 108, 0, 216,
461 308, 47, 0, 216, 88, 8, 47, 0, 216, 8,
462 54, 88, 8, 47, 0, 216, 1, 0, 39, 0,
463 320, 39, 0, 38, 0, 320, 212, 0, 42, 0,
464 43, 0, 11, 0, 214, 11, 0, 0, 209, 92,
465 0, 209, 91, 0, 227, 229, 60, 0, 221, 229,
466 60, 0, 224, 230, 60, 0, 221, 60, 0, 224,
467 60, 0, 118, 217, 0, 298, 0, 303, 0, 47,
468 0, 219, 47, 0, 225, 323, 0, 294, 323, 0,
469 227, 323, 0, 225, 0, 294, 0, 225, 0, 222,
470 0, 224, 227, 0, 227, 223, 0, 227, 226, 223,
471 0, 224, 227, 223, 0, 224, 227, 226, 0, 224,
472 227, 226, 223, 0, 7, 0, 223, 228, 0, 223,
473 7, 0, 223, 242, 0, 242, 0, 294, 0, 7,
474 0, 224, 9, 0, 224, 7, 0, 224, 242, 0,
475 242, 0, 227, 0, 294, 227, 0, 227, 226, 0,
476 294, 227, 226, 0, 228, 0, 226, 228, 0, 256,
477 0, 8, 0, 300, 0, 28, 93, 182, 108, 0,
478 28, 93, 220, 108, 0, 30, 93, 182, 108, 0,
479 30, 93, 220, 108, 0, 8, 0, 9, 0, 256,
480 0, 237, 0, 229, 59, 233, 0, 238, 0, 230,
481 59, 233, 0, 239, 0, 231, 59, 233, 0, 0,
482 119, 93, 214, 108, 0, 0, 218, 232, 241, 64,
483 234, 249, 0, 218, 232, 241, 0, 0, 241, 64,
484 236, 249, 0, 241, 0, 218, 232, 235, 0, 303,
485 232, 235, 0, 0, 303, 232, 240, 235, 0, 147,
486 232, 241, 0, 0, 242, 0, 243, 0, 242, 243,
487 0, 31, 93, 93, 244, 108, 108, 0, 245, 0,
488 244, 59, 245, 0, 0, 246, 0, 246, 93, 3,
489 108, 0, 246, 93, 3, 59, 192, 108, 0, 246,
490 93, 192, 108, 0, 161, 0, 7, 0, 8, 0,
491 9, 0, 161, 0, 247, 59, 161, 0, 0, 64,
492 249, 0, 200, 0, 58, 109, 0, 58, 250, 109,
493 0, 58, 250, 59, 109, 0, 1, 0, 249, 0,
494 250, 59, 249, 0, 94, 200, 111, 249, 0, 161,
495 62, 249, 0, 250, 59, 161, 62, 249, 0, 97,
496 0, 251, 144, 143, 330, 0, 251, 144, 354, 0,
497 251, 144, 1, 0, 0, 253, 252, 145, 0, 102,
498 200, 107, 0, 102, 1, 107, 0, 0, 255, 254,
499 0, 255, 1, 0, 0, 14, 161, 58, 257, 290,
500 262, 109, 0, 14, 161, 58, 109, 0, 0, 14,
501 58, 258, 290, 262, 109, 0, 14, 58, 109, 0,
502 14, 161, 0, 14, 318, 0, 45, 313, 0, 0,
503 0, 270, 276, 278, 109, 241, 259, 255, 260, 253,
504 0, 270, 0, 0, 59, 0, 0, 59, 0, 36,
505 0, 263, 7, 0, 263, 8, 0, 263, 9, 0,
506 263, 36, 0, 263, 242, 0, 263, 161, 0, 263,
507 163, 0, 264, 58, 0, 264, 62, 0, 263, 311,
508 161, 0, 263, 320, 311, 161, 0, 263, 320, 161,
509 0, 263, 175, 0, 263, 311, 175, 0, 0, 264,
510 0, 265, 267, 271, 0, 266, 271, 0, 263, 58,
511 0, 269, 0, 268, 0, 0, 62, 384, 0, 62,
512 384, 272, 0, 273, 0, 272, 59, 384, 273, 0,
513 274, 0, 275, 384, 274, 0, 313, 0, 299, 0,
514 30, 93, 182, 108, 0, 30, 93, 220, 108, 0,
515 37, 384, 0, 7, 384, 0, 275, 37, 384, 0,
516 275, 7, 384, 0, 58, 0, 0, 277, 0, 277,
517 279, 0, 278, 37, 62, 279, 0, 278, 37, 62,
518 0, 280, 0, 279, 280, 0, 281, 60, 0, 281,
519 109, 0, 154, 62, 0, 154, 95, 0, 154, 25,
520 0, 154, 58, 0, 60, 0, 118, 280, 0, 134,
521 280, 0, 134, 221, 60, 0, 221, 282, 0, 224,
522 283, 0, 303, 232, 241, 248, 0, 147, 232, 241,
523 248, 0, 62, 200, 0, 1, 0, 224, 153, 232,
524 241, 248, 0, 153, 232, 241, 248, 0, 127, 0,
525 0, 284, 0, 282, 59, 285, 0, 0, 287, 0,
526 283, 59, 289, 0, 286, 0, 287, 0, 288, 0,
527 289, 0, 298, 232, 241, 248, 0, 4, 62, 200,
528 241, 0, 303, 232, 241, 248, 0, 147, 232, 241,
529 248, 0, 3, 62, 200, 241, 0, 62, 200, 241,
530 0, 298, 232, 241, 248, 0, 4, 62, 200, 241,
531 0, 303, 232, 241, 248, 0, 3, 62, 200, 241,
532 0, 62, 200, 241, 0, 291, 0, 290, 59, 291,
533 0, 161, 0, 161, 64, 200, 0, 364, 321, 0,
534 364, 0, 93, 195, 220, 194, 94, 182, 111, 0,
535 0, 293, 9, 0, 9, 0, 294, 9, 0, 0,
536 295, 182, 0, 295, 93, 192, 108, 0, 295, 93,
537 374, 108, 0, 295, 47, 0, 295, 93, 1, 108,
538 0, 80, 294, 298, 0, 70, 294, 298, 0, 80,
539 298, 0, 70, 298, 0, 319, 293, 298, 0, 302,
540 0, 310, 0, 320, 310, 0, 299, 0, 301, 0,
541 320, 301, 0, 311, 310, 0, 302, 297, 293, 386,
542 0, 302, 94, 296, 111, 0, 302, 94, 111, 0,
543 93, 298, 108, 0, 311, 310, 0, 310, 0, 80,
544 294, 303, 0, 70, 294, 303, 0, 80, 303, 0,
545 70, 303, 0, 319, 293, 303, 0, 208, 0, 80,
546 294, 303, 0, 70, 294, 303, 0, 80, 304, 0,
547 70, 304, 0, 319, 293, 303, 0, 305, 0, 208,
548 297, 293, 386, 0, 93, 304, 108, 0, 208, 94,
549 296, 111, 0, 208, 94, 111, 0, 307, 0, 311,
550 207, 0, 311, 205, 0, 311, 204, 0, 311, 201,
551 0, 311, 204, 0, 307, 0, 320, 307, 0, 227,
552 93, 192, 108, 0, 227, 93, 206, 108, 0, 227,
553 219, 0, 4, 0, 5, 0, 175, 0, 312, 0,
554 311, 312, 0, 311, 48, 317, 54, 0, 4, 54,
555 0, 5, 54, 0, 57, 54, 0, 175, 54, 0,
556 314, 0, 320, 314, 0, 315, 161, 0, 315, 175,
557 0, 315, 317, 0, 315, 48, 317, 0, 316, 0,
558 315, 316, 0, 315, 317, 54, 0, 315, 48, 317,
559 54, 0, 4, 54, 0, 5, 54, 0, 175, 54,
560 0, 56, 54, 0, 3, 54, 0, 57, 54, 0,
561 161, 74, 178, 177, 0, 320, 310, 0, 301, 0,
562 320, 301, 0, 311, 80, 0, 320, 311, 80, 0,
563 54, 0, 80, 293, 321, 0, 80, 293, 0, 70,
564 293, 321, 0, 70, 293, 0, 319, 293, 0, 319,
565 293, 321, 0, 322, 0, 94, 182, 111, 0, 322,
566 94, 296, 111, 0, 80, 294, 323, 0, 80, 323,
567 0, 80, 294, 0, 80, 0, 70, 294, 323, 0,
568 70, 323, 0, 70, 294, 0, 70, 0, 319, 293,
569 0, 319, 293, 323, 0, 324, 0, 93, 323, 108,
570 0, 90, 0, 324, 93, 374, 108, 293, 386, 0,
571 324, 47, 293, 386, 0, 324, 94, 296, 111, 0,
572 324, 94, 111, 0, 93, 375, 108, 293, 386, 0,
573 198, 293, 386, 0, 219, 293, 386, 0, 94, 296,
574 111, 0, 94, 111, 0, 338, 0, 326, 0, 325,
575 338, 0, 325, 326, 0, 1, 60, 0, 0, 328,
576 0, 329, 0, 328, 329, 0, 33, 247, 60, 0,
577 331, 0, 1, 331, 0, 0, 58, 332, 188, 0,
578 0, 0, 15, 334, 184, 335, 336, 0, 331, 0,
579 0, 337, 339, 0, 331, 0, 339, 0, 217, 0,
580 182, 60, 0, 0, 333, 16, 340, 336, 0, 333,
581 0, 0, 0, 17, 341, 184, 342, 189, 0, 0,
582 0, 18, 343, 336, 17, 344, 183, 60, 0, 0,
583 0, 0, 0, 19, 345, 93, 367, 346, 185, 60,
584 347, 369, 108, 348, 189, 0, 0, 0, 20, 349,
585 93, 186, 108, 350, 336, 0, 0, 21, 200, 62,
586 351, 338, 0, 0, 21, 200, 12, 200, 62, 352,
587 338, 0, 0, 22, 62, 353, 338, 0, 23, 60,
588 0, 24, 60, 0, 25, 60, 0, 25, 182, 60,
589 0, 119, 368, 93, 214, 108, 60, 0, 119, 368,
590 93, 214, 62, 370, 108, 60, 0, 119, 368, 93,
591 214, 62, 370, 62, 370, 108, 60, 0, 119, 368,
592 93, 214, 62, 370, 62, 370, 62, 373, 108, 60,
593 0, 26, 80, 182, 60, 0, 26, 161, 60, 0,
594 366, 338, 0, 366, 109, 0, 60, 0, 357, 0,
595 129, 0, 128, 0, 125, 0, 0, 0, 95, 355,
596 143, 331, 356, 360, 0, 0, 0, 95, 358, 331,
597 359, 360, 0, 361, 0, 360, 361, 0, 0, 0,
598 96, 362, 365, 363, 331, 0, 225, 0, 294, 0,
599 93, 12, 108, 0, 93, 383, 108, 0, 3, 62,
600 0, 56, 62, 0, 4, 62, 0, 5, 62, 0,
601 369, 60, 0, 217, 0, 58, 188, 0, 0, 9,
602 0, 0, 182, 0, 1, 0, 0, 371, 0, 372,
603 0, 371, 59, 372, 0, 11, 93, 182, 108, 0,
604 11, 0, 373, 59, 11, 0, 0, 375, 0, 220,
605 0, 379, 0, 380, 12, 0, 379, 12, 0, 220,
606 12, 0, 12, 0, 379, 62, 0, 220, 62, 0,
607 0, 64, 377, 378, 0, 101, 0, 249, 0, 381,
608 0, 383, 376, 0, 380, 382, 0, 380, 385, 0,
609 380, 385, 64, 249, 0, 379, 59, 0, 220, 59,
610 0, 222, 218, 0, 225, 218, 0, 227, 218, 0,
611 222, 323, 0, 222, 0, 224, 303, 0, 383, 0,
612 383, 376, 0, 381, 0, 220, 0, 0, 0, 303,
613 0, 0, 61, 93, 388, 108, 0, 61, 47, 0,
614 220, 0, 387, 0, 388, 59, 387, 0, 0, 80,
615 293, 389, 0, 70, 293, 389, 0, 319, 293, 389,
616 0, 41, 0, 390, 80, 0, 390, 81, 0, 390,
617 82, 0, 390, 78, 0, 390, 79, 0, 390, 70,
618 0, 390, 68, 0, 390, 69, 0, 390, 88, 0,
619 390, 59, 0, 390, 73, 0, 390, 74, 0, 390,
620 75, 0, 390, 72, 0, 390, 63, 0, 390, 64,
621 0, 390, 76, 0, 390, 77, 0, 390, 86, 0,
622 390, 87, 0, 390, 67, 0, 390, 66, 0, 390,
623 110, 0, 390, 65, 62, 0, 390, 71, 0, 390,
624 91, 0, 390, 83, 0, 390, 47, 0, 390, 94,
625 111, 0, 390, 39, 0, 390, 38, 0, 390, 39,
626 94, 111, 0, 390, 38, 94, 111, 0, 390, 364,
633 static const short yyrline
[] = { 0,
634 331, 333, 341, 344, 345, 349, 351, 354, 359, 363,
635 369, 373, 376, 380, 383, 385, 387, 390, 392, 395,
636 398, 400, 402, 404, 406, 407, 409, 410, 414, 417,
637 426, 429, 431, 435, 438, 440, 444, 447, 459, 466,
638 474, 476, 477, 479, 483, 486, 492, 495, 497, 502,
639 505, 509, 512, 515, 518, 522, 527, 537, 539, 541,
640 543, 545, 558, 567, 577, 579, 581, 585, 587, 588,
641 595, 596, 597, 600, 603, 607, 609, 610, 613, 615,
642 618, 621, 623, 627, 630, 632, 636, 638, 640, 644,
643 646, 648, 652, 654, 656, 662, 666, 669, 672, 675,
644 680, 683, 685, 687, 693, 703, 705, 708, 711, 713,
645 716, 720, 729, 732, 734, 738, 751, 771, 774, 776,
646 777, 780, 787, 793, 795, 797, 799, 801, 804, 809,
647 811, 812, 813, 814, 817, 819, 820, 823, 825, 826,
648 829, 834, 834, 838, 838, 841, 841, 844, 844, 848,
649 848, 853, 853, 856, 856, 859, 861, 864, 871, 878,
650 884, 887, 896, 898, 906, 909, 912, 915, 919, 922,
651 924, 927, 930, 932, 934, 936, 940, 943, 946, 951,
652 955, 960, 964, 967, 968, 972, 991, 998, 1001, 1003,
653 1004, 1005, 1008, 1012, 1013, 1017, 1021, 1024, 1026, 1030,
654 1033, 1036, 1040, 1043, 1045, 1047, 1049, 1052, 1056, 1058,
655 1060, 1062, 1068, 1071, 1074, 1077, 1089, 1094, 1098, 1102,
656 1107, 1109, 1113, 1117, 1119, 1128, 1132, 1135, 1138, 1143,
657 1146, 1148, 1156, 1169, 1174, 1180, 1182, 1184, 1197, 1200,
658 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220,
659 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240,
660 1244, 1246, 1248, 1265, 1268, 1269, 1270, 1271, 1272, 1275,
661 1278, 1281, 1285, 1288, 1290, 1295, 1297, 1298, 1301, 1303,
662 1305, 1307, 1311, 1314, 1318, 1320, 1321, 1322, 1326, 1334,
663 1335, 1336, 1344, 1346, 1349, 1351, 1361, 1366, 1368, 1370,
664 1372, 1374, 1376, 1378, 1381, 1383, 1427, 1428, 1432, 1436,
665 1440, 1444, 1446, 1450, 1452, 1454, 1462, 1464, 1466, 1468,
666 1472, 1474, 1476, 1478, 1483, 1485, 1487, 1489, 1492, 1494,
667 1496, 1540, 1543, 1547, 1550, 1554, 1557, 1562, 1564, 1568,
668 1581, 1584, 1591, 1598, 1603, 1605, 1610, 1612, 1619, 1621,
669 1625, 1629, 1635, 1639, 1642, 1645, 1648, 1658, 1660, 1663,
670 1667, 1670, 1673, 1676, 1679, 1685, 1691, 1693, 1698, 1700,
671 1709, 1712, 1714, 1717, 1723, 1725, 1735, 1739, 1742, 1745,
672 1750, 1753, 1761, 1763, 1765, 1767, 1770, 1773, 1788, 1807,
673 1810, 1812, 1815, 1817, 1820, 1822, 1825, 1827, 1830, 1833,
674 1837, 1843, 1844, 1856, 1863, 1866, 1872, 1876, 1881, 1887,
675 1888, 1896, 1899, 1903, 1906, 1910, 1915, 1918, 1922, 1925,
676 1927, 1929, 1931, 1938, 1940, 1941, 1942, 1946, 1949, 1953,
677 1956, 1962, 1964, 1967, 1970, 1973, 1979, 1982, 1985, 1987,
678 1989, 1993, 1999, 2007, 2009, 2013, 2015, 2020, 2023, 2026,
679 2028, 2030, 2034, 2038, 2043, 2047, 2050, 2055, 2059, 2062,
680 2065, 2069, 2081, 2083, 2086, 2106, 2108, 2111, 2113, 2118,
681 2120, 2122, 2124, 2126, 2128, 2132, 2137, 2140, 2142, 2146,
682 2152, 2157, 2162, 2164, 2168, 2173, 2176, 2183, 2211, 2217,
683 2219, 2222, 2225, 2227, 2231, 2233, 2237, 2263, 2292, 2295,
684 2296, 2317, 2340, 2342, 2346, 2357, 2371, 2376, 2383, 2386,
685 2394, 2405, 2414, 2418, 2433, 2436, 2441, 2443, 2445, 2447,
686 2449, 2451, 2454, 2456, 2460, 2466, 2468, 2471, 2474, 2476,
687 2487, 2492, 2495, 2500, 2503, 2504, 2515, 2518, 2519, 2530,
688 2532, 2535, 2537, 2540, 2547, 2555, 2562, 2568, 2574, 2582,
689 2586, 2591, 2595, 2598, 2607, 2609, 2613, 2616, 2621, 2625,
690 2631, 2642, 2645, 2649, 2653, 2661, 2666, 2672, 2675, 2677,
691 2679, 2685, 2688, 2690, 2692, 2694, 2698, 2701, 2719, 2729,
692 2731, 2732, 2736, 2741, 2744, 2746, 2748, 2750, 2754, 2760,
693 2763, 2765, 2767, 2769, 2773, 2776, 2779, 2781, 2783, 2785,
694 2789, 2792, 2795, 2797, 2799, 2801, 2813, 2824, 2828, 2833,
695 2837, 2842, 2844, 2848, 2851, 2853, 2857, 2859, 2860, 2863,
696 2865, 2867, 2873, 2888, 2894, 2900, 2914, 2916, 2920, 2934,
697 2936, 2938, 2942, 2948, 2961, 2963, 2967, 2980, 2986, 2988,
698 2989, 2990, 2998, 3003, 3012, 3013, 3017, 3020, 3026, 3032,
699 3035, 3037, 3039, 3041, 3045, 3049, 3053, 3056, 3061, 3064,
700 3066, 3068, 3070, 3072, 3074, 3076, 3078, 3082, 3086, 3090,
701 3094, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109, 3111,
702 3119, 3121, 3122, 3123, 3126, 3132, 3134, 3139, 3141, 3144,
703 3158, 3161, 3164, 3168, 3171, 3178, 3180, 3183, 3185, 3187,
704 3190, 3193, 3196, 3199, 3201, 3204, 3208, 3210, 3216, 3218,
705 3219, 3221, 3226, 3228, 3230, 3232, 3234, 3237, 3238, 3240,
706 3243, 3244, 3247, 3247, 3250, 3250, 3253, 3253, 3255, 3257,
707 3259, 3261, 3267, 3273, 3276, 3279, 3285, 3287, 3289, 3293,
708 3295, 3296, 3297, 3299, 3302, 3309, 3314, 3322, 3326, 3328,
709 3331, 3333, 3336, 3340, 3342, 3345, 3347, 3350, 3367, 3373,
710 3381, 3383, 3385, 3389, 3392, 3393, 3401, 3405, 3409, 3412,
711 3413, 3419, 3422, 3425, 3427, 3431, 3436, 3439, 3449, 3454,
712 3455, 3462, 3465, 3468, 3470, 3473, 3475, 3485, 3499, 3503,
713 3506, 3508, 3512, 3516, 3519, 3522, 3524, 3528, 3530, 3537,
714 3544, 3547, 3550, 3554, 3558, 3564, 3568, 3573, 3575, 3578,
715 3583, 3589, 3600, 3603, 3605, 3609, 3614, 3616, 3623, 3626,
716 3628, 3630, 3636, 3641, 3644, 3646, 3648, 3650, 3652, 3654,
717 3656, 3658, 3660, 3662, 3664, 3666, 3668, 3670, 3672, 3674,
718 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692, 3694,
719 3696, 3698, 3700, 3702, 3704, 3706, 3709, 3711
724 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
726 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
727 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
728 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
729 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
730 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
731 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
732 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
733 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
734 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
735 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
736 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
737 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
738 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
739 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
740 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
741 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
742 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
743 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
744 "template_type_parm","template_template_parm","template_parm","template_def",
745 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
746 "constructor_declarator","@8","@9","@10","@11","fn.def1","component_constructor_declarator",
747 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
748 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
749 "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation",
750 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
751 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
752 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
753 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
754 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
755 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
756 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
757 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
758 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
759 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
760 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
761 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
762 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
763 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
764 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
765 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
766 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
767 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
768 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
769 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
770 "component_decl_1","components","notype_components","component_declarator0",
771 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
772 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
773 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
774 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
775 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
776 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
777 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
778 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
779 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
780 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
781 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
782 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
783 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
784 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
785 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
786 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
787 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
788 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
789 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
793 static const short yyr1
[] = { 0,
794 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
795 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
796 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
797 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
798 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
799 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
800 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
801 142, 142, 142, 143, 143, 144, 144, 144, 145, 145,
802 146, 146, 146, 148, 147, 147, 149, 147, 147, 150,
803 147, 147, 151, 147, 147, 152, 152, 152, 152, 152,
804 153, 153, 153, 153, 154, 154, 154, 154, 154, 154,
805 154, 155, 156, 156, 156, 157, 158, 159, 159, 159,
806 159, 160, 160, 160, 160, 160, 160, 160, 160, 161,
807 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
808 165, 164, 166, 164, 167, 164, 168, 164, 169, 164,
809 170, 164, 171, 164, 172, 164, 173, 174, 175, 175,
810 175, 176, 177, 177, 178, 178, 179, 179, 180, 180,
811 180, 181, 181, 181, 181, 181, 182, 182, 183, 183,
812 184, 184, 185, 185, 185, 187, 186, 186, 188, 188,
813 188, 188, 190, 189, 189, 191, 191, 191, 191, 192,
814 192, 193, 193, 193, 193, 193, 193, 193, 193, 193,
815 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
816 193, 193, 193, 193, 193, 194, 195, 196, 196, 197,
817 197, 197, 197, 198, 198, 199, 199, 199, 200, 200,
818 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
819 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
820 200, 200, 200, 201, 201, 201, 201, 201, 201, 202,
821 203, 203, 204, 204, 204, 205, 205, 205, 206, 206,
822 206, 206, 207, 207, 208, 208, 208, 208, 209, 209,
823 209, 209, 209, 209, 209, 210, 209, 209, 209, 209,
824 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
825 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
826 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
827 209, 211, 211, 212, 212, 213, 213, 214, 214, 215,
828 216, 216, 217, 217, 217, 217, 217, 217, 218, 218,
829 219, 219, 220, 220, 220, 220, 220, 221, 221, 222,
830 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
831 224, 224, 224, 224, 224, 224, 225, 225, 225, 225,
832 226, 226, 227, 227, 227, 227, 227, 227, 227, 228,
833 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
834 234, 233, 233, 236, 235, 235, 237, 238, 240, 239,
835 239, 241, 241, 242, 242, 243, 244, 244, 245, 245,
836 245, 245, 245, 246, 246, 246, 246, 247, 247, 248,
837 248, 249, 249, 249, 249, 249, 250, 250, 250, 250,
838 250, 251, 252, 252, 252, 253, 253, 254, 254, 255,
839 255, 255, 257, 256, 256, 258, 256, 256, 256, 256,
840 256, 259, 260, 256, 256, 261, 261, 262, 262, 263,
841 263, 263, 263, 263, 263, 264, 265, 265, 265, 266,
842 266, 266, 266, 266, 267, 268, 268, 268, 269, 270,
843 270, 271, 271, 271, 272, 272, 273, 273, 274, 274,
844 274, 274, 275, 275, 275, 275, 276, 277, 278, 278,
845 278, 278, 279, 279, 280, 280, 280, 280, 280, 280,
846 280, 280, 280, 280, 281, 281, 281, 281, 281, 281,
847 281, 281, 281, 282, 282, 282, 283, 283, 283, 284,
848 284, 285, 285, 286, 286, 287, 287, 287, 287, 288,
849 288, 289, 289, 289, 290, 290, 291, 291, 292, 292,
850 292, 293, 293, 294, 294, 295, 296, 297, 297, 297,
851 297, 298, 298, 298, 298, 298, 298, 299, 299, 300,
852 300, 300, 301, 302, 302, 302, 302, 302, 302, 303,
853 303, 303, 303, 303, 303, 304, 304, 304, 304, 304,
854 304, 305, 305, 305, 305, 305, 305, 306, 306, 307,
855 307, 308, 308, 309, 309, 309, 310, 310, 310, 311,
856 311, 311, 312, 312, 312, 312, 313, 313, 314, 314,
857 314, 314, 315, 315, 315, 315, 316, 316, 316, 316,
858 316, 316, 317, 318, 318, 318, 319, 319, 320, 321,
859 321, 321, 321, 321, 321, 321, 322, 322, 323, 323,
860 323, 323, 323, 323, 323, 323, 323, 323, 323, 324,
861 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
862 325, 325, 325, 325, 326, 327, 327, 328, 328, 329,
863 330, 330, 332, 331, 334, 335, 333, 336, 337, 336,
864 338, 338, 339, 339, 340, 339, 339, 341, 342, 339,
865 343, 344, 339, 345, 346, 347, 348, 339, 349, 350,
866 339, 351, 339, 352, 339, 353, 339, 339, 339, 339,
867 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
868 339, 339, 339, 339, 355, 356, 354, 358, 359, 357,
869 360, 360, 362, 363, 361, 364, 364, 365, 365, 366,
870 366, 366, 366, 367, 367, 367, 368, 368, 369, 369,
871 369, 370, 370, 371, 371, 372, 373, 373, 374, 374,
872 374, 375, 375, 375, 375, 375, 375, 375, 377, 376,
873 378, 378, 379, 379, 379, 379, 379, 380, 380, 381,
874 381, 381, 381, 381, 381, 382, 382, 383, 383, 384,
875 385, 385, 386, 386, 386, 387, 388, 388, 389, 389,
876 389, 389, 390, 391, 391, 391, 391, 391, 391, 391,
877 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
878 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
879 391, 391, 391, 391, 391, 391, 391, 391
882 static const short yyr2
[] = { 0,
883 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
884 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
885 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
886 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
887 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
888 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
889 1, 3, 2, 2, 2, 3, 3, 2, 2, 2,
890 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
891 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
892 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
893 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
894 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
895 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
896 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
897 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
898 0, 7, 0, 6, 0, 6, 0, 0, 4, 4,
899 1, 4, 1, 1, 0, 1, 1, 3, 1, 1,
900 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
901 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
902 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
903 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
904 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
905 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
906 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
907 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
908 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
909 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
910 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
911 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
912 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
913 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
914 7, 4, 4, 2, 2, 2, 1, 4, 2, 2,
915 5, 3, 2, 2, 5, 3, 5, 3, 4, 6,
916 2, 1, 2, 1, 2, 1, 1, 1, 2, 0,
917 2, 2, 3, 3, 3, 2, 2, 2, 1, 1,
918 1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
919 2, 3, 3, 3, 4, 1, 2, 2, 2, 1,
920 1, 1, 2, 2, 2, 1, 1, 2, 2, 3,
921 1, 2, 1, 1, 1, 4, 4, 4, 4, 1,
922 1, 1, 1, 3, 1, 3, 1, 3, 0, 4,
923 0, 6, 3, 0, 4, 1, 3, 3, 0, 4,
924 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
925 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
926 2, 1, 2, 3, 4, 1, 1, 3, 4, 3,
927 5, 1, 4, 3, 3, 0, 3, 3, 3, 0,
928 2, 2, 0, 7, 4, 0, 6, 3, 2, 2,
929 2, 0, 0, 9, 1, 0, 1, 0, 1, 1,
930 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
931 4, 3, 2, 3, 0, 1, 3, 2, 2, 1,
932 1, 0, 2, 3, 1, 4, 1, 3, 1, 1,
933 4, 4, 2, 2, 3, 3, 1, 0, 1, 2,
934 4, 3, 1, 2, 2, 2, 2, 2, 2, 2,
935 1, 2, 2, 3, 2, 2, 4, 4, 2, 1,
936 5, 4, 1, 0, 1, 3, 0, 1, 3, 1,
937 1, 1, 1, 4, 4, 4, 4, 4, 3, 4,
938 4, 4, 4, 3, 1, 3, 1, 3, 2, 1,
939 7, 0, 2, 1, 2, 0, 2, 4, 4, 2,
940 4, 3, 3, 2, 2, 3, 1, 1, 2, 1,
941 1, 2, 2, 4, 4, 3, 3, 2, 1, 3,
942 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
943 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
944 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
945 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
946 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
947 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
948 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
949 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
950 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
951 1, 1, 2, 2, 2, 0, 1, 1, 2, 3,
952 1, 2, 0, 3, 0, 0, 5, 1, 0, 2,
953 1, 1, 1, 2, 0, 4, 1, 0, 0, 5,
954 0, 0, 7, 0, 0, 0, 0, 12, 0, 0,
955 7, 0, 5, 0, 7, 0, 4, 2, 2, 2,
956 3, 6, 8, 10, 12, 4, 3, 2, 2, 1,
957 1, 1, 1, 1, 0, 0, 6, 0, 0, 5,
958 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
959 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
960 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
961 1, 1, 2, 2, 2, 1, 2, 2, 0, 3,
962 1, 1, 1, 2, 2, 2, 4, 2, 2, 2,
963 2, 2, 2, 1, 2, 1, 2, 1, 1, 0,
964 0, 1, 0, 4, 2, 1, 1, 3, 0, 3,
965 3, 3, 1, 2, 2, 2, 2, 2, 2, 2,
966 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
967 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
968 2, 3, 2, 2, 4, 4, 3, 2
971 static const short yydefact
[] = { 3,
972 12, 12, 5, 0, 4, 0, 267, 617, 618, 0,
973 372, 384, 564, 0, 11, 0, 0, 0, 10, 470,
974 823, 0, 0, 0, 157, 649, 268, 269, 73, 0,
975 0, 810, 0, 45, 0, 0, 13, 25, 0, 27,
976 8, 0, 16, 15, 79, 100, 76, 0, 619, 161,
977 286, 265, 287, 595, 0, 359, 0, 358, 377, 0,
978 397, 376, 414, 383, 0, 486, 485, 492, 491, 490,
979 465, 371, 580, 385, 581, 98, 285, 606, 578, 0,
980 620, 562, 0, 0, 266, 71, 72, 165, 623, 165,
981 624, 165, 270, 157, 130, 131, 132, 133, 134, 456,
982 459, 0, 645, 0, 460, 0, 0, 0, 0, 131,
983 132, 133, 134, 23, 0, 0, 0, 0, 0, 0,
984 0, 461, 627, 0, 633, 0, 0, 0, 37, 0,
985 0, 31, 0, 0, 47, 0, 165, 625, 0, 0,
986 593, 0, 0, 0, 592, 0, 0, 0, 0, 286,
987 0, 566, 0, 285, 562, 28, 0, 26, 3, 46,
988 0, 64, 63, 80, 14, 0, 412, 0, 0, 430,
989 77, 69, 626, 566, 0, 562, 70, 0, 0, 0,
990 96, 0, 393, 349, 577, 350, 589, 0, 562, 374,
991 373, 68, 99, 360, 0, 395, 375, 97, 366, 390,
992 391, 361, 379, 381, 370, 392, 0, 65, 415, 471,
993 472, 473, 474, 489, 139, 138, 140, 476, 477, 483,
994 475, 0, 0, 478, 479, 492, 810, 488, 507, 508,
995 565, 378, 0, 409, 618, 0, 647, 161, 610, 611,
996 607, 583, 621, 0, 582, 579, 0, 858, 854, 853,
997 851, 833, 838, 839, 0, 845, 844, 830, 831, 829,
998 848, 837, 834, 835, 836, 840, 841, 827, 828, 824,
999 825, 826, 850, 842, 843, 832, 849, 0, 846, 756,
1000 377, 757, 819, 270, 267, 564, 290, 338, 0, 0,
1001 0, 0, 334, 332, 305, 336, 337, 0, 0, 0,
1002 0, 0, 268, 269, 262, 0, 0, 173, 172, 0,
1003 174, 175, 0, 0, 176, 0, 0, 166, 167, 0,
1004 236, 0, 239, 171, 289, 202, 0, 0, 291, 292,
1005 0, 169, 356, 377, 357, 612, 317, 307, 0, 0,
1006 0, 0, 165, 0, 458, 0, 453, 0, 646, 644,
1007 0, 177, 178, 0, 0, 0, 419, 3, 21, 29,
1008 641, 637, 638, 640, 642, 639, 130, 131, 132, 0,
1009 133, 134, 629, 630, 634, 631, 628, 0, 277, 278,
1010 276, 609, 608, 33, 32, 49, 0, 372, 147, 0,
1011 0, 377, 145, 0, 0, 591, 0, 590, 264, 281,
1012 0, 599, 280, 0, 598, 0, 288, 603, 0, 0,
1013 12, 0, 157, 9, 9, 0, 411, 413, 112, 83,
1014 117, 745, 0, 75, 74, 82, 115, 0, 0, 113,
1015 78, 605, 0, 0, 570, 0, 813, 0, 575, 0,
1016 574, 0, 0, 0, 0, 562, 412, 0, 67, 566,
1017 562, 588, 0, 363, 364, 0, 66, 412, 368, 367,
1018 369, 362, 382, 399, 398, 480, 484, 482, 0, 487,
1019 493, 0, 0, 380, 412, 562, 84, 0, 0, 0,
1020 0, 562, 90, 563, 594, 618, 648, 161, 0, 0,
1021 847, 852, 379, 562, 562, 0, 562, 857, 165, 0,
1022 0, 0, 209, 0, 0, 211, 224, 225, 0, 0,
1023 0, 0, 0, 263, 208, 205, 204, 206, 0, 0,
1024 0, 0, 0, 289, 0, 0, 0, 203, 163, 164,
1025 283, 0, 207, 0, 0, 237, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 299, 0,
1028 301, 303, 304, 342, 341, 0, 0, 227, 227, 0,
1029 213, 560, 0, 221, 339, 331, 0, 0, 810, 320,
1030 323, 324, 0, 0, 351, 666, 662, 671, 0, 566,
1031 562, 562, 562, 353, 669, 0, 616, 355, 0, 0,
1032 354, 319, 0, 314, 333, 315, 335, 613, 0, 316,
1033 160, 162, 0, 155, 0, 377, 153, 557, 468, 555,
1034 455, 0, 0, 386, 0, 0, 387, 388, 389, 425,
1035 426, 427, 424, 0, 417, 420, 0, 3, 0, 632,
1036 165, 635, 0, 41, 42, 0, 53, 0, 0, 0,
1037 57, 61, 50, 809, 804, 0, 356, 377, 53, 357,
1038 808, 59, 158, 143, 141, 158, 159, 284, 597, 596,
1039 288, 600, 0, 18, 20, 79, 0, 118, 340, 0,
1040 693, 81, 691, 436, 0, 432, 431, 201, 0, 200,
1041 567, 604, 0, 786, 0, 781, 377, 0, 780, 782,
1042 811, 793, 0, 0, 602, 573, 572, 0, 0, 587,
1043 0, 407, 406, 394, 586, 0, 813, 576, 365, 396,
1044 408, 412, 481, 617, 618, 810, 0, 810, 619, 494,
1045 495, 497, 810, 500, 499, 0, 530, 618, 0, 521,
1046 0, 0, 533, 0, 111, 106, 0, 161, 534, 537,
1047 0, 513, 0, 109, 0, 412, 410, 813, 779, 165,
1048 165, 622, 165, 813, 779, 562, 87, 562, 93, 856,
1049 855, 819, 819, 819, 0, 0, 0, 0, 616, 0,
1050 0, 0, 0, 377, 0, 0, 0, 295, 0, 293,
1051 294, 0, 234, 168, 267, 617, 618, 268, 269, 0,
1052 0, 437, 466, 0, 261, 260, 771, 770, 0, 258,
1053 257, 255, 256, 254, 253, 252, 249, 250, 251, 247,
1054 248, 242, 243, 244, 245, 246, 240, 241, 0, 0,
1055 0, 0, 0, 227, 215, 231, 0, 0, 214, 562,
1056 562, 0, 562, 559, 656, 0, 0, 0, 0, 0,
1057 322, 0, 326, 0, 328, 0, 665, 664, 661, 660,
1058 809, 0, 0, 680, 0, 0, 813, 352, 813, 667,
1059 562, 779, 566, 666, 662, 0, 0, 562, 0, 0,
1060 0, 0, 0, 271, 158, 151, 149, 158, 0, 469,
1061 0, 468, 199, 198, 197, 196, 419, 0, 0, 24,
1062 0, 0, 636, 0, 38, 44, 43, 55, 52, 53,
1063 0, 48, 0, 0, 666, 662, 0, 800, 562, 803,
1064 805, 0, 801, 802, 54, 476, 0, 148, 158, 158,
1065 146, 17, 19, 400, 135, 123, 136, 137, 0, 116,
1066 119, 0, 0, 0, 0, 692, 686, 433, 0, 114,
1067 571, 568, 785, 799, 788, 0, 569, 784, 798, 787,
1068 783, 812, 795, 806, 796, 789, 794, 815, 0, 404,
1069 585, 584, 403, 504, 0, 503, 810, 810, 810, 0,
1070 562, 779, 529, 522, 534, 523, 412, 412, 519, 520,
1071 517, 518, 562, 779, 267, 617, 0, 399, 107, 525,
1072 535, 540, 541, 399, 399, 0, 0, 399, 105, 526,
1073 538, 399, 514, 515, 516, 412, 0, 462, 86, 0,
1074 0, 0, 0, 92, 0, 813, 779, 813, 779, 821,
1075 820, 822, 272, 306, 210, 212, 312, 313, 0, 0,
1076 0, 0, 294, 297, 0, 0, 0, 0, 235, 0,
1077 298, 300, 302, 0, 0, 0, 0, 216, 233, 0,
1078 0, 653, 651, 0, 654, 566, 222, 0, 0, 165,
1079 329, 0, 0, 0, 663, 659, 670, 562, 679, 677,
1080 678, 668, 813, 0, 675, 0, 614, 615, 0, 318,
1081 156, 158, 158, 154, 558, 556, 457, 0, 418, 416,
1082 267, 0, 22, 30, 643, 56, 51, 58, 62, 665,
1083 661, 666, 662, 0, 578, 0, 562, 667, 60, 144,
1084 142, 0, 121, 0, 125, 0, 127, 0, 129, 0,
1085 746, 0, 189, 694, 0, 687, 688, 0, 434, 666,
1086 662, 0, 289, 0, 612, 807, 0, 0, 816, 817,
1087 0, 0, 401, 0, 0, 0, 506, 505, 498, 813,
1088 0, 524, 430, 430, 813, 0, 0, 0, 412, 412,
1089 0, 412, 412, 0, 412, 0, 430, 0, 450, 562,
1090 274, 273, 275, 562, 89, 0, 95, 0, 0, 0,
1091 0, 0, 0, 440, 0, 438, 238, 259, 229, 228,
1092 226, 217, 0, 230, 232, 652, 650, 657, 655, 0,
1093 223, 0, 0, 321, 325, 327, 813, 673, 562, 674,
1094 152, 150, 454, 0, 421, 423, 665, 661, 583, 667,
1095 122, 120, 0, 0, 0, 0, 428, 0, 0, 267,
1096 617, 618, 695, 708, 711, 714, 719, 0, 0, 0,
1097 0, 0, 0, 0, 0, 268, 740, 748, 0, 767,
1098 744, 743, 742, 0, 703, 0, 0, 377, 0, 682,
1099 701, 707, 681, 702, 741, 0, 689, 435, 0, 615,
1100 797, 791, 792, 790, 0, 814, 405, 0, 501, 502,
1101 496, 102, 562, 528, 532, 104, 562, 412, 412, 549,
1102 430, 267, 617, 0, 536, 542, 543, 399, 399, 430,
1103 430, 0, 430, 539, 527, 0, 813, 813, 562, 562,
1104 0, 0, 0, 0, 439, 0, 0, 218, 219, 658,
1105 330, 273, 676, 813, 0, 124, 126, 128, 753, 747,
1106 751, 0, 690, 685, 192, 760, 762, 763, 0, 0,
1107 699, 0, 0, 0, 726, 728, 729, 730, 0, 0,
1108 0, 0, 0, 0, 0, 761, 0, 348, 768, 0,
1109 704, 346, 399, 0, 347, 0, 399, 0, 0, 0,
1110 190, 684, 683, 705, 739, 738, 294, 818, 402, 813,
1111 813, 548, 545, 547, 0, 0, 412, 412, 412, 544,
1112 546, 531, 452, 0, 451, 446, 85, 91, 813, 813,
1113 308, 309, 310, 311, 441, 0, 220, 672, 422, 0,
1114 752, 429, 181, 0, 696, 709, 698, 0, 0, 0,
1115 0, 0, 722, 0, 731, 0, 737, 39, 134, 34,
1116 134, 0, 35, 749, 0, 344, 345, 0, 0, 0,
1117 343, 191, 699, 101, 103, 412, 412, 554, 430, 430,
1118 0, 0, 464, 88, 94, 561, 0, 754, 188, 0,
1119 377, 0, 699, 0, 712, 700, 686, 765, 715, 0,
1120 0, 0, 0, 727, 736, 40, 36, 0, 0, 706,
1121 553, 551, 550, 552, 449, 448, 442, 76, 79, 0,
1122 0, 0, 182, 399, 697, 193, 710, 195, 0, 766,
1123 0, 764, 720, 724, 723, 750, 772, 0, 0, 447,
1124 758, 759, 755, 412, 686, 179, 0, 0, 185, 0,
1125 184, 699, 0, 0, 0, 773, 774, 732, 445, 0,
1126 444, 0, 194, 0, 713, 716, 721, 725, 0, 772,
1127 0, 0, 443, 186, 180, 0, 0, 0, 733, 775,
1128 0, 0, 776, 0, 0, 187, 717, 777, 0, 734,
1129 0, 0, 0, 718, 778, 735, 0, 0, 0
1132 static const short yydefgoto
[] = { 1577,
1133 411, 2, 412, 161, 675, 316, 166, 3, 4, 37,
1134 638, 358, 1261, 639, 743, 1262, 1263, 378, 1364, 643,
1135 41, 744, 387, 650, 908, 651, 652, 653, 43, 44,
1136 423, 169, 165, 45, 745, 759, 1027, 765, 1029, 47,
1137 746, 747, 170, 171, 424, 678, 940, 941, 618, 942,
1138 219, 48, 930, 929, 666, 663, 1093, 1092, 888, 885,
1139 136, 928, 49, 50, 531, 317, 318, 319, 320, 1264,
1140 1528, 1425, 1530, 1470, 1561, 1134, 1507, 1525, 352, 877,
1141 321, 1202, 832, 570, 839, 322, 323, 353, 325, 343,
1142 52, 240, 644, 400, 53, 54, 326, 526, 327, 328,
1143 329, 330, 425, 331, 1265, 464, 592, 332, 1266, 56,
1144 202, 656, 333, 203, 504, 204, 182, 195, 60, 447,
1145 465, 1288, 712, 1152, 183, 196, 61, 475, 713, 62,
1146 63, 634, 635, 636, 1238, 430, 802, 803, 1498, 1499,
1147 1463, 1405, 1316, 64, 622, 346, 1179, 1406, 1048, 891,
1148 65, 66, 67, 68, 226, 69, 70, 71, 228, 730,
1149 731, 732, 733, 230, 472, 473, 751, 752, 753, 1000,
1150 1010, 1001, 1305, 1002, 1003, 1306, 1307, 619, 620, 571,
1151 867, 335, 433, 434, 176, 184, 73, 74, 75, 185,
1152 186, 153, 77, 132, 336, 337, 338, 79, 339, 81,
1153 735, 123, 124, 125, 480, 105, 82, 340, 844, 845,
1154 862, 595, 1269, 1270, 1135, 1136, 1137, 682, 1271, 947,
1155 1272, 1349, 1473, 1428, 1429, 1273, 1274, 1453, 1350, 1474,
1156 1351, 1509, 1352, 1511, 1556, 1571, 1353, 1532, 1483, 1533,
1157 1434, 426, 679, 1236, 1275, 1367, 1488, 1340, 1341, 1420,
1158 1502, 1472, 1468, 1276, 1479, 1370, 809, 1535, 1536, 1537,
1159 1569, 698, 699, 967, 1148, 1284, 700, 701, 702, 963,
1160 703, 146, 965, 705, 1150, 1151, 498, 84, 85
1163 static const short yypact
[] = { 141,
1164 174,-32768,-32768, 10190,-32768, 58, 105, 283, 289, 114,
1165 181,-32768,-32768, 837,-32768, 169, 184, 197,-32768,-32768,
1166 -32768, 738, 1585, 400, 337,-32768, 351, 310,-32768, 2004,
1167 2004,-32768, 3383,-32768, 10190, 206,-32768,-32768, 399,-32768,
1168 344, 10268,-32768,-32768, 291, 969, 466, 434, 460,-32768,
1169 -32768,-32768,-32768, 149, 1941,-32768, 3753,-32768, 1846, 622,
1170 -32768, 496,-32768,-32768, 1747, 308,-32768, 485,-32768,-32768,
1171 492, 4641,-32768,-32768,-32768, 952,-32768,-32768,-32768, 1032,
1172 -32768,-32768, 168, 7629, 489,-32768,-32768, 9084,-32768, 9084,
1173 -32768, 9084,-32768,-32768,-32768, 283, 289, 351, 524, 473,
1174 531, 460,-32768, 1192,-32768, 168, 9170, 9170, 520,-32768,
1175 -32768,-32768,-32768,-32768, 79, 579, 379, 406, 413, 585,
1176 591,-32768,-32768, 1060,-32768, 919, 283, 289,-32768, 351,
1177 524,-32768, 871, 617, 578, 10509, 9084,-32768, 9084, 2101,
1178 -32768, 1901, 657, 2101,-32768, 1090, 2145, 2145, 3383, 556,
1179 564, 581, 584, 601,-32768,-32768, 705,-32768, 623,-32768,
1180 1788, 58,-32768,-32768,-32768, 672, 496, 785, 125, 295,
1181 739,-32768,-32768, 690, 171,-32768,-32768, 2573, 2573, 3481,
1182 952, 663,-32768,-32768, 352,-32768,-32768, 2297,-32768,-32768,
1183 -32768,-32768,-32768, 1846, 722,-32768, 496, 952,-32768,-32768,
1184 -32768, 1880, 1846,-32768, 496,-32768, 3662,-32768,-32768,-32768,
1185 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 460,
1186 496, 1649, 1481,-32768,-32768, 485,-32768,-32768,-32768,-32768,
1187 -32768, 1379, 168,-32768, 652, 1375,-32768, 251,-32768,-32768,
1188 -32768,-32768,-32768, 2796,-32768,-32768, 645,-32768, 718, 744,
1189 -32768,-32768,-32768,-32768, 788,-32768,-32768,-32768,-32768,-32768,
1190 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1191 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 736,-32768,-32768,
1192 1379, 4641, 990,-32768,-32768, 761,-32768,-32768, 9778, 9864,
1193 9950, 9950,-32768,-32768,-32768,-32768,-32768, 765, 790, 811,
1194 813, 815, 659, 524, 9256, 1090, 9950,-32768,-32768, 9950,
1195 -32768,-32768, 9950, 7107,-32768, 9950, 292, 839,-32768, 9950,
1196 -32768, 9342,-32768, 3876, 328, 843, 4001, 9428,-32768, 890,
1197 3924,-32768, 2740, 3456, 2396,-32768, 338,-32768, 1238, 2719,
1198 292, 292, 9084, 10509,-32768, 1090, 796, 1090,-32768,-32768,
1199 803, 856, 10695, 830, 832, 846, 1398, 623,-32768,-32768,
1200 -32768,-32768,-32768,-32768,-32768,-32768, 579, 379, 406, 1090,
1201 413, 585, 892, 591,-32768, 910,-32768, 571, 283, 289,
1202 -32768,-32768,-32768,-32768,-32768,-32768, 4469,-32768,-32768, 3662,
1203 4873, 1513,-32768, 292, 464,-32768, 951,-32768,-32768,-32768,
1204 2101,-32768,-32768, 2101,-32768, 880,-32768,-32768, 2796, 78,
1205 883, 888,-32768,-32768,-32768, 705,-32768, 496,-32768,-32768,
1206 -32768,-32768, 165,-32768,-32768,-32768,-32768, 7198, 9256,-32768,
1207 -32768,-32768, 9256, 895,-32768, 6555, 121, 2907,-32768, 2907,
1208 -32768, 2918, 2918, 3481, 916,-32768, 496, 3662,-32768, 898,
1209 -32768,-32768, 3026, 1880, 1846, 3662,-32768, 496,-32768,-32768,
1210 496, 1880,-32768, 991,-32768,-32768, 460,-32768, 1649,-32768,
1211 551, 4035, 88, 1379, 496,-32768,-32768, 960, 966, 994,
1212 984,-32768,-32768,-32768,-32768, 724,-32768, 422, 956, 964,
1213 -32768,-32768, 1379,-32768,-32768, 1109,-32768,-32768, 9084, 9256,
1214 761, 7107,-32768, 428, 7107,-32768,-32768,-32768, 9170, 5665,
1215 5665, 5665, 5665, 10740,-32768,-32768,-32768,-32768, 961, 10036,
1216 10036, 7107, 968, 34, 975, 1013, 977,-32768,-32768,-32768,
1217 -32768, 9084,-32768, 6737, 7107,-32768, 9256, 9256, 7289, 9256,
1218 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256,
1219 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256,-32768, 9256,
1220 -32768,-32768,-32768,-32768,-32768, 9256, 9256,-32768,-32768, 4328,
1221 333, 409, 7989,-32768,-32768,-32768, 1020, 1375, 1088, 437,
1222 455, 498, 2567, 657,-32768, 2128, 2128,-32768, 5231, 989,
1223 1006, 1055,-32768,-32768, 517, 8539, 1241,-32768, 1179, 168,
1224 -32768,-32768, 9256,-32768,-32768,-32768,-32768,-32768, 202, 489,
1225 -32768,-32768, 292,-32768, 3662, 2018,-32768, 1045, 1059,-32768,
1226 -32768, 1090, 892,-32768, 7721, 7812,-32768,-32768,-32768,-32768,
1227 -32768,-32768,-32768, 91,-32768, 1028, 1014, 623, 571, 1068,
1228 9084,-32768, 1065,-32768,-32768, 617, 1711, 337, 1094, 253,
1229 1062, 1071,-32768,-32768, 674, 10564, 674, 5049, 1747, 4582,
1230 -32768, 1079,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1231 1031,-32768, 1091,-32768,-32768, 291, 90, 148, 1093, 1013,
1232 -32768,-32768,-32768,-32768, 5950, 10740,-32768, 856, 1050, 10695,
1233 -32768,-32768, 1053,-32768, 1054, 225, 5635, 1056,-32768, 260,
1234 10327, 1089, 1103, 543,-32768,-32768,-32768, 2907, 2907,-32768,
1235 3026,-32768, 1114,-32768,-32768, 1080, 121,-32768, 1880,-32768,
1236 -32768, 496,-32768, 379, 406,-32768, 1097,-32768, 591, 1141,
1237 -32768,-32768, 232,-32768,-32768, 1593,-32768, 726, 539,-32768,
1238 9256, 3650,-32768, 3650, 298, 298, 201, 553, 1769, 10382,
1239 4220,-32768, 94, 298, 1131, 496,-32768, 121, 4988, 9084,
1240 9084,-32768, 9084, 121, 4988,-32768,-32768,-32768,-32768,-32768,
1241 -32768, 963, 963, 963, 292, 1095, 1118, 9520, 1055, 1126,
1242 1137, 1139, 1127, 4298, 1130, 1156, 1182,-32768, 1143,-32768,
1243 -32768, 1159,-32768,-32768, 1209, 366, 532, 423, 193, 9256,
1244 1213,-32768, 1142, 1169, 10740, 10740,-32768,-32768, 1218, 2626,
1245 3261, 3557, 4485, 2315, 4356, 4384, 2045, 2045, 2045, 1546,
1246 1546, 1138, 1138, 737, 737, 737,-32768,-32768, 1175, 1183,
1247 1181, 9256, 9170,-32768, 333,-32768, 7198, 9256,-32768,-32768,
1248 -32768, 9256,-32768,-32768, 1199, 9950, 1185, 1210, 1225, 1254,
1249 -32768, 9256,-32768, 9256,-32768, 9256, 2456,-32768, 2456,-32768,
1250 103, 1201, 1205,-32768, 1203, 5665, 121,-32768, 121, 2998,
1251 -32768, 4988, 1204, 8723, 8723, 5753, 1212, 9342, 1216, 2729,
1252 2719, 1343, 1217,-32768,-32768,-32768,-32768,-32768, 9256, 1090,
1253 1208, 1059,-32768, 10740,-32768, 10740, 1398, 1220, 9606,-32768,
1254 1221, 1261,-32768, 292,-32768,-32768,-32768,-32768,-32768, 1168,
1255 4469,-32768, 5665, 9084, 1176, 1176, 3180,-32768,-32768,-32768,
1256 -32768, 2297,-32768,-32768,-32768, 751, 9256,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768, 579,-32768, 413, 585, 9256, 1272,
1258 -32768, 555, 583, 610, 1013,-32768, 81,-32768, 118,-32768,
1259 -32768,-32768,-32768,-32768,-32768, 8631,-32768,-32768,-32768,-32768,
1260 -32768,-32768,-32768, 1103, 1268,-32768,-32768,-32768, 5665,-32768,
1261 -32768,-32768, 1273,-32768, 9170,-32768,-32768,-32768,-32768, 1469,
1262 -32768, 4988, 10740,-32768, 1512,-32768, 496, 496,-32768,-32768,
1263 -32768,-32768,-32768, 4988, 675, 852, 9256, 991,-32768, 1282,
1264 -32768,-32768,-32768, 188, 324, 1032, 657, 416, 298, 1285,
1265 -32768, 424,-32768,-32768,-32768, 496, 5473,-32768,-32768, 1243,
1266 292, 292, 292,-32768, 1245, 121, 4988, 121, 4988,-32768,
1267 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1264, 1265,
1268 1269, 1270, 1031,-32768, 6025, 7198, 6831, 1255,-32768, 9256,
1269 -32768,-32768,-32768, 1258, 1260, 1262, 5665,-32768,-32768, 1277,
1270 76, 1628, 1628, 1278, 1628,-32768,-32768, 9950, 1364, 9084,
1271 -32768, 1284, 1287, 1289,-32768,-32768,-32768,-32768,-32768,-32768,
1272 -32768,-32768, 121, 1300,-32768, 1279,-32768,-32768, 2747,-32768,
1273 -32768,-32768,-32768,-32768, 10740,-32768,-32768, 1301,-32768,-32768,
1274 122, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2279,
1275 2279, 2468, 2468, 3180,-32768, 2297,-32768, 2584, 3876,-32768,
1276 -32768, 1306,-32768, 148,-32768, 9256,-32768, 9256,-32768, 9256,
1277 -32768, 1090,-32768,-32768, 6368, 1340,-32768, 6922,-32768, 8815,
1278 8815, 6461, 172, 1309, 227,-32768, 7198, 7013,-32768,-32768,
1279 189, 7198,-32768, 1311, 1313, 551,-32768,-32768,-32768, 121,
1280 1314,-32768, 1345, 1345, 121, 1321, 9256, 9256, 5828, 496,
1281 2251, 496, 496, 1356, 496, 3235, 1345, 8057,-32768,-32768,
1282 -32768, 1380,-32768,-32768,-32768, 1327,-32768, 1337, 9256, 9256,
1283 9256, 9256, 7198,-32768, 1386,-32768,-32768, 10740,-32768,-32768,
1284 -32768, 383, 1262,-32768,-32768,-32768,-32768,-32768,-32768, 1338,
1285 -32768, 1403, 292,-32768,-32768,-32768, 121,-32768,-32768,-32768,
1286 -32768,-32768,-32768, 9256,-32768,-32768, 2279, 2279,-32768, 2584,
1287 -32768,-32768, 1348, 1352, 1353, 1355,-32768, 800, 243, 1402,
1288 879, 988,-32768,-32768,-32768,-32768,-32768, 9256, 1409, 1405,
1289 1415, 8907, 229, 1090, 526, 729,-32768,-32768, 8998, 1471,
1290 -32768,-32768,-32768, 1418,-32768, 3314, 10450, 10619, 6235,-32768,
1291 -32768, 1465,-32768,-32768,-32768, 8150,-32768,-32768, 1374, 824,
1292 -32768,-32768,-32768,-32768, 5665,-32768,-32768, 7198,-32768,-32768,
1293 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 5828, 5828,-32768,
1294 1345, 775, 1075, 9256,-32768,-32768,-32768, 991, 991, 1345,
1295 1345, 724, 1345,-32768,-32768, 6120, 121, 121,-32768,-32768,
1296 1383, 1385, 1389, 1392,-32768, 7198, 9256,-32768, 383,-32768,
1297 -32768,-32768,-32768, 121, 1393,-32768,-32768,-32768,-32768, 1355,
1298 -32768, 1090,-32768,-32768,-32768,-32768,-32768,-32768, 619, 619,
1299 1013, 1395, 1413, 4701,-32768,-32768,-32768,-32768, 1449, 9256,
1300 1450, 1455, 1459, 1706, 1742,-32768, 1013,-32768,-32768, 1421,
1301 -32768,-32768, 991, 819,-32768, 901, 991, 9692, 992, 272,
1302 -32768,-32768,-32768,-32768,-32768,-32768, 330,-32768,-32768, 121,
1303 121,-32768,-32768,-32768, 9256, 9256, 5828, 496, 496,-32768,
1304 -32768,-32768,-32768, 7903,-32768,-32768,-32768,-32768, 121, 121,
1305 -32768,-32768,-32768,-32768,-32768, 1417,-32768,-32768,-32768, 1431,
1306 -32768,-32768,-32768, 9170,-32768,-32768,-32768, 1514, 8446, 6646,
1307 9170, 9256,-32768, 8258,-32768, 1472,-32768,-32768, 1479,-32768,
1308 1459, 1706,-32768,-32768, 705,-32768,-32768, 10122, 10122, 7380,
1309 -32768,-32768, 1013,-32768,-32768, 5828, 5828,-32768, 1345, 1345,
1310 1429, 10650, 1443,-32768,-32768,-32768, 5563,-32768,-32768, 1442,
1311 799, 3662, 1013, 8352,-32768,-32768, 81,-32768,-32768, 1495,
1312 1452, 10718, 8258,-32768,-32768,-32768,-32768, 1355, 86,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 466, 291, 1454,
1314 1456, 1013,-32768, 991,-32768,-32768,-32768,-32768, 624,-32768,
1315 7471,-32768,-32768,-32768,-32768, 1355, 1554, 1511, 154,-32768,
1316 -32768,-32768,-32768, 496, 81,-32768, 9256, 1515,-32768, 1517,
1317 -32768, 1013, 8258, 1488, 642, 1524,-32768,-32768,-32768, 165,
1318 -32768, 1522,-32768, 1483,-32768,-32768,-32768,-32768, 9256, 1554,
1319 1534, 1554,-32768,-32768,-32768, 7562, 1487, 715,-32768,-32768,
1320 7198, 1493,-32768, 1591, 1544,-32768,-32768,-32768, 271,-32768,
1321 8352, 1595, 1548,-32768,-32768,-32768, 1610, 1611,-32768
1324 static const short yypgoto
[] = {-32768,
1325 1612,-32768, -323,-32768, 1198, 60, 13, 1615,-32768, 420,
1326 -32768,-32768, 448,-32768, 810,-32768, 828,-32768, 249, 979,
1327 -32768, 5,-32768,-32768, -603,-32768,-32768, 708,-32768, 1460,
1328 -676, 138, -672, 1477, 56,-32768,-32768,-32768,-32768,-32768,
1329 893,-32768,-32768,-32768,-32768,-32768,-32768, 516, 214,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 1550, -520, 5303, 80, -141, -72, 1519, -518,-32768, 185,
1332 -32768, 301,-32768, -1326,-32768, -1366, 115,-32768, 1307, 1134,
1333 -240, 459, -523,-32768, -807, 4515, -220, 1123, 3464, 1411,
1334 -313, -58, -27, -9, -57, 198,-32768,-32768,-32768, -321,
1335 -32768, -155,-32768,-32768, -1186, -54, -326, 4302, 32, 958,
1336 -137, 9, 74, -187, -4, -160, -570, 426,-32768, -35,
1337 109,-32768, -339,-32768,-32768,-32768,-32768,-32768, -91, 1725,
1338 55,-32768, 802,-32768,-32768, -1043, -190, 1016,-32768,-32768,
1339 -32768,-32768,-32768, 335,-32768,-32768,-32768,-32768,-32768, 821,
1340 -358,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1476,-32768,
1341 547, 727,-32768,-32768,-32768,-32768, 701, -690,-32768,-32768,
1342 -32768,-32768,-32768,-32768, 970,-32768, 545, 1102, 835, 1157,
1343 1988, 28, -24, -434, 1543, 3843, -456,-32768, 108,-32768,
1344 4903, -126, 242, -97, 3744, 1399,-32768, 4268, 1908, 270,
1345 -18, -101,-32768, 1605, -62,-32768, 4092, 2707, -61,-32768,
1346 2287,-32768,-32768, 462,-32768,-32768, 596, 195, -346,-32768,
1347 -32768,-32768,-32768, -1324,-32768, -1177, -1350,-32768,-32768,-32768,
1348 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1349 -32768, 219,-32768,-32768,-32768,-32768,-32768, 245, -1271,-32768,
1350 -32768, -45,-32768,-32768,-32768,-32768, -1347, 190,-32768, 187,
1351 -32768, -621, -563, 778,-32768,-32768,-32768,-32768, -377,-32768,
1352 -375, -193,-32768, 370, 468,-32768, 208,-32768, -230
1356 #define YYLAST 10824
1359 static const short yytable
[] = { 59,
1360 181, 410, 945, 933, 122, 481, 455, 597, 42, 661,
1361 167, 662, 57, 794, 734, 716, 36, 341, 607, 342,
1362 402, 405, 241, 151, 377, 863, 606, 1058, 659, 175,
1363 59, 72, 863, 471, 637, 55, 385, 59, 283, 42,
1364 234, 460, 463, 57, 474, 833, 42, 36, 503, 506,
1365 57, 984, 194, 986, 36, 925, 454, 140, 144, 46,
1366 1013, 376, 72, 35, 394, 462, 55, 232, 1421, 72,
1367 507, 508, 1368, 55, 382, 417, 683, 58, 1476, 281,
1368 559, 536, 1480, 334, 241, 334, 516, 334, 575, 517,
1369 46, 1383, 518, 493, 35, 528, 575, 46, 1386, 533,
1370 575, 35, 334, 334, 1481, 383, 384, 574, 58, 610,
1371 1510, 282, 193, 1132, 953, 58, 209, 86, 721, 1294,
1372 1295, 103, 585, 1508, 755, 420, 560, 175, 1490, 484,
1373 241, 392, 334, 1315, 334, 757, 359, 1020, 403, 406,
1374 -1, -279, 360, 1025, 391, 931, 493, 1517, 1505, 897,
1375 935, 724, 725, 1014, 1539, 865, 59, 280, 1543, 238,
1376 175, 954, 458, 72, 955, 680, 87, 390, 778, 57,
1377 151, 8, 9, -2, 401, 404, 1138, 779, 88, 792,
1378 1224, 704, -340, 1205, 1531, 673, 421, 93, 72, 1133,
1379 245, 389, 55, 1518, 936, -566, 756, 934, 898, 611,
1380 612, 26, 1015, 937, 938, 438, 440, 1547, 1562, 58,
1381 793, -340, -349, 349, 15, 421, 46, 435, 559, 422,
1382 1508, 943, 681, 130, 131, 989, 1139, 101, 94, 1225,
1383 152, 95, 110, 111, 58, 115, 953, 687, 978, 293,
1384 939, -566, 174, 1478, 1421, -349, 138, 1285, 422, -349,
1385 1084, 209, 667, 668, -134, 26, 1484, 1394, 990, 209,
1386 677, 107, 991, 436, 560, -286, 1400, 1401, 979, 1402,
1387 613, 958, 580, -606, 154, 209, 108, 232, 218, -279,
1388 645, 572, -349, 954, 112, 113, 955, 607, -809, 109,
1389 910, 351, 355, 460, 463, 992, 1286, 482, 157, 516,
1390 517, 460, 1344, 581, 525, 1515, 1106, 640, 1360, 334,
1391 1057, 911, 863, 463, 901, 402, 405, 719, 959, -606,
1392 -606, 960, 281, 661, 15, 964, 488, 912, -399, 1572,
1393 232, 1344, 463, 946, -606, 664, 89, 373, 334, 616,
1394 245, 427, 91, 483, 152, 152, 152, 481, -350, 243,
1395 15, 1345, 391, 863, 282, 1548, 90, -399, 428, 399,
1396 1161, -399, 92, 138, 1091, 224, 529, 1094, 530, 225,
1397 597, 72, 1166, 243, 559, 615, -288, 152, 1573, 836,
1398 1452, -350, 658, 139, 602, -350, 194, 429, 154, 154,
1399 154, 649, 863, 206, 1328, 1109, 837, 164, -566, 614,
1400 280, 159, 243, 127, 128, 1186, -399, 1188, 1120, 1121,
1401 135, 243, 127, 128, 660, 1493, 1494, 58, -350, 89,
1402 560, 154, -288, -288, 137, 838, 775, -131, 722, 836,
1403 603, 697, 362, 403, 406, 466, 468, -282, 1086, 90,
1404 -110, 160, 15, 129, -566, 450, 837, 245, -108, 479,
1405 15, 38, 90, 26, 156, 130, 131, 243, 158, 363,
1406 657, 163, 26, 660, 130, 131, 364, 59, 768, 708,
1407 709, 884, 209, -110, 585, 838, 1327, -110, 840, 92,
1408 750, -108, 38, 851, -133, -108, 137, 1013, 841, 38,
1409 168, 243, 525, 172, 334, 525, 137, 334, 523, 72,
1410 334, 853, 842, 749, 334, 784, 784, 784, 784, 657,
1411 -110, 403, 789, 173, 769, 209, 243, 334, -108, 515,
1412 778, 1417, 532, 734, 572, 525, 18, 334, 206, 852,
1413 334, 742, 974, 661, 976, 662, 206, 206, 529, 980,
1414 530, 645, 127, 128, 855, 58, 227, 854, 907, 229,
1415 863, 748, 659, 116, 724, 725, 714, 726, 460, 607,
1416 886, 623, 284, 871, 720, 281, 206, 606, 904, 129,
1417 633, 1221, 1222, 285, 379, 380, 10, 138, 863, 26,
1418 727, 345, 1363, 623, 658, 91, 879, 728, 347, 968,
1419 856, 697, 26, -132, 130, 131, 493, 282, 1131, 993,
1420 918, 1125, 923, 924, 26, 92, 119, 120, 243, 872,
1421 873, 21, 357, 857, 859, 206, 660, 691, 906, 285,
1422 379, 380, 10, 660, 26, 1067, 27, 304, 122, 1127,
1423 973, 1210, 361, 1033, 377, 969, 334, 536, 365, 152,
1424 152, 152, 924, 280, 366, 994, 1059, 1126, 8, 486,
1425 610, 194, 386, 516, 517, 232, 1129, 21, 32, 944,
1426 127, 128, 657, -279, 1018, 1423, 243, 943, 206, 657,
1427 1526, 407, 27, 304, 174, 1128, 7, 8, 9, 10,
1428 207, 208, 723, 154, 154, 154, 523, 1021, 1022, 523,
1429 1023, 408, 348, 781, 999, 1374, 658, 1379, 476, 734,
1430 130, 131, 1130, 1550, 32, 91, 523, 245, -601, 987,
1431 988, 1424, 130, 131, 21, 288, 1527, -170, 1016, 523,
1432 585, 448, 449, 808, 487, 92, 206, 26, 660, 27,
1433 28, -7, 137, -170, 779, -170, 1167, 59, 243, 59,
1434 95, 110, 111, 915, 477, 194, 59, 801, 88, 1551,
1435 750, 831, 750, 916, 658, 334, 334, 847, 334, 750,
1436 658, 32, 1105, 588, 416, 243, 917, 590, 879, 72,
1437 766, 72, 981, 749, 657, 985, 1564, 91, 72, 91,
1438 456, 457, 749, 1156, 1157, 1158, 660, 419, 206, 206,
1439 1366, 849, 660, 112, 113, 114, 206, 92, 431, 92,
1440 432, 742, 137, 742, 998, 1008, 200, 201, 206, -52,
1441 742, 489, 14, 39, -52, 58, 767, 58, 982, 557,
1442 558, 748, 1565, 748, 58, -52, 1520, 206, 334, 748,
1443 748, 40, 657, 1061, 20, -288, 1395, 490, 657, 95,
1444 96, 97, 1540, 23, 39, 585, 492, 1211, 88, 491,
1445 -288, 39, 243, 500, -288, 1194, 1196, 509, 1342, 1343,
1446 909, 784, 40, 510, 241, 403, 789, 658, 243, 40,
1447 -288, 697, 926, 285, 379, 380, 10, 448, 1446, 1181,
1448 1182, 1183, -288, -288, 511, -288, 512, -288, 513, 561,
1449 26, 778, 98, 99, 100, 1163, 1164, 532, 801, 660,
1450 575, 857, 859, 660, 621, 89, 658, 151, 784, 334,
1451 624, 21, 658, 1168, 625, 649, -288, -288, 236, 516,
1452 517, 116, 117, 118, 1177, 90, 27, 304, 562, 563,
1453 999, -288, 89, 564, 565, 566, 567, 627, 660, 628,
1454 1347, 779, 1110, 1111, 660, 657, 1144, 1196, 241, 657,
1455 206, 697, 90, 629, 127, 128, 1281, 1283, 32, 456,
1456 1447, 1287, 1170, 642, 784, 641, 127, 128, 1172, 1173,
1457 334, 484, 1170, 1175, 119, 120, 1173, 658, 15, 1030,
1458 1031, 1032, -399, 660, 657, 402, 405, 671, 245, 658,
1459 657, -6, 206, 127, 128, 15, 674, 1213, 348, -399,
1460 1206, 1207, 1325, 1209, 1427, 692, 130, 131, 715, 660,
1461 -399, -399, 59, 402, 405, -399, 26, 15, 130, 131,
1462 1444, 660, 658, 710, 658, 750, 1064, -399, -399, 657,
1463 487, 206, 494, 760, 7, 8, 235, 10, 528, 761,
1464 998, 91, 495, 26, 72, 130, 131, 762, 749, 1348,
1465 448, 1451, 784, 206, 660, 657, 660, 763, 241, 494,
1466 523, 92, 367, 368, 369, 334, 770, 657, 788, 495,
1467 681, 1332, 21, 848, 771, 790, 742, 1300, 1301, 236,
1468 1310, 1311, 791, 1313, 793, 238, 972, 27, 28, 661,
1469 58, 1501, 95, 110, 111, 850, 748, 1389, 866, 864,
1470 657, 868, 657, 403, 406, 944, 1427, 370, 889, 658,
1471 633, 237, 127, 128, 152, 371, 372, 890, 206, 32,
1472 899, 903, 900, 909, 905, 913, 1427, 1019, 89, 20,
1473 1268, 403, 1279, 1024, 914, 1415, 1396, 697, -282, 1227,
1474 1228, 660, 927, 1267, 779, 112, 113, 1260, 90, 243,
1475 932, 243, -808, 152, 421, 1523, 348, 950, 154, 1154,
1476 951, 952, 72, 957, 130, 131, 966, 1227, 1228, 660,
1477 95, 110, 111, 59, 210, 211, 212, 970, 7, 8,
1478 9, 10, 8, 9, 13, 1427, 750, 657, 237, 975,
1479 971, 243, 1017, 683, 1259, 8, 9, 154, 18, 977,
1480 1047, 1039, 1034, 213, 1040, 72, 1392, 1393, 58, 749,
1481 324, 1373, 324, 1373, 324, 657, 21, 554, 555, 556,
1482 557, 558, 585, 112, 113, 1035, 348, 516, 517, 26,
1483 1041, 27, 28, 1036, 130, 131, 1080, 742, 1081, 348,
1484 285, 8, 9, 10, 1037, 915, 1038, 130, 131, -562,
1485 1043, 58, -562, 488, 1268, 916, 1042, 748, 237, 324,
1486 1195, 324, 194, 32, 1268, 588, 1044, 1267, 917, 590,
1487 -130, 1268, 1398, 1399, 1046, 243, 1049, 1267, 21, 1050,
1488 784, 1260, 1051, 493, 1267, 236, 72, 868, 1260, 1489,
1489 1052, 1053, 1066, 27, 304, 1068, 72, 1069, 1070, -562,
1490 1071, -562, -562, 72, -562, 1458, 1459, 1460, 1077, 152,
1491 152, 152, 1078, 1079, 1085, -562, 1097, -562, 1259, 1087,
1492 1104, 402, 405, 1088, 1090, 32, 523, 1100, 1259, 1103,
1493 1124, 1147, 58, -562, -562, 1259, 1153, 152, 152, 152,
1494 1171, 458, 58, 1176, 655, 1237, 8, 9, -562, 58,
1495 1180, 1195, 1184, 154, 154, 154, 1189, 1190, 243, 127,
1496 1312, 1191, 1192, 1197, 1491, 1492, 1199, 1200, 1144, 1201,
1497 1566, 1212, 1132, 1321, 1322, 1323, 1324, 95, 110, 111,
1498 478, 154, 154, 154, 1204, 243, 200, 201, 1208, 1220,
1499 348, 1214, 14, 655, 1215, 1185, 1216, 1187, 130, 131,
1500 95, 110, 111, 348, 630, 631, 632, 1219, 428, 1223,
1501 1226, 130, 131, 1231, 20, 21, 1280, 1504, 1289, 1471,
1502 1290, 1293, 487, 23, 1268, 1268, 1471, 514, 1297, 1268,
1503 112, 113, 1542, -643, 1319, 487, 1359, 1267, 1267, 403,
1504 1279, 1260, 1267, 243, 1320, 334, 1260, 1326, 1330, 1331,
1505 1339, 282, 1218, 112, 113, 1336, 72, 72, 282, 1337,
1506 1338, 72, 658, 1346, 1356, 324, 1361, 1362, 1524, 1268,
1507 1355, 116, 724, 725, 1357, 708, 709, 1371, 1268, 1369,
1508 1384, 1387, 1267, 95, 96, 97, 1260, 1430, 1259, 1259,
1509 1411, 1267, 1412, 1259, 660, 1260, 1413, 280, 727, 1414,
1510 1419, 72, 58, 58, 280, 1431, 1471, 58, 1435, 1437,
1511 72, 1416, 1438, 1445, 995, 996, 9, 10, 360, 199,
1512 200, 201, 26, 1467, 119, 120, 14, 1466, 1268, 1292,
1513 1475, 1485, 1486, 1259, 1296, 1495, 98, 99, 282, 1497,
1514 657, 1267, 1259, 18, 1436, 1260, 655, 58, 20, 1503,
1515 686, 690, 21, 655, 1512, 1422, 58, 23, 690, 1513,
1516 72, 1521, 689, 1522, 1534, 26, 1268, 27, 28, 695,
1517 1538, 1162, 665, 997, 1545, 152, 1546, 1440, 1443, 1267,
1518 1549, 178, 1552, 1260, 280, 1554, 1333, 116, 117, 118,
1519 1555, 179, 1259, 1559, 1563, 116, 724, 725, 72, 32,
1520 1567, 1568, 206, 1570, 180, 1575, 58, 1576, 1469, 1578,
1521 1579, 1, 676, 1442, 808, 1469, 5, 902, 1107, 154,
1522 414, 324, 690, 552, 553, 554, 555, 556, 557, 558,
1523 1259, 127, 128, 776, 523, 1519, 484, 415, 26, 1232,
1524 119, 120, 1009, 344, 58, 152, 152, 152, 119, 120,
1525 1426, 95, 96, 97, 324, 1487, 686, 395, 655, 805,
1526 806, 1329, 810, 811, 812, 813, 814, 815, 816, 817,
1527 818, 819, 820, 821, 822, 823, 824, 825, 826, 827,
1528 828, 26, 690, 130, 131, 1574, 1407, 1408, 690, 154,
1529 154, 154, 1376, 829, 499, 1469, 348, 840, 1099, 830,
1530 949, 470, 1291, 1418, 98, 99, 1159, 841, 95, 110,
1531 111, 1544, 1098, 367, 368, 369, 655, 1178, 690, 1011,
1532 1314, 842, 655, 892, 1096, 690, 835, 451, 375, 582,
1533 1382, 1277, 1516, 1557, 1553, 688, 883, 1541, 1560, 1558,
1534 808, 1146, 688, 0, 95, 110, 111, 894, 896, 95,
1535 96, 97, 1388, 210, 211, 212, 0, 0, 0, 1454,
1536 1455, 112, 1439, 324, 26, 0, 371, 372, 0, 0,
1537 0, 995, 996, 9, 10, 0, 0, 18, 1464, 1465,
1538 0, 197, 213, 205, 0, 0, 0, 0, 6, 221,
1539 7, 8, 9, 10, 11, 12, 13, 112, 1441, 0,
1540 26, 14, 98, 99, 214, 206, 688, 686, 0, 21,
1541 0, 0, 0, 0, 0, 16, 0, 17, 18, 0,
1542 0, 0, 26, 20, 27, 28, 0, 0, 21, 655,
1543 997, 0, 23, 655, 0, 413, 0, 0, 178, 0,
1544 0, 26, 0, 27, 28, 0, 0, 29, 179, 215,
1545 216, 217, 199, 200, 201, 0, 32, 30, 0, 14,
1546 0, 180, 0, 983, 0, 0, 688, 31, 655, 0,
1547 0, 0, 688, 0, 655, 32, 18, 0, 0, 0,
1548 33, 20, 324, 324, 0, 324, 459, 200, 201, 0,
1549 23, 418, 0, 14, 0, 0, 0, 0, 0, 0,
1550 690, 0, 688, 7, 127, 128, 10, 0, 0, 688,
1551 18, 80, 0, 655, 0, 20, 0, 0, 205, 0,
1552 0, 104, 1045, 0, 23, 0, 461, 205, 0, 0,
1553 0, 133, 0, 0, 0, 0, 0, 142, 142, 655,
1554 142, 21, 80, 7, 8, 9, 10, 0, 236, 80,
1555 0, 655, 0, 0, 690, 690, 27, 28, 0, 686,
1556 690, 0, 188, 0, 80, 1054, 1055, 0, 0, 0,
1557 0, 1060, 222, 0, 690, 0, 690, 0, 690, 104,
1558 237, 21, 0, 0, 655, 1072, 655, 1073, 32, 1074,
1559 247, 104, 0, 0, 26, 0, 27, 28, 0, 0,
1560 177, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1561 178, 1095, 13, 104, 0, 0, 0, 0, 0, 0,
1562 179, 690, 0, 0, 199, 200, 201, 0, 32, 0,
1563 0, 14, 1102, 180, 0, 0, 324, 0, 0, 0,
1564 0, 133, 0, 80, 21, 0, 0, 142, 18, 1119,
1565 397, 142, 0, 20, 142, 142, 142, 26, 0, 27,
1566 28, 690, 23, 0, 0, 0, 0, 0, 80, 244,
1567 0, 655, 1122, 30, 0, 0, 0, 887, 690, 0,
1568 0, 0, 0, 31, 688, 188, 188, 188, 0, 0,
1569 0, 32, 0, 0, 0, 0, 33, 0, 0, 655,
1570 0, 0, 0, 7, 127, 128, 10, 0, 0, 231,
1571 0, 0, 0, 0, 188, 197, 205, 0, 0, 1169,
1572 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1573 469, 127, 128, 0, 0, 0, 13, 0, 688, 688,
1574 104, 21, 409, 0, 688, 0, 0, 7, 127, 128,
1575 10, 142, 0, 13, 26, 0, 27, 28, 688, 0,
1576 688, 0, 688, 437, 0, 0, 0, 0, 686, 686,
1577 30, 418, 1198, 0, 585, 0, 453, 0, 461, 205,
1578 31, 26, 418, 130, 131, 21, 461, 0, 32, 104,
1579 496, 0, 324, 33, 0, 0, 0, 586, 26, 418,
1580 27, 28, 0, 0, 0, 688, 0, 587, 0, 0,
1581 0, 0, 0, 0, 147, 0, 0, 588, 0, 0,
1582 589, 590, 0, 0, 148, 0, 0, 0, 0, 0,
1583 0, 0, 32, 0, 104, 0, 0, 149, 583, 0,
1584 496, 496, 599, 0, 0, 688, 0, 0, 690, 0,
1585 690, 80, 690, 1302, 1303, 9, 10, 0, 0, 1233,
1586 686, 1234, 688, 1235, 0, 0, 0, 0, 0, 686,
1587 686, 0, 0, 0, 686, 0, 0, 0, 0, 0,
1588 0, 7, 8, 9, 10, 133, 0, 231, 0, 1298,
1589 1299, 21, 0, 0, 104, 0, 0, 188, 104, 7,
1590 8, 9, 10, 0, 26, 0, 27, 28, 142, 0,
1591 0, 142, 1304, 0, 0, 686, 142, 0, 0, 21,
1592 178, 0, 0, 0, 0, 585, 0, 0, 0, 0,
1593 179, 0, 26, 0, 27, 28, 0, 21, 32, 0,
1594 205, 0, 0, 180, 236, 188, 690, 188, 915, 188,
1595 188, 188, 27, 28, 0, 188, 0, 1335, 916, 0,
1596 188, 0, 0, 188, 0, 0, 32, 0, 588, 0,
1597 1354, 917, 590, 0, 0, 0, 237, 0, 0, 80,
1598 197, 0, 205, 221, 32, 545, 546, 547, 548, 549,
1599 550, 551, 552, 553, 554, 555, 556, 557, 558, 8,
1600 9, 0, 0, 12, 231, 0, 0, 0, 0, 14,
1601 686, 0, 0, 0, 0, 0, 0, 104, 104, 104,
1602 104, 205, 0, 16, 655, 17, 1397, 0, 0, 0,
1603 0, 20, 688, 711, 688, 0, 688, 0, 717, 0,
1604 23, 0, 585, 461, 0, 0, 418, 0, 686, 26,
1605 0, 130, 131, 0, 0, 0, 0, 0, 0, 127,
1606 128, 0, 0, 758, 231, 586, 0, 0, 0, 764,
1607 7, 8, 9, 10, 197, 587, 13, 104, 0, 496,
1608 418, 772, 773, 0, 774, 588, 0, 0, 589, 590,
1609 0, 583, 0, 496, 496, 0, 599, 0, 0, 0,
1610 690, 0, 585, 880, 0, 0, 0, 882, 21, 26,
1611 0, 130, 131, 0, 585, 0, 0, 1456, 1457, 0,
1612 0, 26, 188, 27, 28, 586, 1462, 0, 0, 0,
1613 688, 0, 0, 0, 0, 587, 0, 1112, 0, 0,
1614 0, 0, 0, 0, 0, 588, 133, 1113, 589, 590,
1615 0, 0, 0, 133, 1482, 32, 0, 588, 0, 0,
1616 1114, 590, 188, 922, 188, 188, 222, 599, 0, 285,
1617 127, 128, 10, 0, 0, 7, 8, 9, 10, 869,
1618 870, 13, 0, 0, 869, 0, 7, 8, 9, 10,
1619 0, 0, 484, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 188, 0, 0, 21, 922, 0,
1621 0, 0, 0, 21, 236, 188, 188, 0, 188, 594,
1622 598, 601, 27, 304, 21, 0, 26, 0, 27, 28,
1623 585, 0, 0, 0, 221, 0, 0, 26, 0, 27,
1624 28, 0, 178, 0, 0, 0, 133, 0, 0, 80,
1625 0, 80, 179, 915, 32, 0, 1006, 80, 80, 0,
1626 32, 0, 0, 916, 0, 180, 104, 0, 0, 0,
1627 0, 32, 104, 588, 0, 0, 917, 590, 0, 496,
1628 496, 496, 0, 686, 688, 0, 0, 0, 0, 0,
1629 0, 496, 541, 542, 543, 544, 545, 546, 547, 548,
1630 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1631 83, 418, 418, 0, 0, 0, 0, 0, 0, 0,
1632 106, 604, 8, 9, 10, 0, 0, 0, 0, 126,
1633 134, 285, 8, 9, 10, 0, 143, 143, 0, 143,
1634 418, 83, 0, 127, 128, 0, 0, 0, 83, 285,
1635 8, 9, 10, 1026, 0, 1028, 293, 605, 0, 21,
1636 0, 143, 0, 83, 496, 0, 496, 0, 0, 21,
1637 0, 223, 26, 104, 130, 131, 236, 496, 233, 104,
1638 0, 880, 880, 880, 27, 304, 585, 21, 1089, 0,
1639 233, 0, 0, 26, 236, 130, 131, 0, 7, 127,
1640 128, 10, 27, 304, 484, 0, 0, 0, 237, 586,
1641 0, 0, 0, 0, 0, 0, 32, 0, 104, 587,
1642 104, 0, 188, 188, 1116, 0, 487, 1062, 1063, 588,
1643 1065, 0, 589, 590, 32, 0, 21, 0, 0, 0,
1644 0, 0, 83, 0, 0, 0, 143, 0, 0, 26,
1645 143, 27, 28, 143, 143, 143, 0, 0, 1083, 0,
1646 0, 0, 0, 1116, 0, 30, 0, 83, 0, 0,
1647 0, 0, 858, 860, 0, 31, 104, 0, 0, 0,
1648 0, 0, 0, 32, 143, 143, 143, 0, 33, 104,
1649 0, 0, 1006, 418, 418, 0, 418, 418, 0, 418,
1650 0, 104, 0, 0, 0, 0, 1118, 0, 0, 7,
1651 8, 9, 10, 143, 1174, 231, 0, 0, 0, 0,
1652 7, 8, 9, 10, 80, 0, 13, 0, 0, 0,
1653 0, 0, 0, 0, 104, 0, 104, 0, 0, 0,
1654 0, 920, 0, 594, 598, 0, 601, 21, 0, 0,
1655 143, 0, 0, 0, 0, 0, 0, 0, 21, 0,
1656 26, 0, 27, 28, 104, 0, 0, 0, 1160, 496,
1657 496, 26, 496, 27, 28, 0, 178, 0, 0, 0,
1658 1165, 0, 0, 598, 0, 0, 179, 442, 233, 143,
1659 0, 197, 205, 0, 32, 0, 0, 443, 0, 180,
1660 0, 127, 128, 0, 0, 32, 484, 0, 0, 0,
1661 444, 0, 0, 0, 0, 0, 0, 188, 188, 188,
1662 188, 1116, 418, 418, 0, 188, 0, 0, 7, 8,
1663 9, 10, 0, 233, 484, 0, 0, 584, 0, 143,
1664 143, 600, 0, 0, 585, 0, 609, 1116, 1116, 1116,
1665 83, 26, 0, 130, 131, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 1217, 21, 586, 0, 0,
1667 598, 0, 0, 0, 0, 0, 0, 587, 188, 26,
1668 0, 27, 28, 142, 646, 80, 0, 588, 0, 0,
1669 589, 590, 0, 233, 0, 178, 143, 233, 0, 0,
1670 0, 0, 0, 0, 1230, 179, 0, 143, 0, 0,
1671 143, 0, 0, 32, 0, 143, 0, 0, 180, 0,
1672 0, 418, 418, 418, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 188, 188, 0, 188, 0, 0,
1674 0, 0, 0, 1075, 143, 1076, 143, 0, 143, 143,
1675 143, 0, 0, 0, 143, 0, 1082, 0, 0, 143,
1676 858, 860, 143, 0, 0, 0, 0, 1317, 0, 0,
1677 0, 1318, 0, 188, 922, 188, 0, 736, 83, 0,
1678 418, 418, 7, 8, 9, 10, 388, 12, 13, 0,
1679 0, 694, 104, 14, 0, 0, 0, 0, 0, 0,
1680 0, 858, 860, 0, 0, 0, 1334, 16, 0, 17,
1681 18, 0, 0, 0, 0, 20, 233, 233, 233, 233,
1682 21, 0, 0, 0, 23, 0, 585, 0, 0, 0,
1683 0, 0, 0, 26, 0, 27, 28, 1302, 127, 128,
1684 10, 0, 0, 0, 0, 0, 0, 0, 418, 1112,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 1113,
1686 0, 0, 0, 0, 0, 0, 0, 32, 0, 588,
1687 0, 0, 1114, 590, 0, 21, 233, 0, 143, 0,
1688 1390, 0, 0, 0, 1391, 1116, 0, 0, 26, 0,
1689 27, 28, 143, 143, 0, 600, 1304, 0, 0, 0,
1690 0, 0, 881, 0, 30, 0, 1409, 1410, 0, 0,
1691 0, 0, 0, 0, 31, 609, 7, 8, 9, 10,
1692 0, 143, 32, 0, 0, 0, 0, 33, 542, 543,
1693 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1694 554, 555, 556, 557, 558, 646, 0, 0, 0, 0,
1695 0, 0, 0, 126, 21, 1116, 1116, 1116, 0, 0,
1696 0, 143, 600, 143, 143, 223, 600, 26, 0, 27,
1697 28, 0, 0, 1372, 104, 0, 0, 0, 0, 188,
1698 0, 0, 0, 178, 736, 7, 127, 128, 10, 0,
1699 0, 0, 0, 179, 0, 0, 1075, 1076, 858, 860,
1700 0, 32, 0, 143, 1082, 0, 180, 600, 0, 0,
1701 0, 0, 0, 0, 143, 143, 0, 143, 0, 0,
1702 0, 0, 0, 21, 0, 0, 858, 860, 0, 0,
1703 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1704 0, 0, 0, 0, 0, 134, 0, 0, 83, 0,
1705 83, 0, 147, 0, 0, 1007, 83, 83, 0, 127,
1706 128, 0, 148, 200, 201, 233, 0, 51, 0, 14,
1707 32, 233, 0, 0, 0, 149, 0, 0, 143, 143,
1708 143, 0, 0, 7, 8, 9, 10, 0, 0, 0,
1709 143, 20, 0, 51, 51, 0, 150, 0, 51, 0,
1710 23, 0, 585, 0, 0, 51, 0, 0, 0, 26,
1711 0, 130, 131, 1075, 1076, 0, 1082, 0, 51, 0,
1712 51, 21, 0, 0, 0, 586, 0, 0, 0, 0,
1713 0, 0, 0, 0, 26, 587, 27, 28, 0, 0,
1714 0, 0, 0, 239, 0, 588, 0, 0, 596, 590,
1715 442, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 443, 0, 0, 143, 0, 143, 0, 0, 32, 0,
1717 0, 0, 233, 444, 0, 0, 143, 0, 233, 0,
1718 881, 881, 881, 0, 0, 0, 0, 609, 0, 0,
1719 0, 0, 0, 0, 0, 0, 381, 381, 0, 51,
1720 0, 0, 0, 51, 0, 239, 0, 51, 0, 0,
1721 150, 150, 150, 0, 0, 0, 0, 233, 0, 233,
1722 0, 143, 143, 600, 51, 543, 544, 545, 546, 547,
1723 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
1724 558, 51, 51, 150, 0, 0, 0, 0, 0, 0,
1725 737, 239, 7, 8, 738, 10, 388, 12, 13, 0,
1726 0, 0, 881, 14, 7, 8, 9, 10, 0, 0,
1727 51, 0, 0, 0, 0, 233, 0, 16, 0, 17,
1728 18, 19, 0, 0, 0, 20, 736, 0, 233, 0,
1729 21, 1007, 0, 0, 23, 739, 0, 648, 0, 0,
1730 233, 0, 21, 26, 0, 27, 28, 51, 0, 740,
1731 0, 741, 0, 0, 0, 26, 0, 27, 28, 30,
1732 0, 0, 0, 83, 0, 0, 0, 0, 0, 31,
1733 0, 178, 0, 233, 0, 233, 0, 32, 0, 0,
1734 0, 179, 33, 0, 0, 0, 0, 78, 0, 32,
1735 0, 0, 0, 0, 180, 7, 8, 9, 10, 190,
1736 12, 191, 0, 233, 0, 0, 14, 0, 143, 143,
1737 0, 143, 0, 78, 78, 0, 78, 524, 78, 0,
1738 16, 0, 17, 18, 0, 78, 0, 0, 20, 0,
1739 0, 0, 0, 21, 381, 0, 0, 23, 78, 0,
1740 78, 0, 239, 0, 0, 0, 26, 51, 27, 28,
1741 0, 0, 192, 0, 0, 0, 143, 143, 143, 143,
1742 600, 0, 30, 0, 143, 0, 0, 0, 0, 0,
1743 736, 0, 31, 0, 0, 0, 0, 0, 0, 0,
1744 32, 381, 0, 0, 0, 33, 881, 881, 881, 0,
1745 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
1746 0, 0, 736, 0, 51, 0, 0, 51, 0, 0,
1747 0, 0, 51, 0, 0, 0, 0, 143, 0, 78,
1748 0, 0, 143, 78, 83, 0, 0, 78, 0, 0,
1749 78, 78, 78, 0, 0, 0, 0, 0, 0, 0,
1750 0, 51, 0, 51, 78, 150, 150, 150, 0, 0,
1751 0, 51, 0, 0, 0, 0, 51, 0, 0, 51,
1752 0, 78, 78, 78, 576, 0, 285, 379, 380, 10,
1753 0, 577, 0, 143, 143, 51, 143, 0, 537, 538,
1754 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1755 78, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1756 0, 1365, 0, 0, 21, 524, 0, 0, 524, 0,
1757 0, 578, 143, 600, 143, 0, 0, 26, 0, 27,
1758 304, 0, 0, 524, 524, 524, 0, 78, 0, 0,
1759 0, 233, 0, 0, 0, 0, 0, 0, 524, 0,
1760 0, 0, 0, 0, 8, 9, 0, 0, 12, 13,
1761 0, 579, 0, 0, 14, 0, 0, 0, 0, 0,
1762 439, 441, 445, 0, 0, 0, 0, 0, 16, 0,
1763 17, 0, 0, 0, 0, 737, 20, 7, 8, 738,
1764 10, 388, 12, 13, 0, 23, 239, 0, 14, 0,
1765 0, 0, 0, 0, 26, 0, 130, 131, 568, 524,
1766 0, 0, 16, 0, 17, 18, 19, 0, 0, 0,
1767 20, -509, 0, 0, 0, 21, 0, 0, 51, 23,
1768 739, 0, 648, 608, 881, 0, 0, 78, 26, 0,
1769 27, 28, 0, 569, 740, 0, 741, 0, 0, 0,
1770 0, 0, 381, 0, 30, 0, 0, 0, 0, 381,
1771 0, 0, 0, 0, 31, 0, 0, 0, 51, 51,
1772 51, 51, 32, 0, 155, 0, 0, 33, 0, 0,
1773 0, 0, 0, 78, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, -509, 78, 0, 189, 78, 0, 0,
1775 0, 0, 78, 0, 881, 881, 881, 0, 0, 0,
1776 51, 0, 0, 0, 51, 0, 0, 0, 0, 0,
1777 0, 51, 51, 233, 51, 0, 0, 0, 143, 0,
1778 0, 78, 0, 78, 0, 78, 78, 78, 0, 0,
1779 0, 78, 0, 0, 0, 0, 78, 0, 0, 78,
1780 0, 0, 0, 0, 0, 51, 0, 51, 0, 0,
1781 0, 0, 51, 51, 51, 78, 0, 0, 0, 0,
1782 737, 0, 7, 8, 738, 10, 388, 12, 13, 0,
1783 0, 0, 0, 14, 0, 0, 0, 0, 155, 155,
1784 155, 524, 0, 0, 0, 0, 0, 16, 0, 17,
1785 18, 19, 0, 0, 0, 20, -510, 0, 0, 0,
1786 21, 0, 0, 0, 23, 739, 0, 648, 0, 189,
1787 189, 446, 0, 26, 0, 27, 28, 0, 0, 740,
1788 706, 741, 707, 0, 439, 441, 445, 0, 0, 30,
1789 0, 0, 0, 0, 0, 718, 0, 0, 189, 31,
1790 0, 127, 128, 0, 0, 200, 201, 32, 0, 0,
1791 0, 14, 33, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 187, 0, 0, 0, 0, 608, -510, 0,
1793 0, 8, 9, 20, 0, 12, 13, 524, 524, 524,
1794 0, 14, 23, 239, 585, 0, 0, 242, 0, 0,
1795 246, 26, 0, 130, 131, 16, 0, 17, 78, 0,
1796 0, 0, 0, 20, 0, 0, 0, 586, 0, 0,
1797 0, 242, 23, 350, 497, 0, 0, 587, 51, 51,
1798 150, 26, 0, 130, 131, 239, 0, 588, 0, 0,
1799 589, 590, 0, 0, 0, 0, 0, 0, 78, 78,
1800 78, 78, 0, 0, 0, 0, 0, 0, 354, 356,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 1143,
1802 834, 0, 0, 0, 593, 593, 593, 546, 547, 548,
1803 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1804 78, 0, 0, 0, 78, 187, 187, 187, 51, 0,
1805 0, 78, 78, 0, 78, 452, 547, 548, 549, 550,
1806 551, 552, 553, 554, 555, 556, 557, 558, 0, 239,
1807 0, 0, 8, 9, 187, 388, 12, 13, 0, 0,
1808 51, 189, 14, 0, 0, 78, 0, 78, 0, 0,
1809 0, 0, 78, 78, 78, 0, 16, 0, 17, 18,
1810 246, 0, 0, 0, 20, 0, 0, 0, 0, 0,
1811 0, 0, 0, 647, 242, 0, 648, 0, 0, 0,
1812 0, 0, 26, 0, 130, 131, 0, 0, 0, 189,
1813 0, 189, 0, 446, 446, 446, 0, 0, 0, 189,
1814 0, 0, 0, 0, 189, 0, 0, 189, 0, 0,
1815 706, 707, 239, 718, 544, 545, 546, 547, 548, 549,
1816 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1817 0, 0, 0, 51, 51, 150, 150, 150, 0, 239,
1818 0, 51, 0, 0, -371, 8, 9, -371, -371, 12,
1819 231, 1004, 0, 0, 0, 14, 0, 0, 0, 0,
1820 0, 0, 0, 1143, 1143, 1143, 242, 246, 0, 16,
1821 0, 17, -371, 0, 0, 527, 0, 20, 0, 0,
1822 0, 0, -371, 0, 608, 0, 23, 0, 585, 0,
1823 0, 0, 0, 0, 51, 26, 0, 130, 131, 51,
1824 0, 51, 0, 0, 8, 9, 0, 0, 12, 231,
1825 0, 586, 0, 0, 14, 0, 0, 187, 78, 78,
1826 78, 587, 0, 843, 0, 0, 0, 0, 16, -371,
1827 17, 588, 0, 0, 589, 590, 20, 593, 593, 0,
1828 593, 0, 0, 0, 0, 23, 0, 593, 654, 0,
1829 51, 51, 0, 51, 26, 0, 130, 131, 0, 1145,
1830 0, 0, 0, 0, 0, 187, 189, 187, 0, 187,
1831 187, 187, 1432, 0, 0, 187, 0, 0, 0, 0,
1832 187, 0, 0, 187, 0, 0, 0, 0, 78, 51,
1833 51, 51, 0, 0, 0, 0, 0, 696, 0, 0,
1834 0, 0, 0, 0, 0, 0, 919, 0, 919, 919,
1835 0, 593, 0, 0, 0, 0, 0, 439, 441, 445,
1836 78, 0, 1433, 537, 538, 539, 540, 541, 542, 543,
1837 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1838 554, 555, 556, 557, 558, 0, 0, 0, 919, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 445, 189,
1840 189, 0, 189, 777, 0, 0, 780, 0, 0, 0,
1841 782, 783, 785, 786, 787, 0, 0, 0, 0, 0,
1842 0, 0, 0, 527, 0, 0, 0, 1004, 0, 0,
1843 0, 0, 0, 0, 0, 0, 804, 0, 0, 0,
1844 189, 1143, 0, 0, 0, 0, 0, 591, 591, 591,
1845 0, 0, 0, 78, 78, 78, 78, 78, 0, 0,
1846 0, 78, 0, 497, 497, 497, 242, 246, 0, 0,
1847 0, 0, 0, 0, 0, 593, 8, 9, 0, 190,
1848 12, 191, 187, 1145, 1145, 1145, 14, 0, 0, 0,
1849 861, 0, 0, 0, 0, 0, 0, 861, 0, 0,
1850 16, 0, 17, 18, 0, 0, 76, 0, 20, 0,
1851 0, 1143, 1143, 1143, 78, 0, 0, 23, 0, 78,
1852 0, 78, 187, 0, 187, 187, 26, 0, 130, 131,
1853 0, 0, 141, 145, 0, 51, 0, 76, 0, 0,
1854 0, 0, 0, 0, 76, 0, 0, 0, 593, 0,
1855 593, 0, 706, 707, 439, 441, 445, 0, 0, 198,
1856 718, 593, 0, 0, 187, 593, 593, 593, 0, 0,
1857 78, 78, 0, 78, 0, 187, 187, 0, 187, 0,
1858 0, 0, 439, 441, 445, 0, 0, 0, 0, 0,
1859 0, 8, 9, 0, 388, 12, 13, 0, 0, 694,
1860 0, 14, 654, 246, 0, 0, 919, 919, 1117, 78,
1861 78, 78, 0, 1308, 0, 16, 187, 17, 18, 0,
1862 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
1863 0, 0, 23, 0, 0, 0, 0, 0, 393, 0,
1864 0, 26, 396, 130, 131, 0, 398, 1117, 0, 0,
1865 0, 7, 8, 9, 10, 199, 200, 201, 0, 0,
1866 696, 0, 14, 76, 0, 0, 696, 0, 0, 706,
1867 707, 0, 718, 0, 0, 0, 189, 0, 0, 18,
1868 141, 145, 0, 0, 20, 0, 0, 0, 0, 21,
1869 0, 0, 0, 23, 0, 585, 0, 0, 0, 0,
1870 591, 591, 26, 591, 27, 28, 0, 0, 0, 0,
1871 878, 0, 0, 0, 0, 0, 0, 0, 915, 0,
1872 0, 1145, 0, 0, 0, 0, 0, 0, 916, 0,
1873 0, 0, 0, 0, 1056, 0, 32, 0, 588, 0,
1874 0, 917, 590, 0, 0, 0, 485, 242, 246, 242,
1875 0, 0, 0, 843, 843, 0, 843, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 804, 0, 591,
1877 0, 591, 591, 696, 591, 0, 0, 861, 0, 0,
1878 0, 0, 187, 187, 1115, 0, 0, 0, 0, 242,
1879 0, 1145, 1145, 1145, 0, 0, 0, 0, 0, 0,
1880 0, 919, 919, 1117, 1117, 1117, 0, 0, 0, 919,
1881 0, 591, 654, 0, 1108, 78, 0, 0, 861, 0,
1882 445, 0, 0, 1115, 0, 0, 0, 0, 0, 0,
1883 0, 1117, 1117, 1117, 8, 9, 0, 388, 12, 13,
1884 0, 0, 694, 0, 14, 0, 617, 0, 0, 0,
1885 0, 0, 187, 0, 0, 0, 0, 861, 16, 0,
1886 17, 18, 189, 0, 0, 0, 20, 0, 0, 0,
1887 1149, 0, 0, 452, 0, 23, 1155, 585, 0, 0,
1888 0, 0, 0, 696, 26, 0, 130, 131, 0, 0,
1889 439, 441, 445, 0, 0, 696, 0, 0, 591, 0,
1890 586, 0, 0, 669, 0, 0, 670, 0, 0, 0,
1891 587, 672, 0, 0, 0, 0, 102, 0, 919, 919,
1892 588, 919, 0, 589, 590, 121, 102, 0, 696, 0,
1893 696, 0, 102, 102, 0, 102, 0, 0, 0, 0,
1894 396, 0, 398, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 485, 242, 189, 1203, 189,
1896 0, 0, 0, 0, 0, 0, 0, 220, 0, 0,
1897 0, 591, 0, 591, 754, 0, 0, 187, 187, 187,
1898 187, 1115, 0, 1229, 591, 187, 0, 0, 878, 878,
1899 878, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 1115, 1115, 1115,
1901 0, 0, 0, 0, 0, 861, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 374, 0, 121, 591,
1903 591, 591, 0, 0, 0, 102, 102, 0, 187, 0,
1904 0, 0, 102, 861, 102, 102, 102, 0, 0, 102,
1905 102, 102, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,
1907 878, 0, 0, 737, 0, 7, 8, 738, 10, 388,
1908 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1909 0, 0, 0, 0, 187, 187, 0, 187, 0, 0,
1910 16, 0, 17, 18, 19, 0, 0, 0, 20, -512,
1911 0, 0, 0, 21, 0, 0, 0, 23, 739, 0,
1912 648, 0, 0, 0, 467, 102, 26, 0, 27, 28,
1913 0, 0, 740, 187, 741, 187, 0, 0, 0, 446,
1914 446, 446, 30, 0, 0, 0, 102, 0, 0, 0,
1915 0, 0, 31, 0, 0, 0, 0, 0, 921, 0,
1916 32, 0, 0, 189, 0, 33, 8, 9, 0, 388,
1917 12, 13, 0, 0, 1500, 0, 14, 0, 0, 0,
1918 0, -512, 0, 0, 0, 102, 1149, 0, 0, 0,
1919 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
1920 0, 0, 0, 962, 0, 0, 0, 23, 0, 0,
1921 669, 670, 0, 672, 0, 0, 26, 0, 130, 131,
1922 0, 0, 0, 0, 591, 591, 591, 591, 591, 0,
1923 0, 0, 591, 102, 0, 102, 102, 7, 8, 9,
1924 10, 199, 200, 201, 754, 1115, 754, 0, 14, 0,
1925 0, 1005, 1012, 754, 878, 878, 878, 0, 0, 0,
1926 0, 0, 0, 0, 0, 18, 0, 0, 8, 9,
1927 20, 0, 12, 13, 0, 21, 0, 0, 14, 23,
1928 102, 585, 0, 0, 0, 0, 0, 0, 26, 0,
1929 27, 28, 16, 0, 17, 0, 0, 0, 0, 102,
1930 20, 0, 0, 102, 915, 0, 102, 0, 0, 23,
1931 0, 102, 0, 0, 916, 1115, 1115, 1115, 26, 0,
1932 130, 131, 32, 0, 588, 0, 0, 956, 590, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
1934 0, 591, 591, 0, 591, 0, 0, 0, 0, 0,
1935 0, 527, 0, 519, 0, 285, 8, 9, 10, 388,
1936 12, 286, 287, 288, 694, 289, 14, 0, 654, 0,
1937 0, 102, 0, 729, 0, 0, 0, 0, 0, 0,
1938 16, 290, 17, 18, 19, 0, 291, 292, 20, 0,
1939 293, 294, 295, 21, 296, 297, 0, 23, 102, 585,
1940 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
1941 -296, 0, 0, 305, 0, 0, 0, 141, 145, 306,
1942 0, 0, 874, 0, 0, 0, 0, 0, 0, 0,
1943 308, 309, 875, 0, 0, 0, 0, 0, 311, 312,
1944 313, 0, 588, 0, 0, 876, 590, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
1946 0, 0, 315, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 102, 102, 1005, 102, 102,
1949 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
1950 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1951 557, 558, 0, 0, 0, 0, 0, 0, 0, 754,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 102, 0, 0, 0, 0, 0, 0, 102, 121,
1955 684, 0, 795, 796, 797, 10, 0, 12, 501, 287,
1956 288, 220, 289, 14, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
1958 729, 19, 0, 291, 292, 20, 0, 293, 294, 295,
1959 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
1960 300, 301, 302, 26, 0, 798, 799, 685, 0, 0,
1961 305, 0, 396, 398, 0, 0, 306, 0, 0, 307,
1962 485, 0, 0, 0, 0, 0, 0, 308, 309, 310,
1963 0, 0, 0, 0, 0, 311, 312, 313, 729, 0,
1964 0, 102, 314, 800, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 948, 315,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 1309, 102, 102, 102, 0, 1309, 0,
1968 754, 0, 0, 0, 0, 0, 102, 537, 538, 539,
1969 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1970 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 1403, 0, -463, -463, -463, -463, -463, -463, -463, 669,
1973 670, -463, 672, -463, 0, 1193, 0, 0, 0, 0,
1974 0, 0, 0, 0, -463, 0, -463, 0, 0, 0,
1975 -463, 0, 0, 0, 0, -463, 0, 0, 0, 102,
1976 -463, 102, 0, 0, -463, 0, -463, 0, 0, 1377,
1977 0, 0, 102, -463, 0, -463, -463, -463, -463, -463,
1978 0, -463, -463, -463, -463, -463, -463, -463, -463, -463,
1979 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
1980 -463, -463, -463, -463, 0, -463, -463, -463, 0, -463,
1981 -463, -463, -463, -463, -463, 0, -463, 0, 0, 0,
1982 0, 1404, 0, 0, 0, 0, -463, -463, -463, 0,
1983 -463, 0, 0, 0, 0, 1380, 0, 1240, 1241, 1242,
1984 10, 388, 12, 286, 287, 288, 0, 289, 14, 1243,
1985 0, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252,
1986 1253, 15, 16, 290, 17, 18, 19, 0, 291, 292,
1987 20, 0, 293, 294, 295, 21, 296, 297, 1254, 23,
1988 1255, 0, 729, 298, 299, 300, 301, 302, 26, 0,
1989 1256, 304, 681, 0, 1257, 305, 0, 0, 0, 0,
1990 0, 306, 0, 0, 307, 0, 0, 0, 0, 102,
1991 0, 0, 308, 309, 310, 0, 0, 0, 0, 0,
1992 311, 312, 313, 0, 0, 0, 0, 314, 0, 1258,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 1381, 315, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 102, 102, 0, 102, 1239, 0,
1997 1240, 1241, 1242, 10, 388, 12, 286, 287, 288, 0,
1998 289, 14, 1243, 0, 1244, 1245, 1246, 1247, 1248, 1249,
1999 1250, 1251, 1252, 1253, 15, 16, 290, 17, 18, 19,
2000 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2001 297, 1254, 23, 1255, 0, 0, 298, 299, 300, 301,
2002 302, 26, 0, 1256, 304, 681, 729, 1257, 305, 0,
2003 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2004 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2005 0, 0, 0, 311, 312, 313, 0, 0, 729, 0,
2006 314, 519, 1258, 7, 8, 9, 10, 388, 12, 286,
2007 287, 288, 694, 289, 14, 0, 102, 315, 102, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2009 17, 18, 19, 0, 291, 292, 20, 0, 293, 294,
2010 295, 21, 296, 297, 0, 23, 0, 585, 0, 298,
2011 299, 300, 301, 302, 26, 0, 27, 28, -296, 0,
2012 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2013 1140, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2014 1141, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2015 588, 0, 0, 1142, 590, 693, 0, 285, 8, 9,
2016 10, 388, 12, 286, 287, 288, 694, 289, 14, 0,
2017 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 16, 290, 17, 18, 19, 0, 291, 292,
2019 20, 0, 293, 294, 295, 21, 296, 297, 0, 23,
2020 0, 0, 0, 298, 299, 300, 301, 302, 26, 0,
2021 27, 304, 0, 0, 0, 305, 0, 0, 0, 0,
2022 0, 306, 0, 0, 307, 0, 0, 0, 0, 0,
2023 0, 0, 308, 309, 310, 0, 0, 0, 0, 0,
2024 311, 312, 313, 0, 0, 0, 807, 314, 285, 8,
2025 9, 10, 388, 12, 286, 287, 288, 0, 289, 14,
2026 0, 0, -779, 0, 315, 0, 0, 0, 0, 0,
2027 0, 0, 0, 16, 290, 17, 18, 19, 0, 291,
2028 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2029 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2030 0, 27, 304, 1477, 0, -769, 305, 0, 0, 0,
2031 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2032 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2033 0, 311, 312, 313, 0, 0, 0, 684, 314, 795,
2034 796, 797, 10, 0, 12, 501, 287, 288, 0, 289,
2035 14, 0, 0, 0, 0, 315, 0, 0, 0, 0,
2036 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2037 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2038 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2039 26, 0, 798, 799, 685, 0, 0, 305, 0, 0,
2040 0, 0, 0, 306, 0, 0, 307, 0, 0, 0,
2041 0, 0, 0, 0, 308, 309, 310, 0, 0, 0,
2042 0, 0, 311, 312, 313, 0, 0, 0, 0, 314,
2043 800, 684, 0, 795, 796, 797, 10, 0, 12, 501,
2044 287, 288, 0, 289, 14, 0, 315, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2046 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2047 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2048 299, 300, 301, 302, 26, 0, 798, 799, 685, 0,
2049 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2050 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2051 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2052 0, 0, 684, 314, 795, 796, 797, 10, 0, 12,
2053 501, 287, 288, 0, 289, 14, 0, 0, 0, -467,
2054 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2055 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2056 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2057 298, 299, 300, 301, 302, 26, 0, 798, 799, 685,
2058 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2059 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2060 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2061 0, 0, 0, 684, 314, 285, 8, 9, 10, 0,
2062 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2063 1278, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2064 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2065 293, 294, 295, 21, 296, 297, 0, 23, 0, 0,
2066 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2067 685, 0, 0, 305, 0, 0, 0, 0, 0, 306,
2068 0, 0, 307, 0, 0, 0, 0, 0, 0, 0,
2069 308, 309, 310, 0, 0, 0, 0, 0, 311, 312,
2070 313, 0, 0, 0, 0, 314, 0, 519, 0, 285,
2071 8, 9, 10, 1282, 12, 286, 287, 288, 0, 289,
2072 14, 0, 315, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2074 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2075 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2076 26, 0, 27, 304, -296, 0, 0, 305, 0, 0,
2077 0, 0, 0, 306, 0, 0, 520, 0, 0, 0,
2078 0, 0, 0, 0, 308, 309, 521, 0, 0, 0,
2079 0, 0, 311, 312, 313, 0, 0, 0, 684, 522,
2080 285, 8, 9, 10, 0, 12, 501, 287, 288, 0,
2081 289, 14, 0, 0, 0, 0, 315, 0, 0, 0,
2082 0, 0, 0, 0, 0, 16, 290, 17, 0, 19,
2083 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2084 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2085 302, 26, 0, 27, 304, 685, 0, 0, 305, 0,
2086 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2087 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2088 0, 0, 0, 311, 312, 313, 0, 0, 0, 807,
2089 314, 285, 8, 9, 10, 0, 12, 501, 287, 288,
2090 0, 289, 14, 0, 0, 0, 0, 315, 0, 0,
2091 0, 0, 0, 0, 0, 0, 16, 290, 17, 0,
2092 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2093 296, 297, 0, 23, 0, 0, 0, 298, 299, 300,
2094 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2095 -769, 0, 0, 0, 0, 306, 0, 0, 307, 0,
2096 0, 0, 0, 0, 0, 0, 308, 309, 310, 0,
2097 0, 0, 0, 0, 311, 312, 313, 0, 0, 0,
2098 519, 314, 7, 8, 9, 10, 0, 12, 286, 287,
2099 288, 0, 289, 14, 0, 0, 0, 0, 315, 0,
2100 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
2101 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2102 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2103 300, 301, 302, 26, 0, 27, 28, -296, 0, 0,
2104 305, 0, 0, 0, 0, 0, 306, 0, 0, 1448,
2105 0, 0, 0, 0, 0, 0, 0, 308, 309, 1449,
2106 0, 0, 0, 0, 0, 311, 312, 313, 0, 0,
2107 0, 1529, 1450, 285, 8, 9, 10, 0, 12, 286,
2108 287, 288, 0, 289, 14, 0, 0, 0, 0, 315,
2109 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2110 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2111 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2112 299, 300, 301, 302, 26, 0, 27, 304, 0, 0,
2113 -183, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2114 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2115 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2116 0, 0, 807, 314, 285, 8, 9, 10, 0, 12,
2117 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2118 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2119 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2120 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2121 298, 299, 300, 301, 302, 26, 0, 27, 304, 0,
2122 0, 0, 305, 0, 0, 0, 0, 0, 306, 248,
2123 0, 307, 8, 9, 0, 0, 12, 13, 0, 308,
2124 309, 310, 14, 0, 0, 0, 0, 311, 312, 313,
2125 0, 0, 0, 0, 314, 0, 16, 0, 17, 0,
2126 0, 0, 0, 0, 20, 0, 249, 250, 0, -769,
2127 0, 315, 0, 23, 0, 251, 0, 0, 0, 0,
2128 0, 0, 26, 0, 130, 131, 0, 252, 0, 0,
2129 0, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2130 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2131 272, 273, 0, 0, 274, 275, 276, 0, 0, 277,
2132 0, 893, 278, 285, 8, 9, 10, 0, 12, 501,
2133 287, 288, 0, 289, 14, 0, 0, 0, 279, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2135 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2136 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2137 299, 300, 301, 302, 26, 0, 27, 304, 0, 0,
2138 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2139 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2140 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2141 0, 0, 895, 314, 285, 8, 9, 10, 0, 12,
2142 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2143 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2144 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2145 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2146 298, 299, 300, 301, 302, 26, 0, 27, 304, 0,
2147 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2148 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2149 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2150 0, 0, 0, 1461, 314, 285, 8, 9, 10, 0,
2151 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2152 0, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2153 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2154 293, 294, 295, 21, 296, 297, 0, 23, 0, 0,
2155 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2156 0, 0, 0, 305, 0, 0, 0, 0, 0, 306,
2157 0, 0, 307, 0, 0, 0, 0, 0, 0, 0,
2158 308, 309, 310, 0, 0, 0, 0, 0, 311, 312,
2159 313, 285, 8, 9, 10, 314, 12, 501, 287, 288,
2160 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 315, 0, 0, 0, 16, 290, 17, 0,
2162 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2163 296, 297, 0, 23, 0, 0, 0, 298, 299, 300,
2164 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2165 0, 0, 0, 0, 0, 306, 0, 737, 307, 7,
2166 8, 738, 10, 388, 12, 13, 308, 309, 310, 0,
2167 14, 0, 0, 0, 311, 312, 313, 0, 0, 0,
2168 0, 314, 0, 0, 16, 0, 17, 18, 19, 0,
2169 0, 0, 20, -511, 0, 0, 0, 21, 315, 846,
2170 0, 23, 739, 0, 648, 0, 0, 0, 0, 0,
2171 26, 0, 27, 28, 0, 0, 740, 0, 741, 0,
2172 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2174 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
2175 0, 0, 1240, 1241, 1242, 10, 388, 12, 286, 287,
2176 288, 0, 289, 14, 1243, -511, 1244, 1245, 1246, 1247,
2177 1248, 1249, 1250, 1251, 1252, 1253, 15, 16, 290, 17,
2178 18, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2179 21, 296, 297, 1254, 23, 1255, 0, 0, 298, 299,
2180 300, 301, 302, 26, 0, 1256, 304, 681, 0, 1257,
2181 305, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2182 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2183 0, 0, 0, 0, 0, 311, 312, 313, 0, 0,
2184 0, 0, 314, 0, 1258, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 1385, 315,
2186 1240, 1241, 1242, 10, 388, 12, 286, 287, 288, 0,
2187 289, 14, 1243, 0, 1244, 1245, 1246, 1247, 1248, 1249,
2188 1250, 1251, 1252, 1253, 15, 16, 290, 17, 18, 19,
2189 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2190 297, 1254, 23, 1255, 0, 0, 298, 299, 300, 301,
2191 302, 26, 0, 1256, 304, 681, 0, 1257, 305, 0,
2192 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2193 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2194 0, 0, 0, 311, 312, 313, 0, 0, 0, 0,
2195 314, 0, 1258, 0, 1240, 1241, 1242, 10, 388, 12,
2196 286, 287, 288, 0, 289, 14, 1243, 315, 1244, 1245,
2197 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 15, 16,
2198 290, 17, 18, 19, 0, 291, 292, 20, 0, 293,
2199 294, 295, 21, 296, 297, 1254, 23, 1255, 0, 0,
2200 298, 299, 300, 301, 302, 26, 0, 1256, 304, 1506,
2201 0, 1257, 305, 0, 0, 0, 0, 0, 306, 0,
2202 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2203 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2204 0, 0, 0, 0, 314, 0, 1258, 0, 1240, 1241,
2205 1242, 10, 388, 12, 286, 287, 288, 0, 289, 14,
2206 1243, 315, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
2207 1252, 1253, 15, 16, 290, 17, 18, 19, 0, 291,
2208 292, 20, 0, 293, 294, 295, 21, 296, 297, 1254,
2209 23, 1255, 0, 0, 298, 299, 300, 301, 302, 26,
2210 0, 1256, 304, 0, 0, 1257, 305, 0, 0, 0,
2211 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2212 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2213 0, 311, 312, 313, 0, 0, 0, 0, 314, 0,
2214 1258, 285, 8, 9, 10, 388, 12, 286, 287, 288,
2215 694, 289, 14, 0, 0, 315, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 16, 290, 17, 18,
2217 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2218 296, 297, 0, 23, 0, 585, 0, 298, 299, 300,
2219 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2220 0, 0, 0, 0, 0, 306, 0, 0, 874, 0,
2221 0, 0, 0, 0, 0, 0, 308, 309, 875, 0,
2222 0, 0, 0, 0, 311, 312, 313, 0, 588, 0,
2223 0, 876, 590, 7, 8, 9, 10, 388, 12, 286,
2224 287, 288, 694, 289, 14, 0, 0, 0, 315, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2226 17, 18, 19, 0, 291, 292, 20, 0, 293, 294,
2227 295, 21, 296, 297, 0, 23, 0, 585, 0, 298,
2228 299, 300, 301, 302, 26, 0, 27, 28, 0, 0,
2229 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2230 1140, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2231 1141, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2232 588, 0, 0, 1142, 590, 285, 8, 9, 10, 0,
2233 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2234 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2236 293, 294, 295, 21, 296, 297, 0, 23, 0, 585,
2237 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 306,
2239 0, 0, 874, 0, 0, 0, 0, 0, 0, 0,
2240 308, 309, 875, 0, 0, 0, 0, 0, 311, 312,
2241 313, 0, 588, 0, 0, 876, 590, 7, 8, 9,
2242 10, 0, 12, 286, 287, 288, 0, 289, 14, 0,
2243 0, 0, 315, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 16, 290, 17, 0, 19, 0, 291, 292,
2245 20, 0, 293, 294, 295, 21, 296, 297, 0, 23,
2246 0, 585, 0, 298, 299, 300, 301, 302, 26, 0,
2247 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 306, 0, 0, 1140, 0, 0, 0, 0, 0,
2249 0, 0, 308, 309, 1141, 0, 0, 0, 0, 0,
2250 311, 312, 313, 0, 588, 0, 0, 1142, 590, 285,
2251 8, 9, 10, 0, 12, 501, 287, 288, 0, 289,
2252 14, 0, 0, 0, 315, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2254 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2255 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2256 26, 0, 27, 304, 0, 0, 1358, 305, 0, 0,
2257 0, 0, 0, 306, 0, 0, 307, 0, 0, 0,
2258 0, 0, 0, 0, 308, 309, 310, 0, 0, 0,
2259 0, 0, 311, 312, 313, 0, 0, 0, 0, 314,
2260 285, 8, 9, 10, 388, 12, 286, 287, 288, 0,
2261 289, 14, 0, 0, 0, 0, 315, 0, 0, 0,
2262 0, 0, 0, 0, 0, 16, 290, 17, 18, 19,
2263 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2264 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2265 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2267 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2268 0, 0, 0, 311, 312, 313, 285, 8, 9, 10,
2269 314, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 315, 0, 0,
2271 0, 16, 290, 17, 0, 19, 0, 291, 292, 20,
2272 0, 293, 294, 295, 21, 296, 297, 0, 23, 0,
2273 0, 0, 298, 299, 300, 301, 302, 26, 0, 303,
2274 304, 0, 0, 0, 305, 0, 0, 0, 0, 0,
2275 306, 0, 0, 307, 0, 0, 0, 0, 0, 0,
2276 0, 308, 309, 310, 0, 0, 0, 0, 0, 311,
2277 312, 313, 285, 8, 9, 10, 314, 12, 286, 287,
2278 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 315, 0, 0, 0, 16, 290, 17,
2280 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2281 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2282 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2283 305, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2284 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2285 0, 0, 0, 0, 0, 311, 312, 313, 285, 8,
2286 9, 10, 314, 12, 501, 287, 288, 0, 289, 14,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2288 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2289 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2290 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2291 0, 27, 304, 0, 0, 0, 305, 0, 0, 0,
2292 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2293 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2294 0, 311, 312, 313, 285, 8, 9, 10, 314, 12,
2295 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2297 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2298 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2299 298, 299, 300, 301, 302, 26, 0, 27, 304, 534,
2300 0, 0, 0, 0, 0, 0, 0, 0, 306, 0,
2301 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2302 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2303 285, 8, 9, 10, 535, 12, 501, 287, 288, 0,
2304 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2305 0, 315, 0, 0, 0, 16, 290, 17, 0, 19,
2306 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2307 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2308 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2310 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2311 0, 0, 0, 311, 312, 313, 0, 0, 0, 0,
2312 314, 573, 285, 8, 9, 10, 0, 12, 501, 287,
2313 288, 0, 289, 14, 0, 0, 0, 315, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
2315 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2316 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2317 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2318 305, 0, 0, 0, 0, 0, 306, 0, 0, 520,
2319 0, 0, 0, 0, 0, 0, 0, 308, 309, 521,
2320 0, 0, 0, 0, 0, 311, 312, 313, 1101, 8,
2321 9, 10, 522, 12, 501, 287, 288, 0, 289, 14,
2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2323 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2324 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2325 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2326 0, 27, 304, 0, 0, 0, 305, 0, 0, 0,
2327 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2328 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2329 0, 311, 312, 313, 7, 8, 9, 10, 314, 12,
2330 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2331 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2332 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2333 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2334 298, 299, 300, 301, 302, 26, 0, 27, 28, 0,
2335 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2336 0, 1448, 0, 0, 0, 0, 0, 0, 0, 308,
2337 309, 1449, 0, 0, 0, 0, 0, 311, 312, 313,
2338 285, 8, 9, 10, 1450, 12, 501, 287, 288, 0,
2339 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2340 0, 315, 0, 0, 0, 16, 290, 17, 0, 19,
2341 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2342 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2343 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2345 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2346 0, 0, 0, 311, 312, 313, 285, 8, 9, 10,
2347 502, 12, 501, 287, 288, 0, 289, 14, 0, 0,
2348 0, 0, 0, 0, 0, 0, 0, 315, 0, 0,
2349 0, 16, 290, 17, 0, 19, 0, 291, 292, 20,
2350 0, 293, 294, 295, 21, 296, 297, 0, 23, 0,
2351 0, 0, 298, 299, 300, 301, 302, 26, 0, 27,
2352 304, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353 306, 0, 0, 307, 0, 0, 0, 0, 0, 0,
2354 0, 308, 309, 310, 0, 0, 0, 0, 0, 311,
2355 312, 313, 285, 8, 9, 10, 505, 12, 501, 287,
2356 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2357 0, 0, 0, 315, 0, 0, 0, 16, 290, 17,
2358 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2359 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2360 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2361 0, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2362 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2363 0, 0, 0, 0, 0, 311, 312, 313, 285, 8,
2364 9, 10, 314, 12, 501, 287, 288, 0, 289, 14,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2366 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2367 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2368 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2369 0, 27, 304, 0, 0, 0, 0, 0, 0, 0,
2370 0, 0, 306, 0, 0, 520, 0, 0, 0, 0,
2371 0, 0, 0, 308, 309, 521, 0, 0, 0, 0,
2372 0, 311, 312, 313, 7, 8, 9, 10, 522, 12,
2373 286, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2374 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2375 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2376 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2377 298, 299, 300, 301, 302, 26, 0, 27, 28, 0,
2378 0, 0, 0, 0, 0, 0, 0, 0, 306, 0,
2379 6, 1448, 7, 8, 9, 10, 11, 12, 13, 308,
2380 309, 1449, 0, 14, 0, 0, 0, 311, 312, 313,
2381 0, 0, 0, 0, 1450, 0, 15, 16, 0, 17,
2382 18, 19, 0, 0, 0, 20, 0, 0, 0, 0,
2383 21, 315, 0, 22, 23, 24, 0, 25, 0, 0,
2384 0, 0, 0, 26, 0, 27, 28, 0, 0, 29,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2386 0, 0, 0, 0, 0, 0, 0, 0, 162, 31,
2387 7, 8, 9, 10, 11, 12, 13, 32, 0, 0,
2388 0, 14, 33, 0, 0, 0, 0, 34, 0, 0,
2389 0, 0, 0, 0, 15, 16, 0, 17, 18, 19,
2390 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
2391 0, 22, 23, 24, 0, 25, 0, 0, 0, 0,
2392 0, 26, 0, 27, 28, 0, 0, 29, 0, 7,
2393 8, 9, 10, 388, 12, 13, 0, 30, 961, 0,
2394 14, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2395 0, 0, 0, 0, 16, 32, 17, 18, 0, 0,
2396 33, 0, 20, 0, 0, 34, 0, 21, 0, 0,
2397 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2398 26, 0, 27, 28, 995, 8, 738, 10, 190, 12,
2399 191, 0, 0, 0, 0, 14, 30, 0, 0, 0,
2400 0, 0, 0, 0, 0, 0, 31, 0, 0, 16,
2401 0, 17, 18, 0, 32, 0, 0, 20, 0, 33,
2402 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
2403 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2404 0, 0, 0, 997, 0, 0, 0, 0, 0, 0,
2405 0, 30, 7, 8, 9, 10, 190, 12, 191, 0,
2406 0, 31, 0, 14, 0, 0, 0, 0, 0, 32,
2407 0, 0, 0, 0, 33, 0, 0, 16, 0, 17,
2408 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2409 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2410 0, 0, 0, 26, 0, 27, 28, 0, 0, 1375,
2411 0, 7, 8, 9, 10, 388, 12, 13, 0, 30,
2412 0, 0, 14, 0, 0, 0, 0, 0, 0, 31,
2413 0, 0, 0, 0, 0, 0, 16, 32, 17, 18,
2414 0, 0, 33, 0, 20, 0, 0, 0, 0, 21,
2415 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2416 0, 0, 26, 0, 27, 28, 7, 8, 9, 10,
2417 190, 12, 191, 0, 0, 0, 0, 14, 30, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2419 0, 16, 0, 17, 18, 0, 32, 0, 0, 20,
2420 0, 33, 0, 0, 21, 0, 0, 0, 23, 0,
2421 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
2422 28, 7, 8, 9, 10, 199, 200, 201, 0, 0,
2423 0, 0, 14, 30, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 31, 0, 0, 0, 0, 0, 18,
2425 0, 32, 0, 0, 20, 0, 33, 0, 0, 21,
2426 0, 0, 0, 23, 0, 585, 0, 0, 0, 0,
2427 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 0, 0, 0, 178, 0,
2429 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
2430 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2431 0, 1378, 537, 538, 539, 540, 541, 542, 543, 544,
2432 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2433 555, 556, 557, 558, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 0, 626, 0, 0, 1496, 537, 538, 539,
2436 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2437 550, 551, 552, 553, 554, 555, 556, 557, 558, 1514,
2438 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2439 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2440 557, 558, 537, 538, 539, 540, 541, 542, 543, 544,
2441 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2445 static const short yycheck
[] = { 4,
2446 55, 157, 679, 676, 23, 236, 194, 334, 4, 387,
2447 46, 387, 4, 532, 471, 450, 4, 90, 340, 92,
2448 147, 148, 80, 33, 126, 589, 340, 835, 387, 54,
2449 35, 4, 596, 227, 358, 4, 134, 42, 84, 35,
2450 76, 202, 203, 35, 232, 569, 42, 35, 289, 290,
2451 42, 742, 57, 744, 42, 659, 194, 30, 31, 4,
2452 751, 124, 35, 4, 137, 203, 35, 72, 1340, 42,
2453 291, 292, 1259, 42, 133, 167, 423, 4, 1429, 84,
2454 47, 322, 1430, 88, 142, 90, 307, 92, 11, 310,
2455 35, 1269, 313, 281, 35, 316, 11, 42, 1276, 320,
2456 11, 42, 107, 108, 1431, 133, 134, 328, 35, 340,
2457 1477, 84, 57, 33, 12, 42, 62, 60, 458, 1163,
2458 1164, 14, 47, 1474, 37, 1, 93, 152, 1453, 9,
2459 188, 136, 137, 1177, 139, 475, 58, 759, 148, 149,
2460 0, 108, 64, 765, 136, 666, 334, 62, 1473, 59,
2461 3, 4, 5, 60, 1, 590, 161, 84, 1525, 80,
2462 185, 59, 198, 136, 62, 1, 109, 136, 93, 161,
2463 180, 4, 5, 0, 147, 148, 59, 504, 74, 526,
2464 59, 61, 58, 108, 1511, 108, 62, 74, 161, 109,
2465 83, 136, 161, 108, 47, 47, 109, 108, 108, 341,
2466 342, 54, 109, 56, 57, 178, 179, 1532, 1556, 136,
2467 108, 58, 25, 106, 27, 62, 161, 47, 47, 95,
2468 1571, 678, 58, 56, 57, 25, 109, 14, 48, 108,
2469 33, 3, 4, 5, 161, 22, 12, 428, 7, 38,
2470 93, 93, 94, 1430, 1516, 58, 54, 59, 95, 62,
2471 872, 197, 394, 395, 62, 54, 1434, 1301, 58, 205,
2472 416, 93, 62, 93, 93, 94, 1310, 1311, 37, 1313,
2473 343, 12, 331, 47, 33, 221, 93, 282, 65, 108,
2474 378, 327, 95, 59, 56, 57, 62, 609, 64, 93,
2475 649, 107, 108, 454, 455, 95, 108, 47, 93, 520,
2476 521, 462, 60, 331, 314, 1483, 910, 370, 80, 314,
2477 834, 59, 876, 474, 638, 442, 443, 455, 59, 93,
2478 94, 62, 327, 701, 27, 701, 247, 75, 31, 59,
2479 335, 60, 493, 680, 108, 390, 54, 124, 343, 344,
2480 233, 47, 54, 93, 147, 148, 149, 578, 25, 80,
2481 27, 109, 344, 917, 327, 1533, 74, 60, 64, 146,
2482 982, 64, 74, 54, 885, 58, 75, 888, 77, 62,
2483 697, 344, 994, 104, 47, 344, 47, 180, 108, 47,
2484 109, 58, 387, 74, 47, 62, 391, 93, 147, 148,
2485 149, 387, 956, 59, 1202, 914, 64, 107, 47, 344,
2486 327, 58, 133, 4, 5, 1027, 109, 1029, 929, 930,
2487 74, 142, 4, 5, 387, 1459, 1460, 344, 95, 54,
2488 93, 180, 93, 94, 74, 93, 499, 62, 464, 47,
2489 93, 436, 54, 443, 444, 222, 223, 108, 873, 74,
2490 25, 98, 27, 44, 93, 94, 64, 340, 25, 236,
2491 27, 4, 74, 54, 35, 56, 57, 188, 60, 54,
2492 387, 42, 54, 436, 56, 57, 54, 472, 47, 442,
2493 443, 613, 418, 58, 47, 93, 94, 62, 70, 74,
2494 472, 58, 35, 47, 62, 62, 74, 1178, 80, 42,
2495 25, 222, 502, 60, 499, 505, 74, 502, 314, 472,
2496 505, 47, 94, 472, 509, 510, 511, 512, 513, 436,
2497 95, 521, 522, 54, 93, 461, 247, 522, 95, 306,
2498 93, 1329, 59, 980, 570, 535, 31, 532, 194, 93,
2499 535, 472, 726, 911, 728, 911, 202, 203, 75, 733,
2500 77, 639, 4, 5, 47, 472, 62, 93, 646, 58,
2501 1114, 472, 911, 3, 4, 5, 448, 7, 719, 881,
2502 615, 348, 74, 47, 456, 570, 232, 881, 641, 44,
2503 357, 1092, 1093, 3, 4, 5, 6, 54, 1142, 54,
2504 30, 109, 57, 370, 589, 54, 596, 37, 58, 47,
2505 93, 596, 54, 62, 56, 57, 784, 570, 945, 47,
2506 655, 47, 657, 658, 54, 74, 56, 57, 339, 93,
2507 94, 41, 93, 586, 587, 281, 589, 433, 646, 3,
2508 4, 5, 6, 596, 54, 846, 56, 57, 647, 47,
2509 722, 1066, 54, 775, 736, 93, 641, 878, 54, 442,
2510 443, 444, 697, 570, 54, 93, 837, 93, 4, 5,
2511 881, 656, 75, 874, 875, 660, 47, 41, 88, 678,
2512 4, 5, 589, 108, 756, 47, 397, 1124, 334, 596,
2513 47, 108, 56, 57, 94, 93, 3, 4, 5, 6,
2514 59, 60, 469, 442, 443, 444, 502, 760, 761, 505,
2515 763, 108, 48, 509, 749, 1266, 701, 1268, 47, 1156,
2516 56, 57, 93, 62, 88, 54, 522, 600, 108, 745,
2517 746, 93, 56, 57, 41, 11, 93, 59, 754, 535,
2518 47, 59, 60, 539, 80, 74, 392, 54, 701, 56,
2519 57, 109, 74, 75, 1061, 77, 62, 742, 469, 744,
2520 3, 4, 5, 70, 93, 750, 751, 534, 74, 108,
2521 742, 567, 744, 80, 759, 760, 761, 573, 763, 751,
2522 765, 88, 904, 90, 93, 496, 93, 94, 778, 742,
2523 47, 744, 47, 742, 701, 744, 62, 54, 751, 54,
2524 59, 60, 751, 977, 978, 979, 759, 3, 454, 455,
2525 62, 578, 765, 56, 57, 58, 462, 74, 60, 74,
2526 111, 742, 74, 744, 749, 750, 8, 9, 474, 59,
2527 751, 94, 14, 4, 64, 742, 93, 744, 93, 83,
2528 84, 742, 108, 744, 751, 75, 1499, 493, 833, 750,
2529 751, 4, 759, 838, 36, 12, 62, 94, 765, 3,
2530 4, 5, 1519, 45, 35, 47, 111, 1068, 74, 62,
2531 27, 42, 583, 93, 31, 1046, 1047, 93, 59, 60,
2532 647, 866, 35, 74, 922, 875, 876, 872, 599, 42,
2533 47, 876, 659, 3, 4, 5, 6, 59, 60, 1021,
2534 1022, 1023, 59, 60, 74, 62, 74, 64, 74, 47,
2535 54, 93, 56, 57, 58, 987, 988, 59, 685, 872,
2536 11, 874, 875, 876, 109, 54, 911, 917, 913, 914,
2537 108, 41, 917, 62, 59, 911, 93, 94, 48, 1140,
2538 1141, 3, 4, 5, 1016, 74, 56, 57, 86, 87,
2539 985, 108, 54, 91, 92, 93, 94, 108, 911, 108,
2540 62, 1268, 915, 916, 917, 872, 956, 1138, 1006, 876,
2541 616, 956, 74, 108, 4, 5, 1147, 1148, 88, 59,
2542 60, 1152, 998, 54, 969, 74, 4, 5, 1004, 1005,
2543 975, 9, 1008, 1009, 56, 57, 1012, 982, 27, 772,
2544 773, 774, 31, 956, 911, 1112, 1113, 108, 881, 994,
2545 917, 109, 658, 4, 5, 27, 109, 1070, 48, 31,
2546 1062, 1063, 1193, 1065, 1351, 111, 56, 57, 111, 982,
2547 59, 60, 1017, 1140, 1141, 64, 54, 27, 56, 57,
2548 1367, 994, 1027, 108, 1029, 1017, 842, 59, 60, 956,
2549 80, 697, 70, 74, 3, 4, 5, 6, 1259, 74,
2550 985, 54, 80, 54, 1017, 56, 57, 54, 1017, 62,
2551 59, 60, 1057, 719, 1027, 982, 1029, 74, 1116, 70,
2552 876, 74, 3, 4, 5, 1070, 111, 994, 108, 80,
2553 58, 1213, 41, 54, 111, 108, 1017, 1169, 1170, 48,
2554 1172, 1173, 108, 1175, 108, 1006, 717, 56, 57, 1467,
2555 1017, 1467, 3, 4, 5, 8, 1017, 1288, 93, 111,
2556 1027, 47, 1029, 1113, 1114, 1124, 1453, 48, 64, 1114,
2557 897, 80, 4, 5, 917, 56, 57, 59, 784, 88,
2558 93, 54, 109, 910, 60, 64, 1473, 758, 54, 36,
2559 1135, 1141, 1142, 764, 64, 1326, 62, 1142, 108, 1112,
2560 1113, 1114, 64, 1135, 1471, 56, 57, 1135, 74, 880,
2561 60, 882, 64, 956, 62, 1502, 48, 108, 917, 975,
2562 108, 108, 1135, 108, 56, 57, 64, 1140, 1141, 1142,
2563 3, 4, 5, 1178, 7, 8, 9, 64, 3, 4,
2564 5, 6, 4, 5, 9, 1532, 1178, 1114, 80, 93,
2565 111, 922, 62, 1540, 1135, 4, 5, 956, 31, 59,
2566 59, 75, 108, 36, 75, 1178, 1298, 1299, 1135, 1178,
2567 88, 1266, 90, 1268, 92, 1142, 41, 80, 81, 82,
2568 83, 84, 47, 56, 57, 108, 48, 1448, 1449, 54,
2569 75, 56, 57, 108, 56, 57, 867, 1178, 869, 48,
2570 3, 4, 5, 6, 108, 70, 108, 56, 57, 9,
2571 108, 1178, 12, 1174, 1259, 80, 75, 1178, 80, 137,
2572 1047, 139, 1267, 88, 1269, 90, 108, 1259, 93, 94,
2573 62, 1276, 1308, 1309, 62, 1006, 108, 1269, 41, 62,
2574 1285, 1269, 108, 1471, 1276, 48, 1259, 47, 1276, 1445,
2575 108, 111, 94, 56, 57, 111, 1269, 88, 74, 59,
2576 47, 61, 62, 1276, 64, 1397, 1398, 1399, 108, 1112,
2577 1113, 1114, 108, 111, 111, 75, 109, 77, 1259, 108,
2578 60, 1448, 1449, 108, 108, 88, 1142, 108, 1269, 109,
2579 59, 64, 1259, 93, 94, 1276, 64, 1140, 1141, 1142,
2580 59, 1377, 1269, 59, 387, 1132, 4, 5, 108, 1276,
2581 108, 1138, 108, 1112, 1113, 1114, 93, 93, 1089, 4,
2582 5, 93, 93, 109, 1456, 1457, 109, 108, 1378, 108,
2583 1561, 8, 33, 1189, 1190, 1191, 1192, 3, 4, 5,
2584 6, 1140, 1141, 1142, 108, 1116, 8, 9, 111, 111,
2585 48, 108, 14, 436, 108, 1026, 108, 1028, 56, 57,
2586 3, 4, 5, 48, 7, 8, 9, 108, 64, 109,
2587 108, 56, 57, 108, 36, 41, 108, 1472, 108, 1424,
2588 108, 108, 80, 45, 1429, 1430, 1431, 305, 108, 1434,
2589 56, 57, 1524, 54, 108, 80, 1252, 1429, 1430, 1449,
2590 1450, 1429, 1434, 1174, 108, 1450, 1434, 62, 111, 47,
2591 96, 1424, 1083, 56, 57, 108, 1429, 1430, 1431, 108,
2592 108, 1434, 1467, 62, 60, 343, 1253, 1254, 1504, 1474,
2593 62, 3, 4, 5, 60, 1448, 1449, 60, 1483, 9,
2594 16, 108, 1474, 3, 4, 5, 1474, 93, 1429, 1430,
2595 108, 1483, 108, 1434, 1467, 1483, 108, 1424, 30, 108,
2596 108, 1474, 1429, 1430, 1431, 93, 1511, 1434, 60, 60,
2597 1483, 1327, 54, 93, 3, 4, 5, 6, 64, 7,
2598 8, 9, 54, 93, 56, 57, 14, 111, 1533, 1160,
2599 17, 60, 54, 1474, 1165, 107, 56, 57, 1511, 97,
2600 1467, 1533, 1483, 31, 1360, 1533, 589, 1474, 36, 108,
2601 428, 429, 41, 596, 60, 1342, 1483, 45, 436, 108,
2602 1533, 108, 429, 108, 11, 54, 1571, 56, 57, 436,
2603 60, 60, 60, 62, 60, 1378, 60, 1364, 1365, 1571,
2604 93, 70, 59, 1571, 1511, 64, 1217, 3, 4, 5,
2605 108, 80, 1533, 60, 108, 3, 4, 5, 1571, 88,
2606 108, 11, 1268, 60, 93, 11, 1533, 60, 1424, 0,
2607 0, 0, 415, 1365, 1430, 1431, 2, 639, 911, 1378,
2608 161, 499, 500, 78, 79, 80, 81, 82, 83, 84,
2609 1571, 4, 5, 500, 1450, 1498, 9, 161, 54, 1124,
2610 56, 57, 750, 94, 1571, 1448, 1449, 1450, 56, 57,
2611 1350, 3, 4, 5, 532, 1442, 534, 139, 701, 537,
2612 538, 1203, 540, 541, 542, 543, 544, 545, 546, 547,
2613 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
2614 558, 54, 560, 56, 57, 1571, 1317, 1318, 566, 1448,
2615 1449, 1450, 1267, 560, 284, 1511, 48, 70, 897, 566,
2616 685, 226, 1156, 1334, 56, 57, 980, 80, 3, 4,
2617 5, 1527, 892, 3, 4, 5, 759, 1017, 596, 750,
2618 1176, 94, 765, 622, 890, 603, 570, 185, 124, 331,
2619 1269, 1136, 1488, 1549, 1540, 429, 603, 1519, 1552, 1550,
2620 1556, 964, 436, -1, 3, 4, 5, 625, 626, 3,
2621 4, 5, 1285, 7, 8, 9, -1, -1, -1, 1390,
2622 1391, 56, 57, 641, 54, -1, 56, 57, -1, -1,
2623 -1, 3, 4, 5, 6, -1, -1, 31, 1409, 1410,
2624 -1, 57, 36, 59, -1, -1, -1, -1, 1, 65,
2625 3, 4, 5, 6, 7, 8, 9, 56, 57, -1,
2626 54, 14, 56, 57, 58, 1471, 500, 685, -1, 41,
2627 -1, -1, -1, -1, -1, 28, -1, 30, 31, -1,
2628 -1, -1, 54, 36, 56, 57, -1, -1, 41, 872,
2629 62, -1, 45, 876, -1, 48, -1, -1, 70, -1,
2630 -1, 54, -1, 56, 57, -1, -1, 60, 80, 103,
2631 104, 105, 7, 8, 9, -1, 88, 70, -1, 14,
2632 -1, 93, -1, 741, -1, -1, 560, 80, 911, -1,
2633 -1, -1, 566, -1, 917, 88, 31, -1, -1, -1,
2634 93, 36, 760, 761, -1, 763, 7, 8, 9, -1,
2635 45, 167, -1, 14, -1, -1, -1, -1, -1, -1,
2636 778, -1, 596, 3, 4, 5, 6, -1, -1, 603,
2637 31, 4, -1, 956, -1, 36, -1, -1, 194, -1,
2638 -1, 14, 800, -1, 45, -1, 202, 203, -1, -1,
2639 -1, 24, -1, -1, -1, -1, -1, 30, 31, 982,
2640 33, 41, 35, 3, 4, 5, 6, -1, 48, 42,
2641 -1, 994, -1, -1, 832, 833, 56, 57, -1, 837,
2642 838, -1, 55, -1, 57, 832, 833, -1, -1, -1,
2643 -1, 838, 65, -1, 852, -1, 854, -1, 856, 72,
2644 80, 41, -1, -1, 1027, 852, 1029, 854, 88, 856,
2645 83, 84, -1, -1, 54, -1, 56, 57, -1, -1,
2646 60, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2647 70, 889, 9, 106, -1, -1, -1, -1, -1, -1,
2648 80, 899, -1, -1, 7, 8, 9, -1, 88, -1,
2649 -1, 14, 899, 93, -1, -1, 914, -1, -1, -1,
2650 -1, 134, -1, 136, 41, -1, -1, 140, 31, 927,
2651 143, 144, -1, 36, 147, 148, 149, 54, -1, 56,
2652 57, 939, 45, -1, -1, -1, -1, -1, 161, 82,
2653 -1, 1114, 939, 70, -1, -1, -1, 60, 956, -1,
2654 -1, -1, -1, 80, 778, 178, 179, 180, -1, -1,
2655 -1, 88, -1, -1, -1, -1, 93, -1, -1, 1142,
2656 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
2657 -1, -1, -1, -1, 207, 391, 392, -1, -1, 997,
2658 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2659 223, 4, 5, -1, -1, -1, 9, -1, 832, 833,
2660 233, 41, 155, -1, 838, -1, -1, 3, 4, 5,
2661 6, 244, -1, 9, 54, -1, 56, 57, 852, -1,
2662 854, -1, 856, 176, -1, -1, -1, -1, 1046, 1047,
2663 70, 447, 1050, -1, 47, -1, 189, -1, 454, 455,
2664 80, 54, 458, 56, 57, 41, 462, -1, 88, 282,
2665 283, -1, 1070, 93, -1, -1, -1, 70, 54, 475,
2666 56, 57, -1, -1, -1, 899, -1, 80, -1, -1,
2667 -1, -1, -1, -1, 70, -1, -1, 90, -1, -1,
2668 93, 94, -1, -1, 80, -1, -1, -1, -1, -1,
2669 -1, -1, 88, -1, 327, -1, -1, 93, 331, -1,
2670 333, 334, 335, -1, -1, 939, -1, -1, 1126, -1,
2671 1128, 344, 1130, 3, 4, 5, 6, -1, -1, 1126,
2672 1138, 1128, 956, 1130, -1, -1, -1, -1, -1, 1147,
2673 1148, -1, -1, -1, 1152, -1, -1, -1, -1, -1,
2674 -1, 3, 4, 5, 6, 378, -1, 9, -1, 1167,
2675 1168, 41, -1, -1, 387, -1, -1, 390, 391, 3,
2676 4, 5, 6, -1, 54, -1, 56, 57, 401, -1,
2677 -1, 404, 62, -1, -1, 1193, 409, -1, -1, 41,
2678 70, -1, -1, -1, -1, 47, -1, -1, -1, -1,
2679 80, -1, 54, -1, 56, 57, -1, 41, 88, -1,
2680 616, -1, -1, 93, 48, 438, 1224, 440, 70, 442,
2681 443, 444, 56, 57, -1, 448, -1, 1224, 80, -1,
2682 453, -1, -1, 456, -1, -1, 88, -1, 90, -1,
2683 1248, 93, 94, -1, -1, -1, 80, -1, -1, 472,
2684 656, -1, 658, 659, 88, 71, 72, 73, 74, 75,
2685 76, 77, 78, 79, 80, 81, 82, 83, 84, 4,
2686 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2687 1288, -1, -1, -1, -1, -1, -1, 510, 511, 512,
2688 513, 697, -1, 28, 1467, 30, 1304, -1, -1, -1,
2689 -1, 36, 1126, 446, 1128, -1, 1130, -1, 451, -1,
2690 45, -1, 47, 719, -1, -1, 722, -1, 1326, 54,
2691 -1, 56, 57, -1, -1, -1, -1, -1, -1, 4,
2692 5, -1, -1, 476, 9, 70, -1, -1, -1, 482,
2693 3, 4, 5, 6, 750, 80, 9, 570, -1, 572,
2694 756, 494, 495, -1, 497, 90, -1, -1, 93, 94,
2695 -1, 584, -1, 586, 587, -1, 589, -1, -1, -1,
2696 1378, -1, 47, 596, -1, -1, -1, 600, 41, 54,
2697 -1, 56, 57, -1, 47, -1, -1, 1395, 1396, -1,
2698 -1, 54, 615, 56, 57, 70, 1404, -1, -1, -1,
2699 1224, -1, -1, -1, -1, 80, -1, 70, -1, -1,
2700 -1, -1, -1, -1, -1, 90, 639, 80, 93, 94,
2701 -1, -1, -1, 646, 1432, 88, -1, 90, -1, -1,
2702 93, 94, 655, 656, 657, 658, 659, 660, -1, 3,
2703 4, 5, 6, -1, -1, 3, 4, 5, 6, 592,
2704 593, 9, -1, -1, 597, -1, 3, 4, 5, 6,
2705 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
2706 -1, -1, -1, -1, 697, -1, -1, 41, 701, -1,
2707 -1, -1, -1, 41, 48, 708, 709, -1, 711, 333,
2708 334, 335, 56, 57, 41, -1, 54, -1, 56, 57,
2709 47, -1, -1, -1, 910, -1, -1, 54, -1, 56,
2710 57, -1, 70, -1, -1, -1, 739, -1, -1, 742,
2711 -1, 744, 80, 70, 88, -1, 749, 750, 751, -1,
2712 88, -1, -1, 80, -1, 93, 759, -1, -1, -1,
2713 -1, 88, 765, 90, -1, -1, 93, 94, -1, 772,
2714 773, 774, -1, 1561, 1378, -1, -1, -1, -1, -1,
2715 -1, 784, 67, 68, 69, 70, 71, 72, 73, 74,
2716 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2717 4, 987, 988, -1, -1, -1, -1, -1, -1, -1,
2718 14, 3, 4, 5, 6, -1, -1, -1, -1, 23,
2719 24, 3, 4, 5, 6, -1, 30, 31, -1, 33,
2720 1016, 35, -1, 4, 5, -1, -1, -1, 42, 3,
2721 4, 5, 6, 766, -1, 768, 38, 39, -1, 41,
2722 -1, 55, -1, 57, 857, -1, 859, -1, -1, 41,
2723 -1, 65, 54, 866, 56, 57, 48, 870, 72, 872,
2724 -1, 874, 875, 876, 56, 57, 47, 41, 881, -1,
2725 84, -1, -1, 54, 48, 56, 57, -1, 3, 4,
2726 5, 6, 56, 57, 9, -1, -1, -1, 80, 70,
2727 -1, -1, -1, -1, -1, -1, 88, -1, 911, 80,
2728 913, -1, 915, 916, 917, -1, 80, 840, 841, 90,
2729 843, -1, 93, 94, 88, -1, 41, -1, -1, -1,
2730 -1, -1, 136, -1, -1, -1, 140, -1, -1, 54,
2731 144, 56, 57, 147, 148, 149, -1, -1, 871, -1,
2732 -1, -1, -1, 956, -1, 70, -1, 161, -1, -1,
2733 -1, -1, 586, 587, -1, 80, 969, -1, -1, -1,
2734 -1, -1, -1, 88, 178, 179, 180, -1, 93, 982,
2735 -1, -1, 985, 1169, 1170, -1, 1172, 1173, -1, 1175,
2736 -1, 994, -1, -1, -1, -1, 919, -1, -1, 3,
2737 4, 5, 6, 207, 1007, 9, -1, -1, -1, -1,
2738 3, 4, 5, 6, 1017, -1, 9, -1, -1, -1,
2739 -1, -1, -1, -1, 1027, -1, 1029, -1, -1, -1,
2740 -1, 655, -1, 657, 658, -1, 660, 41, -1, -1,
2741 244, -1, -1, -1, -1, -1, -1, -1, 41, -1,
2742 54, -1, 56, 57, 1057, -1, -1, -1, 981, 1062,
2743 1063, 54, 1065, 56, 57, -1, 70, -1, -1, -1,
2744 993, -1, -1, 697, -1, -1, 80, 70, 282, 283,
2745 -1, 1267, 1268, -1, 88, -1, -1, 80, -1, 93,
2746 -1, 4, 5, -1, -1, 88, 9, -1, -1, -1,
2747 93, -1, -1, -1, -1, -1, -1, 1110, 1111, 1112,
2748 1113, 1114, 1298, 1299, -1, 1118, -1, -1, 3, 4,
2749 5, 6, -1, 327, 9, -1, -1, 331, -1, 333,
2750 334, 335, -1, -1, 47, -1, 340, 1140, 1141, 1142,
2751 344, 54, -1, 56, 57, -1, -1, -1, -1, -1,
2752 -1, -1, -1, -1, -1, 1078, 41, 70, -1, -1,
2753 784, -1, -1, -1, -1, -1, -1, 80, 1171, 54,
2754 -1, 56, 57, 1176, 378, 1178, -1, 90, -1, -1,
2755 93, 94, -1, 387, -1, 70, 390, 391, -1, -1,
2756 -1, -1, -1, -1, 1117, 80, -1, 401, -1, -1,
2757 404, -1, -1, 88, -1, 409, -1, -1, 93, -1,
2758 -1, 1397, 1398, 1399, -1, -1, -1, -1, -1, -1,
2759 -1, -1, -1, -1, 1227, 1228, -1, 1230, -1, -1,
2760 -1, -1, -1, 857, 438, 859, 440, -1, 442, 443,
2761 444, -1, -1, -1, 448, -1, 870, -1, -1, 453,
2762 874, 875, 456, -1, -1, -1, -1, 1180, -1, -1,
2763 -1, 1184, -1, 1266, 1267, 1268, -1, 471, 472, -1,
2764 1456, 1457, 3, 4, 5, 6, 7, 8, 9, -1,
2765 -1, 12, 1285, 14, -1, -1, -1, -1, -1, -1,
2766 -1, 915, 916, -1, -1, -1, 1219, 28, -1, 30,
2767 31, -1, -1, -1, -1, 36, 510, 511, 512, 513,
2768 41, -1, -1, -1, 45, -1, 47, -1, -1, -1,
2769 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
2770 6, -1, -1, -1, -1, -1, -1, -1, 1524, 70,
2771 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2772 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2773 -1, -1, 93, 94, -1, 41, 570, -1, 572, -1,
2774 1293, -1, -1, -1, 1297, 1378, -1, -1, 54, -1,
2775 56, 57, 586, 587, -1, 589, 62, -1, -1, -1,
2776 -1, -1, 596, -1, 70, -1, 1319, 1320, -1, -1,
2777 -1, -1, -1, -1, 80, 609, 3, 4, 5, 6,
2778 -1, 615, 88, -1, -1, -1, -1, 93, 68, 69,
2779 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2780 80, 81, 82, 83, 84, 639, -1, -1, -1, -1,
2781 -1, -1, -1, 647, 41, 1448, 1449, 1450, -1, -1,
2782 -1, 655, 656, 657, 658, 659, 660, 54, -1, 56,
2783 57, -1, -1, 60, 1467, -1, -1, -1, -1, 1472,
2784 -1, -1, -1, 70, 678, 3, 4, 5, 6, -1,
2785 -1, -1, -1, 80, -1, -1, 1110, 1111, 1112, 1113,
2786 -1, 88, -1, 697, 1118, -1, 93, 701, -1, -1,
2787 -1, -1, -1, -1, 708, 709, -1, 711, -1, -1,
2788 -1, -1, -1, 41, -1, -1, 1140, 1141, -1, -1,
2789 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2790 -1, -1, -1, -1, -1, 739, -1, -1, 742, -1,
2791 744, -1, 70, -1, -1, 749, 750, 751, -1, 4,
2792 5, -1, 80, 8, 9, 759, -1, 4, -1, 14,
2793 88, 765, -1, -1, -1, 93, -1, -1, 772, 773,
2794 774, -1, -1, 3, 4, 5, 6, -1, -1, -1,
2795 784, 36, -1, 30, 31, -1, 33, -1, 35, -1,
2796 45, -1, 47, -1, -1, 42, -1, -1, -1, 54,
2797 -1, 56, 57, 1227, 1228, -1, 1230, -1, 55, -1,
2798 57, 41, -1, -1, -1, 70, -1, -1, -1, -1,
2799 -1, -1, -1, -1, 54, 80, 56, 57, -1, -1,
2800 -1, -1, -1, 80, -1, 90, -1, -1, 93, 94,
2801 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 80, -1, -1, 857, -1, 859, -1, -1, 88, -1,
2803 -1, -1, 866, 93, -1, -1, 870, -1, 872, -1,
2804 874, 875, 876, -1, -1, -1, -1, 881, -1, -1,
2805 -1, -1, -1, -1, -1, -1, 133, 134, -1, 136,
2806 -1, -1, -1, 140, -1, 142, -1, 144, -1, -1,
2807 147, 148, 149, -1, -1, -1, -1, 911, -1, 913,
2808 -1, 915, 916, 917, 161, 69, 70, 71, 72, 73,
2809 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2810 84, 178, 179, 180, -1, -1, -1, -1, -1, -1,
2811 1, 188, 3, 4, 5, 6, 7, 8, 9, -1,
2812 -1, -1, 956, 14, 3, 4, 5, 6, -1, -1,
2813 207, -1, -1, -1, -1, 969, -1, 28, -1, 30,
2814 31, 32, -1, -1, -1, 36, 980, -1, 982, -1,
2815 41, 985, -1, -1, 45, 46, -1, 48, -1, -1,
2816 994, -1, 41, 54, -1, 56, 57, 244, -1, 60,
2817 -1, 62, -1, -1, -1, 54, -1, 56, 57, 70,
2818 -1, -1, -1, 1017, -1, -1, -1, -1, -1, 80,
2819 -1, 70, -1, 1027, -1, 1029, -1, 88, -1, -1,
2820 -1, 80, 93, -1, -1, -1, -1, 4, -1, 88,
2821 -1, -1, -1, -1, 93, 3, 4, 5, 6, 7,
2822 8, 9, -1, 1057, -1, -1, 14, -1, 1062, 1063,
2823 -1, 1065, -1, 30, 31, -1, 33, 314, 35, -1,
2824 28, -1, 30, 31, -1, 42, -1, -1, 36, -1,
2825 -1, -1, -1, 41, 331, -1, -1, 45, 55, -1,
2826 57, -1, 339, -1, -1, -1, 54, 344, 56, 57,
2827 -1, -1, 60, -1, -1, -1, 1110, 1111, 1112, 1113,
2828 1114, -1, 70, -1, 1118, -1, -1, -1, -1, -1,
2829 1124, -1, 80, -1, -1, -1, -1, -1, -1, -1,
2830 88, 378, -1, -1, -1, 93, 1140, 1141, 1142, -1,
2831 -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
2832 -1, -1, 1156, -1, 401, -1, -1, 404, -1, -1,
2833 -1, -1, 409, -1, -1, -1, -1, 1171, -1, 136,
2834 -1, -1, 1176, 140, 1178, -1, -1, 144, -1, -1,
2835 147, 148, 149, -1, -1, -1, -1, -1, -1, -1,
2836 -1, 438, -1, 440, 161, 442, 443, 444, -1, -1,
2837 -1, 448, -1, -1, -1, -1, 453, -1, -1, 456,
2838 -1, 178, 179, 180, 1, -1, 3, 4, 5, 6,
2839 -1, 8, -1, 1227, 1228, 472, 1230, -1, 63, 64,
2840 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2841 207, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2842 -1, 1255, -1, -1, 41, 502, -1, -1, 505, -1,
2843 -1, 48, 1266, 1267, 1268, -1, -1, 54, -1, 56,
2844 57, -1, -1, 520, 521, 522, -1, 244, -1, -1,
2845 -1, 1285, -1, -1, -1, -1, -1, -1, 535, -1,
2846 -1, -1, -1, -1, 4, 5, -1, -1, 8, 9,
2847 -1, 88, -1, -1, 14, -1, -1, -1, -1, -1,
2848 178, 179, 180, -1, -1, -1, -1, -1, 28, -1,
2849 30, -1, -1, -1, -1, 1, 36, 3, 4, 5,
2850 6, 7, 8, 9, -1, 45, 583, -1, 14, -1,
2851 -1, -1, -1, -1, 54, -1, 56, 57, 58, 596,
2852 -1, -1, 28, -1, 30, 31, 32, -1, -1, -1,
2853 36, 37, -1, -1, -1, 41, -1, -1, 615, 45,
2854 46, -1, 48, 340, 1378, -1, -1, 344, 54, -1,
2855 56, 57, -1, 93, 60, -1, 62, -1, -1, -1,
2856 -1, -1, 639, -1, 70, -1, -1, -1, -1, 646,
2857 -1, -1, -1, -1, 80, -1, -1, -1, 655, 656,
2858 657, 658, 88, -1, 33, -1, -1, 93, -1, -1,
2859 -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
2860 -1, -1, -1, 109, 401, -1, 55, 404, -1, -1,
2861 -1, -1, 409, -1, 1448, 1449, 1450, -1, -1, -1,
2862 697, -1, -1, -1, 701, -1, -1, -1, -1, -1,
2863 -1, 708, 709, 1467, 711, -1, -1, -1, 1472, -1,
2864 -1, 438, -1, 440, -1, 442, 443, 444, -1, -1,
2865 -1, 448, -1, -1, -1, -1, 453, -1, -1, 456,
2866 -1, -1, -1, -1, -1, 742, -1, 744, -1, -1,
2867 -1, -1, 749, 750, 751, 472, -1, -1, -1, -1,
2868 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2869 -1, -1, -1, 14, -1, -1, -1, -1, 147, 148,
2870 149, 778, -1, -1, -1, -1, -1, 28, -1, 30,
2871 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2872 41, -1, -1, -1, 45, 46, -1, 48, -1, 178,
2873 179, 180, -1, 54, -1, 56, 57, -1, -1, 60,
2874 438, 62, 440, -1, 442, 443, 444, -1, -1, 70,
2875 -1, -1, -1, -1, -1, 453, -1, -1, 207, 80,
2876 -1, 4, 5, -1, -1, 8, 9, 88, -1, -1,
2877 -1, 14, 93, -1, -1, -1, -1, -1, -1, -1,
2878 -1, -1, 55, -1, -1, -1, -1, 584, 109, -1,
2879 -1, 4, 5, 36, -1, 8, 9, 874, 875, 876,
2880 -1, 14, 45, 880, 47, -1, -1, 80, -1, -1,
2881 83, 54, -1, 56, 57, 28, -1, 30, 615, -1,
2882 -1, -1, -1, 36, -1, -1, -1, 70, -1, -1,
2883 -1, 104, 45, 106, 283, -1, -1, 80, 915, 916,
2884 917, 54, -1, 56, 57, 922, -1, 90, -1, -1,
2885 93, 94, -1, -1, -1, -1, -1, -1, 655, 656,
2886 657, 658, -1, -1, -1, -1, -1, -1, 107, 108,
2887 -1, -1, -1, -1, -1, -1, -1, -1, -1, 956,
2888 93, -1, -1, -1, 333, 334, 335, 72, 73, 74,
2889 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2890 697, -1, -1, -1, 701, 178, 179, 180, 985, -1,
2891 -1, 708, 709, -1, 711, 188, 73, 74, 75, 76,
2892 77, 78, 79, 80, 81, 82, 83, 84, -1, 1006,
2893 -1, -1, 4, 5, 207, 7, 8, 9, -1, -1,
2894 1017, 390, 14, -1, -1, 742, -1, 744, -1, -1,
2895 -1, -1, 749, 750, 751, -1, 28, -1, 30, 31,
2896 233, -1, -1, -1, 36, -1, -1, -1, -1, -1,
2897 -1, -1, -1, 45, 247, -1, 48, -1, -1, -1,
2898 -1, -1, 54, -1, 56, 57, -1, -1, -1, 438,
2899 -1, 440, -1, 442, 443, 444, -1, -1, -1, 448,
2900 -1, -1, -1, -1, 453, -1, -1, 456, -1, -1,
2901 708, 709, 1089, 711, 70, 71, 72, 73, 74, 75,
2902 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2903 -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1, 1116,
2904 -1, 1118, -1, -1, 3, 4, 5, 6, 7, 8,
2905 9, 749, -1, -1, -1, 14, -1, -1, -1, -1,
2906 -1, -1, -1, 1140, 1141, 1142, 339, 340, -1, 28,
2907 -1, 30, 31, -1, -1, 314, -1, 36, -1, -1,
2908 -1, -1, 41, -1, 881, -1, 45, -1, 47, -1,
2909 -1, -1, -1, -1, 1171, 54, -1, 56, 57, 1176,
2910 -1, 1178, -1, -1, 4, 5, -1, -1, 8, 9,
2911 -1, 70, -1, -1, 14, -1, -1, 390, 915, 916,
2912 917, 80, -1, 572, -1, -1, -1, -1, 28, 88,
2913 30, 90, -1, -1, 93, 94, 36, 586, 587, -1,
2914 589, -1, -1, -1, -1, 45, -1, 596, 387, -1,
2915 1227, 1228, -1, 1230, 54, -1, 56, 57, -1, 956,
2916 -1, -1, -1, -1, -1, 438, 615, 440, -1, 442,
2917 443, 444, 12, -1, -1, 448, -1, -1, -1, -1,
2918 453, -1, -1, 456, -1, -1, -1, -1, 985, 1266,
2919 1267, 1268, -1, -1, -1, -1, -1, 436, -1, -1,
2920 -1, -1, -1, -1, -1, -1, 655, -1, 657, 658,
2921 -1, 660, -1, -1, -1, -1, -1, 915, 916, 917,
2922 1017, -1, 62, 63, 64, 65, 66, 67, 68, 69,
2923 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2924 80, 81, 82, 83, 84, -1, -1, -1, 697, -1,
2925 -1, -1, -1, -1, -1, -1, -1, -1, 956, 708,
2926 709, -1, 711, 502, -1, -1, 505, -1, -1, -1,
2927 509, 510, 511, 512, 513, -1, -1, -1, -1, -1,
2928 -1, -1, -1, 522, -1, -1, -1, 985, -1, -1,
2929 -1, -1, -1, -1, -1, -1, 535, -1, -1, -1,
2930 749, 1378, -1, -1, -1, -1, -1, 333, 334, 335,
2931 -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1, -1,
2932 -1, 1118, -1, 772, 773, 774, 599, 600, -1, -1,
2933 -1, -1, -1, -1, -1, 784, 4, 5, -1, 7,
2934 8, 9, 615, 1140, 1141, 1142, 14, -1, -1, -1,
2935 589, -1, -1, -1, -1, -1, -1, 596, -1, -1,
2936 28, -1, 30, 31, -1, -1, 4, -1, 36, -1,
2937 -1, 1448, 1449, 1450, 1171, -1, -1, 45, -1, 1176,
2938 -1, 1178, 655, -1, 657, 658, 54, -1, 56, 57,
2939 -1, -1, 30, 31, -1, 1472, -1, 35, -1, -1,
2940 -1, -1, -1, -1, 42, -1, -1, -1, 857, -1,
2941 859, -1, 1110, 1111, 1112, 1113, 1114, -1, -1, 57,
2942 1118, 870, -1, -1, 697, 874, 875, 876, -1, -1,
2943 1227, 1228, -1, 1230, -1, 708, 709, -1, 711, -1,
2944 -1, -1, 1140, 1141, 1142, -1, -1, -1, -1, -1,
2945 -1, 4, 5, -1, 7, 8, 9, -1, -1, 12,
2946 -1, 14, 701, 736, -1, -1, 915, 916, 917, 1266,
2947 1267, 1268, -1, 1171, -1, 28, 749, 30, 31, -1,
2948 -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
2949 -1, -1, 45, -1, -1, -1, -1, -1, 136, -1,
2950 -1, 54, 140, 56, 57, -1, 144, 956, -1, -1,
2951 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2952 759, -1, 14, 161, -1, -1, 765, -1, -1, 1227,
2953 1228, -1, 1230, -1, -1, -1, 985, -1, -1, 31,
2954 178, 179, -1, -1, 36, -1, -1, -1, -1, 41,
2955 -1, -1, -1, 45, -1, 47, -1, -1, -1, -1,
2956 586, 587, 54, 589, 56, 57, -1, -1, -1, -1,
2957 596, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2958 -1, 1378, -1, -1, -1, -1, -1, -1, 80, -1,
2959 -1, -1, -1, -1, 833, -1, 88, -1, 90, -1,
2960 -1, 93, 94, -1, -1, -1, 244, 880, 881, 882,
2961 -1, -1, -1, 1062, 1063, -1, 1065, -1, -1, -1,
2962 -1, -1, -1, -1, -1, -1, -1, 866, -1, 655,
2963 -1, 657, 658, 872, 660, -1, -1, 876, -1, -1,
2964 -1, -1, 915, 916, 917, -1, -1, -1, -1, 922,
2965 -1, 1448, 1449, 1450, -1, -1, -1, -1, -1, -1,
2966 -1, 1110, 1111, 1112, 1113, 1114, -1, -1, -1, 1118,
2967 -1, 697, 911, -1, 913, 1472, -1, -1, 917, -1,
2968 1378, -1, -1, 956, -1, -1, -1, -1, -1, -1,
2969 -1, 1140, 1141, 1142, 4, 5, -1, 7, 8, 9,
2970 -1, -1, 12, -1, 14, -1, 344, -1, -1, -1,
2971 -1, -1, 985, -1, -1, -1, -1, 956, 28, -1,
2972 30, 31, 1171, -1, -1, -1, 36, -1, -1, -1,
2973 969, -1, -1, 1006, -1, 45, 975, 47, -1, -1,
2974 -1, -1, -1, 982, 54, -1, 56, 57, -1, -1,
2975 1448, 1449, 1450, -1, -1, 994, -1, -1, 784, -1,
2976 70, -1, -1, 401, -1, -1, 404, -1, -1, -1,
2977 80, 409, -1, -1, -1, -1, 14, -1, 1227, 1228,
2978 90, 1230, -1, 93, 94, 23, 24, -1, 1027, -1,
2979 1029, -1, 30, 31, -1, 33, -1, -1, -1, -1,
2980 438, -1, 440, -1, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, -1, 453, 1089, 1266, 1057, 1268,
2982 -1, -1, -1, -1, -1, -1, -1, 65, -1, -1,
2983 -1, 857, -1, 859, 472, -1, -1, 1110, 1111, 1112,
2984 1113, 1114, -1, 1116, 870, 1118, -1, -1, 874, 875,
2985 876, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, 1140, 1141, 1142,
2987 -1, -1, -1, -1, -1, 1114, -1, -1, -1, -1,
2988 -1, -1, -1, -1, -1, -1, 124, -1, 126, 915,
2989 916, 917, -1, -1, -1, 133, 134, -1, 1171, -1,
2990 -1, -1, 140, 1142, 142, 143, 144, -1, -1, 147,
2991 148, 149, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1378,
2993 956, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2994 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2995 -1, -1, -1, -1, 1227, 1228, -1, 1230, -1, -1,
2996 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
2997 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
2998 48, -1, -1, -1, 222, 223, 54, -1, 56, 57,
2999 -1, -1, 60, 1266, 62, 1268, -1, -1, -1, 1448,
3000 1449, 1450, 70, -1, -1, -1, 244, -1, -1, -1,
3001 -1, -1, 80, -1, -1, -1, -1, -1, 656, -1,
3002 88, -1, -1, 1472, -1, 93, 4, 5, -1, 7,
3003 8, 9, -1, -1, 12, -1, 14, -1, -1, -1,
3004 -1, 109, -1, -1, -1, 283, 1285, -1, -1, -1,
3005 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3006 -1, -1, -1, 701, -1, -1, -1, 45, -1, -1,
3007 708, 709, -1, 711, -1, -1, 54, -1, 56, 57,
3008 -1, -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1,
3009 -1, -1, 1118, 331, -1, 333, 334, 3, 4, 5,
3010 6, 7, 8, 9, 742, 1378, 744, -1, 14, -1,
3011 -1, 749, 750, 751, 1140, 1141, 1142, -1, -1, -1,
3012 -1, -1, -1, -1, -1, 31, -1, -1, 4, 5,
3013 36, -1, 8, 9, -1, 41, -1, -1, 14, 45,
3014 378, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3015 56, 57, 28, -1, 30, -1, -1, -1, -1, 397,
3016 36, -1, -1, 401, 70, -1, 404, -1, -1, 45,
3017 -1, 409, -1, -1, 80, 1448, 1449, 1450, 54, -1,
3018 56, 57, 88, -1, 90, -1, -1, 93, 94, -1,
3019 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1472,
3020 -1, 1227, 1228, -1, 1230, -1, -1, -1, -1, -1,
3021 -1, 1450, -1, 1, -1, 3, 4, 5, 6, 7,
3022 8, 9, 10, 11, 12, 13, 14, -1, 1467, -1,
3023 -1, 469, -1, 471, -1, -1, -1, -1, -1, -1,
3024 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3025 38, 39, 40, 41, 42, 43, -1, 45, 496, 47,
3026 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3027 58, -1, -1, 61, -1, -1, -1, 915, 916, 67,
3028 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3029 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3030 88, -1, 90, -1, -1, 93, 94, -1, -1, -1,
3031 -1, -1, -1, -1, -1, -1, -1, -1, 31, -1,
3032 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, -1, 572, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, -1, 583, 584, 985, 586, 587,
3035 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3036 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3037 83, 84, -1, -1, -1, -1, -1, -1, -1, 1017,
3038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3040 -1, 639, -1, -1, -1, -1, -1, -1, 646, 647,
3041 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3042 11, 659, 13, 14, -1, -1, -1, -1, -1, -1,
3043 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3044 678, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3045 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3046 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3047 61, -1, 1110, 1111, -1, -1, 67, -1, -1, 70,
3048 1118, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3049 -1, -1, -1, -1, -1, 86, 87, 88, 736, -1,
3050 -1, 739, 93, 94, -1, -1, -1, -1, -1, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3053 -1, -1, -1, 1171, 772, 773, 774, -1, 1176, -1,
3054 1178, -1, -1, -1, -1, -1, 784, 63, 64, 65,
3055 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3056 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3058 1, -1, 3, 4, 5, 6, 7, 8, 9, 1227,
3059 1228, 12, 1230, 14, -1, 111, -1, -1, -1, -1,
3060 -1, -1, -1, -1, 25, -1, 27, -1, -1, -1,
3061 31, -1, -1, -1, -1, 36, -1, -1, -1, 857,
3062 41, 859, -1, -1, 45, -1, 47, -1, -1, 1267,
3063 -1, -1, 870, 54, -1, 56, 57, 58, 59, 60,
3064 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3065 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3066 81, 82, 83, 84, -1, 86, 87, 88, -1, 90,
3067 91, 92, 93, 94, 95, -1, 97, -1, -1, -1,
3068 -1, 102, -1, -1, -1, -1, 107, 108, 109, -1,
3069 111, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3070 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3071 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3072 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3073 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3074 46, -1, 980, 49, 50, 51, 52, 53, 54, -1,
3075 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3076 -1, 67, -1, -1, 70, -1, -1, -1, -1, 1007,
3077 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3078 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3080 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, -1, -1, -1, 1062, 1063, -1, 1065, 1, -1,
3083 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3084 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3085 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3086 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3087 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3088 53, 54, -1, 56, 57, 58, 1124, 60, 61, -1,
3089 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3090 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3091 -1, -1, -1, 86, 87, 88, -1, -1, 1156, -1,
3092 93, 1, 95, 3, 4, 5, 6, 7, 8, 9,
3093 10, 11, 12, 13, 14, -1, 1174, 110, 1176, -1,
3094 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3095 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3096 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3097 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3098 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3099 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3100 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3101 90, -1, -1, 93, 94, 1, -1, 3, 4, 5,
3102 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3103 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3105 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3106 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3107 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3108 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3109 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3110 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3111 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3112 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3113 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3114 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3115 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3116 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3117 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3118 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3119 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3120 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3121 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3122 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3123 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3124 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3125 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3126 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3127 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3128 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3129 94, 1, -1, 3, 4, 5, 6, -1, 8, 9,
3130 10, 11, -1, 13, 14, -1, 110, -1, -1, -1,
3131 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3132 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3133 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3134 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3135 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3136 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3137 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3138 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3139 9, 10, 11, -1, 13, 14, -1, -1, -1, 109,
3140 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3141 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3142 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3143 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3144 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3145 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3146 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3147 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3148 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3149 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3150 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3151 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3152 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3153 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3154 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3155 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3156 88, -1, -1, -1, -1, 93, -1, 1, -1, 3,
3157 4, 5, 6, 101, 8, 9, 10, 11, -1, 13,
3158 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3159 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3160 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3161 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3162 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3163 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3164 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3165 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3166 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3167 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3168 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3169 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3170 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3171 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3172 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3173 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3174 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3175 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3176 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3177 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3178 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3179 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3180 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3181 62, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3182 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3183 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3184 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3185 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3186 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3187 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3188 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3189 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3190 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3191 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3192 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3193 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3194 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3195 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3196 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3197 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3198 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3199 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3200 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3201 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3202 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3203 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3204 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3205 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3206 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3207 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3208 -1, -1, 61, -1, -1, -1, -1, -1, 67, 1,
3209 -1, 70, 4, 5, -1, -1, 8, 9, -1, 78,
3210 79, 80, 14, -1, -1, -1, -1, 86, 87, 88,
3211 -1, -1, -1, -1, 93, -1, 28, -1, 30, -1,
3212 -1, -1, -1, -1, 36, -1, 38, 39, -1, 108,
3213 -1, 110, -1, 45, -1, 47, -1, -1, -1, -1,
3214 -1, -1, 54, -1, 56, 57, -1, 59, -1, -1,
3215 -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3216 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3217 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
3218 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3219 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3220 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3221 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3222 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3223 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3224 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3225 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3226 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3227 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3228 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3229 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3230 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3231 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3232 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3233 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3234 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3235 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3236 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3237 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3238 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3239 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3240 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3241 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3242 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3243 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3244 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3245 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3246 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3247 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3248 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3249 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3250 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3251 -1, -1, -1, -1, -1, 67, -1, 1, 70, 3,
3252 4, 5, 6, 7, 8, 9, 78, 79, 80, -1,
3253 14, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3254 -1, 93, -1, -1, 28, -1, 30, 31, 32, -1,
3255 -1, -1, 36, 37, -1, -1, -1, 41, 110, 111,
3256 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
3257 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3258 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3260 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3261 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3262 11, -1, 13, 14, 15, 109, 17, 18, 19, 20,
3263 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3264 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3265 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3266 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3267 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3268 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3269 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3270 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3271 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3272 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3273 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3274 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3275 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3276 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3277 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3278 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3279 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3280 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3281 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3282 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3283 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3284 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3285 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
3286 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3287 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3288 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3289 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3290 -1, -1, -1, -1, 93, -1, 95, -1, 3, 4,
3291 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3292 15, 110, 17, 18, 19, 20, 21, 22, 23, 24,
3293 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3294 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3295 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3296 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3297 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3298 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3299 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3300 95, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3301 12, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3302 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3303 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3304 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3305 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3306 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3307 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3308 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3309 -1, 93, 94, 3, 4, 5, 6, 7, 8, 9,
3310 10, 11, 12, 13, 14, -1, -1, -1, 110, -1,
3311 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3312 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3313 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3314 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3315 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3316 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3317 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3318 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3319 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3320 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3321 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3322 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3323 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3324 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3325 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3326 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3327 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
3328 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3329 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3330 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3331 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3332 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3333 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3334 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3335 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3336 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
3337 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3338 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3339 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3340 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3341 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3342 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3343 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3344 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3345 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3346 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3347 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3348 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3349 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3350 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3351 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3352 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3353 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3354 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3355 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3356 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3357 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3358 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3359 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3360 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3361 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3362 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3363 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3364 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3365 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3366 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3367 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3368 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3369 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3370 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3371 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3372 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3373 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3374 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3375 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3376 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3377 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3378 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3379 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3380 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3381 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3382 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3383 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3384 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3385 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3386 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3387 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3388 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3389 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3390 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3391 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3392 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3393 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3394 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3395 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3396 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3397 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3398 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3399 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3400 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3401 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3402 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3403 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3404 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3405 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3406 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3407 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3408 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3409 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3410 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3411 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3412 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3413 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3414 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3415 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3416 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3417 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3418 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3419 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3420 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3421 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3422 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3423 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3424 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3425 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3426 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3427 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3428 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3429 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3430 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3431 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3432 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3433 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3434 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3435 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3436 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3437 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3438 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3439 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3440 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3441 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3442 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3443 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3444 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3445 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3446 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3447 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3448 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3449 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3450 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3451 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3452 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3453 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3454 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3455 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3456 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3457 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3458 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3459 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3460 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3461 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3462 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3463 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3464 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3465 1, 70, 3, 4, 5, 6, 7, 8, 9, 78,
3466 79, 80, -1, 14, -1, -1, -1, 86, 87, 88,
3467 -1, -1, -1, -1, 93, -1, 27, 28, -1, 30,
3468 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
3469 41, 110, -1, 44, 45, 46, -1, 48, -1, -1,
3470 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3471 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3472 -1, -1, -1, -1, -1, -1, -1, -1, 1, 80,
3473 3, 4, 5, 6, 7, 8, 9, 88, -1, -1,
3474 -1, 14, 93, -1, -1, -1, -1, 98, -1, -1,
3475 -1, -1, -1, -1, 27, 28, -1, 30, 31, 32,
3476 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
3477 -1, 44, 45, 46, -1, 48, -1, -1, -1, -1,
3478 -1, 54, -1, 56, 57, -1, -1, 60, -1, 3,
3479 4, 5, 6, 7, 8, 9, -1, 70, 12, -1,
3480 14, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3481 -1, -1, -1, -1, 28, 88, 30, 31, -1, -1,
3482 93, -1, 36, -1, -1, 98, -1, 41, -1, -1,
3483 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3484 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
3485 9, -1, -1, -1, -1, 14, 70, -1, -1, -1,
3486 -1, -1, -1, -1, -1, -1, 80, -1, -1, 28,
3487 -1, 30, 31, -1, 88, -1, -1, 36, -1, 93,
3488 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3490 -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
3491 -1, 70, 3, 4, 5, 6, 7, 8, 9, -1,
3492 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
3493 -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3494 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3495 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3496 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3497 -1, 3, 4, 5, 6, 7, 8, 9, -1, 70,
3498 -1, -1, 14, -1, -1, -1, -1, -1, -1, 80,
3499 -1, -1, -1, -1, -1, -1, 28, 88, 30, 31,
3500 -1, -1, 93, -1, 36, -1, -1, -1, -1, 41,
3501 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3502 -1, -1, 54, -1, 56, 57, 3, 4, 5, 6,
3503 7, 8, 9, -1, -1, -1, -1, 14, 70, -1,
3504 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3505 -1, 28, -1, 30, 31, -1, 88, -1, -1, 36,
3506 -1, 93, -1, -1, 41, -1, -1, -1, 45, -1,
3507 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3508 57, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3509 -1, -1, 14, 70, -1, -1, -1, -1, -1, -1,
3510 -1, -1, -1, 80, -1, -1, -1, -1, -1, 31,
3511 -1, 88, -1, -1, 36, -1, 93, -1, -1, 41,
3512 -1, -1, -1, 45, -1, 47, -1, -1, -1, -1,
3513 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3514 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3515 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3516 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3517 -1, 93, 63, 64, 65, 66, 67, 68, 69, 70,
3518 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3519 81, 82, 83, 84, -1, -1, -1, -1, -1, -1,
3520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3521 -1, -1, -1, 59, -1, -1, 107, 63, 64, 65,
3522 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3523 76, 77, 78, 79, 80, 81, 82, 83, 84, 62,
3524 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3525 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3526 83, 84, 63, 64, 65, 66, 67, 68, 69, 70,
3527 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3530 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3531 #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3533 /* Skeleton output parser for bison,
3534 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3536 This program is free software; you can redistribute it and/or modify
3537 it under the terms of the GNU General Public License as published by
3538 the Free Software Foundation; either version 2, or (at your option)
3541 This program is distributed in the hope that it will be useful,
3542 but WITHOUT ANY WARRANTY; without even the implied warranty of
3543 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3544 GNU General Public License for more details.
3546 You should have received a copy of the GNU General Public License
3547 along with this program; if not, write to the Free Software
3548 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3550 /* As a special exception, when this file is copied by Bison into a
3551 Bison output file, you may use that output file without restriction.
3552 This special exception was added by the Free Software Foundation
3553 in version 1.24 of Bison. */
3557 #define alloca __builtin_alloca
3558 #else /* not GNU C. */
3559 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3561 #else /* not sparc */
3562 #if defined (MSDOS) && !defined (__TURBOC__)
3564 #else /* not MSDOS, or __TURBOC__ */
3568 #else /* not MSDOS, __TURBOC__, or _AIX */
3572 void *alloca (unsigned int);
3574 #else /* not __cplusplus */
3576 #endif /* not __cplusplus */
3578 #endif /* not _AIX */
3579 #endif /* not MSDOS, or __TURBOC__ */
3580 #endif /* not sparc. */
3581 #endif /* not GNU C. */
3582 #endif /* alloca not defined. */
3584 /* This is the parser code that is written into each bison parser
3585 when the %semantic_parser declaration is not specified in the grammar.
3586 It was written by Richard Stallman by simplifying the hairy parser
3587 used when %semantic_parser is specified. */
3589 /* Note: there must be only one dollar sign in this file.
3590 It is replaced by the list of actions, each action
3591 as one case of the switch. */
3593 #define yyerrok (yyerrstatus = 0)
3594 #define yyclearin (yychar = YYEMPTY)
3597 #define YYACCEPT return(0)
3598 #define YYABORT return(1)
3599 #define YYERROR goto yyerrlab1
3600 /* Like YYERROR except do call yyerror.
3601 This remains here temporarily to ease the
3602 transition to the new meaning of YYERROR, for GCC.
3603 Once GCC version 2 has supplanted version 1, this can go. */
3604 #define YYFAIL goto yyerrlab
3605 #define YYRECOVERING() (!!yyerrstatus)
3606 #define YYBACKUP(token, value) \
3608 if (yychar == YYEMPTY && yylen == 1) \
3609 { yychar = (token), yylval = (value); \
3610 yychar1 = YYTRANSLATE (yychar); \
3615 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3619 #define YYERRCODE 256
3622 #define YYLEX yylex()
3628 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3630 #define YYLEX yylex(&yylval, &yylloc)
3632 #else /* not YYLSP_NEEDED */
3634 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3636 #define YYLEX yylex(&yylval)
3638 #endif /* not YYLSP_NEEDED */
3641 /* If nonreentrant, generate the variables here */
3645 int yychar
; /* the lookahead symbol */
3646 YYSTYPE yylval
; /* the semantic value of the */
3647 /* lookahead symbol */
3650 YYLTYPE yylloc
; /* location data for the lookahead */
3654 int yynerrs
; /* number of parse errors so far */
3655 #endif /* not YYPURE */
3658 int yydebug
; /* nonzero means print parse trace */
3659 /* Since this is uninitialized, it does not stop multiple parsers
3663 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3666 #define YYINITDEPTH 200
3669 /* YYMAXDEPTH is the maximum size the stacks can grow to
3670 (effective only if the built-in stack extension method is used). */
3677 #define YYMAXDEPTH 10000
3680 /* Prevent warning if -Wstrict-prototypes. */
3685 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3686 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3687 #else /* not GNU C or C++ */
3690 /* This is the most reliable way to avoid incompatibilities
3691 in available built-in functions on various systems. */
3693 __yy_memcpy (to
, from
, count
)
3698 register char *f
= from
;
3699 register char *t
= to
;
3700 register int i
= count
;
3706 #else /* __cplusplus */
3708 /* This is the most reliable way to avoid incompatibilities
3709 in available built-in functions on various systems. */
3711 __yy_memcpy (char *to
, char *from
, int count
)
3713 register char *f
= from
;
3714 register char *t
= to
;
3715 register int i
= count
;
3724 #line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3726 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3727 into yyparse. The argument should have type void *.
3728 It should actually point to an object.
3729 Grammar actions can access the variable by casting it
3730 to the proper pointer type. */
3732 #ifdef YYPARSE_PARAM
3734 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3735 #define YYPARSE_PARAM_DECL
3736 #else /* not __cplusplus */
3737 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3738 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3739 #endif /* not __cplusplus */
3740 #else /* not YYPARSE_PARAM */
3741 #define YYPARSE_PARAM_ARG
3742 #define YYPARSE_PARAM_DECL
3743 #endif /* not YYPARSE_PARAM */
3746 yyparse(YYPARSE_PARAM_ARG
)
3749 register int yystate
;
3751 register short *yyssp
;
3752 register YYSTYPE
*yyvsp
;
3753 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3754 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3756 short yyssa
[YYINITDEPTH
]; /* the state stack */
3757 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3759 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3760 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3763 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3764 YYLTYPE
*yyls
= yylsa
;
3767 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3769 #define YYPOPSTACK (yyvsp--, yyssp--)
3772 int yystacksize
= YYINITDEPTH
;
3783 YYSTYPE yyval
; /* the variable used to return */
3784 /* semantic values from the action */
3791 fprintf(stderr
, "Starting parse\n");
3797 yychar
= YYEMPTY
; /* Cause a token to be read. */
3799 /* Initialize stack pointers.
3800 Waste one element of value and location stack
3801 so that they stay on the same level as the state stack.
3802 The wasted elements are never initialized. */
3810 /* Push a new state, which is found in yystate . */
3811 /* In all cases, when you get here, the value and location stacks
3812 have just been pushed. so pushing a state here evens the stacks. */
3817 if (yyssp
>= yyss
+ yystacksize
- 1)
3819 /* Give user a chance to reallocate the stack */
3820 /* Use copies of these so that the &'s don't force the real ones into memory. */
3821 YYSTYPE
*yyvs1
= yyvs
;
3822 short *yyss1
= yyss
;
3824 YYLTYPE
*yyls1
= yyls
;
3827 /* Get the current used size of the three stacks, in elements. */
3828 int size
= yyssp
- yyss
+ 1;
3831 /* Each stack pointer address is followed by the size of
3832 the data in use in that stack, in bytes. */
3834 /* This used to be a conditional around just the two extra args,
3835 but that might be undefined if yyoverflow is a macro. */
3836 yyoverflow("parser stack overflow",
3837 &yyss1
, size
* sizeof (*yyssp
),
3838 &yyvs1
, size
* sizeof (*yyvsp
),
3839 &yyls1
, size
* sizeof (*yylsp
),
3842 yyoverflow("parser stack overflow",
3843 &yyss1
, size
* sizeof (*yyssp
),
3844 &yyvs1
, size
* sizeof (*yyvsp
),
3848 yyss
= yyss1
; yyvs
= yyvs1
;
3852 #else /* no yyoverflow */
3853 /* Extend the stack our own way. */
3854 if (yystacksize
>= YYMAXDEPTH
)
3856 yyerror("parser stack overflow");
3860 if (yystacksize
> YYMAXDEPTH
)
3861 yystacksize
= YYMAXDEPTH
;
3862 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3863 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3864 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3865 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3867 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3868 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3870 #endif /* no yyoverflow */
3872 yyssp
= yyss
+ size
- 1;
3873 yyvsp
= yyvs
+ size
- 1;
3875 yylsp
= yyls
+ size
- 1;
3880 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3883 if (yyssp
>= yyss
+ yystacksize
- 1)
3889 fprintf(stderr
, "Entering state %d\n", yystate
);
3895 /* Do appropriate processing given the current state. */
3896 /* Read a lookahead token if we need one and don't already have one. */
3899 /* First try to decide what to do without reference to lookahead token. */
3901 yyn
= yypact
[yystate
];
3905 /* Not known => get a lookahead token if don't already have one. */
3907 /* yychar is either YYEMPTY or YYEOF
3908 or a valid token in external form. */
3910 if (yychar
== YYEMPTY
)
3914 fprintf(stderr
, "Reading a token: ");
3919 /* Convert token to internal form (in yychar1) for indexing tables with */
3921 if (yychar
<= 0) /* This means end of input. */
3924 yychar
= YYEOF
; /* Don't call YYLEX any more */
3928 fprintf(stderr
, "Now at end of input.\n");
3933 yychar1
= YYTRANSLATE(yychar
);
3938 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3939 /* Give the individual parser a way to print the precise meaning
3940 of a token, for further debugging info. */
3942 YYPRINT (stderr
, yychar
, yylval
);
3944 fprintf (stderr
, ")\n");
3950 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3955 /* yyn is what to do for this token type in this state.
3956 Negative => reduce, -yyn is rule number.
3957 Positive => shift, yyn is new state.
3958 New state is final state => don't bother to shift,
3959 just return success.
3960 0, or most negative number => error. */
3975 /* Shift the lookahead token. */
3979 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3982 /* Discard the token being shifted unless it is eof. */
3983 if (yychar
!= YYEOF
)
3991 /* count tokens shifted since error; after three, turn off error status. */
3992 if (yyerrstatus
) yyerrstatus
--;
3997 /* Do the default action for the current state. */
4000 yyn
= yydefact
[yystate
];
4004 /* Do a reduction. yyn is the number of a rule to reduce with. */
4008 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4015 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4018 /* Print the symbols being reduced, and their result. */
4019 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4020 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4021 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4030 { finish_translation_unit (); ;
4034 { yyval
.ttype
= NULL_TREE
; ;
4038 { yyval
.ttype
= NULL_TREE
; ;
4042 { yyval
.ttype
= NULL_TREE
; ;
4046 { have_extern_spec
= 1;
4047 used_extern_spec
= 0;
4048 yyval
.ttype
= NULL_TREE
; ;
4052 { have_extern_spec
= 0; ;
4056 { yyval
.itype
= pedantic
;
4061 { if (pending_lang_change
) do_pending_lang_change(); ;
4065 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4066 pop_everything (); ;
4070 { if (pending_inlines
) do_pending_inlines (); ;
4074 { if (pending_inlines
) do_pending_inlines (); ;
4078 { if (pending_inlines
) do_pending_inlines (); ;
4082 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4083 assemble_asm (yyvsp
[-2].ttype
); ;
4087 { pop_lang_context (); ;
4091 { if (pending_inlines
) do_pending_inlines ();
4092 pop_lang_context (); ;
4096 { if (pending_inlines
) do_pending_inlines ();
4097 pop_lang_context (); ;
4101 { push_namespace (yyvsp
[-1].ttype
); ;
4105 { pop_namespace (); ;
4109 { push_namespace (NULL_TREE
); ;
4113 { pop_namespace (); ;
4117 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4121 { pedantic
= yyvsp
[-1].itype
; ;
4125 { begin_only_namespace_names (); ;
4130 end_only_namespace_names ();
4132 yyvsp
[-1].ttype
= lastiddecl
;
4133 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4138 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4142 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4146 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4150 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4154 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4158 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4162 { begin_only_namespace_names (); ;
4167 end_only_namespace_names ();
4168 /* If no declaration was found, the using-directive is
4169 invalid. Since that was not reported, we need the
4170 identifier for the error message. */
4171 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4172 yyvsp
[-1].ttype
= lastiddecl
;
4173 do_using_directive (yyvsp
[-1].ttype
);
4179 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4180 yyval
.ttype
= lastiddecl
;
4181 got_scope
= yyval
.ttype
;
4187 yyval
.ttype
= yyvsp
[-1].ttype
;
4188 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4189 yyval
.ttype
= lastiddecl
;
4190 got_scope
= yyval
.ttype
;
4195 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4199 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4203 { push_lang_context (yyvsp
[0].ttype
); ;
4207 { if (current_lang_name
!= yyvsp
[0].ttype
)
4208 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4209 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4213 { begin_template_parm_list (); ;
4217 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4221 { begin_specialization();
4222 yyval
.ttype
= NULL_TREE
; ;
4226 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4230 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4234 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4238 { yyval
.ttype
= NULL_TREE
; ;
4242 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4246 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4250 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4254 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4258 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4262 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4266 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4270 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4275 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4276 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4277 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4279 error ("invalid default template argument");
4280 yyvsp
[0].ttype
= error_mark_node
;
4282 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4288 if (yyvsp
[-1].ttype
)
4289 end_template_decl ();
4291 end_specialization ();
4297 if (yyvsp
[-1].ttype
)
4298 end_template_decl ();
4300 end_specialization ();
4310 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4315 { pedwarn ("empty declaration"); ;
4321 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4323 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4328 { yyval
.itype
= 0; ;
4332 { yyval
.itype
= 1; ;
4336 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4348 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4352 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4356 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4357 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4362 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4366 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4370 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4371 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4376 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4380 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4384 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4385 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4390 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4394 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4398 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4399 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4404 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4409 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4414 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4419 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4424 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4429 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4433 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4437 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4441 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4445 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4446 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4450 if (yychar
== YYEMPTY
)
4452 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4456 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4460 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4461 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4465 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4466 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4470 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4474 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4475 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4479 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4484 if (! current_function_parms_stored
)
4485 store_parm_decls ();
4486 yyval
.ttype
= yyvsp
[0].ttype
;
4491 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4495 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4499 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4504 if (yyvsp
[0].itype
== 0)
4505 error ("no base initializers given following ':'");
4507 /* Always keep the BLOCK node associated with the outermost
4508 pair of curley braces of a function. These are needed
4509 for correct operation of dwarfout.c. */
4516 if (! current_function_parms_stored
)
4517 store_parm_decls ();
4519 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4521 /* Make a contour for the initializer list. */
4524 expand_start_bindings (0);
4526 else if (current_class_type
== NULL_TREE
)
4527 error ("base initializers not allowed for non-member functions");
4528 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4529 error ("only constructors take base initializers");
4534 { yyval
.itype
= 0; ;
4538 { yyval
.itype
= 1; ;
4543 if (current_class_name
)
4544 pedwarn ("anachronistic old style base class initializer");
4545 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4551 if (current_class_name
)
4552 pedwarn ("anachronistic old style base class initializer");
4553 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4558 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4562 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4566 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4570 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4574 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4579 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4584 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4585 yyungetc (';', 1); ;
4589 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4590 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4594 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4598 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4602 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4603 yyungetc (';', 1); ;
4607 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4608 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4612 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4616 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4620 { begin_explicit_instantiation(); ;
4624 { end_explicit_instantiation(); ;
4629 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4630 if (yyval
.ttype
!= error_mark_node
)
4631 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4637 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4638 if (yyval
.ttype
!= error_mark_node
)
4639 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4645 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4646 if (yyval
.ttype
!= error_mark_node
)
4647 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4653 /* Handle `Class<Class<Type>>' without space in the `>>' */
4654 pedwarn ("`>>' should be `> >' in template class name");
4660 { yyval
.ttype
= NULL_TREE
; ;
4664 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4668 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4672 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4676 { yyval
.ttype
= lastiddecl
; ;
4680 { yyval
.code
= NEGATE_EXPR
; ;
4684 { yyval
.code
= CONVERT_EXPR
; ;
4688 { yyval
.code
= PREINCREMENT_EXPR
; ;
4692 { yyval
.code
= PREDECREMENT_EXPR
; ;
4696 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4700 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4704 { error ("ANSI C++ forbids an empty condition for `%s'",
4706 yyval
.ttype
= integer_zero_node
; ;
4710 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4714 { error ("ANSI C++ forbids an empty condition for `%s'",
4716 yyval
.ttype
= integer_zero_node
; ;
4720 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4724 { yyval
.ttype
= NULL_TREE
; ;
4728 { yyval
.ttype
= NULL_TREE
; ;
4734 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4735 if (TREE_CODE (d
) == TYPE_DECL
) {
4736 tree s
= TREE_TYPE (d
);
4737 if (TREE_CODE (s
) == RECORD_TYPE
)
4738 cp_error ("definition of class `%T' in condition", s
);
4739 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4740 cp_error ("definition of enum `%T' in condition", s
);
4743 current_declspecs
= yyvsp
[-4].ftype
.t
;
4744 yyvsp
[0].itype
= suspend_momentary ();
4745 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4746 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4752 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4753 resume_momentary (yyvsp
[-2].itype
);
4754 yyval
.ttype
= yyvsp
[-1].ttype
;
4755 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4756 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4760 #line 1010 "parse.y"
4761 { yyval
.ttype
= begin_compound_stmt (1); ;
4764 #line 1012 "parse.y"
4765 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4768 #line 1019 "parse.y"
4769 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4770 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4773 #line 1022 "parse.y"
4774 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4775 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4778 #line 1025 "parse.y"
4779 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4782 #line 1027 "parse.y"
4783 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4786 #line 1032 "parse.y"
4787 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4790 #line 1038 "parse.y"
4791 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4794 #line 1041 "parse.y"
4795 { yyval
.ttype
= yyvsp
[0].ttype
;
4796 pedantic
= yyvsp
[-1].itype
; ;
4799 #line 1044 "parse.y"
4800 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4803 #line 1046 "parse.y"
4804 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4807 #line 1048 "parse.y"
4808 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4811 #line 1050 "parse.y"
4812 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4815 #line 1053 "parse.y"
4817 pedwarn ("ANSI C++ forbids `&&'");
4818 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4821 #line 1057 "parse.y"
4822 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4825 #line 1059 "parse.y"
4826 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4829 #line 1061 "parse.y"
4830 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4833 #line 1063 "parse.y"
4834 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4835 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4838 #line 1069 "parse.y"
4839 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4840 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4843 #line 1072 "parse.y"
4844 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4845 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4848 #line 1075 "parse.y"
4849 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4850 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4853 #line 1078 "parse.y"
4854 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4855 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4858 #line 1091 "parse.y"
4859 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4860 NULL_TREE
, yyvsp
[-4].itype
);
4861 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4864 #line 1096 "parse.y"
4865 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4866 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4869 #line 1100 "parse.y"
4870 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
4871 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4874 #line 1104 "parse.y"
4875 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
4876 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4879 #line 1108 "parse.y"
4880 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4883 #line 1110 "parse.y"
4884 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4885 if (yychar
== YYEMPTY
)
4889 #line 1114 "parse.y"
4890 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4891 if (yychar
== YYEMPTY
)
4895 #line 1118 "parse.y"
4896 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4899 #line 1120 "parse.y"
4900 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4903 #line 1130 "parse.y"
4904 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
4907 #line 1133 "parse.y"
4908 { yyval
.itype
= begin_new_placement (); ;
4911 #line 1137 "parse.y"
4912 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4915 #line 1139 "parse.y"
4916 { cp_pedwarn ("old style placement syntax, use () instead");
4917 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4920 #line 1145 "parse.y"
4921 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4924 #line 1147 "parse.y"
4925 { yyval
.ttype
= NULL_TREE
; ;
4928 #line 1149 "parse.y"
4930 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4931 yyval
.ttype
= error_mark_node
;
4935 #line 1157 "parse.y"
4938 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4939 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4940 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4941 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4943 yyval
.ttype
= yyvsp
[0].ttype
;
4947 #line 1171 "parse.y"
4948 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4949 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4950 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4953 #line 1175 "parse.y"
4954 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4955 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4956 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4959 #line 1183 "parse.y"
4960 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4963 #line 1185 "parse.y"
4965 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4966 nreverse (yyvsp
[-2].ttype
));
4968 pedwarn ("ANSI C++ forbids constructor-expressions");
4969 /* Indicate that this was a GNU C constructor expression. */
4970 TREE_HAS_CONSTRUCTOR (init
) = 1;
4972 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4976 #line 1201 "parse.y"
4977 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4980 #line 1203 "parse.y"
4981 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4984 #line 1205 "parse.y"
4985 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4988 #line 1207 "parse.y"
4989 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4992 #line 1209 "parse.y"
4993 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4996 #line 1211 "parse.y"
4997 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5000 #line 1213 "parse.y"
5001 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5004 #line 1215 "parse.y"
5005 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5008 #line 1217 "parse.y"
5009 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5012 #line 1219 "parse.y"
5013 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5016 #line 1221 "parse.y"
5017 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5020 #line 1223 "parse.y"
5021 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5024 #line 1225 "parse.y"
5025 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5028 #line 1227 "parse.y"
5029 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5032 #line 1229 "parse.y"
5033 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5036 #line 1231 "parse.y"
5037 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5040 #line 1233 "parse.y"
5041 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5044 #line 1235 "parse.y"
5045 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5048 #line 1237 "parse.y"
5049 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5052 #line 1239 "parse.y"
5053 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5056 #line 1241 "parse.y"
5057 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5058 if (yyval
.ttype
!= error_mark_node
)
5059 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5062 #line 1245 "parse.y"
5063 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5066 #line 1247 "parse.y"
5067 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5070 #line 1249 "parse.y"
5071 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5074 #line 1267 "parse.y"
5075 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5078 #line 1276 "parse.y"
5079 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
); ;
5082 #line 1280 "parse.y"
5083 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5086 #line 1282 "parse.y"
5087 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5090 #line 1287 "parse.y"
5091 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5094 #line 1289 "parse.y"
5095 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5098 #line 1292 "parse.y"
5099 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5102 #line 1304 "parse.y"
5103 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5106 #line 1306 "parse.y"
5107 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5110 #line 1308 "parse.y"
5111 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5114 #line 1313 "parse.y"
5115 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5118 #line 1315 "parse.y"
5119 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5122 #line 1323 "parse.y"
5123 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5126 #line 1328 "parse.y"
5128 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5129 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5131 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5135 #line 1337 "parse.y"
5137 if (processing_template_decl
)
5138 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5139 yyval
.ttype
= combine_strings (yyval
.ttype
);
5140 if (processing_template_decl
)
5145 #line 1345 "parse.y"
5146 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5149 #line 1347 "parse.y"
5150 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5151 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5154 #line 1350 "parse.y"
5155 { yyval
.ttype
= error_mark_node
; ;
5158 #line 1352 "parse.y"
5159 { if (current_function_decl
== 0)
5161 error ("braced-group within expression allowed only inside a function");
5165 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5166 yyval
.ttype
= begin_stmt_expr ();
5170 #line 1362 "parse.y"
5171 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5174 #line 1367 "parse.y"
5175 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5178 #line 1369 "parse.y"
5179 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5182 #line 1371 "parse.y"
5183 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5186 #line 1373 "parse.y"
5187 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5190 #line 1375 "parse.y"
5191 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5194 #line 1377 "parse.y"
5195 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5198 #line 1379 "parse.y"
5199 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5202 #line 1382 "parse.y"
5203 { yyval
.ttype
= finish_this_expr (); ;
5206 #line 1384 "parse.y"
5208 tree type
= NULL_TREE
;
5209 tree id
= yyval
.ttype
;
5211 /* This is a C cast in C++'s `functional' notation. */
5212 if (yyvsp
[-1].ttype
== error_mark_node
)
5214 yyval
.ttype
= error_mark_node
;
5218 if (yyvsp
[-1].ttype
== NULL_TREE
)
5220 error ("cannot cast null list to type `%s'",
5221 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5222 yyval
.ttype
= error_mark_node
;
5227 /* type is not set! (mrs) */
5228 if (type
== error_mark_node
)
5229 yyval
.ttype
= error_mark_node
;
5233 if (id
== ridpointers
[(int) RID_CONST
])
5234 type
= build_type_variant (integer_type_node
, 1, 0);
5235 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5236 type
= build_type_variant (integer_type_node
, 0, 1);
5238 /* should not be able to get here (mrs) */
5239 else if (id
== ridpointers
[(int) RID_FRIEND
])
5241 error ("cannot cast expression to `friend' type");
5242 yyval
.ttype
= error_mark_node
;
5246 else my_friendly_abort (79);
5247 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5252 #line 1429 "parse.y"
5253 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5254 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5255 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5258 #line 1433 "parse.y"
5259 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5260 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5261 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5264 #line 1437 "parse.y"
5265 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5266 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5267 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5270 #line 1441 "parse.y"
5271 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5272 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5273 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5276 #line 1445 "parse.y"
5277 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5280 #line 1447 "parse.y"
5281 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5282 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5283 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5286 #line 1451 "parse.y"
5287 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5290 #line 1453 "parse.y"
5291 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5294 #line 1455 "parse.y"
5296 got_scope
= NULL_TREE
;
5297 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5298 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5300 yyval
.ttype
= yyvsp
[0].ttype
;
5304 #line 1463 "parse.y"
5305 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5308 #line 1465 "parse.y"
5309 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5312 #line 1467 "parse.y"
5313 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5316 #line 1469 "parse.y"
5318 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5322 #line 1473 "parse.y"
5323 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5326 #line 1475 "parse.y"
5327 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5330 #line 1477 "parse.y"
5331 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5334 #line 1479 "parse.y"
5335 { if (processing_template_decl
)
5336 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5338 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5341 #line 1484 "parse.y"
5342 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5345 #line 1486 "parse.y"
5346 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5349 #line 1488 "parse.y"
5350 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5353 #line 1490 "parse.y"
5354 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5357 #line 1493 "parse.y"
5358 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5361 #line 1495 "parse.y"
5362 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5365 #line 1497 "parse.y"
5367 yyval
.ttype
= error_mark_node
;
5371 #line 1542 "parse.y"
5372 { yyval
.itype
= 0; ;
5375 #line 1544 "parse.y"
5376 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5379 #line 1549 "parse.y"
5380 { yyval
.itype
= 0; ;
5383 #line 1551 "parse.y"
5384 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5387 #line 1556 "parse.y"
5388 { yyval
.ttype
= boolean_true_node
; ;
5391 #line 1558 "parse.y"
5392 { yyval
.ttype
= boolean_false_node
; ;
5395 #line 1565 "parse.y"
5396 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5399 #line 1570 "parse.y"
5401 if (! current_function_parms_stored
)
5402 store_parm_decls ();
5404 /* Always keep the BLOCK node associated with the outermost
5405 pair of curley braces of a function. These are needed
5406 for correct operation of dwarfout.c. */
5411 #line 1583 "parse.y"
5412 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5415 #line 1585 "parse.y"
5417 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5418 got_object
= TREE_TYPE (yyval
.ttype
);
5422 #line 1593 "parse.y"
5424 resume_momentary (yyvsp
[-1].itype
);
5425 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5426 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5430 #line 1599 "parse.y"
5432 resume_momentary (yyvsp
[-1].itype
);
5433 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5437 #line 1604 "parse.y"
5438 { resume_momentary (yyvsp
[-1].itype
); ;
5441 #line 1606 "parse.y"
5443 shadow_tag (yyvsp
[-1].ftype
.t
);
5444 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5448 #line 1611 "parse.y"
5449 { warning ("empty declaration"); ;
5452 #line 1613 "parse.y"
5453 { pedantic
= yyvsp
[-1].itype
; ;
5456 #line 1627 "parse.y"
5457 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5458 NULL_TREE
, NULL_TREE
); ;
5461 #line 1630 "parse.y"
5462 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5466 #line 1637 "parse.y"
5467 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5468 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5471 #line 1640 "parse.y"
5472 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5473 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5476 #line 1643 "parse.y"
5477 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5478 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5481 #line 1646 "parse.y"
5482 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5483 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5486 #line 1649 "parse.y"
5487 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5488 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5491 #line 1665 "parse.y"
5492 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5493 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5496 #line 1668 "parse.y"
5497 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5498 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5501 #line 1671 "parse.y"
5502 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5503 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5506 #line 1674 "parse.y"
5507 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5508 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5511 #line 1677 "parse.y"
5512 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5513 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5516 #line 1680 "parse.y"
5517 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5518 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5519 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5522 #line 1687 "parse.y"
5523 { if (extra_warnings
)
5524 warning ("`%s' is not at beginning of declaration",
5525 IDENTIFIER_POINTER (yyval
.ttype
));
5526 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5529 #line 1692 "parse.y"
5530 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5533 #line 1694 "parse.y"
5534 { if (extra_warnings
)
5535 warning ("`%s' is not at beginning of declaration",
5536 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5537 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5540 #line 1699 "parse.y"
5541 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5544 #line 1701 "parse.y"
5545 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5548 #line 1711 "parse.y"
5549 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5552 #line 1713 "parse.y"
5553 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5556 #line 1715 "parse.y"
5557 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5558 TREE_STATIC (yyval
.ttype
) = 1; ;
5561 #line 1718 "parse.y"
5562 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5563 warning ("`%s' is not at beginning of declaration",
5564 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5565 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5566 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5569 #line 1724 "parse.y"
5570 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5573 #line 1726 "parse.y"
5574 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5577 #line 1737 "parse.y"
5578 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5579 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5582 #line 1740 "parse.y"
5583 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5584 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5587 #line 1743 "parse.y"
5588 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5589 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5592 #line 1746 "parse.y"
5593 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5594 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5597 #line 1752 "parse.y"
5598 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5601 #line 1754 "parse.y"
5602 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5605 #line 1764 "parse.y"
5606 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5609 #line 1766 "parse.y"
5610 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5613 #line 1768 "parse.y"
5614 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5615 yyval
.ftype
.new_type_flag
= 0; ;
5618 #line 1771 "parse.y"
5619 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5620 yyval
.ftype
.new_type_flag
= 0; ;
5623 #line 1774 "parse.y"
5624 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5626 yyval
.ftype
.new_type_flag
= 0;
5627 if (IS_AGGR_TYPE (type
))
5629 sorry ("sigof type specifier");
5630 yyval
.ftype
.t
= type
;
5634 error ("`sigof' applied to non-aggregate expression");
5635 yyval
.ftype
.t
= error_mark_node
;
5640 #line 1789 "parse.y"
5641 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5643 yyval
.ftype
.new_type_flag
= 0;
5644 if (IS_AGGR_TYPE (type
))
5646 sorry ("sigof type specifier");
5647 yyval
.ftype
.t
= type
;
5651 error("`sigof' applied to non-aggregate type");
5652 yyval
.ftype
.t
= error_mark_node
;
5657 #line 1809 "parse.y"
5658 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5661 #line 1811 "parse.y"
5662 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5665 #line 1832 "parse.y"
5666 { yyval
.ttype
= NULL_TREE
; ;
5669 #line 1834 "parse.y"
5670 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5673 #line 1839 "parse.y"
5674 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5675 yyvsp
[-1].ttype
, prefix_attributes
); ;
5678 #line 1843 "parse.y"
5679 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5682 #line 1845 "parse.y"
5683 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5684 yyvsp
[0].ttype
, prefix_attributes
);
5685 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5688 #line 1858 "parse.y"
5689 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5690 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5693 #line 1863 "parse.y"
5694 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5695 LOOKUP_ONLYCONVERTING
);
5696 yyval
.itype
= yyvsp
[-2].itype
; ;
5699 #line 1867 "parse.y"
5701 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5702 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5705 #line 1874 "parse.y"
5706 { yyval
.itype
= yyvsp
[0].itype
; ;
5709 #line 1878 "parse.y"
5710 { yyval
.itype
= yyvsp
[0].itype
; ;
5713 #line 1883 "parse.y"
5714 { /* Set things up as initdcl0_innards expects. */
5715 yyval
.ttype
= yyvsp
[-1].ttype
;
5716 yyvsp
[-1].ttype
= NULL_TREE
; ;
5719 #line 1887 "parse.y"
5723 #line 1889 "parse.y"
5725 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5726 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5729 #line 1898 "parse.y"
5730 { yyval
.ttype
= NULL_TREE
; ;
5733 #line 1900 "parse.y"
5734 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5737 #line 1905 "parse.y"
5738 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5741 #line 1907 "parse.y"
5742 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5745 #line 1912 "parse.y"
5746 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5749 #line 1917 "parse.y"
5750 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5753 #line 1919 "parse.y"
5754 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5757 #line 1924 "parse.y"
5758 { yyval
.ttype
= NULL_TREE
; ;
5761 #line 1926 "parse.y"
5762 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5765 #line 1928 "parse.y"
5766 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5769 #line 1930 "parse.y"
5770 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5773 #line 1932 "parse.y"
5774 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5777 #line 1948 "parse.y"
5778 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5781 #line 1950 "parse.y"
5782 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5785 #line 1955 "parse.y"
5786 { yyval
.ttype
= NULL_TREE
; ;
5789 #line 1957 "parse.y"
5790 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5793 #line 1965 "parse.y"
5794 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5795 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5798 #line 1968 "parse.y"
5799 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5800 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5803 #line 1971 "parse.y"
5804 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5805 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5808 #line 1974 "parse.y"
5809 { yyval
.ttype
= NULL_TREE
; ;
5812 #line 1981 "parse.y"
5813 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5816 #line 1983 "parse.y"
5817 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5820 #line 1986 "parse.y"
5821 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5824 #line 1988 "parse.y"
5825 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5828 #line 1990 "parse.y"
5829 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5832 #line 1995 "parse.y"
5833 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5835 reinit_parse_for_function (); ;
5838 #line 2001 "parse.y"
5840 int nested
= (hack_decl_function_context
5841 (current_function_decl
) != NULL_TREE
);
5842 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5843 process_next_inline (yyvsp
[-3].ttype
);
5847 #line 2008 "parse.y"
5848 { process_next_inline (yyvsp
[-2].ttype
); ;
5851 #line 2010 "parse.y"
5852 { process_next_inline (yyvsp
[-2].ttype
); ;
5855 #line 2022 "parse.y"
5856 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5859 #line 2024 "parse.y"
5860 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5863 #line 2029 "parse.y"
5864 { do_pending_defargs (); ;
5867 #line 2031 "parse.y"
5868 { do_pending_defargs (); ;
5871 #line 2036 "parse.y"
5872 { yyvsp
[0].itype
= suspend_momentary ();
5873 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5876 #line 2039 "parse.y"
5877 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5878 yyval
.ftype
.new_type_flag
= 1;
5879 resume_momentary ((int) yyvsp
[-4].itype
);
5880 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5883 #line 2044 "parse.y"
5884 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5885 yyval
.ftype
.new_type_flag
= 1;
5886 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5889 #line 2048 "parse.y"
5890 { yyvsp
[0].itype
= suspend_momentary ();
5891 yyval
.ttype
= start_enum (make_anon_name ()); ;
5894 #line 2051 "parse.y"
5895 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5896 resume_momentary ((int) yyvsp
[-5].itype
);
5897 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5898 yyval
.ftype
.new_type_flag
= 1; ;
5901 #line 2056 "parse.y"
5902 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5903 yyval
.ftype
.new_type_flag
= 1;
5904 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5907 #line 2060 "parse.y"
5908 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5909 yyval
.ftype
.new_type_flag
= 0; ;
5912 #line 2063 "parse.y"
5913 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5914 yyval
.ftype
.new_type_flag
= 0; ;
5917 #line 2066 "parse.y"
5918 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5919 yyval
.ftype
.new_type_flag
= 0; ;
5922 #line 2071 "parse.y"
5926 if (yychar
== YYEMPTY
)
5928 semi
= yychar
== ';';
5930 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5934 #line 2081 "parse.y"
5935 { finish_default_args (); ;
5938 #line 2083 "parse.y"
5939 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5940 yyval
.ftype
.new_type_flag
= 1;
5941 begin_inline_definitions (); ;
5944 #line 2087 "parse.y"
5946 yyval
.ftype
.new_type_flag
= 0;
5947 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5949 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5950 yyval
.ftype
.t
= error_mark_node
;
5954 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5955 /* struct B: public A; is not accepted by the WP grammar. */
5956 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5957 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5958 cp_error ("base clause without member specification for `%#T'",
5964 #line 2114 "parse.y"
5965 { if (pedantic
&& !in_system_header
)
5966 pedwarn ("comma at end of enumerator list"); ;
5969 #line 2121 "parse.y"
5970 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5973 #line 2123 "parse.y"
5974 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5977 #line 2125 "parse.y"
5978 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5981 #line 2127 "parse.y"
5982 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5985 #line 2129 "parse.y"
5986 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
5989 #line 2134 "parse.y"
5990 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5993 #line 2139 "parse.y"
5994 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5997 #line 2141 "parse.y"
5998 { yyungetc ('{', 1); ;
6001 #line 2143 "parse.y"
6002 { yyungetc (':', 1); ;
6005 #line 2148 "parse.y"
6007 current_aggr
= yyvsp
[-2].ttype
;
6008 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6012 #line 2153 "parse.y"
6014 current_aggr
= yyvsp
[-3].ttype
;
6015 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6019 #line 2158 "parse.y"
6021 current_aggr
= yyvsp
[-2].ttype
;
6022 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6026 #line 2163 "parse.y"
6027 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6030 #line 2165 "parse.y"
6031 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6034 #line 2170 "parse.y"
6035 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6038 #line 2175 "parse.y"
6039 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6042 #line 2178 "parse.y"
6044 yyval
.ttype
= yyvsp
[-1].ttype
;
6046 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6050 #line 2184 "parse.y"
6052 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6053 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6054 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6055 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6056 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6057 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6058 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6061 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6063 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6064 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6066 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6067 if (processing_template_decl
)
6068 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6070 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6071 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6073 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6078 #line 2213 "parse.y"
6079 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6080 yyungetc ('{', 1); ;
6083 #line 2224 "parse.y"
6084 { yyval
.ttype
= NULL_TREE
; ;
6087 #line 2226 "parse.y"
6088 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6091 #line 2228 "parse.y"
6092 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6095 #line 2234 "parse.y"
6096 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6099 #line 2239 "parse.y"
6101 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6102 if (! is_aggr_type (type
, 1))
6103 yyval
.ttype
= NULL_TREE
;
6104 else if (current_aggr
== signature_type_node
6105 && (! type
) && (! IS_SIGNATURE (type
)))
6107 error ("class name not allowed as base signature");
6108 yyval
.ttype
= NULL_TREE
;
6110 else if (current_aggr
== signature_type_node
)
6112 sorry ("signature inheritance, base type `%s' ignored",
6113 IDENTIFIER_POINTER (yyval
.ttype
));
6114 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6116 else if (type
&& IS_SIGNATURE (type
))
6118 error ("signature name not allowed as base class");
6119 yyval
.ttype
= NULL_TREE
;
6122 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6126 #line 2264 "parse.y"
6128 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6129 if (current_aggr
== signature_type_node
)
6130 error ("access and source specifiers not allowed in signature");
6131 if (! is_aggr_type (type
, 1))
6132 yyval
.ttype
= NULL_TREE
;
6133 else if (current_aggr
== signature_type_node
6134 && (! type
) && (! IS_SIGNATURE (type
)))
6136 error ("class name not allowed as base signature");
6137 yyval
.ttype
= NULL_TREE
;
6139 else if (current_aggr
== signature_type_node
)
6141 sorry ("signature inheritance, base type `%s' ignored",
6142 IDENTIFIER_POINTER (yyval
.ttype
));
6143 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6145 else if (type
&& IS_SIGNATURE (type
))
6147 error ("signature name not allowed as base class");
6148 yyval
.ttype
= NULL_TREE
;
6151 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6155 #line 2294 "parse.y"
6156 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6159 #line 2297 "parse.y"
6161 if (current_aggr
== signature_type_node
)
6163 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6165 sorry ("`sigof' as base signature specifier");
6166 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6170 error ("`sigof' applied to non-aggregate expression");
6171 yyval
.ttype
= error_mark_node
;
6176 error ("`sigof' in struct or class declaration");
6177 yyval
.ttype
= error_mark_node
;
6182 #line 2318 "parse.y"
6184 if (current_aggr
== signature_type_node
)
6186 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6188 sorry ("`sigof' as base signature specifier");
6189 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6193 error ("`sigof' applied to non-aggregate expression");
6194 yyval
.ttype
= error_mark_node
;
6199 error ("`sigof' in struct or class declaration");
6200 yyval
.ttype
= error_mark_node
;
6205 #line 2343 "parse.y"
6206 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6207 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6208 yyval
.ttype
= access_default_virtual_node
; ;
6211 #line 2347 "parse.y"
6213 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6214 error ("multiple access specifiers");
6215 else if (yyvsp
[-1].ttype
== access_public_node
)
6216 yyval
.ttype
= access_public_virtual_node
;
6217 else if (yyvsp
[-1].ttype
== access_protected_node
)
6218 yyval
.ttype
= access_protected_virtual_node
;
6219 else /* $2 == access_private_node */
6220 yyval
.ttype
= access_private_virtual_node
;
6224 #line 2358 "parse.y"
6225 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6226 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6227 else if (yyval
.ttype
== access_public_node
)
6228 yyval
.ttype
= access_public_virtual_node
;
6229 else if (yyval
.ttype
== access_protected_node
)
6230 yyval
.ttype
= access_protected_virtual_node
;
6231 else if (yyval
.ttype
== access_private_node
)
6232 yyval
.ttype
= access_private_virtual_node
;
6234 error ("multiple `virtual' specifiers");
6238 #line 2373 "parse.y"
6239 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6242 #line 2378 "parse.y"
6244 yyval
.ttype
= build_self_reference ();
6248 #line 2385 "parse.y"
6249 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6252 #line 2387 "parse.y"
6254 if (current_aggr
== signature_type_node
)
6255 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6257 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6258 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6262 #line 2395 "parse.y"
6264 tree visspec
= yyvsp
[-2].ttype
;
6266 if (current_aggr
== signature_type_node
)
6268 error ("access specifier not allowed in signature");
6269 visspec
= access_public_node
;
6271 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6275 #line 2406 "parse.y"
6277 if (current_aggr
== signature_type_node
)
6278 error ("access specifier not allowed in signature");
6282 #line 2416 "parse.y"
6283 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6287 #line 2419 "parse.y"
6288 { /* In pushdecl, we created a reverse list of names
6289 in this binding level. Make sure that the chain
6290 of what we're trying to add isn't the item itself
6291 (which can happen with what pushdecl's doing). */
6292 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6294 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6295 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6297 yyval
.ttype
= yyvsp
[0].ttype
;
6302 #line 2435 "parse.y"
6306 #line 2437 "parse.y"
6307 { error ("missing ';' before right brace");
6308 yyungetc ('}', 0); ;
6311 #line 2442 "parse.y"
6312 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6315 #line 2444 "parse.y"
6316 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6319 #line 2446 "parse.y"
6320 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6323 #line 2448 "parse.y"
6324 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6327 #line 2450 "parse.y"
6328 { yyval
.ttype
= NULL_TREE
; ;
6331 #line 2452 "parse.y"
6332 { yyval
.ttype
= yyvsp
[0].ttype
;
6333 pedantic
= yyvsp
[-1].itype
; ;
6336 #line 2455 "parse.y"
6337 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6340 #line 2457 "parse.y"
6341 { yyval
.ttype
= finish_member_class_template (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
); ;
6344 #line 2465 "parse.y"
6345 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6348 #line 2467 "parse.y"
6349 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6352 #line 2469 "parse.y"
6353 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6354 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6357 #line 2472 "parse.y"
6358 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6359 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6362 #line 2475 "parse.y"
6363 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6366 #line 2477 "parse.y"
6367 { yyval
.ttype
= NULL_TREE
; ;
6370 #line 2488 "parse.y"
6371 { tree specs
, attrs
;
6372 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6373 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6374 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6377 #line 2493 "parse.y"
6378 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6379 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6382 #line 2496 "parse.y"
6383 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6386 #line 2502 "parse.y"
6387 { yyval
.ttype
= NULL_TREE
; ;
6390 #line 2505 "parse.y"
6392 /* In this context, void_type_node encodes
6393 friends. They have been recorded elsewhere. */
6394 if (yyval
.ttype
== void_type_node
)
6395 yyval
.ttype
= yyvsp
[0].ttype
;
6397 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6401 #line 2517 "parse.y"
6402 { yyval
.ttype
= NULL_TREE
; ;
6405 #line 2520 "parse.y"
6407 /* In this context, void_type_node encodes
6408 friends. They have been recorded elsewhere. */
6409 if (yyval
.ttype
== void_type_node
)
6410 yyval
.ttype
= yyvsp
[0].ttype
;
6412 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6416 #line 2542 "parse.y"
6417 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6418 &prefix_attributes
);
6419 yyvsp
[-4].ttype
= current_declspecs
;
6420 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6421 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6424 #line 2548 "parse.y"
6425 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6426 &prefix_attributes
);
6427 yyvsp
[-4].ttype
= current_declspecs
;
6428 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6429 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6432 #line 2557 "parse.y"
6433 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6434 &prefix_attributes
);
6435 yyvsp
[-4].ttype
= current_declspecs
;
6436 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6437 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6440 #line 2563 "parse.y"
6441 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6442 &prefix_attributes
);
6443 yyvsp
[-4].ttype
= current_declspecs
;
6444 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6445 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6448 #line 2569 "parse.y"
6449 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6450 &prefix_attributes
);
6451 yyvsp
[-4].ttype
= current_declspecs
;
6452 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6453 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6456 #line 2575 "parse.y"
6457 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6458 &prefix_attributes
);
6459 yyvsp
[-3].ttype
= current_declspecs
;
6460 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6461 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6464 #line 2584 "parse.y"
6465 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6466 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6469 #line 2587 "parse.y"
6470 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6471 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6474 #line 2593 "parse.y"
6475 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6476 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6479 #line 2596 "parse.y"
6480 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6481 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6484 #line 2599 "parse.y"
6485 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6486 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6489 #line 2610 "parse.y"
6490 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6493 #line 2615 "parse.y"
6494 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6497 #line 2617 "parse.y"
6498 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6501 #line 2623 "parse.y"
6502 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6503 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6506 #line 2626 "parse.y"
6507 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6508 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6511 #line 2633 "parse.y"
6514 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6515 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6516 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6517 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6521 #line 2644 "parse.y"
6522 { yyval
.ttype
= NULL_TREE
; ;
6525 #line 2646 "parse.y"
6526 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6529 #line 2651 "parse.y"
6530 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6531 yyval
.ftype
.new_type_flag
= 0; ;
6534 #line 2654 "parse.y"
6535 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6536 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6539 #line 2663 "parse.y"
6540 { yyval
.itype
= suspend_momentary (); ;
6543 #line 2668 "parse.y"
6544 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6547 #line 2674 "parse.y"
6548 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6551 #line 2676 "parse.y"
6552 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6555 #line 2678 "parse.y"
6556 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6559 #line 2680 "parse.y"
6560 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6563 #line 2687 "parse.y"
6564 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6567 #line 2689 "parse.y"
6568 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6571 #line 2691 "parse.y"
6572 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6575 #line 2693 "parse.y"
6576 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6579 #line 2695 "parse.y"
6580 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6581 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6585 #line 2703 "parse.y"
6587 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6589 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6590 if (current_class_type
6591 && TYPE_BEING_DEFINED (current_class_type
)
6592 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6594 /* Remember that this name has been used in the class
6595 definition, as per [class.scope0] */
6596 pushdecl_class_level (yyval
.ttype
);
6600 yyval
.ttype
= yyvsp
[0].ttype
;
6604 #line 2720 "parse.y"
6606 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6607 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6609 yyval
.ttype
= yyvsp
[0].ttype
;
6610 got_scope
= NULL_TREE
;
6614 #line 2733 "parse.y"
6615 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6618 #line 2738 "parse.y"
6619 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6622 #line 2743 "parse.y"
6623 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6626 #line 2745 "parse.y"
6627 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6630 #line 2747 "parse.y"
6631 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6634 #line 2749 "parse.y"
6635 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6638 #line 2751 "parse.y"
6639 { push_nested_class (yyvsp
[-1].ttype
, 3);
6640 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6641 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6644 #line 2762 "parse.y"
6645 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6648 #line 2764 "parse.y"
6649 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6652 #line 2766 "parse.y"
6653 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6656 #line 2768 "parse.y"
6657 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6660 #line 2770 "parse.y"
6661 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6662 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6666 #line 2778 "parse.y"
6667 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6670 #line 2780 "parse.y"
6671 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6674 #line 2782 "parse.y"
6675 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6678 #line 2784 "parse.y"
6679 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6682 #line 2786 "parse.y"
6683 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6684 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6688 #line 2794 "parse.y"
6689 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6692 #line 2796 "parse.y"
6693 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6696 #line 2798 "parse.y"
6697 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6700 #line 2800 "parse.y"
6701 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6704 #line 2802 "parse.y"
6705 { if (TREE_CODE (OP0 (yyvsp
[0].ttype
)) == NAMESPACE_DECL
)
6707 push_decl_namespace (OP0 (yyvsp
[0].ttype
));
6708 TREE_COMPLEXITY (yyvsp
[0].ttype
) = -1;
6710 else if (OP0 (yyvsp
[0].ttype
) != current_class_type
)
6712 push_nested_class (OP0 (yyvsp
[0].ttype
), 3);
6713 TREE_COMPLEXITY (yyvsp
[0].ttype
) = current_class_depth
;
6718 #line 2814 "parse.y"
6719 { got_scope
= NULL_TREE
;
6720 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6721 if (yyvsp
[-1].ttype
!= current_class_type
)
6723 push_nested_class (yyvsp
[-1].ttype
, 3);
6724 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6729 #line 2826 "parse.y"
6730 { got_scope
= NULL_TREE
;
6731 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6734 #line 2829 "parse.y"
6735 { got_scope
= NULL_TREE
;
6736 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6739 #line 2835 "parse.y"
6740 { got_scope
= NULL_TREE
;
6741 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6744 #line 2838 "parse.y"
6745 { got_scope
= NULL_TREE
;
6746 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6749 #line 2845 "parse.y"
6750 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6753 #line 2850 "parse.y"
6754 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6757 #line 2852 "parse.y"
6758 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6761 #line 2854 "parse.y"
6762 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6765 #line 2866 "parse.y"
6766 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6769 #line 2868 "parse.y"
6770 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6773 #line 2875 "parse.y"
6775 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6777 yyval
.ttype
= lastiddecl
;
6778 /* Remember that this name has been used in the class
6779 definition, as per [class.scope0] */
6780 if (current_class_type
6781 && TYPE_BEING_DEFINED (current_class_type
)
6782 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6783 pushdecl_class_level (yyval
.ttype
);
6785 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6789 #line 2889 "parse.y"
6791 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6792 yyval
.ttype
= lastiddecl
;
6793 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6797 #line 2895 "parse.y"
6799 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6800 yyval
.ttype
= lastiddecl
;
6801 got_scope
= yyval
.ttype
;
6805 #line 2901 "parse.y"
6806 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6809 #line 2917 "parse.y"
6810 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6813 #line 2922 "parse.y"
6815 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6816 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6817 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6818 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6821 yyval
.ttype
= yyvsp
[0].ttype
;
6822 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6823 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6828 #line 2935 "parse.y"
6829 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6832 #line 2937 "parse.y"
6833 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6836 #line 2939 "parse.y"
6837 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6840 #line 2944 "parse.y"
6842 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6843 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6847 #line 2949 "parse.y"
6849 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6850 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6851 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6852 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6855 yyval
.ttype
= yyvsp
[0].ttype
;
6856 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6857 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6862 #line 2962 "parse.y"
6863 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6866 #line 2964 "parse.y"
6867 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6870 #line 2969 "parse.y"
6872 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6873 yyvsp
[-1].ttype
= lastiddecl
;
6875 /* Retrieve the type for the identifier, which might involve
6876 some computation. */
6877 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6879 if (yyval
.ttype
== error_mark_node
)
6880 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6884 #line 2981 "parse.y"
6886 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6887 yyval
.ttype
= lastiddecl
;
6888 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6892 #line 2987 "parse.y"
6893 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6896 #line 2991 "parse.y"
6898 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6899 yyval
.ttype
= lastiddecl
;
6900 got_scope
= yyval
.ttype
;
6904 #line 3000 "parse.y"
6905 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6908 #line 3005 "parse.y"
6910 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6911 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6913 yyval
.ttype
= yyvsp
[0].ttype
;
6914 got_scope
= NULL_TREE
;
6918 #line 3014 "parse.y"
6919 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6922 #line 3019 "parse.y"
6923 { got_scope
= NULL_TREE
; ;
6926 #line 3021 "parse.y"
6927 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6930 #line 3028 "parse.y"
6931 { got_scope
= void_type_node
; ;
6934 #line 3034 "parse.y"
6935 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6938 #line 3036 "parse.y"
6939 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6942 #line 3038 "parse.y"
6943 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6946 #line 3040 "parse.y"
6947 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6950 #line 3042 "parse.y"
6951 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6952 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6956 #line 3046 "parse.y"
6957 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6958 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6962 #line 3055 "parse.y"
6963 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6966 #line 3057 "parse.y"
6967 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6970 #line 3063 "parse.y"
6971 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6974 #line 3065 "parse.y"
6975 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6978 #line 3067 "parse.y"
6979 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6982 #line 3069 "parse.y"
6983 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
6986 #line 3071 "parse.y"
6987 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6990 #line 3073 "parse.y"
6991 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6994 #line 3075 "parse.y"
6995 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6998 #line 3077 "parse.y"
6999 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7002 #line 3079 "parse.y"
7003 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7004 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7008 #line 3083 "parse.y"
7009 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7010 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7014 #line 3092 "parse.y"
7015 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7018 #line 3096 "parse.y"
7019 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7022 #line 3098 "parse.y"
7023 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7026 #line 3100 "parse.y"
7027 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7030 #line 3102 "parse.y"
7031 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7034 #line 3104 "parse.y"
7035 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7038 #line 3106 "parse.y"
7039 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7042 #line 3108 "parse.y"
7043 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7046 #line 3110 "parse.y"
7047 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7050 #line 3112 "parse.y"
7051 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7054 #line 3135 "parse.y"
7056 pedwarn ("ANSI C++ forbids label declarations"); ;
7059 #line 3146 "parse.y"
7061 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7063 tree label
= shadow_label (TREE_VALUE (link
));
7064 C_DECLARED_LABEL_FLAG (label
) = 1;
7065 declare_nonlocal_label (label
);
7070 #line 3160 "parse.y"
7074 #line 3166 "parse.y"
7075 { yyval
.ttype
= begin_compound_stmt (0); ;
7078 #line 3168 "parse.y"
7079 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7082 #line 3173 "parse.y"
7084 yyval
.ttype
= begin_if_stmt ();
7085 cond_stmt_keyword
= "if";
7089 #line 3178 "parse.y"
7090 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7093 #line 3180 "parse.y"
7094 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7097 #line 3185 "parse.y"
7098 { yyval
.ttype
= begin_compound_stmt (0); ;
7101 #line 3187 "parse.y"
7102 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7105 #line 3192 "parse.y"
7109 #line 3198 "parse.y"
7113 #line 3200 "parse.y"
7114 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7117 #line 3202 "parse.y"
7118 { begin_else_clause (); ;
7121 #line 3204 "parse.y"
7123 finish_else_clause (yyvsp
[-3].ttype
);
7128 #line 3209 "parse.y"
7129 { finish_if_stmt (); ;
7132 #line 3211 "parse.y"
7134 yyval
.ttype
= begin_while_stmt ();
7135 cond_stmt_keyword
= "while";
7139 #line 3216 "parse.y"
7140 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7143 #line 3218 "parse.y"
7144 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7147 #line 3220 "parse.y"
7148 { yyval
.ttype
= begin_do_stmt (); ;
7151 #line 3222 "parse.y"
7153 finish_do_body (yyvsp
[-2].ttype
);
7154 cond_stmt_keyword
= "do";
7158 #line 3227 "parse.y"
7159 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7162 #line 3229 "parse.y"
7163 { yyval
.ttype
= begin_for_stmt (); ;
7166 #line 3231 "parse.y"
7167 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7170 #line 3233 "parse.y"
7171 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7174 #line 3235 "parse.y"
7175 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7178 #line 3237 "parse.y"
7179 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7182 #line 3239 "parse.y"
7183 { begin_switch_stmt (); ;
7186 #line 3241 "parse.y"
7187 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7190 #line 3243 "parse.y"
7191 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7194 #line 3245 "parse.y"
7195 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7198 #line 3248 "parse.y"
7199 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7202 #line 3251 "parse.y"
7203 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7206 #line 3254 "parse.y"
7207 { finish_break_stmt (); ;
7210 #line 3256 "parse.y"
7211 { finish_continue_stmt (); ;
7214 #line 3258 "parse.y"
7215 { finish_return_stmt (NULL_TREE
); ;
7218 #line 3260 "parse.y"
7219 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7222 #line 3262 "parse.y"
7224 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7229 #line 3268 "parse.y"
7231 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7236 #line 3274 "parse.y"
7237 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7240 #line 3278 "parse.y"
7241 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7244 #line 3280 "parse.y"
7247 pedwarn ("ANSI C++ forbids computed gotos");
7248 finish_goto_stmt (yyvsp
[-1].ttype
);
7252 #line 3286 "parse.y"
7253 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7256 #line 3288 "parse.y"
7260 #line 3290 "parse.y"
7261 { error ("label must be followed by statement");
7266 #line 3294 "parse.y"
7270 #line 3298 "parse.y"
7271 { do_local_using_decl (yyvsp
[0].ttype
); ;
7274 #line 3304 "parse.y"
7276 if (! current_function_parms_stored
)
7277 store_parm_decls ();
7278 expand_start_early_try_stmts ();
7282 #line 3310 "parse.y"
7284 expand_start_all_catch ();
7288 #line 3314 "parse.y"
7290 int nested
= (hack_decl_function_context
7291 (current_function_decl
) != NULL_TREE
);
7292 expand_end_all_catch ();
7293 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7297 #line 3324 "parse.y"
7298 { yyval
.ttype
= begin_try_block (); ;
7301 #line 3326 "parse.y"
7302 { finish_try_block (yyvsp
[-1].ttype
); ;
7305 #line 3328 "parse.y"
7306 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7309 #line 3338 "parse.y"
7310 { yyval
.ttype
= begin_handler(); ;
7313 #line 3340 "parse.y"
7314 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7317 #line 3342 "parse.y"
7318 { finish_handler (yyvsp
[-3].ttype
); ;
7321 #line 3352 "parse.y"
7322 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7325 #line 3368 "parse.y"
7326 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7327 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7328 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7331 #line 3375 "parse.y"
7334 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7335 if (label
&& ! minimal_parse_mode
)
7336 expand_label (label
);
7340 #line 3382 "parse.y"
7344 #line 3384 "parse.y"
7348 #line 3386 "parse.y"
7352 #line 3391 "parse.y"
7353 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7356 #line 3394 "parse.y"
7358 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7362 #line 3403 "parse.y"
7363 { emit_line_note (input_filename
, lineno
);
7364 yyval
.ttype
= NULL_TREE
; ;
7367 #line 3406 "parse.y"
7368 { emit_line_note (input_filename
, lineno
); ;
7371 #line 3411 "parse.y"
7372 { yyval
.ttype
= NULL_TREE
; ;
7375 #line 3414 "parse.y"
7376 { yyval
.ttype
= NULL_TREE
; ;
7379 #line 3421 "parse.y"
7380 { yyval
.ttype
= NULL_TREE
; ;
7383 #line 3428 "parse.y"
7384 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7387 #line 3433 "parse.y"
7388 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7391 #line 3438 "parse.y"
7392 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7395 #line 3440 "parse.y"
7396 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7399 #line 3451 "parse.y"
7401 yyval
.ttype
= empty_parms();
7405 #line 3456 "parse.y"
7406 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7407 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7410 #line 3464 "parse.y"
7411 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7414 #line 3466 "parse.y"
7415 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7418 #line 3469 "parse.y"
7419 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7422 #line 3471 "parse.y"
7423 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7424 yyvsp
[-1].ftype
.t
), 1); ;
7427 #line 3474 "parse.y"
7428 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7431 #line 3476 "parse.y"
7433 /* This helps us recover from really nasty
7434 parse errors, for example, a missing right
7436 yyerror ("possibly missing ')'");
7437 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7443 #line 3486 "parse.y"
7445 /* This helps us recover from really nasty
7446 parse errors, for example, a missing right
7448 yyerror ("possibly missing ')'");
7449 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7450 yyvsp
[-1].ftype
.t
), 0);
7456 #line 3501 "parse.y"
7457 { maybe_snarf_defarg (); ;
7460 #line 3503 "parse.y"
7461 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7464 #line 3514 "parse.y"
7465 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7466 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7469 #line 3517 "parse.y"
7470 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7471 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7474 #line 3520 "parse.y"
7475 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7476 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7479 #line 3523 "parse.y"
7480 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7483 #line 3525 "parse.y"
7484 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7487 #line 3531 "parse.y"
7488 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7489 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7492 #line 3541 "parse.y"
7493 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7494 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7495 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7498 #line 3545 "parse.y"
7499 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7500 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7503 #line 3548 "parse.y"
7504 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7505 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7508 #line 3551 "parse.y"
7509 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7510 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7511 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7514 #line 3555 "parse.y"
7515 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7516 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7517 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7520 #line 3559 "parse.y"
7521 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7522 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7523 yyval
.ftype
.new_type_flag
= 0; ;
7526 #line 3566 "parse.y"
7527 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7528 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7531 #line 3569 "parse.y"
7532 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7533 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7536 #line 3580 "parse.y"
7537 { see_typename (); ;
7540 #line 3585 "parse.y"
7542 error ("type specifier omitted for parameter");
7543 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7547 #line 3590 "parse.y"
7549 error ("type specifier omitted for parameter");
7550 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7551 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7552 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7553 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7554 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7558 #line 3602 "parse.y"
7559 { yyval
.ttype
= NULL_TREE
; ;
7562 #line 3604 "parse.y"
7563 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7566 #line 3606 "parse.y"
7567 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7570 #line 3611 "parse.y"
7571 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7574 #line 3617 "parse.y"
7576 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7577 yyval
.ttype
= yyvsp
[0].ttype
;
7581 #line 3625 "parse.y"
7582 { yyval
.ttype
= NULL_TREE
; ;
7585 #line 3627 "parse.y"
7586 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7589 #line 3629 "parse.y"
7590 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7593 #line 3631 "parse.y"
7594 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7595 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7599 #line 3638 "parse.y"
7600 { got_scope
= NULL_TREE
; ;
7603 #line 3643 "parse.y"
7604 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7607 #line 3645 "parse.y"
7608 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7611 #line 3647 "parse.y"
7612 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7615 #line 3649 "parse.y"
7616 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7619 #line 3651 "parse.y"
7620 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7623 #line 3653 "parse.y"
7624 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7627 #line 3655 "parse.y"
7628 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7631 #line 3657 "parse.y"
7632 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7635 #line 3659 "parse.y"
7636 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7639 #line 3661 "parse.y"
7640 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7643 #line 3663 "parse.y"
7644 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7647 #line 3665 "parse.y"
7648 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7651 #line 3667 "parse.y"
7652 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7655 #line 3669 "parse.y"
7656 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7659 #line 3671 "parse.y"
7660 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7663 #line 3673 "parse.y"
7664 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7667 #line 3675 "parse.y"
7668 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7671 #line 3677 "parse.y"
7672 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7675 #line 3679 "parse.y"
7676 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7679 #line 3681 "parse.y"
7680 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7683 #line 3683 "parse.y"
7684 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7687 #line 3685 "parse.y"
7688 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7691 #line 3687 "parse.y"
7692 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7695 #line 3689 "parse.y"
7696 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7699 #line 3691 "parse.y"
7700 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7703 #line 3693 "parse.y"
7704 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7707 #line 3695 "parse.y"
7708 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7711 #line 3697 "parse.y"
7712 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7715 #line 3699 "parse.y"
7716 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7719 #line 3701 "parse.y"
7720 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7723 #line 3703 "parse.y"
7724 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7727 #line 3705 "parse.y"
7728 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7731 #line 3707 "parse.y"
7732 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7735 #line 3710 "parse.y"
7736 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7739 #line 3712 "parse.y"
7740 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7743 /* the action file gets copied in in place of this dollarsign */
7744 #line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
7755 short *ssp1
= yyss
- 1;
7756 fprintf (stderr
, "state stack now");
7757 while (ssp1
!= yyssp
)
7758 fprintf (stderr
, " %d", *++ssp1
);
7759 fprintf (stderr
, "\n");
7769 yylsp
->first_line
= yylloc
.first_line
;
7770 yylsp
->first_column
= yylloc
.first_column
;
7771 yylsp
->last_line
= (yylsp
-1)->last_line
;
7772 yylsp
->last_column
= (yylsp
-1)->last_column
;
7777 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7778 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7782 /* Now "shift" the result of the reduction.
7783 Determine what state that goes to,
7784 based on the state we popped back to
7785 and the rule number reduced by. */
7789 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7790 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7791 yystate
= yytable
[yystate
];
7793 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7797 yyerrlab
: /* here on detecting error */
7800 /* If not already recovering from an error, report this error. */
7804 #ifdef YYERROR_VERBOSE
7805 yyn
= yypact
[yystate
];
7807 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7814 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7815 for (x
= (yyn
< 0 ? -yyn
: 0);
7816 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7817 if (yycheck
[x
+ yyn
] == x
)
7818 size
+= strlen(yytname
[x
]) + 15, count
++;
7819 msg
= (char *) malloc(size
+ 15);
7822 strcpy(msg
, "parse error");
7827 for (x
= (yyn
< 0 ? -yyn
: 0);
7828 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7829 if (yycheck
[x
+ yyn
] == x
)
7831 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7832 strcat(msg
, yytname
[x
]);
7841 yyerror ("parse error; also virtual memory exceeded");
7844 #endif /* YYERROR_VERBOSE */
7845 yyerror("parse error");
7849 yyerrlab1
: /* here on error raised explicitly by an action */
7851 if (yyerrstatus
== 3)
7853 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7855 /* return failure if at end of input */
7856 if (yychar
== YYEOF
)
7861 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7867 /* Else will try to reuse lookahead token
7868 after shifting the error token. */
7870 yyerrstatus
= 3; /* Each real token shifted decrements this */
7874 yyerrdefault
: /* current state does not do anything special for the error token. */
7877 /* This is wrong; only states that explicitly want error tokens
7878 should shift them. */
7879 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7880 if (yyn
) goto yydefault
;
7883 yyerrpop
: /* pop the current state because it cannot handle the error token */
7885 if (yyssp
== yyss
) YYABORT
;
7895 short *ssp1
= yyss
- 1;
7896 fprintf (stderr
, "Error: state stack now");
7897 while (ssp1
!= yyssp
)
7898 fprintf (stderr
, " %d", *++ssp1
);
7899 fprintf (stderr
, "\n");
7905 yyn
= yypact
[yystate
];
7910 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7929 fprintf(stderr
, "Shifting error token, ");
7940 #line 3715 "parse.y"
7945 debug_yytranslate (value
)
7948 return yytname
[YYTRANSLATE (value
)];