cp-tree.h (enter_scope_of): New function.
[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 1605
215 #define YYFLAG -32768
216 #define YYNTBASE 112
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 395)
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, 197, 199, 205, 210,
267 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
268 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
269 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
270 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
271 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
272 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
273 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
274 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
275 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
276 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
277 563, 565, 571, 572, 574, 576, 577, 579, 581, 585,
278 587, 589, 591, 593, 595, 597, 599, 601, 603, 605,
279 607, 611, 613, 617, 618, 620, 622, 623, 631, 633,
280 635, 639, 644, 648, 649, 653, 655, 659, 663, 667,
281 671, 673, 675, 677, 680, 683, 686, 689, 692, 695,
282 698, 703, 706, 711, 714, 718, 722, 727, 733, 740,
283 747, 755, 758, 763, 769, 772, 775, 777, 778, 783,
284 788, 792, 794, 798, 801, 805, 810, 812, 815, 821,
285 823, 827, 831, 835, 839, 843, 847, 851, 855, 859,
286 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
287 905, 909, 913, 915, 918, 922, 924, 926, 928, 930,
288 932, 933, 939, 945, 951, 957, 963, 965, 967, 969,
289 971, 974, 977, 981, 986, 991, 993, 995, 997, 1001,
290 1003, 1005, 1007, 1009, 1013, 1017, 1021, 1022, 1027, 1032,
291 1035, 1040, 1043, 1048, 1051, 1054, 1056, 1061, 1063, 1071,
292 1079, 1087, 1095, 1100, 1105, 1108, 1111, 1114, 1116, 1121,
293 1124, 1127, 1133, 1137, 1140, 1143, 1149, 1153, 1159, 1163,
294 1168, 1175, 1178, 1180, 1183, 1185, 1188, 1190, 1192, 1194,
295 1197, 1198, 1201, 1204, 1208, 1212, 1216, 1219, 1222, 1225,
296 1227, 1229, 1231, 1234, 1237, 1240, 1243, 1245, 1247, 1249,
297 1251, 1254, 1257, 1261, 1265, 1269, 1274, 1276, 1279, 1282,
298 1285, 1287, 1289, 1291, 1294, 1297, 1300, 1302, 1304, 1307,
299 1310, 1314, 1316, 1319, 1321, 1323, 1325, 1330, 1335, 1340,
300 1345, 1347, 1349, 1351, 1353, 1357, 1359, 1363, 1365, 1369,
301 1370, 1375, 1376, 1383, 1387, 1388, 1393, 1395, 1399, 1403,
302 1404, 1409, 1413, 1414, 1416, 1418, 1421, 1428, 1430, 1434,
303 1435, 1437, 1442, 1449, 1454, 1456, 1458, 1460, 1462, 1464,
304 1468, 1469, 1472, 1474, 1477, 1481, 1486, 1488, 1490, 1494,
305 1499, 1503, 1509, 1511, 1516, 1520, 1524, 1525, 1529, 1533,
306 1537, 1538, 1541, 1544, 1545, 1553, 1558, 1559, 1566, 1570,
307 1573, 1576, 1579, 1580, 1581, 1591, 1593, 1594, 1596, 1597,
308 1599, 1601, 1604, 1607, 1610, 1613, 1616, 1619, 1622, 1625,
309 1628, 1632, 1637, 1641, 1644, 1648, 1649, 1651, 1655, 1658,
310 1661, 1663, 1665, 1666, 1669, 1673, 1675, 1680, 1682, 1686,
311 1688, 1690, 1695, 1700, 1703, 1706, 1710, 1714, 1716, 1717,
312 1719, 1722, 1727, 1731, 1733, 1736, 1739, 1742, 1745, 1748,
313 1751, 1754, 1756, 1759, 1762, 1766, 1769, 1772, 1777, 1782,
314 1785, 1787, 1793, 1798, 1800, 1801, 1803, 1807, 1808, 1810,
315 1814, 1816, 1818, 1820, 1822, 1827, 1832, 1837, 1842, 1847,
316 1851, 1856, 1861, 1866, 1871, 1875, 1877, 1881, 1883, 1887,
317 1890, 1892, 1900, 1901, 1904, 1906, 1909, 1910, 1913, 1918,
318 1923, 1926, 1931, 1935, 1939, 1942, 1945, 1949, 1951, 1953,
319 1956, 1958, 1960, 1963, 1966, 1971, 1976, 1980, 1984, 1987,
320 1989, 1993, 1997, 2000, 2003, 2007, 2009, 2013, 2017, 2020,
321 2023, 2027, 2029, 2034, 2038, 2043, 2047, 2049, 2052, 2055,
322 2058, 2061, 2064, 2066, 2069, 2074, 2079, 2082, 2084, 2086,
323 2088, 2090, 2093, 2098, 2101, 2104, 2107, 2110, 2112, 2115,
324 2118, 2121, 2124, 2128, 2130, 2133, 2137, 2142, 2145, 2148,
325 2151, 2154, 2157, 2160, 2165, 2168, 2170, 2173, 2176, 2180,
326 2182, 2186, 2189, 2193, 2196, 2199, 2203, 2205, 2209, 2214,
327 2218, 2221, 2224, 2226, 2230, 2233, 2236, 2238, 2241, 2245,
328 2247, 2251, 2253, 2260, 2265, 2270, 2274, 2280, 2284, 2288,
329 2292, 2295, 2297, 2299, 2302, 2305, 2308, 2309, 2311, 2313,
330 2316, 2320, 2322, 2325, 2326, 2330, 2331, 2332, 2338, 2340,
331 2341, 2344, 2346, 2348, 2350, 2353, 2354, 2359, 2361, 2362,
332 2363, 2369, 2370, 2371, 2379, 2380, 2381, 2382, 2383, 2396,
333 2397, 2398, 2406, 2407, 2413, 2414, 2422, 2423, 2428, 2431,
334 2434, 2437, 2441, 2448, 2457, 2468, 2481, 2486, 2490, 2493,
335 2496, 2498, 2500, 2502, 2504, 2506, 2507, 2508, 2515, 2516,
336 2517, 2523, 2525, 2528, 2529, 2530, 2536, 2538, 2540, 2544,
337 2548, 2551, 2554, 2557, 2560, 2563, 2565, 2568, 2569, 2571,
338 2572, 2574, 2576, 2577, 2579, 2581, 2585, 2590, 2592, 2596,
339 2597, 2599, 2601, 2603, 2606, 2609, 2612, 2614, 2617, 2620,
340 2621, 2625, 2627, 2629, 2631, 2634, 2637, 2640, 2645, 2648,
341 2651, 2654, 2657, 2660, 2663, 2665, 2668, 2670, 2673, 2675,
342 2677, 2678, 2679, 2681, 2682, 2687, 2690, 2692, 2694, 2698,
343 2699, 2703, 2707, 2711, 2713, 2716, 2719, 2722, 2725, 2728,
344 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752, 2755, 2758,
345 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2786, 2789,
346 2792, 2795, 2798, 2802, 2805, 2808, 2813, 2818, 2822
347 };
348
349 static const short yyrhs[] = { -1,
350 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
351 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
352 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
353 93, 217, 108, 60, 0, 133, 58, 115, 109, 0,
354 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
355 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
356 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
357 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
358 126, 132, 60, 0, 46, 309, 0, 46, 323, 309,
359 0, 46, 323, 208, 0, 46, 131, 163, 0, 46,
360 323, 163, 0, 46, 323, 131, 163, 0, 0, 46,
361 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
362 54, 0, 208, 0, 309, 0, 323, 309, 0, 323,
363 208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
364 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
365 136, 59, 140, 0, 163, 0, 0, 266, 137, 0,
366 45, 137, 0, 134, 266, 137, 0, 138, 0, 138,
367 64, 223, 0, 386, 0, 386, 64, 203, 0, 139,
368 0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
369 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
370 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
371 142, 0, 234, 60, 0, 227, 233, 60, 0, 224,
372 232, 60, 0, 259, 60, 0, 234, 60, 0, 227,
373 233, 60, 0, 224, 232, 60, 0, 227, 60, 0,
374 166, 60, 0, 224, 60, 0, 1, 60, 0, 1,
375 109, 0, 60, 0, 218, 0, 159, 0, 0, 158,
376 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
377 333, 0, 154, 146, 357, 0, 154, 146, 1, 0,
378 0, 314, 5, 93, 150, 377, 108, 296, 389, 0,
379 314, 5, 47, 296, 389, 0, 0, 323, 314, 5,
380 93, 151, 377, 108, 296, 389, 0, 323, 314, 5,
381 47, 296, 389, 0, 0, 314, 178, 93, 152, 377,
382 108, 296, 389, 0, 314, 178, 47, 296, 389, 0,
383 0, 323, 314, 178, 93, 153, 377, 108, 296, 389,
384 0, 323, 314, 178, 47, 296, 389, 0, 224, 221,
385 0, 227, 306, 0, 306, 0, 227, 149, 0, 149,
386 0, 5, 93, 377, 108, 296, 389, 0, 5, 47,
387 296, 389, 0, 178, 93, 377, 108, 296, 389, 0,
388 178, 47, 296, 389, 0, 227, 155, 0, 155, 0,
389 224, 221, 0, 227, 306, 0, 306, 0, 227, 149,
390 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
391 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
392 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
393 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
394 195, 108, 0, 164, 47, 0, 302, 93, 195, 108,
395 0, 302, 47, 0, 316, 93, 195, 108, 0, 316,
396 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
397 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
398 103, 0, 105, 0, 0, 48, 175, 230, 60, 167,
399 176, 0, 0, 48, 175, 224, 221, 168, 176, 0,
400 0, 48, 175, 306, 169, 176, 0, 0, 48, 175,
401 149, 170, 176, 0, 0, 7, 48, 175, 230, 60,
402 171, 176, 0, 0, 7, 48, 175, 224, 221, 172,
403 176, 0, 0, 7, 48, 175, 306, 173, 176, 0,
404 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
405 56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
406 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
407 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
408 182, 59, 183, 0, 223, 0, 56, 0, 203, 0,
409 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
410 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
411 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
412 0, 0, 367, 221, 235, 244, 64, 190, 252, 0,
413 185, 0, 109, 0, 330, 328, 109, 0, 330, 328,
414 1, 109, 0, 330, 1, 109, 0, 0, 58, 193,
415 191, 0, 342, 0, 203, 59, 203, 0, 203, 59,
416 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
417 203, 0, 194, 0, 212, 0, 118, 202, 0, 80,
418 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
419 0, 67, 163, 0, 13, 196, 0, 13, 93, 223,
420 108, 0, 29, 196, 0, 29, 93, 223, 108, 0,
421 214, 295, 0, 214, 295, 200, 0, 214, 199, 295,
422 0, 214, 199, 295, 200, 0, 214, 93, 198, 223,
423 197, 0, 214, 93, 198, 223, 197, 200, 0, 214,
424 199, 93, 198, 223, 197, 0, 214, 199, 93, 198,
425 223, 197, 200, 0, 215, 202, 0, 215, 94, 111,
426 202, 0, 215, 94, 185, 111, 202, 0, 34, 202,
427 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
428 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
429 0, 47, 0, 93, 230, 108, 0, 64, 252, 0,
430 93, 223, 108, 0, 201, 93, 223, 108, 0, 196,
431 0, 201, 196, 0, 201, 58, 253, 264, 109, 0,
432 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
433 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
434 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
435 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
436 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
437 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
438 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
439 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
440 372, 62, 203, 0, 203, 64, 203, 0, 203, 63,
441 203, 0, 61, 0, 61, 203, 0, 88, 387, 163,
442 0, 206, 0, 394, 0, 3, 0, 56, 0, 57,
443 0, 0, 6, 74, 205, 181, 180, 0, 394, 74,
444 205, 181, 180, 0, 48, 163, 74, 181, 180, 0,
445 48, 6, 74, 181, 180, 0, 48, 394, 74, 181,
446 180, 0, 204, 0, 4, 0, 5, 0, 204, 0,
447 80, 209, 0, 70, 209, 0, 93, 209, 108, 0,
448 3, 74, 181, 180, 0, 57, 74, 182, 180, 0,
449 308, 0, 204, 0, 210, 0, 93, 209, 108, 0,
450 204, 0, 10, 0, 216, 0, 217, 0, 93, 185,
451 108, 0, 93, 209, 108, 0, 93, 1, 108, 0,
452 0, 93, 213, 334, 108, 0, 204, 93, 195, 108,
453 0, 204, 47, 0, 212, 93, 195, 108, 0, 212,
454 47, 0, 212, 94, 185, 111, 0, 212, 86, 0,
455 212, 87, 0, 40, 0, 9, 93, 195, 108, 0,
456 312, 0, 50, 74, 223, 75, 93, 185, 108, 0,
457 51, 74, 223, 75, 93, 185, 108, 0, 52, 74,
458 223, 75, 93, 185, 108, 0, 53, 74, 223, 75,
459 93, 185, 108, 0, 49, 93, 185, 108, 0, 49,
460 93, 223, 108, 0, 323, 3, 0, 323, 206, 0,
461 323, 394, 0, 311, 0, 311, 93, 195, 108, 0,
462 311, 47, 0, 219, 207, 0, 219, 207, 93, 195,
463 108, 0, 219, 207, 47, 0, 219, 208, 0, 219,
464 311, 0, 219, 208, 93, 195, 108, 0, 219, 208,
465 47, 0, 219, 311, 93, 195, 108, 0, 219, 311,
466 47, 0, 219, 88, 8, 47, 0, 219, 8, 54,
467 88, 8, 47, 0, 219, 1, 0, 39, 0, 323,
468 39, 0, 38, 0, 323, 215, 0, 42, 0, 43,
469 0, 11, 0, 217, 11, 0, 0, 212, 92, 0,
470 212, 91, 0, 230, 232, 60, 0, 224, 232, 60,
471 0, 227, 233, 60, 0, 224, 60, 0, 227, 60,
472 0, 118, 220, 0, 301, 0, 306, 0, 47, 0,
473 222, 47, 0, 228, 326, 0, 297, 326, 0, 230,
474 326, 0, 228, 0, 297, 0, 228, 0, 225, 0,
475 227, 230, 0, 230, 226, 0, 230, 229, 226, 0,
476 227, 230, 226, 0, 227, 230, 229, 0, 227, 230,
477 229, 226, 0, 7, 0, 226, 231, 0, 226, 7,
478 0, 226, 245, 0, 245, 0, 297, 0, 7, 0,
479 227, 9, 0, 227, 7, 0, 227, 245, 0, 245,
480 0, 230, 0, 297, 230, 0, 230, 229, 0, 297,
481 230, 229, 0, 231, 0, 229, 231, 0, 259, 0,
482 8, 0, 303, 0, 28, 93, 185, 108, 0, 28,
483 93, 223, 108, 0, 30, 93, 185, 108, 0, 30,
484 93, 223, 108, 0, 8, 0, 9, 0, 259, 0,
485 240, 0, 232, 59, 236, 0, 241, 0, 233, 59,
486 236, 0, 242, 0, 234, 59, 236, 0, 0, 119,
487 93, 217, 108, 0, 0, 221, 235, 244, 64, 237,
488 252, 0, 221, 235, 244, 0, 0, 244, 64, 239,
489 252, 0, 244, 0, 221, 235, 238, 0, 306, 235,
490 238, 0, 0, 306, 235, 243, 238, 0, 149, 235,
491 244, 0, 0, 245, 0, 246, 0, 245, 246, 0,
492 31, 93, 93, 247, 108, 108, 0, 248, 0, 247,
493 59, 248, 0, 0, 249, 0, 249, 93, 3, 108,
494 0, 249, 93, 3, 59, 195, 108, 0, 249, 93,
495 195, 108, 0, 163, 0, 7, 0, 8, 0, 9,
496 0, 163, 0, 250, 59, 163, 0, 0, 64, 252,
497 0, 203, 0, 58, 109, 0, 58, 253, 109, 0,
498 58, 253, 59, 109, 0, 1, 0, 252, 0, 253,
499 59, 252, 0, 94, 203, 111, 252, 0, 163, 62,
500 252, 0, 253, 59, 163, 62, 252, 0, 97, 0,
501 254, 146, 145, 333, 0, 254, 146, 357, 0, 254,
502 146, 1, 0, 0, 256, 255, 147, 0, 102, 203,
503 107, 0, 102, 1, 107, 0, 0, 258, 257, 0,
504 258, 1, 0, 0, 14, 163, 58, 260, 293, 265,
505 109, 0, 14, 163, 58, 109, 0, 0, 14, 58,
506 261, 293, 265, 109, 0, 14, 58, 109, 0, 14,
507 163, 0, 14, 321, 0, 45, 316, 0, 0, 0,
508 273, 279, 281, 109, 244, 262, 258, 263, 256, 0,
509 273, 0, 0, 59, 0, 0, 59, 0, 36, 0,
510 266, 7, 0, 266, 8, 0, 266, 9, 0, 266,
511 36, 0, 266, 245, 0, 266, 163, 0, 266, 165,
512 0, 267, 58, 0, 267, 62, 0, 266, 314, 163,
513 0, 266, 323, 314, 163, 0, 266, 323, 163, 0,
514 266, 177, 0, 266, 314, 177, 0, 0, 267, 0,
515 268, 270, 274, 0, 269, 274, 0, 266, 58, 0,
516 272, 0, 271, 0, 0, 62, 387, 0, 62, 387,
517 275, 0, 276, 0, 275, 59, 387, 276, 0, 277,
518 0, 278, 387, 277, 0, 316, 0, 302, 0, 30,
519 93, 185, 108, 0, 30, 93, 223, 108, 0, 37,
520 387, 0, 7, 387, 0, 278, 37, 387, 0, 278,
521 7, 387, 0, 58, 0, 0, 280, 0, 280, 282,
522 0, 281, 37, 62, 282, 0, 281, 37, 62, 0,
523 283, 0, 282, 283, 0, 284, 60, 0, 284, 109,
524 0, 156, 62, 0, 156, 95, 0, 156, 25, 0,
525 156, 58, 0, 60, 0, 118, 283, 0, 134, 283,
526 0, 134, 224, 60, 0, 224, 285, 0, 227, 286,
527 0, 306, 235, 244, 251, 0, 149, 235, 244, 251,
528 0, 62, 203, 0, 1, 0, 227, 155, 235, 244,
529 251, 0, 155, 235, 244, 251, 0, 127, 0, 0,
530 287, 0, 285, 59, 288, 0, 0, 290, 0, 286,
531 59, 292, 0, 289, 0, 290, 0, 291, 0, 292,
532 0, 301, 235, 244, 251, 0, 4, 62, 203, 244,
533 0, 306, 235, 244, 251, 0, 149, 235, 244, 251,
534 0, 3, 62, 203, 244, 0, 62, 203, 244, 0,
535 301, 235, 244, 251, 0, 4, 62, 203, 244, 0,
536 306, 235, 244, 251, 0, 3, 62, 203, 244, 0,
537 62, 203, 244, 0, 294, 0, 293, 59, 294, 0,
538 163, 0, 163, 64, 203, 0, 367, 324, 0, 367,
539 0, 93, 198, 223, 197, 94, 185, 111, 0, 0,
540 296, 9, 0, 9, 0, 297, 9, 0, 0, 298,
541 185, 0, 298, 93, 195, 108, 0, 298, 93, 377,
542 108, 0, 298, 47, 0, 298, 93, 1, 108, 0,
543 80, 297, 301, 0, 70, 297, 301, 0, 80, 301,
544 0, 70, 301, 0, 322, 296, 301, 0, 305, 0,
545 313, 0, 323, 313, 0, 302, 0, 304, 0, 323,
546 304, 0, 314, 313, 0, 305, 300, 296, 389, 0,
547 305, 94, 299, 111, 0, 305, 94, 111, 0, 93,
548 301, 108, 0, 314, 313, 0, 313, 0, 80, 297,
549 306, 0, 70, 297, 306, 0, 80, 306, 0, 70,
550 306, 0, 322, 296, 306, 0, 211, 0, 80, 297,
551 306, 0, 70, 297, 306, 0, 80, 307, 0, 70,
552 307, 0, 322, 296, 306, 0, 308, 0, 211, 300,
553 296, 389, 0, 93, 307, 108, 0, 211, 94, 299,
554 111, 0, 211, 94, 111, 0, 310, 0, 314, 210,
555 0, 314, 208, 0, 314, 207, 0, 314, 204, 0,
556 314, 207, 0, 310, 0, 323, 310, 0, 230, 93,
557 195, 108, 0, 230, 93, 209, 108, 0, 230, 222,
558 0, 4, 0, 5, 0, 177, 0, 315, 0, 314,
559 315, 0, 314, 48, 320, 54, 0, 4, 54, 0,
560 5, 54, 0, 57, 54, 0, 177, 54, 0, 317,
561 0, 323, 317, 0, 318, 163, 0, 318, 177, 0,
562 318, 320, 0, 318, 48, 320, 0, 319, 0, 318,
563 319, 0, 318, 320, 54, 0, 318, 48, 320, 54,
564 0, 4, 54, 0, 5, 54, 0, 177, 54, 0,
565 56, 54, 0, 3, 54, 0, 57, 54, 0, 163,
566 74, 181, 180, 0, 323, 313, 0, 304, 0, 323,
567 304, 0, 314, 80, 0, 323, 314, 80, 0, 54,
568 0, 80, 296, 324, 0, 80, 296, 0, 70, 296,
569 324, 0, 70, 296, 0, 322, 296, 0, 322, 296,
570 324, 0, 325, 0, 94, 185, 111, 0, 325, 94,
571 299, 111, 0, 80, 297, 326, 0, 80, 326, 0,
572 80, 297, 0, 80, 0, 70, 297, 326, 0, 70,
573 326, 0, 70, 297, 0, 70, 0, 322, 296, 0,
574 322, 296, 326, 0, 327, 0, 93, 326, 108, 0,
575 90, 0, 327, 93, 377, 108, 296, 389, 0, 327,
576 47, 296, 389, 0, 327, 94, 299, 111, 0, 327,
577 94, 111, 0, 93, 378, 108, 296, 389, 0, 201,
578 296, 389, 0, 222, 296, 389, 0, 94, 299, 111,
579 0, 94, 111, 0, 341, 0, 329, 0, 328, 341,
580 0, 328, 329, 0, 1, 60, 0, 0, 331, 0,
581 332, 0, 331, 332, 0, 33, 250, 60, 0, 334,
582 0, 1, 334, 0, 0, 58, 335, 191, 0, 0,
583 0, 15, 337, 187, 338, 339, 0, 334, 0, 0,
584 340, 342, 0, 334, 0, 342, 0, 220, 0, 185,
585 60, 0, 0, 336, 16, 343, 339, 0, 336, 0,
586 0, 0, 17, 344, 187, 345, 192, 0, 0, 0,
587 18, 346, 339, 17, 347, 186, 60, 0, 0, 0,
588 0, 0, 19, 348, 93, 370, 349, 188, 60, 350,
589 372, 108, 351, 192, 0, 0, 0, 20, 352, 93,
590 189, 108, 353, 339, 0, 0, 21, 203, 62, 354,
591 341, 0, 0, 21, 203, 12, 203, 62, 355, 341,
592 0, 0, 22, 62, 356, 341, 0, 23, 60, 0,
593 24, 60, 0, 25, 60, 0, 25, 185, 60, 0,
594 119, 371, 93, 217, 108, 60, 0, 119, 371, 93,
595 217, 62, 373, 108, 60, 0, 119, 371, 93, 217,
596 62, 373, 62, 373, 108, 60, 0, 119, 371, 93,
597 217, 62, 373, 62, 373, 62, 376, 108, 60, 0,
598 26, 80, 185, 60, 0, 26, 163, 60, 0, 369,
599 341, 0, 369, 109, 0, 60, 0, 360, 0, 129,
600 0, 128, 0, 125, 0, 0, 0, 95, 358, 145,
601 334, 359, 363, 0, 0, 0, 95, 361, 334, 362,
602 363, 0, 364, 0, 363, 364, 0, 0, 0, 96,
603 365, 368, 366, 334, 0, 228, 0, 297, 0, 93,
604 12, 108, 0, 93, 386, 108, 0, 3, 62, 0,
605 56, 62, 0, 4, 62, 0, 5, 62, 0, 372,
606 60, 0, 220, 0, 58, 191, 0, 0, 9, 0,
607 0, 185, 0, 1, 0, 0, 374, 0, 375, 0,
608 374, 59, 375, 0, 11, 93, 185, 108, 0, 11,
609 0, 376, 59, 11, 0, 0, 378, 0, 223, 0,
610 382, 0, 383, 12, 0, 382, 12, 0, 223, 12,
611 0, 12, 0, 382, 62, 0, 223, 62, 0, 0,
612 64, 380, 381, 0, 101, 0, 252, 0, 384, 0,
613 386, 379, 0, 383, 385, 0, 383, 388, 0, 383,
614 388, 64, 252, 0, 382, 59, 0, 223, 59, 0,
615 225, 221, 0, 228, 221, 0, 230, 221, 0, 225,
616 326, 0, 225, 0, 227, 306, 0, 386, 0, 386,
617 379, 0, 384, 0, 223, 0, 0, 0, 306, 0,
618 0, 61, 93, 391, 108, 0, 61, 47, 0, 223,
619 0, 390, 0, 391, 59, 390, 0, 0, 80, 296,
620 392, 0, 70, 296, 392, 0, 322, 296, 392, 0,
621 41, 0, 393, 80, 0, 393, 81, 0, 393, 82,
622 0, 393, 78, 0, 393, 79, 0, 393, 70, 0,
623 393, 68, 0, 393, 69, 0, 393, 88, 0, 393,
624 59, 0, 393, 73, 0, 393, 74, 0, 393, 75,
625 0, 393, 72, 0, 393, 63, 0, 393, 64, 0,
626 393, 76, 0, 393, 77, 0, 393, 86, 0, 393,
627 87, 0, 393, 67, 0, 393, 66, 0, 393, 110,
628 0, 393, 65, 62, 0, 393, 71, 0, 393, 91,
629 0, 393, 83, 0, 393, 47, 0, 393, 94, 111,
630 0, 393, 39, 0, 393, 38, 0, 393, 39, 94,
631 111, 0, 393, 38, 94, 111, 0, 393, 367, 392,
632 0, 393, 1, 0
633 };
634
635 #endif
636
637 #if YYDEBUG != 0
638 static const short yyrline[] = { 0,
639 331, 333, 341, 344, 345, 349, 351, 354, 359, 363,
640 369, 373, 376, 380, 383, 385, 387, 390, 392, 395,
641 398, 400, 402, 404, 406, 407, 409, 410, 414, 417,
642 426, 429, 431, 435, 438, 440, 444, 447, 459, 466,
643 474, 476, 477, 479, 483, 486, 492, 495, 497, 502,
644 505, 509, 512, 515, 518, 522, 527, 537, 539, 541,
645 543, 545, 558, 561, 565, 568, 570, 572, 575, 578,
646 582, 584, 586, 588, 593, 595, 597, 599, 601, 602,
647 609, 610, 611, 614, 617, 621, 623, 624, 627, 629,
648 632, 635, 637, 641, 644, 646, 650, 652, 654, 658,
649 660, 662, 666, 668, 670, 676, 680, 683, 686, 689,
650 694, 697, 699, 701, 707, 717, 719, 722, 725, 727,
651 730, 734, 743, 746, 748, 752, 765, 785, 788, 790,
652 791, 794, 801, 807, 809, 811, 813, 815, 818, 823,
653 825, 826, 827, 828, 831, 833, 834, 837, 839, 840,
654 843, 848, 848, 852, 852, 855, 855, 858, 858, 862,
655 862, 867, 867, 870, 870, 873, 875, 878, 885, 889,
656 892, 895, 901, 910, 912, 920, 923, 926, 929, 933,
657 936, 938, 941, 944, 946, 948, 950, 954, 957, 960,
658 965, 969, 974, 978, 981, 982, 986, 1005, 1012, 1015,
659 1017, 1018, 1019, 1022, 1026, 1027, 1031, 1035, 1038, 1040,
660 1044, 1047, 1050, 1054, 1057, 1059, 1061, 1063, 1066, 1070,
661 1072, 1074, 1076, 1082, 1085, 1088, 1091, 1103, 1108, 1112,
662 1116, 1121, 1123, 1127, 1131, 1133, 1142, 1146, 1149, 1152,
663 1157, 1160, 1162, 1170, 1183, 1188, 1194, 1196, 1198, 1211,
664 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232,
665 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
666 1254, 1258, 1260, 1262, 1279, 1282, 1283, 1284, 1285, 1286,
667 1289, 1292, 1295, 1299, 1302, 1304, 1309, 1311, 1312, 1315,
668 1317, 1319, 1321, 1325, 1328, 1332, 1336, 1337, 1338, 1342,
669 1350, 1351, 1352, 1360, 1362, 1365, 1367, 1377, 1382, 1384,
670 1386, 1388, 1390, 1392, 1394, 1397, 1399, 1443, 1444, 1448,
671 1452, 1456, 1460, 1462, 1466, 1468, 1470, 1478, 1480, 1482,
672 1484, 1488, 1490, 1492, 1494, 1499, 1501, 1503, 1505, 1508,
673 1510, 1512, 1556, 1559, 1563, 1566, 1570, 1573, 1578, 1580,
674 1584, 1597, 1600, 1607, 1614, 1619, 1621, 1626, 1628, 1635,
675 1637, 1641, 1645, 1651, 1655, 1658, 1661, 1664, 1674, 1676,
676 1679, 1683, 1686, 1689, 1692, 1695, 1701, 1707, 1709, 1714,
677 1716, 1725, 1728, 1730, 1733, 1739, 1741, 1751, 1755, 1758,
678 1761, 1766, 1769, 1777, 1779, 1781, 1783, 1786, 1789, 1804,
679 1823, 1826, 1828, 1831, 1833, 1836, 1838, 1841, 1843, 1846,
680 1849, 1853, 1859, 1860, 1872, 1879, 1882, 1888, 1892, 1897,
681 1903, 1904, 1912, 1915, 1919, 1922, 1926, 1931, 1934, 1938,
682 1941, 1943, 1945, 1947, 1954, 1956, 1957, 1958, 1962, 1965,
683 1969, 1972, 1978, 1980, 1983, 1986, 1989, 1995, 1998, 2001,
684 2003, 2005, 2009, 2015, 2023, 2025, 2029, 2031, 2036, 2039,
685 2042, 2044, 2046, 2050, 2054, 2059, 2063, 2066, 2071, 2075,
686 2078, 2081, 2085, 2097, 2099, 2102, 2122, 2124, 2127, 2129,
687 2134, 2136, 2138, 2140, 2142, 2144, 2148, 2153, 2156, 2158,
688 2162, 2168, 2173, 2178, 2180, 2184, 2189, 2192, 2199, 2216,
689 2222, 2224, 2227, 2230, 2232, 2236, 2238, 2242, 2275, 2311,
690 2314, 2315, 2336, 2359, 2361, 2365, 2376, 2390, 2395, 2402,
691 2405, 2413, 2424, 2433, 2437, 2452, 2455, 2460, 2462, 2464,
692 2466, 2468, 2470, 2473, 2475, 2479, 2485, 2487, 2490, 2493,
693 2495, 2506, 2511, 2514, 2519, 2522, 2523, 2534, 2537, 2538,
694 2549, 2551, 2554, 2556, 2559, 2566, 2574, 2581, 2587, 2593,
695 2601, 2605, 2610, 2614, 2617, 2626, 2628, 2632, 2635, 2640,
696 2644, 2650, 2661, 2664, 2668, 2672, 2680, 2685, 2691, 2694,
697 2696, 2698, 2704, 2707, 2709, 2711, 2713, 2717, 2720, 2738,
698 2748, 2750, 2751, 2755, 2760, 2763, 2765, 2767, 2769, 2773,
699 2779, 2782, 2784, 2786, 2788, 2792, 2795, 2798, 2800, 2802,
700 2804, 2808, 2811, 2814, 2816, 2818, 2820, 2822, 2829, 2833,
701 2838, 2842, 2847, 2849, 2853, 2856, 2858, 2862, 2864, 2865,
702 2868, 2870, 2872, 2878, 2893, 2899, 2905, 2919, 2921, 2925,
703 2939, 2941, 2943, 2947, 2953, 2966, 2968, 2972, 2985, 2991,
704 2993, 2994, 2995, 3003, 3008, 3017, 3018, 3022, 3025, 3031,
705 3037, 3040, 3042, 3044, 3046, 3050, 3054, 3058, 3061, 3066,
706 3069, 3071, 3073, 3075, 3077, 3079, 3081, 3083, 3087, 3091,
707 3095, 3099, 3100, 3102, 3104, 3106, 3108, 3110, 3112, 3114,
708 3116, 3124, 3126, 3127, 3128, 3131, 3137, 3139, 3144, 3146,
709 3149, 3163, 3166, 3169, 3173, 3176, 3183, 3185, 3188, 3190,
710 3192, 3195, 3198, 3201, 3204, 3206, 3209, 3213, 3215, 3221,
711 3223, 3224, 3226, 3231, 3233, 3235, 3237, 3239, 3242, 3243,
712 3245, 3248, 3249, 3252, 3252, 3255, 3255, 3258, 3258, 3260,
713 3262, 3264, 3266, 3272, 3278, 3281, 3284, 3290, 3292, 3294,
714 3298, 3300, 3301, 3302, 3304, 3307, 3314, 3319, 3327, 3331,
715 3333, 3336, 3338, 3341, 3345, 3347, 3350, 3352, 3355, 3372,
716 3378, 3386, 3388, 3390, 3394, 3397, 3398, 3406, 3410, 3414,
717 3417, 3418, 3424, 3427, 3430, 3432, 3436, 3441, 3444, 3454,
718 3459, 3460, 3467, 3470, 3473, 3475, 3478, 3480, 3490, 3504,
719 3508, 3511, 3513, 3517, 3521, 3524, 3527, 3529, 3533, 3535,
720 3542, 3549, 3552, 3555, 3559, 3563, 3569, 3573, 3578, 3580,
721 3583, 3588, 3594, 3605, 3608, 3610, 3614, 3619, 3621, 3628,
722 3631, 3633, 3635, 3641, 3646, 3649, 3651, 3653, 3655, 3657,
723 3659, 3661, 3663, 3665, 3667, 3669, 3671, 3673, 3675, 3677,
724 3679, 3681, 3683, 3685, 3687, 3689, 3691, 3693, 3695, 3697,
725 3699, 3701, 3703, 3705, 3707, 3709, 3711, 3714, 3716
726 };
727 #endif
728
729
730 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
731
732 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
733 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
734 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
735 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
736 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
737 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
738 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
739 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
740 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
741 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
742 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
743 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
744 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
745 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
746 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
747 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
748 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
749 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
750 "template_type_parm","template_template_parm","template_parm","template_def",
751 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
752 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
753 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
754 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
755 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
756 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
757 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
758 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
759 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
760 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
761 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
762 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
763 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
764 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
765 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
766 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
767 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
768 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
769 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
770 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
771 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
772 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
773 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
774 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
775 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
776 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
777 "component_decl_1","components","notype_components","component_declarator0",
778 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
779 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
780 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
781 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
782 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
783 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
784 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
785 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
786 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
787 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
788 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
789 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
790 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
791 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
792 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
793 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
794 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
795 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
796 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
797 };
798 #endif
799
800 static const short yyr1[] = { 0,
801 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
802 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
803 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
804 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
805 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
806 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
807 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
808 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
809 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
810 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
811 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
812 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
813 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
814 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
815 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
816 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
817 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
818 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
819 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
820 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
821 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
822 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
823 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
824 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
825 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
826 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
827 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
828 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
829 205, 206, 206, 207, 207, 207, 208, 208, 208, 209,
830 209, 209, 209, 210, 210, 211, 211, 211, 211, 212,
831 212, 212, 212, 212, 212, 212, 213, 212, 212, 212,
832 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
833 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
834 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
835 212, 212, 214, 214, 215, 215, 216, 216, 217, 217,
836 218, 219, 219, 220, 220, 220, 220, 220, 220, 221,
837 221, 222, 222, 223, 223, 223, 223, 223, 224, 224,
838 225, 225, 225, 225, 225, 225, 226, 226, 226, 226,
839 226, 227, 227, 227, 227, 227, 227, 228, 228, 228,
840 228, 229, 229, 230, 230, 230, 230, 230, 230, 230,
841 231, 231, 231, 232, 232, 233, 233, 234, 234, 235,
842 235, 237, 236, 236, 239, 238, 238, 240, 241, 243,
843 242, 242, 244, 244, 245, 245, 246, 247, 247, 248,
844 248, 248, 248, 248, 249, 249, 249, 249, 250, 250,
845 251, 251, 252, 252, 252, 252, 252, 253, 253, 253,
846 253, 253, 254, 255, 255, 255, 256, 256, 257, 257,
847 258, 258, 258, 260, 259, 259, 261, 259, 259, 259,
848 259, 259, 262, 263, 259, 259, 264, 264, 265, 265,
849 266, 266, 266, 266, 266, 266, 267, 268, 268, 268,
850 269, 269, 269, 269, 269, 270, 271, 271, 271, 272,
851 273, 273, 274, 274, 274, 275, 275, 276, 276, 277,
852 277, 277, 277, 278, 278, 278, 278, 279, 280, 281,
853 281, 281, 281, 282, 282, 283, 283, 283, 283, 283,
854 283, 283, 283, 283, 283, 284, 284, 284, 284, 284,
855 284, 284, 284, 284, 285, 285, 285, 286, 286, 286,
856 287, 287, 288, 288, 289, 289, 290, 290, 290, 290,
857 291, 291, 292, 292, 292, 293, 293, 294, 294, 295,
858 295, 295, 296, 296, 297, 297, 298, 299, 300, 300,
859 300, 300, 301, 301, 301, 301, 301, 301, 302, 302,
860 303, 303, 303, 304, 305, 305, 305, 305, 305, 305,
861 306, 306, 306, 306, 306, 306, 307, 307, 307, 307,
862 307, 307, 308, 308, 308, 308, 308, 308, 309, 309,
863 310, 310, 311, 311, 312, 312, 312, 313, 313, 313,
864 314, 314, 314, 315, 315, 315, 315, 316, 316, 317,
865 317, 317, 317, 318, 318, 318, 318, 319, 319, 319,
866 319, 319, 319, 320, 321, 321, 321, 322, 322, 323,
867 324, 324, 324, 324, 324, 324, 324, 325, 325, 326,
868 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
869 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
870 327, 328, 328, 328, 328, 329, 330, 330, 331, 331,
871 332, 333, 333, 335, 334, 337, 338, 336, 339, 340,
872 339, 341, 341, 342, 342, 343, 342, 342, 344, 345,
873 342, 346, 347, 342, 348, 349, 350, 351, 342, 352,
874 353, 342, 354, 342, 355, 342, 356, 342, 342, 342,
875 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
876 342, 342, 342, 342, 342, 358, 359, 357, 361, 362,
877 360, 363, 363, 365, 366, 364, 367, 367, 368, 368,
878 369, 369, 369, 369, 370, 370, 370, 371, 371, 372,
879 372, 372, 373, 373, 374, 374, 375, 376, 376, 377,
880 377, 377, 378, 378, 378, 378, 378, 378, 378, 380,
881 379, 381, 381, 382, 382, 382, 382, 382, 383, 383,
882 384, 384, 384, 384, 384, 384, 385, 385, 386, 386,
883 387, 388, 388, 389, 389, 389, 390, 391, 391, 392,
884 392, 392, 392, 393, 394, 394, 394, 394, 394, 394,
885 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
886 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
887 394, 394, 394, 394, 394, 394, 394, 394, 394
888 };
889
890 static const short yyr2[] = { 0,
891 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
892 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
893 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
894 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
895 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
896 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
897 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
898 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
899 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
900 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
901 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
902 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
903 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
904 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
905 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
906 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
907 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
908 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
911 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
912 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
913 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
914 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
915 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
916 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
917 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
918 3, 3, 1, 2, 3, 1, 1, 1, 1, 1,
919 0, 5, 5, 5, 5, 5, 1, 1, 1, 1,
920 2, 2, 3, 4, 4, 1, 1, 1, 3, 1,
921 1, 1, 1, 3, 3, 3, 0, 4, 4, 2,
922 4, 2, 4, 2, 2, 1, 4, 1, 7, 7,
923 7, 7, 4, 4, 2, 2, 2, 1, 4, 2,
924 2, 5, 3, 2, 2, 5, 3, 5, 3, 4,
925 6, 2, 1, 2, 1, 2, 1, 1, 1, 2,
926 0, 2, 2, 3, 3, 3, 2, 2, 2, 1,
927 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
928 2, 2, 3, 3, 3, 4, 1, 2, 2, 2,
929 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
930 3, 1, 2, 1, 1, 1, 4, 4, 4, 4,
931 1, 1, 1, 1, 3, 1, 3, 1, 3, 0,
932 4, 0, 6, 3, 0, 4, 1, 3, 3, 0,
933 4, 3, 0, 1, 1, 2, 6, 1, 3, 0,
934 1, 4, 6, 4, 1, 1, 1, 1, 1, 3,
935 0, 2, 1, 2, 3, 4, 1, 1, 3, 4,
936 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
937 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
938 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
939 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
940 3, 4, 3, 2, 3, 0, 1, 3, 2, 2,
941 1, 1, 0, 2, 3, 1, 4, 1, 3, 1,
942 1, 4, 4, 2, 2, 3, 3, 1, 0, 1,
943 2, 4, 3, 1, 2, 2, 2, 2, 2, 2,
944 2, 1, 2, 2, 3, 2, 2, 4, 4, 2,
945 1, 5, 4, 1, 0, 1, 3, 0, 1, 3,
946 1, 1, 1, 1, 4, 4, 4, 4, 4, 3,
947 4, 4, 4, 4, 3, 1, 3, 1, 3, 2,
948 1, 7, 0, 2, 1, 2, 0, 2, 4, 4,
949 2, 4, 3, 3, 2, 2, 3, 1, 1, 2,
950 1, 1, 2, 2, 4, 4, 3, 3, 2, 1,
951 3, 3, 2, 2, 3, 1, 3, 3, 2, 2,
952 3, 1, 4, 3, 4, 3, 1, 2, 2, 2,
953 2, 2, 1, 2, 4, 4, 2, 1, 1, 1,
954 1, 2, 4, 2, 2, 2, 2, 1, 2, 2,
955 2, 2, 3, 1, 2, 3, 4, 2, 2, 2,
956 2, 2, 2, 4, 2, 1, 2, 2, 3, 1,
957 3, 2, 3, 2, 2, 3, 1, 3, 4, 3,
958 2, 2, 1, 3, 2, 2, 1, 2, 3, 1,
959 3, 1, 6, 4, 4, 3, 5, 3, 3, 3,
960 2, 1, 1, 2, 2, 2, 0, 1, 1, 2,
961 3, 1, 2, 0, 3, 0, 0, 5, 1, 0,
962 2, 1, 1, 1, 2, 0, 4, 1, 0, 0,
963 5, 0, 0, 7, 0, 0, 0, 0, 12, 0,
964 0, 7, 0, 5, 0, 7, 0, 4, 2, 2,
965 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
966 1, 1, 1, 1, 1, 0, 0, 6, 0, 0,
967 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
968 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
969 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
970 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
971 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
972 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
973 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
974 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
975 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
976 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
977 2, 2, 3, 2, 2, 4, 4, 3, 2
978 };
979
980 static const short yydefact[] = { 3,
981 12, 12, 5, 0, 4, 0, 278, 628, 629, 0,
982 383, 395, 575, 0, 11, 0, 0, 0, 10, 481,
983 834, 0, 0, 0, 167, 660, 279, 280, 83, 0,
984 0, 821, 0, 45, 0, 0, 13, 25, 0, 27,
985 8, 0, 16, 15, 89, 110, 86, 0, 630, 171,
986 297, 276, 298, 606, 0, 370, 0, 369, 388, 0,
987 408, 387, 425, 394, 0, 497, 496, 503, 502, 501,
988 476, 382, 591, 396, 592, 108, 296, 617, 589, 0,
989 631, 573, 0, 0, 277, 81, 82, 176, 634, 176,
990 635, 176, 281, 167, 140, 141, 142, 143, 144, 467,
991 470, 0, 656, 0, 471, 0, 0, 0, 0, 141,
992 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
993 0, 472, 638, 0, 644, 0, 0, 0, 37, 0,
994 0, 31, 0, 0, 47, 0, 176, 636, 0, 0,
995 604, 0, 0, 0, 603, 0, 0, 0, 0, 297,
996 0, 577, 0, 296, 573, 28, 0, 26, 3, 46,
997 0, 64, 383, 0, 0, 8, 67, 63, 66, 89,
998 0, 0, 0, 394, 90, 14, 0, 423, 0, 0,
999 441, 87, 79, 637, 577, 0, 573, 80, 0, 0,
1000 0, 106, 0, 404, 360, 588, 361, 600, 0, 573,
1001 385, 384, 78, 109, 371, 0, 406, 386, 107, 377,
1002 401, 402, 372, 390, 392, 381, 403, 0, 75, 426,
1003 482, 483, 484, 485, 500, 149, 148, 150, 487, 488,
1004 494, 486, 0, 0, 489, 490, 503, 821, 499, 518,
1005 519, 576, 389, 0, 420, 629, 0, 658, 171, 621,
1006 622, 618, 594, 632, 0, 593, 590, 0, 869, 865,
1007 864, 862, 844, 849, 850, 0, 856, 855, 841, 842,
1008 840, 859, 848, 845, 846, 847, 851, 852, 838, 839,
1009 835, 836, 837, 861, 853, 854, 843, 860, 0, 857,
1010 767, 388, 768, 830, 281, 278, 575, 301, 349, 0,
1011 0, 0, 0, 345, 343, 316, 347, 348, 0, 0,
1012 0, 0, 0, 279, 280, 273, 0, 0, 184, 183,
1013 0, 185, 186, 0, 0, 187, 0, 0, 177, 178,
1014 0, 247, 0, 250, 182, 300, 213, 0, 0, 302,
1015 303, 0, 180, 367, 388, 368, 623, 328, 318, 0,
1016 0, 0, 0, 176, 0, 469, 0, 464, 0, 657,
1017 655, 0, 188, 189, 0, 0, 0, 430, 3, 21,
1018 29, 652, 648, 649, 651, 653, 650, 140, 141, 142,
1019 0, 143, 144, 640, 641, 645, 642, 639, 0, 288,
1020 289, 287, 620, 619, 33, 32, 49, 0, 157, 0,
1021 0, 388, 155, 0, 0, 602, 0, 601, 275, 292,
1022 0, 610, 291, 0, 609, 0, 299, 614, 0, 0,
1023 12, 0, 167, 9, 9, 70, 0, 65, 0, 0,
1024 71, 74, 0, 422, 424, 122, 93, 127, 756, 0,
1025 85, 84, 92, 125, 0, 0, 123, 88, 616, 0,
1026 0, 581, 0, 824, 0, 586, 0, 585, 0, 0,
1027 0, 0, 573, 423, 0, 77, 577, 573, 599, 0,
1028 374, 375, 0, 76, 423, 379, 378, 380, 373, 393,
1029 410, 409, 491, 495, 493, 0, 498, 504, 0, 0,
1030 391, 423, 573, 94, 0, 0, 0, 0, 573, 100,
1031 574, 605, 629, 659, 171, 0, 0, 858, 863, 390,
1032 573, 573, 0, 573, 868, 176, 0, 0, 0, 220,
1033 0, 0, 222, 235, 236, 0, 0, 0, 0, 0,
1034 274, 219, 216, 215, 217, 0, 0, 0, 0, 0,
1035 300, 0, 0, 0, 214, 174, 175, 294, 0, 218,
1036 0, 0, 248, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 310, 0, 312, 314, 315,
1039 353, 352, 0, 0, 238, 238, 0, 224, 571, 0,
1040 232, 350, 342, 0, 0, 821, 331, 334, 335, 0,
1041 0, 362, 677, 673, 682, 0, 577, 573, 573, 573,
1042 364, 680, 0, 627, 366, 0, 0, 365, 330, 0,
1043 325, 344, 326, 346, 624, 0, 327, 173, 173, 0,
1044 165, 0, 388, 163, 568, 479, 566, 466, 0, 0,
1045 397, 0, 0, 398, 399, 400, 436, 437, 438, 435,
1046 0, 428, 431, 0, 3, 0, 643, 176, 646, 0,
1047 41, 42, 0, 53, 0, 0, 57, 61, 50, 820,
1048 815, 0, 367, 388, 53, 368, 819, 59, 168, 153,
1049 151, 168, 173, 295, 608, 607, 299, 611, 0, 18,
1050 20, 89, 9, 9, 73, 72, 0, 128, 351, 0,
1051 704, 91, 702, 447, 0, 443, 442, 212, 0, 211,
1052 578, 615, 0, 797, 0, 792, 388, 0, 791, 793,
1053 822, 804, 0, 0, 613, 584, 583, 0, 0, 598,
1054 0, 418, 417, 405, 597, 0, 824, 587, 376, 407,
1055 419, 423, 492, 628, 629, 821, 0, 821, 630, 505,
1056 506, 508, 821, 511, 510, 0, 541, 629, 0, 532,
1057 0, 0, 544, 0, 121, 116, 0, 171, 545, 548,
1058 0, 524, 0, 119, 0, 423, 421, 824, 790, 176,
1059 176, 633, 176, 824, 790, 573, 97, 573, 103, 867,
1060 866, 830, 830, 830, 0, 0, 0, 0, 627, 0,
1061 0, 0, 0, 388, 0, 0, 0, 306, 0, 304,
1062 305, 0, 245, 179, 278, 628, 629, 279, 280, 0,
1063 0, 448, 477, 0, 272, 271, 782, 781, 0, 269,
1064 268, 266, 267, 265, 264, 263, 260, 261, 262, 258,
1065 259, 253, 254, 255, 256, 257, 251, 252, 0, 0,
1066 0, 0, 0, 238, 226, 242, 0, 0, 225, 573,
1067 573, 0, 573, 570, 667, 0, 0, 0, 0, 0,
1068 333, 0, 337, 0, 339, 0, 676, 675, 672, 671,
1069 820, 0, 0, 691, 0, 0, 824, 363, 824, 678,
1070 573, 790, 577, 677, 673, 0, 0, 573, 0, 0,
1071 0, 0, 0, 170, 172, 282, 168, 161, 159, 168,
1072 0, 480, 0, 479, 210, 209, 208, 207, 430, 0,
1073 0, 24, 0, 0, 647, 0, 38, 44, 43, 55,
1074 52, 53, 0, 48, 0, 0, 677, 673, 0, 811,
1075 573, 814, 816, 0, 812, 813, 54, 487, 0, 158,
1076 168, 168, 156, 169, 17, 19, 69, 89, 411, 145,
1077 133, 146, 147, 0, 126, 129, 0, 0, 0, 0,
1078 703, 697, 444, 0, 124, 582, 579, 796, 810, 799,
1079 0, 580, 795, 809, 798, 794, 823, 806, 817, 807,
1080 800, 805, 826, 0, 415, 596, 595, 414, 515, 0,
1081 514, 821, 821, 821, 0, 573, 790, 540, 533, 545,
1082 534, 423, 423, 530, 531, 528, 529, 573, 790, 278,
1083 628, 0, 410, 117, 536, 546, 551, 552, 410, 410,
1084 0, 0, 410, 115, 537, 549, 410, 525, 526, 527,
1085 423, 0, 473, 96, 0, 0, 0, 0, 102, 0,
1086 824, 790, 824, 790, 832, 831, 833, 283, 317, 221,
1087 223, 323, 324, 0, 0, 0, 0, 305, 308, 0,
1088 0, 0, 0, 246, 0, 309, 311, 313, 0, 0,
1089 0, 0, 227, 244, 0, 0, 664, 662, 0, 665,
1090 577, 233, 0, 0, 176, 340, 0, 0, 0, 674,
1091 670, 681, 573, 690, 688, 689, 679, 824, 0, 686,
1092 0, 625, 626, 0, 329, 166, 168, 168, 164, 569,
1093 567, 468, 0, 429, 427, 278, 0, 22, 30, 654,
1094 56, 51, 58, 62, 676, 672, 677, 673, 0, 589,
1095 0, 573, 678, 60, 154, 152, 68, 0, 131, 0,
1096 135, 0, 137, 0, 139, 0, 757, 0, 200, 705,
1097 0, 698, 699, 0, 445, 677, 673, 0, 300, 0,
1098 623, 818, 0, 0, 827, 828, 0, 0, 412, 0,
1099 0, 0, 517, 516, 509, 824, 0, 535, 441, 441,
1100 824, 0, 0, 0, 423, 423, 0, 423, 423, 0,
1101 423, 0, 441, 0, 461, 573, 285, 284, 286, 573,
1102 99, 0, 105, 0, 0, 0, 0, 0, 0, 451,
1103 0, 449, 249, 270, 240, 239, 237, 228, 0, 241,
1104 243, 663, 661, 668, 666, 0, 234, 0, 0, 332,
1105 336, 338, 824, 684, 573, 685, 162, 160, 465, 0,
1106 432, 434, 676, 672, 594, 678, 132, 130, 0, 0,
1107 0, 0, 439, 0, 0, 278, 628, 629, 706, 719,
1108 722, 725, 730, 0, 0, 0, 0, 0, 0, 0,
1109 0, 279, 751, 759, 0, 778, 755, 754, 753, 0,
1110 714, 0, 0, 388, 0, 693, 712, 718, 692, 713,
1111 752, 0, 700, 446, 0, 626, 808, 802, 803, 801,
1112 0, 825, 416, 0, 512, 513, 507, 112, 573, 539,
1113 543, 114, 573, 423, 423, 560, 441, 278, 628, 0,
1114 547, 553, 554, 410, 410, 441, 441, 0, 441, 550,
1115 538, 0, 824, 824, 573, 573, 0, 0, 0, 0,
1116 450, 0, 0, 229, 230, 669, 341, 284, 687, 824,
1117 0, 134, 136, 138, 764, 758, 762, 0, 701, 696,
1118 203, 771, 773, 774, 0, 0, 710, 0, 0, 0,
1119 737, 739, 740, 741, 0, 0, 0, 0, 0, 0,
1120 0, 772, 0, 359, 779, 0, 715, 357, 410, 0,
1121 358, 0, 410, 0, 0, 0, 201, 695, 694, 716,
1122 750, 749, 305, 829, 413, 824, 824, 559, 556, 558,
1123 0, 0, 423, 423, 423, 555, 557, 542, 463, 0,
1124 462, 457, 95, 101, 824, 824, 319, 320, 321, 322,
1125 452, 0, 231, 683, 433, 0, 763, 440, 192, 0,
1126 707, 720, 709, 0, 0, 0, 0, 0, 733, 0,
1127 742, 0, 748, 39, 144, 34, 144, 0, 35, 760,
1128 0, 355, 356, 0, 0, 0, 354, 202, 710, 111,
1129 113, 423, 423, 565, 441, 441, 0, 0, 475, 98,
1130 104, 572, 0, 765, 199, 0, 388, 0, 710, 0,
1131 723, 711, 697, 776, 726, 0, 0, 0, 0, 738,
1132 747, 40, 36, 0, 0, 717, 564, 562, 561, 563,
1133 460, 459, 453, 86, 89, 0, 0, 0, 193, 410,
1134 708, 204, 721, 206, 0, 777, 0, 775, 731, 735,
1135 734, 761, 783, 0, 0, 458, 769, 770, 766, 423,
1136 697, 190, 0, 0, 196, 0, 195, 710, 0, 0,
1137 0, 784, 785, 743, 456, 0, 455, 0, 205, 0,
1138 724, 727, 732, 736, 0, 783, 0, 0, 454, 197,
1139 191, 0, 0, 0, 744, 786, 0, 0, 787, 0,
1140 0, 198, 728, 788, 0, 745, 0, 0, 0, 729,
1141 789, 746, 0, 0, 0
1142 };
1143
1144 static const short yydefgoto[] = { 1603,
1145 421, 2, 422, 161, 691, 327, 177, 3, 4, 37,
1146 655, 369, 1287, 656, 763, 1288, 1289, 389, 1390, 660,
1147 41, 764, 398, 666, 930, 667, 668, 669, 43, 168,
1148 169, 44, 440, 180, 176, 45, 46, 779, 1052, 785,
1149 1054, 47, 766, 767, 181, 182, 441, 698, 965, 966,
1150 635, 967, 230, 48, 952, 951, 682, 679, 1118, 1117,
1151 910, 907, 136, 950, 49, 50, 904, 548, 328, 329,
1152 330, 331, 1290, 1554, 1451, 1556, 1496, 1587, 1160, 1533,
1153 1551, 363, 897, 332, 1228, 852, 587, 859, 333, 334,
1154 364, 336, 354, 52, 251, 661, 410, 53, 54, 337,
1155 543, 338, 339, 340, 341, 442, 342, 1291, 481, 609,
1156 343, 1292, 56, 213, 672, 344, 214, 521, 215, 193,
1157 206, 60, 464, 482, 1314, 732, 1178, 194, 207, 61,
1158 492, 733, 62, 63, 651, 652, 653, 1264, 447, 822,
1159 823, 1524, 1525, 1489, 1431, 1342, 64, 639, 357, 1205,
1160 1432, 1073, 913, 65, 66, 67, 68, 237, 69, 70,
1161 71, 239, 750, 751, 752, 753, 241, 489, 490, 771,
1162 772, 773, 1025, 1035, 1026, 1331, 1027, 1028, 1332, 1333,
1163 636, 637, 588, 887, 346, 450, 451, 187, 195, 73,
1164 74, 75, 196, 197, 153, 77, 132, 347, 348, 349,
1165 79, 350, 81, 755, 123, 124, 125, 497, 105, 82,
1166 351, 864, 865, 882, 612, 1295, 1296, 1161, 1162, 1163,
1167 702, 1297, 972, 1298, 1375, 1499, 1454, 1455, 1299, 1300,
1168 1479, 1376, 1500, 1377, 1535, 1378, 1537, 1582, 1597, 1379,
1169 1558, 1509, 1559, 1460, 443, 699, 1262, 1301, 1393, 1514,
1170 1366, 1367, 1446, 1528, 1498, 1494, 1302, 1505, 1396, 829,
1171 1561, 1562, 1563, 1595, 718, 719, 992, 1174, 1310, 720,
1172 721, 722, 988, 723, 146, 990, 725, 1176, 1177, 515,
1173 84, 85
1174 };
1175
1176 static const short yypact[] = { 99,
1177 136,-32768,-32768, 5741,-32768, 123, 81, 64, 66, 145,
1178 232,-32768,-32768, 1239,-32768, 150, 191, 230,-32768,-32768,
1179 -32768, 1151, 1456, 1280, 242,-32768, 267, 154,-32768, 1676,
1180 1676,-32768, 2226,-32768, 5741, 286,-32768,-32768, 346,-32768,
1181 248, 5602,-32768,-32768, 335, 1120, 425, 416, 435,-32768,
1182 -32768,-32768,-32768, 717, 2012,-32768, 4290,-32768, 2422, 63,
1183 -32768, 462,-32768,-32768, 894, 247,-32768, 452,-32768,-32768,
1184 519, 4808,-32768,-32768,-32768, 1086,-32768,-32768,-32768, 1036,
1185 -32768,-32768, 748, 4527, 508,-32768,-32768, 9572,-32768, 9572,
1186 -32768, 9572,-32768,-32768,-32768, 64, 66, 267, 541, 511,
1187 566, 435,-32768, 764,-32768, 748, 9658, 9658, 536,-32768,
1188 -32768,-32768,-32768,-32768, 405, 581, 233, 316, 358, 584,
1189 598,-32768,-32768, 912,-32768, 666, 64, 66,-32768, 267,
1190 541,-32768, 557, 822, 614, 10860, 9572,-32768, 9572, 3175,
1191 -32768, 1336, 830, 3175,-32768, 1750, 3235, 3235, 2226, 585,
1192 589, 608, 639, 662,-32768,-32768, 695,-32768, 607,-32768,
1193 2973,-32768,-32768, 242, 4770, 676,-32768,-32768,-32768, 335,
1194 5148, 10915, 411, 729,-32768,-32768, 708, 462, 805, 200,
1195 393, 757,-32768,-32768, 719, 153,-32768,-32768, 3414, 3414,
1196 5205, 1086, 424,-32768,-32768, 834,-32768,-32768, 1946,-32768,
1197 -32768,-32768,-32768,-32768, 2422, 507,-32768, 462, 1086,-32768,
1198 -32768,-32768, 2706, 2422,-32768, 462,-32768, 5148,-32768,-32768,
1199 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1200 435, 462, 1181, 1852,-32768,-32768, 452,-32768,-32768,-32768,
1201 -32768,-32768, 1213, 748,-32768, 426, 1617,-32768, 217,-32768,
1202 -32768,-32768,-32768,-32768, 3546,-32768,-32768, 532,-32768, 772,
1203 780,-32768,-32768,-32768,-32768, 818,-32768,-32768,-32768,-32768,
1204 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1205 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 731,-32768,
1206 -32768, 1213, 4808, 268,-32768,-32768, 790,-32768,-32768, 10266,
1207 10352, 10438, 10438,-32768,-32768,-32768,-32768,-32768, 792, 826,
1208 845, 860, 865, 516, 541, 9744, 1750, 10438,-32768,-32768,
1209 10438,-32768,-32768, 10438, 7715,-32768, 10438, 778, 862,-32768,
1210 10438,-32768, 9830,-32768, 10910, 302, 820, 4207, 9916,-32768,
1211 934, 1885,-32768, 1556, 3785, 3321,-32768, 374,-32768, 1756,
1212 2361, 778, 778, 9572, 10860,-32768, 1750, 838, 1750,-32768,
1213 -32768, 841, 899, 6848, 868, 874, 881, 1872, 607,-32768,
1214 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 581, 233, 316,
1215 1750, 358, 584, 919, 598,-32768, 941,-32768, 1470, 64,
1216 66,-32768,-32768,-32768,-32768,-32768,-32768, 5292,-32768, 5148,
1217 6133, 1435,-32768, 778, 420,-32768, 682,-32768,-32768,-32768,
1218 3175,-32768,-32768, 3175,-32768, 896,-32768,-32768, 3546, 84,
1219 893, 910,-32768,-32768,-32768,-32768, 10860,-32768, 544, 602,
1220 -32768,-32768, 695,-32768, 462,-32768,-32768,-32768,-32768, 68,
1221 -32768,-32768,-32768,-32768, 7806, 9744,-32768,-32768,-32768, 9744,
1222 913,-32768, 7163, 93, 4023,-32768, 4023,-32768, 4051, 4051,
1223 5205, 915,-32768, 462, 5148,-32768, 914,-32768,-32768, 4152,
1224 2706, 2422, 5148,-32768, 462,-32768,-32768, 462, 2706,-32768,
1225 1000,-32768,-32768, 435,-32768, 1181,-32768, 1544, 3587, 97,
1226 1213, 462,-32768,-32768, 971, 972, 995, 983,-32768,-32768,
1227 -32768,-32768, 982,-32768, 428, 953, 956,-32768,-32768, 1213,
1228 -32768,-32768, 974,-32768,-32768, 9572, 9744, 790, 7715,-32768,
1229 517, 7715,-32768,-32768,-32768, 9658, 6004, 6004, 6004, 6004,
1230 10969,-32768,-32768,-32768,-32768, 950, 10524, 10524, 7715, 960,
1231 157, 966, 1032, 977,-32768,-32768,-32768,-32768, 9572,-32768,
1232 7345, 7715,-32768, 9744, 9744, 7897, 9744, 9744, 9744, 9744,
1233 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744,
1234 9744, 9744, 9744, 9744, 9744,-32768, 9744,-32768,-32768,-32768,
1235 -32768,-32768, 9744, 9744,-32768,-32768, 3679, 486, 900, 8529,
1236 -32768,-32768,-32768, 1050, 1617, 1097, 534, 540, 547, 2126,
1237 830,-32768, 2494, 2494,-32768, 3420, 997, 1019, 1067,-32768,
1238 -32768, 890, 9027, 1758,-32768, 996, 748,-32768,-32768, 9744,
1239 -32768,-32768,-32768,-32768,-32768, 87, 508,-32768,-32768, 778,
1240 -32768, 5148, 2378,-32768, 1055, 1061,-32768,-32768, 1750, 919,
1241 -32768, 8261, 8352,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1242 80,-32768, 1029, 1043, 607, 1470, 1074, 9572,-32768, 1078,
1243 -32768,-32768, 822, 1858, 1098, 146, 1089, 1096,-32768,-32768,
1244 2282, 10915, 2282, 2651, 894, 10678,-32768, 1099,-32768,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768, 1065,-32768, 1109,-32768,
1246 -32768, 335,-32768,-32768,-32768,-32768, 95, 499, 1114, 1032,
1247 -32768,-32768,-32768,-32768, 6042, 10969,-32768, 899, 1069, 6848,
1248 -32768,-32768, 1073,-32768, 1075, 224, 2833, 1080,-32768, 118,
1249 5104, 1118, 1126, 668,-32768,-32768,-32768, 4023, 4023,-32768,
1250 4152,-32768, 1129,-32768,-32768, 1087, 93,-32768, 2706,-32768,
1251 -32768, 462,-32768, 233, 316,-32768, 1104,-32768, 598, 1142,
1252 -32768,-32768, 398,-32768,-32768, 1964,-32768, 1025, 155,-32768,
1253 9744, 6467,-32768, 6467, 309, 309, 334, 685, 2647, 10733,
1254 5013,-32768, 147, 309, 1141, 462,-32768, 93, 5883, 9572,
1255 9572,-32768, 9572, 93, 5883,-32768,-32768,-32768,-32768,-32768,
1256 -32768, 569, 569, 569, 778, 1106, 1107, 10008, 1067, 1111,
1257 1112, 1115, 1137, 3899, 1149, 1150, 1156,-32768, 1131,-32768,
1258 -32768, 1140,-32768,-32768, 1188, 545, 815, 392, 240, 9744,
1259 1189,-32768, 1194, 1146, 10969, 10969,-32768,-32768, 1195, 3499,
1260 4573, 5902, 6161, 6214, 4096, 2565, 3049, 3049, 3049, 2119,
1261 2119, 1263, 1263, 643, 643, 643,-32768,-32768, 1152, 1155,
1262 1148, 9744, 9658,-32768, 486,-32768, 7806, 9744,-32768,-32768,
1263 -32768, 9744,-32768,-32768, 1168, 10438, 1157, 1177, 1192, 1220,
1264 -32768, 9744,-32768, 9744,-32768, 9744, 2861,-32768, 2861,-32768,
1265 89, 1162, 1163,-32768, 1161, 6004, 93,-32768, 93, 3431,
1266 -32768, 5883, 1165, 9211, 9211, 5356, 1166, 9830, 1170, 2541,
1267 2361, 1092, 1172,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1268 9744, 1750, 1173, 1061,-32768, 10969,-32768, 10969, 1872, 1178,
1269 10094,-32768, 1179, 1227,-32768, 778,-32768,-32768,-32768,-32768,
1270 -32768, 1401, 5292,-32768, 6004, 9572, 1891, 1891, 4882,-32768,
1271 -32768,-32768,-32768, 1946,-32768,-32768,-32768, 787, 9744,-32768,
1272 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 335,-32768, 581,
1273 -32768, 358, 584, 9744, 1231,-32768, 689, 739, 744, 1032,
1274 -32768, 82,-32768, 72,-32768,-32768,-32768,-32768,-32768,-32768,
1275 9119,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1126, 1228,
1276 -32768,-32768,-32768, 6004,-32768,-32768,-32768, 1236,-32768, 9658,
1277 -32768,-32768,-32768,-32768, 1736,-32768, 5883, 10969,-32768, 1780,
1278 -32768, 462, 462,-32768,-32768,-32768,-32768,-32768, 5883, 522,
1279 879, 9744, 1000,-32768, 1242,-32768,-32768,-32768, 195, 406,
1280 1036, 830, 447, 309, 1249,-32768, 619,-32768,-32768,-32768,
1281 462, 6397,-32768,-32768, 1202, 778, 778, 778,-32768, 1207,
1282 93, 5883, 93, 5883,-32768,-32768,-32768,-32768,-32768,-32768,
1283 -32768,-32768,-32768, 1225, 1229, 1232, 1234, 1065,-32768, 6251,
1284 7806, 7439, 1211,-32768, 9744,-32768,-32768,-32768, 1222, 1224,
1285 1241, 6004,-32768,-32768, 1243, 207, 814, 814, 1246, 814,
1286 -32768,-32768, 10438, 1327, 9572,-32768, 1244, 1245, 1251,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 93, 1252,-32768,
1288 1254,-32768,-32768, 2755,-32768,-32768,-32768,-32768,-32768, 10969,
1289 -32768,-32768, 1253,-32768,-32768, 222, 1255,-32768,-32768,-32768,
1290 -32768,-32768,-32768,-32768, 2181, 2181, 2482, 2482, 4882,-32768,
1291 1946,-32768, 3106, 10910,-32768,-32768,-32768, 1260,-32768, 499,
1292 -32768, 9744,-32768, 9744,-32768, 9744,-32768, 1750,-32768,-32768,
1293 7070, 1317,-32768, 7530,-32768, 9303, 9303, 6565, 571, 1261,
1294 610,-32768, 7806, 7621,-32768,-32768, 223, 7806,-32768, 1264,
1295 1267, 1544,-32768,-32768,-32768, 93, 1270,-32768, 1307, 1307,
1296 93, 1277, 9744, 9744, 5795, 462, 4396, 462, 462, 1154,
1297 462, 4899, 1307, 6659,-32768,-32768,-32768, 1332,-32768,-32768,
1298 -32768, 1286,-32768, 1295, 9744, 9744, 9744, 9744, 7806,-32768,
1299 1326,-32768,-32768, 10969,-32768,-32768,-32768, 661, 1241,-32768,
1300 -32768,-32768,-32768,-32768,-32768, 1300,-32768, 1365, 778,-32768,
1301 -32768,-32768, 93,-32768,-32768,-32768,-32768,-32768,-32768, 9744,
1302 -32768,-32768, 2181, 2181,-32768, 3106,-32768,-32768, 1313, 1315,
1303 1321, 1319,-32768, 697, 199, 1368, 954, 1009,-32768,-32768,
1304 -32768,-32768,-32768, 9744, 1369, 1373, 1374, 9395, 382, 1750,
1305 1117, 593,-32768,-32768, 9486, 1427,-32768,-32768,-32768, 1378,
1306 -32768, 2774, 10801, 4656, 6960,-32768,-32768, 1423,-32768,-32768,
1307 -32768, 8638,-32768,-32768, 1337, 616,-32768,-32768,-32768,-32768,
1308 6004,-32768,-32768, 7806,-32768,-32768,-32768,-32768,-32768,-32768,
1309 -32768,-32768,-32768, 5795, 5795,-32768, 1307, 621, 1027, 9744,
1310 -32768,-32768,-32768, 1000, 1000, 1307, 1307, 982, 1307,-32768,
1311 -32768, 6795, 93, 93,-32768,-32768, 1340, 1342, 1347, 1360,
1312 -32768, 7806, 9744,-32768, 661,-32768,-32768,-32768,-32768, 93,
1313 1362,-32768,-32768,-32768,-32768, 1319,-32768, 1750,-32768,-32768,
1314 -32768,-32768,-32768,-32768, 767, 767, 1032, 1397, 1400, 5445,
1315 -32768,-32768,-32768,-32768, 1380, 9744, 1434, 1433, 1444, 2060,
1316 2105,-32768, 1032,-32768,-32768, 1406,-32768,-32768, 1000, 831,
1317 -32768, 947, 1000, 10180, 951, 238,-32768,-32768,-32768,-32768,
1318 -32768,-32768, 635,-32768,-32768, 93, 93,-32768,-32768,-32768,
1319 9744, 9744, 5795, 462, 462,-32768,-32768,-32768,-32768, 8443,
1320 -32768,-32768,-32768,-32768, 93, 93,-32768,-32768,-32768,-32768,
1321 -32768, 1389,-32768,-32768,-32768, 1411,-32768,-32768,-32768, 9658,
1322 -32768,-32768,-32768, 1489, 8934, 7254, 9658, 9744,-32768, 8746,
1323 -32768, 1454,-32768,-32768, 1461,-32768, 1444, 2060,-32768,-32768,
1324 695,-32768,-32768, 10610, 10610, 7988,-32768,-32768, 1032,-32768,
1325 -32768, 5795, 5795,-32768, 1307, 1307, 1412, 6706, 1425,-32768,
1326 -32768,-32768, 5913,-32768,-32768, 1415, 344, 5148, 1032, 8840,
1327 -32768,-32768, 82,-32768,-32768, 1460, 1422, 10947, 8746,-32768,
1328 -32768,-32768,-32768, 1319, 94,-32768,-32768,-32768,-32768,-32768,
1329 -32768,-32768,-32768, 425, 335, 1424, 1430, 1032,-32768, 1000,
1330 -32768,-32768,-32768,-32768, 849,-32768, 8079,-32768,-32768,-32768,
1331 -32768, 1319, 1530, 1482, 209,-32768,-32768,-32768,-32768, 462,
1332 82,-32768, 9744, 1483,-32768, 1484,-32768, 1032, 8746, 1452,
1333 432, 1487,-32768,-32768,-32768, 68,-32768, 1493,-32768, 1451,
1334 -32768,-32768,-32768,-32768, 9744, 1530, 1507, 1530,-32768,-32768,
1335 -32768, 8170, 1462, 847,-32768,-32768, 7806, 1465,-32768, 1558,
1336 1515,-32768,-32768,-32768, 269,-32768, 8840, 1565, 1517,-32768,
1337 -32768,-32768, 1578, 1580,-32768
1338 };
1339
1340 static const short yypgoto[] = {-32768,
1341 1582,-32768, -322, 1419, -375, 31, 7, 1584,-32768, 1554,
1342 -32768,-32768, 353,-32768, 380,-32768, 409,-32768, 201, 938,
1343 49, 13,-32768,-32768, -615,-32768,-32768, 669, 51, 1431,
1344 1182, 1438, -684, 90, -164, 29, -29,-32768,-32768,-32768,
1345 -32768,-32768, 835,-32768,-32768,-32768,-32768,-32768,-32768, 458,
1346 1542,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1347 -32768,-32768, 1521, -532, 5760, 69, -531, -61, 92, 1472,
1348 -520,-32768, -74,-32768, 241,-32768, -1365,-32768, -1386, 21,
1349 -32768, 2003, -216, -277, 390, -534,-32768, -798, 2869, -79,
1350 1138, 3740, 1334, -325, -72, -93, 78, -26, 252,-32768,
1351 -32768,-32768, -330,-32768, -154,-32768,-32768, -1221, 27, -335,
1352 1272, 1, 1024, -133, 9, 79, -198, -4, -117, -155,
1353 -168, 34, 32, -102,-32768, -348,-32768,-32768,-32768,-32768,
1354 -32768, -69, 631, -37,-32768, 712,-32768,-32768, -1061, -326,
1355 922,-32768,-32768,-32768,-32768,-32768, 20,-32768,-32768,-32768,
1356 -32768,-32768, 718, -368,-32768,-32768,-32768,-32768,-32768,-32768,
1357 -32768, 1398,-32768, 457, 629,-32768,-32768,-32768,-32768, 599,
1358 -697,-32768,-32768,-32768,-32768,-32768,-32768, 870,-32768, 440,
1359 1006, 735, 1064, 2671, 28, 35, -440, 1457, 2054, -451,
1360 -32768, -6,-32768, 5541, -146, 260, -112, 4334, 1306,-32768,
1361 5087, 2005, 1491, -14, -108,-32768, 1528, -49,-32768, 4525,
1362 2933, -231,-32768, 3377,-32768,-32768, 362,-32768,-32768, 497,
1363 96, -141,-32768,-32768,-32768,-32768, -1389,-32768, -1149, -1342,
1364 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1365 -32768,-32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768,
1366 149, -1281,-32768,-32768, -35,-32768,-32768,-32768,-32768, -1369,
1367 85,-32768, 91,-32768, -511, -567, 678,-32768,-32768,-32768,
1368 -32768, -386,-32768, -384, -219,-32768, 663, 354,-32768, 170,
1369 -32768, -227
1370 };
1371
1372
1373 #define YYLAST 11053
1374
1375
1376 static const short yytable[] = { 59,
1377 412, 415, 420, 430, 55, 428, 472, 103, 122, 614,
1378 36, 677, 57, 678, 970, 429, 42, 388, 488, 498,
1379 624, 396, 520, 523, 220, 623, 736, 204, 814, 675,
1380 59, 72, 362, 366, 35, 55, 754, 59, 883, 394,
1381 395, 36, 171, 57, 491, 883, 654, 42, 294, 692,
1382 172, 853, 205, 252, 42, 553, 1083, 140, 144, 947,
1383 393, 174, 72, 1394, 1009, 35, 1011, 243, 700, 72,
1384 170, 471, 165, 1038, 387, 173, 256, 178, 217, 292,
1385 479, 192, 58, 345, 1447, 345, 1506, 345, 186, 1516,
1386 166, 1507, 167, 510, 592, 477, 480, 905, -1, 360,
1387 978, 501, 345, 345, 592, 592, 399, 245, 434, 1531,
1388 151, 293, 1502, 58, 1158, 252, 1536, 89, 707, 91,
1389 58, 218, 219, 627, 304, 701, 741, 1320, 1321, 983,
1390 1164, 402, 345, 775, 345, -2, 400, 90, 919, 92,
1391 26, 1341, 204, 777, 401, 1409, 510, 979, 249, 953,
1392 980, 954, 1412, 724, 88, 1543, 59, 1534, 127, 128,
1393 59, 55, 291, 72, 1569, 171, 885, 205, 1573, 57,
1394 220, 1557, 252, 172, 411, 414, 984, 42, 220, 985,
1395 1165, 352, 86, 353, 174, 799, 186, 920, 72, 425,
1396 1159, 689, 72, 170, 220, 165, 813, 192, 173, 452,
1397 437, 1544, 959, 576, 933, 776, 1039, 138, 26, 1565,
1398 130, 131, 1588, 166, 58, 167, 455, 457, 93, -360,
1399 934, 15, 524, 525, 217, 413, 416, 139, 404, 709,
1400 186, 87, 217, 217, 1504, 978, 715, 256, 533, 58,
1401 475, 534, 107, 58, 535, 453, 968, 545, 598, 577,
1402 540, 550, -360, 602, 1534, 1040, -360, -351, 1370, 591,
1403 1447, 438, 217, 499, -290, 1420, -351, 1045, 151, 597,
1404 438, 127, 128, 1050, 1426, 1427, 662, 1428, 697, 94,
1405 1250, 1311, 979, 108, 152, 980, 373, -820, 243, -360,
1406 628, 629, 154, 138, 439, 624, 932, 1370, 703, 798,
1407 796, -144, 589, 439, 235, 159, 90, 1371, 236, 500,
1408 1510, 217, 412, 415, 1231, 135, 1131, 957, 958, 1082,
1409 345, 26, 109, 130, 131, 631, 505, 1598, 883, 1251,
1410 1312, 657, 923, 292, 677, 15, 989, 511, 739, -410,
1411 137, 243, 683, 684, 256, 160, 1478, 512, 576, 345,
1412 633, 211, 212, 477, 480, 632, 38, 14, 1014, 1541,
1413 849, 477, 734, 401, 217, 293, 850, 498, -410, 374,
1414 740, 883, -410, 480, 1116, 711, 1599, 1119, 157, 20,
1415 1109, 614, 72, 39, 95, 110, 111, 38, 23, 92,
1416 602, 1015, 480, 674, 577, 1016, 205, 220, 152, 152,
1417 152, 812, 542, 903, 1003, 158, 154, 154, 154, 1574,
1418 665, 375, 40, 883, 39, 1134, 291, -410, 1145, 1146,
1419 619, 217, 59, 1519, 1520, 676, 680, 171, 1017, 1354,
1420 -361, 137, 15, 58, 1004, 172, 798, 112, 113, 444,
1421 220, 175, 152, 40, 540, 630, 174, 540, 717, 179,
1422 154, 801, 1111, -143, 72, 694, 445, 533, 534, 765,
1423 173, 1386, 370, -361, 540, 137, 620, -361, 371, 218,
1424 431, -120, 493, 15, 788, 183, 673, 540, 549, 91,
1425 676, 828, 465, 466, 59, 446, 728, 729, 184, 769,
1426 217, 217, 18, 1576, 546, 1187, 547, 770, 217, 92,
1427 -361, 960, 744, 745, -120, 58, 1038, 1192, -120, 851,
1428 217, 345, 742, 238, 345, 867, 72, 345, 494, 762,
1429 789, 345, 804, 804, 804, 804, 999, 956, 1001, 217,
1430 1084, 673, 856, 1005, 345, 8, 503, 413, 416, 1577,
1431 1212, -120, 1214, 662, 345, 961, 677, 345, 678, 857,
1432 929, 589, 26, 754, 962, 963, 1443, 768, 971, 296,
1433 390, 391, 10, 602, 675, 473, 474, 58, 906, 928,
1434 624, 883, 127, 128, -181, 623, 240, 501, 858, 359,
1435 871, 295, 292, 1193, 1247, 1248, 873, 130, 131, 137,
1436 -181, 964, -181, 875, 138, 88, 542, 21, 89, 542,
1437 883, 674, 465, 695, 247, 510, -141, 795, 717, 798,
1438 256, 504, 27, 315, 293, 413, 809, -297, 90, 356,
1439 553, 477, 26, 358, 130, 131, 872, -299, 368, 542,
1440 877, 879, 874, 676, 372, 1079, 1080, 376, 511, 876,
1441 676, 1085, -299, -118, 32, 15, -299, 388, 512, 122,
1442 1236, 377, 217, 345, 1392, 1097, -617, 1098, 908, 1099,
1443 473, 696, -299, -297, -297, 291, 137, 205, 116, 117,
1444 118, 243, 998, 627, -299, -299, -118, -299, -290, -299,
1445 -118, -299, 1421, 969, 673, 127, 128, 208, 397, 216,
1446 899, 673, -290, 217, 88, 232, 417, 940, 968, 945,
1447 946, 185, -617, -617, 1127, 299, 1043, 856, -299, -299,
1448 152, 152, 152, -118, 993, -7, 674, -617, 154, 154,
1449 154, 119, 120, -299, 857, 574, 575, -299, -299, 359,
1450 754, 1018, 765, 1058, 765, 1151, 217, 130, 131, 1023,
1451 1033, 765, -293, 946, 1220, 1222, 418, 1148, 676, 926,
1452 799, 8, 9, 858, 1353, 1368, 1369, 59, 217, 59,
1453 994, 504, 769, -577, 1010, 205, 59, 8, 9, -612,
1454 770, 769, 770, 160, 674, 345, 345, 1019, 345, 770,
1455 674, 1152, 1182, 1183, 1184, 1153, 1092, 1089, 432, 72,
1456 1155, 72, 762, 1147, 762, 1024, 1012, 1013, 72, 673,
1457 433, 762, 208, 130, 131, 1041, 676, 436, 435, -577,
1458 185, 359, 676, 1449, 533, 534, 448, 127, 128, 130,
1459 131, 540, 501, 217, 296, 390, 391, 10, 1157, 449,
1460 768, 1154, 768, 127, 128, 216, 1156, 1222, 768, 768,
1461 58, 509, 58, 478, 216, -52, 1307, 1309, 345, 58,
1462 -52, 1313, 546, 1086, 547, 1232, 1233, 673, 1235, 1450,
1463 1566, -52, 21, 673, 1130, 506, 578, 26, 91, 130,
1464 131, 1046, 1047, 507, 1048, 899, -142, 27, 315, 508,
1465 -577, 804, 517, 860, 526, 130, 131, 674, 92, 465,
1466 1472, 717, 1351, 861, 256, 1552, 95, 96, 97, 527,
1467 221, 222, 223, 127, 128, 579, 580, 862, 1590, 32,
1468 581, 582, 583, 584, 378, 379, 380, 252, 528, 676,
1469 549, 877, 879, 676, 18, 1180, -577, 467, 674, 224,
1470 804, 345, 89, 529, 674, 1259, 891, 1260, 530, 1261,
1471 1194, 1553, 1189, 1190, 592, 665, 638, 26, 641, 98,
1472 99, 225, 90, 26, 1591, 130, 131, 642, 799, 381,
1473 676, 1055, 1056, 1057, 1135, 1136, 676, 382, 383, 860,
1474 673, 1203, 413, 809, 673, 644, 717, 127, 128, 861,
1475 1023, 645, 892, 893, 1207, 1208, 1209, 1415, 646, 804,
1476 412, 415, 658, 862, 659, 345, 226, 227, 228, 8,
1477 9, -6, 674, 687, 252, 473, 1473, 89, 676, 465,
1478 1477, 673, 765, 1237, 674, 1373, 151, 673, 690, 412,
1479 415, 359, 730, 712, 735, 1441, 15, 90, 786, 130,
1480 131, 208, 216, 1361, 676, 91, 1024, 59, 7, 8,
1481 246, 10, 769, 359, 780, 781, 676, 674, 782, 674,
1482 770, 130, 131, 248, 1196, 92, 783, 808, 1170, 673,
1483 1198, 1199, 91, 790, 1196, 1201, 791, 810, 1199, 72,
1484 1374, 1006, 762, 811, 787, 248, 21, 804, 91, 676,
1485 89, 676, 92, 247, 813, 673, 533, 534, 1422, 701,
1486 345, 27, 28, 540, 435, 8, 9, 673, 92, 249,
1487 90, 478, 216, 868, 870, 435, 677, 884, 1527, 478,
1488 768, 886, 15, 888, 252, 248, -410, 1007, 911, 912,
1489 58, 921, 435, 32, 1402, 1326, 1327, 925, 1336, 1337,
1490 673, 1339, 673, 20, 674, 969, 1400, 927, 1405, 359,
1491 1347, 1348, 1349, 1350, -410, -410, 15, 130, 131, -410,
1492 -410, 922, 935, 95, 110, 111, 1294, 127, 1338, 936,
1493 129, 799, 949, 717, 1253, 1254, 676, 1286, 955, 1293,
1494 26, 504, -293, 1389, 765, 438, 975, 1358, -410, -410,
1495 976, -819, 977, 95, 96, 97, 1239, 982, 72, 991,
1496 152, 1285, 995, 1253, 1254, 676, 1000, 996, 154, 59,
1497 1002, 359, 1042, 1385, 769, 545, 112, 113, 114, 130,
1498 131, 1064, 770, 1059, 1060, 413, 416, 673, 1061, 1062,
1499 211, 212, 1063, 1065, 1066, 335, 14, 335, 359, 335,
1500 1067, 72, 152, 504, 762, 1453, 98, 99, 1068, 58,
1501 154, 95, 96, 97, 413, 1305, 673, 1069, 20, -140,
1502 1071, 1470, 1072, 1074, 1418, 1419, 1075, 23, 1078, 1076,
1503 1592, 1091, 1077, 216, 1094, 1095, 1096, 1093, 505, 1102,
1504 1103, 1104, 768, 1112, 335, 1110, 335, 1113, 1442, 1115,
1505 1294, 1122, 58, 127, 128, 1125, 1129, 1128, 205, 1150,
1506 1294, 1173, 26, 1293, 98, 99, 100, 1294, 510, 1179,
1507 1197, 1286, 208, 1293, 216, 232, 804, 1202, 1286, 1206,
1508 1293, 1462, 72, 217, 1210, 1285, 1515, 1215, 1399, 1223,
1509 1399, 1216, 72, 129, 1217, 1285, 1218, 412, 415, 72,
1510 1225, 1226, 1285, 26, 1238, 130, 131, 1453, 7, 127,
1511 128, 10, 571, 572, 573, 574, 575, 216, 1227, 1158,
1512 1230, 1240, 1241, 1484, 1485, 1486, 1234, 1453, 1242, 1245,
1513 1546, 1249, 1252, 58, 1246, 1424, 1425, 1257, 1306, 478,
1514 445, 1315, 435, 58, 1316, 1495, 21, 1319, 365, 367,
1515 58, 828, 1495, 247, 1323, -654, 1549, 1352, 152, 152,
1516 152, 27, 28, 1345, 533, 534, 154, 154, 154, 997,
1517 208, 540, 1346, 95, 110, 111, 435, 221, 222, 223,
1518 1356, 1357, 1517, 1518, 1365, 248, 1453, 152, 152, 152,
1519 1362, 671, 1363, 32, 703, 154, 154, 154, 1364, 1372,
1520 1381, 18, 1382, 1383, 475, 1395, 224, 1397, 1410, 1461,
1521 1044, 210, 211, 212, 1413, 1497, 1049, 1437, 14, 1438,
1522 1294, 1294, 1497, 531, 1439, 1294, 112, 113, 116, 117,
1523 118, 1286, 1495, 1293, 1293, 18, 1286, 1440, 1293, 1445,
1524 20, 345, 296, 390, 391, 10, 671, 293, 1570, 23,
1525 1568, 1170, 72, 72, 293, 1285, 1285, 72, 674, 1456,
1526 1285, 335, 1457, 1463, 681, 1294, 371, 1464, 1471, 1492,
1527 1583, 728, 729, 1493, 1294, 1501, 1286, 828, 1293, 26,
1528 21, 119, 120, 1511, 1512, 1286, 217, 1293, 1521, 1538,
1529 676, 1523, 1529, 26, 1530, 27, 315, 72, 291, 1539,
1530 1285, 1547, 1497, 58, 58, 291, 72, 1548, 58, 1285,
1531 1560, 1564, 1571, 1572, 1575, 1578, 116, 744, 745, 1105,
1532 746, 1106, 413, 1305, 1294, 101, 1580, 32, 1581, 127,
1533 128, 1550, 232, 115, 293, 1286, 1585, 1293, 1594, 1589,
1534 254, 673, 1593, 747, 1596, 1601, 1602, 1604, 58, 1605,
1535 748, 1, 706, 710, 427, 5, 72, 58, 156, 1285,
1536 710, 1468, 1294, 924, 254, 426, 544, 26, 424, 119,
1537 120, 1132, 602, 1286, 1034, 1293, 229, 1258, 693, 26,
1538 405, 130, 131, 1545, 355, 291, 1452, 1600, 1355, 95,
1539 110, 111, 495, 254, 72, 603, 974, 1285, 516, 671,
1540 1124, 1123, 254, 1185, 487, 604, 671, 58, 1317, 1036,
1541 1204, 1340, 435, 435, 914, 605, 1121, 599, 606, 607,
1542 855, 386, 468, 335, 710, 152, 1408, 21, 1303, 1567,
1543 1584, 1579, 1542, 154, 1414, 384, 1172, 0, 1586, 670,
1544 0, 435, 112, 113, 0, 58, 0, 0, 7, 127,
1545 128, 10, 0, 0, 13, 0, 335, 409, 706, 254,
1546 0, 825, 826, 0, 830, 831, 832, 833, 834, 835,
1547 836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
1548 846, 847, 848, 1211, 710, 1213, 21, 0, 0, 0,
1549 710, 0, 0, 254, 716, 152, 152, 152, 0, 26,
1550 0, 27, 28, 154, 154, 154, 0, 0, 116, 744,
1551 745, 0, 0, 0, 671, 30, 0, 0, 254, 0,
1552 710, 0, 95, 110, 111, 31, 0, 710, 296, 8,
1553 9, 10, 0, 32, 0, 747, -573, 0, 33, -573,
1554 1244, 0, 0, 0, 483, 485, 0, 0, 0, 916,
1555 918, 0, 1020, 1021, 9, 10, 0, 0, 496, 26,
1556 797, 119, 120, 800, 0, 335, 21, 802, 803, 805,
1557 806, 807, 671, 247, 888, 112, 113, 0, 671, 0,
1558 544, 27, 315, 0, 0, 0, -573, 0, -573, -573,
1559 21, -573, 0, 824, 0, 435, 435, 0, 435, 435,
1560 0, 435, -573, 26, -573, 27, 28, 0, 0, 1188,
1561 254, 1022, 706, 32, 0, 0, 0, 0, 1318, 189,
1562 -573, -573, 0, 1322, 95, 96, 97, 0, 532, 190,
1563 378, 379, 380, 0, 0, -573, 0, 32, 0, 0,
1564 0, 0, 191, 0, 95, 110, 111, 881, 647, 648,
1565 649, 0, 0, 0, 881, 593, 0, 296, 390, 391,
1566 10, 0, 594, 7, 8, 9, 10, 254, 1008, 13,
1567 640, 0, 0, 0, 0, 1359, 0, 98, 99, 650,
1568 0, 26, 0, 382, 383, 671, 0, 335, 335, 671,
1569 335, 0, 640, 208, 216, 21, 0, 112, 113, 0,
1570 0, 21, 595, 0, 0, 710, 0, 602, 26, 0,
1571 27, 315, 0, 0, 26, 0, 27, 28, 7, 8,
1572 9, 10, 0, 0, 435, 435, 671, 1070, 0, 0,
1573 937, 0, 671, 0, 0, 0, 116, 744, 745, 0,
1574 938, 0, 596, 0, 0, 0, 254, 0, 32, 0,
1575 605, 0, 0, 939, 607, 0, 21, 0, 0, 710,
1576 710, 0, 670, 247, 706, 710, 0, 0, 0, 0,
1577 0, 27, 28, 254, 671, 1433, 1434, 0, 80, 710,
1578 0, 710, 0, 710, 7, 8, 9, 10, 104, 119,
1579 120, 0, 1444, 0, 0, 248, 0, 743, 133, 0,
1580 671, 0, 0, 32, 142, 142, 0, 142, 0, 80,
1581 0, 0, 671, 0, 0, 0, 80, 0, 1120, 0,
1582 716, 0, 21, 435, 435, 435, 716, 0, 710, 199,
1583 0, 80, 95, 110, 111, 26, 0, 27, 28, 233,
1584 0, 188, 0, 335, 0, 671, 104, 671, 1480, 1481,
1585 0, 189, 0, 0, 0, 0, 1144, 258, 104, 0,
1586 254, 190, 821, 0, 0, 0, 0, 1490, 1491, 32,
1587 0, 710, 0, 0, 191, 0, 254, 95, 110, 111,
1588 104, 0, 435, 435, 0, 112, 1465, 0, 710, 0,
1589 0, 0, 0, 0, 1081, 0, 0, 0, 296, 127,
1590 128, 10, 0, 0, 0, 0, 869, 0, 133, 0,
1591 80, 0, 0, 0, 142, 0, 0, 407, 142, 0,
1592 0, 142, 142, 142, 0, 0, 0, 824, 0, 1195,
1593 112, 1467, 671, 716, 0, 80, 21, 881, 0, 80,
1594 0, 0, 0, 247, 0, 199, 80, 0, 0, 0,
1595 435, 27, 315, 7, 8, 9, 10, 0, 0, 242,
1596 0, 671, 0, 199, 199, 199, 569, 570, 571, 572,
1597 573, 574, 575, 0, 670, 931, 1133, 0, 706, 706,
1598 881, 0, 1224, 32, 0, 0, 948, 0, 0, 0,
1599 0, 21, 199, 0, 0, 0, 0, 602, 7, 127,
1600 128, 10, 335, 0, 26, 0, 27, 28, 486, 0,
1601 0, 0, 456, 458, 462, 0, 821, 0, 104, 0,
1602 937, 0, 881, 0, 0, 0, 0, 0, 0, 142,
1603 938, 0, 0, 0, 0, 1175, 21, 0, 32, 0,
1604 605, 1181, 0, 939, 607, 0, 0, 0, 716, 26,
1605 0, 27, 28, 0, 7, 8, 9, 10, 0, 710,
1606 716, 710, 0, 710, 0, 147, 0, 104, 513, 0,
1607 0, 706, 0, 0, 0, 148, 0, 0, 0, 0,
1608 706, 706, 0, 32, 0, 706, 0, 0, 149, 0,
1609 0, 0, 21, 716, 0, 716, 0, 0, 602, 0,
1610 1324, 1325, 0, 0, 0, 26, 0, 27, 28, 0,
1611 0, 0, 104, 0, 0, 0, 600, 0, 513, 513,
1612 616, 937, 0, 1229, 0, 0, 706, 0, 0, 80,
1613 0, 938, 0, 621, 8, 9, 10, 0, 0, 32,
1614 0, 605, 0, 0, 939, 607, 0, 0, 0, 0,
1615 0, 0, 0, 0, 210, 211, 212, 710, 0, 0,
1616 254, 14, 254, 133, 0, 0, 0, 0, 304, 622,
1617 0, 21, 104, 0, 199, 104, 0, 0, 18, 0,
1618 881, 1380, 0, 20, 26, 142, 130, 131, 142, 0,
1619 0, 0, 23, 142, 0, 0, 0, 0, 210, 211,
1620 212, 80, 0, 0, 254, 14, 0, 909, 0, 881,
1621 0, 0, 0, 0, 0, 0, 0, 0, 708, 0,
1622 0, 706, 18, 0, 0, 708, 0, 20, 0, 199,
1623 650, 199, 0, 199, 199, 199, 23, 1423, 0, 199,
1624 0, 0, 0, 931, 199, 0, 0, 199, 0, 0,
1625 0, 0, 0, 0, 7, 8, 9, 10, 0, 706,
1626 13, 0, 0, 80, 0, 0, 0, 127, 128, 0,
1627 0, 0, 13, 0, 0, 0, 0, 0, 726, 0,
1628 727, 0, 456, 458, 462, 0, 671, 0, 0, 708,
1629 0, 254, 21, 738, 0, 0, 0, 0, 602, 0,
1630 0, 104, 104, 104, 104, 26, 0, 27, 28, 0,
1631 602, 710, 0, 296, 8, 9, 10, 26, 0, 130,
1632 131, 1137, 0, 0, 0, 0, 0, 0, 1482, 1483,
1633 0, 1138, 0, 603, 0, 0, 0, 1488, 0, 32,
1634 0, 605, 0, 604, 1139, 607, 0, 0, 0, 708,
1635 0, 21, 1175, 605, 0, 708, 606, 607, 247, 0,
1636 0, 104, 0, 513, 0, 1508, 27, 315, 0, 0,
1637 0, 0, 0, 0, 254, 600, 0, 513, 513, 0,
1638 616, 0, 0, 1221, 0, 708, 0, 900, 0, 0,
1639 248, 902, 708, 0, 0, 0, 0, 0, 32, 0,
1640 0, 254, 0, 0, 0, 0, 199, 564, 565, 566,
1641 567, 568, 569, 570, 571, 572, 573, 574, 575, 1020,
1642 1021, 9, 10, 7, 8, 9, 10, 210, 211, 212,
1643 133, 0, 0, 0, 14, 0, 0, 133, 0, 0,
1644 0, 0, 0, 0, 0, 199, 944, 199, 199, 233,
1645 616, 18, 0, 0, 0, 0, 20, 21, 0, 0,
1646 254, 21, 0, 0, 0, 23, 0, 602, 0, 1263,
1647 26, 0, 27, 28, 26, 1221, 27, 28, 1022, 0,
1648 0, 0, 476, 211, 212, 0, 189, 0, 0, 14,
1649 937, 199, 0, 0, 706, 944, 190, 0, 0, 0,
1650 938, 0, 199, 199, 32, 199, 18, 0, 32, 191,
1651 605, 20, 0, 939, 607, 0, 0, 544, 0, 0,
1652 23, 0, 255, 0, 0, 0, 0, 296, 8, 9,
1653 10, 0, 0, 133, 670, 0, 80, 0, 80, 0,
1654 0, 0, 0, 1031, 80, 80, 7, 8, 9, 10,
1655 0, 726, 727, 104, 738, 0, 0, 0, 0, 104,
1656 0, 0, 0, 0, 0, 21, 513, 513, 513, 0,
1657 708, 0, 247, 0, 0, 0, 0, 0, 513, 0,
1658 27, 315, 0, 0, 21, 0, 0, 0, 0, 0,
1659 1387, 1388, 1029, 0, 0, 419, 0, 26, 0, 27,
1660 28, 0, 0, 1398, 504, 7, 8, 9, 10, 210,
1661 211, 212, 32, 189, 0, 0, 14, 0, 0, 0,
1662 0, 0, 0, 190, 708, 708, 0, 454, 0, 0,
1663 708, 32, 0, 18, 127, 128, 191, 0, 20, 242,
1664 470, 0, 0, 21, 708, 0, 708, 23, 708, 602,
1665 0, 513, 0, 513, 0, 0, 26, 0, 27, 28,
1666 104, 0, 0, 0, 513, 0, 104, 0, 900, 900,
1667 900, 0, 937, 0, 0, 1114, 0, 602, 0, 1448,
1668 0, 0, 938, 0, 26, 0, 130, 131, 0, 0,
1669 32, 0, 605, 708, 0, 981, 607, 0, 0, 0,
1670 603, 1466, 1469, 0, 0, 0, 83, 104, 0, 104,
1671 604, 199, 199, 1141, 0, 0, 106, 0, 0, 0,
1672 605, 0, 0, 606, 607, 126, 134, 0, 0, 0,
1673 0, 0, 143, 143, 0, 143, 708, 83, 0, 0,
1674 0, 0, 0, 6, 83, 7, 8, 9, 10, 11,
1675 12, 13, 0, 708, 0, 1141, 14, 143, 0, 83,
1676 456, 458, 462, 0, 0, 0, 0, 234, 104, 0,
1677 16, 0, 17, 18, 244, 0, 0, 0, 20, 1513,
1678 0, 104, 0, 21, 1031, 0, 244, 23, 0, 0,
1679 423, 0, 0, 104, 0, 0, 26, 0, 27, 28,
1680 0, 0, 29, 0, 462, 0, 1200, 0, 0, 0,
1681 0, 0, 30, 0, 0, 0, 80, 0, 0, 0,
1682 0, 0, 31, 0, 0, 0, 104, 0, 104, 0,
1683 32, 0, 0, 1029, 0, 33, 0, 0, 83, 0,
1684 0, 0, 143, 0, 0, 0, 143, 0, 0, 143,
1685 143, 143, 0, 0, 0, 0, 104, 0, 0, 0,
1686 0, 513, 513, 83, 513, 0, 0, 83, 0, 0,
1687 0, 0, 0, 143, 83, 0, 0, 0, 7, 8,
1688 9, 10, 0, 0, 501, 0, 0, 0, 0, 0,
1689 0, 143, 143, 143, 567, 568, 569, 570, 571, 572,
1690 573, 574, 575, 731, 0, 0, 0, 0, 737, 199,
1691 199, 199, 199, 1141, 0, 0, 21, 199, 0, 0,
1692 143, 0, 602, 0, 708, 0, 708, 0, 708, 26,
1693 0, 27, 28, 778, 0, 0, 0, 0, 0, 784,
1694 1141, 1141, 1141, 0, 0, 937, 0, 7, 127, 128,
1695 10, 792, 793, 242, 794, 938, 0, 143, 726, 727,
1696 456, 458, 462, 32, 0, 605, 738, 0, 939, 607,
1697 0, 199, 0, 0, 0, 0, 142, 0, 80, 0,
1698 0, 0, 608, 608, 608, 21, 0, 0, 0, 456,
1699 458, 462, 0, 0, 0, 244, 143, 0, 26, 0,
1700 27, 28, 0, 0, 0, 0, 0, 7, 127, 128,
1701 10, 0, 0, 13, 30, 0, 0, 0, 0, 0,
1702 1334, 0, 708, 0, 31, 0, 0, 199, 199, 0,
1703 199, 0, 32, 0, 0, 0, 0, 33, 0, 0,
1704 244, 0, 0, 0, 601, 21, 143, 143, 617, 889,
1705 890, 0, 0, 626, 889, 0, 0, 83, 26, 0,
1706 27, 28, 0, 0, 0, 0, 199, 944, 199, 0,
1707 0, 0, 0, 0, 147, 0, 726, 727, 0, 738,
1708 0, 0, 0, 0, 148, 104, 0, 0, 0, 0,
1709 0, 663, 32, 0, 8, 9, 0, 149, 12, 242,
1710 244, 0, 143, 244, 14, 0, 0, 0, 0, 0,
1711 0, 0, 0, 143, 0, 0, 143, 0, 16, 0,
1712 17, 143, 0, 0, 0, 0, 20, 0, 0, 83,
1713 0, 0, 0, 0, 0, 23, 0, 602, 0, 0,
1714 0, 0, 0, 0, 26, 0, 130, 131, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 143, 0, 143,
1716 603, 143, 143, 143, 0, 0, 0, 143, 0, 0,
1717 604, 0, 143, 0, 0, 143, 708, 0, 1141, 0,
1718 605, 0, 0, 606, 607, 0, 7, 8, 9, 10,
1719 756, 83, 13, 8, 9, 0, 163, 12, 13, 0,
1720 0, 714, 0, 14, 127, 128, 0, 0, 0, 501,
1721 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1722 18, 0, 0, 0, 21, 20, 1051, 462, 1053, 244,
1723 244, 244, 244, 0, 23, 0, 602, 26, 0, 27,
1724 28, 608, 608, 26, 608, 130, 131, 602, 1141, 1141,
1725 1141, 898, 0, 189, 26, 0, 130, 131, 0, 603,
1726 0, 0, 0, 190, 0, 0, 0, 104, 0, 604,
1727 603, 32, 199, 0, 0, 0, 191, 0, 0, 605,
1728 604, 0, 606, 607, 0, 0, 0, 0, 0, 244,
1729 605, 143, 0, 606, 607, 0, 0, 456, 458, 462,
1730 1087, 1088, 0, 1090, 0, 143, 143, 0, 617, 608,
1731 0, 608, 608, 0, 608, 901, 0, 0, 7, 127,
1732 128, 10, 0, 0, 501, 0, 0, 0, 626, 0,
1733 0, 1108, 0, 0, 143, 558, 559, 560, 561, 562,
1734 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
1735 573, 574, 575, 0, 0, 608, 21, 757, 663, 7,
1736 8, 758, 10, 163, 12, 13, 126, 0, 0, 26,
1737 14, 27, 28, 143, 617, 143, 143, 234, 617, 0,
1738 0, 1143, 0, 0, 16, 30, 17, 18, 19, 0,
1739 0, 0, 20, -520, 0, 31, 0, 21, 0, 0,
1740 756, 23, 759, 32, 164, 0, 0, 0, 33, 0,
1741 26, 0, 27, 28, 0, 0, 760, 0, 761, 143,
1742 0, 0, 0, 617, 0, 0, 30, 0, 0, 0,
1743 143, 143, 0, 143, 0, 0, 31, 0, 0, 0,
1744 0, 0, 608, 0, 32, 0, 1186, 0, 0, 33,
1745 0, 0, 8, 9, 0, 0, 12, 13, 1191, 0,
1746 0, 134, 14, 0, 83, -520, 83, 0, 0, 0,
1747 0, 1032, 83, 83, 0, 0, 16, 0, 17, 0,
1748 0, 244, 0, 0, 20, 0, 0, 244, 0, 0,
1749 611, 615, 618, 23, 143, 143, 143, 0, 0, 0,
1750 0, 0, 26, 0, 130, 131, 143, 0, 0, 0,
1751 0, 0, 0, 51, 0, 608, 0, 608, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 608, 0,
1753 0, 0, 898, 898, 898, 0, 0, 0, 0, 51,
1754 51, 854, 150, 1243, 51, 0, 0, 0, 0, 0,
1755 0, 51, 0, 0, 0, 0, 0, 0, 127, 128,
1756 0, 0, 211, 212, 51, 0, 51, 0, 14, 0,
1757 0, 0, 0, 0, 0, 608, 608, 608, 0, 143,
1758 0, 143, 1256, 0, 0, 0, 0, 0, 244, 250,
1759 20, 0, 143, 0, 244, 0, 901, 901, 901, 23,
1760 0, 602, 0, 626, 0, 0, 0, 0, 26, 0,
1761 130, 131, 0, 0, 0, 0, 0, 0, 0, 898,
1762 0, 0, 0, 0, 603, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 604, 244, 0, 244, 0, 143,
1764 143, 617, 392, 392, 605, 51, 1343, 613, 607, 51,
1765 1344, 250, 0, 51, 0, 0, 150, 150, 150, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 51, 0, 127, 128, 51, 0, 211, 212, 0, 0,
1768 51, 51, 14, 901, 0, 1360, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 244, 0, 51, 51,
1770 150, 0, 0, 0, 20, 0, 0, 756, 250, 244,
1771 0, 0, 1032, 23, 0, 602, 0, 0, 0, 0,
1772 0, 244, 26, 0, 130, 131, 0, 51, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 603, 0,
1774 0, 0, 0, 0, 83, 0, 0, 0, 604, 878,
1775 880, 0, 0, 0, 244, 0, 244, 0, 605, 1416,
1776 0, 606, 607, 1417, 51, 0, 0, 0, 0, 0,
1777 0, 0, 0, 608, 608, 608, 608, 608, 0, 0,
1778 0, 608, 0, 0, 244, 1435, 1436, 0, 0, 143,
1779 143, 0, 143, 0, 0, 7, 8, 9, 10, 0,
1780 0, 242, 0, 0, 898, 898, 898, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 942, 0, 611,
1782 615, 0, 618, 7, 8, 9, 10, 0, 0, 13,
1783 0, 0, 0, 21, 541, 0, 0, 143, 143, 143,
1784 143, 617, 0, 0, 0, 143, 26, 0, 27, 28,
1785 0, 392, 756, 0, 0, 0, 0, 0, 0, 250,
1786 0, 21, 189, 615, 51, 0, 0, 0, 901, 901,
1787 901, 0, 190, 0, 26, 0, 27, 28, 0, 0,
1788 32, 0, 0, 0, 756, 191, 0, 0, 0, 0,
1789 459, 608, 608, 0, 608, 0, 0, 0, 392, 143,
1790 460, 0, 0, 0, 143, 0, 83, 0, 32, 51,
1791 0, 0, 0, 461, 0, 0, 0, 0, 0, 0,
1792 51, 0, 0, 51, 7, 8, 9, 10, 51, 0,
1793 501, 0, 0, 0, 0, 0, 51, 563, 564, 565,
1794 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1795 615, 0, 0, 0, 0, 143, 143, 0, 143, 0,
1796 0, 0, 21, 0, 51, 0, 51, 0, 150, 150,
1797 150, 0, 0, 0, 51, 26, 0, 27, 28, 51,
1798 8, 9, 51, 1391, 12, 13, 0, 0, 0, 0,
1799 14, 189, 0, 0, 143, 617, 143, 0, 51, 0,
1800 0, 190, 0, 0, 16, 0, 17, 0, 0, 32,
1801 0, 0, 20, 244, 191, 0, 0, 0, 0, 0,
1802 0, 23, 0, 1100, 0, 1101, 0, 0, 541, 0,
1803 26, 541, 130, 131, 585, 0, 1107, 0, 0, 0,
1804 878, 880, 0, 0, 0, 0, 541, 541, 541, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 541, 7, 8, 9, 10, 201, 12, 202, 586,
1807 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 878, 880, 0, 0, 16, 0, 17,
1809 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1810 21, 0, 0, 0, 23, 0, 901, 78, 0, 250,
1811 0, 0, 0, 26, 0, 27, 28, 0, 0, 203,
1812 0, 0, 541, 0, 0, 0, 0, 0, 0, 30,
1813 0, 0, 0, 78, 78, 0, 78, 0, 78, 31,
1814 0, 51, 0, 0, 0, 78, 0, 32, 0, 0,
1815 0, 0, 33, 0, 0, 0, 0, 0, 78, 0,
1816 78, 0, 0, 0, 0, 392, 0, 0, 1328, 1329,
1817 9, 10, 392, 0, 0, 0, 901, 901, 901, 0,
1818 51, 51, 51, 51, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 244, 0, 0, 0, 0,
1820 143, 0, 0, 0, 0, 0, 21, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
1822 0, 27, 28, 0, 0, 0, 51, 1330, 0, 0,
1823 51, 0, 0, 0, 0, 189, 0, 51, 51, 78,
1824 51, 0, 0, 78, 0, 190, 0, 78, 0, 0,
1825 78, 78, 78, 32, 0, 0, 0, 0, 191, 0,
1826 0, 0, 0, 0, 78, 0, 0, 0, 78, 0,
1827 0, 51, 0, 51, 78, 78, 0, 0, 51, 51,
1828 51, 1100, 1101, 878, 880, 0, 0, 0, 0, 1107,
1829 0, 0, 78, 78, 78, 0, 0, 259, 0, 0,
1830 8, 9, 0, 0, 12, 13, 0, 541, 0, 0,
1831 14, 0, 878, 880, 0, 0, 0, 0, 0, 0,
1832 0, 78, 0, 0, 16, 0, 17, 155, 0, 0,
1833 0, 0, 20, 0, 260, 261, 0, 0, 0, 0,
1834 0, 23, 0, 262, 0, 0, 0, 0, 0, 200,
1835 26, 0, 130, 131, 0, 263, 0, 0, 78, 264,
1836 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1837 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1838 0, 0, 285, 286, 287, 0, 0, 288, 0, 0,
1839 289, 0, 0, 0, 0, 0, 0, 0, 0, 1100,
1840 1101, 0, 1107, 541, 541, 541, 290, 0, 0, 250,
1841 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
1842 569, 570, 571, 572, 573, 574, 575, 0, 7, 8,
1843 9, 10, 210, 211, 212, 0, 0, 0, 0, 14,
1844 0, 155, 155, 155, 0, 0, 51, 51, 150, 0,
1845 0, 0, 0, 250, 625, 0, 18, 0, 78, 0,
1846 0, 20, 0, 0, 0, 200, 21, 0, 0, 0,
1847 23, 0, 602, 0, 0, 0, 0, 0, 0, 26,
1848 0, 27, 28, 200, 200, 463, 0, 0, 0, 0,
1849 1169, 0, 0, 0, 0, 189, 0, 0, 0, 0,
1850 0, 0, 0, 78, 0, 190, 0, 0, 0, 0,
1851 0, 0, 200, 32, 78, 0, 0, 78, 1404, 51,
1852 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
1853 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 250, 0, 7, 8, 9, 10, 163, 12, 13, 0,
1855 0, 51, 0, 14, 0, 0, 0, 0, 78, 0,
1856 78, 0, 78, 78, 78, 0, 0, 16, 78, 17,
1857 18, 19, 0, 78, 0, 20, 78, 0, 0, 0,
1858 21, 8, 9, 0, 23, 12, 242, 164, 514, 0,
1859 0, 14, 78, 26, 0, 27, 28, 0, 0, 0,
1860 0, 0, 0, 0, 0, 16, 0, 17, 0, 30,
1861 0, 0, 0, 20, 0, 0, 0, 0, 0, 31,
1862 0, 0, 23, 250, 0, 0, 0, 32, 0, 0,
1863 0, 26, 33, 130, 131, 0, 0, 34, 610, 610,
1864 610, 0, 0, 0, 51, 51, 150, 150, 150, 0,
1865 250, 0, 51, 0, 7, 8, 9, 10, 163, 12,
1866 13, 0, 0, 714, 0, 14, 0, 0, 0, 0,
1867 0, 1328, 127, 128, 10, 1169, 1169, 1169, 0, 16,
1868 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1869 0, 0, 21, 0, 200, 0, 23, 0, 602, 0,
1870 0, 0, 0, 0, 625, 26, 51, 27, 28, 21,
1871 0, 51, 0, 51, 0, 0, 0, 0, 0, 0,
1872 0, 1137, 26, 0, 27, 28, 0, 0, 0, 0,
1873 1330, 1138, 0, 0, 0, 78, 0, 0, 30, 32,
1874 0, 605, 0, 0, 1139, 607, 0, 0, 31, 200,
1875 0, 200, 0, 463, 463, 463, 32, 0, 0, 200,
1876 0, 33, 51, 51, 200, 51, 0, 200, 0, 0,
1877 0, 0, 0, 0, 78, 78, 78, 78, 0, 0,
1878 0, 0, 0, 757, 0, 7, 8, 758, 10, 163,
1879 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1880 0, 51, 51, 51, 0, 0, 0, 0, 0, 0,
1881 16, 0, 17, 18, 19, 0, 0, 0, 20, -521,
1882 78, 0, 0, 21, 78, 0, 0, 23, 759, 0,
1883 164, 78, 78, 0, 78, 0, 26, 0, 27, 28,
1884 0, 0, 760, 0, 761, 0, 0, 0, 0, 0,
1885 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 31, 0, 0, 78, 0, 78, 0, 0,
1887 32, 0, 78, 78, 78, 33, 7, 8, 9, 10,
1888 163, 12, 13, 863, 0, 986, 0, 14, 0, 0,
1889 0, -521, 0, 0, 0, 0, 0, 610, 610, 0,
1890 610, 16, 0, 17, 18, 0, 0, 610, 0, 20,
1891 0, 198, 0, 1169, 21, 0, 0, 0, 23, 0,
1892 7, 8, 9, 10, 0, 0, 200, 26, 0, 27,
1893 28, 0, 0, 0, 0, 0, 253, 0, 0, 257,
1894 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 31, 0, 0, 0, 0, 21, 0,
1896 253, 32, 361, 0, 0, 941, 33, 941, 941, 0,
1897 610, 26, 0, 27, 28, 0, 0, 7, 8, 9,
1898 10, 0, 0, 1169, 1169, 1169, 0, 189, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 190, 0, 0,
1900 0, 0, 0, 0, 625, 32, 0, 51, 0, 0,
1901 191, 941, 0, 0, 0, 21, 0, 0, 0, 0,
1902 0, 0, 200, 200, 0, 200, 0, 198, 26, 0,
1903 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
1904 78, 78, 78, 0, 459, 198, 198, 198, 0, 0,
1905 0, 0, 0, 0, 460, 469, 0, 0, 0, 0,
1906 0, 0, 32, 200, 0, 8, 9, 461, 163, 12,
1907 13, 0, 0, 0, 198, 14, 0, 0, 0, 0,
1908 0, 0, 0, 0, 1171, 0, 514, 514, 514, 16,
1909 0, 17, 18, 0, 0, 0, 0, 20, 610, 0,
1910 257, 0, 0, 0, 0, 0, 664, 0, 0, 164,
1911 0, 0, 0, 78, 253, 26, 0, 130, 131, 0,
1912 0, 0, 0, 0, 0, 0, 536, 0, 296, 8,
1913 9, 10, 163, 12, 297, 298, 299, 714, 300, 14,
1914 0, 0, 0, 0, 0, 78, 0, 0, 0, 0,
1915 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
1916 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
1917 23, 610, 602, 610, 309, 310, 311, 312, 313, 26,
1918 0, 27, 315, -307, 610, 0, 316, 0, 610, 610,
1919 610, 0, 317, 0, 0, 894, 0, 0, 0, 0,
1920 0, 0, 0, 319, 320, 895, 253, 257, 0, 0,
1921 0, 322, 323, 324, 0, 605, 0, 0, 896, 607,
1922 0, 0, 0, 0, 0, 0, 1458, 0, 0, 0,
1923 0, 941, 941, 1142, 0, 326, 0, 0, 78, 78,
1924 78, 78, 78, 0, 0, 0, 78, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 198, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171,
1927 1171, 1171, 0, 0, 0, 1142, 1459, 554, 555, 556,
1928 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
1929 567, 568, 569, 570, 571, 572, 573, 574, 575, 0,
1930 78, 0, 0, 0, 200, 78, 0, 78, 0, 0,
1931 0, 198, 0, 198, 76, 198, 198, 198, 0, 0,
1932 0, 198, 0, 0, 0, 0, 198, 0, 0, 198,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 141, 145, 0, 0, 0, 76, 0, 0, 0, 0,
1935 0, 0, 76, 0, 0, 0, 78, 78, 0, 78,
1936 0, 0, 0, 0, 0, 0, 0, 209, 0, 0,
1937 0, 0, 162, 0, 7, 8, 9, 10, 163, 12,
1938 13, 863, 863, 0, 863, 14, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 78, 78, 78, 0, 16,
1940 0, 17, 18, 19, 0, 0, 0, 20, 0, 0,
1941 0, 0, 21, 0, 0, 0, 23, 0, 0, 164,
1942 0, 0, 0, 0, 0, 26, 0, 27, 28, 941,
1943 941, 1142, 1142, 1142, 0, 0, 0, 941, 0, 0,
1944 0, 30, 0, 0, 0, 0, 403, 0, 0, 0,
1945 406, 31, 0, 0, 408, 0, 0, 0, 0, 32,
1946 1142, 1142, 1142, 0, 33, 0, 0, 0, 0, 34,
1947 0, 76, 253, 257, 0, 76, 0, 0, 0, 0,
1948 0, 0, 209, 0, 0, 0, 0, 0, 198, 0,
1949 0, 200, 0, 0, 0, 0, 0, 0, 0, 141,
1950 145, 0, 0, 0, 0, 0, 0, 1171, 0, 0,
1951 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1952 0, 0, 0, 0, 14, 0, 0, 198, 0, 198,
1953 198, 0, 0, 0, 0, 0, 0, 15, 16, 0,
1954 17, 18, 19, 102, 0, 0, 20, 941, 941, 0,
1955 941, 21, 121, 102, 22, 23, 24, 0, 25, 102,
1956 102, 0, 102, 0, 26, 502, 27, 28, 0, 0,
1957 29, 0, 0, 198, 0, 0, 0, 1171, 1171, 1171,
1958 30, 0, 0, 0, 198, 198, 200, 198, 200, 0,
1959 31, 0, 0, 0, 231, 18, 0, 0, 32, 0,
1960 0, 78, 0, 33, 0, 0, 0, 0, 34, 0,
1961 0, 0, 257, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 198, 0, 554, 555, 556,
1963 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
1964 567, 568, 569, 570, 571, 572, 573, 574, 575, 0,
1965 0, 0, 0, 385, 0, 121, 8, 9, 0, 163,
1966 12, 13, 102, 102, 714, 634, 14, 0, 0, 102,
1967 0, 102, 102, 102, 0, 0, 102, 102, 102, 0,
1968 16, 0, 17, 18, 0, 0, 8, 9, 20, 163,
1969 12, 13, 0, 0, 1526, 0, 14, 23, 463, 0,
1970 0, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1971 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
1972 0, 685, 0, 0, 686, 0, 0, 23, 0, 688,
1973 0, 0, 0, 0, 0, 0, 26, 76, 130, 131,
1974 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
1975 570, 571, 572, 573, 574, 575, 253, 257, 253, 0,
1976 0, 0, 484, 102, 0, 406, 0, 408, 463, 463,
1977 463, 0, 0, 0, 0, 0, 0, 8, 9, 0,
1978 502, 12, 13, 0, 102, 0, 0, 14, 0, 0,
1979 0, 0, 200, 198, 198, 1140, 0, 0, 0, 774,
1980 253, 16, 0, 17, 0, 0, 0, 0, 0, 20,
1981 0, 0, 704, 0, 815, 816, 817, 10, 23, 12,
1982 518, 298, 299, 102, 300, 14, 0, 26, 0, 130,
1983 131, 0, 0, 0, 0, 0, 0, 1140, 0, 16,
1984 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
1985 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
1986 309, 310, 311, 312, 313, 26, 198, 818, 819, 705,
1987 0, 102, 316, 102, 102, 0, 0, 0, 317, 0,
1988 0, 318, 0, 0, 0, 0, 0, 469, 0, 319,
1989 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
1990 0, 0, 0, 0, 325, 820, 8, 9, 0, 201,
1991 12, 202, 0, 0, 0, 0, 14, 0, 102, 0,
1992 973, 326, 0, 0, 0, 0, 0, 0, 0, 0,
1993 16, 0, 17, 18, 0, 0, 102, 0, 20, 0,
1994 102, 0, 0, 102, 0, 0, 0, 23, 102, 0,
1995 0, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 253, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 943, 0, 0, 0, 0, 0, 0, 0,
1999 0, 198, 198, 198, 198, 1140, 0, 1255, 0, 198,
2000 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2001 571, 572, 573, 574, 575, 102, 0, 749, 0, 0,
2002 0, 0, 1140, 1140, 1140, 0, 0, 0, 0, 0,
2003 0, 987, 0, 0, 0, 0, 0, 0, 685, 686,
2004 0, 688, 102, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 198, 562, 563, 564, 565, 566, 567,
2006 568, 569, 570, 571, 572, 573, 574, 575, 0, 0,
2007 0, 0, 774, 0, 774, 0, 0, 0, 0, 1030,
2008 1037, 774, 0, 554, 555, 556, 557, 558, 559, 560,
2009 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2010 571, 572, 573, 574, 575, 0, 0, 0, 0, 198,
2011 198, 0, 198, 0, 0, 0, 0, 0, 102, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2013 102, 1219, 102, 102, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 198, 0,
2015 198, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 757, 0, 7,
2017 8, 758, 10, 163, 12, 13, 0, 0, 0, 0,
2018 14, 0, 0, 0, 0, 102, 0, 0, 0, 0,
2019 0, 0, 102, 121, 16, 0, 17, 18, 19, 0,
2020 0, 0, 20, -523, 231, 0, 0, 21, 0, 0,
2021 0, 23, 759, 0, 164, 0, 0, 0, 0, 0,
2022 26, 0, 27, 28, 0, 0, 760, 749, 761, 0,
2023 0, 0, 0, 0, 0, 0, 30, 757, 0, 7,
2024 8, 758, 10, 163, 12, 13, 31, 141, 145, 0,
2025 14, 0, 0, 0, 32, 0, 0, 0, 0, 33,
2026 1140, 0, 0, 0, 16, 0, 17, 18, 19, 0,
2027 0, 0, 20, 0, 0, -523, 0, 21, 0, 0,
2028 0, 23, 759, 0, 164, 749, 0, 0, 102, 0,
2029 26, 0, 27, 28, 0, 0, 760, 0, 761, 0,
2030 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2032 1030, 102, 102, 102, 32, 0, 0, 0, 0, 33,
2033 1140, 1140, 1140, 102, 0, 536, 0, 7, 8, 9,
2034 10, 163, 12, 297, 298, 299, 714, 300, 14, 0,
2035 0, 0, 774, 0, 198, 0, 0, 0, 0, 0,
2036 0, 0, 16, 301, 17, 18, 19, 0, 302, 303,
2037 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2038 0, 602, 0, 309, 310, 311, 312, 313, 26, 0,
2039 27, 28, -307, 0, 0, 316, 0, 0, 0, 0,
2040 0, 317, 0, 0, 1166, 0, 102, 0, 102, 0,
2041 0, 0, 319, 320, 1167, 0, 0, 0, 0, 102,
2042 322, 323, 324, 0, 605, 0, 0, 1168, 607, 757,
2043 0, 7, 8, 758, 10, 163, 12, 13, 0, 0,
2044 0, 0, 14, 0, 326, 406, 408, 0, 0, 0,
2045 0, 0, 0, 502, 0, 0, 16, 0, 17, 18,
2046 19, 0, 0, 0, 20, -522, 0, 0, 0, 21,
2047 0, 0, 0, 23, 759, 0, 164, 0, 0, 0,
2048 0, 0, 26, 0, 27, 28, 0, 0, 760, 0,
2049 761, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2050 0, 0, 0, 0, 0, 0, 0, 1335, 31, 0,
2051 0, 0, 1335, 0, 774, 0, 32, 0, 0, 0,
2052 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 749, 0, 0, -522, 554, 555,
2054 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
2055 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2056 0, 102, 0, 685, 686, 1429, 688, -474, -474, -474,
2057 -474, -474, -474, -474, 0, 0, -474, 0, -474, 0,
2058 0, 0, 1522, 0, 0, 0, 0, 0, 0, -474,
2059 0, -474, 0, 0, 0, -474, 0, 0, 0, 0,
2060 -474, 0, 0, 1403, 0, -474, 0, 0, 0, -474,
2061 0, -474, 0, 0, 0, 0, 102, 102, -474, 102,
2062 -474, -474, -474, -474, -474, 0, -474, -474, -474, -474,
2063 -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
2064 -474, -474, -474, -474, -474, -474, -474, -474, -474, 0,
2065 -474, -474, -474, 0, -474, -474, -474, -474, -474, -474,
2066 0, -474, 0, 0, 0, 0, 1430, 0, 0, 0,
2067 0, -474, -474, -474, 0, -474, 643, 0, 0, 749,
2068 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
2069 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
2070 574, 575, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 749, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2073 1406, 102, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2074 299, 0, 300, 14, 1269, 0, 1270, 1271, 1272, 1273,
2075 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2076 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2077 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2078 311, 312, 313, 26, 0, 1282, 315, 701, 0, 1283,
2079 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2080 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2081 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2082 0, 0, 325, 0, 1284, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 1407, 326,
2084 1265, 0, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2085 299, 0, 300, 14, 1269, 0, 1270, 1271, 1272, 1273,
2086 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2087 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2088 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2089 311, 312, 313, 26, 0, 1282, 315, 701, 0, 1283,
2090 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2091 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2092 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2093 0, 0, 325, 713, 1284, 296, 8, 9, 10, 163,
2094 12, 297, 298, 299, 714, 300, 14, 0, 0, 326,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2097 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2098 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2099 0, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2100 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2101 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2102 324, 0, 0, 0, 827, 325, 296, 8, 9, 10,
2103 163, 12, 297, 298, 299, 0, 300, 14, 0, 0,
2104 -790, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2105 0, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2106 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2107 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2108 315, 1503, 0, -780, 316, 0, 0, 0, 0, 0,
2109 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2110 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2111 323, 324, 0, 0, 0, 704, 325, 815, 816, 817,
2112 10, 0, 12, 518, 298, 299, 0, 300, 14, 0,
2113 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2114 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2115 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2116 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2117 818, 819, 705, 0, 0, 316, 0, 0, 0, 0,
2118 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2119 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2120 322, 323, 324, 0, 0, 0, 0, 325, 820, 704,
2121 0, 815, 816, 817, 10, 0, 12, 518, 298, 299,
2122 0, 300, 14, 0, 326, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 16, 301, 17, 0,
2124 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2125 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2126 312, 313, 26, 0, 818, 819, 705, 0, 0, 316,
2127 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2128 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2129 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2130 704, 325, 815, 816, 817, 10, 0, 12, 518, 298,
2131 299, 0, 300, 14, 0, 0, 0, -478, 326, 0,
2132 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2133 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2134 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2135 311, 312, 313, 26, 0, 818, 819, 705, 0, 0,
2136 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2137 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2138 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2139 0, 704, 325, 296, 8, 9, 10, 0, 12, 518,
2140 298, 299, 0, 300, 14, 0, 0, 0, 1304, 326,
2141 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2142 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2143 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2144 310, 311, 312, 313, 26, 0, 27, 315, 705, 0,
2145 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2146 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2147 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2148 0, 0, 0, 325, 0, 536, 0, 296, 8, 9,
2149 10, 1308, 12, 297, 298, 299, 0, 300, 14, 0,
2150 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2152 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2153 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2154 27, 315, -307, 0, 0, 316, 0, 0, 0, 0,
2155 0, 317, 0, 0, 537, 0, 0, 0, 0, 0,
2156 0, 0, 319, 320, 538, 0, 0, 0, 0, 0,
2157 322, 323, 324, 0, 0, 0, 704, 539, 296, 8,
2158 9, 10, 0, 12, 518, 298, 299, 0, 300, 14,
2159 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2160 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2161 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2162 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2163 0, 27, 315, 705, 0, 0, 316, 0, 0, 0,
2164 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2165 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2166 0, 322, 323, 324, 0, 0, 0, 827, 325, 296,
2167 8, 9, 10, 0, 12, 518, 298, 299, 0, 300,
2168 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2169 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2170 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2171 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2172 26, 0, 27, 315, 0, 0, 0, 316, -780, 0,
2173 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2174 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2175 0, 0, 322, 323, 324, 0, 0, 0, 536, 325,
2176 7, 8, 9, 10, 0, 12, 297, 298, 299, 0,
2177 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2178 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2179 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2180 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2181 313, 26, 0, 27, 28, -307, 0, 0, 316, 0,
2182 0, 0, 0, 0, 317, 0, 0, 1474, 0, 0,
2183 0, 0, 0, 0, 0, 319, 320, 1475, 0, 0,
2184 0, 0, 0, 322, 323, 324, 0, 0, 0, 1555,
2185 1476, 296, 8, 9, 10, 0, 12, 297, 298, 299,
2186 0, 300, 14, 0, 0, 0, 0, 326, 0, 0,
2187 0, 0, 0, 0, 0, 0, 16, 301, 17, 0,
2188 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2189 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2190 312, 313, 26, 0, 27, 315, 0, 0, -194, 316,
2191 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2192 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2193 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2194 827, 325, 296, 8, 9, 10, 0, 12, 518, 298,
2195 299, 0, 300, 14, 0, 0, 0, 0, 326, 0,
2196 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2197 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2198 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2199 311, 312, 313, 26, 0, 27, 315, 0, 0, 0,
2200 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2201 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2202 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2203 0, 915, 325, 296, 8, 9, 10, 0, 12, 518,
2204 298, 299, 0, 300, 14, 0, 0, -780, 0, 326,
2205 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2206 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2207 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2208 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2209 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2210 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2211 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2212 0, 0, 917, 325, 296, 8, 9, 10, 0, 12,
2213 518, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2214 326, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2215 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2216 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2217 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2218 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2219 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2220 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2221 0, 0, 0, 1487, 325, 296, 8, 9, 10, 0,
2222 12, 518, 298, 299, 0, 300, 14, 0, 0, 0,
2223 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2224 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2225 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2226 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2227 0, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2228 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2229 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2230 324, 296, 8, 9, 10, 325, 12, 518, 298, 299,
2231 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2233 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2234 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2235 312, 313, 26, 0, 27, 315, 0, 0, 0, 316,
2236 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2237 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2238 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2239 0, 325, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 326, 866,
2241 1266, 1267, 1268, 10, 163, 12, 297, 298, 299, 0,
2242 300, 14, 1269, 0, 1270, 1271, 1272, 1273, 1274, 1275,
2243 1276, 1277, 1278, 1279, 15, 16, 301, 17, 18, 19,
2244 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2245 308, 1280, 23, 1281, 0, 0, 309, 310, 311, 312,
2246 313, 26, 0, 1282, 315, 701, 0, 1283, 316, 0,
2247 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2248 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2249 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2250 325, 0, 1284, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 1411, 326, 1266, 1267,
2252 1268, 10, 163, 12, 297, 298, 299, 0, 300, 14,
2253 1269, 0, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
2254 1278, 1279, 15, 16, 301, 17, 18, 19, 0, 302,
2255 303, 20, 0, 304, 305, 306, 21, 307, 308, 1280,
2256 23, 1281, 0, 0, 309, 310, 311, 312, 313, 26,
2257 0, 1282, 315, 701, 0, 1283, 316, 0, 0, 0,
2258 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2259 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2260 0, 322, 323, 324, 0, 0, 0, 0, 325, 0,
2261 1284, 0, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2262 299, 0, 300, 14, 1269, 326, 1270, 1271, 1272, 1273,
2263 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2264 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2265 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2266 311, 312, 313, 26, 0, 1282, 315, 1532, 0, 1283,
2267 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2268 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2269 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2270 0, 0, 325, 0, 1284, 0, 1266, 1267, 1268, 10,
2271 163, 12, 297, 298, 299, 0, 300, 14, 1269, 326,
2272 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
2273 15, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2274 0, 304, 305, 306, 21, 307, 308, 1280, 23, 1281,
2275 0, 0, 309, 310, 311, 312, 313, 26, 0, 1282,
2276 315, 0, 0, 1283, 316, 0, 0, 0, 0, 0,
2277 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2278 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2279 323, 324, 0, 0, 0, 0, 325, 0, 1284, 296,
2280 8, 9, 10, 163, 12, 297, 298, 299, 714, 300,
2281 14, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 16, 301, 17, 18, 19, 0,
2283 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2284 0, 23, 0, 602, 0, 309, 310, 311, 312, 313,
2285 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2286 0, 0, 0, 317, 0, 0, 894, 0, 0, 0,
2287 0, 0, 0, 0, 319, 320, 895, 0, 0, 0,
2288 0, 0, 322, 323, 324, 0, 605, 0, 0, 896,
2289 607, 7, 8, 9, 10, 163, 12, 297, 298, 299,
2290 714, 300, 14, 0, 0, 0, 326, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 16, 301, 17, 18,
2292 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2293 307, 308, 0, 23, 0, 602, 0, 309, 310, 311,
2294 312, 313, 26, 0, 27, 28, 0, 0, 0, 316,
2295 0, 0, 0, 0, 0, 317, 0, 0, 1166, 0,
2296 0, 0, 0, 0, 0, 0, 319, 320, 1167, 0,
2297 0, 0, 0, 0, 322, 323, 324, 0, 605, 0,
2298 0, 1168, 607, 296, 8, 9, 10, 0, 12, 297,
2299 298, 299, 0, 300, 14, 0, 0, 0, 326, 0,
2300 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2301 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2302 306, 21, 307, 308, 0, 23, 0, 602, 0, 309,
2303 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2304 0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
2305 894, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2306 895, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2307 605, 0, 0, 896, 607, 7, 8, 9, 10, 0,
2308 12, 297, 298, 299, 0, 300, 14, 0, 0, 0,
2309 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2311 304, 305, 306, 21, 307, 308, 0, 23, 0, 602,
2312 0, 309, 310, 311, 312, 313, 26, 0, 27, 28,
2313 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2314 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0,
2315 319, 320, 1167, 0, 0, 0, 0, 0, 322, 323,
2316 324, 0, 605, 0, 0, 1168, 607, 296, 8, 9,
2317 10, 0, 12, 518, 298, 299, 0, 300, 14, 0,
2318 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2319 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2320 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2321 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2322 27, 315, 0, 0, 1384, 316, 0, 0, 0, 0,
2323 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2324 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2325 322, 323, 324, 0, 0, 0, 0, 325, 296, 8,
2326 9, 10, 163, 12, 297, 298, 299, 0, 300, 14,
2327 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2328 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2329 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2330 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2331 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2332 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2333 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2334 0, 322, 323, 324, 296, 8, 9, 10, 325, 12,
2335 297, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 326, 0, 0, 0, 16,
2337 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2338 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2339 309, 310, 311, 312, 313, 26, 0, 314, 315, 0,
2340 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2341 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2342 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2343 296, 8, 9, 10, 325, 12, 297, 298, 299, 0,
2344 300, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 326, 0, 0, 0, 16, 301, 17, 0, 19,
2346 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2347 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2348 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2349 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2350 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2351 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2352 325, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2353 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2354 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2355 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2356 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2357 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2358 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2359 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2360 323, 324, 296, 8, 9, 10, 325, 12, 518, 298,
2361 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2362 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2363 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2364 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2365 311, 312, 313, 26, 0, 27, 315, 551, 0, 0,
2366 0, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2367 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2368 0, 0, 0, 0, 0, 322, 323, 324, 296, 8,
2369 9, 10, 552, 12, 518, 298, 299, 0, 300, 14,
2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
2371 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2372 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2373 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2374 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2375 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2376 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2377 0, 322, 323, 324, 0, 0, 0, 0, 325, 590,
2378 296, 8, 9, 10, 0, 12, 518, 298, 299, 0,
2379 300, 14, 0, 0, 0, 326, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2381 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2382 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2383 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2384 0, 0, 0, 0, 317, 0, 0, 537, 0, 0,
2385 0, 0, 0, 0, 0, 319, 320, 538, 0, 0,
2386 0, 0, 0, 322, 323, 324, 1126, 8, 9, 10,
2387 539, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2388 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2389 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2390 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2391 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2392 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2393 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2394 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2395 323, 324, 7, 8, 9, 10, 325, 12, 518, 298,
2396 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2398 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2399 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2400 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2401 316, 0, 0, 0, 0, 0, 317, 0, 0, 1474,
2402 0, 0, 0, 0, 0, 0, 0, 319, 320, 1475,
2403 0, 0, 0, 0, 0, 322, 323, 324, 296, 8,
2404 9, 10, 1476, 12, 518, 298, 299, 0, 300, 14,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
2406 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2407 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2408 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2409 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2410 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2411 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2412 0, 322, 323, 324, 296, 8, 9, 10, 519, 12,
2413 518, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 326, 0, 0, 0, 16,
2415 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2416 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2417 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
2419 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2420 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2421 296, 8, 9, 10, 522, 12, 518, 298, 299, 0,
2422 300, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2423 0, 326, 0, 0, 0, 16, 301, 17, 0, 19,
2424 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2425 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2426 313, 26, 0, 27, 315, 0, 0, 0, 0, 0,
2427 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2428 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2429 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2430 325, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2432 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2433 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2434 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2435 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 317, 0, 0, 537, 0, 0, 0, 0, 0, 0,
2437 0, 319, 320, 538, 0, 0, 0, 0, 0, 322,
2438 323, 324, 7, 8, 9, 10, 539, 12, 297, 298,
2439 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2441 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2442 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2443 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2444 0, 0, 0, 0, 0, 0, 317, 0, 0, 1474,
2445 -382, 8, 9, -382, -382, 12, 242, 319, 320, 1475,
2446 0, 14, 0, 0, 0, 322, 323, 324, 0, 0,
2447 0, 0, 1476, 0, 0, 16, 0, 17, -382, 0,
2448 0, 0, 0, 20, 0, 0, 0, 0, -382, 326,
2449 0, 0, 23, 0, 602, 0, 0, 0, 0, 0,
2450 0, 26, 0, 130, 131, 1020, 8, 758, 10, 201,
2451 12, 202, 0, 0, 0, 0, 14, 603, 0, 0,
2452 0, 0, 0, 0, 0, 0, 0, 604, 0, 0,
2453 16, 0, 17, 18, 0, -382, 0, 605, 20, 0,
2454 606, 607, 0, 21, 0, 0, 0, 23, 0, 0,
2455 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2456 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0,
2457 0, 0, 30, 7, 8, 9, 10, 201, 12, 202,
2458 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2459 32, 0, 0, 0, 0, 33, 0, 0, 16, 0,
2460 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2461 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
2462 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2463 1401, 0, 7, 8, 9, 10, 163, 12, 13, 0,
2464 30, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2465 31, 0, 0, 0, 0, 0, 0, 16, 32, 17,
2466 18, 0, 0, 33, 0, 20, 0, 0, 0, 0,
2467 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2468 0, 0, 0, 26, 0, 27, 28, 7, 8, 9,
2469 10, 201, 12, 202, 0, 0, 0, 0, 14, 30,
2470 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2471 0, 0, 16, 0, 17, 18, 0, 32, 0, 0,
2472 20, 0, 33, 0, 0, 21, 0, 0, 0, 23,
2473 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2474 27, 28, 554, 555, 556, 557, 558, 559, 560, 561,
2475 562, 563, 564, 565, 30, 567, 568, 569, 570, 571,
2476 572, 573, 574, 575, 31, 0, 0, 0, 0, 0,
2477 0, 0, 32, 0, 0, 0, 0, 33, 1540, 554,
2478 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2479 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2480 575, 554, 555, 556, 557, 558, 559, 560, 561, 562,
2481 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2482 573, 574, 575
2483 };
2484
2485 static const short yycheck[] = { 4,
2486 147, 148, 157, 172, 4, 170, 205, 14, 23, 345,
2487 4, 398, 4, 398, 699, 171, 4, 126, 238, 247,
2488 351, 134, 300, 301, 62, 351, 467, 57, 549, 398,
2489 35, 4, 107, 108, 4, 35, 488, 42, 606, 133,
2490 134, 35, 42, 35, 243, 613, 369, 35, 84, 425,
2491 42, 586, 57, 80, 42, 333, 855, 30, 31, 675,
2492 133, 42, 35, 1285, 762, 35, 764, 72, 1, 42,
2493 42, 205, 42, 771, 124, 42, 83, 46, 59, 84,
2494 214, 55, 4, 88, 1366, 90, 1456, 92, 54, 1479,
2495 42, 1457, 42, 292, 11, 213, 214, 629, 0, 106,
2496 12, 9, 107, 108, 11, 11, 136, 76, 178, 1499,
2497 33, 84, 1455, 35, 33, 142, 1503, 54, 445, 54,
2498 42, 59, 60, 351, 38, 58, 475, 1189, 1190, 12,
2499 59, 136, 137, 37, 139, 0, 136, 74, 59, 74,
2500 54, 1203, 172, 492, 136, 1295, 345, 59, 80, 682,
2501 62, 683, 1302, 61, 74, 62, 161, 1500, 4, 5,
2502 165, 161, 84, 136, 1551, 165, 607, 172, 1558, 161,
2503 208, 1537, 199, 165, 147, 148, 59, 165, 216, 62,
2504 109, 90, 60, 92, 165, 521, 152, 108, 161, 161,
2505 109, 108, 165, 165, 232, 165, 108, 171, 165, 47,
2506 1, 108, 108, 47, 59, 109, 60, 54, 54, 1,
2507 56, 57, 1582, 165, 136, 165, 189, 190, 74, 25,
2508 75, 27, 302, 303, 205, 148, 149, 74, 137, 446,
2509 196, 109, 213, 214, 1456, 12, 453, 244, 318, 161,
2510 209, 321, 93, 165, 324, 93, 698, 327, 342, 93,
2511 325, 331, 58, 47, 1597, 109, 62, 58, 60, 339,
2512 1542, 62, 243, 47, 108, 1327, 58, 779, 191, 342,
2513 62, 4, 5, 785, 1336, 1337, 389, 1339, 433, 48,
2514 59, 59, 59, 93, 33, 62, 54, 64, 293, 95,
2515 352, 353, 33, 54, 95, 626, 665, 60, 440, 93,
2516 517, 62, 338, 95, 58, 58, 74, 109, 62, 93,
2517 1460, 292, 459, 460, 108, 74, 932, 693, 694, 854,
2518 325, 54, 93, 56, 57, 355, 258, 59, 896, 108,
2519 108, 381, 655, 338, 721, 27, 721, 70, 472, 31,
2520 74, 346, 404, 405, 351, 98, 109, 80, 47, 354,
2521 355, 8, 9, 471, 472, 355, 4, 14, 25, 1509,
2522 577, 479, 465, 355, 345, 338, 583, 595, 60, 54,
2523 473, 939, 64, 491, 907, 450, 108, 910, 93, 36,
2524 892, 717, 355, 4, 3, 4, 5, 35, 45, 74,
2525 47, 58, 510, 398, 93, 62, 401, 435, 147, 148,
2526 149, 543, 325, 620, 7, 60, 147, 148, 149, 1559,
2527 398, 54, 4, 981, 35, 936, 338, 109, 951, 952,
2528 47, 402, 427, 1485, 1486, 398, 400, 427, 95, 1228,
2529 25, 74, 27, 355, 37, 427, 93, 56, 57, 47,
2530 478, 107, 191, 35, 519, 354, 427, 522, 453, 25,
2531 191, 526, 893, 62, 427, 427, 64, 537, 538, 489,
2532 427, 80, 58, 58, 539, 74, 93, 62, 64, 59,
2533 60, 25, 47, 27, 47, 60, 398, 552, 59, 54,
2534 453, 556, 59, 60, 489, 93, 459, 460, 54, 489,
2535 471, 472, 31, 62, 75, 1007, 77, 489, 479, 74,
2536 95, 3, 4, 5, 58, 427, 1204, 1019, 62, 584,
2537 491, 516, 481, 62, 519, 590, 489, 522, 93, 489,
2538 93, 526, 527, 528, 529, 530, 746, 692, 748, 510,
2539 857, 453, 47, 753, 539, 4, 5, 460, 461, 108,
2540 1052, 95, 1054, 656, 549, 47, 933, 552, 933, 64,
2541 663, 587, 54, 1005, 56, 57, 1355, 489, 700, 3,
2542 4, 5, 6, 47, 933, 59, 60, 489, 630, 663,
2543 901, 1139, 4, 5, 59, 901, 58, 9, 93, 48,
2544 47, 74, 587, 62, 1117, 1118, 47, 56, 57, 74,
2545 75, 93, 77, 47, 54, 74, 519, 41, 54, 522,
2546 1168, 606, 59, 60, 48, 804, 62, 516, 613, 93,
2547 617, 80, 56, 57, 587, 538, 539, 47, 74, 109,
2548 898, 739, 54, 58, 56, 57, 93, 12, 93, 552,
2549 603, 604, 93, 606, 54, 852, 853, 54, 70, 93,
2550 613, 858, 27, 25, 88, 27, 31, 756, 80, 664,
2551 1091, 54, 633, 658, 62, 872, 47, 874, 632, 876,
2552 59, 60, 47, 93, 94, 587, 74, 672, 3, 4,
2553 5, 676, 742, 901, 59, 60, 58, 62, 108, 64,
2554 62, 47, 62, 698, 606, 4, 5, 57, 75, 59,
2555 613, 613, 108, 674, 74, 65, 108, 671, 1150, 673,
2556 674, 94, 93, 94, 921, 11, 776, 47, 93, 94,
2557 459, 460, 461, 95, 47, 109, 721, 108, 459, 460,
2558 461, 56, 57, 108, 64, 83, 84, 93, 94, 48,
2559 1182, 47, 762, 795, 764, 47, 717, 56, 57, 769,
2560 770, 771, 108, 717, 1071, 1072, 108, 964, 721, 658,
2561 1086, 4, 5, 93, 94, 59, 60, 762, 739, 764,
2562 93, 80, 762, 47, 764, 770, 771, 4, 5, 108,
2563 762, 771, 764, 98, 779, 780, 781, 93, 783, 771,
2564 785, 93, 1002, 1003, 1004, 47, 866, 862, 60, 762,
2565 47, 764, 762, 958, 764, 769, 765, 766, 771, 721,
2566 93, 771, 172, 56, 57, 774, 779, 3, 178, 93,
2567 94, 48, 785, 47, 894, 895, 60, 4, 5, 56,
2568 57, 896, 9, 804, 3, 4, 5, 6, 970, 111,
2569 762, 93, 764, 4, 5, 205, 93, 1164, 770, 771,
2570 762, 111, 764, 213, 214, 59, 1173, 1174, 853, 771,
2571 64, 1178, 75, 858, 77, 1087, 1088, 779, 1090, 93,
2572 1545, 75, 41, 785, 926, 94, 47, 54, 54, 56,
2573 57, 780, 781, 94, 783, 798, 62, 56, 57, 62,
2574 47, 886, 93, 70, 93, 56, 57, 892, 74, 59,
2575 60, 896, 1219, 80, 901, 47, 3, 4, 5, 74,
2576 7, 8, 9, 4, 5, 86, 87, 94, 62, 88,
2577 91, 92, 93, 94, 3, 4, 5, 944, 74, 892,
2578 59, 894, 895, 896, 31, 1000, 93, 94, 933, 36,
2579 935, 936, 54, 74, 939, 1152, 47, 1154, 74, 1156,
2580 62, 93, 1012, 1013, 11, 933, 109, 54, 108, 56,
2581 57, 58, 74, 54, 108, 56, 57, 59, 1294, 48,
2582 933, 792, 793, 794, 937, 938, 939, 56, 57, 70,
2583 892, 1041, 895, 896, 896, 108, 981, 4, 5, 80,
2584 1010, 108, 93, 94, 1046, 1047, 1048, 1314, 108, 994,
2585 1137, 1138, 74, 94, 54, 1000, 103, 104, 105, 4,
2586 5, 109, 1007, 108, 1031, 59, 60, 54, 981, 59,
2587 60, 933, 1042, 1093, 1019, 62, 939, 939, 109, 1166,
2588 1167, 48, 108, 111, 111, 1352, 27, 74, 47, 56,
2589 57, 401, 402, 1250, 1007, 54, 1010, 1042, 3, 4,
2590 5, 6, 1042, 48, 74, 74, 1019, 1052, 54, 1054,
2591 1042, 56, 57, 80, 1023, 74, 74, 108, 981, 981,
2592 1029, 1030, 54, 111, 1033, 1034, 111, 108, 1037, 1042,
2593 62, 47, 1042, 108, 93, 80, 41, 1082, 54, 1052,
2594 54, 1054, 74, 48, 108, 1007, 1166, 1167, 62, 58,
2595 1095, 56, 57, 1168, 464, 4, 5, 1019, 74, 1031,
2596 74, 471, 472, 54, 8, 475, 1493, 111, 1493, 479,
2597 1042, 93, 27, 47, 1141, 80, 31, 93, 64, 59,
2598 1042, 93, 492, 88, 1293, 1195, 1196, 54, 1198, 1199,
2599 1052, 1201, 1054, 36, 1139, 1150, 1292, 60, 1294, 48,
2600 1215, 1216, 1217, 1218, 59, 60, 27, 56, 57, 64,
2601 31, 109, 64, 3, 4, 5, 1161, 4, 5, 64,
2602 44, 1497, 64, 1168, 1137, 1138, 1139, 1161, 60, 1161,
2603 54, 80, 108, 57, 1204, 62, 108, 1239, 59, 60,
2604 108, 64, 108, 3, 4, 5, 1095, 108, 1161, 64,
2605 939, 1161, 64, 1166, 1167, 1168, 93, 111, 939, 1204,
2606 59, 48, 62, 1278, 1204, 1285, 56, 57, 58, 56,
2607 57, 75, 1204, 108, 108, 1138, 1139, 1139, 108, 108,
2608 8, 9, 108, 75, 75, 88, 14, 90, 48, 92,
2609 75, 1204, 981, 80, 1204, 1377, 56, 57, 108, 1161,
2610 981, 3, 4, 5, 1167, 1168, 1168, 108, 36, 62,
2611 62, 1393, 59, 108, 1324, 1325, 62, 45, 111, 108,
2612 1587, 94, 108, 633, 88, 74, 47, 111, 1200, 108,
2613 108, 111, 1204, 108, 137, 111, 139, 108, 1353, 108,
2614 1285, 109, 1204, 4, 5, 108, 60, 109, 1293, 59,
2615 1295, 64, 54, 1285, 56, 57, 58, 1302, 1497, 64,
2616 59, 1295, 672, 1295, 674, 675, 1311, 59, 1302, 108,
2617 1302, 1386, 1285, 1294, 108, 1285, 1471, 93, 1292, 109,
2618 1294, 93, 1295, 44, 93, 1295, 93, 1474, 1475, 1302,
2619 109, 108, 1302, 54, 8, 56, 57, 1479, 3, 4,
2620 5, 6, 80, 81, 82, 83, 84, 717, 108, 33,
2621 108, 108, 108, 1423, 1424, 1425, 111, 1499, 108, 108,
2622 1525, 109, 108, 1285, 111, 1334, 1335, 108, 108, 739,
2623 64, 108, 742, 1295, 108, 1450, 41, 108, 107, 108,
2624 1302, 1456, 1457, 48, 108, 54, 1528, 62, 1137, 1138,
2625 1139, 56, 57, 108, 1474, 1475, 1137, 1138, 1139, 737,
2626 770, 1476, 108, 3, 4, 5, 776, 7, 8, 9,
2627 111, 47, 1482, 1483, 96, 80, 1558, 1166, 1167, 1168,
2628 108, 398, 108, 88, 1566, 1166, 1167, 1168, 108, 62,
2629 62, 31, 60, 60, 1403, 9, 36, 60, 16, 60,
2630 778, 7, 8, 9, 108, 1450, 784, 108, 14, 108,
2631 1455, 1456, 1457, 316, 108, 1460, 56, 57, 3, 4,
2632 5, 1455, 1537, 1455, 1456, 31, 1460, 108, 1460, 108,
2633 36, 1476, 3, 4, 5, 6, 453, 1450, 1553, 45,
2634 1550, 1404, 1455, 1456, 1457, 1455, 1456, 1460, 1493, 93,
2635 1460, 354, 93, 60, 60, 1500, 64, 54, 93, 111,
2636 1575, 1474, 1475, 93, 1509, 17, 1500, 1582, 1500, 54,
2637 41, 56, 57, 60, 54, 1509, 1497, 1509, 107, 60,
2638 1493, 97, 108, 54, 1498, 56, 57, 1500, 1450, 108,
2639 1500, 108, 1537, 1455, 1456, 1457, 1509, 108, 1460, 1509,
2640 11, 60, 60, 60, 93, 59, 3, 4, 5, 887,
2641 7, 889, 1475, 1476, 1559, 14, 64, 88, 108, 4,
2642 5, 1530, 932, 22, 1537, 1559, 60, 1559, 11, 108,
2643 80, 1493, 108, 30, 60, 11, 60, 0, 1500, 0,
2644 37, 0, 445, 446, 166, 2, 1559, 1509, 35, 1559,
2645 453, 1391, 1597, 656, 104, 165, 325, 54, 161, 56,
2646 57, 933, 47, 1597, 770, 1597, 65, 1150, 427, 54,
2647 139, 56, 57, 1524, 94, 1537, 1376, 1597, 1229, 3,
2648 4, 5, 6, 133, 1597, 70, 705, 1597, 295, 606,
2649 919, 914, 142, 1005, 237, 80, 613, 1559, 1182, 770,
2650 1042, 1202, 1012, 1013, 639, 90, 912, 342, 93, 94,
2651 587, 124, 196, 516, 517, 1404, 1295, 41, 1162, 1545,
2652 1576, 1566, 1514, 1404, 1311, 124, 989, -1, 1578, 398,
2653 -1, 1041, 56, 57, -1, 1597, -1, -1, 3, 4,
2654 5, 6, -1, -1, 9, -1, 549, 146, 551, 199,
2655 -1, 554, 555, -1, 557, 558, 559, 560, 561, 562,
2656 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2657 573, 574, 575, 1051, 577, 1053, 41, -1, -1, -1,
2658 583, -1, -1, 233, 453, 1474, 1475, 1476, -1, 54,
2659 -1, 56, 57, 1474, 1475, 1476, -1, -1, 3, 4,
2660 5, -1, -1, -1, 721, 70, -1, -1, 258, -1,
2661 613, -1, 3, 4, 5, 80, -1, 620, 3, 4,
2662 5, 6, -1, 88, -1, 30, 9, -1, 93, 12,
2663 1108, -1, -1, -1, 233, 234, -1, -1, -1, 642,
2664 643, -1, 3, 4, 5, 6, -1, -1, 247, 54,
2665 519, 56, 57, 522, -1, 658, 41, 526, 527, 528,
2666 529, 530, 779, 48, 47, 56, 57, -1, 785, -1,
2667 539, 56, 57, -1, -1, -1, 59, -1, 61, 62,
2668 41, 64, -1, 552, -1, 1195, 1196, -1, 1198, 1199,
2669 -1, 1201, 75, 54, 77, 56, 57, -1, -1, 60,
2670 350, 62, 705, 88, -1, -1, -1, -1, 1186, 70,
2671 93, 94, -1, 1191, 3, 4, 5, -1, 317, 80,
2672 3, 4, 5, -1, -1, 108, -1, 88, -1, -1,
2673 -1, -1, 93, -1, 3, 4, 5, 606, 7, 8,
2674 9, -1, -1, -1, 613, 1, -1, 3, 4, 5,
2675 6, -1, 8, 3, 4, 5, 6, 407, 761, 9,
2676 359, -1, -1, -1, -1, 1243, -1, 56, 57, 368,
2677 -1, 54, -1, 56, 57, 892, -1, 780, 781, 896,
2678 783, -1, 381, 1293, 1294, 41, -1, 56, 57, -1,
2679 -1, 41, 48, -1, -1, 798, -1, 47, 54, -1,
2680 56, 57, -1, -1, 54, -1, 56, 57, 3, 4,
2681 5, 6, -1, -1, 1324, 1325, 933, 820, -1, -1,
2682 70, -1, 939, -1, -1, -1, 3, 4, 5, -1,
2683 80, -1, 88, -1, -1, -1, 486, -1, 88, -1,
2684 90, -1, -1, 93, 94, -1, 41, -1, -1, 852,
2685 853, -1, 721, 48, 857, 858, -1, -1, -1, -1,
2686 -1, 56, 57, 513, 981, 1343, 1344, -1, 4, 872,
2687 -1, 874, -1, 876, 3, 4, 5, 6, 14, 56,
2688 57, -1, 1360, -1, -1, 80, -1, 486, 24, -1,
2689 1007, -1, -1, 88, 30, 31, -1, 33, -1, 35,
2690 -1, -1, 1019, -1, -1, -1, 42, -1, 911, -1,
2691 779, -1, 41, 1423, 1424, 1425, 785, -1, 921, 55,
2692 -1, 57, 3, 4, 5, 54, -1, 56, 57, 65,
2693 -1, 60, -1, 936, -1, 1052, 72, 1054, 1416, 1417,
2694 -1, 70, -1, -1, -1, -1, 949, 83, 84, -1,
2695 600, 80, 551, -1, -1, -1, -1, 1435, 1436, 88,
2696 -1, 964, -1, -1, 93, -1, 616, 3, 4, 5,
2697 106, -1, 1482, 1483, -1, 56, 57, -1, 981, -1,
2698 -1, -1, -1, -1, 853, -1, -1, -1, 3, 4,
2699 5, 6, -1, -1, -1, -1, 595, -1, 134, -1,
2700 136, -1, -1, -1, 140, -1, -1, 143, 144, -1,
2701 -1, 147, 148, 149, -1, -1, -1, 886, -1, 1022,
2702 56, 57, 1139, 892, -1, 161, 41, 896, -1, 165,
2703 -1, -1, -1, 48, -1, 171, 172, -1, -1, -1,
2704 1550, 56, 57, 3, 4, 5, 6, -1, -1, 9,
2705 -1, 1168, -1, 189, 190, 191, 78, 79, 80, 81,
2706 82, 83, 84, -1, 933, 664, 935, -1, 1071, 1072,
2707 939, -1, 1075, 88, -1, -1, 675, -1, -1, -1,
2708 -1, 41, 218, -1, -1, -1, -1, 47, 3, 4,
2709 5, 6, 1095, -1, 54, -1, 56, 57, 234, -1,
2710 -1, -1, 189, 190, 191, -1, 705, -1, 244, -1,
2711 70, -1, 981, -1, -1, -1, -1, -1, -1, 255,
2712 80, -1, -1, -1, -1, 994, 41, -1, 88, -1,
2713 90, 1000, -1, 93, 94, -1, -1, -1, 1007, 54,
2714 -1, 56, 57, -1, 3, 4, 5, 6, -1, 1152,
2715 1019, 1154, -1, 1156, -1, 70, -1, 293, 294, -1,
2716 -1, 1164, -1, -1, -1, 80, -1, -1, -1, -1,
2717 1173, 1174, -1, 88, -1, 1178, -1, -1, 93, -1,
2718 -1, -1, 41, 1052, -1, 1054, -1, -1, 47, -1,
2719 1193, 1194, -1, -1, -1, 54, -1, 56, 57, -1,
2720 -1, -1, 338, -1, -1, -1, 342, -1, 344, 345,
2721 346, 70, -1, 1082, -1, -1, 1219, -1, -1, 355,
2722 -1, 80, -1, 3, 4, 5, 6, -1, -1, 88,
2723 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2724 -1, -1, -1, -1, 7, 8, 9, 1250, -1, -1,
2725 900, 14, 902, 389, -1, -1, -1, -1, 38, 39,
2726 -1, 41, 398, -1, 400, 401, -1, -1, 31, -1,
2727 1139, 1274, -1, 36, 54, 411, 56, 57, 414, -1,
2728 -1, -1, 45, 419, -1, -1, -1, -1, 7, 8,
2729 9, 427, -1, -1, 944, 14, -1, 60, -1, 1168,
2730 -1, -1, -1, -1, -1, -1, -1, -1, 446, -1,
2731 -1, 1314, 31, -1, -1, 453, -1, 36, -1, 455,
2732 919, 457, -1, 459, 460, 461, 45, 1330, -1, 465,
2733 -1, -1, -1, 932, 470, -1, -1, 473, -1, -1,
2734 -1, -1, -1, -1, 3, 4, 5, 6, -1, 1352,
2735 9, -1, -1, 489, -1, -1, -1, 4, 5, -1,
2736 -1, -1, 9, -1, -1, -1, -1, -1, 455, -1,
2737 457, -1, 459, 460, 461, -1, 1493, -1, -1, 517,
2738 -1, 1031, 41, 470, -1, -1, -1, -1, 47, -1,
2739 -1, 527, 528, 529, 530, 54, -1, 56, 57, -1,
2740 47, 1404, -1, 3, 4, 5, 6, 54, -1, 56,
2741 57, 70, -1, -1, -1, -1, -1, -1, 1421, 1422,
2742 -1, 80, -1, 70, -1, -1, -1, 1430, -1, 88,
2743 -1, 90, -1, 80, 93, 94, -1, -1, -1, 577,
2744 -1, 41, 1311, 90, -1, 583, 93, 94, 48, -1,
2745 -1, 587, -1, 589, -1, 1458, 56, 57, -1, -1,
2746 -1, -1, -1, -1, 1114, 601, -1, 603, 604, -1,
2747 606, -1, -1, 1072, -1, 613, -1, 613, -1, -1,
2748 80, 617, 620, -1, -1, -1, -1, -1, 88, -1,
2749 -1, 1141, -1, -1, -1, -1, 632, 73, 74, 75,
2750 76, 77, 78, 79, 80, 81, 82, 83, 84, 3,
2751 4, 5, 6, 3, 4, 5, 6, 7, 8, 9,
2752 656, -1, -1, -1, 14, -1, -1, 663, -1, -1,
2753 -1, -1, -1, -1, -1, 671, 672, 673, 674, 675,
2754 676, 31, -1, -1, -1, -1, 36, 41, -1, -1,
2755 1200, 41, -1, -1, -1, 45, -1, 47, -1, 1158,
2756 54, -1, 56, 57, 54, 1164, 56, 57, 62, -1,
2757 -1, -1, 7, 8, 9, -1, 70, -1, -1, 14,
2758 70, 717, -1, -1, 1587, 721, 80, -1, -1, -1,
2759 80, -1, 728, 729, 88, 731, 31, -1, 88, 93,
2760 90, 36, -1, 93, 94, -1, -1, 1476, -1, -1,
2761 45, -1, 82, -1, -1, -1, -1, 3, 4, 5,
2762 6, -1, -1, 759, 1493, -1, 762, -1, 764, -1,
2763 -1, -1, -1, 769, 770, 771, 3, 4, 5, 6,
2764 -1, 728, 729, 779, 731, -1, -1, -1, -1, 785,
2765 -1, -1, -1, -1, -1, 41, 792, 793, 794, -1,
2766 798, -1, 48, -1, -1, -1, -1, -1, 804, -1,
2767 56, 57, -1, -1, 41, -1, -1, -1, -1, -1,
2768 1279, 1280, 769, -1, -1, 155, -1, 54, -1, 56,
2769 57, -1, -1, 60, 80, 3, 4, 5, 6, 7,
2770 8, 9, 88, 70, -1, -1, 14, -1, -1, -1,
2771 -1, -1, -1, 80, 852, 853, -1, 187, -1, -1,
2772 858, 88, -1, 31, 4, 5, 93, -1, 36, 9,
2773 200, -1, -1, 41, 872, -1, 874, 45, 876, 47,
2774 -1, 877, -1, 879, -1, -1, 54, -1, 56, 57,
2775 886, -1, -1, -1, 890, -1, 892, -1, 894, 895,
2776 896, -1, 70, -1, -1, 901, -1, 47, -1, 1368,
2777 -1, -1, 80, -1, 54, -1, 56, 57, -1, -1,
2778 88, -1, 90, 921, -1, 93, 94, -1, -1, -1,
2779 70, 1390, 1391, -1, -1, -1, 4, 933, -1, 935,
2780 80, 937, 938, 939, -1, -1, 14, -1, -1, -1,
2781 90, -1, -1, 93, 94, 23, 24, -1, -1, -1,
2782 -1, -1, 30, 31, -1, 33, 964, 35, -1, -1,
2783 -1, -1, -1, 1, 42, 3, 4, 5, 6, 7,
2784 8, 9, -1, 981, -1, 981, 14, 55, -1, 57,
2785 937, 938, 939, -1, -1, -1, -1, 65, 994, -1,
2786 28, -1, 30, 31, 72, -1, -1, -1, 36, 1468,
2787 -1, 1007, -1, 41, 1010, -1, 84, 45, -1, -1,
2788 48, -1, -1, 1019, -1, -1, 54, -1, 56, 57,
2789 -1, -1, 60, -1, 981, -1, 1032, -1, -1, -1,
2790 -1, -1, 70, -1, -1, -1, 1042, -1, -1, -1,
2791 -1, -1, 80, -1, -1, -1, 1052, -1, 1054, -1,
2792 88, -1, -1, 1010, -1, 93, -1, -1, 136, -1,
2793 -1, -1, 140, -1, -1, -1, 144, -1, -1, 147,
2794 148, 149, -1, -1, -1, -1, 1082, -1, -1, -1,
2795 -1, 1087, 1088, 161, 1090, -1, -1, 165, -1, -1,
2796 -1, -1, -1, 171, 172, -1, -1, -1, 3, 4,
2797 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2798 -1, 189, 190, 191, 76, 77, 78, 79, 80, 81,
2799 82, 83, 84, 463, -1, -1, -1, -1, 468, 1135,
2800 1136, 1137, 1138, 1139, -1, -1, 41, 1143, -1, -1,
2801 218, -1, 47, -1, 1152, -1, 1154, -1, 1156, 54,
2802 -1, 56, 57, 493, -1, -1, -1, -1, -1, 499,
2803 1166, 1167, 1168, -1, -1, 70, -1, 3, 4, 5,
2804 6, 511, 512, 9, 514, 80, -1, 255, 1135, 1136,
2805 1137, 1138, 1139, 88, -1, 90, 1143, -1, 93, 94,
2806 -1, 1197, -1, -1, -1, -1, 1202, -1, 1204, -1,
2807 -1, -1, 344, 345, 346, 41, -1, -1, -1, 1166,
2808 1167, 1168, -1, -1, -1, 293, 294, -1, 54, -1,
2809 56, 57, -1, -1, -1, -1, -1, 3, 4, 5,
2810 6, -1, -1, 9, 70, -1, -1, -1, -1, -1,
2811 1197, -1, 1250, -1, 80, -1, -1, 1253, 1254, -1,
2812 1256, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2813 338, -1, -1, -1, 342, 41, 344, 345, 346, 609,
2814 610, -1, -1, 351, 614, -1, -1, 355, 54, -1,
2815 56, 57, -1, -1, -1, -1, 1292, 1293, 1294, -1,
2816 -1, -1, -1, -1, 70, -1, 1253, 1254, -1, 1256,
2817 -1, -1, -1, -1, 80, 1311, -1, -1, -1, -1,
2818 -1, 389, 88, -1, 4, 5, -1, 93, 8, 9,
2819 398, -1, 400, 401, 14, -1, -1, -1, -1, -1,
2820 -1, -1, -1, 411, -1, -1, 414, -1, 28, -1,
2821 30, 419, -1, -1, -1, -1, 36, -1, -1, 427,
2822 -1, -1, -1, -1, -1, 45, -1, 47, -1, -1,
2823 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2824 -1, -1, -1, -1, -1, -1, -1, 455, -1, 457,
2825 70, 459, 460, 461, -1, -1, -1, 465, -1, -1,
2826 80, -1, 470, -1, -1, 473, 1404, -1, 1404, -1,
2827 90, -1, -1, 93, 94, -1, 3, 4, 5, 6,
2828 488, 489, 9, 4, 5, -1, 7, 8, 9, -1,
2829 -1, 12, -1, 14, 4, 5, -1, -1, -1, 9,
2830 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2831 31, -1, -1, -1, 41, 36, 786, 1404, 788, 527,
2832 528, 529, 530, -1, 45, -1, 47, 54, -1, 56,
2833 57, 603, 604, 54, 606, 56, 57, 47, 1474, 1475,
2834 1476, 613, -1, 70, 54, -1, 56, 57, -1, 70,
2835 -1, -1, -1, 80, -1, -1, -1, 1493, -1, 80,
2836 70, 88, 1498, -1, -1, -1, 93, -1, -1, 90,
2837 80, -1, 93, 94, -1, -1, -1, -1, -1, 587,
2838 90, 589, -1, 93, 94, -1, -1, 1474, 1475, 1476,
2839 860, 861, -1, 863, -1, 603, 604, -1, 606, 671,
2840 -1, 673, 674, -1, 676, 613, -1, -1, 3, 4,
2841 5, 6, -1, -1, 9, -1, -1, -1, 626, -1,
2842 -1, 891, -1, -1, 632, 67, 68, 69, 70, 71,
2843 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2844 82, 83, 84, -1, -1, 717, 41, 1, 656, 3,
2845 4, 5, 6, 7, 8, 9, 664, -1, -1, 54,
2846 14, 56, 57, 671, 672, 673, 674, 675, 676, -1,
2847 -1, 941, -1, -1, 28, 70, 30, 31, 32, -1,
2848 -1, -1, 36, 37, -1, 80, -1, 41, -1, -1,
2849 698, 45, 46, 88, 48, -1, -1, -1, 93, -1,
2850 54, -1, 56, 57, -1, -1, 60, -1, 62, 717,
2851 -1, -1, -1, 721, -1, -1, 70, -1, -1, -1,
2852 728, 729, -1, 731, -1, -1, 80, -1, -1, -1,
2853 -1, -1, 804, -1, 88, -1, 1006, -1, -1, 93,
2854 -1, -1, 4, 5, -1, -1, 8, 9, 1018, -1,
2855 -1, 759, 14, -1, 762, 109, 764, -1, -1, -1,
2856 -1, 769, 770, 771, -1, -1, 28, -1, 30, -1,
2857 -1, 779, -1, -1, 36, -1, -1, 785, -1, -1,
2858 344, 345, 346, 45, 792, 793, 794, -1, -1, -1,
2859 -1, -1, 54, -1, 56, 57, 804, -1, -1, -1,
2860 -1, -1, -1, 4, -1, 877, -1, 879, -1, -1,
2861 -1, -1, -1, -1, -1, -1, -1, -1, 890, -1,
2862 -1, -1, 894, 895, 896, -1, -1, -1, -1, 30,
2863 31, 93, 33, 1103, 35, -1, -1, -1, -1, -1,
2864 -1, 42, -1, -1, -1, -1, -1, -1, 4, 5,
2865 -1, -1, 8, 9, 55, -1, 57, -1, 14, -1,
2866 -1, -1, -1, -1, -1, 937, 938, 939, -1, 877,
2867 -1, 879, 1142, -1, -1, -1, -1, -1, 886, 80,
2868 36, -1, 890, -1, 892, -1, 894, 895, 896, 45,
2869 -1, 47, -1, 901, -1, -1, -1, -1, 54, -1,
2870 56, 57, -1, -1, -1, -1, -1, -1, -1, 981,
2871 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, 80, 933, -1, 935, -1, 937,
2873 938, 939, 133, 134, 90, 136, 1206, 93, 94, 140,
2874 1210, 142, -1, 144, -1, -1, 147, 148, 149, -1,
2875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2876 161, -1, 4, 5, 165, -1, 8, 9, -1, -1,
2877 171, 172, 14, 981, -1, 1245, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, 994, -1, 189, 190,
2879 191, -1, -1, -1, 36, -1, -1, 1005, 199, 1007,
2880 -1, -1, 1010, 45, -1, 47, -1, -1, -1, -1,
2881 -1, 1019, 54, -1, 56, 57, -1, 218, -1, -1,
2882 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2883 -1, -1, -1, -1, 1042, -1, -1, -1, 80, 603,
2884 604, -1, -1, -1, 1052, -1, 1054, -1, 90, 1319,
2885 -1, 93, 94, 1323, 255, -1, -1, -1, -1, -1,
2886 -1, -1, -1, 1135, 1136, 1137, 1138, 1139, -1, -1,
2887 -1, 1143, -1, -1, 1082, 1345, 1346, -1, -1, 1087,
2888 1088, -1, 1090, -1, -1, 3, 4, 5, 6, -1,
2889 -1, 9, -1, -1, 1166, 1167, 1168, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, -1, 671, -1, 673,
2891 674, -1, 676, 3, 4, 5, 6, -1, -1, 9,
2892 -1, -1, -1, 41, 325, -1, -1, 1135, 1136, 1137,
2893 1138, 1139, -1, -1, -1, 1143, 54, -1, 56, 57,
2894 -1, 342, 1150, -1, -1, -1, -1, -1, -1, 350,
2895 -1, 41, 70, 717, 355, -1, -1, -1, 1166, 1167,
2896 1168, -1, 80, -1, 54, -1, 56, 57, -1, -1,
2897 88, -1, -1, -1, 1182, 93, -1, -1, -1, -1,
2898 70, 1253, 1254, -1, 1256, -1, -1, -1, 389, 1197,
2899 80, -1, -1, -1, 1202, -1, 1204, -1, 88, 400,
2900 -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
2901 411, -1, -1, 414, 3, 4, 5, 6, 419, -1,
2902 9, -1, -1, -1, -1, -1, 427, 72, 73, 74,
2903 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2904 804, -1, -1, -1, -1, 1253, 1254, -1, 1256, -1,
2905 -1, -1, 41, -1, 455, -1, 457, -1, 459, 460,
2906 461, -1, -1, -1, 465, 54, -1, 56, 57, 470,
2907 4, 5, 473, 1281, 8, 9, -1, -1, -1, -1,
2908 14, 70, -1, -1, 1292, 1293, 1294, -1, 489, -1,
2909 -1, 80, -1, -1, 28, -1, 30, -1, -1, 88,
2910 -1, -1, 36, 1311, 93, -1, -1, -1, -1, -1,
2911 -1, 45, -1, 877, -1, 879, -1, -1, 519, -1,
2912 54, 522, 56, 57, 58, -1, 890, -1, -1, -1,
2913 894, 895, -1, -1, -1, -1, 537, 538, 539, -1,
2914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2915 -1, 552, 3, 4, 5, 6, 7, 8, 9, 93,
2916 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, 937, 938, -1, -1, 28, -1, 30,
2918 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2919 41, -1, -1, -1, 45, -1, 1404, 4, -1, 600,
2920 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2921 -1, -1, 613, -1, -1, -1, -1, -1, -1, 70,
2922 -1, -1, -1, 30, 31, -1, 33, -1, 35, 80,
2923 -1, 632, -1, -1, -1, 42, -1, 88, -1, -1,
2924 -1, -1, 93, -1, -1, -1, -1, -1, 55, -1,
2925 57, -1, -1, -1, -1, 656, -1, -1, 3, 4,
2926 5, 6, 663, -1, -1, -1, 1474, 1475, 1476, -1,
2927 671, 672, 673, 674, -1, -1, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, 1493, -1, -1, -1, -1,
2929 1498, -1, -1, -1, -1, -1, 41, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
2931 -1, 56, 57, -1, -1, -1, 717, 62, -1, -1,
2932 721, -1, -1, -1, -1, 70, -1, 728, 729, 136,
2933 731, -1, -1, 140, -1, 80, -1, 144, -1, -1,
2934 147, 148, 149, 88, -1, -1, -1, -1, 93, -1,
2935 -1, -1, -1, -1, 161, -1, -1, -1, 165, -1,
2936 -1, 762, -1, 764, 171, 172, -1, -1, 769, 770,
2937 771, 1135, 1136, 1137, 1138, -1, -1, -1, -1, 1143,
2938 -1, -1, 189, 190, 191, -1, -1, 1, -1, -1,
2939 4, 5, -1, -1, 8, 9, -1, 798, -1, -1,
2940 14, -1, 1166, 1167, -1, -1, -1, -1, -1, -1,
2941 -1, 218, -1, -1, 28, -1, 30, 33, -1, -1,
2942 -1, -1, 36, -1, 38, 39, -1, -1, -1, -1,
2943 -1, 45, -1, 47, -1, -1, -1, -1, -1, 55,
2944 54, -1, 56, 57, -1, 59, -1, -1, 255, 63,
2945 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2946 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2947 -1, -1, 86, 87, 88, -1, -1, 91, -1, -1,
2948 94, -1, -1, -1, -1, -1, -1, -1, -1, 1253,
2949 1254, -1, 1256, 894, 895, 896, 110, -1, -1, 900,
2950 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2951 78, 79, 80, 81, 82, 83, 84, -1, 3, 4,
2952 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2953 -1, 147, 148, 149, -1, -1, 937, 938, 939, -1,
2954 -1, -1, -1, 944, 351, -1, 31, -1, 355, -1,
2955 -1, 36, -1, -1, -1, 171, 41, -1, -1, -1,
2956 45, -1, 47, -1, -1, -1, -1, -1, -1, 54,
2957 -1, 56, 57, 189, 190, 191, -1, -1, -1, -1,
2958 981, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2959 -1, -1, -1, 400, -1, 80, -1, -1, -1, -1,
2960 -1, -1, 218, 88, 411, -1, -1, 414, 93, 1010,
2961 -1, -1, 419, -1, -1, -1, -1, -1, -1, -1,
2962 427, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2963 1031, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2964 -1, 1042, -1, 14, -1, -1, -1, -1, 455, -1,
2965 457, -1, 459, 460, 461, -1, -1, 28, 465, 30,
2966 31, 32, -1, 470, -1, 36, 473, -1, -1, -1,
2967 41, 4, 5, -1, 45, 8, 9, 48, 294, -1,
2968 -1, 14, 489, 54, -1, 56, 57, -1, -1, -1,
2969 -1, -1, -1, -1, -1, 28, -1, 30, -1, 70,
2970 -1, -1, -1, 36, -1, -1, -1, -1, -1, 80,
2971 -1, -1, 45, 1114, -1, -1, -1, 88, -1, -1,
2972 -1, 54, 93, 56, 57, -1, -1, 98, 344, 345,
2973 346, -1, -1, -1, 1135, 1136, 1137, 1138, 1139, -1,
2974 1141, -1, 1143, -1, 3, 4, 5, 6, 7, 8,
2975 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
2976 -1, 3, 4, 5, 6, 1166, 1167, 1168, -1, 28,
2977 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2978 -1, -1, 41, -1, 400, -1, 45, -1, 47, -1,
2979 -1, -1, -1, -1, 601, 54, 1197, 56, 57, 41,
2980 -1, 1202, -1, 1204, -1, -1, -1, -1, -1, -1,
2981 -1, 70, 54, -1, 56, 57, -1, -1, -1, -1,
2982 62, 80, -1, -1, -1, 632, -1, -1, 70, 88,
2983 -1, 90, -1, -1, 93, 94, -1, -1, 80, 455,
2984 -1, 457, -1, 459, 460, 461, 88, -1, -1, 465,
2985 -1, 93, 1253, 1254, 470, 1256, -1, 473, -1, -1,
2986 -1, -1, -1, -1, 671, 672, 673, 674, -1, -1,
2987 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2988 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2989 -1, 1292, 1293, 1294, -1, -1, -1, -1, -1, -1,
2990 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
2991 717, -1, -1, 41, 721, -1, -1, 45, 46, -1,
2992 48, 728, 729, -1, 731, -1, 54, -1, 56, 57,
2993 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
2994 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
2995 -1, -1, 80, -1, -1, 762, -1, 764, -1, -1,
2996 88, -1, 769, 770, 771, 93, 3, 4, 5, 6,
2997 7, 8, 9, 589, -1, 12, -1, 14, -1, -1,
2998 -1, 109, -1, -1, -1, -1, -1, 603, 604, -1,
2999 606, 28, -1, 30, 31, -1, -1, 613, -1, 36,
3000 -1, 55, -1, 1404, 41, -1, -1, -1, 45, -1,
3001 3, 4, 5, 6, -1, -1, 632, 54, -1, 56,
3002 57, -1, -1, -1, -1, -1, 80, -1, -1, 83,
3003 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3004 -1, -1, -1, 80, -1, -1, -1, -1, 41, -1,
3005 104, 88, 106, -1, -1, 671, 93, 673, 674, -1,
3006 676, 54, -1, 56, 57, -1, -1, 3, 4, 5,
3007 6, -1, -1, 1474, 1475, 1476, -1, 70, -1, -1,
3008 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3009 -1, -1, -1, -1, 901, 88, -1, 1498, -1, -1,
3010 93, 717, -1, -1, -1, 41, -1, -1, -1, -1,
3011 -1, -1, 728, 729, -1, 731, -1, 171, 54, -1,
3012 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3013 937, 938, 939, -1, 70, 189, 190, 191, -1, -1,
3014 -1, -1, -1, -1, 80, 199, -1, -1, -1, -1,
3015 -1, -1, 88, 769, -1, 4, 5, 93, 7, 8,
3016 9, -1, -1, -1, 218, 14, -1, -1, -1, -1,
3017 -1, -1, -1, -1, 981, -1, 792, 793, 794, 28,
3018 -1, 30, 31, -1, -1, -1, -1, 36, 804, -1,
3019 244, -1, -1, -1, -1, -1, 45, -1, -1, 48,
3020 -1, -1, -1, 1010, 258, 54, -1, 56, 57, -1,
3021 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3022 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3023 -1, -1, -1, -1, -1, 1042, -1, -1, -1, -1,
3024 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3025 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3026 45, 877, 47, 879, 49, 50, 51, 52, 53, 54,
3027 -1, 56, 57, 58, 890, -1, 61, -1, 894, 895,
3028 896, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3029 -1, -1, -1, 78, 79, 80, 350, 351, -1, -1,
3030 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3031 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
3032 -1, 937, 938, 939, -1, 110, -1, -1, 1135, 1136,
3033 1137, 1138, 1139, -1, -1, -1, 1143, -1, -1, -1,
3034 -1, -1, -1, -1, -1, -1, 400, -1, -1, -1,
3035 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1166,
3036 1167, 1168, -1, -1, -1, 981, 62, 63, 64, 65,
3037 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3038 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3039 1197, -1, -1, -1, 1010, 1202, -1, 1204, -1, -1,
3040 -1, 455, -1, 457, 4, 459, 460, 461, -1, -1,
3041 -1, 465, -1, -1, -1, -1, 470, -1, -1, 473,
3042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3043 30, 31, -1, -1, -1, 35, -1, -1, -1, -1,
3044 -1, -1, 42, -1, -1, -1, 1253, 1254, -1, 1256,
3045 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
3046 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3047 9, 1087, 1088, -1, 1090, 14, -1, -1, -1, -1,
3048 -1, -1, -1, -1, -1, 1292, 1293, 1294, -1, 28,
3049 -1, 30, 31, 32, -1, -1, -1, 36, -1, -1,
3050 -1, -1, 41, -1, -1, -1, 45, -1, -1, 48,
3051 -1, -1, -1, -1, -1, 54, -1, 56, 57, 1135,
3052 1136, 1137, 1138, 1139, -1, -1, -1, 1143, -1, -1,
3053 -1, 70, -1, -1, -1, -1, 136, -1, -1, -1,
3054 140, 80, -1, -1, 144, -1, -1, -1, -1, 88,
3055 1166, 1167, 1168, -1, 93, -1, -1, -1, -1, 98,
3056 -1, 161, 616, 617, -1, 165, -1, -1, -1, -1,
3057 -1, -1, 172, -1, -1, -1, -1, -1, 632, -1,
3058 -1, 1197, -1, -1, -1, -1, -1, -1, -1, 189,
3059 190, -1, -1, -1, -1, -1, -1, 1404, -1, -1,
3060 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3061 -1, -1, -1, -1, 14, -1, -1, 671, -1, 673,
3062 674, -1, -1, -1, -1, -1, -1, 27, 28, -1,
3063 30, 31, 32, 14, -1, -1, 36, 1253, 1254, -1,
3064 1256, 41, 23, 24, 44, 45, 46, -1, 48, 30,
3065 31, -1, 33, -1, 54, 255, 56, 57, -1, -1,
3066 60, -1, -1, 717, -1, -1, -1, 1474, 1475, 1476,
3067 70, -1, -1, -1, 728, 729, 1292, 731, 1294, -1,
3068 80, -1, -1, -1, 65, 31, -1, -1, 88, -1,
3069 -1, 1498, -1, 93, -1, -1, -1, -1, 98, -1,
3070 -1, -1, 756, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, -1, 769, -1, 63, 64, 65,
3072 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3073 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3074 -1, -1, -1, 124, -1, 126, 4, 5, -1, 7,
3075 8, 9, 133, 134, 12, 355, 14, -1, -1, 140,
3076 -1, 142, 143, 144, -1, -1, 147, 148, 149, -1,
3077 28, -1, 30, 31, -1, -1, 4, 5, 36, 7,
3078 8, 9, -1, -1, 12, -1, 14, 45, 1404, -1,
3079 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3080 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3081 -1, 411, -1, -1, 414, -1, -1, 45, -1, 419,
3082 -1, -1, -1, -1, -1, -1, 54, 427, 56, 57,
3083 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3084 79, 80, 81, 82, 83, 84, 900, 901, 902, -1,
3085 -1, -1, 233, 234, -1, 455, -1, 457, 1474, 1475,
3086 1476, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3087 470, 8, 9, -1, 255, -1, -1, 14, -1, -1,
3088 -1, -1, 1498, 937, 938, 939, -1, -1, -1, 489,
3089 944, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3090 -1, -1, 1, -1, 3, 4, 5, 6, 45, 8,
3091 9, 10, 11, 294, 13, 14, -1, 54, -1, 56,
3092 57, -1, -1, -1, -1, -1, -1, 981, -1, 28,
3093 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3094 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3095 49, 50, 51, 52, 53, 54, 1010, 56, 57, 58,
3096 -1, 342, 61, 344, 345, -1, -1, -1, 67, -1,
3097 -1, 70, -1, -1, -1, -1, -1, 1031, -1, 78,
3098 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3099 -1, -1, -1, -1, 93, 94, 4, 5, -1, 7,
3100 8, 9, -1, -1, -1, -1, 14, -1, 389, -1,
3101 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3102 28, -1, 30, 31, -1, -1, 407, -1, 36, -1,
3103 411, -1, -1, 414, -1, -1, -1, 45, 419, -1,
3104 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3106 1114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3107 -1, -1, 672, -1, -1, -1, -1, -1, -1, -1,
3108 -1, 1135, 1136, 1137, 1138, 1139, -1, 1141, -1, 1143,
3109 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3110 80, 81, 82, 83, 84, 486, -1, 488, -1, -1,
3111 -1, -1, 1166, 1167, 1168, -1, -1, -1, -1, -1,
3112 -1, 721, -1, -1, -1, -1, -1, -1, 728, 729,
3113 -1, 731, 513, -1, -1, -1, -1, -1, -1, -1,
3114 -1, -1, -1, 1197, 71, 72, 73, 74, 75, 76,
3115 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3116 -1, -1, 762, -1, 764, -1, -1, -1, -1, 769,
3117 770, 771, -1, 63, 64, 65, 66, 67, 68, 69,
3118 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3119 80, 81, 82, 83, 84, -1, -1, -1, -1, 1253,
3120 1254, -1, 1256, -1, -1, -1, -1, -1, 589, -1,
3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, 600,
3122 601, 111, 603, 604, -1, -1, -1, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, -1, -1, 1292, -1,
3124 1294, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3125 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3126 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3127 14, -1, -1, -1, -1, 656, -1, -1, -1, -1,
3128 -1, -1, 663, 664, 28, -1, 30, 31, 32, -1,
3129 -1, -1, 36, 37, 675, -1, -1, 41, -1, -1,
3130 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
3131 54, -1, 56, 57, -1, -1, 60, 698, 62, -1,
3132 -1, -1, -1, -1, -1, -1, 70, 1, -1, 3,
3133 4, 5, 6, 7, 8, 9, 80, 937, 938, -1,
3134 14, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3135 1404, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3136 -1, -1, 36, -1, -1, 109, -1, 41, -1, -1,
3137 -1, 45, 46, -1, 48, 756, -1, -1, 759, -1,
3138 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3139 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3141 1010, 792, 793, 794, 88, -1, -1, -1, -1, 93,
3142 1474, 1475, 1476, 804, -1, 1, -1, 3, 4, 5,
3143 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3144 -1, -1, 1042, -1, 1498, -1, -1, -1, -1, -1,
3145 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3146 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3147 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3148 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3149 -1, 67, -1, -1, 70, -1, 877, -1, 879, -1,
3150 -1, -1, 78, 79, 80, -1, -1, -1, -1, 890,
3151 86, 87, 88, -1, 90, -1, -1, 93, 94, 1,
3152 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3153 -1, -1, 14, -1, 110, 1135, 1136, -1, -1, -1,
3154 -1, -1, -1, 1143, -1, -1, 28, -1, 30, 31,
3155 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
3156 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3157 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3158 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3159 -1, -1, -1, -1, -1, -1, -1, 1197, 80, -1,
3160 -1, -1, 1202, -1, 1204, -1, 88, -1, -1, -1,
3161 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, 1005, -1, -1, 109, 63, 64,
3163 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3164 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3165 -1, 1032, -1, 1253, 1254, 1, 1256, 3, 4, 5,
3166 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
3167 -1, -1, 107, -1, -1, -1, -1, -1, -1, 25,
3168 -1, 27, -1, -1, -1, 31, -1, -1, -1, -1,
3169 36, -1, -1, 1293, -1, 41, -1, -1, -1, 45,
3170 -1, 47, -1, -1, -1, -1, 1087, 1088, 54, 1090,
3171 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
3172 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3173 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3174 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
3175 -1, 97, -1, -1, -1, -1, 102, -1, -1, -1,
3176 -1, 107, 108, 109, -1, 111, 59, -1, -1, 1150,
3177 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3178 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3179 83, 84, -1, -1, -1, -1, -1, -1, -1, -1,
3180 -1, 1182, -1, -1, -1, -1, -1, -1, -1, -1,
3181 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200,
3182 1, 1202, 3, 4, 5, 6, 7, 8, 9, 10,
3183 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3184 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3185 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3186 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3187 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3188 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3189 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3190 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3191 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3193 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3194 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3195 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3196 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3197 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3198 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3199 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3200 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3201 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3202 -1, -1, 93, 1, 95, 3, 4, 5, 6, 7,
3203 8, 9, 10, 11, 12, 13, 14, -1, -1, 110,
3204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3205 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3206 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3207 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3208 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3209 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3210 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3211 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3212 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3213 108, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3214 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3215 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3216 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3217 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
3218 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3219 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3220 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3221 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3222 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3223 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3224 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3225 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3226 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3227 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3228 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3229 86, 87, 88, -1, -1, -1, -1, 93, 94, 1,
3230 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3231 -1, 13, 14, -1, 110, -1, -1, -1, -1, -1,
3232 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3233 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3234 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3235 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3236 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3237 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3238 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3239 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3240 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3241 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3242 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3243 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3244 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3245 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3246 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3247 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3248 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3249 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3250 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3251 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3252 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3253 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3254 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3255 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3256 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3257 -1, -1, -1, 93, -1, 1, -1, 3, 4, 5,
3258 6, 101, 8, 9, 10, 11, -1, 13, 14, -1,
3259 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3261 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3262 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3263 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3264 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3265 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3266 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3267 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3268 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3269 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3270 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3271 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3272 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3273 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3274 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3275 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3276 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3277 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3278 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3279 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3280 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3281 54, -1, 56, 57, -1, -1, -1, 61, 62, -1,
3282 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3283 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3284 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3285 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3286 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3287 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3288 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3289 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3290 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3291 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3292 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3293 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3294 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3295 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3296 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3297 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3298 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3299 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3300 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3301 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3302 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3303 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3304 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3305 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3306 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3307 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3308 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3309 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3310 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3311 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3312 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3313 10, 11, -1, 13, 14, -1, -1, 108, -1, 110,
3314 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3315 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3316 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3317 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3318 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3319 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3320 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3321 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3322 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3323 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3324 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3325 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3326 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3327 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3328 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3329 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3330 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3331 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3332 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3333 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3334 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3335 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3336 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3337 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3338 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3339 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3340 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3341 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3342 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3343 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3344 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3345 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3346 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3347 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3348 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3349 -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
3350 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3351 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3352 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3353 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3354 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3355 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3356 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3357 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3358 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3359 93, -1, 95, -1, -1, -1, -1, -1, -1, -1,
3360 -1, -1, -1, -1, -1, -1, 109, 110, 3, 4,
3361 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3362 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3363 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3364 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3365 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3366 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3367 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3368 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3369 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3370 95, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3371 11, -1, 13, 14, 15, 110, 17, 18, 19, 20,
3372 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3373 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3374 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3375 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3376 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3377 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3378 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3379 -1, -1, 93, -1, 95, -1, 3, 4, 5, 6,
3380 7, 8, 9, 10, 11, -1, 13, 14, 15, 110,
3381 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3382 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3383 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
3384 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3385 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3386 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3387 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3388 87, 88, -1, -1, -1, -1, 93, -1, 95, 3,
3389 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3390 14, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3391 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3392 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3393 -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
3394 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3395 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3396 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3397 -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
3398 94, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3399 12, 13, 14, -1, -1, -1, 110, -1, -1, -1,
3400 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3401 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3402 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3403 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3404 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3405 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3406 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3407 -1, 93, 94, 3, 4, 5, 6, -1, 8, 9,
3408 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3410 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3411 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3412 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3413 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3414 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3415 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3416 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3417 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3418 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3419 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3420 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3421 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3423 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3424 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3425 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
3426 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3427 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3428 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3429 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3430 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3431 56, 57, -1, -1, 60, 61, -1, -1, -1, -1,
3432 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3433 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3434 86, 87, 88, -1, -1, -1, -1, 93, 3, 4,
3435 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3436 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3437 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3438 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3439 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3440 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3441 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3442 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3443 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3444 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3446 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3447 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3448 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3449 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3450 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3451 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3452 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3453 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3454 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3455 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3456 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3457 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3458 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3459 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3460 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3461 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3462 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3463 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3464 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3465 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3466 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3467 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3468 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3469 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3470 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3471 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3472 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3473 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3474 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3475 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3476 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3477 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3478 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3480 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3481 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3482 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3483 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3485 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3486 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3487 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3488 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3490 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3491 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3492 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3493 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3494 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3495 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3496 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3497 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3498 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3499 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3500 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3501 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3502 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3503 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3504 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3505 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3506 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3507 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3508 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3509 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3510 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3511 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3512 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3513 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3514 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3515 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3516 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3517 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3518 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3519 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3520 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3521 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3522 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3523 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3524 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3525 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3526 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3527 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3528 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3529 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3530 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3531 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3532 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3533 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3534 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3535 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3536 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3537 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3538 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3539 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3540 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3541 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3542 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3543 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3544 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3545 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3546 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3547 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3548 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3549 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3550 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3551 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3552 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3553 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3554 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3555 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3556 -1, -1, 93, -1, -1, 28, -1, 30, 31, -1,
3557 -1, -1, -1, 36, -1, -1, -1, -1, 41, 110,
3558 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
3559 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3560 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
3561 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3562 28, -1, 30, 31, -1, 88, -1, 90, 36, -1,
3563 93, 94, -1, 41, -1, -1, -1, 45, -1, -1,
3564 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3565 -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3566 -1, -1, 70, 3, 4, 5, 6, 7, 8, 9,
3567 -1, -1, 80, -1, 14, -1, -1, -1, -1, -1,
3568 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
3569 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3570 -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
3571 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3572 60, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3573 70, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3574 80, -1, -1, -1, -1, -1, -1, 28, 88, 30,
3575 31, -1, -1, 93, -1, 36, -1, -1, -1, -1,
3576 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3577 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
3578 6, 7, 8, 9, -1, -1, -1, -1, 14, 70,
3579 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3580 -1, -1, 28, -1, 30, 31, -1, 88, -1, -1,
3581 36, -1, 93, -1, -1, 41, -1, -1, -1, 45,
3582 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3583 56, 57, 63, 64, 65, 66, 67, 68, 69, 70,
3584 71, 72, 73, 74, 70, 76, 77, 78, 79, 80,
3585 81, 82, 83, 84, 80, -1, -1, -1, -1, -1,
3586 -1, -1, 88, -1, -1, -1, -1, 93, 62, 63,
3587 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3588 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3589 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3590 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3591 82, 83, 84
3592 };
3593 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3594 #line 3 "/usr/lib/bison.simple"
3595
3596 /* Skeleton output parser for bison,
3597 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3598
3599 This program is free software; you can redistribute it and/or modify
3600 it under the terms of the GNU General Public License as published by
3601 the Free Software Foundation; either version 2, or (at your option)
3602 any later version.
3603
3604 This program is distributed in the hope that it will be useful,
3605 but WITHOUT ANY WARRANTY; without even the implied warranty of
3606 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3607 GNU General Public License for more details.
3608
3609 You should have received a copy of the GNU General Public License
3610 along with this program; if not, write to the Free Software
3611 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3612
3613 /* As a special exception, when this file is copied by Bison into a
3614 Bison output file, you may use that output file without restriction.
3615 This special exception was added by the Free Software Foundation
3616 in version 1.24 of Bison. */
3617
3618 #ifndef alloca
3619 #ifdef __GNUC__
3620 #define alloca __builtin_alloca
3621 #else /* not GNU C. */
3622 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3623 #include <alloca.h>
3624 #else /* not sparc */
3625 #if defined (MSDOS) && !defined (__TURBOC__)
3626 #include <malloc.h>
3627 #else /* not MSDOS, or __TURBOC__ */
3628 #if defined(_AIX)
3629 #include <malloc.h>
3630 #pragma alloca
3631 #else /* not MSDOS, __TURBOC__, or _AIX */
3632 #ifdef __hpux
3633 #ifdef __cplusplus
3634 extern "C" {
3635 void *alloca (unsigned int);
3636 };
3637 #else /* not __cplusplus */
3638 void *alloca ();
3639 #endif /* not __cplusplus */
3640 #endif /* __hpux */
3641 #endif /* not _AIX */
3642 #endif /* not MSDOS, or __TURBOC__ */
3643 #endif /* not sparc. */
3644 #endif /* not GNU C. */
3645 #endif /* alloca not defined. */
3646
3647 /* This is the parser code that is written into each bison parser
3648 when the %semantic_parser declaration is not specified in the grammar.
3649 It was written by Richard Stallman by simplifying the hairy parser
3650 used when %semantic_parser is specified. */
3651
3652 /* Note: there must be only one dollar sign in this file.
3653 It is replaced by the list of actions, each action
3654 as one case of the switch. */
3655
3656 #define yyerrok (yyerrstatus = 0)
3657 #define yyclearin (yychar = YYEMPTY)
3658 #define YYEMPTY -2
3659 #define YYEOF 0
3660 #define YYACCEPT return(0)
3661 #define YYABORT return(1)
3662 #define YYERROR goto yyerrlab1
3663 /* Like YYERROR except do call yyerror.
3664 This remains here temporarily to ease the
3665 transition to the new meaning of YYERROR, for GCC.
3666 Once GCC version 2 has supplanted version 1, this can go. */
3667 #define YYFAIL goto yyerrlab
3668 #define YYRECOVERING() (!!yyerrstatus)
3669 #define YYBACKUP(token, value) \
3670 do \
3671 if (yychar == YYEMPTY && yylen == 1) \
3672 { yychar = (token), yylval = (value); \
3673 yychar1 = YYTRANSLATE (yychar); \
3674 YYPOPSTACK; \
3675 goto yybackup; \
3676 } \
3677 else \
3678 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3679 while (0)
3680
3681 #define YYTERROR 1
3682 #define YYERRCODE 256
3683
3684 #ifndef YYPURE
3685 #define YYLEX yylex()
3686 #endif
3687
3688 #ifdef YYPURE
3689 #ifdef YYLSP_NEEDED
3690 #ifdef YYLEX_PARAM
3691 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3692 #else
3693 #define YYLEX yylex(&yylval, &yylloc)
3694 #endif
3695 #else /* not YYLSP_NEEDED */
3696 #ifdef YYLEX_PARAM
3697 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3698 #else
3699 #define YYLEX yylex(&yylval)
3700 #endif
3701 #endif /* not YYLSP_NEEDED */
3702 #endif
3703
3704 /* If nonreentrant, generate the variables here */
3705
3706 #ifndef YYPURE
3707
3708 int yychar; /* the lookahead symbol */
3709 YYSTYPE yylval; /* the semantic value of the */
3710 /* lookahead symbol */
3711
3712 #ifdef YYLSP_NEEDED
3713 YYLTYPE yylloc; /* location data for the lookahead */
3714 /* symbol */
3715 #endif
3716
3717 int yynerrs; /* number of parse errors so far */
3718 #endif /* not YYPURE */
3719
3720 #if YYDEBUG != 0
3721 int yydebug; /* nonzero means print parse trace */
3722 /* Since this is uninitialized, it does not stop multiple parsers
3723 from coexisting. */
3724 #endif
3725
3726 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3727
3728 #ifndef YYINITDEPTH
3729 #define YYINITDEPTH 200
3730 #endif
3731
3732 /* YYMAXDEPTH is the maximum size the stacks can grow to
3733 (effective only if the built-in stack extension method is used). */
3734
3735 #if YYMAXDEPTH == 0
3736 #undef YYMAXDEPTH
3737 #endif
3738
3739 #ifndef YYMAXDEPTH
3740 #define YYMAXDEPTH 10000
3741 #endif
3742
3743 /* Prevent warning if -Wstrict-prototypes. */
3744 #ifdef __GNUC__
3745 int yyparse (void);
3746 #endif
3747 \f
3748 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3749 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3750 #else /* not GNU C or C++ */
3751 #ifndef __cplusplus
3752
3753 /* This is the most reliable way to avoid incompatibilities
3754 in available built-in functions on various systems. */
3755 static void
3756 __yy_memcpy (to, from, count)
3757 char *to;
3758 char *from;
3759 int count;
3760 {
3761 register char *f = from;
3762 register char *t = to;
3763 register int i = count;
3764
3765 while (i-- > 0)
3766 *t++ = *f++;
3767 }
3768
3769 #else /* __cplusplus */
3770
3771 /* This is the most reliable way to avoid incompatibilities
3772 in available built-in functions on various systems. */
3773 static void
3774 __yy_memcpy (char *to, char *from, int count)
3775 {
3776 register char *f = from;
3777 register char *t = to;
3778 register int i = count;
3779
3780 while (i-- > 0)
3781 *t++ = *f++;
3782 }
3783
3784 #endif
3785 #endif
3786 \f
3787 #line 196 "/usr/lib/bison.simple"
3788
3789 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3790 into yyparse. The argument should have type void *.
3791 It should actually point to an object.
3792 Grammar actions can access the variable by casting it
3793 to the proper pointer type. */
3794
3795 #ifdef YYPARSE_PARAM
3796 #ifdef __cplusplus
3797 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3798 #define YYPARSE_PARAM_DECL
3799 #else /* not __cplusplus */
3800 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3801 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3802 #endif /* not __cplusplus */
3803 #else /* not YYPARSE_PARAM */
3804 #define YYPARSE_PARAM_ARG
3805 #define YYPARSE_PARAM_DECL
3806 #endif /* not YYPARSE_PARAM */
3807
3808 int
3809 yyparse(YYPARSE_PARAM_ARG)
3810 YYPARSE_PARAM_DECL
3811 {
3812 register int yystate;
3813 register int yyn;
3814 register short *yyssp;
3815 register YYSTYPE *yyvsp;
3816 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3817 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3818
3819 short yyssa[YYINITDEPTH]; /* the state stack */
3820 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3821
3822 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3823 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3824
3825 #ifdef YYLSP_NEEDED
3826 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3827 YYLTYPE *yyls = yylsa;
3828 YYLTYPE *yylsp;
3829
3830 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3831 #else
3832 #define YYPOPSTACK (yyvsp--, yyssp--)
3833 #endif
3834
3835 int yystacksize = YYINITDEPTH;
3836
3837 #ifdef YYPURE
3838 int yychar;
3839 YYSTYPE yylval;
3840 int yynerrs;
3841 #ifdef YYLSP_NEEDED
3842 YYLTYPE yylloc;
3843 #endif
3844 #endif
3845
3846 YYSTYPE yyval; /* the variable used to return */
3847 /* semantic values from the action */
3848 /* routines */
3849
3850 int yylen;
3851
3852 #if YYDEBUG != 0
3853 if (yydebug)
3854 fprintf(stderr, "Starting parse\n");
3855 #endif
3856
3857 yystate = 0;
3858 yyerrstatus = 0;
3859 yynerrs = 0;
3860 yychar = YYEMPTY; /* Cause a token to be read. */
3861
3862 /* Initialize stack pointers.
3863 Waste one element of value and location stack
3864 so that they stay on the same level as the state stack.
3865 The wasted elements are never initialized. */
3866
3867 yyssp = yyss - 1;
3868 yyvsp = yyvs;
3869 #ifdef YYLSP_NEEDED
3870 yylsp = yyls;
3871 #endif
3872
3873 /* Push a new state, which is found in yystate . */
3874 /* In all cases, when you get here, the value and location stacks
3875 have just been pushed. so pushing a state here evens the stacks. */
3876 yynewstate:
3877
3878 *++yyssp = yystate;
3879
3880 if (yyssp >= yyss + yystacksize - 1)
3881 {
3882 /* Give user a chance to reallocate the stack */
3883 /* Use copies of these so that the &'s don't force the real ones into memory. */
3884 YYSTYPE *yyvs1 = yyvs;
3885 short *yyss1 = yyss;
3886 #ifdef YYLSP_NEEDED
3887 YYLTYPE *yyls1 = yyls;
3888 #endif
3889
3890 /* Get the current used size of the three stacks, in elements. */
3891 int size = yyssp - yyss + 1;
3892
3893 #ifdef yyoverflow
3894 /* Each stack pointer address is followed by the size of
3895 the data in use in that stack, in bytes. */
3896 #ifdef YYLSP_NEEDED
3897 /* This used to be a conditional around just the two extra args,
3898 but that might be undefined if yyoverflow is a macro. */
3899 yyoverflow("parser stack overflow",
3900 &yyss1, size * sizeof (*yyssp),
3901 &yyvs1, size * sizeof (*yyvsp),
3902 &yyls1, size * sizeof (*yylsp),
3903 &yystacksize);
3904 #else
3905 yyoverflow("parser stack overflow",
3906 &yyss1, size * sizeof (*yyssp),
3907 &yyvs1, size * sizeof (*yyvsp),
3908 &yystacksize);
3909 #endif
3910
3911 yyss = yyss1; yyvs = yyvs1;
3912 #ifdef YYLSP_NEEDED
3913 yyls = yyls1;
3914 #endif
3915 #else /* no yyoverflow */
3916 /* Extend the stack our own way. */
3917 if (yystacksize >= YYMAXDEPTH)
3918 {
3919 yyerror("parser stack overflow");
3920 return 2;
3921 }
3922 yystacksize *= 2;
3923 if (yystacksize > YYMAXDEPTH)
3924 yystacksize = YYMAXDEPTH;
3925 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3926 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3927 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3928 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3929 #ifdef YYLSP_NEEDED
3930 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3931 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3932 #endif
3933 #endif /* no yyoverflow */
3934
3935 yyssp = yyss + size - 1;
3936 yyvsp = yyvs + size - 1;
3937 #ifdef YYLSP_NEEDED
3938 yylsp = yyls + size - 1;
3939 #endif
3940
3941 #if YYDEBUG != 0
3942 if (yydebug)
3943 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3944 #endif
3945
3946 if (yyssp >= yyss + yystacksize - 1)
3947 YYABORT;
3948 }
3949
3950 #if YYDEBUG != 0
3951 if (yydebug)
3952 fprintf(stderr, "Entering state %d\n", yystate);
3953 #endif
3954
3955 goto yybackup;
3956 yybackup:
3957
3958 /* Do appropriate processing given the current state. */
3959 /* Read a lookahead token if we need one and don't already have one. */
3960 /* yyresume: */
3961
3962 /* First try to decide what to do without reference to lookahead token. */
3963
3964 yyn = yypact[yystate];
3965 if (yyn == YYFLAG)
3966 goto yydefault;
3967
3968 /* Not known => get a lookahead token if don't already have one. */
3969
3970 /* yychar is either YYEMPTY or YYEOF
3971 or a valid token in external form. */
3972
3973 if (yychar == YYEMPTY)
3974 {
3975 #if YYDEBUG != 0
3976 if (yydebug)
3977 fprintf(stderr, "Reading a token: ");
3978 #endif
3979 yychar = YYLEX;
3980 }
3981
3982 /* Convert token to internal form (in yychar1) for indexing tables with */
3983
3984 if (yychar <= 0) /* This means end of input. */
3985 {
3986 yychar1 = 0;
3987 yychar = YYEOF; /* Don't call YYLEX any more */
3988
3989 #if YYDEBUG != 0
3990 if (yydebug)
3991 fprintf(stderr, "Now at end of input.\n");
3992 #endif
3993 }
3994 else
3995 {
3996 yychar1 = YYTRANSLATE(yychar);
3997
3998 #if YYDEBUG != 0
3999 if (yydebug)
4000 {
4001 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4002 /* Give the individual parser a way to print the precise meaning
4003 of a token, for further debugging info. */
4004 #ifdef YYPRINT
4005 YYPRINT (stderr, yychar, yylval);
4006 #endif
4007 fprintf (stderr, ")\n");
4008 }
4009 #endif
4010 }
4011
4012 yyn += yychar1;
4013 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4014 goto yydefault;
4015
4016 yyn = yytable[yyn];
4017
4018 /* yyn is what to do for this token type in this state.
4019 Negative => reduce, -yyn is rule number.
4020 Positive => shift, yyn is new state.
4021 New state is final state => don't bother to shift,
4022 just return success.
4023 0, or most negative number => error. */
4024
4025 if (yyn < 0)
4026 {
4027 if (yyn == YYFLAG)
4028 goto yyerrlab;
4029 yyn = -yyn;
4030 goto yyreduce;
4031 }
4032 else if (yyn == 0)
4033 goto yyerrlab;
4034
4035 if (yyn == YYFINAL)
4036 YYACCEPT;
4037
4038 /* Shift the lookahead token. */
4039
4040 #if YYDEBUG != 0
4041 if (yydebug)
4042 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4043 #endif
4044
4045 /* Discard the token being shifted unless it is eof. */
4046 if (yychar != YYEOF)
4047 yychar = YYEMPTY;
4048
4049 *++yyvsp = yylval;
4050 #ifdef YYLSP_NEEDED
4051 *++yylsp = yylloc;
4052 #endif
4053
4054 /* count tokens shifted since error; after three, turn off error status. */
4055 if (yyerrstatus) yyerrstatus--;
4056
4057 yystate = yyn;
4058 goto yynewstate;
4059
4060 /* Do the default action for the current state. */
4061 yydefault:
4062
4063 yyn = yydefact[yystate];
4064 if (yyn == 0)
4065 goto yyerrlab;
4066
4067 /* Do a reduction. yyn is the number of a rule to reduce with. */
4068 yyreduce:
4069 yylen = yyr2[yyn];
4070 if (yylen > 0)
4071 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4072
4073 #if YYDEBUG != 0
4074 if (yydebug)
4075 {
4076 int i;
4077
4078 fprintf (stderr, "Reducing via rule %d (line %d), ",
4079 yyn, yyrline[yyn]);
4080
4081 /* Print the symbols being reduced, and their result. */
4082 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4083 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4084 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4085 }
4086 #endif
4087
4088
4089 switch (yyn) {
4090
4091 case 2:
4092 #line 334 "parse.y"
4093 { finish_translation_unit (); ;
4094 break;}
4095 case 3:
4096 #line 342 "parse.y"
4097 { yyval.ttype = NULL_TREE; ;
4098 break;}
4099 case 4:
4100 #line 344 "parse.y"
4101 { yyval.ttype = NULL_TREE; ;
4102 break;}
4103 case 5:
4104 #line 346 "parse.y"
4105 { yyval.ttype = NULL_TREE; ;
4106 break;}
4107 case 8:
4108 #line 355 "parse.y"
4109 { have_extern_spec = 1;
4110 used_extern_spec = 0;
4111 yyval.ttype = NULL_TREE; ;
4112 break;}
4113 case 9:
4114 #line 360 "parse.y"
4115 { have_extern_spec = 0; ;
4116 break;}
4117 case 10:
4118 #line 365 "parse.y"
4119 { yyval.itype = pedantic;
4120 pedantic = 0; ;
4121 break;}
4122 case 12:
4123 #line 374 "parse.y"
4124 { if (pending_lang_change) do_pending_lang_change(); ;
4125 break;}
4126 case 13:
4127 #line 376 "parse.y"
4128 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4129 pop_everything (); ;
4130 break;}
4131 case 14:
4132 #line 382 "parse.y"
4133 { if (pending_inlines) do_pending_inlines (); ;
4134 break;}
4135 case 15:
4136 #line 384 "parse.y"
4137 { if (pending_inlines) do_pending_inlines (); ;
4138 break;}
4139 case 16:
4140 #line 386 "parse.y"
4141 { if (pending_inlines) do_pending_inlines (); ;
4142 break;}
4143 case 17:
4144 #line 388 "parse.y"
4145 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4146 assemble_asm (yyvsp[-2].ttype); ;
4147 break;}
4148 case 18:
4149 #line 391 "parse.y"
4150 { pop_lang_context (); ;
4151 break;}
4152 case 19:
4153 #line 393 "parse.y"
4154 { if (pending_inlines) do_pending_inlines ();
4155 pop_lang_context (); ;
4156 break;}
4157 case 20:
4158 #line 396 "parse.y"
4159 { if (pending_inlines) do_pending_inlines ();
4160 pop_lang_context (); ;
4161 break;}
4162 case 21:
4163 #line 399 "parse.y"
4164 { push_namespace (yyvsp[-1].ttype); ;
4165 break;}
4166 case 22:
4167 #line 401 "parse.y"
4168 { pop_namespace (); ;
4169 break;}
4170 case 23:
4171 #line 403 "parse.y"
4172 { push_namespace (NULL_TREE); ;
4173 break;}
4174 case 24:
4175 #line 405 "parse.y"
4176 { pop_namespace (); ;
4177 break;}
4178 case 26:
4179 #line 408 "parse.y"
4180 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4181 break;}
4182 case 28:
4183 #line 411 "parse.y"
4184 { pedantic = yyvsp[-1].itype; ;
4185 break;}
4186 case 29:
4187 #line 416 "parse.y"
4188 { begin_only_namespace_names (); ;
4189 break;}
4190 case 30:
4191 #line 418 "parse.y"
4192 {
4193 end_only_namespace_names ();
4194 if (lastiddecl)
4195 yyvsp[-1].ttype = lastiddecl;
4196 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4197 ;
4198 break;}
4199 case 31:
4200 #line 428 "parse.y"
4201 { yyval.ttype = yyvsp[0].ttype; ;
4202 break;}
4203 case 32:
4204 #line 430 "parse.y"
4205 { yyval.ttype = yyvsp[0].ttype; ;
4206 break;}
4207 case 33:
4208 #line 432 "parse.y"
4209 { yyval.ttype = yyvsp[0].ttype; ;
4210 break;}
4211 case 34:
4212 #line 437 "parse.y"
4213 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4214 break;}
4215 case 35:
4216 #line 439 "parse.y"
4217 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4218 break;}
4219 case 36:
4220 #line 441 "parse.y"
4221 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4222 break;}
4223 case 37:
4224 #line 446 "parse.y"
4225 { begin_only_namespace_names (); ;
4226 break;}
4227 case 38:
4228 #line 448 "parse.y"
4229 {
4230 end_only_namespace_names ();
4231 /* If no declaration was found, the using-directive is
4232 invalid. Since that was not reported, we need the
4233 identifier for the error message. */
4234 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4235 yyvsp[-1].ttype = lastiddecl;
4236 do_using_directive (yyvsp[-1].ttype);
4237 ;
4238 break;}
4239 case 39:
4240 #line 461 "parse.y"
4241 {
4242 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4243 yyval.ttype = lastiddecl;
4244 got_scope = yyval.ttype;
4245 ;
4246 break;}
4247 case 40:
4248 #line 467 "parse.y"
4249 {
4250 yyval.ttype = yyvsp[-1].ttype;
4251 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4252 yyval.ttype = lastiddecl;
4253 got_scope = yyval.ttype;
4254 ;
4255 break;}
4256 case 43:
4257 #line 478 "parse.y"
4258 { yyval.ttype = yyvsp[0].ttype; ;
4259 break;}
4260 case 44:
4261 #line 480 "parse.y"
4262 { yyval.ttype = yyvsp[0].ttype; ;
4263 break;}
4264 case 45:
4265 #line 485 "parse.y"
4266 { push_lang_context (yyvsp[0].ttype); ;
4267 break;}
4268 case 46:
4269 #line 487 "parse.y"
4270 { if (current_lang_name != yyvsp[0].ttype)
4271 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4272 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4273 break;}
4274 case 47:
4275 #line 494 "parse.y"
4276 { begin_template_parm_list (); ;
4277 break;}
4278 case 48:
4279 #line 496 "parse.y"
4280 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4281 break;}
4282 case 49:
4283 #line 498 "parse.y"
4284 { begin_specialization();
4285 yyval.ttype = NULL_TREE; ;
4286 break;}
4287 case 50:
4288 #line 504 "parse.y"
4289 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4290 break;}
4291 case 51:
4292 #line 506 "parse.y"
4293 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4294 break;}
4295 case 52:
4296 #line 511 "parse.y"
4297 { yyval.ttype = yyvsp[0].ttype; ;
4298 break;}
4299 case 53:
4300 #line 513 "parse.y"
4301 { yyval.ttype = NULL_TREE; ;
4302 break;}
4303 case 54:
4304 #line 517 "parse.y"
4305 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4306 break;}
4307 case 55:
4308 #line 519 "parse.y"
4309 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4310 break;}
4311 case 56:
4312 #line 524 "parse.y"
4313 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4314 break;}
4315 case 57:
4316 #line 536 "parse.y"
4317 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4318 break;}
4319 case 58:
4320 #line 538 "parse.y"
4321 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4322 break;}
4323 case 59:
4324 #line 540 "parse.y"
4325 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4326 break;}
4327 case 60:
4328 #line 542 "parse.y"
4329 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4330 break;}
4331 case 61:
4332 #line 544 "parse.y"
4333 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4334 break;}
4335 case 62:
4336 #line 546 "parse.y"
4337 {
4338 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4339 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4340 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4341 {
4342 error ("invalid default template argument");
4343 yyvsp[0].ttype = error_mark_node;
4344 }
4345 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4346 ;
4347 break;}
4348 case 63:
4349 #line 560 "parse.y"
4350 { finish_template_decl (yyvsp[-1].ttype); ;
4351 break;}
4352 case 64:
4353 #line 562 "parse.y"
4354 { finish_template_decl (yyvsp[-1].ttype); ;
4355 break;}
4356 case 65:
4357 #line 567 "parse.y"
4358 { if (pending_inlines) do_pending_inlines (); ;
4359 break;}
4360 case 66:
4361 #line 569 "parse.y"
4362 { if (pending_inlines) do_pending_inlines (); ;
4363 break;}
4364 case 67:
4365 #line 571 "parse.y"
4366 { if (pending_inlines) do_pending_inlines (); ;
4367 break;}
4368 case 68:
4369 #line 573 "parse.y"
4370 { if (pending_inlines) do_pending_inlines ();
4371 pop_lang_context (); ;
4372 break;}
4373 case 69:
4374 #line 576 "parse.y"
4375 { if (pending_inlines) do_pending_inlines ();
4376 pop_lang_context (); ;
4377 break;}
4378 case 70:
4379 #line 579 "parse.y"
4380 { pedantic = yyvsp[-1].itype; ;
4381 break;}
4382 case 72:
4383 #line 585 "parse.y"
4384 {;
4385 break;}
4386 case 73:
4387 #line 587 "parse.y"
4388 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4389 break;}
4390 case 74:
4391 #line 589 "parse.y"
4392 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4393 note_got_semicolon (yyvsp[-1].ftype.t); ;
4394 break;}
4395 case 76:
4396 #line 596 "parse.y"
4397 {;
4398 break;}
4399 case 77:
4400 #line 598 "parse.y"
4401 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4402 break;}
4403 case 78:
4404 #line 600 "parse.y"
4405 { pedwarn ("empty declaration"); ;
4406 break;}
4407 case 80:
4408 #line 603 "parse.y"
4409 {
4410 tree t, attrs;
4411 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4412 shadow_tag (t);
4413 note_list_got_semicolon (yyvsp[-1].ftype.t);
4414 ;
4415 break;}
4416 case 84:
4417 #line 616 "parse.y"
4418 { yyval.itype = 0; ;
4419 break;}
4420 case 85:
4421 #line 618 "parse.y"
4422 { yyval.itype = 1; ;
4423 break;}
4424 case 91:
4425 #line 634 "parse.y"
4426 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4427 break;}
4428 case 92:
4429 #line 636 "parse.y"
4430 { ;
4431 break;}
4432 case 93:
4433 #line 638 "parse.y"
4434 { ;
4435 break;}
4436 case 94:
4437 #line 643 "parse.y"
4438 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4439 break;}
4440 case 95:
4441 #line 645 "parse.y"
4442 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4443 break;}
4444 case 96:
4445 #line 647 "parse.y"
4446 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4447 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4448 ;
4449 break;}
4450 case 97:
4451 #line 651 "parse.y"
4452 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4453 break;}
4454 case 98:
4455 #line 653 "parse.y"
4456 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4457 break;}
4458 case 99:
4459 #line 655 "parse.y"
4460 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4461 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4462 ;
4463 break;}
4464 case 100:
4465 #line 659 "parse.y"
4466 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4467 break;}
4468 case 101:
4469 #line 661 "parse.y"
4470 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4471 break;}
4472 case 102:
4473 #line 663 "parse.y"
4474 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4475 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4476 ;
4477 break;}
4478 case 103:
4479 #line 667 "parse.y"
4480 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4481 break;}
4482 case 104:
4483 #line 669 "parse.y"
4484 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4485 break;}
4486 case 105:
4487 #line 671 "parse.y"
4488 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4489 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4490 ;
4491 break;}
4492 case 106:
4493 #line 678 "parse.y"
4494 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4495 YYERROR1; ;
4496 break;}
4497 case 107:
4498 #line 681 "parse.y"
4499 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4500 YYERROR1; ;
4501 break;}
4502 case 108:
4503 #line 684 "parse.y"
4504 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4505 YYERROR1; ;
4506 break;}
4507 case 109:
4508 #line 687 "parse.y"
4509 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4510 YYERROR1; ;
4511 break;}
4512 case 110:
4513 #line 690 "parse.y"
4514 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4515 YYERROR1; ;
4516 break;}
4517 case 111:
4518 #line 696 "parse.y"
4519 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4520 break;}
4521 case 112:
4522 #line 698 "parse.y"
4523 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4524 break;}
4525 case 113:
4526 #line 700 "parse.y"
4527 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4528 break;}
4529 case 114:
4530 #line 702 "parse.y"
4531 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4532 break;}
4533 case 115:
4534 #line 709 "parse.y"
4535 { tree specs = strip_attrs (yyvsp[-1].ttype);
4536 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4537 rest_of_mdef:
4538 if (! yyval.ttype)
4539 YYERROR1;
4540 if (yychar == YYEMPTY)
4541 yychar = YYLEX;
4542 reinit_parse_for_method (yychar, yyval.ttype); ;
4543 break;}
4544 case 116:
4545 #line 718 "parse.y"
4546 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4547 break;}
4548 case 117:
4549 #line 720 "parse.y"
4550 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4551 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4552 break;}
4553 case 118:
4554 #line 723 "parse.y"
4555 { tree specs = strip_attrs (yyvsp[-1].ttype);
4556 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4557 break;}
4558 case 119:
4559 #line 726 "parse.y"
4560 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4561 break;}
4562 case 120:
4563 #line 728 "parse.y"
4564 { tree specs = strip_attrs (yyvsp[-1].ttype);
4565 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4566 break;}
4567 case 121:
4568 #line 731 "parse.y"
4569 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4570 break;}
4571 case 122:
4572 #line 736 "parse.y"
4573 {
4574 if (! current_function_parms_stored)
4575 store_parm_decls ();
4576 yyval.ttype = yyvsp[0].ttype;
4577 ;
4578 break;}
4579 case 123:
4580 #line 745 "parse.y"
4581 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4582 break;}
4583 case 124:
4584 #line 747 "parse.y"
4585 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4586 break;}
4587 case 125:
4588 #line 749 "parse.y"
4589 { store_return_init (yyval.ttype, NULL_TREE); ;
4590 break;}
4591 case 126:
4592 #line 754 "parse.y"
4593 {
4594 if (yyvsp[0].itype == 0)
4595 error ("no base initializers given following ':'");
4596 setup_vtbl_ptr ();
4597 /* Always keep the BLOCK node associated with the outermost
4598 pair of curley braces of a function. These are needed
4599 for correct operation of dwarfout.c. */
4600 keep_next_level ();
4601 ;
4602 break;}
4603 case 127:
4604 #line 767 "parse.y"
4605 {
4606 if (! current_function_parms_stored)
4607 store_parm_decls ();
4608
4609 if (DECL_CONSTRUCTOR_P (current_function_decl))
4610 {
4611 /* Make a contour for the initializer list. */
4612 pushlevel (0);
4613 clear_last_expr ();
4614 expand_start_bindings (0);
4615 }
4616 else if (current_class_type == NULL_TREE)
4617 error ("base initializers not allowed for non-member functions");
4618 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4619 error ("only constructors take base initializers");
4620 ;
4621 break;}
4622 case 128:
4623 #line 787 "parse.y"
4624 { yyval.itype = 0; ;
4625 break;}
4626 case 129:
4627 #line 789 "parse.y"
4628 { yyval.itype = 1; ;
4629 break;}
4630 case 132:
4631 #line 796 "parse.y"
4632 {
4633 if (current_class_name)
4634 pedwarn ("anachronistic old style base class initializer");
4635 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4636 ;
4637 break;}
4638 case 133:
4639 #line 802 "parse.y"
4640 {
4641 if (current_class_name)
4642 pedwarn ("anachronistic old style base class initializer");
4643 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4644 ;
4645 break;}
4646 case 134:
4647 #line 808 "parse.y"
4648 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4649 break;}
4650 case 135:
4651 #line 810 "parse.y"
4652 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4653 break;}
4654 case 136:
4655 #line 812 "parse.y"
4656 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4657 break;}
4658 case 137:
4659 #line 814 "parse.y"
4660 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4661 break;}
4662 case 138:
4663 #line 816 "parse.y"
4664 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4665 yyvsp[-1].ttype); ;
4666 break;}
4667 case 139:
4668 #line 819 "parse.y"
4669 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4670 void_type_node); ;
4671 break;}
4672 case 151:
4673 #line 845 "parse.y"
4674 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4675 yyungetc (';', 1); ;
4676 break;}
4677 case 153:
4678 #line 849 "parse.y"
4679 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4680 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4681 break;}
4682 case 155:
4683 #line 853 "parse.y"
4684 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4685 break;}
4686 case 157:
4687 #line 856 "parse.y"
4688 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4689 break;}
4690 case 159:
4691 #line 859 "parse.y"
4692 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4693 yyungetc (';', 1); ;
4694 break;}
4695 case 161:
4696 #line 864 "parse.y"
4697 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4698 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4699 break;}
4700 case 163:
4701 #line 868 "parse.y"
4702 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4703 break;}
4704 case 165:
4705 #line 871 "parse.y"
4706 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4707 break;}
4708 case 167:
4709 #line 876 "parse.y"
4710 { begin_explicit_instantiation(); ;
4711 break;}
4712 case 168:
4713 #line 879 "parse.y"
4714 { end_explicit_instantiation(); ;
4715 break;}
4716 case 169:
4717 #line 888 "parse.y"
4718 { yyval.ttype = yyvsp[0].ttype; ;
4719 break;}
4720 case 170:
4721 #line 891 "parse.y"
4722 { yyval.ttype = yyvsp[0].ttype; ;
4723 break;}
4724 case 172:
4725 #line 898 "parse.y"
4726 { yyval.ttype = yyvsp[0].ttype; ;
4727 break;}
4728 case 173:
4729 #line 902 "parse.y"
4730 {
4731 if (yychar == YYEMPTY)
4732 yychar = YYLEX;
4733
4734 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4735 yychar == SCOPE);
4736 ;
4737 break;}
4738 case 175:
4739 #line 913 "parse.y"
4740 {
4741 /* Handle `Class<Class<Type>>' without space in the `>>' */
4742 pedwarn ("`>>' should be `> >' in template class name");
4743 yyungetc ('>', 1);
4744 ;
4745 break;}
4746 case 176:
4747 #line 922 "parse.y"
4748 { yyval.ttype = NULL_TREE; ;
4749 break;}
4750 case 178:
4751 #line 928 "parse.y"
4752 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4753 break;}
4754 case 179:
4755 #line 930 "parse.y"
4756 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4757 break;}
4758 case 180:
4759 #line 935 "parse.y"
4760 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4761 break;}
4762 case 181:
4763 #line 937 "parse.y"
4764 { yyval.ttype = lastiddecl; ;
4765 break;}
4766 case 183:
4767 #line 943 "parse.y"
4768 { yyval.code = NEGATE_EXPR; ;
4769 break;}
4770 case 184:
4771 #line 945 "parse.y"
4772 { yyval.code = CONVERT_EXPR; ;
4773 break;}
4774 case 185:
4775 #line 947 "parse.y"
4776 { yyval.code = PREINCREMENT_EXPR; ;
4777 break;}
4778 case 186:
4779 #line 949 "parse.y"
4780 { yyval.code = PREDECREMENT_EXPR; ;
4781 break;}
4782 case 187:
4783 #line 951 "parse.y"
4784 { yyval.code = TRUTH_NOT_EXPR; ;
4785 break;}
4786 case 188:
4787 #line 956 "parse.y"
4788 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4789 break;}
4790 case 190:
4791 #line 962 "parse.y"
4792 { error ("ANSI C++ forbids an empty condition for `%s'",
4793 cond_stmt_keyword);
4794 yyval.ttype = integer_zero_node; ;
4795 break;}
4796 case 191:
4797 #line 966 "parse.y"
4798 { yyval.ttype = yyvsp[-1].ttype; ;
4799 break;}
4800 case 192:
4801 #line 971 "parse.y"
4802 { error ("ANSI C++ forbids an empty condition for `%s'",
4803 cond_stmt_keyword);
4804 yyval.ttype = integer_zero_node; ;
4805 break;}
4806 case 193:
4807 #line 975 "parse.y"
4808 { yyval.ttype = yyvsp[-1].ttype; ;
4809 break;}
4810 case 194:
4811 #line 980 "parse.y"
4812 { yyval.ttype = NULL_TREE; ;
4813 break;}
4814 case 196:
4815 #line 983 "parse.y"
4816 { yyval.ttype = NULL_TREE; ;
4817 break;}
4818 case 197:
4819 #line 988 "parse.y"
4820 { {
4821 tree d;
4822 for (d = getdecls (); d; d = TREE_CHAIN (d))
4823 if (TREE_CODE (d) == TYPE_DECL) {
4824 tree s = TREE_TYPE (d);
4825 if (TREE_CODE (s) == RECORD_TYPE)
4826 cp_error ("definition of class `%T' in condition", s);
4827 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4828 cp_error ("definition of enum `%T' in condition", s);
4829 }
4830 }
4831 current_declspecs = yyvsp[-4].ftype.t;
4832 yyvsp[0].itype = suspend_momentary ();
4833 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4834 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4835 ;
4836 break;}
4837 case 198:
4838 #line 1005 "parse.y"
4839 {
4840 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4841 resume_momentary (yyvsp[-2].itype);
4842 yyval.ttype = yyvsp[-1].ttype;
4843 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4844 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4845 ;
4846 break;}
4847 case 204:
4848 #line 1024 "parse.y"
4849 { yyval.ttype = begin_compound_stmt (1); ;
4850 break;}
4851 case 205:
4852 #line 1026 "parse.y"
4853 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4854 break;}
4855 case 207:
4856 #line 1033 "parse.y"
4857 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4858 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4859 break;}
4860 case 208:
4861 #line 1036 "parse.y"
4862 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4863 build_expr_list (NULL_TREE, error_mark_node)); ;
4864 break;}
4865 case 209:
4866 #line 1039 "parse.y"
4867 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4868 break;}
4869 case 210:
4870 #line 1041 "parse.y"
4871 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4872 break;}
4873 case 211:
4874 #line 1046 "parse.y"
4875 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4876 break;}
4877 case 213:
4878 #line 1052 "parse.y"
4879 { yyval.ttype = yyvsp[0].ttype; ;
4880 break;}
4881 case 214:
4882 #line 1055 "parse.y"
4883 { yyval.ttype = yyvsp[0].ttype;
4884 pedantic = yyvsp[-1].itype; ;
4885 break;}
4886 case 215:
4887 #line 1058 "parse.y"
4888 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4889 break;}
4890 case 216:
4891 #line 1060 "parse.y"
4892 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4893 break;}
4894 case 217:
4895 #line 1062 "parse.y"
4896 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4897 break;}
4898 case 218:
4899 #line 1064 "parse.y"
4900 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4901 break;}
4902 case 219:
4903 #line 1067 "parse.y"
4904 { if (pedantic)
4905 pedwarn ("ANSI C++ forbids `&&'");
4906 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4907 break;}
4908 case 220:
4909 #line 1071 "parse.y"
4910 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4911 break;}
4912 case 221:
4913 #line 1073 "parse.y"
4914 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4915 break;}
4916 case 222:
4917 #line 1075 "parse.y"
4918 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4919 break;}
4920 case 223:
4921 #line 1077 "parse.y"
4922 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4923 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4924 break;}
4925 case 224:
4926 #line 1083 "parse.y"
4927 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4928 check_for_new_type ("new", yyvsp[0].ftype); ;
4929 break;}
4930 case 225:
4931 #line 1086 "parse.y"
4932 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4933 check_for_new_type ("new", yyvsp[-1].ftype); ;
4934 break;}
4935 case 226:
4936 #line 1089 "parse.y"
4937 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4938 check_for_new_type ("new", yyvsp[0].ftype); ;
4939 break;}
4940 case 227:
4941 #line 1092 "parse.y"
4942 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4943 check_for_new_type ("new", yyvsp[-1].ftype); ;
4944 break;}
4945 case 228:
4946 #line 1105 "parse.y"
4947 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4948 NULL_TREE, yyvsp[-4].itype);
4949 check_for_new_type ("new", yyvsp[-1].ftype); ;
4950 break;}
4951 case 229:
4952 #line 1110 "parse.y"
4953 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4954 check_for_new_type ("new", yyvsp[-2].ftype); ;
4955 break;}
4956 case 230:
4957 #line 1114 "parse.y"
4958 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4959 check_for_new_type ("new", yyvsp[-1].ftype); ;
4960 break;}
4961 case 231:
4962 #line 1118 "parse.y"
4963 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4964 check_for_new_type ("new", yyvsp[-2].ftype); ;
4965 break;}
4966 case 232:
4967 #line 1122 "parse.y"
4968 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4969 break;}
4970 case 233:
4971 #line 1124 "parse.y"
4972 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4973 if (yychar == YYEMPTY)
4974 yychar = YYLEX; ;
4975 break;}
4976 case 234:
4977 #line 1128 "parse.y"
4978 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4979 if (yychar == YYEMPTY)
4980 yychar = YYLEX; ;
4981 break;}
4982 case 235:
4983 #line 1132 "parse.y"
4984 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4985 break;}
4986 case 236:
4987 #line 1134 "parse.y"
4988 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4989 break;}
4990 case 237:
4991 #line 1144 "parse.y"
4992 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4993 break;}
4994 case 238:
4995 #line 1147 "parse.y"
4996 { yyval.itype = begin_new_placement (); ;
4997 break;}
4998 case 239:
4999 #line 1151 "parse.y"
5000 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5001 break;}
5002 case 240:
5003 #line 1153 "parse.y"
5004 { cp_pedwarn ("old style placement syntax, use () instead");
5005 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5006 break;}
5007 case 241:
5008 #line 1159 "parse.y"
5009 { yyval.ttype = yyvsp[-1].ttype; ;
5010 break;}
5011 case 242:
5012 #line 1161 "parse.y"
5013 { yyval.ttype = NULL_TREE; ;
5014 break;}
5015 case 243:
5016 #line 1163 "parse.y"
5017 {
5018 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5019 yyval.ttype = error_mark_node;
5020 ;
5021 break;}
5022 case 244:
5023 #line 1171 "parse.y"
5024 {
5025 if (pedantic)
5026 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5027 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5028 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5029 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5030 else
5031 yyval.ttype = yyvsp[0].ttype;
5032 ;
5033 break;}
5034 case 245:
5035 #line 1185 "parse.y"
5036 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5037 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5038 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5039 break;}
5040 case 246:
5041 #line 1189 "parse.y"
5042 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5043 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5044 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5045 break;}
5046 case 248:
5047 #line 1197 "parse.y"
5048 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5049 break;}
5050 case 249:
5051 #line 1199 "parse.y"
5052 {
5053 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5054 nreverse (yyvsp[-2].ttype));
5055 if (pedantic)
5056 pedwarn ("ANSI C++ forbids constructor-expressions");
5057 /* Indicate that this was a GNU C constructor expression. */
5058 TREE_HAS_CONSTRUCTOR (init) = 1;
5059
5060 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5061 ;
5062 break;}
5063 case 251:
5064 #line 1215 "parse.y"
5065 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5066 break;}
5067 case 252:
5068 #line 1217 "parse.y"
5069 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5070 break;}
5071 case 253:
5072 #line 1219 "parse.y"
5073 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5074 break;}
5075 case 254:
5076 #line 1221 "parse.y"
5077 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5078 break;}
5079 case 255:
5080 #line 1223 "parse.y"
5081 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5082 break;}
5083 case 256:
5084 #line 1225 "parse.y"
5085 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5086 break;}
5087 case 257:
5088 #line 1227 "parse.y"
5089 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5090 break;}
5091 case 258:
5092 #line 1229 "parse.y"
5093 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5094 break;}
5095 case 259:
5096 #line 1231 "parse.y"
5097 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5098 break;}
5099 case 260:
5100 #line 1233 "parse.y"
5101 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5102 break;}
5103 case 261:
5104 #line 1235 "parse.y"
5105 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5106 break;}
5107 case 262:
5108 #line 1237 "parse.y"
5109 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5110 break;}
5111 case 263:
5112 #line 1239 "parse.y"
5113 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5114 break;}
5115 case 264:
5116 #line 1241 "parse.y"
5117 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5118 break;}
5119 case 265:
5120 #line 1243 "parse.y"
5121 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5122 break;}
5123 case 266:
5124 #line 1245 "parse.y"
5125 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5126 break;}
5127 case 267:
5128 #line 1247 "parse.y"
5129 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5130 break;}
5131 case 268:
5132 #line 1249 "parse.y"
5133 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5134 break;}
5135 case 269:
5136 #line 1251 "parse.y"
5137 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5138 break;}
5139 case 270:
5140 #line 1253 "parse.y"
5141 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5142 break;}
5143 case 271:
5144 #line 1255 "parse.y"
5145 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5146 if (yyval.ttype != error_mark_node)
5147 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5148 break;}
5149 case 272:
5150 #line 1259 "parse.y"
5151 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5152 break;}
5153 case 273:
5154 #line 1261 "parse.y"
5155 { yyval.ttype = build_throw (NULL_TREE); ;
5156 break;}
5157 case 274:
5158 #line 1263 "parse.y"
5159 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5160 break;}
5161 case 275:
5162 #line 1281 "parse.y"
5163 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5164 break;}
5165 case 281:
5166 #line 1290 "parse.y"
5167 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5168 break;}
5169 case 282:
5170 #line 1294 "parse.y"
5171 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5172 break;}
5173 case 283:
5174 #line 1296 "parse.y"
5175 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5176 break;}
5177 case 284:
5178 #line 1301 "parse.y"
5179 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5180 break;}
5181 case 285:
5182 #line 1303 "parse.y"
5183 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5184 break;}
5185 case 286:
5186 #line 1306 "parse.y"
5187 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5188 break;}
5189 case 291:
5190 #line 1318 "parse.y"
5191 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5192 break;}
5193 case 292:
5194 #line 1320 "parse.y"
5195 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5196 break;}
5197 case 293:
5198 #line 1322 "parse.y"
5199 { yyval.ttype = yyvsp[-1].ttype; ;
5200 break;}
5201 case 294:
5202 #line 1327 "parse.y"
5203 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5204 break;}
5205 case 295:
5206 #line 1329 "parse.y"
5207 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5208 break;}
5209 case 299:
5210 #line 1339 "parse.y"
5211 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5212 break;}
5213 case 300:
5214 #line 1344 "parse.y"
5215 {
5216 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5217 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5218 else
5219 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5220 ;
5221 break;}
5222 case 303:
5223 #line 1353 "parse.y"
5224 {
5225 if (processing_template_decl)
5226 push_obstacks (&permanent_obstack, &permanent_obstack);
5227 yyval.ttype = combine_strings (yyval.ttype);
5228 if (processing_template_decl)
5229 pop_obstacks ();
5230 ;
5231 break;}
5232 case 304:
5233 #line 1361 "parse.y"
5234 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5235 break;}
5236 case 305:
5237 #line 1363 "parse.y"
5238 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5239 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5240 break;}
5241 case 306:
5242 #line 1366 "parse.y"
5243 { yyval.ttype = error_mark_node; ;
5244 break;}
5245 case 307:
5246 #line 1368 "parse.y"
5247 { if (current_function_decl == 0)
5248 {
5249 error ("braced-group within expression allowed only inside a function");
5250 YYERROR;
5251 }
5252 if (pedantic)
5253 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5254 yyval.ttype = begin_stmt_expr ();
5255 ;
5256 break;}
5257 case 308:
5258 #line 1378 "parse.y"
5259 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5260 break;}
5261 case 309:
5262 #line 1383 "parse.y"
5263 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5264 break;}
5265 case 310:
5266 #line 1385 "parse.y"
5267 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5268 break;}
5269 case 311:
5270 #line 1387 "parse.y"
5271 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5272 break;}
5273 case 312:
5274 #line 1389 "parse.y"
5275 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5276 break;}
5277 case 313:
5278 #line 1391 "parse.y"
5279 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5280 break;}
5281 case 314:
5282 #line 1393 "parse.y"
5283 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5284 break;}
5285 case 315:
5286 #line 1395 "parse.y"
5287 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5288 break;}
5289 case 316:
5290 #line 1398 "parse.y"
5291 { yyval.ttype = finish_this_expr (); ;
5292 break;}
5293 case 317:
5294 #line 1400 "parse.y"
5295 {
5296 tree type = NULL_TREE;
5297 tree id = yyval.ttype;
5298
5299 /* This is a C cast in C++'s `functional' notation. */
5300 if (yyvsp[-1].ttype == error_mark_node)
5301 {
5302 yyval.ttype = error_mark_node;
5303 break;
5304 }
5305 #if 0
5306 if (yyvsp[-1].ttype == NULL_TREE)
5307 {
5308 error ("cannot cast null list to type `%s'",
5309 IDENTIFIER_POINTER (TYPE_NAME (id)));
5310 yyval.ttype = error_mark_node;
5311 break;
5312 }
5313 #endif
5314 #if 0
5315 /* type is not set! (mrs) */
5316 if (type == error_mark_node)
5317 yyval.ttype = error_mark_node;
5318 else
5319 #endif
5320 {
5321 if (id == ridpointers[(int) RID_CONST])
5322 type = build_type_variant (integer_type_node, 1, 0);
5323 else if (id == ridpointers[(int) RID_VOLATILE])
5324 type = build_type_variant (integer_type_node, 0, 1);
5325 #if 0
5326 /* should not be able to get here (mrs) */
5327 else if (id == ridpointers[(int) RID_FRIEND])
5328 {
5329 error ("cannot cast expression to `friend' type");
5330 yyval.ttype = error_mark_node;
5331 break;
5332 }
5333 #endif
5334 else my_friendly_abort (79);
5335 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5336 }
5337 ;
5338 break;}
5339 case 319:
5340 #line 1445 "parse.y"
5341 { tree type = groktypename (yyvsp[-4].ftype.t);
5342 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5343 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5344 break;}
5345 case 320:
5346 #line 1449 "parse.y"
5347 { tree type = groktypename (yyvsp[-4].ftype.t);
5348 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5349 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5350 break;}
5351 case 321:
5352 #line 1453 "parse.y"
5353 { tree type = groktypename (yyvsp[-4].ftype.t);
5354 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5355 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5356 break;}
5357 case 322:
5358 #line 1457 "parse.y"
5359 { tree type = groktypename (yyvsp[-4].ftype.t);
5360 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5361 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5362 break;}
5363 case 323:
5364 #line 1461 "parse.y"
5365 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5366 break;}
5367 case 324:
5368 #line 1463 "parse.y"
5369 { tree type = groktypename (yyvsp[-1].ftype.t);
5370 check_for_new_type ("typeid", yyvsp[-1].ftype);
5371 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5372 break;}
5373 case 325:
5374 #line 1467 "parse.y"
5375 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5376 break;}
5377 case 326:
5378 #line 1469 "parse.y"
5379 { yyval.ttype = yyvsp[0].ttype; ;
5380 break;}
5381 case 327:
5382 #line 1471 "parse.y"
5383 {
5384 got_scope = NULL_TREE;
5385 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5386 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5387 else
5388 yyval.ttype = yyvsp[0].ttype;
5389 ;
5390 break;}
5391 case 328:
5392 #line 1479 "parse.y"
5393 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5394 break;}
5395 case 329:
5396 #line 1481 "parse.y"
5397 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5398 break;}
5399 case 330:
5400 #line 1483 "parse.y"
5401 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5402 break;}
5403 case 331:
5404 #line 1485 "parse.y"
5405 {
5406 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5407 ;
5408 break;}
5409 case 332:
5410 #line 1489 "parse.y"
5411 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5412 break;}
5413 case 333:
5414 #line 1491 "parse.y"
5415 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5416 break;}
5417 case 334:
5418 #line 1493 "parse.y"
5419 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5420 break;}
5421 case 335:
5422 #line 1495 "parse.y"
5423 { if (processing_template_decl)
5424 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5425 else
5426 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5427 break;}
5428 case 336:
5429 #line 1500 "parse.y"
5430 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5431 break;}
5432 case 337:
5433 #line 1502 "parse.y"
5434 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5435 break;}
5436 case 338:
5437 #line 1504 "parse.y"
5438 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5439 break;}
5440 case 339:
5441 #line 1506 "parse.y"
5442 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5443 break;}
5444 case 340:
5445 #line 1509 "parse.y"
5446 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5447 break;}
5448 case 341:
5449 #line 1511 "parse.y"
5450 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5451 break;}
5452 case 342:
5453 #line 1513 "parse.y"
5454 {
5455 yyval.ttype = error_mark_node;
5456 ;
5457 break;}
5458 case 343:
5459 #line 1558 "parse.y"
5460 { yyval.itype = 0; ;
5461 break;}
5462 case 344:
5463 #line 1560 "parse.y"
5464 { got_scope = NULL_TREE; yyval.itype = 1; ;
5465 break;}
5466 case 345:
5467 #line 1565 "parse.y"
5468 { yyval.itype = 0; ;
5469 break;}
5470 case 346:
5471 #line 1567 "parse.y"
5472 { got_scope = NULL_TREE; yyval.itype = 1; ;
5473 break;}
5474 case 347:
5475 #line 1572 "parse.y"
5476 { yyval.ttype = boolean_true_node; ;
5477 break;}
5478 case 348:
5479 #line 1574 "parse.y"
5480 { yyval.ttype = boolean_false_node; ;
5481 break;}
5482 case 350:
5483 #line 1581 "parse.y"
5484 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5485 break;}
5486 case 351:
5487 #line 1586 "parse.y"
5488 {
5489 if (! current_function_parms_stored)
5490 store_parm_decls ();
5491 setup_vtbl_ptr ();
5492 /* Always keep the BLOCK node associated with the outermost
5493 pair of curley braces of a function. These are needed
5494 for correct operation of dwarfout.c. */
5495 keep_next_level ();
5496 ;
5497 break;}
5498 case 352:
5499 #line 1599 "parse.y"
5500 { got_object = TREE_TYPE (yyval.ttype); ;
5501 break;}
5502 case 353:
5503 #line 1601 "parse.y"
5504 {
5505 yyval.ttype = build_x_arrow (yyval.ttype);
5506 got_object = TREE_TYPE (yyval.ttype);
5507 ;
5508 break;}
5509 case 354:
5510 #line 1609 "parse.y"
5511 {
5512 resume_momentary (yyvsp[-1].itype);
5513 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5514 note_got_semicolon (yyvsp[-2].ftype.t);
5515 ;
5516 break;}
5517 case 355:
5518 #line 1615 "parse.y"
5519 {
5520 resume_momentary (yyvsp[-1].itype);
5521 note_list_got_semicolon (yyvsp[-2].ftype.t);
5522 ;
5523 break;}
5524 case 356:
5525 #line 1620 "parse.y"
5526 { resume_momentary (yyvsp[-1].itype); ;
5527 break;}
5528 case 357:
5529 #line 1622 "parse.y"
5530 {
5531 shadow_tag (yyvsp[-1].ftype.t);
5532 note_list_got_semicolon (yyvsp[-1].ftype.t);
5533 ;
5534 break;}
5535 case 358:
5536 #line 1627 "parse.y"
5537 { warning ("empty declaration"); ;
5538 break;}
5539 case 359:
5540 #line 1629 "parse.y"
5541 { pedantic = yyvsp[-1].itype; ;
5542 break;}
5543 case 362:
5544 #line 1643 "parse.y"
5545 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5546 NULL_TREE, NULL_TREE); ;
5547 break;}
5548 case 363:
5549 #line 1646 "parse.y"
5550 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5551 NULL_TREE); ;
5552 break;}
5553 case 364:
5554 #line 1653 "parse.y"
5555 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5556 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5557 break;}
5558 case 365:
5559 #line 1656 "parse.y"
5560 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5561 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5562 break;}
5563 case 366:
5564 #line 1659 "parse.y"
5565 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5566 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5567 break;}
5568 case 367:
5569 #line 1662 "parse.y"
5570 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5571 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5572 break;}
5573 case 368:
5574 #line 1665 "parse.y"
5575 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5576 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5577 break;}
5578 case 371:
5579 #line 1681 "parse.y"
5580 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5581 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5582 break;}
5583 case 372:
5584 #line 1684 "parse.y"
5585 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5586 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5587 break;}
5588 case 373:
5589 #line 1687 "parse.y"
5590 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5591 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5592 break;}
5593 case 374:
5594 #line 1690 "parse.y"
5595 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5596 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5597 break;}
5598 case 375:
5599 #line 1693 "parse.y"
5600 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5601 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5602 break;}
5603 case 376:
5604 #line 1696 "parse.y"
5605 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5606 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5607 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5608 break;}
5609 case 377:
5610 #line 1703 "parse.y"
5611 { if (extra_warnings)
5612 warning ("`%s' is not at beginning of declaration",
5613 IDENTIFIER_POINTER (yyval.ttype));
5614 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5615 break;}
5616 case 378:
5617 #line 1708 "parse.y"
5618 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5619 break;}
5620 case 379:
5621 #line 1710 "parse.y"
5622 { if (extra_warnings)
5623 warning ("`%s' is not at beginning of declaration",
5624 IDENTIFIER_POINTER (yyvsp[0].ttype));
5625 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5626 break;}
5627 case 380:
5628 #line 1715 "parse.y"
5629 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5630 break;}
5631 case 381:
5632 #line 1717 "parse.y"
5633 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5634 break;}
5635 case 382:
5636 #line 1727 "parse.y"
5637 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5638 break;}
5639 case 383:
5640 #line 1729 "parse.y"
5641 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5642 break;}
5643 case 384:
5644 #line 1731 "parse.y"
5645 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5646 TREE_STATIC (yyval.ttype) = 1; ;
5647 break;}
5648 case 385:
5649 #line 1734 "parse.y"
5650 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5651 warning ("`%s' is not at beginning of declaration",
5652 IDENTIFIER_POINTER (yyvsp[0].ttype));
5653 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5654 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5655 break;}
5656 case 386:
5657 #line 1740 "parse.y"
5658 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5659 break;}
5660 case 387:
5661 #line 1742 "parse.y"
5662 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5663 break;}
5664 case 388:
5665 #line 1753 "parse.y"
5666 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5667 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5668 break;}
5669 case 389:
5670 #line 1756 "parse.y"
5671 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5672 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5673 break;}
5674 case 390:
5675 #line 1759 "parse.y"
5676 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5677 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5678 break;}
5679 case 391:
5680 #line 1762 "parse.y"
5681 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5682 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5683 break;}
5684 case 392:
5685 #line 1768 "parse.y"
5686 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5687 break;}
5688 case 393:
5689 #line 1770 "parse.y"
5690 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5691 break;}
5692 case 395:
5693 #line 1780 "parse.y"
5694 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5695 break;}
5696 case 396:
5697 #line 1782 "parse.y"
5698 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5699 break;}
5700 case 397:
5701 #line 1784 "parse.y"
5702 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5703 yyval.ftype.new_type_flag = 0; ;
5704 break;}
5705 case 398:
5706 #line 1787 "parse.y"
5707 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5708 yyval.ftype.new_type_flag = 0; ;
5709 break;}
5710 case 399:
5711 #line 1790 "parse.y"
5712 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5713
5714 yyval.ftype.new_type_flag = 0;
5715 if (IS_AGGR_TYPE (type))
5716 {
5717 sorry ("sigof type specifier");
5718 yyval.ftype.t = type;
5719 }
5720 else
5721 {
5722 error ("`sigof' applied to non-aggregate expression");
5723 yyval.ftype.t = error_mark_node;
5724 }
5725 ;
5726 break;}
5727 case 400:
5728 #line 1805 "parse.y"
5729 { tree type = groktypename (yyvsp[-1].ftype.t);
5730
5731 yyval.ftype.new_type_flag = 0;
5732 if (IS_AGGR_TYPE (type))
5733 {
5734 sorry ("sigof type specifier");
5735 yyval.ftype.t = type;
5736 }
5737 else
5738 {
5739 error("`sigof' applied to non-aggregate type");
5740 yyval.ftype.t = error_mark_node;
5741 }
5742 ;
5743 break;}
5744 case 401:
5745 #line 1825 "parse.y"
5746 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5747 break;}
5748 case 402:
5749 #line 1827 "parse.y"
5750 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5751 break;}
5752 case 410:
5753 #line 1848 "parse.y"
5754 { yyval.ttype = NULL_TREE; ;
5755 break;}
5756 case 411:
5757 #line 1850 "parse.y"
5758 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5759 break;}
5760 case 412:
5761 #line 1855 "parse.y"
5762 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5763 yyvsp[-1].ttype, prefix_attributes); ;
5764 break;}
5765 case 413:
5766 #line 1859 "parse.y"
5767 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5768 break;}
5769 case 414:
5770 #line 1861 "parse.y"
5771 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5772 yyvsp[0].ttype, prefix_attributes);
5773 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5774 break;}
5775 case 415:
5776 #line 1874 "parse.y"
5777 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5778 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5779 break;}
5780 case 416:
5781 #line 1879 "parse.y"
5782 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5783 LOOKUP_ONLYCONVERTING);
5784 yyval.itype = yyvsp[-2].itype; ;
5785 break;}
5786 case 417:
5787 #line 1883 "parse.y"
5788 { tree d;
5789 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5790 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5791 break;}
5792 case 418:
5793 #line 1890 "parse.y"
5794 { yyval.itype = yyvsp[0].itype; ;
5795 break;}
5796 case 419:
5797 #line 1894 "parse.y"
5798 { yyval.itype = yyvsp[0].itype; ;
5799 break;}
5800 case 420:
5801 #line 1899 "parse.y"
5802 { /* Set things up as initdcl0_innards expects. */
5803 yyval.ttype = yyvsp[-1].ttype;
5804 yyvsp[-1].ttype = NULL_TREE; ;
5805 break;}
5806 case 421:
5807 #line 1903 "parse.y"
5808 {;
5809 break;}
5810 case 422:
5811 #line 1905 "parse.y"
5812 { tree d;
5813 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5814 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5815 break;}
5816 case 423:
5817 #line 1914 "parse.y"
5818 { yyval.ttype = NULL_TREE; ;
5819 break;}
5820 case 424:
5821 #line 1916 "parse.y"
5822 { yyval.ttype = yyvsp[0].ttype; ;
5823 break;}
5824 case 425:
5825 #line 1921 "parse.y"
5826 { yyval.ttype = yyvsp[0].ttype; ;
5827 break;}
5828 case 426:
5829 #line 1923 "parse.y"
5830 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5831 break;}
5832 case 427:
5833 #line 1928 "parse.y"
5834 { yyval.ttype = yyvsp[-2].ttype; ;
5835 break;}
5836 case 428:
5837 #line 1933 "parse.y"
5838 { yyval.ttype = yyvsp[0].ttype; ;
5839 break;}
5840 case 429:
5841 #line 1935 "parse.y"
5842 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5843 break;}
5844 case 430:
5845 #line 1940 "parse.y"
5846 { yyval.ttype = NULL_TREE; ;
5847 break;}
5848 case 431:
5849 #line 1942 "parse.y"
5850 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5851 break;}
5852 case 432:
5853 #line 1944 "parse.y"
5854 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5855 break;}
5856 case 433:
5857 #line 1946 "parse.y"
5858 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5859 break;}
5860 case 434:
5861 #line 1948 "parse.y"
5862 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5863 break;}
5864 case 439:
5865 #line 1964 "parse.y"
5866 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5867 break;}
5868 case 440:
5869 #line 1966 "parse.y"
5870 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5871 break;}
5872 case 441:
5873 #line 1971 "parse.y"
5874 { yyval.ttype = NULL_TREE; ;
5875 break;}
5876 case 442:
5877 #line 1973 "parse.y"
5878 { yyval.ttype = yyvsp[0].ttype; ;
5879 break;}
5880 case 444:
5881 #line 1981 "parse.y"
5882 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5883 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5884 break;}
5885 case 445:
5886 #line 1984 "parse.y"
5887 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5888 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5889 break;}
5890 case 446:
5891 #line 1987 "parse.y"
5892 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5893 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5894 break;}
5895 case 447:
5896 #line 1990 "parse.y"
5897 { yyval.ttype = NULL_TREE; ;
5898 break;}
5899 case 448:
5900 #line 1997 "parse.y"
5901 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5902 break;}
5903 case 449:
5904 #line 1999 "parse.y"
5905 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5906 break;}
5907 case 450:
5908 #line 2002 "parse.y"
5909 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5910 break;}
5911 case 451:
5912 #line 2004 "parse.y"
5913 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5914 break;}
5915 case 452:
5916 #line 2006 "parse.y"
5917 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5918 break;}
5919 case 453:
5920 #line 2011 "parse.y"
5921 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5922 NULL_TREE, 1);
5923 reinit_parse_for_function (); ;
5924 break;}
5925 case 454:
5926 #line 2017 "parse.y"
5927 {
5928 int nested = (hack_decl_function_context
5929 (current_function_decl) != NULL_TREE);
5930 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5931 process_next_inline (yyvsp[-3].ttype);
5932 ;
5933 break;}
5934 case 455:
5935 #line 2024 "parse.y"
5936 { process_next_inline (yyvsp[-2].ttype); ;
5937 break;}
5938 case 456:
5939 #line 2026 "parse.y"
5940 { process_next_inline (yyvsp[-2].ttype); ;
5941 break;}
5942 case 459:
5943 #line 2038 "parse.y"
5944 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5945 break;}
5946 case 460:
5947 #line 2040 "parse.y"
5948 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5949 break;}
5950 case 462:
5951 #line 2045 "parse.y"
5952 { do_pending_defargs (); ;
5953 break;}
5954 case 463:
5955 #line 2047 "parse.y"
5956 { do_pending_defargs (); ;
5957 break;}
5958 case 464:
5959 #line 2052 "parse.y"
5960 { yyvsp[0].itype = suspend_momentary ();
5961 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5962 break;}
5963 case 465:
5964 #line 2055 "parse.y"
5965 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5966 yyval.ftype.new_type_flag = 1;
5967 resume_momentary ((int) yyvsp[-4].itype);
5968 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5969 break;}
5970 case 466:
5971 #line 2060 "parse.y"
5972 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5973 yyval.ftype.new_type_flag = 1;
5974 check_for_missing_semicolon (yyval.ftype.t); ;
5975 break;}
5976 case 467:
5977 #line 2064 "parse.y"
5978 { yyvsp[0].itype = suspend_momentary ();
5979 yyval.ttype = start_enum (make_anon_name ()); ;
5980 break;}
5981 case 468:
5982 #line 2067 "parse.y"
5983 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5984 resume_momentary ((int) yyvsp[-5].itype);
5985 check_for_missing_semicolon (yyvsp[-3].ttype);
5986 yyval.ftype.new_type_flag = 1; ;
5987 break;}
5988 case 469:
5989 #line 2072 "parse.y"
5990 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5991 yyval.ftype.new_type_flag = 1;
5992 check_for_missing_semicolon (yyval.ftype.t); ;
5993 break;}
5994 case 470:
5995 #line 2076 "parse.y"
5996 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5997 yyval.ftype.new_type_flag = 0; ;
5998 break;}
5999 case 471:
6000 #line 2079 "parse.y"
6001 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6002 yyval.ftype.new_type_flag = 0; ;
6003 break;}
6004 case 472:
6005 #line 2082 "parse.y"
6006 { yyval.ftype.t = yyvsp[0].ttype;
6007 yyval.ftype.new_type_flag = 0; ;
6008 break;}
6009 case 473:
6010 #line 2087 "parse.y"
6011 {
6012 int semi;
6013
6014 if (yychar == YYEMPTY)
6015 yychar = YYLEX;
6016 semi = yychar == ';';
6017
6018 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
6019 ;
6020 break;}
6021 case 474:
6022 #line 2097 "parse.y"
6023 { finish_default_args (); ;
6024 break;}
6025 case 475:
6026 #line 2099 "parse.y"
6027 { yyval.ftype.t = yyvsp[-3].ttype;
6028 yyval.ftype.new_type_flag = 1;
6029 begin_inline_definitions (); ;
6030 break;}
6031 case 476:
6032 #line 2103 "parse.y"
6033 {
6034 yyval.ftype.new_type_flag = 0;
6035 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6036 {
6037 cp_error ("%T is not a class type", yyvsp[0].ttype);
6038 yyval.ftype.t = error_mark_node;
6039 }
6040 else
6041 {
6042 yyval.ftype.t = yyvsp[0].ttype;
6043 /* struct B: public A; is not accepted by the WP grammar. */
6044 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6045 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6046 cp_error ("base clause without member specification for `%#T'",
6047 yyval.ftype.t);
6048 }
6049 ;
6050 break;}
6051 case 480:
6052 #line 2130 "parse.y"
6053 { if (pedantic && !in_system_header)
6054 pedwarn ("comma at end of enumerator list"); ;
6055 break;}
6056 case 482:
6057 #line 2137 "parse.y"
6058 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6059 break;}
6060 case 483:
6061 #line 2139 "parse.y"
6062 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6063 break;}
6064 case 484:
6065 #line 2141 "parse.y"
6066 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6067 break;}
6068 case 485:
6069 #line 2143 "parse.y"
6070 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6071 break;}
6072 case 486:
6073 #line 2145 "parse.y"
6074 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6075 break;}
6076 case 487:
6077 #line 2150 "parse.y"
6078 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6079 break;}
6080 case 488:
6081 #line 2155 "parse.y"
6082 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6083 break;}
6084 case 489:
6085 #line 2157 "parse.y"
6086 { yyungetc ('{', 1); ;
6087 break;}
6088 case 490:
6089 #line 2159 "parse.y"
6090 { yyungetc (':', 1); ;
6091 break;}
6092 case 491:
6093 #line 2164 "parse.y"
6094 {
6095 current_aggr = yyvsp[-2].ttype;
6096 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6097 ;
6098 break;}
6099 case 492:
6100 #line 2169 "parse.y"
6101 {
6102 current_aggr = yyvsp[-3].ttype;
6103 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6104 ;
6105 break;}
6106 case 493:
6107 #line 2174 "parse.y"
6108 {
6109 current_aggr = yyvsp[-2].ttype;
6110 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6111 ;
6112 break;}
6113 case 494:
6114 #line 2179 "parse.y"
6115 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6116 break;}
6117 case 495:
6118 #line 2181 "parse.y"
6119 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6120 break;}
6121 case 496:
6122 #line 2186 "parse.y"
6123 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6124 break;}
6125 case 497:
6126 #line 2191 "parse.y"
6127 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6128 break;}
6129 case 498:
6130 #line 2194 "parse.y"
6131 {
6132 yyval.ttype = yyvsp[-1].ttype;
6133 if (yyvsp[0].ttype)
6134 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6135 ;
6136 break;}
6137 case 499:
6138 #line 2200 "parse.y"
6139 {
6140 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6141 if (TREE_INT_CST_LOW (current_aggr) == union_type
6142 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6143 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6144 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6145 && TREE_INT_CST_LOW (current_aggr) != union_type)
6146 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6147 if (yyvsp[0].ttype)
6148 {
6149 maybe_process_partial_specialization (yyval.ttype);
6150 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6151 }
6152 ;
6153 break;}
6154 case 500:
6155 #line 2218 "parse.y"
6156 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6157 yyungetc ('{', 1); ;
6158 break;}
6159 case 503:
6160 #line 2229 "parse.y"
6161 { yyval.ttype = NULL_TREE; ;
6162 break;}
6163 case 504:
6164 #line 2231 "parse.y"
6165 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6166 break;}
6167 case 505:
6168 #line 2233 "parse.y"
6169 { yyval.ttype = yyvsp[0].ttype; ;
6170 break;}
6171 case 507:
6172 #line 2239 "parse.y"
6173 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6174 break;}
6175 case 508:
6176 #line 2244 "parse.y"
6177 {
6178 tree type;
6179 if (yyvsp[0].ttype == NULL_TREE)
6180 {
6181 error ("invalid base class");
6182 type = error_mark_node;
6183 }
6184 else
6185 type = TREE_TYPE (yyvsp[0].ttype);
6186 if (! is_aggr_type (type, 1))
6187 yyval.ttype = NULL_TREE;
6188 else if (current_aggr == signature_type_node
6189 && (! type) && (! IS_SIGNATURE (type)))
6190 {
6191 error ("class name not allowed as base signature");
6192 yyval.ttype = NULL_TREE;
6193 }
6194 else if (current_aggr == signature_type_node)
6195 {
6196 sorry ("signature inheritance, base type `%s' ignored",
6197 IDENTIFIER_POINTER (yyval.ttype));
6198 yyval.ttype = build_tree_list (access_public_node, type);
6199 }
6200 else if (type && IS_SIGNATURE (type))
6201 {
6202 error ("signature name not allowed as base class");
6203 yyval.ttype = NULL_TREE;
6204 }
6205 else
6206 yyval.ttype = build_tree_list (access_default_node, type);
6207 ;
6208 break;}
6209 case 509:
6210 #line 2276 "parse.y"
6211 {
6212 tree type;
6213 if (yyvsp[0].ttype == NULL_TREE)
6214 {
6215 error ("invalid base class");
6216 type = error_mark_node;
6217 }
6218 else
6219 type = TREE_TYPE (yyvsp[0].ttype);
6220 if (current_aggr == signature_type_node)
6221 error ("access and source specifiers not allowed in signature");
6222 if (! is_aggr_type (type, 1))
6223 yyval.ttype = NULL_TREE;
6224 else if (current_aggr == signature_type_node
6225 && (! type) && (! IS_SIGNATURE (type)))
6226 {
6227 error ("class name not allowed as base signature");
6228 yyval.ttype = NULL_TREE;
6229 }
6230 else if (current_aggr == signature_type_node)
6231 {
6232 sorry ("signature inheritance, base type `%s' ignored",
6233 IDENTIFIER_POINTER (yyval.ttype));
6234 yyval.ttype = build_tree_list (access_public_node, type);
6235 }
6236 else if (type && IS_SIGNATURE (type))
6237 {
6238 error ("signature name not allowed as base class");
6239 yyval.ttype = NULL_TREE;
6240 }
6241 else
6242 yyval.ttype = build_tree_list (yyval.ttype, type);
6243 ;
6244 break;}
6245 case 510:
6246 #line 2313 "parse.y"
6247 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6248 break;}
6249 case 512:
6250 #line 2316 "parse.y"
6251 {
6252 if (current_aggr == signature_type_node)
6253 {
6254 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6255 {
6256 sorry ("`sigof' as base signature specifier");
6257 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6258 }
6259 else
6260 {
6261 error ("`sigof' applied to non-aggregate expression");
6262 yyval.ttype = error_mark_node;
6263 }
6264 }
6265 else
6266 {
6267 error ("`sigof' in struct or class declaration");
6268 yyval.ttype = error_mark_node;
6269 }
6270 ;
6271 break;}
6272 case 513:
6273 #line 2337 "parse.y"
6274 {
6275 if (current_aggr == signature_type_node)
6276 {
6277 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6278 {
6279 sorry ("`sigof' as base signature specifier");
6280 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6281 }
6282 else
6283 {
6284 error ("`sigof' applied to non-aggregate expression");
6285 yyval.ttype = error_mark_node;
6286 }
6287 }
6288 else
6289 {
6290 error ("`sigof' in struct or class declaration");
6291 yyval.ttype = error_mark_node;
6292 }
6293 ;
6294 break;}
6295 case 515:
6296 #line 2362 "parse.y"
6297 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6298 cp_error ("`%D' access", yyvsp[-1].ttype);
6299 yyval.ttype = access_default_virtual_node; ;
6300 break;}
6301 case 516:
6302 #line 2366 "parse.y"
6303 {
6304 if (yyvsp[-2].ttype != access_default_virtual_node)
6305 error ("multiple access specifiers");
6306 else if (yyvsp[-1].ttype == access_public_node)
6307 yyval.ttype = access_public_virtual_node;
6308 else if (yyvsp[-1].ttype == access_protected_node)
6309 yyval.ttype = access_protected_virtual_node;
6310 else /* $2 == access_private_node */
6311 yyval.ttype = access_private_virtual_node;
6312 ;
6313 break;}
6314 case 517:
6315 #line 2377 "parse.y"
6316 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6317 cp_error ("`%D' access", yyvsp[-1].ttype);
6318 else if (yyval.ttype == access_public_node)
6319 yyval.ttype = access_public_virtual_node;
6320 else if (yyval.ttype == access_protected_node)
6321 yyval.ttype = access_protected_virtual_node;
6322 else if (yyval.ttype == access_private_node)
6323 yyval.ttype = access_private_virtual_node;
6324 else
6325 error ("multiple `virtual' specifiers");
6326 ;
6327 break;}
6328 case 518:
6329 #line 2392 "parse.y"
6330 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6331 break;}
6332 case 519:
6333 #line 2397 "parse.y"
6334 {
6335 yyval.ttype = build_self_reference ();
6336 ;
6337 break;}
6338 case 520:
6339 #line 2404 "parse.y"
6340 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6341 break;}
6342 case 521:
6343 #line 2406 "parse.y"
6344 {
6345 if (current_aggr == signature_type_node)
6346 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6347 else
6348 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6349 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6350 ;
6351 break;}
6352 case 522:
6353 #line 2414 "parse.y"
6354 {
6355 tree visspec = yyvsp[-2].ttype;
6356
6357 if (current_aggr == signature_type_node)
6358 {
6359 error ("access specifier not allowed in signature");
6360 visspec = access_public_node;
6361 }
6362 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6363 ;
6364 break;}
6365 case 523:
6366 #line 2425 "parse.y"
6367 {
6368 if (current_aggr == signature_type_node)
6369 error ("access specifier not allowed in signature");
6370 ;
6371 break;}
6372 case 524:
6373 #line 2435 "parse.y"
6374 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6375 ;
6376 break;}
6377 case 525:
6378 #line 2438 "parse.y"
6379 { /* In pushdecl, we created a reverse list of names
6380 in this binding level. Make sure that the chain
6381 of what we're trying to add isn't the item itself
6382 (which can happen with what pushdecl's doing). */
6383 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6384 {
6385 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6386 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6387 else
6388 yyval.ttype = yyvsp[0].ttype;
6389 }
6390 ;
6391 break;}
6392 case 526:
6393 #line 2454 "parse.y"
6394 { ;
6395 break;}
6396 case 527:
6397 #line 2456 "parse.y"
6398 { error ("missing ';' before right brace");
6399 yyungetc ('}', 0); ;
6400 break;}
6401 case 528:
6402 #line 2461 "parse.y"
6403 { yyval.ttype = finish_method (yyval.ttype); ;
6404 break;}
6405 case 529:
6406 #line 2463 "parse.y"
6407 { yyval.ttype = finish_method (yyval.ttype); ;
6408 break;}
6409 case 530:
6410 #line 2465 "parse.y"
6411 { yyval.ttype = finish_method (yyval.ttype); ;
6412 break;}
6413 case 531:
6414 #line 2467 "parse.y"
6415 { yyval.ttype = finish_method (yyval.ttype); ;
6416 break;}
6417 case 532:
6418 #line 2469 "parse.y"
6419 { yyval.ttype = NULL_TREE; ;
6420 break;}
6421 case 533:
6422 #line 2471 "parse.y"
6423 { yyval.ttype = yyvsp[0].ttype;
6424 pedantic = yyvsp[-1].itype; ;
6425 break;}
6426 case 534:
6427 #line 2474 "parse.y"
6428 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6429 break;}
6430 case 535:
6431 #line 2476 "parse.y"
6432 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6433 break;}
6434 case 536:
6435 #line 2484 "parse.y"
6436 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6437 break;}
6438 case 537:
6439 #line 2486 "parse.y"
6440 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6441 break;}
6442 case 538:
6443 #line 2488 "parse.y"
6444 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6445 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6446 break;}
6447 case 539:
6448 #line 2491 "parse.y"
6449 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6450 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6451 break;}
6452 case 540:
6453 #line 2494 "parse.y"
6454 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6455 break;}
6456 case 541:
6457 #line 2496 "parse.y"
6458 { yyval.ttype = NULL_TREE; ;
6459 break;}
6460 case 542:
6461 #line 2507 "parse.y"
6462 { tree specs, attrs;
6463 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6464 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6465 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6466 break;}
6467 case 543:
6468 #line 2512 "parse.y"
6469 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6470 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6471 break;}
6472 case 544:
6473 #line 2515 "parse.y"
6474 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6475 break;}
6476 case 545:
6477 #line 2521 "parse.y"
6478 { yyval.ttype = NULL_TREE; ;
6479 break;}
6480 case 547:
6481 #line 2524 "parse.y"
6482 {
6483 /* In this context, void_type_node encodes
6484 friends. They have been recorded elsewhere. */
6485 if (yyval.ttype == void_type_node)
6486 yyval.ttype = yyvsp[0].ttype;
6487 else
6488 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6489 ;
6490 break;}
6491 case 548:
6492 #line 2536 "parse.y"
6493 { yyval.ttype = NULL_TREE; ;
6494 break;}
6495 case 550:
6496 #line 2539 "parse.y"
6497 {
6498 /* In this context, void_type_node encodes
6499 friends. They have been recorded elsewhere. */
6500 if (yyval.ttype == void_type_node)
6501 yyval.ttype = yyvsp[0].ttype;
6502 else
6503 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6504 ;
6505 break;}
6506 case 555:
6507 #line 2561 "parse.y"
6508 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6509 &prefix_attributes);
6510 yyvsp[-4].ttype = current_declspecs;
6511 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6512 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6513 break;}
6514 case 556:
6515 #line 2567 "parse.y"
6516 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6517 &prefix_attributes);
6518 yyvsp[-4].ttype = current_declspecs;
6519 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6520 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6521 break;}
6522 case 557:
6523 #line 2576 "parse.y"
6524 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6525 &prefix_attributes);
6526 yyvsp[-4].ttype = current_declspecs;
6527 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6528 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6529 break;}
6530 case 558:
6531 #line 2582 "parse.y"
6532 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6533 &prefix_attributes);
6534 yyvsp[-4].ttype = current_declspecs;
6535 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6536 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6537 break;}
6538 case 559:
6539 #line 2588 "parse.y"
6540 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6541 &prefix_attributes);
6542 yyvsp[-4].ttype = current_declspecs;
6543 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6544 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6545 break;}
6546 case 560:
6547 #line 2594 "parse.y"
6548 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6549 &prefix_attributes);
6550 yyvsp[-3].ttype = current_declspecs;
6551 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6552 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6553 break;}
6554 case 561:
6555 #line 2603 "parse.y"
6556 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6557 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6558 break;}
6559 case 562:
6560 #line 2606 "parse.y"
6561 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6562 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6563 break;}
6564 case 563:
6565 #line 2612 "parse.y"
6566 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6567 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6568 break;}
6569 case 564:
6570 #line 2615 "parse.y"
6571 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6572 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6573 break;}
6574 case 565:
6575 #line 2618 "parse.y"
6576 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6577 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6578 break;}
6579 case 567:
6580 #line 2629 "parse.y"
6581 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6582 break;}
6583 case 568:
6584 #line 2634 "parse.y"
6585 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6586 break;}
6587 case 569:
6588 #line 2636 "parse.y"
6589 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6590 break;}
6591 case 570:
6592 #line 2642 "parse.y"
6593 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6594 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6595 break;}
6596 case 571:
6597 #line 2645 "parse.y"
6598 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6599 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6600 break;}
6601 case 572:
6602 #line 2652 "parse.y"
6603 {
6604 if (pedantic)
6605 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6606 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6607 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6608 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6609 ;
6610 break;}
6611 case 573:
6612 #line 2663 "parse.y"
6613 { yyval.ttype = NULL_TREE; ;
6614 break;}
6615 case 574:
6616 #line 2665 "parse.y"
6617 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6618 break;}
6619 case 575:
6620 #line 2670 "parse.y"
6621 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6622 yyval.ftype.new_type_flag = 0; ;
6623 break;}
6624 case 576:
6625 #line 2673 "parse.y"
6626 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6627 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6628 break;}
6629 case 577:
6630 #line 2682 "parse.y"
6631 { yyval.itype = suspend_momentary (); ;
6632 break;}
6633 case 578:
6634 #line 2687 "parse.y"
6635 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6636 break;}
6637 case 579:
6638 #line 2693 "parse.y"
6639 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6640 break;}
6641 case 580:
6642 #line 2695 "parse.y"
6643 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6644 break;}
6645 case 581:
6646 #line 2697 "parse.y"
6647 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6648 break;}
6649 case 582:
6650 #line 2699 "parse.y"
6651 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6652 break;}
6653 case 583:
6654 #line 2706 "parse.y"
6655 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6656 break;}
6657 case 584:
6658 #line 2708 "parse.y"
6659 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6660 break;}
6661 case 585:
6662 #line 2710 "parse.y"
6663 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6664 break;}
6665 case 586:
6666 #line 2712 "parse.y"
6667 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6668 break;}
6669 case 587:
6670 #line 2714 "parse.y"
6671 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6672 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6673 ;
6674 break;}
6675 case 589:
6676 #line 2722 "parse.y"
6677 {
6678 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6679 {
6680 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6681 if (current_class_type
6682 && TYPE_BEING_DEFINED (current_class_type)
6683 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6684 {
6685 /* Remember that this name has been used in the class
6686 definition, as per [class.scope0] */
6687 pushdecl_class_level (yyval.ttype);
6688 }
6689 }
6690 else
6691 yyval.ttype = yyvsp[0].ttype;
6692 ;
6693 break;}
6694 case 590:
6695 #line 2739 "parse.y"
6696 {
6697 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6698 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6699 else
6700 yyval.ttype = yyvsp[0].ttype;
6701 got_scope = NULL_TREE;
6702 ;
6703 break;}
6704 case 593:
6705 #line 2752 "parse.y"
6706 { yyval.ttype = yyvsp[0].ttype; ;
6707 break;}
6708 case 594:
6709 #line 2757 "parse.y"
6710 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6711 break;}
6712 case 595:
6713 #line 2762 "parse.y"
6714 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6715 break;}
6716 case 596:
6717 #line 2764 "parse.y"
6718 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6719 break;}
6720 case 597:
6721 #line 2766 "parse.y"
6722 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6723 break;}
6724 case 598:
6725 #line 2768 "parse.y"
6726 { yyval.ttype = yyvsp[-1].ttype; ;
6727 break;}
6728 case 599:
6729 #line 2770 "parse.y"
6730 { push_nested_class (yyvsp[-1].ttype, 3);
6731 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6732 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6733 break;}
6734 case 601:
6735 #line 2781 "parse.y"
6736 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6737 break;}
6738 case 602:
6739 #line 2783 "parse.y"
6740 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6741 break;}
6742 case 603:
6743 #line 2785 "parse.y"
6744 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6745 break;}
6746 case 604:
6747 #line 2787 "parse.y"
6748 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6749 break;}
6750 case 605:
6751 #line 2789 "parse.y"
6752 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6753 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6754 ;
6755 break;}
6756 case 607:
6757 #line 2797 "parse.y"
6758 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6759 break;}
6760 case 608:
6761 #line 2799 "parse.y"
6762 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6763 break;}
6764 case 609:
6765 #line 2801 "parse.y"
6766 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6767 break;}
6768 case 610:
6769 #line 2803 "parse.y"
6770 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6771 break;}
6772 case 611:
6773 #line 2805 "parse.y"
6774 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6775 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6776 ;
6777 break;}
6778 case 613:
6779 #line 2813 "parse.y"
6780 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6781 break;}
6782 case 614:
6783 #line 2815 "parse.y"
6784 { yyval.ttype = yyvsp[-1].ttype; ;
6785 break;}
6786 case 615:
6787 #line 2817 "parse.y"
6788 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6789 break;}
6790 case 616:
6791 #line 2819 "parse.y"
6792 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6793 break;}
6794 case 617:
6795 #line 2821 "parse.y"
6796 { enter_scope_of (yyvsp[0].ttype); ;
6797 break;}
6798 case 618:
6799 #line 2823 "parse.y"
6800 { got_scope = NULL_TREE;
6801 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6802 enter_scope_of (yyval.ttype);
6803 ;
6804 break;}
6805 case 619:
6806 #line 2831 "parse.y"
6807 { got_scope = NULL_TREE;
6808 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6809 break;}
6810 case 620:
6811 #line 2834 "parse.y"
6812 { got_scope = NULL_TREE;
6813 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6814 break;}
6815 case 621:
6816 #line 2840 "parse.y"
6817 { got_scope = NULL_TREE;
6818 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6819 break;}
6820 case 622:
6821 #line 2843 "parse.y"
6822 { got_scope = NULL_TREE;
6823 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6824 break;}
6825 case 624:
6826 #line 2850 "parse.y"
6827 { yyval.ttype = yyvsp[0].ttype; ;
6828 break;}
6829 case 625:
6830 #line 2855 "parse.y"
6831 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6832 break;}
6833 case 626:
6834 #line 2857 "parse.y"
6835 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6836 break;}
6837 case 627:
6838 #line 2859 "parse.y"
6839 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6840 break;}
6841 case 632:
6842 #line 2871 "parse.y"
6843 { yyval.ttype = yyvsp[0].ttype; ;
6844 break;}
6845 case 633:
6846 #line 2873 "parse.y"
6847 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6848 break;}
6849 case 634:
6850 #line 2880 "parse.y"
6851 {
6852 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6853 {
6854 yyval.ttype = lastiddecl;
6855 /* Remember that this name has been used in the class
6856 definition, as per [class.scope0] */
6857 if (current_class_type
6858 && TYPE_BEING_DEFINED (current_class_type)
6859 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6860 pushdecl_class_level (yyval.ttype);
6861 }
6862 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6863 ;
6864 break;}
6865 case 635:
6866 #line 2894 "parse.y"
6867 {
6868 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6869 yyval.ttype = lastiddecl;
6870 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6871 ;
6872 break;}
6873 case 636:
6874 #line 2900 "parse.y"
6875 {
6876 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6877 yyval.ttype = lastiddecl;
6878 got_scope = yyval.ttype;
6879 ;
6880 break;}
6881 case 637:
6882 #line 2906 "parse.y"
6883 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6884 break;}
6885 case 639:
6886 #line 2922 "parse.y"
6887 { yyval.ttype = yyvsp[0].ttype; ;
6888 break;}
6889 case 640:
6890 #line 2927 "parse.y"
6891 {
6892 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6893 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6894 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6895 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6896 else
6897 {
6898 yyval.ttype = yyvsp[0].ttype;
6899 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6900 yyval.ttype = TREE_TYPE (yyval.ttype);
6901 }
6902 ;
6903 break;}
6904 case 641:
6905 #line 2940 "parse.y"
6906 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6907 break;}
6908 case 642:
6909 #line 2942 "parse.y"
6910 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6911 break;}
6912 case 643:
6913 #line 2944 "parse.y"
6914 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6915 break;}
6916 case 644:
6917 #line 2949 "parse.y"
6918 {
6919 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6920 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6921 ;
6922 break;}
6923 case 645:
6924 #line 2954 "parse.y"
6925 {
6926 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6927 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6928 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6929 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6930 else
6931 {
6932 yyval.ttype = yyvsp[0].ttype;
6933 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6934 yyval.ttype = TREE_TYPE (yyval.ttype);
6935 }
6936 ;
6937 break;}
6938 case 646:
6939 #line 2967 "parse.y"
6940 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6941 break;}
6942 case 647:
6943 #line 2969 "parse.y"
6944 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6945 break;}
6946 case 648:
6947 #line 2974 "parse.y"
6948 {
6949 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6950 yyvsp[-1].ttype = lastiddecl;
6951
6952 /* Retrieve the type for the identifier, which might involve
6953 some computation. */
6954 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6955
6956 if (yyval.ttype == error_mark_node)
6957 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6958 ;
6959 break;}
6960 case 649:
6961 #line 2986 "parse.y"
6962 {
6963 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6964 yyval.ttype = lastiddecl;
6965 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6966 ;
6967 break;}
6968 case 650:
6969 #line 2992 "parse.y"
6970 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6971 break;}
6972 case 653:
6973 #line 2996 "parse.y"
6974 {
6975 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6976 yyval.ttype = lastiddecl;
6977 got_scope = yyval.ttype;
6978 ;
6979 break;}
6980 case 654:
6981 #line 3005 "parse.y"
6982 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6983 break;}
6984 case 655:
6985 #line 3010 "parse.y"
6986 {
6987 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6988 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6989 else
6990 yyval.ttype = yyvsp[0].ttype;
6991 got_scope = NULL_TREE;
6992 ;
6993 break;}
6994 case 657:
6995 #line 3019 "parse.y"
6996 { yyval.ttype = yyvsp[0].ttype; ;
6997 break;}
6998 case 658:
6999 #line 3024 "parse.y"
7000 { got_scope = NULL_TREE; ;
7001 break;}
7002 case 659:
7003 #line 3026 "parse.y"
7004 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7005 break;}
7006 case 660:
7007 #line 3033 "parse.y"
7008 { got_scope = void_type_node; ;
7009 break;}
7010 case 661:
7011 #line 3039 "parse.y"
7012 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7013 break;}
7014 case 662:
7015 #line 3041 "parse.y"
7016 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7017 break;}
7018 case 663:
7019 #line 3043 "parse.y"
7020 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7021 break;}
7022 case 664:
7023 #line 3045 "parse.y"
7024 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7025 break;}
7026 case 665:
7027 #line 3047 "parse.y"
7028 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7029 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7030 ;
7031 break;}
7032 case 666:
7033 #line 3051 "parse.y"
7034 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7035 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7036 ;
7037 break;}
7038 case 668:
7039 #line 3060 "parse.y"
7040 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7041 break;}
7042 case 669:
7043 #line 3062 "parse.y"
7044 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7045 break;}
7046 case 670:
7047 #line 3068 "parse.y"
7048 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7049 break;}
7050 case 671:
7051 #line 3070 "parse.y"
7052 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7053 break;}
7054 case 672:
7055 #line 3072 "parse.y"
7056 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7057 break;}
7058 case 673:
7059 #line 3074 "parse.y"
7060 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7061 break;}
7062 case 674:
7063 #line 3076 "parse.y"
7064 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7065 break;}
7066 case 675:
7067 #line 3078 "parse.y"
7068 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7069 break;}
7070 case 676:
7071 #line 3080 "parse.y"
7072 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7073 break;}
7074 case 677:
7075 #line 3082 "parse.y"
7076 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7077 break;}
7078 case 678:
7079 #line 3084 "parse.y"
7080 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7081 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7082 ;
7083 break;}
7084 case 679:
7085 #line 3088 "parse.y"
7086 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7087 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7088 ;
7089 break;}
7090 case 681:
7091 #line 3097 "parse.y"
7092 { yyval.ttype = yyvsp[-1].ttype; ;
7093 break;}
7094 case 683:
7095 #line 3101 "parse.y"
7096 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7097 break;}
7098 case 684:
7099 #line 3103 "parse.y"
7100 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7101 break;}
7102 case 685:
7103 #line 3105 "parse.y"
7104 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7105 break;}
7106 case 686:
7107 #line 3107 "parse.y"
7108 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7109 break;}
7110 case 687:
7111 #line 3109 "parse.y"
7112 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7113 break;}
7114 case 688:
7115 #line 3111 "parse.y"
7116 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7117 break;}
7118 case 689:
7119 #line 3113 "parse.y"
7120 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7121 break;}
7122 case 690:
7123 #line 3115 "parse.y"
7124 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7125 break;}
7126 case 691:
7127 #line 3117 "parse.y"
7128 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7129 break;}
7130 case 698:
7131 #line 3140 "parse.y"
7132 { if (pedantic)
7133 pedwarn ("ANSI C++ forbids label declarations"); ;
7134 break;}
7135 case 701:
7136 #line 3151 "parse.y"
7137 { tree link;
7138 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7139 {
7140 tree label = shadow_label (TREE_VALUE (link));
7141 C_DECLARED_LABEL_FLAG (label) = 1;
7142 declare_nonlocal_label (label);
7143 }
7144 ;
7145 break;}
7146 case 702:
7147 #line 3165 "parse.y"
7148 {;
7149 break;}
7150 case 704:
7151 #line 3171 "parse.y"
7152 { yyval.ttype = begin_compound_stmt (0); ;
7153 break;}
7154 case 705:
7155 #line 3173 "parse.y"
7156 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7157 break;}
7158 case 706:
7159 #line 3178 "parse.y"
7160 {
7161 yyval.ttype = begin_if_stmt ();
7162 cond_stmt_keyword = "if";
7163 ;
7164 break;}
7165 case 707:
7166 #line 3183 "parse.y"
7167 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7168 break;}
7169 case 708:
7170 #line 3185 "parse.y"
7171 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7172 break;}
7173 case 710:
7174 #line 3190 "parse.y"
7175 { yyval.ttype = begin_compound_stmt (0); ;
7176 break;}
7177 case 711:
7178 #line 3192 "parse.y"
7179 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7180 break;}
7181 case 712:
7182 #line 3197 "parse.y"
7183 {;
7184 break;}
7185 case 714:
7186 #line 3203 "parse.y"
7187 { finish_stmt (); ;
7188 break;}
7189 case 715:
7190 #line 3205 "parse.y"
7191 { finish_expr_stmt (yyvsp[-1].ttype); ;
7192 break;}
7193 case 716:
7194 #line 3207 "parse.y"
7195 { begin_else_clause (); ;
7196 break;}
7197 case 717:
7198 #line 3209 "parse.y"
7199 {
7200 finish_else_clause (yyvsp[-3].ttype);
7201 finish_if_stmt ();
7202 ;
7203 break;}
7204 case 718:
7205 #line 3214 "parse.y"
7206 { finish_if_stmt (); ;
7207 break;}
7208 case 719:
7209 #line 3216 "parse.y"
7210 {
7211 yyval.ttype = begin_while_stmt ();
7212 cond_stmt_keyword = "while";
7213 ;
7214 break;}
7215 case 720:
7216 #line 3221 "parse.y"
7217 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7218 break;}
7219 case 721:
7220 #line 3223 "parse.y"
7221 { finish_while_stmt (yyvsp[-3].ttype); ;
7222 break;}
7223 case 722:
7224 #line 3225 "parse.y"
7225 { yyval.ttype = begin_do_stmt (); ;
7226 break;}
7227 case 723:
7228 #line 3227 "parse.y"
7229 {
7230 finish_do_body (yyvsp[-2].ttype);
7231 cond_stmt_keyword = "do";
7232 ;
7233 break;}
7234 case 724:
7235 #line 3232 "parse.y"
7236 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7237 break;}
7238 case 725:
7239 #line 3234 "parse.y"
7240 { yyval.ttype = begin_for_stmt (); ;
7241 break;}
7242 case 726:
7243 #line 3236 "parse.y"
7244 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7245 break;}
7246 case 727:
7247 #line 3238 "parse.y"
7248 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7249 break;}
7250 case 728:
7251 #line 3240 "parse.y"
7252 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7253 break;}
7254 case 729:
7255 #line 3242 "parse.y"
7256 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7257 break;}
7258 case 730:
7259 #line 3244 "parse.y"
7260 { begin_switch_stmt (); ;
7261 break;}
7262 case 731:
7263 #line 3246 "parse.y"
7264 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7265 break;}
7266 case 732:
7267 #line 3248 "parse.y"
7268 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7269 break;}
7270 case 733:
7271 #line 3250 "parse.y"
7272 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7273 break;}
7274 case 735:
7275 #line 3253 "parse.y"
7276 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7277 break;}
7278 case 737:
7279 #line 3256 "parse.y"
7280 { finish_case_label (NULL_TREE, NULL_TREE); ;
7281 break;}
7282 case 739:
7283 #line 3259 "parse.y"
7284 { finish_break_stmt (); ;
7285 break;}
7286 case 740:
7287 #line 3261 "parse.y"
7288 { finish_continue_stmt (); ;
7289 break;}
7290 case 741:
7291 #line 3263 "parse.y"
7292 { finish_return_stmt (NULL_TREE); ;
7293 break;}
7294 case 742:
7295 #line 3265 "parse.y"
7296 { finish_return_stmt (yyvsp[-1].ttype); ;
7297 break;}
7298 case 743:
7299 #line 3267 "parse.y"
7300 {
7301 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7302 NULL_TREE);
7303 ;
7304 break;}
7305 case 744:
7306 #line 3273 "parse.y"
7307 {
7308 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7309 NULL_TREE);
7310 ;
7311 break;}
7312 case 745:
7313 #line 3279 "parse.y"
7314 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7315 break;}
7316 case 746:
7317 #line 3283 "parse.y"
7318 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7319 break;}
7320 case 747:
7321 #line 3285 "parse.y"
7322 {
7323 if (pedantic)
7324 pedwarn ("ANSI C++ forbids computed gotos");
7325 finish_goto_stmt (yyvsp[-1].ttype);
7326 ;
7327 break;}
7328 case 748:
7329 #line 3291 "parse.y"
7330 { finish_goto_stmt (yyvsp[-1].ttype); ;
7331 break;}
7332 case 749:
7333 #line 3293 "parse.y"
7334 { finish_stmt (); ;
7335 break;}
7336 case 750:
7337 #line 3295 "parse.y"
7338 { error ("label must be followed by statement");
7339 yyungetc ('}', 0);
7340 finish_stmt (); ;
7341 break;}
7342 case 751:
7343 #line 3299 "parse.y"
7344 { finish_stmt (); ;
7345 break;}
7346 case 754:
7347 #line 3303 "parse.y"
7348 { do_local_using_decl (yyvsp[0].ttype); ;
7349 break;}
7350 case 756:
7351 #line 3309 "parse.y"
7352 {
7353 if (! current_function_parms_stored)
7354 store_parm_decls ();
7355 expand_start_early_try_stmts ();
7356 ;
7357 break;}
7358 case 757:
7359 #line 3315 "parse.y"
7360 {
7361 expand_start_all_catch ();
7362 ;
7363 break;}
7364 case 758:
7365 #line 3319 "parse.y"
7366 {
7367 int nested = (hack_decl_function_context
7368 (current_function_decl) != NULL_TREE);
7369 expand_end_all_catch ();
7370 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7371 ;
7372 break;}
7373 case 759:
7374 #line 3329 "parse.y"
7375 { yyval.ttype = begin_try_block (); ;
7376 break;}
7377 case 760:
7378 #line 3331 "parse.y"
7379 { finish_try_block (yyvsp[-1].ttype); ;
7380 break;}
7381 case 761:
7382 #line 3333 "parse.y"
7383 { finish_handler_sequence (yyvsp[-3].ttype); ;
7384 break;}
7385 case 764:
7386 #line 3343 "parse.y"
7387 { yyval.ttype = begin_handler(); ;
7388 break;}
7389 case 765:
7390 #line 3345 "parse.y"
7391 { finish_handler_parms (yyvsp[-1].ttype); ;
7392 break;}
7393 case 766:
7394 #line 3347 "parse.y"
7395 { finish_handler (yyvsp[-3].ttype); ;
7396 break;}
7397 case 769:
7398 #line 3357 "parse.y"
7399 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7400 break;}
7401 case 770:
7402 #line 3373 "parse.y"
7403 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7404 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7405 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7406 break;}
7407 case 771:
7408 #line 3380 "parse.y"
7409 { tree label;
7410 do_label:
7411 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7412 if (label && ! minimal_parse_mode)
7413 expand_label (label);
7414 ;
7415 break;}
7416 case 772:
7417 #line 3387 "parse.y"
7418 { goto do_label; ;
7419 break;}
7420 case 773:
7421 #line 3389 "parse.y"
7422 { goto do_label; ;
7423 break;}
7424 case 774:
7425 #line 3391 "parse.y"
7426 { goto do_label; ;
7427 break;}
7428 case 775:
7429 #line 3396 "parse.y"
7430 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7431 break;}
7432 case 777:
7433 #line 3399 "parse.y"
7434 { if (pedantic)
7435 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7436 ;
7437 break;}
7438 case 778:
7439 #line 3408 "parse.y"
7440 { emit_line_note (input_filename, lineno);
7441 yyval.ttype = NULL_TREE; ;
7442 break;}
7443 case 779:
7444 #line 3411 "parse.y"
7445 { emit_line_note (input_filename, lineno); ;
7446 break;}
7447 case 780:
7448 #line 3416 "parse.y"
7449 { yyval.ttype = NULL_TREE; ;
7450 break;}
7451 case 782:
7452 #line 3419 "parse.y"
7453 { yyval.ttype = NULL_TREE; ;
7454 break;}
7455 case 783:
7456 #line 3426 "parse.y"
7457 { yyval.ttype = NULL_TREE; ;
7458 break;}
7459 case 786:
7460 #line 3433 "parse.y"
7461 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7462 break;}
7463 case 787:
7464 #line 3438 "parse.y"
7465 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7466 break;}
7467 case 788:
7468 #line 3443 "parse.y"
7469 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7470 break;}
7471 case 789:
7472 #line 3445 "parse.y"
7473 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7474 break;}
7475 case 790:
7476 #line 3456 "parse.y"
7477 {
7478 yyval.ttype = empty_parms();
7479 ;
7480 break;}
7481 case 792:
7482 #line 3461 "parse.y"
7483 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7484 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7485 break;}
7486 case 793:
7487 #line 3469 "parse.y"
7488 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7489 break;}
7490 case 794:
7491 #line 3471 "parse.y"
7492 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7493 break;}
7494 case 795:
7495 #line 3474 "parse.y"
7496 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7497 break;}
7498 case 796:
7499 #line 3476 "parse.y"
7500 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7501 yyvsp[-1].ftype.t), 1); ;
7502 break;}
7503 case 797:
7504 #line 3479 "parse.y"
7505 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7506 break;}
7507 case 798:
7508 #line 3481 "parse.y"
7509 {
7510 /* This helps us recover from really nasty
7511 parse errors, for example, a missing right
7512 parenthesis. */
7513 yyerror ("possibly missing ')'");
7514 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7515 yyungetc (':', 0);
7516 yychar = ')';
7517 ;
7518 break;}
7519 case 799:
7520 #line 3491 "parse.y"
7521 {
7522 /* This helps us recover from really nasty
7523 parse errors, for example, a missing right
7524 parenthesis. */
7525 yyerror ("possibly missing ')'");
7526 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7527 yyvsp[-1].ftype.t), 0);
7528 yyungetc (':', 0);
7529 yychar = ')';
7530 ;
7531 break;}
7532 case 800:
7533 #line 3506 "parse.y"
7534 { maybe_snarf_defarg (); ;
7535 break;}
7536 case 801:
7537 #line 3508 "parse.y"
7538 { yyval.ttype = yyvsp[0].ttype; ;
7539 break;}
7540 case 804:
7541 #line 3519 "parse.y"
7542 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7543 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7544 break;}
7545 case 805:
7546 #line 3522 "parse.y"
7547 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7548 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7549 break;}
7550 case 806:
7551 #line 3525 "parse.y"
7552 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7553 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7554 break;}
7555 case 807:
7556 #line 3528 "parse.y"
7557 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7558 break;}
7559 case 808:
7560 #line 3530 "parse.y"
7561 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7562 break;}
7563 case 810:
7564 #line 3536 "parse.y"
7565 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7566 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7567 break;}
7568 case 811:
7569 #line 3546 "parse.y"
7570 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7571 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7572 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7573 break;}
7574 case 812:
7575 #line 3550 "parse.y"
7576 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7577 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7578 break;}
7579 case 813:
7580 #line 3553 "parse.y"
7581 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7582 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7583 break;}
7584 case 814:
7585 #line 3556 "parse.y"
7586 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7587 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7588 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7589 break;}
7590 case 815:
7591 #line 3560 "parse.y"
7592 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7593 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7594 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7595 break;}
7596 case 816:
7597 #line 3564 "parse.y"
7598 { tree specs = strip_attrs (yyvsp[-1].ttype);
7599 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7600 yyval.ftype.new_type_flag = 0; ;
7601 break;}
7602 case 817:
7603 #line 3571 "parse.y"
7604 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7605 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7606 break;}
7607 case 818:
7608 #line 3574 "parse.y"
7609 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7610 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7611 break;}
7612 case 821:
7613 #line 3585 "parse.y"
7614 { see_typename (); ;
7615 break;}
7616 case 822:
7617 #line 3590 "parse.y"
7618 {
7619 error ("type specifier omitted for parameter");
7620 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7621 ;
7622 break;}
7623 case 823:
7624 #line 3595 "parse.y"
7625 {
7626 error ("type specifier omitted for parameter");
7627 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7628 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7629 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7630 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7631 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7632 ;
7633 break;}
7634 case 824:
7635 #line 3607 "parse.y"
7636 { yyval.ttype = NULL_TREE; ;
7637 break;}
7638 case 825:
7639 #line 3609 "parse.y"
7640 { yyval.ttype = yyvsp[-1].ttype; ;
7641 break;}
7642 case 826:
7643 #line 3611 "parse.y"
7644 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7645 break;}
7646 case 827:
7647 #line 3616 "parse.y"
7648 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7649 break;}
7650 case 829:
7651 #line 3622 "parse.y"
7652 {
7653 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7654 yyval.ttype = yyvsp[0].ttype;
7655 ;
7656 break;}
7657 case 830:
7658 #line 3630 "parse.y"
7659 { yyval.ttype = NULL_TREE; ;
7660 break;}
7661 case 831:
7662 #line 3632 "parse.y"
7663 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7664 break;}
7665 case 832:
7666 #line 3634 "parse.y"
7667 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7668 break;}
7669 case 833:
7670 #line 3636 "parse.y"
7671 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7672 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7673 ;
7674 break;}
7675 case 834:
7676 #line 3643 "parse.y"
7677 { got_scope = NULL_TREE; ;
7678 break;}
7679 case 835:
7680 #line 3648 "parse.y"
7681 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7682 break;}
7683 case 836:
7684 #line 3650 "parse.y"
7685 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7686 break;}
7687 case 837:
7688 #line 3652 "parse.y"
7689 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7690 break;}
7691 case 838:
7692 #line 3654 "parse.y"
7693 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7694 break;}
7695 case 839:
7696 #line 3656 "parse.y"
7697 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7698 break;}
7699 case 840:
7700 #line 3658 "parse.y"
7701 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7702 break;}
7703 case 841:
7704 #line 3660 "parse.y"
7705 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7706 break;}
7707 case 842:
7708 #line 3662 "parse.y"
7709 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7710 break;}
7711 case 843:
7712 #line 3664 "parse.y"
7713 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7714 break;}
7715 case 844:
7716 #line 3666 "parse.y"
7717 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7718 break;}
7719 case 845:
7720 #line 3668 "parse.y"
7721 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7722 break;}
7723 case 846:
7724 #line 3670 "parse.y"
7725 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7726 break;}
7727 case 847:
7728 #line 3672 "parse.y"
7729 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7730 break;}
7731 case 848:
7732 #line 3674 "parse.y"
7733 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7734 break;}
7735 case 849:
7736 #line 3676 "parse.y"
7737 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7738 break;}
7739 case 850:
7740 #line 3678 "parse.y"
7741 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7742 break;}
7743 case 851:
7744 #line 3680 "parse.y"
7745 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7746 break;}
7747 case 852:
7748 #line 3682 "parse.y"
7749 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7750 break;}
7751 case 853:
7752 #line 3684 "parse.y"
7753 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7754 break;}
7755 case 854:
7756 #line 3686 "parse.y"
7757 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7758 break;}
7759 case 855:
7760 #line 3688 "parse.y"
7761 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7762 break;}
7763 case 856:
7764 #line 3690 "parse.y"
7765 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7766 break;}
7767 case 857:
7768 #line 3692 "parse.y"
7769 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7770 break;}
7771 case 858:
7772 #line 3694 "parse.y"
7773 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7774 break;}
7775 case 859:
7776 #line 3696 "parse.y"
7777 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7778 break;}
7779 case 860:
7780 #line 3698 "parse.y"
7781 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7782 break;}
7783 case 861:
7784 #line 3700 "parse.y"
7785 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7786 break;}
7787 case 862:
7788 #line 3702 "parse.y"
7789 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7790 break;}
7791 case 863:
7792 #line 3704 "parse.y"
7793 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7794 break;}
7795 case 864:
7796 #line 3706 "parse.y"
7797 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7798 break;}
7799 case 865:
7800 #line 3708 "parse.y"
7801 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7802 break;}
7803 case 866:
7804 #line 3710 "parse.y"
7805 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7806 break;}
7807 case 867:
7808 #line 3712 "parse.y"
7809 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7810 break;}
7811 case 868:
7812 #line 3715 "parse.y"
7813 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7814 break;}
7815 case 869:
7816 #line 3717 "parse.y"
7817 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7818 break;}
7819 }
7820 /* the action file gets copied in in place of this dollarsign */
7821 #line 498 "/usr/lib/bison.simple"
7822 \f
7823 yyvsp -= yylen;
7824 yyssp -= yylen;
7825 #ifdef YYLSP_NEEDED
7826 yylsp -= yylen;
7827 #endif
7828
7829 #if YYDEBUG != 0
7830 if (yydebug)
7831 {
7832 short *ssp1 = yyss - 1;
7833 fprintf (stderr, "state stack now");
7834 while (ssp1 != yyssp)
7835 fprintf (stderr, " %d", *++ssp1);
7836 fprintf (stderr, "\n");
7837 }
7838 #endif
7839
7840 *++yyvsp = yyval;
7841
7842 #ifdef YYLSP_NEEDED
7843 yylsp++;
7844 if (yylen == 0)
7845 {
7846 yylsp->first_line = yylloc.first_line;
7847 yylsp->first_column = yylloc.first_column;
7848 yylsp->last_line = (yylsp-1)->last_line;
7849 yylsp->last_column = (yylsp-1)->last_column;
7850 yylsp->text = 0;
7851 }
7852 else
7853 {
7854 yylsp->last_line = (yylsp+yylen-1)->last_line;
7855 yylsp->last_column = (yylsp+yylen-1)->last_column;
7856 }
7857 #endif
7858
7859 /* Now "shift" the result of the reduction.
7860 Determine what state that goes to,
7861 based on the state we popped back to
7862 and the rule number reduced by. */
7863
7864 yyn = yyr1[yyn];
7865
7866 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7867 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7868 yystate = yytable[yystate];
7869 else
7870 yystate = yydefgoto[yyn - YYNTBASE];
7871
7872 goto yynewstate;
7873
7874 yyerrlab: /* here on detecting error */
7875
7876 if (! yyerrstatus)
7877 /* If not already recovering from an error, report this error. */
7878 {
7879 ++yynerrs;
7880
7881 #ifdef YYERROR_VERBOSE
7882 yyn = yypact[yystate];
7883
7884 if (yyn > YYFLAG && yyn < YYLAST)
7885 {
7886 int size = 0;
7887 char *msg;
7888 int x, count;
7889
7890 count = 0;
7891 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7892 for (x = (yyn < 0 ? -yyn : 0);
7893 x < (sizeof(yytname) / sizeof(char *)); x++)
7894 if (yycheck[x + yyn] == x)
7895 size += strlen(yytname[x]) + 15, count++;
7896 msg = (char *) malloc(size + 15);
7897 if (msg != 0)
7898 {
7899 strcpy(msg, "parse error");
7900
7901 if (count < 5)
7902 {
7903 count = 0;
7904 for (x = (yyn < 0 ? -yyn : 0);
7905 x < (sizeof(yytname) / sizeof(char *)); x++)
7906 if (yycheck[x + yyn] == x)
7907 {
7908 strcat(msg, count == 0 ? ", expecting `" : " or `");
7909 strcat(msg, yytname[x]);
7910 strcat(msg, "'");
7911 count++;
7912 }
7913 }
7914 yyerror(msg);
7915 free(msg);
7916 }
7917 else
7918 yyerror ("parse error; also virtual memory exceeded");
7919 }
7920 else
7921 #endif /* YYERROR_VERBOSE */
7922 yyerror("parse error");
7923 }
7924
7925 goto yyerrlab1;
7926 yyerrlab1: /* here on error raised explicitly by an action */
7927
7928 if (yyerrstatus == 3)
7929 {
7930 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7931
7932 /* return failure if at end of input */
7933 if (yychar == YYEOF)
7934 YYABORT;
7935
7936 #if YYDEBUG != 0
7937 if (yydebug)
7938 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7939 #endif
7940
7941 yychar = YYEMPTY;
7942 }
7943
7944 /* Else will try to reuse lookahead token
7945 after shifting the error token. */
7946
7947 yyerrstatus = 3; /* Each real token shifted decrements this */
7948
7949 goto yyerrhandle;
7950
7951 yyerrdefault: /* current state does not do anything special for the error token. */
7952
7953 #if 0
7954 /* This is wrong; only states that explicitly want error tokens
7955 should shift them. */
7956 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7957 if (yyn) goto yydefault;
7958 #endif
7959
7960 yyerrpop: /* pop the current state because it cannot handle the error token */
7961
7962 if (yyssp == yyss) YYABORT;
7963 yyvsp--;
7964 yystate = *--yyssp;
7965 #ifdef YYLSP_NEEDED
7966 yylsp--;
7967 #endif
7968
7969 #if YYDEBUG != 0
7970 if (yydebug)
7971 {
7972 short *ssp1 = yyss - 1;
7973 fprintf (stderr, "Error: state stack now");
7974 while (ssp1 != yyssp)
7975 fprintf (stderr, " %d", *++ssp1);
7976 fprintf (stderr, "\n");
7977 }
7978 #endif
7979
7980 yyerrhandle:
7981
7982 yyn = yypact[yystate];
7983 if (yyn == YYFLAG)
7984 goto yyerrdefault;
7985
7986 yyn += YYTERROR;
7987 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7988 goto yyerrdefault;
7989
7990 yyn = yytable[yyn];
7991 if (yyn < 0)
7992 {
7993 if (yyn == YYFLAG)
7994 goto yyerrpop;
7995 yyn = -yyn;
7996 goto yyreduce;
7997 }
7998 else if (yyn == 0)
7999 goto yyerrpop;
8000
8001 if (yyn == YYFINAL)
8002 YYACCEPT;
8003
8004 #if YYDEBUG != 0
8005 if (yydebug)
8006 fprintf(stderr, "Shifting error token, ");
8007 #endif
8008
8009 *++yyvsp = yylval;
8010 #ifdef YYLSP_NEEDED
8011 *++yylsp = yylloc;
8012 #endif
8013
8014 yystate = yyn;
8015 goto yynewstate;
8016 }
8017 #line 3720 "parse.y"
8018
8019
8020 #ifdef SPEW_DEBUG
8021 const char *
8022 debug_yytranslate (value)
8023 int value;
8024 {
8025 return yytname[YYTRANSLATE (value)];
8026 }
8027
8028 #endif