1 /* Automatically generated by Kelbt from "rlparse.kl".
2 *
3 * Parts of this file are copied from Kelbt source covered by the GNU
4 * GPL. As a special exception, you may use the parts of this file copied
5 * from Kelbt source without restriction. The remainder is derived from
6 * "rlparse.kl" and inherits the copyright status of that file.
7 */
8
9 #line 1 "rlparse.kl"
10 /*
11 * Copyright 2001-2007 Adrian Thurston <thurston@complang.org>
12 */
13
14 /* This file is part of Ragel.
15 *
16 * Ragel is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * Ragel is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with Ragel; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 */
30
31 #include "rlparse.h"
32 #include "ragel.h"
33 #include <iostream>
34 #include <errno.h>
35 #include <stdlib.h>
36
37 using std::cout;
38 using std::cerr;
39 using std::endl;
40
41 #line 102 "rlparse.kh"
42 #line 105 "rlparse.kh"
43 #line 140 "rlparse.kh"
44 #line 1444 "rlparse.kl"
45
46
47 #line 48 "rlparse.cpp"
48 struct Parser_Lel_action_ref
49 {
50 #line 755 "rlparse.kl"
51
52 Action *action;
53
54
55 #line 54 "rlparse.cpp"
56 };
57
58 struct Parser_Lel_aug_type
59 {
60 #line 546 "rlparse.kl"
61
62 InputLoc loc;
63 AugType augType;
64
65
66 #line 65 "rlparse.cpp"
67 };
68
69 struct Parser_Lel_expression
70 {
71 #line 338 "rlparse.kl"
72
73 Expression *expression;
74
75
76 #line 75 "rlparse.cpp"
77 };
78
79 struct Parser_Lel_factor
80 {
81 #line 975 "rlparse.kl"
82
83 Factor *factor;
84
85
86 #line 85 "rlparse.cpp"
87 };
88
89 struct Parser_Lel_factor_rep_num
90 {
91 #line 929 "rlparse.kl"
92
93 int rep;
94
95
96 #line 95 "rlparse.cpp"
97 };
98
99 struct Parser_Lel_factor_with_aug
100 {
101 #line 452 "rlparse.kl"
102
103 FactorWithAug *factorWithAug;
104
105
106 #line 105 "rlparse.cpp"
107 };
108
109 struct Parser_Lel_factor_with_ep
110 {
111 #line 436 "rlparse.kl"
112
113 FactorWithAug *factorWithAug;
114
115
116 #line 115 "rlparse.cpp"
117 };
118
119 struct Parser_Lel_factor_with_label
120 {
121 #line 420 "rlparse.kl"
122
123 FactorWithAug *factorWithAug;
124
125
126 #line 125 "rlparse.cpp"
127 };
128
129 struct Parser_Lel_factor_with_neg
130 {
131 #line 939 "rlparse.kl"
132
133 FactorWithNeg *factorWithNeg;
134
135
136 #line 135 "rlparse.cpp"
137 };
138
139 struct Parser_Lel_factor_with_rep
140 {
141 #line 868 "rlparse.kl"
142
143 FactorWithRep *factorWithRep;
144
145
146 #line 145 "rlparse.cpp"
147 };
148
149 struct Parser_Lel_inline_item
150 {
151 #line 1234 "rlparse.kl"
152
153 InlineItem *inlineItem;
154
155
156 #line 155 "rlparse.cpp"
157 };
158
159 struct Parser_Lel_inline_list
160 {
161 #line 1213 "rlparse.kl"
162
163 InlineList *inlineList;
164
165
166 #line 165 "rlparse.cpp"
167 };
168
169 struct Parser_Lel_join
170 {
171 #line 321 "rlparse.kl"
172
173 Join *join;
174
175
176 #line 175 "rlparse.cpp"
177 };
178
179 struct Parser_Lel_join_or_lm
180 {
181 #line 229 "rlparse.kl"
182
183 MachineDef *machineDef;
184
185
186 #line 185 "rlparse.cpp"
187 };
188
189 struct Parser_Lel_lm_part_list
190 {
191 #line 253 "rlparse.kl"
192
193 LmPartList *lmPartList;
194
195
196 #line 195 "rlparse.cpp"
197 };
198
199 struct Parser_Lel_local_err_name
200 {
201 #line 856 "rlparse.kl"
202
203 int error_name;
204
205
206 #line 205 "rlparse.cpp"
207 };
208
209 struct Parser_Lel_longest_match_part
210 {
211 #line 277 "rlparse.kl"
212
213 LongestMatchPart *lmPart;
214
215
216 #line 215 "rlparse.cpp"
217 };
218
219 struct Parser_Lel_opt_export
220 {
221 #line 95 "rlparse.kl"
222
223 bool isSet;
224
225
226 #line 225 "rlparse.cpp"
227 };
228
229 struct Parser_Lel_opt_lm_part_action
230 {
231 #line 294 "rlparse.kl"
232
233 Action *action;
234
235
236 #line 235 "rlparse.cpp"
237 };
238
239 struct Parser_Lel_priority_aug
240 {
241 #line 803 "rlparse.kl"
242
243 int priorityNum;
244
245
246 #line 245 "rlparse.cpp"
247 };
248
249 struct Parser_Lel_priority_name
250 {
251 #line 788 "rlparse.kl"
252
253 int priorityName;
254
255
256 #line 255 "rlparse.cpp"
257 };
258
259 struct Parser_Lel_range_lit
260 {
261 #line 1042 "rlparse.kl"
262
263 Literal *literal;
264
265
266 #line 265 "rlparse.cpp"
267 };
268
269 struct Parser_Lel_regular_expr
270 {
271 #line 1079 "rlparse.kl"
272
273 RegExpr *regExpr;
274
275
276 #line 275 "rlparse.cpp"
277 };
278
279 struct Parser_Lel_regular_expr_char
280 {
281 #line 1131 "rlparse.kl"
282
283 ReItem *reItem;
284
285
286 #line 285 "rlparse.cpp"
287 };
288
289 struct Parser_Lel_regular_expr_item
290 {
291 #line 1114 "rlparse.kl"
292
293 ReItem *reItem;
294
295
296 #line 295 "rlparse.cpp"
297 };
298
299 struct Parser_Lel_regular_expr_or_char
300 {
301 #line 1188 "rlparse.kl"
302
303 ReOrItem *reOrItem;
304
305
306 #line 305 "rlparse.cpp"
307 };
308
309 struct Parser_Lel_regular_expr_or_data
310 {
311 #line 1155 "rlparse.kl"
312
313 ReOrBlock *reOrBlock;
314
315
316 #line 315 "rlparse.cpp"
317 };
318
319 struct Parser_Lel_term
320 {
321 #line 389 "rlparse.kl"
322
323 Term *term;
324
325
326 #line 325 "rlparse.cpp"
327 };
328
329 struct Parser_Lel_term_short
330 {
331 #line 368 "rlparse.kl"
332
333 Term *term;
334
335
336 #line 335 "rlparse.cpp"
337 };
338
339 struct Parser_Lel_token_type
340 {
341 #line 146 "rlparse.kl"
342
343 Token token;
344
345
346 #line 345 "rlparse.cpp"
347 };
348
349 union Parser_UserData
350 {
351 struct Parser_Lel_action_ref action_ref;
352 struct Parser_Lel_aug_type aug_type;
353 struct Parser_Lel_expression expression;
354 struct Parser_Lel_factor factor;
355 struct Parser_Lel_factor_rep_num factor_rep_num;
356 struct Parser_Lel_factor_with_aug factor_with_aug;
357 struct Parser_Lel_factor_with_ep factor_with_ep;
358 struct Parser_Lel_factor_with_label factor_with_label;
359 struct Parser_Lel_factor_with_neg factor_with_neg;
360 struct Parser_Lel_factor_with_rep factor_with_rep;
361 struct Parser_Lel_inline_item inline_item;
362 struct Parser_Lel_inline_list inline_list;
363 struct Parser_Lel_join join;
364 struct Parser_Lel_join_or_lm join_or_lm;
365 struct Parser_Lel_lm_part_list lm_part_list;
366 struct Parser_Lel_local_err_name local_err_name;
367 struct Parser_Lel_longest_match_part longest_match_part;
368 struct Parser_Lel_opt_export opt_export;
369 struct Parser_Lel_opt_lm_part_action opt_lm_part_action;
370 struct Parser_Lel_priority_aug priority_aug;
371 struct Parser_Lel_priority_name priority_name;
372 struct Parser_Lel_range_lit range_lit;
373 struct Parser_Lel_regular_expr regular_expr;
374 struct Parser_Lel_regular_expr_char regular_expr_char;
375 struct Parser_Lel_regular_expr_item regular_expr_item;
376 struct Parser_Lel_regular_expr_or_char regular_expr_or_char;
377 struct Parser_Lel_regular_expr_or_data regular_expr_or_data;
378 struct Parser_Lel_term term;
379 struct Parser_Lel_term_short term_short;
380 struct Parser_Lel_token_type token_type;
381 struct Token token;
382 };
383
384 struct Parser_LangEl
385 {
386 char *file;
387 int line;
388 int type;
389 int reduction;
390 int state;
391 int causeReduce;
392 union Parser_UserData user;
393 unsigned int retry;
394 struct Parser_LangEl *next, *child, *prev;
395 };
396
397 struct Parser_Block
398 {
399 struct Parser_LangEl data[8128];
400 struct Parser_Block *next;
401 };
402
403 #line 404 "rlparse.cpp"
404 unsigned int Parser_startState = 0;
405
406 short Parser_indicies[] = {
407 152, -1, -1, 152, -1, -1, -1, -1,
408 -1, -1, -1, -1, -1, -1, -1, -1,
409 -1, -1, -1, -1, -1, -1, -1, -1,
410 -1, -1, -1, -1, -1, -1, -1, -1,
411 -1, -1, -1, -1, -1, -1, -1, -1,
412 -1, -1, -1, -1, -1, -1, -1, -1,
413 -1, -1, -1, -1, -1, -1, -1, -1,
414 -1, -1, -1, -1, -1, -1, -1, -1,
415 -1, -1, -1, 152, 152, 152, 152, -1,
416 -1, -1, -1, -1, -1, -1, -1, 152,
417 152, 152, 152, -1, -1, -1, -1, -1,
418 -1, -1, -1, -1, -1, -1, -1, 152,
419 152, 152, 1, 0, 404, 154, -1, -1,
420 154, -1, -1, -1, -1, -1, -1, -1,
421 -1, -1, -1, -1, -1, -1, -1, -1,
422 -1, -1, -1, -1, -1, -1, -1, -1,
423 -1, -1, -1, -1, -1, -1, -1, -1,
424 -1, -1, -1, -1, -1, -1, -1, -1,
425 -1, -1, -1, -1, -1, -1, -1, -1,
426 -1, -1, -1, -1, -1, -1, -1, -1,
427 -1, -1, -1, -1, -1, -1, -1, -1,
428 154, 154, 154, 154, -1, -1, -1, -1,
429 -1, -1, -1, -1, 154, 154, 154, 154,
430 -1, -1, -1, -1, -1, -1, -1, -1,
431 -1, -1, -1, -1, 154, 154, 150, -1,
432 -1, 2, 161, -1, -1, 151, -1, -1,
433 -1, -1, -1, -1, -1, -1, -1, -1,
434 -1, -1, -1, -1, -1, -1, -1, -1,
435 -1, -1, -1, -1, -1, -1, -1, -1,
436 -1, -1, -1, -1, -1, -1, -1, -1,
437 -1, -1, -1, -1, -1, -1, -1, -1,
438 -1, -1, -1, -1, -1, -1, -1, -1,
439 -1, -1, -1, -1, -1, -1, -1, -1,
440 -1, -1, -1, -1, -1, 4, 5, 6,
441 7, -1, -1, -1, -1, -1, -1, -1,
442 -1, 158, 11, 12, 13, -1, -1, -1,
443 -1, -1, -1, -1, -1, -1, -1, -1,
444 -1, 9, 8, -1, -1, -1, -1, 153,
445 392, 393, 394, 395, 396, 397, 398, 399,
446 400, 401, 402, 403, -1, 10, 3, 165,
447 -1, -1, -1, -1, -1, -1, -1, -1,
448 -1, -1, -1, -1, -1, -1, -1, -1,
449 -1, -1, -1, -1, -1, -1, -1, -1,
450 -1, -1, -1, -1, -1, -1, -1, -1,
451 -1, -1, -1, -1, -1, -1, -1, -1,
452 -1, -1, -1, -1, -1, -1, -1, -1,
453 -1, -1, -1, -1, -1, -1, -1, -1,
454 -1, -1, -1, -1, -1, -1, -1, -1,
455 -1, -1, -1, -1, -1, -1, -1, -1,
456 -1, -1, -1, -1, -1, -1, -1, -1,
457 -1, -1, -1, -1, -1, -1, -1, -1,
458 -1, -1, -1, -1, -1, -1, -1, -1,
459 -1, -1, -1, -1, -1, -1, -1, -1,
460 -1, -1, -1, -1, -1, -1, -1, -1,
461 -1, -1, -1, -1, 26, 14, 15, 17,
462 -1, -1, -1, -1, -1, -1, -1, -1,
463 -1, -1, -1, -1, -1, -1, -1, -1,
464 -1, -1, -1, -1, -1, -1, -1, -1,
465 -1, -1, -1, -1, -1, -1, -1, -1,
466 -1, -1, -1, -1, -1, -1, -1, -1,
467 -1, -1, -1, -1, -1, -1, -1, -1,
468 -1, -1, -1, -1, -1, -1, -1, -1,
469 -1, -1, -1, -1, -1, -1, -1, -1,
470 -1, -1, -1, -1, -1, -1, -1, -1,
471 -1, -1, -1, -1, -1, -1, -1, -1,
472 -1, -1, -1, -1, -1, -1, 326, 328,
473 -1, -1, -1, -1, -1, -1, -1, -1,
474 -1, -1, -1, -1, -1, -1, -1, -1,
475 -1, -1, -1, -1, -1, -1, -1, -1,
476 -1, -1, -1, -1, -1, -1, -1, -1,
477 -1, -1, -1, -1, -1, -1, -1, -1,
478 -1, -1, -1, -1, -1, -1, -1, -1,
479 -1, -1, -1, -1, -1, -1, -1, -1,
480 -1, -1, -1, -1, -1, -1, -1, -1,
481 -1, -1, -1, -1, -1, -1, -1, -1,
482 -1, -1, -1, -1, -1, -1, -1, -1,
483 -1, -1, -1, -1, -1, -1, -1, -1,
484 -1, -1, -1, -1, -1, -1, -1, -1,
485 -1, -1, -1, -1, -1, -1, -1, -1,
486 -1, -1, -1, -1, -1, -1, -1, -1,
487 -1, -1, 16, 364, 364, 364, -1, 364,
488 -1, -1, -1, -1, -1, -1, -1, -1,
489 -1, -1, -1, -1, -1, -1, 364, -1,
490 -1, -1, -1, -1, -1, -1, -1, -1,
491 -1, -1, -1, -1, -1, -1, -1, -1,
492 -1, -1, -1, -1, -1, -1, -1, -1,
493 -1, -1, -1, -1, -1, -1, -1, -1,
494 -1, -1, -1, -1, -1, -1, -1, -1,
495 -1, -1, -1, -1, -1, -1, -1, -1,
496 -1, -1, -1, -1, -1, -1, -1, -1,
497 -1, -1, -1, -1, -1, -1, -1, -1,
498 -1, -1, -1, 364, -1, -1, -1, 364,
499 364, -1, -1, -1, -1, -1, -1, -1,
500 -1, 364, -1, -1, -1, -1, -1, -1,
501 -1, -1, -1, -1, -1, -1, -1, -1,
502 -1, -1, -1, -1, -1, -1, -1, -1,
503 -1, -1, -1, -1, -1, -1, -1, -1,
504 -1, -1, -1, -1, -1, -1, -1, -1,
505 -1, -1, -1, -1, -1, -1, 364, 364,
506 364, 364, -1, -1, -1, -1, -1, -1,
507 -1, -1, -1, -1, -1, -1, -1, -1,
508 -1, -1, -1, -1, -1, -1, -1, -1,
509 -1, 364, 364, -1, -1, -1, 364, 364,
510 364, -1, -1, -1, -1, -1, -1, -1,
511 -1, -1, -1, -1, -1, -1, -1, -1,
512 -1, -1, -1, -1, -1, -1, -1, -1,
513 -1, -1, -1, -1, 19, 364, 364, 364,
514 -1, 364, -1, -1, -1, -1, -1, -1,
515 -1, -1, -1, -1, -1, -1, -1, -1,
516 364, -1, -1, -1, -1, -1, -1, -1,
517 -1, -1, -1, -1, -1, -1, -1, -1,
518 -1, -1, -1, -1, -1, -1, -1, -1,
519 -1, -1, -1, -1, -1, -1, -1, -1,
520 -1, -1, -1, -1, -1, -1, -1, -1,
521 -1, -1, -1, -1, -1, -1, -1, -1,
522 -1, -1, -1, -1, -1, -1, -1, -1,
523 -1, -1, -1, -1, -1, -1, -1, -1,
524 -1, -1, -1, -1, -1, 364, -1, -1,
525 -1, 364, 364, -1, -1, -1, -1, -1,
526 -1, -1, -1, 364, -1, -1, -1, -1,
527 -1, -1, -1, -1, -1, -1, -1, -1,
528 -1, -1, -1, -1, -1, -1, -1, -1,
529 -1, -1, -1, -1, -1, -1, -1, -1,
530 -1, -1, -1, -1, -1, -1, -1, -1,
531 -1, -1, -1, -1, -1, -1, -1, -1,
532 364, 364, 364, 364, -1, -1, -1, -1,
533 -1, -1, -1, -1, -1, -1, -1, -1,
534 -1, -1, -1, -1, -1, -1, -1, -1,
535 -1, -1, -1, 364, 364, -1, -1, -1,
536 364, 364, 364, -1, -1, -1, -1, -1,
537 -1, -1, -1, -1, -1, -1, -1, -1,
538 -1, -1, -1, -1, -1, -1, -1, -1,
539 -1, -1, -1, -1, -1, -1, 24, 174,
540 -1, -1, -1, -1, -1, -1, -1, -1,
541 -1, -1, -1, -1, -1, -1, -1, -1,
542 -1, -1, -1, -1, -1, -1, -1, -1,
543 -1, -1, -1, -1, -1, -1, -1, -1,
544 -1, -1, -1, -1, -1, -1, -1, -1,
545 -1, -1, -1, -1, -1, -1, -1, -1,
546 -1, -1, -1, -1, -1, -1, -1, -1,
547 -1, -1, 174, -1, -1, -1, -1, -1,
548 -1, -1, -1, -1, -1, -1, -1, -1,
549 -1, -1, -1, -1, -1, -1, -1, -1,
550 -1, -1, -1, -1, -1, -1, -1, -1,
551 -1, -1, -1, -1, -1, -1, -1, -1,
552 -1, -1, -1, -1, -1, -1, -1, -1,
553 -1, -1, -1, -1, -1, -1, -1, -1,
554 -1, -1, -1, -1, -1, -1, -1, -1,
555 -1, 23, 25, -1, -1, -1, -1, 159,
556 20, 21, 22, 27, 168, -1, -1, -1,
557 -1, -1, -1, -1, -1, -1, -1, -1,
558 -1, -1, -1, -1, -1, -1, -1, -1,
559 -1, -1, -1, -1, -1, -1, -1, -1,
560 -1, -1, -1, -1, -1, -1, -1, -1,
561 -1, -1, -1, -1, -1, -1, -1, -1,
562 -1, -1, -1, -1, -1, -1, -1, -1,
563 -1, -1, -1, -1, -1, -1, -1, -1,
564 -1, -1, -1, -1, -1, -1, -1, -1,
565 -1, 28, 17, -1, -1, -1, -1, -1,
566 -1, -1, -1, -1, -1, -1, -1, -1,
567 -1, -1, -1, -1, -1, -1, -1, -1,
568 -1, -1, -1, -1, -1, -1, -1, -1,
569 -1, -1, -1, -1, -1, -1, -1, -1,
570 -1, -1, -1, -1, -1, -1, -1, -1,
571 -1, -1, -1, -1, -1, -1, -1, -1,
572 -1, -1, -1, -1, -1, -1, -1, -1,
573 -1, -1, -1, -1, -1, -1, -1, -1,
574 -1, -1, -1, -1, -1, -1, -1, -1,
575 -1, -1, -1, -1, -1, -1, -1, -1,
576 -1, 326, 328, -1, -1, -1, -1, -1,
577 -1, -1, -1, -1, -1, -1, -1, -1,
578 -1, -1, -1, -1, -1, -1, -1, -1,
579 -1, -1, -1, -1, -1, -1, -1, -1,
580 -1, -1, -1, -1, -1, -1, -1, -1,
581 -1, -1, -1, -1, -1, -1, -1, -1,
582 -1, -1, -1, -1, -1, -1, -1, -1,
583 -1, -1, -1, -1, -1, -1, -1, -1,
584 -1, -1, -1, -1, -1, -1, -1, -1,
585 -1, -1, -1, -1, -1, -1, -1, -1,
586 -1, -1, -1, -1, -1, -1, -1, -1,
587 -1, -1, -1, -1, -1, -1, -1, -1,
588 -1, -1, -1, -1, -1, -1, -1, -1,
589 -1, -1, -1, -1, -1, -1, -1, -1,
590 -1, -1, -1, -1, -1, 29, 327, 376,
591 377, 378, -1, 375, -1, -1, -1, -1,
592 -1, -1, -1, -1, -1, -1, -1, -1,
593 -1, -1, 170, -1, -1, -1, -1, -1,
594 -1, -1, -1, -1, -1, -1, -1, -1,
595 -1, -1, -1, -1, -1, -1, -1, -1,
596 -1, -1, -1, -1, -1, -1, -1, -1,
597 -1, -1, -1, -1, -1, -1, -1, -1,
598 -1, -1, -1, -1, -1, -1, -1, -1,
599 -1, -1, -1, -1, -1, -1, -1, -1,
600 -1, -1, -1, -1, -1, -1, -1, -1,
601 -1, -1, -1, -1, -1, -1, -1, 374,
602 -1, -1, -1, 372, 373, -1, -1, -1,
603 -1, -1, -1, -1, -1, 379, -1, -1,
604 -1, -1, -1, -1, -1, -1, -1, -1,
605 -1, -1, -1, -1, -1, -1, -1, -1,
606 -1, -1, -1, -1, -1, -1, -1, -1,
607 -1, -1, -1, -1, -1, -1, -1, -1,
608 -1, -1, -1, -1, -1, -1, -1, -1,
609 -1, -1, 368, 369, 370, 371, -1, -1,
610 -1, -1, -1, -1, -1, -1, -1, -1,
611 -1, -1, -1, -1, -1, -1, -1, -1,
612 -1, -1, -1, -1, -1, 380, 381, -1,
613 -1, -1, 382, 383, 30, -1, -1, -1,
614 -1, -1, -1, -1, -1, -1, -1, -1,
615 -1, -1, -1, -1, -1, -1, -1, -1,
616 -1, -1, -1, -1, -1, -1, -1, -1,
617 -1, -1, -1, -1, -1, -1, -1, -1,
618 -1, -1, -1, -1, -1, -1, -1, -1,
619 -1, -1, -1, -1, -1, -1, -1, -1,
620 -1, -1, -1, -1, -1, -1, -1, -1,
621 -1, -1, -1, -1, -1, -1, 365, -1,
622 367, -1, 363, 366, 342, 342, 342, -1,
623 342, -1, -1, -1, -1, -1, -1, -1,
624 -1, -1, -1, -1, -1, -1, -1, 342,
625 -1, -1, -1, -1, -1, -1, -1, -1,
626 -1, -1, -1, -1, -1, -1, -1, -1,
627 -1, -1, -1, -1, -1, -1, -1, -1,
628 -1, -1, -1, -1, -1, -1, -1, -1,
629 -1, -1, -1, -1, -1, -1, -1, -1,
630 -1, -1, -1, -1, -1, -1, -1, -1,
631 -1, -1, -1, -1, -1, -1, -1, -1,
632 -1, -1, -1, -1, -1, -1, -1, -1,
633 -1, 342, -1, -1, 342, -1, -1, -1,
634 342, 342, -1, -1, -1, -1, -1, -1,
635 -1, -1, 342, -1, -1, -1, -1, -1,
636 -1, -1, -1, -1, -1, -1, -1, -1,
637 -1, -1, -1, -1, -1, -1, -1, -1,
638 -1, -1, -1, -1, -1, -1, -1, -1,
639 -1, -1, -1, -1, -1, -1, -1, -1,
640 -1, -1, -1, -1, -1, -1, -1, 342,
641 342, 342, 342, -1, -1, -1, -1, -1,
642 -1, -1, -1, -1, -1, -1, -1, -1,
643 -1, -1, -1, -1, -1, -1, -1, 342,
644 342, 342, 342, 342, 342, 342, 342, 342,
645 342, 342, 342, -1, -1, -1, -1, -1,
646 -1, -1, -1, -1, -1, -1, -1, -1,
647 -1, -1, -1, -1, -1, -1, 31, 342,
648 342, 342, -1, 342, -1, -1, -1, -1,
649 -1, -1, -1, -1, -1, -1, -1, -1,
650 -1, -1, 342, -1, -1, -1, -1, -1,
651 -1, -1, -1, -1, -1, -1, -1, -1,
652 -1, -1, -1, -1, -1, -1, -1, -1,
653 -1, -1, -1, -1, -1, -1, -1, -1,
654 -1, -1, -1, -1, -1, -1, -1, -1,
655 -1, -1, -1, -1, -1, -1, -1, -1,
656 -1, -1, -1, -1, -1, -1, -1, -1,
657 -1, -1, -1, -1, -1, -1, -1, -1,
658 -1, -1, -1, -1, 342, -1, -1, 342,
659 -1, -1, -1, 342, 342, -1, -1, -1,
660 -1, -1, -1, -1, -1, 342, -1, -1,
661 -1, -1, -1, -1, -1, -1, -1, -1,
662 -1, -1, -1, -1, -1, -1, -1, -1,
663 -1, -1, -1, -1, -1, -1, -1, -1,
664 -1, -1, -1, -1, -1, -1, -1, -1,
665 -1, -1, -1, -1, -1, -1, -1, -1,
666 -1, -1, 342, 342, 342, 342, -1, -1,
667 -1, -1, -1, -1, -1, -1, -1, -1,
668 -1, -1, -1, -1, -1, -1, -1, -1,
669 -1, -1, 342, 342, 342, 342, 342, 342,
670 342, 342, 342, 342, 342, 342, -1, -1,
671 -1, -1, -1, -1, -1, -1, -1, -1,
672 -1, -1, -1, -1, -1, -1, -1, -1,
673 -1, 32, 155, 33, -1, -1, -1, -1,
674 -1, -1, -1, -1, -1, -1, -1, -1,
675 -1, -1, -1, -1, -1, -1, -1, -1,
676 -1, -1, -1, -1, -1, -1, -1, -1,
677 -1, -1, -1, -1, -1, -1, -1, -1,
678 -1, -1, -1, -1, -1, -1, -1, -1,
679 -1, -1, -1, -1, -1, -1, -1, -1,
680 -1, -1, -1, -1, -1, -1, 173, 376,
681 377, 378, -1, 375, -1, -1, -1, -1,
682 -1, -1, -1, -1, -1, -1, -1, -1,
683 -1, -1, 171, -1, -1, -1, -1, -1,
684 -1, -1, -1, -1, -1, -1, -1, -1,
685 -1, -1, -1, -1, -1, -1, -1, -1,
686 -1, -1, -1, -1, -1, -1, -1, -1,
687 -1, -1, -1, -1, -1, -1, -1, -1,
688 -1, -1, -1, -1, -1, -1, -1, -1,
689 -1, -1, -1, -1, -1, -1, -1, -1,
690 -1, -1, -1, -1, -1, -1, -1, -1,
691 -1, -1, -1, -1, -1, -1, -1, 374,
692 -1, -1, -1, 372, 373, -1, -1, -1,
693 -1, -1, -1, -1, -1, 379, -1, -1,
694 -1, -1, -1, -1, -1, -1, -1, -1,
695 -1, -1, -1, -1, -1, -1, -1, -1,
696 -1, -1, -1, -1, -1, -1, -1, -1,
697 -1, -1, -1, -1, -1, -1, -1, -1,
698 -1, -1, -1, -1, -1, -1, -1, -1,
699 -1, -1, 368, 369, 370, 371, -1, -1,
700 -1, -1, -1, -1, -1, -1, -1, -1,
701 -1, -1, -1, -1, -1, -1, -1, -1,
702 -1, -1, -1, -1, -1, 380, 381, -1,
703 -1, -1, 382, 383, 30, -1, -1, -1,
704 -1, -1, -1, -1, -1, -1, -1, -1,
705 -1, -1, -1, -1, -1, -1, -1, -1,
706 -1, -1, -1, -1, -1, -1, -1, -1,
707 -1, -1, -1, -1, -1, -1, -1, -1,
708 -1, -1, -1, -1, -1, -1, -1, -1,
709 -1, -1, -1, -1, -1, -1, -1, -1,
710 -1, -1, -1, -1, -1, -1, -1, -1,
711 -1, -1, -1, -1, -1, -1, 365, -1,
712 367, -1, 363, 366, 154, -1, -1, 154,
713 -1, -1, -1, -1, -1, -1, -1, -1,
714 -1, -1, -1, -1, -1, -1, -1, -1,
715 -1, -1, -1, -1, -1, -1, -1, -1,
716 -1, -1, -1, -1, -1, -1, -1, -1,
717 -1, -1, -1, -1, -1, -1, -1, -1,
718 -1, -1, -1, -1, -1, -1, -1, -1,
719 -1, -1, -1, -1, -1, -1, -1, -1,
720 -1, -1, -1, -1, -1, -1, -1, -1,
721 -1, -1, 154, 154, 154, 154, -1, -1,
722 -1, -1, -1, -1, -1, -1, 154, 154,
723 154, 154, -1, -1, -1, -1, -1, -1,
724 -1, -1, -1, -1, -1, -1, 154, 154,
725 -1, -1, -1, 34, 35, -1, -1, -1,
726 -1, -1, -1, -1, -1, -1, -1, -1,
727 -1, -1, -1, -1, -1, -1, -1, -1,
728 -1, -1, -1, -1, -1, -1, -1, -1,
729 -1, -1, -1, -1, -1, -1, -1, -1,
730 -1, -1, -1, -1, -1, -1, -1, -1,
731 -1, -1, -1, -1, -1, -1, -1, -1,
732 -1, -1, -1, -1, -1, -1, -1, -1,
733 -1, -1, -1, -1, -1, -1, -1, -1,
734 -1, -1, -1, -1, -1, -1, -1, -1,
735 -1, -1, -1, -1, 36, 342, 342, 342,
736 -1, 342, -1, -1, -1, -1, -1, -1,
737 -1, -1, -1, -1, -1, -1, -1, -1,
738 342, -1, -1, -1, -1, -1, -1, -1,
739 -1, -1, -1, -1, -1, -1, -1, -1,
740 -1, -1, -1, -1, -1, -1, -1, -1,
741 -1, -1, -1, -1, -1, -1, -1, -1,
742 -1, -1, -1, -1, -1, -1, -1, -1,
743 -1, -1, -1, -1, -1, -1, -1, -1,
744 -1, -1, -1, -1, -1, -1, -1, -1,
745 -1, -1, -1, -1, -1, -1, -1, -1,
746 -1, -1, 342, -1, -1, 342, -1, -1,
747 -1, 342, 342, -1, -1, -1, -1, -1,
748 -1, -1, -1, 342, -1, -1, -1, -1,
749 -1, -1, -1, -1, -1, -1, -1, -1,
750 -1, -1, -1, -1, -1, -1, -1, -1,
751 -1, -1, -1, -1, -1, -1, -1, -1,
752 -1, -1, -1, -1, -1, -1, -1, -1,
753 -1, -1, -1, -1, -1, -1, -1, -1,
754 342, 342, 342, 342, -1, -1, -1, -1,
755 -1, -1, -1, -1, -1, -1, -1, -1,
756 -1, -1, -1, -1, -1, -1, -1, -1,
757 342, 342, 342, 342, 342, 342, 342, 342,
758 342, 342, 342, 342, -1, -1, -1, -1,
759 -1, -1, -1, -1, -1, -1, -1, -1,
760 -1, -1, -1, -1, -1, -1, -1, 37,
761 167, 169, 38, 348, 349, 350, -1, 346,
762 -1, -1, -1, -1, -1, -1, -1, -1,
763 -1, -1, -1, -1, -1, -1, 347, -1,
764 -1, -1, -1, -1, -1, -1, -1, -1,
765 -1, -1, -1, -1, -1, -1, -1, -1,
766 -1, -1, -1, -1, -1, -1, -1, -1,
767 -1, -1, -1, -1, -1, -1, -1, -1,
768 -1, -1, -1, -1, -1, -1, -1, -1,
769 -1, -1, -1, -1, -1, -1, -1, -1,
770 -1, -1, -1, -1, -1, -1, -1, -1,
771 -1, -1, -1, -1, -1, -1, -1, -1,
772 156, -1, -1, 374, -1, -1, -1, 372,
773 373, -1, -1, -1, -1, -1, -1, -1,
774 -1, 351, -1, -1, -1, -1, -1, -1,
775 -1, -1, -1, -1, -1, -1, -1, -1,
776 -1, -1, -1, -1, -1, -1, -1, -1,
777 -1, -1, -1, -1, -1, -1, -1, -1,
778 -1, -1, -1, -1, -1, -1, -1, -1,
779 -1, -1, -1, -1, -1, -1, 368, 369,
780 370, 371, -1, -1, -1, -1, -1, -1,
781 -1, -1, -1, -1, -1, -1, -1, -1,
782 -1, -1, -1, -1, -1, -1, 45, 40,
783 39, 380, 381, 41, 43, 44, 382, 383,
784 30, 42, -1, -1, -1, -1, -1, -1,
785 -1, -1, -1, -1, -1, -1, -1, -1,
786 -1, -1, -1, -1, -1, -1, -1, -1,
787 -1, -1, -1, -1, -1, -1, -1, -1,
788 -1, -1, -1, -1, -1, -1, -1, -1,
789 -1, -1, -1, -1, -1, -1, -1, -1,
790 -1, -1, -1, -1, -1, -1, -1, -1,
791 -1, -1, -1, -1, -1, -1, -1, -1,
792 341, 345, 343, 344, 352, 348, 349, 350,
793 -1, 346, -1, -1, -1, -1, -1, -1,
794 -1, -1, -1, -1, -1, -1, -1, -1,
795 347, -1, -1, -1, -1, -1, -1, -1,
796 -1, -1, -1, -1, -1, -1, -1, -1,
797 -1, -1, -1, -1, -1, -1, -1, -1,
798 -1, -1, -1, -1, -1, -1, -1, -1,
799 -1, -1, -1, -1, -1, -1, -1, -1,
800 -1, -1, -1, -1, -1, -1, -1, -1,
801 -1, -1, -1, -1, -1, -1, -1, -1,
802 -1, -1, -1, -1, -1, -1, -1, -1,
803 -1, -1, 157, -1, -1, 374, -1, -1,
804 -1, 372, 373, -1, -1, -1, -1, -1,
805 -1, -1, -1, 351, -1, -1, -1, -1,
806 -1, -1, -1, -1, -1, -1, -1, -1,
807 -1, -1, -1, -1, -1, -1, -1, -1,
808 -1, -1, -1, -1, -1, -1, -1, -1,
809 -1, -1, -1, -1, -1, -1, -1, -1,
810 -1, -1, -1, -1, -1, -1, -1, -1,
811 368, 369, 370, 371, -1, -1, -1, -1,
812 -1, -1, -1, -1, -1, -1, -1, -1,
813 -1, -1, -1, -1, -1, -1, -1, -1,
814 45, 40, 39, 380, 381, 41, 43, 44,
815 382, 383, 30, 42, -1, -1, -1, -1,
816 -1, -1, -1, -1, -1, -1, -1, -1,
817 -1, -1, -1, -1, -1, -1, -1, -1,
818 -1, -1, -1, -1, -1, -1, -1, -1,
819 -1, -1, -1, -1, -1, -1, -1, -1,
820 -1, -1, -1, -1, -1, -1, -1, -1,
821 -1, -1, -1, -1, -1, -1, -1, -1,
822 -1, -1, -1, -1, -1, -1, -1, -1,
823 -1, -1, 341, 345, 343, 344, 352, 364,
824 364, 364, -1, 364, -1, -1, -1, -1,
825 -1, -1, -1, -1, -1, -1, -1, -1,
826 -1, -1, 364, -1, -1, -1, -1, -1,
827 -1, -1, -1, -1, -1, -1, -1, -1,
828 -1, -1, -1, -1, -1, -1, -1, -1,
829 -1, -1, -1, -1, -1, -1, -1, -1,
830 -1, -1, -1, -1, -1, -1, -1, -1,
831 -1, -1, -1, -1, -1, -1, -1, -1,
832 -1, -1, -1, -1, -1, -1, -1, -1,
833 -1, -1, -1, -1, -1, -1, -1, -1,
834 -1, -1, -1, -1, -1, -1, -1, 364,
835 -1, -1, -1, 364, 364, -1, -1, -1,
836 -1, -1, -1, -1, -1, 364, -1, -1,
837 -1, -1, -1, -1, -1, -1, -1, -1,
838 -1, -1, -1, -1, -1, -1, -1, -1,
839 -1, -1, -1, -1, -1, -1, -1, -1,
840 -1, -1, -1, -1, -1, -1, -1, -1,
841 -1, -1, -1, -1, -1, -1, -1, -1,
842 -1, -1, 364, 364, 364, 364, -1, -1,
843 -1, -1, -1, -1, -1, -1, -1, -1,
844 -1, -1, -1, -1, -1, -1, -1, -1,
845 -1, -1, -1, -1, -1, 364, 364, -1,
846 -1, -1, 364, 364, 364, -1, -1, -1,
847 -1, -1, -1, -1, -1, -1, -1, -1,
848 -1, -1, -1, -1, -1, -1, -1, -1,
849 -1, -1, -1, -1, -1, -1, -1, -1,
850 46, 162, -1, -1, 161, -1, -1, -1,
851 -1, -1, -1, -1, -1, -1, -1, -1,
852 -1, -1, -1, -1, -1, -1, -1, -1,
853 -1, -1, -1, -1, -1, -1, -1, -1,
854 -1, -1, -1, -1, -1, -1, -1, -1,
855 -1, -1, -1, -1, -1, -1, -1, -1,
856 -1, -1, -1, -1, -1, -1, -1, -1,
857 -1, -1, -1, -1, -1, -1, -1, -1,
858 -1, -1, -1, -1, -1, -1, -1, 4,
859 5, 6, 7, -1, -1, -1, -1, -1,
860 -1, -1, -1, 158, 11, 12, 13, -1,
861 -1, -1, -1, -1, -1, -1, -1, -1,
862 -1, -1, -1, 9, 8, -1, -1, -1,
863 -1, 153, 392, 393, 394, 395, 396, 397,
864 398, 399, 400, 401, 402, 403, -1, 10,
865 3, 55, -1, -1, -1, -1, -1, -1,
866 63, -1, -1, -1, -1, 17, -1, -1,
867 -1, -1, -1, -1, -1, -1, -1, -1,
868 -1, -1, -1, -1, -1, -1, -1, -1,
869 -1, -1, -1, -1, -1, -1, -1, -1,
870 -1, -1, -1, -1, -1, -1, -1, -1,
871 -1, -1, -1, -1, -1, -1, -1, -1,
872 -1, -1, -1, -1, -1, -1, 56, -1,
873 -1, -1, -1, -1, -1, -1, -1, -1,
874 -1, -1, -1, -1, -1, -1, -1, -1,
875 -1, -1, -1, -1, -1, -1, -1, -1,
876 -1, -1, -1, -1, -1, -1, -1, -1,
877 50, 57, -1, -1, 326, 328, -1, -1,
878 -1, -1, -1, -1, -1, -1, -1, -1,
879 -1, -1, -1, -1, -1, -1, -1, -1,
880 -1, -1, -1, -1, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, -1, -1, -1, -1,
883 -1, -1, -1, 61, 59, 60, -1, -1,
884 -1, -1, -1, -1, -1, -1, -1, -1,
885 -1, -1, -1, -1, -1, -1, -1, -1,
886 -1, -1, -1, -1, -1, -1, -1, -1,
887 -1, -1, -1, -1, -1, -1, -1, -1,
888 -1, -1, -1, -1, -1, -1, -1, -1,
889 -1, -1, -1, -1, -1, -1, -1, -1,
890 -1, -1, -1, -1, -1, -1, -1, -1,
891 -1, -1, -1, -1, -1, -1, 47, -1,
892 58, -1, -1, -1, -1, -1, -1, -1,
893 48, 191, 49, 198, 52, -1, 53, -1,
894 -1, -1, -1, -1, -1, -1, -1, -1,
895 -1, 54, -1, -1, -1, 308, 312, -1,
896 -1, 62, 55, -1, -1, -1, -1, -1,
897 -1, 63, -1, -1, -1, -1, 17, -1,
898 -1, -1, -1, -1, -1, -1, -1, -1,
899 -1, -1, -1, -1, -1, -1, -1, -1,
900 -1, -1, -1, -1, -1, -1, -1, -1,
901 -1, -1, -1, -1, -1, -1, -1, -1,
902 -1, -1, -1, -1, -1, -1, -1, -1,
903 -1, -1, -1, -1, -1, -1, -1, 56,
904 -1, -1, -1, -1, -1, -1, -1, -1,
905 -1, -1, -1, -1, -1, -1, -1, -1,
906 -1, -1, -1, -1, -1, -1, -1, -1,
907 -1, -1, -1, -1, -1, -1, -1, -1,
908 -1, 50, 57, -1, -1, 326, 328, -1,
909 -1, -1, -1, -1, -1, -1, -1, -1,
910 66, -1, -1, -1, -1, -1, -1, -1,
911 -1, -1, -1, -1, -1, -1, -1, -1,
912 -1, -1, -1, -1, -1, -1, -1, -1,
913 -1, -1, -1, -1, -1, -1, -1, -1,
914 -1, -1, -1, -1, 61, 59, 60, -1,
915 -1, -1, -1, -1, -1, -1, -1, -1,
916 -1, -1, -1, -1, -1, -1, -1, -1,
917 -1, -1, -1, -1, -1, -1, -1, -1,
918 -1, -1, -1, -1, -1, -1, -1, -1,
919 -1, -1, -1, -1, -1, -1, -1, -1,
920 -1, -1, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, -1, -1, -1, -1, -1,
922 -1, -1, -1, -1, -1, -1, -1, 65,
923 64, 58, -1, -1, -1, -1, -1, -1,
924 -1, 48, 191, 49, 198, 52, -1, 53,
925 -1, -1, -1, -1, -1, -1, -1, -1,
926 -1, -1, 54, -1, -1, -1, 308, 312,
927 -1, -1, 62, 348, 349, 350, -1, 346,
928 -1, -1, -1, -1, -1, -1, -1, -1,
929 -1, -1, -1, -1, -1, -1, 347, -1,
930 -1, -1, -1, -1, -1, -1, -1, -1,
931 -1, -1, -1, -1, -1, -1, -1, -1,
932 -1, -1, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, -1, -1, -1, -1, -1,
934 -1, -1, -1, -1, -1, -1, -1, -1,
935 -1, -1, -1, -1, -1, -1, -1, -1,
936 -1, -1, -1, -1, -1, -1, -1, -1,
937 -1, -1, -1, -1, -1, -1, -1, -1,
938 166, -1, -1, 374, -1, -1, -1, 372,
939 373, -1, -1, -1, -1, -1, -1, -1,
940 -1, 351, -1, -1, -1, -1, -1, -1,
941 -1, -1, -1, -1, -1, -1, -1, -1,
942 -1, -1, -1, -1, -1, -1, -1, -1,
943 -1, -1, -1, -1, -1, -1, -1, -1,
944 -1, -1, -1, -1, -1, -1, -1, -1,
945 -1, -1, -1, -1, -1, -1, 368, 369,
946 370, 371, -1, -1, -1, -1, -1, -1,
947 -1, -1, -1, -1, -1, -1, -1, -1,
948 -1, -1, -1, -1, -1, -1, 45, 40,
949 39, 380, 381, 41, 43, 44, 382, 383,
950 30, 42, -1, -1, -1, -1, -1, -1,
951 -1, -1, -1, -1, -1, -1, -1, -1,
952 -1, -1, -1, -1, -1, -1, -1, -1,
953 -1, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, -1, -1, -1, -1, -1,
956 -1, -1, -1, -1, -1, -1, -1, -1,
957 -1, -1, -1, -1, -1, -1, -1, -1,
958 341, 345, 343, 344, 352, 389, -1, -1,
959 -1, -1, -1, -1, -1, -1, -1, -1,
960 -1, -1, -1, 388, -1, -1, -1, -1,
961 -1, -1, -1, -1, -1, -1, -1, -1,
962 -1, -1, -1, -1, -1, -1, -1, -1,
963 -1, -1, -1, -1, -1, -1, -1, -1,
964 -1, -1, -1, -1, -1, -1, -1, -1,
965 -1, -1, -1, -1, -1, -1, -1, -1,
966 -1, -1, -1, -1, -1, -1, -1, -1,
967 -1, -1, -1, -1, -1, -1, -1, -1,
968 -1, -1, -1, -1, -1, -1, -1, -1,
969 -1, -1, -1, -1, -1, -1, -1, -1,
970 -1, -1, -1, -1, -1, -1, -1, -1,
971 -1, -1, -1, -1, -1, -1, -1, -1,
972 -1, -1, -1, -1, -1, -1, -1, -1,
973 -1, -1, -1, -1, -1, -1, -1, -1,
974 -1, -1, -1, -1, -1, -1, -1, -1,
975 -1, -1, -1, -1, -1, -1, -1, -1,
976 -1, -1, -1, -1, -1, -1, -1, -1,
977 -1, -1, -1, -1, -1, -1, -1, -1,
978 -1, -1, -1, -1, -1, -1, -1, 67,
979 -1, -1, -1, -1, 68, 353, 364, 364,
980 364, -1, 364, -1, -1, -1, -1, -1,
981 -1, -1, -1, -1, -1, -1, -1, -1,
982 -1, 364, -1, -1, -1, -1, -1, -1,
983 -1, -1, -1, -1, -1, -1, -1, -1,
984 -1, -1, -1, -1, -1, -1, -1, -1,
985 -1, -1, -1, -1, -1, -1, -1, -1,
986 -1, -1, -1, -1, -1, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, -1, -1,
988 -1, -1, -1, -1, -1, -1, -1, -1,
989 -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, 364, -1,
991 -1, -1, 364, 364, -1, -1, -1, -1,
992 -1, -1, -1, -1, 364, -1, -1, -1,
993 -1, -1, -1, -1, -1, -1, -1, -1,
994 -1, -1, -1, -1, -1, -1, -1, -1,
995 -1, -1, -1, -1, -1, -1, -1, -1,
996 -1, -1, -1, -1, -1, -1, -1, -1,
997 -1, -1, -1, -1, -1, -1, -1, -1,
998 -1, 364, 364, 364, 364, -1, -1, -1,
999 -1, -1, -1, -1, -1, -1, -1, -1,
1000 -1, -1, -1, -1, -1, -1, -1, -1,
1001 -1, -1, -1, -1, 364, 364, -1, -1,
1002 -1, 364, 364, 364, -1, -1, -1, -1,
1003 -1, -1, -1, -1, -1, -1, -1, -1,
1004 -1, -1, -1, -1, -1, -1, -1, -1,
1005 -1, -1, -1, -1, -1, -1, -1, 69,
1006 71, -1, -1, -1, -1, -1, -1, -1,
1007 -1, -1, -1, -1, -1, -1, -1, -1,
1008 -1, -1, -1, -1, -1, -1, -1, -1,
1009 -1, -1, -1, -1, -1, -1, -1, -1,
1010 -1, -1, -1, -1, -1, -1, -1, -1,
1011 -1, -1, -1, -1, -1, -1, -1, -1,
1012 -1, -1, -1, -1, -1, -1, -1, -1,
1013 -1, -1, -1, -1, -1, -1, -1, -1,
1014 -1, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, -1, -1, -1, -1,
1016 -1, -1, -1, -1, -1, -1, 389, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1,
1018 -1, -1, -1, -1, 388, -1, -1, -1,
1019 -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, -1, -1,
1021 -1, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, -1, -1, -1, -1, -1, -1,
1023 -1, -1, -1, -1, -1, -1, -1, -1,
1024 -1, -1, -1, -1, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, -1, -1,
1026 -1, -1, -1, -1, -1, -1, -1, -1,
1027 -1, -1, -1, -1, -1, -1, -1, -1,
1028 -1, -1, -1, -1, -1, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, -1, -1,
1030 -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, -1, -1, -1,
1034 -1, -1, -1, -1, -1, -1, -1, -1,
1035 -1, -1, -1, -1, -1, -1, -1, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1,
1037 70, -1, -1, -1, -1, 68, 75, -1,
1038 -1, -1, -1, -1, -1, -1, -1, -1,
1039 -1, -1, -1, -1, -1, -1, -1, -1,
1040 -1, -1, -1, -1, -1, -1, -1, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1,
1042 -1, -1, -1, -1, -1, -1, -1, -1,
1043 -1, -1, -1, -1, -1, -1, -1, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, -1,
1048 -1, -1, -1, -1, 389, -1, -1, -1,
1049 -1, -1, -1, -1, -1, -1, -1, -1,
1050 -1, -1, 388, -1, -1, -1, -1, -1,
1051 -1, -1, -1, -1, -1, -1, -1, -1,
1052 -1, -1, -1, -1, -1, -1, -1, -1,
1053 -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, -1, -1, -1, -1, -1, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1,
1057 -1, -1, -1, -1, -1, -1, -1, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, -1, -1, -1, -1, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1,
1066 -1, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, -1, -1, 74, -1,
1069 -1, -1, -1, 68, 73, -1, -1, -1,
1070 -1, -1, -1, -1, -1, -1, -1, -1,
1071 -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, -1, -1,
1073 -1, -1, -1, -1, -1, -1, -1, -1,
1074 -1, -1, -1, -1, -1, -1, -1, -1,
1075 -1, -1, -1, -1, -1, -1, -1, -1,
1076 -1, -1, -1, -1, -1, -1, -1, -1,
1077 -1, -1, -1, -1, -1, -1, -1, -1,
1078 -1, -1, -1, -1, -1, -1, -1, -1,
1079 -1, -1, -1, -1, -1, -1, -1, -1,
1080 -1, -1, 389, -1, -1, -1, -1, -1,
1081 -1, -1, -1, -1, -1, -1, -1, -1,
1082 388, -1, -1, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, -1, -1, -1, -1,
1085 -1, -1, -1, -1, -1, -1, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, -1,
1087 -1, -1, -1, -1, -1, -1, -1, -1,
1088 -1, -1, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1,
1090 -1, -1, -1, -1, -1, -1, -1, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, -1, -1, -1, -1, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, -1,
1095 -1, -1, -1, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, -1,
1097 -1, -1, -1, -1, -1, -1, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, -1,
1099 -1, -1, -1, -1, -1, -1, -1, -1,
1100 -1, -1, -1, -1, 72, -1, -1, -1,
1101 -1, 68, 361, 362, 376, 377, 378, -1,
1102 375, -1, -1, -1, -1, -1, -1, -1,
1103 -1, -1, -1, -1, -1, -1, -1, 172,
1104 -1, -1, -1, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1,
1106 -1, -1, -1, -1, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, -1, -1, -1, -1, -1,
1109 -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, -1, -1, -1, -1, -1, -1,
1111 -1, -1, -1, -1, -1, -1, -1, -1,
1112 -1, -1, -1, -1, 374, -1, -1, -1,
1113 372, 373, -1, -1, -1, -1, -1, -1,
1114 -1, -1, 379, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, -1, -1,
1116 -1, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, -1, -1,
1118 -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, 368,
1120 369, 370, 371, -1, -1, -1, -1, -1,
1121 -1, -1, -1, -1, -1, -1, -1, -1,
1122 -1, -1, -1, -1, -1, -1, -1, -1,
1123 -1, -1, 380, 381, -1, -1, -1, 382,
1124 383, 30, -1, -1, -1, -1, -1, -1,
1125 -1, -1, -1, -1, -1, -1, -1, -1,
1126 -1, -1, -1, -1, -1, -1, -1, -1,
1127 -1, -1, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, -1, -1, -1, -1,
1129 -1, -1, -1, -1, -1, -1, -1, -1,
1130 -1, -1, -1, -1, -1, -1, -1, -1,
1131 -1, -1, -1, -1, -1, -1, -1, -1,
1132 -1, -1, -1, 365, -1, 367, -1, 363,
1133 366, 81, -1, -1, -1, -1, -1, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1,
1135 163, 83, -1, -1, 186, -1, -1, 186,
1136 84, -1, -1, -1, -1, -1, -1, -1,
1137 -1, -1, -1, -1, -1, -1, 186, -1,
1138 -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, -1, -1, -1, -1, -1, -1,
1140 -1, -1, -1, -1, -1, -1, -1, -1,
1141 -1, -1, -1, -1, -1, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, -1, -1,
1143 -1, -1, -1, -1, -1, -1, -1, -1,
1144 -1, -1, -1, -1, -1, -1, -1, -1,
1145 -1, -1, -1, -1, -1, -1, 186, 82,
1146 -1, -1, -1, -1, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, -1, 186, -1,
1148 -1, -1, -1, 85, 55, -1, -1, -1,
1149 -1, 192, -1, 63, 192, -1, -1, 192,
1150 18, 86, -1, -1, -1, -1, -1, -1,
1151 -1, -1, -1, -1, -1, -1, 192, -1,
1152 -1, -1, -1, -1, -1, -1, -1, -1,
1153 -1, -1, -1, -1, -1, -1, -1, -1,
1154 -1, -1, -1, -1, -1, -1, -1, -1,
1155 -1, -1, -1, -1, -1, -1, -1, -1,
1156 -1, 56, -1, -1, -1, -1, -1, -1,
1157 -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, -1, -1, -1, -1, -1, -1, -1,
1159 -1, -1, -1, -1, -1, -1, 192, 192,
1160 -1, -1, -1, 50, 57, -1, -1, 326,
1161 328, -1, 87, 88, 89, -1, 192, -1,
1162 -1, -1, -1, 192, -1, -1, -1, -1,
1163 -1, -1, -1, -1, -1, -1, -1, -1,
1164 -1, -1, -1, -1, -1, -1, -1, -1,
1165 -1, -1, -1, -1, -1, -1, -1, -1,
1166 -1, -1, -1, -1, -1, -1, 61, 59,
1167 60, -1, -1, -1, -1, -1, -1, -1,
1168 -1, -1, -1, -1, -1, -1, -1, -1,
1169 -1, -1, -1, -1, -1, -1, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, -1, -1, -1, -1, -1, -1, -1,
1172 -1, -1, -1, -1, -1, -1, -1, -1,
1173 -1, -1, -1, -1, -1, -1, -1, -1,
1174 -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, -1, 58, -1, -1, -1, -1,
1176 -1, -1, -1, -1, -1, -1, 193, 52,
1177 -1, 53, -1, -1, -1, -1, -1, -1,
1178 -1, -1, -1, -1, 54, -1, -1, -1,
1179 308, 312, -1, -1, 62, 315, -1, -1,
1180 315, 315, 315, -1, 315, 315, 315, 315,
1181 315, 315, 315, -1, -1, -1, -1, -1,
1182 -1, -1, -1, -1, -1, -1, 77, 315,
1183 315, -1, 315, 315, 315, -1, -1, -1,
1184 -1, -1, -1, -1, -1, -1, -1, -1,
1185 -1, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, -1, -1, -1,
1187 -1, -1, 315, -1, -1, -1, -1, -1,
1188 -1, -1, -1, -1, -1, -1, -1, -1,
1189 -1, -1, -1, -1, -1, -1, -1, -1,
1190 -1, -1, -1, -1, -1, -1, -1, 315,
1191 315, -1, -1, -1, 315, 315, -1, -1,
1192 315, 315, -1, 315, 315, 315, 315, 315,
1193 315, -1, -1, -1, 315, 315, 315, 315,
1194 315, 315, 315, 315, 315, 315, 315, 315,
1195 315, 315, 315, 315, 315, 315, 315, 315,
1196 315, 315, 315, 315, 315, 315, 315, 315,
1197 315, 315, 315, 315, 315, 315, 315, 315,
1198 315, 315, -1, -1, -1, -1, -1, -1,
1199 -1, -1, -1, -1, -1, -1, -1, -1,
1200 -1, -1, -1, 315, 315, 315, 200, -1,
1201 -1, -1, -1, 200, -1, 200, 200, -1,
1202 -1, 200, 200, 200, -1, -1, -1, -1,
1203 -1, -1, -1, -1, -1, -1, -1, -1,
1204 200, -1, -1, -1, -1, -1, -1, -1,
1205 -1, -1, -1, -1, -1, -1, -1, -1,
1206 -1, -1, -1, -1, -1, -1, -1, -1,
1207 -1, -1, -1, -1, -1, -1, -1, -1,
1208 -1, -1, -1, 200, -1, -1, -1, -1,
1209 -1, -1, -1, -1, -1, -1, -1, -1,
1210 -1, -1, -1, -1, -1, -1, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1,
1212 200, 200, -1, -1, -1, 200, 200, -1,
1213 -1, 200, 200, -1, 200, 200, 200, 90,
1214 200, -1, -1, -1, -1, 200, -1, -1,
1215 -1, -1, -1, -1, -1, -1, -1, -1,
1216 -1, -1, -1, -1, -1, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, -1, -1, -1,
1219 200, 200, 200, 202, -1, -1, 100, 99,
1220 202, -1, 202, 202, -1, -1, 202, 202,
1221 202, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, 202, 102, -1,
1223 101, -1, 98, -1, -1, -1, -1, -1,
1224 -1, -1, -1, -1, -1, -1, -1, -1,
1225 -1, -1, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, -1,
1227 202, -1, -1, -1, -1, -1, -1, -1,
1228 -1, -1, -1, -1, -1, -1, -1, -1,
1229 -1, -1, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, 202, 202, -1,
1231 -1, -1, 202, 202, -1, -1, 202, 202,
1232 -1, 202, 202, 202, 202, 202, -1, -1,
1233 -1, -1, 202, 219, 221, 223, 103, 264,
1234 268, 270, 272, 266, 274, 276, 280, 282,
1235 284, 278, 286, 252, 256, 258, 260, 254,
1236 262, 228, 232, 234, 236, 230, 238, 240,
1237 244, 246, 248, 242, 250, 202, 202, 202,
1238 -1, -1, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, -1, -1, -1, -1,
1240 -1, 226, 225, 227, -1, -1, -1, -1,
1241 -1, -1, -1, -1, -1, -1, -1, -1,
1242 -1, -1, -1, -1, -1, -1, -1, -1,
1243 -1, -1, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, -1, -1, -1, -1,
1245 -1, -1, -1, -1, -1, -1, -1, -1,
1246 -1, -1, -1, -1, -1, -1, -1, -1,
1247 -1, -1, -1, -1, -1, -1, -1, -1,
1248 -1, 91, -1, -1, 92, 93, 94, 95,
1249 96, 97, 214, -1, -1, 214, 214, 214,
1250 -1, 214, 214, 300, 303, 214, 214, 214,
1251 -1, -1, -1, -1, -1, -1, -1, -1,
1252 -1, -1, -1, -1, 214, 214, -1, 214,
1253 302, 214, -1, -1, -1, -1, -1, -1,
1254 -1, -1, -1, -1, -1, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, 214,
1257 -1, -1, -1, -1, -1, -1, -1, -1,
1258 -1, -1, -1, -1, -1, -1, -1, -1,
1259 -1, -1, -1, -1, -1, -1, -1, -1,
1260 -1, -1, -1, -1, 104, 214, -1, -1,
1261 -1, 214, 214, -1, -1, 214, 214, -1,
1262 214, 214, 214, 214, 214, 301, -1, -1,
1263 -1, 214, 214, 214, 214, 214, 214, 214,
1264 214, 214, 214, 214, 214, 214, 214, 214,
1265 214, 214, 214, 214, 214, 214, 214, 214,
1266 214, 214, 214, 214, 214, 214, 214, 214,
1267 214, 214, 214, 214, 214, 214, 214, -1,
1268 -1, -1, -1, -1, -1, -1, -1, -1,
1269 -1, -1, -1, -1, -1, -1, -1, -1,
1270 214, 214, 214, 55, -1, -1, -1, -1,
1271 -1, -1, 63, -1, -1, -1, -1, 17,
1272 -1, -1, -1, -1, -1, -1, -1, -1,
1273 -1, -1, -1, -1, -1, -1, -1, -1,
1274 -1, -1, -1, -1, -1, -1, -1, -1,
1275 -1, -1, -1, -1, -1, -1, -1, -1,
1276 -1, -1, -1, -1, -1, -1, -1, -1,
1277 -1, -1, -1, -1, -1, -1, -1, -1,
1278 56, -1, -1, -1, -1, -1, -1, -1,
1279 -1, -1, -1, -1, -1, -1, -1, -1,
1280 -1, -1, -1, -1, -1, -1, -1, -1,
1281 -1, -1, -1, -1, -1, -1, -1, -1,
1282 -1, -1, 316, 57, -1, -1, 326, 328,
1283 -1, -1, -1, -1, -1, -1, -1, -1,
1284 -1, -1, -1, -1, -1, -1, -1, -1,
1285 -1, -1, -1, -1, -1, -1, -1, -1,
1286 -1, -1, -1, -1, -1, -1, -1, -1,
1287 -1, -1, -1, -1, -1, -1, -1, -1,
1288 -1, -1, -1, -1, -1, 61, 59, 60,
1289 -1, -1, -1, -1, -1, -1, -1, -1,
1290 -1, -1, -1, -1, -1, -1, -1, -1,
1291 -1, -1, -1, -1, -1, -1, -1, -1,
1292 -1, -1, -1, -1, -1, -1, -1, -1,
1293 -1, -1, -1, -1, -1, -1, -1, -1,
1294 -1, -1, -1, -1, -1, -1, -1, -1,
1295 -1, -1, -1, -1, -1, -1, -1, -1,
1296 -1, -1, -1, -1, -1, -1, -1, -1,
1297 -1, -1, 58, -1, -1, -1, -1, -1,
1298 -1, -1, -1, -1, -1, -1, -1, -1,
1299 -1, -1, -1, -1, -1, -1, -1, -1,
1300 -1, -1, -1, -1, -1, -1, -1, 310,
1301 312, -1, -1, 62, 55, -1, -1, -1,
1302 -1, -1, -1, 63, -1, -1, -1, -1,
1303 17, -1, -1, -1, -1, -1, -1, -1,
1304 -1, -1, -1, -1, -1, -1, -1, -1,
1305 -1, -1, -1, -1, -1, -1, -1, -1,
1306 -1, -1, -1, -1, -1, -1, -1, -1,
1307 -1, -1, -1, -1, -1, -1, -1, -1,
1308 -1, -1, -1, -1, -1, -1, -1, -1,
1309 -1, 56, -1, -1, -1, -1, -1, -1,
1310 -1, -1, -1, -1, -1, -1, -1, -1,
1311 -1, -1, -1, -1, -1, -1, -1, -1,
1312 -1, -1, -1, -1, -1, -1, -1, -1,
1313 -1, -1, -1, 316, 57, -1, -1, 326,
1314 328, -1, -1, -1, -1, -1, -1, -1,
1315 -1, -1, -1, -1, -1, -1, -1, -1,
1316 -1, -1, -1, -1, -1, -1, -1, -1,
1317 -1, -1, -1, -1, -1, -1, -1, -1,
1318 -1, -1, -1, -1, -1, -1, -1, -1,
1319 -1, -1, -1, -1, -1, -1, 61, 59,
1320 60, -1, -1, -1, -1, -1, -1, -1,
1321 -1, -1, -1, -1, -1, -1, -1, -1,
1322 -1, -1, -1, -1, -1, -1, -1, -1,
1323 -1, -1, -1, -1, -1, -1, -1, -1,
1324 -1, -1, -1, -1, -1, -1, -1, -1,
1325 -1, -1, -1, -1, -1, -1, -1, -1,
1326 -1, -1, -1, -1, -1, -1, -1, -1,
1327 -1, -1, -1, -1, -1, -1, -1, -1,
1328 -1, -1, -1, 58, -1, -1, -1, -1,
1329 -1, -1, -1, -1, -1, -1, -1, -1,
1330 -1, -1, -1, -1, -1, -1, -1, -1,
1331 -1, -1, -1, -1, -1, -1, -1, -1,
1332 311, 312, -1, -1, 62, 313, -1, -1,
1333 313, 313, 313, -1, 313, 313, 313, 313,
1334 313, 313, 313, -1, -1, -1, -1, -1,
1335 -1, -1, -1, -1, -1, -1, -1, 313,
1336 313, -1, 313, 313, 313, -1, -1, -1,
1337 -1, -1, -1, -1, -1, -1, -1, -1,
1338 -1, -1, -1, -1, -1, -1, -1, -1,
1339 -1, -1, -1, -1, -1, -1, -1, -1,
1340 -1, -1, 313, -1, -1, -1, -1, -1,
1341 -1, -1, -1, -1, -1, -1, -1, -1,
1342 -1, -1, -1, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, -1, -1, 313,
1344 313, -1, -1, -1, 313, 313, -1, -1,
1345 313, 313, 322, 313, 313, 313, 313, 313,
1346 313, -1, -1, -1, 313, 313, 313, 313,
1347 313, 313, 313, 313, 313, 313, 313, 313,
1348 313, 313, 313, 313, 313, 313, 313, 313,
1349 313, 313, 313, 313, 313, 313, 313, 313,
1350 313, 313, 313, 313, 313, 313, 313, 313,
1351 313, 313, -1, -1, -1, -1, -1, -1,
1352 -1, -1, -1, -1, -1, -1, -1, -1,
1353 -1, -1, -1, 313, 313, 313, 314, -1,
1354 -1, 314, 314, 314, -1, 314, 314, 314,
1355 314, 314, 314, 314, -1, -1, -1, -1,
1356 -1, -1, -1, -1, -1, -1, -1, -1,
1357 314, 314, -1, 314, 314, 314, -1, -1,
1358 -1, -1, -1, -1, -1, -1, -1, -1,
1359 -1, -1, -1, -1, -1, -1, -1, -1,
1360 -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, -1, 314, -1, -1, -1, -1,
1362 -1, -1, -1, -1, -1, -1, -1, -1,
1363 -1, -1, -1, -1, -1, -1, -1, -1,
1364 -1, -1, -1, -1, -1, -1, -1, -1,
1365 314, 314, -1, -1, -1, 314, 314, -1,
1366 -1, 314, 314, 324, 314, 314, 314, 314,
1367 314, 314, -1, -1, -1, 314, 314, 314,
1368 314, 314, 314, 314, 314, 314, 314, 314,
1369 314, 314, 314, 314, 314, 314, 314, 314,
1370 314, 314, 314, 314, 314, 314, 314, 314,
1371 314, 314, 314, 314, 314, 314, 314, 314,
1372 314, 314, 314, -1, -1, -1, -1, -1,
1373 -1, -1, -1, -1, -1, -1, -1, -1,
1374 -1, -1, -1, -1, 314, 314, 314, 338,
1375 -1, -1, -1, 338, -1, -1, -1, -1,
1376 -1, -1, -1, -1, -1, -1, -1, -1,
1377 -1, -1, -1, -1, -1, -1, -1, -1,
1378 -1, -1, -1, -1, -1, -1, -1, -1,
1379 -1, -1, -1, -1, -1, -1, -1, -1,
1380 -1, -1, -1, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, -1, -1,
1382 -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, -1, -1, -1, -1, -1,
1386 -1, -1, -1, -1, -1, -1, -1, -1,
1387 79, 338, -1, -1, -1, 338, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, -1, -1, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, -1,
1391 -1, -1, -1, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, -1, -1, -1, -1, -1, -1,
1397 -1, -1, -1, -1, -1, -1, -1, -1,
1398 -1, -1, -1, -1, -1, -1, -1, -1,
1399 -1, -1, 80, 330, 330, 330, -1, 330,
1400 -1, -1, 330, -1, -1, -1, -1, -1,
1401 -1, -1, -1, -1, -1, -1, -1, -1,
1402 -1, -1, -1, -1, -1, -1, -1, -1,
1403 -1, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, -1, -1, -1, -1, -1, -1,
1405 -1, -1, -1, -1, -1, -1, -1, -1,
1406 -1, -1, -1, -1, -1, -1, -1, -1,
1407 -1, -1, -1, -1, -1, -1, -1, -1,
1408 -1, -1, -1, -1, -1, -1, -1, -1,
1409 -1, -1, -1, -1, -1, -1, -1, -1,
1410 -1, -1, -1, -1, -1, -1, -1, -1,
1411 -1, -1, -1, -1, -1, -1, -1, -1,
1412 78, 105, 55, -1, -1, -1, -1, -1,
1413 -1, 63, -1, -1, -1, -1, 17, -1,
1414 -1, -1, -1, -1, -1, -1, -1, -1,
1415 -1, -1, -1, -1, -1, -1, -1, -1,
1416 -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1,
1418 -1, -1, -1, -1, -1, -1, -1, -1,
1419 -1, -1, -1, -1, -1, -1, -1, 56,
1420 -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, -1, -1, -1, -1,
1422 -1, -1, -1, -1, -1, -1, -1, -1,
1423 -1, -1, -1, -1, -1, -1, -1, -1,
1424 -1, 50, 57, -1, -1, 326, 328, -1,
1425 -1, -1, -1, -1, -1, -1, -1, -1,
1426 -1, -1, -1, -1, -1, -1, -1, -1,
1427 -1, -1, -1, -1, -1, -1, -1, -1,
1428 -1, -1, -1, -1, -1, -1, -1, -1,
1429 -1, -1, -1, -1, -1, -1, -1, -1,
1430 -1, -1, -1, -1, 61, 59, 60, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, -1,
1433 -1, -1, -1, -1, -1, -1, -1, -1,
1434 -1, -1, -1, -1, -1, -1, -1, -1,
1435 -1, -1, -1, -1, -1, -1, -1, -1,
1436 -1, -1, -1, -1, -1, -1, -1, -1,
1437 -1, -1, -1, -1, -1, -1, -1, -1,
1438 -1, -1, -1, -1, -1, -1, -1, 76,
1439 -1, 58, -1, -1, -1, -1, -1, -1,
1440 -1, 48, 191, 49, 198, 52, -1, 53,
1441 -1, -1, -1, -1, -1, -1, -1, -1,
1442 -1, -1, 54, -1, -1, -1, 308, 312,
1443 -1, -1, 62, 164, 81, -1, -1, -1,
1444 -1, -1, -1, -1, -1, -1, -1, -1,
1445 -1, -1, -1, 175, 55, -1, -1, -1,
1446 -1, -1, -1, 63, -1, -1, -1, -1,
1447 17, -1, -1, -1, -1, -1, -1, -1,
1448 -1, -1, -1, -1, -1, -1, -1, -1,
1449 -1, -1, -1, -1, -1, -1, -1, -1,
1450 -1, -1, -1, -1, -1, -1, -1, -1,
1451 -1, -1, -1, -1, -1, -1, -1, -1,
1452 -1, -1, -1, -1, -1, -1, -1, -1,
1453 -1, 56, -1, -1, -1, -1, -1, -1,
1454 -1, -1, -1, -1, -1, -1, -1, -1,
1455 -1, -1, -1, -1, -1, -1, -1, -1,
1456 -1, -1, -1, -1, -1, -1, -1, -1,
1457 -1, -1, -1, 51, 57, -1, -1, 326,
1458 328, -1, -1, -1, -1, -1, -1, -1,
1459 -1, -1, -1, -1, -1, -1, -1, -1,
1460 -1, -1, -1, -1, -1, -1, -1, -1,
1461 -1, -1, -1, -1, -1, -1, -1, -1,
1462 -1, -1, -1, -1, -1, -1, -1, -1,
1463 -1, -1, -1, -1, -1, -1, 61, 59,
1464 60, -1, -1, -1, -1, -1, -1, -1,
1465 -1, -1, -1, -1, -1, -1, 4, -1,
1466 -1, -1, -1, -1, -1, -1, -1, -1,
1467 -1, -1, 158, -1, -1, -1, -1, -1,
1468 -1, -1, -1, -1, -1, -1, -1, -1,
1469 -1, -1, -1, -1, -1, -1, -1, -1,
1470 -1, 180, -1, 179, -1, -1, -1, -1,
1471 -1, -1, -1, -1, -1, -1, 160, 108,
1472 -1, 107, -1, 58, -1, -1, 106, 178,
1473 -1, -1, -1, 48, 191, 49, 198, 52,
1474 -1, 53, -1, -1, -1, -1, -1, -1,
1475 -1, -1, -1, -1, 54, -1, -1, -1,
1476 308, 312, -1, -1, 62, 384, 391, -1,
1477 -1, -1, -1, -1, -1, -1, -1, -1,
1478 -1, -1, -1, -1, -1, -1, -1, -1,
1479 -1, -1, -1, -1, -1, -1, -1, -1,
1480 -1, -1, -1, -1, -1, -1, -1, -1,
1481 -1, -1, -1, -1, -1, -1, -1, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, -1, -1, -1, -1, -1, -1, -1,
1484 -1, -1, -1, -1, -1, -1, -1, -1,
1485 -1, -1, -1, -1, -1, -1, -1, -1,
1486 -1, -1, -1, -1, -1, -1, -1, -1,
1487 -1, -1, -1, -1, -1, -1, -1, -1,
1488 -1, -1, -1, -1, -1, -1, -1, -1,
1489 -1, -1, -1, -1, -1, -1, -1, -1,
1490 -1, -1, -1, -1, -1, -1, -1, -1,
1491 -1, -1, -1, -1, -1, -1, -1, -1,
1492 -1, -1, -1, -1, -1, -1, -1, -1,
1493 -1, -1, -1, -1, -1, -1, -1, -1,
1494 -1, -1, -1, -1, -1, -1, -1, -1,
1495 -1, -1, -1, -1, -1, -1, -1, -1,
1496 -1, -1, -1, -1, -1, -1, -1, -1,
1497 -1, -1, -1, -1, 109, 376, 377, 378,
1498 -1, 375, -1, -1, -1, -1, -1, -1,
1499 -1, -1, -1, -1, -1, -1, -1, -1,
1500 354, -1, -1, -1, -1, -1, -1, -1,
1501 -1, -1, -1, -1, -1, -1, -1, -1,
1502 -1, -1, -1, -1, -1, -1, -1, -1,
1503 -1, -1, -1, -1, -1, -1, -1, -1,
1504 -1, -1, -1, -1, -1, -1, -1, -1,
1505 -1, -1, -1, -1, -1, -1, -1, -1,
1506 -1, -1, -1, -1, -1, -1, -1, -1,
1507 -1, -1, -1, -1, -1, -1, -1, -1,
1508 -1, -1, -1, -1, -1, 374, -1, -1,
1509 -1, 372, 373, -1, -1, -1, -1, -1,
1510 -1, -1, -1, 379, -1, -1, -1, -1,
1511 -1, -1, -1, -1, -1, -1, -1, -1,
1512 -1, -1, -1, -1, -1, -1, -1, -1,
1513 -1, -1, -1, -1, -1, -1, -1, -1,
1514 -1, -1, -1, -1, -1, -1, -1, -1,
1515 -1, -1, -1, -1, -1, -1, -1, -1,
1516 368, 369, 370, 371, -1, -1, -1, -1,
1517 -1, -1, -1, -1, -1, -1, -1, -1,
1518 -1, -1, -1, -1, -1, -1, -1, -1,
1519 -1, -1, -1, 380, 381, -1, -1, -1,
1520 382, 383, 30, -1, -1, -1, -1, -1,
1521 -1, -1, -1, -1, -1, -1, -1, -1,
1522 -1, -1, -1, -1, -1, -1, -1, -1,
1523 -1, -1, -1, -1, -1, -1, -1, -1,
1524 -1, -1, -1, -1, -1, -1, -1, -1,
1525 -1, -1, -1, -1, -1, -1, -1, -1,
1526 -1, -1, -1, -1, -1, -1, -1, -1,
1527 -1, -1, -1, -1, -1, -1, -1, -1,
1528 -1, -1, -1, -1, 365, -1, 367, -1,
1529 363, 366, 355, 364, 364, 364, -1, 364,
1530 -1, -1, -1, -1, -1, -1, -1, -1,
1531 -1, -1, -1, -1, -1, -1, 364, -1,
1532 -1, -1, -1, -1, -1, -1, -1, -1,
1533 -1, -1, -1, -1, -1, -1, -1, -1,
1534 -1, -1, -1, -1, -1, -1, -1, -1,
1535 -1, -1, -1, -1, -1, -1, -1, -1,
1536 -1, -1, -1, -1, -1, -1, -1, -1,
1537 -1, -1, -1, -1, -1, -1, -1, -1,
1538 -1, -1, -1, -1, -1, -1, -1, -1,
1539 -1, -1, -1, -1, -1, -1, -1, -1,
1540 -1, -1, -1, 364, -1, -1, -1, 364,
1541 364, -1, -1, -1, -1, -1, -1, -1,
1542 -1, 364, -1, -1, -1, -1, -1, -1,
1543 -1, -1, -1, -1, -1, -1, -1, -1,
1544 -1, -1, -1, -1, -1, -1, -1, -1,
1545 -1, -1, -1, -1, -1, -1, -1, -1,
1546 -1, -1, -1, -1, -1, -1, -1, -1,
1547 -1, -1, -1, -1, -1, -1, 364, 364,
1548 364, 364, -1, -1, -1, -1, -1, -1,
1549 -1, -1, -1, -1, -1, -1, -1, -1,
1550 -1, -1, -1, -1, -1, -1, -1, -1,
1551 -1, 364, 364, -1, -1, -1, 364, 364,
1552 364, -1, -1, -1, -1, -1, -1, -1,
1553 -1, -1, -1, -1, -1, -1, -1, -1,
1554 -1, -1, -1, -1, -1, -1, -1, -1,
1555 -1, -1, -1, -1, 110, 359, 364, 364,
1556 364, -1, 364, -1, -1, -1, -1, -1,
1557 -1, -1, -1, -1, -1, -1, -1, -1,
1558 -1, 364, -1, -1, -1, -1, -1, -1,
1559 -1, -1, -1, -1, -1, -1, -1, -1,
1560 -1, -1, -1, -1, -1, -1, -1, -1,
1561 -1, -1, -1, -1, -1, -1, -1, -1,
1562 -1, -1, -1, -1, -1, -1, -1, -1,
1563 -1, -1, -1, -1, -1, -1, -1, -1,
1564 -1, -1, -1, -1, -1, -1, -1, -1,
1565 -1, -1, -1, -1, -1, -1, -1, -1,
1566 -1, -1, -1, -1, -1, -1, 364, -1,
1567 -1, -1, 364, 364, -1, -1, -1, -1,
1568 -1, -1, -1, -1, 364, -1, -1, -1,
1569 -1, -1, -1, -1, -1, -1, -1, -1,
1570 -1, -1, -1, -1, -1, -1, -1, -1,
1571 -1, -1, -1, -1, -1, -1, -1, -1,
1572 -1, -1, -1, -1, -1, -1, -1, -1,
1573 -1, -1, -1, -1, -1, -1, -1, -1,
1574 -1, 364, 364, 364, 364, -1, -1, -1,
1575 -1, -1, -1, -1, -1, -1, -1, -1,
1576 -1, -1, -1, -1, -1, -1, -1, -1,
1577 -1, -1, -1, -1, 364, 364, -1, -1,
1578 -1, 364, 364, 364, -1, -1, -1, -1,
1579 -1, -1, -1, -1, -1, -1, -1, -1,
1580 -1, -1, -1, -1, -1, -1, -1, -1,
1581 -1, -1, -1, -1, -1, -1, -1, 111,
1582 357, 364, 364, 364, -1, 364, -1, -1,
1583 -1, -1, -1, -1, -1, -1, -1, -1,
1584 -1, -1, -1, -1, 364, -1, -1, -1,
1585 -1, -1, -1, -1, -1, -1, -1, -1,
1586 -1, -1, -1, -1, -1, -1, -1, -1,
1587 -1, -1, -1, -1, -1, -1, -1, -1,
1588 -1, -1, -1, -1, -1, -1, -1, -1,
1589 -1, -1, -1, -1, -1, -1, -1, -1,
1590 -1, -1, -1, -1, -1, -1, -1, -1,
1591 -1, -1, -1, -1, -1, -1, -1, -1,
1592 -1, -1, -1, -1, -1, -1, -1, -1,
1593 -1, 364, -1, -1, -1, 364, 364, -1,
1594 -1, -1, -1, -1, -1, -1, -1, 364,
1595 -1, -1, -1, -1, -1, -1, -1, -1,
1596 -1, -1, -1, -1, -1, -1, -1, -1,
1597 -1, -1, -1, -1, -1, -1, -1, -1,
1598 -1, -1, -1, -1, -1, -1, -1, -1,
1599 -1, -1, -1, -1, -1, -1, -1, -1,
1600 -1, -1, -1, -1, 364, 364, 364, 364,
1601 -1, -1, -1, -1, -1, -1, -1, -1,
1602 -1, -1, -1, -1, -1, -1, -1, -1,
1603 -1, -1, -1, -1, -1, -1, -1, 364,
1604 364, -1, -1, -1, 364, 364, 364, -1,
1605 -1, -1, -1, -1, -1, -1, -1, -1,
1606 -1, -1, -1, -1, -1, -1, -1, -1,
1607 -1, -1, -1, -1, -1, -1, -1, -1,
1608 -1, -1, 112, 321, -1, -1, 81, 55,
1609 -1, -1, -1, -1, -1, -1, 63, -1,
1610 -1, -1, -1, 17, -1, -1, -1, -1,
1611 -1, -1, -1, -1, -1, -1, -1, -1,
1612 -1, -1, -1, -1, -1, -1, -1, -1,
1613 -1, -1, -1, -1, -1, -1, -1, -1,
1614 -1, -1, -1, -1, -1, -1, -1, -1,
1615 -1, -1, -1, -1, -1, -1, -1, -1,
1616 -1, -1, -1, -1, 56, -1, -1, -1,
1617 -1, -1, -1, -1, -1, -1, -1, -1,
1618 -1, -1, -1, -1, -1, -1, -1, -1,
1619 -1, -1, -1, -1, -1, -1, -1, -1,
1620 -1, -1, -1, -1, -1, -1, 50, 57,
1621 -1, -1, 326, 328, -1, -1, -1, -1,
1622 -1, -1, -1, -1, -1, -1, -1, -1,
1623 -1, -1, -1, -1, -1, -1, -1, -1,
1624 -1, -1, -1, -1, -1, -1, -1, -1,
1625 -1, -1, -1, -1, -1, -1, -1, -1,
1626 -1, -1, -1, -1, -1, -1, -1, -1,
1627 -1, 61, 59, 60, -1, -1, -1, -1,
1628 -1, -1, -1, -1, -1, -1, -1, -1,
1629 -1, -1, -1, -1, -1, -1, -1, -1,
1630 -1, -1, -1, -1, -1, -1, -1, -1,
1631 -1, -1, -1, -1, -1, -1, -1, -1,
1632 -1, -1, -1, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, -1,
1635 -1, -1, -1, -1, -1, -1, 58, -1,
1636 -1, -1, -1, -1, -1, -1, -1, -1,
1637 -1, 199, 52, -1, 53, -1, -1, -1,
1638 -1, -1, -1, -1, -1, -1, -1, 54,
1639 -1, -1, -1, 308, 312, -1, -1, 62,
1640 319, 114, 115, -1, 335, -1, -1, 336,
1641 -1, -1, -1, -1, -1, -1, -1, -1,
1642 -1, -1, -1, -1, -1, -1, -1, -1,
1643 -1, -1, -1, -1, -1, -1, -1, -1,
1644 -1, -1, -1, -1, -1, -1, -1, -1,
1645 -1, -1, -1, -1, -1, -1, -1, -1,
1646 -1, -1, -1, -1, -1, -1, -1, -1,
1647 -1, -1, -1, -1, -1, -1, -1, -1,
1648 -1, -1, -1, -1, -1, -1, -1, -1,
1649 -1, -1, -1, -1, -1, -1, -1, -1,
1650 -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, -1, -1,
1652 -1, -1, -1, -1, -1, -1, -1, 329,
1653 113, 317, -1, -1, -1, 116, -1, -1,
1654 -1, -1, -1, -1, -1, -1, -1, -1,
1655 -1, -1, -1, -1, -1, -1, -1, -1,
1656 -1, -1, -1, -1, -1, -1, -1, -1,
1657 -1, -1, -1, -1, -1, -1, -1, -1,
1658 -1, -1, -1, -1, -1, -1, -1, -1,
1659 -1, -1, -1, -1, -1, -1, -1, -1,
1660 -1, -1, -1, -1, -1, -1, -1, -1,
1661 -1, -1, -1, -1, -1, -1, -1, -1,
1662 -1, -1, -1, -1, -1, -1, -1, -1,
1663 -1, -1, -1, -1, -1, -1, -1, -1,
1664 -1, -1, -1, -1, -1, -1, -1, -1,
1665 -1, -1, -1, -1, -1, -1, -1, 337,
1666 318, -1, -1, -1, 116, -1, -1, -1,
1667 -1, -1, -1, -1, -1, -1, -1, -1,
1668 -1, -1, -1, -1, -1, -1, -1, -1,
1669 -1, -1, -1, -1, -1, -1, -1, -1,
1670 -1, -1, -1, -1, -1, -1, -1, -1,
1671 -1, -1, -1, -1, -1, -1, -1, -1,
1672 -1, -1, -1, -1, -1, -1, -1, -1,
1673 -1, -1, -1, -1, -1, -1, -1, -1,
1674 -1, -1, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, -1, -1, -1, -1, -1,
1676 -1, -1, -1, -1, -1, -1, -1, -1,
1677 -1, -1, -1, -1, -1, -1, -1, -1,
1678 -1, -1, -1, -1, -1, -1, 337, 55,
1679 -1, -1, -1, -1, -1, -1, 63, -1,
1680 -1, -1, -1, 17, -1, -1, -1, -1,
1681 -1, -1, -1, -1, -1, -1, -1, -1,
1682 -1, -1, -1, -1, -1, -1, -1, -1,
1683 -1, -1, -1, -1, -1, -1, -1, -1,
1684 -1, -1, -1, -1, -1, -1, -1, -1,
1685 -1, -1, -1, -1, -1, -1, -1, -1,
1686 -1, -1, -1, -1, 56, -1, -1, -1,
1687 -1, -1, -1, -1, -1, -1, -1, -1,
1688 -1, -1, -1, -1, -1, -1, -1, -1,
1689 -1, -1, -1, -1, -1, -1, -1, -1,
1690 -1, -1, -1, -1, -1, -1, 50, 57,
1691 -1, -1, 326, 328, -1, -1, -1, -1,
1692 -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, -1, -1, -1, -1, -1, -1, -1,
1694 -1, -1, -1, -1, -1, -1, -1, -1,
1695 -1, -1, -1, -1, -1, -1, -1, -1,
1696 -1, -1, -1, -1, -1, -1, -1, -1,
1697 -1, 61, 59, 60, -1, -1, -1, -1,
1698 -1, -1, -1, -1, -1, -1, -1, -1,
1699 -1, -1, -1, -1, -1, -1, -1, -1,
1700 -1, -1, -1, -1, -1, -1, -1, -1,
1701 -1, -1, -1, -1, -1, -1, -1, -1,
1702 -1, -1, -1, -1, -1, -1, -1, -1,
1703 -1, -1, -1, -1, -1, -1, -1, -1,
1704 -1, -1, -1, -1, -1, -1, -1, -1,
1705 -1, -1, -1, -1, -1, -1, 58, -1,
1706 -1, -1, -1, -1, -1, -1, 117, 191,
1707 49, 198, 52, -1, 53, -1, -1, -1,
1708 -1, -1, -1, -1, -1, -1, -1, 54,
1709 -1, -1, -1, 308, 312, -1, -1, 62,
1710 55, -1, -1, -1, -1, -1, -1, 63,
1711 -1, -1, -1, -1, 17, -1, -1, -1,
1712 -1, -1, -1, -1, -1, -1, -1, -1,
1713 -1, -1, -1, -1, -1, -1, -1, -1,
1714 -1, -1, -1, -1, -1, -1, -1, -1,
1715 -1, -1, -1, -1, -1, -1, -1, -1,
1716 -1, -1, -1, -1, -1, -1, -1, -1,
1717 -1, -1, -1, -1, -1, 56, -1, -1,
1718 -1, -1, -1, -1, -1, -1, -1, -1,
1719 -1, -1, -1, -1, -1, -1, -1, -1,
1720 -1, -1, -1, -1, -1, -1, -1, -1,
1721 -1, -1, -1, -1, -1, -1, -1, 50,
1722 57, -1, -1, 326, 328, -1, -1, -1,
1723 -1, -1, -1, -1, -1, -1, -1, -1,
1724 -1, -1, -1, -1, -1, -1, -1, -1,
1725 -1, -1, -1, -1, -1, -1, -1, -1,
1726 -1, -1, -1, -1, -1, -1, -1, -1,
1727 -1, -1, -1, -1, -1, -1, -1, -1,
1728 -1, -1, 61, 59, 60, -1, -1, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1,
1730 -1, -1, -1, -1, -1, -1, -1, -1,
1731 -1, -1, -1, -1, -1, -1, -1, -1,
1732 -1, -1, -1, -1, -1, -1, -1, -1,
1733 -1, -1, -1, -1, -1, -1, -1, -1,
1734 -1, -1, -1, -1, -1, -1, -1, -1,
1735 -1, -1, -1, -1, -1, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, -1, 58,
1737 -1, -1, -1, -1, -1, -1, -1, -1,
1738 187, 49, 198, 52, -1, 53, -1, -1,
1739 -1, -1, -1, -1, -1, -1, -1, -1,
1740 54, -1, -1, -1, 308, 312, -1, -1,
1741 62, 55, -1, -1, -1, -1, -1, -1,
1742 63, -1, -1, -1, -1, 17, -1, -1,
1743 -1, -1, -1, -1, -1, -1, -1, -1,
1744 -1, -1, -1, -1, -1, -1, -1, -1,
1745 -1, -1, -1, -1, -1, -1, -1, -1,
1746 -1, -1, -1, -1, -1, -1, -1, -1,
1747 -1, -1, -1, -1, -1, -1, -1, -1,
1748 -1, -1, -1, -1, -1, -1, 56, -1,
1749 -1, -1, -1, -1, -1, -1, -1, -1,
1750 -1, -1, -1, -1, -1, -1, -1, -1,
1751 -1, -1, -1, -1, -1, -1, -1, -1,
1752 -1, -1, -1, -1, -1, -1, -1, -1,
1753 50, 57, -1, -1, 326, 328, -1, -1,
1754 -1, -1, -1, -1, -1, -1, -1, -1,
1755 -1, -1, -1, -1, -1, -1, -1, -1,
1756 -1, -1, -1, -1, -1, -1, -1, -1,
1757 -1, -1, -1, -1, -1, -1, -1, -1,
1758 -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, -1, 61, 59, 60, -1, -1,
1760 -1, -1, -1, -1, -1, -1, -1, -1,
1761 -1, -1, -1, -1, -1, -1, -1, -1,
1762 -1, -1, -1, -1, -1, -1, -1, -1,
1763 -1, -1, -1, -1, -1, -1, -1, -1,
1764 -1, -1, -1, -1, -1, -1, -1, -1,
1765 -1, -1, -1, -1, -1, -1, -1, -1,
1766 -1, -1, -1, -1, -1, -1, -1, -1,
1767 -1, -1, -1, -1, -1, -1, -1, -1,
1768 58, -1, -1, -1, -1, -1, -1, -1,
1769 -1, 188, 49, 198, 52, -1, 53, -1,
1770 -1, -1, -1, -1, -1, -1, -1, -1,
1771 -1, 54, -1, -1, -1, 308, 312, -1,
1772 -1, 62, 55, -1, -1, -1, -1, -1,
1773 -1, 63, -1, -1, -1, -1, 17, -1,
1774 -1, -1, -1, -1, -1, -1, -1, -1,
1775 -1, -1, -1, -1, -1, -1, -1, -1,
1776 -1, -1, -1, -1, -1, -1, -1, -1,
1777 -1, -1, -1, -1, -1, -1, -1, -1,
1778 -1, -1, -1, -1, -1, -1, -1, -1,
1779 -1, -1, -1, -1, -1, -1, -1, 56,
1780 -1, -1, -1, -1, -1, -1, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, -1, -1, -1, -1, -1, -1,
1783 -1, -1, -1, -1, -1, -1, -1, -1,
1784 -1, 50, 57, -1, -1, 326, 328, -1,
1785 -1, -1, -1, -1, -1, -1, -1, -1,
1786 -1, -1, -1, -1, -1, -1, -1, -1,
1787 -1, -1, -1, -1, -1, -1, -1, -1,
1788 -1, -1, -1, -1, -1, -1, -1, -1,
1789 -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, -1, 61, 59, 60, -1,
1791 -1, -1, -1, -1, -1, -1, -1, -1,
1792 -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, -1, -1, -1, -1, -1, -1, -1,
1794 -1, -1, -1, -1, -1, -1, -1, -1,
1795 -1, -1, -1, -1, -1, -1, -1, -1,
1796 -1, -1, -1, -1, -1, -1, -1, -1,
1797 -1, -1, -1, -1, -1, -1, -1, -1,
1798 -1, -1, -1, -1, -1, -1, -1, -1,
1799 -1, 58, -1, -1, -1, -1, -1, -1,
1800 -1, -1, 189, 49, 198, 52, -1, 53,
1801 -1, -1, -1, -1, -1, -1, -1, -1,
1802 -1, -1, 54, -1, -1, -1, 308, 312,
1803 -1, -1, 62, 55, -1, -1, -1, -1,
1804 -1, -1, 63, -1, -1, -1, -1, 17,
1805 -1, -1, -1, -1, -1, -1, -1, -1,
1806 -1, -1, -1, -1, -1, -1, -1, -1,
1807 -1, -1, -1, -1, -1, -1, -1, -1,
1808 -1, -1, -1, -1, -1, -1, -1, -1,
1809 -1, -1, -1, -1, -1, -1, -1, -1,
1810 -1, -1, -1, -1, -1, -1, -1, -1,
1811 56, -1, -1, -1, -1, -1, -1, -1,
1812 -1, -1, -1, -1, -1, -1, -1, -1,
1813 -1, -1, -1, -1, -1, -1, -1, -1,
1814 -1, -1, -1, -1, -1, -1, -1, -1,
1815 -1, -1, 50, 57, -1, -1, 326, 328,
1816 -1, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, -1, -1, -1, -1,
1818 -1, -1, -1, -1, -1, -1, -1, -1,
1819 -1, -1, -1, -1, -1, -1, -1, -1,
1820 -1, -1, -1, -1, -1, -1, -1, -1,
1821 -1, -1, -1, -1, -1, 61, 59, 60,
1822 -1, -1, -1, -1, -1, -1, -1, -1,
1823 -1, -1, -1, -1, -1, -1, -1, -1,
1824 -1, -1, -1, -1, -1, -1, -1, -1,
1825 -1, -1, -1, -1, -1, -1, -1, -1,
1826 -1, -1, -1, -1, -1, -1, -1, -1,
1827 -1, -1, -1, -1, -1, -1, -1, -1,
1828 -1, -1, -1, -1, -1, -1, -1, -1,
1829 -1, -1, -1, -1, -1, -1, -1, -1,
1830 -1, -1, 58, -1, -1, -1, -1, -1,
1831 -1, -1, -1, 190, 49, 198, 52, -1,
1832 53, -1, -1, -1, -1, -1, -1, -1,
1833 -1, -1, -1, 54, -1, -1, -1, 308,
1834 312, -1, -1, 62, 55, -1, -1, -1,
1835 -1, -1, -1, 63, -1, -1, -1, -1,
1836 17, -1, -1, -1, -1, -1, -1, -1,
1837 -1, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, -1, -1, -1, -1,
1839 -1, -1, -1, -1, -1, -1, -1, -1,
1840 -1, -1, -1, -1, -1, -1, -1, -1,
1841 -1, -1, -1, -1, -1, -1, -1, -1,
1842 -1, 56, -1, -1, -1, -1, -1, -1,
1843 -1, -1, -1, -1, -1, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, -1, -1, -1, -1,
1846 -1, -1, -1, 50, 57, -1, -1, 326,
1847 328, -1, -1, -1, -1, -1, -1, -1,
1848 -1, -1, -1, -1, -1, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, -1, -1,
1850 -1, -1, -1, -1, -1, -1, -1, -1,
1851 -1, -1, -1, -1, -1, -1, -1, -1,
1852 -1, -1, -1, -1, -1, -1, 61, 59,
1853 60, -1, -1, -1, -1, -1, -1, -1,
1854 -1, -1, -1, -1, -1, -1, -1, -1,
1855 -1, -1, -1, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, -1,
1857 -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, -1, -1, -1, -1, -1, -1, -1,
1859 -1, -1, -1, -1, -1, -1, -1, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1,
1861 -1, -1, -1, 58, -1, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, 194, 52,
1863 -1, 53, -1, -1, -1, -1, -1, -1,
1864 -1, -1, -1, -1, 54, -1, -1, -1,
1865 308, 312, -1, -1, 62, 55, -1, -1,
1866 -1, -1, -1, -1, 63, -1, -1, -1,
1867 -1, 17, -1, -1, -1, -1, -1, -1,
1868 -1, -1, -1, -1, -1, -1, -1, -1,
1869 -1, -1, -1, -1, -1, -1, -1, -1,
1870 -1, -1, -1, -1, -1, -1, -1, -1,
1871 -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, -1, -1,
1873 -1, -1, 56, -1, -1, -1, -1, -1,
1874 -1, -1, -1, -1, -1, -1, -1, -1,
1875 -1, -1, -1, -1, -1, -1, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, -1,
1877 -1, -1, -1, -1, 50, 57, -1, -1,
1878 326, 328, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, -1, -1,
1881 -1, -1, -1, -1, -1, -1, -1, -1,
1882 -1, -1, -1, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, -1, 61,
1884 59, 60, -1, -1, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, -1, -1,
1886 -1, -1, -1, -1, -1, -1, -1, -1,
1887 -1, -1, -1, -1, -1, -1, -1, -1,
1888 -1, -1, -1, -1, -1, -1, -1, -1,
1889 -1, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, -1,
1891 -1, -1, -1, -1, -1, -1, -1, -1,
1892 -1, -1, -1, -1, 58, -1, -1, -1,
1893 -1, -1, -1, -1, -1, -1, -1, 195,
1894 52, -1, 53, -1, -1, -1, -1, -1,
1895 -1, -1, -1, -1, -1, 54, -1, -1,
1896 -1, 308, 312, -1, -1, 62, 55, -1,
1897 -1, -1, -1, -1, -1, 63, -1, -1,
1898 -1, -1, 17, -1, -1, -1, -1, -1,
1899 -1, -1, -1, -1, -1, -1, -1, -1,
1900 -1, -1, -1, -1, -1, -1, -1, -1,
1901 -1, -1, -1, -1, -1, -1, -1, -1,
1902 -1, -1, -1, -1, -1, -1, -1, -1,
1903 -1, -1, -1, -1, -1, -1, -1, -1,
1904 -1, -1, -1, 56, -1, -1, -1, -1,
1905 -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, -1, -1, -1, -1, -1, -1, -1,
1907 -1, -1, -1, -1, -1, -1, -1, -1,
1908 -1, -1, -1, -1, -1, 50, 57, -1,
1909 -1, 326, 328, -1, -1, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, -1, -1,
1911 -1, -1, -1, -1, -1, -1, -1, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, -1, -1, -1, -1, -1, -1,
1914 -1, -1, -1, -1, -1, -1, -1, -1,
1915 61, 59, 60, -1, -1, -1, -1, -1,
1916 -1, -1, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1,
1918 -1, -1, -1, -1, -1, -1, -1, -1,
1919 -1, -1, -1, -1, -1, -1, -1, -1,
1920 -1, -1, -1, -1, -1, -1, -1, -1,
1921 -1, -1, -1, -1, -1, -1, -1, -1,
1922 -1, -1, -1, -1, -1, -1, -1, -1,
1923 -1, -1, -1, -1, -1, 58, -1, -1,
1924 -1, -1, -1, -1, -1, -1, -1, -1,
1925 196, 52, -1, 53, -1, -1, -1, -1,
1926 -1, -1, -1, -1, -1, -1, 54, -1,
1927 -1, -1, 308, 312, -1, -1, 62, 55,
1928 -1, -1, -1, -1, -1, -1, 63, -1,
1929 -1, -1, -1, 17, -1, -1, -1, -1,
1930 -1, -1, -1, -1, -1, -1, -1, -1,
1931 -1, -1, -1, -1, -1, -1, -1, -1,
1932 -1, -1, -1, -1, -1, -1, -1, -1,
1933 -1, -1, -1, -1, -1, -1, -1, -1,
1934 -1, -1, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, 56, -1, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1,
1938 -1, -1, -1, -1, -1, -1, -1, -1,
1939 -1, -1, -1, -1, -1, -1, 50, 57,
1940 -1, -1, 326, 328, -1, -1, -1, -1,
1941 -1, -1, -1, -1, -1, -1, -1, -1,
1942 -1, -1, -1, -1, -1, -1, -1, -1,
1943 -1, -1, -1, -1, -1, -1, -1, -1,
1944 -1, -1, -1, -1, -1, -1, -1, -1,
1945 -1, -1, -1, -1, -1, -1, -1, -1,
1946 -1, 61, 59, 60, -1, -1, -1, -1,
1947 -1, -1, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, -1, -1, -1, -1,
1949 -1, -1, -1, -1, -1, -1, -1, -1,
1950 -1, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1,
1953 -1, -1, -1, -1, -1, -1, -1, -1,
1954 -1, -1, -1, -1, -1, -1, 58, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1,
1956 -1, 197, 52, -1, 53, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, 54,
1958 -1, -1, -1, 308, 312, -1, -1, 62,
1959 386, -1, -1, -1, -1, -1, -1, -1,
1960 -1, -1, -1, -1, -1, -1, -1, -1,
1961 -1, -1, -1, -1, -1, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, -1, -1,
1963 -1, -1, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, -1, -1, -1, -1, -1,
1965 -1, -1, -1, -1, -1, -1, -1, -1,
1966 -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, -1, -1, -1, -1, -1, -1, -1,
1968 -1, -1, -1, -1, -1, -1, -1, -1,
1969 -1, -1, -1, -1, -1, -1, -1, -1,
1970 -1, -1, -1, -1, -1, -1, -1, -1,
1971 -1, -1, -1, -1, -1, -1, -1, -1,
1972 -1, -1, -1, -1, -1, -1, -1, -1,
1973 -1, -1, -1, -1, -1, -1, -1, -1,
1974 -1, -1, -1, -1, -1, -1, -1, -1,
1975 -1, -1, -1, -1, -1, 201, -1, -1,
1976 -1, -1, -1, -1, -1, -1, -1, -1,
1977 -1, -1, -1, -1, -1, -1, -1, -1,
1978 -1, -1, -1, -1, -1, -1, -1, -1,
1979 -1, -1, -1, -1, -1, 118, 119, -1,
1980 -1, 121, -1, 122, -1, -1, -1, -1,
1981 -1, -1, -1, -1, -1, -1, -1, -1,
1982 -1, -1, -1, -1, -1, -1, -1, -1,
1983 -1, -1, -1, -1, -1, -1, -1, -1,
1984 -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, -1, -1, -1, -1,
1988 -1, -1, -1, -1, -1, -1, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, -1,
1990 -1, 120, -1, -1, -1, -1, 292, -1,
1991 -1, -1, 296, -1, -1, -1, -1, -1,
1992 -1, -1, -1, -1, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, -1, -1,
1994 -1, -1, -1, -1, -1, -1, -1, -1,
1995 -1, -1, -1, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1,
1997 -1, -1, -1, -1, -1, -1, -1, -1,
1998 -1, -1, -1, -1, -1, -1, -1, -1,
1999 -1, -1, -1, -1, -1, -1, -1, -1,
2000 -1, -1, -1, -1, -1, -1, -1, -1,
2001 -1, -1, -1, -1, -1, -1, -1, -1,
2002 -1, -1, -1, -1, -1, -1, -1, -1,
2003 -1, -1, -1, -1, -1, -1, -1, -1,
2004 -1, -1, -1, -1, -1, -1, -1, -1,
2005 -1, -1, -1, -1, -1, -1, -1, -1,
2006 -1, -1, -1, -1, 203, 290, -1, -1,
2007 -1, -1, -1, -1, -1, -1, 204, -1,
2008 -1, -1, -1, -1, -1, -1, -1, -1,
2009 288, 295, 123, -1, -1, -1, -1, -1,
2010 -1, 124, -1, -1, -1, -1, -1, -1,
2011 -1, -1, -1, -1, -1, -1, -1, -1,
2012 -1, -1, -1, -1, -1, -1, -1, -1,
2013 -1, -1, -1, -1, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1,
2015 -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, -1, -1, -1, -1, -1,
2017 -1, -1, -1, -1, -1, -1, -1, -1,
2018 -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, -1, -1, -1, -1, -1, -1, -1,
2020 -1, -1, -1, -1, 120, -1, -1, -1,
2021 -1, 292, -1, -1, -1, -1, -1, -1,
2022 -1, -1, -1, -1, -1, -1, -1, -1,
2023 -1, -1, -1, -1, -1, -1, -1, -1,
2024 -1, -1, -1, -1, -1, -1, -1, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, -1, -1, -1, -1, -1, -1, -1,
2027 -1, -1, -1, -1, -1, -1, -1, -1,
2028 -1, -1, -1, -1, -1, -1, -1, -1,
2029 -1, -1, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1,
2031 -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, -1, -1, -1, -1, -1, -1, -1,
2033 -1, -1, -1, -1, -1, -1, -1, -1,
2034 -1, -1, -1, -1, -1, -1, -1, -1,
2035 -1, -1, -1, -1, -1, -1, -1, -1,
2036 -1, -1, -1, -1, -1, -1, -1, 206,
2037 290, -1, -1, -1, -1, -1, -1, -1,
2038 -1, -1, -1, -1, -1, -1, -1, -1,
2039 -1, -1, -1, 288, 124, -1, -1, -1,
2040 -1, -1, -1, -1, -1, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, -1,
2042 -1, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1,
2044 -1, -1, -1, -1, -1, -1, -1, -1,
2045 -1, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, -1, -1, -1, -1, -1, -1,
2047 -1, -1, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1,
2049 -1, -1, -1, -1, -1, -1, -1, 120,
2050 -1, -1, -1, -1, 292, -1, -1, -1,
2051 -1, -1, -1, -1, -1, -1, -1, -1,
2052 -1, -1, -1, -1, -1, -1, -1, -1,
2053 -1, -1, -1, -1, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, -1,
2055 -1, -1, -1, -1, -1, -1, -1, -1,
2056 -1, -1, -1, -1, -1, -1, -1, -1,
2057 -1, -1, -1, -1, -1, -1, -1, -1,
2058 -1, -1, -1, -1, -1, -1, -1, -1,
2059 -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, -1, -1, -1, -1, -1, -1, -1,
2061 -1, -1, -1, -1, -1, -1, -1, -1,
2062 -1, -1, -1, -1, -1, -1, -1, -1,
2063 -1, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, -1,
2065 -1, -1, -1, -1, -1, -1, -1, -1,
2066 -1, -1, 208, 290, -1, -1, -1, -1,
2067 -1, -1, -1, -1, -1, -1, -1, -1,
2068 -1, -1, -1, -1, -1, -1, 288, 124,
2069 -1, -1, -1, -1, -1, -1, -1, -1,
2070 -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1,
2073 -1, -1, -1, -1, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, -1, -1,
2076 -1, -1, -1, -1, -1, -1, -1, -1,
2077 -1, -1, -1, -1, -1, -1, -1, -1,
2078 -1, -1, -1, -1, -1, -1, -1, -1,
2079 -1, -1, 120, -1, -1, -1, -1, 292,
2080 -1, -1, -1, -1, -1, -1, -1, -1,
2081 -1, -1, -1, -1, -1, -1, -1, -1,
2082 -1, -1, -1, -1, -1, -1, -1, -1,
2083 -1, -1, -1, -1, -1, -1, -1, -1,
2084 -1, -1, -1, -1, -1, -1, -1, -1,
2085 -1, -1, -1, -1, -1, -1, -1, -1,
2086 -1, -1, -1, -1, -1, -1, -1, -1,
2087 -1, -1, -1, -1, -1, -1, -1, -1,
2088 -1, -1, -1, -1, -1, -1, -1, -1,
2089 -1, -1, -1, -1, -1, -1, -1, -1,
2090 -1, -1, -1, -1, -1, -1, -1, -1,
2091 -1, -1, -1, -1, -1, -1, -1, -1,
2092 -1, -1, -1, -1, -1, -1, -1, -1,
2093 -1, -1, -1, -1, -1, -1, -1, -1,
2094 -1, -1, -1, -1, -1, -1, -1, -1,
2095 -1, -1, -1, -1, -1, 209, 290, -1,
2096 -1, -1, -1, -1, -1, -1, -1, -1,
2097 -1, -1, -1, -1, -1, -1, -1, -1,
2098 -1, 288, 124, -1, -1, -1, -1, -1,
2099 -1, -1, -1, -1, -1, -1, -1, -1,
2100 -1, -1, -1, -1, -1, -1, -1, -1,
2101 -1, -1, -1, -1, -1, -1, -1, -1,
2102 -1, -1, -1, -1, -1, -1, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, -1,
2104 -1, -1, -1, -1, -1, -1, -1, -1,
2105 -1, -1, -1, -1, -1, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, -1, -1,
2107 -1, -1, -1, -1, -1, -1, -1, -1,
2108 -1, -1, -1, -1, -1, 120, -1, -1,
2109 -1, -1, 292, -1, -1, -1, -1, -1,
2110 -1, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, -1, -1, -1, -1, -1, -1,
2112 -1, -1, -1, -1, -1, -1, -1, -1,
2113 -1, -1, -1, -1, -1, -1, -1, -1,
2114 -1, -1, -1, -1, -1, -1, -1, -1,
2115 -1, -1, -1, -1, -1, -1, -1, -1,
2116 -1, -1, -1, -1, -1, -1, -1, -1,
2117 -1, -1, -1, -1, -1, -1, -1, -1,
2118 -1, -1, -1, -1, -1, -1, -1, -1,
2119 -1, -1, -1, -1, -1, -1, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1,
2121 -1, -1, -1, -1, -1, -1, -1, -1,
2122 -1, -1, -1, -1, -1, -1, -1, -1,
2123 -1, -1, -1, -1, -1, -1, -1, -1,
2124 -1, -1, -1, -1, -1, -1, -1, -1,
2125 210, 290, -1, -1, -1, -1, -1, -1,
2126 -1, -1, -1, -1, -1, -1, -1, -1,
2127 -1, -1, -1, -1, 288, 124, -1, -1,
2128 -1, -1, -1, -1, -1, -1, -1, -1,
2129 -1, -1, -1, -1, -1, -1, -1, -1,
2130 -1, -1, -1, -1, -1, -1, -1, -1,
2131 -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, -1, -1, -1, -1, -1, -1, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1,
2134 -1, -1, -1, -1, -1, -1, -1, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1,
2136 -1, -1, -1, -1, -1, -1, -1, -1,
2137 -1, -1, -1, -1, -1, -1, -1, -1,
2138 120, -1, -1, -1, -1, 292, -1, -1,
2139 -1, -1, -1, -1, -1, -1, -1, -1,
2140 -1, -1, -1, -1, -1, -1, -1, -1,
2141 -1, -1, -1, -1, -1, -1, -1, -1,
2142 -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, -1, -1, -1, -1,
2144 -1, -1, -1, -1, -1, -1, -1, -1,
2145 -1, -1, -1, -1, -1, -1, -1, -1,
2146 -1, -1, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1,
2148 -1, -1, -1, -1, -1, -1, -1, -1,
2149 -1, -1, -1, -1, -1, -1, -1, -1,
2150 -1, -1, -1, -1, -1, -1, -1, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1,
2152 -1, -1, -1, -1, -1, -1, -1, -1,
2153 -1, -1, -1, -1, -1, -1, -1, -1,
2154 -1, -1, -1, 211, 290, -1, -1, -1,
2155 -1, -1, -1, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, -1, -1, -1, 288,
2157 125, -1, -1, -1, -1, -1, -1, -1,
2158 -1, -1, -1, -1, -1, -1, -1, -1,
2159 -1, -1, -1, -1, -1, -1, -1, -1,
2160 -1, -1, -1, -1, -1, -1, -1, -1,
2161 -1, -1, -1, -1, -1, -1, -1, -1,
2162 -1, -1, -1, -1, -1, -1, -1, -1,
2163 -1, -1, -1, -1, -1, -1, -1, -1,
2164 -1, -1, -1, -1, -1, -1, -1, -1,
2165 -1, -1, -1, -1, -1, -1, -1, -1,
2166 -1, -1, -1, -1, -1, -1, -1, -1,
2167 -1, -1, -1, 120, -1, -1, -1, -1,
2168 292, -1, -1, -1, -1, -1, -1, -1,
2169 -1, -1, -1, -1, -1, -1, -1, -1,
2170 -1, -1, -1, -1, -1, -1, -1, -1,
2171 -1, -1, -1, -1, -1, -1, -1, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, -1, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, -1, -1, -1, -1,
2175 -1, -1, -1, -1, -1, -1, -1, -1,
2176 -1, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, -1,
2178 -1, -1, -1, -1, -1, -1, -1, -1,
2179 -1, -1, -1, -1, -1, -1, -1, -1,
2180 -1, -1, -1, -1, -1, -1, -1, -1,
2181 -1, -1, -1, -1, -1, -1, -1, -1,
2182 -1, -1, -1, -1, -1, -1, -1, -1,
2183 -1, -1, -1, -1, -1, -1, 212, 290,
2184 -1, -1, -1, -1, -1, -1, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, -1,
2186 -1, -1, 288, 215, -1, -1, 215, -1,
2187 215, -1, -1, -1, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1,
2189 -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, -1, -1, -1, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1,
2192 -1, -1, -1, -1, -1, -1, -1, -1,
2193 -1, -1, -1, -1, -1, -1, -1, -1,
2194 -1, -1, -1, -1, -1, -1, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1,
2196 -1, -1, -1, -1, -1, -1, 215, -1,
2197 -1, -1, -1, 215, -1, -1, -1, 215,
2198 -1, -1, -1, -1, -1, -1, -1, -1,
2199 -1, -1, -1, -1, -1, -1, -1, -1,
2200 -1, -1, -1, -1, -1, -1, -1, -1,
2201 -1, -1, -1, -1, -1, -1, -1, -1,
2202 -1, -1, -1, -1, -1, -1, -1, -1,
2203 -1, -1, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, -1, -1, -1, -1, -1,
2205 -1, -1, -1, -1, -1, -1, -1, -1,
2206 -1, -1, -1, -1, -1, 261, 273, 285,
2207 237, 249, 216, -1, -1, 216, -1, 216,
2208 -1, -1, -1, -1, -1, -1, -1, -1,
2209 -1, -1, -1, -1, -1, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, -1, -1,
2211 -1, -1, -1, -1, -1, -1, -1, -1,
2212 -1, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, -1, -1, -1, -1,
2214 -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, -1, -1, -1, -1, -1,
2216 -1, -1, -1, -1, -1, -1, -1, -1,
2217 -1, -1, -1, -1, -1, 216, -1, -1,
2218 -1, -1, 216, -1, -1, -1, 216, -1,
2219 -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, -1, -1, -1, -1, -1,
2221 -1, -1, -1, -1, -1, -1, -1, -1,
2222 -1, -1, -1, -1, -1, -1, -1, -1,
2223 -1, -1, -1, -1, -1, -1, -1, -1,
2224 -1, -1, -1, -1, -1, -1, -1, -1,
2225 -1, -1, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1,
2227 -1, -1, 224, -1, 259, 271, 283, 235,
2228 247, 217, -1, -1, 217, -1, 217, -1,
2229 -1, -1, -1, -1, -1, -1, -1, -1,
2230 -1, -1, -1, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, -1, -1,
2234 -1, -1, -1, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1,
2236 -1, -1, -1, -1, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, -1, 217, -1, -1, -1,
2239 -1, 217, -1, -1, -1, 217, -1, -1,
2240 -1, -1, -1, -1, -1, -1, -1, -1,
2241 -1, -1, -1, -1, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, -1, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, -1, -1, -1,
2245 -1, -1, -1, -1, -1, -1, -1, -1,
2246 -1, -1, -1, -1, -1, -1, -1, -1,
2247 -1, -1, -1, -1, -1, -1, -1, -1,
2248 -1, 222, -1, 257, 269, 281, 233, 245,
2249 218, -1, -1, 218, -1, 218, -1, -1,
2250 -1, -1, -1, -1, -1, -1, -1, -1,
2251 -1, -1, -1, -1, -1, -1, -1, -1,
2252 -1, -1, -1, -1, -1, -1, -1, -1,
2253 -1, -1, -1, -1, -1, -1, -1, -1,
2254 -1, -1, -1, -1, -1, -1, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1,
2256 -1, -1, -1, -1, -1, -1, -1, -1,
2257 -1, -1, -1, -1, -1, -1, -1, -1,
2258 -1, -1, -1, -1, -1, -1, -1, -1,
2259 -1, -1, -1, 218, -1, -1, -1, -1,
2260 218, -1, -1, -1, 218, -1, -1, -1,
2261 -1, -1, -1, -1, -1, -1, -1, -1,
2262 -1, -1, -1, -1, -1, -1, -1, -1,
2263 -1, -1, -1, -1, -1, -1, -1, -1,
2264 -1, -1, -1, -1, -1, -1, -1, -1,
2265 -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, -1,
2267 -1, -1, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, -1, -1, -1,
2269 220, -1, 253, 265, 277, 229, 241, 255,
2270 267, 279, 231, 243, 263, 275, 287, 239,
2271 251, 127, -1, -1, -1, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, -1, -1, -1,
2277 -1, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, -1, -1, -1, -1, -1, -1, -1,
2280 -1, -1, -1, -1, -1, -1, -1, -1,
2281 -1, -1, -1, -1, -1, -1, -1, -1,
2282 -1, 309, -1, -1, -1, -1, -1, -1,
2283 -1, -1, -1, -1, -1, -1, -1, -1,
2284 -1, -1, -1, -1, -1, -1, -1, -1,
2285 -1, -1, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, -1, -1, -1, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, -1,
2288 -1, -1, -1, -1, -1, -1, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, -1, -1, -1,
2291 -1, -1, -1, -1, -1, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, -1, -1,
2295 -1, -1, -1, -1, -1, -1, -1, -1,
2296 -1, -1, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, -1, -1,
2298 -1, -1, -1, -1, -1, -1, -1, -1,
2299 -1, -1, -1, -1, -1, -1, -1, -1,
2300 -1, 126, 17, -1, -1, -1, -1, -1,
2301 -1, -1, -1, -1, -1, -1, -1, -1,
2302 -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, -1, -1, -1,
2304 -1, -1, -1, -1, -1, -1, -1, -1,
2305 -1, -1, -1, -1, -1, -1, -1, -1,
2306 -1, -1, -1, -1, -1, -1, -1, -1,
2307 -1, -1, -1, -1, -1, -1, -1, -1,
2308 -1, -1, -1, -1, -1, -1, -1, -1,
2309 -1, -1, -1, -1, -1, -1, -1, -1,
2310 -1, -1, -1, -1, -1, -1, 323, -1,
2311 -1, 326, 328, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1,
2313 -1, -1, -1, -1, -1, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, -1, -1,
2315 -1, -1, -1, -1, -1, -1, -1, -1,
2316 -1, -1, -1, -1, -1, -1, -1, -1,
2317 -1, -1, -1, -1, -1, -1, -1, -1,
2318 -1, -1, -1, -1, -1, -1, -1, -1,
2319 -1, -1, -1, -1, -1, -1, -1, -1,
2320 -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1,
2323 -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, -1,
2325 -1, -1, -1, -1, -1, 325, -1, -1,
2326 -1, -1, -1, -1, -1, -1, -1, -1,
2327 -1, -1, -1, -1, -1, -1, -1, -1,
2328 -1, -1, -1, -1, -1, -1, -1, -1,
2329 -1, -1, -1, -1, -1, -1, 320, 55,
2330 -1, -1, -1, -1, -1, -1, 63, -1,
2331 131, -1, -1, 17, -1, -1, -1, -1,
2332 -1, -1, -1, -1, -1, -1, -1, -1,
2333 -1, -1, -1, -1, -1, -1, -1, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1,
2335 -1, -1, -1, -1, -1, -1, -1, -1,
2336 -1, -1, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, -1, 56, -1, -1, -1,
2338 -1, -1, -1, -1, -1, -1, -1, -1,
2339 -1, -1, -1, -1, -1, -1, -1, -1,
2340 -1, -1, -1, -1, -1, -1, -1, -1,
2341 -1, -1, -1, -1, -1, -1, 51, 57,
2342 -1, -1, 326, 328, -1, -1, -1, -1,
2343 -1, -1, -1, -1, -1, -1, -1, -1,
2344 -1, -1, -1, -1, -1, -1, -1, -1,
2345 -1, -1, -1, -1, -1, -1, -1, -1,
2346 -1, -1, -1, -1, -1, -1, -1, -1,
2347 -1, -1, -1, -1, -1, -1, -1, -1,
2348 -1, 61, 59, 60, -1, -1, -1, -1,
2349 -1, -1, -1, -1, -1, -1, -1, -1,
2350 -1, 4, -1, -1, -1, -1, -1, -1,
2351 -1, -1, -1, -1, -1, 158, -1, -1,
2352 -1, -1, -1, -1, -1, -1, -1, -1,
2353 -1, -1, -1, -1, -1, -1, -1, -1,
2354 -1, -1, -1, -1, 180, -1, 179, -1,
2355 -1, -1, -1, -1, -1, -1, -1, -1,
2356 -1, 160, 108, -1, 107, -1, 58, -1,
2357 -1, -1, 177, -1, -1, -1, 48, 191,
2358 49, 198, 52, -1, 53, -1, -1, -1,
2359 -1, -1, -1, -1, -1, -1, -1, 54,
2360 -1, -1, -1, 308, 312, -1, -1, 62,
2361 81, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, -1, -1, -1, -1, -1, 184,
2363 -1, -1, -1, -1, -1, -1, -1, -1,
2364 -1, -1, -1, -1, -1, -1, -1, -1,
2365 -1, -1, -1, -1, -1, -1, -1, -1,
2366 -1, -1, -1, -1, -1, -1, -1, -1,
2367 -1, -1, -1, -1, -1, -1, -1, -1,
2368 -1, -1, -1, -1, -1, -1, -1, -1,
2369 -1, -1, -1, -1, -1, -1, -1, -1,
2370 -1, -1, -1, -1, -1, -1, -1, 120,
2371 -1, -1, -1, -1, -1, -1, -1, -1,
2372 -1, -1, -1, -1, -1, -1, -1, 130,
2373 -1, -1, -1, -1, -1, -1, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1,
2375 -1, -1, -1, -1, -1, -1, -1, -1,
2376 -1, -1, -1, -1, -1, -1, -1, -1,
2377 -1, -1, -1, -1, -1, -1, -1, -1,
2378 -1, -1, -1, -1, -1, -1, -1, -1,
2379 -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1,
2381 -1, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, -1, -1, -1, -1, -1, -1, -1,
2384 -1, -1, -1, -1, -1, -1, -1, -1,
2385 -1, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, -1, -1, -1, -1,
2387 -1, 129, -1, 183, 165, -1, -1, -1,
2388 -1, -1, -1, -1, -1, -1, -1, -1,
2389 -1, -1, -1, -1, -1, -1, -1, -1,
2390 -1, -1, -1, -1, -1, -1, -1, -1,
2391 -1, -1, -1, -1, -1, -1, -1, -1,
2392 -1, -1, -1, -1, -1, -1, -1, -1,
2393 -1, -1, -1, -1, -1, -1, -1, -1,
2394 -1, -1, -1, -1, -1, -1, -1, -1,
2395 -1, -1, -1, -1, -1, -1, -1, -1,
2396 -1, -1, -1, -1, -1, -1, -1, -1,
2397 -1, -1, -1, -1, -1, -1, -1, -1,
2398 -1, -1, -1, -1, -1, -1, -1, -1,
2399 -1, -1, -1, -1, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, -1, -1,
2401 -1, -1, -1, -1, -1, -1, -1, -1,
2402 -1, 128, 387, -1, -1, -1, -1, -1,
2403 -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, -1, -1, -1, 387, -1, -1, -1,
2405 -1, -1, -1, -1, -1, -1, -1, -1,
2406 -1, -1, -1, -1, -1, -1, -1, -1,
2407 -1, -1, -1, -1, -1, -1, -1, -1,
2408 -1, -1, -1, -1, -1, -1, -1, -1,
2409 -1, -1, -1, -1, -1, -1, -1, -1,
2410 -1, -1, -1, -1, -1, -1, -1, -1,
2411 -1, -1, -1, -1, -1, -1, -1, -1,
2412 -1, -1, -1, -1, -1, -1, -1, -1,
2413 -1, -1, -1, -1, -1, -1, -1, -1,
2414 -1, -1, -1, -1, -1, -1, -1, 132,
2415 376, 377, 378, -1, 375, -1, -1, -1,
2416 -1, -1, -1, -1, -1, -1, -1, -1,
2417 -1, -1, -1, 356, -1, -1, -1, -1,
2418 -1, -1, -1, -1, -1, -1, -1, -1,
2419 -1, -1, -1, -1, -1, -1, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1,
2421 -1, -1, -1, -1, -1, -1, -1, -1,
2422 -1, -1, -1, -1, -1, -1, -1, -1,
2423 -1, -1, -1, -1, -1, -1, -1, -1,
2424 -1, -1, -1, -1, -1, -1, -1, -1,
2425 -1, -1, -1, -1, -1, -1, -1, -1,
2426 374, -1, -1, -1, 372, 373, -1, -1,
2427 -1, -1, -1, -1, -1, -1, 379, -1,
2428 -1, -1, -1, -1, -1, -1, -1, -1,
2429 -1, -1, -1, -1, -1, -1, -1, -1,
2430 -1, -1, -1, -1, -1, -1, -1, -1,
2431 -1, -1, -1, -1, -1, -1, -1, -1,
2432 -1, -1, -1, -1, -1, -1, -1, -1,
2433 -1, -1, -1, 368, 369, 370, 371, -1,
2434 -1, -1, -1, -1, -1, -1, -1, -1,
2435 -1, -1, -1, -1, -1, -1, -1, -1,
2436 -1, -1, -1, -1, -1, -1, 380, 381,
2437 -1, -1, -1, 382, 383, 30, -1, -1,
2438 -1, -1, -1, -1, -1, -1, -1, -1,
2439 -1, -1, -1, -1, -1, -1, -1, -1,
2440 -1, -1, -1, -1, -1, -1, -1, -1,
2441 -1, -1, -1, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, -1, -1, -1,
2443 -1, -1, -1, -1, -1, -1, -1, -1,
2444 -1, -1, -1, -1, -1, -1, -1, -1,
2445 -1, -1, -1, -1, -1, -1, -1, 365,
2446 -1, 367, -1, 363, 366, 376, 377, 378,
2447 -1, 375, -1, -1, -1, -1, -1, -1,
2448 -1, -1, -1, -1, -1, -1, -1, -1,
2449 360, -1, -1, -1, -1, -1, -1, -1,
2450 -1, -1, -1, -1, -1, -1, -1, -1,
2451 -1, -1, -1, -1, -1, -1, -1, -1,
2452 -1, -1, -1, -1, -1, -1, -1, -1,
2453 -1, -1, -1, -1, -1, -1, -1, -1,
2454 -1, -1, -1, -1, -1, -1, -1, -1,
2455 -1, -1, -1, -1, -1, -1, -1, -1,
2456 -1, -1, -1, -1, -1, -1, -1, -1,
2457 -1, -1, -1, -1, -1, 374, -1, -1,
2458 -1, 372, 373, -1, -1, -1, -1, -1,
2459 -1, -1, -1, 379, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, -1,
2461 -1, -1, -1, -1, -1, -1, -1, -1,
2462 -1, -1, -1, -1, -1, -1, -1, -1,
2463 -1, -1, -1, -1, -1, -1, -1, -1,
2464 -1, -1, -1, -1, -1, -1, -1, -1,
2465 368, 369, 370, 371, -1, -1, -1, -1,
2466 -1, -1, -1, -1, -1, -1, -1, -1,
2467 -1, -1, -1, -1, -1, -1, -1, -1,
2468 -1, -1, -1, 380, 381, -1, -1, -1,
2469 382, 383, 30, -1, -1, -1, -1, -1,
2470 -1, -1, -1, -1, -1, -1, -1, -1,
2471 -1, -1, -1, -1, -1, -1, -1, -1,
2472 -1, -1, -1, -1, -1, -1, -1, -1,
2473 -1, -1, -1, -1, -1, -1, -1, -1,
2474 -1, -1, -1, -1, -1, -1, -1, -1,
2475 -1, -1, -1, -1, -1, -1, -1, -1,
2476 -1, -1, -1, -1, -1, -1, -1, -1,
2477 -1, -1, -1, -1, 365, -1, 367, -1,
2478 363, 366, 376, 377, 378, -1, 375, -1,
2479 -1, -1, -1, -1, -1, -1, -1, -1,
2480 -1, -1, -1, -1, -1, 358, -1, -1,
2481 -1, -1, -1, -1, -1, -1, -1, -1,
2482 -1, -1, -1, -1, -1, -1, -1, -1,
2483 -1, -1, -1, -1, -1, -1, -1, -1,
2484 -1, -1, -1, -1, -1, -1, -1, -1,
2485 -1, -1, -1, -1, -1, -1, -1, -1,
2486 -1, -1, -1, -1, -1, -1, -1, -1,
2487 -1, -1, -1, -1, -1, -1, -1, -1,
2488 -1, -1, -1, -1, -1, -1, -1, -1,
2489 -1, -1, 374, -1, -1, -1, 372, 373,
2490 -1, -1, -1, -1, -1, -1, -1, -1,
2491 379, -1, -1, -1, -1, -1, -1, -1,
2492 -1, -1, -1, -1, -1, -1, -1, -1,
2493 -1, -1, -1, -1, -1, -1, -1, -1,
2494 -1, -1, -1, -1, -1, -1, -1, -1,
2495 -1, -1, -1, -1, -1, -1, -1, -1,
2496 -1, -1, -1, -1, -1, 368, 369, 370,
2497 371, -1, -1, -1, -1, -1, -1, -1,
2498 -1, -1, -1, -1, -1, -1, -1, -1,
2499 -1, -1, -1, -1, -1, -1, -1, -1,
2500 380, 381, -1, -1, -1, 382, 383, 30,
2501 -1, -1, -1, -1, -1, -1, -1, -1,
2502 -1, -1, -1, -1, -1, -1, -1, -1,
2503 -1, -1, -1, -1, -1, -1, -1, -1,
2504 -1, -1, -1, -1, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, -1, -1,
2506 -1, -1, -1, -1, -1, -1, -1, -1,
2507 -1, -1, -1, -1, -1, -1, -1, -1,
2508 -1, -1, -1, -1, -1, -1, -1, -1,
2509 -1, 365, -1, 367, -1, 363, 366, 332,
2510 332, 332, -1, 332, 331, -1, 332, 338,
2511 -1, -1, -1, 338, -1, -1, -1, -1,
2512 -1, -1, -1, -1, -1, -1, -1, -1,
2513 -1, -1, -1, -1, -1, -1, -1, -1,
2514 -1, -1, -1, -1, -1, -1, -1, -1,
2515 -1, -1, -1, -1, -1, -1, -1, -1,
2516 -1, -1, -1, -1, -1, -1, -1, -1,
2517 -1, -1, -1, -1, -1, -1, -1, -1,
2518 -1, -1, -1, -1, -1, -1, -1, -1,
2519 -1, -1, -1, -1, -1, -1, -1, -1,
2520 -1, -1, -1, -1, -1, -1, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, -1,
2522 -1, -1, -1, -1, -1, -1, -1, -1,
2523 133, 338, -1, -1, -1, 338, -1, -1,
2524 -1, -1, -1, -1, -1, -1, -1, -1,
2525 -1, -1, -1, -1, -1, -1, -1, -1,
2526 -1, -1, -1, -1, -1, -1, -1, -1,
2527 -1, -1, -1, -1, -1, -1, -1, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, -1, -1, -1, -1, -1, -1,
2531 -1, -1, -1, -1, -1, -1, -1, -1,
2532 -1, -1, -1, -1, -1, -1, -1, -1,
2533 -1, -1, -1, -1, -1, -1, -1, -1,
2534 -1, -1, -1, -1, -1, -1, -1, -1,
2535 -1, -1, 134, 339, -1, -1, 135, 339,
2536 83, -1, -1, 185, -1, -1, 185, 84,
2537 -1, -1, -1, -1, -1, -1, -1, -1,
2538 -1, -1, -1, -1, -1, 185, -1, -1,
2539 -1, -1, -1, -1, -1, -1, -1, -1,
2540 -1, -1, -1, -1, -1, -1, -1, -1,
2541 -1, -1, -1, -1, -1, -1, -1, -1,
2542 -1, -1, -1, -1, -1, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1,
2544 -1, -1, -1, -1, -1, -1, -1, -1,
2545 -1, -1, -1, -1, -1, -1, -1, -1,
2546 -1, -1, -1, -1, -1, 185, 82, -1,
2547 -1, -1, -1, -1, -1, -1, -1, -1,
2548 -1, -1, -1, -1, -1, 185, -1, -1,
2549 -1, -1, 85, 391, -1, -1, -1, -1,
2550 -1, -1, -1, -1, -1, -1, -1, -1,
2551 -1, -1, -1, -1, -1, -1, -1, -1,
2552 -1, -1, -1, -1, -1, -1, -1, -1,
2553 -1, -1, -1, -1, -1, -1, -1, -1,
2554 -1, -1, -1, -1, -1, -1, -1, -1,
2555 -1, -1, -1, -1, -1, -1, -1, -1,
2556 -1, -1, -1, -1, -1, -1, -1, -1,
2557 -1, -1, -1, -1, -1, -1, -1, -1,
2558 -1, -1, -1, -1, -1, -1, -1, -1,
2559 -1, -1, -1, -1, -1, -1, -1, -1,
2560 -1, -1, -1, -1, -1, -1, -1, -1,
2561 -1, -1, -1, -1, -1, -1, -1, -1,
2562 -1, -1, -1, -1, -1, -1, -1, -1,
2563 -1, -1, -1, -1, -1, -1, -1, -1,
2564 -1, -1, -1, -1, -1, -1, -1, -1,
2565 -1, -1, -1, -1, -1, -1, -1, -1,
2566 -1, -1, -1, -1, -1, -1, -1, -1,
2567 -1, -1, -1, -1, -1, -1, -1, -1,
2568 -1, -1, -1, -1, -1, -1, -1, -1,
2569 -1, -1, -1, -1, -1, -1, -1, -1,
2570 -1, 136, 139, -1, -1, -1, -1, -1,
2571 -1, -1, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1,
2573 -1, -1, -1, -1, -1, -1, -1, -1,
2574 -1, -1, -1, -1, -1, -1, -1, -1,
2575 -1, -1, -1, -1, -1, -1, -1, -1,
2576 -1, -1, -1, -1, -1, -1, -1, -1,
2577 -1, -1, -1, -1, -1, -1, -1, -1,
2578 -1, -1, -1, -1, -1, -1, -1, -1,
2579 -1, -1, -1, -1, -1, -1, -1, -1,
2580 -1, -1, -1, -1, -1, -1, -1, -1,
2581 -1, -1, -1, -1, -1, -1, -1, -1,
2582 -1, -1, -1, -1, -1, -1, -1, -1,
2583 -1, -1, -1, -1, -1, -1, -1, -1,
2584 -1, -1, -1, -1, -1, -1, -1, -1,
2585 -1, -1, -1, -1, -1, -1, -1, -1,
2586 -1, -1, -1, -1, -1, -1, -1, -1,
2587 -1, -1, -1, 137, -1, -1, -1, -1,
2588 -1, -1, -1, -1, 138, 342, 342, 342,
2589 -1, 342, -1, -1, -1, -1, -1, -1,
2590 -1, -1, -1, -1, -1, -1, -1, -1,
2591 342, -1, -1, -1, -1, -1, -1, -1,
2592 -1, -1, -1, -1, -1, -1, -1, -1,
2593 -1, -1, -1, -1, -1, -1, -1, -1,
2594 -1, -1, -1, -1, -1, -1, -1, -1,
2595 -1, -1, -1, -1, -1, -1, -1, -1,
2596 -1, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, -1, -1, -1, -1, -1, -1,
2598 -1, -1, -1, -1, -1, -1, -1, -1,
2599 -1, -1, 342, -1, -1, 342, -1, -1,
2600 -1, 342, 342, -1, -1, -1, -1, -1,
2601 -1, -1, -1, 342, -1, -1, -1, -1,
2602 -1, -1, -1, -1, -1, -1, -1, -1,
2603 -1, -1, -1, -1, -1, -1, -1, -1,
2604 -1, -1, -1, -1, -1, -1, -1, -1,
2605 -1, -1, -1, -1, -1, -1, -1, -1,
2606 -1, -1, -1, -1, -1, -1, -1, -1,
2607 342, 342, 342, 342, -1, -1, -1, -1,
2608 -1, -1, -1, -1, -1, -1, -1, -1,
2609 -1, -1, -1, -1, -1, -1, -1, -1,
2610 342, 342, 342, 342, 342, 342, 342, 342,
2611 342, 342, 342, 342, -1, -1, -1, -1,
2612 -1, -1, -1, -1, -1, -1, -1, -1,
2613 -1, -1, -1, -1, -1, -1, -1, 140,
2614 297, 298, 124, -1, -1, -1, -1, -1,
2615 -1, -1, -1, -1, -1, -1, -1, -1,
2616 -1, -1, -1, -1, -1, -1, -1, -1,
2617 -1, -1, -1, -1, -1, -1, -1, -1,
2618 -1, -1, -1, -1, -1, -1, -1, -1,
2619 -1, -1, -1, -1, -1, -1, -1, -1,
2620 -1, -1, -1, -1, -1, -1, -1, -1,
2621 -1, -1, -1, -1, -1, -1, -1, -1,
2622 -1, -1, -1, -1, -1, -1, -1, -1,
2623 -1, -1, -1, -1, -1, -1, -1, -1,
2624 -1, -1, -1, -1, -1, 120, -1, -1,
2625 -1, -1, 292, -1, -1, -1, -1, -1,
2626 -1, -1, -1, -1, -1, -1, -1, -1,
2627 -1, -1, -1, -1, -1, -1, -1, -1,
2628 -1, -1, -1, -1, -1, -1, -1, -1,
2629 -1, -1, -1, -1, -1, -1, -1, -1,
2630 -1, -1, -1, -1, -1, -1, -1, -1,
2631 -1, -1, -1, -1, -1, -1, -1, -1,
2632 -1, -1, -1, -1, -1, -1, -1, -1,
2633 -1, -1, -1, -1, -1, -1, -1, -1,
2634 -1, -1, -1, -1, -1, -1, -1, -1,
2635 -1, -1, -1, -1, -1, -1, -1, -1,
2636 -1, -1, -1, -1, -1, -1, -1, -1,
2637 -1, -1, -1, -1, -1, -1, -1, -1,
2638 -1, -1, -1, -1, -1, -1, -1, -1,
2639 -1, -1, -1, -1, -1, -1, -1, -1,
2640 -1, -1, -1, -1, -1, -1, -1, -1,
2641 207, 290, -1, -1, -1, -1, -1, -1,
2642 -1, -1, -1, -1, -1, -1, -1, -1,
2643 -1, -1, -1, -1, 288, 292, -1, -1,
2644 -1, -1, -1, -1, -1, -1, -1, -1,
2645 -1, -1, -1, -1, -1, -1, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1,
2647 -1, -1, -1, -1, -1, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, -1, -1,
2649 -1, -1, -1, -1, -1, -1, -1, -1,
2650 -1, -1, -1, -1, -1, -1, -1, -1,
2651 -1, -1, -1, -1, -1, -1, -1, -1,
2652 -1, -1, -1, -1, -1, -1, -1, -1,
2653 -1, -1, -1, -1, -1, -1, -1, -1,
2654 -1, -1, -1, -1, -1, -1, -1, -1,
2655 -1, -1, -1, -1, -1, -1, -1, -1,
2656 -1, -1, -1, -1, -1, -1, -1, -1,
2657 -1, -1, -1, -1, -1, -1, -1, -1,
2658 -1, -1, -1, -1, -1, -1, -1, -1,
2659 -1, -1, -1, -1, -1, -1, -1, -1,
2660 -1, -1, -1, -1, -1, -1, -1, -1,
2661 -1, -1, -1, -1, -1, -1, -1, 138,
2662 142, -1, -1, -1, -1, -1, -1, -1,
2663 -1, -1, -1, -1, -1, -1, -1, -1,
2664 -1, -1, -1, -1, -1, -1, -1, -1,
2665 -1, -1, -1, -1, -1, -1, -1, -1,
2666 -1, -1, -1, -1, -1, -1, -1, -1,
2667 -1, -1, -1, -1, -1, -1, -1, -1,
2668 -1, -1, -1, -1, -1, -1, -1, -1,
2669 -1, -1, -1, -1, -1, -1, -1, -1,
2670 -1, -1, -1, -1, -1, -1, -1, -1,
2671 -1, -1, -1, -1, -1, -1, -1, -1,
2672 -1, -1, -1, -1, -1, -1, -1, -1,
2673 -1, -1, -1, -1, -1, -1, -1, -1,
2674 -1, -1, -1, -1, -1, -1, -1, -1,
2675 -1, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, -1, -1, -1, -1, -1, -1,
2677 -1, -1, -1, -1, -1, -1, -1, -1,
2678 -1, -1, -1, -1, -1, -1, -1, -1,
2679 -1, -1, -1, -1, -1, -1, -1, -1,
2680 141, -1, 138, 144, -1, -1, -1, -1,
2681 -1, -1, -1, -1, -1, -1, -1, -1,
2682 -1, -1, -1, -1, -1, -1, -1, -1,
2683 -1, -1, -1, -1, -1, -1, -1, -1,
2684 -1, -1, -1, -1, -1, -1, -1, -1,
2685 -1, -1, -1, -1, -1, -1, -1, -1,
2686 -1, -1, -1, -1, -1, -1, -1, -1,
2687 -1, -1, -1, -1, -1, -1, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1,
2689 -1, -1, -1, -1, -1, -1, -1, -1,
2690 -1, -1, -1, -1, 304, 309, -1, -1,
2691 -1, -1, -1, -1, -1, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, -1,
2693 -1, -1, -1, -1, -1, -1, -1, -1,
2694 -1, -1, -1, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, -1, -1,
2696 -1, -1, -1, -1, -1, -1, -1, -1,
2697 -1, -1, -1, -1, -1, -1, -1, -1,
2698 -1, -1, -1, -1, -1, -1, -1, -1,
2699 -1, -1, -1, -1, -1, -1, -1, -1,
2700 -1, -1, -1, -1, -1, -1, -1, -1,
2701 -1, -1, -1, -1, -1, -1, -1, -1,
2702 -1, -1, -1, -1, -1, -1, -1, -1,
2703 -1, -1, -1, -1, -1, -1, -1, -1,
2704 -1, -1, -1, -1, -1, -1, -1, -1,
2705 -1, -1, -1, -1, -1, -1, -1, -1,
2706 -1, -1, -1, -1, -1, -1, -1, -1,
2707 -1, -1, -1, -1, -1, -1, -1, -1,
2708 -1, -1, -1, -1, -1, 143, 35, 181,
2709 124, -1, -1, -1, -1, -1, -1, -1,
2710 -1, -1, -1, -1, -1, -1, -1, -1,
2711 -1, -1, -1, -1, -1, -1, -1, -1,
2712 -1, -1, -1, -1, -1, -1, -1, -1,
2713 -1, -1, -1, -1, -1, -1, -1, -1,
2714 -1, -1, -1, -1, -1, -1, -1, -1,
2715 -1, -1, -1, -1, -1, -1, -1, -1,
2716 -1, -1, -1, -1, -1, -1, -1, -1,
2717 -1, -1, -1, -1, -1, -1, -1, -1,
2718 -1, -1, -1, -1, -1, -1, -1, -1,
2719 -1, -1, -1, 120, -1, -1, -1, -1,
2720 292, -1, -1, -1, -1, -1, -1, -1,
2721 -1, -1, -1, -1, -1, -1, -1, -1,
2722 -1, -1, -1, -1, -1, -1, -1, -1,
2723 -1, -1, -1, -1, -1, -1, -1, -1,
2724 -1, -1, -1, -1, -1, -1, -1, -1,
2725 -1, -1, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, -1, -1, -1, -1,
2727 -1, -1, -1, -1, -1, -1, -1, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, -1,
2731 -1, -1, -1, -1, -1, -1, -1, -1,
2732 -1, -1, -1, -1, -1, -1, -1, -1,
2733 -1, -1, -1, -1, -1, -1, -1, -1,
2734 -1, -1, -1, -1, -1, -1, -1, -1,
2735 -1, -1, -1, -1, -1, -1, 182, 290,
2736 -1, -1, -1, -1, -1, -1, -1, -1,
2737 -1, -1, -1, -1, -1, -1, -1, -1,
2738 -1, -1, 288, 176, 390, 333, -1, -1,
2739 -1, 116, -1, -1, -1, -1, -1, -1,
2740 -1, -1, -1, -1, -1, -1, -1, -1,
2741 -1, -1, -1, -1, -1, -1, -1, -1,
2742 -1, -1, -1, -1, -1, -1, -1, -1,
2743 -1, -1, -1, -1, -1, -1, -1, -1,
2744 -1, -1, -1, -1, -1, -1, -1, -1,
2745 -1, -1, -1, -1, -1, -1, -1, -1,
2746 -1, -1, -1, -1, -1, -1, -1, -1,
2747 -1, -1, -1, -1, -1, -1, -1, -1,
2748 -1, -1, -1, -1, -1, -1, -1, -1,
2749 -1, -1, -1, -1, -1, -1, -1, -1,
2750 -1, -1, -1, -1, -1, -1, -1, -1,
2751 -1, -1, -1, 337, 334, -1, -1, -1,
2752 116, -1, -1, -1, -1, -1, -1, -1,
2753 -1, -1, -1, -1, -1, -1, -1, -1,
2754 -1, -1, -1, -1, -1, -1, -1, -1,
2755 -1, -1, -1, -1, -1, -1, -1, -1,
2756 -1, -1, -1, -1, -1, -1, -1, -1,
2757 -1, -1, -1, -1, -1, -1, -1, -1,
2758 -1, -1, -1, -1, -1, -1, -1, -1,
2759 -1, -1, -1, -1, -1, -1, -1, -1,
2760 -1, -1, -1, -1, -1, -1, -1, -1,
2761 -1, -1, -1, -1, -1, -1, -1, -1,
2762 -1, -1, -1, -1, -1, -1, -1, -1,
2763 -1, -1, -1, -1, -1, -1, -1, -1,
2764 -1, -1, 337, 340, 385, -1, -1, -1,
2765 -1, 385, -1, 385, 385, -1, -1, 385,
2766 385, 385, -1, -1, -1, -1, -1, -1,
2767 -1, -1, -1, -1, -1, -1, 385, -1,
2768 -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, -1, -1, -1, -1,
2770 -1, -1, -1, -1, -1, -1, -1, -1,
2771 -1, -1, -1, -1, -1, -1, -1, -1,
2772 -1, 385, -1, -1, -1, -1, -1, -1,
2773 -1, -1, -1, -1, -1, -1, -1, -1,
2774 -1, -1, -1, -1, -1, -1, -1, -1,
2775 -1, -1, -1, -1, -1, -1, 385, 385,
2776 -1, -1, -1, 385, 385, -1, -1, 385,
2777 385, -1, 385, 385, 385, 385, 385, -1,
2778 -1, 132, -1, 385, -1, -1, -1, -1,
2779 -1, -1, -1, -1, -1, -1, -1, -1,
2780 -1, -1, -1, -1, -1, -1, -1, -1,
2781 -1, -1, -1, -1, -1, -1, -1, -1,
2782 -1, -1, -1, -1, -1, -1, 385, 385,
2783 385, 145, 289, 291, -1, -1, 294, 348,
2784 349, 350, -1, 346, -1, -1, -1, -1,
2785 -1, -1, -1, -1, -1, -1, -1, -1,
2786 -1, -1, 347, -1, -1, -1, -1, -1,
2787 -1, -1, -1, -1, -1, -1, -1, -1,
2788 -1, -1, -1, -1, -1, -1, -1, -1,
2789 -1, -1, -1, -1, -1, -1, -1, -1,
2790 -1, -1, -1, -1, -1, -1, -1, -1,
2791 -1, -1, -1, -1, -1, -1, -1, -1,
2792 -1, -1, -1, -1, -1, -1, -1, -1,
2793 -1, -1, -1, -1, -1, -1, -1, -1,
2794 -1, -1, -1, -1, 293, -1, -1, 374,
2795 -1, -1, -1, 372, 373, -1, -1, -1,
2796 -1, -1, -1, -1, -1, 351, -1, -1,
2797 -1, -1, -1, -1, -1, -1, -1, -1,
2798 -1, -1, -1, -1, -1, -1, -1, -1,
2799 -1, -1, -1, -1, -1, -1, -1, -1,
2800 -1, -1, -1, -1, -1, -1, -1, -1,
2801 -1, -1, -1, -1, -1, -1, -1, -1,
2802 -1, -1, 368, 369, 370, 371, -1, -1,
2803 -1, -1, -1, -1, -1, -1, -1, -1,
2804 -1, -1, -1, -1, -1, -1, -1, -1,
2805 -1, -1, 45, 40, 39, 380, 381, 41,
2806 43, 44, 382, 383, 30, 42, -1, -1,
2807 -1, -1, -1, -1, -1, -1, -1, -1,
2808 -1, -1, -1, -1, -1, -1, -1, -1,
2809 -1, -1, -1, -1, -1, -1, -1, -1,
2810 -1, -1, -1, -1, -1, -1, -1, -1,
2811 -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, -1, -1, -1, -1,
2813 -1, -1, -1, -1, -1, -1, -1, -1,
2814 -1, -1, -1, -1, 341, 345, 343, 344,
2815 352, 146, 291, -1, -1, 299, 305, 306,
2816 -1, -1, -1, -1, -1, -1, 309, -1,
2817 -1, -1, -1, -1, -1, -1, -1, -1,
2818 -1, -1, -1, -1, -1, -1, -1, -1,
2819 -1, -1, -1, -1, -1, -1, -1, -1,
2820 -1, -1, -1, -1, -1, -1, -1, -1,
2821 -1, -1, -1, -1, -1, -1, -1, -1,
2822 -1, -1, -1, -1, -1, -1, -1, -1,
2823 -1, -1, -1, -1, -1, -1, -1, -1,
2824 -1, -1, -1, -1, -1, -1, -1, -1,
2825 -1, -1, -1, -1, -1, -1, -1, -1,
2826 -1, -1, -1, -1, -1, -1, -1, -1,
2827 -1, -1, -1, -1, -1, -1, -1, -1,
2828 -1, -1, -1, -1, -1, -1, -1, -1,
2829 -1, -1, -1, -1, -1, -1, -1, -1,
2830 -1, -1, -1, -1, -1, -1, -1, -1,
2831 -1, -1, -1, -1, -1, -1, -1, -1,
2832 -1, -1, -1, -1, -1, -1, -1, -1,
2833 -1, -1, -1, -1, -1, -1, -1, -1,
2834 -1, -1, -1, -1, -1, -1, 147, 121,
2835 -1, 122, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1,
2837 -1, -1, -1, -1, -1, -1, -1, -1,
2838 -1, -1, -1, -1, -1, -1, -1, -1,
2839 -1, -1, -1, -1, -1, -1, -1, -1,
2840 -1, -1, -1, -1, -1, -1, -1, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1,
2842 -1, -1, -1, -1, -1, -1, -1, -1,
2843 -1, -1, -1, -1, -1, -1, -1, -1,
2844 -1, -1, -1, -1, -1, -1, -1, -1,
2845 -1, -1, -1, -1, -1, -1, -1, -1,
2846 296, -1, -1, -1, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, -1,
2848 -1, -1, -1, -1, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, -1, -1,
2850 -1, -1, -1, -1, -1, -1, -1, -1,
2851 -1, -1, -1, -1, -1, -1, -1, -1,
2852 -1, -1, -1, -1, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, -1, -1,
2854 -1, -1, -1, -1, -1, -1, -1, -1,
2855 -1, -1, -1, -1, -1, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1,
2860 -1, -1, -1, -1, -1, -1, -1, -1,
2861 -1, -1, -1, -1, -1, -1, -1, -1,
2862 -1, -1, -1, -1, 148, -1, -1, -1,
2863 -1, -1, -1, -1, -1, -1, -1, 295,
2864 124, -1, -1, -1, -1, -1, -1, -1,
2865 -1, -1, -1, -1, -1, -1, -1, -1,
2866 -1, -1, -1, -1, -1, -1, -1, -1,
2867 -1, -1, -1, -1, -1, -1, -1, -1,
2868 -1, -1, -1, -1, -1, -1, -1, -1,
2869 -1, -1, -1, -1, -1, -1, -1, -1,
2870 -1, -1, -1, -1, -1, -1, -1, -1,
2871 -1, -1, -1, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, -1, -1, -1, -1,
2873 -1, -1, -1, -1, -1, -1, -1, -1,
2874 -1, -1, -1, 120, -1, -1, -1, -1,
2875 292, -1, -1, -1, -1, -1, -1, -1,
2876 -1, -1, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, -1, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, -1, -1,
2879 -1, -1, -1, -1, -1, -1, -1, -1,
2880 -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, -1, -1, -1, -1, -1, -1, -1,
2882 -1, -1, -1, -1, -1, -1, -1, -1,
2883 -1, -1, -1, -1, -1, -1, -1, -1,
2884 -1, -1, -1, -1, -1, -1, -1, -1,
2885 -1, -1, -1, -1, -1, -1, -1, -1,
2886 -1, -1, -1, -1, -1, -1, -1, -1,
2887 -1, -1, -1, -1, -1, -1, -1, -1,
2888 -1, -1, -1, -1, -1, -1, -1, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, 149, 290,
2891 -1, -1, -1, -1, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, -1, -1, -1,
2893 -1, -1, 288, 307, 205, 213,
2894 };
2895
2896 unsigned short Parser_keys[] = {
2897 128, 227, 225, 225, 128, 228, 128, 244,
2898 128, 245, 128, 128, 128, 128, 45, 248,
2899 40, 249, 40, 249, 128, 250, 123, 128,
2900 123, 123, 123, 123, 128, 128, 123, 123,
2901 59, 128, 45, 248, 132, 132, 40, 292,
2902 40, 242, 40, 242, 59, 59, 128, 187,
2903 40, 292, 125, 228, 61, 141, 40, 242,
2904 59, 59, 59, 59, 40, 40, 40, 289,
2905 40, 289, 40, 249, 125, 244, 33, 281,
2906 33, 281, 40, 289, 128, 295, 59, 59,
2907 40, 249, 42, 295, 42, 295, 42, 295,
2908 59, 59, 59, 59, 40, 292, 44, 59,
2909 38, 144, 33, 281, 33, 201, 33, 181,
2910 33, 271, 33, 201, 33, 281, 33, 281,
2911 33, 201, 33, 201, 182, 279, 182, 279,
2912 179, 280, 134, 134, 33, 281, 59, 59,
2913 44, 59, 33, 281, 41, 41, 128, 294,
2914 40, 292, 59, 59, 40, 249, 59, 59,
2915 40, 249, 59, 59, 40, 249, 41, 44,
2916 33, 281, 179, 283, 182, 284, 182, 284,
2917 33, 281, 33, 281, 33, 281, 33, 281,
2918 33, 281, 33, 281, 33, 281, 33, 281,
2919 33, 281, 128, 293, 40, 275, 33, 274,
2920 40, 274, 40, 274, 40, 274, 40, 274,
2921 40, 274, 40, 206, 40, 206, 40, 206,
2922 40, 206, 202, 206, 202, 206, 44, 276,
2923 45, 281, 33, 281, 44, 255, 128, 245,
2924 41, 142, 40, 292, 40, 292, 40, 292,
2925 179, 186, 182, 279, 182, 279, 182, 186,
2926 38, 144, 128, 294, 128, 274, 40, 242,
2927 132, 132, 132, 132, 40, 274, 128, 274,
2928 128, 274, 44, 125, 132, 276, 61, 61,
2929 59, 59, 40, 274, 124, 124, 128, 128,
2930 182, 284, 182, 284, 186, 186, 33, 181,
2931 44, 44, 41, 41, 41, 44, 40, 289,
2932 44, 44, 41, 44, 125, 125, 125, 276,
2933 43, 275, 40, 274, 125, 125, 41, 41,
2934 41, 41, 0, 0
2935 };
2936
2937 unsigned int Parser_offsets[] = {
2938 0, 100, 101, 202, 319, 437, 438, 439,
2939 643, 853, 1063, 1186, 1192, 1193, 1194, 1195,
2940 1196, 1266, 1470, 1471, 1724, 1927, 2130, 2131,
2941 2191, 2444, 2548, 2629, 2832, 2833, 2834, 2835,
2942 3085, 3335, 3545, 3665, 3914, 4163, 4413, 4581,
2943 4582, 4792, 5046, 5300, 5554, 5555, 5556, 5809,
2944 5825, 5932, 6181, 6350, 6499, 6738, 6907, 7156,
2945 7405, 7574, 7743, 7841, 7939, 8041, 8042, 8291,
2946 8292, 8308, 8557, 8558, 8725, 8978, 8979, 9189,
2947 9190, 9400, 9401, 9611, 9615, 9864, 9969, 10072,
2948 10175, 10424, 10673, 10922, 11171, 11420, 11669, 11918,
2949 12167, 12416, 12582, 12818, 13060, 13295, 13530, 13765,
2950 14000, 14235, 14402, 14569, 14736, 14903, 14908, 14913,
2951 15146, 15383, 15632, 15844, 15962, 16064, 16317, 16570,
2952 16823, 16831, 16929, 17027, 17032, 17139, 17306, 17453,
2953 17656, 17657, 17658, 17893, 18040, 18187, 18269, 18414,
2954 18415, 18416, 18651, 18652, 18653, 18756, 18859, 18860,
2955 19009, 19010, 19011, 19015, 19265, 19266, 19270, 19271,
2956 19423, 19656, 19891, 19892, 19893, 19894
2957 };
2958
2959 unsigned short Parser_targs[] = {
2960 1, 2, 3, 4, 5, 6, 7, 8,
2961 9, 10, 11, 12, 13, 14, 15, 16,
2962 17, 18, 18, 19, 20, 21, 22, 23,
2963 24, 25, 26, 27, 28, 29, 30, 31,
2964 32, 33, 34, 35, 36, 37, 38, 39,
2965 40, 41, 42, 43, 44, 45, 46, 47,
2966 48, 49, 50, 50, 51, 52, 53, 54,
2967 55, 56, 57, 58, 59, 60, 61, 62,
2968 63, 64, 65, 66, 67, 68, 69, 70,
2969 71, 72, 73, 74, 75, 76, 77, 78,
2970 79, 80, 81, 82, 83, 84, 85, 86,
2971 87, 88, 89, 90, 91, 92, 93, 94,
2972 95, 96, 97, 98, 99, 100, 101, 102,
2973 103, 104, 105, 106, 107, 108, 109, 110,
2974 111, 112, 113, 114, 115, 116, 117, 118,
2975 119, 120, 121, 122, 123, 124, 125, 126,
2976 127, 128, 129, 130, 131, 132, 133, 134,
2977 135, 136, 137, 138, 139, 140, 141, 142,
2978 143, 144, 145, 146, 147, 148, 149, 149,
2979 149, 149, 149, 149, 149, 149, 149, 149,
2980 149, 149, 149, 149, 149, 149, 149, 149,
2981 149, 149, 149, 149, 149, 149, 149, 149,
2982 149, 149, 149, 149, 149, 149, 149, 149,
2983 149, 149, 149, 149, 149, 149, 149, 149,
2984 149, 149, 149, 149, 149, 149, 149, 149,
2985 149, 149, 149, 149, 149, 149, 149, 149,
2986 149, 149, 149, 149, 149, 149, 149, 149,
2987 149, 149, 149, 149, 149, 149, 149, 149,
2988 149, 149, 149, 149, 149, 149, 149, 149,
2989 149, 149, 149, 149, 149, 149, 149, 149,
2990 149, 149, 149, 149, 149, 149, 149, 149,
2991 149, 149, 149, 149, 149, 149, 149, 149,
2992 149, 149, 149, 149, 149, 149, 149, 149,
2993 149, 149, 149, 149, 149, 149, 149, 149,
2994 149, 149, 149, 149, 149, 149, 149, 149,
2995 149, 149, 149, 149, 149, 149, 149, 149,
2996 149, 149, 149, 149, 149, 149, 149, 149,
2997 149, 149, 149, 149, 149, 149, 149, 149,
2998 149, 149, 149, 149, 149, 149, 149, 149,
2999 149, 149, 149, 149, 149, 149, 149, 149,
3000 149, 149, 149, 149, 149, 149, 149, 149,
3001 149, 149, 149, 149, 149, 149, 149, 149,
3002 149, 149, 149, 149, 149, 149, 149, 149,
3003 149, 149, 149, 149, 149, 149, 149, 149,
3004 149, 149, 149, 149, 149, 149, 149, 149,
3005 149, 149, 149, 149, 149, 149, 149, 149,
3006 149, 149, 149, 149, 149, 149, 149, 149,
3007 149, 149, 149, 149, 149, 149, 149, 149,
3008 149, 149, 149, 149, 149, 149, 149, 149,
3009 149, 149, 149, 149, 149, 149, 149, 149,
3010 149, 149, 149, 149, 149
3011 };
3012
3013 unsigned int Parser_actInds[] = {
3014 0, 2, 4, 6, 8, 10, 12, 14,
3015 16, 18, 20, 22, 24, 26, 28, 30,
3016 32, 34, 36, 39, 41, 43, 45, 47,
3017 49, 51, 53, 55, 57, 59, 61, 63,
3018 65, 67, 69, 71, 73, 75, 77, 79,
3019 81, 83, 85, 87, 89, 91, 93, 95,
3020 97, 99, 101, 103, 106, 108, 110, 112,
3021 114, 116, 118, 120, 122, 124, 126, 128,
3022 130, 132, 134, 136, 138, 140, 142, 144,
3023 146, 148, 150, 152, 154, 156, 158, 160,
3024 162, 164, 166, 168, 170, 172, 174, 176,
3025 178, 180, 182, 184, 186, 188, 190, 192,
3026 194, 196, 198, 200, 202, 204, 206, 208,
3027 210, 213, 215, 217, 219, 221, 223, 225,
3028 227, 229, 231, 233, 235, 237, 239, 241,
3029 243, 245, 247, 249, 251, 253, 255, 257,
3030 259, 261, 263, 265, 267, 269, 271, 273,
3031 275, 277, 279, 281, 283, 285, 287, 289,
3032 291, 293, 295, 297, 299, 301, 303, 305,
3033 307, 309, 311, 313, 315, 317, 319, 321,
3034 323, 325, 327, 329, 331, 333, 335, 337,
3035 339, 341, 343, 345, 347, 349, 351, 353,
3036 355, 357, 359, 361, 363, 365, 367, 369,
3037 371, 373, 375, 377, 379, 381, 383, 385,
3038 387, 389, 391, 393, 395, 397, 399, 401,
3039 403, 405, 407, 409, 411, 413, 415, 417,
3040 419, 421, 423, 425, 427, 429, 431, 433,
3041 435, 437, 439, 441, 443, 445, 447, 449,
3042 451, 453, 455, 457, 459, 461, 463, 465,
3043 467, 469, 471, 473, 475, 477, 479, 481,
3044 483, 485, 487, 489, 491, 493, 495, 497,
3045 499, 501, 503, 505, 507, 509, 511, 513,
3046 515, 517, 519, 521, 523, 525, 527, 529,
3047 531, 533, 535, 537, 539, 541, 543, 545,
3048 547, 549, 551, 553, 555, 557, 559, 561,
3049 563, 565, 567, 569, 571, 573, 575, 577,
3050 579, 581, 583, 585, 587, 589, 591, 593,
3051 595, 597, 599, 601, 603, 605, 607, 609,
3052 611, 613, 615, 617, 619, 621, 623, 625,
3053 627, 629, 631, 633, 635, 637, 639, 641,
3054 643, 645, 647, 649, 651, 653, 655, 657,
3055 659, 661, 663, 665, 667, 669, 671, 673,
3056 675, 677, 679, 681, 683, 685, 687, 689,
3057 691, 693, 695, 697, 699, 701, 703, 705,
3058 707, 709, 711, 713, 715, 717, 719, 721,
3059 723, 725, 727, 729, 731, 733, 735, 737,
3060 739, 741, 743, 745, 747, 749, 751, 753,
3061 755, 757, 759, 761, 763, 765, 767, 769,
3062 771, 773, 775, 777, 779, 781, 783, 785,
3063 787, 789, 791, 793, 795, 797, 799, 801,
3064 803, 805, 807, 809, 811
3065 };
3066
3067 unsigned int Parser_actions[] = {
3068 1, 0, 1, 0, 1, 0, 1, 0,
3069 1, 0, 1, 0, 1, 0, 1, 0,
3070 1, 0, 1, 0, 1, 0, 1, 0,
3071 1, 0, 1, 0, 1, 0, 1, 0,
3072 1, 0, 1, 0, 214, 1, 0, 1,
3073 0, 1, 0, 1, 0, 1, 0, 1,
3074 0, 1, 0, 1, 0, 1, 0, 1,
3075 0, 1, 0, 1, 0, 1, 0, 1,
3076 0, 1, 0, 1, 0, 1, 0, 1,
3077 0, 1, 0, 1, 0, 1, 0, 1,
3078 0, 1, 0, 1, 0, 1, 0, 1,
3079 0, 1, 0, 1, 0, 1, 0, 1,
3080 0, 1, 0, 1, 0, 1, 0, 90,
3081 1, 0, 1, 0, 1, 0, 1, 0,
3082 1, 0, 1, 0, 1, 0, 1, 0,
3083 1, 0, 1, 0, 1, 0, 1, 0,
3084 1, 0, 1, 0, 1, 0, 1, 0,
3085 1, 0, 1, 0, 1, 0, 1, 0,
3086 1, 0, 1, 0, 1, 0, 1, 0,
3087 1, 0, 1, 0, 1, 0, 1, 0,
3088 1, 0, 1, 0, 1, 0, 1, 0,
3089 1, 0, 1, 0, 1, 0, 1, 0,
3090 1, 0, 1, 0, 1, 0, 1, 0,
3091 1, 0, 1, 0, 1, 0, 1, 0,
3092 1, 0, 1, 0, 1, 0, 1, 0,
3093 1, 0, 1, 0, 1, 0, 1, 0,
3094 1, 0, 1, 302, 0, 1, 0, 1,
3095 0, 1, 0, 1, 0, 1, 0, 1,
3096 0, 1, 0, 1, 0, 1, 0, 1,
3097 0, 1, 0, 1, 0, 1, 0, 1,
3098 0, 1, 0, 1, 0, 1, 0, 1,
3099 0, 1, 0, 1, 0, 1, 0, 1,
3100 0, 1, 0, 1, 0, 1, 0, 1,
3101 0, 1, 0, 1, 0, 1, 0, 1,
3102 0, 1, 0, 1, 0, 1, 0, 1,
3103 0, 1, 0, 1, 0, 1, 0, 1,
3104 0, 1, 0, 1, 0, 1, 0, 1,
3105 0, 1, 0, 1, 0, 1, 0, 2,
3106 0, 7, 0, 10, 0, 15, 0, 18,
3107 0, 71, 0, 75, 0, 79, 0, 83,
3108 0, 86, 0, 87, 0, 90, 0, 95,
3109 0, 99, 0, 103, 0, 107, 0, 111,
3110 0, 115, 0, 119, 0, 123, 0, 127,
3111 0, 131, 0, 135, 0, 139, 0, 142,
3112 0, 146, 0, 151, 0, 155, 0, 159,
3113 0, 163, 0, 167, 0, 171, 0, 175,
3114 0, 179, 0, 182, 0, 186, 0, 190,
3115 0, 195, 0, 199, 0, 203, 0, 207,
3116 0, 211, 0, 214, 0, 219, 0, 223,
3117 0, 227, 0, 231, 0, 235, 0, 239,
3118 0, 243, 0, 246, 0, 251, 0, 254,
3119 0, 259, 0, 263, 0, 267, 0, 271,
3120 0, 275, 0, 279, 0, 283, 0, 287,
3121 0, 291, 0, 295, 0, 299, 0, 302,
3122 0, 306, 0, 310, 0, 314, 0, 318,
3123 0, 323, 0, 327, 0, 331, 0, 335,
3124 0, 339, 0, 343, 0, 347, 0, 351,
3125 0, 355, 0, 359, 0, 363, 0, 367,
3126 0, 371, 0, 375, 0, 379, 0, 383,
3127 0, 387, 0, 391, 0, 395, 0, 399,
3128 0, 403, 0, 407, 0, 411, 0, 415,
3129 0, 419, 0, 423, 0, 427, 0, 431,
3130 0, 435, 0, 439, 0, 443, 0, 447,
3131 0, 451, 0, 455, 0, 459, 0, 463,
3132 0, 467, 0, 471, 0, 475, 0, 479,
3133 0, 483, 0, 487, 0, 491, 0, 495,
3134 0, 499, 0, 503, 0, 507, 0, 511,
3135 0, 515, 0, 519, 0, 523, 0, 527,
3136 0, 531, 0, 535, 0, 539, 0, 543,
3137 0, 547, 0, 551, 0, 555, 0, 559,
3138 0, 563, 0, 567, 0, 571, 0, 575,
3139 0, 579, 0, 583, 0, 587, 0, 591,
3140 0, 595, 0, 599, 0, 603, 0, 607,
3141 0, 610, 0, 611, 0, 615, 0, 618,
3142 0, 623, 0, 627, 0, 631, 0, 635,
3143 0, 638, 0, 643, 0, 647, 0, 651,
3144 0, 655, 0, 659, 0, 663, 0, 667,
3145 0, 671, 0, 675, 0, 679, 0, 683,
3146 0, 687, 0, 691, 0, 694, 0, 698,
3147 0, 702, 0, 703, 0, 707, 0, 711,
3148 0, 715, 0, 719, 0, 723, 0, 726,
3149 0, 727, 0, 730, 0, 731, 0, 735,
3150 0, 739, 0, 743, 0, 747, 0, 750,
3151 0, 755, 0, 758, 0, 763, 0, 767,
3152 0, 771, 0, 775, 0, 779, 0, 782,
3153 0, 786, 0, 791, 0, 795, 0, 798,
3154 0, 803, 0, 807, 0, 811, 0, 815,
3155 0, 819, 0, 823, 0, 827, 0, 831,
3156 0, 835, 0, 839, 0, 843, 0, 847,
3157 0, 851, 0, 855, 0, 859, 0, 863,
3158 0, 867, 0, 871, 0, 875, 0, 879,
3159 0, 883, 0, 886, 0, 891, 0, 895,
3160 0, 899, 0, 903, 0, 907, 0, 911,
3161 0, 915, 0, 919, 0, 923, 0, 927,
3162 0, 931, 0, 935, 0, 939, 0, 943,
3163 0, 947, 0, 951, 0, 955, 0, 959,
3164 0, 963, 0, 967, 0, 970, 0, 974,
3165 0, 978, 0, 983, 0, 986, 0, 991,
3166 0, 995, 0, 23, 0, 27, 0, 31,
3167 0, 35, 0, 39, 0, 43, 0, 47,
3168 0, 51, 0, 55, 0, 59, 0, 63,
3169 0, 67, 0, 1, 0
3170 };
3171
3172 int Parser_commitLen[] = {
3173 0, 0, 0, 0, 0, 0, 0, 0,
3174 0, 0, 0, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 0,
3178 0, 0, 0, 0, 0, 0, 0, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0,
3180 0, 0, 0, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 0, 0, 0, 0,
3182 0, 0, 0, 0, 0, 0, 0, 0,
3183 0, 0, 0, 0, 0, 0, 0, 0,
3184 0, 0, 0, 0, 0, 0, 0, 0,
3185 0, 0, 0, 0, 0, 0, 0, 0,
3186 0, 0, 0, 0, 0, 0, 0, 0,
3187 0, 0, 0, 0, 0, 0, 0, 0,
3188 0, 0, 0, 0, 0, 0, 0, 0,
3189 0, 0, 0, 0, 0, 0, 0, 0,
3190 0, 0, 0, 0, 0, 0, 0, 0,
3191 0, 0, 0, 0, 0, 0, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0,
3193 0, 0, 0, 0, 0, 0, 0, 0,
3194 0, 0, 0, 0, 0, 0, 0, 0,
3195 0, 0, 0, 0, 0, 0, 0, 0,
3196 0, 0, 0, 0, 0, 0, 0, 0,
3197 0, 0, 0, 0, 0, 0, 0, 0,
3198 0, 0, 0, 0, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 0, 0, 0,
3201 0, 0, 0, 0, 0, 0, 0, 0,
3202 0, 0, 0, 0, 0, 0, 0, 0,
3203 0, 0, 0, 0, 0, 0, 0, 0,
3204 0, 0, 0, 0, 0, 0, 0, 0,
3205 0, 0, 0, 0, 0, 0, 0, 0,
3206 0, 0, 0, 0, 0, 0, 0, 0,
3207 0, 0, 0, 0, 0, 0, 0, 0,
3208 0, 0, 0, 0, 0, 0, 0, 0,
3209 0, 0, 0, 0, 0, 0, 0, 0,
3210 0, 0, 0, 0, 0, 0, 0, 0,
3211 0, 0, 0, 0, 0, 0, 0, 0,
3212 0, 0, 0, 0, 0, 0, 0, 0,
3213 0, 0, 0, 0, 0, 0, 0, 0,
3214 0, 0, 0, 0, 0, 0, 0, 0,
3215 0, 0, 0, 0, 0, 0, 0, 0,
3216 0, 0, 0, 0, 0, 0, 0, 0,
3217 0, 0, 0, 0, 0, 0, 0, 0,
3218 0, 0, 0, 0, 0, 0, 0, 0,
3219 0, 0, 0, 0, 0, 0, 0, 0,
3220 0, 0, 0, 0, 0, 0, 0, 0,
3221 0, 0, 0, 0, 0, 0, 0, 0,
3222 1, 1, 1, 1, 1, 1, 1, 1,
3223 1, 1, 1, 1, 2
3224 };
3225
3226 char Parser_prodLengths[] = {
3227 1, 3, 0, 2, 0, 1, 1, 1,
3228 1, 1, 1, 1, 1, 1, 1, 1,
3229 1, 3, 4, 4, 1, 1, 0, 4,
3230 5, 5, 1, 5, 4, 3, 4, 3,
3231 3, 5, 2, 0, 1, 4, 2, 1,
3232 1, 1, 3, 2, 1, 0, 3, 1,
3233 3, 3, 3, 3, 1, 1, 2, 3,
3234 3, 3, 3, 1, 3, 1, 3, 1,
3235 3, 3, 7, 3, 4, 3, 3, 3,
3236 3, 3, 7, 1, 1, 1, 1, 1,
3237 1, 2, 1, 2, 1, 2, 1, 1,
3238 1, 1, 2, 1, 2, 1, 2, 1,
3239 2, 1, 2, 1, 2, 1, 2, 1,
3240 2, 1, 2, 1, 2, 1, 2, 1,
3241 2, 1, 2, 1, 2, 1, 2, 1,
3242 2, 1, 2, 1, 2, 1, 2, 1,
3243 2, 1, 2, 1, 2, 1, 2, 1,
3244 2, 1, 2, 1, 2, 1, 2, 1,
3245 2, 1, 2, 1, 2, 1, 3, 1,
3246 1, 3, 1, 1, 1, 2, 2, 1,
3247 2, 2, 2, 2, 4, 5, 5, 6,
3248 1, 1, 2, 2, 1, 1, 1, 1,
3249 3, 3, 3, 3, 3, 1, 1, 1,
3250 2, 1, 2, 0, 2, 1, 3, 3,
3251 1, 1, 2, 0, 1, 3, 2, 0,
3252 1, 1, 1, 1, 1, 1, 1, 1,
3253 1, 1, 2, 3, 3, 4, 3, 4,
3254 3, 4, 2, 2, 2, 0, 1, 1,
3255 1, 1, 1, 1, 1, 1, 1, 1,
3256 1, 1, 1, 1, 1, 1, 1, 1,
3257 1, 4, 2, 0, 2, 1, 0, 3,
3258 1, 1
3259 };
3260
3261 unsigned short Parser_prodLhsIds[] = {
3262 227, 226, 226, 228, 228, 229, 229, 229,
3263 229, 229, 229, 229, 229, 229, 229, 229,
3264 229, 241, 239, 240, 243, 244, 244, 238,
3265 230, 231, 245, 232, 233, 233, 234, 235,
3266 236, 237, 250, 250, 247, 247, 251, 251,
3267 252, 252, 252, 253, 253, 253, 246, 246,
3268 256, 256, 256, 256, 256, 257, 258, 258,
3269 258, 258, 258, 258, 259, 259, 260, 260,
3270 262, 262, 262, 262, 262, 262, 262, 262,
3271 262, 262, 262, 262, 263, 263, 263, 263,
3272 266, 266, 266, 266, 266, 266, 266, 266,
3273 266, 267, 267, 267, 267, 267, 267, 267,
3274 267, 267, 267, 267, 267, 268, 268, 268,
3275 268, 268, 268, 268, 268, 268, 268, 268,
3276 268, 269, 269, 269, 269, 269, 269, 269,
3277 269, 269, 269, 269, 269, 270, 270, 270,
3278 270, 270, 270, 270, 270, 270, 270, 270,
3279 270, 271, 271, 271, 271, 271, 271, 271,
3280 271, 271, 271, 271, 271, 254, 254, 254,
3281 274, 255, 265, 264, 275, 275, 275, 272,
3282 273, 273, 273, 273, 273, 273, 273, 273,
3283 273, 276, 277, 277, 277, 278, 278, 278,
3284 278, 278, 278, 278, 278, 281, 281, 248,
3285 248, 248, 280, 280, 282, 282, 283, 283,
3286 283, 283, 279, 279, 284, 284, 242, 242,
3287 285, 285, 285, 288, 288, 288, 288, 288,
3288 288, 286, 286, 286, 286, 286, 286, 286,
3289 286, 286, 286, 286, 249, 249, 291, 291,
3290 291, 287, 287, 287, 287, 287, 287, 287,
3291 292, 292, 292, 292, 292, 289, 289, 289,
3292 289, 289, 261, 293, 290, 295, 295, 294,
3293 294, 296
3294 };
3295
3296 const char *Parser_prodNames[] = {
3297 "start-1",
3298 "section_list-1",
3299 "section_list-2",
3300 "statement_list-1",
3301 "statement_list-2",
3302 "statement-1",
3303 "statement-2",
3304 "statement-3",
3305 "statement-4",
3306 "statement-5",
3307 "statement-6",
3308 "statement-7",
3309 "statement-8",
3310 "statement-9",
3311 "statement-10",
3312 "statement-11",
3313 "statement-12",
3314 "length_spec-1",
3315 "pre_push_spec-1",
3316 "post_pop_spec-1",
3317 "export_open-1",
3318 "opt_export-1",
3319 "opt_export-2",
3320 "export_block-1",
3321 "assignment-1",
3322 "instantiation-1",
3323 "machine_name-1",
3324 "action_spec-1",
3325 "alphtype_spec-1",
3326 "alphtype_spec-2",
3327 "range_spec-1",
3328 "getkey_spec-1",
3329 "access_spec-1",
3330 "variable_spec-1",
3331 "opt_whitespace-1",
3332 "opt_whitespace-2",
3333 "join_or_lm-1",
3334 "join_or_lm-2",
3335 "lm_part_list-1",
3336 "lm_part_list-2",
3337 "longest_match_part-1",
3338 "longest_match_part-2",
3339 "longest_match_part-3",
3340 "opt_lm_part_action-1",
3341 "opt_lm_part_action-2",
3342 "opt_lm_part_action-3",
3343 "join-1",
3344 "join-2",
3345 "expression-1",
3346 "expression-2",
3347 "expression-3",
3348 "expression-4",
3349 "expression-5",
3350 "term_short-1",
3351 "term-1",
3352 "term-2",
3353 "term-3",
3354 "term-4",
3355 "term-5",
3356 "term-6",
3357 "factor_with_label-1",
3358 "factor_with_label-2",
3359 "factor_with_ep-1",
3360 "factor_with_ep-2",
3361 "factor_with_aug-1",
3362 "factor_with_aug-2",
3363 "factor_with_aug-3",
3364 "factor_with_aug-4",
3365 "factor_with_aug-5",
3366 "factor_with_aug-6",
3367 "factor_with_aug-7",
3368 "factor_with_aug-8",
3369 "factor_with_aug-9",
3370 "factor_with_aug-10",
3371 "factor_with_aug-11",
3372 "factor_with_aug-12",
3373 "aug_type_base-1",
3374 "aug_type_base-2",
3375 "aug_type_base-3",
3376 "aug_type_base-4",
3377 "aug_type_cond-1",
3378 "aug_type_cond-2",
3379 "aug_type_cond-3",
3380 "aug_type_cond-4",
3381 "aug_type_cond-5",
3382 "aug_type_cond-6",
3383 "aug_type_cond-7",
3384 "aug_type_cond-8",
3385 "aug_type_cond-9",
3386 "aug_type_to_state-1",
3387 "aug_type_to_state-2",
3388 "aug_type_to_state-3",
3389 "aug_type_to_state-4",
3390 "aug_type_to_state-5",
3391 "aug_type_to_state-6",
3392 "aug_type_to_state-7",
3393 "aug_type_to_state-8",
3394 "aug_type_to_state-9",
3395 "aug_type_to_state-10",
3396 "aug_type_to_state-11",
3397 "aug_type_to_state-12",
3398 "aug_type_from_state-1",
3399 "aug_type_from_state-2",
3400 "aug_type_from_state-3",
3401 "aug_type_from_state-4",
3402 "aug_type_from_state-5",
3403 "aug_type_from_state-6",
3404 "aug_type_from_state-7",
3405 "aug_type_from_state-8",
3406 "aug_type_from_state-9",
3407 "aug_type_from_state-10",
3408 "aug_type_from_state-11",
3409 "aug_type_from_state-12",
3410 "aug_type_eof-1",
3411 "aug_type_eof-2",
3412 "aug_type_eof-3",
3413 "aug_type_eof-4",
3414 "aug_type_eof-5",
3415 "aug_type_eof-6",
3416 "aug_type_eof-7",
3417 "aug_type_eof-8",
3418 "aug_type_eof-9",
3419 "aug_type_eof-10",
3420 "aug_type_eof-11",
3421 "aug_type_eof-12",
3422 "aug_type_gbl_error-1",
3423 "aug_type_gbl_error-2",
3424 "aug_type_gbl_error-3",
3425 "aug_type_gbl_error-4",
3426 "aug_type_gbl_error-5",
3427 "aug_type_gbl_error-6",
3428 "aug_type_gbl_error-7",
3429 "aug_type_gbl_error-8",
3430 "aug_type_gbl_error-9",
3431 "aug_type_gbl_error-10",
3432 "aug_type_gbl_error-11",
3433 "aug_type_gbl_error-12",
3434 "aug_type_local_error-1",
3435 "aug_type_local_error-2",
3436 "aug_type_local_error-3",
3437 "aug_type_local_error-4",
3438 "aug_type_local_error-5",
3439 "aug_type_local_error-6",
3440 "aug_type_local_error-7",
3441 "aug_type_local_error-8",
3442 "aug_type_local_error-9",
3443 "aug_type_local_error-10",
3444 "aug_type_local_error-11",
3445 "aug_type_local_error-12",
3446 "action_embed-1",
3447 "action_embed-2",
3448 "action_embed-3",
3449 "action_embed_word-1",
3450 "action_embed_block-1",
3451 "priority_name-1",
3452 "priority_aug-1",
3453 "priority_aug_num-1",
3454 "priority_aug_num-2",
3455 "priority_aug_num-3",
3456 "local_err_name-1",
3457 "factor_with_rep-1",
3458 "factor_with_rep-2",
3459 "factor_with_rep-3",
3460 "factor_with_rep-4",
3461 "factor_with_rep-5",
3462 "factor_with_rep-6",
3463 "factor_with_rep-7",
3464 "factor_with_rep-8",
3465 "factor_with_rep-9",
3466 "factor_rep_num-1",
3467 "factor_with_neg-1",
3468 "factor_with_neg-2",
3469 "factor_with_neg-3",
3470 "factor-1",
3471 "factor-2",
3472 "factor-3",
3473 "factor-4",
3474 "factor-5",
3475 "factor-6",
3476 "factor-7",
3477 "factor-8",
3478 "range_lit-1",
3479 "range_lit-2",
3480 "alphabet_num-1",
3481 "alphabet_num-2",
3482 "alphabet_num-3",
3483 "regular_expr-1",
3484 "regular_expr-2",
3485 "regular_expr_item-1",
3486 "regular_expr_item-2",
3487 "regular_expr_char-1",
3488 "regular_expr_char-2",
3489 "regular_expr_char-3",
3490 "regular_expr_char-4",
3491 "regular_expr_or_data-1",
3492 "regular_expr_or_data-2",
3493 "regular_expr_or_char-1",
3494 "regular_expr_or_char-2",
3495 "inline_block-1",
3496 "inline_block-2",
3497 "inline_block_item-1",
3498 "inline_block_item-2",
3499 "inline_block_item-3",
3500 "inline_block_symbol-1",
3501 "inline_block_symbol-2",
3502 "inline_block_symbol-3",
3503 "inline_block_symbol-4",
3504 "inline_block_symbol-5",
3505 "inline_block_symbol-6",
3506 "inline_block_interpret-1",
3507 "inline_block_interpret-2",
3508 "inline_block_interpret-3",
3509 "inline_block_interpret-4",
3510 "inline_block_interpret-5",
3511 "inline_block_interpret-6",
3512 "inline_block_interpret-7",
3513 "inline_block_interpret-8",
3514 "inline_block_interpret-9",
3515 "inline_block_interpret-10",
3516 "inline_block_interpret-11",
3517 "inline_expr-1",
3518 "inline_expr-2",
3519 "inline_expr_item-1",
3520 "inline_expr_item-2",
3521 "inline_expr_item-3",
3522 "inline_expr_any-1",
3523 "inline_expr_any-2",
3524 "inline_expr_any-3",
3525 "inline_expr_any-4",
3526 "inline_expr_any-5",
3527 "inline_expr_any-6",
3528 "inline_expr_any-7",
3529 "inline_expr_symbol-1",
3530 "inline_expr_symbol-2",
3531 "inline_expr_symbol-3",
3532 "inline_expr_symbol-4",
3533 "inline_expr_symbol-5",
3534 "inline_expr_interpret-1",
3535 "inline_expr_interpret-2",
3536 "inline_expr_interpret-3",
3537 "inline_expr_interpret-4",
3538 "inline_expr_interpret-5",
3539 "local_state_ref-1",
3540 "no_name_sep-1",
3541 "state_ref-1",
3542 "opt_name_sep-1",
3543 "opt_name_sep-2",
3544 "state_ref_names-1",
3545 "state_ref_names-2",
3546 "_start-1"
3547 };
3548
3549 const char *Parser_lelNames[] = {
3550 "D-0",
3551 "D-1",
3552 "D-2",
3553 "D-3",
3554 "D-4",
3555 "D-5",
3556 "D-6",
3557 "D-7",
3558 "D-8",
3559 "D-9",
3560 "D-10",
3561 "D-11",
3562 "D-12",
3563 "D-13",
3564 "D-14",
3565 "D-15",
3566 "D-16",
3567 "D-17",
3568 "D-18",
3569 "D-19",
3570 "D-20",
3571 "D-21",
3572 "D-22",
3573 "D-23",
3574 "D-24",
3575 "D-25",
3576 "D-26",
3577 "D-27",
3578 "D-28",
3579 "D-29",
3580 "D-30",
3581 "D-31",
3582 "D-32",
3583 "!",
3584 "\"",
3585 "#",
3586 "$",
3587 "%",
3588 "&",
3589 "'",
3590 "(",
3591 ")",
3592 "*",
3593 "+",
3594 ",",
3595 "-",
3596 ".",
3597 "/",
3598 "0",
3599 "1",
3600 "2",
3601 "3",
3602 "4",
3603 "5",
3604 "6",
3605 "7",
3606 "8",
3607 "9",
3608 ":",
3609 ";",
3610 "<",
3611 "=",
3612 ">",
3613 "?",
3614 "@",
3615 "A",
3616 "B",
3617 "C",
3618 "D",
3619 "E",
3620 "F",
3621 "G",
3622 "H",
3623 "I",
3624 "J",
3625 "K",
3626 "L",
3627 "M",
3628 "N",
3629 "O",
3630 "P",
3631 "Q",
3632 "R",
3633 "S",
3634 "T",
3635 "U",
3636 "V",
3637 "W",
3638 "X",
3639 "Y",
3640 "Z",
3641 "[",
3642 "\\",
3643 "]",
3644 "^",
3645 "_",
3646 "`",
3647 "a",
3648 "b",
3649 "c",
3650 "d",
3651 "e",
3652 "f",
3653 "g",
3654 "h",
3655 "i",
3656 "j",
3657 "k",
3658 "l",
3659 "m",
3660 "n",
3661 "o",
3662 "p",
3663 "q",
3664 "r",
3665 "s",
3666 "t",
3667 "u",
3668 "v",
3669 "w",
3670 "x",
3671 "y",
3672 "z",
3673 "{",
3674 "|",
3675 "}",
3676 "~",
3677 "D-127",
3678 "TK_Word",
3679 "TK_Literal",
3680 "TK_Number",
3681 "TK_EndSection",
3682 "TK_UInt",
3683 "TK_Hex",
3684 "TK_DotDot",
3685 "TK_ColonGt",
3686 "TK_ColonGtGt",
3687 "TK_LtColon",
3688 "TK_Arrow",
3689 "TK_DoubleArrow",
3690 "TK_StarStar",
3691 "TK_ColonEquals",
3692 "TK_NameSep",
3693 "TK_BarStar",
3694 "TK_DashDash",
3695 "TK_StartCond",
3696 "TK_AllCond",
3697 "TK_LeavingCond",
3698 "TK_Middle",
3699 "TK_StartGblError",
3700 "TK_AllGblError",
3701 "TK_FinalGblError",
3702 "TK_NotFinalGblError",
3703 "TK_NotStartGblError",
3704 "TK_MiddleGblError",
3705 "TK_StartLocalError",
3706 "TK_AllLocalError",
3707 "TK_FinalLocalError",
3708 "TK_NotFinalLocalError",
3709 "TK_NotStartLocalError",
3710 "TK_MiddleLocalError",
3711 "TK_StartEOF",
3712 "TK_AllEOF",
3713 "TK_FinalEOF",
3714 "TK_NotFinalEOF",
3715 "TK_NotStartEOF",
3716 "TK_MiddleEOF",
3717 "TK_StartToState",
3718 "TK_AllToState",
3719 "TK_FinalToState",
3720 "TK_NotFinalToState",
3721 "TK_NotStartToState",
3722 "TK_MiddleToState",
3723 "TK_StartFromState",
3724 "TK_AllFromState",
3725 "TK_FinalFromState",
3726 "TK_NotFinalFromState",
3727 "TK_NotStartFromState",
3728 "TK_MiddleFromState",
3729 "RE_Slash",
3730 "RE_SqOpen",
3731 "RE_SqOpenNeg",
3732 "RE_SqClose",
3733 "RE_Dot",
3734 "RE_Star",
3735 "RE_Dash",
3736 "RE_Char",
3737 "IL_WhiteSpace",
3738 "IL_Comment",
3739 "IL_Literal",
3740 "IL_Symbol",
3741 "KW_Machine",
3742 "KW_Include",
3743 "KW_Import",
3744 "KW_Write",
3745 "KW_Action",
3746 "KW_AlphType",
3747 "KW_Range",
3748 "KW_GetKey",
3749 "KW_InWhen",
3750 "KW_When",
3751 "KW_OutWhen",
3752 "KW_Eof",
3753 "KW_Err",
3754 "KW_Lerr",
3755 "KW_To",
3756 "KW_From",
3757 "KW_Export",
3758 "KW_PrePush",
3759 "KW_PostPop",
3760 "KW_Length",
3761 "KW_Break",
3762 "KW_Exec",
3763 "KW_Hold",
3764 "KW_PChar",
3765 "KW_Char",
3766 "KW_Goto",
3767 "KW_Call",
3768 "KW_Ret",
3769 "KW_CurState",
3770 "KW_TargState",
3771 "KW_Entry",
3772 "KW_Next",
3773 "KW_Variable",
3774 "KW_Access",
3775 "Parser_tk_eof",
3776 "section_list",
3777 "start",
3778 "statement_list",
3779 "statement",
3780 "assignment",
3781 "instantiation",
3782 "action_spec",
3783 "alphtype_spec",
3784 "range_spec",
3785 "getkey_spec",
3786 "access_spec",
3787 "variable_spec",
3788 "export_block",
3789 "pre_push_spec",
3790 "post_pop_spec",
3791 "length_spec",
3792 "inline_block",
3793 "export_open",
3794 "opt_export",
3795 "machine_name",
3796 "join",
3797 "join_or_lm",
3798 "alphabet_num",
3799 "inline_expr",
3800 "opt_whitespace",
3801 "lm_part_list",
3802 "longest_match_part",
3803 "opt_lm_part_action",
3804 "action_embed",
3805 "action_embed_block",
3806 "expression",
3807 "term_short",
3808 "term",
3809 "factor_with_label",
3810 "factor_with_ep",
3811 "local_state_ref",
3812 "factor_with_aug",
3813 "aug_type_base",
3814 "priority_aug",
3815 "priority_name",
3816 "aug_type_cond",
3817 "aug_type_to_state",
3818 "aug_type_from_state",
3819 "aug_type_eof",
3820 "aug_type_gbl_error",
3821 "aug_type_local_error",
3822 "local_err_name",
3823 "factor_with_rep",
3824 "action_embed_word",
3825 "priority_aug_num",
3826 "factor_rep_num",
3827 "factor_with_neg",
3828 "factor",
3829 "regular_expr_or_data",
3830 "regular_expr",
3831 "range_lit",
3832 "regular_expr_item",
3833 "regular_expr_char",
3834 "regular_expr_or_char",
3835 "inline_block_item",
3836 "inline_block_interpret",
3837 "inline_expr_any",
3838 "inline_block_symbol",
3839 "inline_expr_interpret",
3840 "state_ref",
3841 "inline_expr_item",
3842 "inline_expr_symbol",
3843 "no_name_sep",
3844 "state_ref_names",
3845 "opt_name_sep",
3846 "_start"
3847 };
3848
3849 #line 1449 "rlparse.kl"
3850
3851
init()3852 void Parser::init()
3853 {
3854 #line 3855 "rlparse.cpp"
3855 curs = Parser_startState;
3856 pool = 0;
3857 block = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3858 block->next = 0;
3859 freshEl = block->data;
3860 #ifdef KELBT_LOG_ACTIONS
3861 cerr << "allocating 8128 LangEls" << endl;
3862 #endif
3863 stackTop = freshEl;
3864 stackTop->type = 0;
3865 stackTop->state = -1;
3866 stackTop->next = 0;
3867 stackTop->child = 0;
3868 stackTop->causeReduce = 0;
3869 freshPos = 1;
3870 lastFinal = stackTop;
3871 numRetry = 0;
3872 numNodes = 0;
3873 errCount = 0;
3874 #line 1454 "rlparse.kl"
3875 }
3876
parseLangEl(int type,const Token * token)3877 int Parser::parseLangEl( int type, const Token *token )
3878 {
3879 #line 3880 "rlparse.cpp"
3880 #define reject() induceReject = 1
3881
3882 int pos, targState;
3883 unsigned int *action;
3884 int rhsLen;
3885 struct Parser_LangEl *rhs[32];
3886 struct Parser_LangEl *lel = 0;
3887 struct Parser_LangEl *input = 0;
3888 struct Parser_LangEl *queue = 0;
3889 char induceReject;
3890
3891 if ( curs < 0 )
3892 return 0;
3893
3894 if ( pool == 0 ) {
3895 if ( freshPos == 8128 ) {
3896 struct Parser_Block* newBlock = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3897 newBlock->next = block;
3898 block = newBlock;
3899 freshEl = newBlock->data;
3900 #ifdef KELBT_LOG_ACTIONS
3901 cerr << "allocating 8128 LangEls" << endl;
3902 #endif
3903 freshPos = 0;
3904 }
3905 queue = freshEl + freshPos++;
3906 }
3907 else {
3908 queue = pool;
3909 pool = pool->next;
3910 }
3911 numNodes += 1;
3912
3913 queue->type = type;
3914 queue->user.token = *token;
3915 queue->next = 0;
3916 queue->retry = 0;
3917 queue->child = 0;
3918 queue->causeReduce = 0;
3919
3920 again:
3921 if ( input == 0 ) {
3922 if ( queue == 0 )
3923 goto _out;
3924
3925 input = queue;
3926 queue = queue->next;
3927 input->next = 0;
3928 }
3929
3930 lel = input;
3931 if ( lel->type < Parser_keys[curs<<1] || lel->type > Parser_keys[(curs<<1)+1] )
3932 goto parseError;
3933
3934 pos = Parser_indicies[Parser_offsets[curs] + (lel->type - Parser_keys[curs<<1])];
3935 if ( pos < 0 )
3936 goto parseError;
3937
3938 induceReject = 0;
3939 targState = Parser_targs[pos];
3940 action = Parser_actions + Parser_actInds[pos];
3941 if ( lel->retry & 0x0000ffff )
3942 action += (lel->retry & 0x0000ffff);
3943
3944 if ( *action & 0x1 ) {
3945 #ifdef KELBT_LOG_ACTIONS
3946 cerr << "shifted: " << Parser_lelNames[lel->type];
3947 #endif
3948 input = input->next;
3949 lel->state = curs;
3950 lel->next = stackTop;
3951 stackTop = lel;
3952
3953 if ( action[1] == 0 )
3954 lel->retry &= 0xffff0000;
3955 else {
3956 lel->retry += 1;
3957 numRetry += 1;
3958 #ifdef KELBT_LOG_ACTIONS
3959 cerr << " retry: " << stackTop;
3960 #endif
3961 }
3962 #ifdef KELBT_LOG_ACTIONS
3963 cerr << endl;
3964 #endif
3965 }
3966
3967 if ( Parser_commitLen[pos] != 0 ) {
3968 struct Parser_LangEl *commitHead = stackTop, *lel;
3969 int sp = 0, doExec = 0;
3970 #ifdef KELBT_LOG_ACTIONS
3971 cerr << "commit encountered, executing final actions" << endl;
3972 #endif
3973 if ( Parser_commitLen[pos] < 0 )
3974 commitHead = commitHead->next;
3975
3976 lel = commitHead;
3977
3978 commit_head:
3979 if ( lel == lastFinal ) {
3980 doExec = 1;
3981 goto commit_base;
3982 }
3983
3984 if ( lel->next != 0 ) {
3985 sp += 1;
3986 lel->next->prev = lel;
3987 lel = lel->next;
3988 lel->retry = 0;
3989 goto commit_head;
3990 }
3991
3992 commit_reverse:
3993
3994 if ( lel->child != 0 ) {
3995 sp += 1;
3996 lel->child->prev = lel;
3997 lel = lel->child;
3998 lel->retry = 1;
3999 goto commit_head;
4000 }
4001
4002 commit_upwards:
4003
4004 if ( doExec ) {
4005 if ( lel->type < 226 ) {
4006 }
4007 else {
4008 struct Parser_LangEl *redLel = lel;
4009 if ( redLel->child != 0 ) {
4010 int r = Parser_prodLengths[redLel->reduction] - 1;
4011 struct Parser_LangEl *rhsEl = redLel->child;
4012 while ( rhsEl != 0 ) {
4013 rhs[r--] = rhsEl;
4014 rhsEl = rhsEl->next;
4015 }
4016 }
4017 switch ( lel->reduction ) {
4018 case 17: {
4019 Token *__ref0 = (Token*)&rhs[1]->user.token;
4020 Token *__ref1 = (Token*)&rhs[1]->user.token;
4021 Token *__ref2 = (Token*)&rhs[1]->user.token;
4022 #line 61 "rlparse.kl"
4023
4024 LengthDef *lengthDef = new LengthDef( (__ref0)->data );
4025 pd->lengthDefList.append( lengthDef );
4026
4027 /* Generic creation of machine for instantiation and assignment. */
4028 MachineDef *machineDef = new MachineDef( lengthDef );
4029 tryMachineDef( (__ref1)->loc, (__ref2)->data, machineDef, false );
4030
4031
4032 #line 4031 "rlparse.cpp"
4033 } break;
4034 case 18: {
4035 Token *__ref0 = (Token*)&rhs[1]->user.token;
4036 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
4037 #line 72 "rlparse.kl"
4038
4039 if ( pd->prePushExpr != 0 ) {
4040 /* Recover by just ignoring the duplicate. */
4041 error((__ref0)->loc) << "pre_push code already defined" << endl;
4042 }
4043
4044 pd->prePushExpr = (__ref1)->inlineList;
4045
4046
4047 #line 4046 "rlparse.cpp"
4048 } break;
4049 case 19: {
4050 Token *__ref0 = (Token*)&rhs[1]->user.token;
4051 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
4052 #line 84 "rlparse.kl"
4053
4054 if ( pd->postPopExpr != 0 ) {
4055 /* Recover by just ignoring the duplicate. */
4056 error((__ref0)->loc) << "post_pop code already defined" << endl;
4057 }
4058
4059 pd->postPopExpr = (__ref1)->inlineList;
4060
4061
4062 #line 4061 "rlparse.cpp"
4063 } break;
4064 case 20: {
4065 #line 95 "rlparse.kl"
4066
4067 exportContext.append( true );
4068
4069
4070 #line 4069 "rlparse.cpp"
4071 } break;
4072 case 21: {
4073 Parser_Lel_opt_export *__ref0 = (Parser_Lel_opt_export*)&redLel->user.opt_export;
4074 #line 104 "rlparse.kl"
4075 (__ref0)->isSet = true;
4076
4077 #line 4076 "rlparse.cpp"
4078 } break;
4079 case 22: {
4080 Parser_Lel_opt_export *__ref0 = (Parser_Lel_opt_export*)&redLel->user.opt_export;
4081 #line 105 "rlparse.kl"
4082 (__ref0)->isSet = false;
4083
4084 #line 4083 "rlparse.cpp"
4085 } break;
4086 case 23: {
4087 #line 108 "rlparse.kl"
4088
4089 exportContext.remove( exportContext.length()-1 );
4090
4091
4092 #line 4091 "rlparse.cpp"
4093 } break;
4094 case 24: {
4095 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4096 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4097 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&rhs[3]->user.join;
4098 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4099 Parser_Lel_token_type *__ref4 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4100 Parser_Lel_opt_export *__ref5 = (Parser_Lel_opt_export*)&rhs[0]->user.opt_export;
4101 Parser_Lel_join *__ref6 = (Parser_Lel_join*)&rhs[3]->user.join;
4102 Token *__ref7 = (Token*)&rhs[2]->user.token;
4103 #line 113 "rlparse.kl"
4104
4105 /* Main machine must be an instance. */
4106 bool isInstance = false;
4107 if ( strcmp((__ref0)->token.data, mainMachine) == 0 ) {
4108 warning((__ref1)->token.loc) <<
4109 "main machine will be implicitly instantiated" << endl;
4110 isInstance = true;
4111 }
4112
4113 /* Generic creation of machine for instantiation and assignment. */
4114 MachineDef *machineDef = new MachineDef( (__ref2)->join );
4115 tryMachineDef( (__ref3)->token.loc, (__ref4)->token.data, machineDef, isInstance );
4116
4117 if ( (__ref5)->isSet )
4118 exportContext.remove( exportContext.length()-1 );
4119
4120 (__ref6)->join->loc = (__ref7)->loc;
4121
4122
4123 #line 4122 "rlparse.cpp"
4124 } break;
4125 case 25: {
4126 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4127 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4128 Parser_Lel_join_or_lm *__ref2 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4129 Parser_Lel_opt_export *__ref3 = (Parser_Lel_opt_export*)&rhs[0]->user.opt_export;
4130 Parser_Lel_join_or_lm *__ref4 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4131 Parser_Lel_join_or_lm *__ref5 = (Parser_Lel_join_or_lm*)&rhs[3]->user.join_or_lm;
4132 Token *__ref6 = (Token*)&rhs[2]->user.token;
4133 #line 133 "rlparse.kl"
4134
4135 /* Generic creation of machine for instantiation and assignment. */
4136 tryMachineDef( (__ref0)->token.loc, (__ref1)->token.data, (__ref2)->machineDef, true );
4137
4138 if ( (__ref3)->isSet )
4139 exportContext.remove( exportContext.length()-1 );
4140
4141 /* Pass a location to join_or_lm */
4142 if ( (__ref4)->machineDef->join != 0 )
4143 (__ref5)->machineDef->join->loc = (__ref6)->loc;
4144
4145
4146 #line 4145 "rlparse.cpp"
4147 } break;
4148 case 26: {
4149 Token *__ref0 = (Token*)&rhs[0]->user.token;
4150 Token *__ref1 = (Token*)&rhs[0]->user.token;
4151 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&redLel->user.token_type;
4152 Token *__ref3 = (Token*)&rhs[0]->user.token;
4153 #line 153 "rlparse.kl"
4154
4155 /* Make/get the priority key. The name may have already been referenced
4156 * and therefore exist. */
4157 PriorDictEl *priorDictEl;
4158 if ( pd->priorDict.insert( (__ref0)->data, pd->nextPriorKey, &priorDictEl ) )
4159 pd->nextPriorKey += 1;
4160 pd->curDefPriorKey = priorDictEl->value;
4161
4162 /* Make/get the local error key. */
4163 LocalErrDictEl *localErrDictEl;
4164 if ( pd->localErrDict.insert( (__ref1)->data, pd->nextLocalErrKey, &localErrDictEl ) )
4165 pd->nextLocalErrKey += 1;
4166 pd->curDefLocalErrKey = localErrDictEl->value;
4167
4168 (__ref2)->token = *(__ref3);
4169
4170
4171 #line 4170 "rlparse.cpp"
4172 } break;
4173 case 27: {
4174 Token *__ref0 = (Token*)&rhs[1]->user.token;
4175 Token *__ref1 = (Token*)&rhs[1]->user.token;
4176 Token *__ref2 = (Token*)&rhs[1]->user.token;
4177 Token *__ref3 = (Token*)&rhs[2]->user.token;
4178 Token *__ref4 = (Token*)&rhs[1]->user.token;
4179 Parser_Lel_inline_list *__ref5 = (Parser_Lel_inline_list*)&rhs[3]->user.inline_list;
4180 #line 171 "rlparse.kl"
4181
4182 if ( pd->actionDict.find( (__ref0)->data ) ) {
4183 /* Recover by just ignoring the duplicate. */
4184 error((__ref1)->loc) << "action \"" << (__ref2)->data << "\" already defined" << endl;
4185 }
4186 else {
4187 //cerr << "NEW ACTION " << $2->data << " " << $4->inlineList << endl;
4188 /* Add the action to the list of actions. */
4189 Action *newAction = new Action( (__ref3)->loc, (__ref4)->data,
4190 (__ref5)->inlineList, pd->nextCondId++ );
4191
4192 /* Insert to list and dict. */
4193 pd->actionList.append( newAction );
4194 pd->actionDict.insert( newAction );
4195 }
4196
4197
4198 #line 4197 "rlparse.cpp"
4199 } break;
4200 case 28: {
4201 Token *__ref0 = (Token*)&rhs[0]->user.token;
4202 Token *__ref1 = (Token*)&rhs[1]->user.token;
4203 Token *__ref2 = (Token*)&rhs[2]->user.token;
4204 Token *__ref3 = (Token*)&rhs[1]->user.token;
4205 Token *__ref4 = (Token*)&rhs[1]->user.token;
4206 Token *__ref5 = (Token*)&rhs[2]->user.token;
4207 #line 191 "rlparse.kl"
4208
4209 if ( ! pd->setAlphType( (__ref0)->loc, (__ref1)->data, (__ref2)->data ) ) {
4210 // Recover by ignoring the alphtype statement.
4211 error((__ref3)->loc) << "\"" << (__ref4)->data <<
4212 " " << (__ref5)->data << "\" is not a valid alphabet type" << endl;
4213 }
4214
4215
4216 #line 4215 "rlparse.cpp"
4217 } break;
4218 case 29: {
4219 Token *__ref0 = (Token*)&rhs[0]->user.token;
4220 Token *__ref1 = (Token*)&rhs[1]->user.token;
4221 Token *__ref2 = (Token*)&rhs[1]->user.token;
4222 Token *__ref3 = (Token*)&rhs[1]->user.token;
4223 #line 200 "rlparse.kl"
4224
4225 if ( ! pd->setAlphType( (__ref0)->loc, (__ref1)->data ) ) {
4226 // Recover by ignoring the alphtype statement.
4227 error((__ref2)->loc) << "\"" << (__ref3)->data <<
4228 "\" is not a valid alphabet type" << endl;
4229 }
4230
4231
4232 #line 4231 "rlparse.cpp"
4233 } break;
4234 case 30: {
4235 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4236 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[2]->user.token_type;
4237 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[1]->user.token_type;
4238 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&rhs[2]->user.token_type;
4239 #line 210 "rlparse.kl"
4240
4241 // Save the upper and lower ends of the range and emit the line number.
4242 pd->lowerNum = (__ref0)->token.data;
4243 pd->upperNum = (__ref1)->token.data;
4244 pd->rangeLowLoc = (__ref2)->token.loc;
4245 pd->rangeHighLoc = (__ref3)->token.loc;
4246
4247
4248 #line 4247 "rlparse.cpp"
4249 } break;
4250 case 31: {
4251 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
4252 #line 219 "rlparse.kl"
4253
4254 pd->getKeyExpr = (__ref0)->inlineList;
4255
4256
4257 #line 4256 "rlparse.cpp"
4258 } break;
4259 case 32: {
4260 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
4261 #line 224 "rlparse.kl"
4262
4263 pd->accessExpr = (__ref0)->inlineList;
4264
4265
4266 #line 4265 "rlparse.cpp"
4267 } break;
4268 case 33: {
4269 Token *__ref0 = (Token*)&rhs[2]->user.token;
4270 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[3]->user.inline_list;
4271 Token *__ref2 = (Token*)&rhs[2]->user.token;
4272 #line 229 "rlparse.kl"
4273
4274 /* FIXME: Need to implement the rest of this. */
4275 bool wasSet = pd->setVariable( (__ref0)->data, (__ref1)->inlineList );
4276 if ( !wasSet )
4277 error((__ref2)->loc) << "bad variable name" << endl;
4278
4279
4280 #line 4279 "rlparse.cpp"
4281 } break;
4282 case 36: {
4283 Parser_Lel_join_or_lm *__ref0 = (Parser_Lel_join_or_lm*)&redLel->user.join_or_lm;
4284 Parser_Lel_join *__ref1 = (Parser_Lel_join*)&rhs[0]->user.join;
4285 #line 249 "rlparse.kl"
4286
4287 (__ref0)->machineDef = new MachineDef( (__ref1)->join );
4288
4289
4290 #line 4289 "rlparse.cpp"
4291 } break;
4292 case 37: {
4293 Token *__ref0 = (Token*)&rhs[0]->user.token;
4294 Parser_Lel_lm_part_list *__ref1 = (Parser_Lel_lm_part_list*)&rhs[1]->user.lm_part_list;
4295 Parser_Lel_lm_part_list *__ref2 = (Parser_Lel_lm_part_list*)&rhs[1]->user.lm_part_list;
4296 Parser_Lel_join_or_lm *__ref3 = (Parser_Lel_join_or_lm*)&redLel->user.join_or_lm;
4297 #line 253 "rlparse.kl"
4298
4299 /* Create a new factor going to a longest match structure. Record
4300 * in the parse data that we have a longest match. */
4301 LongestMatch *lm = new LongestMatch( (__ref0)->loc, (__ref1)->lmPartList );
4302 pd->lmList.append( lm );
4303 for ( LmPartList::Iter lmp = *((__ref2)->lmPartList); lmp.lte(); lmp++ )
4304 lmp->longestMatch = lm;
4305 (__ref3)->machineDef = new MachineDef( lm );
4306
4307
4308 #line 4307 "rlparse.cpp"
4309 } break;
4310 case 38: {
4311 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&rhs[1]->user.longest_match_part;
4312 Parser_Lel_lm_part_list *__ref1 = (Parser_Lel_lm_part_list*)&rhs[0]->user.lm_part_list;
4313 Parser_Lel_longest_match_part *__ref2 = (Parser_Lel_longest_match_part*)&rhs[1]->user.longest_match_part;
4314 Parser_Lel_lm_part_list *__ref3 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4315 Parser_Lel_lm_part_list *__ref4 = (Parser_Lel_lm_part_list*)&rhs[0]->user.lm_part_list;
4316 #line 270 "rlparse.kl"
4317
4318 if ( (__ref0)->lmPart != 0 )
4319 (__ref1)->lmPartList->append( (__ref2)->lmPart );
4320 (__ref3)->lmPartList = (__ref4)->lmPartList;
4321
4322
4323 #line 4322 "rlparse.cpp"
4324 } break;
4325 case 39: {
4326 Parser_Lel_lm_part_list *__ref0 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4327 Parser_Lel_longest_match_part *__ref1 = (Parser_Lel_longest_match_part*)&rhs[0]->user.longest_match_part;
4328 Parser_Lel_lm_part_list *__ref2 = (Parser_Lel_lm_part_list*)&redLel->user.lm_part_list;
4329 Parser_Lel_longest_match_part *__ref3 = (Parser_Lel_longest_match_part*)&rhs[0]->user.longest_match_part;
4330 #line 277 "rlparse.kl"
4331
4332 /* Create a new list with the part. */
4333 (__ref0)->lmPartList = new LmPartList;
4334 if ( (__ref1)->lmPart != 0 )
4335 (__ref2)->lmPartList->append( (__ref3)->lmPart );
4336
4337
4338 #line 4337 "rlparse.cpp"
4339 } break;
4340 case 40: {
4341 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4342 #line 290 "rlparse.kl"
4343 (__ref0)->lmPart = 0;
4344
4345 #line 4344 "rlparse.cpp"
4346 } break;
4347 case 41: {
4348 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4349 #line 292 "rlparse.kl"
4350 (__ref0)->lmPart = 0;
4351
4352 #line 4351 "rlparse.cpp"
4353 } break;
4354 case 42: {
4355 Parser_Lel_longest_match_part *__ref0 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4356 Parser_Lel_opt_lm_part_action *__ref1 = (Parser_Lel_opt_lm_part_action*)&rhs[1]->user.opt_lm_part_action;
4357 Parser_Lel_longest_match_part *__ref2 = (Parser_Lel_longest_match_part*)&redLel->user.longest_match_part;
4358 Parser_Lel_join *__ref3 = (Parser_Lel_join*)&rhs[0]->user.join;
4359 Token *__ref4 = (Token*)&rhs[2]->user.token;
4360 Parser_Lel_join *__ref5 = (Parser_Lel_join*)&rhs[0]->user.join;
4361 Token *__ref6 = (Token*)&rhs[2]->user.token;
4362 #line 294 "rlparse.kl"
4363
4364 (__ref0)->lmPart = 0;
4365 Action *action = (__ref1)->action;
4366 if ( action != 0 )
4367 action->isLmAction = true;
4368 (__ref2)->lmPart = new LongestMatchPart( (__ref3)->join, action,
4369 (__ref4)->loc, pd->nextLongestMatchId++ );
4370
4371 /* Provide a location to join. Unfortunately We don't
4372 * have the start of the join as in other occurances. Use the end. */
4373 (__ref5)->join->loc = (__ref6)->loc;
4374
4375
4376 #line 4375 "rlparse.cpp"
4377 } break;
4378 case 43: {
4379 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4380 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[1]->user.action_ref;
4381 #line 313 "rlparse.kl"
4382
4383 (__ref0)->action = (__ref1)->action;
4384
4385
4386 #line 4385 "rlparse.cpp"
4387 } break;
4388 case 44: {
4389 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4390 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
4391 #line 317 "rlparse.kl"
4392
4393 (__ref0)->action = (__ref1)->action;
4394
4395
4396 #line 4395 "rlparse.cpp"
4397 } break;
4398 case 45: {
4399 Parser_Lel_opt_lm_part_action *__ref0 = (Parser_Lel_opt_lm_part_action*)&redLel->user.opt_lm_part_action;
4400 #line 321 "rlparse.kl"
4401
4402 (__ref0)->action = 0;
4403
4404
4405 #line 4404 "rlparse.cpp"
4406 } break;
4407 case 46: {
4408 Parser_Lel_join *__ref0 = (Parser_Lel_join*)&rhs[0]->user.join;
4409 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[2]->user.expression;
4410 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&redLel->user.join;
4411 Parser_Lel_join *__ref3 = (Parser_Lel_join*)&rhs[0]->user.join;
4412 #line 332 "rlparse.kl"
4413
4414 /* Append the expression to the list and return it. */
4415 (__ref0)->join->exprList.append( (__ref1)->expression );
4416 (__ref2)->join = (__ref3)->join;
4417
4418
4419 #line 4418 "rlparse.cpp"
4420 } break;
4421 case 47: {
4422 Parser_Lel_join *__ref0 = (Parser_Lel_join*)&redLel->user.join;
4423 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4424 #line 338 "rlparse.kl"
4425
4426 (__ref0)->join = new Join( (__ref1)->expression );
4427
4428
4429 #line 4428 "rlparse.cpp"
4430 } break;
4431 case 48: {
4432 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4433 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4434 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4435 #line 348 "rlparse.kl"
4436
4437 (__ref0)->expression = new Expression( (__ref1)->expression,
4438 (__ref2)->term, Expression::OrType );
4439
4440
4441 #line 4440 "rlparse.cpp"
4442 } break;
4443 case 49: {
4444 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4445 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4446 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4447 #line 353 "rlparse.kl"
4448
4449 (__ref0)->expression = new Expression( (__ref1)->expression,
4450 (__ref2)->term, Expression::IntersectType );
4451
4452
4453 #line 4452 "rlparse.cpp"
4454 } break;
4455 case 50: {
4456 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4457 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4458 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4459 #line 358 "rlparse.kl"
4460
4461 (__ref0)->expression = new Expression( (__ref1)->expression,
4462 (__ref2)->term, Expression::SubtractType );
4463
4464
4465 #line 4464 "rlparse.cpp"
4466 } break;
4467 case 51: {
4468 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4469 Parser_Lel_expression *__ref1 = (Parser_Lel_expression*)&rhs[0]->user.expression;
4470 Parser_Lel_term_short *__ref2 = (Parser_Lel_term_short*)&rhs[2]->user.term_short;
4471 #line 363 "rlparse.kl"
4472
4473 (__ref0)->expression = new Expression( (__ref1)->expression,
4474 (__ref2)->term, Expression::StrongSubtractType );
4475
4476
4477 #line 4476 "rlparse.cpp"
4478 } break;
4479 case 52: {
4480 Parser_Lel_expression *__ref0 = (Parser_Lel_expression*)&redLel->user.expression;
4481 Parser_Lel_term_short *__ref1 = (Parser_Lel_term_short*)&rhs[0]->user.term_short;
4482 #line 368 "rlparse.kl"
4483
4484 (__ref0)->expression = new Expression( (__ref1)->term );
4485
4486
4487 #line 4486 "rlparse.cpp"
4488 } break;
4489 case 53: {
4490 Parser_Lel_term_short *__ref0 = (Parser_Lel_term_short*)&redLel->user.term_short;
4491 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4492 #line 389 "rlparse.kl"
4493
4494 (__ref0)->term = (__ref1)->term;
4495
4496
4497 #line 4496 "rlparse.cpp"
4498 } break;
4499 case 54: {
4500 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4501 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4502 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[1]->user.factor_with_label;
4503 #line 399 "rlparse.kl"
4504
4505 (__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug );
4506
4507
4508 #line 4507 "rlparse.cpp"
4509 } break;
4510 case 55: {
4511 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4512 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4513 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4514 #line 403 "rlparse.kl"
4515
4516 (__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug );
4517
4518
4519 #line 4518 "rlparse.cpp"
4520 } break;
4521 case 56: {
4522 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4523 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4524 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4525 #line 407 "rlparse.kl"
4526
4527 (__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug, Term::RightStartType );
4528
4529
4530 #line 4529 "rlparse.cpp"
4531 } break;
4532 case 57: {
4533 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4534 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4535 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4536 #line 411 "rlparse.kl"
4537
4538 (__ref0)->term = new Term( (__ref1)->term, (__ref2)->factorWithAug, Term::RightFinishType );
4539
4540
4541 #line 4540 "rlparse.cpp"
4542 } break;
4543 case 58: {
4544 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4545 Parser_Lel_term *__ref1 = (Parser_Lel_term*)&rhs[0]->user.term;
4546 Parser_Lel_factor_with_label *__ref2 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4547 #line 415 "rlparse.kl"
4548
4549 (__ref0)->term = new Term( (__ref1)->term,
4550 (__ref2)->factorWithAug, Term::LeftType );
4551
4552
4553 #line 4552 "rlparse.cpp"
4554 } break;
4555 case 59: {
4556 Parser_Lel_term *__ref0 = (Parser_Lel_term*)&redLel->user.term;
4557 Parser_Lel_factor_with_label *__ref1 = (Parser_Lel_factor_with_label*)&rhs[0]->user.factor_with_label;
4558 #line 420 "rlparse.kl"
4559
4560 (__ref0)->term = new Term( (__ref1)->factorWithAug );
4561
4562
4563 #line 4562 "rlparse.cpp"
4564 } break;
4565 case 60: {
4566 Parser_Lel_factor_with_label *__ref0 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4567 Token *__ref1 = (Token*)&rhs[0]->user.token;
4568 Token *__ref2 = (Token*)&rhs[0]->user.token;
4569 Parser_Lel_factor_with_label *__ref3 = (Parser_Lel_factor_with_label*)&redLel->user.factor_with_label;
4570 Parser_Lel_factor_with_label *__ref4 = (Parser_Lel_factor_with_label*)&rhs[2]->user.factor_with_label;
4571 #line 430 "rlparse.kl"
4572
4573 /* Add the label to the list and pass the factor up. */
4574 (__ref0)->factorWithAug->labels.prepend( Label((__ref1)->loc, (__ref2)->data) );
4575 (__ref3)->factorWithAug = (__ref4)->factorWithAug;
4576
4577
4578 #line 4577 "rlparse.cpp"
4579 } break;
4580 case 61: {
4581 Parser_Lel_factor_with_label *__ref0 = (Parser_Lel_factor_with_label*)&redLel->user.factor_with_label;
4582 Parser_Lel_factor_with_ep *__ref1 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4583 #line 436 "rlparse.kl"
4584
4585 (__ref0)->factorWithAug = (__ref1)->factorWithAug;
4586
4587
4588 #line 4587 "rlparse.cpp"
4589 } break;
4590 case 62: {
4591 Parser_Lel_factor_with_ep *__ref0 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4592 Token *__ref1 = (Token*)&rhs[1]->user.token;
4593 Parser_Lel_factor_with_ep *__ref2 = (Parser_Lel_factor_with_ep*)&redLel->user.factor_with_ep;
4594 Parser_Lel_factor_with_ep *__ref3 = (Parser_Lel_factor_with_ep*)&rhs[0]->user.factor_with_ep;
4595 #line 446 "rlparse.kl"
4596
4597 /* Add the target to the list and return the factor object. */
4598 (__ref0)->factorWithAug->epsilonLinks.append( EpsilonLink( (__ref1)->loc, nameRef ) );
4599 (__ref2)->factorWithAug = (__ref3)->factorWithAug;
4600
4601
4602 #line 4601 "rlparse.cpp"
4603 } break;
4604 case 63: {
4605 Parser_Lel_factor_with_ep *__ref0 = (Parser_Lel_factor_with_ep*)&redLel->user.factor_with_ep;
4606 Parser_Lel_factor_with_aug *__ref1 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4607 #line 452 "rlparse.kl"
4608
4609 (__ref0)->factorWithAug = (__ref1)->factorWithAug;
4610
4611
4612 #line 4611 "rlparse.cpp"
4613 } break;
4614 case 64: {
4615 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4616 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4617 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4618 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4619 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4620 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4621 #line 462 "rlparse.kl"
4622
4623 /* Append the action to the factorWithAug, record the refernce from
4624 * factorWithAug to the action and pass up the factorWithAug. */
4625 (__ref0)->factorWithAug->actions.append(
4626 ParserAction( (__ref1)->loc, (__ref2)->augType, 0, (__ref3)->action ) );
4627 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4628
4629
4630 #line 4629 "rlparse.cpp"
4631 } break;
4632 case 65: {
4633 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4634 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4635 Parser_Lel_priority_aug *__ref2 = (Parser_Lel_priority_aug*)&rhs[2]->user.priority_aug;
4636 Parser_Lel_factor_with_aug *__ref3 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4637 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4638 #line 470 "rlparse.kl"
4639
4640 /* Append the named priority to the factorWithAug and pass it up. */
4641 (__ref0)->factorWithAug->priorityAugs.append(
4642 PriorityAug( (__ref1)->augType, pd->curDefPriorKey, (__ref2)->priorityNum ) );
4643 (__ref3)->factorWithAug = (__ref4)->factorWithAug;
4644
4645
4646 #line 4645 "rlparse.cpp"
4647 } break;
4648 case 66: {
4649 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4650 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4651 Parser_Lel_priority_name *__ref2 = (Parser_Lel_priority_name*)&rhs[3]->user.priority_name;
4652 Parser_Lel_priority_aug *__ref3 = (Parser_Lel_priority_aug*)&rhs[5]->user.priority_aug;
4653 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4654 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4655 #line 477 "rlparse.kl"
4656
4657 /* Append the priority using a default name. */
4658 (__ref0)->factorWithAug->priorityAugs.append(
4659 PriorityAug( (__ref1)->augType, (__ref2)->priorityName, (__ref3)->priorityNum ) );
4660 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4661
4662
4663 #line 4662 "rlparse.cpp"
4664 } break;
4665 case 67: {
4666 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4667 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4668 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4669 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4670 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4671 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4672 #line 484 "rlparse.kl"
4673
4674 (__ref0)->factorWithAug->conditions.append( ConditionTest( (__ref1)->loc,
4675 (__ref2)->augType, (__ref3)->action, true ) );
4676 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4677
4678
4679 #line 4678 "rlparse.cpp"
4680 } break;
4681 case 68: {
4682 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4683 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4684 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4685 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[3]->user.action_ref;
4686 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4687 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4688 #line 490 "rlparse.kl"
4689
4690 (__ref0)->factorWithAug->conditions.append( ConditionTest( (__ref1)->loc,
4691 (__ref2)->augType, (__ref3)->action, false ) );
4692 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4693
4694
4695 #line 4694 "rlparse.cpp"
4696 } break;
4697 case 69: {
4698 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4699 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4700 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4701 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4702 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4703 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4704 #line 496 "rlparse.kl"
4705
4706 /* Append the action, pass it up. */
4707 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4708 (__ref2)->augType, 0, (__ref3)->action ) );
4709 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4710
4711
4712 #line 4711 "rlparse.cpp"
4713 } break;
4714 case 70: {
4715 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4716 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4717 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4718 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4719 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4720 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4721 #line 503 "rlparse.kl"
4722
4723 /* Append the action, pass it up. */
4724 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4725 (__ref2)->augType, 0, (__ref3)->action ) );
4726 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4727
4728
4729 #line 4728 "rlparse.cpp"
4730 } break;
4731 case 71: {
4732 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4733 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4734 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4735 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4736 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4737 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4738 #line 510 "rlparse.kl"
4739
4740 /* Append the action, pass it up. */
4741 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4742 (__ref2)->augType, 0, (__ref3)->action ) );
4743 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4744
4745
4746 #line 4745 "rlparse.cpp"
4747 } break;
4748 case 72: {
4749 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4750 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4751 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4752 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4753 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4754 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4755 #line 517 "rlparse.kl"
4756
4757 /* Append the action to the factorWithAug, record the refernce from
4758 * factorWithAug to the action and pass up the factorWithAug. */
4759 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4760 (__ref2)->augType, pd->curDefLocalErrKey, (__ref3)->action ) );
4761 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4762
4763
4764 #line 4763 "rlparse.cpp"
4765 } break;
4766 case 73: {
4767 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4768 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4769 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4770 Parser_Lel_action_ref *__ref3 = (Parser_Lel_action_ref*)&rhs[2]->user.action_ref;
4771 Parser_Lel_factor_with_aug *__ref4 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4772 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4773 #line 525 "rlparse.kl"
4774
4775 /* Append the action to the factorWithAug, record the refernce from
4776 * factorWithAug to the action and pass up the factorWithAug. */
4777 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4778 (__ref2)->augType, pd->curDefLocalErrKey, (__ref3)->action ) );
4779 (__ref4)->factorWithAug = (__ref5)->factorWithAug;
4780
4781
4782 #line 4781 "rlparse.cpp"
4783 } break;
4784 case 74: {
4785 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4786 Parser_Lel_aug_type *__ref1 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4787 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&rhs[1]->user.aug_type;
4788 Parser_Lel_local_err_name *__ref3 = (Parser_Lel_local_err_name*)&rhs[3]->user.local_err_name;
4789 Parser_Lel_action_ref *__ref4 = (Parser_Lel_action_ref*)&rhs[5]->user.action_ref;
4790 Parser_Lel_factor_with_aug *__ref5 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4791 Parser_Lel_factor_with_aug *__ref6 = (Parser_Lel_factor_with_aug*)&rhs[0]->user.factor_with_aug;
4792 #line 533 "rlparse.kl"
4793
4794 /* Append the action to the factorWithAug, record the refernce from
4795 * factorWithAug to the action and pass up the factorWithAug. */
4796 (__ref0)->factorWithAug->actions.append( ParserAction( (__ref1)->loc,
4797 (__ref2)->augType, (__ref3)->error_name, (__ref4)->action ) );
4798 (__ref5)->factorWithAug = (__ref6)->factorWithAug;
4799
4800
4801 #line 4800 "rlparse.cpp"
4802 } break;
4803 case 75: {
4804 Parser_Lel_factor_with_aug *__ref0 = (Parser_Lel_factor_with_aug*)&redLel->user.factor_with_aug;
4805 Parser_Lel_factor_with_rep *__ref1 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
4806 #line 541 "rlparse.kl"
4807
4808 (__ref0)->factorWithAug = new FactorWithAug( (__ref1)->factorWithRep );
4809
4810
4811 #line 4810 "rlparse.cpp"
4812 } break;
4813 case 76: {
4814 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4815 Token *__ref1 = (Token*)&rhs[0]->user.token;
4816 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4817 #line 554 "rlparse.kl"
4818 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_finish;
4819
4820 #line 4819 "rlparse.cpp"
4821 } break;
4822 case 77: {
4823 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4824 Token *__ref1 = (Token*)&rhs[0]->user.token;
4825 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4826 #line 555 "rlparse.kl"
4827 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4828
4829 #line 4828 "rlparse.cpp"
4830 } break;
4831 case 78: {
4832 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4833 Token *__ref1 = (Token*)&rhs[0]->user.token;
4834 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4835 #line 556 "rlparse.kl"
4836 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4837
4838 #line 4837 "rlparse.cpp"
4839 } break;
4840 case 79: {
4841 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4842 Token *__ref1 = (Token*)&rhs[0]->user.token;
4843 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4844 #line 557 "rlparse.kl"
4845 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4846
4847 #line 4846 "rlparse.cpp"
4848 } break;
4849 case 80: {
4850 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4851 Token *__ref1 = (Token*)&rhs[0]->user.token;
4852 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4853 #line 562 "rlparse.kl"
4854 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4855
4856 #line 4855 "rlparse.cpp"
4857 } break;
4858 case 81: {
4859 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4860 Token *__ref1 = (Token*)&rhs[0]->user.token;
4861 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4862 #line 563 "rlparse.kl"
4863 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4864
4865 #line 4864 "rlparse.cpp"
4866 } break;
4867 case 82: {
4868 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4869 Token *__ref1 = (Token*)&rhs[0]->user.token;
4870 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4871 #line 564 "rlparse.kl"
4872 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4873
4874 #line 4873 "rlparse.cpp"
4875 } break;
4876 case 83: {
4877 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4878 Token *__ref1 = (Token*)&rhs[0]->user.token;
4879 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4880 #line 565 "rlparse.kl"
4881 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4882
4883 #line 4882 "rlparse.cpp"
4884 } break;
4885 case 84: {
4886 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4887 Token *__ref1 = (Token*)&rhs[0]->user.token;
4888 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4889 #line 566 "rlparse.kl"
4890 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4891
4892 #line 4891 "rlparse.cpp"
4893 } break;
4894 case 85: {
4895 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4896 Token *__ref1 = (Token*)&rhs[0]->user.token;
4897 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4898 #line 567 "rlparse.kl"
4899 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4900
4901 #line 4900 "rlparse.cpp"
4902 } break;
4903 case 86: {
4904 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4905 Token *__ref1 = (Token*)&rhs[0]->user.token;
4906 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4907 #line 568 "rlparse.kl"
4908 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all;
4909
4910 #line 4909 "rlparse.cpp"
4911 } break;
4912 case 87: {
4913 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4914 Token *__ref1 = (Token*)&rhs[0]->user.token;
4915 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4916 #line 569 "rlparse.kl"
4917 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start;
4918
4919 #line 4918 "rlparse.cpp"
4920 } break;
4921 case 88: {
4922 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4923 Token *__ref1 = (Token*)&rhs[0]->user.token;
4924 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4925 #line 570 "rlparse.kl"
4926 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_leave;
4927
4928 #line 4927 "rlparse.cpp"
4929 } break;
4930 case 89: {
4931 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4932 Token *__ref1 = (Token*)&rhs[0]->user.token;
4933 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4934 #line 579 "rlparse.kl"
4935 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_to_state;
4936
4937 #line 4936 "rlparse.cpp"
4938 } break;
4939 case 90: {
4940 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4941 Token *__ref1 = (Token*)&rhs[0]->user.token;
4942 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4943 #line 581 "rlparse.kl"
4944 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_to_state;
4945
4946 #line 4945 "rlparse.cpp"
4947 } break;
4948 case 91: {
4949 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4950 Token *__ref1 = (Token*)&rhs[0]->user.token;
4951 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4952 #line 584 "rlparse.kl"
4953 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_to_state;
4954
4955 #line 4954 "rlparse.cpp"
4956 } break;
4957 case 92: {
4958 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4959 Token *__ref1 = (Token*)&rhs[0]->user.token;
4960 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4961 #line 586 "rlparse.kl"
4962 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_to_state;
4963
4964 #line 4963 "rlparse.cpp"
4965 } break;
4966 case 93: {
4967 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4968 Token *__ref1 = (Token*)&rhs[0]->user.token;
4969 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4970 #line 589 "rlparse.kl"
4971 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_to_state;
4972
4973 #line 4972 "rlparse.cpp"
4974 } break;
4975 case 94: {
4976 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4977 Token *__ref1 = (Token*)&rhs[0]->user.token;
4978 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4979 #line 591 "rlparse.kl"
4980 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_to_state;
4981
4982 #line 4981 "rlparse.cpp"
4983 } break;
4984 case 95: {
4985 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4986 Token *__ref1 = (Token*)&rhs[0]->user.token;
4987 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4988 #line 594 "rlparse.kl"
4989 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_to_state;
4990
4991 #line 4990 "rlparse.cpp"
4992 } break;
4993 case 96: {
4994 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4995 Token *__ref1 = (Token*)&rhs[0]->user.token;
4996 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
4997 #line 596 "rlparse.kl"
4998 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_to_state;
4999
5000 #line 4999 "rlparse.cpp"
5001 } break;
5002 case 97: {
5003 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5004 Token *__ref1 = (Token*)&rhs[0]->user.token;
5005 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5006 #line 599 "rlparse.kl"
5007 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_to_state;
5008
5009 #line 5008 "rlparse.cpp"
5010 } break;
5011 case 98: {
5012 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5013 Token *__ref1 = (Token*)&rhs[0]->user.token;
5014 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5015 #line 601 "rlparse.kl"
5016 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_to_state;
5017
5018 #line 5017 "rlparse.cpp"
5019 } break;
5020 case 99: {
5021 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5022 Token *__ref1 = (Token*)&rhs[0]->user.token;
5023 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5024 #line 604 "rlparse.kl"
5025 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_to_state;
5026
5027 #line 5026 "rlparse.cpp"
5028 } break;
5029 case 100: {
5030 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5031 Token *__ref1 = (Token*)&rhs[0]->user.token;
5032 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5033 #line 606 "rlparse.kl"
5034 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_to_state;
5035
5036 #line 5035 "rlparse.cpp"
5037 } break;
5038 case 101: {
5039 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5040 Token *__ref1 = (Token*)&rhs[0]->user.token;
5041 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5042 #line 615 "rlparse.kl"
5043 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_from_state;
5044
5045 #line 5044 "rlparse.cpp"
5046 } break;
5047 case 102: {
5048 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5049 Token *__ref1 = (Token*)&rhs[0]->user.token;
5050 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5051 #line 617 "rlparse.kl"
5052 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_from_state;
5053
5054 #line 5053 "rlparse.cpp"
5055 } break;
5056 case 103: {
5057 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5058 Token *__ref1 = (Token*)&rhs[0]->user.token;
5059 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5060 #line 620 "rlparse.kl"
5061 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_from_state;
5062
5063 #line 5062 "rlparse.cpp"
5064 } break;
5065 case 104: {
5066 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5067 Token *__ref1 = (Token*)&rhs[0]->user.token;
5068 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5069 #line 622 "rlparse.kl"
5070 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_from_state;
5071
5072 #line 5071 "rlparse.cpp"
5073 } break;
5074 case 105: {
5075 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5076 Token *__ref1 = (Token*)&rhs[0]->user.token;
5077 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5078 #line 625 "rlparse.kl"
5079 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_from_state;
5080
5081 #line 5080 "rlparse.cpp"
5082 } break;
5083 case 106: {
5084 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5085 Token *__ref1 = (Token*)&rhs[0]->user.token;
5086 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5087 #line 627 "rlparse.kl"
5088 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_from_state;
5089
5090 #line 5089 "rlparse.cpp"
5091 } break;
5092 case 107: {
5093 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5094 Token *__ref1 = (Token*)&rhs[0]->user.token;
5095 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5096 #line 630 "rlparse.kl"
5097 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_from_state;
5098
5099 #line 5098 "rlparse.cpp"
5100 } break;
5101 case 108: {
5102 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5103 Token *__ref1 = (Token*)&rhs[0]->user.token;
5104 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5105 #line 632 "rlparse.kl"
5106 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_from_state;
5107
5108 #line 5107 "rlparse.cpp"
5109 } break;
5110 case 109: {
5111 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5112 Token *__ref1 = (Token*)&rhs[0]->user.token;
5113 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5114 #line 635 "rlparse.kl"
5115 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_from_state;
5116
5117 #line 5116 "rlparse.cpp"
5118 } break;
5119 case 110: {
5120 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5121 Token *__ref1 = (Token*)&rhs[0]->user.token;
5122 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5123 #line 637 "rlparse.kl"
5124 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_from_state;
5125
5126 #line 5125 "rlparse.cpp"
5127 } break;
5128 case 111: {
5129 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5130 Token *__ref1 = (Token*)&rhs[0]->user.token;
5131 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5132 #line 640 "rlparse.kl"
5133 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_from_state;
5134
5135 #line 5134 "rlparse.cpp"
5136 } break;
5137 case 112: {
5138 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5139 Token *__ref1 = (Token*)&rhs[0]->user.token;
5140 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5141 #line 642 "rlparse.kl"
5142 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_from_state;
5143
5144 #line 5143 "rlparse.cpp"
5145 } break;
5146 case 113: {
5147 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5148 Token *__ref1 = (Token*)&rhs[0]->user.token;
5149 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5150 #line 651 "rlparse.kl"
5151 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_eof;
5152
5153 #line 5152 "rlparse.cpp"
5154 } break;
5155 case 114: {
5156 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5157 Token *__ref1 = (Token*)&rhs[0]->user.token;
5158 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5159 #line 653 "rlparse.kl"
5160 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_eof;
5161
5162 #line 5161 "rlparse.cpp"
5163 } break;
5164 case 115: {
5165 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5166 Token *__ref1 = (Token*)&rhs[0]->user.token;
5167 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5168 #line 656 "rlparse.kl"
5169 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_eof;
5170
5171 #line 5170 "rlparse.cpp"
5172 } break;
5173 case 116: {
5174 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5175 Token *__ref1 = (Token*)&rhs[0]->user.token;
5176 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5177 #line 658 "rlparse.kl"
5178 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_eof;
5179
5180 #line 5179 "rlparse.cpp"
5181 } break;
5182 case 117: {
5183 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5184 Token *__ref1 = (Token*)&rhs[0]->user.token;
5185 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5186 #line 661 "rlparse.kl"
5187 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_eof;
5188
5189 #line 5188 "rlparse.cpp"
5190 } break;
5191 case 118: {
5192 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5193 Token *__ref1 = (Token*)&rhs[0]->user.token;
5194 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5195 #line 663 "rlparse.kl"
5196 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_eof;
5197
5198 #line 5197 "rlparse.cpp"
5199 } break;
5200 case 119: {
5201 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5202 Token *__ref1 = (Token*)&rhs[0]->user.token;
5203 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5204 #line 666 "rlparse.kl"
5205 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_eof;
5206
5207 #line 5206 "rlparse.cpp"
5208 } break;
5209 case 120: {
5210 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5211 Token *__ref1 = (Token*)&rhs[0]->user.token;
5212 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5213 #line 668 "rlparse.kl"
5214 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_eof;
5215
5216 #line 5215 "rlparse.cpp"
5217 } break;
5218 case 121: {
5219 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5220 Token *__ref1 = (Token*)&rhs[0]->user.token;
5221 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5222 #line 671 "rlparse.kl"
5223 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_eof;
5224
5225 #line 5224 "rlparse.cpp"
5226 } break;
5227 case 122: {
5228 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5229 Token *__ref1 = (Token*)&rhs[0]->user.token;
5230 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5231 #line 673 "rlparse.kl"
5232 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_eof;
5233
5234 #line 5233 "rlparse.cpp"
5235 } break;
5236 case 123: {
5237 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5238 Token *__ref1 = (Token*)&rhs[0]->user.token;
5239 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5240 #line 676 "rlparse.kl"
5241 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_eof;
5242
5243 #line 5242 "rlparse.cpp"
5244 } break;
5245 case 124: {
5246 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5247 Token *__ref1 = (Token*)&rhs[0]->user.token;
5248 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5249 #line 678 "rlparse.kl"
5250 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_eof;
5251
5252 #line 5251 "rlparse.cpp"
5253 } break;
5254 case 125: {
5255 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5256 Token *__ref1 = (Token*)&rhs[0]->user.token;
5257 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5258 #line 687 "rlparse.kl"
5259 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_gbl_error;
5260
5261 #line 5260 "rlparse.cpp"
5262 } break;
5263 case 126: {
5264 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5265 Token *__ref1 = (Token*)&rhs[0]->user.token;
5266 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5267 #line 689 "rlparse.kl"
5268 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_gbl_error;
5269
5270 #line 5269 "rlparse.cpp"
5271 } break;
5272 case 127: {
5273 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5274 Token *__ref1 = (Token*)&rhs[0]->user.token;
5275 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5276 #line 692 "rlparse.kl"
5277 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_gbl_error;
5278
5279 #line 5278 "rlparse.cpp"
5280 } break;
5281 case 128: {
5282 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5283 Token *__ref1 = (Token*)&rhs[0]->user.token;
5284 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5285 #line 694 "rlparse.kl"
5286 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_gbl_error;
5287
5288 #line 5287 "rlparse.cpp"
5289 } break;
5290 case 129: {
5291 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5292 Token *__ref1 = (Token*)&rhs[0]->user.token;
5293 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5294 #line 697 "rlparse.kl"
5295 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_gbl_error;
5296
5297 #line 5296 "rlparse.cpp"
5298 } break;
5299 case 130: {
5300 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5301 Token *__ref1 = (Token*)&rhs[0]->user.token;
5302 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5303 #line 699 "rlparse.kl"
5304 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_gbl_error;
5305
5306 #line 5305 "rlparse.cpp"
5307 } break;
5308 case 131: {
5309 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5310 Token *__ref1 = (Token*)&rhs[0]->user.token;
5311 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5312 #line 702 "rlparse.kl"
5313 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_gbl_error;
5314
5315 #line 5314 "rlparse.cpp"
5316 } break;
5317 case 132: {
5318 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5319 Token *__ref1 = (Token*)&rhs[0]->user.token;
5320 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5321 #line 704 "rlparse.kl"
5322 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_gbl_error;
5323
5324 #line 5323 "rlparse.cpp"
5325 } break;
5326 case 133: {
5327 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5328 Token *__ref1 = (Token*)&rhs[0]->user.token;
5329 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5330 #line 707 "rlparse.kl"
5331 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_gbl_error;
5332
5333 #line 5332 "rlparse.cpp"
5334 } break;
5335 case 134: {
5336 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5337 Token *__ref1 = (Token*)&rhs[0]->user.token;
5338 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5339 #line 709 "rlparse.kl"
5340 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_gbl_error;
5341
5342 #line 5341 "rlparse.cpp"
5343 } break;
5344 case 135: {
5345 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5346 Token *__ref1 = (Token*)&rhs[0]->user.token;
5347 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5348 #line 712 "rlparse.kl"
5349 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_gbl_error;
5350
5351 #line 5350 "rlparse.cpp"
5352 } break;
5353 case 136: {
5354 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5355 Token *__ref1 = (Token*)&rhs[0]->user.token;
5356 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5357 #line 714 "rlparse.kl"
5358 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_gbl_error;
5359
5360 #line 5359 "rlparse.cpp"
5361 } break;
5362 case 137: {
5363 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5364 Token *__ref1 = (Token*)&rhs[0]->user.token;
5365 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5366 #line 724 "rlparse.kl"
5367 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_local_error;
5368
5369 #line 5368 "rlparse.cpp"
5370 } break;
5371 case 138: {
5372 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5373 Token *__ref1 = (Token*)&rhs[0]->user.token;
5374 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5375 #line 726 "rlparse.kl"
5376 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_start_local_error;
5377
5378 #line 5377 "rlparse.cpp"
5379 } break;
5380 case 139: {
5381 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5382 Token *__ref1 = (Token*)&rhs[0]->user.token;
5383 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5384 #line 729 "rlparse.kl"
5385 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_local_error;
5386
5387 #line 5386 "rlparse.cpp"
5388 } break;
5389 case 140: {
5390 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5391 Token *__ref1 = (Token*)&rhs[0]->user.token;
5392 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5393 #line 731 "rlparse.kl"
5394 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_start_local_error;
5395
5396 #line 5395 "rlparse.cpp"
5397 } break;
5398 case 141: {
5399 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5400 Token *__ref1 = (Token*)&rhs[0]->user.token;
5401 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5402 #line 734 "rlparse.kl"
5403 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_local_error;
5404
5405 #line 5404 "rlparse.cpp"
5406 } break;
5407 case 142: {
5408 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5409 Token *__ref1 = (Token*)&rhs[0]->user.token;
5410 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5411 #line 736 "rlparse.kl"
5412 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_all_local_error;
5413
5414 #line 5413 "rlparse.cpp"
5415 } break;
5416 case 143: {
5417 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5418 Token *__ref1 = (Token*)&rhs[0]->user.token;
5419 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5420 #line 739 "rlparse.kl"
5421 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_local_error;
5422
5423 #line 5422 "rlparse.cpp"
5424 } break;
5425 case 144: {
5426 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5427 Token *__ref1 = (Token*)&rhs[0]->user.token;
5428 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5429 #line 741 "rlparse.kl"
5430 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_final_local_error;
5431
5432 #line 5431 "rlparse.cpp"
5433 } break;
5434 case 145: {
5435 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5436 Token *__ref1 = (Token*)&rhs[0]->user.token;
5437 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5438 #line 744 "rlparse.kl"
5439 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_local_error;
5440
5441 #line 5440 "rlparse.cpp"
5442 } break;
5443 case 146: {
5444 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5445 Token *__ref1 = (Token*)&rhs[0]->user.token;
5446 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5447 #line 746 "rlparse.kl"
5448 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_not_final_local_error;
5449
5450 #line 5449 "rlparse.cpp"
5451 } break;
5452 case 147: {
5453 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5454 Token *__ref1 = (Token*)&rhs[0]->user.token;
5455 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5456 #line 749 "rlparse.kl"
5457 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_local_error;
5458
5459 #line 5458 "rlparse.cpp"
5460 } break;
5461 case 148: {
5462 Parser_Lel_aug_type *__ref0 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5463 Token *__ref1 = (Token*)&rhs[0]->user.token;
5464 Parser_Lel_aug_type *__ref2 = (Parser_Lel_aug_type*)&redLel->user.aug_type;
5465 #line 751 "rlparse.kl"
5466 (__ref0)->loc = (__ref1)->loc; (__ref2)->augType = at_middle_local_error;
5467
5468 #line 5467 "rlparse.cpp"
5469 } break;
5470 case 149: {
5471 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5472 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
5473 #line 764 "rlparse.kl"
5474 (__ref0)->action = (__ref1)->action;
5475
5476 #line 5475 "rlparse.cpp"
5477 } break;
5478 case 150: {
5479 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5480 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[1]->user.action_ref;
5481 #line 765 "rlparse.kl"
5482 (__ref0)->action = (__ref1)->action;
5483
5484 #line 5483 "rlparse.cpp"
5485 } break;
5486 case 151: {
5487 Parser_Lel_action_ref *__ref0 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5488 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&rhs[0]->user.action_ref;
5489 #line 766 "rlparse.kl"
5490 (__ref0)->action = (__ref1)->action;
5491
5492 #line 5491 "rlparse.cpp"
5493 } break;
5494 case 152: {
5495 Token *__ref0 = (Token*)&rhs[0]->user.token;
5496 Parser_Lel_action_ref *__ref1 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5497 Token *__ref2 = (Token*)&rhs[0]->user.token;
5498 Token *__ref3 = (Token*)&rhs[0]->user.token;
5499 Parser_Lel_action_ref *__ref4 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5500 #line 771 "rlparse.kl"
5501
5502 /* Set the name in the actionDict. */
5503 Action *action = pd->actionDict.find( (__ref0)->data );
5504 if ( action != 0 ) {
5505 /* Pass up the action element */
5506 (__ref1)->action = action;
5507 }
5508 else {
5509 /* Will recover by returning null as the action. */
5510 error((__ref2)->loc) << "action lookup of \"" << (__ref3)->data << "\" failed" << endl;
5511 (__ref4)->action = 0;
5512 }
5513
5514
5515 #line 5514 "rlparse.cpp"
5516 } break;
5517 case 153: {
5518 Token *__ref0 = (Token*)&rhs[0]->user.token;
5519 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
5520 Parser_Lel_action_ref *__ref2 = (Parser_Lel_action_ref*)&redLel->user.action_ref;
5521 #line 788 "rlparse.kl"
5522
5523 /* Create the action, add it to the list and pass up. */
5524 Action *newAction = new Action( (__ref0)->loc, 0, (__ref1)->inlineList, pd->nextCondId++ );
5525 pd->actionList.append( newAction );
5526 (__ref2)->action = newAction;
5527
5528
5529 #line 5528 "rlparse.cpp"
5530 } break;
5531 case 154: {
5532 Token *__ref0 = (Token*)&rhs[0]->user.token;
5533 Parser_Lel_priority_name *__ref1 = (Parser_Lel_priority_name*)&redLel->user.priority_name;
5534 #line 803 "rlparse.kl"
5535
5536 // Lookup/create the priority key.
5537 PriorDictEl *priorDictEl;
5538 if ( pd->priorDict.insert( (__ref0)->data, pd->nextPriorKey, &priorDictEl ) )
5539 pd->nextPriorKey += 1;
5540
5541 // Use the inserted/found priority key.
5542 (__ref1)->priorityName = priorDictEl->value;
5543
5544
5545 #line 5544 "rlparse.cpp"
5546 } break;
5547 case 155: {
5548 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5549 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5550 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5551 Parser_Lel_priority_aug *__ref3 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5552 Parser_Lel_token_type *__ref4 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5553 Parser_Lel_token_type *__ref5 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5554 Parser_Lel_priority_aug *__ref6 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5555 Parser_Lel_priority_aug *__ref7 = (Parser_Lel_priority_aug*)&redLel->user.priority_aug;
5556 #line 820 "rlparse.kl"
5557
5558 // Convert the priority number to a long. Check for overflow.
5559 errno = 0;
5560 //cerr << "PRIOR AUG: " << $1->token.data << endl;
5561 long aug = strtol( (__ref0)->token.data, 0, 10 );
5562 if ( errno == ERANGE && aug == LONG_MAX ) {
5563 /* Priority number too large. Recover by setting the priority to 0. */
5564 error((__ref1)->token.loc) << "priority number " << (__ref2)->token.data <<
5565 " overflows" << endl;
5566 (__ref3)->priorityNum = 0;
5567 }
5568 else if ( errno == ERANGE && aug == LONG_MIN ) {
5569 /* Priority number too large in the neg. Recover by using 0. */
5570 error((__ref4)->token.loc) << "priority number " << (__ref5)->token.data <<
5571 " underflows" << endl;
5572 (__ref6)->priorityNum = 0;
5573 }
5574 else {
5575 /* No overflow or underflow. */
5576 (__ref7)->priorityNum = aug;
5577 }
5578
5579
5580 #line 5579 "rlparse.cpp"
5581 } break;
5582 case 156: {
5583 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5584 Token *__ref1 = (Token*)&rhs[0]->user.token;
5585 #line 846 "rlparse.kl"
5586
5587 (__ref0)->token = *(__ref1);
5588
5589
5590 #line 5589 "rlparse.cpp"
5591 } break;
5592 case 157: {
5593 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5594 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5595 Token *__ref2 = (Token*)&rhs[0]->user.token;
5596 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5597 Token *__ref4 = (Token*)&rhs[1]->user.token;
5598 #line 850 "rlparse.kl"
5599
5600 (__ref0)->token.set( "+", 1 );
5601 (__ref1)->token.loc = (__ref2)->loc;
5602 (__ref3)->token.append( *(__ref4) );
5603
5604
5605 #line 5604 "rlparse.cpp"
5606 } break;
5607 case 158: {
5608 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5609 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5610 Token *__ref2 = (Token*)&rhs[0]->user.token;
5611 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5612 Token *__ref4 = (Token*)&rhs[1]->user.token;
5613 #line 856 "rlparse.kl"
5614
5615 (__ref0)->token.set( "-", 1 );
5616 (__ref1)->token.loc = (__ref2)->loc;
5617 (__ref3)->token.append( *(__ref4) );
5618
5619
5620 #line 5619 "rlparse.cpp"
5621 } break;
5622 case 159: {
5623 Token *__ref0 = (Token*)&rhs[0]->user.token;
5624 Parser_Lel_local_err_name *__ref1 = (Parser_Lel_local_err_name*)&redLel->user.local_err_name;
5625 #line 868 "rlparse.kl"
5626
5627 /* Lookup/create the priority key. */
5628 LocalErrDictEl *localErrDictEl;
5629 if ( pd->localErrDict.insert( (__ref0)->data, pd->nextLocalErrKey, &localErrDictEl ) )
5630 pd->nextLocalErrKey += 1;
5631
5632 /* Use the inserted/found priority key. */
5633 (__ref1)->error_name = localErrDictEl->value;
5634
5635
5636 #line 5635 "rlparse.cpp"
5637 } break;
5638 case 160: {
5639 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5640 Token *__ref1 = (Token*)&rhs[1]->user.token;
5641 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5642 #line 889 "rlparse.kl"
5643
5644 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5645 0, 0, FactorWithRep::StarType );
5646
5647
5648 #line 5647 "rlparse.cpp"
5649 } break;
5650 case 161: {
5651 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5652 Token *__ref1 = (Token*)&rhs[1]->user.token;
5653 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5654 #line 894 "rlparse.kl"
5655
5656 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5657 0, 0, FactorWithRep::StarStarType );
5658
5659
5660 #line 5659 "rlparse.cpp"
5661 } break;
5662 case 162: {
5663 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5664 Token *__ref1 = (Token*)&rhs[1]->user.token;
5665 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5666 #line 899 "rlparse.kl"
5667
5668 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5669 0, 0, FactorWithRep::OptionalType );
5670
5671
5672 #line 5671 "rlparse.cpp"
5673 } break;
5674 case 163: {
5675 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5676 Token *__ref1 = (Token*)&rhs[1]->user.token;
5677 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5678 #line 904 "rlparse.kl"
5679
5680 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5681 0, 0, FactorWithRep::PlusType );
5682
5683
5684 #line 5683 "rlparse.cpp"
5685 } break;
5686 case 164: {
5687 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5688 Token *__ref1 = (Token*)&rhs[1]->user.token;
5689 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5690 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5691 #line 909 "rlparse.kl"
5692
5693 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5694 (__ref3)->rep, 0, FactorWithRep::ExactType );
5695
5696
5697 #line 5696 "rlparse.cpp"
5698 } break;
5699 case 165: {
5700 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5701 Token *__ref1 = (Token*)&rhs[1]->user.token;
5702 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5703 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[3]->user.factor_rep_num;
5704 #line 914 "rlparse.kl"
5705
5706 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5707 0, (__ref3)->rep, FactorWithRep::MaxType );
5708
5709
5710 #line 5709 "rlparse.cpp"
5711 } break;
5712 case 166: {
5713 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5714 Token *__ref1 = (Token*)&rhs[1]->user.token;
5715 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5716 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5717 #line 919 "rlparse.kl"
5718
5719 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5720 (__ref3)->rep, 0, FactorWithRep::MinType );
5721
5722
5723 #line 5722 "rlparse.cpp"
5724 } break;
5725 case 167: {
5726 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5727 Token *__ref1 = (Token*)&rhs[1]->user.token;
5728 Parser_Lel_factor_with_rep *__ref2 = (Parser_Lel_factor_with_rep*)&rhs[0]->user.factor_with_rep;
5729 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&rhs[2]->user.factor_rep_num;
5730 Parser_Lel_factor_rep_num *__ref4 = (Parser_Lel_factor_rep_num*)&rhs[4]->user.factor_rep_num;
5731 #line 924 "rlparse.kl"
5732
5733 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->loc, (__ref2)->factorWithRep,
5734 (__ref3)->rep, (__ref4)->rep, FactorWithRep::RangeType );
5735
5736
5737 #line 5736 "rlparse.cpp"
5738 } break;
5739 case 168: {
5740 Parser_Lel_factor_with_rep *__ref0 = (Parser_Lel_factor_with_rep*)&redLel->user.factor_with_rep;
5741 Parser_Lel_factor_with_neg *__ref1 = (Parser_Lel_factor_with_neg*)&rhs[0]->user.factor_with_neg;
5742 #line 929 "rlparse.kl"
5743
5744 (__ref0)->factorWithRep = new FactorWithRep( (__ref1)->factorWithNeg );
5745
5746
5747 #line 5746 "rlparse.cpp"
5748 } break;
5749 case 169: {
5750 Token *__ref0 = (Token*)&rhs[0]->user.token;
5751 Token *__ref1 = (Token*)&rhs[0]->user.token;
5752 Token *__ref2 = (Token*)&rhs[0]->user.token;
5753 Parser_Lel_factor_rep_num *__ref3 = (Parser_Lel_factor_rep_num*)&redLel->user.factor_rep_num;
5754 Parser_Lel_factor_rep_num *__ref4 = (Parser_Lel_factor_rep_num*)&redLel->user.factor_rep_num;
5755 #line 939 "rlparse.kl"
5756
5757 // Convert the priority number to a long. Check for overflow.
5758 errno = 0;
5759 long rep = strtol( (__ref0)->data, 0, 10 );
5760 if ( errno == ERANGE && rep == LONG_MAX ) {
5761 // Repetition too large. Recover by returing repetition 1. */
5762 error((__ref1)->loc) << "repetition number " << (__ref2)->data << " overflows" << endl;
5763 (__ref3)->rep = 1;
5764 }
5765 else {
5766 // Cannot be negative, so no overflow.
5767 (__ref4)->rep = rep;
5768 }
5769
5770
5771 #line 5770 "rlparse.cpp"
5772 } break;
5773 case 170: {
5774 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5775 Token *__ref1 = (Token*)&rhs[0]->user.token;
5776 Parser_Lel_factor_with_neg *__ref2 = (Parser_Lel_factor_with_neg*)&rhs[1]->user.factor_with_neg;
5777 #line 965 "rlparse.kl"
5778
5779 (__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->loc,
5780 (__ref2)->factorWithNeg, FactorWithNeg::NegateType );
5781
5782
5783 #line 5782 "rlparse.cpp"
5784 } break;
5785 case 171: {
5786 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5787 Token *__ref1 = (Token*)&rhs[0]->user.token;
5788 Parser_Lel_factor_with_neg *__ref2 = (Parser_Lel_factor_with_neg*)&rhs[1]->user.factor_with_neg;
5789 #line 970 "rlparse.kl"
5790
5791 (__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->loc,
5792 (__ref2)->factorWithNeg, FactorWithNeg::CharNegateType );
5793
5794
5795 #line 5794 "rlparse.cpp"
5796 } break;
5797 case 172: {
5798 Parser_Lel_factor_with_neg *__ref0 = (Parser_Lel_factor_with_neg*)&redLel->user.factor_with_neg;
5799 Parser_Lel_factor *__ref1 = (Parser_Lel_factor*)&rhs[0]->user.factor;
5800 #line 975 "rlparse.kl"
5801
5802 (__ref0)->factorWithNeg = new FactorWithNeg( (__ref1)->factor );
5803
5804
5805 #line 5804 "rlparse.cpp"
5806 } break;
5807 case 173: {
5808 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5809 Token *__ref1 = (Token*)&rhs[0]->user.token;
5810 #line 985 "rlparse.kl"
5811
5812 /* Create a new factor node going to a concat literal. */
5813 (__ref0)->factor = new Factor( new Literal( *(__ref1), Literal::LitString ) );
5814
5815
5816 #line 5815 "rlparse.cpp"
5817 } break;
5818 case 174: {
5819 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5820 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5821 #line 990 "rlparse.kl"
5822
5823 /* Create a new factor node going to a literal number. */
5824 (__ref0)->factor = new Factor( new Literal( (__ref1)->token, Literal::Number ) );
5825
5826
5827 #line 5826 "rlparse.cpp"
5828 } break;
5829 case 175: {
5830 Token *__ref0 = (Token*)&rhs[0]->user.token;
5831 Token *__ref1 = (Token*)&rhs[0]->user.token;
5832 Token *__ref2 = (Token*)&rhs[0]->user.token;
5833 Parser_Lel_factor *__ref3 = (Parser_Lel_factor*)&redLel->user.factor;
5834 Token *__ref4 = (Token*)&rhs[0]->user.token;
5835 Parser_Lel_factor *__ref5 = (Parser_Lel_factor*)&redLel->user.factor;
5836 Parser_Lel_factor *__ref6 = (Parser_Lel_factor*)&redLel->user.factor;
5837 Token *__ref7 = (Token*)&rhs[0]->user.token;
5838 #line 995 "rlparse.kl"
5839
5840 /* Find the named graph. */
5841 GraphDictEl *gdNode = pd->graphDict.find( (__ref0)->data );
5842 if ( gdNode == 0 ) {
5843 /* Recover by returning null as the factor node. */
5844 error((__ref1)->loc) << "graph lookup of \"" << (__ref2)->data << "\" failed" << endl;
5845 (__ref3)->factor = 0;
5846 }
5847 else if ( gdNode->isInstance ) {
5848 /* Recover by retuning null as the factor node. */
5849 error((__ref4)->loc) << "references to graph instantiations not allowed "
5850 "in expressions" << endl;
5851 (__ref5)->factor = 0;
5852 }
5853 else {
5854 /* Create a factor node that is a lookup of an expression. */
5855 (__ref6)->factor = new Factor( (__ref7)->loc, gdNode->value );
5856 }
5857
5858
5859 #line 5858 "rlparse.cpp"
5860 } break;
5861 case 176: {
5862 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5863 Token *__ref1 = (Token*)&rhs[0]->user.token;
5864 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
5865 #line 1015 "rlparse.kl"
5866
5867 /* Create a new factor node going to an OR expression. */
5868 (__ref0)->factor = new Factor( new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::OrBlock ) );
5869
5870
5871 #line 5870 "rlparse.cpp"
5872 } break;
5873 case 177: {
5874 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5875 Token *__ref1 = (Token*)&rhs[0]->user.token;
5876 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
5877 #line 1020 "rlparse.kl"
5878
5879 /* Create a new factor node going to a negated OR expression. */
5880 (__ref0)->factor = new Factor( new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::NegOrBlock ) );
5881
5882
5883 #line 5882 "rlparse.cpp"
5884 } break;
5885 case 178: {
5886 Token *__ref0 = (Token*)&rhs[2]->user.token;
5887 Token *__ref1 = (Token*)&rhs[2]->user.token;
5888 Parser_Lel_regular_expr *__ref2 = (Parser_Lel_regular_expr*)&rhs[1]->user.regular_expr;
5889 Parser_Lel_factor *__ref3 = (Parser_Lel_factor*)&redLel->user.factor;
5890 Parser_Lel_regular_expr *__ref4 = (Parser_Lel_regular_expr*)&rhs[1]->user.regular_expr;
5891 #line 1025 "rlparse.kl"
5892
5893 if ( (__ref0)->length > 1 ) {
5894 for ( char *p = (__ref1)->data; *p != 0; p++ ) {
5895 if ( *p == 'i' )
5896 (__ref2)->regExpr->caseInsensitive = true;
5897 }
5898 }
5899
5900 /* Create a new factor node going to a regular exp. */
5901 (__ref3)->factor = new Factor( (__ref4)->regExpr );
5902
5903
5904 #line 5903 "rlparse.cpp"
5905 } break;
5906 case 179: {
5907 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5908 Parser_Lel_range_lit *__ref1 = (Parser_Lel_range_lit*)&rhs[0]->user.range_lit;
5909 Parser_Lel_range_lit *__ref2 = (Parser_Lel_range_lit*)&rhs[2]->user.range_lit;
5910 #line 1037 "rlparse.kl"
5911
5912 /* Create a new factor node going to a range. */
5913 (__ref0)->factor = new Factor( new Range( (__ref1)->literal, (__ref2)->literal ) );
5914
5915
5916 #line 5915 "rlparse.cpp"
5917 } break;
5918 case 180: {
5919 Parser_Lel_factor *__ref0 = (Parser_Lel_factor*)&redLel->user.factor;
5920 Parser_Lel_join *__ref1 = (Parser_Lel_join*)&rhs[1]->user.join;
5921 Parser_Lel_join *__ref2 = (Parser_Lel_join*)&rhs[1]->user.join;
5922 Token *__ref3 = (Token*)&rhs[0]->user.token;
5923 #line 1042 "rlparse.kl"
5924
5925 /* Create a new factor going to a parenthesized join. */
5926 (__ref0)->factor = new Factor( (__ref1)->join );
5927 (__ref2)->join->loc = (__ref3)->loc;
5928
5929
5930 #line 5929 "rlparse.cpp"
5931 } break;
5932 case 181: {
5933 Parser_Lel_range_lit *__ref0 = (Parser_Lel_range_lit*)&redLel->user.range_lit;
5934 Token *__ref1 = (Token*)&rhs[0]->user.token;
5935 #line 1055 "rlparse.kl"
5936
5937 /* Range literas must have only one char. We restrict this in the parse tree. */
5938 (__ref0)->literal = new Literal( *(__ref1), Literal::LitString );
5939
5940
5941 #line 5940 "rlparse.cpp"
5942 } break;
5943 case 182: {
5944 Parser_Lel_range_lit *__ref0 = (Parser_Lel_range_lit*)&redLel->user.range_lit;
5945 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
5946 #line 1060 "rlparse.kl"
5947
5948 /* Create a new literal number. */
5949 (__ref0)->literal = new Literal( (__ref1)->token, Literal::Number );
5950
5951
5952 #line 5951 "rlparse.cpp"
5953 } break;
5954 case 183: {
5955 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5956 Token *__ref1 = (Token*)&rhs[0]->user.token;
5957 #line 1069 "rlparse.kl"
5958
5959 (__ref0)->token = *(__ref1);
5960
5961
5962 #line 5961 "rlparse.cpp"
5963 } break;
5964 case 184: {
5965 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5966 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&redLel->user.token_type;
5967 Token *__ref2 = (Token*)&rhs[0]->user.token;
5968 Parser_Lel_token_type *__ref3 = (Parser_Lel_token_type*)&redLel->user.token_type;
5969 Token *__ref4 = (Token*)&rhs[1]->user.token;
5970 #line 1073 "rlparse.kl"
5971
5972 (__ref0)->token.set( "-", 1 );
5973 (__ref1)->token.loc = (__ref2)->loc;
5974 (__ref3)->token.append( *(__ref4) );
5975
5976
5977 #line 5976 "rlparse.cpp"
5978 } break;
5979 case 185: {
5980 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
5981 Token *__ref1 = (Token*)&rhs[0]->user.token;
5982 #line 1079 "rlparse.kl"
5983
5984 (__ref0)->token = *(__ref1);
5985
5986
5987 #line 5986 "rlparse.cpp"
5988 } break;
5989 case 186: {
5990 Parser_Lel_regular_expr_item *__ref0 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5991 Parser_Lel_regular_expr_item *__ref1 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5992 Parser_Lel_regular_expr *__ref2 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5993 Parser_Lel_regular_expr *__ref3 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5994 Parser_Lel_regular_expr *__ref4 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5995 Parser_Lel_regular_expr *__ref5 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
5996 Parser_Lel_regular_expr_item *__ref6 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5997 Parser_Lel_regular_expr_item *__ref7 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
5998 Parser_Lel_regular_expr *__ref8 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
5999 Parser_Lel_regular_expr *__ref9 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
6000 Parser_Lel_regular_expr *__ref10 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
6001 Parser_Lel_regular_expr *__ref11 = (Parser_Lel_regular_expr*)&rhs[0]->user.regular_expr;
6002 Parser_Lel_regular_expr_item *__ref12 = (Parser_Lel_regular_expr_item*)&rhs[1]->user.regular_expr_item;
6003 #line 1094 "rlparse.kl"
6004
6005 /* An optimization to lessen the tree size. If a non-starred char is
6006 * directly under the left side on the right and the right side is
6007 * another non-starred char then paste them together and return the
6008 * left side. Otherwise just put the two under a new reg exp node. */
6009 if ( (__ref0)->reItem->type == ReItem::Data && !(__ref1)->reItem->star &&
6010 (__ref2)->regExpr->type == RegExpr::RecurseItem &&
6011 (__ref3)->regExpr->item->type == ReItem::Data && !(__ref4)->regExpr->item->star )
6012 {
6013 /* Append the right side to the right side of the left and toss the
6014 * right side. */
6015 (__ref5)->regExpr->item->token.append( (__ref6)->reItem->token );
6016 delete (__ref7)->reItem;
6017 (__ref8)->regExpr = (__ref9)->regExpr;
6018 }
6019 else {
6020 (__ref10)->regExpr = new RegExpr( (__ref11)->regExpr, (__ref12)->reItem );
6021 }
6022
6023
6024 #line 6023 "rlparse.cpp"
6025 } break;
6026 case 187: {
6027 Parser_Lel_regular_expr *__ref0 = (Parser_Lel_regular_expr*)&redLel->user.regular_expr;
6028 #line 1114 "rlparse.kl"
6029
6030 /* Can't optimize the tree. */
6031 (__ref0)->regExpr = new RegExpr();
6032
6033
6034 #line 6033 "rlparse.cpp"
6035 } break;
6036 case 188: {
6037 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6038 Parser_Lel_regular_expr_item *__ref1 = (Parser_Lel_regular_expr_item*)&redLel->user.regular_expr_item;
6039 Parser_Lel_regular_expr_char *__ref2 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6040 #line 1126 "rlparse.kl"
6041
6042 (__ref0)->reItem->star = true;
6043 (__ref1)->reItem = (__ref2)->reItem;
6044
6045
6046 #line 6045 "rlparse.cpp"
6047 } break;
6048 case 189: {
6049 Parser_Lel_regular_expr_item *__ref0 = (Parser_Lel_regular_expr_item*)&redLel->user.regular_expr_item;
6050 Parser_Lel_regular_expr_char *__ref1 = (Parser_Lel_regular_expr_char*)&rhs[0]->user.regular_expr_char;
6051 #line 1131 "rlparse.kl"
6052
6053 (__ref0)->reItem = (__ref1)->reItem;
6054
6055
6056 #line 6055 "rlparse.cpp"
6057 } break;
6058 case 190: {
6059 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6060 Token *__ref1 = (Token*)&rhs[0]->user.token;
6061 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
6062 #line 1143 "rlparse.kl"
6063
6064 (__ref0)->reItem = new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::OrBlock );
6065
6066
6067 #line 6066 "rlparse.cpp"
6068 } break;
6069 case 191: {
6070 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6071 Token *__ref1 = (Token*)&rhs[0]->user.token;
6072 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[1]->user.regular_expr_or_data;
6073 #line 1147 "rlparse.kl"
6074
6075 (__ref0)->reItem = new ReItem( (__ref1)->loc, (__ref2)->reOrBlock, ReItem::NegOrBlock );
6076
6077
6078 #line 6077 "rlparse.cpp"
6079 } break;
6080 case 192: {
6081 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6082 Token *__ref1 = (Token*)&rhs[0]->user.token;
6083 #line 1151 "rlparse.kl"
6084
6085 (__ref0)->reItem = new ReItem( (__ref1)->loc, ReItem::Dot );
6086
6087
6088 #line 6087 "rlparse.cpp"
6089 } break;
6090 case 193: {
6091 Parser_Lel_regular_expr_char *__ref0 = (Parser_Lel_regular_expr_char*)&redLel->user.regular_expr_char;
6092 Token *__ref1 = (Token*)&rhs[0]->user.token;
6093 Token *__ref2 = (Token*)&rhs[0]->user.token;
6094 #line 1155 "rlparse.kl"
6095
6096 (__ref0)->reItem = new ReItem( (__ref1)->loc, *(__ref2) );
6097
6098
6099 #line 6098 "rlparse.cpp"
6100 } break;
6101 case 194: {
6102 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6103 Parser_Lel_regular_expr_or_data *__ref1 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6104 Parser_Lel_regular_expr_or_data *__ref2 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6105 Parser_Lel_regular_expr_or_data *__ref3 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6106 Parser_Lel_regular_expr_or_char *__ref4 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6107 Parser_Lel_regular_expr_or_char *__ref5 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6108 Parser_Lel_regular_expr_or_data *__ref6 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6109 Parser_Lel_regular_expr_or_data *__ref7 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6110 Parser_Lel_regular_expr_or_data *__ref8 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6111 Parser_Lel_regular_expr_or_data *__ref9 = (Parser_Lel_regular_expr_or_data*)&rhs[0]->user.regular_expr_or_data;
6112 Parser_Lel_regular_expr_or_char *__ref10 = (Parser_Lel_regular_expr_or_char*)&rhs[1]->user.regular_expr_or_char;
6113 #line 1167 "rlparse.kl"
6114
6115 /* An optimization to lessen the tree size. If an or char is directly
6116 * under the left side on the right and the right side is another or
6117 * char then paste them together and return the left side. Otherwise
6118 * just put the two under a new or data node. */
6119 if ( (__ref0)->reOrItem->type == ReOrItem::Data &&
6120 (__ref1)->reOrBlock->type == ReOrBlock::RecurseItem &&
6121 (__ref2)->reOrBlock->item->type == ReOrItem::Data )
6122 {
6123 /* Append the right side to right side of the left and toss the
6124 * right side. */
6125 (__ref3)->reOrBlock->item->token.append( (__ref4)->reOrItem->token );
6126 delete (__ref5)->reOrItem;
6127 (__ref6)->reOrBlock = (__ref7)->reOrBlock;
6128 }
6129 else {
6130 /* Can't optimize, put the left and right under a new node. */
6131 (__ref8)->reOrBlock = new ReOrBlock( (__ref9)->reOrBlock, (__ref10)->reOrItem );
6132 }
6133
6134
6135 #line 6134 "rlparse.cpp"
6136 } break;
6137 case 195: {
6138 Parser_Lel_regular_expr_or_data *__ref0 = (Parser_Lel_regular_expr_or_data*)&redLel->user.regular_expr_or_data;
6139 #line 1188 "rlparse.kl"
6140
6141 (__ref0)->reOrBlock = new ReOrBlock();
6142
6143
6144 #line 6143 "rlparse.cpp"
6145 } break;
6146 case 196: {
6147 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&redLel->user.regular_expr_or_char;
6148 Token *__ref1 = (Token*)&rhs[0]->user.token;
6149 Token *__ref2 = (Token*)&rhs[0]->user.token;
6150 #line 1200 "rlparse.kl"
6151
6152 (__ref0)->reOrItem = new ReOrItem( (__ref1)->loc, *(__ref2) );
6153
6154
6155 #line 6154 "rlparse.cpp"
6156 } break;
6157 case 197: {
6158 Parser_Lel_regular_expr_or_char *__ref0 = (Parser_Lel_regular_expr_or_char*)&redLel->user.regular_expr_or_char;
6159 Token *__ref1 = (Token*)&rhs[1]->user.token;
6160 Token *__ref2 = (Token*)&rhs[0]->user.token;
6161 Token *__ref3 = (Token*)&rhs[2]->user.token;
6162 #line 1204 "rlparse.kl"
6163
6164 (__ref0)->reOrItem = new ReOrItem( (__ref1)->loc, (__ref2)->data[0], (__ref3)->data[0] );
6165
6166
6167 #line 6166 "rlparse.cpp"
6168 } break;
6169 case 198: {
6170 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6171 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[0]->user.inline_list;
6172 Parser_Lel_inline_list *__ref2 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6173 Parser_Lel_inline_item *__ref3 = (Parser_Lel_inline_item*)&rhs[1]->user.inline_item;
6174 #line 1221 "rlparse.kl"
6175
6176 /* Append the item to the list, return the list. */
6177 (__ref0)->inlineList = (__ref1)->inlineList;
6178 (__ref2)->inlineList->append( (__ref3)->inlineItem );
6179
6180
6181 #line 6180 "rlparse.cpp"
6182 } break;
6183 case 199: {
6184 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6185 #line 1228 "rlparse.kl"
6186
6187 /* Start with empty list. */
6188 (__ref0)->inlineList = new InlineList;
6189
6190
6191 #line 6190 "rlparse.cpp"
6192 } break;
6193 case 200: {
6194 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6195 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6196 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6197 #line 1243 "rlparse.kl"
6198
6199 (__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6200
6201
6202 #line 6201 "rlparse.cpp"
6203 } break;
6204 case 201: {
6205 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6206 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6207 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6208 #line 1249 "rlparse.kl"
6209
6210 (__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6211
6212
6213 #line 6212 "rlparse.cpp"
6214 } break;
6215 case 202: {
6216 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6217 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6218 #line 1255 "rlparse.kl"
6219
6220 /* Pass the inline item up. */
6221 (__ref0)->inlineItem = (__ref1)->inlineItem;
6222
6223
6224 #line 6223 "rlparse.cpp"
6225 } break;
6226 case 203: {
6227 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6228 Token *__ref1 = (Token*)&rhs[0]->user.token;
6229 #line 1262 "rlparse.kl"
6230 (__ref0)->token = *(__ref1);
6231
6232 #line 6231 "rlparse.cpp"
6233 } break;
6234 case 204: {
6235 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6236 Token *__ref1 = (Token*)&rhs[0]->user.token;
6237 #line 1263 "rlparse.kl"
6238 (__ref0)->token = *(__ref1);
6239
6240 #line 6239 "rlparse.cpp"
6241 } break;
6242 case 205: {
6243 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6244 Token *__ref1 = (Token*)&rhs[0]->user.token;
6245 #line 1264 "rlparse.kl"
6246 (__ref0)->token = *(__ref1);
6247
6248 #line 6247 "rlparse.cpp"
6249 } break;
6250 case 206: {
6251 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6252 Token *__ref1 = (Token*)&rhs[0]->user.token;
6253 #line 1265 "rlparse.kl"
6254 (__ref0)->token = *(__ref1);
6255
6256 #line 6255 "rlparse.cpp"
6257 } break;
6258 case 207: {
6259 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6260 Token *__ref1 = (Token*)&rhs[0]->user.token;
6261 #line 1266 "rlparse.kl"
6262 (__ref0)->token = *(__ref1);
6263
6264 #line 6263 "rlparse.cpp"
6265 } break;
6266 case 208: {
6267 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6268 Token *__ref1 = (Token*)&rhs[0]->user.token;
6269 #line 1267 "rlparse.kl"
6270 (__ref0)->token = *(__ref1);
6271
6272 #line 6271 "rlparse.cpp"
6273 } break;
6274 case 209: {
6275 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6276 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6277 #line 1271 "rlparse.kl"
6278
6279 /* Pass up interpreted items of inline expressions. */
6280 (__ref0)->inlineItem = (__ref1)->inlineItem;
6281
6282
6283 #line 6282 "rlparse.cpp"
6284 } break;
6285 case 210: {
6286 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6287 Token *__ref1 = (Token*)&rhs[0]->user.token;
6288 #line 1276 "rlparse.kl"
6289
6290 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Hold );
6291
6292
6293 #line 6292 "rlparse.cpp"
6294 } break;
6295 case 211: {
6296 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6297 Token *__ref1 = (Token*)&rhs[0]->user.token;
6298 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6299 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[1]->user.inline_list;
6300 #line 1280 "rlparse.kl"
6301
6302 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Exec );
6303 (__ref2)->inlineItem->children = (__ref3)->inlineList;
6304
6305
6306 #line 6305 "rlparse.cpp"
6307 } break;
6308 case 212: {
6309 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6310 Token *__ref1 = (Token*)&rhs[0]->user.token;
6311 #line 1285 "rlparse.kl"
6312
6313 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc,
6314 new NameRef(nameRef), InlineItem::Goto );
6315
6316
6317 #line 6316 "rlparse.cpp"
6318 } break;
6319 case 213: {
6320 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6321 Token *__ref1 = (Token*)&rhs[0]->user.token;
6322 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6323 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6324 #line 1290 "rlparse.kl"
6325
6326 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::GotoExpr );
6327 (__ref2)->inlineItem->children = (__ref3)->inlineList;
6328
6329
6330 #line 6329 "rlparse.cpp"
6331 } break;
6332 case 214: {
6333 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6334 Token *__ref1 = (Token*)&rhs[0]->user.token;
6335 #line 1295 "rlparse.kl"
6336
6337 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, new NameRef(nameRef), InlineItem::Next );
6338
6339
6340 #line 6339 "rlparse.cpp"
6341 } break;
6342 case 215: {
6343 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6344 Token *__ref1 = (Token*)&rhs[0]->user.token;
6345 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6346 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6347 #line 1299 "rlparse.kl"
6348
6349 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::NextExpr );
6350 (__ref2)->inlineItem->children = (__ref3)->inlineList;
6351
6352
6353 #line 6352 "rlparse.cpp"
6354 } break;
6355 case 216: {
6356 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6357 Token *__ref1 = (Token*)&rhs[0]->user.token;
6358 #line 1304 "rlparse.kl"
6359
6360 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, new NameRef(nameRef), InlineItem::Call );
6361
6362
6363 #line 6362 "rlparse.cpp"
6364 } break;
6365 case 217: {
6366 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6367 Token *__ref1 = (Token*)&rhs[0]->user.token;
6368 Parser_Lel_inline_item *__ref2 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6369 Parser_Lel_inline_list *__ref3 = (Parser_Lel_inline_list*)&rhs[2]->user.inline_list;
6370 #line 1308 "rlparse.kl"
6371
6372 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::CallExpr );
6373 (__ref2)->inlineItem->children = (__ref3)->inlineList;
6374
6375
6376 #line 6375 "rlparse.cpp"
6377 } break;
6378 case 218: {
6379 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6380 Token *__ref1 = (Token*)&rhs[0]->user.token;
6381 #line 1313 "rlparse.kl"
6382
6383 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Ret );
6384
6385
6386 #line 6385 "rlparse.cpp"
6387 } break;
6388 case 219: {
6389 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6390 Token *__ref1 = (Token*)&rhs[0]->user.token;
6391 #line 1317 "rlparse.kl"
6392
6393 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Break );
6394
6395
6396 #line 6395 "rlparse.cpp"
6397 } break;
6398 case 220: {
6399 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6400 Parser_Lel_inline_list *__ref1 = (Parser_Lel_inline_list*)&rhs[0]->user.inline_list;
6401 Parser_Lel_inline_list *__ref2 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6402 Parser_Lel_inline_item *__ref3 = (Parser_Lel_inline_item*)&rhs[1]->user.inline_item;
6403 #line 1325 "rlparse.kl"
6404
6405 (__ref0)->inlineList = (__ref1)->inlineList;
6406 (__ref2)->inlineList->append( (__ref3)->inlineItem );
6407
6408
6409 #line 6408 "rlparse.cpp"
6410 } break;
6411 case 221: {
6412 Parser_Lel_inline_list *__ref0 = (Parser_Lel_inline_list*)&redLel->user.inline_list;
6413 #line 1330 "rlparse.kl"
6414
6415 /* Init the list used for this expr. */
6416 (__ref0)->inlineList = new InlineList;
6417
6418
6419 #line 6418 "rlparse.cpp"
6420 } break;
6421 case 222: {
6422 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6423 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6424 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6425 #line 1339 "rlparse.kl"
6426
6427 /* Return a text segment. */
6428 (__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6429
6430
6431 #line 6430 "rlparse.cpp"
6432 } break;
6433 case 223: {
6434 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6435 Parser_Lel_token_type *__ref1 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6436 Parser_Lel_token_type *__ref2 = (Parser_Lel_token_type*)&rhs[0]->user.token_type;
6437 #line 1345 "rlparse.kl"
6438
6439 /* Return a text segment, must heap alloc the text. */
6440 (__ref0)->inlineItem = new InlineItem( (__ref1)->token.loc, (__ref2)->token.data, InlineItem::Text );
6441
6442
6443 #line 6442 "rlparse.cpp"
6444 } break;
6445 case 224: {
6446 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6447 Parser_Lel_inline_item *__ref1 = (Parser_Lel_inline_item*)&rhs[0]->user.inline_item;
6448 #line 1351 "rlparse.kl"
6449
6450 /* Pass the inline item up. */
6451 (__ref0)->inlineItem = (__ref1)->inlineItem;
6452
6453
6454 #line 6453 "rlparse.cpp"
6455 } break;
6456 case 237: {
6457 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6458 Token *__ref1 = (Token*)&rhs[0]->user.token;
6459 #line 1381 "rlparse.kl"
6460
6461 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::PChar );
6462
6463
6464 #line 6463 "rlparse.cpp"
6465 } break;
6466 case 238: {
6467 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6468 Token *__ref1 = (Token*)&rhs[0]->user.token;
6469 #line 1386 "rlparse.kl"
6470
6471 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Char );
6472
6473
6474 #line 6473 "rlparse.cpp"
6475 } break;
6476 case 239: {
6477 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6478 Token *__ref1 = (Token*)&rhs[0]->user.token;
6479 #line 1391 "rlparse.kl"
6480
6481 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Curs );
6482
6483
6484 #line 6483 "rlparse.cpp"
6485 } break;
6486 case 240: {
6487 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6488 Token *__ref1 = (Token*)&rhs[0]->user.token;
6489 #line 1396 "rlparse.kl"
6490
6491 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc, InlineItem::Targs );
6492
6493
6494 #line 6493 "rlparse.cpp"
6495 } break;
6496 case 241: {
6497 Parser_Lel_inline_item *__ref0 = (Parser_Lel_inline_item*)&redLel->user.inline_item;
6498 Token *__ref1 = (Token*)&rhs[0]->user.token;
6499 #line 1401 "rlparse.kl"
6500
6501 (__ref0)->inlineItem = new InlineItem( (__ref1)->loc,
6502 new NameRef(nameRef), InlineItem::Entry );
6503
6504
6505 #line 6504 "rlparse.cpp"
6506 } break;
6507 case 243: {
6508 #line 1412 "rlparse.kl"
6509
6510 nameRef.empty();
6511
6512
6513 #line 6512 "rlparse.cpp"
6514 } break;
6515 case 245: {
6516 #line 1422 "rlparse.kl"
6517
6518 /* Insert an initial null pointer val to indicate the existence of the
6519 * initial name seperator. */
6520 nameRef.setAs( 0 );
6521
6522
6523 #line 6522 "rlparse.cpp"
6524 } break;
6525 case 246: {
6526 #line 1428 "rlparse.kl"
6527
6528 nameRef.empty();
6529
6530
6531 #line 6530 "rlparse.cpp"
6532 } break;
6533 case 247: {
6534 Token *__ref0 = (Token*)&rhs[2]->user.token;
6535 #line 1435 "rlparse.kl"
6536
6537 nameRef.append( (__ref0)->data );
6538
6539
6540 #line 6539 "rlparse.cpp"
6541 } break;
6542 case 248: {
6543 Token *__ref0 = (Token*)&rhs[0]->user.token;
6544 #line 1440 "rlparse.kl"
6545
6546 nameRef.append( (__ref0)->data );
6547
6548
6549 #line 6548 "rlparse.cpp"
6550 } break;
6551 }
6552 }
6553
6554 if ( lel->child != 0 ) {
6555 struct Parser_LangEl *first = lel->child;
6556 struct Parser_LangEl *child = lel->child;
6557 lel->child = 0;
6558 while ( 1 ) {
6559 if ( child->type < 226 ) {
6560 }
6561 else {
6562 }
6563 numNodes -= 1;
6564 if ( child->next == 0 )
6565 break;
6566 child = child->next;
6567 }
6568 child->next = pool;
6569 pool = first;
6570 }
6571 }
6572
6573 commit_base:
6574 if ( sp > 0 ) {
6575 sp -= 1;
6576 if ( lel->retry == 0 ) {
6577 lel = lel->prev;
6578 goto commit_reverse;
6579 }
6580 else {
6581 lel->retry = 0;
6582 lel = lel->prev;
6583 goto commit_upwards;
6584 }
6585 }
6586 lel->retry = 0;
6587
6588 lastFinal = lel;
6589 numRetry = 0;
6590 }
6591
6592 if ( *action & 0x2 ) {
6593 int reduction = *action >> 2;
6594 struct Parser_LangEl *redLel;
6595
6596 if ( input != 0 )
6597 input->causeReduce += 1;
6598
6599 if ( pool == 0 ) {
6600 if ( freshPos == 8128 ) {
6601 struct Parser_Block* newBlock = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
6602 newBlock->next = block;
6603 block = newBlock;
6604 freshEl = newBlock->data;
6605 #ifdef KELBT_LOG_ACTIONS
6606 cerr << "allocating 8128 LangEls" << endl;
6607 #endif
6608 freshPos = 0;
6609 }
6610 redLel = freshEl + freshPos++;
6611 }
6612 else {
6613 redLel = pool;
6614 pool = pool->next;
6615 }
6616 numNodes += 1;
6617
6618 redLel->type = Parser_prodLhsIds[reduction];
6619 redLel->reduction = reduction;
6620 redLel->child = 0;
6621 redLel->next = 0;
6622 redLel->retry = (lel->retry << 16);
6623 redLel->causeReduce = 0;
6624 lel->retry &= 0xffff0000;
6625
6626 rhsLen = Parser_prodLengths[reduction];
6627 if ( rhsLen > 0 ) {
6628 int r;
6629 for ( r = rhsLen-1; r > 0; r-- ) {
6630 rhs[r] = stackTop;
6631 stackTop = stackTop->next;
6632 }
6633 rhs[0] = stackTop;
6634 stackTop = stackTop->next;
6635 rhs[0]->next = 0;
6636 }
6637 switch ( reduction ) {
6638 case 225: {
6639 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6640 Token *__ref1 = (Token*)&rhs[0]->user.token;
6641 #line 1358 "rlparse.kl"
6642 (__ref0)->token = *(__ref1);
6643
6644 #line 6643 "rlparse.cpp"
6645 } break;
6646 case 226: {
6647 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6648 Token *__ref1 = (Token*)&rhs[0]->user.token;
6649 #line 1359 "rlparse.kl"
6650 (__ref0)->token = *(__ref1);
6651
6652 #line 6651 "rlparse.cpp"
6653 } break;
6654 case 227: {
6655 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6656 Token *__ref1 = (Token*)&rhs[0]->user.token;
6657 #line 1360 "rlparse.kl"
6658 (__ref0)->token = *(__ref1);
6659
6660 #line 6659 "rlparse.cpp"
6661 } break;
6662 case 228: {
6663 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6664 Token *__ref1 = (Token*)&rhs[0]->user.token;
6665 #line 1361 "rlparse.kl"
6666 (__ref0)->token = *(__ref1);
6667
6668 #line 6667 "rlparse.cpp"
6669 } break;
6670 case 229: {
6671 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6672 Token *__ref1 = (Token*)&rhs[0]->user.token;
6673 #line 1362 "rlparse.kl"
6674 (__ref0)->token = *(__ref1);
6675
6676 #line 6675 "rlparse.cpp"
6677 } break;
6678 case 230: {
6679 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6680 Token *__ref1 = (Token*)&rhs[0]->user.token;
6681 #line 1363 "rlparse.kl"
6682 (__ref0)->token = *(__ref1);
6683
6684 #line 6683 "rlparse.cpp"
6685 } break;
6686 case 231: {
6687 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6688 Token *__ref1 = (Token*)&rhs[0]->user.token;
6689 #line 1364 "rlparse.kl"
6690 (__ref0)->token = *(__ref1);
6691
6692 #line 6691 "rlparse.cpp"
6693 } break;
6694 case 232: {
6695 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6696 Token *__ref1 = (Token*)&rhs[0]->user.token;
6697 #line 1371 "rlparse.kl"
6698 (__ref0)->token = *(__ref1);
6699
6700 #line 6699 "rlparse.cpp"
6701 } break;
6702 case 233: {
6703 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6704 Token *__ref1 = (Token*)&rhs[0]->user.token;
6705 #line 1372 "rlparse.kl"
6706 (__ref0)->token = *(__ref1);
6707
6708 #line 6707 "rlparse.cpp"
6709 } break;
6710 case 234: {
6711 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6712 Token *__ref1 = (Token*)&rhs[0]->user.token;
6713 #line 1373 "rlparse.kl"
6714 (__ref0)->token = *(__ref1);
6715
6716 #line 6715 "rlparse.cpp"
6717 } break;
6718 case 235: {
6719 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6720 Token *__ref1 = (Token*)&rhs[0]->user.token;
6721 #line 1374 "rlparse.kl"
6722 (__ref0)->token = *(__ref1);
6723
6724 #line 6723 "rlparse.cpp"
6725 } break;
6726 case 236: {
6727 Parser_Lel_token_type *__ref0 = (Parser_Lel_token_type*)&redLel->user.token_type;
6728 Token *__ref1 = (Token*)&rhs[0]->user.token;
6729 #line 1375 "rlparse.kl"
6730 (__ref0)->token = *(__ref1);
6731
6732 #line 6731 "rlparse.cpp"
6733 } break;
6734 }
6735 #ifdef KELBT_LOG_ACTIONS
6736 cerr << "reduced: "
6737 << Parser_prodNames[reduction]
6738 << " rhsLen: " << rhsLen;
6739 #endif
6740 if ( action[1] == 0 )
6741 redLel->retry = 0;
6742 else {
6743 redLel->retry += 0x10000;
6744 numRetry += 1;
6745 #ifdef KELBT_LOG_ACTIONS
6746 cerr << " retry: " << redLel;
6747 #endif
6748 }
6749
6750 #ifdef KELBT_LOG_ACTIONS
6751 cerr << endl;
6752 #endif
6753
6754 if ( rhsLen == 0 ) {
6755 redLel->file = lel->file;
6756 redLel->line = lel->line;
6757 targState = curs;
6758 }
6759 else {
6760 redLel->child = rhs[rhsLen-1];
6761 redLel->file = rhs[0]->file;
6762 redLel->line = rhs[0]->line;
6763 targState = rhs[0]->state;
6764 }
6765
6766 if ( induceReject ) {
6767 #ifdef KELBT_LOG_ACTIONS
6768 cerr << "error induced during reduction of " <<
6769 Parser_lelNames[redLel->type] << endl;
6770 #endif
6771 redLel->state = curs;
6772 redLel->next = stackTop;
6773 stackTop = redLel;
6774 curs = targState;
6775 goto parseError;
6776 }
6777 else {
6778 redLel->next = input;
6779 input = redLel;
6780 }
6781 }
6782
6783
6784 curs = targState;
6785 goto again;
6786
6787 parseError:
6788 #ifdef KELBT_LOG_BACKTRACK
6789 cerr << "hit error" << endl;
6790 #endif
6791 if ( numRetry > 0 ) {
6792 struct Parser_LangEl *redLel;
6793
6794 if ( input != 0 ) {
6795 redLel = input;
6796 goto have_undo_element;
6797 }
6798
6799 while ( 1 ) {
6800 redLel = stackTop;
6801 if ( stackTop->type < 226 ) {
6802 #ifdef KELBT_LOG_BACKTRACK
6803 cerr << "backing up over terminal: " <<
6804 Parser_lelNames[stackTop->type] << endl;
6805 #endif
6806 stackTop = stackTop->next;
6807 redLel->next = input;
6808 input = redLel;
6809 }
6810 else {
6811 #ifdef KELBT_LOG_BACKTRACK
6812 cerr << "backing up over non-terminal: " <<
6813 Parser_lelNames[stackTop->type] << endl;
6814 #endif
6815 stackTop = stackTop->next;
6816 struct Parser_LangEl *first = redLel->child;
6817 if ( first == 0 )
6818 rhsLen = 0;
6819 else {
6820 rhsLen = 1;
6821 while ( first->next != 0 ) {
6822 first = first->next;
6823 rhsLen += 1;
6824 }
6825 first->next = stackTop;
6826 stackTop = redLel->child;
6827
6828 struct Parser_LangEl *rhsEl = stackTop;
6829 int p = rhsLen;
6830 while ( p > 0 ) {
6831 rhs[--p] = rhsEl;
6832 rhsEl = rhsEl->next;
6833 }
6834 }
6835 redLel->next = pool;
6836 pool = redLel;
6837 numNodes -= 1;
6838
6839 if ( input != 0 )
6840 input->causeReduce -= 1;
6841 }
6842
6843 have_undo_element:
6844 if ( redLel->retry == 0 ) {
6845 if ( input != 0 && input->causeReduce == 0 ) {
6846 #ifdef KELBT_LOG_BACKTRACK
6847 cerr << "pushing back: " << Parser_lelNames[input->type] << endl;
6848 #endif
6849 input->next = queue;
6850 queue = input;
6851 input = 0;
6852 }
6853 }
6854 else {
6855 #ifdef KELBT_LOG_BACKTRACK
6856 cerr << "found retry targ: " << redLel << endl;
6857 #endif
6858 numRetry -= 1;
6859 #ifdef KELBT_LOG_BACKTRACK
6860 cerr << "found retry: " << redLel << endl;
6861 #endif
6862 if ( redLel->retry & 0x0000ffff )
6863 curs = input->state;
6864 else {
6865 input->retry = redLel->retry >> 16;
6866 if ( stackTop->state < 0 )
6867 curs = Parser_startState;
6868 else {
6869 curs = Parser_targs[(int)Parser_indicies[Parser_offsets[stackTop->state] + (stackTop->type - Parser_keys[stackTop->state<<1])]];
6870 }
6871 }
6872 goto again;
6873 }
6874 }
6875 }
6876 curs = -1;
6877 errCount += 1;
6878 _out: {}
6879 #line 1459 "rlparse.kl"
6880 return errCount == 0 ? 0 : -1;
6881 }
6882
tryMachineDef(InputLoc & loc,char * name,MachineDef * machineDef,bool isInstance)6883 void Parser::tryMachineDef( InputLoc &loc, char *name,
6884 MachineDef *machineDef, bool isInstance )
6885 {
6886 GraphDictEl *newEl = pd->graphDict.insert( name );
6887 if ( newEl != 0 ) {
6888 /* New element in the dict, all good. */
6889 newEl->value = new VarDef( name, machineDef );
6890 newEl->isInstance = isInstance;
6891 newEl->loc = loc;
6892 newEl->value->isExport = exportContext[exportContext.length()-1];
6893
6894 /* It it is an instance, put on the instance list. */
6895 if ( isInstance )
6896 pd->instanceList.append( newEl );
6897 }
6898 else {
6899 // Recover by ignoring the duplicate.
6900 error(loc) << "fsm \"" << name << "\" previously defined" << endl;
6901 }
6902 }
6903
parse_error(int tokId,Token & token)6904 ostream &Parser::parse_error( int tokId, Token &token )
6905 {
6906 /* Maintain the error count. */
6907 gblErrorCount += 1;
6908
6909 cerr << token.loc << ": ";
6910 cerr << "at token ";
6911 if ( tokId < 128 )
6912 cerr << "\"" << Parser_lelNames[tokId] << "\"";
6913 else
6914 cerr << Parser_lelNames[tokId];
6915 if ( token.data != 0 )
6916 cerr << " with data \"" << token.data << "\"";
6917 cerr << ": ";
6918
6919 return cerr;
6920 }
6921
token(InputLoc & loc,int tokId,char * tokstart,int toklen)6922 int Parser::token( InputLoc &loc, int tokId, char *tokstart, int toklen )
6923 {
6924 Token token;
6925 token.data = tokstart;
6926 token.length = toklen;
6927 token.loc = loc;
6928 int res = parseLangEl( tokId, &token );
6929 if ( res < 0 ) {
6930 parse_error(tokId, token) << "parse error" << endl;
6931 exit(1);
6932 }
6933 return res;
6934 }
6935