This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.0 alpha 5
[perl5.git] / perly.c
CommitLineData
93a17b20
LW
1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
5#line 39 "perly.y"
79072805
LW
6#include "EXTERN.h"
7#include "perl.h"
8
9/*SUPPRESS 530*/
10/*SUPPRESS 593*/
11/*SUPPRESS 595*/
12
93a17b20
LW
13#line 50 "perly.y"
14typedef union {
79072805
LW
15 I32 ival;
16 char *pval;
17 OP *opval;
18 GV *gvval;
19} YYSTYPE;
93a17b20
LW
20#line 21 "y.tab.c"
21#define WORD 257
22#define METHOD 258
23#define THING 259
24#define PMFUNC 260
25#define PRIVATEREF 261
26#define LABEL 262
27#define FORMAT 263
28#define SUB 264
29#define PACKAGE 265
30#define WHILE 266
31#define UNTIL 267
32#define IF 268
33#define UNLESS 269
34#define ELSE 270
35#define ELSIF 271
36#define CONTINUE 272
37#define FOR 273
38#define LOOPEX 274
39#define DOTDOT 275
40#define FUNC0 276
41#define FUNC1 277
42#define FUNC 278
43#define RELOP 279
44#define EQOP 280
45#define MULOP 281
46#define ADDOP 282
47#define DOLSHARP 283
48#define DO 284
49#define LOCAL 285
50#define DELETE 286
51#define HASHBRACK 287
52#define NOAMP 288
463ee0b2
LW
53#define OROP 289
54#define ANDOP 290
55#define LSTOP 291
56#define OROR 292
57#define ANDAND 293
58#define BITOROP 294
59#define BITANDOP 295
60#define UNIOP 296
61#define SHIFTOP 297
62#define MATCHOP 298
63#define ARROW 299
64#define UMINUS 300
65#define REFGEN 301
66#define POWOP 302
67#define PREINC 303
68#define PREDEC 304
69#define POSTINC 305
70#define POSTDEC 306
93a17b20
LW
71#define YYERRCODE 256
72short yylhs[] = { -1,
73 30, 0, 7, 3, 8, 8, 8, 9, 9, 9,
74 9, 23, 23, 23, 23, 23, 23, 13, 13, 13,
75 11, 11, 11, 11, 29, 29, 10, 10, 10, 10,
76 10, 10, 10, 10, 12, 12, 26, 26, 28, 28,
77 1, 1, 1, 2, 2, 31, 31, 32, 32, 14,
78 14, 27, 27, 27, 27, 27, 27, 27, 27, 15,
79 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
80 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
463ee0b2 81 15, 15, 15, 15, 16, 16, 16, 16, 16, 16,
93a17b20
LW
82 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
83 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
463ee0b2
LW
86 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
87 16, 16, 24, 24, 22, 17, 18, 19, 20, 21,
88 25, 25, 25, 25, 4, 4, 5, 5, 6, 6,
93a17b20
LW
89};
90short yylen[] = { 2,
91 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
92 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
93 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
94 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
95 1, 1, 1, 3, 2, 3, 3, 3, 2, 3,
96 1, 3, 5, 4, 6, 6, 3, 2, 4, 3,
97 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
463ee0b2
LW
98 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
99 3, 5, 3, 1, 2, 2, 2, 2, 2, 2,
100 2, 2, 2, 2, 3, 2, 3, 2, 3, 3,
101 1, 1, 4, 5, 4, 1, 1, 1, 5, 6,
102 5, 6, 5, 4, 5, 6, 8, 1, 1, 3,
103 4, 3, 4, 2, 2, 4, 5, 4, 5, 1,
104 2, 1, 2, 2, 1, 3, 3, 4, 4, 6,
105 1, 1, 0, 1, 2, 2, 2, 2, 2, 2,
106 1, 1, 1, 1, 2, 1, 2, 1, 3, 2,
93a17b20
LW
107};
108short yydefred[] = { 1,
109 0, 5, 0, 40, 0, 0, 0, 6, 41, 7,
110 9, 0, 42, 43, 4, 0, 45, 0, 0, 49,
463ee0b2 111 12, 0, 0, 118, 0, 154, 0, 0, 0, 0,
93a17b20
LW
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
463ee0b2
LW
115 0, 0, 0, 0, 0, 106, 108, 102, 0, 0,
116 0, 142, 5, 44, 47, 46, 48, 151, 153, 152,
93a17b20 117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 118 0, 0, 131, 0, 0, 0, 149, 0, 125, 0,
93a17b20 119 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
463ee0b2
LW
120 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 98, 0, 145, 146, 147, 148, 150, 0, 34,
93a17b20
LW
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
124 0, 0, 0, 90, 91, 0, 0, 0, 0, 0,
125 0, 11, 0, 0, 57, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 36, 0, 136,
127 137, 0, 0, 0, 0, 0, 0, 0, 100, 0,
128 0, 99, 122, 0, 52, 0, 156, 0, 0, 0,
129 158, 97, 26, 0, 0, 0, 0, 0, 0, 0,
93a17b20
LW
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
133 0, 120, 0, 0, 0, 3, 139, 0, 0, 29,
134 0, 30, 0, 0, 0, 23, 0, 24, 0, 0,
135 0, 138, 59, 0, 126, 0, 128, 0, 0, 0,
136 0, 160, 123, 0, 155, 0, 157, 0, 0, 0,
93a17b20 137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
138 105, 0, 103, 0, 114, 121, 0, 54, 0, 0,
139 0, 0, 19, 0, 0, 0, 0, 0, 53, 127,
140 129, 0, 0, 159, 113, 0, 0, 111, 0, 0,
141 104, 109, 115, 0, 140, 27, 28, 21, 0, 22,
142 0, 32, 0, 0, 116, 112, 110, 56, 55, 0,
143 0, 31, 0, 0, 0, 117, 20, 33,
93a17b20
LW
144};
145short yydgoto[] = { 1,
463ee0b2
LW
146 8, 9, 73, 199, 202, 192, 79, 3, 10, 11,
147 60, 176, 256, 108, 62, 63, 64, 65, 66, 67,
148 68, 69, 178, 109, 71, 168, 72, 12, 130, 2,
93a17b20
LW
149 13, 14,
150};
151short yysindex[] = { 0,
463ee0b2
LW
152 0, 0, 50, 0, -111, -240, -53, 0, 0, 0,
153 0, 892, 0, 0, 0, -47, 0, -24, -39, 0,
154 0, 0, -33, 0, -9, 0, -30, -26, -25, -22,
155 32, -214, 68, 87, 108, -33, 2699, 2800, 38, 992,
156 -79, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1048, 0,
157 2800, 2800, 1098, -33, -33, -33, -33, -33, -93, 0,
158 -4, 502, -87, -72, -52, 0, 0, 0, 140, 139,
159 -97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 2800, 2800, 2800, -47, 2800, -47, 2800, -47, 2800, -47,
161 1222, 175, 0, 180, 1328, 2800, 0, 176, 0, 9,
162 -32, 9, 207, 109, 120, 11, 2800, 203, 0, 1378,
163 0, 9, -70, -70, -70, -50, -50, 159, 1, -70,
164 -70, 0, -18, 0, 0, 0, 0, 0, -47, 0,
165 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1428, 1499,
166 2800, 2800, 2800, 2800, 1700, 1756, 1806, 1856, 2063, 2800,
167 2113, 2800, -89, 0, 0, 2800, 2800, 2800, 2800, 2800,
168 2165, 0, -94, -92, 0, 196, 203, 210, -93, 78,
169 -93, 106, -103, 145, -103, 194, 8, 0, 2800, 0,
170 0, 197, 217, 1378, 2234, 2422, 137, 2800, 0, 2491,
171 142, 0, 0, 1378, 0, 2800, 0, 2543, 170, 2593,
172 0, 0, 0, 203, 203, 203, 203, 665, 52, 9,
173 -68, 2800, -187, 2800, -233, 332, 665, 665, 715, 2800,
174 508, 2800, 1021, 2800, 691, 2800, 136, 2800, -121, -34,
175 2800, -34, 58, 2800, 239, 2800, -16, 66, 10, 107,
176 13, 0, 1, 240, 2800, 0, 0, 2800, -47, 0,
177 -47, 0, -47, -47, 241, 0, -47, 0, 2800, -47,
178 1, 0, 0, 246, 0, 1, 0, 1, 2800, 131,
179 169, 0, 0, 16, 0, 2800, 0, 665, 665, 2800,
180 665, 665, 665, 665, 665, 665, 179, 148, 2800, 19,
181 0, 185, 0, 191, 0, 0, 2800, 0, 411, -93,
182 -93, -103, 0, 2800, -103, 259, -93, -47, 0, 0,
183 0, 151, 200, 0, 0, 23, 236, 0, 205, 264,
184 0, 0, 0, 278, 0, 0, 0, 0, 198, 0,
185 1222, 0, -93, 211, 0, 0, 0, 0, 0, -47,
186 282, 0, 296, -103, -47, 0, 0, 0,
93a17b20
LW
187};
188short yyrindex[] = { 0,
463ee0b2 189 0, 0, 463, 0, 0, 0, 0, 0, 0, 0,
93a17b20 190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
191 0, 557, 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 2841, 2887, 0, 0, 0, 0, 0, 0, 0,
193 0, 3417, 3464, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
195 46, 5017, 5512, 618, 3723, 0, 0, 0, 2930, 0,
93a17b20 196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
197 3417, 0, 297, 0, 0, 0, 0, 0, 0, 0,
198 280, 0, 0, 0, 0, 300, 0, 2971, 0, 4145,
199 3764, 4186, 0, 0, 0, 0, 3417, 3034, 0, 3846,
200 0, 4228, 5058, 5097, 5142, 5357, 5401, 3249, 0, 5438,
201 5475, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20
LW
202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
205 0, 0, 0, 942, 0, 0, 48, 0, 163, 0,
206 163, 0, 284, 0, 284, 0, 283, 0, 0, 0,
207 0, 0, 0, 300, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 3846, 0, 0, 0, 0, 3293, 0,
209 0, 0, 0, 80, 82, 93, 103, 1404, 4643, 4269,
210 4313, 0, 3805, 0, 3, 1005, 4507, 4672, 0, 0,
211 4631, 0, 4602, 0, 4573, 0, 4532, 0, 3888, 3334,
212 0, 3376, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 3417, 0, 0, 0, 0, 0,
214 0, 0, 0, 0, 0, 0, 0, 0, 292, 0,
93a17b20 215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
216 0, 0, 0, 0, 0, 0, 0, 4691, 4761, 0,
217 4909, 4950, 4954, 4962, 5005, 5013, 0, 0, 300, 0,
218 0, 0, 0, 0, 0, 0, 300, 0, 0, 163,
219 163, 284, 0, 0, 284, 0, 163, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 2386, 0, 0, 0,
93a17b20 221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
222 311, 0, 163, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 284, 0, 0, 0, 0,
93a17b20
LW
224};
225short yygindex[] = { 0,
463ee0b2
LW
226 0, 0, 0, -148, 0, 0, -5, 298, 0, 0,
227 0, 22, -170, -3, 5708, 591, 1069, 0, 0, 0,
228 0, 0, 343, -80, 1003, 111, 0, 0, -113, 0,
93a17b20
LW
229 0, 0,
230};
463ee0b2 231#define YYTABLESIZE 5988
93a17b20 232short yytable[] = { 17,
463ee0b2
LW
233 165, 236, 55, 156, 258, 20, 59, 186, 61, 83,
234 74, 15, 76, 85, 87, 183, 18, 89, 158, 77,
235 156, 84, 86, 88, 90, 200, 193, 135, 260, 195,
236 82, 99, 246, 234, 75, 152, 106, 111, 160, 135,
237 156, 197, 93, 71, 198, 119, 71, 139, 197, 123,
238 157, 198, 152, 135, 190, 250, 135, 252, 158, 135,
239 71, 71, 135, 71, 150, 71, 135, 55, 151, 191,
240 159, 91, 152, 55, 201, 15, 291, 103, 169, 167,
241 171, 170, 173, 172, 175, 174, 13, 177, 38, 15,
242 157, 182, 15, 71, 296, 71, 15, 15, 15, 25,
243 15, 135, 293, 264, 13, 295, 38, 94, 315, 135,
244 150, 321, 308, 273, 151, 336, 287, 310, 251, 311,
245 16, 135, 17, 203, 292, 71, 95, 204, 205, 206,
246 207, 328, 25, 14, 330, 25, 25, 25, 16, 25,
247 17, 25, 25, 15, 25, 16, 253, 96, 233, 135,
248 135, 14, 237, 238, 239, 240, 241, 243, 25, 139,
249 140, 15, 25, 25, 298, 294, 254, 255, 235, 4,
250 5, 6, 7, 347, 135, 261, 150, 107, 129, 161,
251 151, 266, 268, 244, 270, 257, 326, 327, 135, 313,
252 25, 135, 274, 332, 135, 25, 245, 162, 25, 25,
253 25, 163, 25, 19, 25, 25, 319, 25, 320, 334,
254 137, 153, 139, 140, 179, 185, 324, 154, 155, 342,
255 180, 25, 25, 78, 25, 25, 25, 26, 149, 150,
256 288, 188, 290, 151, 154, 155, 247, 262, 340, 248,
257 135, 135, 55, 300, 189, 301, 135, 302, 303, 196,
258 249, 305, 259, 25, 307, 167, 143, 263, 144, 269,
259 276, 131, 132, 133, 134, 312, 272, 151, 71, 71,
260 71, 71, 316, 131, 132, 133, 134, 71, 289, 297,
261 304, 71, 71, 18, 71, 25, 309, 25, 25, 139,
262 140, 71, 71, 314, 71, 71, 71, 71, 144, 71,
263 329, 71, 333, 318, 338, 149, 150, 71, 71, 322,
264 151, 4, 5, 6, 7, 323, 18, 331, 339, 18,
265 18, 18, 345, 18, 335, 18, 18, 61, 18, 337,
266 137, 138, 139, 140, 344, 343, 346, 37, 35, 348,
267 143, 13, 18, 145, 146, 147, 148, 18, 149, 150,
268 37, 35, 341, 151, 70, 25, 25, 25, 25, 25,
269 25, 25, 25, 25, 25, 25, 25, 25, 25, 306,
270 164, 0, 25, 25, 18, 25, 25, 25, 0, 0,
271 0, 0, 25, 25, 25, 25, 25, 25, 0, 0,
272 25, 0, 143, 0, 144, 25, 0, 0, 153, 0,
273 25, 0, 25, 25, 0, 0, 18, 0, 18, 18,
274 0, 0, 0, 0, 137, 138, 139, 140, 25, 25,
93a17b20 275 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
463ee0b2
LW
276 25, 25, 149, 150, 0, 25, 25, 151, 25, 25,
277 25, 0, 0, 0, 0, 25, 25, 25, 25, 25,
278 25, 325, 0, 25, 0, 0, 0, 0, 25, 0,
279 0, 0, 2, 25, 0, 25, 25, 0, 0, 0,
280 136, 143, 0, 144, 137, 138, 139, 140, 0, 0,
281 0, 0, 0, 0, 141, 142, 0, 145, 146, 147,
282 148, 0, 149, 150, 0, 39, 0, 151, 39, 39,
283 39, 0, 39, 0, 39, 39, 0, 39, 0, 0,
284 136, 0, 0, 0, 137, 138, 139, 140, 0, 0,
285 0, 39, 0, 0, 0, 0, 39, 145, 146, 147,
286 148, 0, 149, 150, 0, 0, 0, 151, 0, 18,
287 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
288 18, 18, 18, 39, 0, 0, 18, 18, 0, 18,
289 18, 18, 143, 0, 144, 0, 18, 18, 18, 18,
290 18, 18, 0, 0, 18, 0, 0, 0, 0, 18,
291 0, 0, 0, 0, 18, 39, 18, 18, 39, 151,
292 0, 0, 151, 151, 151, 0, 151, 141, 151, 151,
293 141, 151, 0, 0, 0, 0, 136, 0, 0, 0,
294 137, 138, 139, 140, 141, 141, 0, 141, 0, 141,
295 151, 142, 0, 145, 146, 147, 148, 0, 149, 150,
296 0, 0, 0, 151, 113, 114, 115, 116, 117, 0,
297 0, 120, 121, 0, 0, 0, 0, 141, 0, 141,
298 152, 0, 0, 152, 152, 152, 0, 152, 101, 152,
299 152, 101, 152, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 101, 101, 0, 101, 141,
301 101, 152, 151, 0, 0, 136, 0, 0, 0, 137,
302 138, 139, 140, 0, 0, 0, 0, 0, 0, 141,
303 142, 0, 145, 146, 147, 148, 0, 149, 150, 0,
304 101, 0, 151, 0, 0, 0, 0, 0, 39, 39,
305 39, 39, 39, 39, 0, 143, 0, 144, 39, 39,
306 39, 39, 0, 0, 0, 39, 39, 0, 39, 39,
307 39, 0, 0, 152, 0, 39, 39, 39, 39, 39,
308 39, 0, 0, 39, 0, 0, 0, 0, 39, 0,
309 0, 0, 0, 39, 0, 39, 39, 0, 0, 0,
310 0, 0, 280, 0, 0, 143, 136, 144, 0, 0,
311 137, 138, 139, 140, 0, 0, 137, 138, 139, 140,
312 141, 142, 0, 145, 146, 147, 148, 0, 149, 150,
313 146, 147, 148, 151, 149, 150, 0, 0, 0, 151,
314 0, 0, 0, 151, 151, 151, 151, 151, 0, 0,
315 0, 0, 141, 141, 141, 141, 0, 0, 0, 0,
316 151, 141, 151, 151, 151, 141, 141, 141, 141, 151,
317 151, 151, 151, 151, 151, 141, 141, 151, 141, 141,
318 141, 141, 151, 141, 141, 141, 0, 151, 141, 151,
319 151, 141, 141, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 152, 152, 152, 152, 152, 0,
321 0, 0, 0, 101, 101, 101, 101, 0, 0, 0,
322 0, 152, 101, 152, 152, 152, 101, 101, 101, 101,
323 152, 152, 152, 152, 152, 152, 101, 101, 152, 101,
324 101, 101, 101, 152, 101, 101, 101, 0, 152, 101,
325 152, 152, 101, 101, 44, 0, 0, 55, 57, 54,
326 0, 49, 0, 58, 52, 0, 51, 0, 0, 136,
327 0, 0, 0, 137, 138, 139, 140, 0, 0, 0,
328 50, 0, 0, 0, 0, 56, 145, 146, 147, 148,
329 0, 149, 150, 0, 0, 0, 151, 0, 0, 137,
330 138, 139, 140, 0, 39, 0, 0, 39, 39, 39,
331 0, 39, 53, 39, 39, 148, 39, 149, 150, 136,
332 0, 0, 151, 137, 138, 139, 140, 0, 0, 0,
333 39, 0, 0, 141, 142, 39, 145, 146, 147, 148,
334 0, 149, 150, 0, 15, 0, 151, 45, 0, 0,
335 0, 0, 0, 0, 44, 81, 0, 55, 57, 54,
336 0, 49, 39, 58, 52, 0, 51, 0, 97, 0,
337 0, 0, 0, 0, 110, 81, 0, 0, 81, 0,
338 105, 0, 0, 0, 0, 56, 124, 125, 126, 127,
339 128, 0, 81, 81, 39, 0, 0, 39, 0, 0,
93a17b20 340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
341 44, 0, 53, 55, 57, 54, 0, 49, 118, 58,
342 52, 80, 51, 0, 0, 81, 0, 81, 184, 92,
343 0, 0, 0, 0, 80, 101, 0, 104, 0, 194,
344 0, 56, 0, 0, 15, 0, 0, 45, 0, 0,
345 0, 0, 80, 80, 80, 80, 80, 81, 0, 0,
346 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
347 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
348 24, 25, 26, 0, 0, 0, 0, 27, 28, 29,
349 30, 56, 0, 0, 31, 32, 0, 33, 34, 35,
350 15, 187, 0, 45, 36, 37, 38, 39, 40, 41,
351 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
352 122, 0, 46, 0, 47, 48, 0, 39, 39, 39,
353 39, 39, 39, 0, 0, 0, 0, 39, 39, 39,
354 39, 0, 0, 0, 39, 39, 0, 39, 39, 39,
355 15, 0, 0, 45, 39, 39, 39, 39, 39, 39,
356 0, 0, 39, 0, 0, 0, 0, 39, 0, 0,
357 0, 0, 39, 0, 39, 39, 0, 0, 22, 23,
358 24, 25, 26, 0, 44, 0, 0, 55, 57, 54,
359 0, 49, 0, 58, 52, 32, 51, 33, 34, 35,
360 81, 81, 81, 81, 36, 37, 38, 39, 40, 41,
361 0, 0, 42, 0, 0, 56, 0, 43, 0, 0,
362 0, 0, 46, 81, 47, 48, 0, 0, 0, 137,
363 138, 139, 140, 81, 22, 23, 24, 25, 26, 81,
364 81, 0, 53, 0, 147, 148, 0, 149, 150, 0,
365 0, 32, 151, 33, 34, 35, 0, 0, 0, 0,
366 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
367 0, 0, 0, 43, 15, 0, 0, 45, 46, 0,
368 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
369 44, 0, 0, 55, 57, 54, 0, 49, 181, 58,
370 52, 32, 51, 33, 34, 35, 0, 0, 0, 0,
371 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
372 0, 56, 0, 43, 0, 0, 0, 0, 46, 0,
373 47, 48, 0, 0, 0, 0, 0, 0, 0, 0,
374 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
375 52, 0, 51, 0, 0, 0, 0, 0, 0, 0,
93a17b20 376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
377 0, 56, 0, 0, 50, 0, 0, 50, 0, 0,
378 15, 0, 0, 45, 0, 0, 0, 0, 0, 0,
379 44, 50, 50, 55, 57, 54, 0, 49, 53, 58,
380 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
381 24, 25, 26, 0, 0, 0, 0, 0, 212, 0,
382 0, 56, 0, 0, 50, 32, 50, 33, 34, 35,
383 15, 0, 0, 45, 36, 37, 38, 39, 40, 41,
384 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
385 0, 0, 46, 0, 47, 48, 50, 0, 0, 0,
386 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
387 58, 52, 0, 51, 0, 0, 0, 0, 0, 0,
388 15, 0, 0, 45, 0, 0, 0, 0, 0, 214,
389 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
93a17b20 390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 391 0, 0, 0, 0, 22, 23, 24, 25, 26, 53,
93a17b20 392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 393 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
463ee0b2
LW
394 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
395 0, 15, 0, 43, 45, 0, 0, 0, 46, 0,
396 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
93a17b20 397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 398 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
463ee0b2
LW
399 36, 37, 38, 39, 40, 41, 0, 0, 42, 50,
400 50, 50, 50, 43, 0, 0, 163, 0, 46, 0,
401 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
402 0, 0, 50, 50, 0, 0, 0, 0, 0, 0,
403 0, 32, 50, 33, 34, 35, 0, 0, 50, 50,
404 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
405 0, 0, 0, 43, 0, 0, 0, 0, 46, 0,
406 47, 48, 44, 0, 0, 55, 57, 54, 0, 49,
407 0, 58, 52, 0, 51, 0, 0, 0, 0, 0,
93a17b20 408 0, 0, 0, 0, 0, 22, 23, 24, 25, 26,
463ee0b2 409 220, 0, 0, 56, 0, 0, 0, 0, 0, 0,
93a17b20 410 0, 0, 32, 0, 33, 34, 35, 0, 0, 0,
463ee0b2
LW
411 0, 36, 37, 38, 39, 40, 41, 0, 44, 42,
412 53, 55, 57, 54, 43, 49, 0, 58, 52, 46,
413 51, 47, 48, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 222, 0, 0, 56,
415 0, 0, 15, 0, 0, 45, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
417 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
418 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 224, 0, 0, 56,
420 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
421 0, 45, 0, 0, 0, 0, 0, 0, 44, 0,
422 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
423 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 226, 0, 0, 56,
425 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
426 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 22, 23, 24, 25,
429 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 32, 0, 33, 34, 35, 15, 0,
431 0, 45, 36, 37, 38, 39, 40, 41, 0, 0,
432 42, 0, 0, 0, 0, 43, 0, 0, 0, 0,
433 46, 0, 47, 48, 0, 0, 0, 0, 0, 0,
434 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
93a17b20
LW
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
436 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
463ee0b2
LW
437 38, 39, 40, 41, 0, 0, 42, 0, 0, 0,
438 0, 43, 0, 0, 0, 0, 46, 0, 47, 48,
439 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
93a17b20 441 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
463ee0b2
LW
442 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
443 54, 43, 49, 0, 58, 52, 46, 51, 47, 48,
444 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
445 0, 0, 0, 228, 0, 0, 56, 0, 0, 32,
446 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
447 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
448 54, 43, 49, 53, 58, 52, 46, 51, 47, 48,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 231, 0, 0, 56, 0, 0, 0,
451 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
452 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
453 55, 57, 54, 53, 49, 242, 58, 52, 0, 51,
93a17b20 454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
455 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
456 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
93a17b20 457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
458 0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 44, 0, 0, 55,
460 57, 54, 0, 49, 265, 58, 52, 0, 51, 0,
461 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
462 45, 0, 0, 0, 0, 0, 0, 56, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
465 23, 24, 25, 26, 53, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
467 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
468 41, 0, 0, 42, 0, 0, 15, 0, 43, 45,
469 0, 0, 0, 46, 0, 47, 48, 0, 0, 22,
470 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
472 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
473 41, 0, 0, 42, 0, 0, 0, 0, 43, 0,
474 0, 0, 0, 46, 0, 47, 48, 0, 0, 0,
475 0, 22, 23, 24, 25, 26, 82, 0, 0, 82,
93a17b20 476 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
463ee0b2
LW
477 33, 34, 35, 82, 82, 0, 82, 36, 37, 38,
478 39, 40, 41, 0, 44, 42, 0, 55, 57, 54,
479 43, 49, 267, 58, 52, 46, 51, 47, 48, 0,
480 0, 0, 0, 0, 0, 0, 82, 0, 82, 0,
481 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
482 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 32, 82, 33,
484 34, 35, 53, 0, 0, 0, 36, 37, 38, 39,
485 40, 41, 0, 44, 42, 0, 55, 57, 54, 43,
486 49, 0, 58, 52, 46, 51, 47, 48, 0, 0,
487 0, 0, 0, 0, 15, 0, 0, 45, 0, 271,
488 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
93a17b20 489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
490 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
491 54, 53, 49, 275, 58, 52, 0, 51, 0, 0,
93a17b20 492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
493 0, 0, 0, 0, 0, 0, 56, 0, 0, 0,
494 0, 0, 0, 15, 0, 0, 45, 0, 0, 0,
495 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
496 54, 0, 49, 53, 58, 52, 0, 51, 0, 0,
93a17b20 497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
498 0, 82, 82, 82, 82, 0, 56, 0, 0, 0,
499 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
500 0, 0, 0, 0, 82, 82, 0, 0, 22, 23,
501 24, 25, 26, 53, 82, 277, 0, 0, 0, 0,
502 82, 82, 0, 0, 0, 32, 0, 33, 34, 35,
503 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
504 0, 0, 42, 0, 0, 15, 0, 43, 45, 0,
505 0, 0, 46, 0, 47, 48, 0, 0, 0, 0,
506 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
507 58, 52, 0, 51, 0, 0, 0, 22, 23, 24,
508 25, 26, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 56, 0, 32, 0, 33, 34, 35, 0,
510 0, 0, 0, 36, 37, 38, 39, 40, 41, 0,
511 0, 42, 0, 0, 0, 0, 43, 0, 0, 53,
512 0, 46, 0, 47, 48, 0, 0, 0, 0, 22,
513 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
515 35, 15, 0, 0, 45, 36, 37, 38, 39, 40,
516 41, 0, 44, 42, 0, 55, 57, 54, 43, 49,
517 0, 58, 52, 46, 51, 47, 48, 0, 0, 22,
518 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
519 0, 0, 0, 56, 0, 0, 32, 0, 33, 34,
520 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
521 41, 130, 0, 42, 130, 0, 0, 0, 43, 0,
522 53, 0, 0, 46, 0, 47, 48, 0, 130, 130,
523 0, 130, 0, 130, 0, 0, 0, 0, 0, 0,
93a17b20 524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
525 0, 0, 15, 0, 0, 45, 0, 135, 0, 0,
526 135, 130, 0, 130, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 135, 135, 0, 135, 0, 135,
528 0, 0, 0, 0, 0, 98, 23, 24, 25, 26,
529 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
530 119, 0, 32, 119, 33, 34, 35, 135, 0, 135,
531 0, 36, 37, 38, 39, 40, 41, 119, 119, 42,
532 119, 0, 119, 0, 43, 0, 0, 0, 0, 46,
533 0, 47, 48, 0, 0, 0, 0, 0, 0, 135,
534 0, 141, 0, 0, 141, 0, 0, 0, 0, 0,
535 119, 0, 119, 0, 0, 0, 0, 0, 141, 141,
536 0, 141, 0, 141, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 119, 0, 0, 0, 22, 23, 24, 25,
539 26, 141, 0, 141, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 32, 144, 33, 34, 35, 0, 0,
541 0, 0, 36, 37, 38, 39, 40, 41, 0, 0,
542 42, 144, 144, 141, 144, 43, 144, 0, 0, 0,
543 46, 0, 47, 48, 0, 0, 130, 130, 130, 130,
544 0, 0, 0, 0, 0, 130, 0, 0, 0, 130,
545 130, 130, 130, 0, 144, 0, 144, 0, 0, 130,
546 130, 0, 130, 130, 130, 130, 0, 130, 130, 130,
547 0, 0, 130, 0, 0, 130, 130, 0, 0, 0,
548 0, 0, 135, 135, 135, 135, 144, 0, 0, 0,
549 0, 135, 0, 0, 0, 135, 135, 135, 135, 0,
550 0, 0, 0, 0, 0, 135, 135, 0, 135, 135,
551 135, 135, 0, 135, 135, 135, 0, 0, 135, 0,
552 0, 135, 135, 0, 0, 119, 119, 119, 119, 0,
553 0, 0, 0, 0, 119, 0, 0, 0, 119, 119,
554 119, 119, 0, 0, 0, 0, 0, 0, 119, 119,
555 0, 119, 119, 119, 119, 0, 119, 119, 119, 0,
556 0, 119, 0, 0, 119, 119, 141, 141, 141, 141,
557 0, 0, 0, 0, 0, 141, 0, 0, 0, 141,
558 141, 141, 141, 0, 0, 0, 0, 0, 0, 141,
559 141, 0, 141, 141, 141, 141, 0, 141, 141, 141,
560 0, 0, 141, 0, 0, 141, 141, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
562 0, 0, 96, 0, 0, 0, 0, 0, 0, 144,
563 144, 144, 144, 0, 0, 0, 96, 96, 144, 96,
564 0, 96, 144, 144, 144, 144, 0, 0, 0, 0,
565 0, 0, 144, 144, 0, 144, 144, 144, 144, 0,
566 144, 144, 144, 95, 0, 144, 95, 0, 144, 144,
567 0, 96, 0, 0, 0, 0, 0, 0, 0, 0,
568 95, 95, 0, 95, 0, 95, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 96, 0, 0, 83, 0, 0, 83, 0, 0,
571 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
572 0, 83, 83, 0, 83, 0, 83, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 95, 69, 0, 0, 69,
575 0, 0, 0, 0, 83, 0, 83, 0, 0, 0,
576 0, 0, 0, 69, 69, 0, 69, 0, 69, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 83, 143, 0, 0,
579 143, 0, 0, 0, 0, 0, 69, 0, 69, 0,
580 0, 0, 0, 0, 143, 143, 0, 143, 0, 143,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 69, 0,
583 0, 0, 0, 0, 132, 0, 0, 132, 0, 143,
584 0, 0, 0, 0, 96, 96, 96, 96, 0, 0,
585 0, 132, 132, 96, 132, 0, 132, 96, 96, 96,
586 96, 0, 0, 0, 0, 0, 0, 96, 96, 0,
587 96, 96, 96, 96, 0, 96, 96, 96, 0, 0,
588 96, 0, 0, 96, 96, 0, 132, 0, 95, 95,
589 95, 95, 0, 0, 0, 0, 0, 95, 0, 0,
590 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
591 0, 95, 95, 0, 95, 95, 95, 95, 0, 95,
592 95, 95, 0, 0, 95, 0, 0, 95, 95, 83,
93a17b20
LW
593 83, 83, 83, 0, 0, 0, 0, 0, 83, 0,
594 0, 0, 83, 83, 83, 83, 0, 0, 0, 0,
463ee0b2
LW
595 0, 0, 83, 83, 0, 83, 83, 83, 83, 0,
596 83, 83, 83, 0, 0, 0, 0, 0, 83, 83,
597 0, 69, 69, 69, 69, 0, 0, 0, 0, 0,
598 69, 0, 0, 0, 69, 69, 69, 69, 0, 0,
599 0, 0, 0, 0, 69, 69, 0, 69, 69, 69,
600 69, 0, 69, 69, 69, 0, 0, 0, 0, 0,
601 69, 69, 143, 143, 143, 143, 0, 0, 0, 0,
602 0, 143, 0, 0, 0, 143, 143, 143, 143, 0,
603 0, 0, 0, 0, 0, 143, 143, 0, 143, 143,
604 143, 143, 0, 143, 143, 143, 0, 0, 143, 0,
605 0, 143, 143, 0, 0, 0, 0, 0, 0, 132,
606 132, 132, 132, 0, 0, 0, 0, 0, 132, 0,
607 0, 0, 132, 132, 132, 132, 0, 0, 0, 0,
608 0, 0, 132, 132, 0, 132, 132, 132, 132, 0,
609 132, 132, 132, 107, 0, 132, 107, 0, 132, 132,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 107, 107, 0, 107, 0, 107, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 101, 0, 0, 101, 0, 0,
614 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
615 0, 101, 101, 0, 101, 0, 101, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 70, 0, 0, 70, 0,
618 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
619 0, 0, 70, 70, 0, 70, 0, 70, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 143, 0, 0, 143,
622 0, 0, 0, 0, 0, 70, 0, 70, 0, 0,
623 0, 0, 0, 143, 143, 0, 143, 0, 143, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 70, 72, 0,
626 0, 72, 0, 0, 0, 0, 0, 0, 143, 0,
627 0, 0, 0, 0, 0, 72, 72, 0, 72, 0,
628 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
631 72, 0, 0, 0, 0, 0, 0, 0, 107, 107,
632 107, 107, 0, 0, 0, 0, 0, 107, 0, 0,
633 0, 107, 107, 107, 107, 0, 0, 0, 0, 0,
634 72, 107, 107, 0, 107, 107, 107, 107, 0, 107,
635 107, 107, 0, 0, 107, 0, 0, 107, 107, 101,
636 101, 101, 101, 0, 0, 0, 0, 0, 101, 0,
637 0, 0, 101, 101, 101, 101, 0, 0, 0, 0,
638 0, 0, 101, 101, 0, 101, 101, 101, 101, 0,
639 101, 101, 101, 0, 0, 101, 0, 0, 101, 101,
640 70, 70, 70, 70, 0, 0, 0, 0, 0, 70,
641 0, 0, 0, 70, 70, 70, 70, 0, 0, 0,
642 0, 0, 0, 70, 70, 0, 70, 70, 70, 70,
643 0, 70, 0, 70, 0, 0, 0, 0, 0, 70,
644 70, 143, 143, 143, 143, 0, 0, 0, 0, 0,
645 143, 0, 0, 0, 143, 143, 143, 143, 0, 0,
646 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
647 143, 0, 143, 143, 0, 0, 0, 143, 0, 0,
648 143, 143, 0, 72, 72, 72, 72, 0, 0, 0,
649 0, 0, 72, 0, 0, 0, 72, 72, 0, 0,
650 0, 0, 0, 0, 0, 0, 72, 72, 0, 72,
651 72, 72, 72, 0, 72, 124, 72, 0, 124, 0,
652 0, 0, 72, 72, 0, 0, 0, 0, 0, 0,
653 0, 0, 124, 124, 0, 124, 0, 124, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 94, 0, 0, 94,
656 0, 0, 0, 0, 0, 124, 0, 124, 0, 0,
657 0, 0, 0, 94, 94, 0, 94, 0, 94, 0,
658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 124, 134, 0,
660 0, 134, 0, 0, 0, 0, 94, 0, 94, 0,
661 0, 0, 0, 0, 0, 134, 134, 0, 134, 0,
662 134, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 94, 73,
664 0, 0, 73, 0, 0, 0, 0, 0, 134, 0,
665 134, 0, 0, 0, 0, 0, 73, 73, 0, 73,
666 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 134, 0, 0, 74, 0, 0, 74, 0, 0, 73,
669 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
670 74, 74, 0, 74, 0, 74, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 74, 0, 74, 0, 0, 0, 0,
674 124, 124, 124, 124, 0, 0, 0, 0, 0, 124,
675 0, 0, 0, 124, 124, 0, 0, 0, 0, 0,
676 0, 0, 0, 124, 124, 74, 124, 124, 124, 124,
677 0, 0, 0, 124, 0, 0, 0, 0, 0, 124,
678 124, 94, 94, 94, 94, 0, 0, 0, 0, 0,
679 94, 0, 0, 0, 94, 94, 0, 0, 0, 0,
680 0, 0, 0, 0, 94, 94, 0, 94, 94, 94,
681 94, 0, 0, 0, 94, 0, 0, 0, 0, 0,
682 94, 94, 0, 134, 134, 134, 134, 0, 0, 0,
683 0, 0, 134, 0, 0, 0, 134, 134, 0, 0,
684 0, 0, 0, 0, 0, 0, 134, 134, 0, 134,
685 134, 134, 134, 0, 0, 0, 134, 0, 0, 0,
686 0, 0, 134, 134, 73, 73, 73, 73, 0, 0,
687 0, 0, 0, 73, 0, 0, 0, 80, 73, 0,
688 80, 0, 0, 0, 0, 0, 0, 73, 73, 0,
689 73, 73, 73, 73, 80, 80, 0, 73, 0, 0,
690 0, 0, 75, 73, 73, 75, 0, 0, 74, 74,
691 74, 74, 0, 0, 0, 0, 0, 74, 0, 75,
692 75, 0, 75, 0, 75, 0, 0, 80, 0, 80,
693 0, 74, 74, 0, 74, 74, 74, 74, 0, 0,
694 0, 74, 0, 76, 0, 0, 76, 74, 74, 0,
695 0, 0, 75, 0, 75, 0, 0, 0, 0, 80,
696 76, 76, 0, 76, 0, 76, 0, 0, 0, 0,
697 0, 0, 78, 0, 0, 78, 0, 0, 0, 0,
698 0, 0, 0, 0, 75, 0, 0, 0, 0, 78,
699 78, 0, 78, 76, 78, 76, 0, 0, 0, 0,
700 0, 79, 0, 0, 79, 0, 0, 0, 0, 0,
701 0, 0, 0, 77, 0, 0, 77, 0, 79, 79,
702 0, 79, 78, 79, 78, 76, 0, 0, 0, 0,
703 77, 77, 0, 77, 0, 77, 0, 0, 0, 0,
704 0, 0, 60, 0, 0, 60, 0, 0, 0, 0,
705 0, 79, 0, 79, 78, 0, 0, 0, 0, 60,
706 60, 62, 0, 77, 62, 77, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
708 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
709 0, 0, 60, 0, 60, 77, 0, 0, 0, 0,
710 0, 0, 80, 80, 80, 80, 0, 0, 0, 0,
711 0, 62, 0, 62, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 60, 80, 80, 75, 75, 75,
713 75, 63, 0, 0, 63, 80, 75, 0, 0, 0,
714 0, 80, 80, 62, 0, 0, 0, 0, 63, 63,
715 75, 75, 0, 75, 75, 75, 75, 0, 0, 0,
716 75, 0, 0, 0, 0, 0, 75, 75, 76, 76,
717 76, 76, 0, 0, 0, 0, 0, 76, 0, 0,
718 0, 63, 0, 63, 0, 0, 0, 0, 0, 0,
719 0, 76, 76, 0, 76, 76, 76, 78, 78, 78,
720 78, 76, 0, 0, 0, 0, 78, 76, 76, 0,
721 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
722 78, 78, 0, 78, 78, 0, 79, 79, 79, 79,
723 78, 0, 0, 0, 0, 79, 78, 78, 77, 77,
724 77, 77, 0, 0, 0, 0, 0, 0, 0, 79,
725 79, 0, 79, 0, 0, 0, 0, 0, 0, 79,
726 0, 77, 77, 0, 0, 79, 79, 60, 60, 60,
727 60, 77, 0, 0, 0, 0, 0, 77, 77, 68,
728 0, 0, 68, 0, 0, 0, 62, 62, 62, 62,
729 60, 60, 0, 0, 0, 0, 68, 68, 0, 0,
730 60, 0, 0, 0, 0, 0, 60, 60, 0, 62,
731 62, 0, 0, 0, 0, 0, 0, 0, 0, 62,
732 67, 0, 0, 67, 66, 62, 62, 66, 0, 68,
733 0, 68, 65, 0, 0, 65, 0, 67, 67, 0,
734 0, 66, 66, 0, 0, 0, 0, 0, 0, 65,
735 65, 0, 0, 0, 0, 0, 63, 63, 63, 63,
736 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
737 67, 0, 67, 0, 66, 64, 66, 0, 64, 63,
738 63, 0, 65, 61, 65, 0, 61, 51, 0, 63,
739 51, 0, 64, 64, 0, 63, 63, 0, 0, 0,
740 61, 61, 67, 0, 51, 51, 66, 0, 0, 0,
741 0, 0, 0, 0, 65, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 64, 0, 64, 87, 0,
743 0, 87, 0, 61, 0, 61, 0, 51, 0, 51,
744 0, 0, 0, 0, 0, 87, 87, 0, 87, 0,
745 87, 0, 0, 0, 0, 0, 0, 64, 0, 0,
746 0, 0, 0, 0, 0, 61, 0, 88, 0, 51,
747 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 87, 0, 0, 0, 88, 88, 0, 88, 0, 88,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 68, 68, 68, 68, 0, 0,
751 0, 0, 89, 0, 0, 89, 0, 0, 0, 88,
752 0, 0, 0, 0, 0, 0, 0, 68, 68, 89,
753 89, 0, 89, 0, 89, 0, 0, 68, 0, 0,
754 0, 0, 0, 68, 68, 67, 67, 67, 67, 66,
755 66, 66, 66, 0, 0, 0, 0, 65, 65, 65,
756 65, 0, 0, 0, 89, 0, 0, 0, 67, 67,
757 0, 0, 66, 66, 0, 0, 0, 0, 67, 0,
758 65, 65, 66, 0, 67, 67, 0, 0, 66, 66,
759 65, 0, 0, 0, 0, 0, 65, 65, 0, 0,
760 64, 64, 64, 64, 0, 0, 0, 0, 61, 61,
761 61, 61, 51, 51, 51, 51, 0, 0, 0, 0,
762 0, 0, 0, 64, 64, 0, 0, 0, 0, 0,
763 0, 61, 61, 64, 0, 0, 0, 0, 0, 64,
764 64, 61, 0, 0, 0, 51, 0, 61, 61, 0,
765 0, 51, 51, 87, 87, 87, 87, 0, 0, 0,
766 0, 0, 87, 0, 0, 0, 87, 87, 87, 87,
767 0, 0, 0, 0, 0, 0, 87, 87, 0, 87,
768 87, 87, 87, 0, 87, 87, 87, 0, 0, 87,
769 0, 0, 88, 88, 88, 88, 0, 0, 0, 0,
770 0, 88, 0, 0, 0, 88, 88, 88, 88, 0,
771 0, 0, 0, 0, 0, 88, 88, 0, 88, 88,
772 88, 88, 0, 88, 88, 88, 0, 92, 88, 0,
773 92, 0, 0, 0, 0, 0, 0, 89, 89, 89,
774 89, 0, 0, 0, 92, 92, 89, 92, 0, 92,
775 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
776 89, 89, 0, 89, 89, 89, 89, 0, 89, 89,
777 89, 93, 0, 89, 93, 0, 0, 0, 0, 92,
778 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
779 0, 93, 0, 93, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
781 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 93, 0, 85, 85, 0, 85, 0,
783 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 86, 0, 0, 86, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 85, 0, 86, 86, 0, 86, 0, 86, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 84, 0, 0, 84, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 86, 0, 84,
790 84, 0, 84, 0, 84, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 84, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 92, 92, 92, 92, 0, 0, 0, 0,
796 0, 92, 0, 0, 0, 92, 92, 92, 92, 0,
797 0, 0, 0, 0, 0, 92, 92, 0, 92, 92,
798 92, 92, 0, 92, 92, 92, 0, 0, 92, 0,
799 0, 0, 0, 0, 0, 0, 93, 93, 93, 93,
800 0, 0, 0, 0, 0, 93, 0, 0, 0, 93,
801 93, 93, 93, 0, 0, 0, 0, 0, 0, 93,
802 93, 0, 93, 93, 93, 93, 0, 93, 93, 93,
803 0, 0, 93, 85, 85, 85, 85, 0, 0, 0,
804 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
805 0, 0, 0, 0, 0, 0, 85, 85, 0, 85,
806 85, 85, 85, 0, 85, 85, 85, 0, 0, 85,
807 86, 86, 86, 86, 100, 102, 0, 0, 0, 86,
808 112, 0, 0, 86, 86, 86, 86, 0, 0, 0,
809 0, 0, 0, 86, 86, 0, 86, 86, 86, 86,
810 0, 86, 86, 86, 0, 0, 86, 84, 84, 84,
811 84, 0, 0, 0, 0, 0, 84, 0, 0, 166,
812 84, 84, 84, 84, 0, 0, 0, 0, 0, 0,
813 84, 84, 0, 84, 84, 84, 84, 0, 84, 84,
814 0, 0, 0, 84, 0, 0, 0, 0, 0, 0,
93a17b20
LW
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2
LW
817 0, 0, 208, 209, 210, 211, 213, 215, 216, 217,
818 218, 219, 221, 223, 225, 227, 229, 230, 232, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 208, 0, 0,
823 0, 0, 0, 0, 0, 208, 0, 208, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 278,
825 0, 279, 0, 0, 0, 0, 0, 281, 0, 282,
826 0, 283, 0, 284, 0, 285, 0, 0, 286, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 299, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 317,
93a17b20
LW
832};
833short yycheck[] = { 5,
463ee0b2
LW
834 81, 91, 36, 91, 175, 59, 12, 40, 12, 40,
835 16, 123, 18, 40, 40, 96, 257, 40, 91, 59,
836 91, 27, 28, 29, 30, 44, 107, 44, 177, 110,
837 40, 37, 125, 123, 59, 123, 40, 43, 91, 44,
838 91, 41, 257, 41, 44, 49, 44, 281, 41, 53,
839 123, 44, 123, 44, 44, 169, 44, 171, 91, 44,
840 58, 59, 44, 61, 298, 63, 44, 36, 302, 59,
841 123, 40, 123, 36, 93, 123, 93, 40, 84, 83,
842 86, 85, 88, 87, 90, 89, 41, 91, 41, 123,
843 123, 95, 123, 91, 243, 93, 123, 123, 123, 0,
844 123, 44, 93, 184, 59, 93, 59, 40, 93, 44,
845 298, 93, 261, 194, 302, 93, 59, 266, 41, 268,
846 41, 44, 41, 129, 59, 123, 40, 131, 132, 133,
847 134, 302, 33, 41, 305, 36, 37, 38, 59, 40,
848 59, 42, 43, 41, 45, 257, 41, 40, 152, 44,
849 44, 59, 156, 157, 158, 159, 160, 161, 59, 281,
850 282, 59, 0, 64, 245, 59, 270, 271, 258, 262,
851 263, 264, 265, 344, 44, 179, 298, 257, 272, 40,
852 302, 185, 186, 278, 188, 41, 300, 301, 44, 59,
853 91, 44, 196, 307, 44, 33, 291, 59, 36, 37,
854 38, 299, 40, 257, 42, 43, 59, 45, 289, 59,
855 279, 299, 281, 282, 40, 40, 297, 305, 306, 333,
856 41, 59, 123, 257, 125, 126, 64, 261, 297, 298,
857 234, 123, 236, 302, 305, 306, 41, 41, 41, 44,
858 44, 44, 36, 249, 125, 251, 44, 253, 254, 91,
859 41, 257, 59, 91, 260, 259, 61, 41, 63, 123,
860 91, 266, 267, 268, 269, 269, 125, 302, 266, 267,
861 268, 269, 276, 266, 267, 268, 269, 275, 40, 40,
862 40, 279, 280, 0, 282, 123, 41, 125, 126, 281,
863 282, 289, 290, 125, 292, 293, 294, 295, 63, 297,
864 304, 299, 308, 125, 41, 297, 298, 305, 306, 125,
865 302, 262, 263, 264, 265, 125, 33, 59, 41, 36,
866 37, 38, 41, 40, 125, 42, 43, 331, 45, 125,
867 279, 280, 281, 282, 340, 125, 41, 41, 59, 345,
868 41, 59, 59, 292, 293, 294, 295, 64, 297, 298,
869 59, 41, 331, 302, 12, 256, 257, 258, 259, 260,
870 261, 262, 263, 264, 265, 266, 267, 268, 269, 259,
871 73, -1, 273, 274, 91, 276, 277, 278, -1, -1,
872 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
873 291, -1, 61, -1, 63, 296, -1, -1, 299, -1,
874 301, -1, 303, 304, -1, -1, 123, -1, 125, 126,
875 -1, -1, -1, -1, 279, 280, 281, 282, 256, 257,
93a17b20 876 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
463ee0b2
LW
877 268, 269, 297, 298, -1, 273, 274, 302, 276, 277,
878 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
879 288, 41, -1, 291, -1, -1, -1, -1, 296, -1,
880 -1, -1, 0, 301, -1, 303, 304, -1, -1, -1,
881 275, 61, -1, 63, 279, 280, 281, 282, -1, -1,
882 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
883 295, -1, 297, 298, -1, 33, -1, 302, 36, 37,
884 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
885 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
886 -1, 59, -1, -1, -1, -1, 64, 292, 293, 294,
887 295, -1, 297, 298, -1, -1, -1, 302, -1, 256,
888 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
889 267, 268, 269, 91, -1, -1, 273, 274, -1, 276,
890 277, 278, 61, -1, 63, -1, 283, 284, 285, 286,
891 287, 288, -1, -1, 291, -1, -1, -1, -1, 296,
892 -1, -1, -1, -1, 301, 123, 303, 304, 126, 33,
893 -1, -1, 36, 37, 38, -1, 40, 41, 42, 43,
894 44, 45, -1, -1, -1, -1, 275, -1, -1, -1,
895 279, 280, 281, 282, 58, 59, -1, 61, -1, 63,
896 64, 290, -1, 292, 293, 294, 295, -1, 297, 298,
897 -1, -1, -1, 302, 44, 45, 46, 47, 48, -1,
898 -1, 51, 52, -1, -1, -1, -1, 91, -1, 93,
899 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
900 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
901 -1, -1, -1, -1, -1, 58, 59, -1, 61, 123,
902 63, 64, 126, -1, -1, 275, -1, -1, -1, 279,
903 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
904 290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
905 93, -1, 302, -1, -1, -1, -1, -1, 256, 257,
906 258, 259, 260, 261, -1, 61, -1, 63, 266, 267,
907 268, 269, -1, -1, -1, 273, 274, -1, 276, 277,
908 278, -1, -1, 126, -1, 283, 284, 285, 286, 287,
909 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
910 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
911 -1, -1, 58, -1, -1, 61, 275, 63, -1, -1,
912 279, 280, 281, 282, -1, -1, 279, 280, 281, 282,
913 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
914 293, 294, 295, 302, 297, 298, -1, -1, -1, 302,
93a17b20
LW
915 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
916 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
917 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
918 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
463ee0b2
LW
919 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
920 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
922 -1, -1, -1, 266, 267, 268, 269, -1, -1, -1,
923 -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
924 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
925 293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
926 303, 304, 305, 306, 33, -1, -1, 36, 37, 38,
927 -1, 40, -1, 42, 43, -1, 45, -1, -1, 275,
928 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
929 59, -1, -1, -1, -1, 64, 292, 293, 294, 295,
930 -1, 297, 298, -1, -1, -1, 302, -1, -1, 279,
931 280, 281, 282, -1, 33, -1, -1, 36, 37, 38,
932 -1, 40, 91, 42, 43, 295, 45, 297, 298, 275,
933 -1, -1, 302, 279, 280, 281, 282, -1, -1, -1,
934 59, -1, -1, 289, 290, 64, 292, 293, 294, 295,
935 -1, 297, 298, -1, 123, -1, 302, 126, -1, -1,
936 -1, -1, -1, -1, 33, 23, -1, 36, 37, 38,
937 -1, 40, 91, 42, 43, -1, 45, -1, 36, -1,
938 -1, -1, -1, -1, 42, 41, -1, -1, 44, -1,
939 59, -1, -1, -1, -1, 64, 54, 55, 56, 57,
940 58, -1, 58, 59, 123, -1, -1, 126, -1, -1,
93a17b20 941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
942 33, -1, 91, 36, 37, 38, -1, 40, 41, 42,
943 43, 23, 45, -1, -1, 91, -1, 93, 96, 31,
944 -1, -1, -1, -1, 36, 37, -1, 39, -1, 107,
945 -1, 64, -1, -1, 123, -1, -1, 126, -1, -1,
946 -1, -1, 54, 55, 56, 57, 58, 123, -1, -1,
947 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
948 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
949 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
950 269, 64, -1, -1, 273, 274, -1, 276, 277, 278,
951 123, 103, -1, 126, 283, 284, 285, 286, 287, 288,
952 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
953 93, -1, 301, -1, 303, 304, -1, 256, 257, 258,
954 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
955 269, -1, -1, -1, 273, 274, -1, 276, 277, 278,
956 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
957 -1, -1, 291, -1, -1, -1, -1, 296, -1, -1,
958 -1, -1, 301, -1, 303, 304, -1, -1, 257, 258,
959 259, 260, 261, -1, 33, -1, -1, 36, 37, 38,
960 -1, 40, -1, 42, 43, 274, 45, 276, 277, 278,
961 266, 267, 268, 269, 283, 284, 285, 286, 287, 288,
962 -1, -1, 291, -1, -1, 64, -1, 296, -1, -1,
963 -1, -1, 301, 289, 303, 304, -1, -1, -1, 279,
964 280, 281, 282, 299, 257, 258, 259, 260, 261, 305,
965 306, -1, 91, -1, 294, 295, -1, 297, 298, -1,
966 -1, 274, 302, 276, 277, 278, -1, -1, -1, -1,
967 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
968 -1, -1, -1, 296, 123, -1, -1, 126, 301, -1,
969 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
970 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
971 43, 274, 45, 276, 277, 278, -1, -1, -1, -1,
972 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
973 -1, 64, -1, 296, -1, -1, -1, -1, 301, -1,
974 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
975 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
976 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
93a17b20 977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
978 -1, 64, -1, -1, 41, -1, -1, 44, -1, -1,
979 123, -1, -1, 126, -1, -1, -1, -1, -1, -1,
980 33, 58, 59, 36, 37, 38, -1, 40, 91, 42,
981 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
982 259, 260, 261, -1, -1, -1, -1, -1, 61, -1,
983 -1, 64, -1, -1, 91, 274, 93, 276, 277, 278,
984 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
985 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
986 -1, -1, 301, -1, 303, 304, 123, -1, -1, -1,
987 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
988 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
989 123, -1, -1, 126, -1, -1, -1, -1, -1, 61,
990 -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
93a17b20 991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 992 -1, -1, -1, -1, 257, 258, 259, 260, 261, 91,
93a17b20 993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 994 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
463ee0b2
LW
995 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
996 -1, 123, -1, 296, 126, -1, -1, -1, 301, -1,
997 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
93a17b20 998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 999 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
463ee0b2
LW
1000 283, 284, 285, 286, 287, 288, -1, -1, 291, 266,
1001 267, 268, 269, 296, -1, -1, 299, -1, 301, -1,
1002 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
1003 -1, -1, 289, 290, -1, -1, -1, -1, -1, -1,
1004 -1, 274, 299, 276, 277, 278, -1, -1, 305, 306,
1005 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
1006 -1, -1, -1, 296, -1, -1, -1, -1, 301, -1,
1007 303, 304, 33, -1, -1, 36, 37, 38, -1, 40,
1008 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
93a17b20 1009 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
463ee0b2 1010 61, -1, -1, 64, -1, -1, -1, -1, -1, -1,
93a17b20 1011 -1, -1, 274, -1, 276, 277, 278, -1, -1, -1,
463ee0b2
LW
1012 -1, 283, 284, 285, 286, 287, 288, -1, 33, 291,
1013 91, 36, 37, 38, 296, 40, -1, 42, 43, 301,
1014 45, 303, 304, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1016 -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
1018 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1019 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1021 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1022 -1, 126, -1, -1, -1, -1, -1, -1, 33, -1,
1023 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1024 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1026 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1027 -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
1028 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
1030 261, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, 274, -1, 276, 277, 278, 123, -1,
1032 -1, 126, 283, 284, 285, 286, 287, 288, -1, -1,
1033 291, -1, -1, -1, -1, 296, -1, -1, -1, -1,
1034 301, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1035 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
93a17b20
LW
1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1037 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
463ee0b2
LW
1038 285, 286, 287, 288, -1, -1, 291, -1, -1, -1,
1039 -1, 296, -1, -1, -1, -1, 301, -1, 303, 304,
1040 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1042 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1043 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1044 38, 296, 40, -1, 42, 43, 301, 45, 303, 304,
1045 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1046 -1, -1, -1, 61, -1, -1, 64, -1, -1, 274,
1047 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1048 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1049 38, 296, 40, 91, 42, 43, 301, 45, 303, 304,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, -1, 61, -1, -1, 64, -1, -1, -1,
1052 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1053 -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
1054 36, 37, 38, 91, 40, 41, 42, 43, -1, 45,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
1057 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
93a17b20 1060 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
463ee0b2
LW
1061 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
1062 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1063 126, -1, -1, -1, -1, -1, -1, 64, -1, -1,
93a17b20 1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1066 258, 259, 260, 261, 91, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1068 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1069 288, -1, -1, 291, -1, -1, 123, -1, 296, 126,
1070 -1, -1, -1, 301, -1, 303, 304, -1, -1, 257,
1071 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1073 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1074 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
1075 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
1076 -1, 257, 258, 259, 260, 261, 41, -1, -1, 44,
1077 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1078 276, 277, 278, 58, 59, -1, 61, 283, 284, 285,
1079 286, 287, 288, -1, 33, 291, -1, 36, 37, 38,
1080 296, 40, 41, 42, 43, 301, 45, 303, 304, -1,
1081 -1, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1082 -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
1083 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, -1, -1, -1, 274, 123, 276,
1085 277, 278, 91, -1, -1, -1, 283, 284, 285, 286,
1086 287, 288, -1, 33, 291, -1, 36, 37, 38, 296,
1087 40, -1, 42, 43, 301, 45, 303, 304, -1, -1,
1088 -1, -1, -1, -1, 123, -1, -1, 126, -1, 59,
1089 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
93a17b20 1090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1091 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1092 38, 91, 40, 41, 42, 43, -1, 45, -1, -1,
93a17b20 1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1094 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
1095 -1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1097 38, -1, 40, 91, 42, 43, -1, 45, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1099 -1, 266, 267, 268, 269, -1, 64, -1, -1, -1,
1100 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1101 -1, -1, -1, -1, 289, 290, -1, -1, 257, 258,
1102 259, 260, 261, 91, 299, 93, -1, -1, -1, -1,
1103 305, 306, -1, -1, -1, 274, -1, 276, 277, 278,
1104 -1, -1, -1, -1, 283, 284, 285, 286, 287, 288,
1105 -1, -1, 291, -1, -1, 123, -1, 296, 126, -1,
1106 -1, -1, 301, -1, 303, 304, -1, -1, -1, -1,
1107 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
1108 42, 43, -1, 45, -1, -1, -1, 257, 258, 259,
1109 260, 261, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, 64, -1, 274, -1, 276, 277, 278, -1,
1111 -1, -1, -1, 283, 284, 285, 286, 287, 288, -1,
1112 -1, 291, -1, -1, -1, -1, 296, -1, -1, 91,
1113 -1, 301, -1, 303, 304, -1, -1, -1, -1, 257,
1114 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1116 278, 123, -1, -1, 126, 283, 284, 285, 286, 287,
1117 288, -1, 33, 291, -1, 36, 37, 38, 296, 40,
1118 -1, 42, 43, 301, 45, 303, 304, -1, -1, 257,
1119 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, 64, -1, -1, 274, -1, 276, 277,
1121 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1122 288, 41, -1, 291, 44, -1, -1, -1, 296, -1,
1123 91, -1, -1, 301, -1, 303, 304, -1, 58, 59,
1124 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1126 -1, -1, 123, -1, -1, 126, -1, 41, -1, -1,
1127 44, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1129 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1130 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1131 41, -1, 274, 44, 276, 277, 278, 91, -1, 93,
1132 -1, 283, 284, 285, 286, 287, 288, 58, 59, 291,
1133 61, -1, 63, -1, 296, -1, -1, -1, -1, 301,
1134 -1, 303, 304, -1, -1, -1, -1, -1, -1, 123,
1135 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1136 91, -1, 93, -1, -1, -1, -1, -1, 58, 59,
1137 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, 123, -1, -1, -1, 257, 258, 259, 260,
1140 261, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1141 -1, -1, -1, 274, 41, 276, 277, 278, -1, -1,
1142 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
1143 291, 58, 59, 123, 61, 296, 63, -1, -1, -1,
1144 301, -1, 303, 304, -1, -1, 266, 267, 268, 269,
1145 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1146 280, 281, 282, -1, 91, -1, 93, -1, -1, 289,
1147 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1148 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1149 -1, -1, 266, 267, 268, 269, 123, -1, -1, -1,
1150 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1151 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1152 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1153 -1, 305, 306, -1, -1, 266, 267, 268, 269, -1,
1154 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
1155 281, 282, -1, -1, -1, -1, -1, -1, 289, 290,
1156 -1, 292, 293, 294, 295, -1, 297, 298, 299, -1,
1157 -1, 302, -1, -1, 305, 306, 266, 267, 268, 269,
1158 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1159 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1160 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1161 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1163 -1, -1, 44, -1, -1, -1, -1, -1, -1, 266,
1164 267, 268, 269, -1, -1, -1, 58, 59, 275, 61,
1165 -1, 63, 279, 280, 281, 282, -1, -1, -1, -1,
1166 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1167 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
1168 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1169 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
463ee0b2
LW
1170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, 123, -1, -1, 41, -1, -1, 44, -1, -1,
1172 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1173 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, -1, -1, -1, 123, 41, -1, -1, 44,
1176 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
1177 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1179 -1, -1, -1, -1, -1, -1, 123, 41, -1, -1,
1180 44, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1181 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1184 -1, -1, -1, -1, 41, -1, -1, 44, -1, 93,
1185 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1186 -1, 58, 59, 275, 61, -1, 63, 279, 280, 281,
1187 282, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1188 292, 293, 294, 295, -1, 297, 298, 299, -1, -1,
1189 302, -1, -1, 305, 306, -1, 93, -1, 266, 267,
1190 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1191 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1192 -1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1193 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1194 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
93a17b20 1195 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
463ee0b2
LW
1196 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1197 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
1198 -1, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1199 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1200 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1201 295, -1, 297, 298, 299, -1, -1, -1, -1, -1,
1202 305, 306, 266, 267, 268, 269, -1, -1, -1, -1,
1203 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1204 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1205 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1206 -1, 305, 306, -1, -1, -1, -1, -1, -1, 266,
93a17b20
LW
1207 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1208 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
463ee0b2
LW
1209 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1210 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
93a17b20 1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1212 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1215 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1216 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1219 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
1220 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1223 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1224 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1227 -1, 44, -1, -1, -1, -1, -1, -1, 93, -1,
1228 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1229 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1231 -1, -1, -1, -1, -1, -1, -1, -1, 91, -1,
1232 93, -1, -1, -1, -1, -1, -1, -1, 266, 267,
1233 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
93a17b20 1234 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
463ee0b2
LW
1235 123, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1236 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1237 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1238 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1239 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1240 297, 298, 299, -1, -1, 302, -1, -1, 305, 306,
1241 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1242 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1243 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1244 -1, 297, -1, 299, -1, -1, -1, -1, -1, 305,
1245 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1246 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1247 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1248 295, -1, 297, 298, -1, -1, -1, 302, -1, -1,
1249 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1250 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1251 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1252 293, 294, 295, -1, 297, 41, 299, -1, 44, -1,
1253 -1, -1, 305, 306, -1, -1, -1, -1, -1, -1,
1254 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1257 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1258 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1260 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1261 -1, 44, -1, -1, -1, -1, 91, -1, 93, -1,
1262 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1263 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, 123, 41,
1265 -1, -1, 44, -1, -1, -1, -1, -1, 91, -1,
1266 93, -1, -1, -1, -1, -1, 58, 59, -1, 61,
93a17b20
LW
1267 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1269 123, -1, -1, 41, -1, -1, 44, -1, -1, 91,
1270 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1271 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1274 -1, -1, -1, 91, -1, 93, -1, -1, -1, -1,
1275 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1276 -1, -1, -1, 279, 280, -1, -1, -1, -1, -1,
1277 -1, -1, -1, 289, 290, 123, 292, 293, 294, 295,
1278 -1, -1, -1, 299, -1, -1, -1, -1, -1, 305,
1279 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1280 275, -1, -1, -1, 279, 280, -1, -1, -1, -1,
1281 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1282 295, -1, -1, -1, 299, -1, -1, -1, -1, -1,
1283 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1284 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1285 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1286 293, 294, 295, -1, -1, -1, 299, -1, -1, -1,
1287 -1, -1, 305, 306, 266, 267, 268, 269, -1, -1,
1288 -1, -1, -1, 275, -1, -1, -1, 41, 280, -1,
1289 44, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1290 292, 293, 294, 295, 58, 59, -1, 299, -1, -1,
1291 -1, -1, 41, 305, 306, 44, -1, -1, 266, 267,
1292 268, 269, -1, -1, -1, -1, -1, 275, -1, 58,
1293 59, -1, 61, -1, 63, -1, -1, 91, -1, 93,
1294 -1, 289, 290, -1, 292, 293, 294, 295, -1, -1,
1295 -1, 299, -1, 41, -1, -1, 44, 305, 306, -1,
1296 -1, -1, 91, -1, 93, -1, -1, -1, -1, 123,
1297 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
93a17b20 1298 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
463ee0b2
LW
1299 -1, -1, -1, -1, 123, -1, -1, -1, -1, 58,
1300 59, -1, 61, 91, 63, 93, -1, -1, -1, -1,
1301 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1302 -1, -1, -1, 41, -1, -1, 44, -1, 58, 59,
1303 -1, 61, 91, 63, 93, 123, -1, -1, -1, -1,
1304 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1305 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1306 -1, 91, -1, 93, 123, -1, -1, -1, -1, 58,
1307 59, 41, -1, 91, 44, 93, -1, -1, -1, -1,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1309 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1310 -1, -1, 91, -1, 93, 123, -1, -1, -1, -1,
1311 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1312 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1313 -1, -1, -1, -1, 123, 289, 290, 266, 267, 268,
1314 269, 41, -1, -1, 44, 299, 275, -1, -1, -1,
1315 -1, 305, 306, 123, -1, -1, -1, -1, 58, 59,
1316 289, 290, -1, 292, 293, 294, 295, -1, -1, -1,
1317 299, -1, -1, -1, -1, -1, 305, 306, 266, 267,
1318 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1319 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1320 -1, 289, 290, -1, 292, 293, 294, 266, 267, 268,
1321 269, 299, -1, -1, -1, -1, 275, 305, 306, -1,
1322 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1323 289, 290, -1, 292, 293, -1, 266, 267, 268, 269,
1324 299, -1, -1, -1, -1, 275, 305, 306, 266, 267,
1325 268, 269, -1, -1, -1, -1, -1, -1, -1, 289,
1326 290, -1, 292, -1, -1, -1, -1, -1, -1, 299,
1327 -1, 289, 290, -1, -1, 305, 306, 266, 267, 268,
1328 269, 299, -1, -1, -1, -1, -1, 305, 306, 41,
1329 -1, -1, 44, -1, -1, -1, 266, 267, 268, 269,
1330 289, 290, -1, -1, -1, -1, 58, 59, -1, -1,
1331 299, -1, -1, -1, -1, -1, 305, 306, -1, 289,
1332 290, -1, -1, -1, -1, -1, -1, -1, -1, 299,
1333 41, -1, -1, 44, 41, 305, 306, 44, -1, 91,
1334 -1, 93, 41, -1, -1, 44, -1, 58, 59, -1,
1335 -1, 58, 59, -1, -1, -1, -1, -1, -1, 58,
1336 59, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1337 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1338 91, -1, 93, -1, 91, 41, 93, -1, 44, 289,
1339 290, -1, 91, 41, 93, -1, 44, 41, -1, 299,
1340 44, -1, 58, 59, -1, 305, 306, -1, -1, -1,
1341 58, 59, 123, -1, 58, 59, 123, -1, -1, -1,
1342 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, 91, -1, 93, 41, -1,
1344 -1, 44, -1, 91, -1, 93, -1, 91, -1, 93,
1345 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1346 63, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1347 -1, -1, -1, -1, -1, 123, -1, 41, -1, 123,
1348 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1349 93, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1352 -1, -1, 41, -1, -1, 44, -1, -1, -1, 93,
1353 -1, -1, -1, -1, -1, -1, -1, 289, 290, 58,
1354 59, -1, 61, -1, 63, -1, -1, 299, -1, -1,
1355 -1, -1, -1, 305, 306, 266, 267, 268, 269, 266,
1356 267, 268, 269, -1, -1, -1, -1, 266, 267, 268,
1357 269, -1, -1, -1, 93, -1, -1, -1, 289, 290,
1358 -1, -1, 289, 290, -1, -1, -1, -1, 299, -1,
1359 289, 290, 299, -1, 305, 306, -1, -1, 305, 306,
1360 299, -1, -1, -1, -1, -1, 305, 306, -1, -1,
1361 266, 267, 268, 269, -1, -1, -1, -1, 266, 267,
1362 268, 269, 266, 267, 268, 269, -1, -1, -1, -1,
1363 -1, -1, -1, 289, 290, -1, -1, -1, -1, -1,
1364 -1, 289, 290, 299, -1, -1, -1, -1, -1, 305,
1365 306, 299, -1, -1, -1, 299, -1, 305, 306, -1,
1366 -1, 305, 306, 266, 267, 268, 269, -1, -1, -1,
1367 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1368 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1369 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1370 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1371 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1372 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1373 294, 295, -1, 297, 298, 299, -1, 41, 302, -1,
1374 44, -1, -1, -1, -1, -1, -1, 266, 267, 268,
93a17b20
LW
1375 269, -1, -1, -1, 58, 59, 275, 61, -1, 63,
1376 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1377 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1378 299, 41, -1, 302, 44, -1, -1, -1, -1, 93,
1379 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1380 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
93a17b20
LW
1381 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1382 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1383 -1, -1, -1, 93, -1, 58, 59, -1, 61, -1,
93a17b20 1384 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1385 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
93a17b20 1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1387 93, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, 93, -1, 58,
93a17b20 1391 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
463ee0b2
LW
1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1397 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1398 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1399 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1400 -1, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1401 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1402 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1403 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1404 -1, -1, 302, 266, 267, 268, 269, -1, -1, -1,
93a17b20 1405 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
463ee0b2
LW
1406 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1407 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1408 266, 267, 268, 269, 37, 38, -1, -1, -1, 275,
1409 43, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1410 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1411 -1, 297, 298, 299, -1, -1, 302, 266, 267, 268,
1412 269, -1, -1, -1, -1, -1, 275, -1, -1, 82,
1413 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
1414 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1415 -1, -1, -1, 302, -1, -1, -1, -1, -1, -1,
1416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1418 -1, -1, 135, 136, 137, 138, 139, 140, 141, 142,
1419 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
1420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1423 -1, -1, -1, -1, -1, -1, -1, 190, -1, -1,
1424 -1, -1, -1, -1, -1, 198, -1, 200, -1, -1,
1425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 212,
1426 -1, 214, -1, -1, -1, -1, -1, 220, -1, 222,
1427 -1, 224, -1, 226, -1, 228, -1, -1, 231, -1,
93a17b20 1428 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2
LW
1429 -1, -1, -1, -1, -1, 248, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, 280,
93a17b20
LW
1433};
1434#define YYFINAL 1
79072805 1435#ifndef YYDEBUG
93a17b20 1436#define YYDEBUG 0
79072805 1437#endif
463ee0b2 1438#define YYMAXTOKEN 306
79072805 1439#if YYDEBUG
93a17b20
LW
1440char *yyname[] = {
1441"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1442"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
14430,0,0,0,0,"':'","';'",0,"'='",0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14440,0,0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14450,0,0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","THING",
1449"PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","PACKAGE","WHILE","UNTIL","IF",
1450"UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1",
1451"FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL","DELETE",
463ee0b2
LW
1452"HASHBRACK","NOAMP","OROP","ANDOP","LSTOP","OROR","ANDAND","BITOROP","BITANDOP",
1453"UNIOP","SHIFTOP","MATCHOP","ARROW","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
93a17b20 1454"POSTINC","POSTDEC",
79072805 1455};
93a17b20
LW
1456char *yyrule[] = {
1457"$accept : prog",
1458"$$1 :",
1459"prog : $$1 lineseq",
1460"block : '{' remember lineseq '}'",
1461"remember :",
1462"lineseq :",
1463"lineseq : lineseq decl",
1464"lineseq : lineseq line",
1465"line : label cond",
1466"line : loop",
1467"line : label ';'",
1468"line : label sideff ';'",
1469"sideff : error",
1470"sideff : expr",
1471"sideff : expr IF expr",
1472"sideff : expr UNLESS expr",
1473"sideff : expr WHILE expr",
1474"sideff : expr UNTIL expr",
1475"else :",
1476"else : ELSE block",
1477"else : ELSIF '(' expr ')' block else",
1478"cond : IF '(' expr ')' block else",
1479"cond : UNLESS '(' expr ')' block else",
1480"cond : IF block block else",
1481"cond : UNLESS block block else",
1482"cont :",
1483"cont : CONTINUE block",
1484"loop : label WHILE '(' texpr ')' block cont",
1485"loop : label UNTIL '(' expr ')' block cont",
1486"loop : label WHILE block block cont",
1487"loop : label UNTIL block block cont",
1488"loop : label FOR scalar '(' expr crp block cont",
1489"loop : label FOR '(' expr crp block cont",
1490"loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1491"loop : label block cont",
1492"nexpr :",
1493"nexpr : sideff",
1494"texpr :",
1495"texpr : expr",
1496"label :",
1497"label : LABEL",
1498"decl : format",
1499"decl : subrout",
1500"decl : package",
1501"format : FORMAT WORD block",
1502"format : FORMAT block",
1503"subrout : SUB WORD block",
1504"subrout : SUB WORD ';'",
1505"package : PACKAGE WORD ';'",
1506"package : PACKAGE ';'",
1507"expr : expr ',' sexpr",
1508"expr : sexpr",
1509"listop : LSTOP indirob listexpr",
1510"listop : FUNC '(' indirob listexpr ')'",
1511"listop : indirob ARROW LSTOP listexpr",
1512"listop : indirob ARROW FUNC '(' listexpr ')'",
1513"listop : term ARROW METHOD '(' listexpr ')'",
1514"listop : METHOD indirob listexpr",
1515"listop : LSTOP listexpr",
1516"listop : FUNC '(' listexpr ')'",
1517"sexpr : sexpr '=' sexpr",
1518"sexpr : sexpr POWOP '=' sexpr",
1519"sexpr : sexpr MULOP '=' sexpr",
1520"sexpr : sexpr ADDOP '=' sexpr",
1521"sexpr : sexpr SHIFTOP '=' sexpr",
1522"sexpr : sexpr BITANDOP '=' sexpr",
1523"sexpr : sexpr BITOROP '=' sexpr",
1524"sexpr : sexpr ANDAND '=' sexpr",
1525"sexpr : sexpr OROR '=' sexpr",
1526"sexpr : sexpr POWOP sexpr",
1527"sexpr : sexpr MULOP sexpr",
1528"sexpr : sexpr ADDOP sexpr",
1529"sexpr : sexpr SHIFTOP sexpr",
1530"sexpr : sexpr RELOP sexpr",
1531"sexpr : sexpr EQOP sexpr",
1532"sexpr : sexpr BITANDOP sexpr",
1533"sexpr : sexpr BITOROP sexpr",
1534"sexpr : sexpr DOTDOT sexpr",
1535"sexpr : sexpr ANDAND sexpr",
1536"sexpr : sexpr OROR sexpr",
463ee0b2
LW
1537"sexpr : sexpr ANDOP sexpr",
1538"sexpr : sexpr OROP sexpr",
93a17b20
LW
1539"sexpr : sexpr '?' sexpr ':' sexpr",
1540"sexpr : sexpr MATCHOP sexpr",
1541"sexpr : term",
1542"term : '-' term",
1543"term : '+' term",
1544"term : '!' term",
1545"term : '~' term",
1546"term : REFGEN term",
1547"term : term POSTINC",
1548"term : term POSTDEC",
1549"term : PREINC term",
1550"term : PREDEC term",
1551"term : LOCAL sexpr",
1552"term : '(' expr crp",
1553"term : '(' ')'",
1554"term : '[' expr crb",
1555"term : '[' ']'",
1556"term : HASHBRACK expr crhb",
1557"term : HASHBRACK ';' '}'",
1558"term : scalar",
1559"term : star",
1560"term : scalar '[' expr ']'",
1561"term : term ARROW '[' expr ']'",
463ee0b2 1562"term : term '[' expr ']'",
93a17b20
LW
1563"term : hsh",
1564"term : ary",
1565"term : arylen",
1566"term : scalar '{' expr ';' '}'",
1567"term : term ARROW '{' expr ';' '}'",
463ee0b2 1568"term : term '{' expr ';' '}'",
93a17b20
LW
1569"term : '(' expr crp '[' expr ']'",
1570"term : '(' ')' '[' expr ']'",
1571"term : ary '[' expr ']'",
1572"term : ary '{' expr ';' '}'",
1573"term : DELETE scalar '{' expr ';' '}'",
1574"term : DELETE '(' scalar '{' expr ';' '}' ')'",
1575"term : THING",
1576"term : amper",
1577"term : amper '(' ')'",
1578"term : amper '(' expr crp",
1579"term : NOAMP WORD listexpr",
463ee0b2 1580"term : NOAMP WORD indirob listexpr",
93a17b20
LW
1581"term : DO sexpr",
1582"term : DO block",
1583"term : DO WORD '(' ')'",
1584"term : DO WORD '(' expr crp",
1585"term : DO scalar '(' ')'",
1586"term : DO scalar '(' expr crp",
1587"term : LOOPEX",
1588"term : LOOPEX WORD",
1589"term : UNIOP",
1590"term : UNIOP block",
1591"term : UNIOP sexpr",
1592"term : FUNC0",
1593"term : FUNC0 '(' ')'",
1594"term : FUNC1 '(' ')'",
1595"term : FUNC1 '(' expr ')'",
1596"term : PMFUNC '(' sexpr ')'",
1597"term : PMFUNC '(' sexpr ',' sexpr ')'",
1598"term : WORD",
1599"term : listop",
1600"listexpr :",
1601"listexpr : expr",
1602"amper : '&' indirob",
1603"scalar : '$' indirob",
1604"ary : '@' indirob",
1605"hsh : '%' indirob",
1606"arylen : DOLSHARP indirob",
1607"star : '*' indirob",
1608"indirob : WORD",
1609"indirob : scalar",
1610"indirob : block",
1611"indirob : PRIVATEREF",
1612"crp : ',' ')'",
1613"crp : ')'",
1614"crb : ',' ']'",
1615"crb : ']'",
1616"crhb : ',' ';' '}'",
1617"crhb : ';' '}'",
79072805 1618};
79072805 1619#endif
93a17b20
LW
1620#define yyclearin (yychar=(-1))
1621#define yyerrok (yyerrflag=0)
1622#ifdef YYSTACKSIZE
1623#ifndef YYMAXDEPTH
1624#define YYMAXDEPTH YYSTACKSIZE
1625#endif
1626#else
1627#ifdef YYMAXDEPTH
1628#define YYSTACKSIZE YYMAXDEPTH
1629#else
1630#define YYSTACKSIZE 500
1631#define YYMAXDEPTH 500
1632#endif
1633#endif
1634int yydebug;
1635int yynerrs;
1636int yyerrflag;
1637int yychar;
1638YYSTYPE yyval;
1639YYSTYPE yylval;
463ee0b2 1640#line 605 "perly.y"
93a17b20 1641 /* PROGRAM */
463ee0b2 1642#line 1648 "y.tab.c"
93a17b20
LW
1643#define YYABORT goto yyabort
1644#define YYACCEPT goto yyaccept
1645#define YYERROR goto yyerrlab
79072805
LW
1646int
1647yyparse()
1648{
93a17b20
LW
1649 register int yym, yyn, yystate;
1650 register short *yyssp;
1651 register YYSTYPE *yyvsp;
1652 short* yyss;
1653 YYSTYPE* yyvs;
1654 unsigned yystacksize = YYSTACKSIZE;
1655 int oldyydebug = yydebug;
1656 int oldyynerrs = yynerrs;
1657 int oldyyerrflag = yyerrflag;
1658 int oldyychar = yychar;
1659 YYSTYPE oldyyval = yyval;
1660 YYSTYPE oldyylval = yylval;
1661 int retval = 0;
79072805 1662
93a17b20
LW
1663#if YYDEBUG
1664 register char *yys;
1665 extern char *getenv();
79072805 1666
93a17b20
LW
1667 if (yys = getenv("YYDEBUG"))
1668 {
1669 yyn = *yys;
1670 if (yyn >= '0' && yyn <= '9')
1671 yydebug = yyn - '0';
1672 }
1673#endif
79072805 1674
93a17b20
LW
1675 yynerrs = 0;
1676 yyerrflag = 0;
1677 yychar = (-1);
79072805 1678
93a17b20
LW
1679 /*
1680 ** Initialize private stacks (yyparse may be called from an action)
1681 */
1682 yyss = (short*)malloc(yystacksize*sizeof(short));
1683 yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
1684 if (!yyvs || !yyss)
1685 goto yyoverflow;
79072805 1686
93a17b20
LW
1687 yyssp = yyss;
1688 yyvsp = yyvs;
1689 *yyssp = yystate = 0;
79072805 1690
93a17b20
LW
1691yyloop:
1692 if (yyn = yydefred[yystate]) goto yyreduce;
1693 if (yychar < 0)
1694 {
1695 if ((yychar = yylex()) < 0) yychar = 0;
79072805 1696#if YYDEBUG
93a17b20
LW
1697 if (yydebug)
1698 {
1699 yys = 0;
1700 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1701 if (!yys) yys = "illegal-symbol";
ed6116ce 1702 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
93a17b20
LW
1703 yychar, yys);
1704 }
79072805 1705#endif
93a17b20
LW
1706 }
1707 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1708 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1709 {
79072805 1710#if YYDEBUG
93a17b20 1711 if (yydebug)
ed6116ce 1712 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
93a17b20 1713 yystate, yytable[yyn]);
79072805 1714#endif
93a17b20
LW
1715 if (yyssp >= yyss + yystacksize - 1)
1716 {
1717 /*
1718 ** reallocate and recover. Note that pointers
1719 ** have to be reset, or bad things will happen
1720 */
1721 int yyps_index = (yyssp - yyss);
1722 int yypv_index = (yyvsp - yyvs);
1723 yystacksize += YYSTACKSIZE;
1724 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1725 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1726 if (!yyvs || !yyss)
1727 goto yyoverflow;
1728 yyssp = yyss + yyps_index;
1729 yyvsp = yyvs + yypv_index;
1730 }
1731 *++yyssp = yystate = yytable[yyn];
1732 *++yyvsp = yylval;
1733 yychar = (-1);
1734 if (yyerrflag > 0) --yyerrflag;
1735 goto yyloop;
1736 }
1737 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1738 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1739 {
1740 yyn = yytable[yyn];
1741 goto yyreduce;
1742 }
1743 if (yyerrflag) goto yyinrecovery;
1744#ifdef lint
1745 goto yynewerror;
1746#endif
1747yynewerror:
1748 yyerror("syntax error");
1749#ifdef lint
1750 goto yyerrlab;
1751#endif
1752yyerrlab:
1753 ++yynerrs;
1754yyinrecovery:
1755 if (yyerrflag < 3)
1756 {
1757 yyerrflag = 3;
1758 for (;;)
1759 {
1760 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1761 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1762 {
79072805 1763#if YYDEBUG
93a17b20 1764 if (yydebug)
ed6116ce
LW
1765 fprintf(stderr,
1766 "yydebug: state %d, error recovery shifting to state %d\n",
1767 *yyssp, yytable[yyn]);
93a17b20
LW
1768#endif
1769 if (yyssp >= yyss + yystacksize - 1)
1770 {
1771 /*
1772 ** reallocate and recover. Note that pointers
1773 ** have to be reset, or bad things will happen
1774 */
1775 int yyps_index = (yyssp - yyss);
1776 int yypv_index = (yyvsp - yyvs);
1777 yystacksize += YYSTACKSIZE;
1778 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1779 yystacksize * sizeof(YYSTYPE));
1780 yyss = (short*)realloc((char*)yyss,
1781 yystacksize * sizeof(short));
1782 if (!yyvs || !yyss)
1783 goto yyoverflow;
1784 yyssp = yyss + yyps_index;
1785 yyvsp = yyvs + yypv_index;
1786 }
1787 *++yyssp = yystate = yytable[yyn];
1788 *++yyvsp = yylval;
1789 goto yyloop;
1790 }
1791 else
1792 {
79072805 1793#if YYDEBUG
93a17b20 1794 if (yydebug)
ed6116ce
LW
1795 fprintf(stderr,
1796 "yydebug: error recovery discarding state %d\n",
1797 *yyssp);
79072805 1798#endif
93a17b20
LW
1799 if (yyssp <= yyss) goto yyabort;
1800 --yyssp;
1801 --yyvsp;
1802 }
1803 }
1804 }
1805 else
1806 {
1807 if (yychar == 0) goto yyabort;
79072805 1808#if YYDEBUG
93a17b20
LW
1809 if (yydebug)
1810 {
1811 yys = 0;
1812 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1813 if (!yys) yys = "illegal-symbol";
ed6116ce
LW
1814 fprintf(stderr,
1815 "yydebug: state %d, error recovery discards token %d (%s)\n",
1816 yystate, yychar, yys);
93a17b20
LW
1817 }
1818#endif
1819 yychar = (-1);
1820 goto yyloop;
1821 }
1822yyreduce:
79072805 1823#if YYDEBUG
93a17b20 1824 if (yydebug)
ed6116ce 1825 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
93a17b20 1826 yystate, yyn, yyrule[yyn]);
79072805 1827#endif
93a17b20
LW
1828 yym = yylen[yyn];
1829 yyval = yyvsp[1-yym];
1830 switch (yyn)
1831 {
79072805 1832case 1:
463ee0b2 1833#line 102 "perly.y"
79072805
LW
1834{
1835#if defined(YYDEBUG) && defined(DEBUGGING)
1836 yydebug = (debug & 1);
1837#endif
1838 expect = XBLOCK;
93a17b20
LW
1839 }
1840break;
79072805 1841case 2:
463ee0b2 1842#line 109 "perly.y"
79072805 1843{ if (in_eval) {
93a17b20 1844 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
79072805
LW
1845 eval_start = linklist(eval_root);
1846 eval_root->op_next = 0;
1847 peep(eval_start);
1848 }
1849 else
93a17b20
LW
1850 main_root = block_head(yyvsp[0].opval, &main_start);
1851 }
1852break;
79072805 1853case 3:
463ee0b2
LW
1854#line 121 "perly.y"
1855{ int nbs = needblockscope;
1856 yyval.opval = scalarseq(yyvsp[-1].opval);
1857 if (copline > (line_t)yyvsp[-3].ival)
1858 copline = yyvsp[-3].ival;
1859 leave_scope(yyvsp[-2].ival);
1860 if (nbs)
1861 needblockscope = TRUE; /* propagate outward */
1862 pad_leavemy(comppadnamefill); }
93a17b20 1863break;
79072805 1864case 4:
463ee0b2
LW
1865#line 132 "perly.y"
1866{ yyval.ival = savestack_ix;
1867 SAVEINT(comppadnamefill);
1868 SAVEINT(needblockscope);
1869 needblockscope = FALSE; }
93a17b20 1870break;
79072805 1871case 5:
463ee0b2 1872#line 139 "perly.y"
93a17b20
LW
1873{ yyval.opval = Nullop; }
1874break;
79072805 1875case 6:
463ee0b2 1876#line 141 "perly.y"
93a17b20
LW
1877{ yyval.opval = yyvsp[-1].opval; }
1878break;
79072805 1879case 7:
463ee0b2
LW
1880#line 143 "perly.y"
1881{ yyval.opval = append_list(OP_LINESEQ,
1882 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); pad_reset();
1883 if (yyvsp[-1].opval && yyvsp[0].opval) needblockscope = TRUE; }
93a17b20 1884break;
79072805 1885case 8:
463ee0b2 1886#line 149 "perly.y"
93a17b20
LW
1887{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1888break;
79072805 1889case 10:
463ee0b2 1890#line 152 "perly.y"
93a17b20
LW
1891{ if (yyvsp[-1].pval != Nullch) {
1892 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805
LW
1893 }
1894 else {
1895 yyval.opval = Nullop;
1896 copline = NOLINE;
1897 }
93a17b20
LW
1898 expect = XBLOCK; }
1899break;
79072805 1900case 11:
463ee0b2 1901#line 161 "perly.y"
93a17b20
LW
1902{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1903 expect = XBLOCK; }
1904break;
79072805 1905case 12:
463ee0b2 1906#line 166 "perly.y"
93a17b20
LW
1907{ yyval.opval = Nullop; }
1908break;
79072805 1909case 13:
463ee0b2 1910#line 168 "perly.y"
93a17b20
LW
1911{ yyval.opval = yyvsp[0].opval; }
1912break;
79072805 1913case 14:
463ee0b2 1914#line 170 "perly.y"
93a17b20
LW
1915{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1916break;
79072805 1917case 15:
463ee0b2 1918#line 172 "perly.y"
93a17b20
LW
1919{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1920break;
79072805 1921case 16:
463ee0b2 1922#line 174 "perly.y"
93a17b20
LW
1923{ yyval.opval = newLOOPOP(0, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1924break;
79072805 1925case 17:
463ee0b2 1926#line 176 "perly.y"
93a17b20
LW
1927{ yyval.opval = newLOOPOP(0, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1928break;
79072805 1929case 18:
463ee0b2 1930#line 180 "perly.y"
93a17b20
LW
1931{ yyval.opval = Nullop; }
1932break;
79072805 1933case 19:
463ee0b2 1934#line 182 "perly.y"
93a17b20
LW
1935{ yyval.opval = scope(yyvsp[0].opval); }
1936break;
79072805 1937case 20:
463ee0b2 1938#line 184 "perly.y"
93a17b20
LW
1939{ copline = yyvsp[-5].ival;
1940 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1941break;
79072805 1942case 21:
463ee0b2 1943#line 189 "perly.y"
93a17b20
LW
1944{ copline = yyvsp[-5].ival;
1945 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1946break;
79072805 1947case 22:
463ee0b2 1948#line 192 "perly.y"
93a17b20 1949{ copline = yyvsp[-5].ival;
79072805 1950 yyval.opval = newCONDOP(0,
93a17b20
LW
1951 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1952break;
79072805 1953case 23:
463ee0b2 1954#line 196 "perly.y"
93a17b20
LW
1955{ copline = yyvsp[-3].ival;
1956 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1957break;
79072805 1958case 24:
463ee0b2 1959#line 199 "perly.y"
93a17b20
LW
1960{ copline = yyvsp[-3].ival;
1961 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1962 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1963break;
79072805 1964case 25:
463ee0b2 1965#line 205 "perly.y"
93a17b20
LW
1966{ yyval.opval = Nullop; }
1967break;
79072805 1968case 26:
463ee0b2 1969#line 207 "perly.y"
93a17b20
LW
1970{ yyval.opval = scope(yyvsp[0].opval); }
1971break;
79072805 1972case 27:
463ee0b2 1973#line 211 "perly.y"
93a17b20
LW
1974{ copline = yyvsp[-5].ival;
1975 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2
LW
1976 newWHILEOP(0, 1, (LOOP*)Nullop,
1977 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
93a17b20 1978break;
79072805 1979case 28:
463ee0b2 1980#line 216 "perly.y"
93a17b20
LW
1981{ copline = yyvsp[-5].ival;
1982 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2 1983 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20
LW
1984 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1985break;
79072805 1986case 29:
463ee0b2 1987#line 221 "perly.y"
93a17b20
LW
1988{ copline = yyvsp[-3].ival;
1989 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1990 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20
LW
1991 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1992break;
79072805 1993case 30:
463ee0b2 1994#line 226 "perly.y"
93a17b20
LW
1995{ copline = yyvsp[-3].ival;
1996 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1997 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20
LW
1998 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1999break;
79072805 2000case 31:
463ee0b2
LW
2001#line 231 "perly.y"
2002{ yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
93a17b20
LW
2003 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2004break;
79072805 2005case 32:
463ee0b2 2006#line 234 "perly.y"
93a17b20
LW
2007{ yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2008break;
79072805 2009case 33:
463ee0b2 2010#line 237 "perly.y"
93a17b20 2011{ copline = yyvsp[-8].ival;
79072805 2012 yyval.opval = append_elem(OP_LINESEQ,
93a17b20
LW
2013 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
2014 newSTATEOP(0, yyvsp[-9].pval,
463ee0b2 2015 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20
LW
2016 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
2017break;
79072805 2018case 34:
463ee0b2 2019#line 244 "perly.y"
79072805 2020{ yyval.opval = newSTATEOP(0,
463ee0b2
LW
2021 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
2022 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 2023break;
79072805 2024case 35:
463ee0b2 2025#line 250 "perly.y"
93a17b20
LW
2026{ yyval.opval = Nullop; }
2027break;
79072805 2028case 37:
463ee0b2 2029#line 255 "perly.y"
93a17b20
LW
2030{ (void)scan_num("1"); yyval.opval = yylval.opval; }
2031break;
79072805 2032case 39:
463ee0b2 2033#line 260 "perly.y"
93a17b20
LW
2034{ yyval.pval = Nullch; }
2035break;
79072805 2036case 41:
463ee0b2 2037#line 265 "perly.y"
93a17b20
LW
2038{ yyval.ival = 0; }
2039break;
79072805 2040case 42:
463ee0b2 2041#line 267 "perly.y"
93a17b20
LW
2042{ yyval.ival = 0; }
2043break;
79072805 2044case 43:
463ee0b2 2045#line 269 "perly.y"
93a17b20
LW
2046{ yyval.ival = 0; }
2047break;
79072805 2048case 44:
463ee0b2 2049#line 273 "perly.y"
93a17b20
LW
2050{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2051break;
79072805 2052case 45:
463ee0b2 2053#line 275 "perly.y"
93a17b20
LW
2054{ newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
2055break;
79072805 2056case 46:
463ee0b2 2057#line 279 "perly.y"
93a17b20
LW
2058{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2059break;
79072805 2060case 47:
463ee0b2
LW
2061#line 281 "perly.y"
2062{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XBLOCK; }
93a17b20 2063break;
79072805 2064case 48:
463ee0b2 2065#line 285 "perly.y"
93a17b20
LW
2066{ package(yyvsp[-1].opval); }
2067break;
2068case 49:
463ee0b2 2069#line 287 "perly.y"
93a17b20
LW
2070{ package(Nullop); }
2071break;
79072805 2072case 50:
463ee0b2 2073#line 291 "perly.y"
93a17b20
LW
2074{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2075break;
79072805 2076case 52:
463ee0b2 2077#line 296 "perly.y"
93a17b20
LW
2078{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2079 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
2080break;
79072805 2081case 53:
463ee0b2 2082#line 299 "perly.y"
93a17b20
LW
2083{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2084 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
2085break;
79072805 2086case 54:
463ee0b2 2087#line 302 "perly.y"
93a17b20
LW
2088{ yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
2089 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
2090break;
79072805 2091case 55:
463ee0b2 2092#line 305 "perly.y"
93a17b20
LW
2093{ yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
2094 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
2095break;
79072805 2096case 56:
463ee0b2 2097#line 308 "perly.y"
93a17b20
LW
2098{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2099 prepend_elem(OP_LIST, newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), yyvsp[-1].opval)); }
2100break;
79072805 2101case 57:
463ee0b2 2102#line 311 "perly.y"
93a17b20
LW
2103{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2104 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2105break;
79072805 2106case 58:
463ee0b2 2107#line 314 "perly.y"
93a17b20
LW
2108{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2109break;
79072805 2110case 59:
463ee0b2 2111#line 316 "perly.y"
93a17b20
LW
2112{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2113break;
79072805 2114case 60:
463ee0b2 2115#line 320 "perly.y"
93a17b20
LW
2116{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
2117break;
79072805 2118case 61:
463ee0b2 2119#line 322 "perly.y"
93a17b20 2120{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2121 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2122break;
79072805 2123case 62:
463ee0b2 2124#line 325 "perly.y"
93a17b20 2125{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2126 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2127break;
79072805 2128case 63:
463ee0b2 2129#line 328 "perly.y"
93a17b20 2130{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2131 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
93a17b20 2132break;
79072805 2133case 64:
463ee0b2 2134#line 331 "perly.y"
93a17b20 2135{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2136 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2137break;
79072805 2138case 65:
463ee0b2 2139#line 334 "perly.y"
93a17b20 2140{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2141 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2142break;
79072805 2143case 66:
463ee0b2 2144#line 337 "perly.y"
93a17b20 2145{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2146 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2147break;
79072805 2148case 67:
463ee0b2 2149#line 340 "perly.y"
93a17b20 2150{ yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
463ee0b2 2151 mod(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
93a17b20
LW
2152 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2153break;
79072805 2154case 68:
463ee0b2 2155#line 344 "perly.y"
93a17b20 2156{ yyval.opval = newLOGOP(OP_ORASSIGN, 0,
463ee0b2 2157 mod(scalar(yyvsp[-3].opval), OP_ORASSIGN),
93a17b20
LW
2158 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2159break;
79072805 2160case 69:
463ee0b2 2161#line 350 "perly.y"
93a17b20
LW
2162{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2163break;
79072805 2164case 70:
463ee0b2 2165#line 352 "perly.y"
93a17b20
LW
2166{ if (yyvsp[-1].ival != OP_REPEAT)
2167 scalar(yyvsp[-2].opval);
2168 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2169break;
79072805 2170case 71:
463ee0b2 2171#line 356 "perly.y"
93a17b20
LW
2172{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2173break;
79072805 2174case 72:
463ee0b2 2175#line 358 "perly.y"
93a17b20
LW
2176{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2177break;
79072805 2178case 73:
463ee0b2 2179#line 360 "perly.y"
93a17b20
LW
2180{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2181break;
79072805 2182case 74:
463ee0b2 2183#line 362 "perly.y"
93a17b20
LW
2184{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2185break;
79072805 2186case 75:
463ee0b2 2187#line 364 "perly.y"
93a17b20
LW
2188{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2189break;
79072805 2190case 76:
463ee0b2 2191#line 366 "perly.y"
93a17b20
LW
2192{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2193break;
79072805 2194case 77:
463ee0b2 2195#line 368 "perly.y"
93a17b20
LW
2196{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2197break;
79072805 2198case 78:
463ee0b2 2199#line 370 "perly.y"
93a17b20
LW
2200{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2201break;
79072805 2202case 79:
463ee0b2 2203#line 372 "perly.y"
93a17b20
LW
2204{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2205break;
79072805 2206case 80:
463ee0b2
LW
2207#line 374 "perly.y"
2208{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2209break;
79072805 2210case 81:
463ee0b2
LW
2211#line 376 "perly.y"
2212{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2213break;
79072805 2214case 82:
463ee0b2
LW
2215#line 378 "perly.y"
2216{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2217break;
79072805 2218case 83:
463ee0b2
LW
2219#line 380 "perly.y"
2220{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2221break;
79072805 2222case 84:
463ee0b2 2223#line 382 "perly.y"
93a17b20
LW
2224{ yyval.opval = yyvsp[0].opval; }
2225break;
79072805 2226case 85:
463ee0b2
LW
2227#line 386 "perly.y"
2228{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2229break;
79072805 2230case 86:
463ee0b2
LW
2231#line 388 "perly.y"
2232{ yyval.opval = yyvsp[0].opval; }
93a17b20 2233break;
79072805 2234case 87:
463ee0b2
LW
2235#line 390 "perly.y"
2236{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2237break;
79072805 2238case 88:
463ee0b2
LW
2239#line 392 "perly.y"
2240{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
93a17b20 2241break;
79072805 2242case 89:
463ee0b2
LW
2243#line 394 "perly.y"
2244{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
93a17b20 2245break;
79072805 2246case 90:
463ee0b2
LW
2247#line 396 "perly.y"
2248{ yyval.opval = newUNOP(OP_POSTINC, 0,
2249 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
93a17b20 2250break;
79072805 2251case 91:
463ee0b2
LW
2252#line 399 "perly.y"
2253{ yyval.opval = newUNOP(OP_POSTDEC, 0,
2254 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 2255break;
79072805 2256case 92:
463ee0b2
LW
2257#line 402 "perly.y"
2258{ yyval.opval = newUNOP(OP_PREINC, 0,
2259 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
93a17b20 2260break;
79072805 2261case 93:
463ee0b2
LW
2262#line 405 "perly.y"
2263{ yyval.opval = newUNOP(OP_PREDEC, 0,
2264 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
93a17b20 2265break;
79072805 2266case 94:
463ee0b2
LW
2267#line 408 "perly.y"
2268{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
93a17b20 2269break;
79072805 2270case 95:
463ee0b2
LW
2271#line 410 "perly.y"
2272{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 2273break;
79072805 2274case 96:
463ee0b2
LW
2275#line 412 "perly.y"
2276{ yyval.opval = newNULLLIST(); }
93a17b20 2277break;
79072805 2278case 97:
463ee0b2
LW
2279#line 414 "perly.y"
2280{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 2281break;
79072805 2282case 98:
463ee0b2
LW
2283#line 416 "perly.y"
2284{ yyval.opval = newANONLIST(Nullop); }
93a17b20 2285break;
79072805 2286case 99:
463ee0b2
LW
2287#line 418 "perly.y"
2288{ yyval.opval = newANONHASH(yyvsp[-1].opval); }
93a17b20 2289break;
79072805 2290case 100:
463ee0b2
LW
2291#line 420 "perly.y"
2292{ yyval.opval = newANONHASH(Nullop); }
93a17b20 2293break;
79072805 2294case 101:
463ee0b2
LW
2295#line 422 "perly.y"
2296{ yyval.opval = yyvsp[0].opval; }
93a17b20 2297break;
79072805 2298case 102:
463ee0b2
LW
2299#line 424 "perly.y"
2300{ yyval.opval = yyvsp[0].opval; }
2301break;
2302case 103:
2303#line 426 "perly.y"
2304{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2305break;
2306case 104:
2307#line 428 "perly.y"
93a17b20
LW
2308{ yyval.opval = newBINOP(OP_AELEM, 0,
2309 scalar(ref(newAVREF(yyvsp[-4].opval),OP_RV2AV)),
2310 scalar(yyvsp[-1].opval));}
2311break;
463ee0b2
LW
2312case 105:
2313#line 432 "perly.y"
2314{ yyval.opval = newBINOP(OP_AELEM, 0,
2315 scalar(ref(newAVREF(yyvsp[-3].opval),OP_RV2AV)),
2316 scalar(yyvsp[-1].opval));}
2317break;
2318case 106:
2319#line 436 "perly.y"
93a17b20
LW
2320{ yyval.opval = yyvsp[0].opval; }
2321break;
463ee0b2
LW
2322case 107:
2323#line 438 "perly.y"
93a17b20
LW
2324{ yyval.opval = yyvsp[0].opval; }
2325break;
463ee0b2
LW
2326case 108:
2327#line 440 "perly.y"
93a17b20
LW
2328{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2329break;
463ee0b2
LW
2330case 109:
2331#line 442 "perly.y"
93a17b20
LW
2332{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2333 expect = XOPERATOR; }
2334break;
463ee0b2
LW
2335case 110:
2336#line 445 "perly.y"
93a17b20
LW
2337{ yyval.opval = newBINOP(OP_HELEM, 0,
2338 scalar(ref(newHVREF(yyvsp[-5].opval),OP_RV2HV)),
2339 jmaybe(yyvsp[-2].opval));
2340 expect = XOPERATOR; }
2341break;
463ee0b2
LW
2342case 111:
2343#line 450 "perly.y"
2344{ yyval.opval = newBINOP(OP_HELEM, 0,
2345 scalar(ref(newHVREF(yyvsp[-4].opval),OP_RV2HV)),
2346 jmaybe(yyvsp[-2].opval));
2347 expect = XOPERATOR; }
2348break;
2349case 112:
2350#line 455 "perly.y"
93a17b20
LW
2351{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2352break;
463ee0b2
LW
2353case 113:
2354#line 457 "perly.y"
93a17b20
LW
2355{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2356break;
463ee0b2
LW
2357case 114:
2358#line 459 "perly.y"
79072805
LW
2359{ yyval.opval = prepend_elem(OP_ASLICE,
2360 newOP(OP_PUSHMARK, 0),
2361 list(
2362 newLISTOP(OP_ASLICE, 0,
93a17b20
LW
2363 list(yyvsp[-1].opval),
2364 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2365break;
463ee0b2
LW
2366case 115:
2367#line 466 "perly.y"
79072805
LW
2368{ yyval.opval = prepend_elem(OP_HSLICE,
2369 newOP(OP_PUSHMARK, 0),
2370 list(
2371 newLISTOP(OP_HSLICE, 0,
93a17b20
LW
2372 list(yyvsp[-2].opval),
2373 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2374 expect = XOPERATOR; }
2375break;
463ee0b2
LW
2376case 116:
2377#line 474 "perly.y"
93a17b20
LW
2378{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2379 expect = XOPERATOR; }
2380break;
463ee0b2
LW
2381case 117:
2382#line 477 "perly.y"
93a17b20
LW
2383{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2384 expect = XOPERATOR; }
2385break;
463ee0b2
LW
2386case 118:
2387#line 480 "perly.y"
93a17b20
LW
2388{ yyval.opval = yyvsp[0].opval; }
2389break;
463ee0b2
LW
2390case 119:
2391#line 482 "perly.y"
93a17b20
LW
2392{ yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2393 scalar(yyvsp[0].opval)); }
2394break;
463ee0b2
LW
2395case 120:
2396#line 485 "perly.y"
93a17b20
LW
2397{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2398break;
463ee0b2
LW
2399case 121:
2400#line 487 "perly.y"
93a17b20
LW
2401{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2402 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2403break;
463ee0b2
LW
2404case 122:
2405#line 490 "perly.y"
93a17b20 2406{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
79072805 2407 list(prepend_elem(OP_LIST,
93a17b20
LW
2408 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2409break;
463ee0b2
LW
2410case 123:
2411#line 494 "perly.y"
2412{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2413 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
93a17b20 2414break;
463ee0b2
LW
2415case 124:
2416#line 497 "perly.y"
2417{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2418break;
2419case 125:
2420#line 499 "perly.y"
93a17b20
LW
2421{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2422break;
463ee0b2
LW
2423case 126:
2424#line 501 "perly.y"
79072805
LW
2425{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2426 list(prepend_elem(OP_LIST,
93a17b20
LW
2427 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST()))); }
2428break;
463ee0b2
LW
2429case 127:
2430#line 505 "perly.y"
93a17b20
LW
2431{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2432 list(prepend_elem(OP_LIST,
2433 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2434 yyvsp[-1].opval))); }
2435break;
463ee0b2
LW
2436case 128:
2437#line 510 "perly.y"
93a17b20
LW
2438{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2439 list(prepend_elem(OP_LIST,
2440 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST())));}
2441break;
463ee0b2
LW
2442case 129:
2443#line 514 "perly.y"
93a17b20
LW
2444{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2445 list(prepend_elem(OP_LIST,
2446 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2447 yyvsp[-1].opval))); }
2448break;
463ee0b2
LW
2449case 130:
2450#line 519 "perly.y"
2451{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); needblockscope = TRUE; }
93a17b20 2452break;
463ee0b2
LW
2453case 131:
2454#line 521 "perly.y"
93a17b20 2455{ yyval.opval = newPVOP(yyvsp[-1].ival, 0,
463ee0b2
LW
2456 savestr(SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na)));
2457 op_free(yyvsp[0].opval); needblockscope = TRUE; }
93a17b20 2458break;
463ee0b2
LW
2459case 132:
2460#line 525 "perly.y"
93a17b20
LW
2461{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2462break;
463ee0b2
LW
2463case 133:
2464#line 527 "perly.y"
93a17b20
LW
2465{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2466break;
463ee0b2
LW
2467case 134:
2468#line 529 "perly.y"
93a17b20
LW
2469{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2470break;
463ee0b2
LW
2471case 135:
2472#line 531 "perly.y"
93a17b20
LW
2473{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2474break;
463ee0b2
LW
2475case 136:
2476#line 533 "perly.y"
93a17b20
LW
2477{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
2478break;
463ee0b2
LW
2479case 137:
2480#line 535 "perly.y"
93a17b20
LW
2481{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2482break;
463ee0b2
LW
2483case 138:
2484#line 537 "perly.y"
93a17b20
LW
2485{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2486break;
463ee0b2
LW
2487case 139:
2488#line 539 "perly.y"
93a17b20
LW
2489{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2490break;
463ee0b2
LW
2491case 140:
2492#line 541 "perly.y"
93a17b20
LW
2493{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2494break;
463ee0b2
LW
2495case 143:
2496#line 547 "perly.y"
93a17b20
LW
2497{ yyval.opval = newNULLLIST(); }
2498break;
463ee0b2
LW
2499case 144:
2500#line 549 "perly.y"
93a17b20
LW
2501{ yyval.opval = yyvsp[0].opval; }
2502break;
463ee0b2
LW
2503case 145:
2504#line 553 "perly.y"
93a17b20
LW
2505{ yyval.opval = newCVREF(yyvsp[0].opval); }
2506break;
463ee0b2
LW
2507case 146:
2508#line 557 "perly.y"
93a17b20
LW
2509{ yyval.opval = newSVREF(yyvsp[0].opval); }
2510break;
463ee0b2
LW
2511case 147:
2512#line 561 "perly.y"
93a17b20
LW
2513{ yyval.opval = newAVREF(yyvsp[0].opval); }
2514break;
463ee0b2
LW
2515case 148:
2516#line 565 "perly.y"
93a17b20
LW
2517{ yyval.opval = newHVREF(yyvsp[0].opval); }
2518break;
463ee0b2
LW
2519case 149:
2520#line 569 "perly.y"
93a17b20
LW
2521{ yyval.opval = newAVREF(yyvsp[0].opval); }
2522break;
463ee0b2
LW
2523case 150:
2524#line 573 "perly.y"
93a17b20
LW
2525{ yyval.opval = newGVREF(yyvsp[0].opval); }
2526break;
463ee0b2
LW
2527case 151:
2528#line 577 "perly.y"
93a17b20
LW
2529{ yyval.opval = scalar(yyvsp[0].opval); }
2530break;
463ee0b2
LW
2531case 152:
2532#line 579 "perly.y"
2533{ yyval.opval = scalar(yyvsp[0].opval); }
93a17b20 2534break;
463ee0b2
LW
2535case 153:
2536#line 581 "perly.y"
93a17b20
LW
2537{ yyval.opval = scalar(scope(yyvsp[0].opval)); }
2538break;
463ee0b2
LW
2539case 154:
2540#line 584 "perly.y"
93a17b20
LW
2541{ yyval.opval = yyvsp[0].opval; }
2542break;
463ee0b2
LW
2543case 155:
2544#line 588 "perly.y"
93a17b20
LW
2545{ yyval.ival = 1; }
2546break;
463ee0b2
LW
2547case 156:
2548#line 590 "perly.y"
93a17b20
LW
2549{ yyval.ival = 0; }
2550break;
463ee0b2
LW
2551case 157:
2552#line 594 "perly.y"
93a17b20
LW
2553{ yyval.ival = 1; }
2554break;
463ee0b2
LW
2555case 158:
2556#line 596 "perly.y"
93a17b20
LW
2557{ yyval.ival = 0; }
2558break;
463ee0b2
LW
2559case 159:
2560#line 600 "perly.y"
93a17b20
LW
2561{ yyval.ival = 1; }
2562break;
463ee0b2
LW
2563case 160:
2564#line 602 "perly.y"
93a17b20
LW
2565{ yyval.ival = 0; }
2566break;
463ee0b2 2567#line 2523 "y.tab.c"
93a17b20
LW
2568 }
2569 yyssp -= yym;
2570 yystate = *yyssp;
2571 yyvsp -= yym;
2572 yym = yylhs[yyn];
2573 if (yystate == 0 && yym == 0)
2574 {
2575#if YYDEBUG
2576 if (yydebug)
ed6116ce
LW
2577 fprintf(stderr,
2578 "yydebug: after reduction, shifting from state 0 to state %d\n",
2579 YYFINAL);
93a17b20
LW
2580#endif
2581 yystate = YYFINAL;
2582 *++yyssp = YYFINAL;
2583 *++yyvsp = yyval;
2584 if (yychar < 0)
2585 {
2586 if ((yychar = yylex()) < 0) yychar = 0;
2587#if YYDEBUG
2588 if (yydebug)
2589 {
2590 yys = 0;
2591 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2592 if (!yys) yys = "illegal-symbol";
ed6116ce 2593 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
93a17b20
LW
2594 YYFINAL, yychar, yys);
2595 }
2596#endif
2597 }
2598 if (yychar == 0) goto yyaccept;
2599 goto yyloop;
2600 }
2601 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2602 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2603 yystate = yytable[yyn];
2604 else
2605 yystate = yydgoto[yym];
2606#if YYDEBUG
2607 if (yydebug)
ed6116ce
LW
2608 fprintf(stderr,
2609 "yydebug: after reduction, shifting from state %d to state %d\n",
2610 *yyssp, yystate);
93a17b20
LW
2611#endif
2612 if (yyssp >= yyss + yystacksize - 1)
2613 {
2614 /*
2615 ** reallocate and recover. Note that pointers
2616 ** have to be reset, or bad things will happen
2617 */
2618 int yyps_index = (yyssp - yyss);
2619 int yypv_index = (yyvsp - yyvs);
2620 yystacksize += YYSTACKSIZE;
2621 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2622 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2623 if (!yyvs || !yyss)
2624 goto yyoverflow;
2625 yyssp = yyss + yyps_index;
2626 yyvsp = yyvs + yypv_index;
2627 }
2628 *++yyssp = yystate;
2629 *++yyvsp = yyval;
2630 goto yyloop;
2631yyoverflow:
2632 yyerror("Out of memory for yacc stack");
2633yyabort:
2634 retval = 1;
2635yyaccept:
2636 if (yyss) free(yyss);
2637 if (yyvs) free(yyvs);
2638 yydebug = oldyydebug;
2639 yynerrs = oldyynerrs;
2640 yyerrflag = oldyyerrflag;
2641 yychar = oldyychar;
2642 yyval = oldyyval;
2643 yylval = oldyylval;
2644 return retval;
79072805 2645}