exception: Change terminate and unexpected to ().
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
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
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
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;
130
131 static tree empty_parms PROTO((void));
132
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
136
137 /* Cons up an empty parameter list. */
138 #ifdef __GNUC__
139 __inline
140 #endif
141 static tree
142 empty_parms ()
143 {
144 tree parms;
145
146 if (strict_prototype
147 || current_class_type != NULL)
148 parms = void_list_node;
149 else
150 parms = NULL_TREE;
151 return parms;
152 }
153
154
155 #line 92 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 282 "parse.y"
158
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs;
161
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;
168
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
171
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
173
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));
177
178 static int
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
180 tree declarator;
181 tree specs_attrs;
182 tree attributes;
183 int initialized;
184 tree* decl;
185 {
186 int sm;
187
188 split_specs_attrs (specs_attrs, &current_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)
193 {
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
196 current_declspecs);
197 used_extern_spec = 1;
198 }
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized,
201 attributes, prefix_attributes);
202 return sm;
203 }
204 #include <stdio.h>
205
206 #ifndef __cplusplus
207 #ifndef __STDC__
208 #define const
209 #endif
210 #endif
211
212
213
214 #define YYFINAL 1579
215 #define YYFLAG -32768
216 #define YYNTBASE 112
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 392)
219
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,
255 106, 107
256 };
257
258 #if YYDEBUG != 0
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
346 };
347
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,
627 389, 0, 390, 1, 0
628 };
629
630 #endif
631
632 #if YYDEBUG != 0
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
720 };
721 #endif
722
723
724 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
725
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
790 };
791 #endif
792
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
880 };
881
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
969 };
970
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
1130 };
1131
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
1161 };
1162
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
1322 };
1323
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
1353 };
1354
1355
1356 #define YYLAST 10824
1357
1358
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,
2442 555, 556, 557, 558
2443 };
2444
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,
3528 81, 82, 83, 84
3529 };
3530 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3531 #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3532
3533 /* Skeleton output parser for bison,
3534 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3535
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)
3539 any later version.
3540
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.
3545
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. */
3549
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. */
3554
3555 #ifndef alloca
3556 #ifdef __GNUC__
3557 #define alloca __builtin_alloca
3558 #else /* not GNU C. */
3559 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3560 #include <alloca.h>
3561 #else /* not sparc */
3562 #if defined (MSDOS) && !defined (__TURBOC__)
3563 #include <malloc.h>
3564 #else /* not MSDOS, or __TURBOC__ */
3565 #if defined(_AIX)
3566 #include <malloc.h>
3567 #pragma alloca
3568 #else /* not MSDOS, __TURBOC__, or _AIX */
3569 #ifdef __hpux
3570 #ifdef __cplusplus
3571 extern "C" {
3572 void *alloca (unsigned int);
3573 };
3574 #else /* not __cplusplus */
3575 void *alloca ();
3576 #endif /* not __cplusplus */
3577 #endif /* __hpux */
3578 #endif /* not _AIX */
3579 #endif /* not MSDOS, or __TURBOC__ */
3580 #endif /* not sparc. */
3581 #endif /* not GNU C. */
3582 #endif /* alloca not defined. */
3583
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. */
3588
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. */
3592
3593 #define yyerrok (yyerrstatus = 0)
3594 #define yyclearin (yychar = YYEMPTY)
3595 #define YYEMPTY -2
3596 #define YYEOF 0
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) \
3607 do \
3608 if (yychar == YYEMPTY && yylen == 1) \
3609 { yychar = (token), yylval = (value); \
3610 yychar1 = YYTRANSLATE (yychar); \
3611 YYPOPSTACK; \
3612 goto yybackup; \
3613 } \
3614 else \
3615 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3616 while (0)
3617
3618 #define YYTERROR 1
3619 #define YYERRCODE 256
3620
3621 #ifndef YYPURE
3622 #define YYLEX yylex()
3623 #endif
3624
3625 #ifdef YYPURE
3626 #ifdef YYLSP_NEEDED
3627 #ifdef YYLEX_PARAM
3628 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3629 #else
3630 #define YYLEX yylex(&yylval, &yylloc)
3631 #endif
3632 #else /* not YYLSP_NEEDED */
3633 #ifdef YYLEX_PARAM
3634 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3635 #else
3636 #define YYLEX yylex(&yylval)
3637 #endif
3638 #endif /* not YYLSP_NEEDED */
3639 #endif
3640
3641 /* If nonreentrant, generate the variables here */
3642
3643 #ifndef YYPURE
3644
3645 int yychar; /* the lookahead symbol */
3646 YYSTYPE yylval; /* the semantic value of the */
3647 /* lookahead symbol */
3648
3649 #ifdef YYLSP_NEEDED
3650 YYLTYPE yylloc; /* location data for the lookahead */
3651 /* symbol */
3652 #endif
3653
3654 int yynerrs; /* number of parse errors so far */
3655 #endif /* not YYPURE */
3656
3657 #if YYDEBUG != 0
3658 int yydebug; /* nonzero means print parse trace */
3659 /* Since this is uninitialized, it does not stop multiple parsers
3660 from coexisting. */
3661 #endif
3662
3663 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3664
3665 #ifndef YYINITDEPTH
3666 #define YYINITDEPTH 200
3667 #endif
3668
3669 /* YYMAXDEPTH is the maximum size the stacks can grow to
3670 (effective only if the built-in stack extension method is used). */
3671
3672 #if YYMAXDEPTH == 0
3673 #undef YYMAXDEPTH
3674 #endif
3675
3676 #ifndef YYMAXDEPTH
3677 #define YYMAXDEPTH 10000
3678 #endif
3679
3680 /* Prevent warning if -Wstrict-prototypes. */
3681 #ifdef __GNUC__
3682 int yyparse (void);
3683 #endif
3684 \f
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++ */
3688 #ifndef __cplusplus
3689
3690 /* This is the most reliable way to avoid incompatibilities
3691 in available built-in functions on various systems. */
3692 static void
3693 __yy_memcpy (to, from, count)
3694 char *to;
3695 char *from;
3696 int count;
3697 {
3698 register char *f = from;
3699 register char *t = to;
3700 register int i = count;
3701
3702 while (i-- > 0)
3703 *t++ = *f++;
3704 }
3705
3706 #else /* __cplusplus */
3707
3708 /* This is the most reliable way to avoid incompatibilities
3709 in available built-in functions on various systems. */
3710 static void
3711 __yy_memcpy (char *to, char *from, int count)
3712 {
3713 register char *f = from;
3714 register char *t = to;
3715 register int i = count;
3716
3717 while (i-- > 0)
3718 *t++ = *f++;
3719 }
3720
3721 #endif
3722 #endif
3723 \f
3724 #line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3725
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. */
3731
3732 #ifdef YYPARSE_PARAM
3733 #ifdef __cplusplus
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 */
3744
3745 int
3746 yyparse(YYPARSE_PARAM_ARG)
3747 YYPARSE_PARAM_DECL
3748 {
3749 register int yystate;
3750 register int yyn;
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 */
3755
3756 short yyssa[YYINITDEPTH]; /* the state stack */
3757 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3758
3759 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3760 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3761
3762 #ifdef YYLSP_NEEDED
3763 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3764 YYLTYPE *yyls = yylsa;
3765 YYLTYPE *yylsp;
3766
3767 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3768 #else
3769 #define YYPOPSTACK (yyvsp--, yyssp--)
3770 #endif
3771
3772 int yystacksize = YYINITDEPTH;
3773
3774 #ifdef YYPURE
3775 int yychar;
3776 YYSTYPE yylval;
3777 int yynerrs;
3778 #ifdef YYLSP_NEEDED
3779 YYLTYPE yylloc;
3780 #endif
3781 #endif
3782
3783 YYSTYPE yyval; /* the variable used to return */
3784 /* semantic values from the action */
3785 /* routines */
3786
3787 int yylen;
3788
3789 #if YYDEBUG != 0
3790 if (yydebug)
3791 fprintf(stderr, "Starting parse\n");
3792 #endif
3793
3794 yystate = 0;
3795 yyerrstatus = 0;
3796 yynerrs = 0;
3797 yychar = YYEMPTY; /* Cause a token to be read. */
3798
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. */
3803
3804 yyssp = yyss - 1;
3805 yyvsp = yyvs;
3806 #ifdef YYLSP_NEEDED
3807 yylsp = yyls;
3808 #endif
3809
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. */
3813 yynewstate:
3814
3815 *++yyssp = yystate;
3816
3817 if (yyssp >= yyss + yystacksize - 1)
3818 {
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;
3823 #ifdef YYLSP_NEEDED
3824 YYLTYPE *yyls1 = yyls;
3825 #endif
3826
3827 /* Get the current used size of the three stacks, in elements. */
3828 int size = yyssp - yyss + 1;
3829
3830 #ifdef yyoverflow
3831 /* Each stack pointer address is followed by the size of
3832 the data in use in that stack, in bytes. */
3833 #ifdef YYLSP_NEEDED
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),
3840 &yystacksize);
3841 #else
3842 yyoverflow("parser stack overflow",
3843 &yyss1, size * sizeof (*yyssp),
3844 &yyvs1, size * sizeof (*yyvsp),
3845 &yystacksize);
3846 #endif
3847
3848 yyss = yyss1; yyvs = yyvs1;
3849 #ifdef YYLSP_NEEDED
3850 yyls = yyls1;
3851 #endif
3852 #else /* no yyoverflow */
3853 /* Extend the stack our own way. */
3854 if (yystacksize >= YYMAXDEPTH)
3855 {
3856 yyerror("parser stack overflow");
3857 return 2;
3858 }
3859 yystacksize *= 2;
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));
3866 #ifdef YYLSP_NEEDED
3867 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3868 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3869 #endif
3870 #endif /* no yyoverflow */
3871
3872 yyssp = yyss + size - 1;
3873 yyvsp = yyvs + size - 1;
3874 #ifdef YYLSP_NEEDED
3875 yylsp = yyls + size - 1;
3876 #endif
3877
3878 #if YYDEBUG != 0
3879 if (yydebug)
3880 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3881 #endif
3882
3883 if (yyssp >= yyss + yystacksize - 1)
3884 YYABORT;
3885 }
3886
3887 #if YYDEBUG != 0
3888 if (yydebug)
3889 fprintf(stderr, "Entering state %d\n", yystate);
3890 #endif
3891
3892 goto yybackup;
3893 yybackup:
3894
3895 /* Do appropriate processing given the current state. */
3896 /* Read a lookahead token if we need one and don't already have one. */
3897 /* yyresume: */
3898
3899 /* First try to decide what to do without reference to lookahead token. */
3900
3901 yyn = yypact[yystate];
3902 if (yyn == YYFLAG)
3903 goto yydefault;
3904
3905 /* Not known => get a lookahead token if don't already have one. */
3906
3907 /* yychar is either YYEMPTY or YYEOF
3908 or a valid token in external form. */
3909
3910 if (yychar == YYEMPTY)
3911 {
3912 #if YYDEBUG != 0
3913 if (yydebug)
3914 fprintf(stderr, "Reading a token: ");
3915 #endif
3916 yychar = YYLEX;
3917 }
3918
3919 /* Convert token to internal form (in yychar1) for indexing tables with */
3920
3921 if (yychar <= 0) /* This means end of input. */
3922 {
3923 yychar1 = 0;
3924 yychar = YYEOF; /* Don't call YYLEX any more */
3925
3926 #if YYDEBUG != 0
3927 if (yydebug)
3928 fprintf(stderr, "Now at end of input.\n");
3929 #endif
3930 }
3931 else
3932 {
3933 yychar1 = YYTRANSLATE(yychar);
3934
3935 #if YYDEBUG != 0
3936 if (yydebug)
3937 {
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. */
3941 #ifdef YYPRINT
3942 YYPRINT (stderr, yychar, yylval);
3943 #endif
3944 fprintf (stderr, ")\n");
3945 }
3946 #endif
3947 }
3948
3949 yyn += yychar1;
3950 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3951 goto yydefault;
3952
3953 yyn = yytable[yyn];
3954
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. */
3961
3962 if (yyn < 0)
3963 {
3964 if (yyn == YYFLAG)
3965 goto yyerrlab;
3966 yyn = -yyn;
3967 goto yyreduce;
3968 }
3969 else if (yyn == 0)
3970 goto yyerrlab;
3971
3972 if (yyn == YYFINAL)
3973 YYACCEPT;
3974
3975 /* Shift the lookahead token. */
3976
3977 #if YYDEBUG != 0
3978 if (yydebug)
3979 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3980 #endif
3981
3982 /* Discard the token being shifted unless it is eof. */
3983 if (yychar != YYEOF)
3984 yychar = YYEMPTY;
3985
3986 *++yyvsp = yylval;
3987 #ifdef YYLSP_NEEDED
3988 *++yylsp = yylloc;
3989 #endif
3990
3991 /* count tokens shifted since error; after three, turn off error status. */
3992 if (yyerrstatus) yyerrstatus--;
3993
3994 yystate = yyn;
3995 goto yynewstate;
3996
3997 /* Do the default action for the current state. */
3998 yydefault:
3999
4000 yyn = yydefact[yystate];
4001 if (yyn == 0)
4002 goto yyerrlab;
4003
4004 /* Do a reduction. yyn is the number of a rule to reduce with. */
4005 yyreduce:
4006 yylen = yyr2[yyn];
4007 if (yylen > 0)
4008 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4009
4010 #if YYDEBUG != 0
4011 if (yydebug)
4012 {
4013 int i;
4014
4015 fprintf (stderr, "Reducing via rule %d (line %d), ",
4016 yyn, yyrline[yyn]);
4017
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]]);
4022 }
4023 #endif
4024
4025
4026 switch (yyn) {
4027
4028 case 2:
4029 #line 334 "parse.y"
4030 { finish_translation_unit (); ;
4031 break;}
4032 case 3:
4033 #line 342 "parse.y"
4034 { yyval.ttype = NULL_TREE; ;
4035 break;}
4036 case 4:
4037 #line 344 "parse.y"
4038 { yyval.ttype = NULL_TREE; ;
4039 break;}
4040 case 5:
4041 #line 346 "parse.y"
4042 { yyval.ttype = NULL_TREE; ;
4043 break;}
4044 case 8:
4045 #line 355 "parse.y"
4046 { have_extern_spec = 1;
4047 used_extern_spec = 0;
4048 yyval.ttype = NULL_TREE; ;
4049 break;}
4050 case 9:
4051 #line 360 "parse.y"
4052 { have_extern_spec = 0; ;
4053 break;}
4054 case 10:
4055 #line 365 "parse.y"
4056 { yyval.itype = pedantic;
4057 pedantic = 0; ;
4058 break;}
4059 case 12:
4060 #line 374 "parse.y"
4061 { if (pending_lang_change) do_pending_lang_change(); ;
4062 break;}
4063 case 13:
4064 #line 376 "parse.y"
4065 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4066 pop_everything (); ;
4067 break;}
4068 case 14:
4069 #line 382 "parse.y"
4070 { if (pending_inlines) do_pending_inlines (); ;
4071 break;}
4072 case 15:
4073 #line 384 "parse.y"
4074 { if (pending_inlines) do_pending_inlines (); ;
4075 break;}
4076 case 16:
4077 #line 386 "parse.y"
4078 { if (pending_inlines) do_pending_inlines (); ;
4079 break;}
4080 case 17:
4081 #line 388 "parse.y"
4082 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4083 assemble_asm (yyvsp[-2].ttype); ;
4084 break;}
4085 case 18:
4086 #line 391 "parse.y"
4087 { pop_lang_context (); ;
4088 break;}
4089 case 19:
4090 #line 393 "parse.y"
4091 { if (pending_inlines) do_pending_inlines ();
4092 pop_lang_context (); ;
4093 break;}
4094 case 20:
4095 #line 396 "parse.y"
4096 { if (pending_inlines) do_pending_inlines ();
4097 pop_lang_context (); ;
4098 break;}
4099 case 21:
4100 #line 399 "parse.y"
4101 { push_namespace (yyvsp[-1].ttype); ;
4102 break;}
4103 case 22:
4104 #line 401 "parse.y"
4105 { pop_namespace (); ;
4106 break;}
4107 case 23:
4108 #line 403 "parse.y"
4109 { push_namespace (NULL_TREE); ;
4110 break;}
4111 case 24:
4112 #line 405 "parse.y"
4113 { pop_namespace (); ;
4114 break;}
4115 case 26:
4116 #line 408 "parse.y"
4117 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4118 break;}
4119 case 28:
4120 #line 411 "parse.y"
4121 { pedantic = yyvsp[-1].itype; ;
4122 break;}
4123 case 29:
4124 #line 416 "parse.y"
4125 { begin_only_namespace_names (); ;
4126 break;}
4127 case 30:
4128 #line 418 "parse.y"
4129 {
4130 end_only_namespace_names ();
4131 if (lastiddecl)
4132 yyvsp[-1].ttype = lastiddecl;
4133 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4134 ;
4135 break;}
4136 case 31:
4137 #line 428 "parse.y"
4138 { yyval.ttype = yyvsp[0].ttype; ;
4139 break;}
4140 case 32:
4141 #line 430 "parse.y"
4142 { yyval.ttype = yyvsp[0].ttype; ;
4143 break;}
4144 case 33:
4145 #line 432 "parse.y"
4146 { yyval.ttype = yyvsp[0].ttype; ;
4147 break;}
4148 case 34:
4149 #line 437 "parse.y"
4150 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4151 break;}
4152 case 35:
4153 #line 439 "parse.y"
4154 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4155 break;}
4156 case 36:
4157 #line 441 "parse.y"
4158 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4159 break;}
4160 case 37:
4161 #line 446 "parse.y"
4162 { begin_only_namespace_names (); ;
4163 break;}
4164 case 38:
4165 #line 448 "parse.y"
4166 {
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);
4174 ;
4175 break;}
4176 case 39:
4177 #line 461 "parse.y"
4178 {
4179 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4180 yyval.ttype = lastiddecl;
4181 got_scope = yyval.ttype;
4182 ;
4183 break;}
4184 case 40:
4185 #line 467 "parse.y"
4186 {
4187 yyval.ttype = yyvsp[-1].ttype;
4188 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4189 yyval.ttype = lastiddecl;
4190 got_scope = yyval.ttype;
4191 ;
4192 break;}
4193 case 43:
4194 #line 478 "parse.y"
4195 { yyval.ttype = yyvsp[0].ttype; ;
4196 break;}
4197 case 44:
4198 #line 480 "parse.y"
4199 { yyval.ttype = yyvsp[0].ttype; ;
4200 break;}
4201 case 45:
4202 #line 485 "parse.y"
4203 { push_lang_context (yyvsp[0].ttype); ;
4204 break;}
4205 case 46:
4206 #line 487 "parse.y"
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); ;
4210 break;}
4211 case 47:
4212 #line 494 "parse.y"
4213 { begin_template_parm_list (); ;
4214 break;}
4215 case 48:
4216 #line 496 "parse.y"
4217 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4218 break;}
4219 case 49:
4220 #line 498 "parse.y"
4221 { begin_specialization();
4222 yyval.ttype = NULL_TREE; ;
4223 break;}
4224 case 50:
4225 #line 504 "parse.y"
4226 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4227 break;}
4228 case 51:
4229 #line 506 "parse.y"
4230 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4231 break;}
4232 case 52:
4233 #line 511 "parse.y"
4234 { yyval.ttype = yyvsp[0].ttype; ;
4235 break;}
4236 case 53:
4237 #line 513 "parse.y"
4238 { yyval.ttype = NULL_TREE; ;
4239 break;}
4240 case 54:
4241 #line 517 "parse.y"
4242 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4243 break;}
4244 case 55:
4245 #line 519 "parse.y"
4246 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4247 break;}
4248 case 56:
4249 #line 524 "parse.y"
4250 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4251 break;}
4252 case 57:
4253 #line 536 "parse.y"
4254 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4255 break;}
4256 case 58:
4257 #line 538 "parse.y"
4258 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4259 break;}
4260 case 59:
4261 #line 540 "parse.y"
4262 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4263 break;}
4264 case 60:
4265 #line 542 "parse.y"
4266 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4267 break;}
4268 case 61:
4269 #line 544 "parse.y"
4270 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4271 break;}
4272 case 62:
4273 #line 546 "parse.y"
4274 {
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)
4278 {
4279 error ("invalid default template argument");
4280 yyvsp[0].ttype = error_mark_node;
4281 }
4282 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4283 ;
4284 break;}
4285 case 63:
4286 #line 561 "parse.y"
4287 {
4288 if (yyvsp[-1].ttype)
4289 end_template_decl ();
4290 else
4291 end_specialization ();
4292 ;
4293 break;}
4294 case 64:
4295 #line 569 "parse.y"
4296 {
4297 if (yyvsp[-1].ttype)
4298 end_template_decl ();
4299 else
4300 end_specialization ();
4301 ;
4302 break;}
4303 case 66:
4304 #line 580 "parse.y"
4305 {;
4306 break;}
4307 case 67:
4308 #line 582 "parse.y"
4309 {
4310 note_list_got_semicolon (yyvsp[-2].ftype.t);
4311 ;
4312 break;}
4313 case 68:
4314 #line 586 "parse.y"
4315 { pedwarn ("empty declaration"); ;
4316 break;}
4317 case 70:
4318 #line 589 "parse.y"
4319 {
4320 tree t, attrs;
4321 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4322 shadow_tag (t);
4323 note_list_got_semicolon (yyvsp[-1].ftype.t);
4324 ;
4325 break;}
4326 case 74:
4327 #line 602 "parse.y"
4328 { yyval.itype = 0; ;
4329 break;}
4330 case 75:
4331 #line 604 "parse.y"
4332 { yyval.itype = 1; ;
4333 break;}
4334 case 81:
4335 #line 620 "parse.y"
4336 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4337 break;}
4338 case 82:
4339 #line 622 "parse.y"
4340 { ;
4341 break;}
4342 case 83:
4343 #line 624 "parse.y"
4344 { ;
4345 break;}
4346 case 84:
4347 #line 629 "parse.y"
4348 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4349 break;}
4350 case 85:
4351 #line 631 "parse.y"
4352 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4353 break;}
4354 case 86:
4355 #line 633 "parse.y"
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);
4358 ;
4359 break;}
4360 case 87:
4361 #line 637 "parse.y"
4362 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4363 break;}
4364 case 88:
4365 #line 639 "parse.y"
4366 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4367 break;}
4368 case 89:
4369 #line 641 "parse.y"
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);
4372 ;
4373 break;}
4374 case 90:
4375 #line 645 "parse.y"
4376 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4377 break;}
4378 case 91:
4379 #line 647 "parse.y"
4380 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4381 break;}
4382 case 92:
4383 #line 649 "parse.y"
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);
4386 ;
4387 break;}
4388 case 93:
4389 #line 653 "parse.y"
4390 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4391 break;}
4392 case 94:
4393 #line 655 "parse.y"
4394 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4395 break;}
4396 case 95:
4397 #line 657 "parse.y"
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);
4400 ;
4401 break;}
4402 case 96:
4403 #line 664 "parse.y"
4404 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4405 YYERROR1; ;
4406 break;}
4407 case 97:
4408 #line 667 "parse.y"
4409 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4410 YYERROR1; ;
4411 break;}
4412 case 98:
4413 #line 670 "parse.y"
4414 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4415 YYERROR1; ;
4416 break;}
4417 case 99:
4418 #line 673 "parse.y"
4419 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4420 YYERROR1; ;
4421 break;}
4422 case 100:
4423 #line 676 "parse.y"
4424 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4425 YYERROR1; ;
4426 break;}
4427 case 101:
4428 #line 682 "parse.y"
4429 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4430 break;}
4431 case 102:
4432 #line 684 "parse.y"
4433 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4434 break;}
4435 case 103:
4436 #line 686 "parse.y"
4437 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4438 break;}
4439 case 104:
4440 #line 688 "parse.y"
4441 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4442 break;}
4443 case 105:
4444 #line 695 "parse.y"
4445 { tree specs = strip_attrs (yyvsp[-1].ttype);
4446 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4447 rest_of_mdef:
4448 if (! yyval.ttype)
4449 YYERROR1;
4450 if (yychar == YYEMPTY)
4451 yychar = YYLEX;
4452 reinit_parse_for_method (yychar, yyval.ttype); ;
4453 break;}
4454 case 106:
4455 #line 704 "parse.y"
4456 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4457 break;}
4458 case 107:
4459 #line 706 "parse.y"
4460 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4461 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4462 break;}
4463 case 108:
4464 #line 709 "parse.y"
4465 { tree specs = strip_attrs (yyvsp[-1].ttype);
4466 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4467 break;}
4468 case 109:
4469 #line 712 "parse.y"
4470 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4471 break;}
4472 case 110:
4473 #line 714 "parse.y"
4474 { tree specs = strip_attrs (yyvsp[-1].ttype);
4475 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4476 break;}
4477 case 111:
4478 #line 717 "parse.y"
4479 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4480 break;}
4481 case 112:
4482 #line 722 "parse.y"
4483 {
4484 if (! current_function_parms_stored)
4485 store_parm_decls ();
4486 yyval.ttype = yyvsp[0].ttype;
4487 ;
4488 break;}
4489 case 113:
4490 #line 731 "parse.y"
4491 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4492 break;}
4493 case 114:
4494 #line 733 "parse.y"
4495 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4496 break;}
4497 case 115:
4498 #line 735 "parse.y"
4499 { store_return_init (yyval.ttype, NULL_TREE); ;
4500 break;}
4501 case 116:
4502 #line 740 "parse.y"
4503 {
4504 if (yyvsp[0].itype == 0)
4505 error ("no base initializers given following ':'");
4506 setup_vtbl_ptr ();
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. */
4510 keep_next_level ();
4511 ;
4512 break;}
4513 case 117:
4514 #line 753 "parse.y"
4515 {
4516 if (! current_function_parms_stored)
4517 store_parm_decls ();
4518
4519 if (DECL_CONSTRUCTOR_P (current_function_decl))
4520 {
4521 /* Make a contour for the initializer list. */
4522 pushlevel (0);
4523 clear_last_expr ();
4524 expand_start_bindings (0);
4525 }
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");
4530 ;
4531 break;}
4532 case 118:
4533 #line 773 "parse.y"
4534 { yyval.itype = 0; ;
4535 break;}
4536 case 119:
4537 #line 775 "parse.y"
4538 { yyval.itype = 1; ;
4539 break;}
4540 case 122:
4541 #line 782 "parse.y"
4542 {
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);
4546 ;
4547 break;}
4548 case 123:
4549 #line 788 "parse.y"
4550 {
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);
4554 ;
4555 break;}
4556 case 124:
4557 #line 794 "parse.y"
4558 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4559 break;}
4560 case 125:
4561 #line 796 "parse.y"
4562 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4563 break;}
4564 case 126:
4565 #line 798 "parse.y"
4566 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4567 break;}
4568 case 127:
4569 #line 800 "parse.y"
4570 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4571 break;}
4572 case 128:
4573 #line 802 "parse.y"
4574 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4575 yyvsp[-1].ttype); ;
4576 break;}
4577 case 129:
4578 #line 805 "parse.y"
4579 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4580 void_type_node); ;
4581 break;}
4582 case 141:
4583 #line 831 "parse.y"
4584 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4585 yyungetc (';', 1); ;
4586 break;}
4587 case 143:
4588 #line 835 "parse.y"
4589 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4590 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4591 break;}
4592 case 145:
4593 #line 839 "parse.y"
4594 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4595 break;}
4596 case 147:
4597 #line 842 "parse.y"
4598 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4599 break;}
4600 case 149:
4601 #line 845 "parse.y"
4602 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4603 yyungetc (';', 1); ;
4604 break;}
4605 case 151:
4606 #line 850 "parse.y"
4607 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4608 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4609 break;}
4610 case 153:
4611 #line 854 "parse.y"
4612 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4613 break;}
4614 case 155:
4615 #line 857 "parse.y"
4616 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4617 break;}
4618 case 157:
4619 #line 862 "parse.y"
4620 { begin_explicit_instantiation(); ;
4621 break;}
4622 case 158:
4623 #line 865 "parse.y"
4624 { end_explicit_instantiation(); ;
4625 break;}
4626 case 159:
4627 #line 873 "parse.y"
4628 {
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);
4632 ;
4633 break;}
4634 case 160:
4635 #line 879 "parse.y"
4636 {
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);
4640 ;
4641 break;}
4642 case 162:
4643 #line 889 "parse.y"
4644 {
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);
4648 ;
4649 break;}
4650 case 164:
4651 #line 899 "parse.y"
4652 {
4653 /* Handle `Class<Class<Type>>' without space in the `>>' */
4654 pedwarn ("`>>' should be `> >' in template class name");
4655 yyungetc ('>', 1);
4656 ;
4657 break;}
4658 case 165:
4659 #line 908 "parse.y"
4660 { yyval.ttype = NULL_TREE; ;
4661 break;}
4662 case 167:
4663 #line 914 "parse.y"
4664 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4665 break;}
4666 case 168:
4667 #line 916 "parse.y"
4668 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4669 break;}
4670 case 169:
4671 #line 921 "parse.y"
4672 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4673 break;}
4674 case 170:
4675 #line 923 "parse.y"
4676 { yyval.ttype = lastiddecl; ;
4677 break;}
4678 case 172:
4679 #line 929 "parse.y"
4680 { yyval.code = NEGATE_EXPR; ;
4681 break;}
4682 case 173:
4683 #line 931 "parse.y"
4684 { yyval.code = CONVERT_EXPR; ;
4685 break;}
4686 case 174:
4687 #line 933 "parse.y"
4688 { yyval.code = PREINCREMENT_EXPR; ;
4689 break;}
4690 case 175:
4691 #line 935 "parse.y"
4692 { yyval.code = PREDECREMENT_EXPR; ;
4693 break;}
4694 case 176:
4695 #line 937 "parse.y"
4696 { yyval.code = TRUTH_NOT_EXPR; ;
4697 break;}
4698 case 177:
4699 #line 942 "parse.y"
4700 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4701 break;}
4702 case 179:
4703 #line 948 "parse.y"
4704 { error ("ANSI C++ forbids an empty condition for `%s'",
4705 cond_stmt_keyword);
4706 yyval.ttype = integer_zero_node; ;
4707 break;}
4708 case 180:
4709 #line 952 "parse.y"
4710 { yyval.ttype = yyvsp[-1].ttype; ;
4711 break;}
4712 case 181:
4713 #line 957 "parse.y"
4714 { error ("ANSI C++ forbids an empty condition for `%s'",
4715 cond_stmt_keyword);
4716 yyval.ttype = integer_zero_node; ;
4717 break;}
4718 case 182:
4719 #line 961 "parse.y"
4720 { yyval.ttype = yyvsp[-1].ttype; ;
4721 break;}
4722 case 183:
4723 #line 966 "parse.y"
4724 { yyval.ttype = NULL_TREE; ;
4725 break;}
4726 case 185:
4727 #line 969 "parse.y"
4728 { yyval.ttype = NULL_TREE; ;
4729 break;}
4730 case 186:
4731 #line 974 "parse.y"
4732 { {
4733 tree d;
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);
4741 }
4742 }
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);
4747 ;
4748 break;}
4749 case 187:
4750 #line 991 "parse.y"
4751 {
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);
4757 ;
4758 break;}
4759 case 193:
4760 #line 1010 "parse.y"
4761 { yyval.ttype = begin_compound_stmt (1); ;
4762 break;}
4763 case 194:
4764 #line 1012 "parse.y"
4765 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4766 break;}
4767 case 196:
4768 #line 1019 "parse.y"
4769 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4770 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4771 break;}
4772 case 197:
4773 #line 1022 "parse.y"
4774 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4775 build_expr_list (NULL_TREE, error_mark_node)); ;
4776 break;}
4777 case 198:
4778 #line 1025 "parse.y"
4779 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4780 break;}
4781 case 199:
4782 #line 1027 "parse.y"
4783 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4784 break;}
4785 case 200:
4786 #line 1032 "parse.y"
4787 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4788 break;}
4789 case 202:
4790 #line 1038 "parse.y"
4791 { yyval.ttype = yyvsp[0].ttype; ;
4792 break;}
4793 case 203:
4794 #line 1041 "parse.y"
4795 { yyval.ttype = yyvsp[0].ttype;
4796 pedantic = yyvsp[-1].itype; ;
4797 break;}
4798 case 204:
4799 #line 1044 "parse.y"
4800 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4801 break;}
4802 case 205:
4803 #line 1046 "parse.y"
4804 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4805 break;}
4806 case 206:
4807 #line 1048 "parse.y"
4808 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4809 break;}
4810 case 207:
4811 #line 1050 "parse.y"
4812 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4813 break;}
4814 case 208:
4815 #line 1053 "parse.y"
4816 { if (pedantic)
4817 pedwarn ("ANSI C++ forbids `&&'");
4818 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4819 break;}
4820 case 209:
4821 #line 1057 "parse.y"
4822 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4823 break;}
4824 case 210:
4825 #line 1059 "parse.y"
4826 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4827 break;}
4828 case 211:
4829 #line 1061 "parse.y"
4830 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4831 break;}
4832 case 212:
4833 #line 1063 "parse.y"
4834 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4835 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4836 break;}
4837 case 213:
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); ;
4841 break;}
4842 case 214:
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); ;
4846 break;}
4847 case 215:
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); ;
4851 break;}
4852 case 216:
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); ;
4856 break;}
4857 case 217:
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); ;
4862 break;}
4863 case 218:
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); ;
4867 break;}
4868 case 219:
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); ;
4872 break;}
4873 case 220:
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); ;
4877 break;}
4878 case 221:
4879 #line 1108 "parse.y"
4880 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4881 break;}
4882 case 222:
4883 #line 1110 "parse.y"
4884 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4885 if (yychar == YYEMPTY)
4886 yychar = YYLEX; ;
4887 break;}
4888 case 223:
4889 #line 1114 "parse.y"
4890 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4891 if (yychar == YYEMPTY)
4892 yychar = YYLEX; ;
4893 break;}
4894 case 224:
4895 #line 1118 "parse.y"
4896 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4897 break;}
4898 case 225:
4899 #line 1120 "parse.y"
4900 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4901 break;}
4902 case 226:
4903 #line 1130 "parse.y"
4904 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4905 break;}
4906 case 227:
4907 #line 1133 "parse.y"
4908 { yyval.itype = begin_new_placement (); ;
4909 break;}
4910 case 228:
4911 #line 1137 "parse.y"
4912 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4913 break;}
4914 case 229:
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); ;
4918 break;}
4919 case 230:
4920 #line 1145 "parse.y"
4921 { yyval.ttype = yyvsp[-1].ttype; ;
4922 break;}
4923 case 231:
4924 #line 1147 "parse.y"
4925 { yyval.ttype = NULL_TREE; ;
4926 break;}
4927 case 232:
4928 #line 1149 "parse.y"
4929 {
4930 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4931 yyval.ttype = error_mark_node;
4932 ;
4933 break;}
4934 case 233:
4935 #line 1157 "parse.y"
4936 {
4937 if (pedantic)
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);
4942 else
4943 yyval.ttype = yyvsp[0].ttype;
4944 ;
4945 break;}
4946 case 234:
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); ;
4951 break;}
4952 case 235:
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); ;
4957 break;}
4958 case 237:
4959 #line 1183 "parse.y"
4960 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4961 break;}
4962 case 238:
4963 #line 1185 "parse.y"
4964 {
4965 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4966 nreverse (yyvsp[-2].ttype));
4967 if (pedantic)
4968 pedwarn ("ANSI C++ forbids constructor-expressions");
4969 /* Indicate that this was a GNU C constructor expression. */
4970 TREE_HAS_CONSTRUCTOR (init) = 1;
4971
4972 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4973 ;
4974 break;}
4975 case 240:
4976 #line 1201 "parse.y"
4977 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4978 break;}
4979 case 241:
4980 #line 1203 "parse.y"
4981 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4982 break;}
4983 case 242:
4984 #line 1205 "parse.y"
4985 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4986 break;}
4987 case 243:
4988 #line 1207 "parse.y"
4989 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4990 break;}
4991 case 244:
4992 #line 1209 "parse.y"
4993 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4994 break;}
4995 case 245:
4996 #line 1211 "parse.y"
4997 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4998 break;}
4999 case 246:
5000 #line 1213 "parse.y"
5001 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5002 break;}
5003 case 247:
5004 #line 1215 "parse.y"
5005 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5006 break;}
5007 case 248:
5008 #line 1217 "parse.y"
5009 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5010 break;}
5011 case 249:
5012 #line 1219 "parse.y"
5013 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5014 break;}
5015 case 250:
5016 #line 1221 "parse.y"
5017 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5018 break;}
5019 case 251:
5020 #line 1223 "parse.y"
5021 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5022 break;}
5023 case 252:
5024 #line 1225 "parse.y"
5025 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5026 break;}
5027 case 253:
5028 #line 1227 "parse.y"
5029 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5030 break;}
5031 case 254:
5032 #line 1229 "parse.y"
5033 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5034 break;}
5035 case 255:
5036 #line 1231 "parse.y"
5037 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5038 break;}
5039 case 256:
5040 #line 1233 "parse.y"
5041 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5042 break;}
5043 case 257:
5044 #line 1235 "parse.y"
5045 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5046 break;}
5047 case 258:
5048 #line 1237 "parse.y"
5049 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5050 break;}
5051 case 259:
5052 #line 1239 "parse.y"
5053 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5054 break;}
5055 case 260:
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); ;
5060 break;}
5061 case 261:
5062 #line 1245 "parse.y"
5063 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5064 break;}
5065 case 262:
5066 #line 1247 "parse.y"
5067 { yyval.ttype = build_throw (NULL_TREE); ;
5068 break;}
5069 case 263:
5070 #line 1249 "parse.y"
5071 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5072 break;}
5073 case 264:
5074 #line 1267 "parse.y"
5075 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5076 break;}
5077 case 270:
5078 #line 1276 "parse.y"
5079 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5080 break;}
5081 case 271:
5082 #line 1280 "parse.y"
5083 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5084 break;}
5085 case 272:
5086 #line 1282 "parse.y"
5087 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5088 break;}
5089 case 273:
5090 #line 1287 "parse.y"
5091 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5092 break;}
5093 case 274:
5094 #line 1289 "parse.y"
5095 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5096 break;}
5097 case 275:
5098 #line 1292 "parse.y"
5099 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5100 break;}
5101 case 280:
5102 #line 1304 "parse.y"
5103 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5104 break;}
5105 case 281:
5106 #line 1306 "parse.y"
5107 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5108 break;}
5109 case 282:
5110 #line 1308 "parse.y"
5111 { yyval.ttype = yyvsp[-1].ttype; ;
5112 break;}
5113 case 283:
5114 #line 1313 "parse.y"
5115 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5116 break;}
5117 case 284:
5118 #line 1315 "parse.y"
5119 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5120 break;}
5121 case 288:
5122 #line 1323 "parse.y"
5123 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5124 break;}
5125 case 289:
5126 #line 1328 "parse.y"
5127 {
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));
5130 else
5131 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5132 ;
5133 break;}
5134 case 292:
5135 #line 1337 "parse.y"
5136 {
5137 if (processing_template_decl)
5138 push_obstacks (&permanent_obstack, &permanent_obstack);
5139 yyval.ttype = combine_strings (yyval.ttype);
5140 if (processing_template_decl)
5141 pop_obstacks ();
5142 ;
5143 break;}
5144 case 293:
5145 #line 1345 "parse.y"
5146 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5147 break;}
5148 case 294:
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); ;
5152 break;}
5153 case 295:
5154 #line 1350 "parse.y"
5155 { yyval.ttype = error_mark_node; ;
5156 break;}
5157 case 296:
5158 #line 1352 "parse.y"
5159 { if (current_function_decl == 0)
5160 {
5161 error ("braced-group within expression allowed only inside a function");
5162 YYERROR;
5163 }
5164 if (pedantic)
5165 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5166 yyval.ttype = begin_stmt_expr ();
5167 ;
5168 break;}
5169 case 297:
5170 #line 1362 "parse.y"
5171 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5172 break;}
5173 case 298:
5174 #line 1367 "parse.y"
5175 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5176 break;}
5177 case 299:
5178 #line 1369 "parse.y"
5179 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5180 break;}
5181 case 300:
5182 #line 1371 "parse.y"
5183 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5184 break;}
5185 case 301:
5186 #line 1373 "parse.y"
5187 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5188 break;}
5189 case 302:
5190 #line 1375 "parse.y"
5191 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5192 break;}
5193 case 303:
5194 #line 1377 "parse.y"
5195 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5196 break;}
5197 case 304:
5198 #line 1379 "parse.y"
5199 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5200 break;}
5201 case 305:
5202 #line 1382 "parse.y"
5203 { yyval.ttype = finish_this_expr (); ;
5204 break;}
5205 case 306:
5206 #line 1384 "parse.y"
5207 {
5208 tree type = NULL_TREE;
5209 tree id = yyval.ttype;
5210
5211 /* This is a C cast in C++'s `functional' notation. */
5212 if (yyvsp[-1].ttype == error_mark_node)
5213 {
5214 yyval.ttype = error_mark_node;
5215 break;
5216 }
5217 #if 0
5218 if (yyvsp[-1].ttype == NULL_TREE)
5219 {
5220 error ("cannot cast null list to type `%s'",
5221 IDENTIFIER_POINTER (TYPE_NAME (id)));
5222 yyval.ttype = error_mark_node;
5223 break;
5224 }
5225 #endif
5226 #if 0
5227 /* type is not set! (mrs) */
5228 if (type == error_mark_node)
5229 yyval.ttype = error_mark_node;
5230 else
5231 #endif
5232 {
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);
5237 #if 0
5238 /* should not be able to get here (mrs) */
5239 else if (id == ridpointers[(int) RID_FRIEND])
5240 {
5241 error ("cannot cast expression to `friend' type");
5242 yyval.ttype = error_mark_node;
5243 break;
5244 }
5245 #endif
5246 else my_friendly_abort (79);
5247 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5248 }
5249 ;
5250 break;}
5251 case 308:
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); ;
5256 break;}
5257 case 309:
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); ;
5262 break;}
5263 case 310:
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); ;
5268 break;}
5269 case 311:
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); ;
5274 break;}
5275 case 312:
5276 #line 1445 "parse.y"
5277 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5278 break;}
5279 case 313:
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)); ;
5284 break;}
5285 case 314:
5286 #line 1451 "parse.y"
5287 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5288 break;}
5289 case 315:
5290 #line 1453 "parse.y"
5291 { yyval.ttype = yyvsp[0].ttype; ;
5292 break;}
5293 case 316:
5294 #line 1455 "parse.y"
5295 {
5296 got_scope = NULL_TREE;
5297 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5298 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5299 else
5300 yyval.ttype = yyvsp[0].ttype;
5301 ;
5302 break;}
5303 case 317:
5304 #line 1463 "parse.y"
5305 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5306 break;}
5307 case 318:
5308 #line 1465 "parse.y"
5309 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5310 break;}
5311 case 319:
5312 #line 1467 "parse.y"
5313 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5314 break;}
5315 case 320:
5316 #line 1469 "parse.y"
5317 {
5318 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5319 ;
5320 break;}
5321 case 321:
5322 #line 1473 "parse.y"
5323 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5324 break;}
5325 case 322:
5326 #line 1475 "parse.y"
5327 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5328 break;}
5329 case 323:
5330 #line 1477 "parse.y"
5331 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5332 break;}
5333 case 324:
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));
5337 else
5338 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5339 break;}
5340 case 325:
5341 #line 1484 "parse.y"
5342 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5343 break;}
5344 case 326:
5345 #line 1486 "parse.y"
5346 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5347 break;}
5348 case 327:
5349 #line 1488 "parse.y"
5350 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5351 break;}
5352 case 328:
5353 #line 1490 "parse.y"
5354 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5355 break;}
5356 case 329:
5357 #line 1493 "parse.y"
5358 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5359 break;}
5360 case 330:
5361 #line 1495 "parse.y"
5362 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5363 break;}
5364 case 331:
5365 #line 1497 "parse.y"
5366 {
5367 yyval.ttype = error_mark_node;
5368 ;
5369 break;}
5370 case 332:
5371 #line 1542 "parse.y"
5372 { yyval.itype = 0; ;
5373 break;}
5374 case 333:
5375 #line 1544 "parse.y"
5376 { got_scope = NULL_TREE; yyval.itype = 1; ;
5377 break;}
5378 case 334:
5379 #line 1549 "parse.y"
5380 { yyval.itype = 0; ;
5381 break;}
5382 case 335:
5383 #line 1551 "parse.y"
5384 { got_scope = NULL_TREE; yyval.itype = 1; ;
5385 break;}
5386 case 336:
5387 #line 1556 "parse.y"
5388 { yyval.ttype = boolean_true_node; ;
5389 break;}
5390 case 337:
5391 #line 1558 "parse.y"
5392 { yyval.ttype = boolean_false_node; ;
5393 break;}
5394 case 339:
5395 #line 1565 "parse.y"
5396 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5397 break;}
5398 case 340:
5399 #line 1570 "parse.y"
5400 {
5401 if (! current_function_parms_stored)
5402 store_parm_decls ();
5403 setup_vtbl_ptr ();
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. */
5407 keep_next_level ();
5408 ;
5409 break;}
5410 case 341:
5411 #line 1583 "parse.y"
5412 { got_object = TREE_TYPE (yyval.ttype); ;
5413 break;}
5414 case 342:
5415 #line 1585 "parse.y"
5416 {
5417 yyval.ttype = build_x_arrow (yyval.ttype);
5418 got_object = TREE_TYPE (yyval.ttype);
5419 ;
5420 break;}
5421 case 343:
5422 #line 1593 "parse.y"
5423 {
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);
5427 ;
5428 break;}
5429 case 344:
5430 #line 1599 "parse.y"
5431 {
5432 resume_momentary (yyvsp[-1].itype);
5433 note_list_got_semicolon (yyvsp[-2].ftype.t);
5434 ;
5435 break;}
5436 case 345:
5437 #line 1604 "parse.y"
5438 { resume_momentary (yyvsp[-1].itype); ;
5439 break;}
5440 case 346:
5441 #line 1606 "parse.y"
5442 {
5443 shadow_tag (yyvsp[-1].ftype.t);
5444 note_list_got_semicolon (yyvsp[-1].ftype.t);
5445 ;
5446 break;}
5447 case 347:
5448 #line 1611 "parse.y"
5449 { warning ("empty declaration"); ;
5450 break;}
5451 case 348:
5452 #line 1613 "parse.y"
5453 { pedantic = yyvsp[-1].itype; ;
5454 break;}
5455 case 351:
5456 #line 1627 "parse.y"
5457 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5458 NULL_TREE, NULL_TREE); ;
5459 break;}
5460 case 352:
5461 #line 1630 "parse.y"
5462 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5463 NULL_TREE); ;
5464 break;}
5465 case 353:
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; ;
5469 break;}
5470 case 354:
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; ;
5474 break;}
5475 case 355:
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; ;
5479 break;}
5480 case 356:
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; ;
5484 break;}
5485 case 357:
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; ;
5489 break;}
5490 case 360:
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; ;
5494 break;}
5495 case 361:
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; ;
5499 break;}
5500 case 362:
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; ;
5504 break;}
5505 case 363:
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; ;
5509 break;}
5510 case 364:
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; ;
5514 break;}
5515 case 365:
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; ;
5520 break;}
5521 case 366:
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); ;
5527 break;}
5528 case 367:
5529 #line 1692 "parse.y"
5530 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5531 break;}
5532 case 368:
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); ;
5538 break;}
5539 case 369:
5540 #line 1699 "parse.y"
5541 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5542 break;}
5543 case 370:
5544 #line 1701 "parse.y"
5545 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5546 break;}
5547 case 371:
5548 #line 1711 "parse.y"
5549 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5550 break;}
5551 case 372:
5552 #line 1713 "parse.y"
5553 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5554 break;}
5555 case 373:
5556 #line 1715 "parse.y"
5557 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5558 TREE_STATIC (yyval.ttype) = 1; ;
5559 break;}
5560 case 374:
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); ;
5567 break;}
5568 case 375:
5569 #line 1724 "parse.y"
5570 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5571 break;}
5572 case 376:
5573 #line 1726 "parse.y"
5574 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5575 break;}
5576 case 377:
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; ;
5580 break;}
5581 case 378:
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; ;
5585 break;}
5586 case 379:
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; ;
5590 break;}
5591 case 380:
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; ;
5595 break;}
5596 case 381:
5597 #line 1752 "parse.y"
5598 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5599 break;}
5600 case 382:
5601 #line 1754 "parse.y"
5602 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5603 break;}
5604 case 384:
5605 #line 1764 "parse.y"
5606 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5607 break;}
5608 case 385:
5609 #line 1766 "parse.y"
5610 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5611 break;}
5612 case 386:
5613 #line 1768 "parse.y"
5614 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5615 yyval.ftype.new_type_flag = 0; ;
5616 break;}
5617 case 387:
5618 #line 1771 "parse.y"
5619 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5620 yyval.ftype.new_type_flag = 0; ;
5621 break;}
5622 case 388:
5623 #line 1774 "parse.y"
5624 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5625
5626 yyval.ftype.new_type_flag = 0;
5627 if (IS_AGGR_TYPE (type))
5628 {
5629 sorry ("sigof type specifier");
5630 yyval.ftype.t = type;
5631 }
5632 else
5633 {
5634 error ("`sigof' applied to non-aggregate expression");
5635 yyval.ftype.t = error_mark_node;
5636 }
5637 ;
5638 break;}
5639 case 389:
5640 #line 1789 "parse.y"
5641 { tree type = groktypename (yyvsp[-1].ftype.t);
5642
5643 yyval.ftype.new_type_flag = 0;
5644 if (IS_AGGR_TYPE (type))
5645 {
5646 sorry ("sigof type specifier");
5647 yyval.ftype.t = type;
5648 }
5649 else
5650 {
5651 error("`sigof' applied to non-aggregate type");
5652 yyval.ftype.t = error_mark_node;
5653 }
5654 ;
5655 break;}
5656 case 390:
5657 #line 1809 "parse.y"
5658 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5659 break;}
5660 case 391:
5661 #line 1811 "parse.y"
5662 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5663 break;}
5664 case 399:
5665 #line 1832 "parse.y"
5666 { yyval.ttype = NULL_TREE; ;
5667 break;}
5668 case 400:
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; ;
5671 break;}
5672 case 401:
5673 #line 1839 "parse.y"
5674 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5675 yyvsp[-1].ttype, prefix_attributes); ;
5676 break;}
5677 case 402:
5678 #line 1843 "parse.y"
5679 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5680 break;}
5681 case 403:
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); ;
5686 break;}
5687 case 404:
5688 #line 1858 "parse.y"
5689 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5690 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5691 break;}
5692 case 405:
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; ;
5697 break;}
5698 case 406:
5699 #line 1867 "parse.y"
5700 { tree d;
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); ;
5703 break;}
5704 case 407:
5705 #line 1874 "parse.y"
5706 { yyval.itype = yyvsp[0].itype; ;
5707 break;}
5708 case 408:
5709 #line 1878 "parse.y"
5710 { yyval.itype = yyvsp[0].itype; ;
5711 break;}
5712 case 409:
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; ;
5717 break;}
5718 case 410:
5719 #line 1887 "parse.y"
5720 {;
5721 break;}
5722 case 411:
5723 #line 1889 "parse.y"
5724 { tree d;
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); ;
5727 break;}
5728 case 412:
5729 #line 1898 "parse.y"
5730 { yyval.ttype = NULL_TREE; ;
5731 break;}
5732 case 413:
5733 #line 1900 "parse.y"
5734 { yyval.ttype = yyvsp[0].ttype; ;
5735 break;}
5736 case 414:
5737 #line 1905 "parse.y"
5738 { yyval.ttype = yyvsp[0].ttype; ;
5739 break;}
5740 case 415:
5741 #line 1907 "parse.y"
5742 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5743 break;}
5744 case 416:
5745 #line 1912 "parse.y"
5746 { yyval.ttype = yyvsp[-2].ttype; ;
5747 break;}
5748 case 417:
5749 #line 1917 "parse.y"
5750 { yyval.ttype = yyvsp[0].ttype; ;
5751 break;}
5752 case 418:
5753 #line 1919 "parse.y"
5754 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5755 break;}
5756 case 419:
5757 #line 1924 "parse.y"
5758 { yyval.ttype = NULL_TREE; ;
5759 break;}
5760 case 420:
5761 #line 1926 "parse.y"
5762 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5763 break;}
5764 case 421:
5765 #line 1928 "parse.y"
5766 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5767 break;}
5768 case 422:
5769 #line 1930 "parse.y"
5770 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5771 break;}
5772 case 423:
5773 #line 1932 "parse.y"
5774 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5775 break;}
5776 case 428:
5777 #line 1948 "parse.y"
5778 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5779 break;}
5780 case 429:
5781 #line 1950 "parse.y"
5782 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5783 break;}
5784 case 430:
5785 #line 1955 "parse.y"
5786 { yyval.ttype = NULL_TREE; ;
5787 break;}
5788 case 431:
5789 #line 1957 "parse.y"
5790 { yyval.ttype = yyvsp[0].ttype; ;
5791 break;}
5792 case 433:
5793 #line 1965 "parse.y"
5794 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5795 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5796 break;}
5797 case 434:
5798 #line 1968 "parse.y"
5799 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5800 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5801 break;}
5802 case 435:
5803 #line 1971 "parse.y"
5804 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5805 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5806 break;}
5807 case 436:
5808 #line 1974 "parse.y"
5809 { yyval.ttype = NULL_TREE; ;
5810 break;}
5811 case 437:
5812 #line 1981 "parse.y"
5813 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5814 break;}
5815 case 438:
5816 #line 1983 "parse.y"
5817 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5818 break;}
5819 case 439:
5820 #line 1986 "parse.y"
5821 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5822 break;}
5823 case 440:
5824 #line 1988 "parse.y"
5825 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5826 break;}
5827 case 441:
5828 #line 1990 "parse.y"
5829 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5830 break;}
5831 case 442:
5832 #line 1995 "parse.y"
5833 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5834 NULL_TREE, 1);
5835 reinit_parse_for_function (); ;
5836 break;}
5837 case 443:
5838 #line 2001 "parse.y"
5839 {
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);
5844 ;
5845 break;}
5846 case 444:
5847 #line 2008 "parse.y"
5848 { process_next_inline (yyvsp[-2].ttype); ;
5849 break;}
5850 case 445:
5851 #line 2010 "parse.y"
5852 { process_next_inline (yyvsp[-2].ttype); ;
5853 break;}
5854 case 448:
5855 #line 2022 "parse.y"
5856 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5857 break;}
5858 case 449:
5859 #line 2024 "parse.y"
5860 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5861 break;}
5862 case 451:
5863 #line 2029 "parse.y"
5864 { do_pending_defargs (); ;
5865 break;}
5866 case 452:
5867 #line 2031 "parse.y"
5868 { do_pending_defargs (); ;
5869 break;}
5870 case 453:
5871 #line 2036 "parse.y"
5872 { yyvsp[0].itype = suspend_momentary ();
5873 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5874 break;}
5875 case 454:
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); ;
5881 break;}
5882 case 455:
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); ;
5887 break;}
5888 case 456:
5889 #line 2048 "parse.y"
5890 { yyvsp[0].itype = suspend_momentary ();
5891 yyval.ttype = start_enum (make_anon_name ()); ;
5892 break;}
5893 case 457:
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; ;
5899 break;}
5900 case 458:
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); ;
5905 break;}
5906 case 459:
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; ;
5910 break;}
5911 case 460:
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; ;
5915 break;}
5916 case 461:
5917 #line 2066 "parse.y"
5918 { yyval.ftype.t = yyvsp[0].ttype;
5919 yyval.ftype.new_type_flag = 0; ;
5920 break;}
5921 case 462:
5922 #line 2071 "parse.y"
5923 {
5924 int semi;
5925
5926 if (yychar == YYEMPTY)
5927 yychar = YYLEX;
5928 semi = yychar == ';';
5929
5930 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5931 ;
5932 break;}
5933 case 463:
5934 #line 2081 "parse.y"
5935 { finish_default_args (); ;
5936 break;}
5937 case 464:
5938 #line 2083 "parse.y"
5939 { yyval.ftype.t = yyvsp[-3].ttype;
5940 yyval.ftype.new_type_flag = 1;
5941 begin_inline_definitions (); ;
5942 break;}
5943 case 465:
5944 #line 2087 "parse.y"
5945 {
5946 yyval.ftype.new_type_flag = 0;
5947 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5948 {
5949 cp_error ("%T is not a class type", yyvsp[0].ttype);
5950 yyval.ftype.t = error_mark_node;
5951 }
5952 else
5953 {
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'",
5959 yyval.ftype.t);
5960 }
5961 ;
5962 break;}
5963 case 469:
5964 #line 2114 "parse.y"
5965 { if (pedantic && !in_system_header)
5966 pedwarn ("comma at end of enumerator list"); ;
5967 break;}
5968 case 471:
5969 #line 2121 "parse.y"
5970 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5971 break;}
5972 case 472:
5973 #line 2123 "parse.y"
5974 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5975 break;}
5976 case 473:
5977 #line 2125 "parse.y"
5978 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5979 break;}
5980 case 474:
5981 #line 2127 "parse.y"
5982 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5983 break;}
5984 case 475:
5985 #line 2129 "parse.y"
5986 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
5987 break;}
5988 case 476:
5989 #line 2134 "parse.y"
5990 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5991 break;}
5992 case 477:
5993 #line 2139 "parse.y"
5994 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5995 break;}
5996 case 478:
5997 #line 2141 "parse.y"
5998 { yyungetc ('{', 1); ;
5999 break;}
6000 case 479:
6001 #line 2143 "parse.y"
6002 { yyungetc (':', 1); ;
6003 break;}
6004 case 480:
6005 #line 2148 "parse.y"
6006 {
6007 current_aggr = yyvsp[-2].ttype;
6008 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6009 ;
6010 break;}
6011 case 481:
6012 #line 2153 "parse.y"
6013 {
6014 current_aggr = yyvsp[-3].ttype;
6015 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6016 ;
6017 break;}
6018 case 482:
6019 #line 2158 "parse.y"
6020 {
6021 current_aggr = yyvsp[-2].ttype;
6022 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6023 ;
6024 break;}
6025 case 483:
6026 #line 2163 "parse.y"
6027 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6028 break;}
6029 case 484:
6030 #line 2165 "parse.y"
6031 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6032 break;}
6033 case 485:
6034 #line 2170 "parse.y"
6035 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6036 break;}
6037 case 486:
6038 #line 2175 "parse.y"
6039 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6040 break;}
6041 case 487:
6042 #line 2178 "parse.y"
6043 {
6044 yyval.ttype = yyvsp[-1].ttype;
6045 if (yyvsp[0].ttype)
6046 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6047 ;
6048 break;}
6049 case 488:
6050 #line 2184 "parse.y"
6051 {
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);
6059 if (yyvsp[0].ttype)
6060 {
6061 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6062 {
6063 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6064 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6065 {
6066 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6067 if (processing_template_decl)
6068 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6069 }
6070 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6071 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6072 }
6073 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6074 }
6075 ;
6076 break;}
6077 case 489:
6078 #line 2213 "parse.y"
6079 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6080 yyungetc ('{', 1); ;
6081 break;}
6082 case 492:
6083 #line 2224 "parse.y"
6084 { yyval.ttype = NULL_TREE; ;
6085 break;}
6086 case 493:
6087 #line 2226 "parse.y"
6088 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6089 break;}
6090 case 494:
6091 #line 2228 "parse.y"
6092 { yyval.ttype = yyvsp[0].ttype; ;
6093 break;}
6094 case 496:
6095 #line 2234 "parse.y"
6096 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6097 break;}
6098 case 497:
6099 #line 2239 "parse.y"
6100 {
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)))
6106 {
6107 error ("class name not allowed as base signature");
6108 yyval.ttype = NULL_TREE;
6109 }
6110 else if (current_aggr == signature_type_node)
6111 {
6112 sorry ("signature inheritance, base type `%s' ignored",
6113 IDENTIFIER_POINTER (yyval.ttype));
6114 yyval.ttype = build_tree_list (access_public_node, type);
6115 }
6116 else if (type && IS_SIGNATURE (type))
6117 {
6118 error ("signature name not allowed as base class");
6119 yyval.ttype = NULL_TREE;
6120 }
6121 else
6122 yyval.ttype = build_tree_list (access_default_node, type);
6123 ;
6124 break;}
6125 case 498:
6126 #line 2264 "parse.y"
6127 {
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)))
6135 {
6136 error ("class name not allowed as base signature");
6137 yyval.ttype = NULL_TREE;
6138 }
6139 else if (current_aggr == signature_type_node)
6140 {
6141 sorry ("signature inheritance, base type `%s' ignored",
6142 IDENTIFIER_POINTER (yyval.ttype));
6143 yyval.ttype = build_tree_list (access_public_node, type);
6144 }
6145 else if (type && IS_SIGNATURE (type))
6146 {
6147 error ("signature name not allowed as base class");
6148 yyval.ttype = NULL_TREE;
6149 }
6150 else
6151 yyval.ttype = build_tree_list (yyval.ttype, type);
6152 ;
6153 break;}
6154 case 499:
6155 #line 2294 "parse.y"
6156 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6157 break;}
6158 case 501:
6159 #line 2297 "parse.y"
6160 {
6161 if (current_aggr == signature_type_node)
6162 {
6163 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6164 {
6165 sorry ("`sigof' as base signature specifier");
6166 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6167 }
6168 else
6169 {
6170 error ("`sigof' applied to non-aggregate expression");
6171 yyval.ttype = error_mark_node;
6172 }
6173 }
6174 else
6175 {
6176 error ("`sigof' in struct or class declaration");
6177 yyval.ttype = error_mark_node;
6178 }
6179 ;
6180 break;}
6181 case 502:
6182 #line 2318 "parse.y"
6183 {
6184 if (current_aggr == signature_type_node)
6185 {
6186 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6187 {
6188 sorry ("`sigof' as base signature specifier");
6189 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6190 }
6191 else
6192 {
6193 error ("`sigof' applied to non-aggregate expression");
6194 yyval.ttype = error_mark_node;
6195 }
6196 }
6197 else
6198 {
6199 error ("`sigof' in struct or class declaration");
6200 yyval.ttype = error_mark_node;
6201 }
6202 ;
6203 break;}
6204 case 504:
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; ;
6209 break;}
6210 case 505:
6211 #line 2347 "parse.y"
6212 {
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;
6221 ;
6222 break;}
6223 case 506:
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;
6233 else
6234 error ("multiple `virtual' specifiers");
6235 ;
6236 break;}
6237 case 507:
6238 #line 2373 "parse.y"
6239 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6240 break;}
6241 case 508:
6242 #line 2378 "parse.y"
6243 {
6244 yyval.ttype = build_self_reference ();
6245 ;
6246 break;}
6247 case 509:
6248 #line 2385 "parse.y"
6249 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6250 break;}
6251 case 510:
6252 #line 2387 "parse.y"
6253 {
6254 if (current_aggr == signature_type_node)
6255 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6256 else
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);
6259 ;
6260 break;}
6261 case 511:
6262 #line 2395 "parse.y"
6263 {
6264 tree visspec = yyvsp[-2].ttype;
6265
6266 if (current_aggr == signature_type_node)
6267 {
6268 error ("access specifier not allowed in signature");
6269 visspec = access_public_node;
6270 }
6271 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6272 ;
6273 break;}
6274 case 512:
6275 #line 2406 "parse.y"
6276 {
6277 if (current_aggr == signature_type_node)
6278 error ("access specifier not allowed in signature");
6279 ;
6280 break;}
6281 case 513:
6282 #line 2416 "parse.y"
6283 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6284 ;
6285 break;}
6286 case 514:
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)
6293 {
6294 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6295 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6296 else
6297 yyval.ttype = yyvsp[0].ttype;
6298 }
6299 ;
6300 break;}
6301 case 515:
6302 #line 2435 "parse.y"
6303 { ;
6304 break;}
6305 case 516:
6306 #line 2437 "parse.y"
6307 { error ("missing ';' before right brace");
6308 yyungetc ('}', 0); ;
6309 break;}
6310 case 517:
6311 #line 2442 "parse.y"
6312 { yyval.ttype = finish_method (yyval.ttype); ;
6313 break;}
6314 case 518:
6315 #line 2444 "parse.y"
6316 { yyval.ttype = finish_method (yyval.ttype); ;
6317 break;}
6318 case 519:
6319 #line 2446 "parse.y"
6320 { yyval.ttype = finish_method (yyval.ttype); ;
6321 break;}
6322 case 520:
6323 #line 2448 "parse.y"
6324 { yyval.ttype = finish_method (yyval.ttype); ;
6325 break;}
6326 case 521:
6327 #line 2450 "parse.y"
6328 { yyval.ttype = NULL_TREE; ;
6329 break;}
6330 case 522:
6331 #line 2452 "parse.y"
6332 { yyval.ttype = yyvsp[0].ttype;
6333 pedantic = yyvsp[-1].itype; ;
6334 break;}
6335 case 523:
6336 #line 2455 "parse.y"
6337 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6338 break;}
6339 case 524:
6340 #line 2457 "parse.y"
6341 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6342 break;}
6343 case 525:
6344 #line 2465 "parse.y"
6345 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6346 break;}
6347 case 526:
6348 #line 2467 "parse.y"
6349 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6350 break;}
6351 case 527:
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)); ;
6355 break;}
6356 case 528:
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)); ;
6360 break;}
6361 case 529:
6362 #line 2475 "parse.y"
6363 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6364 break;}
6365 case 530:
6366 #line 2477 "parse.y"
6367 { yyval.ttype = NULL_TREE; ;
6368 break;}
6369 case 531:
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)); ;
6375 break;}
6376 case 532:
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)); ;
6380 break;}
6381 case 533:
6382 #line 2496 "parse.y"
6383 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6384 break;}
6385 case 534:
6386 #line 2502 "parse.y"
6387 { yyval.ttype = NULL_TREE; ;
6388 break;}
6389 case 536:
6390 #line 2505 "parse.y"
6391 {
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;
6396 else
6397 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6398 ;
6399 break;}
6400 case 537:
6401 #line 2517 "parse.y"
6402 { yyval.ttype = NULL_TREE; ;
6403 break;}
6404 case 539:
6405 #line 2520 "parse.y"
6406 {
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;
6411 else
6412 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6413 ;
6414 break;}
6415 case 544:
6416 #line 2542 "parse.y"
6417 { split_specs_attrs (yyvsp[-4].ttype, &current_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)); ;
6422 break;}
6423 case 545:
6424 #line 2548 "parse.y"
6425 { split_specs_attrs (yyvsp[-4].ttype, &current_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); ;
6430 break;}
6431 case 546:
6432 #line 2557 "parse.y"
6433 { split_specs_attrs (yyvsp[-4].ttype, &current_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)); ;
6438 break;}
6439 case 547:
6440 #line 2563 "parse.y"
6441 { split_specs_attrs (yyvsp[-4].ttype, &current_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)); ;
6446 break;}
6447 case 548:
6448 #line 2569 "parse.y"
6449 { split_specs_attrs (yyvsp[-4].ttype, &current_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); ;
6454 break;}
6455 case 549:
6456 #line 2575 "parse.y"
6457 { split_specs_attrs (yyvsp[-3].ttype, &current_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); ;
6462 break;}
6463 case 550:
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)); ;
6467 break;}
6468 case 551:
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); ;
6472 break;}
6473 case 552:
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)); ;
6477 break;}
6478 case 553:
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); ;
6482 break;}
6483 case 554:
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); ;
6487 break;}
6488 case 556:
6489 #line 2610 "parse.y"
6490 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6491 break;}
6492 case 557:
6493 #line 2615 "parse.y"
6494 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6495 break;}
6496 case 558:
6497 #line 2617 "parse.y"
6498 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6499 break;}
6500 case 559:
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; ;
6504 break;}
6505 case 560:
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; ;
6509 break;}
6510 case 561:
6511 #line 2633 "parse.y"
6512 {
6513 if (pedantic)
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;
6518 ;
6519 break;}
6520 case 562:
6521 #line 2644 "parse.y"
6522 { yyval.ttype = NULL_TREE; ;
6523 break;}
6524 case 563:
6525 #line 2646 "parse.y"
6526 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6527 break;}
6528 case 564:
6529 #line 2651 "parse.y"
6530 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6531 yyval.ftype.new_type_flag = 0; ;
6532 break;}
6533 case 565:
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; ;
6537 break;}
6538 case 566:
6539 #line 2663 "parse.y"
6540 { yyval.itype = suspend_momentary (); ;
6541 break;}
6542 case 567:
6543 #line 2668 "parse.y"
6544 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6545 break;}
6546 case 568:
6547 #line 2674 "parse.y"
6548 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6549 break;}
6550 case 569:
6551 #line 2676 "parse.y"
6552 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6553 break;}
6554 case 570:
6555 #line 2678 "parse.y"
6556 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6557 break;}
6558 case 571:
6559 #line 2680 "parse.y"
6560 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6561 break;}
6562 case 572:
6563 #line 2687 "parse.y"
6564 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6565 break;}
6566 case 573:
6567 #line 2689 "parse.y"
6568 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6569 break;}
6570 case 574:
6571 #line 2691 "parse.y"
6572 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6573 break;}
6574 case 575:
6575 #line 2693 "parse.y"
6576 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6577 break;}
6578 case 576:
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);
6582 ;
6583 break;}
6584 case 578:
6585 #line 2703 "parse.y"
6586 {
6587 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6588 {
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))
6593 {
6594 /* Remember that this name has been used in the class
6595 definition, as per [class.scope0] */
6596 pushdecl_class_level (yyval.ttype);
6597 }
6598 }
6599 else
6600 yyval.ttype = yyvsp[0].ttype;
6601 ;
6602 break;}
6603 case 579:
6604 #line 2720 "parse.y"
6605 {
6606 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6607 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6608 else
6609 yyval.ttype = yyvsp[0].ttype;
6610 got_scope = NULL_TREE;
6611 ;
6612 break;}
6613 case 582:
6614 #line 2733 "parse.y"
6615 { yyval.ttype = yyvsp[0].ttype; ;
6616 break;}
6617 case 583:
6618 #line 2738 "parse.y"
6619 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6620 break;}
6621 case 584:
6622 #line 2743 "parse.y"
6623 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6624 break;}
6625 case 585:
6626 #line 2745 "parse.y"
6627 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6628 break;}
6629 case 586:
6630 #line 2747 "parse.y"
6631 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6632 break;}
6633 case 587:
6634 #line 2749 "parse.y"
6635 { yyval.ttype = yyvsp[-1].ttype; ;
6636 break;}
6637 case 588:
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; ;
6642 break;}
6643 case 590:
6644 #line 2762 "parse.y"
6645 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6646 break;}
6647 case 591:
6648 #line 2764 "parse.y"
6649 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6650 break;}
6651 case 592:
6652 #line 2766 "parse.y"
6653 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6654 break;}
6655 case 593:
6656 #line 2768 "parse.y"
6657 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6658 break;}
6659 case 594:
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);
6663 ;
6664 break;}
6665 case 596:
6666 #line 2778 "parse.y"
6667 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6668 break;}
6669 case 597:
6670 #line 2780 "parse.y"
6671 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6672 break;}
6673 case 598:
6674 #line 2782 "parse.y"
6675 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6676 break;}
6677 case 599:
6678 #line 2784 "parse.y"
6679 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6680 break;}
6681 case 600:
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);
6685 ;
6686 break;}
6687 case 602:
6688 #line 2794 "parse.y"
6689 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6690 break;}
6691 case 603:
6692 #line 2796 "parse.y"
6693 { yyval.ttype = yyvsp[-1].ttype; ;
6694 break;}
6695 case 604:
6696 #line 2798 "parse.y"
6697 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6698 break;}
6699 case 605:
6700 #line 2800 "parse.y"
6701 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6702 break;}
6703 case 606:
6704 #line 2802 "parse.y"
6705 { if (TREE_CODE (OP0 (yyvsp[0].ttype)) == NAMESPACE_DECL)
6706 {
6707 push_decl_namespace (OP0 (yyvsp[0].ttype));
6708 TREE_COMPLEXITY (yyvsp[0].ttype) = -1;
6709 }
6710 else if (OP0 (yyvsp[0].ttype) != current_class_type)
6711 {
6712 push_nested_class (OP0 (yyvsp[0].ttype), 3);
6713 TREE_COMPLEXITY (yyvsp[0].ttype) = current_class_depth;
6714 }
6715 ;
6716 break;}
6717 case 607:
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)
6722 {
6723 push_nested_class (yyvsp[-1].ttype, 3);
6724 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6725 }
6726 ;
6727 break;}
6728 case 608:
6729 #line 2826 "parse.y"
6730 { got_scope = NULL_TREE;
6731 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6732 break;}
6733 case 609:
6734 #line 2829 "parse.y"
6735 { got_scope = NULL_TREE;
6736 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6737 break;}
6738 case 610:
6739 #line 2835 "parse.y"
6740 { got_scope = NULL_TREE;
6741 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6742 break;}
6743 case 611:
6744 #line 2838 "parse.y"
6745 { got_scope = NULL_TREE;
6746 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6747 break;}
6748 case 613:
6749 #line 2845 "parse.y"
6750 { yyval.ttype = yyvsp[0].ttype; ;
6751 break;}
6752 case 614:
6753 #line 2850 "parse.y"
6754 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6755 break;}
6756 case 615:
6757 #line 2852 "parse.y"
6758 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6759 break;}
6760 case 616:
6761 #line 2854 "parse.y"
6762 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6763 break;}
6764 case 621:
6765 #line 2866 "parse.y"
6766 { yyval.ttype = yyvsp[0].ttype; ;
6767 break;}
6768 case 622:
6769 #line 2868 "parse.y"
6770 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6771 break;}
6772 case 623:
6773 #line 2875 "parse.y"
6774 {
6775 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6776 {
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);
6784 }
6785 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6786 ;
6787 break;}
6788 case 624:
6789 #line 2889 "parse.y"
6790 {
6791 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6792 yyval.ttype = lastiddecl;
6793 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6794 ;
6795 break;}
6796 case 625:
6797 #line 2895 "parse.y"
6798 {
6799 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6800 yyval.ttype = lastiddecl;
6801 got_scope = yyval.ttype;
6802 ;
6803 break;}
6804 case 626:
6805 #line 2901 "parse.y"
6806 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6807 break;}
6808 case 628:
6809 #line 2917 "parse.y"
6810 { yyval.ttype = yyvsp[0].ttype; ;
6811 break;}
6812 case 629:
6813 #line 2922 "parse.y"
6814 {
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);
6819 else
6820 {
6821 yyval.ttype = yyvsp[0].ttype;
6822 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6823 yyval.ttype = TREE_TYPE (yyval.ttype);
6824 }
6825 ;
6826 break;}
6827 case 630:
6828 #line 2935 "parse.y"
6829 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6830 break;}
6831 case 631:
6832 #line 2937 "parse.y"
6833 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6834 break;}
6835 case 632:
6836 #line 2939 "parse.y"
6837 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6838 break;}
6839 case 633:
6840 #line 2944 "parse.y"
6841 {
6842 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6843 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6844 ;
6845 break;}
6846 case 634:
6847 #line 2949 "parse.y"
6848 {
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);
6853 else
6854 {
6855 yyval.ttype = yyvsp[0].ttype;
6856 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6857 yyval.ttype = TREE_TYPE (yyval.ttype);
6858 }
6859 ;
6860 break;}
6861 case 635:
6862 #line 2962 "parse.y"
6863 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6864 break;}
6865 case 636:
6866 #line 2964 "parse.y"
6867 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6868 break;}
6869 case 637:
6870 #line 2969 "parse.y"
6871 {
6872 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6873 yyvsp[-1].ttype = lastiddecl;
6874
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));
6878
6879 if (yyval.ttype == error_mark_node)
6880 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6881 ;
6882 break;}
6883 case 638:
6884 #line 2981 "parse.y"
6885 {
6886 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6887 yyval.ttype = lastiddecl;
6888 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6889 ;
6890 break;}
6891 case 639:
6892 #line 2987 "parse.y"
6893 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6894 break;}
6895 case 642:
6896 #line 2991 "parse.y"
6897 {
6898 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6899 yyval.ttype = lastiddecl;
6900 got_scope = yyval.ttype;
6901 ;
6902 break;}
6903 case 643:
6904 #line 3000 "parse.y"
6905 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6906 break;}
6907 case 644:
6908 #line 3005 "parse.y"
6909 {
6910 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6911 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6912 else
6913 yyval.ttype = yyvsp[0].ttype;
6914 got_scope = NULL_TREE;
6915 ;
6916 break;}
6917 case 646:
6918 #line 3014 "parse.y"
6919 { yyval.ttype = yyvsp[0].ttype; ;
6920 break;}
6921 case 647:
6922 #line 3019 "parse.y"
6923 { got_scope = NULL_TREE; ;
6924 break;}
6925 case 648:
6926 #line 3021 "parse.y"
6927 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6928 break;}
6929 case 649:
6930 #line 3028 "parse.y"
6931 { got_scope = void_type_node; ;
6932 break;}
6933 case 650:
6934 #line 3034 "parse.y"
6935 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6936 break;}
6937 case 651:
6938 #line 3036 "parse.y"
6939 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6940 break;}
6941 case 652:
6942 #line 3038 "parse.y"
6943 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6944 break;}
6945 case 653:
6946 #line 3040 "parse.y"
6947 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6948 break;}
6949 case 654:
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);
6953 ;
6954 break;}
6955 case 655:
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);
6959 ;
6960 break;}
6961 case 657:
6962 #line 3055 "parse.y"
6963 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6964 break;}
6965 case 658:
6966 #line 3057 "parse.y"
6967 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6968 break;}
6969 case 659:
6970 #line 3063 "parse.y"
6971 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6972 break;}
6973 case 660:
6974 #line 3065 "parse.y"
6975 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6976 break;}
6977 case 661:
6978 #line 3067 "parse.y"
6979 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6980 break;}
6981 case 662:
6982 #line 3069 "parse.y"
6983 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6984 break;}
6985 case 663:
6986 #line 3071 "parse.y"
6987 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6988 break;}
6989 case 664:
6990 #line 3073 "parse.y"
6991 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6992 break;}
6993 case 665:
6994 #line 3075 "parse.y"
6995 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6996 break;}
6997 case 666:
6998 #line 3077 "parse.y"
6999 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7000 break;}
7001 case 667:
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);
7005 ;
7006 break;}
7007 case 668:
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);
7011 ;
7012 break;}
7013 case 670:
7014 #line 3092 "parse.y"
7015 { yyval.ttype = yyvsp[-1].ttype; ;
7016 break;}
7017 case 672:
7018 #line 3096 "parse.y"
7019 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7020 break;}
7021 case 673:
7022 #line 3098 "parse.y"
7023 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7024 break;}
7025 case 674:
7026 #line 3100 "parse.y"
7027 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7028 break;}
7029 case 675:
7030 #line 3102 "parse.y"
7031 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7032 break;}
7033 case 676:
7034 #line 3104 "parse.y"
7035 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7036 break;}
7037 case 677:
7038 #line 3106 "parse.y"
7039 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7040 break;}
7041 case 678:
7042 #line 3108 "parse.y"
7043 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7044 break;}
7045 case 679:
7046 #line 3110 "parse.y"
7047 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7048 break;}
7049 case 680:
7050 #line 3112 "parse.y"
7051 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7052 break;}
7053 case 687:
7054 #line 3135 "parse.y"
7055 { if (pedantic)
7056 pedwarn ("ANSI C++ forbids label declarations"); ;
7057 break;}
7058 case 690:
7059 #line 3146 "parse.y"
7060 { tree link;
7061 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7062 {
7063 tree label = shadow_label (TREE_VALUE (link));
7064 C_DECLARED_LABEL_FLAG (label) = 1;
7065 declare_nonlocal_label (label);
7066 }
7067 ;
7068 break;}
7069 case 691:
7070 #line 3160 "parse.y"
7071 {;
7072 break;}
7073 case 693:
7074 #line 3166 "parse.y"
7075 { yyval.ttype = begin_compound_stmt (0); ;
7076 break;}
7077 case 694:
7078 #line 3168 "parse.y"
7079 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7080 break;}
7081 case 695:
7082 #line 3173 "parse.y"
7083 {
7084 yyval.ttype = begin_if_stmt ();
7085 cond_stmt_keyword = "if";
7086 ;
7087 break;}
7088 case 696:
7089 #line 3178 "parse.y"
7090 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7091 break;}
7092 case 697:
7093 #line 3180 "parse.y"
7094 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7095 break;}
7096 case 699:
7097 #line 3185 "parse.y"
7098 { yyval.ttype = begin_compound_stmt (0); ;
7099 break;}
7100 case 700:
7101 #line 3187 "parse.y"
7102 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7103 break;}
7104 case 701:
7105 #line 3192 "parse.y"
7106 {;
7107 break;}
7108 case 703:
7109 #line 3198 "parse.y"
7110 { finish_stmt (); ;
7111 break;}
7112 case 704:
7113 #line 3200 "parse.y"
7114 { finish_expr_stmt (yyvsp[-1].ttype); ;
7115 break;}
7116 case 705:
7117 #line 3202 "parse.y"
7118 { begin_else_clause (); ;
7119 break;}
7120 case 706:
7121 #line 3204 "parse.y"
7122 {
7123 finish_else_clause (yyvsp[-3].ttype);
7124 finish_if_stmt ();
7125 ;
7126 break;}
7127 case 707:
7128 #line 3209 "parse.y"
7129 { finish_if_stmt (); ;
7130 break;}
7131 case 708:
7132 #line 3211 "parse.y"
7133 {
7134 yyval.ttype = begin_while_stmt ();
7135 cond_stmt_keyword = "while";
7136 ;
7137 break;}
7138 case 709:
7139 #line 3216 "parse.y"
7140 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7141 break;}
7142 case 710:
7143 #line 3218 "parse.y"
7144 { finish_while_stmt (yyvsp[-3].ttype); ;
7145 break;}
7146 case 711:
7147 #line 3220 "parse.y"
7148 { yyval.ttype = begin_do_stmt (); ;
7149 break;}
7150 case 712:
7151 #line 3222 "parse.y"
7152 {
7153 finish_do_body (yyvsp[-2].ttype);
7154 cond_stmt_keyword = "do";
7155 ;
7156 break;}
7157 case 713:
7158 #line 3227 "parse.y"
7159 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7160 break;}
7161 case 714:
7162 #line 3229 "parse.y"
7163 { yyval.ttype = begin_for_stmt (); ;
7164 break;}
7165 case 715:
7166 #line 3231 "parse.y"
7167 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7168 break;}
7169 case 716:
7170 #line 3233 "parse.y"
7171 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7172 break;}
7173 case 717:
7174 #line 3235 "parse.y"
7175 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7176 break;}
7177 case 718:
7178 #line 3237 "parse.y"
7179 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7180 break;}
7181 case 719:
7182 #line 3239 "parse.y"
7183 { begin_switch_stmt (); ;
7184 break;}
7185 case 720:
7186 #line 3241 "parse.y"
7187 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7188 break;}
7189 case 721:
7190 #line 3243 "parse.y"
7191 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7192 break;}
7193 case 722:
7194 #line 3245 "parse.y"
7195 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7196 break;}
7197 case 724:
7198 #line 3248 "parse.y"
7199 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7200 break;}
7201 case 726:
7202 #line 3251 "parse.y"
7203 { finish_case_label (NULL_TREE, NULL_TREE); ;
7204 break;}
7205 case 728:
7206 #line 3254 "parse.y"
7207 { finish_break_stmt (); ;
7208 break;}
7209 case 729:
7210 #line 3256 "parse.y"
7211 { finish_continue_stmt (); ;
7212 break;}
7213 case 730:
7214 #line 3258 "parse.y"
7215 { finish_return_stmt (NULL_TREE); ;
7216 break;}
7217 case 731:
7218 #line 3260 "parse.y"
7219 { finish_return_stmt (yyvsp[-1].ttype); ;
7220 break;}
7221 case 732:
7222 #line 3262 "parse.y"
7223 {
7224 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7225 NULL_TREE);
7226 ;
7227 break;}
7228 case 733:
7229 #line 3268 "parse.y"
7230 {
7231 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7232 NULL_TREE);
7233 ;
7234 break;}
7235 case 734:
7236 #line 3274 "parse.y"
7237 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7238 break;}
7239 case 735:
7240 #line 3278 "parse.y"
7241 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7242 break;}
7243 case 736:
7244 #line 3280 "parse.y"
7245 {
7246 if (pedantic)
7247 pedwarn ("ANSI C++ forbids computed gotos");
7248 finish_goto_stmt (yyvsp[-1].ttype);
7249 ;
7250 break;}
7251 case 737:
7252 #line 3286 "parse.y"
7253 { finish_goto_stmt (yyvsp[-1].ttype); ;
7254 break;}
7255 case 738:
7256 #line 3288 "parse.y"
7257 { finish_stmt (); ;
7258 break;}
7259 case 739:
7260 #line 3290 "parse.y"
7261 { error ("label must be followed by statement");
7262 yyungetc ('}', 0);
7263 finish_stmt (); ;
7264 break;}
7265 case 740:
7266 #line 3294 "parse.y"
7267 { finish_stmt (); ;
7268 break;}
7269 case 743:
7270 #line 3298 "parse.y"
7271 { do_local_using_decl (yyvsp[0].ttype); ;
7272 break;}
7273 case 745:
7274 #line 3304 "parse.y"
7275 {
7276 if (! current_function_parms_stored)
7277 store_parm_decls ();
7278 expand_start_early_try_stmts ();
7279 ;
7280 break;}
7281 case 746:
7282 #line 3310 "parse.y"
7283 {
7284 expand_start_all_catch ();
7285 ;
7286 break;}
7287 case 747:
7288 #line 3314 "parse.y"
7289 {
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);
7294 ;
7295 break;}
7296 case 748:
7297 #line 3324 "parse.y"
7298 { yyval.ttype = begin_try_block (); ;
7299 break;}
7300 case 749:
7301 #line 3326 "parse.y"
7302 { finish_try_block (yyvsp[-1].ttype); ;
7303 break;}
7304 case 750:
7305 #line 3328 "parse.y"
7306 { finish_handler_sequence (yyvsp[-3].ttype); ;
7307 break;}
7308 case 753:
7309 #line 3338 "parse.y"
7310 { yyval.ttype = begin_handler(); ;
7311 break;}
7312 case 754:
7313 #line 3340 "parse.y"
7314 { finish_handler_parms (yyvsp[-1].ttype); ;
7315 break;}
7316 case 755:
7317 #line 3342 "parse.y"
7318 { finish_handler (yyvsp[-3].ttype); ;
7319 break;}
7320 case 758:
7321 #line 3352 "parse.y"
7322 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7323 break;}
7324 case 759:
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)); ;
7329 break;}
7330 case 760:
7331 #line 3375 "parse.y"
7332 { tree label;
7333 do_label:
7334 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7335 if (label && ! minimal_parse_mode)
7336 expand_label (label);
7337 ;
7338 break;}
7339 case 761:
7340 #line 3382 "parse.y"
7341 { goto do_label; ;
7342 break;}
7343 case 762:
7344 #line 3384 "parse.y"
7345 { goto do_label; ;
7346 break;}
7347 case 763:
7348 #line 3386 "parse.y"
7349 { goto do_label; ;
7350 break;}
7351 case 764:
7352 #line 3391 "parse.y"
7353 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7354 break;}
7355 case 766:
7356 #line 3394 "parse.y"
7357 { if (pedantic)
7358 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7359 ;
7360 break;}
7361 case 767:
7362 #line 3403 "parse.y"
7363 { emit_line_note (input_filename, lineno);
7364 yyval.ttype = NULL_TREE; ;
7365 break;}
7366 case 768:
7367 #line 3406 "parse.y"
7368 { emit_line_note (input_filename, lineno); ;
7369 break;}
7370 case 769:
7371 #line 3411 "parse.y"
7372 { yyval.ttype = NULL_TREE; ;
7373 break;}
7374 case 771:
7375 #line 3414 "parse.y"
7376 { yyval.ttype = NULL_TREE; ;
7377 break;}
7378 case 772:
7379 #line 3421 "parse.y"
7380 { yyval.ttype = NULL_TREE; ;
7381 break;}
7382 case 775:
7383 #line 3428 "parse.y"
7384 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7385 break;}
7386 case 776:
7387 #line 3433 "parse.y"
7388 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7389 break;}
7390 case 777:
7391 #line 3438 "parse.y"
7392 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7393 break;}
7394 case 778:
7395 #line 3440 "parse.y"
7396 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7397 break;}
7398 case 779:
7399 #line 3451 "parse.y"
7400 {
7401 yyval.ttype = empty_parms();
7402 ;
7403 break;}
7404 case 781:
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); ;
7408 break;}
7409 case 782:
7410 #line 3464 "parse.y"
7411 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7412 break;}
7413 case 783:
7414 #line 3466 "parse.y"
7415 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7416 break;}
7417 case 784:
7418 #line 3469 "parse.y"
7419 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7420 break;}
7421 case 785:
7422 #line 3471 "parse.y"
7423 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7424 yyvsp[-1].ftype.t), 1); ;
7425 break;}
7426 case 786:
7427 #line 3474 "parse.y"
7428 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7429 break;}
7430 case 787:
7431 #line 3476 "parse.y"
7432 {
7433 /* This helps us recover from really nasty
7434 parse errors, for example, a missing right
7435 parenthesis. */
7436 yyerror ("possibly missing ')'");
7437 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7438 yyungetc (':', 0);
7439 yychar = ')';
7440 ;
7441 break;}
7442 case 788:
7443 #line 3486 "parse.y"
7444 {
7445 /* This helps us recover from really nasty
7446 parse errors, for example, a missing right
7447 parenthesis. */
7448 yyerror ("possibly missing ')'");
7449 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7450 yyvsp[-1].ftype.t), 0);
7451 yyungetc (':', 0);
7452 yychar = ')';
7453 ;
7454 break;}
7455 case 789:
7456 #line 3501 "parse.y"
7457 { maybe_snarf_defarg (); ;
7458 break;}
7459 case 790:
7460 #line 3503 "parse.y"
7461 { yyval.ttype = yyvsp[0].ttype; ;
7462 break;}
7463 case 793:
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); ;
7467 break;}
7468 case 794:
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); ;
7472 break;}
7473 case 795:
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); ;
7477 break;}
7478 case 796:
7479 #line 3523 "parse.y"
7480 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7481 break;}
7482 case 797:
7483 #line 3525 "parse.y"
7484 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7485 break;}
7486 case 799:
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); ;
7490 break;}
7491 case 800:
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); ;
7496 break;}
7497 case 801:
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; ;
7501 break;}
7502 case 802:
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; ;
7506 break;}
7507 case 803:
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; ;
7512 break;}
7513 case 804:
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; ;
7518 break;}
7519 case 805:
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; ;
7524 break;}
7525 case 806:
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; ;
7529 break;}
7530 case 807:
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; ;
7534 break;}
7535 case 810:
7536 #line 3580 "parse.y"
7537 { see_typename (); ;
7538 break;}
7539 case 811:
7540 #line 3585 "parse.y"
7541 {
7542 error ("type specifier omitted for parameter");
7543 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7544 ;
7545 break;}
7546 case 812:
7547 #line 3590 "parse.y"
7548 {
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);
7555 ;
7556 break;}
7557 case 813:
7558 #line 3602 "parse.y"
7559 { yyval.ttype = NULL_TREE; ;
7560 break;}
7561 case 814:
7562 #line 3604 "parse.y"
7563 { yyval.ttype = yyvsp[-1].ttype; ;
7564 break;}
7565 case 815:
7566 #line 3606 "parse.y"
7567 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7568 break;}
7569 case 816:
7570 #line 3611 "parse.y"
7571 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7572 break;}
7573 case 818:
7574 #line 3617 "parse.y"
7575 {
7576 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7577 yyval.ttype = yyvsp[0].ttype;
7578 ;
7579 break;}
7580 case 819:
7581 #line 3625 "parse.y"
7582 { yyval.ttype = NULL_TREE; ;
7583 break;}
7584 case 820:
7585 #line 3627 "parse.y"
7586 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7587 break;}
7588 case 821:
7589 #line 3629 "parse.y"
7590 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7591 break;}
7592 case 822:
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);
7596 ;
7597 break;}
7598 case 823:
7599 #line 3638 "parse.y"
7600 { got_scope = NULL_TREE; ;
7601 break;}
7602 case 824:
7603 #line 3643 "parse.y"
7604 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7605 break;}
7606 case 825:
7607 #line 3645 "parse.y"
7608 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7609 break;}
7610 case 826:
7611 #line 3647 "parse.y"
7612 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7613 break;}
7614 case 827:
7615 #line 3649 "parse.y"
7616 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7617 break;}
7618 case 828:
7619 #line 3651 "parse.y"
7620 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7621 break;}
7622 case 829:
7623 #line 3653 "parse.y"
7624 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7625 break;}
7626 case 830:
7627 #line 3655 "parse.y"
7628 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7629 break;}
7630 case 831:
7631 #line 3657 "parse.y"
7632 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7633 break;}
7634 case 832:
7635 #line 3659 "parse.y"
7636 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7637 break;}
7638 case 833:
7639 #line 3661 "parse.y"
7640 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7641 break;}
7642 case 834:
7643 #line 3663 "parse.y"
7644 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7645 break;}
7646 case 835:
7647 #line 3665 "parse.y"
7648 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7649 break;}
7650 case 836:
7651 #line 3667 "parse.y"
7652 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7653 break;}
7654 case 837:
7655 #line 3669 "parse.y"
7656 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7657 break;}
7658 case 838:
7659 #line 3671 "parse.y"
7660 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7661 break;}
7662 case 839:
7663 #line 3673 "parse.y"
7664 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7665 break;}
7666 case 840:
7667 #line 3675 "parse.y"
7668 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7669 break;}
7670 case 841:
7671 #line 3677 "parse.y"
7672 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7673 break;}
7674 case 842:
7675 #line 3679 "parse.y"
7676 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7677 break;}
7678 case 843:
7679 #line 3681 "parse.y"
7680 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7681 break;}
7682 case 844:
7683 #line 3683 "parse.y"
7684 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7685 break;}
7686 case 845:
7687 #line 3685 "parse.y"
7688 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7689 break;}
7690 case 846:
7691 #line 3687 "parse.y"
7692 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7693 break;}
7694 case 847:
7695 #line 3689 "parse.y"
7696 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7697 break;}
7698 case 848:
7699 #line 3691 "parse.y"
7700 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7701 break;}
7702 case 849:
7703 #line 3693 "parse.y"
7704 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7705 break;}
7706 case 850:
7707 #line 3695 "parse.y"
7708 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7709 break;}
7710 case 851:
7711 #line 3697 "parse.y"
7712 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7713 break;}
7714 case 852:
7715 #line 3699 "parse.y"
7716 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7717 break;}
7718 case 853:
7719 #line 3701 "parse.y"
7720 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7721 break;}
7722 case 854:
7723 #line 3703 "parse.y"
7724 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7725 break;}
7726 case 855:
7727 #line 3705 "parse.y"
7728 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7729 break;}
7730 case 856:
7731 #line 3707 "parse.y"
7732 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7733 break;}
7734 case 857:
7735 #line 3710 "parse.y"
7736 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7737 break;}
7738 case 858:
7739 #line 3712 "parse.y"
7740 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7741 break;}
7742 }
7743 /* the action file gets copied in in place of this dollarsign */
7744 #line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
7745 \f
7746 yyvsp -= yylen;
7747 yyssp -= yylen;
7748 #ifdef YYLSP_NEEDED
7749 yylsp -= yylen;
7750 #endif
7751
7752 #if YYDEBUG != 0
7753 if (yydebug)
7754 {
7755 short *ssp1 = yyss - 1;
7756 fprintf (stderr, "state stack now");
7757 while (ssp1 != yyssp)
7758 fprintf (stderr, " %d", *++ssp1);
7759 fprintf (stderr, "\n");
7760 }
7761 #endif
7762
7763 *++yyvsp = yyval;
7764
7765 #ifdef YYLSP_NEEDED
7766 yylsp++;
7767 if (yylen == 0)
7768 {
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;
7773 yylsp->text = 0;
7774 }
7775 else
7776 {
7777 yylsp->last_line = (yylsp+yylen-1)->last_line;
7778 yylsp->last_column = (yylsp+yylen-1)->last_column;
7779 }
7780 #endif
7781
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. */
7786
7787 yyn = yyr1[yyn];
7788
7789 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7790 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7791 yystate = yytable[yystate];
7792 else
7793 yystate = yydefgoto[yyn - YYNTBASE];
7794
7795 goto yynewstate;
7796
7797 yyerrlab: /* here on detecting error */
7798
7799 if (! yyerrstatus)
7800 /* If not already recovering from an error, report this error. */
7801 {
7802 ++yynerrs;
7803
7804 #ifdef YYERROR_VERBOSE
7805 yyn = yypact[yystate];
7806
7807 if (yyn > YYFLAG && yyn < YYLAST)
7808 {
7809 int size = 0;
7810 char *msg;
7811 int x, count;
7812
7813 count = 0;
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);
7820 if (msg != 0)
7821 {
7822 strcpy(msg, "parse error");
7823
7824 if (count < 5)
7825 {
7826 count = 0;
7827 for (x = (yyn < 0 ? -yyn : 0);
7828 x < (sizeof(yytname) / sizeof(char *)); x++)
7829 if (yycheck[x + yyn] == x)
7830 {
7831 strcat(msg, count == 0 ? ", expecting `" : " or `");
7832 strcat(msg, yytname[x]);
7833 strcat(msg, "'");
7834 count++;
7835 }
7836 }
7837 yyerror(msg);
7838 free(msg);
7839 }
7840 else
7841 yyerror ("parse error; also virtual memory exceeded");
7842 }
7843 else
7844 #endif /* YYERROR_VERBOSE */
7845 yyerror("parse error");
7846 }
7847
7848 goto yyerrlab1;
7849 yyerrlab1: /* here on error raised explicitly by an action */
7850
7851 if (yyerrstatus == 3)
7852 {
7853 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7854
7855 /* return failure if at end of input */
7856 if (yychar == YYEOF)
7857 YYABORT;
7858
7859 #if YYDEBUG != 0
7860 if (yydebug)
7861 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7862 #endif
7863
7864 yychar = YYEMPTY;
7865 }
7866
7867 /* Else will try to reuse lookahead token
7868 after shifting the error token. */
7869
7870 yyerrstatus = 3; /* Each real token shifted decrements this */
7871
7872 goto yyerrhandle;
7873
7874 yyerrdefault: /* current state does not do anything special for the error token. */
7875
7876 #if 0
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;
7881 #endif
7882
7883 yyerrpop: /* pop the current state because it cannot handle the error token */
7884
7885 if (yyssp == yyss) YYABORT;
7886 yyvsp--;
7887 yystate = *--yyssp;
7888 #ifdef YYLSP_NEEDED
7889 yylsp--;
7890 #endif
7891
7892 #if YYDEBUG != 0
7893 if (yydebug)
7894 {
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");
7900 }
7901 #endif
7902
7903 yyerrhandle:
7904
7905 yyn = yypact[yystate];
7906 if (yyn == YYFLAG)
7907 goto yyerrdefault;
7908
7909 yyn += YYTERROR;
7910 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7911 goto yyerrdefault;
7912
7913 yyn = yytable[yyn];
7914 if (yyn < 0)
7915 {
7916 if (yyn == YYFLAG)
7917 goto yyerrpop;
7918 yyn = -yyn;
7919 goto yyreduce;
7920 }
7921 else if (yyn == 0)
7922 goto yyerrpop;
7923
7924 if (yyn == YYFINAL)
7925 YYACCEPT;
7926
7927 #if YYDEBUG != 0
7928 if (yydebug)
7929 fprintf(stderr, "Shifting error token, ");
7930 #endif
7931
7932 *++yyvsp = yylval;
7933 #ifdef YYLSP_NEEDED
7934 *++yylsp = yylloc;
7935 #endif
7936
7937 yystate = yyn;
7938 goto yynewstate;
7939 }
7940 #line 3715 "parse.y"
7941
7942
7943 #ifdef SPEW_DEBUG
7944 const char *
7945 debug_yytranslate (value)
7946 int value;
7947 {
7948 return yytname[YYTRANSLATE (value)];
7949 }
7950
7951 #endif