Support exporting representations of EC keys to file
[hiphop-php.git] / hphp / parser / hphp.5.tab.cpp
blobaaf80afa3076a320dd04886392c25e4570687803
1 // @generated
3 /* A Bison parser, made by GNU Bison 2.4.1. */
5 /* Skeleton implementation for Bison's Yacc-like parsers in C
7 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
8 Free Software Foundation, Inc.
10 This program is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
47 #define YYBISON 1
49 /* Bison version. */
50 #define YYBISON_VERSION "2.4.1"
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
55 /* Pure parsers. */
56 #define YYPURE 1
58 /* Push parsers. */
59 #define YYPUSH 0
61 /* Pull parsers. */
62 #define YYPULL 1
64 /* Using locations. */
65 #define YYLSP_NEEDED 1
67 /* Substitute the variable and function names. */
68 #define yyparse Compiler5parse
69 #define yylex Compiler5lex
70 #define yyerror Compiler5error
71 #define yylval Compiler5lval
72 #define yychar Compiler5char
73 #define yydebug Compiler5debug
74 #define yynerrs Compiler5nerrs
75 #define yylloc Compiler5lloc
77 /* Copy the first part of user declarations. */
79 /* Line 189 of yacc.c */
80 #line 1 "hphp.y"
83 /* By default this grammar is set up to be used by HPHP's compile parser.
84 * However, it can be used to make parsers for different purposes by
85 * making a Parser implementation with the same interface as
86 * HPHP::Compiler::Parser in a header file specified by
87 * PARSER_DEFINITIONS_HEADER, and specifying an alternate namespace with
88 * HPHP_PARSER_NS.
91 // macros for bison
92 #define YYSTYPE HPHP::HPHP_PARSER_NS::Token
93 #define YYSTYPE_IS_TRIVIAL false
94 #define YYLTYPE HPHP::Location
95 #define YYLTYPE_IS_TRIVIAL true
96 #define YYERROR_VERBOSE
97 #define YYINITDEPTH 500
98 #define YYLEX_PARAM _p
100 #ifdef PARSER_DEFINITIONS_HEADER
101 #include PARSER_DEFINITIONS_HEADER
102 #else
103 #include "hphp/compiler/parser/parser.h"
104 #endif
106 #include <folly/Conv.h>
107 #include <folly/String.h>
109 #include "hphp/util/logger.h"
111 #define line0 r.line0
112 #define char0 r.char0
113 #define line1 r.line1
114 #define char1 r.char1
116 #ifdef yyerror
117 #undef yyerror
118 #endif
119 #define yyerror(loc,p,msg) p->parseFatal(loc,msg)
121 #ifdef YYLLOC_DEFAULT
122 # undef YYLLOC_DEFAULT
123 #endif
124 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
125 #define YYLLOC_DEFAULT(Current, Rhs, N) \
126 do \
127 if (N) { \
128 (Current).first(YYRHSLOC (Rhs, 1)); \
129 (Current).last (YYRHSLOC (Rhs, N)); \
130 } else { \
131 (Current).line0 = (Current).line1 = YYRHSLOC (Rhs, 0).line1;\
132 (Current).char0 = (Current).char1 = YYRHSLOC (Rhs, 0).char1;\
134 while (0); \
135 _p->setRuleLocation(&Current);
137 #define YYCOPY(To, From, Count) \
138 do { \
139 YYSIZE_T yyi; \
140 for (yyi = 0; yyi < (Count); yyi++) { \
141 (To)[yyi] = (From)[yyi]; \
143 if (From != From ## a) { \
144 YYSTACK_FREE (From); \
147 while (0)
149 #define YYCOPY_RESET(To, From, Count) \
150 do \
152 YYSIZE_T yyi; \
153 for (yyi = 0; yyi < (Count); yyi++) { \
154 (To)[yyi] = (From)[yyi]; \
155 (From)[yyi].reset(); \
157 if (From != From ## a) { \
158 YYSTACK_FREE (From); \
161 while (0)
163 #define YYTOKEN_RESET(From, Count) \
164 do \
166 YYSIZE_T yyi; \
167 for (yyi = 0; yyi < (Count); yyi++) { \
168 (From)[yyi].reset(); \
170 if (From != From ## a) { \
171 YYSTACK_FREE (From); \
174 while (0)
176 # define YYSTACK_RELOCATE_RESET(Stack_alloc, Stack) \
177 do \
179 YYSIZE_T yynewbytes; \
180 YYCOPY_RESET (&yyptr->Stack_alloc, Stack, yysize); \
181 Stack = &yyptr->Stack_alloc; \
182 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
183 yyptr += yynewbytes / sizeof (*yyptr); \
185 while (0)
187 #define YYSTACK_CLEANUP \
188 YYTOKEN_RESET (yyvs, yystacksize); \
189 if (yyvs != yyvsa) { \
190 YYSTACK_FREE (yyvs); \
192 if (yyls != yylsa) { \
193 YYSTACK_FREE (yyls); \
197 // macros for rules
198 #define BEXP(...) _p->onBinaryOpExp(__VA_ARGS__);
199 #define UEXP(...) _p->onUnaryOpExp(__VA_ARGS__);
201 using namespace HPHP::HPHP_PARSER_NS;
203 typedef HPHP::ClosureType ClosureType;
205 ///////////////////////////////////////////////////////////////////////////////
206 // helpers
208 static void scalar_num(Parser *_p, Token &out, const char *num) {
209 Token t;
210 t.setText(num);
211 _p->onScalar(out, T_LNUMBER, t);
214 static void scalar_num(Parser *_p, Token &out, int num) {
215 Token t;
216 t.setText(folly::to<std::string>(num));
217 _p->onScalar(out, T_LNUMBER, t);
220 static void scalar_null(Parser *_p, Token &out) {
221 Token tnull; tnull.setText("null");
222 _p->onConstantValue(out, tnull);
225 static void scalar_file(Parser *_p, Token &out) {
226 Token file; file.setText("__FILE__");
227 _p->onScalar(out, T_FILE, file);
230 static void scalar_line(Parser *_p, Token &out) {
231 Token line; line.setText("__LINE__");
232 _p->onScalar(out, T_LINE, line);
235 ///////////////////////////////////////////////////////////////////////////////
237 static void constant_ae(Parser *_p, Token &out, Token &value) {
238 const std::string& valueStr = value.text();
239 if (valueStr.size() < 3 || valueStr.size() > 5 ||
240 (strcasecmp("true", valueStr.c_str()) != 0 &&
241 strcasecmp("false", valueStr.c_str()) != 0 &&
242 strcasecmp("null", valueStr.c_str()) != 0 &&
243 strcasecmp("inf", valueStr.c_str()) != 0 &&
244 strcasecmp("nan", valueStr.c_str()) != 0)) {
245 HPHP_PARSER_ERROR("User-defined constants are not allowed in user "
246 "attribute expressions", _p);
248 _p->onConstantValue(out, value);
251 ///////////////////////////////////////////////////////////////////////////////
254 * XHP functions: They are defined here, so different parsers don't have to
255 * handle XHP rules at all.
258 static void xhp_tag(Parser *_p, Token &out, Token &label, Token &body) {
259 if (!body.text().empty() && body.text() != label.text()) {
260 HPHP_PARSER_ERROR("XHP: mismatched tag: '%s' not the same as '%s'",
261 _p, body.text().c_str(), label.text().c_str());
264 label.xhpLabel();
265 Token name; _p->onName(name, label, Parser::StringName);
266 _p->onNewObject(out, name, body);
269 static void xhp_attribute(Parser *_p, Token &out, Token &type, Token &label,
270 Token &def, Token &req) {
272 * The bool, int, float, and string typenames are not given any special
273 * treatment by the parser and are treated the same as regular class names
274 * (which initially gets marked as type code 5). However, XHP wants to use
275 * different type codes for bool, int, float, and string, so we need to fix
276 * up the type code here to make XHP happy.
278 if (type.num() == 5) {
279 auto* str = type.text().c_str();
280 if (_p->scanner().isHHSyntaxEnabled()) {
281 switch (type.text().size()) {
282 case 6:
283 if (!strcasecmp(str, "HH\\int")) {
284 type.reset(); type.setNum(3);
286 break;
287 case 7:
288 if (!strcasecmp(str, "HH\\bool")) {
289 type.reset(); type.setNum(2);
291 break;
292 case 8:
293 if (!strcasecmp(str, "HH\\float")) {
294 type.reset(); type.setNum(8);
295 } else if (!strcasecmp(str, "HH\\mixed")) {
296 type.reset(); type.setNum(6);
298 break;
299 case 9:
300 if (!strcasecmp(str, "HH\\string")) {
301 type.reset(); type.setNum(1);
303 break;
304 default:
305 break;
307 } else {
308 switch (type.text().size()) {
309 case 3:
310 if (!strcasecmp(str, "int")) {
311 type.reset(); type.setNum(3);
313 break;
314 case 4:
315 if (!strcasecmp(str, "bool")) {
316 type.reset(); type.setNum(2);
317 } else if (!strcasecmp(str, "real")) {
318 type.reset(); type.setNum(8);
320 break;
321 case 5:
322 if (!strcasecmp(str, "float")) {
323 type.reset(); type.setNum(8);
324 } else if (!strcasecmp(str, "mixed")) {
325 type.reset(); type.setNum(6);
327 break;
328 case 6:
329 if (!strcasecmp(str, "string")) {
330 type.reset(); type.setNum(1);
331 } else if (!strcasecmp(str, "double")) {
332 type.reset(); type.setNum(8);
334 break;
335 case 7:
336 if (!strcasecmp(str, "integer")) {
337 type.reset(); type.setNum(3);
338 } else if (!strcasecmp(str, "boolean")) {
339 type.reset(); type.setNum(2);
341 break;
342 default:
343 break;
348 Token num; scalar_num(_p, num, type.num());
349 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
351 Token arr2;
352 switch (type.num()) {
353 case 5: /* class */ {
354 Token cls; _p->onScalar(cls, T_CONSTANT_ENCAPSED_STRING, type);
355 _p->onArrayPair(arr2, &arr1, 0, cls, 0);
356 break;
358 case 7: /* enum */ {
359 Token arr; _p->onArray(arr, type);
360 _p->onArrayPair(arr2, &arr1, 0, arr, 0);
361 break;
363 default: {
364 Token tnull; scalar_null(_p, tnull);
365 _p->onArrayPair(arr2, &arr1, 0, tnull, 0);
366 break;
370 Token arr3; _p->onArrayPair(arr3, &arr2, 0, def, 0);
371 Token arr4; _p->onArrayPair(arr4, &arr3, 0, req, 0);
372 _p->onArray(out, arr4);
373 out.setText(label);
376 static void xhp_attribute_list(Parser *_p, Token &out, Token *list,
377 Token &decl) {
378 if (decl.num() == 0) {
379 decl.xhpLabel();
380 if (list) {
381 out = *list;
382 out.setText(list->text() + ":" + decl.text()); // avoiding vector<string>
383 } else {
384 out.setText(decl);
386 } else {
387 Token name; _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, decl);
388 _p->onArrayPair(out, list, &name, decl, 0);
389 if (list) {
390 out.setText(list->text());
391 } else {
392 out.setText("");
397 static void xhp_attribute_stmt(Parser *_p, Token &out, Token &attributes) {
398 Token modifiers;
399 Token fname; fname.setText("__xhpAttributeDeclaration");
401 Token m;
402 Token m1; m1.setNum(T_PROTECTED); _p->onMemberModifier(m, NULL, m1);
403 Token m2; m2.setNum(T_STATIC); _p->onMemberModifier(modifiers, &m, m2);
405 _p->pushFuncLocation();
406 _p->onMethodStart(fname, modifiers);
408 std::vector<std::string> classes;
409 folly::split(':', attributes.text(), classes, true);
410 Token arrAttributes; _p->onArray(arrAttributes, attributes);
412 Token dummy;
414 Token stmts0;
416 _p->onStatementListStart(stmts0);
418 Token stmts1;
420 // static $_ = -1;
421 Token one; scalar_num(_p, one, "1");
422 Token mone; UEXP(mone, one, '-', 1);
423 Token var; var.set(T_VARIABLE, "_");
424 Token decl; _p->onStaticVariable(decl, 0, var, &mone);
425 Token sdecl; _p->onStatic(sdecl, decl);
426 _p->addStatement(stmts1, stmts0, sdecl);
428 Token stmts2;
430 // if ($_ === -1) {
431 // $_ = array_merge(parent::__xhpAttributeDeclaration(),
432 // attributes);
433 // }
434 Token parent; parent.set(T_STRING, "parent");
435 Token cls; _p->onName(cls, parent, Parser::StringName);
436 Token fname; fname.setText("__xhpAttributeDeclaration");
437 Token param1; _p->onCall(param1, 0, fname, dummy, &cls);
438 Token params1; _p->onCallParam(params1, NULL, param1, false, false);
440 for (unsigned int i = 0; i < classes.size(); i++) {
441 Token parent; parent.set(T_STRING, classes[i]);
442 Token cls; _p->onName(cls, parent, Parser::StringName);
443 Token fname; fname.setText("__xhpAttributeDeclaration");
444 Token param; _p->onCall(param, 0, fname, dummy, &cls);
446 Token params; _p->onCallParam(params, &params1, param, false, false);
447 params1 = params;
450 Token params2; _p->onCallParam(params2, &params1, arrAttributes,
451 false, false);
453 Token name; name.set(T_STRING, "array_merge");
454 Token call; _p->onCall(call, 0, name, params2, NULL);
455 Token tvar; tvar.set(T_VARIABLE, "_");
456 Token var; _p->onSimpleVariable(var, tvar);
457 Token assign; _p->onAssign(assign, var, call, 0);
458 Token exp; _p->onExpStatement(exp, assign);
459 Token block; _p->onBlock(block, exp);
461 Token tvar2; tvar2.set(T_VARIABLE, "_");
462 Token var2; _p->onSimpleVariable(var2, tvar2);
463 Token one; scalar_num(_p, one, "1");
464 Token mone; UEXP(mone, one, '-', 1);
465 Token cond; BEXP(cond, var2, mone, T_IS_IDENTICAL);
466 Token dummy1, dummy2;
467 Token sif; _p->onIf(sif, cond, block, dummy1, dummy2);
468 _p->addStatement(stmts2, stmts1, sif);
470 Token stmts3;
472 // return $_;
473 Token tvar; tvar.set(T_VARIABLE, "_");
474 Token var; _p->onSimpleVariable(var, tvar);
475 Token ret; _p->onReturn(ret, &var);
476 _p->addStatement(stmts3, stmts2, ret);
478 Token stmt;
480 _p->finishStatement(stmt, stmts3);
481 stmt = 1;
484 Token params, ret, ref; ref = 0;
485 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
489 static void xhp_collect_attributes(Parser *_p, Token &out, Token &stmts) {
490 Token *attr = _p->xhpGetAttributes();
491 if (attr) {
492 Token stmt;
493 xhp_attribute_stmt(_p, stmt, *attr);
494 _p->onClassStatement(out, stmts, stmt);
495 } else {
496 out = stmts;
500 static void xhp_category_stmt(Parser *_p, Token &out, Token &categories) {
501 Token fname; fname.setText("__xhpCategoryDeclaration");
502 Token m1; m1.setNum(T_PROTECTED);
503 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
504 _p->pushFuncLocation();
505 _p->onMethodStart(fname, modifiers);
507 Token stmts0;
509 _p->onStatementListStart(stmts0);
511 Token stmts1;
513 // static $_ = categories;
514 Token arr; _p->onArray(arr, categories);
515 Token var; var.set(T_VARIABLE, "_");
516 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
517 Token sdecl; _p->onStatic(sdecl, decl);
518 _p->addStatement(stmts1, stmts0, sdecl);
520 Token stmts2;
522 // return $_;
523 Token tvar; tvar.set(T_VARIABLE, "_");
524 Token var; _p->onSimpleVariable(var, tvar);
525 Token ret; _p->onReturn(ret, &var);
526 _p->addStatement(stmts2, stmts1, ret);
528 Token stmt;
530 _p->finishStatement(stmt, stmts2);
531 stmt = 1;
534 Token params, ret, ref; ref = 0;
535 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
539 static void xhp_children_decl_tag(Parser *_p, Token &arr, Token &tag) {
540 Token num; scalar_num(_p, num, tag.num());
541 Token arr1; _p->onArrayPair(arr1, &arr, 0, num, 0);
543 Token name;
544 if (tag.num() == 3 || tag.num() == 4) {
545 _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, tag);
546 } else if (tag.num() >= 0) {
547 scalar_null(_p, name);
548 } else {
549 HPHP_PARSER_ERROR("XHP: unknown children declaration", _p);
551 Token arr2; _p->onArrayPair(arr2, &arr1, 0, name, 0);
552 arr = arr2;
555 static void xhp_children_decl(Parser *_p, Token &out, Token &op1, int op,
556 Token *op2) {
557 Token num; scalar_num(_p, num, op);
558 Token arr; _p->onArrayPair(arr, 0, 0, num, 0);
560 if (op2) {
561 Token arr1; _p->onArrayPair(arr1, &arr, 0, op1, 0);
562 Token arr2; _p->onArrayPair(arr2, &arr1, 0, *op2, 0);
563 _p->onArray(out, arr2);
564 } else {
565 xhp_children_decl_tag(_p, arr, op1);
566 _p->onArray(out, arr);
570 static void xhp_children_paren(Parser *_p, Token &out, Token exp, int op) {
571 Token num; scalar_num(_p, num, op);
572 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
574 Token num5; scalar_num(_p, num5, 5);
575 Token arr2; _p->onArrayPair(arr2, &arr1, 0, num5, 0);
577 Token arr3; _p->onArrayPair(arr3, &arr2, 0, exp, 0);
578 _p->onArray(out, arr3);
581 static void xhp_children_stmt(Parser *_p, Token &out, Token &children) {
582 Token fname; fname.setText("__xhpChildrenDeclaration");
583 Token m1; m1.setNum(T_PROTECTED);
584 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
585 _p->pushFuncLocation();
586 _p->onMethodStart(fname, modifiers);
588 Token stmts0;
590 _p->onStatementListStart(stmts0);
592 Token stmts1;
594 // static $_ = children;
595 Token arr;
596 if (children.num() == 2) {
597 arr = children;
598 } else if (children.num() >= 0) {
599 scalar_num(_p, arr, children.num());
600 } else {
601 HPHP_PARSER_ERROR("XHP: XHP unknown children declaration", _p);
603 Token var; var.set(T_VARIABLE, "_");
604 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
605 Token sdecl; _p->onStatic(sdecl, decl);
606 _p->addStatement(stmts1, stmts0, sdecl);
608 Token stmts2;
610 // return $_;
611 Token tvar; tvar.set(T_VARIABLE, "_");
612 Token var; _p->onSimpleVariable(var, tvar);
613 Token ret; _p->onReturn(ret, &var);
614 _p->addStatement(stmts2, stmts1, ret);
616 Token stmt;
618 _p->finishStatement(stmt, stmts2);
619 stmt = 1;
622 Token params, ret, ref; ref = 0;
623 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
627 static void only_in_hh_syntax(Parser *_p) {
628 if (!_p->scanner().isHHSyntaxEnabled()) {
629 HPHP_PARSER_ERROR(
630 "Syntax only allowed in Hack files (<?hh) or with -v "
631 "Eval.EnableHipHopSyntax=true",
632 _p);
636 static void validate_hh_variadic_variant(Parser* _p,
637 Token& userAttrs, Token& typehint,
638 Token* mod) {
639 if (!userAttrs.text().empty() || !typehint.text().empty() ||
640 (mod && !mod->text().empty())) {
641 HPHP_PARSER_ERROR("Variadic '...' should be followed by a '$variable'", _p);
643 only_in_hh_syntax(_p);
646 // Shapes may not have leading integers in key names, considered as a
647 // parse time error. This is because at runtime they are currently
648 // hphp arrays, which will treat leading integer keys as numbers.
649 static void validate_shape_keyname(Token& tok, Parser* _p) {
650 if (tok.text().empty()) {
651 HPHP_PARSER_ERROR("Shape key names may not be empty", _p);
653 if (isdigit(tok.text()[0])) {
654 HPHP_PARSER_ERROR("Shape key names may not start with integers", _p);
658 ///////////////////////////////////////////////////////////////////////////////
660 static int yylex(YYSTYPE* token, HPHP::Location* loc, Parser* _p) {
661 return _p->scan(token, loc);
665 /* Line 189 of yacc.c */
666 #line 666 "hphp.5.tab.cpp"
668 /* Enabling traces. */
669 #ifndef YYDEBUG
670 # define YYDEBUG 0
671 #endif
673 /* Enabling verbose error messages. */
674 #ifdef YYERROR_VERBOSE
675 # undef YYERROR_VERBOSE
676 # define YYERROR_VERBOSE 1
677 #else
678 # define YYERROR_VERBOSE 0
679 #endif
681 /* Enabling the token table. */
682 #ifndef YYTOKEN_TABLE
683 # define YYTOKEN_TABLE 0
684 #endif
687 /* Tokens. */
688 #ifndef YYTOKENTYPE
689 # define YYTOKENTYPE
690 /* Put the tokens into the symbol table, so that GDB and other debuggers
691 know about them. */
692 enum yytokentype {
693 T_REQUIRE_ONCE = 258,
694 T_REQUIRE = 259,
695 T_EVAL = 260,
696 T_INCLUDE_ONCE = 261,
697 T_INCLUDE = 262,
698 T_LAMBDA_ARROW = 263,
699 T_LOGICAL_OR = 264,
700 T_LOGICAL_XOR = 265,
701 T_LOGICAL_AND = 266,
702 T_PRINT = 267,
703 T_POW_EQUAL = 268,
704 T_SR_EQUAL = 269,
705 T_SL_EQUAL = 270,
706 T_XOR_EQUAL = 271,
707 T_OR_EQUAL = 272,
708 T_AND_EQUAL = 273,
709 T_MOD_EQUAL = 274,
710 T_CONCAT_EQUAL = 275,
711 T_DIV_EQUAL = 276,
712 T_MUL_EQUAL = 277,
713 T_MINUS_EQUAL = 278,
714 T_PLUS_EQUAL = 279,
715 T_YIELD = 280,
716 T_AWAIT = 281,
717 T_YIELD_FROM = 282,
718 T_PIPE = 283,
719 T_COALESCE = 284,
720 T_BOOLEAN_OR = 285,
721 T_BOOLEAN_AND = 286,
722 T_IS_NOT_IDENTICAL = 287,
723 T_IS_IDENTICAL = 288,
724 T_IS_NOT_EQUAL = 289,
725 T_IS_EQUAL = 290,
726 T_SPACESHIP = 291,
727 T_IS_GREATER_OR_EQUAL = 292,
728 T_IS_SMALLER_OR_EQUAL = 293,
729 T_SR = 294,
730 T_SL = 295,
731 T_INSTANCEOF = 296,
732 T_UNSET_CAST = 297,
733 T_BOOL_CAST = 298,
734 T_OBJECT_CAST = 299,
735 T_ARRAY_CAST = 300,
736 T_STRING_CAST = 301,
737 T_DOUBLE_CAST = 302,
738 T_INT_CAST = 303,
739 T_DEC = 304,
740 T_INC = 305,
741 T_POW = 306,
742 T_CLONE = 307,
743 T_NEW = 308,
744 T_EXIT = 309,
745 T_IF = 310,
746 T_ELSEIF = 311,
747 T_ELSE = 312,
748 T_ENDIF = 313,
749 T_LNUMBER = 314,
750 T_DNUMBER = 315,
751 T_ONUMBER = 316,
752 T_STRING = 317,
753 T_STRING_VARNAME = 318,
754 T_VARIABLE = 319,
755 T_PIPE_VAR = 320,
756 T_NUM_STRING = 321,
757 T_INLINE_HTML = 322,
758 T_HASHBANG = 323,
759 T_CHARACTER = 324,
760 T_BAD_CHARACTER = 325,
761 T_ENCAPSED_AND_WHITESPACE = 326,
762 T_CONSTANT_ENCAPSED_STRING = 327,
763 T_ECHO = 328,
764 T_DO = 329,
765 T_WHILE = 330,
766 T_ENDWHILE = 331,
767 T_FOR = 332,
768 T_ENDFOR = 333,
769 T_FOREACH = 334,
770 T_ENDFOREACH = 335,
771 T_DECLARE = 336,
772 T_ENDDECLARE = 337,
773 T_AS = 338,
774 T_SUPER = 339,
775 T_SWITCH = 340,
776 T_ENDSWITCH = 341,
777 T_CASE = 342,
778 T_DEFAULT = 343,
779 T_BREAK = 344,
780 T_GOTO = 345,
781 T_CONTINUE = 346,
782 T_FUNCTION = 347,
783 T_CONST = 348,
784 T_RETURN = 349,
785 T_TRY = 350,
786 T_CATCH = 351,
787 T_THROW = 352,
788 T_USE = 353,
789 T_GLOBAL = 354,
790 T_PUBLIC = 355,
791 T_PROTECTED = 356,
792 T_PRIVATE = 357,
793 T_FINAL = 358,
794 T_ABSTRACT = 359,
795 T_STATIC = 360,
796 T_VAR = 361,
797 T_UNSET = 362,
798 T_ISSET = 363,
799 T_EMPTY = 364,
800 T_HALT_COMPILER = 365,
801 T_CLASS = 366,
802 T_INTERFACE = 367,
803 T_EXTENDS = 368,
804 T_IMPLEMENTS = 369,
805 T_OBJECT_OPERATOR = 370,
806 T_NULLSAFE_OBJECT_OPERATOR = 371,
807 T_DOUBLE_ARROW = 372,
808 T_LIST = 373,
809 T_ARRAY = 374,
810 T_DICT = 375,
811 T_VEC = 376,
812 T_KEYSET = 377,
813 T_CALLABLE = 378,
814 T_CLASS_C = 379,
815 T_METHOD_C = 380,
816 T_FUNC_C = 381,
817 T_LINE = 382,
818 T_FILE = 383,
819 T_COMMENT = 384,
820 T_DOC_COMMENT = 385,
821 T_OPEN_TAG = 386,
822 T_OPEN_TAG_WITH_ECHO = 387,
823 T_CLOSE_TAG = 388,
824 T_WHITESPACE = 389,
825 T_START_HEREDOC = 390,
826 T_END_HEREDOC = 391,
827 T_DOLLAR_OPEN_CURLY_BRACES = 392,
828 T_CURLY_OPEN = 393,
829 T_DOUBLE_COLON = 394,
830 T_NAMESPACE = 395,
831 T_NS_C = 396,
832 T_DIR = 397,
833 T_NS_SEPARATOR = 398,
834 T_XHP_LABEL = 399,
835 T_XHP_TEXT = 400,
836 T_XHP_ATTRIBUTE = 401,
837 T_XHP_CATEGORY = 402,
838 T_XHP_CATEGORY_LABEL = 403,
839 T_XHP_CHILDREN = 404,
840 T_ENUM = 405,
841 T_XHP_REQUIRED = 406,
842 T_TRAIT = 407,
843 T_ELLIPSIS = 408,
844 T_INSTEADOF = 409,
845 T_TRAIT_C = 410,
846 T_HH_ERROR = 411,
847 T_FINALLY = 412,
848 T_XHP_TAG_LT = 413,
849 T_XHP_TAG_GT = 414,
850 T_TYPELIST_LT = 415,
851 T_TYPELIST_GT = 416,
852 T_UNRESOLVED_LT = 417,
853 T_COLLECTION = 418,
854 T_SHAPE = 419,
855 T_TYPE = 420,
856 T_UNRESOLVED_TYPE = 421,
857 T_NEWTYPE = 422,
858 T_UNRESOLVED_NEWTYPE = 423,
859 T_COMPILER_HALT_OFFSET = 424,
860 T_ASYNC = 425,
861 T_LAMBDA_OP = 426,
862 T_LAMBDA_CP = 427,
863 T_UNRESOLVED_OP = 428,
864 T_WHERE = 429
866 #endif
870 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
871 typedef int YYSTYPE;
872 # define YYSTYPE_IS_TRIVIAL 1
873 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
874 # define YYSTYPE_IS_DECLARED 1
875 #endif
877 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
878 typedef struct YYLTYPE
880 int line0;
881 int char0;
882 int line1;
883 int char1;
884 } YYLTYPE;
885 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
886 # define YYLTYPE_IS_DECLARED 1
887 # define YYLTYPE_IS_TRIVIAL 1
888 #endif
891 /* Copy the second part of user declarations. */
894 /* Line 264 of yacc.c */
895 #line 895 "hphp.5.tab.cpp"
897 #ifdef short
898 # undef short
899 #endif
901 #ifdef YYTYPE_UINT8
902 typedef YYTYPE_UINT8 yytype_uint8;
903 #else
904 typedef unsigned char yytype_uint8;
905 #endif
907 #ifdef YYTYPE_INT8
908 typedef YYTYPE_INT8 yytype_int8;
909 #elif (defined __STDC__ || defined __C99__FUNC__ \
910 || defined __cplusplus || defined _MSC_VER)
911 typedef signed char yytype_int8;
912 #else
913 typedef short int yytype_int8;
914 #endif
916 #ifdef YYTYPE_UINT16
917 typedef YYTYPE_UINT16 yytype_uint16;
918 #else
919 typedef unsigned short int yytype_uint16;
920 #endif
922 #ifdef YYTYPE_INT16
923 typedef YYTYPE_INT16 yytype_int16;
924 #else
925 typedef short int yytype_int16;
926 #endif
928 #ifndef YYSIZE_T
929 # ifdef __SIZE_TYPE__
930 # define YYSIZE_T __SIZE_TYPE__
931 # elif defined size_t
932 # define YYSIZE_T size_t
933 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
934 || defined __cplusplus || defined _MSC_VER)
935 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
936 # define YYSIZE_T size_t
937 # else
938 # define YYSIZE_T unsigned int
939 # endif
940 #endif
942 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
944 #ifndef YY_
945 # if YYENABLE_NLS
946 # if ENABLE_NLS
947 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
948 # define YY_(msgid) dgettext ("bison-runtime", msgid)
949 # endif
950 # endif
951 # ifndef YY_
952 # define YY_(msgid) msgid
953 # endif
954 #endif
956 /* Suppress unused-variable warnings by "using" E. */
957 #if ! defined lint || defined __GNUC__
958 # define YYUSE(e) ((void) (e))
959 #else
960 # define YYUSE(e) /* empty */
961 #endif
963 /* Identity function, used to suppress warnings about constant conditions. */
964 #ifndef lint
965 # define YYID(n) (n)
966 #else
967 #if (defined __STDC__ || defined __C99__FUNC__ \
968 || defined __cplusplus || defined _MSC_VER)
969 static int
970 YYID (int yyi)
971 #else
972 static int
973 YYID (yyi)
974 int yyi;
975 #endif
977 return yyi;
979 #endif
981 #if ! defined yyoverflow || YYERROR_VERBOSE
983 /* The parser invokes alloca or malloc; define the necessary symbols. */
985 # ifdef YYSTACK_USE_ALLOCA
986 # if YYSTACK_USE_ALLOCA
987 # ifdef __GNUC__
988 # define YYSTACK_ALLOC __builtin_alloca
989 # elif defined __BUILTIN_VA_ARG_INCR
990 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
991 # elif defined _AIX
992 # define YYSTACK_ALLOC __alloca
993 # elif defined _MSC_VER
994 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
995 # define alloca _alloca
996 # else
997 # define YYSTACK_ALLOC alloca
998 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
999 || defined __cplusplus || defined _MSC_VER)
1000 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1001 # ifndef _STDLIB_H
1002 # define _STDLIB_H 1
1003 # endif
1004 # endif
1005 # endif
1006 # endif
1007 # endif
1009 # ifdef YYSTACK_ALLOC
1010 /* Pacify GCC's `empty if-body' warning. */
1011 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1012 # ifndef YYSTACK_ALLOC_MAXIMUM
1013 /* The OS might guarantee only one guard page at the bottom of the stack,
1014 and a page size can be as small as 4096 bytes. So we cannot safely
1015 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1016 to allow for a few compiler-allocated temporary stack slots. */
1017 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1018 # endif
1019 # else
1020 # define YYSTACK_ALLOC YYMALLOC
1021 # define YYSTACK_FREE YYFREE
1022 # ifndef YYSTACK_ALLOC_MAXIMUM
1023 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1024 # endif
1025 # if (defined __cplusplus && ! defined _STDLIB_H \
1026 && ! ((defined YYMALLOC || defined malloc) \
1027 && (defined YYFREE || defined free)))
1028 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1029 # ifndef _STDLIB_H
1030 # define _STDLIB_H 1
1031 # endif
1032 # endif
1033 # ifndef YYMALLOC
1034 # define YYMALLOC malloc
1035 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1036 || defined __cplusplus || defined _MSC_VER)
1037 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1038 # endif
1039 # endif
1040 # ifndef YYFREE
1041 # define YYFREE free
1042 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1043 || defined __cplusplus || defined _MSC_VER)
1044 void free (void *); /* INFRINGES ON USER NAME SPACE */
1045 # endif
1046 # endif
1047 # endif
1048 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1051 #if (! defined yyoverflow \
1052 && (! defined __cplusplus \
1053 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1054 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1056 /* A type that is properly aligned for any stack member. */
1057 struct yyalloc
1059 yytype_int16 yyss_alloc;
1060 YYSTYPE yyvs_alloc;
1061 YYLTYPE yyls_alloc;
1064 /* The size of the maximum gap between one aligned stack and the next. */
1065 # define YYSTACK_GAP_MAXIMUM (sizeof (struct yyalloc) - 1)
1067 /* The size of an array large to enough to hold all stacks, each with
1068 N elements. */
1069 # define YYSTACK_BYTES(N) \
1070 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1071 + 2 * YYSTACK_GAP_MAXIMUM)
1073 /* Copy COUNT objects from FROM to TO. The source and destination do
1074 not overlap. */
1075 # ifndef YYCOPY
1076 # if defined __GNUC__ && 1 < __GNUC__
1077 # define YYCOPY(To, From, Count) \
1078 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1079 # else
1080 # define YYCOPY(To, From, Count) \
1081 do \
1083 YYSIZE_T yyi; \
1084 for (yyi = 0; yyi < (Count); yyi++) \
1085 (To)[yyi] = (From)[yyi]; \
1087 while (YYID (0))
1088 # endif
1089 # endif
1091 /* Relocate STACK from its old location to the new one. The
1092 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1093 elements in the stack, and YYPTR gives the new location of the
1094 stack. Advance YYPTR to a properly aligned location for the next
1095 stack. */
1096 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1097 do \
1099 YYSIZE_T yynewbytes; \
1100 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1101 Stack = &yyptr->Stack_alloc; \
1102 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1103 yyptr += yynewbytes / sizeof (*yyptr); \
1105 while (YYID (0))
1107 #endif
1109 /* YYFINAL -- State number of the termination state. */
1110 #define YYFINAL 3
1111 /* YYLAST -- Last index in YYTABLE. */
1112 #define YYLAST 18361
1114 /* YYNTOKENS -- Number of terminals. */
1115 #define YYNTOKENS 204
1116 /* YYNNTS -- Number of nonterminals. */
1117 #define YYNNTS 296
1118 /* YYNRULES -- Number of rules. */
1119 #define YYNRULES 1057
1120 /* YYNRULES -- Number of states. */
1121 #define YYNSTATES 1940
1123 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1124 #define YYUNDEFTOK 2
1125 #define YYMAXUTOK 429
1127 #define YYTRANSLATE(YYX) \
1128 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1130 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1131 static const yytype_uint8 yytranslate[] =
1133 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1136 2, 2, 2, 56, 202, 2, 199, 55, 38, 203,
1137 194, 195, 53, 50, 9, 51, 52, 54, 2, 2,
1138 2, 2, 2, 2, 2, 2, 2, 2, 32, 196,
1139 43, 14, 44, 31, 59, 2, 2, 2, 2, 2,
1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 2, 70, 2, 201, 37, 2, 200, 2, 2, 2,
1143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 2, 2, 2, 197, 36, 198, 58, 2, 2, 2,
1146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1159 5, 6, 7, 8, 10, 11, 12, 13, 15, 16,
1160 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1161 27, 28, 29, 30, 33, 34, 35, 39, 40, 41,
1162 42, 45, 46, 47, 48, 49, 57, 60, 61, 62,
1163 63, 64, 65, 66, 67, 68, 69, 71, 72, 73,
1164 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1165 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1166 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1167 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1168 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1169 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1170 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1171 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1172 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1173 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1174 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1175 184, 185, 186, 187, 188, 189, 190, 191, 192, 193
1178 #if YYDEBUG
1179 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1180 YYRHS. */
1181 static const yytype_uint16 yyprhs[] =
1183 0, 0, 3, 4, 7, 10, 11, 13, 15, 17,
1184 19, 21, 23, 28, 32, 33, 40, 41, 47, 51,
1185 56, 61, 68, 76, 84, 87, 89, 91, 93, 95,
1186 97, 99, 101, 103, 105, 107, 109, 111, 113, 115,
1187 117, 119, 121, 123, 125, 127, 129, 131, 133, 135,
1188 137, 139, 141, 143, 145, 147, 149, 151, 153, 155,
1189 157, 159, 161, 163, 165, 167, 169, 171, 173, 175,
1190 177, 179, 181, 183, 185, 187, 189, 191, 193, 195,
1191 197, 199, 201, 203, 205, 207, 209, 211, 213, 215,
1192 217, 219, 221, 223, 225, 227, 229, 231, 233, 235,
1193 237, 239, 241, 244, 248, 252, 254, 257, 259, 262,
1194 266, 271, 275, 277, 280, 282, 285, 288, 290, 294,
1195 296, 300, 303, 306, 309, 315, 320, 323, 324, 326,
1196 328, 330, 332, 336, 342, 351, 352, 357, 358, 365,
1197 366, 377, 378, 383, 386, 390, 393, 397, 400, 404,
1198 408, 412, 416, 420, 424, 430, 432, 434, 436, 437,
1199 447, 448, 459, 465, 466, 480, 481, 487, 491, 495,
1200 498, 501, 504, 507, 510, 513, 517, 520, 523, 527,
1201 530, 533, 534, 539, 549, 550, 551, 556, 559, 560,
1202 562, 563, 565, 566, 576, 577, 588, 589, 601, 602,
1203 612, 613, 624, 625, 634, 635, 645, 646, 654, 655,
1204 664, 665, 674, 675, 683, 684, 693, 695, 697, 699,
1205 701, 703, 706, 710, 714, 717, 720, 721, 724, 725,
1206 728, 729, 731, 735, 737, 741, 744, 745, 747, 750,
1207 755, 757, 762, 764, 769, 771, 776, 778, 783, 787,
1208 793, 797, 802, 807, 813, 819, 824, 825, 827, 829,
1209 834, 835, 841, 842, 845, 846, 850, 851, 859, 868,
1210 875, 878, 884, 891, 896, 897, 902, 908, 916, 923,
1211 930, 938, 948, 957, 964, 972, 978, 981, 986, 992,
1212 996, 997, 1001, 1006, 1013, 1019, 1025, 1032, 1041, 1049,
1213 1052, 1053, 1055, 1058, 1061, 1065, 1070, 1075, 1079, 1081,
1214 1083, 1086, 1091, 1095, 1101, 1103, 1107, 1110, 1111, 1114,
1215 1118, 1121, 1122, 1123, 1128, 1129, 1135, 1138, 1141, 1144,
1216 1145, 1157, 1158, 1171, 1175, 1179, 1183, 1188, 1193, 1197,
1217 1203, 1206, 1209, 1210, 1217, 1223, 1228, 1232, 1234, 1236,
1218 1240, 1245, 1247, 1250, 1252, 1254, 1260, 1267, 1269, 1271,
1219 1276, 1278, 1280, 1284, 1287, 1290, 1291, 1294, 1295, 1297,
1220 1301, 1303, 1305, 1307, 1309, 1313, 1318, 1323, 1328, 1330,
1221 1332, 1335, 1338, 1341, 1345, 1349, 1351, 1353, 1355, 1357,
1222 1361, 1363, 1367, 1369, 1371, 1373, 1374, 1376, 1379, 1381,
1223 1383, 1385, 1387, 1389, 1391, 1393, 1395, 1396, 1398, 1400,
1224 1402, 1406, 1412, 1414, 1418, 1424, 1429, 1433, 1437, 1441,
1225 1446, 1450, 1454, 1458, 1461, 1464, 1466, 1468, 1472, 1476,
1226 1478, 1480, 1481, 1483, 1486, 1491, 1495, 1499, 1506, 1509,
1227 1513, 1516, 1520, 1527, 1529, 1531, 1533, 1535, 1537, 1544,
1228 1548, 1553, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1588,
1229 1592, 1596, 1600, 1604, 1608, 1611, 1614, 1617, 1620, 1624,
1230 1628, 1632, 1636, 1640, 1644, 1648, 1652, 1656, 1660, 1664,
1231 1668, 1672, 1676, 1680, 1684, 1688, 1692, 1695, 1698, 1701,
1232 1704, 1708, 1712, 1716, 1720, 1724, 1728, 1732, 1736, 1740,
1233 1744, 1748, 1754, 1759, 1763, 1765, 1768, 1771, 1774, 1777,
1234 1780, 1783, 1786, 1789, 1792, 1794, 1796, 1798, 1800, 1802,
1235 1804, 1808, 1811, 1813, 1819, 1820, 1821, 1834, 1835, 1849,
1236 1850, 1855, 1856, 1864, 1865, 1871, 1872, 1876, 1877, 1884,
1237 1887, 1890, 1895, 1897, 1899, 1905, 1909, 1915, 1919, 1922,
1238 1923, 1926, 1927, 1932, 1937, 1941, 1944, 1945, 1951, 1955,
1239 1962, 1967, 1970, 1971, 1977, 1981, 1984, 1985, 1991, 1995,
1240 2000, 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2043,
1241 2044, 2047, 2048, 2051, 2052, 2057, 2062, 2067, 2072, 2074,
1242 2076, 2078, 2080, 2082, 2084, 2086, 2090, 2092, 2096, 2101,
1243 2103, 2106, 2111, 2114, 2121, 2122, 2124, 2129, 2130, 2133,
1244 2134, 2136, 2138, 2142, 2144, 2148, 2150, 2152, 2156, 2160,
1245 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176, 2178, 2180,
1246 2182, 2184, 2186, 2188, 2190, 2192, 2194, 2196, 2198, 2200,
1247 2202, 2204, 2206, 2208, 2210, 2212, 2214, 2216, 2218, 2220,
1248 2222, 2224, 2226, 2228, 2230, 2232, 2234, 2236, 2238, 2240,
1249 2242, 2244, 2246, 2248, 2250, 2252, 2254, 2256, 2258, 2260,
1250 2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280,
1251 2282, 2284, 2286, 2288, 2290, 2292, 2294, 2296, 2298, 2300,
1252 2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320,
1253 2322, 2327, 2329, 2331, 2333, 2335, 2337, 2339, 2343, 2345,
1254 2349, 2351, 2353, 2357, 2359, 2361, 2363, 2366, 2368, 2369,
1255 2370, 2372, 2374, 2378, 2379, 2381, 2383, 2385, 2387, 2389,
1256 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405, 2409, 2412,
1257 2414, 2416, 2421, 2425, 2430, 2432, 2434, 2436, 2438, 2440,
1258 2444, 2448, 2452, 2456, 2460, 2464, 2468, 2472, 2476, 2480,
1259 2484, 2488, 2492, 2496, 2500, 2504, 2508, 2512, 2515, 2518,
1260 2521, 2524, 2528, 2532, 2536, 2540, 2544, 2548, 2552, 2556,
1261 2560, 2566, 2571, 2575, 2577, 2581, 2585, 2587, 2589, 2591,
1262 2593, 2595, 2599, 2603, 2607, 2610, 2611, 2613, 2614, 2616,
1263 2617, 2623, 2627, 2631, 2633, 2635, 2637, 2639, 2643, 2646,
1264 2648, 2650, 2652, 2654, 2656, 2660, 2662, 2664, 2666, 2670,
1265 2672, 2675, 2678, 2683, 2687, 2692, 2694, 2696, 2698, 2702,
1266 2704, 2707, 2708, 2714, 2718, 2722, 2724, 2728, 2730, 2733,
1267 2734, 2740, 2744, 2747, 2748, 2752, 2753, 2758, 2761, 2762,
1268 2766, 2770, 2772, 2773, 2775, 2777, 2779, 2781, 2785, 2787,
1269 2789, 2791, 2795, 2797, 2799, 2803, 2807, 2810, 2815, 2818,
1270 2823, 2829, 2835, 2841, 2847, 2849, 2851, 2853, 2855, 2857,
1271 2859, 2863, 2867, 2872, 2877, 2881, 2883, 2885, 2887, 2889,
1272 2893, 2895, 2900, 2904, 2906, 2908, 2910, 2912, 2914, 2918,
1273 2922, 2927, 2932, 2936, 2938, 2940, 2948, 2958, 2966, 2973,
1274 2982, 2984, 2987, 2992, 2997, 2999, 3001, 3003, 3008, 3010,
1275 3011, 3013, 3016, 3018, 3020, 3022, 3026, 3030, 3034, 3035,
1276 3037, 3039, 3043, 3047, 3050, 3054, 3061, 3062, 3064, 3069,
1277 3072, 3073, 3079, 3083, 3087, 3089, 3096, 3101, 3106, 3109,
1278 3112, 3113, 3119, 3123, 3127, 3129, 3132, 3133, 3139, 3143,
1279 3147, 3149, 3152, 3155, 3157, 3160, 3162, 3167, 3171, 3175,
1280 3182, 3186, 3188, 3190, 3192, 3197, 3202, 3207, 3212, 3217,
1281 3222, 3225, 3228, 3233, 3236, 3239, 3241, 3245, 3249, 3253,
1282 3254, 3257, 3263, 3270, 3277, 3285, 3287, 3290, 3292, 3295,
1283 3297, 3302, 3304, 3309, 3313, 3314, 3316, 3320, 3323, 3327,
1284 3329, 3331, 3332, 3333, 3337, 3339, 3343, 3347, 3350, 3351,
1285 3354, 3357, 3360, 3363, 3365, 3368, 3373, 3376, 3382, 3386,
1286 3388, 3390, 3391, 3395, 3400, 3406, 3410, 3412, 3415, 3416,
1287 3421, 3423, 3427, 3430, 3435, 3441, 3444, 3447, 3449, 3451,
1288 3453, 3455, 3459, 3462, 3464, 3473, 3480, 3482
1291 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1292 static const yytype_int16 yyrhs[] =
1294 205, 0, -1, -1, 206, 207, -1, 207, 208, -1,
1295 -1, 228, -1, 245, -1, 252, -1, 249, -1, 259,
1296 -1, 473, -1, 129, 194, 195, 196, -1, 159, 221,
1297 196, -1, -1, 159, 221, 197, 209, 207, 198, -1,
1298 -1, 159, 197, 210, 207, 198, -1, 117, 216, 196,
1299 -1, 117, 111, 216, 196, -1, 117, 112, 216, 196,
1300 -1, 117, 214, 197, 219, 198, 196, -1, 117, 111,
1301 214, 197, 216, 198, 196, -1, 117, 112, 214, 197,
1302 216, 198, 196, -1, 225, 196, -1, 81, -1, 103,
1303 -1, 193, -1, 165, -1, 166, -1, 168, -1, 170,
1304 -1, 169, -1, 139, -1, 140, -1, 141, -1, 211,
1305 -1, 142, -1, 171, -1, 132, -1, 133, -1, 124,
1306 -1, 123, -1, 122, -1, 121, -1, 120, -1, 119,
1307 -1, 112, -1, 101, -1, 97, -1, 99, -1, 77,
1308 -1, 95, -1, 12, -1, 118, -1, 109, -1, 57,
1309 -1, 173, -1, 131, -1, 159, -1, 72, -1, 10,
1310 -1, 11, -1, 114, -1, 117, -1, 125, -1, 73,
1311 -1, 137, -1, 71, -1, 7, -1, 6, -1, 116,
1312 -1, 138, -1, 13, -1, 92, -1, 4, -1, 3,
1313 -1, 113, -1, 76, -1, 75, -1, 107, -1, 108,
1314 -1, 110, -1, 104, -1, 27, -1, 29, -1, 111,
1315 -1, 74, -1, 105, -1, 176, -1, 96, -1, 98,
1316 -1, 100, -1, 106, -1, 93, -1, 94, -1, 102,
1317 -1, 115, -1, 128, -1, 126, -1, 212, -1, 130,
1318 -1, 221, 162, -1, 162, 221, 162, -1, 215, 9,
1319 217, -1, 217, -1, 215, 416, -1, 221, -1, 162,
1320 221, -1, 221, 102, 211, -1, 162, 221, 102, 211,
1321 -1, 218, 9, 220, -1, 220, -1, 218, 416, -1,
1322 217, -1, 111, 217, -1, 112, 217, -1, 211, -1,
1323 221, 162, 211, -1, 221, -1, 159, 162, 221, -1,
1324 162, 221, -1, 222, 478, -1, 222, 478, -1, 225,
1325 9, 474, 14, 409, -1, 112, 474, 14, 409, -1,
1326 226, 227, -1, -1, 228, -1, 245, -1, 252, -1,
1327 259, -1, 197, 226, 198, -1, 74, 335, 228, 281,
1328 283, -1, 74, 335, 32, 226, 282, 284, 77, 196,
1329 -1, -1, 94, 335, 229, 275, -1, -1, 93, 230,
1330 228, 94, 335, 196, -1, -1, 96, 194, 337, 196,
1331 337, 196, 337, 195, 231, 273, -1, -1, 104, 335,
1332 232, 278, -1, 108, 196, -1, 108, 346, 196, -1,
1333 110, 196, -1, 110, 346, 196, -1, 113, 196, -1,
1334 113, 346, 196, -1, 27, 108, 196, -1, 118, 291,
1335 196, -1, 124, 293, 196, -1, 92, 336, 196, -1,
1336 151, 336, 196, -1, 126, 194, 470, 195, 196, -1,
1337 196, -1, 86, -1, 87, -1, -1, 98, 194, 346,
1338 102, 272, 271, 195, 233, 274, -1, -1, 98, 194,
1339 346, 28, 102, 272, 271, 195, 234, 274, -1, 100,
1340 194, 277, 195, 276, -1, -1, 114, 237, 115, 194,
1341 400, 83, 195, 197, 226, 198, 239, 235, 242, -1,
1342 -1, 114, 237, 176, 236, 240, -1, 116, 346, 196,
1343 -1, 109, 211, 196, -1, 346, 196, -1, 338, 196,
1344 -1, 339, 196, -1, 340, 196, -1, 341, 196, -1,
1345 342, 196, -1, 113, 341, 196, -1, 343, 196, -1,
1346 344, 196, -1, 113, 343, 196, -1, 345, 196, -1,
1347 211, 32, -1, -1, 197, 238, 226, 198, -1, 239,
1348 115, 194, 400, 83, 195, 197, 226, 198, -1, -1,
1349 -1, 197, 241, 226, 198, -1, 176, 240, -1, -1,
1350 38, -1, -1, 111, -1, -1, 244, 243, 477, 246,
1351 194, 287, 195, 485, 321, -1, -1, 325, 244, 243,
1352 477, 247, 194, 287, 195, 485, 321, -1, -1, 433,
1353 324, 244, 243, 477, 248, 194, 287, 195, 485, 321,
1354 -1, -1, 169, 211, 250, 32, 498, 472, 197, 294,
1355 198, -1, -1, 433, 169, 211, 251, 32, 498, 472,
1356 197, 294, 198, -1, -1, 265, 262, 253, 266, 267,
1357 197, 297, 198, -1, -1, 433, 265, 262, 254, 266,
1358 267, 197, 297, 198, -1, -1, 131, 263, 255, 268,
1359 197, 297, 198, -1, -1, 433, 131, 263, 256, 268,
1360 197, 297, 198, -1, -1, 130, 258, 407, 266, 267,
1361 197, 297, 198, -1, -1, 171, 264, 260, 267, 197,
1362 297, 198, -1, -1, 433, 171, 264, 261, 267, 197,
1363 297, 198, -1, 477, -1, 163, -1, 477, -1, 477,
1364 -1, 130, -1, 123, 130, -1, 123, 122, 130, -1,
1365 122, 123, 130, -1, 122, 130, -1, 132, 400, -1,
1366 -1, 133, 269, -1, -1, 132, 269, -1, -1, 400,
1367 -1, 269, 9, 400, -1, 400, -1, 270, 9, 400,
1368 -1, 136, 272, -1, -1, 445, -1, 38, 445, -1,
1369 137, 194, 459, 195, -1, 228, -1, 32, 226, 97,
1370 196, -1, 228, -1, 32, 226, 99, 196, -1, 228,
1371 -1, 32, 226, 95, 196, -1, 228, -1, 32, 226,
1372 101, 196, -1, 211, 14, 409, -1, 277, 9, 211,
1373 14, 409, -1, 197, 279, 198, -1, 197, 196, 279,
1374 198, -1, 32, 279, 105, 196, -1, 32, 196, 279,
1375 105, 196, -1, 279, 106, 346, 280, 226, -1, 279,
1376 107, 280, 226, -1, -1, 32, -1, 196, -1, 281,
1377 75, 335, 228, -1, -1, 282, 75, 335, 32, 226,
1378 -1, -1, 76, 228, -1, -1, 76, 32, 226, -1,
1379 -1, 286, 9, 434, 327, 499, 172, 83, -1, 286,
1380 9, 434, 327, 499, 38, 172, 83, -1, 286, 9,
1381 434, 327, 499, 172, -1, 286, 416, -1, 434, 327,
1382 499, 172, 83, -1, 434, 327, 499, 38, 172, 83,
1383 -1, 434, 327, 499, 172, -1, -1, 434, 327, 499,
1384 83, -1, 434, 327, 499, 38, 83, -1, 434, 327,
1385 499, 38, 83, 14, 346, -1, 434, 327, 499, 83,
1386 14, 346, -1, 286, 9, 434, 327, 499, 83, -1,
1387 286, 9, 434, 327, 499, 38, 83, -1, 286, 9,
1388 434, 327, 499, 38, 83, 14, 346, -1, 286, 9,
1389 434, 327, 499, 83, 14, 346, -1, 288, 9, 434,
1390 499, 172, 83, -1, 288, 9, 434, 499, 38, 172,
1391 83, -1, 288, 9, 434, 499, 172, -1, 288, 416,
1392 -1, 434, 499, 172, 83, -1, 434, 499, 38, 172,
1393 83, -1, 434, 499, 172, -1, -1, 434, 499, 83,
1394 -1, 434, 499, 38, 83, -1, 434, 499, 38, 83,
1395 14, 346, -1, 434, 499, 83, 14, 346, -1, 288,
1396 9, 434, 499, 83, -1, 288, 9, 434, 499, 38,
1397 83, -1, 288, 9, 434, 499, 38, 83, 14, 346,
1398 -1, 288, 9, 434, 499, 83, 14, 346, -1, 290,
1399 416, -1, -1, 346, -1, 38, 445, -1, 172, 346,
1400 -1, 290, 9, 346, -1, 290, 9, 172, 346, -1,
1401 290, 9, 38, 445, -1, 291, 9, 292, -1, 292,
1402 -1, 83, -1, 199, 445, -1, 199, 197, 346, 198,
1403 -1, 293, 9, 83, -1, 293, 9, 83, 14, 409,
1404 -1, 83, -1, 83, 14, 409, -1, 294, 295, -1,
1405 -1, 296, 196, -1, 475, 14, 409, -1, 297, 298,
1406 -1, -1, -1, 323, 299, 329, 196, -1, -1, 325,
1407 498, 300, 329, 196, -1, 330, 196, -1, 331, 196,
1408 -1, 332, 196, -1, -1, 324, 244, 243, 476, 194,
1409 301, 285, 195, 485, 482, 322, -1, -1, 433, 324,
1410 244, 243, 477, 194, 302, 285, 195, 485, 482, 322,
1411 -1, 165, 307, 196, -1, 166, 315, 196, -1, 168,
1412 317, 196, -1, 4, 132, 400, 196, -1, 4, 133,
1413 400, 196, -1, 117, 270, 196, -1, 117, 270, 197,
1414 303, 198, -1, 303, 304, -1, 303, 305, -1, -1,
1415 224, 158, 211, 173, 270, 196, -1, 306, 102, 324,
1416 211, 196, -1, 306, 102, 325, 196, -1, 224, 158,
1417 211, -1, 211, -1, 308, -1, 307, 9, 308, -1,
1418 309, 397, 313, 314, -1, 163, -1, 31, 310, -1,
1419 310, -1, 138, -1, 138, 179, 498, 415, 180, -1,
1420 138, 179, 498, 9, 498, 180, -1, 400, -1, 125,
1421 -1, 169, 197, 312, 198, -1, 142, -1, 408, -1,
1422 311, 9, 408, -1, 311, 415, -1, 14, 409, -1,
1423 -1, 59, 170, -1, -1, 316, -1, 315, 9, 316,
1424 -1, 167, -1, 318, -1, 211, -1, 128, -1, 194,
1425 319, 195, -1, 194, 319, 195, 53, -1, 194, 319,
1426 195, 31, -1, 194, 319, 195, 50, -1, 318, -1,
1427 320, -1, 320, 53, -1, 320, 31, -1, 320, 50,
1428 -1, 319, 9, 319, -1, 319, 36, 319, -1, 211,
1429 -1, 163, -1, 167, -1, 196, -1, 197, 226, 198,
1430 -1, 196, -1, 197, 226, 198, -1, 325, -1, 125,
1431 -1, 325, -1, -1, 326, -1, 325, 326, -1, 119,
1432 -1, 120, -1, 121, -1, 124, -1, 123, -1, 122,
1433 -1, 189, -1, 328, -1, -1, 119, -1, 120, -1,
1434 121, -1, 329, 9, 83, -1, 329, 9, 83, 14,
1435 409, -1, 83, -1, 83, 14, 409, -1, 330, 9,
1436 475, 14, 409, -1, 112, 475, 14, 409, -1, 331,
1437 9, 475, -1, 123, 112, 475, -1, 123, 333, 472,
1438 -1, 333, 472, 14, 498, -1, 112, 184, 477, -1,
1439 194, 334, 195, -1, 72, 404, 407, -1, 72, 257,
1440 -1, 71, 346, -1, 389, -1, 384, -1, 194, 346,
1441 195, -1, 336, 9, 346, -1, 346, -1, 336, -1,
1442 -1, 27, -1, 27, 346, -1, 27, 346, 136, 346,
1443 -1, 194, 338, 195, -1, 445, 14, 338, -1, 137,
1444 194, 459, 195, 14, 338, -1, 29, 346, -1, 445,
1445 14, 341, -1, 28, 346, -1, 445, 14, 343, -1,
1446 137, 194, 459, 195, 14, 343, -1, 347, -1, 445,
1447 -1, 334, -1, 449, -1, 448, -1, 137, 194, 459,
1448 195, 14, 346, -1, 445, 14, 346, -1, 445, 14,
1449 38, 445, -1, 445, 14, 38, 72, 404, 407, -1,
1450 445, 26, 346, -1, 445, 25, 346, -1, 445, 24,
1451 346, -1, 445, 23, 346, -1, 445, 22, 346, -1,
1452 445, 21, 346, -1, 445, 20, 346, -1, 445, 19,
1453 346, -1, 445, 18, 346, -1, 445, 17, 346, -1,
1454 445, 16, 346, -1, 445, 15, 346, -1, 445, 68,
1455 -1, 68, 445, -1, 445, 67, -1, 67, 445, -1,
1456 346, 34, 346, -1, 346, 35, 346, -1, 346, 10,
1457 346, -1, 346, 12, 346, -1, 346, 11, 346, -1,
1458 346, 36, 346, -1, 346, 38, 346, -1, 346, 37,
1459 346, -1, 346, 52, 346, -1, 346, 50, 346, -1,
1460 346, 51, 346, -1, 346, 53, 346, -1, 346, 54,
1461 346, -1, 346, 69, 346, -1, 346, 55, 346, -1,
1462 346, 30, 346, -1, 346, 49, 346, -1, 346, 48,
1463 346, -1, 50, 346, -1, 51, 346, -1, 56, 346,
1464 -1, 58, 346, -1, 346, 40, 346, -1, 346, 39,
1465 346, -1, 346, 42, 346, -1, 346, 41, 346, -1,
1466 346, 43, 346, -1, 346, 47, 346, -1, 346, 44,
1467 346, -1, 346, 46, 346, -1, 346, 45, 346, -1,
1468 346, 57, 404, -1, 194, 347, 195, -1, 346, 31,
1469 346, 32, 346, -1, 346, 31, 32, 346, -1, 346,
1470 33, 346, -1, 469, -1, 66, 346, -1, 65, 346,
1471 -1, 64, 346, -1, 63, 346, -1, 62, 346, -1,
1472 61, 346, -1, 60, 346, -1, 73, 405, -1, 59,
1473 346, -1, 413, -1, 365, -1, 372, -1, 375, -1,
1474 378, -1, 364, -1, 200, 406, 200, -1, 13, 346,
1475 -1, 386, -1, 117, 194, 388, 416, 195, -1, -1,
1476 -1, 244, 243, 194, 350, 287, 195, 485, 348, 485,
1477 197, 226, 198, -1, -1, 325, 244, 243, 194, 351,
1478 287, 195, 485, 348, 485, 197, 226, 198, -1, -1,
1479 189, 83, 353, 358, -1, -1, 189, 190, 354, 287,
1480 191, 485, 358, -1, -1, 189, 197, 355, 226, 198,
1481 -1, -1, 83, 356, 358, -1, -1, 190, 357, 287,
1482 191, 485, 358, -1, 8, 346, -1, 8, 343, -1,
1483 8, 197, 226, 198, -1, 91, -1, 471, -1, 360,
1484 9, 359, 136, 346, -1, 359, 136, 346, -1, 361,
1485 9, 359, 136, 409, -1, 359, 136, 409, -1, 360,
1486 415, -1, -1, 361, 415, -1, -1, 183, 194, 362,
1487 195, -1, 138, 194, 460, 195, -1, 70, 460, 201,
1488 -1, 367, 415, -1, -1, 367, 9, 346, 136, 346,
1489 -1, 346, 136, 346, -1, 367, 9, 346, 136, 38,
1490 445, -1, 346, 136, 38, 445, -1, 369, 415, -1,
1491 -1, 369, 9, 409, 136, 409, -1, 409, 136, 409,
1492 -1, 371, 415, -1, -1, 371, 9, 421, 136, 421,
1493 -1, 421, 136, 421, -1, 139, 70, 366, 201, -1,
1494 139, 70, 368, 201, -1, 139, 70, 370, 201, -1,
1495 140, 70, 381, 201, -1, 140, 70, 382, 201, -1,
1496 140, 70, 383, 201, -1, 141, 70, 381, 201, -1,
1497 141, 70, 382, 201, -1, 141, 70, 383, 201, -1,
1498 336, 415, -1, -1, 410, 415, -1, -1, 422, 415,
1499 -1, -1, 400, 197, 462, 198, -1, 400, 197, 464,
1500 198, -1, 386, 70, 455, 201, -1, 387, 70, 455,
1501 201, -1, 365, -1, 372, -1, 375, -1, 378, -1,
1502 471, -1, 448, -1, 91, -1, 194, 347, 195, -1,
1503 81, -1, 388, 9, 83, -1, 388, 9, 38, 83,
1504 -1, 83, -1, 38, 83, -1, 177, 163, 390, 178,
1505 -1, 392, 54, -1, 392, 178, 393, 177, 54, 391,
1506 -1, -1, 163, -1, 392, 394, 14, 395, -1, -1,
1507 393, 396, -1, -1, 163, -1, 164, -1, 197, 346,
1508 198, -1, 164, -1, 197, 346, 198, -1, 389, -1,
1509 398, -1, 397, 32, 398, -1, 397, 51, 398, -1,
1510 211, -1, 73, -1, 111, -1, 112, -1, 113, -1,
1511 27, -1, 29, -1, 28, -1, 114, -1, 115, -1,
1512 176, -1, 116, -1, 74, -1, 75, -1, 77, -1,
1513 76, -1, 94, -1, 95, -1, 93, -1, 96, -1,
1514 97, -1, 98, -1, 99, -1, 100, -1, 101, -1,
1515 57, -1, 102, -1, 104, -1, 105, -1, 106, -1,
1516 107, -1, 108, -1, 110, -1, 109, -1, 92, -1,
1517 13, -1, 130, -1, 131, -1, 132, -1, 133, -1,
1518 72, -1, 71, -1, 125, -1, 5, -1, 7, -1,
1519 6, -1, 4, -1, 3, -1, 159, -1, 117, -1,
1520 118, -1, 127, -1, 128, -1, 129, -1, 124, -1,
1521 123, -1, 122, -1, 121, -1, 120, -1, 119, -1,
1522 189, -1, 126, -1, 137, -1, 138, -1, 10, -1,
1523 12, -1, 11, -1, 143, -1, 145, -1, 144, -1,
1524 146, -1, 147, -1, 161, -1, 160, -1, 188, -1,
1525 171, -1, 174, -1, 173, -1, 184, -1, 186, -1,
1526 183, -1, 223, 194, 289, 195, -1, 224, -1, 163,
1527 -1, 400, -1, 408, -1, 124, -1, 453, -1, 194,
1528 347, 195, -1, 401, -1, 402, 158, 452, -1, 401,
1529 -1, 451, -1, 403, 158, 452, -1, 400, -1, 124,
1530 -1, 457, -1, 194, 195, -1, 335, -1, -1, -1,
1531 90, -1, 466, -1, 194, 289, 195, -1, -1, 78,
1532 -1, 79, -1, 80, -1, 91, -1, 146, -1, 147,
1533 -1, 161, -1, 143, -1, 174, -1, 144, -1, 145,
1534 -1, 160, -1, 188, -1, 154, 90, 155, -1, 154,
1535 155, -1, 408, -1, 222, -1, 138, 194, 414, 195,
1536 -1, 70, 414, 201, -1, 183, 194, 363, 195, -1,
1537 373, -1, 376, -1, 379, -1, 412, -1, 385, -1,
1538 194, 409, 195, -1, 409, 34, 409, -1, 409, 35,
1539 409, -1, 409, 10, 409, -1, 409, 12, 409, -1,
1540 409, 11, 409, -1, 409, 36, 409, -1, 409, 38,
1541 409, -1, 409, 37, 409, -1, 409, 52, 409, -1,
1542 409, 50, 409, -1, 409, 51, 409, -1, 409, 53,
1543 409, -1, 409, 54, 409, -1, 409, 55, 409, -1,
1544 409, 49, 409, -1, 409, 48, 409, -1, 409, 69,
1545 409, -1, 56, 409, -1, 58, 409, -1, 50, 409,
1546 -1, 51, 409, -1, 409, 40, 409, -1, 409, 39,
1547 409, -1, 409, 42, 409, -1, 409, 41, 409, -1,
1548 409, 43, 409, -1, 409, 47, 409, -1, 409, 44,
1549 409, -1, 409, 46, 409, -1, 409, 45, 409, -1,
1550 409, 31, 409, 32, 409, -1, 409, 31, 32, 409,
1551 -1, 410, 9, 409, -1, 409, -1, 400, 158, 130,
1552 -1, 400, 158, 212, -1, 411, -1, 222, -1, 82,
1553 -1, 471, -1, 408, -1, 202, 466, 202, -1, 203,
1554 466, 203, -1, 154, 466, 155, -1, 417, 415, -1,
1555 -1, 9, -1, -1, 9, -1, -1, 417, 9, 409,
1556 136, 409, -1, 417, 9, 409, -1, 409, 136, 409,
1557 -1, 409, -1, 78, -1, 79, -1, 80, -1, 154,
1558 90, 155, -1, 154, 155, -1, 78, -1, 79, -1,
1559 80, -1, 211, -1, 91, -1, 91, 52, 420, -1,
1560 418, -1, 420, -1, 411, -1, 400, 158, 81, -1,
1561 211, -1, 50, 419, -1, 51, 419, -1, 138, 194,
1562 423, 195, -1, 70, 423, 201, -1, 183, 194, 426,
1563 195, -1, 374, -1, 377, -1, 380, -1, 422, 9,
1564 421, -1, 421, -1, 424, 415, -1, -1, 424, 9,
1565 421, 136, 421, -1, 424, 9, 421, -1, 421, 136,
1566 421, -1, 421, -1, 425, 9, 421, -1, 421, -1,
1567 427, 415, -1, -1, 427, 9, 359, 136, 421, -1,
1568 359, 136, 421, -1, 425, 415, -1, -1, 194, 428,
1569 195, -1, -1, 430, 9, 211, 429, -1, 211, 429,
1570 -1, -1, 432, 430, 415, -1, 49, 431, 48, -1,
1571 433, -1, -1, 134, -1, 135, -1, 211, -1, 163,
1572 -1, 197, 346, 198, -1, 436, -1, 452, -1, 211,
1573 -1, 197, 346, 198, -1, 438, -1, 452, -1, 70,
1574 455, 201, -1, 197, 346, 198, -1, 446, 440, -1,
1575 194, 334, 195, 440, -1, 458, 440, -1, 194, 334,
1576 195, 440, -1, 194, 334, 195, 435, 437, -1, 194,
1577 347, 195, 435, 437, -1, 194, 334, 195, 435, 436,
1578 -1, 194, 347, 195, 435, 436, -1, 452, -1, 399,
1579 -1, 450, -1, 451, -1, 441, -1, 443, -1, 445,
1580 435, 437, -1, 403, 158, 452, -1, 447, 194, 289,
1581 195, -1, 448, 194, 289, 195, -1, 194, 445, 195,
1582 -1, 399, -1, 450, -1, 451, -1, 441, -1, 445,
1583 435, 436, -1, 444, -1, 447, 194, 289, 195, -1,
1584 194, 445, 195, -1, 452, -1, 441, -1, 399, -1,
1585 365, -1, 408, -1, 194, 445, 195, -1, 194, 347,
1586 195, -1, 448, 194, 289, 195, -1, 447, 194, 289,
1587 195, -1, 194, 449, 195, -1, 349, -1, 352, -1,
1588 445, 435, 439, 478, 194, 289, 195, -1, 194, 334,
1589 195, 435, 439, 478, 194, 289, 195, -1, 403, 158,
1590 213, 478, 194, 289, 195, -1, 403, 158, 452, 194,
1591 289, 195, -1, 403, 158, 197, 346, 198, 194, 289,
1592 195, -1, 453, -1, 456, 453, -1, 453, 70, 455,
1593 201, -1, 453, 197, 346, 198, -1, 454, -1, 83,
1594 -1, 84, -1, 199, 197, 346, 198, -1, 346, -1,
1595 -1, 199, -1, 456, 199, -1, 452, -1, 442, -1,
1596 443, -1, 457, 435, 437, -1, 402, 158, 452, -1,
1597 194, 445, 195, -1, -1, 442, -1, 444, -1, 457,
1598 435, 436, -1, 194, 445, 195, -1, 459, 9, -1,
1599 459, 9, 445, -1, 459, 9, 137, 194, 459, 195,
1600 -1, -1, 445, -1, 137, 194, 459, 195, -1, 461,
1601 415, -1, -1, 461, 9, 346, 136, 346, -1, 461,
1602 9, 346, -1, 346, 136, 346, -1, 346, -1, 461,
1603 9, 346, 136, 38, 445, -1, 461, 9, 38, 445,
1604 -1, 346, 136, 38, 445, -1, 38, 445, -1, 463,
1605 415, -1, -1, 463, 9, 346, 136, 346, -1, 463,
1606 9, 346, -1, 346, 136, 346, -1, 346, -1, 465,
1607 415, -1, -1, 465, 9, 409, 136, 409, -1, 465,
1608 9, 409, -1, 409, 136, 409, -1, 409, -1, 466,
1609 467, -1, 466, 90, -1, 467, -1, 90, 467, -1,
1610 83, -1, 83, 70, 468, 201, -1, 83, 435, 211,
1611 -1, 156, 346, 198, -1, 156, 82, 70, 346, 201,
1612 198, -1, 157, 445, 198, -1, 211, -1, 85, -1,
1613 83, -1, 127, 194, 336, 195, -1, 128, 194, 445,
1614 195, -1, 128, 194, 347, 195, -1, 128, 194, 449,
1615 195, -1, 128, 194, 448, 195, -1, 128, 194, 334,
1616 195, -1, 7, 346, -1, 6, 346, -1, 5, 194,
1617 346, 195, -1, 4, 346, -1, 3, 346, -1, 445,
1618 -1, 470, 9, 445, -1, 403, 158, 212, -1, 403,
1619 158, 130, -1, -1, 102, 498, -1, 184, 477, 14,
1620 498, 196, -1, 433, 184, 477, 14, 498, 196, -1,
1621 186, 477, 472, 14, 498, 196, -1, 433, 186, 477,
1622 472, 14, 498, 196, -1, 213, -1, 498, 213, -1,
1623 212, -1, 498, 212, -1, 213, -1, 213, 179, 487,
1624 180, -1, 211, -1, 211, 179, 487, 180, -1, 179,
1625 480, 180, -1, -1, 498, -1, 479, 9, 498, -1,
1626 479, 415, -1, 479, 9, 172, -1, 480, -1, 172,
1627 -1, -1, -1, 193, 483, 416, -1, 484, -1, 483,
1628 9, 484, -1, 498, 14, 498, -1, 498, 486, -1,
1629 -1, 32, 498, -1, 102, 498, -1, 103, 498, -1,
1630 489, 415, -1, 486, -1, 488, 486, -1, 489, 9,
1631 490, 211, -1, 490, 211, -1, 489, 9, 490, 211,
1632 488, -1, 490, 211, 488, -1, 50, -1, 51, -1,
1633 -1, 91, 136, 498, -1, 31, 91, 136, 498, -1,
1634 224, 158, 211, 136, 498, -1, 492, 9, 491, -1,
1635 491, -1, 492, 415, -1, -1, 183, 194, 493, 195,
1636 -1, 224, -1, 211, 158, 496, -1, 211, 478, -1,
1637 179, 498, 415, 180, -1, 179, 498, 9, 498, 180,
1638 -1, 31, 498, -1, 59, 498, -1, 224, -1, 138,
1639 -1, 142, -1, 494, -1, 495, 158, 496, -1, 138,
1640 497, -1, 163, -1, 194, 111, 194, 481, 195, 32,
1641 498, 195, -1, 194, 498, 9, 479, 415, 195, -1,
1642 498, -1, -1
1645 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1646 static const yytype_uint16 yyrline[] =
1648 0, 749, 749, 749, 758, 760, 763, 764, 765, 766,
1649 767, 768, 769, 772, 774, 774, 776, 776, 778, 780,
1650 783, 786, 790, 794, 798, 803, 804, 805, 806, 807,
1651 808, 809, 810, 811, 812, 813, 817, 818, 819, 820,
1652 821, 822, 823, 824, 825, 826, 827, 828, 829, 830,
1653 831, 832, 833, 834, 835, 836, 837, 838, 839, 840,
1654 841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1655 851, 852, 853, 854, 855, 856, 857, 858, 859, 860,
1656 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1657 871, 872, 873, 874, 875, 876, 877, 878, 879, 883,
1658 887, 888, 892, 893, 898, 900, 905, 910, 911, 912,
1659 914, 919, 921, 926, 931, 933, 935, 940, 941, 945,
1660 946, 948, 952, 959, 966, 970, 976, 978, 981, 982,
1661 983, 984, 987, 988, 992, 997, 997, 1003, 1003, 1010,
1662 1009, 1015, 1015, 1020, 1021, 1022, 1023, 1024, 1025, 1026,
1663 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1038, 1036,
1664 1045, 1043, 1050, 1060, 1054, 1064, 1062, 1066, 1067, 1071,
1665 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1666 1082, 1090, 1090, 1095, 1101, 1105, 1105, 1113, 1114, 1118,
1667 1119, 1123, 1129, 1127, 1142, 1139, 1155, 1152, 1169, 1168,
1668 1177, 1175, 1187, 1186, 1205, 1203, 1222, 1221, 1230, 1228,
1669 1239, 1239, 1246, 1245, 1257, 1255, 1268, 1269, 1273, 1276,
1670 1279, 1280, 1281, 1284, 1285, 1288, 1290, 1293, 1294, 1297,
1671 1298, 1301, 1302, 1306, 1307, 1312, 1313, 1316, 1317, 1318,
1672 1322, 1323, 1327, 1328, 1332, 1333, 1337, 1338, 1343, 1344,
1673 1350, 1351, 1352, 1353, 1356, 1359, 1361, 1364, 1365, 1369,
1674 1371, 1374, 1377, 1380, 1381, 1384, 1385, 1389, 1395, 1401,
1675 1408, 1410, 1415, 1420, 1426, 1430, 1434, 1438, 1443, 1448,
1676 1453, 1458, 1464, 1473, 1478, 1483, 1489, 1491, 1495, 1499,
1677 1504, 1508, 1511, 1514, 1518, 1522, 1526, 1530, 1535, 1543,
1678 1545, 1548, 1549, 1550, 1551, 1553, 1555, 1560, 1561, 1564,
1679 1565, 1566, 1570, 1571, 1573, 1574, 1578, 1580, 1583, 1587,
1680 1593, 1595, 1598, 1598, 1602, 1601, 1605, 1607, 1610, 1613,
1681 1611, 1628, 1624, 1639, 1641, 1643, 1645, 1647, 1649, 1651,
1682 1655, 1656, 1657, 1660, 1666, 1670, 1676, 1679, 1684, 1686,
1683 1691, 1696, 1700, 1701, 1705, 1706, 1708, 1710, 1716, 1717,
1684 1719, 1723, 1724, 1729, 1733, 1734, 1738, 1739, 1743, 1745,
1685 1751, 1756, 1757, 1759, 1763, 1764, 1765, 1766, 1770, 1771,
1686 1772, 1773, 1774, 1775, 1777, 1782, 1785, 1786, 1790, 1791,
1687 1795, 1796, 1799, 1800, 1803, 1804, 1807, 1808, 1812, 1813,
1688 1814, 1815, 1816, 1817, 1818, 1822, 1823, 1826, 1827, 1828,
1689 1831, 1833, 1835, 1836, 1839, 1841, 1845, 1847, 1851, 1855,
1690 1859, 1864, 1865, 1867, 1868, 1869, 1870, 1873, 1877, 1878,
1691 1882, 1883, 1887, 1888, 1889, 1890, 1894, 1898, 1903, 1907,
1692 1911, 1915, 1919, 1924, 1925, 1926, 1927, 1928, 1932, 1934,
1693 1935, 1936, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946,
1694 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956,
1695 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966,
1696 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,
1697 1977, 1978, 1979, 1980, 1981, 1982, 1984, 1985, 1987, 1988,
1698 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
1699 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
1700 2010, 2011, 2012, 2016, 2020, 2025, 2024, 2039, 2037, 2055,
1701 2054, 2073, 2072, 2091, 2090, 2108, 2108, 2123, 2123, 2141,
1702 2142, 2143, 2148, 2150, 2154, 2158, 2164, 2168, 2174, 2176,
1703 2180, 2182, 2186, 2190, 2191, 2195, 2197, 2201, 2203, 2204,
1704 2207, 2211, 2213, 2217, 2220, 2225, 2227, 2231, 2234, 2239,
1705 2243, 2247, 2251, 2255, 2259, 2263, 2267, 2271, 2275, 2277,
1706 2281, 2283, 2287, 2289, 2293, 2300, 2307, 2309, 2314, 2315,
1707 2316, 2317, 2318, 2319, 2320, 2322, 2323, 2327, 2328, 2329,
1708 2330, 2334, 2340, 2349, 2362, 2363, 2366, 2369, 2372, 2373,
1709 2376, 2380, 2383, 2386, 2393, 2394, 2398, 2399, 2401, 2406,
1710 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416,
1711 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426,
1712 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436,
1713 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446,
1714 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456,
1715 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466,
1716 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476,
1717 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486,
1718 2490, 2495, 2496, 2500, 2501, 2502, 2503, 2505, 2509, 2510,
1719 2521, 2522, 2524, 2536, 2537, 2538, 2542, 2543, 2544, 2548,
1720 2549, 2550, 2553, 2555, 2559, 2560, 2561, 2562, 2564, 2565,
1721 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2576, 2581,
1722 2582, 2583, 2585, 2586, 2588, 2589, 2590, 2591, 2592, 2593,
1723 2594, 2596, 2598, 2600, 2602, 2604, 2605, 2606, 2607, 2608,
1724 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618,
1725 2619, 2620, 2622, 2624, 2626, 2628, 2629, 2632, 2633, 2637,
1726 2641, 2643, 2647, 2648, 2652, 2658, 2661, 2665, 2666, 2667,
1727 2668, 2669, 2670, 2671, 2676, 2678, 2682, 2683, 2686, 2687,
1728 2691, 2694, 2696, 2698, 2702, 2703, 2704, 2705, 2708, 2712,
1729 2713, 2714, 2715, 2719, 2721, 2728, 2729, 2730, 2731, 2736,
1730 2737, 2738, 2739, 2741, 2742, 2744, 2745, 2746, 2750, 2752,
1731 2756, 2758, 2761, 2764, 2766, 2768, 2771, 2773, 2777, 2779,
1732 2782, 2785, 2791, 2793, 2796, 2797, 2802, 2805, 2809, 2809,
1733 2814, 2817, 2818, 2822, 2823, 2827, 2828, 2829, 2833, 2835,
1734 2843, 2844, 2848, 2850, 2858, 2859, 2863, 2864, 2869, 2871,
1735 2876, 2887, 2901, 2913, 2928, 2929, 2930, 2931, 2932, 2933,
1736 2934, 2944, 2953, 2955, 2957, 2961, 2962, 2963, 2964, 2965,
1737 2981, 2982, 2984, 2993, 2994, 2995, 2996, 2997, 2998, 2999,
1738 3000, 3002, 3007, 3011, 3012, 3016, 3019, 3026, 3030, 3039,
1739 3046, 3048, 3054, 3056, 3057, 3061, 3062, 3063, 3070, 3071,
1740 3076, 3077, 3082, 3083, 3084, 3085, 3096, 3099, 3102, 3103,
1741 3104, 3105, 3116, 3120, 3121, 3122, 3124, 3125, 3126, 3130,
1742 3132, 3135, 3137, 3138, 3139, 3140, 3143, 3145, 3146, 3150,
1743 3152, 3155, 3157, 3158, 3159, 3163, 3165, 3168, 3171, 3173,
1744 3175, 3179, 3180, 3182, 3183, 3189, 3190, 3192, 3202, 3204,
1745 3206, 3209, 3210, 3211, 3215, 3216, 3217, 3218, 3219, 3220,
1746 3221, 3222, 3223, 3224, 3225, 3229, 3230, 3234, 3236, 3244,
1747 3246, 3250, 3254, 3259, 3263, 3271, 3272, 3276, 3277, 3283,
1748 3284, 3293, 3294, 3302, 3305, 3309, 3312, 3317, 3322, 3324,
1749 3325, 3326, 3329, 3331, 3337, 3338, 3342, 3343, 3347, 3348,
1750 3352, 3353, 3356, 3361, 3362, 3366, 3369, 3371, 3375, 3381,
1751 3382, 3383, 3387, 3391, 3401, 3409, 3411, 3415, 3417, 3422,
1752 3428, 3431, 3436, 3441, 3443, 3450, 3453, 3456, 3457, 3460,
1753 3463, 3464, 3469, 3471, 3475, 3481, 3491, 3492
1755 #endif
1757 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1758 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1759 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1760 static const char *const yytname[] =
1762 "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
1763 "T_INCLUDE_ONCE", "T_INCLUDE", "T_LAMBDA_ARROW", "','", "T_LOGICAL_OR",
1764 "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "'='", "T_POW_EQUAL",
1765 "T_SR_EQUAL", "T_SL_EQUAL", "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL",
1766 "T_MOD_EQUAL", "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL",
1767 "T_MINUS_EQUAL", "T_PLUS_EQUAL", "T_YIELD", "T_AWAIT", "T_YIELD_FROM",
1768 "T_PIPE", "'?'", "':'", "\"??\"", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'",
1769 "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL",
1770 "T_IS_EQUAL", "'<'", "'>'", "T_SPACESHIP", "T_IS_GREATER_OR_EQUAL",
1771 "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'",
1772 "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST",
1773 "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST",
1774 "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "T_POW", "'['",
1775 "T_CLONE", "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF",
1776 "T_LNUMBER", "T_DNUMBER", "T_ONUMBER", "T_STRING", "T_STRING_VARNAME",
1777 "T_VARIABLE", "T_PIPE_VAR", "T_NUM_STRING", "T_INLINE_HTML",
1778 "T_HASHBANG", "T_CHARACTER", "T_BAD_CHARACTER",
1779 "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO",
1780 "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
1781 "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SUPER",
1782 "T_SWITCH", "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_GOTO",
1783 "T_CONTINUE", "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH",
1784 "T_THROW", "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE",
1785 "T_FINAL", "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET",
1786 "T_EMPTY", "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS",
1787 "T_IMPLEMENTS", "T_OBJECT_OPERATOR", "T_NULLSAFE_OBJECT_OPERATOR",
1788 "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_DICT", "T_VEC", "T_KEYSET",
1789 "T_CALLABLE", "T_CLASS_C", "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE",
1790 "T_COMMENT", "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO",
1791 "T_CLOSE_TAG", "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
1792 "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_DOUBLE_COLON",
1793 "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_XHP_LABEL",
1794 "T_XHP_TEXT", "T_XHP_ATTRIBUTE", "T_XHP_CATEGORY",
1795 "T_XHP_CATEGORY_LABEL", "T_XHP_CHILDREN", "T_ENUM", "T_XHP_REQUIRED",
1796 "T_TRAIT", "\"...\"", "T_INSTEADOF", "T_TRAIT_C", "T_HH_ERROR",
1797 "T_FINALLY", "T_XHP_TAG_LT", "T_XHP_TAG_GT", "T_TYPELIST_LT",
1798 "T_TYPELIST_GT", "T_UNRESOLVED_LT", "T_COLLECTION", "T_SHAPE", "T_TYPE",
1799 "T_UNRESOLVED_TYPE", "T_NEWTYPE", "T_UNRESOLVED_NEWTYPE",
1800 "T_COMPILER_HALT_OFFSET", "T_ASYNC", "T_LAMBDA_OP", "T_LAMBDA_CP",
1801 "T_UNRESOLVED_OP", "T_WHERE", "'('", "')'", "';'", "'{'", "'}'", "'$'",
1802 "'`'", "']'", "'\"'", "'\\''", "$accept", "start", "$@1",
1803 "top_statement_list", "top_statement", "$@2", "$@3",
1804 "ident_no_semireserved", "ident_for_class_const", "ident",
1805 "group_use_prefix", "non_empty_use_declarations", "use_declarations",
1806 "use_declaration", "non_empty_mixed_use_declarations",
1807 "mixed_use_declarations", "mixed_use_declaration", "namespace_name",
1808 "namespace_string", "namespace_string_typeargs",
1809 "class_namespace_string_typeargs", "constant_declaration",
1810 "inner_statement_list", "inner_statement", "statement", "$@4", "$@5",
1811 "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "try_statement_list", "$@12",
1812 "additional_catches", "finally_statement_list", "$@13",
1813 "optional_finally", "is_reference", "function_loc",
1814 "function_declaration_statement", "$@14", "$@15", "$@16",
1815 "enum_declaration_statement", "$@17", "$@18",
1816 "class_declaration_statement", "$@19", "$@20", "$@21", "$@22",
1817 "class_expression", "$@23", "trait_declaration_statement", "$@24",
1818 "$@25", "class_decl_name", "interface_decl_name", "trait_decl_name",
1819 "class_entry_type", "extends_from", "implements_list",
1820 "interface_extends_list", "interface_list", "trait_list",
1821 "foreach_optional_arg", "foreach_variable", "for_statement",
1822 "foreach_statement", "while_statement", "declare_statement",
1823 "declare_list", "switch_case_list", "case_list", "case_separator",
1824 "elseif_list", "new_elseif_list", "else_single", "new_else_single",
1825 "method_parameter_list", "non_empty_method_parameter_list",
1826 "parameter_list", "non_empty_parameter_list",
1827 "function_call_parameter_list", "non_empty_fcall_parameter_list",
1828 "global_var_list", "global_var", "static_var_list",
1829 "enum_statement_list", "enum_statement", "enum_constant_declaration",
1830 "class_statement_list", "class_statement", "$@26", "$@27", "$@28",
1831 "$@29", "trait_rules", "trait_precedence_rule", "trait_alias_rule",
1832 "trait_alias_rule_method", "xhp_attribute_stmt", "xhp_attribute_decl",
1833 "xhp_nullable_attribute_decl_type", "xhp_attribute_decl_type",
1834 "non_empty_xhp_attribute_enum", "xhp_attribute_enum",
1835 "xhp_attribute_default", "xhp_attribute_is_required",
1836 "xhp_category_stmt", "xhp_category_decl", "xhp_children_stmt",
1837 "xhp_children_paren_expr", "xhp_children_decl_expr",
1838 "xhp_children_decl_tag", "function_body", "method_body",
1839 "variable_modifiers", "method_modifiers", "non_empty_member_modifiers",
1840 "member_modifier", "parameter_modifiers", "parameter_modifier",
1841 "class_variable_declaration", "class_constant_declaration",
1842 "class_abstract_constant_declaration", "class_type_constant_declaration",
1843 "class_type_constant", "expr_with_parens", "parenthesis_expr",
1844 "expr_list", "for_expr", "yield_expr", "yield_assign_expr",
1845 "yield_list_assign_expr", "yield_from_expr", "yield_from_assign_expr",
1846 "await_expr", "await_assign_expr", "await_list_assign_expr", "expr",
1847 "expr_no_variable", "lambda_use_vars", "closure_expression", "$@30",
1848 "$@31", "lambda_expression", "$@32", "$@33", "$@34", "$@35", "$@36",
1849 "lambda_body", "shape_keyname", "non_empty_shape_pair_list",
1850 "non_empty_static_shape_pair_list", "shape_pair_list",
1851 "static_shape_pair_list", "shape_literal", "array_literal",
1852 "dict_pair_list", "non_empty_dict_pair_list", "static_dict_pair_list",
1853 "non_empty_static_dict_pair_list", "static_dict_pair_list_ae",
1854 "non_empty_static_dict_pair_list_ae", "dict_literal",
1855 "static_dict_literal", "static_dict_literal_ae", "vec_literal",
1856 "static_vec_literal", "static_vec_literal_ae", "keyset_literal",
1857 "static_keyset_literal", "static_keyset_literal_ae", "vec_ks_expr_list",
1858 "static_vec_ks_expr_list", "static_vec_ks_expr_list_ae",
1859 "collection_literal", "static_collection_literal", "dim_expr",
1860 "dim_expr_base", "lexical_var_list", "xhp_tag", "xhp_tag_body",
1861 "xhp_opt_end_label", "xhp_attributes", "xhp_children",
1862 "xhp_attribute_name", "xhp_attribute_value", "xhp_child", "xhp_label_ws",
1863 "xhp_bareword", "simple_function_call", "fully_qualified_class_name",
1864 "static_class_name_base", "static_class_name_no_calls",
1865 "static_class_name", "class_name_reference", "exit_expr",
1866 "backticks_expr", "ctor_arguments", "common_scalar", "static_expr",
1867 "static_expr_list", "static_class_class_constant",
1868 "static_class_constant", "scalar", "static_array_pair_list",
1869 "possible_comma", "hh_possible_comma",
1870 "non_empty_static_array_pair_list", "common_scalar_ae",
1871 "static_numeric_scalar_ae", "static_string_expr_ae", "static_scalar_ae",
1872 "static_scalar_ae_list", "static_array_pair_list_ae",
1873 "non_empty_static_array_pair_list_ae", "non_empty_static_scalar_list_ae",
1874 "static_shape_pair_list_ae", "non_empty_static_shape_pair_list_ae",
1875 "static_scalar_list_ae", "attribute_static_scalar_list",
1876 "non_empty_user_attribute_list", "user_attribute_list", "$@37",
1877 "non_empty_user_attributes", "optional_user_attributes",
1878 "object_operator", "object_property_name_no_variables",
1879 "object_property_name", "object_method_name_no_variables",
1880 "object_method_name", "array_access", "dimmable_variable_access",
1881 "dimmable_variable_no_calls_access", "object_property_access_on_expr",
1882 "object_property_access_on_expr_no_variables", "variable",
1883 "dimmable_variable", "callable_variable",
1884 "lambda_or_closure_with_parens", "lambda_or_closure",
1885 "object_method_call", "class_method_call", "variable_no_objects",
1886 "reference_variable", "compound_variable", "dim_offset",
1887 "simple_indirect_reference", "variable_no_calls",
1888 "dimmable_variable_no_calls", "assignment_list", "array_pair_list",
1889 "non_empty_array_pair_list", "collection_init",
1890 "non_empty_collection_init", "static_collection_init",
1891 "non_empty_static_collection_init", "encaps_list", "encaps_var",
1892 "encaps_var_offset", "internal_functions", "variable_list",
1893 "class_constant", "hh_opt_constraint", "hh_type_alias_statement",
1894 "hh_name_with_type", "hh_constname_with_type", "hh_name_with_typevar",
1895 "hh_name_no_semireserved_with_typevar", "hh_typeargs_opt",
1896 "hh_non_empty_type_list", "hh_type_list", "hh_func_type_list",
1897 "opt_type_constraint_where_clause", "non_empty_constraint_list",
1898 "hh_generalised_constraint", "opt_return_type", "hh_constraint",
1899 "hh_typevar_list", "hh_non_empty_constraint_list",
1900 "hh_non_empty_typevar_list", "hh_typevar_variance",
1901 "hh_shape_member_type", "hh_non_empty_shape_member_list",
1902 "hh_shape_member_list", "hh_shape_type", "hh_access_type_start",
1903 "hh_access_type", "array_typelist", "hh_type", "hh_type_opt", 0
1905 #endif
1907 # ifdef YYPRINT
1908 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1909 token YYLEX-NUM. */
1910 static const yytype_uint16 yytoknum[] =
1912 0, 256, 257, 258, 259, 260, 261, 262, 263, 44,
1913 264, 265, 266, 267, 61, 268, 269, 270, 271, 272,
1914 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1915 283, 63, 58, 284, 285, 286, 124, 94, 38, 287,
1916 288, 289, 290, 60, 62, 291, 292, 293, 294, 295,
1917 43, 45, 46, 42, 47, 37, 33, 296, 126, 64,
1918 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
1919 91, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1920 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1921 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1922 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1923 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1924 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1925 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1926 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1927 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1928 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1929 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1930 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1931 426, 427, 428, 429, 40, 41, 59, 123, 125, 36,
1932 96, 93, 34, 39
1934 # endif
1936 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1937 static const yytype_uint16 yyr1[] =
1939 0, 204, 206, 205, 207, 207, 208, 208, 208, 208,
1940 208, 208, 208, 208, 209, 208, 210, 208, 208, 208,
1941 208, 208, 208, 208, 208, 211, 211, 211, 211, 211,
1942 211, 211, 211, 211, 211, 211, 212, 212, 212, 212,
1943 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1944 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1945 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1946 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1947 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1948 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1949 213, 213, 214, 214, 215, 215, 216, 217, 217, 217,
1950 217, 218, 218, 219, 220, 220, 220, 221, 221, 222,
1951 222, 222, 223, 224, 225, 225, 226, 226, 227, 227,
1952 227, 227, 228, 228, 228, 229, 228, 230, 228, 231,
1953 228, 232, 228, 228, 228, 228, 228, 228, 228, 228,
1954 228, 228, 228, 228, 228, 228, 228, 228, 233, 228,
1955 234, 228, 228, 235, 228, 236, 228, 228, 228, 228,
1956 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1957 228, 238, 237, 239, 239, 241, 240, 242, 242, 243,
1958 243, 244, 246, 245, 247, 245, 248, 245, 250, 249,
1959 251, 249, 253, 252, 254, 252, 255, 252, 256, 252,
1960 258, 257, 260, 259, 261, 259, 262, 262, 263, 264,
1961 265, 265, 265, 265, 265, 266, 266, 267, 267, 268,
1962 268, 269, 269, 270, 270, 271, 271, 272, 272, 272,
1963 273, 273, 274, 274, 275, 275, 276, 276, 277, 277,
1964 278, 278, 278, 278, 279, 279, 279, 280, 280, 281,
1965 281, 282, 282, 283, 283, 284, 284, 285, 285, 285,
1966 285, 285, 285, 285, 285, 286, 286, 286, 286, 286,
1967 286, 286, 286, 287, 287, 287, 287, 287, 287, 287,
1968 287, 288, 288, 288, 288, 288, 288, 288, 288, 289,
1969 289, 290, 290, 290, 290, 290, 290, 291, 291, 292,
1970 292, 292, 293, 293, 293, 293, 294, 294, 295, 296,
1971 297, 297, 299, 298, 300, 298, 298, 298, 298, 301,
1972 298, 302, 298, 298, 298, 298, 298, 298, 298, 298,
1973 303, 303, 303, 304, 305, 305, 306, 306, 307, 307,
1974 308, 308, 309, 309, 310, 310, 310, 310, 310, 310,
1975 310, 311, 311, 312, 313, 313, 314, 314, 315, 315,
1976 316, 317, 317, 317, 318, 318, 318, 318, 319, 319,
1977 319, 319, 319, 319, 319, 320, 320, 320, 321, 321,
1978 322, 322, 323, 323, 324, 324, 325, 325, 326, 326,
1979 326, 326, 326, 326, 326, 327, 327, 328, 328, 328,
1980 329, 329, 329, 329, 330, 330, 331, 331, 332, 332,
1981 333, 334, 334, 334, 334, 334, 334, 335, 336, 336,
1982 337, 337, 338, 338, 338, 338, 339, 340, 341, 342,
1983 343, 344, 345, 346, 346, 346, 346, 346, 347, 347,
1984 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1985 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1986 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1987 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1988 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1989 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1990 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
1991 347, 347, 347, 348, 348, 350, 349, 351, 349, 353,
1992 352, 354, 352, 355, 352, 356, 352, 357, 352, 358,
1993 358, 358, 359, 359, 360, 360, 361, 361, 362, 362,
1994 363, 363, 364, 365, 365, 366, 366, 367, 367, 367,
1995 367, 368, 368, 369, 369, 370, 370, 371, 371, 372,
1996 373, 374, 375, 376, 377, 378, 379, 380, 381, 381,
1997 382, 382, 383, 383, 384, 385, 386, 386, 387, 387,
1998 387, 387, 387, 387, 387, 387, 387, 388, 388, 388,
1999 388, 389, 390, 390, 391, 391, 392, 392, 393, 393,
2000 394, 395, 395, 396, 396, 396, 397, 397, 397, 398,
2001 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2002 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2003 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2004 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2005 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2006 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2007 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2008 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
2009 399, 400, 400, 401, 401, 401, 401, 401, 402, 402,
2010 403, 403, 403, 404, 404, 404, 405, 405, 405, 406,
2011 406, 406, 407, 407, 408, 408, 408, 408, 408, 408,
2012 408, 408, 408, 408, 408, 408, 408, 408, 408, 409,
2013 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
2014 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
2015 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
2016 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
2017 409, 409, 410, 410, 411, 412, 412, 413, 413, 413,
2018 413, 413, 413, 413, 414, 414, 415, 415, 416, 416,
2019 417, 417, 417, 417, 418, 418, 418, 418, 418, 419,
2020 419, 419, 419, 420, 420, 421, 421, 421, 421, 421,
2021 421, 421, 421, 421, 421, 421, 421, 421, 422, 422,
2022 423, 423, 424, 424, 424, 424, 425, 425, 426, 426,
2023 427, 427, 428, 428, 429, 429, 430, 430, 432, 431,
2024 433, 434, 434, 435, 435, 436, 436, 436, 437, 437,
2025 438, 438, 439, 439, 440, 440, 441, 441, 442, 442,
2026 443, 443, 444, 444, 445, 445, 445, 445, 445, 445,
2027 445, 445, 445, 445, 445, 446, 446, 446, 446, 446,
2028 446, 446, 446, 447, 447, 447, 447, 447, 447, 447,
2029 447, 447, 448, 449, 449, 450, 450, 451, 451, 451,
2030 452, 452, 453, 453, 453, 454, 454, 454, 455, 455,
2031 456, 456, 457, 457, 457, 457, 457, 457, 458, 458,
2032 458, 458, 458, 459, 459, 459, 459, 459, 459, 460,
2033 460, 461, 461, 461, 461, 461, 461, 461, 461, 462,
2034 462, 463, 463, 463, 463, 464, 464, 465, 465, 465,
2035 465, 466, 466, 466, 466, 467, 467, 467, 467, 467,
2036 467, 468, 468, 468, 469, 469, 469, 469, 469, 469,
2037 469, 469, 469, 469, 469, 470, 470, 471, 471, 472,
2038 472, 473, 473, 473, 473, 474, 474, 475, 475, 476,
2039 476, 477, 477, 478, 478, 479, 479, 480, 481, 481,
2040 481, 481, 482, 482, 483, 483, 484, 484, 485, 485,
2041 486, 486, 487, 488, 488, 489, 489, 489, 489, 490,
2042 490, 490, 491, 491, 491, 492, 492, 493, 493, 494,
2043 495, 496, 496, 497, 497, 498, 498, 498, 498, 498,
2044 498, 498, 498, 498, 498, 498, 499, 499
2047 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2048 static const yytype_uint8 yyr2[] =
2050 0, 2, 0, 2, 2, 0, 1, 1, 1, 1,
2051 1, 1, 4, 3, 0, 6, 0, 5, 3, 4,
2052 4, 6, 7, 7, 2, 1, 1, 1, 1, 1,
2053 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2054 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2055 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2056 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2057 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2058 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2059 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2060 1, 1, 2, 3, 3, 1, 2, 1, 2, 3,
2061 4, 3, 1, 2, 1, 2, 2, 1, 3, 1,
2062 3, 2, 2, 2, 5, 4, 2, 0, 1, 1,
2063 1, 1, 3, 5, 8, 0, 4, 0, 6, 0,
2064 10, 0, 4, 2, 3, 2, 3, 2, 3, 3,
2065 3, 3, 3, 3, 5, 1, 1, 1, 0, 9,
2066 0, 10, 5, 0, 13, 0, 5, 3, 3, 2,
2067 2, 2, 2, 2, 2, 3, 2, 2, 3, 2,
2068 2, 0, 4, 9, 0, 0, 4, 2, 0, 1,
2069 0, 1, 0, 9, 0, 10, 0, 11, 0, 9,
2070 0, 10, 0, 8, 0, 9, 0, 7, 0, 8,
2071 0, 8, 0, 7, 0, 8, 1, 1, 1, 1,
2072 1, 2, 3, 3, 2, 2, 0, 2, 0, 2,
2073 0, 1, 3, 1, 3, 2, 0, 1, 2, 4,
2074 1, 4, 1, 4, 1, 4, 1, 4, 3, 5,
2075 3, 4, 4, 5, 5, 4, 0, 1, 1, 4,
2076 0, 5, 0, 2, 0, 3, 0, 7, 8, 6,
2077 2, 5, 6, 4, 0, 4, 5, 7, 6, 6,
2078 7, 9, 8, 6, 7, 5, 2, 4, 5, 3,
2079 0, 3, 4, 6, 5, 5, 6, 8, 7, 2,
2080 0, 1, 2, 2, 3, 4, 4, 3, 1, 1,
2081 2, 4, 3, 5, 1, 3, 2, 0, 2, 3,
2082 2, 0, 0, 4, 0, 5, 2, 2, 2, 0,
2083 11, 0, 12, 3, 3, 3, 4, 4, 3, 5,
2084 2, 2, 0, 6, 5, 4, 3, 1, 1, 3,
2085 4, 1, 2, 1, 1, 5, 6, 1, 1, 4,
2086 1, 1, 3, 2, 2, 0, 2, 0, 1, 3,
2087 1, 1, 1, 1, 3, 4, 4, 4, 1, 1,
2088 2, 2, 2, 3, 3, 1, 1, 1, 1, 3,
2089 1, 3, 1, 1, 1, 0, 1, 2, 1, 1,
2090 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
2091 3, 5, 1, 3, 5, 4, 3, 3, 3, 4,
2092 3, 3, 3, 2, 2, 1, 1, 3, 3, 1,
2093 1, 0, 1, 2, 4, 3, 3, 6, 2, 3,
2094 2, 3, 6, 1, 1, 1, 1, 1, 6, 3,
2095 4, 6, 3, 3, 3, 3, 3, 3, 3, 3,
2096 3, 3, 3, 3, 2, 2, 2, 2, 3, 3,
2097 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2098 3, 3, 3, 3, 3, 3, 2, 2, 2, 2,
2099 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2100 3, 5, 4, 3, 1, 2, 2, 2, 2, 2,
2101 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2102 3, 2, 1, 5, 0, 0, 12, 0, 13, 0,
2103 4, 0, 7, 0, 5, 0, 3, 0, 6, 2,
2104 2, 4, 1, 1, 5, 3, 5, 3, 2, 0,
2105 2, 0, 4, 4, 3, 2, 0, 5, 3, 6,
2106 4, 2, 0, 5, 3, 2, 0, 5, 3, 4,
2107 4, 4, 4, 4, 4, 4, 4, 4, 2, 0,
2108 2, 0, 2, 0, 4, 4, 4, 4, 1, 1,
2109 1, 1, 1, 1, 1, 3, 1, 3, 4, 1,
2110 2, 4, 2, 6, 0, 1, 4, 0, 2, 0,
2111 1, 1, 3, 1, 3, 1, 1, 3, 3, 1,
2112 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2113 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2114 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2115 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2116 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2117 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2118 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2119 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2120 4, 1, 1, 1, 1, 1, 1, 3, 1, 3,
2121 1, 1, 3, 1, 1, 1, 2, 1, 0, 0,
2122 1, 1, 3, 0, 1, 1, 1, 1, 1, 1,
2123 1, 1, 1, 1, 1, 1, 1, 3, 2, 1,
2124 1, 4, 3, 4, 1, 1, 1, 1, 1, 3,
2125 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2126 3, 3, 3, 3, 3, 3, 3, 2, 2, 2,
2127 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2128 5, 4, 3, 1, 3, 3, 1, 1, 1, 1,
2129 1, 3, 3, 3, 2, 0, 1, 0, 1, 0,
2130 5, 3, 3, 1, 1, 1, 1, 3, 2, 1,
2131 1, 1, 1, 1, 3, 1, 1, 1, 3, 1,
2132 2, 2, 4, 3, 4, 1, 1, 1, 3, 1,
2133 2, 0, 5, 3, 3, 1, 3, 1, 2, 0,
2134 5, 3, 2, 0, 3, 0, 4, 2, 0, 3,
2135 3, 1, 0, 1, 1, 1, 1, 3, 1, 1,
2136 1, 3, 1, 1, 3, 3, 2, 4, 2, 4,
2137 5, 5, 5, 5, 1, 1, 1, 1, 1, 1,
2138 3, 3, 4, 4, 3, 1, 1, 1, 1, 3,
2139 1, 4, 3, 1, 1, 1, 1, 1, 3, 3,
2140 4, 4, 3, 1, 1, 7, 9, 7, 6, 8,
2141 1, 2, 4, 4, 1, 1, 1, 4, 1, 0,
2142 1, 2, 1, 1, 1, 3, 3, 3, 0, 1,
2143 1, 3, 3, 2, 3, 6, 0, 1, 4, 2,
2144 0, 5, 3, 3, 1, 6, 4, 4, 2, 2,
2145 0, 5, 3, 3, 1, 2, 0, 5, 3, 3,
2146 1, 2, 2, 1, 2, 1, 4, 3, 3, 6,
2147 3, 1, 1, 1, 4, 4, 4, 4, 4, 4,
2148 2, 2, 4, 2, 2, 1, 3, 3, 3, 0,
2149 2, 5, 6, 6, 7, 1, 2, 1, 2, 1,
2150 4, 1, 4, 3, 0, 1, 3, 2, 3, 1,
2151 1, 0, 0, 3, 1, 3, 3, 2, 0, 2,
2152 2, 2, 2, 1, 2, 4, 2, 5, 3, 1,
2153 1, 0, 3, 4, 5, 3, 1, 2, 0, 4,
2154 1, 3, 2, 4, 5, 2, 2, 1, 1, 1,
2155 1, 3, 2, 1, 8, 6, 1, 0
2158 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
2159 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
2160 means the default is an error. */
2161 static const yytype_uint16 yydefact[] =
2163 2, 0, 5, 1, 3, 0, 0, 0, 0, 0,
2164 0, 432, 0, 0, 848, 0, 0, 0, 0, 0,
2165 0, 0, 0, 0, 0, 0, 0, 0, 0, 940,
2166 0, 928, 718, 0, 724, 725, 726, 25, 788, 915,
2167 916, 156, 157, 727, 0, 137, 0, 0, 0, 0,
2168 26, 0, 0, 0, 0, 191, 0, 0, 0, 0,
2169 0, 0, 398, 399, 400, 403, 402, 401, 0, 0,
2170 0, 0, 220, 0, 0, 0, 33, 34, 35, 731,
2171 733, 734, 728, 729, 0, 0, 0, 735, 730, 0,
2172 702, 28, 29, 30, 32, 31, 0, 732, 0, 0,
2173 0, 0, 736, 404, 537, 27, 0, 155, 127, 920,
2174 719, 0, 0, 4, 117, 119, 787, 0, 701, 0,
2175 6, 190, 7, 9, 8, 10, 0, 0, 396, 445,
2176 0, 0, 0, 0, 0, 0, 0, 0, 0, 443,
2177 903, 904, 519, 515, 516, 517, 518, 426, 522, 0,
2178 425, 875, 703, 710, 0, 790, 514, 395, 878, 879,
2179 890, 444, 0, 0, 447, 446, 876, 877, 874, 910,
2180 914, 0, 504, 789, 11, 403, 402, 401, 0, 0,
2181 32, 0, 117, 190, 0, 984, 444, 983, 0, 981,
2182 980, 521, 0, 433, 440, 438, 0, 0, 486, 487,
2183 488, 489, 513, 511, 510, 509, 508, 507, 506, 505,
2184 25, 915, 727, 705, 33, 34, 35, 0, 0, 1004,
2185 896, 703, 0, 704, 467, 0, 465, 0, 944, 0,
2186 797, 424, 714, 210, 0, 1004, 423, 713, 708, 0,
2187 723, 704, 923, 924, 930, 922, 715, 0, 0, 717,
2188 512, 0, 0, 0, 0, 429, 0, 135, 431, 0,
2189 0, 141, 143, 0, 0, 145, 0, 76, 75, 70,
2190 69, 61, 62, 53, 73, 84, 85, 0, 56, 0,
2191 68, 60, 66, 87, 79, 78, 51, 74, 94, 95,
2192 52, 90, 49, 91, 50, 92, 48, 96, 83, 88,
2193 93, 80, 81, 55, 82, 86, 47, 77, 63, 97,
2194 71, 64, 54, 46, 45, 44, 43, 42, 41, 65,
2195 99, 98, 101, 58, 39, 40, 67, 1048, 1049, 59,
2196 1053, 38, 57, 89, 0, 0, 117, 100, 995, 1047,
2197 0, 1050, 0, 0, 147, 0, 0, 0, 181, 0,
2198 0, 0, 0, 0, 0, 799, 0, 105, 107, 309,
2199 0, 0, 308, 0, 224, 0, 221, 314, 0, 0,
2200 0, 0, 0, 1001, 206, 218, 936, 940, 556, 579,
2201 579, 0, 965, 0, 738, 0, 0, 0, 963, 0,
2202 16, 0, 121, 198, 212, 219, 607, 549, 0, 989,
2203 529, 531, 533, 852, 432, 445, 0, 0, 443, 444,
2204 446, 0, 0, 720, 0, 721, 0, 0, 0, 180,
2205 0, 0, 123, 300, 0, 24, 189, 0, 217, 202,
2206 216, 401, 404, 190, 397, 170, 171, 172, 173, 174,
2207 176, 177, 179, 0, 0, 0, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2210 0, 928, 0, 169, 919, 919, 950, 0, 0, 0,
2211 0, 0, 0, 0, 0, 394, 0, 0, 0, 0,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 466,
2213 464, 853, 854, 0, 919, 0, 866, 300, 300, 919,
2214 0, 921, 911, 936, 0, 190, 0, 0, 149, 0,
2215 850, 845, 797, 0, 445, 443, 0, 948, 0, 554,
2216 796, 939, 723, 445, 443, 444, 123, 0, 300, 422,
2217 0, 868, 716, 0, 127, 260, 0, 536, 0, 152,
2218 0, 0, 430, 0, 0, 0, 0, 0, 144, 168,
2219 146, 1048, 1049, 1045, 1046, 0, 1052, 1038, 0, 0,
2220 0, 0, 72, 37, 59, 36, 996, 175, 178, 148,
2221 127, 0, 165, 167, 0, 0, 0, 0, 108, 0,
2222 798, 106, 18, 0, 102, 0, 310, 0, 150, 223,
2223 222, 0, 0, 151, 985, 0, 0, 445, 443, 444,
2224 447, 446, 0, 1031, 230, 0, 937, 0, 0, 0,
2225 0, 797, 797, 0, 0, 153, 0, 0, 737, 964,
2226 788, 0, 0, 962, 793, 961, 120, 5, 13, 14,
2227 0, 228, 0, 0, 542, 0, 0, 0, 797, 0,
2228 0, 711, 706, 543, 0, 0, 0, 0, 852, 127,
2229 0, 799, 851, 1057, 421, 435, 500, 884, 902, 132,
2230 126, 128, 129, 130, 131, 395, 0, 520, 791, 792,
2231 118, 797, 0, 1005, 0, 0, 0, 799, 301, 0,
2232 525, 192, 226, 0, 470, 472, 471, 483, 0, 0,
2233 503, 468, 469, 473, 475, 474, 491, 490, 493, 492,
2234 494, 496, 498, 497, 495, 485, 484, 477, 478, 476,
2235 479, 480, 482, 499, 481, 918, 0, 0, 954, 0,
2236 797, 988, 0, 987, 1004, 881, 910, 208, 200, 214,
2237 0, 989, 204, 190, 0, 436, 439, 441, 449, 463,
2238 462, 461, 460, 459, 458, 457, 456, 455, 454, 453,
2239 452, 856, 0, 855, 858, 880, 862, 1004, 859, 0,
2240 0, 0, 0, 0, 0, 0, 0, 982, 434, 843,
2241 847, 796, 849, 0, 707, 0, 943, 0, 942, 226,
2242 0, 707, 927, 926, 0, 0, 855, 858, 925, 859,
2243 427, 262, 264, 127, 540, 539, 428, 0, 127, 244,
2244 136, 431, 0, 0, 0, 0, 0, 256, 256, 142,
2245 797, 0, 0, 0, 1036, 797, 0, 1011, 0, 0,
2246 0, 0, 0, 795, 0, 33, 34, 35, 0, 0,
2247 740, 744, 745, 746, 748, 0, 739, 125, 786, 747,
2248 1004, 1051, 0, 0, 0, 0, 19, 0, 20, 0,
2249 103, 0, 0, 0, 114, 799, 0, 112, 107, 104,
2250 109, 0, 307, 315, 312, 0, 0, 974, 979, 976,
2251 975, 978, 977, 12, 1029, 1030, 0, 797, 0, 0,
2252 0, 936, 933, 0, 553, 0, 569, 796, 555, 796,
2253 578, 572, 575, 973, 972, 971, 0, 967, 0, 968,
2254 970, 0, 5, 0, 0, 0, 601, 602, 610, 609,
2255 0, 443, 0, 796, 548, 552, 0, 0, 990, 0,
2256 530, 0, 0, 1018, 852, 286, 1056, 0, 0, 867,
2257 0, 917, 796, 1007, 1003, 302, 303, 700, 798, 299,
2258 0, 852, 0, 0, 228, 527, 194, 502, 0, 586,
2259 587, 0, 584, 796, 949, 0, 0, 300, 230, 0,
2260 228, 0, 0, 226, 0, 928, 450, 0, 0, 864,
2261 865, 882, 883, 912, 913, 0, 0, 0, 831, 804,
2262 805, 806, 813, 0, 33, 34, 35, 0, 0, 819,
2263 825, 826, 827, 0, 817, 815, 816, 837, 797, 0,
2264 845, 947, 946, 0, 228, 0, 869, 722, 0, 266,
2265 0, 0, 133, 0, 0, 0, 0, 0, 0, 0,
2266 236, 237, 248, 0, 127, 246, 162, 256, 0, 256,
2267 0, 796, 0, 0, 0, 0, 796, 1037, 1039, 1010,
2268 797, 1009, 0, 797, 769, 770, 767, 768, 803, 0,
2269 797, 795, 562, 581, 581, 551, 0, 0, 956, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 0, 0, 0, 0, 0, 1042, 182, 0,
2273 185, 166, 0, 0, 110, 115, 116, 108, 798, 113,
2274 0, 311, 0, 986, 154, 1002, 1031, 1022, 1026, 229,
2275 231, 321, 0, 0, 934, 0, 0, 558, 0, 966,
2276 0, 17, 0, 989, 227, 321, 0, 0, 707, 545,
2277 0, 712, 991, 0, 1018, 534, 0, 0, 1057, 0,
2278 291, 289, 858, 870, 1004, 858, 871, 1006, 0, 0,
2279 304, 124, 0, 852, 225, 0, 852, 0, 501, 953,
2280 952, 0, 300, 0, 0, 0, 0, 0, 0, 228,
2281 196, 723, 857, 300, 0, 809, 810, 811, 812, 820,
2282 821, 835, 0, 797, 0, 831, 566, 583, 583, 0,
2283 808, 839, 0, 796, 842, 844, 846, 0, 941, 0,
2284 857, 0, 0, 0, 0, 263, 541, 138, 0, 431,
2285 236, 238, 936, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 250, 0, 1043, 0, 1032, 0, 1035, 796,
2287 0, 0, 0, 742, 796, 794, 0, 0, 797, 0,
2288 0, 783, 797, 0, 0, 797, 0, 749, 784, 785,
2289 960, 0, 797, 752, 754, 753, 0, 0, 750, 751,
2290 755, 757, 756, 772, 771, 774, 773, 775, 777, 779,
2291 778, 776, 765, 764, 759, 760, 758, 761, 762, 763,
2292 766, 1041, 0, 127, 0, 0, 111, 21, 313, 0,
2293 0, 0, 1023, 1028, 0, 395, 938, 936, 437, 442,
2294 448, 560, 0, 0, 15, 0, 395, 613, 0, 0,
2295 615, 608, 611, 0, 606, 0, 993, 0, 1019, 538,
2296 0, 292, 0, 0, 287, 0, 306, 305, 1018, 0,
2297 321, 0, 852, 0, 300, 0, 908, 321, 989, 321,
2298 992, 0, 0, 0, 451, 0, 0, 823, 796, 830,
2299 814, 0, 0, 797, 0, 0, 829, 797, 0, 807,
2300 0, 0, 797, 818, 836, 945, 321, 0, 127, 0,
2301 259, 245, 0, 0, 0, 235, 158, 249, 0, 0,
2302 252, 0, 257, 258, 127, 251, 1044, 1033, 0, 1008,
2303 0, 1055, 802, 801, 741, 570, 796, 561, 0, 573,
2304 796, 580, 576, 0, 796, 550, 743, 0, 585, 796,
2305 955, 781, 0, 0, 0, 22, 23, 1025, 1020, 1021,
2306 1024, 232, 0, 0, 0, 402, 393, 0, 0, 0,
2307 207, 320, 322, 0, 392, 0, 0, 0, 989, 395,
2308 0, 0, 557, 969, 317, 213, 604, 0, 0, 544,
2309 532, 0, 295, 285, 0, 288, 294, 300, 524, 1018,
2310 395, 1018, 0, 951, 0, 907, 395, 0, 395, 994,
2311 321, 852, 905, 834, 833, 822, 571, 796, 565, 0,
2312 574, 796, 582, 577, 0, 824, 796, 838, 395, 127,
2313 265, 134, 139, 160, 239, 0, 247, 253, 127, 255,
2314 1034, 0, 0, 0, 564, 782, 547, 0, 959, 958,
2315 780, 127, 186, 1027, 0, 0, 0, 997, 0, 0,
2316 0, 233, 0, 989, 0, 358, 354, 360, 702, 32,
2317 0, 348, 0, 353, 357, 370, 0, 368, 373, 0,
2318 372, 0, 371, 0, 190, 324, 0, 326, 0, 327,
2319 328, 0, 0, 935, 559, 0, 605, 603, 614, 612,
2320 296, 0, 0, 283, 293, 0, 0, 1018, 0, 203,
2321 524, 1018, 909, 209, 317, 215, 395, 0, 0, 0,
2322 568, 828, 841, 0, 211, 261, 0, 0, 127, 242,
2323 159, 254, 1054, 800, 0, 0, 0, 0, 0, 0,
2324 420, 0, 998, 0, 338, 342, 417, 418, 352, 0,
2325 0, 0, 333, 666, 665, 662, 664, 663, 683, 685,
2326 684, 654, 624, 626, 625, 644, 660, 659, 620, 631,
2327 632, 634, 633, 653, 637, 635, 636, 638, 639, 640,
2328 641, 642, 643, 645, 646, 647, 648, 649, 650, 652,
2329 651, 621, 622, 623, 627, 628, 630, 668, 669, 678,
2330 677, 676, 675, 674, 673, 661, 680, 670, 671, 672,
2331 655, 656, 657, 658, 681, 682, 686, 688, 687, 689,
2332 690, 667, 692, 691, 694, 696, 695, 629, 699, 697,
2333 698, 693, 679, 619, 365, 616, 0, 334, 386, 387,
2334 385, 378, 0, 379, 335, 412, 0, 0, 0, 0,
2335 416, 0, 190, 199, 316, 0, 0, 0, 284, 298,
2336 906, 0, 0, 388, 127, 193, 1018, 0, 0, 205,
2337 1018, 832, 0, 0, 127, 240, 140, 161, 0, 563,
2338 546, 957, 184, 336, 337, 415, 234, 0, 797, 797,
2339 0, 361, 349, 0, 0, 0, 367, 369, 0, 0,
2340 374, 381, 382, 380, 0, 0, 323, 999, 0, 0,
2341 0, 419, 0, 318, 0, 297, 0, 599, 799, 127,
2342 0, 0, 195, 201, 0, 567, 840, 0, 0, 163,
2343 339, 117, 0, 340, 341, 0, 796, 0, 796, 363,
2344 359, 364, 617, 618, 0, 350, 383, 384, 376, 377,
2345 375, 413, 410, 1031, 329, 325, 414, 0, 319, 600,
2346 798, 0, 0, 389, 127, 197, 0, 243, 0, 188,
2347 0, 395, 0, 355, 362, 366, 0, 0, 852, 331,
2348 0, 597, 523, 526, 0, 241, 0, 0, 164, 346,
2349 0, 394, 356, 411, 1000, 0, 799, 406, 852, 598,
2350 528, 0, 187, 0, 0, 345, 1018, 852, 270, 407,
2351 408, 409, 1057, 405, 0, 0, 0, 344, 1012, 406,
2352 0, 1018, 0, 343, 0, 0, 1057, 0, 275, 273,
2353 1012, 127, 799, 1014, 0, 390, 127, 330, 0, 276,
2354 0, 0, 271, 0, 0, 798, 1013, 0, 1017, 0,
2355 0, 279, 269, 0, 272, 278, 332, 183, 1015, 1016,
2356 391, 280, 0, 0, 267, 277, 0, 268, 282, 281
2359 /* YYDEFGOTO[NTERM-NUM]. */
2360 static const yytype_int16 yydefgoto[] =
2362 -1, 1, 2, 4, 113, 912, 637, 182, 1527, 734,
2363 354, 355, 356, 357, 865, 866, 867, 115, 116, 117,
2364 118, 119, 411, 670, 671, 551, 256, 1596, 557, 1505,
2365 1597, 1839, 854, 349, 580, 1799, 1101, 1293, 1858, 427,
2366 183, 672, 952, 1167, 1353, 123, 640, 969, 673, 692,
2367 973, 614, 968, 236, 532, 674, 641, 970, 429, 374,
2368 394, 126, 954, 915, 890, 1119, 1530, 1224, 1030, 1746,
2369 1600, 810, 1036, 556, 819, 1038, 1394, 802, 1019, 1022,
2370 1213, 1865, 1866, 660, 661, 686, 687, 361, 362, 368,
2371 1565, 1724, 1725, 1305, 1441, 1553, 1718, 1848, 1868, 1757,
2372 1803, 1804, 1805, 1540, 1541, 1542, 1543, 1759, 1760, 1766,
2373 1815, 1546, 1547, 1551, 1711, 1712, 1713, 1735, 1907, 1442,
2374 1443, 184, 128, 1882, 1883, 1716, 1445, 1446, 1447, 1448,
2375 129, 249, 552, 553, 130, 131, 132, 133, 134, 135,
2376 136, 137, 138, 139, 1577, 140, 951, 1166, 141, 657,
2377 658, 659, 253, 403, 547, 647, 648, 1255, 649, 1256,
2378 142, 143, 620, 621, 1247, 1248, 1362, 1363, 144, 841,
2379 1000, 145, 842, 1001, 146, 843, 1002, 623, 1250, 1365,
2380 147, 844, 148, 149, 1788, 150, 642, 1567, 643, 1136,
2381 920, 1324, 1321, 1704, 1705, 151, 152, 153, 239, 154,
2382 240, 250, 414, 539, 155, 1058, 1252, 848, 849, 156,
2383 1059, 943, 591, 1060, 1005, 1189, 1006, 1191, 1367, 1192,
2384 1193, 1008, 1371, 1372, 1009, 780, 522, 196, 197, 675,
2385 663, 503, 1152, 1153, 766, 767, 939, 158, 242, 159,
2386 160, 186, 162, 163, 164, 165, 166, 167, 168, 169,
2387 170, 726, 171, 246, 247, 617, 229, 230, 729, 730,
2388 1261, 1262, 387, 388, 906, 172, 605, 173, 656, 174,
2389 340, 1726, 1778, 375, 422, 681, 682, 1052, 1895, 1902,
2390 1903, 1147, 1302, 886, 1303, 887, 888, 824, 825, 826,
2391 341, 342, 851, 566, 1529, 937
2394 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2395 STATE-NUM. */
2396 #define YYPACT_NINF -1568
2397 static const yytype_int16 yypact[] =
2399 -1568, 179, -1568, -1568, 5503, 13744, 13744, -20, 13744, 13744,
2400 13744, 11131, 13744, 13744, -1568, 13744, 13744, 13744, 13744, 13744,
2401 13744, 13744, 13744, 13744, 13744, 13744, 13744, 17035, 17035, 11332,
2402 13744, 17747, 22, 160, -1568, -1568, -1568, 322, -1568, 387,
2403 -1568, -1568, -1568, 362, 13744, -1568, 160, 204, 242, 280,
2404 -1568, 160, 11533, 3473, 11734, -1568, 14757, 10126, 279, 13744,
2405 2093, 48, -1568, -1568, -1568, 303, 300, 72, 286, 312,
2406 330, 336, -1568, 3473, 342, 344, 487, 494, 496, -1568,
2407 -1568, -1568, -1568, -1568, 13744, 551, 670, -1568, -1568, 3473,
2408 -1568, -1568, -1568, -1568, 3473, -1568, 3473, -1568, 411, 384,
2409 3473, 3473, -1568, 29, -1568, -1568, 11935, -1568, -1568, 408,
2410 639, 648, 648, -1568, 579, 454, 368, 430, -1568, 78,
2411 -1568, 601, -1568, -1568, -1568, -1568, 1665, 563, -1568, -1568,
2412 437, 439, 457, 465, 467, 477, 483, 502, 15925, -1568,
2413 -1568, -1568, -1568, 79, 587, 622, 630, -1568, 633, 642,
2414 -1568, 66, 518, -1568, 562, 360, -1568, 1934, 139, -1568,
2415 -1568, 2813, 67, 529, 96, -1568, 134, 144, 532, 186,
2416 -1568, 295, -1568, 690, -1568, -1568, -1568, 604, 583, 631,
2417 -1568, 13744, -1568, 601, 563, 18110, 2967, 18110, 13744, 18110,
2418 18110, 15281, 641, 17202, 15281, 18110, 781, 3473, 779, 779,
2419 115, 779, 779, 779, 779, 779, 779, 779, 779, 779,
2420 -1568, -1568, -1568, -1568, -1568, -1568, -1568, 69, 13744, 675,
2421 -1568, -1568, 697, 662, 254, 665, 254, 17035, 17250, 660,
2422 853, -1568, 604, -1568, 13744, 675, -1568, 706, -1568, 707,
2423 672, -1568, 138, -1568, -1568, -1568, 254, 67, 12136, -1568,
2424 -1568, 13744, 8719, 863, 99, 18110, 9724, -1568, 13744, 13744,
2425 3473, -1568, -1568, 15973, 677, -1568, 16021, -1568, -1568, -1568,
2426 -1568, -1568, -1568, -1568, -1568, -1568, -1568, 16250, -1568, 16250,
2427 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2428 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2429 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2430 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2431 -1568, -1568, -1568, -1568, -1568, -1568, -1568, 107, 82, 631,
2432 -1568, -1568, -1568, -1568, 681, 3541, 86, -1568, -1568, 718,
2433 867, -1568, 725, 15468, -1568, 695, 700, 16089, -1568, 56,
2434 16137, 3528, 3528, 3473, 691, 884, 702, -1568, 43, -1568,
2435 16631, 101, -1568, 769, -1568, 770, -1568, 891, 102, 17035,
2436 13744, 13744, 712, 729, -1568, -1568, 16732, 11332, 13744, 13744,
2437 13744, 108, 77, 445, -1568, 13945, 17035, 577, -1568, 3473,
2438 -1568, 2, 454, -1568, -1568, -1568, -1568, 17845, 895, 808,
2439 -1568, -1568, -1568, 128, 13744, 717, 720, 18110, 721, 802,
2440 723, 4703, 13744, 469, 726, 689, 469, 456, 461, -1568,
2441 3473, 16250, 731, 10327, 14757, -1568, -1568, 2113, -1568, -1568,
2442 -1568, -1568, -1568, 601, -1568, -1568, -1568, -1568, -1568, -1568,
2443 -1568, -1568, -1568, 13744, 13744, 13744, 13744, 12337, 13744, 13744,
2444 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744,
2445 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744,
2446 13744, 17943, 13744, -1568, 13744, 13744, 13744, 14114, 3473, 3473,
2447 3473, 3473, 3473, 1665, 817, 644, 9925, 13744, 13744, 13744,
2448 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, 13744, -1568,
2449 -1568, -1568, -1568, 2927, 13744, 13744, -1568, 10327, 10327, 13744,
2450 13744, 408, 140, 16732, 738, 601, 12538, 16185, -1568, 13744,
2451 -1568, 739, 926, 783, 745, 747, 14259, 254, 12739, -1568,
2452 12940, -1568, 672, 753, 756, 2474, -1568, 317, 10327, -1568,
2453 3079, -1568, -1568, 16253, -1568, -1568, 10528, -1568, 13744, -1568,
2454 858, 8920, 945, 759, 4646, 943, 81, 95, -1568, -1568,
2455 -1568, 780, -1568, -1568, -1568, 16250, -1568, 578, 766, 955,
2456 16530, 3473, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2457 -1568, 771, -1568, -1568, 773, 777, 778, 782, 55, 3396,
2458 3793, -1568, -1568, 3473, 3473, 13744, 254, 48, -1568, -1568,
2459 -1568, 16530, 893, -1568, 254, 98, 105, 772, 787, 2684,
2460 187, 788, 789, 571, 845, 792, 254, 123, 793, 17306,
2461 786, 981, 982, 791, 794, -1568, 3114, 3473, -1568, -1568,
2462 923, 3365, 33, -1568, -1568, -1568, 454, -1568, -1568, -1568,
2463 967, 869, 826, 231, 847, 13744, 408, 870, 998, 814,
2464 855, -1568, 140, -1568, 16250, 16250, 997, 863, 128, -1568,
2465 823, 1006, -1568, 16250, 281, -1568, 462, 153, -1568, -1568,
2466 -1568, -1568, -1568, -1568, -1568, 800, 4009, -1568, -1568, -1568,
2467 -1568, 1007, 842, -1568, 17035, 13744, 828, 1022, 18110, 1018,
2468 -1568, -1568, 903, 2471, 11719, 18248, 15281, 14582, 13744, 13929,
2469 14756, 11311, 12717, 12917, 12313, 13518, 14110, 14110, 14110, 14110,
2470 2819, 2819, 2819, 2819, 2819, 1031, 1031, 832, 832, 832,
2471 115, 115, 115, -1568, 779, 18110, 837, 840, 17354, 848,
2472 1034, -6, 13744, 12, 675, 373, 140, -1568, -1568, -1568,
2473 1033, 808, -1568, 601, 16833, -1568, -1568, -1568, 15281, 15281,
2474 15281, 15281, 15281, 15281, 15281, 15281, 15281, 15281, 15281, 15281,
2475 15281, -1568, 13744, 241, 145, -1568, -1568, 675, 379, 844,
2476 4114, 856, 860, 849, 4191, 125, 854, -1568, 18110, 2465,
2477 -1568, 3473, -1568, 281, 68, 17035, 18110, 17035, 17410, 903,
2478 281, 254, 152, 899, 868, 13744, -1568, 166, -1568, -1568,
2479 -1568, 8518, 552, -1568, -1568, 18110, 18110, 160, -1568, -1568,
2480 -1568, 13744, 962, 16408, 16530, 3473, 9121, 872, 874, -1568,
2481 1056, 975, 935, 916, -1568, 1066, 882, 4256, 16250, 16530,
2482 16530, 16530, 16530, 16530, 901, 1008, 1017, 1019, 907, 16530,
2483 402, -1568, -1568, -1568, -1568, 3, -1568, 18204, -1568, -1568,
2484 7, -1568, 5704, 3467, 909, 3793, -1568, 3793, -1568, 3473,
2485 3473, 3793, 3793, 3473, -1568, 1098, 906, -1568, 73, -1568,
2486 -1568, 4456, -1568, 18204, 1094, 17035, 915, -1568, -1568, -1568,
2487 -1568, -1568, -1568, -1568, -1568, -1568, 932, 1105, 3473, 3467,
2488 921, 16732, 16934, 1107, -1568, 13141, -1568, 13744, -1568, 13744,
2489 -1568, -1568, -1568, -1568, -1568, -1568, 918, -1568, 13744, -1568,
2490 -1568, 5081, -1568, 16250, 3467, 927, -1568, -1568, -1568, -1568,
2491 1109, 939, 13744, 17845, -1568, -1568, 14114, 931, -1568, 16250,
2492 -1568, 944, 5905, 1108, 60, -1568, -1568, 142, 2927, -1568,
2493 3079, -1568, 16250, -1568, -1568, 254, 18110, -1568, 10729, -1568,
2494 16530, 93, 949, 3467, 869, -1568, -1568, 14756, 13744, -1568,
2495 -1568, 13744, -1568, 13744, -1568, 4903, 963, 10327, 845, 1126,
2496 869, 16250, 1123, 903, 3473, 17943, 254, 5008, 965, -1568,
2497 -1568, 164, 971, -1568, -1568, 1124, 1474, 1474, 2465, -1568,
2498 -1568, -1568, 1117, 976, 1091, 1102, 1104, 318, 983, 452,
2499 -1568, -1568, -1568, 1024, -1568, -1568, -1568, -1568, 1166, 988,
2500 739, 254, 254, 13342, 869, 3079, -1568, -1568, 11115, 595,
2501 160, 9724, -1568, 6106, 980, 6307, 989, 16408, 17035, 993,
2502 1053, 254, 18204, 1177, -1568, -1568, -1568, -1568, 692, -1568,
2503 44, 16250, 1012, 1058, 16250, 3473, 578, -1568, -1568, -1568,
2504 1186, -1568, 1001, 1007, 597, 597, 1128, 1128, 16603, 999,
2505 1189, 16530, 16530, 16530, 16530, 17845, 2365, 15613, 16530, 16530,
2506 16530, 16530, 16291, 16530, 16530, 16530, 16530, 16530, 16530, 16530,
2507 16530, 16530, 16530, 16530, 16530, 16530, 16530, 16530, 16530, 16530,
2508 16530, 16530, 16530, 16530, 16530, 16530, 3473, -1568, -1568, 1116,
2509 -1568, -1568, 1004, 1010, -1568, -1568, -1568, 262, 3396, -1568,
2510 1013, -1568, 16530, 254, -1568, -1568, 90, -1568, 87, 1195,
2511 -1568, -1568, 126, 1021, 254, 10930, 17035, 18110, 17458, -1568,
2512 3313, -1568, 5302, 808, 1195, -1568, 386, 23, -1568, 18110,
2513 1077, 1023, -1568, 1020, 1108, -1568, 16250, 863, 16250, 80,
2514 1207, 1139, 174, -1568, 675, 180, -1568, -1568, 17035, 13744,
2515 18110, 18204, 1038, 93, -1568, 1039, 93, 1044, 14756, 18110,
2516 17514, 1045, 10327, 1050, 1043, 16250, 1051, 1059, 16250, 869,
2517 -1568, 672, 409, 10327, 13744, -1568, -1568, -1568, -1568, -1568,
2518 -1568, 1111, 1048, 1243, 1163, 2465, 2465, 2465, 2465, 1101,
2519 -1568, 17845, 272, 2465, -1568, -1568, -1568, 17035, 18110, 1060,
2520 -1568, 160, 1226, 1182, 9724, -1568, -1568, -1568, 1064, 13744,
2521 1053, 254, 16732, 16408, 1067, 16530, 6508, 708, 1068, 13744,
2522 62, 47, -1568, 1085, -1568, 16250, -1568, 1130, -1568, 4828,
2523 1236, 1074, 16530, -1568, 16530, -1568, 1078, 1075, 1266, 17562,
2524 1076, 18204, 1269, 1081, 1143, 1274, 1090, -1568, -1568, -1568,
2525 17617, 1088, 1278, 15465, 18292, 10307, 16530, 18158, 12517, 4048,
2526 13118, 13318, 14924, 15099, 15099, 15099, 15099, 3034, 3034, 3034,
2527 3034, 3034, 1095, 1095, 597, 597, 597, 1128, 1128, 1128,
2528 1128, -1568, 1093, -1568, 1096, 1097, -1568, -1568, 18204, 3473,
2529 16250, 16250, -1568, 87, 3467, 1106, -1568, 16732, -1568, -1568,
2530 15281, 254, 13543, 1092, -1568, 1099, 1263, -1568, 104, 13744,
2531 -1568, -1568, -1568, 13744, -1568, 13744, -1568, 863, -1568, -1568,
2532 154, 1275, 1208, 13744, -1568, 1112, 254, 18110, 1108, 1103,
2533 -1568, 1110, 93, 13744, 10327, 1114, -1568, -1568, 808, -1568,
2534 -1568, 1115, 1113, 1119, -1568, 1121, 2465, -1568, 2465, -1568,
2535 -1568, 1122, 1120, 1290, 1164, 1125, -1568, 1293, 1129, -1568,
2536 1167, 1127, 1314, -1568, -1568, 254, -1568, 1292, -1568, 1131,
2537 -1568, -1568, 1134, 1136, 129, -1568, -1568, 18204, 1137, 1140,
2538 -1568, 13728, -1568, -1568, -1568, -1568, -1568, -1568, 16250, -1568,
2539 16250, -1568, 18204, 17665, -1568, -1568, 16530, -1568, 16530, -1568,
2540 16530, -1568, -1568, 16530, 17845, -1568, -1568, 16530, -1568, 16530,
2541 -1568, 10709, 16530, 1135, 6709, -1568, -1568, 87, -1568, -1568,
2542 -1568, -1568, 543, 14931, 3467, 1213, -1568, 1868, 1168, 1645,
2543 -1568, -1568, -1568, 817, 2856, 109, 110, 1141, 808, 644,
2544 130, 17035, 18110, -1568, -1568, -1568, 1179, 11517, 12120, 18110,
2545 -1568, 233, 1326, 1260, 13744, -1568, 18110, 10327, 1227, 1108,
2546 1676, 1108, 1150, 18110, 1151, -1568, 2022, 1152, 2041, -1568,
2547 -1568, 93, -1568, -1568, 1214, -1568, -1568, 2465, -1568, 2465,
2548 -1568, 2465, -1568, -1568, 2465, -1568, 17845, -1568, 2152, -1568,
2549 8518, -1568, -1568, -1568, -1568, 9322, -1568, -1568, -1568, 8518,
2550 -1568, 1156, 16530, 17720, 18204, 18204, 18204, 1218, 18204, 17768,
2551 10709, -1568, -1568, 87, 3467, 3467, 3473, -1568, 1344, 15758,
2552 75, -1568, 14931, 808, 3356, -1568, 1178, -1568, 111, 1162,
2553 114, -1568, 15280, -1568, -1568, -1568, 116, -1568, -1568, 1343,
2554 -1568, 1170, -1568, 1281, 601, -1568, 15106, -1568, 15106, -1568,
2555 -1568, 1355, 817, -1568, 254, 14409, -1568, -1568, -1568, -1568,
2556 1356, 1288, 13744, -1568, 18110, 1181, 1183, 1108, 493, -1568,
2557 1227, 1108, -1568, -1568, -1568, -1568, 2168, 1194, 2465, 1237,
2558 -1568, -1568, -1568, 1242, -1568, 8518, 9523, 9322, -1568, -1568,
2559 -1568, 8518, -1568, 18204, 16530, 16530, 16530, 6910, 1176, 1185,
2560 -1568, 16530, -1568, 3467, -1568, -1568, -1568, -1568, -1568, 16250,
2561 2281, 1868, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2562 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2563 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2564 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2565 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2566 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2567 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2568 -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2569 -1568, -1568, -1568, -1568, 372, -1568, 1168, -1568, -1568, -1568,
2570 -1568, -1568, 88, 448, -1568, 1376, 117, 15468, 1281, 1378,
2571 -1568, 16250, 601, -1568, -1568, 1199, 1382, 13744, -1568, 18110,
2572 -1568, 158, 1200, -1568, -1568, -1568, 1108, 493, 14583, -1568,
2573 1108, -1568, 2465, 2465, -1568, -1568, -1568, -1568, 7111, 18204,
2574 18204, 18204, -1568, -1568, -1568, 18204, -1568, 1882, 1390, 1391,
2575 1203, -1568, -1568, 16530, 15280, 15280, 1345, -1568, 1343, 1343,
2576 541, -1568, -1568, -1568, 16530, 1319, -1568, 1224, 1211, 119,
2577 16530, -1568, 3473, -1568, 16530, 18110, 1324, -1568, 1400, -1568,
2578 7312, 1217, -1568, -1568, 493, -1568, -1568, 7513, 1215, 1295,
2579 -1568, 1311, 1257, -1568, -1568, 1315, 16250, 1238, 2281, -1568,
2580 -1568, 18204, -1568, -1568, 1246, -1568, 1383, -1568, -1568, -1568,
2581 -1568, 18204, 1407, 571, -1568, -1568, 18204, 1228, 18204, -1568,
2582 314, 1231, 7714, -1568, -1568, -1568, 1234, -1568, 1233, 1256,
2583 3473, 644, 1253, -1568, -1568, -1568, 16530, 1258, 94, -1568,
2584 1353, -1568, -1568, -1568, 7915, -1568, 3467, 909, -1568, 1267,
2585 3473, 661, -1568, 18204, -1568, 1244, 1432, 634, 94, -1568,
2586 -1568, 1359, -1568, 3467, 1248, -1568, 1108, 113, -1568, -1568,
2587 -1568, -1568, 16250, -1568, 1250, 1252, 121, -1568, 1255, 634,
2588 156, 1108, 1261, -1568, 16250, 513, 16250, 265, 1435, 1367,
2589 1255, -1568, 1448, -1568, 146, -1568, -1568, -1568, 157, 1451,
2590 1384, 13744, -1568, 513, 8116, 16250, -1568, 16250, -1568, 8317,
2591 348, 1454, 1386, 13744, -1568, 18110, -1568, -1568, -1568, -1568,
2592 -1568, 1456, 1388, 13744, -1568, 18110, 13744, -1568, 18110, 18110
2595 /* YYPGOTO[NTERM-NUM]. */
2596 static const yytype_int16 yypgoto[] =
2598 -1568, -1568, -1568, -567, -1568, -1568, -1568, 165, 42, -34,
2599 390, -1568, -280, -522, -1568, -1568, 364, 17, 1700, -1568,
2600 1285, -1568, -481, -1568, 28, -1568, -1568, -1568, -1568, -1568,
2601 -1568, -1568, -1568, -1568, -1568, -1568, -384, -1568, -1568, -156,
2602 148, 30, -1568, -1568, -1568, -1568, -1568, -1568, 34, -1568,
2603 -1568, -1568, -1568, -1568, -1568, 36, -1568, -1568, 991, 1000,
2604 995, -95, -704, -868, 509, 566, -388, 267, -944, -1568,
2605 -109, -1568, -1568, -1568, -1568, -738, 103, -1568, -1568, -1568,
2606 -1568, -379, -1568, -621, -1568, -433, -1568, -1568, 898, -1568,
2607 -94, -1568, -1568, -1053, -1568, -1568, -1568, -1568, -1568, -1568,
2608 -1568, -1568, -1568, -1568, -129, -1568, -35, -1568, -1568, -1568,
2609 -1568, -1568, -209, -1568, 65, -999, -1568, -1567, -412, -1568,
2610 -148, 383, -125, -382, -1568, -213, -1568, -1568, -1568, 83,
2611 -33, 0, 49, -747, -83, -1568, -1568, 31, -1568, -9,
2612 -1568, -1568, -5, -37, -66, -1568, -1568, -1568, -1568, -1568,
2613 -1568, -1568, -1568, -1568, -599, -858, -1568, -1568, -1568, -1568,
2614 -1568, 1216, -1568, -1568, -1568, -1568, -1568, -1568, -1568, -1568,
2615 -1568, -1568, -1568, -1568, -1568, -1568, -1568, 1142, 453, 321,
2616 -1568, -1568, -1568, -1568, -1568, 380, -1568, -1568, -1568, -1568,
2617 -1568, -1568, -1568, -1568, -978, -1568, 2772, -3, -1568, 328,
2618 -405, -1568, -1568, -479, 3513, 2699, -1568, -395, -1568, -1568,
2619 459, -126, -632, -1568, -1568, 537, 332, 9, -1568, 333,
2620 -1568, -1568, -1568, -1568, -1568, 517, -1568, -1568, -1568, 118,
2621 -874, -154, -427, -425, -1568, 592, -118, -1568, -1568, 4,
2622 26, 650, -1568, -1568, 668, -25, -1568, -354, 58, 553,
2623 -1568, 226, -1568, -1568, -1568, -477, 1154, -1568, -1568, -1568,
2624 -1568, -1568, 741, 715, -1568, -1568, -1568, -352, -699, -1568,
2625 1132, -1165, -1568, -70, -185, 15, 705, -1568, -366, -1568,
2626 -377, -962, -1242, -284, 120, -1568, 424, 498, -1568, -1568,
2627 -1568, -1568, 449, -1568, 2032, -1107
2630 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2631 positive, shift that token. If negative, reduce the rule which
2632 number is the opposite. If zero, do what YYDEFACT says.
2633 If YYTABLE_NINF, syntax error. */
2634 #define YYTABLE_NINF -1041
2635 static const yytype_int16 yytable[] =
2637 185, 187, 434, 189, 190, 191, 193, 194, 195, 484,
2638 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2639 208, 209, 338, 406, 228, 231, 395, 514, 238, 935,
2640 398, 399, 120, 252, 122, 243, 775, 931, 124, 255,
2641 125, 1330, 972, 651, 506, 653, 257, 263, 346, 266,
2642 536, 261, 347, 789, 350, 949, 430, 244, 930, 434,
2643 1148, 1430, 483, 801, 1026, 1140, 723, 864, 869, 408,
2644 911, 585, 587, 405, 771, 772, 764, 358, 765, 255,
2645 1040, 410, 1316, 1220, 1613, 1014, 1165, 424, 345, 245,
2646 815, -37, 540, 254, 1392, -36, -37, 1768, 337, 852,
2647 -36, 407, 1176, 391, 531, 794, 392, 875, 548, 14,
2648 597, 602, 400, 797, 548, 798, -72, 548, 1556, 1558,
2649 -351, -72, 157, 1621, 1769, 1706, 1775, 817, 1775, 541,
2650 1613, 359, 892, 381, 892, 892, -885, 504, 892, 892,
2651 884, 885, 14, 14, 408, 593, 1209, 626, 405, -588,
2652 1229, 1230, 121, 1229, 1230, 367, 410, 859, 1456, 523,
2653 1917, 1067, 14, 1331, 420, 1096, -593, 501, 502, 114,
2654 1792, 581, 471, -101, 188, 593, 407, 14, 932, 3,
2655 1149, 525, 1327, 517, 472, 524, 421, 1322, -101, 1300,
2656 1301, -100, 1461, 410, 1897, 1920, 1786, 534, 638, 639,
2657 1068, 533, 501, 502, -886, 594, -100, 1254, -929, -888,
2658 509, 501, 502, 407, -887, -889, 248, 860, 264, 401,
2659 1323, 336, -932, -892, 384, 1150, 402, 1835, 627, 407,
2660 -705, 910, 582, 1109, -891, 420, -931, 1462, 373, 1898,
2661 1921, 1787, 1232, 543, -872, 1395, 543, 360, 1300, 1301,
2662 -873, -798, 1332, 255, 554, -798, 509, -593, 1393, 393,
2663 -895, 373, -899, -885, 505, 373, 373, 396, 1528, 1179,
2664 -796, 1614, 1615, -896, 425, 433, 816, 693, -37, 1385,
2665 545, 1430, -36, 1770, 550, 917, 565, 1470, -290, -274,
2666 508, 373, 818, 876, 1476, 549, 1478, 598, 603, 1227,
2667 877, 1231, -711, -72, 625, 1557, 1559, -351, -798, 576,
2668 1622, 1352, 1707, 1776, 1151, 1825, 1570, 1893, 893, -290,
2669 985, 1306, 1023, 1498, 1504, 1563, 1463, 1025, 1899, 1922,
2670 1162, -886, 515, -894, 608, -929, -888, 510, 607, 1105,
2671 1106, -887, -889, 1370, -706, 1132, 611, -898, 1909, -932,
2672 -892, 504, 1850, 1373, 251, 222, 222, 691, -901, 776,
2673 434, -891, 521, -931, 859, 255, 407, 1616, 358, 358,
2674 588, -872, 228, 619, 255, 255, 1468, -873, 211, 40,
2675 631, 508, 881, 510, 1004, 337, 1763, 127, 501, 502,
2676 338, 1719, -596, 1720, 918, -535, 782, 1851, 258, 193,
2677 211, 40, 1258, 745, 1764, 1571, 636, 676, 1199, 919,
2678 395, 740, 741, 430, 1122, 501, 502, 114, 688, 606,
2679 -860, 114, 365, 1765, 420, 555, 363, 1586, 622, 622,
2680 366, 1931, -594, 364, 1315, -860, 259, 1910, 694, 695,
2681 696, 697, 699, 700, 701, 702, 703, 704, 705, 706,
2682 707, 708, 709, 710, 711, 712, 713, 714, 715, 716,
2683 717, 718, 719, 720, 721, 722, 337, 724, 238, 725,
2684 725, 728, 1382, 1200, 260, 243, 348, 747, 505, 1771,
2685 369, 748, 749, 750, 751, 752, 753, 754, 755, 756,
2686 757, 758, 759, 760, 511, 898, 900, 244, 1772, 725,
2687 770, 1773, 688, 688, 725, 774, 370, 1578, 575, 1580,
2688 938, 748, 940, 1155, 778, 1156, 109, 746, -704, 733,
2689 1932, 662, 924, 786, 371, 788, -1004, 484, 382, 245,
2690 372, -712, -595, 688, 1173, 735, 376, 804, 377, 382,
2691 485, 805, 1339, 806, 382, 1341, 633, 421, 1329, 966,
2692 1317, 633, 382, 1226, -897, 222, 1517, 378, -863, 121,
2693 -1004, 768, -1004, 1318, 379, -1004, 380, 967, 337, 651,
2694 1181, 653, 1818, -863, 396, 1102, 114, 1103, 397, 809,
2695 483, 421, 978, 1319, 735, 680, 864, 974, -861, 336,
2696 871, 1819, 373, 1004, 1820, 793, 501, 502, 799, -1004,
2697 628, 385, 386, -861, 964, 412, 868, 868, 921, 821,
2698 -117, 419, 385, 386, -117, 1732, 420, 385, 386, 1737,
2699 -707, 884, 885, 956, 423, 385, 386, 1020, 1021, 938,
2700 940, -117, 743, 435, 382, 436, 1015, 940, 1593, 426,
2701 407, 383, 575, 373, 738, 373, 373, 373, 373, 1477,
2702 1092, 1093, 1094, 437, 161, 536, -899, -589, 678, 210,
2703 382, 438, 1918, 439, 679, 1097, 1095, 633, 763, 822,
2704 1211, 1212, 1016, 440, 55, 1524, 1525, 224, 226, 441,
2705 946, 50, 62, 63, 64, 175, 176, 431, 222, 1733,
2706 1734, 575, -590, 957, 1042, 225, 225, 222, 442, 1047,
2707 -591, 727, 1354, 474, 222, 796, 384, 385, 386, 1905,
2708 1906, 651, 475, 653, 222, 476, 114, 214, 215, 216,
2709 477, 1472, 382, 507, 512, 650, -893, 965, 1460, 413,
2710 769, 382, 634, 385, 386, 773, 850, 179, 416, 1345,
2711 89, 584, 586, 91, 92, 1384, 93, 180, 95, 1561,
2712 1355, 210, 432, 1879, 1880, 1881, 409, 977, 870, 680,
2713 -592, 1117, -705, 62, 63, 64, 175, 176, 431, 1816,
2714 1817, 105, 382, 50, 1791, 1890, 662, 513, 1794, 633,
2715 62, 63, 64, 175, 176, 431, 1812, 1813, 1007, 1908,
2716 1018, 905, 907, 389, 127, 385, 386, 1228, 1229, 1230,
2717 1004, 1004, 1004, 1004, 385, 386, 255, 1024, 1004, 214,
2718 215, 216, 1424, 1389, 1229, 1230, 516, 487, 488, 489,
2719 490, 491, 492, 493, 494, 495, 496, 497, 498, 520,
2720 1450, 409, 389, 432, 1617, 91, 92, 518, 93, 180,
2721 95, 222, 1050, 1053, 1035, 385, 386, 651, 472, 653,
2722 432, 415, 417, 418, 421, 526, -897, 1875, 373, 508,
2723 1587, 529, 530, 105, -703, 537, 538, 390, 409, 499,
2724 500, 546, 868, 559, 868, 567, -1040, 527, 868, 868,
2725 1107, 570, 1204, 571, 535, 468, 469, 470, 589, 471,
2726 1127, 577, 1128, 590, 806, 225, 578, 1500, 592, 599,
2727 600, 472, 161, 1130, 1180, 601, 161, 612, 613, 654,
2728 655, 1474, 664, 1509, 1888, 665, 666, 1139, 668, 62,
2729 63, 64, 65, 66, 431, -122, 677, 1241, 55, 1900,
2730 72, 478, 690, 779, 1245, 781, 501, 502, 628, 120,
2731 783, 122, 784, 1160, 999, 124, 1010, 125, 790, 121,
2732 652, 791, 807, 1168, 548, 811, 1169, 814, 1170, 565,
2733 827, 1004, 688, 1004, 828, 853, 114, 878, 733, 1335,
2734 855, 480, 238, 856, 1867, 857, 874, 889, 858, 243,
2735 1033, 114, 879, 882, 1141, 883, 891, 896, 894, 432,
2736 897, 899, 901, 908, 1867, 902, 768, 667, 799, 913,
2737 121, 244, 914, 1889, 916, -727, 922, 923, 1208, 925,
2738 596, 929, 222, 926, 933, 934, 942, 114, 1595, 604,
2739 1214, 609, 944, 947, 1104, 680, 616, 1601, 225, 157,
2740 736, 948, 950, 245, 1575, 953, 632, 225, 959, 610,
2741 1607, 960, 1308, 963, 225, 979, 962, 971, 955, 1215,
2742 983, 981, 662, 1118, 225, 982, 736, -709, 485, 121,
2743 651, 161, 653, 1017, 1027, 1041, 1043, 1359, 1037, 662,
2744 1039, 1044, 222, 799, 1045, 1046, 114, 1048, 1062, 736,
2745 121, 465, 466, 467, 468, 469, 470, 1063, 471, 1064,
2746 736, 575, 1004, 736, 1004, 1061, 1004, 114, 629, 1004,
2747 472, 1065, 635, 763, 1110, 796, 1100, 1108, 1112, 1259,
2748 1432, 1114, 1115, 222, 1116, 222, 1309, 1748, 1121, 1129,
2749 1310, 1125, 1407, 1137, 1135, 868, 1411, 1142, 629, 1415,
2750 635, 629, 635, 635, 1138, 1144, 1420, 1178, 1184, 373,
2751 1146, 222, 651, 1163, 653, 1089, 1090, 1091, 1092, 1093,
2752 1094, 1188, 1188, 999, 1337, 14, 1831, 1172, 1175, 1183,
2753 120, 1196, 122, 616, 1095, -900, 124, 688, 125, 1194,
2754 1195, 121, 1197, 121, 1198, 1203, 1217, 1201, 688, 1310,
2755 796, 225, 1202, 1205, 127, 1219, 114, 1222, 114, 1223,
2756 114, 1225, 1234, 1004, 1235, 1239, 1240, 1095, 1244, 1292,
2757 1243, 161, 1294, 222, 1304, 1364, 1366, 1366, 1295, 1297,
2758 1237, 1377, 1374, 1325, 255, 1307, 1326, 967, 1433, 222,
2759 222, 1333, 1334, 1434, 1391, 62, 63, 64, 175, 1435,
2760 431, 1436, 575, 1338, 1878, 127, 1340, 1488, 1342, 1344,
2761 1347, 1492, 1380, 220, 220, 1346, 1497, 1356, 1349, 1357,
2762 157, 650, 1358, 1790, 992, 1350, 1369, 1376, 1378, 1379,
2763 1381, 850, 1386, 1797, 1390, 1396, 1398, 1432, 1400, 1401,
2764 1916, 1437, 1438, 1404, 1439, 1406, 1405, 1409, 1410, 1413,
2765 121, 662, 1412, 1414, 662, 1416, 1418, 1419, 1423, 1464,
2766 1453, 1465, 1425, 1426, 127, 432, 1454, 114, 1469, 1487,
2767 1489, 1562, 1491, 1494, 1440, 1471, 1467, 1452, 1832, 1475,
2768 1480, 1479, 14, 1481, 1457, 127, 1482, 1485, 1458, 434,
2769 1459, 1486, 1495, 1496, 1499, 1532, 1490, 1501, 1466, 1502,
2770 1493, 1503, 1521, 1506, 945, 1545, 1507, 1560, 1473, 688,
2771 1572, 339, 1566, 1573, 1576, 1581, 1582, 1004, 1004, 1584,
2772 1588, 1602, 225, 1854, 1605, 222, 222, 1619, 1611, 1620,
2773 999, 999, 999, 999, 1715, 1483, 1714, 1484, 999, 1721,
2774 1727, 1728, 1753, 1742, 121, 1433, 1730, 1731, 1743, 114,
2775 1434, 1754, 62, 63, 64, 175, 1435, 431, 1436, 1740,
2776 1774, 114, 1780, 650, 976, 1783, 1784, 1789, 1717, 1806,
2777 1808, 1810, 1822, 1823, 1814, 1824, 127, 1829, 127, 1830,
2778 1838, 1837, 225, -347, 1834, 1840, 1845, 1841, 1843, 1769,
2779 1914, 1846, 1849, 1449, 210, 1919, 1852, 1856, 1437, 1438,
2780 1855, 1439, 1857, 1862, 1449, 1011, 1869, 1012, 1864, 1876,
2781 1873, 1877, 1885, 220, 1887, 1891, 50, 1892, 1894, 1911,
2782 1912, 161, 432, 225, 222, 225, 1610, 1915, 1901, 1574,
2783 662, 1455, 688, 1031, 1427, 1923, 161, 1924, 1933, 1934,
2784 1936, 1937, 1296, 1872, 742, 739, 652, 1174, 737, 736,
2785 1134, 225, 214, 215, 216, 1886, 222, 1383, 1747, 1884,
2786 1738, 736, 1762, 736, 1508, 872, 1589, 1767, 1590, 1618,
2787 1591, 1926, 161, 1592, 1552, 1779, 1708, 1896, 91, 92,
2788 1709, 93, 180, 95, 1736, 127, 1320, 1253, 1533, 1368,
2789 1246, 999, 624, 999, 1190, 1113, 1360, 1206, 1361, 650,
2790 1154, 618, 1051, 1599, 1913, 222, 105, 1549, 1928, 1847,
2791 1299, 616, 1124, 225, 1238, 1291, 0, 1523, 0, 0,
2792 222, 222, 1185, 1186, 1187, 210, 689, 0, 0, 225,
2793 225, 161, 339, 0, 339, 0, 1782, 1729, 736, 0,
2794 0, 1612, 121, 0, 0, 0, 220, 50, 0, 0,
2795 0, 0, 161, 0, 0, 220, 0, 0, 1449, 114,
2796 0, 1554, 220, 0, 1449, 0, 1449, 1741, 336, 662,
2797 0, 0, 220, 0, 1550, 0, 0, 0, 0, 127,
2798 0, 0, 0, 214, 215, 216, 1449, 0, 652, 0,
2799 339, 0, 0, 0, 1745, 1599, 0, 0, 0, 0,
2800 0, 0, 1807, 1809, 0, 222, 0, 0, 0, 91,
2801 92, 0, 93, 180, 95, 0, 0, 0, 121, 0,
2802 0, 0, 999, 0, 999, 0, 999, 121, 0, 999,
2803 0, 0, 0, 0, 0, 114, 0, 105, 0, 0,
2804 114, 161, 0, 161, 114, 161, 0, 1031, 1221, 0,
2805 1432, 0, 0, 1777, 0, 0, 0, 0, 1444, 0,
2806 0, 373, 0, 1860, 575, 225, 225, 336, 0, 1444,
2807 0, 0, 0, 0, 1449, 0, 339, 1703, 0, 339,
2808 1722, 0, 1827, 0, 1710, 0, 0, 0, 0, 0,
2809 0, 336, 1785, 336, 0, 14, 210, 219, 219, 220,
2810 336, 235, 0, 0, 0, 0, 434, 0, 0, 0,
2811 0, 0, 650, 121, 0, 0, 210, 0, 50, 121,
2812 0, 1795, 1796, 999, 652, 121, 235, 0, 0, 337,
2813 114, 114, 114, 0, 0, 0, 114, 0, 50, 0,
2814 0, 0, 114, 1548, 0, 0, 1311, 0, 0, 222,
2815 0, 0, 161, 0, 214, 215, 216, 0, 1433, 0,
2816 0, 0, 0, 1434, 225, 62, 63, 64, 175, 1435,
2817 431, 1436, 0, 0, 214, 215, 216, 127, 1336, 0,
2818 91, 92, 0, 93, 180, 95, 0, 0, 0, 0,
2819 0, 0, 0, 0, 650, 0, 225, 0, 428, 0,
2820 91, 92, 485, 93, 180, 95, 0, 0, 105, 1549,
2821 0, 1437, 1438, 0, 1439, 0, 0, 0, 0, 0,
2822 339, 0, 823, 1444, 0, 0, 0, 1375, 105, 1444,
2823 0, 1444, 0, 0, 161, 432, 0, 0, 0, 0,
2824 0, 0, 616, 1031, 1579, 225, 161, 0, 0, 0,
2825 0, 1444, 575, 127, 0, 0, 0, 0, 0, 0,
2826 225, 225, 127, 0, 0, 0, 121, 0, 0, 1534,
2827 220, 0, 0, 336, 0, 0, 1925, 999, 999, 0,
2828 0, 0, 0, 114, 0, 0, 0, 0, 1935, 0,
2829 0, 0, 1801, 0, 0, 0, 0, 219, 1938, 1703,
2830 1703, 1939, 0, 1710, 1710, 0, 0, 0, 121, 339,
2831 339, 0, 0, 0, 0, 121, 0, 373, 339, 210,
2832 0, 0, 0, 0, 0, 114, 0, 616, 0, 0,
2833 220, 0, 114, 210, 0, 0, 662, 652, 0, 1444,
2834 0, 50, 0, 0, 0, 225, 0, 235, 127, 235,
2835 121, 0, 0, 0, 127, 50, 662, 0, 0, 0,
2836 127, 0, 0, 1535, 0, 662, 0, 114, 0, 0,
2837 0, 220, 121, 220, 0, 1859, 1536, 214, 215, 216,
2838 1537, 0, 0, 0, 0, 0, 0, 0, 0, 114,
2839 0, 214, 215, 216, 0, 1874, 1432, 179, 0, 220,
2840 89, 1538, 0, 91, 92, 235, 93, 1539, 95, 0,
2841 0, 179, 0, 0, 89, 1432, 0, 91, 92, 652,
2842 93, 180, 95, 62, 63, 64, 65, 66, 431, 0,
2843 219, 105, 121, 0, 72, 478, 0, 121, 0, 219,
2844 0, 14, 0, 0, 161, 105, 219, 0, 0, 114,
2845 1800, 0, 0, 0, 114, 0, 219, 0, 343, 0,
2846 14, 220, 0, 0, 0, 0, 0, 235, 0, 0,
2847 0, 1564, 0, 479, 0, 480, 0, 220, 220, 0,
2848 0, 0, 339, 339, 0, 0, 0, 0, 481, 225,
2849 482, 235, 0, 432, 235, 0, 0, 0, 0, 0,
2850 0, 127, 0, 0, 1433, 0, 0, 0, 0, 1434,
2851 0, 62, 63, 64, 175, 1435, 431, 1436, 0, 0,
2852 161, 0, 0, 1433, 0, 161, 1432, 0, 1434, 161,
2853 62, 63, 64, 175, 1435, 431, 1436, 0, 0, 0,
2854 0, 235, 1432, 127, 210, 0, 0, 0, 0, 0,
2855 127, 0, 0, 0, 0, 0, 0, 1437, 1438, 0,
2856 1439, 0, 0, 0, 210, 0, 50, 0, 339, 0,
2857 0, 14, 0, 0, 351, 352, 1437, 1438, 0, 1439,
2858 0, 432, 0, 219, 339, 127, 50, 14, 0, 0,
2859 1583, 0, 0, 0, 1861, 0, 0, 339, 0, 0,
2860 432, 0, 214, 215, 216, 0, 0, 127, 0, 1585,
2861 0, 0, 0, 220, 220, 161, 161, 161, 0, 0,
2862 0, 161, 214, 215, 216, 353, 339, 161, 91, 92,
2863 0, 93, 180, 95, 1433, 235, 0, 235, 0, 1434,
2864 840, 62, 63, 64, 175, 1435, 431, 1436, 91, 92,
2865 1433, 93, 180, 95, 0, 1434, 105, 62, 63, 64,
2866 175, 1435, 431, 1436, 0, 0, 0, 127, 0, 0,
2867 0, 840, 127, 0, 0, 0, 105, 690, 0, 563,
2868 0, 564, 0, 0, 0, 0, 0, 1437, 1438, 0,
2869 1439, 0, 0, 0, 0, 0, 339, 0, 0, 339,
2870 0, 823, 0, 1437, 1438, 0, 1439, 0, 0, 0,
2871 0, 432, 220, 0, 0, 0, 0, 0, 0, 0,
2872 1594, 0, 0, 0, 235, 235, 0, 432, 0, 34,
2873 35, 36, 0, 235, 0, 0, 1739, 569, 0, 0,
2874 0, 0, 212, 0, 220, 1069, 1070, 1071, 0, 0,
2875 0, 0, 0, 0, 219, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 1072, 0, 161, 1073,
2877 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
2878 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
2879 1094, 0, 0, 220, 79, 80, 81, 82, 83, 0,
2880 0, 339, 0, 339, 1095, 217, 0, 0, 220, 220,
2881 161, 87, 88, 0, 219, 0, 0, 161, 0, 0,
2882 0, 0, 0, 683, 0, 97, 343, 0, 0, 0,
2883 339, 0, 0, 339, 0, 0, 0, 0, 0, 102,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
2885 0, 0, 161, 0, 0, 219, 0, 219, 516, 487,
2886 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
2887 498, 0, 0, 0, 161, 0, 0, 0, 0, 0,
2888 0, 0, 0, 219, 840, 986, 987, 0, 0, 0,
2889 339, 0, 0, 220, 339, 0, 0, 235, 235, 840,
2890 840, 840, 840, 840, 0, 988, 0, 0, 0, 840,
2891 0, 499, 500, 989, 990, 991, 210, 0, 0, 0,
2892 0, 0, 210, 235, 0, 0, 992, 0, 0, 0,
2893 1257, 0, 0, 0, 161, 0, 0, 0, 50, 161,
2894 0, 0, 0, 0, 50, 219, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 339, 339, 0, 0, 235,
2896 0, 219, 219, 0, 0, 0, 0, 820, 0, 0,
2897 0, 0, 0, 993, 994, 995, 996, 0, 501, 502,
2898 214, 215, 216, 235, 235, 0, 0, 0, 0, 997,
2899 0, 0, 0, 235, 179, 0, 0, 89, 90, 235,
2900 91, 92, 0, 93, 180, 95, 91, 92, 0, 93,
2901 180, 95, 235, 0, 0, 0, 0, 0, 998, 0,
2902 840, 0, 0, 235, 0, 0, 0, 0, 105, 0,
2903 0, 0, 0, 0, 105, 955, 0, 220, 0, 792,
2904 0, 235, 0, 0, 0, 235, 0, 0, 0, 0,
2905 0, 0, 0, 339, 0, 339, 927, 928, 235, 0,
2906 0, 0, 0, 0, 0, 936, 0, 0, 516, 487,
2907 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
2908 498, 0, 0, 0, 0, 0, 0, 0, 339, 0,
2909 0, 0, 0, 0, 0, 0, 0, 219, 219, 339,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 235, 0, 0, 235, 0, 235, 0, 0, 0,
2912 0, 499, 500, 0, 0, 0, 0, 0, 0, 0,
2913 0, 840, 840, 840, 840, 235, 0, 0, 840, 840,
2914 840, 840, 840, 840, 840, 840, 840, 840, 840, 840,
2915 840, 840, 840, 840, 840, 840, 840, 840, 840, 840,
2916 840, 840, 840, 840, 840, 840, 0, 0, 0, 221,
2917 221, 0, 0, 237, 0, 0, 0, 0, 0, 0,
2918 0, 0, 840, 0, 0, 0, 0, 339, 501, 502,
2919 0, 0, 0, 0, 0, 0, 219, 486, 487, 488,
2920 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
2921 0, 339, 0, 339, 0, 0, 235, 0, 235, 0,
2922 339, 0, 0, 0, 0, 0, 0, 0, 219, 683,
2923 683, 0, -1041, -1041, -1041, -1041, -1041, 463, 464, 465,
2924 466, 467, 468, 469, 470, 235, 471, 0, 235, 880,
2925 499, 500, 0, 0, 0, 0, 0, 277, 472, 0,
2926 0, 0, 0, 0, 0, 235, 235, 235, 235, 0,
2927 0, 235, 0, 235, 339, 0, 0, 219, 0, 0,
2928 0, 0, 0, 0, 0, 279, 0, 0, 0, 0,
2929 0, 0, 219, 219, 0, 840, 0, 0, 0, 0,
2930 0, 0, 0, 0, 0, 235, 0, 210, 0, 235,
2931 0, 0, 840, 0, 840, 1133, 0, 501, 502, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
2933 0, 1143, 0, 0, 0, 0, 840, -394, 0, 0,
2934 0, 0, 0, 0, 1157, 62, 63, 64, 175, 176,
2935 431, 516, 487, 488, 489, 490, 491, 492, 493, 494,
2936 495, 496, 497, 498, 561, 214, 215, 216, 562, 221,
2937 235, 235, 0, 1177, 235, 0, 339, 219, 210, 0,
2938 211, 40, 0, 0, 0, 179, 0, 0, 89, 330,
2939 0, 91, 92, 339, 93, 180, 95, 0, 0, 0,
2940 50, 0, 0, 0, 499, 500, 0, 0, 0, 334,
2941 0, 0, 1802, 0, 0, 432, 0, 0, 0, 105,
2942 335, 0, 0, 0, 0, 0, 235, 0, 235, 0,
2943 0, 0, 0, 0, 0, 0, 214, 215, 216, 0,
2944 0, 0, 0, 1233, 0, 0, 1236, -1041, -1041, -1041,
2945 -1041, -1041, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
2946 761, 339, 91, 92, 0, 93, 180, 95, 235, 0,
2947 235, 501, 502, 1095, 0, 0, 840, 0, 840, 0,
2948 840, 0, 0, 840, 235, 0, 0, 840, 0, 840,
2949 105, 0, 840, 0, 762, 0, 109, 0, 0, 0,
2950 0, 0, 221, 235, 235, 0, 0, 235, 0, 0,
2951 0, 221, 0, 0, 235, 0, 0, 0, 221, 0,
2952 0, 219, 0, 0, 0, 0, 0, 0, 221, 0,
2953 210, 0, 211, 40, 0, 0, 0, 339, 0, 221,
2954 0, 0, 0, 0, 0, 0, 0, 0, 1328, 339,
2955 936, 339, 50, 0, 0, 0, 0, 235, 0, 235,
2956 0, 235, 0, 0, 235, 210, 235, 903, 0, 904,
2957 339, 0, 339, 0, 0, 0, 0, 1348, 0, 0,
2958 1351, 0, 840, 0, 0, 0, 0, 50, 214, 215,
2959 216, 0, 0, 0, 235, 235, 0, 0, 0, 0,
2960 0, 0, 235, 0, 235, 0, 0, 0, 0, 0,
2961 0, 0, 761, 237, 91, 92, 0, 93, 180, 95,
2962 0, 0, 0, 214, 215, 216, 235, 0, 235, 0,
2963 0, 0, 0, 0, 0, 235, 0, 1397, 0, 847,
2964 0, 1157, 105, 0, 0, 0, 795, 0, 109, 91,
2965 92, 0, 93, 180, 95, 221, 0, 0, 235, 0,
2966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2967 873, 0, 0, 0, 840, 840, 840, 105, 0, 0,
2968 0, 840, 0, 235, 0, 0, 0, 0, 0, 235,
2969 0, 235, 0, 443, 444, 445, 0, 0, 0, 0,
2970 0, 0, 1428, 1429, 0, 0, 0, 0, 0, 0,
2971 0, 0, 845, 446, 447, 0, 448, 449, 450, 451,
2972 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
2973 462, 463, 464, 465, 466, 467, 468, 469, 470, 0,
2974 471, 0, 0, 845, 0, 443, 444, 445, 0, 0,
2975 0, 0, 472, 0, 0, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 0, 446, 447, 0, 448, 449,
2977 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
2978 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
2979 470, 235, 471, 0, 0, 0, 0, 0, 0, 0,
2980 1510, 0, 1511, 0, 472, 0, 0, 210, 235, 0,
2981 0, 0, 235, 235, 0, 0, 0, 0, 0, 0,
2982 0, 0, 0, 0, 0, 0, 221, 235, 0, 50,
2983 0, 0, 0, 840, 0, 0, 0, 0, 0, 0,
2984 0, 0, 0, 0, 840, 0, 1555, 210, 0, 0,
2985 840, 1535, 0, 0, 840, 0, 0, 0, 0, 0,
2986 0, 0, 0, 0, 1536, 214, 215, 216, 1537, 50,
2987 0, 0, 0, 0, 0, 0, 235, 861, 862, 0,
2988 0, 0, 0, 1032, 1313, 179, 221, 0, 89, 90,
2989 0, 91, 92, 0, 93, 1539, 95, 0, 1054, 1055,
2990 1056, 1057, 0, 0, 0, 214, 215, 216, 1066, 0,
2991 223, 223, 0, 0, 241, 0, 840, 0, 210, 105,
2992 0, 1003, 0, 0, 210, 0, 235, 221, 863, 221,
2993 0, 91, 92, 909, 93, 180, 95, 0, 0, 0,
2994 50, 0, 277, 235, 0, 0, 50, 0, 0, 0,
2995 0, 0, 235, 0, 0, 221, 845, 0, 0, 105,
2996 0, 0, 0, 0, 235, 0, 235, 0, 0, 0,
2997 279, 845, 845, 845, 845, 845, 214, 215, 216, 210,
2998 0, 845, 214, 215, 216, 235, 0, 235, 0, 0,
2999 0, 0, 210, 0, 0, 1099, 179, 0, 0, 89,
3000 90, 50, 91, 92, 0, 93, 180, 95, 91, 92,
3001 0, 93, 180, 95, 50, 0, 0, 221, 0, 1161,
3002 0, 1758, 568, 0, 0, 0, 0, 0, 0, 0,
3003 105, 1120, 0, 221, 221, 0, 105, 214, 215, 216,
3004 0, 0, 0, 0, 0, 0, 0, 0, 0, 561,
3005 214, 215, 216, 562, 0, 0, 1120, 0, 0, 0,
3006 353, 0, 0, 91, 92, 221, 93, 180, 95, 0,
3007 179, 0, 0, 89, 330, 0, 91, 92, 0, 93,
3008 180, 95, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 105, 845, 0, 334, 1164, 0, 0, 0, 0,
3010 0, 0, 0, 0, 105, 335, 0, 0, 0, 0,
3011 223, 0, 0, 0, 0, 0, 0, 237, 0, 0,
3012 0, 0, 0, 1781, 0, 0, 0, 0, 0, 0,
3013 1003, 1249, 1251, 1251, 0, 0, 0, 1260, 1263, 1264,
3014 1265, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275,
3015 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285,
3016 1286, 1287, 1288, 1289, 1290, 0, 0, 0, 0, 221,
3017 221, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3020 0, 0, 0, 845, 845, 845, 845, 221, 1842, 0,
3021 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
3022 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
3023 845, 845, 845, 845, 845, 845, 845, 845, 0, 0,
3024 0, 0, 0, 223, 210, 0, 0, 0, 0, 0,
3025 0, 0, 223, 0, 845, 0, 0, 0, 0, 223,
3026 0, 0, 0, 0, 0, 0, 50, 0, 221, 223,
3027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3028 241, 0, 0, 0, 936, 0, 0, 0, 0, 0,
3029 0, 0, 0, 0, 1387, 0, 1904, 0, 936, 0,
3030 221, 0, 214, 215, 216, 0, 0, 0, 0, 0,
3031 0, 1402, 0, 1403, 0, 0, 0, 1904, 0, 1929,
3032 0, 0, 0, 0, 0, 863, 0, 0, 91, 92,
3033 0, 93, 180, 95, 0, 1421, 0, 1003, 1003, 1003,
3034 1003, 0, 0, 221, 0, 1003, 0, 0, 0, 221,
3035 0, 0, 0, 0, 241, 0, 105, 0, 0, 0,
3036 0, 0, 0, 0, 221, 221, 0, 845, 0, 0,
3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 845, 0, 845, 0, 0, 443,
3039 444, 445, 0, 0, 0, 0, 223, 0, 0, 0,
3040 0, 0, 0, 0, 0, 0, 0, 0, 845, 446,
3041 447, 0, 448, 449, 450, 451, 452, 453, 454, 455,
3042 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
3043 466, 467, 468, 469, 470, 0, 471, 0, 0, 0,
3044 0, 0, 0, 0, 0, 0, 1431, 0, 472, 221,
3045 0, 0, 0, 846, 1075, 1076, 1077, 1078, 1079, 1080,
3046 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
3047 1091, 1092, 1093, 1094, 0, 1513, 0, 1514, 0, 1515,
3048 0, 0, 1516, 0, 846, 0, 1518, 1095, 1519, 0,
3049 0, 1520, 0, 0, 443, 444, 445, 0, 1003, 0,
3050 1003, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 446, 447, 0, 448, 449, 450,
3052 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
3053 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
3054 0, 471, 0, 0, 0, 0, 0, 0, 845, 0,
3055 845, 0, 845, 472, 0, 845, 221, 0, 0, 845,
3056 0, 845, 0, 0, 845, 0, 0, 223, 0, 0,
3057 0, 443, 444, 445, 0, 0, 1531, 941, 0, 1544,
3058 0, 1603, 0, 0, 0, 0, 0, 0, 0, 0,
3059 0, 446, 447, 221, 448, 449, 450, 451, 452, 453,
3060 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
3061 464, 465, 466, 467, 468, 469, 470, 0, 471, 0,
3062 0, 0, 0, 0, 0, 0, 0, 223, 0, 1003,
3063 472, 1003, 0, 1003, 0, 0, 1003, 0, 221, 0,
3064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3065 0, 0, 0, 0, 845, 0, 0, 277, 0, 0,
3066 0, 0, 0, 0, 0, 0, 1608, 1609, 223, 0,
3067 223, 0, 0, 1749, 1750, 1751, 1544, 0, 0, 0,
3068 1755, 0, 980, 0, 0, 279, 0, 0, 0, 0,
3069 0, 0, 0, 0, 0, 0, 223, 846, 0, 0,
3070 0, 0, 0, 0, 0, 0, 0, 210, 0, 0,
3071 0, 0, 846, 846, 846, 846, 846, 0, 0, 0,
3072 0, 0, 846, 0, 0, 0, 0, 0, 0, 50,
3073 1003, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3074 0, 0, 0, 0, 0, 0, 845, 845, 845, 0,
3075 0, 0, 0, 845, 0, 1756, 0, 0, 223, 984,
3076 0, 0, 0, 1544, 561, 214, 215, 216, 562, 0,
3077 0, 0, 0, 0, 223, 223, 0, 0, 0, 0,
3078 0, 0, 0, 0, 0, 179, 0, 0, 89, 330,
3079 0, 91, 92, 0, 93, 180, 95, 0, 1049, 0,
3080 0, 0, 0, 0, 0, 0, 241, 0, 0, 334,
3081 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
3082 335, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 0, 0, 1811, 846, 0, 0, 443, 444, 445, 0,
3084 0, 0, 0, 1821, 0, 0, 0, 0, 0, 1826,
3085 0, 0, 0, 1828, 0, 0, 446, 447, 241, 448,
3086 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
3087 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
3088 469, 470, 0, 471, 1003, 1003, 0, 0, 0, 0,
3089 0, 0, 0, 0, 0, 472, 0, 0, 0, 0,
3090 0, 0, 0, 0, 0, 845, 0, 0, 0, 0,
3091 223, 223, 0, 0, 0, 1863, 845, 0, 0, 0,
3092 0, 0, 845, 0, 0, 0, 845, 0, 0, 0,
3093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3094 0, 0, 0, 0, 846, 846, 846, 846, 241, 0,
3095 0, 846, 846, 846, 846, 846, 846, 846, 846, 846,
3096 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
3097 846, 846, 846, 846, 846, 846, 846, 846, 846, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 845, 0,
3099 0, 0, 0, 0, 0, 846, 0, 0, 1871, 0,
3100 0, 0, 0, 0, 0, 0, 0, 0, 0, 223,
3101 0, 0, 0, 0, 0, 1531, 0, 0, 0, 0,
3102 0, 0, 0, 0, 1111, 0, 443, 444, 445, 0,
3103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3104 0, 223, 0, 0, 812, 0, 446, 447, 0, 448,
3105 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
3106 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
3107 469, 470, 0, 471, 0, 0, 5, 6, 7, 8,
3108 9, 0, 0, 0, 241, 472, 10, 0, 0, 0,
3109 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3110 11, 12, 13, 0, 0, 223, 223, 0, 846, 0,
3111 0, 0, 0, 0, 0, 0, 0, 0, 813, 0,
3112 0, 0, 14, 15, 16, 846, 0, 846, 0, 17,
3113 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3114 27, 28, 0, 29, 30, 31, 32, 33, 0, 846,
3115 0, 34, 35, 36, 37, 38, 39, 40, 0, 41,
3116 42, 0, 0, 0, 43, 44, 45, 46, 0, 47,
3117 0, 48, 0, 49, 0, 0, 50, 51, 0, 0,
3118 0, 52, 53, 54, 55, 0, 57, 58, 0, 59,
3119 223, 61, 62, 63, 64, 65, 66, 67, 0, 68,
3120 69, 70, 0, 72, 73, 0, 0, 0, 0, 0,
3121 74, 75, 76, 77, 78, 0, 79, 80, 81, 82,
3122 83, 0, 0, 0, 84, 0, 0, 85, 0, 277,
3123 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
3124 0, 93, 180, 95, 96, 0, 0, 97, 0, 0,
3125 98, 0, 0, 0, 0, 0, 99, 279, 0, 0,
3126 0, 102, 103, 104, 0, 0, 105, 106, 0, 107,
3127 108, 669, 109, 110, 0, 111, 112, 0, 0, 210,
3128 0, 0, 0, 443, 444, 445, 0, 0, 0, 846,
3129 0, 846, 0, 846, 0, 0, 846, 241, 0, 0,
3130 846, 50, 846, 446, 447, 846, 448, 449, 450, 451,
3131 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
3132 462, 463, 464, 465, 466, 467, 468, 469, 470, 0,
3133 471, 0, 0, 0, 223, 0, 561, 214, 215, 216,
3134 562, 0, 472, 0, 0, 0, 0, 0, 0, 0,
3135 0, 0, 0, 0, 0, 0, 0, 179, 0, 0,
3136 89, 330, 0, 91, 92, 0, 93, 180, 95, 0,
3137 1399, 0, 0, 0, 0, 0, 0, 0, 0, 241,
3138 0, 334, 0, 0, 0, 0, 0, 0, 443, 444,
3139 445, 105, 335, 0, 0, 846, 0, 0, 0, 0,
3140 0, 0, 0, 0, 0, 0, 0, 0, 446, 447,
3141 0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
3142 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
3143 467, 468, 469, 470, 0, 471, 0, 0, 0, 0,
3144 0, 0, 0, 0, 0, 0, 0, 472, 0, 0,
3145 0, 0, 0, 0, 5, 6, 7, 8, 9, 0,
3146 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3147 0, 1171, 0, 0, 0, 0, 0, 0, 11, 12,
3148 13, 0, 0, 0, 0, 0, 0, 846, 846, 846,
3149 0, 0, 0, 0, 846, 0, 0, 0, 0, 0,
3150 14, 15, 16, 1761, 0, 0, 0, 17, 0, 18,
3151 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3152 0, 29, 30, 31, 32, 33, 0, 0, 0, 34,
3153 35, 36, 37, 38, 39, 40, 0, 41, 42, 0,
3154 0, 0, 43, 44, 45, 46, 0, 47, 0, 48,
3155 0, 49, 0, 0, 50, 51, 0, 0, 0, 52,
3156 53, 54, 55, 56, 57, 58, 0, 59, 60, 61,
3157 62, 63, 64, 65, 66, 67, 1182, 68, 69, 70,
3158 71, 72, 73, 0, 0, 0, 0, 0, 74, 75,
3159 76, 77, 78, 0, 79, 80, 81, 82, 83, 0,
3160 0, 0, 84, 0, 0, 85, 0, 0, 0, 0,
3161 86, 87, 88, 89, 90, 0, 91, 92, 0, 93,
3162 94, 95, 96, 0, 0, 97, 0, 0, 98, 0,
3163 0, 0, 0, 0, 99, 100, 0, 101, 0, 102,
3164 103, 104, 0, 0, 105, 106, 846, 107, 108, 1131,
3165 109, 110, 0, 111, 112, 0, 0, 846, 0, 0,
3166 0, 0, 0, 846, 0, 0, 0, 846, 0, 0,
3167 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
3168 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
3169 0, 1844, 0, 0, 0, 0, 0, 0, 0, 11,
3170 12, 13, 0, 0, 0, 0, 0, 0, 0, 0,
3171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3172 0, 14, 15, 16, 0, 0, 0, 0, 17, 846,
3173 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3174 28, 0, 29, 30, 31, 32, 33, 0, 0, 0,
3175 34, 35, 36, 37, 38, 39, 40, 0, 41, 42,
3176 0, 0, 0, 43, 44, 45, 46, 0, 47, 0,
3177 48, 0, 49, 0, 0, 50, 51, 0, 0, 0,
3178 52, 53, 54, 55, 56, 57, 58, 0, 59, 60,
3179 61, 62, 63, 64, 65, 66, 67, 0, 68, 69,
3180 70, 71, 72, 73, 0, 0, 0, 0, 0, 74,
3181 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
3182 0, 0, 0, 84, 0, 0, 85, 0, 0, 0,
3183 0, 86, 87, 88, 89, 90, 0, 91, 92, 0,
3184 93, 94, 95, 96, 0, 0, 97, 0, 0, 98,
3185 0, 0, 0, 0, 0, 99, 100, 0, 101, 0,
3186 102, 103, 104, 0, 0, 105, 106, 0, 107, 108,
3187 1314, 109, 110, 0, 111, 112, 5, 6, 7, 8,
3188 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3190 11, 12, 13, 0, 0, 0, 0, 0, 0, 0,
3191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3192 0, 0, 14, 15, 16, 0, 0, 0, 0, 17,
3193 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3194 27, 28, 0, 29, 30, 31, 32, 33, 0, 0,
3195 0, 34, 35, 36, 37, 38, 39, 40, 0, 41,
3196 42, 0, 0, 0, 43, 44, 45, 46, 0, 47,
3197 0, 48, 0, 49, 0, 0, 50, 51, 0, 0,
3198 0, 52, 53, 54, 55, 56, 57, 58, 0, 59,
3199 60, 61, 62, 63, 64, 65, 66, 67, 0, 68,
3200 69, 70, 71, 72, 73, 0, 0, 0, 0, 0,
3201 74, 75, 76, 77, 78, 0, 79, 80, 81, 82,
3202 83, 0, 0, 0, 84, 0, 0, 85, 0, 0,
3203 0, 0, 86, 87, 88, 89, 90, 0, 91, 92,
3204 0, 93, 94, 95, 96, 0, 0, 97, 0, 0,
3205 98, 0, 0, 0, 0, 0, 99, 100, 0, 101,
3206 0, 102, 103, 104, 0, 0, 105, 106, 0, 107,
3207 108, 0, 109, 110, 0, 111, 112, 5, 6, 7,
3208 8, 9, 0, 0, 0, 0, 0, 10, 0, 0,
3209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3210 0, 11, 12, 13, 0, 0, 0, 0, 0, 0,
3211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3212 0, 0, 0, 14, 15, 16, 0, 0, 0, 0,
3213 17, 0, 18, 19, 20, 21, 22, 23, 24, 25,
3214 26, 27, 28, 0, 29, 30, 31, 32, 33, 0,
3215 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
3216 41, 42, 0, 0, 0, 43, 44, 45, 46, 0,
3217 47, 0, 48, 0, 49, 0, 0, 50, 51, 0,
3218 0, 0, 52, 53, 54, 55, 0, 57, 58, 0,
3219 59, 0, 61, 62, 63, 64, 65, 66, 67, 0,
3220 68, 69, 70, 0, 72, 73, 0, 0, 0, 0,
3221 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
3222 82, 83, 0, 0, 0, 84, 0, 0, 85, 0,
3223 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
3224 92, 0, 93, 180, 95, 96, 0, 0, 97, 0,
3225 0, 98, 0, 0, 0, 0, 0, 99, 0, 0,
3226 0, 0, 102, 103, 104, 0, 0, 105, 106, 0,
3227 107, 108, 1098, 109, 110, 0, 111, 112, 5, 6,
3228 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3230 0, 0, 11, 12, 13, 0, 0, 0, 0, 0,
3231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3232 0, 0, 0, 0, 14, 15, 16, 0, 0, 0,
3233 0, 17, 0, 18, 19, 20, 21, 22, 23, 24,
3234 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
3235 0, 0, 0, 34, 35, 36, 37, 38, 39, 40,
3236 0, 41, 42, 0, 0, 0, 43, 44, 45, 46,
3237 0, 47, 0, 48, 0, 49, 0, 0, 50, 51,
3238 0, 0, 0, 52, 53, 54, 55, 0, 57, 58,
3239 0, 59, 0, 61, 62, 63, 64, 65, 66, 67,
3240 0, 68, 69, 70, 0, 72, 73, 0, 0, 0,
3241 0, 0, 74, 75, 76, 77, 78, 0, 79, 80,
3242 81, 82, 83, 0, 0, 0, 84, 0, 0, 85,
3243 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
3244 91, 92, 0, 93, 180, 95, 96, 0, 0, 97,
3245 0, 0, 98, 0, 0, 0, 0, 0, 99, 0,
3246 0, 0, 0, 102, 103, 104, 0, 0, 105, 106,
3247 0, 107, 108, 1145, 109, 110, 0, 111, 112, 5,
3248 6, 7, 8, 9, 0, 0, 0, 0, 0, 10,
3249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3250 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
3251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3252 0, 0, 0, 0, 0, 14, 15, 16, 0, 0,
3253 0, 0, 17, 0, 18, 19, 20, 21, 22, 23,
3254 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
3255 33, 0, 0, 0, 34, 35, 36, 37, 38, 39,
3256 40, 0, 41, 42, 0, 0, 0, 43, 44, 45,
3257 46, 0, 47, 0, 48, 0, 49, 0, 0, 50,
3258 51, 0, 0, 0, 52, 53, 54, 55, 0, 57,
3259 58, 0, 59, 0, 61, 62, 63, 64, 65, 66,
3260 67, 0, 68, 69, 70, 0, 72, 73, 0, 0,
3261 0, 0, 0, 74, 75, 76, 77, 78, 0, 79,
3262 80, 81, 82, 83, 0, 0, 0, 84, 0, 0,
3263 85, 0, 0, 0, 0, 179, 87, 88, 89, 90,
3264 0, 91, 92, 0, 93, 180, 95, 96, 0, 0,
3265 97, 0, 0, 98, 0, 0, 0, 0, 0, 99,
3266 0, 0, 0, 0, 102, 103, 104, 0, 0, 105,
3267 106, 0, 107, 108, 1216, 109, 110, 0, 111, 112,
3268 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3269 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3270 0, 0, 0, 0, 11, 12, 13, 0, 0, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 0, 14, 15, 16, 0,
3273 0, 0, 0, 17, 0, 18, 19, 20, 21, 22,
3274 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
3275 32, 33, 0, 0, 0, 34, 35, 36, 37, 38,
3276 39, 40, 0, 41, 42, 0, 0, 0, 43, 44,
3277 45, 46, 1218, 47, 0, 48, 0, 49, 0, 0,
3278 50, 51, 0, 0, 0, 52, 53, 54, 55, 0,
3279 57, 58, 0, 59, 0, 61, 62, 63, 64, 65,
3280 66, 67, 0, 68, 69, 70, 0, 72, 73, 0,
3281 0, 0, 0, 0, 74, 75, 76, 77, 78, 0,
3282 79, 80, 81, 82, 83, 0, 0, 0, 84, 0,
3283 0, 85, 0, 0, 0, 0, 179, 87, 88, 89,
3284 90, 0, 91, 92, 0, 93, 180, 95, 96, 0,
3285 0, 97, 0, 0, 98, 0, 0, 0, 0, 0,
3286 99, 0, 0, 0, 0, 102, 103, 104, 0, 0,
3287 105, 106, 0, 107, 108, 0, 109, 110, 0, 111,
3288 112, 5, 6, 7, 8, 9, 0, 0, 0, 0,
3289 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
3290 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
3291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3292 0, 0, 0, 0, 0, 0, 0, 14, 15, 16,
3293 0, 0, 0, 0, 17, 0, 18, 19, 20, 21,
3294 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
3295 31, 32, 33, 0, 0, 0, 34, 35, 36, 37,
3296 38, 39, 40, 0, 41, 42, 0, 0, 0, 43,
3297 44, 45, 46, 0, 47, 0, 48, 0, 49, 1388,
3298 0, 50, 51, 0, 0, 0, 52, 53, 54, 55,
3299 0, 57, 58, 0, 59, 0, 61, 62, 63, 64,
3300 65, 66, 67, 0, 68, 69, 70, 0, 72, 73,
3301 0, 0, 0, 0, 0, 74, 75, 76, 77, 78,
3302 0, 79, 80, 81, 82, 83, 0, 0, 0, 84,
3303 0, 0, 85, 0, 0, 0, 0, 179, 87, 88,
3304 89, 90, 0, 91, 92, 0, 93, 180, 95, 96,
3305 0, 0, 97, 0, 0, 98, 0, 0, 0, 0,
3306 0, 99, 0, 0, 0, 0, 102, 103, 104, 0,
3307 0, 105, 106, 0, 107, 108, 0, 109, 110, 0,
3308 111, 112, 5, 6, 7, 8, 9, 0, 0, 0,
3309 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 0, 14, 15,
3313 16, 0, 0, 0, 0, 17, 0, 18, 19, 20,
3314 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
3315 30, 31, 32, 33, 0, 0, 0, 34, 35, 36,
3316 37, 38, 39, 40, 0, 41, 42, 0, 0, 0,
3317 43, 44, 45, 46, 0, 47, 0, 48, 0, 49,
3318 0, 0, 50, 51, 0, 0, 0, 52, 53, 54,
3319 55, 0, 57, 58, 0, 59, 0, 61, 62, 63,
3320 64, 65, 66, 67, 0, 68, 69, 70, 0, 72,
3321 73, 0, 0, 0, 0, 0, 74, 75, 76, 77,
3322 78, 0, 79, 80, 81, 82, 83, 0, 0, 0,
3323 84, 0, 0, 85, 0, 0, 0, 0, 179, 87,
3324 88, 89, 90, 0, 91, 92, 0, 93, 180, 95,
3325 96, 0, 0, 97, 0, 0, 98, 0, 0, 0,
3326 0, 0, 99, 0, 0, 0, 0, 102, 103, 104,
3327 0, 0, 105, 106, 0, 107, 108, 1522, 109, 110,
3328 0, 111, 112, 5, 6, 7, 8, 9, 0, 0,
3329 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
3333 15, 16, 0, 0, 0, 0, 17, 0, 18, 19,
3334 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
3335 29, 30, 31, 32, 33, 0, 0, 0, 34, 35,
3336 36, 37, 38, 39, 40, 0, 41, 42, 0, 0,
3337 0, 43, 44, 45, 46, 0, 47, 0, 48, 0,
3338 49, 0, 0, 50, 51, 0, 0, 0, 52, 53,
3339 54, 55, 0, 57, 58, 0, 59, 0, 61, 62,
3340 63, 64, 65, 66, 67, 0, 68, 69, 70, 0,
3341 72, 73, 0, 0, 0, 0, 0, 74, 75, 76,
3342 77, 78, 0, 79, 80, 81, 82, 83, 0, 0,
3343 0, 84, 0, 0, 85, 0, 0, 0, 0, 179,
3344 87, 88, 89, 90, 0, 91, 92, 0, 93, 180,
3345 95, 96, 0, 0, 97, 0, 0, 98, 0, 0,
3346 0, 0, 0, 99, 0, 0, 0, 0, 102, 103,
3347 104, 0, 0, 105, 106, 0, 107, 108, 1752, 109,
3348 110, 0, 111, 112, 5, 6, 7, 8, 9, 0,
3349 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3350 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
3351 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 14, 15, 16, 0, 0, 0, 0, 17, 0, 18,
3354 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3355 0, 29, 30, 31, 32, 33, 0, 0, 0, 34,
3356 35, 36, 37, 38, 39, 40, 0, 41, 42, 0,
3357 0, 0, 43, 44, 45, 46, 0, 47, 0, 48,
3358 1798, 49, 0, 0, 50, 51, 0, 0, 0, 52,
3359 53, 54, 55, 0, 57, 58, 0, 59, 0, 61,
3360 62, 63, 64, 65, 66, 67, 0, 68, 69, 70,
3361 0, 72, 73, 0, 0, 0, 0, 0, 74, 75,
3362 76, 77, 78, 0, 79, 80, 81, 82, 83, 0,
3363 0, 0, 84, 0, 0, 85, 0, 0, 0, 0,
3364 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
3365 180, 95, 96, 0, 0, 97, 0, 0, 98, 0,
3366 0, 0, 0, 0, 99, 0, 0, 0, 0, 102,
3367 103, 104, 0, 0, 105, 106, 0, 107, 108, 0,
3368 109, 110, 0, 111, 112, 5, 6, 7, 8, 9,
3369 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
3371 12, 13, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 14, 15, 16, 0, 0, 0, 0, 17, 0,
3374 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3375 28, 0, 29, 30, 31, 32, 33, 0, 0, 0,
3376 34, 35, 36, 37, 38, 39, 40, 0, 41, 42,
3377 0, 0, 0, 43, 44, 45, 46, 0, 47, 0,
3378 48, 0, 49, 0, 0, 50, 51, 0, 0, 0,
3379 52, 53, 54, 55, 0, 57, 58, 0, 59, 0,
3380 61, 62, 63, 64, 65, 66, 67, 0, 68, 69,
3381 70, 0, 72, 73, 0, 0, 0, 0, 0, 74,
3382 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
3383 0, 0, 0, 84, 0, 0, 85, 0, 0, 0,
3384 0, 179, 87, 88, 89, 90, 0, 91, 92, 0,
3385 93, 180, 95, 96, 0, 0, 97, 0, 0, 98,
3386 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
3387 102, 103, 104, 0, 0, 105, 106, 0, 107, 108,
3388 1833, 109, 110, 0, 111, 112, 5, 6, 7, 8,
3389 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391 11, 12, 13, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 14, 15, 16, 0, 0, 0, 0, 17,
3394 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3395 27, 28, 0, 29, 30, 31, 32, 33, 0, 0,
3396 0, 34, 35, 36, 37, 38, 39, 40, 0, 41,
3397 42, 0, 0, 0, 43, 44, 45, 46, 0, 47,
3398 1836, 48, 0, 49, 0, 0, 50, 51, 0, 0,
3399 0, 52, 53, 54, 55, 0, 57, 58, 0, 59,
3400 0, 61, 62, 63, 64, 65, 66, 67, 0, 68,
3401 69, 70, 0, 72, 73, 0, 0, 0, 0, 0,
3402 74, 75, 76, 77, 78, 0, 79, 80, 81, 82,
3403 83, 0, 0, 0, 84, 0, 0, 85, 0, 0,
3404 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
3405 0, 93, 180, 95, 96, 0, 0, 97, 0, 0,
3406 98, 0, 0, 0, 0, 0, 99, 0, 0, 0,
3407 0, 102, 103, 104, 0, 0, 105, 106, 0, 107,
3408 108, 0, 109, 110, 0, 111, 112, 5, 6, 7,
3409 8, 9, 0, 0, 0, 0, 0, 10, 0, 0,
3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 11, 12, 13, 0, 0, 0, 0, 0, 0,
3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 14, 15, 16, 0, 0, 0, 0,
3414 17, 0, 18, 19, 20, 21, 22, 23, 24, 25,
3415 26, 27, 28, 0, 29, 30, 31, 32, 33, 0,
3416 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
3417 41, 42, 0, 0, 0, 43, 44, 45, 46, 0,
3418 47, 0, 48, 0, 49, 0, 0, 50, 51, 0,
3419 0, 0, 52, 53, 54, 55, 0, 57, 58, 0,
3420 59, 0, 61, 62, 63, 64, 65, 66, 67, 0,
3421 68, 69, 70, 0, 72, 73, 0, 0, 0, 0,
3422 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
3423 82, 83, 0, 0, 0, 84, 0, 0, 85, 0,
3424 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
3425 92, 0, 93, 180, 95, 96, 0, 0, 97, 0,
3426 0, 98, 0, 0, 0, 0, 0, 99, 0, 0,
3427 0, 0, 102, 103, 104, 0, 0, 105, 106, 0,
3428 107, 108, 1853, 109, 110, 0, 111, 112, 5, 6,
3429 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3431 0, 0, 11, 12, 13, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 14, 15, 16, 0, 0, 0,
3434 0, 17, 0, 18, 19, 20, 21, 22, 23, 24,
3435 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
3436 0, 0, 0, 34, 35, 36, 37, 38, 39, 40,
3437 0, 41, 42, 0, 0, 0, 43, 44, 45, 46,
3438 0, 47, 0, 48, 0, 49, 0, 0, 50, 51,
3439 0, 0, 0, 52, 53, 54, 55, 0, 57, 58,
3440 0, 59, 0, 61, 62, 63, 64, 65, 66, 67,
3441 0, 68, 69, 70, 0, 72, 73, 0, 0, 0,
3442 0, 0, 74, 75, 76, 77, 78, 0, 79, 80,
3443 81, 82, 83, 0, 0, 0, 84, 0, 0, 85,
3444 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
3445 91, 92, 0, 93, 180, 95, 96, 0, 0, 97,
3446 0, 0, 98, 0, 0, 0, 0, 0, 99, 0,
3447 0, 0, 0, 102, 103, 104, 0, 0, 105, 106,
3448 0, 107, 108, 1870, 109, 110, 0, 111, 112, 5,
3449 6, 7, 8, 9, 0, 0, 0, 0, 0, 10,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 14, 15, 16, 0, 0,
3454 0, 0, 17, 0, 18, 19, 20, 21, 22, 23,
3455 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
3456 33, 0, 0, 0, 34, 35, 36, 37, 38, 39,
3457 40, 0, 41, 42, 0, 0, 0, 43, 44, 45,
3458 46, 0, 47, 0, 48, 0, 49, 0, 0, 50,
3459 51, 0, 0, 0, 52, 53, 54, 55, 0, 57,
3460 58, 0, 59, 0, 61, 62, 63, 64, 65, 66,
3461 67, 0, 68, 69, 70, 0, 72, 73, 0, 0,
3462 0, 0, 0, 74, 75, 76, 77, 78, 0, 79,
3463 80, 81, 82, 83, 0, 0, 0, 84, 0, 0,
3464 85, 0, 0, 0, 0, 179, 87, 88, 89, 90,
3465 0, 91, 92, 0, 93, 180, 95, 96, 0, 0,
3466 97, 0, 0, 98, 0, 0, 0, 0, 0, 99,
3467 0, 0, 0, 0, 102, 103, 104, 0, 0, 105,
3468 106, 0, 107, 108, 1927, 109, 110, 0, 111, 112,
3469 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3470 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 11, 12, 13, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 14, 15, 16, 0,
3474 0, 0, 0, 17, 0, 18, 19, 20, 21, 22,
3475 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
3476 32, 33, 0, 0, 0, 34, 35, 36, 37, 38,
3477 39, 40, 0, 41, 42, 0, 0, 0, 43, 44,
3478 45, 46, 0, 47, 0, 48, 0, 49, 0, 0,
3479 50, 51, 0, 0, 0, 52, 53, 54, 55, 0,
3480 57, 58, 0, 59, 0, 61, 62, 63, 64, 65,
3481 66, 67, 0, 68, 69, 70, 0, 72, 73, 0,
3482 0, 0, 0, 0, 74, 75, 76, 77, 78, 0,
3483 79, 80, 81, 82, 83, 0, 0, 0, 84, 0,
3484 0, 85, 0, 0, 0, 0, 179, 87, 88, 89,
3485 90, 0, 91, 92, 0, 93, 180, 95, 96, 0,
3486 0, 97, 0, 0, 98, 0, 0, 0, 0, 0,
3487 99, 0, 0, 0, 0, 102, 103, 104, 0, 0,
3488 105, 106, 0, 107, 108, 1930, 109, 110, 0, 111,
3489 112, 5, 6, 7, 8, 9, 0, 0, 0, 0,
3490 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 14, 15, 16,
3494 0, 0, 0, 0, 17, 0, 18, 19, 20, 21,
3495 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
3496 31, 32, 33, 0, 0, 0, 34, 35, 36, 37,
3497 38, 39, 40, 0, 41, 42, 0, 0, 0, 43,
3498 44, 45, 46, 0, 47, 0, 48, 0, 49, 0,
3499 0, 50, 51, 0, 0, 0, 52, 53, 54, 55,
3500 0, 57, 58, 0, 59, 0, 61, 62, 63, 64,
3501 65, 66, 67, 0, 68, 69, 70, 0, 72, 73,
3502 0, 0, 0, 0, 0, 74, 75, 76, 77, 78,
3503 0, 79, 80, 81, 82, 83, 0, 0, 0, 84,
3504 0, 0, 85, 0, 0, 0, 0, 179, 87, 88,
3505 89, 90, 0, 91, 92, 0, 93, 180, 95, 96,
3506 0, 0, 97, 0, 0, 98, 0, 0, 0, 0,
3507 0, 99, 0, 0, 0, 0, 102, 103, 104, 0,
3508 0, 105, 106, 0, 107, 108, 0, 109, 110, 0,
3509 111, 112, 5, 6, 7, 8, 9, 0, 0, 0,
3510 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
3512 0, 544, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
3514 16, 0, 0, 0, 0, 17, 0, 18, 19, 20,
3515 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
3516 30, 31, 32, 33, 0, 0, 0, 34, 35, 36,
3517 37, 38, 39, 40, 0, 41, 42, 0, 0, 0,
3518 43, 44, 45, 46, 0, 47, 0, 48, 0, 49,
3519 0, 0, 50, 51, 0, 0, 0, 52, 53, 54,
3520 55, 0, 57, 58, 0, 59, 0, 61, 62, 63,
3521 64, 175, 176, 67, 0, 68, 69, 70, 0, 0,
3522 0, 0, 0, 0, 0, 0, 74, 75, 76, 77,
3523 78, 0, 79, 80, 81, 82, 83, 0, 0, 0,
3524 84, 0, 0, 85, 0, 0, 0, 0, 179, 87,
3525 88, 89, 90, 0, 91, 92, 0, 93, 180, 95,
3526 0, 0, 0, 97, 0, 0, 98, 0, 0, 0,
3527 0, 0, 99, 0, 0, 0, 0, 102, 103, 104,
3528 0, 0, 105, 106, 0, 107, 108, 0, 109, 110,
3529 0, 111, 112, 5, 6, 7, 8, 9, 0, 0,
3530 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3531 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
3532 0, 0, 808, 0, 0, 0, 0, 0, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3534 15, 16, 0, 0, 0, 0, 17, 0, 18, 19,
3535 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
3536 29, 30, 31, 32, 33, 0, 0, 0, 34, 35,
3537 36, 37, 38, 39, 40, 0, 41, 42, 0, 0,
3538 0, 43, 44, 45, 46, 0, 47, 0, 48, 0,
3539 49, 0, 0, 50, 51, 0, 0, 0, 52, 53,
3540 54, 55, 0, 57, 58, 0, 59, 0, 61, 62,
3541 63, 64, 175, 176, 67, 0, 68, 69, 70, 0,
3542 0, 0, 0, 0, 0, 0, 0, 74, 75, 76,
3543 77, 78, 0, 79, 80, 81, 82, 83, 0, 0,
3544 0, 84, 0, 0, 85, 0, 0, 0, 0, 179,
3545 87, 88, 89, 90, 0, 91, 92, 0, 93, 180,
3546 95, 0, 0, 0, 97, 0, 0, 98, 0, 0,
3547 0, 0, 0, 99, 0, 0, 0, 0, 102, 103,
3548 104, 0, 0, 105, 106, 0, 107, 108, 0, 109,
3549 110, 0, 111, 112, 5, 6, 7, 8, 9, 0,
3550 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3551 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
3552 13, 0, 0, 1034, 0, 0, 0, 0, 0, 0,
3553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3554 0, 15, 16, 0, 0, 0, 0, 17, 0, 18,
3555 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3556 0, 29, 30, 31, 32, 33, 0, 0, 0, 34,
3557 35, 36, 37, 38, 39, 40, 0, 41, 42, 0,
3558 0, 0, 43, 44, 45, 46, 0, 47, 0, 48,
3559 0, 49, 0, 0, 50, 51, 0, 0, 0, 52,
3560 53, 54, 55, 0, 57, 58, 0, 59, 0, 61,
3561 62, 63, 64, 175, 176, 67, 0, 68, 69, 70,
3562 0, 0, 0, 0, 0, 0, 0, 0, 74, 75,
3563 76, 77, 78, 0, 79, 80, 81, 82, 83, 0,
3564 0, 0, 84, 0, 0, 85, 0, 0, 0, 0,
3565 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
3566 180, 95, 0, 0, 0, 97, 0, 0, 98, 0,
3567 0, 0, 0, 0, 99, 0, 0, 0, 0, 102,
3568 103, 104, 0, 0, 105, 106, 0, 107, 108, 0,
3569 109, 110, 0, 111, 112, 5, 6, 7, 8, 9,
3570 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
3571 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
3572 12, 13, 0, 0, 1598, 0, 0, 0, 0, 0,
3573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3574 0, 0, 15, 16, 0, 0, 0, 0, 17, 0,
3575 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3576 28, 0, 29, 30, 31, 32, 33, 0, 0, 0,
3577 34, 35, 36, 37, 38, 39, 40, 0, 41, 42,
3578 0, 0, 0, 43, 44, 45, 46, 0, 47, 0,
3579 48, 0, 49, 0, 0, 50, 51, 0, 0, 0,
3580 52, 53, 54, 55, 0, 57, 58, 0, 59, 0,
3581 61, 62, 63, 64, 175, 176, 67, 0, 68, 69,
3582 70, 0, 0, 0, 0, 0, 0, 0, 0, 74,
3583 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
3584 0, 0, 0, 84, 0, 0, 85, 0, 0, 0,
3585 0, 179, 87, 88, 89, 90, 0, 91, 92, 0,
3586 93, 180, 95, 0, 0, 0, 97, 0, 0, 98,
3587 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
3588 102, 103, 104, 0, 0, 105, 106, 0, 107, 108,
3589 0, 109, 110, 0, 111, 112, 5, 6, 7, 8,
3590 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3592 11, 12, 13, 0, 0, 1744, 0, 0, 0, 0,
3593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3594 0, 0, 0, 15, 16, 0, 0, 0, 0, 17,
3595 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3596 27, 28, 0, 29, 30, 31, 32, 33, 0, 0,
3597 0, 34, 35, 36, 37, 38, 39, 40, 0, 41,
3598 42, 0, 0, 0, 43, 44, 45, 46, 0, 47,
3599 0, 48, 0, 49, 0, 0, 50, 51, 0, 0,
3600 0, 52, 53, 54, 55, 0, 57, 58, 0, 59,
3601 0, 61, 62, 63, 64, 175, 176, 67, 0, 68,
3602 69, 70, 0, 0, 0, 0, 0, 0, 0, 0,
3603 74, 75, 76, 77, 78, 0, 79, 80, 81, 82,
3604 83, 0, 0, 0, 84, 0, 0, 85, 0, 0,
3605 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
3606 0, 93, 180, 95, 0, 0, 0, 97, 0, 0,
3607 98, 0, 0, 0, 0, 0, 99, 0, 0, 0,
3608 0, 102, 103, 104, 0, 0, 105, 106, 0, 107,
3609 108, 0, 109, 110, 0, 111, 112, 5, 6, 7,
3610 8, 9, 0, 0, 0, 0, 0, 10, 0, 0,
3611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3612 0, 11, 12, 13, 0, 0, 0, 0, 0, 0,
3613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3614 0, 0, 0, 0, 15, 16, 0, 0, 0, 0,
3615 17, 0, 18, 19, 20, 21, 22, 23, 24, 25,
3616 26, 27, 28, 0, 29, 30, 31, 32, 33, 0,
3617 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
3618 41, 42, 0, 0, 0, 43, 44, 45, 46, 0,
3619 47, 0, 48, 0, 49, 0, 0, 50, 51, 0,
3620 0, 0, 52, 53, 54, 55, 0, 57, 58, 0,
3621 59, 0, 61, 62, 63, 64, 175, 176, 67, 0,
3622 68, 69, 70, 0, 0, 0, 0, 0, 0, 0,
3623 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
3624 82, 83, 0, 0, 0, 84, 0, 0, 85, 0,
3625 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
3626 92, 0, 93, 180, 95, 0, 0, 0, 97, 0,
3627 0, 98, 0, 0, 0, 0, 0, 99, 0, 0,
3628 0, 0, 102, 103, 104, 0, 0, 105, 106, 0,
3629 107, 108, 0, 109, 110, 0, 111, 112, 5, 6,
3630 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3632 0, 0, 404, 12, 13, 0, 0, 0, 0, 0,
3633 0, 0, 0, 744, 0, 0, 0, 0, 0, 0,
3634 0, 0, 0, 0, 0, 15, 16, 0, 0, 0,
3635 0, 17, 0, 18, 19, 20, 21, 22, 23, 24,
3636 25, 26, 27, 28, 0, 29, 30, 31, 32, 0,
3637 0, 0, 0, 34, 35, 36, 37, 38, 39, 40,
3638 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
3639 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
3640 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
3641 0, 0, 0, 0, 62, 63, 64, 175, 176, 177,
3642 0, 0, 69, 70, 0, 0, 0, 0, 0, 0,
3643 0, 0, 178, 75, 76, 77, 78, 0, 79, 80,
3644 81, 82, 83, 0, 0, 0, 0, 0, 0, 85,
3645 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
3646 91, 92, 0, 93, 180, 95, 0, 0, 0, 97,
3647 0, 0, 98, 0, 0, 0, 0, 0, 99, 0,
3648 0, 0, 0, 102, 103, 104, 0, 0, 105, 106,
3649 0, 0, 0, 0, 109, 110, 0, 111, 112, 5,
3650 6, 7, 8, 9, 0, 0, 0, 0, 0, 10,
3651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3652 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3654 0, 0, 0, 0, 0, 0, 15, 16, 0, 0,
3655 0, 0, 17, 0, 18, 19, 20, 21, 22, 23,
3656 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
3657 0, 0, 0, 0, 34, 35, 36, 37, 38, 39,
3658 40, 0, 0, 0, 0, 0, 0, 43, 0, 0,
3659 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
3660 0, 0, 0, 0, 0, 0, 0, 55, 0, 0,
3661 0, 0, 0, 0, 0, 62, 63, 64, 175, 176,
3662 177, 0, 0, 69, 70, 0, 0, 0, 0, 0,
3663 0, 0, 0, 178, 75, 76, 77, 78, 0, 79,
3664 80, 81, 82, 83, 0, 0, 0, 0, 0, 0,
3665 85, 0, 0, 0, 0, 179, 87, 88, 89, 90,
3666 0, 91, 92, 0, 93, 180, 95, 0, 0, 0,
3667 97, 0, 0, 98, 0, 0, 0, 0, 0, 99,
3668 0, 0, 0, 0, 102, 103, 104, 0, 0, 105,
3669 181, 0, 344, 0, 0, 109, 110, 0, 111, 112,
3670 5, 6, 7, 8, 9, 0, 0, 0, 1072, 0,
3671 10, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
3672 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
3673 1092, 1093, 1094, 0, 0, 684, 0, 0, 0, 0,
3674 0, 0, 0, 0, 0, 0, 1095, 15, 16, 0,
3675 0, 0, 0, 17, 0, 18, 19, 20, 21, 22,
3676 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
3677 32, 0, 0, 0, 0, 34, 35, 36, 37, 38,
3678 39, 40, 0, 0, 0, 0, 0, 0, 43, 0,
3679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3680 50, 0, 0, 0, 0, 0, 0, 0, 55, 0,
3681 0, 0, 0, 0, 0, 0, 62, 63, 64, 175,
3682 176, 177, 0, 0, 69, 70, 0, 0, 0, 0,
3683 0, 0, 0, 0, 178, 75, 76, 77, 78, 0,
3684 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
3685 0, 85, 0, 0, 0, 0, 179, 87, 88, 89,
3686 90, 0, 91, 92, 0, 93, 180, 95, 0, 685,
3687 0, 97, 0, 0, 98, 0, 0, 0, 0, 0,
3688 99, 0, 0, 0, 0, 102, 103, 104, 0, 0,
3689 105, 181, 0, 0, 0, 0, 109, 110, 0, 111,
3690 112, 5, 6, 7, 8, 9, 0, 0, 0, 0,
3691 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
3692 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
3693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3694 0, 0, 0, 0, 0, 0, 0, 0, 15, 16,
3695 0, 0, 0, 0, 17, 0, 18, 19, 20, 21,
3696 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
3697 31, 32, 0, 0, 0, 0, 34, 35, 36, 37,
3698 38, 39, 40, 0, 0, 0, 0, 0, 0, 43,
3699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3700 0, 50, 0, 0, 0, 0, 0, 0, 0, 55,
3701 0, 0, 0, 0, 0, 0, 0, 62, 63, 64,
3702 175, 176, 177, 0, 0, 69, 70, 0, 0, 0,
3703 0, 0, 0, 0, 0, 178, 75, 76, 77, 78,
3704 0, 79, 80, 81, 82, 83, 0, 0, 0, 0,
3705 0, 0, 85, 0, 0, 0, 0, 179, 87, 88,
3706 89, 90, 0, 91, 92, 0, 93, 180, 95, 0,
3707 0, 0, 97, 0, 0, 98, 0, 0, 0, 0,
3708 0, 99, 0, 0, 0, 0, 102, 103, 104, 0,
3709 0, 105, 181, 0, 0, 803, 0, 109, 110, 0,
3710 111, 112, 5, 6, 7, 8, 9, 0, 0, 0,
3711 0, 0, 10, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
3712 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089,
3713 1090, 1091, 1092, 1093, 1094, 0, 0, 1158, 0, 0,
3714 0, 0, 0, 0, 0, 0, 0, 0, 1095, 15,
3715 16, 0, 0, 0, 0, 17, 0, 18, 19, 20,
3716 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
3717 30, 31, 32, 0, 0, 0, 0, 34, 35, 36,
3718 37, 38, 39, 40, 0, 0, 0, 0, 0, 0,
3719 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3720 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
3721 55, 0, 0, 0, 0, 0, 0, 0, 62, 63,
3722 64, 175, 176, 177, 0, 0, 69, 70, 0, 0,
3723 0, 0, 0, 0, 0, 0, 178, 75, 76, 77,
3724 78, 0, 79, 80, 81, 82, 83, 0, 0, 0,
3725 0, 0, 0, 85, 0, 0, 0, 0, 179, 87,
3726 88, 89, 90, 0, 91, 92, 0, 93, 180, 95,
3727 0, 1159, 0, 97, 0, 0, 98, 0, 0, 0,
3728 0, 0, 99, 0, 0, 0, 0, 102, 103, 104,
3729 0, 0, 105, 181, 0, 0, 0, 0, 109, 110,
3730 0, 111, 112, 5, 6, 7, 8, 9, 0, 0,
3731 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3732 0, 0, 0, 0, 0, 0, 0, 404, 12, 0,
3733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3735 15, 16, 0, 0, 0, 0, 17, 0, 18, 19,
3736 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
3737 29, 30, 31, 32, 0, 0, 0, 0, 34, 35,
3738 36, 37, 38, 39, 40, 0, 0, 0, 0, 0,
3739 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
3740 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
3741 0, 55, 0, 0, 0, 0, 0, 0, 0, 62,
3742 63, 64, 175, 176, 177, 0, 0, 69, 70, 0,
3743 0, 0, 0, 0, 0, 0, 0, 178, 75, 76,
3744 77, 78, 0, 79, 80, 81, 82, 83, 0, 0,
3745 0, 0, 0, 0, 85, 0, 0, 0, 0, 179,
3746 87, 88, 89, 90, 0, 91, 92, 0, 93, 180,
3747 95, 0, 0, 0, 97, 0, 0, 98, 0, 0,
3748 0, 0, 0, 99, 0, 0, 0, 0, 102, 103,
3749 104, 0, 0, 105, 106, 443, 444, 445, 0, 109,
3750 110, 0, 111, 112, 5, 6, 7, 8, 9, 0,
3751 0, 0, 0, 0, 10, 446, 447, 0, 448, 449,
3752 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
3753 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
3754 470, 0, 471, 0, 0, 0, 0, 0, 0, 0,
3755 0, 15, 16, 0, 472, 0, 0, 17, 0, 18,
3756 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3757 0, 29, 30, 31, 32, 0, 0, 0, 0, 34,
3758 35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
3759 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
3760 0, 0, 0, 0, 50, 0, 0, 0, 0, 192,
3761 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
3762 62, 63, 64, 175, 176, 177, 0, 0, 69, 70,
3763 0, 0, 0, 0, 0, 0, 0, 0, 178, 75,
3764 76, 77, 78, 0, 79, 80, 81, 82, 83, 0,
3765 0, 0, 0, 0, 0, 85, 0, 0, 0, 0,
3766 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
3767 180, 95, 0, 0, 0, 97, 0, 0, 98, 0,
3768 0, 0, 0, 1210, 99, 0, 0, 0, 0, 102,
3769 103, 104, 0, 0, 105, 181, 0, 0, 0, 0,
3770 109, 110, 0, 111, 112, 5, 6, 7, 8, 9,
3771 0, 0, 0, 0, 0, 10, 450, 451, 452, 453,
3772 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
3773 464, 465, 466, 467, 468, 469, 470, 0, 471, 0,
3774 227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3775 472, 0, 15, 16, 0, 0, 0, 0, 17, 0,
3776 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3777 28, 0, 29, 30, 31, 32, 0, 0, 0, 0,
3778 34, 35, 36, 37, 38, 39, 40, 0, 0, 0,
3779 0, 0, 0, 43, 0, 0, 0, 0, 0, 0,
3780 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
3781 0, 0, 0, 55, 0, 0, 0, 0, 0, 0,
3782 0, 62, 63, 64, 175, 176, 177, 0, 0, 69,
3783 70, 0, 0, 0, 0, 0, 0, 0, 0, 178,
3784 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
3785 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
3786 0, 179, 87, 88, 89, 90, 0, 91, 92, 0,
3787 93, 180, 95, 0, 0, 0, 97, 0, 0, 98,
3788 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
3789 102, 103, 104, 0, 0, 105, 181, 443, 444, 445,
3790 0, 109, 110, 0, 111, 112, 5, 6, 7, 8,
3791 9, 0, 0, 0, 0, 0, 10, 446, 447, 0,
3792 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
3793 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
3794 468, 469, 470, 0, 471, 0, 0, 0, 0, 0,
3795 0, 0, 0, 15, 16, 0, 472, 0, 0, 17,
3796 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3797 27, 28, 0, 29, 30, 31, 32, 0, 0, 0,
3798 0, 34, 35, 36, 37, 38, 39, 40, 0, 0,
3799 0, 0, 0, 0, 43, 0, 0, 0, 0, 0,
3800 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
3801 0, 0, 0, 0, 55, 0, 0, 0, 0, 0,
3802 0, 0, 62, 63, 64, 175, 176, 177, 0, 0,
3803 69, 70, 0, 0, 0, 0, 0, 0, 0, 0,
3804 178, 75, 76, 77, 78, 0, 79, 80, 81, 82,
3805 83, 0, 0, 0, 0, 0, 0, 85, 0, 0,
3806 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
3807 0, 93, 180, 95, 0, 0, 0, 97, 0, 0,
3808 98, 0, 0, 0, 0, 1568, 99, 0, 0, 0,
3809 0, 102, 103, 104, 0, 0, 105, 181, 0, 262,
3810 444, 445, 109, 110, 0, 111, 112, 5, 6, 7,
3811 8, 9, 0, 0, 0, 0, 0, 10, 0, 446,
3812 447, 0, 448, 449, 450, 451, 452, 453, 454, 455,
3813 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
3814 466, 467, 468, 469, 470, 0, 471, 0, 0, 0,
3815 0, 0, 0, 0, 15, 16, 0, 0, 472, 0,
3816 17, 0, 18, 19, 20, 21, 22, 23, 24, 25,
3817 26, 27, 28, 0, 29, 30, 31, 32, 0, 0,
3818 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
3819 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
3820 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
3821 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
3822 0, 0, 0, 62, 63, 64, 175, 176, 177, 0,
3823 0, 69, 70, 0, 0, 0, 0, 0, 0, 0,
3824 0, 178, 75, 76, 77, 78, 0, 79, 80, 81,
3825 82, 83, 0, 0, 0, 0, 0, 0, 85, 0,
3826 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
3827 92, 0, 93, 180, 95, 0, 0, 0, 97, 0,
3828 0, 98, 0, 0, 0, 0, 0, 99, 0, 0,
3829 0, 0, 102, 103, 104, 0, 0, 105, 181, 0,
3830 265, 0, 0, 109, 110, 0, 111, 112, 5, 6,
3831 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3833 0, 0, 404, 0, 0, 0, 0, 0, 0, 0,
3834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3835 0, 0, 0, 0, 0, 15, 16, 0, 0, 0,
3836 0, 17, 0, 18, 19, 20, 21, 22, 23, 24,
3837 25, 26, 27, 28, 0, 29, 30, 31, 32, 0,
3838 0, 0, 0, 34, 35, 36, 37, 38, 39, 40,
3839 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
3840 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
3841 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
3842 0, 0, 0, 0, 62, 63, 64, 175, 176, 177,
3843 0, 0, 69, 70, 0, 0, 0, 0, 0, 0,
3844 0, 0, 178, 75, 76, 77, 78, 0, 79, 80,
3845 81, 82, 83, 0, 0, 0, 0, 0, 0, 85,
3846 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
3847 91, 92, 0, 93, 180, 95, 0, 0, 0, 97,
3848 0, 0, 98, 0, 0, 0, 0, 0, 99, 0,
3849 0, 0, 0, 102, 103, 104, 0, 0, 105, 106,
3850 443, 444, 445, 0, 109, 110, 0, 111, 112, 5,
3851 6, 7, 8, 9, 0, 0, 0, 0, 0, 10,
3852 446, 447, 0, 448, 449, 450, 451, 452, 453, 454,
3853 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
3854 465, 466, 467, 468, 469, 470, 0, 471, 0, 0,
3855 0, 0, 0, 0, 0, 0, 15, 16, 0, 472,
3856 0, 0, 17, 0, 18, 19, 20, 21, 22, 23,
3857 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
3858 0, 0, 0, 0, 34, 35, 36, 37, 38, 39,
3859 40, 0, 0, 0, 0, 0, 0, 43, 0, 0,
3860 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
3861 0, 0, 0, 0, 0, 0, 0, 55, 0, 0,
3862 0, 0, 0, 0, 0, 62, 63, 64, 175, 176,
3863 177, 0, 0, 69, 70, 0, 0, 0, 0, 0,
3864 0, 0, 0, 178, 75, 76, 77, 78, 0, 79,
3865 80, 81, 82, 83, 0, 0, 0, 0, 0, 0,
3866 85, 0, 0, 0, 0, 179, 87, 88, 89, 90,
3867 0, 91, 92, 0, 93, 180, 95, 0, 0, 0,
3868 97, 0, 0, 98, 0, 0, 0, 0, 1569, 99,
3869 0, 0, 0, 0, 102, 103, 104, 0, 0, 105,
3870 181, 542, 0, 0, 0, 109, 110, 0, 111, 112,
3871 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3872 10, 453, 454, 455, 456, 457, 458, 459, 460, 461,
3873 462, 463, 464, 465, 466, 467, 468, 469, 470, 698,
3874 471, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3875 0, 0, 472, 0, 0, 0, 0, 15, 16, 0,
3876 0, 0, 0, 17, 0, 18, 19, 20, 21, 22,
3877 23, 24, 25, 26, 27, 28, 0, 29, 30, 31,
3878 32, 0, 0, 0, 0, 34, 35, 36, 37, 38,
3879 39, 40, 0, 0, 0, 0, 0, 0, 43, 0,
3880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3881 50, 0, 0, 0, 0, 0, 0, 0, 55, 0,
3882 0, 0, 0, 0, 0, 0, 62, 63, 64, 175,
3883 176, 177, 0, 0, 69, 70, 0, 0, 0, 0,
3884 0, 0, 0, 0, 178, 75, 76, 77, 78, 0,
3885 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
3886 0, 85, 0, 0, 0, 0, 179, 87, 88, 89,
3887 90, 0, 91, 92, 0, 93, 180, 95, 0, 0,
3888 0, 97, 0, 0, 98, 0, 0, 0, 0, 0,
3889 99, 0, 0, 0, 0, 102, 103, 104, 0, 0,
3890 105, 181, 0, 0, 0, 0, 109, 110, 0, 111,
3891 112, 5, 6, 7, 8, 9, 0, 0, 0, 0,
3892 0, 10, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
3893 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
3894 1092, 1093, 1094, 0, 0, 0, 744, 0, 0, 0,
3895 0, 0, 0, 0, 0, 0, 1095, 0, 15, 16,
3896 0, 0, 0, 0, 17, 0, 18, 19, 20, 21,
3897 22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
3898 31, 32, 0, 0, 0, 0, 34, 35, 36, 37,
3899 38, 39, 40, 0, 0, 0, 0, 0, 0, 43,
3900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3901 0, 50, 0, 0, 0, 0, 0, 0, 0, 55,
3902 0, 0, 0, 0, 0, 0, 0, 62, 63, 64,
3903 175, 176, 177, 0, 0, 69, 70, 0, 0, 0,
3904 0, 0, 0, 0, 0, 178, 75, 76, 77, 78,
3905 0, 79, 80, 81, 82, 83, 0, 0, 0, 0,
3906 0, 0, 85, 0, 0, 0, 0, 179, 87, 88,
3907 89, 90, 0, 91, 92, 0, 93, 180, 95, 0,
3908 0, 0, 97, 0, 0, 98, 0, 0, 0, 0,
3909 0, 99, 0, 0, 0, 0, 102, 103, 104, 0,
3910 0, 105, 181, 0, 0, 0, 0, 109, 110, 0,
3911 111, 112, 5, 6, 7, 8, 9, 0, 0, 0,
3912 0, 0, 10, 451, 452, 453, 454, 455, 456, 457,
3913 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
3914 468, 469, 470, 0, 471, 0, 0, 785, 0, 0,
3915 0, 0, 0, 0, 0, 0, 472, 0, 0, 15,
3916 16, 0, 0, 0, 0, 17, 0, 18, 19, 20,
3917 21, 22, 23, 24, 25, 26, 27, 28, 0, 29,
3918 30, 31, 32, 0, 0, 0, 0, 34, 35, 36,
3919 37, 38, 39, 40, 0, 0, 0, 0, 0, 0,
3920 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3921 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
3922 55, 0, 0, 0, 0, 0, 0, 0, 62, 63,
3923 64, 175, 176, 177, 0, 0, 69, 70, 0, 0,
3924 0, 0, 0, 0, 0, 0, 178, 75, 76, 77,
3925 78, 0, 79, 80, 81, 82, 83, 0, 0, 0,
3926 0, 0, 0, 85, 0, 0, 0, 0, 179, 87,
3927 88, 89, 90, 0, 91, 92, 0, 93, 180, 95,
3928 0, 0, 0, 97, 0, 0, 98, 0, 0, 0,
3929 0, 0, 99, 0, 0, 0, 0, 102, 103, 104,
3930 0, 0, 105, 181, 0, 0, 0, 0, 109, 110,
3931 0, 111, 112, 5, 6, 7, 8, 9, 0, 0,
3932 0, 0, 0, 10, 452, 453, 454, 455, 456, 457,
3933 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
3934 468, 469, 470, 0, 471, 0, 0, 0, 787, 0,
3935 0, 0, 0, 0, 0, 0, 472, 0, 0, 0,
3936 15, 16, 0, 0, 0, 0, 17, 0, 18, 19,
3937 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
3938 29, 30, 31, 32, 0, 0, 0, 0, 34, 35,
3939 36, 37, 38, 39, 40, 0, 0, 0, 0, 0,
3940 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
3941 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
3942 0, 55, 0, 0, 0, 0, 0, 0, 0, 62,
3943 63, 64, 175, 176, 177, 0, 0, 69, 70, 0,
3944 0, 0, 0, 0, 0, 0, 0, 178, 75, 76,
3945 77, 78, 0, 79, 80, 81, 82, 83, 0, 0,
3946 0, 0, 0, 0, 85, 0, 0, 0, 0, 179,
3947 87, 88, 89, 90, 0, 91, 92, 0, 93, 180,
3948 95, 0, 0, 0, 97, 0, 0, 98, 0, 0,
3949 0, 0, 0, 99, 0, 0, 0, 0, 102, 103,
3950 104, 0, 0, 105, 181, 0, 0, 0, 0, 109,
3951 110, 0, 111, 112, 5, 6, 7, 8, 9, 0,
3952 0, 0, 0, 0, 10, 1076, 1077, 1078, 1079, 1080,
3953 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
3954 1091, 1092, 1093, 1094, 0, 0, 0, 0, 0, 1126,
3955 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
3956 0, 15, 16, 0, 0, 0, 0, 17, 0, 18,
3957 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3958 0, 29, 30, 31, 32, 0, 0, 0, 0, 34,
3959 35, 36, 37, 38, 39, 40, 0, 0, 0, 0,
3960 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
3961 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
3962 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
3963 62, 63, 64, 175, 176, 177, 0, 0, 69, 70,
3964 0, 0, 0, 0, 0, 0, 0, 0, 178, 75,
3965 76, 77, 78, 0, 79, 80, 81, 82, 83, 0,
3966 0, 0, 0, 0, 0, 85, 0, 0, 0, 0,
3967 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
3968 180, 95, 0, 0, 0, 97, 0, 0, 98, 0,
3969 0, 0, 0, 0, 99, 0, 0, 0, 0, 102,
3970 103, 104, 0, 0, 105, 181, 0, 0, 0, 0,
3971 109, 110, 0, 111, 112, 5, 6, 7, 8, 9,
3972 0, 0, 0, 0, 0, 10, 1077, 1078, 1079, 1080,
3973 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
3974 1091, 1092, 1093, 1094, 0, 0, 0, 0, 0, 0,
3975 1207, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
3976 0, 0, 15, 16, 0, 0, 0, 0, 17, 0,
3977 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3978 28, 0, 29, 30, 31, 32, 0, 0, 0, 0,
3979 34, 35, 36, 37, 38, 39, 40, 0, 0, 0,
3980 0, 0, 0, 43, 0, 0, 0, 0, 0, 0,
3981 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
3982 0, 0, 0, 55, 0, 0, 0, 0, 0, 0,
3983 0, 62, 63, 64, 175, 176, 177, 0, 0, 69,
3984 70, 0, 0, 0, 0, 0, 0, 0, 0, 178,
3985 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
3986 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
3987 0, 179, 87, 88, 89, 90, 0, 91, 92, 0,
3988 93, 180, 95, 0, 0, 0, 97, 0, 0, 98,
3989 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
3990 102, 103, 104, 0, 0, 105, 181, 0, 0, 0,
3991 0, 109, 110, 0, 111, 112, 5, 6, 7, 8,
3992 9, 0, 0, 0, 0, 0, 10, 454, 455, 456,
3993 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
3994 467, 468, 469, 470, 0, 471, 0, 0, 0, 0,
3995 0, 1451, 0, 0, 0, 0, 0, 472, 0, 0,
3996 0, 0, 0, 15, 16, 0, 0, 0, 0, 17,
3997 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3998 27, 28, 0, 29, 30, 31, 32, 0, 0, 0,
3999 0, 34, 35, 36, 37, 38, 39, 40, 0, 0,
4000 0, 0, 0, 0, 43, 0, 0, 0, 0, 0,
4001 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
4002 0, 0, 0, 0, 55, 0, 0, 0, 0, 0,
4003 0, 0, 62, 63, 64, 175, 176, 177, 0, 0,
4004 69, 70, 0, 0, 0, 0, 0, 0, 0, 0,
4005 178, 75, 76, 77, 78, 0, 79, 80, 81, 82,
4006 83, 0, 0, 0, 0, 0, 0, 85, 0, 0,
4007 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
4008 0, 93, 180, 95, 0, 0, 0, 97, 0, 0,
4009 98, 0, 0, 0, 0, 0, 99, 0, 0, 0,
4010 0, 102, 103, 104, 0, 0, 105, 181, 443, 444,
4011 445, 0, 109, 110, 0, 111, 112, 5, 6, 7,
4012 8, 9, 0, 0, 0, 0, 0, 10, 446, 447,
4013 1392, 448, 449, 450, 451, 452, 453, 454, 455, 456,
4014 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
4015 467, 468, 469, 470, 0, 471, 0, 0, 0, 0,
4016 0, 0, 0, 0, 15, 16, 0, 472, 0, 0,
4017 17, 0, 18, 19, 20, 21, 22, 23, 24, 25,
4018 26, 27, 28, 0, 29, 30, 31, 32, 0, 0,
4019 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
4020 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
4021 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
4022 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
4023 0, 0, 0, 62, 63, 64, 175, 176, 177, 0,
4024 0, 69, 70, 0, 0, 0, 0, 0, 0, 0,
4025 0, 178, 75, 76, 77, 78, 0, 79, 80, 81,
4026 82, 83, 0, 0, 0, 0, 0, 0, 85, 0,
4027 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
4028 92, 0, 93, 180, 95, 0, 0, 0, 97, 0,
4029 0, 98, 0, 0, 1393, 0, 0, 99, 0, 0,
4030 0, 0, 102, 103, 104, 0, 0, 105, 181, 443,
4031 444, 445, 0, 109, 110, 0, 111, 112, 5, 6,
4032 7, 8, 9, 0, 0, 0, 0, 0, 10, 446,
4033 447, 958, 448, 449, 450, 451, 452, 453, 454, 455,
4034 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
4035 466, 467, 468, 469, 470, 0, 471, 0, 0, 0,
4036 0, 0, 0, 0, 0, 15, 16, 0, 472, 0,
4037 0, 17, 0, 18, 19, 20, 21, 22, 23, 24,
4038 25, 26, 27, 28, 0, 29, 30, 31, 32, 0,
4039 0, 0, 0, 34, 35, 36, 37, 630, 39, 40,
4040 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
4041 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
4042 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
4043 0, 0, 0, 0, 62, 63, 64, 175, 176, 177,
4044 0, 0, 69, 70, 0, 0, 0, 0, 0, 0,
4045 0, 0, 178, 75, 76, 77, 78, 0, 79, 80,
4046 81, 82, 83, 0, 0, 0, 0, 0, 0, 85,
4047 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
4048 91, 92, 0, 93, 180, 95, 0, 267, 268, 97,
4049 269, 270, 98, 0, 271, 272, 273, 274, 99, 0,
4050 0, 0, 0, 102, 103, 104, 0, 0, 105, 181,
4051 0, 275, 0, 276, 109, 110, 0, 111, 112, -1041,
4052 -1041, -1041, -1041, 458, 459, 460, 461, 462, 463, 464,
4053 465, 466, 467, 468, 469, 470, 0, 471, 0, 0,
4054 0, 278, 0, 0, 0, 0, 0, 0, 0, 472,
4055 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
4056 285, 286, 0, 0, 0, 210, 0, 211, 40, 0,
4057 0, 0, 0, 0, 0, 0, 287, 288, 289, 290,
4058 291, 292, 293, 294, 295, 296, 297, 50, 298, 299,
4059 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
4060 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
4061 320, 0, 321, 0, 731, 323, 324, 325, 0, 0,
4062 0, 326, 572, 214, 215, 216, 573, 0, 0, 0,
4063 0, 0, 267, 268, 0, 269, 270, 0, 0, 271,
4064 272, 273, 274, 574, 0, 0, 0, 0, 0, 91,
4065 92, 0, 93, 180, 95, 331, 275, 332, 276, 0,
4066 333, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4067 0, 0, 0, 0, 0, 0, 0, 105, 0, 0,
4068 0, 732, 0, 109, 0, 0, 278, 0, 0, 0,
4069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4070 280, 281, 282, 283, 284, 285, 286, 0, 0, 0,
4071 210, 0, 211, 40, 0, 0, 0, 0, 0, 0,
4072 0, 287, 288, 289, 290, 291, 292, 293, 294, 295,
4073 296, 297, 50, 298, 299, 300, 301, 302, 303, 304,
4074 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
4075 315, 316, 317, 318, 319, 320, 0, 321, 0, 322,
4076 323, 324, 325, 0, 0, 0, 326, 572, 214, 215,
4077 216, 573, 0, 0, 0, 0, 0, 0, 0, 0,
4078 0, 0, 267, 268, 0, 269, 270, 0, 574, 271,
4079 272, 273, 274, 0, 91, 92, 0, 93, 180, 95,
4080 331, 0, 332, 0, 0, 333, 275, 0, 276, 0,
4081 277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4082 0, 0, 105, 0, 0, 0, 732, 0, 109, 0,
4083 0, 0, 0, 0, 0, 0, 278, 0, 279, 0,
4084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4085 280, 281, 282, 283, 284, 285, 286, 0, 0, 0,
4086 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4087 0, 287, 288, 289, 290, 291, 292, 293, 294, 295,
4088 296, 297, 50, 298, 299, 300, 301, 302, 303, 304,
4089 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
4090 315, 316, 317, 318, 319, 320, 0, 321, 0, 0,
4091 323, 324, 325, 0, 0, 0, 326, 327, 214, 215,
4092 216, 328, 0, 0, 0, 0, 0, 0, 0, 0,
4093 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
4094 0, 89, 330, 0, 91, 92, 0, 93, 180, 95,
4095 331, 0, 332, 0, 0, 333, 267, 268, 0, 269,
4096 270, 0, 334, 271, 272, 273, 274, 0, 0, 0,
4097 0, 0, 105, 335, 0, 0, 0, 1723, 0, 0,
4098 275, 0, 276, 447, 277, 448, 449, 450, 451, 452,
4099 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
4100 463, 464, 465, 466, 467, 468, 469, 470, 0, 471,
4101 278, 0, 279, 0, 0, 0, 0, 0, 0, 0,
4102 0, 472, 0, 0, 280, 281, 282, 283, 284, 285,
4103 286, 0, 0, 0, 210, 0, 0, 0, 0, 0,
4104 0, 0, 0, 0, 0, 287, 288, 289, 290, 291,
4105 292, 293, 294, 295, 296, 297, 50, 298, 299, 300,
4106 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
4107 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
4108 0, 321, 0, 0, 323, 324, 325, 0, 0, 0,
4109 326, 327, 214, 215, 216, 328, 0, 0, 0, 0,
4110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4111 0, 0, 329, 0, 0, 89, 330, 0, 91, 92,
4112 0, 93, 180, 95, 331, 0, 332, 0, 0, 333,
4113 267, 268, 0, 269, 270, 0, 334, 271, 272, 273,
4114 274, 0, 0, 0, 0, 0, 105, 335, 0, 0,
4115 0, 1793, 0, 0, 275, 0, 276, 0, 277, 448,
4116 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
4117 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
4118 469, 470, 0, 471, 278, 0, 279, 0, 0, 0,
4119 0, 0, 0, 0, 0, 472, 0, 0, 280, 281,
4120 282, 283, 284, 285, 286, 0, 0, 0, 210, 0,
4121 0, 0, 0, 0, 0, 0, 0, 0, 0, 287,
4122 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
4123 50, 298, 299, 300, 301, 302, 303, 304, 305, 306,
4124 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
4125 317, 318, 319, 320, 0, 321, 0, 322, 323, 324,
4126 325, 0, 0, 0, 326, 327, 214, 215, 216, 328,
4127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4128 0, 0, 0, 0, 0, 0, 329, 0, 0, 89,
4129 330, 0, 91, 92, 0, 93, 180, 95, 331, 0,
4130 332, 0, 0, 333, 267, 268, 0, 269, 270, 0,
4131 334, 271, 272, 273, 274, 0, 0, 0, 0, 0,
4132 105, 335, 0, 0, 0, 0, 0, 0, 275, 0,
4133 276, 0, 277, 1078, 1079, 1080, 1081, 1082, 1083, 1084,
4134 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
4135 0, 0, 0, 0, 0, 0, 0, 0, 278, 0,
4136 279, 0, 0, 1095, 0, 0, 0, 0, 0, 0,
4137 0, 0, 280, 281, 282, 283, 284, 285, 286, 0,
4138 0, 0, 210, 0, 0, 0, 0, 0, 0, 0,
4139 0, 0, 0, 287, 288, 289, 290, 291, 292, 293,
4140 294, 295, 296, 297, 50, 298, 299, 300, 301, 302,
4141 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
4142 313, 314, 315, 316, 317, 318, 319, 320, 0, 321,
4143 0, 0, 323, 324, 325, 0, 0, 0, 326, 327,
4144 214, 215, 216, 328, 0, 0, 0, 0, 0, 0,
4145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4146 329, 0, 0, 89, 330, 0, 91, 92, 0, 93,
4147 180, 95, 331, 0, 332, 0, 0, 333, 0, 267,
4148 268, 0, 269, 270, 334, 1526, 271, 272, 273, 274,
4149 0, 0, 0, 0, 105, 335, 0, 0, 0, 0,
4150 0, 0, 0, 275, 0, 276, 0, 277, -1041, -1041,
4151 -1041, -1041, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089,
4152 1090, 1091, 1092, 1093, 1094, 0, 0, 0, 0, 0,
4153 0, 0, 0, 278, 0, 279, 0, 0, 1095, 0,
4154 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
4155 283, 284, 285, 286, 0, 0, 0, 210, 0, 0,
4156 0, 0, 0, 0, 0, 0, 0, 0, 287, 288,
4157 289, 290, 291, 292, 293, 294, 295, 296, 297, 50,
4158 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
4159 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
4160 318, 319, 320, 0, 321, 0, 0, 323, 324, 325,
4161 0, 0, 0, 326, 327, 214, 215, 216, 328, 0,
4162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4163 0, 0, 0, 0, 0, 329, 0, 0, 89, 330,
4164 0, 91, 92, 0, 93, 180, 95, 331, 0, 332,
4165 0, 0, 333, 1623, 1624, 1625, 1626, 1627, 0, 334,
4166 1628, 1629, 1630, 1631, 0, 0, 0, 0, 0, 105,
4167 335, 0, 0, 0, 0, 0, 0, 1632, 1633, 1634,
4168 0, 446, 447, 0, 448, 449, 450, 451, 452, 453,
4169 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
4170 464, 465, 466, 467, 468, 469, 470, 1635, 471, 0,
4171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4172 472, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 0, 0,
4173 0, 210, 0, 0, 0, 0, 0, 0, 0, 0,
4174 0, 0, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
4175 1651, 1652, 1653, 50, 1654, 1655, 1656, 1657, 1658, 1659,
4176 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669,
4177 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679,
4178 1680, 1681, 1682, 1683, 0, 0, 0, 1684, 1685, 214,
4179 215, 216, 0, 1686, 1687, 1688, 1689, 1690, 0, 0,
4180 0, 0, 0, 0, 0, 0, 0, 0, 0, 1691,
4181 1692, 1693, 0, 0, 0, 91, 92, 0, 93, 180,
4182 95, 1694, 0, 1695, 1696, 0, 1697, 0, 0, 0,
4183 0, 0, 0, 1698, 1699, 0, 1700, 0, 1701, 1702,
4184 0, 267, 268, 105, 269, 270, 1070, 1071, 271, 272,
4185 273, 274, 0, 0, 0, 0, 0, 0, 0, 0,
4186 0, 0, 0, 0, 0, 275, 1072, 276, 0, 1073,
4187 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
4188 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
4189 1094, 0, 0, 0, 0, 278, 0, 0, 0, 0,
4190 0, 0, 0, 0, 1095, 0, 0, 0, 0, 280,
4191 281, 282, 283, 284, 285, 286, 0, 0, 0, 210,
4192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4193 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
4194 297, 50, 298, 299, 300, 301, 302, 303, 304, 305,
4195 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
4196 316, 317, 318, 319, 320, 0, 321, 0, 322, 323,
4197 324, 325, 0, 0, 0, 326, 572, 214, 215, 216,
4198 573, 0, 0, 0, 0, 0, 267, 268, 0, 269,
4199 270, 0, 0, 271, 272, 273, 274, 574, 0, 0,
4200 0, 0, 0, 91, 92, 0, 93, 180, 95, 331,
4201 275, 332, 276, 0, 333, 0, 0, 0, 0, 0,
4202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4203 0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
4204 278, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4205 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
4206 286, 0, 0, 0, 210, 0, 0, 0, 0, 0,
4207 0, 0, 0, 0, 0, 287, 288, 289, 290, 291,
4208 292, 293, 294, 295, 296, 297, 50, 298, 299, 300,
4209 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
4210 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
4211 0, 321, 0, 1258, 323, 324, 325, 0, 0, 0,
4212 326, 572, 214, 215, 216, 573, 0, 0, 0, 0,
4213 0, 267, 268, 0, 269, 270, 0, 0, 271, 272,
4214 273, 274, 574, 0, 0, 0, 0, 0, 91, 92,
4215 0, 93, 180, 95, 331, 275, 332, 276, 0, 333,
4216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4217 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
4218 0, 0, 0, 0, 0, 278, 0, 0, 0, 0,
4219 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
4220 281, 282, 283, 284, 285, 286, 0, 0, 0, 210,
4221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4222 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
4223 297, 50, 298, 299, 300, 301, 302, 303, 304, 305,
4224 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
4225 316, 317, 318, 319, 320, 0, 321, 0, 0, 323,
4226 324, 325, 0, 0, 0, 326, 572, 214, 215, 216,
4227 573, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4228 0, 0, 0, 0, 0, 0, 0, 574, 0, 0,
4229 0, 0, 0, 91, 92, 0, 93, 180, 95, 331,
4230 0, 332, 0, 0, 333, 443, 444, 445, 0, 0,
4231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4232 0, 105, 0, 0, 0, 446, 447, 0, 448, 449,
4233 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
4234 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
4235 470, 0, 471, 443, 444, 445, 0, 0, 0, 0,
4236 0, 0, 0, 0, 472, 0, 0, 0, 0, 0,
4237 0, 0, 0, 446, 447, 0, 448, 449, 450, 451,
4238 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
4239 462, 463, 464, 465, 466, 467, 468, 469, 470, 0,
4240 471, 443, 444, 445, 0, 0, 0, 0, 0, 0,
4241 0, 0, 472, 0, 0, 0, 0, 0, 0, 0,
4242 0, 446, 447, 0, 448, 449, 450, 451, 452, 453,
4243 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
4244 464, 465, 466, 467, 468, 469, 470, 0, 471, 0,
4245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4246 472, 0, 0, 0, 0, 0, 0, 0, 0, 443,
4247 444, 445, 0, 0, 0, 0, 0, 0, 0, 0,
4248 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,
4249 447, 473, 448, 449, 450, 451, 452, 453, 454, 455,
4250 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
4251 466, 467, 468, 469, 470, 0, 471, 443, 444, 445,
4252 0, 0, 0, 0, 0, 0, 0, 0, 472, 0,
4253 0, 0, 0, 0, 0, 0, 0, 446, 447, 558,
4254 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
4255 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
4256 468, 469, 470, 0, 471, 443, 444, 445, 0, 0,
4257 0, 0, 0, 0, 0, 0, 472, 0, 0, 0,
4258 0, 0, 0, 0, 0, 446, 447, 560, 448, 449,
4259 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
4260 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
4261 470, 0, 471, 0, 0, 0, 0, 0, 0, 0,
4262 0, 0, 0, 0, 472, 0, 0, 0, 0, 0,
4263 0, 0, 0, 443, 444, 445, 0, 0, 0, 0,
4264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4265 0, 277, 0, 446, 447, 579, 448, 449, 450, 451,
4266 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
4267 462, 463, 464, 465, 466, 467, 468, 469, 470, 279,
4268 471, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4269 0, 0, 472, 1266, 0, 0, 0, 0, 0, 0,
4270 0, 210, 0, 583, 0, 0, 0, 0, 0, 0,
4271 0, 829, 830, 0, 0, 0, 0, 831, 0, 832,
4272 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
4273 0, 833, 0, 0, 0, 0, 0, 0, 0, 34,
4274 35, 36, 210, 0, 0, 0, 0, 0, 0, 0,
4275 777, 0, 212, 0, 0, 0, 0, 0, 561, 214,
4276 215, 216, 562, 0, 50, 0, 0, 0, 0, 0,
4277 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
4278 0, 0, 89, 330, 0, 91, 92, 0, 93, 180,
4279 95, 0, 0, 0, 0, 0, 0, 0, 0, 834,
4280 835, 836, 837, 334, 79, 80, 81, 82, 83, 0,
4281 0, 0, 0, 105, 335, 217, 1028, 0, 800, 0,
4282 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
4283 180, 95, 0, 0, 0, 97, 0, 0, 0, 0,
4284 0, 0, 0, 0, 838, 0, 0, 0, 29, 102,
4285 0, 0, 0, 0, 105, 839, 34, 35, 36, 210,
4286 0, 211, 40, 0, 0, 0, 0, 0, 0, 212,
4287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4288 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
4289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4290 0, 0, 213, 0, 0, 0, 0, 0, 0, 0,
4291 0, 0, 0, 0, 0, 1029, 75, 214, 215, 216,
4292 0, 79, 80, 81, 82, 83, 0, 0, 0, 0,
4293 0, 0, 217, 0, 0, 0, 0, 179, 87, 88,
4294 89, 90, 0, 91, 92, 0, 93, 180, 95, 0,
4295 829, 830, 97, 0, 0, 0, 831, 0, 832, 0,
4296 0, 0, 0, 0, 0, 0, 102, 0, 0, 0,
4297 833, 105, 218, 0, 0, 0, 0, 109, 34, 35,
4298 36, 210, 0, 1069, 1070, 1071, 0, 0, 0, 0,
4299 0, 212, 0, 0, 0, 0, 0, 0, 0, 0,
4300 0, 0, 0, 50, 1072, 0, 0, 1073, 1074, 1075,
4301 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
4302 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 0,
4303 0, 0, 0, 0, 0, 0, 0, 0, 834, 835,
4304 836, 837, 1095, 79, 80, 81, 82, 83, 0, 0,
4305 0, 0, 0, 0, 217, 0, 0, 0, 0, 179,
4306 87, 88, 89, 90, 0, 91, 92, 0, 93, 180,
4307 95, 29, 0, 0, 97, 0, 0, 0, 0, 34,
4308 35, 36, 210, 838, 211, 40, 0, 0, 102, 0,
4309 0, 0, 212, 105, 839, 0, 0, 0, 0, 0,
4310 0, 0, 0, 0, 50, 0, 0, 0, 0, 1242,
4311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4312 0, 0, 0, 0, 0, 213, 0, 0, 0, 0,
4313 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
4314 214, 215, 216, 0, 79, 80, 81, 82, 83, 0,
4315 0, 0, 0, 0, 0, 217, 0, 0, 0, 0,
4316 179, 87, 88, 89, 90, 0, 91, 92, 0, 93,
4317 180, 95, 29, 0, 0, 97, 0, 0, 0, 0,
4318 34, 35, 36, 210, 0, 211, 40, 0, 0, 102,
4319 0, 0, 0, 212, 105, 218, 0, 0, 595, 0,
4320 109, 0, 0, 0, 0, 50, 0, 0, 0, 0,
4321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4322 0, 0, 0, 0, 0, 0, 213, 0, 0, 0,
4323 0, 0, 0, 0, 0, 0, 0, 0, 0, 615,
4324 75, 214, 215, 216, 0, 79, 80, 81, 82, 83,
4325 0, 0, 0, 0, 0, 0, 217, 0, 0, 0,
4326 0, 179, 87, 88, 89, 90, 0, 91, 92, 0,
4327 93, 180, 95, 29, 0, 975, 97, 0, 0, 0,
4328 0, 34, 35, 36, 210, 0, 211, 40, 0, 0,
4329 102, 0, 0, 0, 212, 105, 218, 0, 0, 0,
4330 0, 109, 0, 0, 0, 0, 50, 0, 0, 0,
4331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4332 0, 0, 0, 0, 0, 0, 0, 213, 0, 0,
4333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4334 0, 75, 214, 215, 216, 0, 79, 80, 81, 82,
4335 83, 0, 0, 0, 0, 0, 0, 217, 0, 0,
4336 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
4337 0, 93, 180, 95, 29, 0, 0, 97, 0, 0,
4338 0, 0, 34, 35, 36, 210, 0, 211, 40, 0,
4339 0, 102, 0, 0, 0, 212, 105, 218, 0, 0,
4340 0, 0, 109, 0, 0, 0, 0, 50, 0, 0,
4341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4342 0, 0, 0, 0, 0, 0, 0, 0, 213, 0,
4343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4344 0, 1123, 75, 214, 215, 216, 0, 79, 80, 81,
4345 82, 83, 0, 0, 0, 0, 0, 0, 217, 0,
4346 0, 0, 0, 179, 87, 88, 89, 90, 0, 91,
4347 92, 0, 93, 180, 95, 29, 0, 0, 97, 0,
4348 0, 0, 0, 34, 35, 36, 210, 0, 211, 40,
4349 0, 0, 102, 0, 0, 0, 212, 105, 218, 0,
4350 0, 0, 0, 109, 0, 0, 0, 0, 50, 0,
4351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4352 0, 0, 0, 0, 0, 0, 0, 0, 0, 213,
4353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4354 0, 0, 0, 75, 214, 215, 216, 0, 79, 80,
4355 81, 82, 83, 0, 0, 0, 0, 0, 0, 217,
4356 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
4357 91, 92, 0, 93, 180, 95, 0, 0, 0, 97,
4358 0, 0, 443, 444, 445, 0, 0, 0, 0, 0,
4359 0, 0, 0, 102, 0, 0, 0, 0, 105, 218,
4360 0, 0, 446, 447, 109, 448, 449, 450, 451, 452,
4361 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
4362 463, 464, 465, 466, 467, 468, 469, 470, 0, 471,
4363 443, 444, 445, 0, 0, 0, 0, 0, 0, 0,
4364 0, 472, 0, 0, 0, 0, 0, 0, 0, 0,
4365 446, 447, 0, 448, 449, 450, 451, 452, 453, 454,
4366 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
4367 465, 466, 467, 468, 469, 470, 0, 471, 0, 0,
4368 0, 0, 0, 0, 0, 0, 443, 444, 445, 472,
4369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4370 0, 0, 0, 0, 0, 0, 446, 447, 519, 448,
4371 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
4372 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
4373 469, 470, 0, 471, 443, 444, 445, 0, 0, 0,
4374 0, 0, 0, 0, 0, 472, 0, 0, 0, 0,
4375 0, 0, 0, 0, 446, 447, 528, 448, 449, 450,
4376 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
4377 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
4378 0, 471, 0, 0, 0, 0, 0, 0, 0, 0,
4379 443, 444, 445, 472, 0, 0, 0, 0, 0, 0,
4380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4381 446, 447, 895, 448, 449, 450, 451, 452, 453, 454,
4382 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
4383 465, 466, 467, 468, 469, 470, 0, 471, 443, 444,
4384 445, 0, 0, 0, 0, 0, 0, 0, 0, 472,
4385 0, 0, 0, 0, 0, 0, 0, 0, 446, 447,
4386 961, 448, 449, 450, 451, 452, 453, 454, 455, 456,
4387 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
4388 467, 468, 469, 470, 0, 471, 0, 0, 0, 0,
4389 0, 0, 0, 0, 443, 444, 445, 472, 0, 0,
4390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4391 0, 0, 0, 0, 446, 447, 1013, 448, 449, 450,
4392 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
4393 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
4394 0, 471, 1069, 1070, 1071, 0, 0, 0, 0, 0,
4395 0, 0, 0, 472, 0, 0, 0, 0, 0, 0,
4396 0, 0, 0, 1072, 1312, 0, 1073, 1074, 1075, 1076,
4397 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
4398 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 0, 0,
4399 0, 0, 0, 0, 0, 0, 0, 1069, 1070, 1071,
4400 0, 1095, 0, 0, 0, 0, 0, 0, 0, 0,
4401 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0,
4402 1343, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
4403 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
4404 1092, 1093, 1094, 0, 0, 1069, 1070, 1071, 0, 0,
4405 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
4406 0, 0, 0, 0, 0, 0, 1072, 0, 1408, 1073,
4407 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
4408 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
4409 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4410 1069, 1070, 1071, 0, 1095, 0, 0, 0, 0, 0,
4411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4412 0, 1072, 0, 1417, 1073, 1074, 1075, 1076, 1077, 1078,
4413 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088,
4414 1089, 1090, 1091, 1092, 1093, 1094, 0, 0, 1069, 1070,
4415 1071, 0, 0, 0, 0, 0, 0, 0, 0, 1095,
4416 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072,
4417 0, 1512, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
4418 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
4419 1091, 1092, 1093, 1094, 0, 34, 35, 36, 210, 0,
4420 211, 40, 0, 0, 0, 0, 0, 1095, 212, 0,
4421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4422 50, 0, 0, 0, 0, 0, 1604, 0, 0, 0,
4423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4424 0, 232, 0, 0, 0, 0, 0, 233, 0, 0,
4425 0, 0, 0, 0, 0, 0, 214, 215, 216, 0,
4426 79, 80, 81, 82, 83, 0, 0, 0, 0, 0,
4427 0, 217, 0, 0, 1606, 0, 179, 87, 88, 89,
4428 90, 0, 91, 92, 0, 93, 180, 95, 0, 0,
4429 0, 97, 0, 34, 35, 36, 210, 0, 211, 40,
4430 0, 0, 0, 0, 0, 102, 644, 0, 0, 0,
4431 105, 234, 0, 0, 0, 0, 109, 0, 50, 0,
4432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4433 0, 0, 0, 0, 0, 0, 0, 0, 0, 213,
4434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4435 0, 0, 0, 0, 214, 215, 216, 0, 79, 80,
4436 81, 82, 83, 0, 0, 0, 0, 0, 0, 217,
4437 0, 0, 0, 0, 179, 87, 88, 89, 90, 0,
4438 91, 92, 0, 93, 180, 95, 0, 0, 0, 97,
4439 0, 34, 35, 36, 210, 0, 211, 40, 0, 0,
4440 0, 0, 0, 102, 212, 0, 0, 0, 105, 645,
4441 0, 0, 0, 0, 646, 0, 50, 0, 0, 0,
4442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4443 0, 0, 0, 0, 0, 0, 0, 232, 0, 0,
4444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4445 0, 0, 214, 215, 216, 0, 79, 80, 81, 82,
4446 83, 0, 0, 0, 0, 0, 0, 217, 0, 0,
4447 0, 0, 179, 87, 88, 89, 90, 0, 91, 92,
4448 0, 93, 180, 95, 0, 0, 0, 97, 0, 0,
4449 443, 444, 445, 0, 0, 0, 0, 0, 0, 0,
4450 0, 102, 0, 0, 0, 0, 105, 234, 0, 0,
4451 446, 447, 109, 448, 449, 450, 451, 452, 453, 454,
4452 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
4453 465, 466, 467, 468, 469, 470, 0, 471, 1069, 1070,
4454 1071, 0, 0, 0, 0, 0, 0, 0, 0, 472,
4455 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072,
4456 1422, 0, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
4457 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
4458 1091, 1092, 1093, 1094, 1069, 1070, 1071, 0, 0, 0,
4459 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
4460 0, 0, 0, 0, 0, 1072, 0, 0, 1073, 1074,
4461 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084,
4462 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
4463 445, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4464 0, 0, 0, 1095, 0, 0, 0, 0, 446, 447,
4465 0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
4466 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
4467 467, 468, 469, 470, 1071, 471, 0, 0, 0, 0,
4468 0, 0, 0, 0, 0, 0, 0, 472, 0, 0,
4469 0, 0, 0, 1072, 0, 0, 1073, 1074, 1075, 1076,
4470 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
4471 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 0, 0,
4472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4473 0, 1095
4476 static const yytype_int16 yycheck[] =
4478 5, 6, 127, 8, 9, 10, 11, 12, 13, 157,
4479 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
4480 25, 26, 56, 106, 29, 30, 96, 183, 31, 661,
4481 100, 101, 4, 33, 4, 31, 513, 658, 4, 44,
4482 4, 1148, 741, 397, 162, 397, 46, 52, 57, 54,
4483 235, 51, 57, 532, 59, 687, 126, 31, 657, 184,
4484 934, 1303, 157, 544, 811, 923, 471, 589, 590, 106,
4485 637, 351, 352, 106, 507, 508, 503, 60, 503, 84,
4486 818, 106, 1135, 1027, 9, 789, 954, 9, 57, 31,
4487 9, 9, 246, 44, 32, 9, 14, 9, 56, 580,
4488 14, 106, 970, 86, 230, 538, 89, 9, 9, 49,
4489 9, 9, 83, 540, 9, 540, 9, 9, 9, 9,
4490 9, 14, 4, 9, 36, 9, 9, 32, 9, 247,
4491 9, 83, 9, 84, 9, 9, 70, 70, 9, 9,
4492 50, 51, 49, 49, 181, 102, 1014, 70, 181, 70,
4493 106, 107, 4, 106, 107, 83, 181, 102, 54, 90,
4494 14, 158, 49, 83, 162, 158, 70, 134, 135, 4,
4495 1737, 115, 57, 179, 194, 102, 181, 49, 659, 0,
4496 38, 218, 1144, 188, 69, 218, 179, 164, 194, 102,
4497 103, 179, 38, 218, 38, 38, 38, 234, 196, 197,
4498 197, 234, 134, 135, 70, 162, 194, 1065, 70, 70,
4499 70, 134, 135, 218, 70, 70, 194, 162, 53, 190,
4500 197, 56, 70, 70, 155, 83, 197, 1794, 382, 234,
4501 158, 198, 176, 865, 70, 162, 70, 83, 73, 83,
4502 83, 83, 198, 248, 70, 198, 251, 199, 102, 103,
4503 70, 191, 172, 258, 259, 195, 70, 70, 196, 94,
4504 194, 96, 194, 197, 197, 100, 101, 163, 1433, 973,
4505 180, 196, 197, 194, 196, 127, 195, 433, 196, 1223,
4506 252, 1523, 196, 195, 256, 54, 179, 1340, 195, 195,
4507 194, 126, 197, 195, 1347, 196, 1349, 196, 196, 1037,
4508 195, 1039, 158, 196, 196, 196, 196, 196, 195, 343,
4509 196, 1179, 196, 196, 172, 196, 83, 196, 195, 191,
4510 195, 195, 803, 1376, 195, 195, 172, 808, 172, 172,
4511 951, 197, 184, 194, 371, 197, 197, 197, 371, 861,
4512 862, 197, 197, 1201, 158, 912, 371, 194, 83, 197,
4513 197, 70, 38, 81, 194, 27, 28, 427, 194, 515,
4514 485, 197, 197, 197, 102, 370, 371, 1532, 351, 352,
4515 353, 197, 377, 378, 379, 380, 1338, 197, 83, 84,
4516 385, 194, 195, 197, 779, 343, 14, 4, 134, 135,
4517 424, 1556, 70, 1558, 163, 8, 522, 83, 194, 404,
4518 83, 84, 130, 486, 32, 172, 389, 412, 90, 178,
4519 480, 481, 482, 483, 891, 134, 135, 252, 423, 370,
4520 179, 256, 122, 51, 162, 260, 123, 1480, 379, 380,
4521 130, 83, 70, 130, 1133, 194, 194, 172, 443, 444,
4522 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
4523 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
4524 465, 466, 467, 468, 469, 470, 424, 472, 471, 474,
4525 475, 476, 1219, 155, 194, 471, 197, 486, 197, 31,
4526 194, 486, 487, 488, 489, 490, 491, 492, 493, 494,
4527 495, 496, 497, 498, 199, 621, 622, 471, 50, 504,
4528 505, 53, 507, 508, 509, 510, 194, 1469, 343, 1471,
4529 664, 516, 666, 940, 519, 940, 199, 486, 158, 477,
4530 172, 403, 648, 528, 194, 530, 158, 675, 83, 471,
4531 194, 158, 70, 538, 967, 477, 194, 546, 194, 83,
4532 157, 546, 1163, 548, 83, 1166, 90, 179, 1147, 734,
4533 164, 90, 83, 1034, 194, 227, 1414, 70, 179, 411,
4534 158, 503, 194, 177, 70, 197, 70, 194, 526, 923,
4535 975, 923, 31, 194, 163, 855, 411, 857, 194, 551,
4536 675, 179, 767, 197, 526, 420, 1108, 743, 179, 424,
4537 595, 50, 427, 988, 53, 537, 134, 135, 540, 197,
4538 155, 156, 157, 194, 730, 197, 589, 590, 645, 31,
4539 158, 32, 156, 157, 162, 1577, 162, 156, 157, 1581,
4540 158, 50, 51, 693, 194, 156, 157, 75, 76, 783,
4541 784, 179, 484, 196, 83, 196, 790, 791, 1496, 38,
4542 645, 90, 477, 478, 479, 480, 481, 482, 483, 1348,
4543 53, 54, 55, 196, 4, 840, 194, 70, 202, 81,
4544 83, 196, 1904, 196, 203, 850, 69, 90, 503, 91,
4545 75, 76, 790, 196, 111, 132, 133, 27, 28, 196,
4546 685, 103, 119, 120, 121, 122, 123, 124, 360, 196,
4547 197, 526, 70, 698, 820, 27, 28, 369, 196, 825,
4548 70, 475, 1181, 70, 376, 540, 155, 156, 157, 196,
4549 197, 1065, 70, 1065, 386, 197, 551, 139, 140, 141,
4550 158, 1342, 83, 194, 171, 397, 194, 732, 1327, 90,
4551 504, 83, 155, 156, 157, 509, 571, 159, 90, 1172,
4552 162, 351, 352, 165, 166, 1222, 168, 169, 170, 1448,
4553 1183, 81, 189, 119, 120, 121, 106, 762, 593, 594,
4554 70, 887, 158, 119, 120, 121, 122, 123, 124, 1768,
4555 1769, 193, 83, 103, 1736, 1882, 658, 194, 1740, 90,
4556 119, 120, 121, 122, 123, 124, 1764, 1765, 779, 1896,
4557 795, 626, 627, 162, 411, 156, 157, 105, 106, 107,
4558 1195, 1196, 1197, 1198, 156, 157, 811, 807, 1203, 139,
4559 140, 141, 1293, 105, 106, 107, 14, 15, 16, 17,
4560 18, 19, 20, 21, 22, 23, 24, 25, 26, 48,
4561 1307, 181, 162, 189, 1533, 165, 166, 196, 168, 169,
4562 170, 513, 827, 828, 816, 156, 157, 1201, 69, 1201,
4563 189, 110, 111, 112, 179, 158, 194, 196, 693, 194,
4564 1481, 201, 9, 193, 158, 158, 194, 197, 218, 67,
4565 68, 8, 855, 196, 857, 194, 158, 227, 861, 862,
4566 863, 14, 1008, 158, 234, 53, 54, 55, 197, 57,
4567 895, 196, 897, 9, 899, 227, 196, 1378, 196, 130,
4568 130, 69, 252, 908, 974, 14, 256, 195, 179, 14,
4569 102, 1344, 195, 1394, 1876, 195, 195, 922, 195, 119,
4570 120, 121, 122, 123, 124, 194, 200, 1053, 111, 1891,
4571 130, 131, 194, 194, 1060, 9, 134, 135, 155, 911,
4572 195, 911, 195, 948, 779, 911, 781, 911, 195, 801,
4573 397, 195, 94, 958, 9, 196, 961, 14, 963, 179,
4574 194, 1356, 967, 1358, 9, 194, 801, 195, 926, 1154,
4575 197, 171, 975, 196, 1848, 197, 83, 132, 196, 975,
4576 815, 816, 195, 195, 926, 196, 194, 201, 195, 189,
4577 9, 9, 201, 70, 1868, 201, 938, 195, 940, 32,
4578 852, 975, 133, 1877, 178, 158, 136, 9, 1013, 195,
4579 360, 14, 684, 158, 191, 9, 9, 852, 1499, 369,
4580 1020, 371, 180, 195, 859, 860, 376, 1508, 360, 911,
4581 477, 9, 14, 975, 1467, 132, 386, 369, 201, 371,
4582 1521, 201, 1125, 9, 376, 201, 198, 14, 194, 1021,
4583 201, 195, 934, 888, 386, 195, 503, 158, 675, 911,
4584 1414, 411, 1414, 195, 102, 9, 91, 1193, 196, 951,
4585 196, 136, 744, 1015, 158, 9, 911, 195, 70, 526,
4586 932, 50, 51, 52, 53, 54, 55, 70, 57, 70,
4587 537, 926, 1487, 540, 1489, 194, 1491, 932, 383, 1494,
4588 69, 194, 387, 938, 198, 940, 197, 9, 14, 1067,
4589 4, 196, 180, 785, 9, 787, 1125, 1598, 197, 201,
4590 1125, 14, 1248, 14, 197, 1108, 1252, 196, 413, 1255,
4591 415, 416, 417, 418, 195, 191, 1262, 14, 14, 974,
4592 32, 813, 1496, 194, 1496, 50, 51, 52, 53, 54,
4593 55, 986, 987, 988, 1159, 49, 1788, 194, 32, 194,
4594 1132, 70, 1132, 513, 69, 194, 1132, 1172, 1132, 52,
4595 194, 1023, 70, 1025, 70, 9, 196, 194, 1183, 1184,
4596 1015, 513, 158, 195, 801, 196, 1021, 194, 1023, 136,
4597 1025, 14, 180, 1588, 136, 9, 195, 69, 9, 83,
4598 201, 551, 198, 875, 9, 1196, 1197, 1198, 198, 196,
4599 1045, 1211, 1203, 136, 1219, 194, 196, 194, 112, 891,
4600 892, 14, 83, 117, 1229, 119, 120, 121, 122, 123,
4601 124, 125, 1067, 195, 1866, 852, 197, 1363, 194, 194,
4602 197, 1367, 1214, 27, 28, 195, 1372, 136, 197, 201,
4603 1132, 923, 9, 1734, 91, 196, 155, 197, 32, 77,
4604 196, 1096, 195, 1744, 196, 180, 136, 4, 32, 195,
4605 1902, 165, 166, 195, 168, 9, 201, 201, 9, 136,
4606 1132, 1163, 201, 9, 1166, 195, 198, 9, 195, 14,
4607 198, 83, 196, 196, 911, 189, 197, 1132, 195, 9,
4608 136, 1449, 9, 136, 198, 195, 194, 1312, 1789, 195,
4609 197, 196, 49, 194, 1319, 932, 195, 195, 1323, 1444,
4610 1325, 201, 195, 9, 32, 112, 201, 196, 1333, 195,
4611 201, 195, 197, 196, 684, 167, 196, 196, 1343, 1344,
4612 14, 56, 163, 83, 117, 195, 195, 1742, 1743, 197,
4613 136, 195, 684, 1834, 136, 1027, 1028, 179, 14, 197,
4614 1195, 1196, 1197, 1198, 83, 1356, 196, 1358, 1203, 14,
4615 14, 83, 196, 136, 1226, 112, 195, 194, 136, 1214,
4616 117, 196, 119, 120, 121, 122, 123, 124, 125, 195,
4617 14, 1226, 14, 1065, 744, 196, 14, 197, 1554, 9,
4618 9, 198, 83, 179, 59, 194, 1023, 83, 1025, 9,
4619 115, 196, 744, 102, 197, 158, 170, 102, 180, 36,
4620 1901, 14, 194, 1305, 81, 1906, 195, 194, 165, 166,
4621 196, 168, 176, 180, 1316, 785, 83, 787, 180, 195,
4622 173, 9, 83, 227, 196, 195, 103, 195, 193, 14,
4623 83, 801, 189, 785, 1126, 787, 1526, 9, 197, 1464,
4624 1342, 198, 1467, 813, 1299, 14, 816, 83, 14, 83,
4625 14, 83, 1108, 1857, 483, 480, 923, 968, 478, 926,
4626 914, 813, 139, 140, 141, 1873, 1158, 1220, 1597, 1868,
4627 1584, 938, 1621, 940, 1391, 597, 1487, 1706, 1489, 1534,
4628 1491, 1913, 852, 1494, 1439, 1718, 163, 1889, 165, 166,
4629 167, 168, 169, 170, 1580, 1132, 1136, 1064, 1435, 1198,
4630 1061, 1356, 380, 1358, 987, 875, 1194, 1010, 1195, 1201,
4631 938, 377, 827, 1505, 1900, 1207, 193, 194, 1915, 1823,
4632 1116, 891, 892, 875, 1046, 1096, -1, 1427, -1, -1,
4633 1222, 1223, 78, 79, 80, 81, 424, -1, -1, 891,
4634 892, 911, 277, -1, 279, -1, 1722, 1572, 1015, -1,
4635 -1, 1529, 1424, -1, -1, -1, 360, 103, -1, -1,
4636 -1, -1, 932, -1, -1, 369, -1, -1, 1470, 1424,
4637 -1, 1443, 376, -1, 1476, -1, 1478, 1588, 1433, 1481,
4638 -1, -1, 386, -1, 1439, -1, -1, -1, -1, 1226,
4639 -1, -1, -1, 139, 140, 141, 1498, -1, 1065, -1,
4640 335, -1, -1, -1, 1596, 1597, -1, -1, -1, -1,
4641 -1, -1, 1758, 1759, -1, 1307, -1, -1, -1, 165,
4642 166, -1, 168, 169, 170, -1, -1, -1, 1500, -1,
4643 -1, -1, 1487, -1, 1489, -1, 1491, 1509, -1, 1494,
4644 -1, -1, -1, -1, -1, 1500, -1, 193, -1, -1,
4645 1505, 1021, -1, 1023, 1509, 1025, -1, 1027, 1028, -1,
4646 4, -1, -1, 1717, -1, -1, -1, -1, 1305, -1,
4647 -1, 1526, -1, 1841, 1529, 1027, 1028, 1532, -1, 1316,
4648 -1, -1, -1, -1, 1586, -1, 421, 1542, -1, 424,
4649 1562, -1, 1782, -1, 1549, -1, -1, -1, -1, -1,
4650 -1, 1556, 1727, 1558, -1, 49, 81, 27, 28, 513,
4651 1565, 31, -1, -1, -1, -1, 1861, -1, -1, -1,
4652 -1, -1, 1414, 1595, -1, -1, 81, -1, 103, 1601,
4653 -1, 1742, 1743, 1588, 1201, 1607, 56, -1, -1, 1717,
4654 1595, 1596, 1597, -1, -1, -1, 1601, -1, 103, -1,
4655 -1, -1, 1607, 128, -1, -1, 1126, -1, -1, 1451,
4656 -1, -1, 1132, -1, 139, 140, 141, -1, 112, -1,
4657 -1, -1, -1, 117, 1126, 119, 120, 121, 122, 123,
4658 124, 125, -1, -1, 139, 140, 141, 1424, 1158, -1,
4659 165, 166, -1, 168, 169, 170, -1, -1, -1, -1,
4660 -1, -1, -1, -1, 1496, -1, 1158, -1, 163, -1,
4661 165, 166, 1449, 168, 169, 170, -1, -1, 193, 194,
4662 -1, 165, 166, -1, 168, -1, -1, -1, -1, -1,
4663 565, -1, 567, 1470, -1, -1, -1, 1207, 193, 1476,
4664 -1, 1478, -1, -1, 1214, 189, -1, -1, -1, -1,
4665 -1, -1, 1222, 1223, 198, 1207, 1226, -1, -1, -1,
4666 -1, 1498, 1717, 1500, -1, -1, -1, -1, -1, -1,
4667 1222, 1223, 1509, -1, -1, -1, 1748, -1, -1, 31,
4668 684, -1, -1, 1738, -1, -1, 1911, 1742, 1743, -1,
4669 -1, -1, -1, 1748, -1, -1, -1, -1, 1923, -1,
4670 -1, -1, 1757, -1, -1, -1, -1, 227, 1933, 1764,
4671 1765, 1936, -1, 1768, 1769, -1, -1, -1, 1790, 654,
4672 655, -1, -1, -1, -1, 1797, -1, 1782, 663, 81,
4673 -1, -1, -1, -1, -1, 1790, -1, 1307, -1, -1,
4674 744, -1, 1797, 81, -1, -1, 1848, 1414, -1, 1586,
4675 -1, 103, -1, -1, -1, 1307, -1, 277, 1595, 279,
4676 1832, -1, -1, -1, 1601, 103, 1868, -1, -1, -1,
4677 1607, -1, -1, 125, -1, 1877, -1, 1832, -1, -1,
4678 -1, 785, 1854, 787, -1, 1840, 138, 139, 140, 141,
4679 142, -1, -1, -1, -1, -1, -1, -1, -1, 1854,
4680 -1, 139, 140, 141, -1, 1860, 4, 159, -1, 813,
4681 162, 163, -1, 165, 166, 335, 168, 169, 170, -1,
4682 -1, 159, -1, -1, 162, 4, -1, 165, 166, 1496,
4683 168, 169, 170, 119, 120, 121, 122, 123, 124, -1,
4684 360, 193, 1914, -1, 130, 131, -1, 1919, -1, 369,
4685 -1, 49, -1, -1, 1424, 193, 376, -1, -1, 1914,
4686 198, -1, -1, -1, 1919, -1, 386, -1, 56, -1,
4687 49, 875, -1, -1, -1, -1, -1, 397, -1, -1,
4688 -1, 1451, -1, 169, -1, 171, -1, 891, 892, -1,
4689 -1, -1, 827, 828, -1, -1, -1, -1, 184, 1451,
4690 186, 421, -1, 189, 424, -1, -1, -1, -1, -1,
4691 -1, 1748, -1, -1, 112, -1, -1, -1, -1, 117,
4692 -1, 119, 120, 121, 122, 123, 124, 125, -1, -1,
4693 1500, -1, -1, 112, -1, 1505, 4, -1, 117, 1509,
4694 119, 120, 121, 122, 123, 124, 125, -1, -1, -1,
4695 -1, 471, 4, 1790, 81, -1, -1, -1, -1, -1,
4696 1797, -1, -1, -1, -1, -1, -1, 165, 166, -1,
4697 168, -1, -1, -1, 81, -1, 103, -1, 913, -1,
4698 -1, 49, -1, -1, 111, 112, 165, 166, -1, 168,
4699 -1, 189, -1, 513, 929, 1832, 103, 49, -1, -1,
4700 198, -1, -1, -1, 1841, -1, -1, 942, -1, -1,
4701 189, -1, 139, 140, 141, -1, -1, 1854, -1, 198,
4702 -1, -1, -1, 1027, 1028, 1595, 1596, 1597, -1, -1,
4703 -1, 1601, 139, 140, 141, 162, 971, 1607, 165, 166,
4704 -1, 168, 169, 170, 112, 565, -1, 567, -1, 117,
4705 570, 119, 120, 121, 122, 123, 124, 125, 165, 166,
4706 112, 168, 169, 170, -1, 117, 193, 119, 120, 121,
4707 122, 123, 124, 125, -1, -1, -1, 1914, -1, -1,
4708 -1, 601, 1919, -1, -1, -1, 193, 194, -1, 277,
4709 -1, 279, -1, -1, -1, -1, -1, 165, 166, -1,
4710 168, -1, -1, -1, -1, -1, 1041, -1, -1, 1044,
4711 -1, 1046, -1, 165, 166, -1, 168, -1, -1, -1,
4712 -1, 189, 1126, -1, -1, -1, -1, -1, -1, -1,
4713 198, -1, -1, -1, 654, 655, -1, 189, -1, 78,
4714 79, 80, -1, 663, -1, -1, 198, 335, -1, -1,
4715 -1, -1, 91, -1, 1158, 10, 11, 12, -1, -1,
4716 -1, -1, -1, -1, 684, -1, -1, -1, -1, -1,
4717 -1, -1, -1, -1, -1, -1, 31, -1, 1748, 34,
4718 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4719 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
4720 55, -1, -1, 1207, 143, 144, 145, 146, 147, -1,
4721 -1, 1146, -1, 1148, 69, 154, -1, -1, 1222, 1223,
4722 1790, 160, 161, -1, 744, -1, -1, 1797, -1, -1,
4723 -1, -1, -1, 421, -1, 174, 424, -1, -1, -1,
4724 1175, -1, -1, 1178, -1, -1, -1, -1, -1, 188,
4725 -1, -1, -1, -1, -1, -1, -1, -1, -1, 779,
4726 -1, -1, 1832, -1, -1, 785, -1, 787, 14, 15,
4727 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
4728 26, -1, -1, -1, 1854, -1, -1, -1, -1, -1,
4729 -1, -1, -1, 813, 814, 50, 51, -1, -1, -1,
4730 1235, -1, -1, 1307, 1239, -1, -1, 827, 828, 829,
4731 830, 831, 832, 833, -1, 70, -1, -1, -1, 839,
4732 -1, 67, 68, 78, 79, 80, 81, -1, -1, -1,
4733 -1, -1, 81, 853, -1, -1, 91, -1, -1, -1,
4734 195, -1, -1, -1, 1914, -1, -1, -1, 103, 1919,
4735 -1, -1, -1, -1, 103, 875, -1, -1, -1, -1,
4736 -1, -1, -1, -1, -1, 1300, 1301, -1, -1, 889,
4737 -1, 891, 892, -1, -1, -1, -1, 565, -1, -1,
4738 -1, -1, -1, 138, 139, 140, 141, -1, 134, 135,
4739 139, 140, 141, 913, 914, -1, -1, -1, -1, 154,
4740 -1, -1, -1, 923, 159, -1, -1, 162, 163, 929,
4741 165, 166, -1, 168, 169, 170, 165, 166, -1, 168,
4742 169, 170, 942, -1, -1, -1, -1, -1, 183, -1,
4743 950, -1, -1, 953, -1, -1, -1, -1, 193, -1,
4744 -1, -1, -1, -1, 193, 194, -1, 1451, -1, 195,
4745 -1, 971, -1, -1, -1, 975, -1, -1, -1, -1,
4746 -1, -1, -1, 1398, -1, 1400, 654, 655, 988, -1,
4747 -1, -1, -1, -1, -1, 663, -1, -1, 14, 15,
4748 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
4749 26, -1, -1, -1, -1, -1, -1, -1, 1433, -1,
4750 -1, -1, -1, -1, -1, -1, -1, 1027, 1028, 1444,
4751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4752 -1, 1041, -1, -1, 1044, -1, 1046, -1, -1, -1,
4753 -1, 67, 68, -1, -1, -1, -1, -1, -1, -1,
4754 -1, 1061, 1062, 1063, 1064, 1065, -1, -1, 1068, 1069,
4755 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
4756 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089,
4757 1090, 1091, 1092, 1093, 1094, 1095, -1, -1, -1, 27,
4758 28, -1, -1, 31, -1, -1, -1, -1, -1, -1,
4759 -1, -1, 1112, -1, -1, -1, -1, 1532, 134, 135,
4760 -1, -1, -1, -1, -1, -1, 1126, 14, 15, 16,
4761 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
4762 -1, 1556, -1, 1558, -1, -1, 1146, -1, 1148, -1,
4763 1565, -1, -1, -1, -1, -1, -1, -1, 1158, 827,
4764 828, -1, 43, 44, 45, 46, 47, 48, 49, 50,
4765 51, 52, 53, 54, 55, 1175, 57, -1, 1178, 195,
4766 67, 68, -1, -1, -1, -1, -1, 31, 69, -1,
4767 -1, -1, -1, -1, -1, 1195, 1196, 1197, 1198, -1,
4768 -1, 1201, -1, 1203, 1619, -1, -1, 1207, -1, -1,
4769 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
4770 -1, -1, 1222, 1223, -1, 1225, -1, -1, -1, -1,
4771 -1, -1, -1, -1, -1, 1235, -1, 81, -1, 1239,
4772 -1, -1, 1242, -1, 1244, 913, -1, 134, 135, -1,
4773 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
4774 -1, 929, -1, -1, -1, -1, 1266, 111, -1, -1,
4775 -1, -1, -1, -1, 942, 119, 120, 121, 122, 123,
4776 124, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4777 23, 24, 25, 26, 138, 139, 140, 141, 142, 227,
4778 1300, 1301, -1, 971, 1304, -1, 1721, 1307, 81, -1,
4779 83, 84, -1, -1, -1, 159, -1, -1, 162, 163,
4780 -1, 165, 166, 1738, 168, 169, 170, -1, -1, -1,
4781 103, -1, -1, -1, 67, 68, -1, -1, -1, 183,
4782 -1, -1, 1757, -1, -1, 189, -1, -1, -1, 193,
4783 194, -1, -1, -1, -1, -1, 1356, -1, 1358, -1,
4784 -1, -1, -1, -1, -1, -1, 139, 140, 141, -1,
4785 -1, -1, -1, 1041, -1, -1, 1044, 43, 44, 45,
4786 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
4787 163, 1806, 165, 166, -1, 168, 169, 170, 1398, -1,
4788 1400, 134, 135, 69, -1, -1, 1406, -1, 1408, -1,
4789 1410, -1, -1, 1413, 1414, -1, -1, 1417, -1, 1419,
4790 193, -1, 1422, -1, 197, -1, 199, -1, -1, -1,
4791 -1, -1, 360, 1433, 1434, -1, -1, 1437, -1, -1,
4792 -1, 369, -1, -1, 1444, -1, -1, -1, 376, -1,
4793 -1, 1451, -1, -1, -1, -1, -1, -1, 386, -1,
4794 81, -1, 83, 84, -1, -1, -1, 1882, -1, 397,
4795 -1, -1, -1, -1, -1, -1, -1, -1, 1146, 1894,
4796 1148, 1896, 103, -1, -1, -1, -1, 1487, -1, 1489,
4797 -1, 1491, -1, -1, 1494, 81, 1496, 83, -1, 85,
4798 1915, -1, 1917, -1, -1, -1, -1, 1175, -1, -1,
4799 1178, -1, 1512, -1, -1, -1, -1, 103, 139, 140,
4800 141, -1, -1, -1, 1524, 1525, -1, -1, -1, -1,
4801 -1, -1, 1532, -1, 1534, -1, -1, -1, -1, -1,
4802 -1, -1, 163, 471, 165, 166, -1, 168, 169, 170,
4803 -1, -1, -1, 139, 140, 141, 1556, -1, 1558, -1,
4804 -1, -1, -1, -1, -1, 1565, -1, 1235, -1, 570,
4805 -1, 1239, 193, -1, -1, -1, 197, -1, 199, 165,
4806 166, -1, 168, 169, 170, 513, -1, -1, 1588, -1,
4807 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4808 601, -1, -1, -1, 1604, 1605, 1606, 193, -1, -1,
4809 -1, 1611, -1, 1613, -1, -1, -1, -1, -1, 1619,
4810 -1, 1621, -1, 10, 11, 12, -1, -1, -1, -1,
4811 -1, -1, 1300, 1301, -1, -1, -1, -1, -1, -1,
4812 -1, -1, 570, 30, 31, -1, 33, 34, 35, 36,
4813 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
4814 47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
4815 57, -1, -1, 601, -1, 10, 11, 12, -1, -1,
4816 -1, -1, 69, -1, -1, -1, -1, -1, -1, -1,
4817 -1, -1, -1, -1, -1, 30, 31, -1, 33, 34,
4818 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4819 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
4820 55, 1721, 57, -1, -1, -1, -1, -1, -1, -1,
4821 1398, -1, 1400, -1, 69, -1, -1, 81, 1738, -1,
4822 -1, -1, 1742, 1743, -1, -1, -1, -1, -1, -1,
4823 -1, -1, -1, -1, -1, -1, 684, 1757, -1, 103,
4824 -1, -1, -1, 1763, -1, -1, -1, -1, -1, -1,
4825 -1, -1, -1, -1, 1774, -1, 1444, 81, -1, -1,
4826 1780, 125, -1, -1, 1784, -1, -1, -1, -1, -1,
4827 -1, -1, -1, -1, 138, 139, 140, 141, 142, 103,
4828 -1, -1, -1, -1, -1, -1, 1806, 111, 112, -1,
4829 -1, -1, -1, 814, 201, 159, 744, -1, 162, 163,
4830 -1, 165, 166, -1, 168, 169, 170, -1, 829, 830,
4831 831, 832, -1, -1, -1, 139, 140, 141, 839, -1,
4832 27, 28, -1, -1, 31, -1, 1846, -1, 81, 193,
4833 -1, 779, -1, -1, 81, -1, 1856, 785, 162, 787,
4834 -1, 165, 166, 198, 168, 169, 170, -1, -1, -1,
4835 103, -1, 31, 1873, -1, -1, 103, -1, -1, -1,
4836 -1, -1, 1882, -1, -1, 813, 814, -1, -1, 193,
4837 -1, -1, -1, -1, 1894, -1, 1896, -1, -1, -1,
4838 59, 829, 830, 831, 832, 833, 139, 140, 141, 81,
4839 -1, 839, 139, 140, 141, 1915, -1, 1917, -1, -1,
4840 -1, -1, 81, -1, -1, 853, 159, -1, -1, 162,
4841 163, 103, 165, 166, -1, 168, 169, 170, 165, 166,
4842 -1, 168, 169, 170, 103, -1, -1, 875, -1, 950,
4843 -1, 1619, 111, -1, -1, -1, -1, -1, -1, -1,
4844 193, 889, -1, 891, 892, -1, 193, 139, 140, 141,
4845 -1, -1, -1, -1, -1, -1, -1, -1, -1, 138,
4846 139, 140, 141, 142, -1, -1, 914, -1, -1, -1,
4847 162, -1, -1, 165, 166, 923, 168, 169, 170, -1,
4848 159, -1, -1, 162, 163, -1, 165, 166, -1, 168,
4849 169, 170, -1, -1, -1, -1, -1, -1, -1, -1,
4850 -1, 193, 950, -1, 183, 953, -1, -1, -1, -1,
4851 -1, -1, -1, -1, 193, 194, -1, -1, -1, -1,
4852 227, -1, -1, -1, -1, -1, -1, 975, -1, -1,
4853 -1, -1, -1, 1721, -1, -1, -1, -1, -1, -1,
4854 988, 1062, 1063, 1064, -1, -1, -1, 1068, 1069, 1070,
4855 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
4856 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
4857 1091, 1092, 1093, 1094, 1095, -1, -1, -1, -1, 1027,
4858 1028, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4859 -1, 1112, -1, -1, -1, -1, -1, -1, -1, -1,
4860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4861 -1, -1, -1, 1061, 1062, 1063, 1064, 1065, 1806, -1,
4862 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077,
4863 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
4864 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, -1, -1,
4865 -1, -1, -1, 360, 81, -1, -1, -1, -1, -1,
4866 -1, -1, 369, -1, 1112, -1, -1, -1, -1, 376,
4867 -1, -1, -1, -1, -1, -1, 103, -1, 1126, 386,
4868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4869 397, -1, -1, -1, 1882, -1, -1, -1, -1, -1,
4870 -1, -1, -1, -1, 1225, -1, 1894, -1, 1896, -1,
4871 1158, -1, 139, 140, 141, -1, -1, -1, -1, -1,
4872 -1, 1242, -1, 1244, -1, -1, -1, 1915, -1, 1917,
4873 -1, -1, -1, -1, -1, 162, -1, -1, 165, 166,
4874 -1, 168, 169, 170, -1, 1266, -1, 1195, 1196, 1197,
4875 1198, -1, -1, 1201, -1, 1203, -1, -1, -1, 1207,
4876 -1, -1, -1, -1, 471, -1, 193, -1, -1, -1,
4877 -1, -1, -1, -1, 1222, 1223, -1, 1225, -1, -1,
4878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4879 -1, -1, -1, -1, 1242, -1, 1244, -1, -1, 10,
4880 11, 12, -1, -1, -1, -1, 513, -1, -1, -1,
4881 -1, -1, -1, -1, -1, -1, -1, -1, 1266, 30,
4882 31, -1, 33, 34, 35, 36, 37, 38, 39, 40,
4883 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
4884 51, 52, 53, 54, 55, -1, 57, -1, -1, -1,
4885 -1, -1, -1, -1, -1, -1, 1304, -1, 69, 1307,
4886 -1, -1, -1, 570, 36, 37, 38, 39, 40, 41,
4887 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
4888 52, 53, 54, 55, -1, 1406, -1, 1408, -1, 1410,
4889 -1, -1, 1413, -1, 601, -1, 1417, 69, 1419, -1,
4890 -1, 1422, -1, -1, 10, 11, 12, -1, 1356, -1,
4891 1358, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4892 -1, -1, -1, -1, 30, 31, -1, 33, 34, 35,
4893 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4894 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
4895 -1, 57, -1, -1, -1, -1, -1, -1, 1406, -1,
4896 1408, -1, 1410, 69, -1, 1413, 1414, -1, -1, 1417,
4897 -1, 1419, -1, -1, 1422, -1, -1, 684, -1, -1,
4898 -1, 10, 11, 12, -1, -1, 1434, 198, -1, 1437,
4899 -1, 1512, -1, -1, -1, -1, -1, -1, -1, -1,
4900 -1, 30, 31, 1451, 33, 34, 35, 36, 37, 38,
4901 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4902 49, 50, 51, 52, 53, 54, 55, -1, 57, -1,
4903 -1, -1, -1, -1, -1, -1, -1, 744, -1, 1487,
4904 69, 1489, -1, 1491, -1, -1, 1494, -1, 1496, -1,
4905 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4906 -1, -1, -1, -1, 1512, -1, -1, 31, -1, -1,
4907 -1, -1, -1, -1, -1, -1, 1524, 1525, 785, -1,
4908 787, -1, -1, 1604, 1605, 1606, 1534, -1, -1, -1,
4909 1611, -1, 198, -1, -1, 59, -1, -1, -1, -1,
4910 -1, -1, -1, -1, -1, -1, 813, 814, -1, -1,
4911 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
4912 -1, -1, 829, 830, 831, 832, 833, -1, -1, -1,
4913 -1, -1, 839, -1, -1, -1, -1, -1, -1, 103,
4914 1588, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4915 -1, -1, -1, -1, -1, -1, 1604, 1605, 1606, -1,
4916 -1, -1, -1, 1611, -1, 1613, -1, -1, 875, 198,
4917 -1, -1, -1, 1621, 138, 139, 140, 141, 142, -1,
4918 -1, -1, -1, -1, 891, 892, -1, -1, -1, -1,
4919 -1, -1, -1, -1, -1, 159, -1, -1, 162, 163,
4920 -1, 165, 166, -1, 168, 169, 170, -1, 172, -1,
4921 -1, -1, -1, -1, -1, -1, 923, -1, -1, 183,
4922 -1, -1, -1, -1, -1, -1, -1, -1, -1, 193,
4923 194, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4924 -1, -1, 1763, 950, -1, -1, 10, 11, 12, -1,
4925 -1, -1, -1, 1774, -1, -1, -1, -1, -1, 1780,
4926 -1, -1, -1, 1784, -1, -1, 30, 31, 975, 33,
4927 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4928 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
4929 54, 55, -1, 57, 1742, 1743, -1, -1, -1, -1,
4930 -1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
4931 -1, -1, -1, -1, -1, 1763, -1, -1, -1, -1,
4932 1027, 1028, -1, -1, -1, 1846, 1774, -1, -1, -1,
4933 -1, -1, 1780, -1, -1, -1, 1784, -1, -1, -1,
4934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4935 -1, -1, -1, -1, 1061, 1062, 1063, 1064, 1065, -1,
4936 -1, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076,
4937 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
4938 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, -1,
4939 -1, -1, -1, -1, -1, -1, -1, -1, 1846, -1,
4940 -1, -1, -1, -1, -1, 1112, -1, -1, 1856, -1,
4941 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1126,
4942 -1, -1, -1, -1, -1, 1873, -1, -1, -1, -1,
4943 -1, -1, -1, -1, 198, -1, 10, 11, 12, -1,
4944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4945 -1, 1158, -1, -1, 28, -1, 30, 31, -1, 33,
4946 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4947 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
4948 54, 55, -1, 57, -1, -1, 3, 4, 5, 6,
4949 7, -1, -1, -1, 1201, 69, 13, -1, -1, -1,
4950 1207, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4951 27, 28, 29, -1, -1, 1222, 1223, -1, 1225, -1,
4952 -1, -1, -1, -1, -1, -1, -1, -1, 102, -1,
4953 -1, -1, 49, 50, 51, 1242, -1, 1244, -1, 56,
4954 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4955 67, 68, -1, 70, 71, 72, 73, 74, -1, 1266,
4956 -1, 78, 79, 80, 81, 82, 83, 84, -1, 86,
4957 87, -1, -1, -1, 91, 92, 93, 94, -1, 96,
4958 -1, 98, -1, 100, -1, -1, 103, 104, -1, -1,
4959 -1, 108, 109, 110, 111, -1, 113, 114, -1, 116,
4960 1307, 118, 119, 120, 121, 122, 123, 124, -1, 126,
4961 127, 128, -1, 130, 131, -1, -1, -1, -1, -1,
4962 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
4963 147, -1, -1, -1, 151, -1, -1, 154, -1, 31,
4964 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
4965 -1, 168, 169, 170, 171, -1, -1, 174, -1, -1,
4966 177, -1, -1, -1, -1, -1, 183, 59, -1, -1,
4967 -1, 188, 189, 190, -1, -1, 193, 194, -1, 196,
4968 197, 198, 199, 200, -1, 202, 203, -1, -1, 81,
4969 -1, -1, -1, 10, 11, 12, -1, -1, -1, 1406,
4970 -1, 1408, -1, 1410, -1, -1, 1413, 1414, -1, -1,
4971 1417, 103, 1419, 30, 31, 1422, 33, 34, 35, 36,
4972 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
4973 47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
4974 57, -1, -1, -1, 1451, -1, 138, 139, 140, 141,
4975 142, -1, 69, -1, -1, -1, -1, -1, -1, -1,
4976 -1, -1, -1, -1, -1, -1, -1, 159, -1, -1,
4977 162, 163, -1, 165, 166, -1, 168, 169, 170, -1,
4978 172, -1, -1, -1, -1, -1, -1, -1, -1, 1496,
4979 -1, 183, -1, -1, -1, -1, -1, -1, 10, 11,
4980 12, 193, 194, -1, -1, 1512, -1, -1, -1, -1,
4981 -1, -1, -1, -1, -1, -1, -1, -1, 30, 31,
4982 -1, 33, 34, 35, 36, 37, 38, 39, 40, 41,
4983 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
4984 52, 53, 54, 55, -1, 57, -1, -1, -1, -1,
4985 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
4986 -1, -1, -1, -1, 3, 4, 5, 6, 7, -1,
4987 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4988 -1, 198, -1, -1, -1, -1, -1, -1, 27, 28,
4989 29, -1, -1, -1, -1, -1, -1, 1604, 1605, 1606,
4990 -1, -1, -1, -1, 1611, -1, -1, -1, -1, -1,
4991 49, 50, 51, 1620, -1, -1, -1, 56, -1, 58,
4992 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
4993 -1, 70, 71, 72, 73, 74, -1, -1, -1, 78,
4994 79, 80, 81, 82, 83, 84, -1, 86, 87, -1,
4995 -1, -1, 91, 92, 93, 94, -1, 96, -1, 98,
4996 -1, 100, -1, -1, 103, 104, -1, -1, -1, 108,
4997 109, 110, 111, 112, 113, 114, -1, 116, 117, 118,
4998 119, 120, 121, 122, 123, 124, 198, 126, 127, 128,
4999 129, 130, 131, -1, -1, -1, -1, -1, 137, 138,
5000 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
5001 -1, -1, 151, -1, -1, 154, -1, -1, -1, -1,
5002 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
5003 169, 170, 171, -1, -1, 174, -1, -1, 177, -1,
5004 -1, -1, -1, -1, 183, 184, -1, 186, -1, 188,
5005 189, 190, -1, -1, 193, 194, 1763, 196, 197, 198,
5006 199, 200, -1, 202, 203, -1, -1, 1774, -1, -1,
5007 -1, -1, -1, 1780, -1, -1, -1, 1784, -1, -1,
5008 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
5009 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
5010 -1, 1808, -1, -1, -1, -1, -1, -1, -1, 27,
5011 28, 29, -1, -1, -1, -1, -1, -1, -1, -1,
5012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5013 -1, 49, 50, 51, -1, -1, -1, -1, 56, 1846,
5014 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5015 68, -1, 70, 71, 72, 73, 74, -1, -1, -1,
5016 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
5017 -1, -1, -1, 91, 92, 93, 94, -1, 96, -1,
5018 98, -1, 100, -1, -1, 103, 104, -1, -1, -1,
5019 108, 109, 110, 111, 112, 113, 114, -1, 116, 117,
5020 118, 119, 120, 121, 122, 123, 124, -1, 126, 127,
5021 128, 129, 130, 131, -1, -1, -1, -1, -1, 137,
5022 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
5023 -1, -1, -1, 151, -1, -1, 154, -1, -1, -1,
5024 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
5025 168, 169, 170, 171, -1, -1, 174, -1, -1, 177,
5026 -1, -1, -1, -1, -1, 183, 184, -1, 186, -1,
5027 188, 189, 190, -1, -1, 193, 194, -1, 196, 197,
5028 198, 199, 200, -1, 202, 203, 3, 4, 5, 6,
5029 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
5030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5031 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
5032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5033 -1, -1, 49, 50, 51, -1, -1, -1, -1, 56,
5034 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
5035 67, 68, -1, 70, 71, 72, 73, 74, -1, -1,
5036 -1, 78, 79, 80, 81, 82, 83, 84, -1, 86,
5037 87, -1, -1, -1, 91, 92, 93, 94, -1, 96,
5038 -1, 98, -1, 100, -1, -1, 103, 104, -1, -1,
5039 -1, 108, 109, 110, 111, 112, 113, 114, -1, 116,
5040 117, 118, 119, 120, 121, 122, 123, 124, -1, 126,
5041 127, 128, 129, 130, 131, -1, -1, -1, -1, -1,
5042 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
5043 147, -1, -1, -1, 151, -1, -1, 154, -1, -1,
5044 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
5045 -1, 168, 169, 170, 171, -1, -1, 174, -1, -1,
5046 177, -1, -1, -1, -1, -1, 183, 184, -1, 186,
5047 -1, 188, 189, 190, -1, -1, 193, 194, -1, 196,
5048 197, -1, 199, 200, -1, 202, 203, 3, 4, 5,
5049 6, 7, -1, -1, -1, -1, -1, 13, -1, -1,
5050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5051 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
5052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5053 -1, -1, -1, 49, 50, 51, -1, -1, -1, -1,
5054 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
5055 66, 67, 68, -1, 70, 71, 72, 73, 74, -1,
5056 -1, -1, 78, 79, 80, 81, 82, 83, 84, -1,
5057 86, 87, -1, -1, -1, 91, 92, 93, 94, -1,
5058 96, -1, 98, -1, 100, -1, -1, 103, 104, -1,
5059 -1, -1, 108, 109, 110, 111, -1, 113, 114, -1,
5060 116, -1, 118, 119, 120, 121, 122, 123, 124, -1,
5061 126, 127, 128, -1, 130, 131, -1, -1, -1, -1,
5062 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
5063 146, 147, -1, -1, -1, 151, -1, -1, 154, -1,
5064 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
5065 166, -1, 168, 169, 170, 171, -1, -1, 174, -1,
5066 -1, 177, -1, -1, -1, -1, -1, 183, -1, -1,
5067 -1, -1, 188, 189, 190, -1, -1, 193, 194, -1,
5068 196, 197, 198, 199, 200, -1, 202, 203, 3, 4,
5069 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
5070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5071 -1, -1, 27, 28, 29, -1, -1, -1, -1, -1,
5072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5073 -1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
5074 -1, 56, -1, 58, 59, 60, 61, 62, 63, 64,
5075 65, 66, 67, 68, -1, 70, 71, 72, 73, 74,
5076 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
5077 -1, 86, 87, -1, -1, -1, 91, 92, 93, 94,
5078 -1, 96, -1, 98, -1, 100, -1, -1, 103, 104,
5079 -1, -1, -1, 108, 109, 110, 111, -1, 113, 114,
5080 -1, 116, -1, 118, 119, 120, 121, 122, 123, 124,
5081 -1, 126, 127, 128, -1, 130, 131, -1, -1, -1,
5082 -1, -1, 137, 138, 139, 140, 141, -1, 143, 144,
5083 145, 146, 147, -1, -1, -1, 151, -1, -1, 154,
5084 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
5085 165, 166, -1, 168, 169, 170, 171, -1, -1, 174,
5086 -1, -1, 177, -1, -1, -1, -1, -1, 183, -1,
5087 -1, -1, -1, 188, 189, 190, -1, -1, 193, 194,
5088 -1, 196, 197, 198, 199, 200, -1, 202, 203, 3,
5089 4, 5, 6, 7, -1, -1, -1, -1, -1, 13,
5090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5091 -1, -1, -1, 27, 28, 29, -1, -1, -1, -1,
5092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5093 -1, -1, -1, -1, -1, 49, 50, 51, -1, -1,
5094 -1, -1, 56, -1, 58, 59, 60, 61, 62, 63,
5095 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
5096 74, -1, -1, -1, 78, 79, 80, 81, 82, 83,
5097 84, -1, 86, 87, -1, -1, -1, 91, 92, 93,
5098 94, -1, 96, -1, 98, -1, 100, -1, -1, 103,
5099 104, -1, -1, -1, 108, 109, 110, 111, -1, 113,
5100 114, -1, 116, -1, 118, 119, 120, 121, 122, 123,
5101 124, -1, 126, 127, 128, -1, 130, 131, -1, -1,
5102 -1, -1, -1, 137, 138, 139, 140, 141, -1, 143,
5103 144, 145, 146, 147, -1, -1, -1, 151, -1, -1,
5104 154, -1, -1, -1, -1, 159, 160, 161, 162, 163,
5105 -1, 165, 166, -1, 168, 169, 170, 171, -1, -1,
5106 174, -1, -1, 177, -1, -1, -1, -1, -1, 183,
5107 -1, -1, -1, -1, 188, 189, 190, -1, -1, 193,
5108 194, -1, 196, 197, 198, 199, 200, -1, 202, 203,
5109 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
5110 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5111 -1, -1, -1, -1, 27, 28, 29, -1, -1, -1,
5112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5113 -1, -1, -1, -1, -1, -1, 49, 50, 51, -1,
5114 -1, -1, -1, 56, -1, 58, 59, 60, 61, 62,
5115 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
5116 73, 74, -1, -1, -1, 78, 79, 80, 81, 82,
5117 83, 84, -1, 86, 87, -1, -1, -1, 91, 92,
5118 93, 94, 95, 96, -1, 98, -1, 100, -1, -1,
5119 103, 104, -1, -1, -1, 108, 109, 110, 111, -1,
5120 113, 114, -1, 116, -1, 118, 119, 120, 121, 122,
5121 123, 124, -1, 126, 127, 128, -1, 130, 131, -1,
5122 -1, -1, -1, -1, 137, 138, 139, 140, 141, -1,
5123 143, 144, 145, 146, 147, -1, -1, -1, 151, -1,
5124 -1, 154, -1, -1, -1, -1, 159, 160, 161, 162,
5125 163, -1, 165, 166, -1, 168, 169, 170, 171, -1,
5126 -1, 174, -1, -1, 177, -1, -1, -1, -1, -1,
5127 183, -1, -1, -1, -1, 188, 189, 190, -1, -1,
5128 193, 194, -1, 196, 197, -1, 199, 200, -1, 202,
5129 203, 3, 4, 5, 6, 7, -1, -1, -1, -1,
5130 -1, 13, -1, -1, -1, -1, -1, -1, -1, -1,
5131 -1, -1, -1, -1, -1, 27, 28, 29, -1, -1,
5132 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5133 -1, -1, -1, -1, -1, -1, -1, 49, 50, 51,
5134 -1, -1, -1, -1, 56, -1, 58, 59, 60, 61,
5135 62, 63, 64, 65, 66, 67, 68, -1, 70, 71,
5136 72, 73, 74, -1, -1, -1, 78, 79, 80, 81,
5137 82, 83, 84, -1, 86, 87, -1, -1, -1, 91,
5138 92, 93, 94, -1, 96, -1, 98, -1, 100, 101,
5139 -1, 103, 104, -1, -1, -1, 108, 109, 110, 111,
5140 -1, 113, 114, -1, 116, -1, 118, 119, 120, 121,
5141 122, 123, 124, -1, 126, 127, 128, -1, 130, 131,
5142 -1, -1, -1, -1, -1, 137, 138, 139, 140, 141,
5143 -1, 143, 144, 145, 146, 147, -1, -1, -1, 151,
5144 -1, -1, 154, -1, -1, -1, -1, 159, 160, 161,
5145 162, 163, -1, 165, 166, -1, 168, 169, 170, 171,
5146 -1, -1, 174, -1, -1, 177, -1, -1, -1, -1,
5147 -1, 183, -1, -1, -1, -1, 188, 189, 190, -1,
5148 -1, 193, 194, -1, 196, 197, -1, 199, 200, -1,
5149 202, 203, 3, 4, 5, 6, 7, -1, -1, -1,
5150 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
5151 -1, -1, -1, -1, -1, -1, 27, 28, 29, -1,
5152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5153 -1, -1, -1, -1, -1, -1, -1, -1, 49, 50,
5154 51, -1, -1, -1, -1, 56, -1, 58, 59, 60,
5155 61, 62, 63, 64, 65, 66, 67, 68, -1, 70,
5156 71, 72, 73, 74, -1, -1, -1, 78, 79, 80,
5157 81, 82, 83, 84, -1, 86, 87, -1, -1, -1,
5158 91, 92, 93, 94, -1, 96, -1, 98, -1, 100,
5159 -1, -1, 103, 104, -1, -1, -1, 108, 109, 110,
5160 111, -1, 113, 114, -1, 116, -1, 118, 119, 120,
5161 121, 122, 123, 124, -1, 126, 127, 128, -1, 130,
5162 131, -1, -1, -1, -1, -1, 137, 138, 139, 140,
5163 141, -1, 143, 144, 145, 146, 147, -1, -1, -1,
5164 151, -1, -1, 154, -1, -1, -1, -1, 159, 160,
5165 161, 162, 163, -1, 165, 166, -1, 168, 169, 170,
5166 171, -1, -1, 174, -1, -1, 177, -1, -1, -1,
5167 -1, -1, 183, -1, -1, -1, -1, 188, 189, 190,
5168 -1, -1, 193, 194, -1, 196, 197, 198, 199, 200,
5169 -1, 202, 203, 3, 4, 5, 6, 7, -1, -1,
5170 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
5171 -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
5172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5173 -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
5174 50, 51, -1, -1, -1, -1, 56, -1, 58, 59,
5175 60, 61, 62, 63, 64, 65, 66, 67, 68, -1,
5176 70, 71, 72, 73, 74, -1, -1, -1, 78, 79,
5177 80, 81, 82, 83, 84, -1, 86, 87, -1, -1,
5178 -1, 91, 92, 93, 94, -1, 96, -1, 98, -1,
5179 100, -1, -1, 103, 104, -1, -1, -1, 108, 109,
5180 110, 111, -1, 113, 114, -1, 116, -1, 118, 119,
5181 120, 121, 122, 123, 124, -1, 126, 127, 128, -1,
5182 130, 131, -1, -1, -1, -1, -1, 137, 138, 139,
5183 140, 141, -1, 143, 144, 145, 146, 147, -1, -1,
5184 -1, 151, -1, -1, 154, -1, -1, -1, -1, 159,
5185 160, 161, 162, 163, -1, 165, 166, -1, 168, 169,
5186 170, 171, -1, -1, 174, -1, -1, 177, -1, -1,
5187 -1, -1, -1, 183, -1, -1, -1, -1, 188, 189,
5188 190, -1, -1, 193, 194, -1, 196, 197, 198, 199,
5189 200, -1, 202, 203, 3, 4, 5, 6, 7, -1,
5190 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
5191 -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
5192 29, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5194 49, 50, 51, -1, -1, -1, -1, 56, -1, 58,
5195 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
5196 -1, 70, 71, 72, 73, 74, -1, -1, -1, 78,
5197 79, 80, 81, 82, 83, 84, -1, 86, 87, -1,
5198 -1, -1, 91, 92, 93, 94, -1, 96, -1, 98,
5199 99, 100, -1, -1, 103, 104, -1, -1, -1, 108,
5200 109, 110, 111, -1, 113, 114, -1, 116, -1, 118,
5201 119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
5202 -1, 130, 131, -1, -1, -1, -1, -1, 137, 138,
5203 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
5204 -1, -1, 151, -1, -1, 154, -1, -1, -1, -1,
5205 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
5206 169, 170, 171, -1, -1, 174, -1, -1, 177, -1,
5207 -1, -1, -1, -1, 183, -1, -1, -1, -1, 188,
5208 189, 190, -1, -1, 193, 194, -1, 196, 197, -1,
5209 199, 200, -1, 202, 203, 3, 4, 5, 6, 7,
5210 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
5211 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
5212 28, 29, -1, -1, -1, -1, -1, -1, -1, -1,
5213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5214 -1, 49, 50, 51, -1, -1, -1, -1, 56, -1,
5215 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5216 68, -1, 70, 71, 72, 73, 74, -1, -1, -1,
5217 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
5218 -1, -1, -1, 91, 92, 93, 94, -1, 96, -1,
5219 98, -1, 100, -1, -1, 103, 104, -1, -1, -1,
5220 108, 109, 110, 111, -1, 113, 114, -1, 116, -1,
5221 118, 119, 120, 121, 122, 123, 124, -1, 126, 127,
5222 128, -1, 130, 131, -1, -1, -1, -1, -1, 137,
5223 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
5224 -1, -1, -1, 151, -1, -1, 154, -1, -1, -1,
5225 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
5226 168, 169, 170, 171, -1, -1, 174, -1, -1, 177,
5227 -1, -1, -1, -1, -1, 183, -1, -1, -1, -1,
5228 188, 189, 190, -1, -1, 193, 194, -1, 196, 197,
5229 198, 199, 200, -1, 202, 203, 3, 4, 5, 6,
5230 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
5231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5232 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
5233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5234 -1, -1, 49, 50, 51, -1, -1, -1, -1, 56,
5235 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
5236 67, 68, -1, 70, 71, 72, 73, 74, -1, -1,
5237 -1, 78, 79, 80, 81, 82, 83, 84, -1, 86,
5238 87, -1, -1, -1, 91, 92, 93, 94, -1, 96,
5239 97, 98, -1, 100, -1, -1, 103, 104, -1, -1,
5240 -1, 108, 109, 110, 111, -1, 113, 114, -1, 116,
5241 -1, 118, 119, 120, 121, 122, 123, 124, -1, 126,
5242 127, 128, -1, 130, 131, -1, -1, -1, -1, -1,
5243 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
5244 147, -1, -1, -1, 151, -1, -1, 154, -1, -1,
5245 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
5246 -1, 168, 169, 170, 171, -1, -1, 174, -1, -1,
5247 177, -1, -1, -1, -1, -1, 183, -1, -1, -1,
5248 -1, 188, 189, 190, -1, -1, 193, 194, -1, 196,
5249 197, -1, 199, 200, -1, 202, 203, 3, 4, 5,
5250 6, 7, -1, -1, -1, -1, -1, 13, -1, -1,
5251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5252 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
5253 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5254 -1, -1, -1, 49, 50, 51, -1, -1, -1, -1,
5255 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
5256 66, 67, 68, -1, 70, 71, 72, 73, 74, -1,
5257 -1, -1, 78, 79, 80, 81, 82, 83, 84, -1,
5258 86, 87, -1, -1, -1, 91, 92, 93, 94, -1,
5259 96, -1, 98, -1, 100, -1, -1, 103, 104, -1,
5260 -1, -1, 108, 109, 110, 111, -1, 113, 114, -1,
5261 116, -1, 118, 119, 120, 121, 122, 123, 124, -1,
5262 126, 127, 128, -1, 130, 131, -1, -1, -1, -1,
5263 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
5264 146, 147, -1, -1, -1, 151, -1, -1, 154, -1,
5265 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
5266 166, -1, 168, 169, 170, 171, -1, -1, 174, -1,
5267 -1, 177, -1, -1, -1, -1, -1, 183, -1, -1,
5268 -1, -1, 188, 189, 190, -1, -1, 193, 194, -1,
5269 196, 197, 198, 199, 200, -1, 202, 203, 3, 4,
5270 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
5271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5272 -1, -1, 27, 28, 29, -1, -1, -1, -1, -1,
5273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5274 -1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
5275 -1, 56, -1, 58, 59, 60, 61, 62, 63, 64,
5276 65, 66, 67, 68, -1, 70, 71, 72, 73, 74,
5277 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
5278 -1, 86, 87, -1, -1, -1, 91, 92, 93, 94,
5279 -1, 96, -1, 98, -1, 100, -1, -1, 103, 104,
5280 -1, -1, -1, 108, 109, 110, 111, -1, 113, 114,
5281 -1, 116, -1, 118, 119, 120, 121, 122, 123, 124,
5282 -1, 126, 127, 128, -1, 130, 131, -1, -1, -1,
5283 -1, -1, 137, 138, 139, 140, 141, -1, 143, 144,
5284 145, 146, 147, -1, -1, -1, 151, -1, -1, 154,
5285 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
5286 165, 166, -1, 168, 169, 170, 171, -1, -1, 174,
5287 -1, -1, 177, -1, -1, -1, -1, -1, 183, -1,
5288 -1, -1, -1, 188, 189, 190, -1, -1, 193, 194,
5289 -1, 196, 197, 198, 199, 200, -1, 202, 203, 3,
5290 4, 5, 6, 7, -1, -1, -1, -1, -1, 13,
5291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5292 -1, -1, -1, 27, 28, 29, -1, -1, -1, -1,
5293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5294 -1, -1, -1, -1, -1, 49, 50, 51, -1, -1,
5295 -1, -1, 56, -1, 58, 59, 60, 61, 62, 63,
5296 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
5297 74, -1, -1, -1, 78, 79, 80, 81, 82, 83,
5298 84, -1, 86, 87, -1, -1, -1, 91, 92, 93,
5299 94, -1, 96, -1, 98, -1, 100, -1, -1, 103,
5300 104, -1, -1, -1, 108, 109, 110, 111, -1, 113,
5301 114, -1, 116, -1, 118, 119, 120, 121, 122, 123,
5302 124, -1, 126, 127, 128, -1, 130, 131, -1, -1,
5303 -1, -1, -1, 137, 138, 139, 140, 141, -1, 143,
5304 144, 145, 146, 147, -1, -1, -1, 151, -1, -1,
5305 154, -1, -1, -1, -1, 159, 160, 161, 162, 163,
5306 -1, 165, 166, -1, 168, 169, 170, 171, -1, -1,
5307 174, -1, -1, 177, -1, -1, -1, -1, -1, 183,
5308 -1, -1, -1, -1, 188, 189, 190, -1, -1, 193,
5309 194, -1, 196, 197, 198, 199, 200, -1, 202, 203,
5310 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
5311 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5312 -1, -1, -1, -1, 27, 28, 29, -1, -1, -1,
5313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5314 -1, -1, -1, -1, -1, -1, 49, 50, 51, -1,
5315 -1, -1, -1, 56, -1, 58, 59, 60, 61, 62,
5316 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
5317 73, 74, -1, -1, -1, 78, 79, 80, 81, 82,
5318 83, 84, -1, 86, 87, -1, -1, -1, 91, 92,
5319 93, 94, -1, 96, -1, 98, -1, 100, -1, -1,
5320 103, 104, -1, -1, -1, 108, 109, 110, 111, -1,
5321 113, 114, -1, 116, -1, 118, 119, 120, 121, 122,
5322 123, 124, -1, 126, 127, 128, -1, 130, 131, -1,
5323 -1, -1, -1, -1, 137, 138, 139, 140, 141, -1,
5324 143, 144, 145, 146, 147, -1, -1, -1, 151, -1,
5325 -1, 154, -1, -1, -1, -1, 159, 160, 161, 162,
5326 163, -1, 165, 166, -1, 168, 169, 170, 171, -1,
5327 -1, 174, -1, -1, 177, -1, -1, -1, -1, -1,
5328 183, -1, -1, -1, -1, 188, 189, 190, -1, -1,
5329 193, 194, -1, 196, 197, 198, 199, 200, -1, 202,
5330 203, 3, 4, 5, 6, 7, -1, -1, -1, -1,
5331 -1, 13, -1, -1, -1, -1, -1, -1, -1, -1,
5332 -1, -1, -1, -1, -1, 27, 28, 29, -1, -1,
5333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5334 -1, -1, -1, -1, -1, -1, -1, 49, 50, 51,
5335 -1, -1, -1, -1, 56, -1, 58, 59, 60, 61,
5336 62, 63, 64, 65, 66, 67, 68, -1, 70, 71,
5337 72, 73, 74, -1, -1, -1, 78, 79, 80, 81,
5338 82, 83, 84, -1, 86, 87, -1, -1, -1, 91,
5339 92, 93, 94, -1, 96, -1, 98, -1, 100, -1,
5340 -1, 103, 104, -1, -1, -1, 108, 109, 110, 111,
5341 -1, 113, 114, -1, 116, -1, 118, 119, 120, 121,
5342 122, 123, 124, -1, 126, 127, 128, -1, 130, 131,
5343 -1, -1, -1, -1, -1, 137, 138, 139, 140, 141,
5344 -1, 143, 144, 145, 146, 147, -1, -1, -1, 151,
5345 -1, -1, 154, -1, -1, -1, -1, 159, 160, 161,
5346 162, 163, -1, 165, 166, -1, 168, 169, 170, 171,
5347 -1, -1, 174, -1, -1, 177, -1, -1, -1, -1,
5348 -1, 183, -1, -1, -1, -1, 188, 189, 190, -1,
5349 -1, 193, 194, -1, 196, 197, -1, 199, 200, -1,
5350 202, 203, 3, 4, 5, 6, 7, -1, -1, -1,
5351 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
5352 -1, -1, -1, -1, -1, -1, 27, 28, 29, -1,
5353 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
5354 -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
5355 51, -1, -1, -1, -1, 56, -1, 58, 59, 60,
5356 61, 62, 63, 64, 65, 66, 67, 68, -1, 70,
5357 71, 72, 73, 74, -1, -1, -1, 78, 79, 80,
5358 81, 82, 83, 84, -1, 86, 87, -1, -1, -1,
5359 91, 92, 93, 94, -1, 96, -1, 98, -1, 100,
5360 -1, -1, 103, 104, -1, -1, -1, 108, 109, 110,
5361 111, -1, 113, 114, -1, 116, -1, 118, 119, 120,
5362 121, 122, 123, 124, -1, 126, 127, 128, -1, -1,
5363 -1, -1, -1, -1, -1, -1, 137, 138, 139, 140,
5364 141, -1, 143, 144, 145, 146, 147, -1, -1, -1,
5365 151, -1, -1, 154, -1, -1, -1, -1, 159, 160,
5366 161, 162, 163, -1, 165, 166, -1, 168, 169, 170,
5367 -1, -1, -1, 174, -1, -1, 177, -1, -1, -1,
5368 -1, -1, 183, -1, -1, -1, -1, 188, 189, 190,
5369 -1, -1, 193, 194, -1, 196, 197, -1, 199, 200,
5370 -1, 202, 203, 3, 4, 5, 6, 7, -1, -1,
5371 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
5372 -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
5373 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
5374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5375 50, 51, -1, -1, -1, -1, 56, -1, 58, 59,
5376 60, 61, 62, 63, 64, 65, 66, 67, 68, -1,
5377 70, 71, 72, 73, 74, -1, -1, -1, 78, 79,
5378 80, 81, 82, 83, 84, -1, 86, 87, -1, -1,
5379 -1, 91, 92, 93, 94, -1, 96, -1, 98, -1,
5380 100, -1, -1, 103, 104, -1, -1, -1, 108, 109,
5381 110, 111, -1, 113, 114, -1, 116, -1, 118, 119,
5382 120, 121, 122, 123, 124, -1, 126, 127, 128, -1,
5383 -1, -1, -1, -1, -1, -1, -1, 137, 138, 139,
5384 140, 141, -1, 143, 144, 145, 146, 147, -1, -1,
5385 -1, 151, -1, -1, 154, -1, -1, -1, -1, 159,
5386 160, 161, 162, 163, -1, 165, 166, -1, 168, 169,
5387 170, -1, -1, -1, 174, -1, -1, 177, -1, -1,
5388 -1, -1, -1, 183, -1, -1, -1, -1, 188, 189,
5389 190, -1, -1, 193, 194, -1, 196, 197, -1, 199,
5390 200, -1, 202, 203, 3, 4, 5, 6, 7, -1,
5391 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
5392 -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
5393 29, -1, -1, 32, -1, -1, -1, -1, -1, -1,
5394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5395 -1, 50, 51, -1, -1, -1, -1, 56, -1, 58,
5396 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
5397 -1, 70, 71, 72, 73, 74, -1, -1, -1, 78,
5398 79, 80, 81, 82, 83, 84, -1, 86, 87, -1,
5399 -1, -1, 91, 92, 93, 94, -1, 96, -1, 98,
5400 -1, 100, -1, -1, 103, 104, -1, -1, -1, 108,
5401 109, 110, 111, -1, 113, 114, -1, 116, -1, 118,
5402 119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
5403 -1, -1, -1, -1, -1, -1, -1, -1, 137, 138,
5404 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
5405 -1, -1, 151, -1, -1, 154, -1, -1, -1, -1,
5406 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
5407 169, 170, -1, -1, -1, 174, -1, -1, 177, -1,
5408 -1, -1, -1, -1, 183, -1, -1, -1, -1, 188,
5409 189, 190, -1, -1, 193, 194, -1, 196, 197, -1,
5410 199, 200, -1, 202, 203, 3, 4, 5, 6, 7,
5411 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
5412 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
5413 28, 29, -1, -1, 32, -1, -1, -1, -1, -1,
5414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5415 -1, -1, 50, 51, -1, -1, -1, -1, 56, -1,
5416 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5417 68, -1, 70, 71, 72, 73, 74, -1, -1, -1,
5418 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
5419 -1, -1, -1, 91, 92, 93, 94, -1, 96, -1,
5420 98, -1, 100, -1, -1, 103, 104, -1, -1, -1,
5421 108, 109, 110, 111, -1, 113, 114, -1, 116, -1,
5422 118, 119, 120, 121, 122, 123, 124, -1, 126, 127,
5423 128, -1, -1, -1, -1, -1, -1, -1, -1, 137,
5424 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
5425 -1, -1, -1, 151, -1, -1, 154, -1, -1, -1,
5426 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
5427 168, 169, 170, -1, -1, -1, 174, -1, -1, 177,
5428 -1, -1, -1, -1, -1, 183, -1, -1, -1, -1,
5429 188, 189, 190, -1, -1, 193, 194, -1, 196, 197,
5430 -1, 199, 200, -1, 202, 203, 3, 4, 5, 6,
5431 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
5432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5433 27, 28, 29, -1, -1, 32, -1, -1, -1, -1,
5434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5435 -1, -1, -1, 50, 51, -1, -1, -1, -1, 56,
5436 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
5437 67, 68, -1, 70, 71, 72, 73, 74, -1, -1,
5438 -1, 78, 79, 80, 81, 82, 83, 84, -1, 86,
5439 87, -1, -1, -1, 91, 92, 93, 94, -1, 96,
5440 -1, 98, -1, 100, -1, -1, 103, 104, -1, -1,
5441 -1, 108, 109, 110, 111, -1, 113, 114, -1, 116,
5442 -1, 118, 119, 120, 121, 122, 123, 124, -1, 126,
5443 127, 128, -1, -1, -1, -1, -1, -1, -1, -1,
5444 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
5445 147, -1, -1, -1, 151, -1, -1, 154, -1, -1,
5446 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
5447 -1, 168, 169, 170, -1, -1, -1, 174, -1, -1,
5448 177, -1, -1, -1, -1, -1, 183, -1, -1, -1,
5449 -1, 188, 189, 190, -1, -1, 193, 194, -1, 196,
5450 197, -1, 199, 200, -1, 202, 203, 3, 4, 5,
5451 6, 7, -1, -1, -1, -1, -1, 13, -1, -1,
5452 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5453 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
5454 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5455 -1, -1, -1, -1, 50, 51, -1, -1, -1, -1,
5456 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
5457 66, 67, 68, -1, 70, 71, 72, 73, 74, -1,
5458 -1, -1, 78, 79, 80, 81, 82, 83, 84, -1,
5459 86, 87, -1, -1, -1, 91, 92, 93, 94, -1,
5460 96, -1, 98, -1, 100, -1, -1, 103, 104, -1,
5461 -1, -1, 108, 109, 110, 111, -1, 113, 114, -1,
5462 116, -1, 118, 119, 120, 121, 122, 123, 124, -1,
5463 126, 127, 128, -1, -1, -1, -1, -1, -1, -1,
5464 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
5465 146, 147, -1, -1, -1, 151, -1, -1, 154, -1,
5466 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
5467 166, -1, 168, 169, 170, -1, -1, -1, 174, -1,
5468 -1, 177, -1, -1, -1, -1, -1, 183, -1, -1,
5469 -1, -1, 188, 189, 190, -1, -1, 193, 194, -1,
5470 196, 197, -1, 199, 200, -1, 202, 203, 3, 4,
5471 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
5472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5473 -1, -1, 27, 28, 29, -1, -1, -1, -1, -1,
5474 -1, -1, -1, 38, -1, -1, -1, -1, -1, -1,
5475 -1, -1, -1, -1, -1, 50, 51, -1, -1, -1,
5476 -1, 56, -1, 58, 59, 60, 61, 62, 63, 64,
5477 65, 66, 67, 68, -1, 70, 71, 72, 73, -1,
5478 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
5479 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
5480 -1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
5481 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
5482 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
5483 -1, -1, 127, 128, -1, -1, -1, -1, -1, -1,
5484 -1, -1, 137, 138, 139, 140, 141, -1, 143, 144,
5485 145, 146, 147, -1, -1, -1, -1, -1, -1, 154,
5486 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
5487 165, 166, -1, 168, 169, 170, -1, -1, -1, 174,
5488 -1, -1, 177, -1, -1, -1, -1, -1, 183, -1,
5489 -1, -1, -1, 188, 189, 190, -1, -1, 193, 194,
5490 -1, -1, -1, -1, 199, 200, -1, 202, 203, 3,
5491 4, 5, 6, 7, -1, -1, -1, -1, -1, 13,
5492 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5493 -1, -1, -1, -1, 28, 29, -1, -1, -1, -1,
5494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5495 -1, -1, -1, -1, -1, -1, 50, 51, -1, -1,
5496 -1, -1, 56, -1, 58, 59, 60, 61, 62, 63,
5497 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
5498 -1, -1, -1, -1, 78, 79, 80, 81, 82, 83,
5499 84, -1, -1, -1, -1, -1, -1, 91, -1, -1,
5500 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
5501 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
5502 -1, -1, -1, -1, -1, 119, 120, 121, 122, 123,
5503 124, -1, -1, 127, 128, -1, -1, -1, -1, -1,
5504 -1, -1, -1, 137, 138, 139, 140, 141, -1, 143,
5505 144, 145, 146, 147, -1, -1, -1, -1, -1, -1,
5506 154, -1, -1, -1, -1, 159, 160, 161, 162, 163,
5507 -1, 165, 166, -1, 168, 169, 170, -1, -1, -1,
5508 174, -1, -1, 177, -1, -1, -1, -1, -1, 183,
5509 -1, -1, -1, -1, 188, 189, 190, -1, -1, 193,
5510 194, -1, 196, -1, -1, 199, 200, -1, 202, 203,
5511 3, 4, 5, 6, 7, -1, -1, -1, 31, -1,
5512 13, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5513 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
5514 53, 54, 55, -1, -1, 38, -1, -1, -1, -1,
5515 -1, -1, -1, -1, -1, -1, 69, 50, 51, -1,
5516 -1, -1, -1, 56, -1, 58, 59, 60, 61, 62,
5517 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
5518 73, -1, -1, -1, -1, 78, 79, 80, 81, 82,
5519 83, 84, -1, -1, -1, -1, -1, -1, 91, -1,
5520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5521 103, -1, -1, -1, -1, -1, -1, -1, 111, -1,
5522 -1, -1, -1, -1, -1, -1, 119, 120, 121, 122,
5523 123, 124, -1, -1, 127, 128, -1, -1, -1, -1,
5524 -1, -1, -1, -1, 137, 138, 139, 140, 141, -1,
5525 143, 144, 145, 146, 147, -1, -1, -1, -1, -1,
5526 -1, 154, -1, -1, -1, -1, 159, 160, 161, 162,
5527 163, -1, 165, 166, -1, 168, 169, 170, -1, 172,
5528 -1, 174, -1, -1, 177, -1, -1, -1, -1, -1,
5529 183, -1, -1, -1, -1, 188, 189, 190, -1, -1,
5530 193, 194, -1, -1, -1, -1, 199, 200, -1, 202,
5531 203, 3, 4, 5, 6, 7, -1, -1, -1, -1,
5532 -1, 13, -1, -1, -1, -1, -1, -1, -1, -1,
5533 -1, -1, -1, -1, -1, -1, 28, -1, -1, -1,
5534 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5535 -1, -1, -1, -1, -1, -1, -1, -1, 50, 51,
5536 -1, -1, -1, -1, 56, -1, 58, 59, 60, 61,
5537 62, 63, 64, 65, 66, 67, 68, -1, 70, 71,
5538 72, 73, -1, -1, -1, -1, 78, 79, 80, 81,
5539 82, 83, 84, -1, -1, -1, -1, -1, -1, 91,
5540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5541 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111,
5542 -1, -1, -1, -1, -1, -1, -1, 119, 120, 121,
5543 122, 123, 124, -1, -1, 127, 128, -1, -1, -1,
5544 -1, -1, -1, -1, -1, 137, 138, 139, 140, 141,
5545 -1, 143, 144, 145, 146, 147, -1, -1, -1, -1,
5546 -1, -1, 154, -1, -1, -1, -1, 159, 160, 161,
5547 162, 163, -1, 165, 166, -1, 168, 169, 170, -1,
5548 -1, -1, 174, -1, -1, 177, -1, -1, -1, -1,
5549 -1, 183, -1, -1, -1, -1, 188, 189, 190, -1,
5550 -1, 193, 194, -1, -1, 197, -1, 199, 200, -1,
5551 202, 203, 3, 4, 5, 6, 7, -1, -1, -1,
5552 -1, -1, 13, 34, 35, 36, 37, 38, 39, 40,
5553 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
5554 51, 52, 53, 54, 55, -1, -1, 38, -1, -1,
5555 -1, -1, -1, -1, -1, -1, -1, -1, 69, 50,
5556 51, -1, -1, -1, -1, 56, -1, 58, 59, 60,
5557 61, 62, 63, 64, 65, 66, 67, 68, -1, 70,
5558 71, 72, 73, -1, -1, -1, -1, 78, 79, 80,
5559 81, 82, 83, 84, -1, -1, -1, -1, -1, -1,
5560 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5561 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1,
5562 111, -1, -1, -1, -1, -1, -1, -1, 119, 120,
5563 121, 122, 123, 124, -1, -1, 127, 128, -1, -1,
5564 -1, -1, -1, -1, -1, -1, 137, 138, 139, 140,
5565 141, -1, 143, 144, 145, 146, 147, -1, -1, -1,
5566 -1, -1, -1, 154, -1, -1, -1, -1, 159, 160,
5567 161, 162, 163, -1, 165, 166, -1, 168, 169, 170,
5568 -1, 172, -1, 174, -1, -1, 177, -1, -1, -1,
5569 -1, -1, 183, -1, -1, -1, -1, 188, 189, 190,
5570 -1, -1, 193, 194, -1, -1, -1, -1, 199, 200,
5571 -1, 202, 203, 3, 4, 5, 6, 7, -1, -1,
5572 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
5573 -1, -1, -1, -1, -1, -1, -1, 27, 28, -1,
5574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5575 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5576 50, 51, -1, -1, -1, -1, 56, -1, 58, 59,
5577 60, 61, 62, 63, 64, 65, 66, 67, 68, -1,
5578 70, 71, 72, 73, -1, -1, -1, -1, 78, 79,
5579 80, 81, 82, 83, 84, -1, -1, -1, -1, -1,
5580 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
5581 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
5582 -1, 111, -1, -1, -1, -1, -1, -1, -1, 119,
5583 120, 121, 122, 123, 124, -1, -1, 127, 128, -1,
5584 -1, -1, -1, -1, -1, -1, -1, 137, 138, 139,
5585 140, 141, -1, 143, 144, 145, 146, 147, -1, -1,
5586 -1, -1, -1, -1, 154, -1, -1, -1, -1, 159,
5587 160, 161, 162, 163, -1, 165, 166, -1, 168, 169,
5588 170, -1, -1, -1, 174, -1, -1, 177, -1, -1,
5589 -1, -1, -1, 183, -1, -1, -1, -1, 188, 189,
5590 190, -1, -1, 193, 194, 10, 11, 12, -1, 199,
5591 200, -1, 202, 203, 3, 4, 5, 6, 7, -1,
5592 -1, -1, -1, -1, 13, 30, 31, -1, 33, 34,
5593 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5594 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5595 55, -1, 57, -1, -1, -1, -1, -1, -1, -1,
5596 -1, 50, 51, -1, 69, -1, -1, 56, -1, 58,
5597 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
5598 -1, 70, 71, 72, 73, -1, -1, -1, -1, 78,
5599 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
5600 -1, -1, 91, -1, -1, -1, -1, -1, -1, -1,
5601 -1, -1, -1, -1, 103, -1, -1, -1, -1, 108,
5602 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
5603 119, 120, 121, 122, 123, 124, -1, -1, 127, 128,
5604 -1, -1, -1, -1, -1, -1, -1, -1, 137, 138,
5605 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
5606 -1, -1, -1, -1, -1, 154, -1, -1, -1, -1,
5607 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
5608 169, 170, -1, -1, -1, 174, -1, -1, 177, -1,
5609 -1, -1, -1, 198, 183, -1, -1, -1, -1, 188,
5610 189, 190, -1, -1, 193, 194, -1, -1, -1, -1,
5611 199, 200, -1, 202, 203, 3, 4, 5, 6, 7,
5612 -1, -1, -1, -1, -1, 13, 35, 36, 37, 38,
5613 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5614 49, 50, 51, 52, 53, 54, 55, -1, 57, -1,
5615 38, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5616 69, -1, 50, 51, -1, -1, -1, -1, 56, -1,
5617 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5618 68, -1, 70, 71, 72, 73, -1, -1, -1, -1,
5619 78, 79, 80, 81, 82, 83, 84, -1, -1, -1,
5620 -1, -1, -1, 91, -1, -1, -1, -1, -1, -1,
5621 -1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
5622 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
5623 -1, 119, 120, 121, 122, 123, 124, -1, -1, 127,
5624 128, -1, -1, -1, -1, -1, -1, -1, -1, 137,
5625 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
5626 -1, -1, -1, -1, -1, -1, 154, -1, -1, -1,
5627 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
5628 168, 169, 170, -1, -1, -1, 174, -1, -1, 177,
5629 -1, -1, -1, -1, -1, 183, -1, -1, -1, -1,
5630 188, 189, 190, -1, -1, 193, 194, 10, 11, 12,
5631 -1, 199, 200, -1, 202, 203, 3, 4, 5, 6,
5632 7, -1, -1, -1, -1, -1, 13, 30, 31, -1,
5633 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5634 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
5635 53, 54, 55, -1, 57, -1, -1, -1, -1, -1,
5636 -1, -1, -1, 50, 51, -1, 69, -1, -1, 56,
5637 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
5638 67, 68, -1, 70, 71, 72, 73, -1, -1, -1,
5639 -1, 78, 79, 80, 81, 82, 83, 84, -1, -1,
5640 -1, -1, -1, -1, 91, -1, -1, -1, -1, -1,
5641 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1,
5642 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1,
5643 -1, -1, 119, 120, 121, 122, 123, 124, -1, -1,
5644 127, 128, -1, -1, -1, -1, -1, -1, -1, -1,
5645 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
5646 147, -1, -1, -1, -1, -1, -1, 154, -1, -1,
5647 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
5648 -1, 168, 169, 170, -1, -1, -1, 174, -1, -1,
5649 177, -1, -1, -1, -1, 198, 183, -1, -1, -1,
5650 -1, 188, 189, 190, -1, -1, 193, 194, -1, 196,
5651 11, 12, 199, 200, -1, 202, 203, 3, 4, 5,
5652 6, 7, -1, -1, -1, -1, -1, 13, -1, 30,
5653 31, -1, 33, 34, 35, 36, 37, 38, 39, 40,
5654 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
5655 51, 52, 53, 54, 55, -1, 57, -1, -1, -1,
5656 -1, -1, -1, -1, 50, 51, -1, -1, 69, -1,
5657 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
5658 66, 67, 68, -1, 70, 71, 72, 73, -1, -1,
5659 -1, -1, 78, 79, 80, 81, 82, 83, 84, -1,
5660 -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
5661 -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
5662 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1,
5663 -1, -1, -1, 119, 120, 121, 122, 123, 124, -1,
5664 -1, 127, 128, -1, -1, -1, -1, -1, -1, -1,
5665 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
5666 146, 147, -1, -1, -1, -1, -1, -1, 154, -1,
5667 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
5668 166, -1, 168, 169, 170, -1, -1, -1, 174, -1,
5669 -1, 177, -1, -1, -1, -1, -1, 183, -1, -1,
5670 -1, -1, 188, 189, 190, -1, -1, 193, 194, -1,
5671 196, -1, -1, 199, 200, -1, 202, 203, 3, 4,
5672 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
5673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5674 -1, -1, 27, -1, -1, -1, -1, -1, -1, -1,
5675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5676 -1, -1, -1, -1, -1, 50, 51, -1, -1, -1,
5677 -1, 56, -1, 58, 59, 60, 61, 62, 63, 64,
5678 65, 66, 67, 68, -1, 70, 71, 72, 73, -1,
5679 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
5680 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
5681 -1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
5682 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
5683 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
5684 -1, -1, 127, 128, -1, -1, -1, -1, -1, -1,
5685 -1, -1, 137, 138, 139, 140, 141, -1, 143, 144,
5686 145, 146, 147, -1, -1, -1, -1, -1, -1, 154,
5687 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
5688 165, 166, -1, 168, 169, 170, -1, -1, -1, 174,
5689 -1, -1, 177, -1, -1, -1, -1, -1, 183, -1,
5690 -1, -1, -1, 188, 189, 190, -1, -1, 193, 194,
5691 10, 11, 12, -1, 199, 200, -1, 202, 203, 3,
5692 4, 5, 6, 7, -1, -1, -1, -1, -1, 13,
5693 30, 31, -1, 33, 34, 35, 36, 37, 38, 39,
5694 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
5695 50, 51, 52, 53, 54, 55, -1, 57, -1, -1,
5696 -1, -1, -1, -1, -1, -1, 50, 51, -1, 69,
5697 -1, -1, 56, -1, 58, 59, 60, 61, 62, 63,
5698 64, 65, 66, 67, 68, -1, 70, 71, 72, 73,
5699 -1, -1, -1, -1, 78, 79, 80, 81, 82, 83,
5700 84, -1, -1, -1, -1, -1, -1, 91, -1, -1,
5701 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
5702 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
5703 -1, -1, -1, -1, -1, 119, 120, 121, 122, 123,
5704 124, -1, -1, 127, 128, -1, -1, -1, -1, -1,
5705 -1, -1, -1, 137, 138, 139, 140, 141, -1, 143,
5706 144, 145, 146, 147, -1, -1, -1, -1, -1, -1,
5707 154, -1, -1, -1, -1, 159, 160, 161, 162, 163,
5708 -1, 165, 166, -1, 168, 169, 170, -1, -1, -1,
5709 174, -1, -1, 177, -1, -1, -1, -1, 198, 183,
5710 -1, -1, -1, -1, 188, 189, 190, -1, -1, 193,
5711 194, 195, -1, -1, -1, 199, 200, -1, 202, 203,
5712 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
5713 13, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5714 47, 48, 49, 50, 51, 52, 53, 54, 55, 32,
5715 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5716 -1, -1, 69, -1, -1, -1, -1, 50, 51, -1,
5717 -1, -1, -1, 56, -1, 58, 59, 60, 61, 62,
5718 63, 64, 65, 66, 67, 68, -1, 70, 71, 72,
5719 73, -1, -1, -1, -1, 78, 79, 80, 81, 82,
5720 83, 84, -1, -1, -1, -1, -1, -1, 91, -1,
5721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5722 103, -1, -1, -1, -1, -1, -1, -1, 111, -1,
5723 -1, -1, -1, -1, -1, -1, 119, 120, 121, 122,
5724 123, 124, -1, -1, 127, 128, -1, -1, -1, -1,
5725 -1, -1, -1, -1, 137, 138, 139, 140, 141, -1,
5726 143, 144, 145, 146, 147, -1, -1, -1, -1, -1,
5727 -1, 154, -1, -1, -1, -1, 159, 160, 161, 162,
5728 163, -1, 165, 166, -1, 168, 169, 170, -1, -1,
5729 -1, 174, -1, -1, 177, -1, -1, -1, -1, -1,
5730 183, -1, -1, -1, -1, 188, 189, 190, -1, -1,
5731 193, 194, -1, -1, -1, -1, 199, 200, -1, 202,
5732 203, 3, 4, 5, 6, 7, -1, -1, -1, -1,
5733 -1, 13, 35, 36, 37, 38, 39, 40, 41, 42,
5734 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
5735 53, 54, 55, -1, -1, -1, 38, -1, -1, -1,
5736 -1, -1, -1, -1, -1, -1, 69, -1, 50, 51,
5737 -1, -1, -1, -1, 56, -1, 58, 59, 60, 61,
5738 62, 63, 64, 65, 66, 67, 68, -1, 70, 71,
5739 72, 73, -1, -1, -1, -1, 78, 79, 80, 81,
5740 82, 83, 84, -1, -1, -1, -1, -1, -1, 91,
5741 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5742 -1, 103, -1, -1, -1, -1, -1, -1, -1, 111,
5743 -1, -1, -1, -1, -1, -1, -1, 119, 120, 121,
5744 122, 123, 124, -1, -1, 127, 128, -1, -1, -1,
5745 -1, -1, -1, -1, -1, 137, 138, 139, 140, 141,
5746 -1, 143, 144, 145, 146, 147, -1, -1, -1, -1,
5747 -1, -1, 154, -1, -1, -1, -1, 159, 160, 161,
5748 162, 163, -1, 165, 166, -1, 168, 169, 170, -1,
5749 -1, -1, 174, -1, -1, 177, -1, -1, -1, -1,
5750 -1, 183, -1, -1, -1, -1, 188, 189, 190, -1,
5751 -1, 193, 194, -1, -1, -1, -1, 199, 200, -1,
5752 202, 203, 3, 4, 5, 6, 7, -1, -1, -1,
5753 -1, -1, 13, 36, 37, 38, 39, 40, 41, 42,
5754 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
5755 53, 54, 55, -1, 57, -1, -1, 38, -1, -1,
5756 -1, -1, -1, -1, -1, -1, 69, -1, -1, 50,
5757 51, -1, -1, -1, -1, 56, -1, 58, 59, 60,
5758 61, 62, 63, 64, 65, 66, 67, 68, -1, 70,
5759 71, 72, 73, -1, -1, -1, -1, 78, 79, 80,
5760 81, 82, 83, 84, -1, -1, -1, -1, -1, -1,
5761 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5762 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1,
5763 111, -1, -1, -1, -1, -1, -1, -1, 119, 120,
5764 121, 122, 123, 124, -1, -1, 127, 128, -1, -1,
5765 -1, -1, -1, -1, -1, -1, 137, 138, 139, 140,
5766 141, -1, 143, 144, 145, 146, 147, -1, -1, -1,
5767 -1, -1, -1, 154, -1, -1, -1, -1, 159, 160,
5768 161, 162, 163, -1, 165, 166, -1, 168, 169, 170,
5769 -1, -1, -1, 174, -1, -1, 177, -1, -1, -1,
5770 -1, -1, 183, -1, -1, -1, -1, 188, 189, 190,
5771 -1, -1, 193, 194, -1, -1, -1, -1, 199, 200,
5772 -1, 202, 203, 3, 4, 5, 6, 7, -1, -1,
5773 -1, -1, -1, 13, 37, 38, 39, 40, 41, 42,
5774 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
5775 53, 54, 55, -1, 57, -1, -1, -1, 38, -1,
5776 -1, -1, -1, -1, -1, -1, 69, -1, -1, -1,
5777 50, 51, -1, -1, -1, -1, 56, -1, 58, 59,
5778 60, 61, 62, 63, 64, 65, 66, 67, 68, -1,
5779 70, 71, 72, 73, -1, -1, -1, -1, 78, 79,
5780 80, 81, 82, 83, 84, -1, -1, -1, -1, -1,
5781 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
5782 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
5783 -1, 111, -1, -1, -1, -1, -1, -1, -1, 119,
5784 120, 121, 122, 123, 124, -1, -1, 127, 128, -1,
5785 -1, -1, -1, -1, -1, -1, -1, 137, 138, 139,
5786 140, 141, -1, 143, 144, 145, 146, 147, -1, -1,
5787 -1, -1, -1, -1, 154, -1, -1, -1, -1, 159,
5788 160, 161, 162, 163, -1, 165, 166, -1, 168, 169,
5789 170, -1, -1, -1, 174, -1, -1, 177, -1, -1,
5790 -1, -1, -1, 183, -1, -1, -1, -1, 188, 189,
5791 190, -1, -1, 193, 194, -1, -1, -1, -1, 199,
5792 200, -1, 202, 203, 3, 4, 5, 6, 7, -1,
5793 -1, -1, -1, -1, 13, 37, 38, 39, 40, 41,
5794 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5795 52, 53, 54, 55, -1, -1, -1, -1, -1, 38,
5796 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
5797 -1, 50, 51, -1, -1, -1, -1, 56, -1, 58,
5798 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
5799 -1, 70, 71, 72, 73, -1, -1, -1, -1, 78,
5800 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
5801 -1, -1, 91, -1, -1, -1, -1, -1, -1, -1,
5802 -1, -1, -1, -1, 103, -1, -1, -1, -1, -1,
5803 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
5804 119, 120, 121, 122, 123, 124, -1, -1, 127, 128,
5805 -1, -1, -1, -1, -1, -1, -1, -1, 137, 138,
5806 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
5807 -1, -1, -1, -1, -1, 154, -1, -1, -1, -1,
5808 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
5809 169, 170, -1, -1, -1, 174, -1, -1, 177, -1,
5810 -1, -1, -1, -1, 183, -1, -1, -1, -1, 188,
5811 189, 190, -1, -1, 193, 194, -1, -1, -1, -1,
5812 199, 200, -1, 202, 203, 3, 4, 5, 6, 7,
5813 -1, -1, -1, -1, -1, 13, 38, 39, 40, 41,
5814 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5815 52, 53, 54, 55, -1, -1, -1, -1, -1, -1,
5816 38, -1, -1, -1, -1, -1, -1, 69, -1, -1,
5817 -1, -1, 50, 51, -1, -1, -1, -1, 56, -1,
5818 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
5819 68, -1, 70, 71, 72, 73, -1, -1, -1, -1,
5820 78, 79, 80, 81, 82, 83, 84, -1, -1, -1,
5821 -1, -1, -1, 91, -1, -1, -1, -1, -1, -1,
5822 -1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
5823 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
5824 -1, 119, 120, 121, 122, 123, 124, -1, -1, 127,
5825 128, -1, -1, -1, -1, -1, -1, -1, -1, 137,
5826 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
5827 -1, -1, -1, -1, -1, -1, 154, -1, -1, -1,
5828 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
5829 168, 169, 170, -1, -1, -1, 174, -1, -1, 177,
5830 -1, -1, -1, -1, -1, 183, -1, -1, -1, -1,
5831 188, 189, 190, -1, -1, 193, 194, -1, -1, -1,
5832 -1, 199, 200, -1, 202, 203, 3, 4, 5, 6,
5833 7, -1, -1, -1, -1, -1, 13, 39, 40, 41,
5834 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5835 52, 53, 54, 55, -1, 57, -1, -1, -1, -1,
5836 -1, 38, -1, -1, -1, -1, -1, 69, -1, -1,
5837 -1, -1, -1, 50, 51, -1, -1, -1, -1, 56,
5838 -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
5839 67, 68, -1, 70, 71, 72, 73, -1, -1, -1,
5840 -1, 78, 79, 80, 81, 82, 83, 84, -1, -1,
5841 -1, -1, -1, -1, 91, -1, -1, -1, -1, -1,
5842 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1,
5843 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1,
5844 -1, -1, 119, 120, 121, 122, 123, 124, -1, -1,
5845 127, 128, -1, -1, -1, -1, -1, -1, -1, -1,
5846 137, 138, 139, 140, 141, -1, 143, 144, 145, 146,
5847 147, -1, -1, -1, -1, -1, -1, 154, -1, -1,
5848 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
5849 -1, 168, 169, 170, -1, -1, -1, 174, -1, -1,
5850 177, -1, -1, -1, -1, -1, 183, -1, -1, -1,
5851 -1, 188, 189, 190, -1, -1, 193, 194, 10, 11,
5852 12, -1, 199, 200, -1, 202, 203, 3, 4, 5,
5853 6, 7, -1, -1, -1, -1, -1, 13, 30, 31,
5854 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
5855 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
5856 52, 53, 54, 55, -1, 57, -1, -1, -1, -1,
5857 -1, -1, -1, -1, 50, 51, -1, 69, -1, -1,
5858 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
5859 66, 67, 68, -1, 70, 71, 72, 73, -1, -1,
5860 -1, -1, 78, 79, 80, 81, 82, 83, 84, -1,
5861 -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
5862 -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
5863 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1,
5864 -1, -1, -1, 119, 120, 121, 122, 123, 124, -1,
5865 -1, 127, 128, -1, -1, -1, -1, -1, -1, -1,
5866 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
5867 146, 147, -1, -1, -1, -1, -1, -1, 154, -1,
5868 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
5869 166, -1, 168, 169, 170, -1, -1, -1, 174, -1,
5870 -1, 177, -1, -1, 196, -1, -1, 183, -1, -1,
5871 -1, -1, 188, 189, 190, -1, -1, 193, 194, 10,
5872 11, 12, -1, 199, 200, -1, 202, 203, 3, 4,
5873 5, 6, 7, -1, -1, -1, -1, -1, 13, 30,
5874 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5875 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
5876 51, 52, 53, 54, 55, -1, 57, -1, -1, -1,
5877 -1, -1, -1, -1, -1, 50, 51, -1, 69, -1,
5878 -1, 56, -1, 58, 59, 60, 61, 62, 63, 64,
5879 65, 66, 67, 68, -1, 70, 71, 72, 73, -1,
5880 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
5881 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
5882 -1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
5883 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
5884 -1, -1, -1, -1, 119, 120, 121, 122, 123, 124,
5885 -1, -1, 127, 128, -1, -1, -1, -1, -1, -1,
5886 -1, -1, 137, 138, 139, 140, 141, -1, 143, 144,
5887 145, 146, 147, -1, -1, -1, -1, -1, -1, 154,
5888 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
5889 165, 166, -1, 168, 169, 170, -1, 3, 4, 174,
5890 6, 7, 177, -1, 10, 11, 12, 13, 183, -1,
5891 -1, -1, -1, 188, 189, 190, -1, -1, 193, 194,
5892 -1, 27, -1, 29, 199, 200, -1, 202, 203, 39,
5893 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
5894 50, 51, 52, 53, 54, 55, -1, 57, -1, -1,
5895 -1, 57, -1, -1, -1, -1, -1, -1, -1, 69,
5896 -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
5897 76, 77, -1, -1, -1, 81, -1, 83, 84, -1,
5898 -1, -1, -1, -1, -1, -1, 92, 93, 94, 95,
5899 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
5900 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
5901 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5902 126, -1, 128, -1, 130, 131, 132, 133, -1, -1,
5903 -1, 137, 138, 139, 140, 141, 142, -1, -1, -1,
5904 -1, -1, 3, 4, -1, 6, 7, -1, -1, 10,
5905 11, 12, 13, 159, -1, -1, -1, -1, -1, 165,
5906 166, -1, 168, 169, 170, 171, 27, 173, 29, -1,
5907 176, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5908 -1, -1, -1, -1, -1, -1, -1, 193, -1, -1,
5909 -1, 197, -1, 199, -1, -1, 57, -1, -1, -1,
5910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5911 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
5912 81, -1, 83, 84, -1, -1, -1, -1, -1, -1,
5913 -1, 92, 93, 94, 95, 96, 97, 98, 99, 100,
5914 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
5915 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
5916 121, 122, 123, 124, 125, 126, -1, 128, -1, 130,
5917 131, 132, 133, -1, -1, -1, 137, 138, 139, 140,
5918 141, 142, -1, -1, -1, -1, -1, -1, -1, -1,
5919 -1, -1, 3, 4, -1, 6, 7, -1, 159, 10,
5920 11, 12, 13, -1, 165, 166, -1, 168, 169, 170,
5921 171, -1, 173, -1, -1, 176, 27, -1, 29, -1,
5922 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5923 -1, -1, 193, -1, -1, -1, 197, -1, 199, -1,
5924 -1, -1, -1, -1, -1, -1, 57, -1, 59, -1,
5925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5926 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
5927 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5928 -1, 92, 93, 94, 95, 96, 97, 98, 99, 100,
5929 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
5930 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
5931 121, 122, 123, 124, 125, 126, -1, 128, -1, -1,
5932 131, 132, 133, -1, -1, -1, 137, 138, 139, 140,
5933 141, 142, -1, -1, -1, -1, -1, -1, -1, -1,
5934 -1, -1, -1, -1, -1, -1, -1, -1, 159, -1,
5935 -1, 162, 163, -1, 165, 166, -1, 168, 169, 170,
5936 171, -1, 173, -1, -1, 176, 3, 4, -1, 6,
5937 7, -1, 183, 10, 11, 12, 13, -1, -1, -1,
5938 -1, -1, 193, 194, -1, -1, -1, 198, -1, -1,
5939 27, -1, 29, 31, 31, 33, 34, 35, 36, 37,
5940 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5941 48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
5942 57, -1, 59, -1, -1, -1, -1, -1, -1, -1,
5943 -1, 69, -1, -1, 71, 72, 73, 74, 75, 76,
5944 77, -1, -1, -1, 81, -1, -1, -1, -1, -1,
5945 -1, -1, -1, -1, -1, 92, 93, 94, 95, 96,
5946 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
5947 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
5948 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5949 -1, 128, -1, -1, 131, 132, 133, -1, -1, -1,
5950 137, 138, 139, 140, 141, 142, -1, -1, -1, -1,
5951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5952 -1, -1, 159, -1, -1, 162, 163, -1, 165, 166,
5953 -1, 168, 169, 170, 171, -1, 173, -1, -1, 176,
5954 3, 4, -1, 6, 7, -1, 183, 10, 11, 12,
5955 13, -1, -1, -1, -1, -1, 193, 194, -1, -1,
5956 -1, 198, -1, -1, 27, -1, 29, -1, 31, 33,
5957 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5958 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
5959 54, 55, -1, 57, 57, -1, 59, -1, -1, -1,
5960 -1, -1, -1, -1, -1, 69, -1, -1, 71, 72,
5961 73, 74, 75, 76, 77, -1, -1, -1, 81, -1,
5962 -1, -1, -1, -1, -1, -1, -1, -1, -1, 92,
5963 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
5964 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
5965 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
5966 123, 124, 125, 126, -1, 128, -1, 130, 131, 132,
5967 133, -1, -1, -1, 137, 138, 139, 140, 141, 142,
5968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5969 -1, -1, -1, -1, -1, -1, 159, -1, -1, 162,
5970 163, -1, 165, 166, -1, 168, 169, 170, 171, -1,
5971 173, -1, -1, 176, 3, 4, -1, 6, 7, -1,
5972 183, 10, 11, 12, 13, -1, -1, -1, -1, -1,
5973 193, 194, -1, -1, -1, -1, -1, -1, 27, -1,
5974 29, -1, 31, 39, 40, 41, 42, 43, 44, 45,
5975 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
5976 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
5977 59, -1, -1, 69, -1, -1, -1, -1, -1, -1,
5978 -1, -1, 71, 72, 73, 74, 75, 76, 77, -1,
5979 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
5980 -1, -1, -1, 92, 93, 94, 95, 96, 97, 98,
5981 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
5982 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
5983 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
5984 -1, -1, 131, 132, 133, -1, -1, -1, 137, 138,
5985 139, 140, 141, 142, -1, -1, -1, -1, -1, -1,
5986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5987 159, -1, -1, 162, 163, -1, 165, 166, -1, 168,
5988 169, 170, 171, -1, 173, -1, -1, 176, -1, 3,
5989 4, -1, 6, 7, 183, 184, 10, 11, 12, 13,
5990 -1, -1, -1, -1, 193, 194, -1, -1, -1, -1,
5991 -1, -1, -1, 27, -1, 29, -1, 31, 39, 40,
5992 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
5993 51, 52, 53, 54, 55, -1, -1, -1, -1, -1,
5994 -1, -1, -1, 57, -1, 59, -1, -1, 69, -1,
5995 -1, -1, -1, -1, -1, -1, -1, 71, 72, 73,
5996 74, 75, 76, 77, -1, -1, -1, 81, -1, -1,
5997 -1, -1, -1, -1, -1, -1, -1, -1, 92, 93,
5998 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
5999 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
6000 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
6001 124, 125, 126, -1, 128, -1, -1, 131, 132, 133,
6002 -1, -1, -1, 137, 138, 139, 140, 141, 142, -1,
6003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6004 -1, -1, -1, -1, -1, 159, -1, -1, 162, 163,
6005 -1, 165, 166, -1, 168, 169, 170, 171, -1, 173,
6006 -1, -1, 176, 3, 4, 5, 6, 7, -1, 183,
6007 10, 11, 12, 13, -1, -1, -1, -1, -1, 193,
6008 194, -1, -1, -1, -1, -1, -1, 27, 28, 29,
6009 -1, 30, 31, -1, 33, 34, 35, 36, 37, 38,
6010 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
6011 49, 50, 51, 52, 53, 54, 55, 57, 57, -1,
6012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6013 69, 71, 72, 73, 74, 75, 76, 77, -1, -1,
6014 -1, 81, -1, -1, -1, -1, -1, -1, -1, -1,
6015 -1, -1, 92, 93, 94, 95, 96, 97, 98, 99,
6016 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
6017 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
6018 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
6019 130, 131, 132, 133, -1, -1, -1, 137, 138, 139,
6020 140, 141, -1, 143, 144, 145, 146, 147, -1, -1,
6021 -1, -1, -1, -1, -1, -1, -1, -1, -1, 159,
6022 160, 161, -1, -1, -1, 165, 166, -1, 168, 169,
6023 170, 171, -1, 173, 174, -1, 176, -1, -1, -1,
6024 -1, -1, -1, 183, 184, -1, 186, -1, 188, 189,
6025 -1, 3, 4, 193, 6, 7, 11, 12, 10, 11,
6026 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
6027 -1, -1, -1, -1, -1, 27, 31, 29, -1, 34,
6028 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
6029 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6030 55, -1, -1, -1, -1, 57, -1, -1, -1, -1,
6031 -1, -1, -1, -1, 69, -1, -1, -1, -1, 71,
6032 72, 73, 74, 75, 76, 77, -1, -1, -1, 81,
6033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6034 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
6035 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
6036 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
6037 122, 123, 124, 125, 126, -1, 128, -1, 130, 131,
6038 132, 133, -1, -1, -1, 137, 138, 139, 140, 141,
6039 142, -1, -1, -1, -1, -1, 3, 4, -1, 6,
6040 7, -1, -1, 10, 11, 12, 13, 159, -1, -1,
6041 -1, -1, -1, 165, 166, -1, 168, 169, 170, 171,
6042 27, 173, 29, -1, 176, -1, -1, -1, -1, -1,
6043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6044 -1, 193, -1, -1, -1, -1, -1, -1, -1, -1,
6045 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6046 -1, -1, -1, -1, 71, 72, 73, 74, 75, 76,
6047 77, -1, -1, -1, 81, -1, -1, -1, -1, -1,
6048 -1, -1, -1, -1, -1, 92, 93, 94, 95, 96,
6049 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
6050 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
6051 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
6052 -1, 128, -1, 130, 131, 132, 133, -1, -1, -1,
6053 137, 138, 139, 140, 141, 142, -1, -1, -1, -1,
6054 -1, 3, 4, -1, 6, 7, -1, -1, 10, 11,
6055 12, 13, 159, -1, -1, -1, -1, -1, 165, 166,
6056 -1, 168, 169, 170, 171, 27, 173, 29, -1, 176,
6057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6058 -1, -1, -1, -1, -1, -1, 193, -1, -1, -1,
6059 -1, -1, -1, -1, -1, 57, -1, -1, -1, -1,
6060 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
6061 72, 73, 74, 75, 76, 77, -1, -1, -1, 81,
6062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6063 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
6064 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
6065 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
6066 122, 123, 124, 125, 126, -1, 128, -1, -1, 131,
6067 132, 133, -1, -1, -1, 137, 138, 139, 140, 141,
6068 142, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6069 -1, -1, -1, -1, -1, -1, -1, 159, -1, -1,
6070 -1, -1, -1, 165, 166, -1, 168, 169, 170, 171,
6071 -1, 173, -1, -1, 176, 10, 11, 12, -1, -1,
6072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6073 -1, 193, -1, -1, -1, 30, 31, -1, 33, 34,
6074 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
6075 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6076 55, -1, 57, 10, 11, 12, -1, -1, -1, -1,
6077 -1, -1, -1, -1, 69, -1, -1, -1, -1, -1,
6078 -1, -1, -1, 30, 31, -1, 33, 34, 35, 36,
6079 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
6080 47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
6081 57, 10, 11, 12, -1, -1, -1, -1, -1, -1,
6082 -1, -1, 69, -1, -1, -1, -1, -1, -1, -1,
6083 -1, 30, 31, -1, 33, 34, 35, 36, 37, 38,
6084 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
6085 49, 50, 51, 52, 53, 54, 55, -1, 57, -1,
6086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6087 69, -1, -1, -1, -1, -1, -1, -1, -1, 10,
6088 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
6089 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
6090 31, 196, 33, 34, 35, 36, 37, 38, 39, 40,
6091 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
6092 51, 52, 53, 54, 55, -1, 57, 10, 11, 12,
6093 -1, -1, -1, -1, -1, -1, -1, -1, 69, -1,
6094 -1, -1, -1, -1, -1, -1, -1, 30, 31, 196,
6095 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
6096 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
6097 53, 54, 55, -1, 57, 10, 11, 12, -1, -1,
6098 -1, -1, -1, -1, -1, -1, 69, -1, -1, -1,
6099 -1, -1, -1, -1, -1, 30, 31, 196, 33, 34,
6100 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
6101 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6102 55, -1, 57, -1, -1, -1, -1, -1, -1, -1,
6103 -1, -1, -1, -1, 69, -1, -1, -1, -1, -1,
6104 -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
6105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6106 -1, 31, -1, 30, 31, 196, 33, 34, 35, 36,
6107 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
6108 47, 48, 49, 50, 51, 52, 53, 54, 55, 59,
6109 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6110 -1, -1, 69, 32, -1, -1, -1, -1, -1, -1,
6111 -1, 81, -1, 196, -1, -1, -1, -1, -1, -1,
6112 -1, 50, 51, -1, -1, -1, -1, 56, -1, 58,
6113 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
6114 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
6115 79, 80, 81, -1, -1, -1, -1, -1, -1, -1,
6116 195, -1, 91, -1, -1, -1, -1, -1, 138, 139,
6117 140, 141, 142, -1, 103, -1, -1, -1, -1, -1,
6118 -1, -1, -1, -1, -1, -1, -1, -1, -1, 159,
6119 -1, -1, 162, 163, -1, 165, 166, -1, 168, 169,
6120 170, -1, -1, -1, -1, -1, -1, -1, -1, 138,
6121 139, 140, 141, 183, 143, 144, 145, 146, 147, -1,
6122 -1, -1, -1, 193, 194, 154, 38, -1, 195, -1,
6123 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
6124 169, 170, -1, -1, -1, 174, -1, -1, -1, -1,
6125 -1, -1, -1, -1, 183, -1, -1, -1, 70, 188,
6126 -1, -1, -1, -1, 193, 194, 78, 79, 80, 81,
6127 -1, 83, 84, -1, -1, -1, -1, -1, -1, 91,
6128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6129 -1, 103, -1, -1, -1, -1, -1, -1, -1, -1,
6130 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6131 -1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
6132 -1, -1, -1, -1, -1, 137, 138, 139, 140, 141,
6133 -1, 143, 144, 145, 146, 147, -1, -1, -1, -1,
6134 -1, -1, 154, -1, -1, -1, -1, 159, 160, 161,
6135 162, 163, -1, 165, 166, -1, 168, 169, 170, -1,
6136 50, 51, 174, -1, -1, -1, 56, -1, 58, -1,
6137 -1, -1, -1, -1, -1, -1, 188, -1, -1, -1,
6138 70, 193, 194, -1, -1, -1, -1, 199, 78, 79,
6139 80, 81, -1, 10, 11, 12, -1, -1, -1, -1,
6140 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
6141 -1, -1, -1, 103, 31, -1, -1, 34, 35, 36,
6142 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
6143 47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
6144 -1, -1, -1, -1, -1, -1, -1, -1, 138, 139,
6145 140, 141, 69, 143, 144, 145, 146, 147, -1, -1,
6146 -1, -1, -1, -1, 154, -1, -1, -1, -1, 159,
6147 160, 161, 162, 163, -1, 165, 166, -1, 168, 169,
6148 170, 70, -1, -1, 174, -1, -1, -1, -1, 78,
6149 79, 80, 81, 183, 83, 84, -1, -1, 188, -1,
6150 -1, -1, 91, 193, 194, -1, -1, -1, -1, -1,
6151 -1, -1, -1, -1, 103, -1, -1, -1, -1, 136,
6152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6153 -1, -1, -1, -1, -1, 124, -1, -1, -1, -1,
6154 -1, -1, -1, -1, -1, -1, -1, -1, -1, 138,
6155 139, 140, 141, -1, 143, 144, 145, 146, 147, -1,
6156 -1, -1, -1, -1, -1, 154, -1, -1, -1, -1,
6157 159, 160, 161, 162, 163, -1, 165, 166, -1, 168,
6158 169, 170, 70, -1, -1, 174, -1, -1, -1, -1,
6159 78, 79, 80, 81, -1, 83, 84, -1, -1, 188,
6160 -1, -1, -1, 91, 193, 194, -1, -1, 197, -1,
6161 199, -1, -1, -1, -1, 103, -1, -1, -1, -1,
6162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6163 -1, -1, -1, -1, -1, -1, 124, -1, -1, -1,
6164 -1, -1, -1, -1, -1, -1, -1, -1, -1, 137,
6165 138, 139, 140, 141, -1, 143, 144, 145, 146, 147,
6166 -1, -1, -1, -1, -1, -1, 154, -1, -1, -1,
6167 -1, 159, 160, 161, 162, 163, -1, 165, 166, -1,
6168 168, 169, 170, 70, -1, 72, 174, -1, -1, -1,
6169 -1, 78, 79, 80, 81, -1, 83, 84, -1, -1,
6170 188, -1, -1, -1, 91, 193, 194, -1, -1, -1,
6171 -1, 199, -1, -1, -1, -1, 103, -1, -1, -1,
6172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6173 -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
6174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6175 -1, 138, 139, 140, 141, -1, 143, 144, 145, 146,
6176 147, -1, -1, -1, -1, -1, -1, 154, -1, -1,
6177 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
6178 -1, 168, 169, 170, 70, -1, -1, 174, -1, -1,
6179 -1, -1, 78, 79, 80, 81, -1, 83, 84, -1,
6180 -1, 188, -1, -1, -1, 91, 193, 194, -1, -1,
6181 -1, -1, 199, -1, -1, -1, -1, 103, -1, -1,
6182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6183 -1, -1, -1, -1, -1, -1, -1, -1, 124, -1,
6184 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6185 -1, 137, 138, 139, 140, 141, -1, 143, 144, 145,
6186 146, 147, -1, -1, -1, -1, -1, -1, 154, -1,
6187 -1, -1, -1, 159, 160, 161, 162, 163, -1, 165,
6188 166, -1, 168, 169, 170, 70, -1, -1, 174, -1,
6189 -1, -1, -1, 78, 79, 80, 81, -1, 83, 84,
6190 -1, -1, 188, -1, -1, -1, 91, 193, 194, -1,
6191 -1, -1, -1, 199, -1, -1, -1, -1, 103, -1,
6192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6193 -1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
6194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6195 -1, -1, -1, 138, 139, 140, 141, -1, 143, 144,
6196 145, 146, 147, -1, -1, -1, -1, -1, -1, 154,
6197 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
6198 165, 166, -1, 168, 169, 170, -1, -1, -1, 174,
6199 -1, -1, 10, 11, 12, -1, -1, -1, -1, -1,
6200 -1, -1, -1, 188, -1, -1, -1, -1, 193, 194,
6201 -1, -1, 30, 31, 199, 33, 34, 35, 36, 37,
6202 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
6203 48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
6204 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
6205 -1, 69, -1, -1, -1, -1, -1, -1, -1, -1,
6206 30, 31, -1, 33, 34, 35, 36, 37, 38, 39,
6207 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
6208 50, 51, 52, 53, 54, 55, -1, 57, -1, -1,
6209 -1, -1, -1, -1, -1, -1, 10, 11, 12, 69,
6210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6211 -1, -1, -1, -1, -1, -1, 30, 31, 136, 33,
6212 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
6213 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
6214 54, 55, -1, 57, 10, 11, 12, -1, -1, -1,
6215 -1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
6216 -1, -1, -1, -1, 30, 31, 136, 33, 34, 35,
6217 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
6218 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
6219 -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
6220 10, 11, 12, 69, -1, -1, -1, -1, -1, -1,
6221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6222 30, 31, 136, 33, 34, 35, 36, 37, 38, 39,
6223 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
6224 50, 51, 52, 53, 54, 55, -1, 57, 10, 11,
6225 12, -1, -1, -1, -1, -1, -1, -1, -1, 69,
6226 -1, -1, -1, -1, -1, -1, -1, -1, 30, 31,
6227 136, 33, 34, 35, 36, 37, 38, 39, 40, 41,
6228 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
6229 52, 53, 54, 55, -1, 57, -1, -1, -1, -1,
6230 -1, -1, -1, -1, 10, 11, 12, 69, -1, -1,
6231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6232 -1, -1, -1, -1, 30, 31, 136, 33, 34, 35,
6233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
6234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
6235 -1, 57, 10, 11, 12, -1, -1, -1, -1, -1,
6236 -1, -1, -1, 69, -1, -1, -1, -1, -1, -1,
6237 -1, -1, -1, 31, 136, -1, 34, 35, 36, 37,
6238 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
6239 48, 49, 50, 51, 52, 53, 54, 55, -1, -1,
6240 -1, -1, -1, -1, -1, -1, -1, 10, 11, 12,
6241 -1, 69, -1, -1, -1, -1, -1, -1, -1, -1,
6242 -1, -1, -1, -1, -1, -1, -1, -1, 31, -1,
6243 136, 34, 35, 36, 37, 38, 39, 40, 41, 42,
6244 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
6245 53, 54, 55, -1, -1, 10, 11, 12, -1, -1,
6246 -1, -1, -1, -1, -1, -1, 69, -1, -1, -1,
6247 -1, -1, -1, -1, -1, -1, 31, -1, 136, 34,
6248 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
6249 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6250 55, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6251 10, 11, 12, -1, 69, -1, -1, -1, -1, -1,
6252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6253 -1, 31, -1, 136, 34, 35, 36, 37, 38, 39,
6254 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
6255 50, 51, 52, 53, 54, 55, -1, -1, 10, 11,
6256 12, -1, -1, -1, -1, -1, -1, -1, -1, 69,
6257 -1, -1, -1, -1, -1, -1, -1, -1, -1, 31,
6258 -1, 136, 34, 35, 36, 37, 38, 39, 40, 41,
6259 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
6260 52, 53, 54, 55, -1, 78, 79, 80, 81, -1,
6261 83, 84, -1, -1, -1, -1, -1, 69, 91, -1,
6262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6263 103, -1, -1, -1, -1, -1, 136, -1, -1, -1,
6264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6265 -1, 124, -1, -1, -1, -1, -1, 130, -1, -1,
6266 -1, -1, -1, -1, -1, -1, 139, 140, 141, -1,
6267 143, 144, 145, 146, 147, -1, -1, -1, -1, -1,
6268 -1, 154, -1, -1, 136, -1, 159, 160, 161, 162,
6269 163, -1, 165, 166, -1, 168, 169, 170, -1, -1,
6270 -1, 174, -1, 78, 79, 80, 81, -1, 83, 84,
6271 -1, -1, -1, -1, -1, 188, 91, -1, -1, -1,
6272 193, 194, -1, -1, -1, -1, 199, -1, 103, -1,
6273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6274 -1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
6275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6276 -1, -1, -1, -1, 139, 140, 141, -1, 143, 144,
6277 145, 146, 147, -1, -1, -1, -1, -1, -1, 154,
6278 -1, -1, -1, -1, 159, 160, 161, 162, 163, -1,
6279 165, 166, -1, 168, 169, 170, -1, -1, -1, 174,
6280 -1, 78, 79, 80, 81, -1, 83, 84, -1, -1,
6281 -1, -1, -1, 188, 91, -1, -1, -1, 193, 194,
6282 -1, -1, -1, -1, 199, -1, 103, -1, -1, -1,
6283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6284 -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
6285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6286 -1, -1, 139, 140, 141, -1, 143, 144, 145, 146,
6287 147, -1, -1, -1, -1, -1, -1, 154, -1, -1,
6288 -1, -1, 159, 160, 161, 162, 163, -1, 165, 166,
6289 -1, 168, 169, 170, -1, -1, -1, 174, -1, -1,
6290 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
6291 -1, 188, -1, -1, -1, -1, 193, 194, -1, -1,
6292 30, 31, 199, 33, 34, 35, 36, 37, 38, 39,
6293 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
6294 50, 51, 52, 53, 54, 55, -1, 57, 10, 11,
6295 12, -1, -1, -1, -1, -1, -1, -1, -1, 69,
6296 -1, -1, -1, -1, -1, -1, -1, -1, -1, 31,
6297 32, -1, 34, 35, 36, 37, 38, 39, 40, 41,
6298 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
6299 52, 53, 54, 55, 10, 11, 12, -1, -1, -1,
6300 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
6301 -1, -1, -1, -1, -1, 31, -1, -1, 34, 35,
6302 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
6303 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
6304 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6305 -1, -1, -1, 69, -1, -1, -1, -1, 30, 31,
6306 -1, 33, 34, 35, 36, 37, 38, 39, 40, 41,
6307 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
6308 52, 53, 54, 55, 12, 57, -1, -1, -1, -1,
6309 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
6310 -1, -1, -1, 31, -1, -1, 34, 35, 36, 37,
6311 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
6312 48, 49, 50, 51, 52, 53, 54, 55, -1, -1,
6313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6314 -1, 69
6317 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
6318 symbol of state STATE-NUM. */
6319 static const yytype_uint16 yystos[] =
6321 0, 205, 206, 0, 207, 3, 4, 5, 6, 7,
6322 13, 27, 28, 29, 49, 50, 51, 56, 58, 59,
6323 60, 61, 62, 63, 64, 65, 66, 67, 68, 70,
6324 71, 72, 73, 74, 78, 79, 80, 81, 82, 83,
6325 84, 86, 87, 91, 92, 93, 94, 96, 98, 100,
6326 103, 104, 108, 109, 110, 111, 112, 113, 114, 116,
6327 117, 118, 119, 120, 121, 122, 123, 124, 126, 127,
6328 128, 129, 130, 131, 137, 138, 139, 140, 141, 143,
6329 144, 145, 146, 147, 151, 154, 159, 160, 161, 162,
6330 163, 165, 166, 168, 169, 170, 171, 174, 177, 183,
6331 184, 186, 188, 189, 190, 193, 194, 196, 197, 199,
6332 200, 202, 203, 208, 211, 221, 222, 223, 224, 225,
6333 228, 244, 245, 249, 252, 259, 265, 325, 326, 334,
6334 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
6335 349, 352, 364, 365, 372, 375, 378, 384, 386, 387,
6336 389, 399, 400, 401, 403, 408, 413, 433, 441, 443,
6337 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
6338 454, 456, 469, 471, 473, 122, 123, 124, 137, 159,
6339 169, 194, 211, 244, 325, 346, 445, 346, 194, 346,
6340 346, 346, 108, 346, 346, 346, 431, 432, 346, 346,
6341 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
6342 81, 83, 91, 124, 139, 140, 141, 154, 194, 222,
6343 365, 400, 403, 408, 445, 448, 445, 38, 346, 460,
6344 461, 346, 124, 130, 194, 222, 257, 400, 401, 402,
6345 404, 408, 442, 443, 444, 452, 457, 458, 194, 335,
6346 405, 194, 335, 356, 336, 346, 230, 335, 194, 194,
6347 194, 335, 196, 346, 211, 196, 346, 3, 4, 6,
6348 7, 10, 11, 12, 13, 27, 29, 31, 57, 59,
6349 71, 72, 73, 74, 75, 76, 77, 92, 93, 94,
6350 95, 96, 97, 98, 99, 100, 101, 102, 104, 105,
6351 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
6352 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
6353 126, 128, 130, 131, 132, 133, 137, 138, 142, 159,
6354 163, 171, 173, 176, 183, 194, 211, 212, 213, 224,
6355 474, 494, 495, 498, 196, 341, 343, 346, 197, 237,
6356 346, 111, 112, 162, 214, 215, 216, 217, 221, 83,
6357 199, 291, 292, 123, 130, 122, 130, 83, 293, 194,
6358 194, 194, 194, 211, 263, 477, 194, 194, 70, 70,
6359 70, 336, 83, 90, 155, 156, 157, 466, 467, 162,
6360 197, 221, 221, 211, 264, 477, 163, 194, 477, 477,
6361 83, 190, 197, 357, 27, 334, 338, 346, 347, 445,
6362 449, 226, 197, 90, 406, 466, 90, 466, 466, 32,
6363 162, 179, 478, 194, 9, 196, 38, 243, 163, 262,
6364 477, 124, 189, 244, 326, 196, 196, 196, 196, 196,
6365 196, 196, 196, 10, 11, 12, 30, 31, 33, 34,
6366 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
6367 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
6368 55, 57, 69, 196, 70, 70, 197, 158, 131, 169,
6369 171, 184, 186, 265, 324, 325, 14, 15, 16, 17,
6370 18, 19, 20, 21, 22, 23, 24, 25, 26, 67,
6371 68, 134, 135, 435, 70, 197, 440, 194, 194, 70,
6372 197, 199, 453, 194, 243, 244, 14, 346, 196, 136,
6373 48, 211, 430, 90, 334, 347, 158, 445, 136, 201,
6374 9, 415, 258, 334, 347, 445, 478, 158, 194, 407,
6375 435, 440, 195, 346, 32, 228, 8, 358, 9, 196,
6376 228, 229, 336, 337, 346, 211, 277, 232, 196, 196,
6377 196, 138, 142, 498, 498, 179, 497, 194, 111, 498,
6378 14, 158, 138, 142, 159, 211, 213, 196, 196, 196,
6379 238, 115, 176, 196, 214, 216, 214, 216, 221, 197,
6380 9, 416, 196, 102, 162, 197, 445, 9, 196, 130,
6381 130, 14, 9, 196, 445, 470, 336, 334, 347, 445,
6382 448, 449, 195, 179, 255, 137, 445, 459, 460, 346,
6383 366, 367, 336, 381, 381, 196, 70, 435, 155, 467,
6384 82, 346, 445, 90, 155, 467, 221, 210, 196, 197,
6385 250, 260, 390, 392, 91, 194, 199, 359, 360, 362,
6386 403, 451, 453, 471, 14, 102, 472, 353, 354, 355,
6387 287, 288, 433, 434, 195, 195, 195, 195, 195, 198,
6388 227, 228, 245, 252, 259, 433, 346, 200, 202, 203,
6389 211, 479, 480, 498, 38, 172, 289, 290, 346, 474,
6390 194, 477, 253, 243, 346, 346, 346, 346, 32, 346,
6391 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
6392 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
6393 346, 346, 346, 404, 346, 346, 455, 455, 346, 462,
6394 463, 130, 197, 212, 213, 452, 453, 263, 211, 264,
6395 477, 477, 262, 244, 38, 338, 341, 343, 346, 346,
6396 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
6397 346, 163, 197, 211, 436, 437, 438, 439, 452, 455,
6398 346, 289, 289, 455, 346, 459, 243, 195, 346, 194,
6399 429, 9, 415, 195, 195, 38, 346, 38, 346, 407,
6400 195, 195, 195, 452, 289, 197, 211, 436, 437, 452,
6401 195, 226, 281, 197, 343, 346, 346, 94, 32, 228,
6402 275, 196, 28, 102, 14, 9, 195, 32, 197, 278,
6403 498, 31, 91, 224, 491, 492, 493, 194, 9, 50,
6404 51, 56, 58, 70, 138, 139, 140, 141, 183, 194,
6405 222, 373, 376, 379, 385, 400, 408, 409, 411, 412,
6406 211, 496, 226, 194, 236, 197, 196, 197, 196, 102,
6407 162, 111, 112, 162, 217, 218, 219, 220, 221, 217,
6408 211, 346, 292, 409, 83, 9, 195, 195, 195, 195,
6409 195, 195, 195, 196, 50, 51, 487, 489, 490, 132,
6410 268, 194, 9, 195, 195, 136, 201, 9, 415, 9,
6411 415, 201, 201, 83, 85, 211, 468, 211, 70, 198,
6412 198, 207, 209, 32, 133, 267, 178, 54, 163, 178,
6413 394, 347, 136, 9, 415, 195, 158, 498, 498, 14,
6414 358, 287, 226, 191, 9, 416, 498, 499, 435, 440,
6415 435, 198, 9, 415, 180, 445, 346, 195, 9, 416,
6416 14, 350, 246, 132, 266, 194, 477, 346, 32, 201,
6417 201, 136, 198, 9, 415, 346, 478, 194, 256, 251,
6418 261, 14, 472, 254, 243, 72, 445, 346, 478, 201,
6419 198, 195, 195, 201, 198, 195, 50, 51, 70, 78,
6420 79, 80, 91, 138, 139, 140, 141, 154, 183, 211,
6421 374, 377, 380, 400, 411, 418, 420, 421, 425, 428,
6422 211, 445, 445, 136, 266, 435, 440, 195, 346, 282,
6423 75, 76, 283, 226, 335, 226, 337, 102, 38, 137,
6424 272, 445, 409, 211, 32, 228, 276, 196, 279, 196,
6425 279, 9, 415, 91, 136, 158, 9, 415, 195, 172,
6426 479, 480, 481, 479, 409, 409, 409, 409, 409, 414,
6427 417, 194, 70, 70, 70, 194, 409, 158, 197, 10,
6428 11, 12, 31, 34, 35, 36, 37, 38, 39, 40,
6429 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
6430 51, 52, 53, 54, 55, 69, 158, 478, 198, 400,
6431 197, 240, 216, 216, 211, 217, 217, 221, 9, 416,
6432 198, 198, 14, 445, 196, 180, 9, 415, 211, 269,
6433 400, 197, 459, 137, 445, 14, 38, 346, 346, 201,
6434 346, 198, 207, 498, 269, 197, 393, 14, 195, 346,
6435 359, 452, 196, 498, 191, 198, 32, 485, 434, 38,
6436 83, 172, 436, 437, 439, 436, 437, 498, 38, 172,
6437 346, 409, 287, 194, 400, 267, 351, 247, 346, 346,
6438 346, 198, 194, 289, 268, 32, 267, 498, 14, 266,
6439 477, 404, 198, 194, 14, 78, 79, 80, 211, 419,
6440 419, 421, 423, 424, 52, 194, 70, 70, 70, 90,
6441 155, 194, 158, 9, 415, 195, 429, 38, 346, 267,
6442 198, 75, 76, 284, 335, 228, 198, 196, 95, 196,
6443 272, 445, 194, 136, 271, 14, 226, 279, 105, 106,
6444 107, 279, 198, 498, 180, 136, 498, 211, 491, 9,
6445 195, 415, 136, 201, 9, 415, 414, 368, 369, 409,
6446 382, 409, 410, 382, 359, 361, 363, 195, 130, 212,
6447 409, 464, 465, 409, 409, 409, 32, 409, 409, 409,
6448 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
6449 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
6450 409, 496, 83, 241, 198, 198, 220, 196, 409, 490,
6451 102, 103, 486, 488, 9, 297, 195, 194, 338, 343,
6452 346, 445, 136, 201, 198, 472, 297, 164, 177, 197,
6453 389, 396, 164, 197, 395, 136, 196, 485, 498, 358,
6454 499, 83, 172, 14, 83, 478, 445, 346, 195, 287,
6455 197, 287, 194, 136, 194, 289, 195, 197, 498, 197,
6456 196, 498, 267, 248, 407, 289, 136, 201, 9, 415,
6457 420, 423, 370, 371, 421, 383, 421, 422, 383, 155,
6458 359, 426, 427, 81, 421, 445, 197, 335, 32, 77,
6459 228, 196, 337, 271, 459, 272, 195, 409, 101, 105,
6460 196, 346, 32, 196, 280, 198, 180, 498, 136, 172,
6461 32, 195, 409, 409, 195, 201, 9, 415, 136, 201,
6462 9, 415, 201, 136, 9, 415, 195, 136, 198, 9,
6463 415, 409, 32, 195, 226, 196, 196, 211, 498, 498,
6464 486, 400, 4, 112, 117, 123, 125, 165, 166, 168,
6465 198, 298, 323, 324, 325, 330, 331, 332, 333, 433,
6466 459, 38, 346, 198, 197, 198, 54, 346, 346, 346,
6467 358, 38, 83, 172, 14, 83, 346, 194, 485, 195,
6468 297, 195, 287, 346, 289, 195, 297, 472, 297, 196,
6469 197, 194, 195, 421, 421, 195, 201, 9, 415, 136,
6470 201, 9, 415, 201, 136, 195, 9, 415, 297, 32,
6471 226, 196, 195, 195, 195, 233, 196, 196, 280, 226,
6472 498, 498, 136, 409, 409, 409, 409, 359, 409, 409,
6473 409, 197, 198, 488, 132, 133, 184, 212, 475, 498,
6474 270, 400, 112, 333, 31, 125, 138, 142, 163, 169,
6475 307, 308, 309, 310, 400, 167, 315, 316, 128, 194,
6476 211, 317, 318, 299, 244, 498, 9, 196, 9, 196,
6477 196, 472, 324, 195, 445, 294, 163, 391, 198, 198,
6478 83, 172, 14, 83, 346, 289, 117, 348, 485, 198,
6479 485, 195, 195, 198, 197, 198, 297, 287, 136, 421,
6480 421, 421, 421, 359, 198, 226, 231, 234, 32, 228,
6481 274, 226, 195, 409, 136, 136, 136, 226, 400, 400,
6482 477, 14, 212, 9, 196, 197, 475, 472, 310, 179,
6483 197, 9, 196, 3, 4, 5, 6, 7, 10, 11,
6484 12, 13, 27, 28, 29, 57, 71, 72, 73, 74,
6485 75, 76, 77, 92, 93, 94, 95, 96, 97, 98,
6486 99, 100, 101, 102, 104, 105, 106, 107, 108, 109,
6487 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
6488 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
6489 130, 131, 132, 133, 137, 138, 143, 144, 145, 146,
6490 147, 159, 160, 161, 171, 173, 174, 176, 183, 184,
6491 186, 188, 189, 211, 397, 398, 9, 196, 163, 167,
6492 211, 318, 319, 320, 196, 83, 329, 243, 300, 475,
6493 475, 14, 244, 198, 295, 296, 475, 14, 83, 346,
6494 195, 194, 485, 196, 197, 321, 348, 485, 294, 198,
6495 195, 421, 136, 136, 32, 228, 273, 274, 226, 409,
6496 409, 409, 198, 196, 196, 409, 400, 303, 498, 311,
6497 312, 408, 308, 14, 32, 51, 313, 316, 9, 36,
6498 195, 31, 50, 53, 14, 9, 196, 213, 476, 329,
6499 14, 498, 243, 196, 14, 346, 38, 83, 388, 197,
6500 226, 485, 321, 198, 485, 421, 421, 226, 99, 239,
6501 198, 211, 224, 304, 305, 306, 9, 415, 9, 415,
6502 198, 409, 398, 398, 59, 314, 319, 319, 31, 50,
6503 53, 409, 83, 179, 194, 196, 409, 477, 409, 83,
6504 9, 416, 226, 198, 197, 321, 97, 196, 115, 235,
6505 158, 102, 498, 180, 408, 170, 14, 487, 301, 194,
6506 38, 83, 195, 198, 226, 196, 194, 176, 242, 211,
6507 324, 325, 180, 409, 180, 285, 286, 434, 302, 83,
6508 198, 400, 240, 173, 211, 196, 195, 9, 416, 119,
6509 120, 121, 327, 328, 285, 83, 270, 196, 485, 434,
6510 499, 195, 195, 196, 193, 482, 327, 38, 83, 172,
6511 485, 197, 483, 484, 498, 196, 197, 322, 499, 83,
6512 172, 14, 83, 482, 226, 9, 416, 14, 486, 226,
6513 38, 83, 172, 14, 83, 346, 322, 198, 484, 498,
6514 198, 83, 172, 14, 83, 346, 14, 83, 346, 346
6517 #define yyerrok (yyerrstatus = 0)
6518 #define yyclearin (yychar = YYEMPTY)
6519 #define YYEMPTY (-2)
6520 #define YYEOF 0
6522 #define YYACCEPT goto yyacceptlab
6523 #define YYABORT goto yyabortlab
6524 #define YYERROR goto yyerrorlab
6527 /* Like YYERROR except do call yyerror. This remains here temporarily
6528 to ease the transition to the new meaning of YYERROR, for GCC.
6529 Once GCC version 2 has supplanted version 1, this can go. */
6531 #define YYFAIL goto yyerrlab
6533 #define YYRECOVERING() (!!yyerrstatus)
6535 #define YYBACKUP(Token, Value) \
6536 do \
6537 if (yychar == YYEMPTY && yylen == 1) \
6539 yychar = (Token); \
6540 yylval = (Value); \
6541 yytoken = YYTRANSLATE (yychar); \
6542 YYPOPSTACK (1); \
6543 goto yybackup; \
6545 else \
6547 yyerror (&yylloc, _p, YY_("syntax error: cannot back up")); \
6548 YYERROR; \
6550 while (YYID (0))
6553 #define YYTERROR 1
6554 #define YYERRCODE 256
6557 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
6558 If N is 0, then set CURRENT to the empty location which ends
6559 the previous symbol: RHS[0] (always defined). */
6561 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
6562 #ifndef YYLLOC_DEFAULT
6563 # define YYLLOC_DEFAULT(Current, Rhs, N) \
6564 do \
6565 if (YYID (N)) \
6567 (Current).line0 = YYRHSLOC (Rhs, 1).line0; \
6568 (Current).char0 = YYRHSLOC (Rhs, 1).char0; \
6569 (Current).line1 = YYRHSLOC (Rhs, N).line1; \
6570 (Current).char1 = YYRHSLOC (Rhs, N).char1; \
6572 else \
6574 (Current).line0 = (Current).line1 = \
6575 YYRHSLOC (Rhs, 0).line1; \
6576 (Current).char0 = (Current).char1 = \
6577 YYRHSLOC (Rhs, 0).char1; \
6579 while (YYID (0))
6580 #endif
6583 /* YY_LOCATION_PRINT -- Print the location on the stream.
6584 This macro was not mandated originally: define only if we know
6585 we won't break user code: when these are the locations we know. */
6587 #ifndef YY_LOCATION_PRINT
6588 # if YYLTYPE_IS_TRIVIAL
6589 # define YY_LOCATION_PRINT(File, Loc) \
6590 fprintf (File, "%d.%d-%d.%d", \
6591 (Loc).line0, (Loc).char0, \
6592 (Loc).line1, (Loc).char1)
6593 # else
6594 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
6595 # endif
6596 #endif
6599 /* YYLEX -- calling `yylex' with the right arguments. */
6601 #ifdef YYLEX_PARAM
6602 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
6603 #else
6604 # define YYLEX yylex (&yylval, &yylloc, _p)
6605 #endif
6607 /* Enable debugging if requested. */
6608 #if YYDEBUG
6610 # ifndef YYFPRINTF
6611 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
6612 # define YYFPRINTF fprintf
6613 # endif
6615 # define YYDPRINTF(Args) \
6616 do { \
6617 if (yydebug) \
6618 YYFPRINTF Args; \
6619 } while (YYID (0))
6621 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
6622 do { \
6623 if (yydebug) \
6625 YYFPRINTF (stderr, "%s ", Title); \
6626 yy_symbol_print (stderr, \
6627 Type, Value, Location, _p); \
6628 YYFPRINTF (stderr, "\n"); \
6630 } while (YYID (0))
6633 /*--------------------------------.
6634 | Print this symbol on YYOUTPUT. |
6635 `--------------------------------*/
6637 /*ARGSUSED*/
6638 #if (defined __STDC__ || defined __C99__FUNC__ \
6639 || defined __cplusplus || defined _MSC_VER)
6640 static void
6641 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
6642 #else
6643 static void
6644 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
6645 FILE *yyoutput;
6646 int yytype;
6647 YYSTYPE const * const yyvaluep;
6648 YYLTYPE const * const yylocationp;
6649 HPHP::HPHP_PARSER_NS::Parser *_p;
6650 #endif
6652 if (!yyvaluep)
6653 return;
6654 YYUSE (yylocationp);
6655 YYUSE (_p);
6656 # ifdef YYPRINT
6657 if (yytype < YYNTOKENS)
6658 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
6659 # else
6660 YYUSE (yyoutput);
6661 # endif
6662 switch (yytype)
6664 default:
6665 break;
6670 /*--------------------------------.
6671 | Print this symbol on YYOUTPUT. |
6672 `--------------------------------*/
6674 #if (defined __STDC__ || defined __C99__FUNC__ \
6675 || defined __cplusplus || defined _MSC_VER)
6676 static void
6677 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
6678 #else
6679 static void
6680 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
6681 FILE *yyoutput;
6682 int yytype;
6683 YYSTYPE const * const yyvaluep;
6684 YYLTYPE const * const yylocationp;
6685 HPHP::HPHP_PARSER_NS::Parser *_p;
6686 #endif
6688 if (yytype < YYNTOKENS)
6689 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
6690 else
6691 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
6693 YY_LOCATION_PRINT (yyoutput, *yylocationp);
6694 YYFPRINTF (yyoutput, ": ");
6695 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p);
6696 YYFPRINTF (yyoutput, ")");
6699 /*------------------------------------------------------------------.
6700 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
6701 | TOP (included). |
6702 `------------------------------------------------------------------*/
6704 #if (defined __STDC__ || defined __C99__FUNC__ \
6705 || defined __cplusplus || defined _MSC_VER)
6706 static void
6707 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
6708 #else
6709 static void
6710 yy_stack_print (yybottom, yytop)
6711 yytype_int16 *yybottom;
6712 yytype_int16 *yytop;
6713 #endif
6715 YYFPRINTF (stderr, "Stack now");
6716 for (; yybottom <= yytop; yybottom++)
6718 int yybot = *yybottom;
6719 YYFPRINTF (stderr, " %d", yybot);
6721 YYFPRINTF (stderr, "\n");
6724 # define YY_STACK_PRINT(Bottom, Top) \
6725 do { \
6726 if (yydebug) \
6727 yy_stack_print ((Bottom), (Top)); \
6728 } while (YYID (0))
6731 /*------------------------------------------------.
6732 | Report that the YYRULE is going to be reduced. |
6733 `------------------------------------------------*/
6735 #if (defined __STDC__ || defined __C99__FUNC__ \
6736 || defined __cplusplus || defined _MSC_VER)
6737 static void
6738 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, HPHP::HPHP_PARSER_NS::Parser *_p)
6739 #else
6740 static void
6741 yy_reduce_print (yyvsp, yylsp, yyrule, _p)
6742 YYSTYPE *yyvsp;
6743 YYLTYPE *yylsp;
6744 int yyrule;
6745 HPHP::HPHP_PARSER_NS::Parser *_p;
6746 #endif
6748 int yynrhs = yyr2[yyrule];
6749 int yyi;
6750 unsigned long int yylno = yyrline[yyrule];
6751 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
6752 yyrule - 1, yylno);
6753 /* The symbols being reduced. */
6754 for (yyi = 0; yyi < yynrhs; yyi++)
6756 YYFPRINTF (stderr, " $%d = ", yyi + 1);
6757 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
6758 &(yyvsp[(yyi + 1) - (yynrhs)])
6759 , &(yylsp[(yyi + 1) - (yynrhs)]) , _p);
6760 YYFPRINTF (stderr, "\n");
6764 # define YY_REDUCE_PRINT(Rule) \
6765 do { \
6766 if (yydebug) \
6767 yy_reduce_print (yyvsp, yylsp, Rule, _p); \
6768 } while (YYID (0))
6770 /* Nonzero means print parse trace. It is left uninitialized so that
6771 multiple parsers can coexist. */
6772 int yydebug;
6773 #else /* !YYDEBUG */
6774 # define YYDPRINTF(Args)
6775 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
6776 # define YY_STACK_PRINT(Bottom, Top)
6777 # define YY_REDUCE_PRINT(Rule)
6778 #endif /* !YYDEBUG */
6781 /* YYINITDEPTH -- initial size of the parser's stacks. */
6782 #ifndef YYINITDEPTH
6783 # define YYINITDEPTH 200
6784 #endif
6786 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
6787 if the built-in stack extension method is used).
6789 Do not make this value too large; the results are undefined if
6790 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
6791 evaluated with infinite-precision integer arithmetic. */
6793 #ifndef YYMAXDEPTH
6794 # define YYMAXDEPTH 10000
6795 #endif
6799 #if YYERROR_VERBOSE
6801 # ifndef yystrlen
6802 # if defined __GLIBC__ && defined _STRING_H
6803 # define yystrlen strlen
6804 # else
6805 /* Return the length of YYSTR. */
6806 #if (defined __STDC__ || defined __C99__FUNC__ \
6807 || defined __cplusplus || defined _MSC_VER)
6808 static YYSIZE_T
6809 yystrlen (const char *yystr)
6810 #else
6811 static YYSIZE_T
6812 yystrlen (yystr)
6813 const char *yystr;
6814 #endif
6816 YYSIZE_T yylen;
6817 for (yylen = 0; yystr[yylen]; yylen++)
6818 continue;
6819 return yylen;
6821 # endif
6822 # endif
6824 # ifndef yystpcpy
6825 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
6826 # define yystpcpy stpcpy
6827 # else
6828 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
6829 YYDEST. */
6830 #if (defined __STDC__ || defined __C99__FUNC__ \
6831 || defined __cplusplus || defined _MSC_VER)
6832 static char *
6833 yystpcpy (char *yydest, const char *yysrc)
6834 #else
6835 static char *
6836 yystpcpy (yydest, yysrc)
6837 char *yydest;
6838 const char *yysrc;
6839 #endif
6841 char *yyd = yydest;
6842 const char *yys = yysrc;
6844 while ((*yyd++ = *yys++) != '\0')
6845 continue;
6847 return yyd - 1;
6849 # endif
6850 # endif
6852 # ifndef yytnamerr
6853 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
6854 quotes and backslashes, so that it's suitable for yyerror. The
6855 heuristic is that double-quoting is unnecessary unless the string
6856 contains an apostrophe, a comma, or backslash (other than
6857 backslash-backslash). YYSTR is taken from yytname. If YYRES is
6858 null, do not copy; instead, return the length of what the result
6859 would have been. */
6860 static YYSIZE_T
6861 yytnamerr (char *yyres, const char *yystr)
6863 if (*yystr == '"')
6865 YYSIZE_T yyn = 0;
6866 char const *yyp = yystr;
6868 for (;;)
6869 switch (*++yyp)
6871 case '\'':
6872 case ',':
6873 goto do_not_strip_quotes;
6875 case '\\':
6876 if (*++yyp != '\\')
6877 goto do_not_strip_quotes;
6878 /* Fall through. */
6879 default:
6880 if (yyres)
6881 yyres[yyn] = *yyp;
6882 yyn++;
6883 break;
6885 case '"':
6886 if (yyres)
6887 yyres[yyn] = '\0';
6888 return yyn;
6890 do_not_strip_quotes: ;
6893 if (! yyres)
6894 return yystrlen (yystr);
6896 return yystpcpy (yyres, yystr) - yyres;
6898 # endif
6900 /* Copy into YYRESULT an error message about the unexpected token
6901 YYCHAR while in state YYSTATE. Return the number of bytes copied,
6902 including the terminating null byte. If YYRESULT is null, do not
6903 copy anything; just return the number of bytes that would be
6904 copied. As a special case, return 0 if an ordinary "syntax error"
6905 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
6906 size calculation. */
6907 static YYSIZE_T
6908 yysyntax_error (char *yyresult, int yystate, int yychar)
6910 int yyn = yypact[yystate];
6912 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
6913 return 0;
6914 else
6916 int yytype = YYTRANSLATE (yychar);
6917 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
6918 YYSIZE_T yysize = yysize0;
6919 YYSIZE_T yysize1;
6920 int yysize_overflow = 0;
6921 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
6922 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
6923 int yyx;
6925 # if 0
6926 /* This is so xgettext sees the translatable formats that are
6927 constructed on the fly. */
6928 YY_("syntax error, unexpected %s");
6929 YY_("syntax error, unexpected %s, expecting %s");
6930 YY_("syntax error, unexpected %s, expecting %s or %s");
6931 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
6932 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
6933 # endif
6934 char *yyfmt;
6935 char const *yyf;
6936 static char const yyunexpected[] = "syntax error, unexpected %s";
6937 static char const yyexpecting[] = ", expecting %s";
6938 static char const yyor[] = " or %s";
6939 char yyformat[sizeof yyunexpected
6940 + sizeof yyexpecting - 1
6941 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
6942 * (sizeof yyor - 1))];
6943 char const *yyprefix = yyexpecting;
6945 /* Start YYX at -YYN if negative to avoid negative indexes in
6946 YYCHECK. */
6947 int yyxbegin = yyn < 0 ? -yyn : 0;
6949 /* Stay within bounds of both yycheck and yytname. */
6950 int yychecklim = YYLAST - yyn + 1;
6951 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
6952 int yycount = 1;
6954 yyarg[0] = yytname[yytype];
6955 yyfmt = yystpcpy (yyformat, yyunexpected);
6957 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
6958 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
6960 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
6962 yycount = 1;
6963 yysize = yysize0;
6964 yyformat[sizeof yyunexpected - 1] = '\0';
6965 break;
6967 yyarg[yycount++] = yytname[yyx];
6968 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
6969 yysize_overflow |= (yysize1 < yysize);
6970 yysize = yysize1;
6971 yyfmt = yystpcpy (yyfmt, yyprefix);
6972 yyprefix = yyor;
6975 yyf = YY_(yyformat);
6976 yysize1 = yysize + yystrlen (yyf);
6977 yysize_overflow |= (yysize1 < yysize);
6978 yysize = yysize1;
6980 if (yysize_overflow)
6981 return YYSIZE_MAXIMUM;
6983 if (yyresult)
6985 /* Avoid sprintf, as that infringes on the user's name space.
6986 Don't have undefined behavior even if the translation
6987 produced a string with the wrong number of "%s"s. */
6988 char *yyp = yyresult;
6989 int yyi = 0;
6990 while ((*yyp = *yyf) != '\0')
6992 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
6994 yyp += yytnamerr (yyp, yyarg[yyi++]);
6995 yyf += 2;
6997 else
6999 yyp++;
7000 yyf++;
7004 return yysize;
7007 #endif /* YYERROR_VERBOSE */
7010 /*-----------------------------------------------.
7011 | Release the memory associated to this symbol. |
7012 `-----------------------------------------------*/
7014 /*ARGSUSED*/
7015 #if (defined __STDC__ || defined __C99__FUNC__ \
7016 || defined __cplusplus || defined _MSC_VER)
7017 static void
7018 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
7019 #else
7020 static void
7021 yydestruct (yymsg, yytype, yyvaluep, yylocationp, _p)
7022 const char *yymsg;
7023 int yytype;
7024 YYSTYPE *yyvaluep;
7025 YYLTYPE *yylocationp;
7026 HPHP::HPHP_PARSER_NS::Parser *_p;
7027 #endif
7029 YYUSE (yyvaluep);
7030 YYUSE (yylocationp);
7031 YYUSE (_p);
7033 if (!yymsg)
7034 yymsg = "Deleting";
7035 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
7037 switch (yytype)
7040 default:
7041 break;
7045 /* Prevent warnings from -Wmissing-prototypes. */
7046 #ifdef YYPARSE_PARAM
7047 #if defined __STDC__ || defined __cplusplus
7048 int yyparse (void *YYPARSE_PARAM);
7049 #else
7050 int yyparse ();
7051 #endif
7052 #else /* ! YYPARSE_PARAM */
7053 #if defined __STDC__ || defined __cplusplus
7054 int yyparse (HPHP::HPHP_PARSER_NS::Parser *_p);
7055 #else
7056 int yyparse ();
7057 #endif
7058 #endif /* ! YYPARSE_PARAM */
7064 /*-------------------------.
7065 | yyparse or yypush_parse. |
7066 `-------------------------*/
7068 #ifdef YYPARSE_PARAM
7069 #if (defined __STDC__ || defined __C99__FUNC__ \
7070 || defined __cplusplus || defined _MSC_VER)
7072 yyparse (void *YYPARSE_PARAM)
7073 #else
7075 yyparse (YYPARSE_PARAM)
7076 void *YYPARSE_PARAM;
7077 #endif
7078 #else /* ! YYPARSE_PARAM */
7079 #if (defined __STDC__ || defined __C99__FUNC__ \
7080 || defined __cplusplus || defined _MSC_VER)
7082 yyparse (HPHP::HPHP_PARSER_NS::Parser *_p)
7083 #else
7085 yyparse (_p)
7086 HPHP::HPHP_PARSER_NS::Parser *_p;
7087 #endif
7088 #endif
7090 /* The lookahead symbol. */
7091 int yychar;
7093 /* The semantic value of the lookahead symbol. */
7094 YYSTYPE yylval;
7096 /* Location data for the lookahead symbol. */
7097 YYLTYPE yylloc;
7099 /* Number of syntax errors so far. */
7100 int yynerrs;
7102 int yystate;
7103 /* Number of tokens to shift before error messages enabled. */
7104 int yyerrstatus;
7106 /* The stacks and their tools:
7107 `yyss': related to states.
7108 `yyvs': related to semantic values.
7109 `yyls': related to locations.
7111 Refer to the stacks thru separate pointers, to allow yyoverflow
7112 to reallocate them elsewhere. */
7114 /* The state stack. */
7115 yytype_int16 yyssa[YYINITDEPTH];
7116 yytype_int16 *yyss;
7117 yytype_int16 *yyssp;
7119 /* The semantic value stack. */
7120 YYSTYPE yyvsa[YYINITDEPTH];
7121 YYSTYPE *yyvs;
7122 YYSTYPE *yyvsp;
7124 /* The location stack. */
7125 YYLTYPE yylsa[YYINITDEPTH];
7126 YYLTYPE *yyls;
7127 YYLTYPE *yylsp;
7129 /* The locations where the error started and ended. */
7130 YYLTYPE yyerror_range[2];
7132 YYSIZE_T yystacksize;
7134 int yyn;
7135 int yyresult;
7136 /* Lookahead token as an internal (translated) token number. */
7137 int yytoken;
7138 /* The variables used to return semantic value and location from the
7139 action routines. */
7140 YYSTYPE yyval;
7141 YYLTYPE yyloc;
7143 #if YYERROR_VERBOSE
7144 /* Buffer for error messages, and its allocated size. */
7145 char yymsgbuf[128];
7146 char *yymsg = yymsgbuf;
7147 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
7148 #endif
7150 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
7152 /* The number of symbols on the RHS of the reduced rule.
7153 Keep to zero when no symbol should be popped. */
7154 int yylen = 0;
7156 yytoken = 0;
7157 yyss = yyssa;
7158 yyvs = yyvsa;
7159 yyls = yylsa;
7160 yystacksize = YYINITDEPTH;
7162 YYDPRINTF ((stderr, "Starting parse\n"));
7164 yystate = 0;
7165 yyerrstatus = 0;
7166 yynerrs = 0;
7167 yychar = YYEMPTY; /* Cause a token to be read. */
7169 /* Initialize stack pointers.
7170 Waste one element of value and location stack
7171 so that they stay on the same level as the state stack.
7172 The wasted elements are never initialized. */
7173 yyssp = yyss;
7174 yyvsp = yyvs;
7175 yylsp = yyls;
7177 #if YYLTYPE_IS_TRIVIAL
7178 /* Initialize the default location before parsing starts. */
7179 yylloc.line0 = yylloc.line1 = 1;
7180 yylloc.char0 = yylloc.char1 = 1;
7181 #endif
7183 goto yysetstate;
7185 /*------------------------------------------------------------.
7186 | yynewstate -- Push a new state, which is found in yystate. |
7187 `------------------------------------------------------------*/
7188 yynewstate:
7189 /* In all cases, when you get here, the value and location stacks
7190 have just been pushed. So pushing a state here evens the stacks. */
7191 yyssp++;
7193 yysetstate:
7194 *yyssp = yystate;
7196 if (yyss + yystacksize - 1 <= yyssp)
7198 /* Get the current used size of the three stacks, in elements. */
7199 YYSIZE_T yysize = yyssp - yyss + 1;
7201 #ifdef yyoverflow
7203 /* Give user a chance to reallocate the stack. Use copies of
7204 these so that the &'s don't force the real ones into
7205 memory. */
7206 YYSTYPE *yyvs1 = yyvs;
7207 yytype_int16 *yyss1 = yyss;
7208 YYLTYPE *yyls1 = yyls;
7210 /* Each stack pointer address is followed by the size of the
7211 data in use in that stack, in bytes. This used to be a
7212 conditional around just the two extra args, but that might
7213 be undefined if yyoverflow is a macro. */
7214 yyoverflow (YY_("memory exhausted"),
7215 &yyss1, yysize * sizeof (*yyssp),
7216 &yyvs1, yysize * sizeof (*yyvsp),
7217 &yyls1, yysize * sizeof (*yylsp),
7218 &yystacksize);
7220 yyls = yyls1;
7221 yyss = yyss1;
7222 yyvs = yyvs1;
7224 #else /* no yyoverflow */
7225 # ifndef YYSTACK_RELOCATE
7226 goto yyexhaustedlab;
7227 # else
7228 /* Extend the stack our own way. */
7229 if (YYMAXDEPTH <= yystacksize)
7230 goto yyexhaustedlab;
7231 yystacksize *= 2;
7232 if (YYMAXDEPTH < yystacksize)
7233 yystacksize = YYMAXDEPTH;
7236 yytype_int16 *yyss1 = yyss;
7237 struct yyalloc *yyptr =
7238 (struct yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
7239 memset(yyptr, 0, YYSTACK_BYTES (yystacksize));
7240 if (! yyptr)
7241 goto yyexhaustedlab;
7242 YYSTACK_RELOCATE (yyss_alloc, yyss);
7243 YYSTACK_RELOCATE_RESET (yyvs_alloc, yyvs);
7244 YYSTACK_RELOCATE (yyls_alloc, yyls);
7245 # undef YYSTACK_RELOCATE
7246 if (yyss1 != yyssa)
7247 YYSTACK_FREE (yyss1);
7249 # endif
7250 #endif /* no yyoverflow */
7252 yyssp = yyss + yysize - 1;
7253 yyvsp = yyvs + yysize - 1;
7254 yylsp = yyls + yysize - 1;
7256 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
7257 (unsigned long int) yystacksize));
7259 if (yyss + yystacksize - 1 <= yyssp)
7260 YYABORT;
7263 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
7265 if (yystate == YYFINAL)
7266 YYACCEPT;
7268 goto yybackup;
7270 /*-----------.
7271 | yybackup. |
7272 `-----------*/
7273 yybackup:
7275 /* Do appropriate processing given the current state. Read a
7276 lookahead token if we need one and don't already have one. */
7278 /* First try to decide what to do without reference to lookahead token. */
7279 yyn = yypact[yystate];
7280 if (yyn == YYPACT_NINF)
7281 goto yydefault;
7283 /* Not known => get a lookahead token if don't already have one. */
7285 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
7286 if (yychar == YYEMPTY)
7288 YYDPRINTF ((stderr, "Reading a token: "));
7289 yychar = YYLEX;
7292 if (yychar <= YYEOF)
7294 yychar = yytoken = YYEOF;
7295 YYDPRINTF ((stderr, "Now at end of input.\n"));
7297 else
7299 yytoken = YYTRANSLATE (yychar);
7300 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
7303 /* If the proper action on seeing token YYTOKEN is to reduce or to
7304 detect an error, take that action. */
7305 yyn += yytoken;
7306 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
7307 goto yydefault;
7308 yyn = yytable[yyn];
7309 if (yyn <= 0)
7311 if (yyn == 0 || yyn == YYTABLE_NINF)
7312 goto yyerrlab;
7313 yyn = -yyn;
7314 goto yyreduce;
7317 /* Count tokens shifted since error; after three, turn off error
7318 status. */
7319 if (yyerrstatus)
7320 yyerrstatus--;
7322 /* Shift the lookahead token. */
7323 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
7325 /* Discard the shifted token. */
7326 yychar = YYEMPTY;
7328 yystate = yyn;
7329 *++yyvsp = yylval;
7330 *++yylsp = yylloc;
7331 goto yynewstate;
7334 /*-----------------------------------------------------------.
7335 | yydefault -- do the default action for the current state. |
7336 `-----------------------------------------------------------*/
7337 yydefault:
7338 yyn = yydefact[yystate];
7339 if (yyn == 0)
7340 goto yyerrlab;
7341 goto yyreduce;
7344 /*-----------------------------.
7345 | yyreduce -- Do a reduction. |
7346 `-----------------------------*/
7347 yyreduce:
7348 /* yyn is the number of a rule to reduce with. */
7349 yylen = yyr2[yyn];
7351 /* If YYLEN is nonzero, implement the default value of the action:
7352 `$$ = $1'.
7354 Otherwise, the following line sets YYVAL to garbage.
7355 This behavior is undocumented and Bison
7356 users should not rely upon it. Assigning to YYVAL
7357 unconditionally makes the parser a bit smaller, and it avoids a
7358 GCC warning that YYVAL may be used uninitialized. */
7359 yyval = yyvsp[1-yylen];
7361 /* Default location. */
7362 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
7363 YY_REDUCE_PRINT (yyn);
7364 switch (yyn)
7366 case 2:
7368 /* Line 1455 of yacc.c */
7369 #line 749 "hphp.y"
7370 { _p->onNewLabelScope(true);
7371 _p->initParseTree();;}
7372 break;
7374 case 3:
7376 /* Line 1455 of yacc.c */
7377 #line 752 "hphp.y"
7378 { _p->popLabelInfo();
7379 _p->finiParseTree();
7380 _p->onCompleteLabelScope(true);;}
7381 break;
7383 case 4:
7385 /* Line 1455 of yacc.c */
7386 #line 759 "hphp.y"
7387 { _p->addTopStatement((yyvsp[(2) - (2)]));;}
7388 break;
7390 case 5:
7392 /* Line 1455 of yacc.c */
7393 #line 760 "hphp.y"
7394 { ;}
7395 break;
7397 case 6:
7399 /* Line 1455 of yacc.c */
7400 #line 763 "hphp.y"
7401 { _p->nns((yyvsp[(1) - (1)]).num(), (yyvsp[(1) - (1)]).text()); (yyval) = (yyvsp[(1) - (1)]);;}
7402 break;
7404 case 7:
7406 /* Line 1455 of yacc.c */
7407 #line 764 "hphp.y"
7408 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
7409 break;
7411 case 8:
7413 /* Line 1455 of yacc.c */
7414 #line 765 "hphp.y"
7415 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
7416 break;
7418 case 9:
7420 /* Line 1455 of yacc.c */
7421 #line 766 "hphp.y"
7422 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
7423 break;
7425 case 10:
7427 /* Line 1455 of yacc.c */
7428 #line 767 "hphp.y"
7429 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
7430 break;
7432 case 11:
7434 /* Line 1455 of yacc.c */
7435 #line 768 "hphp.y"
7436 { (yyval) = (yyvsp[(1) - (1)]); ;}
7437 break;
7439 case 12:
7441 /* Line 1455 of yacc.c */
7442 #line 769 "hphp.y"
7443 { _p->onHaltCompiler();
7444 _p->finiParseTree();
7445 YYACCEPT;;}
7446 break;
7448 case 13:
7450 /* Line 1455 of yacc.c */
7451 #line 772 "hphp.y"
7452 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text(), true);
7453 (yyval).reset();;}
7454 break;
7456 case 14:
7458 /* Line 1455 of yacc.c */
7459 #line 774 "hphp.y"
7460 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text());;}
7461 break;
7463 case 15:
7465 /* Line 1455 of yacc.c */
7466 #line 775 "hphp.y"
7467 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(5) - (6)]);;}
7468 break;
7470 case 16:
7472 /* Line 1455 of yacc.c */
7473 #line 776 "hphp.y"
7474 { _p->onNamespaceStart("");;}
7475 break;
7477 case 17:
7479 /* Line 1455 of yacc.c */
7480 #line 777 "hphp.y"
7481 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(4) - (5)]);;}
7482 break;
7484 case 18:
7486 /* Line 1455 of yacc.c */
7487 #line 778 "hphp.y"
7488 { _p->onUse((yyvsp[(2) - (3)]), &Parser::useClass);
7489 _p->nns(T_USE); (yyval).reset();;}
7490 break;
7492 case 19:
7494 /* Line 1455 of yacc.c */
7495 #line 781 "hphp.y"
7496 { _p->onUse((yyvsp[(3) - (4)]), &Parser::useFunction);
7497 _p->nns(T_USE); (yyval).reset();;}
7498 break;
7500 case 20:
7502 /* Line 1455 of yacc.c */
7503 #line 784 "hphp.y"
7504 { _p->onUse((yyvsp[(3) - (4)]), &Parser::useConst);
7505 _p->nns(T_USE); (yyval).reset();;}
7506 break;
7508 case 21:
7510 /* Line 1455 of yacc.c */
7511 #line 787 "hphp.y"
7512 { _p->onGroupUse((yyvsp[(2) - (6)]).text(), (yyvsp[(4) - (6)]),
7513 nullptr);
7514 _p->nns(T_USE); (yyval).reset();;}
7515 break;
7517 case 22:
7519 /* Line 1455 of yacc.c */
7520 #line 791 "hphp.y"
7521 { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]),
7522 &Parser::useFunction);
7523 _p->nns(T_USE); (yyval).reset();;}
7524 break;
7526 case 23:
7528 /* Line 1455 of yacc.c */
7529 #line 795 "hphp.y"
7530 { _p->onGroupUse((yyvsp[(3) - (7)]).text(), (yyvsp[(5) - (7)]),
7531 &Parser::useConst);
7532 _p->nns(T_USE); (yyval).reset();;}
7533 break;
7535 case 24:
7537 /* Line 1455 of yacc.c */
7538 #line 798 "hphp.y"
7539 { _p->nns();
7540 _p->finishStatement((yyval), (yyvsp[(1) - (2)])); (yyval) = 1;;}
7541 break;
7543 case 25:
7545 /* Line 1455 of yacc.c */
7546 #line 803 "hphp.y"
7547 { (yyval) = (yyvsp[(1) - (1)]);;}
7548 break;
7550 case 26:
7552 /* Line 1455 of yacc.c */
7553 #line 804 "hphp.y"
7554 { (yyval) = (yyvsp[(1) - (1)]);;}
7555 break;
7557 case 27:
7559 /* Line 1455 of yacc.c */
7560 #line 805 "hphp.y"
7561 { (yyval) = (yyvsp[(1) - (1)]);;}
7562 break;
7564 case 28:
7566 /* Line 1455 of yacc.c */
7567 #line 806 "hphp.y"
7568 { (yyval) = (yyvsp[(1) - (1)]);;}
7569 break;
7571 case 29:
7573 /* Line 1455 of yacc.c */
7574 #line 807 "hphp.y"
7575 { (yyval) = (yyvsp[(1) - (1)]);;}
7576 break;
7578 case 30:
7580 /* Line 1455 of yacc.c */
7581 #line 808 "hphp.y"
7582 { (yyval) = (yyvsp[(1) - (1)]);;}
7583 break;
7585 case 31:
7587 /* Line 1455 of yacc.c */
7588 #line 809 "hphp.y"
7589 { (yyval) = (yyvsp[(1) - (1)]);;}
7590 break;
7592 case 32:
7594 /* Line 1455 of yacc.c */
7595 #line 810 "hphp.y"
7596 { (yyval) = (yyvsp[(1) - (1)]);;}
7597 break;
7599 case 33:
7601 /* Line 1455 of yacc.c */
7602 #line 811 "hphp.y"
7603 { (yyval) = (yyvsp[(1) - (1)]);;}
7604 break;
7606 case 34:
7608 /* Line 1455 of yacc.c */
7609 #line 812 "hphp.y"
7610 { (yyval) = (yyvsp[(1) - (1)]);;}
7611 break;
7613 case 35:
7615 /* Line 1455 of yacc.c */
7616 #line 813 "hphp.y"
7617 { (yyval) = (yyvsp[(1) - (1)]);;}
7618 break;
7620 case 102:
7622 /* Line 1455 of yacc.c */
7623 #line 892 "hphp.y"
7624 { (yyval) = (yyvsp[(1) - (2)]);;}
7625 break;
7627 case 103:
7629 /* Line 1455 of yacc.c */
7630 #line 894 "hphp.y"
7631 { (yyval) = (yyvsp[(2) - (3)]);;}
7632 break;
7634 case 104:
7636 /* Line 1455 of yacc.c */
7637 #line 899 "hphp.y"
7638 { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
7639 break;
7641 case 105:
7643 /* Line 1455 of yacc.c */
7644 #line 900 "hphp.y"
7645 { (yyval).reset();
7646 _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;}
7647 break;
7649 case 106:
7651 /* Line 1455 of yacc.c */
7652 #line 906 "hphp.y"
7653 { (yyval) = (yyvsp[(1) - (2)]);;}
7654 break;
7656 case 107:
7658 /* Line 1455 of yacc.c */
7659 #line 910 "hphp.y"
7660 { _p->onUseDeclaration((yyval), (yyvsp[(1) - (1)]).text(),"");;}
7661 break;
7663 case 108:
7665 /* Line 1455 of yacc.c */
7666 #line 911 "hphp.y"
7667 { _p->onUseDeclaration((yyval), (yyvsp[(2) - (2)]).text(),"");;}
7668 break;
7670 case 109:
7672 /* Line 1455 of yacc.c */
7673 #line 913 "hphp.y"
7674 { _p->onUseDeclaration((yyval), (yyvsp[(1) - (3)]).text(),(yyvsp[(3) - (3)]).text());;}
7675 break;
7677 case 110:
7679 /* Line 1455 of yacc.c */
7680 #line 915 "hphp.y"
7681 { _p->onUseDeclaration((yyval), (yyvsp[(2) - (4)]).text(),(yyvsp[(4) - (4)]).text());;}
7682 break;
7684 case 111:
7686 /* Line 1455 of yacc.c */
7687 #line 920 "hphp.y"
7688 { _p->addStatement((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
7689 break;
7691 case 112:
7693 /* Line 1455 of yacc.c */
7694 #line 921 "hphp.y"
7695 { (yyval).reset();
7696 _p->addStatement((yyval),(yyval),(yyvsp[(1) - (1)]));;}
7697 break;
7699 case 113:
7701 /* Line 1455 of yacc.c */
7702 #line 927 "hphp.y"
7703 { (yyval) = (yyvsp[(1) - (2)]);;}
7704 break;
7706 case 114:
7708 /* Line 1455 of yacc.c */
7709 #line 931 "hphp.y"
7710 { _p->onMixedUseDeclaration((yyval), (yyvsp[(1) - (1)]),
7711 &Parser::useClass);;}
7712 break;
7714 case 115:
7716 /* Line 1455 of yacc.c */
7717 #line 933 "hphp.y"
7718 { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]),
7719 &Parser::useFunction);;}
7720 break;
7722 case 116:
7724 /* Line 1455 of yacc.c */
7725 #line 935 "hphp.y"
7726 { _p->onMixedUseDeclaration((yyval), (yyvsp[(2) - (2)]),
7727 &Parser::useConst);;}
7728 break;
7730 case 117:
7732 /* Line 1455 of yacc.c */
7733 #line 940 "hphp.y"
7734 { (yyval) = (yyvsp[(1) - (1)]);;}
7735 break;
7737 case 118:
7739 /* Line 1455 of yacc.c */
7740 #line 942 "hphp.y"
7741 { (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(2) - (3)]) + (yyvsp[(3) - (3)]); (yyval) = (yyvsp[(1) - (3)]).num() | 2;;}
7742 break;
7744 case 119:
7746 /* Line 1455 of yacc.c */
7747 #line 945 "hphp.y"
7748 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = (yyval).num() | 1;;}
7749 break;
7751 case 120:
7753 /* Line 1455 of yacc.c */
7754 #line 947 "hphp.y"
7755 { (yyval).set((yyvsp[(3) - (3)]).num() | 2, _p->nsDecl((yyvsp[(3) - (3)]).text()));;}
7756 break;
7758 case 121:
7760 /* Line 1455 of yacc.c */
7761 #line 948 "hphp.y"
7762 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = (yyval).num() | 2;;}
7763 break;
7765 case 122:
7767 /* Line 1455 of yacc.c */
7768 #line 953 "hphp.y"
7769 { if ((yyvsp[(1) - (2)]).num() & 1) {
7770 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),0));
7772 (yyval) = (yyvsp[(1) - (2)]);;}
7773 break;
7775 case 123:
7777 /* Line 1455 of yacc.c */
7778 #line 960 "hphp.y"
7779 { if ((yyvsp[(1) - (2)]).num() & 1) {
7780 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),1));
7782 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
7783 break;
7785 case 124:
7787 /* Line 1455 of yacc.c */
7788 #line 968 "hphp.y"
7789 { (yyvsp[(3) - (5)]).setText(_p->nsDecl((yyvsp[(3) - (5)]).text()));
7790 _p->onConst((yyval),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
7791 break;
7793 case 125:
7795 /* Line 1455 of yacc.c */
7796 #line 971 "hphp.y"
7797 { (yyvsp[(2) - (4)]).setText(_p->nsDecl((yyvsp[(2) - (4)]).text()));
7798 _p->onConst((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
7799 break;
7801 case 126:
7803 /* Line 1455 of yacc.c */
7804 #line 977 "hphp.y"
7805 { _p->addStatement((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
7806 break;
7808 case 127:
7810 /* Line 1455 of yacc.c */
7811 #line 978 "hphp.y"
7812 { _p->onStatementListStart((yyval));;}
7813 break;
7815 case 128:
7817 /* Line 1455 of yacc.c */
7818 #line 981 "hphp.y"
7819 { (yyval) = (yyvsp[(1) - (1)]);;}
7820 break;
7822 case 129:
7824 /* Line 1455 of yacc.c */
7825 #line 982 "hphp.y"
7826 { (yyval) = (yyvsp[(1) - (1)]);;}
7827 break;
7829 case 130:
7831 /* Line 1455 of yacc.c */
7832 #line 983 "hphp.y"
7833 { (yyval) = (yyvsp[(1) - (1)]);;}
7834 break;
7836 case 131:
7838 /* Line 1455 of yacc.c */
7839 #line 984 "hphp.y"
7840 { (yyval) = (yyvsp[(1) - (1)]);;}
7841 break;
7843 case 132:
7845 /* Line 1455 of yacc.c */
7846 #line 987 "hphp.y"
7847 { _p->onBlock((yyval), (yyvsp[(2) - (3)]));;}
7848 break;
7850 case 133:
7852 /* Line 1455 of yacc.c */
7853 #line 991 "hphp.y"
7854 { _p->onIf((yyval),(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]));;}
7855 break;
7857 case 134:
7859 /* Line 1455 of yacc.c */
7860 #line 996 "hphp.y"
7861 { _p->onIf((yyval),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]));;}
7862 break;
7864 case 135:
7866 /* Line 1455 of yacc.c */
7867 #line 997 "hphp.y"
7868 { _p->onNewLabelScope(false);
7869 _p->pushLabelScope();;}
7870 break;
7872 case 136:
7874 /* Line 1455 of yacc.c */
7875 #line 999 "hphp.y"
7876 { _p->popLabelScope();
7877 _p->onWhile((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
7878 _p->onCompleteLabelScope(false);;}
7879 break;
7881 case 137:
7883 /* Line 1455 of yacc.c */
7884 #line 1003 "hphp.y"
7885 { _p->onNewLabelScope(false);
7886 _p->pushLabelScope();;}
7887 break;
7889 case 138:
7891 /* Line 1455 of yacc.c */
7892 #line 1006 "hphp.y"
7893 { _p->popLabelScope();
7894 _p->onDo((yyval),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));
7895 _p->onCompleteLabelScope(false);;}
7896 break;
7898 case 139:
7900 /* Line 1455 of yacc.c */
7901 #line 1010 "hphp.y"
7902 { _p->onNewLabelScope(false);
7903 _p->pushLabelScope();;}
7904 break;
7906 case 140:
7908 /* Line 1455 of yacc.c */
7909 #line 1012 "hphp.y"
7910 { _p->popLabelScope();
7911 _p->onFor((yyval),(yyvsp[(3) - (10)]),(yyvsp[(5) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]));
7912 _p->onCompleteLabelScope(false);;}
7913 break;
7915 case 141:
7917 /* Line 1455 of yacc.c */
7918 #line 1015 "hphp.y"
7919 { _p->onNewLabelScope(false);
7920 _p->pushLabelScope();;}
7921 break;
7923 case 142:
7925 /* Line 1455 of yacc.c */
7926 #line 1017 "hphp.y"
7927 { _p->popLabelScope();
7928 _p->onSwitch((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
7929 _p->onCompleteLabelScope(false);;}
7930 break;
7932 case 143:
7934 /* Line 1455 of yacc.c */
7935 #line 1020 "hphp.y"
7936 { _p->onBreakContinue((yyval), true, NULL);;}
7937 break;
7939 case 144:
7941 /* Line 1455 of yacc.c */
7942 #line 1021 "hphp.y"
7943 { _p->onBreakContinue((yyval), true, &(yyvsp[(2) - (3)]));;}
7944 break;
7946 case 145:
7948 /* Line 1455 of yacc.c */
7949 #line 1022 "hphp.y"
7950 { _p->onBreakContinue((yyval), false, NULL);;}
7951 break;
7953 case 146:
7955 /* Line 1455 of yacc.c */
7956 #line 1023 "hphp.y"
7957 { _p->onBreakContinue((yyval), false, &(yyvsp[(2) - (3)]));;}
7958 break;
7960 case 147:
7962 /* Line 1455 of yacc.c */
7963 #line 1024 "hphp.y"
7964 { _p->onReturn((yyval), NULL);;}
7965 break;
7967 case 148:
7969 /* Line 1455 of yacc.c */
7970 #line 1025 "hphp.y"
7971 { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;}
7972 break;
7974 case 149:
7976 /* Line 1455 of yacc.c */
7977 #line 1026 "hphp.y"
7978 { _p->onYieldBreak((yyval));;}
7979 break;
7981 case 150:
7983 /* Line 1455 of yacc.c */
7984 #line 1027 "hphp.y"
7985 { _p->onGlobal((yyval), (yyvsp[(2) - (3)]));;}
7986 break;
7988 case 151:
7990 /* Line 1455 of yacc.c */
7991 #line 1028 "hphp.y"
7992 { _p->onStatic((yyval), (yyvsp[(2) - (3)]));;}
7993 break;
7995 case 152:
7997 /* Line 1455 of yacc.c */
7998 #line 1029 "hphp.y"
7999 { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;}
8000 break;
8002 case 153:
8004 /* Line 1455 of yacc.c */
8005 #line 1030 "hphp.y"
8006 { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;}
8007 break;
8009 case 154:
8011 /* Line 1455 of yacc.c */
8012 #line 1031 "hphp.y"
8013 { _p->onUnset((yyval), (yyvsp[(3) - (5)]));;}
8014 break;
8016 case 155:
8018 /* Line 1455 of yacc.c */
8019 #line 1032 "hphp.y"
8020 { (yyval).reset(); (yyval) = ';';;}
8021 break;
8023 case 156:
8025 /* Line 1455 of yacc.c */
8026 #line 1033 "hphp.y"
8027 { _p->onEcho((yyval), (yyvsp[(1) - (1)]), 1);;}
8028 break;
8030 case 157:
8032 /* Line 1455 of yacc.c */
8033 #line 1034 "hphp.y"
8034 { _p->onHashBang((yyval), (yyvsp[(1) - (1)]));
8035 (yyval) = T_HASHBANG;;}
8036 break;
8038 case 158:
8040 /* Line 1455 of yacc.c */
8041 #line 1038 "hphp.y"
8042 { _p->onNewLabelScope(false);
8043 _p->pushLabelScope();;}
8044 break;
8046 case 159:
8048 /* Line 1455 of yacc.c */
8049 #line 1040 "hphp.y"
8050 { _p->popLabelScope();
8051 _p->onForEach((yyval),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]), false);
8052 _p->onCompleteLabelScope(false);;}
8053 break;
8055 case 160:
8057 /* Line 1455 of yacc.c */
8058 #line 1045 "hphp.y"
8059 { _p->onNewLabelScope(false);
8060 _p->pushLabelScope();;}
8061 break;
8063 case 161:
8065 /* Line 1455 of yacc.c */
8066 #line 1047 "hphp.y"
8067 { _p->popLabelScope();
8068 _p->onForEach((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]), true);
8069 _p->onCompleteLabelScope(false);;}
8070 break;
8072 case 162:
8074 /* Line 1455 of yacc.c */
8075 #line 1051 "hphp.y"
8076 { _p->onDeclare((yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));
8077 (yyval) = (yyvsp[(3) - (5)]);
8078 (yyval) = T_DECLARE;;}
8079 break;
8081 case 163:
8083 /* Line 1455 of yacc.c */
8084 #line 1060 "hphp.y"
8085 { _p->onCompleteLabelScope(false);;}
8086 break;
8088 case 164:
8090 /* Line 1455 of yacc.c */
8091 #line 1061 "hphp.y"
8092 { _p->onTry((yyval),(yyvsp[(2) - (13)]),(yyvsp[(5) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(11) - (13)]),(yyvsp[(13) - (13)]));;}
8093 break;
8095 case 165:
8097 /* Line 1455 of yacc.c */
8098 #line 1064 "hphp.y"
8099 { _p->onCompleteLabelScope(false);;}
8100 break;
8102 case 166:
8104 /* Line 1455 of yacc.c */
8105 #line 1065 "hphp.y"
8106 { _p->onTry((yyval), (yyvsp[(2) - (5)]), (yyvsp[(5) - (5)]));;}
8107 break;
8109 case 167:
8111 /* Line 1455 of yacc.c */
8112 #line 1066 "hphp.y"
8113 { _p->onThrow((yyval), (yyvsp[(2) - (3)]));;}
8114 break;
8116 case 168:
8118 /* Line 1455 of yacc.c */
8119 #line 1067 "hphp.y"
8120 { _p->onGoto((yyval), (yyvsp[(2) - (3)]), true);
8121 _p->addGoto((yyvsp[(2) - (3)]).text(),
8122 _p->getRange(),
8123 &(yyval));;}
8124 break;
8126 case 169:
8128 /* Line 1455 of yacc.c */
8129 #line 1071 "hphp.y"
8130 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8131 break;
8133 case 170:
8135 /* Line 1455 of yacc.c */
8136 #line 1072 "hphp.y"
8137 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8138 break;
8140 case 171:
8142 /* Line 1455 of yacc.c */
8143 #line 1073 "hphp.y"
8144 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8145 break;
8147 case 172:
8149 /* Line 1455 of yacc.c */
8150 #line 1074 "hphp.y"
8151 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8152 break;
8154 case 173:
8156 /* Line 1455 of yacc.c */
8157 #line 1075 "hphp.y"
8158 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8159 break;
8161 case 174:
8163 /* Line 1455 of yacc.c */
8164 #line 1076 "hphp.y"
8165 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8166 break;
8168 case 175:
8170 /* Line 1455 of yacc.c */
8171 #line 1077 "hphp.y"
8172 { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;}
8173 break;
8175 case 176:
8177 /* Line 1455 of yacc.c */
8178 #line 1078 "hphp.y"
8179 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8180 break;
8182 case 177:
8184 /* Line 1455 of yacc.c */
8185 #line 1079 "hphp.y"
8186 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8187 break;
8189 case 178:
8191 /* Line 1455 of yacc.c */
8192 #line 1080 "hphp.y"
8193 { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); ;}
8194 break;
8196 case 179:
8198 /* Line 1455 of yacc.c */
8199 #line 1081 "hphp.y"
8200 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
8201 break;
8203 case 180:
8205 /* Line 1455 of yacc.c */
8206 #line 1082 "hphp.y"
8207 { _p->onLabel((yyval), (yyvsp[(1) - (2)]));
8208 _p->addLabel((yyvsp[(1) - (2)]).text(),
8209 _p->getRange(),
8210 &(yyval));
8211 _p->onScopeLabel((yyval), (yyvsp[(1) - (2)]));;}
8212 break;
8214 case 181:
8216 /* Line 1455 of yacc.c */
8217 #line 1090 "hphp.y"
8218 { _p->onNewLabelScope(false);;}
8219 break;
8221 case 182:
8223 /* Line 1455 of yacc.c */
8224 #line 1091 "hphp.y"
8225 { (yyval) = (yyvsp[(3) - (4)]);;}
8226 break;
8228 case 183:
8230 /* Line 1455 of yacc.c */
8231 #line 1100 "hphp.y"
8232 { _p->onCatch((yyval), (yyvsp[(1) - (9)]), (yyvsp[(4) - (9)]), (yyvsp[(5) - (9)]), (yyvsp[(8) - (9)]));;}
8233 break;
8235 case 184:
8237 /* Line 1455 of yacc.c */
8238 #line 1101 "hphp.y"
8239 { (yyval).reset();;}
8240 break;
8242 case 185:
8244 /* Line 1455 of yacc.c */
8245 #line 1105 "hphp.y"
8246 { _p->onNewLabelScope(false);
8247 _p->pushLabelScope();;}
8248 break;
8250 case 186:
8252 /* Line 1455 of yacc.c */
8253 #line 1107 "hphp.y"
8254 { _p->popLabelScope();
8255 _p->onFinally((yyval), (yyvsp[(3) - (4)]));
8256 _p->onCompleteLabelScope(false);;}
8257 break;
8259 case 187:
8261 /* Line 1455 of yacc.c */
8262 #line 1113 "hphp.y"
8263 { (yyval) = (yyvsp[(2) - (2)]);;}
8264 break;
8266 case 188:
8268 /* Line 1455 of yacc.c */
8269 #line 1114 "hphp.y"
8270 { (yyval).reset();;}
8271 break;
8273 case 189:
8275 /* Line 1455 of yacc.c */
8276 #line 1118 "hphp.y"
8277 { (yyval) = 1;;}
8278 break;
8280 case 190:
8282 /* Line 1455 of yacc.c */
8283 #line 1119 "hphp.y"
8284 { (yyval).reset();;}
8285 break;
8287 case 191:
8289 /* Line 1455 of yacc.c */
8290 #line 1123 "hphp.y"
8291 { _p->pushFuncLocation(); ;}
8292 break;
8294 case 192:
8296 /* Line 1455 of yacc.c */
8297 #line 1129 "hphp.y"
8298 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
8299 _p->onNewLabelScope(true);
8300 _p->onFunctionStart((yyvsp[(3) - (3)]));
8301 _p->pushLabelInfo();;}
8302 break;
8304 case 193:
8306 /* Line 1455 of yacc.c */
8307 #line 1135 "hphp.y"
8308 { _p->onFunction((yyval),nullptr,(yyvsp[(8) - (9)]),(yyvsp[(2) - (9)]),(yyvsp[(3) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]),nullptr);
8309 _p->popLabelInfo();
8310 _p->popTypeScope();
8311 _p->onCompleteLabelScope(true);;}
8312 break;
8314 case 194:
8316 /* Line 1455 of yacc.c */
8317 #line 1142 "hphp.y"
8318 { (yyvsp[(4) - (4)]).setText(_p->nsDecl((yyvsp[(4) - (4)]).text()));
8319 _p->onNewLabelScope(true);
8320 _p->onFunctionStart((yyvsp[(4) - (4)]));
8321 _p->pushLabelInfo();;}
8322 break;
8324 case 195:
8326 /* Line 1455 of yacc.c */
8327 #line 1148 "hphp.y"
8328 { _p->onFunction((yyval),&(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr);
8329 _p->popLabelInfo();
8330 _p->popTypeScope();
8331 _p->onCompleteLabelScope(true);;}
8332 break;
8334 case 196:
8336 /* Line 1455 of yacc.c */
8337 #line 1155 "hphp.y"
8338 { (yyvsp[(5) - (5)]).setText(_p->nsDecl((yyvsp[(5) - (5)]).text()));
8339 _p->onNewLabelScope(true);
8340 _p->onFunctionStart((yyvsp[(5) - (5)]));
8341 _p->pushLabelInfo();;}
8342 break;
8344 case 197:
8346 /* Line 1455 of yacc.c */
8347 #line 1161 "hphp.y"
8348 { _p->onFunction((yyval),&(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)]));
8349 _p->popLabelInfo();
8350 _p->popTypeScope();
8351 _p->onCompleteLabelScope(true);;}
8352 break;
8354 case 198:
8356 /* Line 1455 of yacc.c */
8357 #line 1169 "hphp.y"
8358 { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text()));
8359 _p->onClassStart(T_ENUM,(yyvsp[(2) - (2)]));;}
8360 break;
8362 case 199:
8364 /* Line 1455 of yacc.c */
8365 #line 1173 "hphp.y"
8366 { _p->onEnum((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]),0); ;}
8367 break;
8369 case 200:
8371 /* Line 1455 of yacc.c */
8372 #line 1177 "hphp.y"
8373 { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text()));
8374 _p->onClassStart(T_ENUM,(yyvsp[(3) - (3)]));;}
8375 break;
8377 case 201:
8379 /* Line 1455 of yacc.c */
8380 #line 1181 "hphp.y"
8381 { _p->onEnum((yyval),(yyvsp[(3) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]),&(yyvsp[(1) - (10)])); ;}
8382 break;
8384 case 202:
8386 /* Line 1455 of yacc.c */
8387 #line 1187 "hphp.y"
8388 { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text()));
8389 _p->onClassStart((yyvsp[(1) - (2)]).num(),(yyvsp[(2) - (2)]));;}
8390 break;
8392 case 203:
8394 /* Line 1455 of yacc.c */
8395 #line 1190 "hphp.y"
8396 { Token stmts;
8397 if (_p->peekClass()) {
8398 xhp_collect_attributes(_p,stmts,(yyvsp[(7) - (8)]));
8399 } else {
8400 stmts = (yyvsp[(7) - (8)]);
8402 _p->onClass((yyval),(yyvsp[(1) - (8)]).num(),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),
8403 stmts,0,nullptr);
8404 if (_p->peekClass()) {
8405 _p->xhpResetAttributes();
8407 _p->popClass();
8408 _p->popTypeScope();;}
8409 break;
8411 case 204:
8413 /* Line 1455 of yacc.c */
8414 #line 1205 "hphp.y"
8415 { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text()));
8416 _p->onClassStart((yyvsp[(2) - (3)]).num(),(yyvsp[(3) - (3)]));;}
8417 break;
8419 case 205:
8421 /* Line 1455 of yacc.c */
8422 #line 1208 "hphp.y"
8423 { Token stmts;
8424 if (_p->peekClass()) {
8425 xhp_collect_attributes(_p,stmts,(yyvsp[(8) - (9)]));
8426 } else {
8427 stmts = (yyvsp[(8) - (9)]);
8429 _p->onClass((yyval),(yyvsp[(2) - (9)]).num(),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),
8430 stmts,&(yyvsp[(1) - (9)]),nullptr);
8431 if (_p->peekClass()) {
8432 _p->xhpResetAttributes();
8434 _p->popClass();
8435 _p->popTypeScope();;}
8436 break;
8438 case 206:
8440 /* Line 1455 of yacc.c */
8441 #line 1222 "hphp.y"
8442 { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text()));
8443 _p->onClassStart(T_INTERFACE,(yyvsp[(2) - (2)]));;}
8444 break;
8446 case 207:
8448 /* Line 1455 of yacc.c */
8449 #line 1225 "hphp.y"
8450 { _p->onInterface((yyval),(yyvsp[(2) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(6) - (7)]),0);
8451 _p->popClass();
8452 _p->popTypeScope();;}
8453 break;
8455 case 208:
8457 /* Line 1455 of yacc.c */
8458 #line 1230 "hphp.y"
8459 { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text()));
8460 _p->onClassStart(T_INTERFACE,(yyvsp[(3) - (3)]));;}
8461 break;
8463 case 209:
8465 /* Line 1455 of yacc.c */
8466 #line 1233 "hphp.y"
8467 { _p->onInterface((yyval),(yyvsp[(3) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));
8468 _p->popClass();
8469 _p->popTypeScope();;}
8470 break;
8472 case 210:
8474 /* Line 1455 of yacc.c */
8475 #line 1239 "hphp.y"
8476 { _p->onClassExpressionStart(); ;}
8477 break;
8479 case 211:
8481 /* Line 1455 of yacc.c */
8482 #line 1242 "hphp.y"
8483 { _p->onClassExpression((yyval), (yyvsp[(3) - (8)]), (yyvsp[(4) - (8)]), (yyvsp[(5) - (8)]), (yyvsp[(7) - (8)])); ;}
8484 break;
8486 case 212:
8488 /* Line 1455 of yacc.c */
8489 #line 1246 "hphp.y"
8490 { (yyvsp[(2) - (2)]).setText(_p->nsClassDecl((yyvsp[(2) - (2)]).text()));
8491 _p->onClassStart(T_TRAIT, (yyvsp[(2) - (2)]));;}
8492 break;
8494 case 213:
8496 /* Line 1455 of yacc.c */
8497 #line 1249 "hphp.y"
8498 { Token t_ext;
8499 t_ext.reset();
8500 _p->onClass((yyval),T_TRAIT,(yyvsp[(2) - (7)]),t_ext,(yyvsp[(4) - (7)]),
8501 (yyvsp[(6) - (7)]), 0, nullptr);
8502 _p->popClass();
8503 _p->popTypeScope();;}
8504 break;
8506 case 214:
8508 /* Line 1455 of yacc.c */
8509 #line 1257 "hphp.y"
8510 { (yyvsp[(3) - (3)]).setText(_p->nsClassDecl((yyvsp[(3) - (3)]).text()));
8511 _p->onClassStart(T_TRAIT, (yyvsp[(3) - (3)]));;}
8512 break;
8514 case 215:
8516 /* Line 1455 of yacc.c */
8517 #line 1260 "hphp.y"
8518 { Token t_ext;
8519 t_ext.reset();
8520 _p->onClass((yyval),T_TRAIT,(yyvsp[(3) - (8)]),t_ext,(yyvsp[(5) - (8)]),
8521 (yyvsp[(7) - (8)]), &(yyvsp[(1) - (8)]), nullptr);
8522 _p->popClass();
8523 _p->popTypeScope();;}
8524 break;
8526 case 216:
8528 /* Line 1455 of yacc.c */
8529 #line 1268 "hphp.y"
8530 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
8531 break;
8533 case 217:
8535 /* Line 1455 of yacc.c */
8536 #line 1269 "hphp.y"
8537 { (yyvsp[(1) - (1)]).xhpLabel(); _p->pushTypeScope();
8538 _p->pushClass(true); (yyval) = (yyvsp[(1) - (1)]);;}
8539 break;
8541 case 218:
8543 /* Line 1455 of yacc.c */
8544 #line 1273 "hphp.y"
8545 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
8546 break;
8548 case 219:
8550 /* Line 1455 of yacc.c */
8551 #line 1276 "hphp.y"
8552 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
8553 break;
8555 case 220:
8557 /* Line 1455 of yacc.c */
8558 #line 1279 "hphp.y"
8559 { (yyval) = T_CLASS;;}
8560 break;
8562 case 221:
8564 /* Line 1455 of yacc.c */
8565 #line 1280 "hphp.y"
8566 { (yyval) = T_ABSTRACT; ;}
8567 break;
8569 case 222:
8571 /* Line 1455 of yacc.c */
8572 #line 1281 "hphp.y"
8573 { only_in_hh_syntax(_p);
8574 /* hacky, but transforming to a single token is quite convenient */
8575 (yyval) = T_STATIC; ;}
8576 break;
8578 case 223:
8580 /* Line 1455 of yacc.c */
8581 #line 1284 "hphp.y"
8582 { only_in_hh_syntax(_p); (yyval) = T_STATIC; ;}
8583 break;
8585 case 224:
8587 /* Line 1455 of yacc.c */
8588 #line 1285 "hphp.y"
8589 { (yyval) = T_FINAL;;}
8590 break;
8592 case 225:
8594 /* Line 1455 of yacc.c */
8595 #line 1289 "hphp.y"
8596 { (yyval) = (yyvsp[(2) - (2)]);;}
8597 break;
8599 case 226:
8601 /* Line 1455 of yacc.c */
8602 #line 1290 "hphp.y"
8603 { (yyval).reset();;}
8604 break;
8606 case 227:
8608 /* Line 1455 of yacc.c */
8609 #line 1293 "hphp.y"
8610 { (yyval) = (yyvsp[(2) - (2)]);;}
8611 break;
8613 case 228:
8615 /* Line 1455 of yacc.c */
8616 #line 1294 "hphp.y"
8617 { (yyval).reset();;}
8618 break;
8620 case 229:
8622 /* Line 1455 of yacc.c */
8623 #line 1297 "hphp.y"
8624 { (yyval) = (yyvsp[(2) - (2)]);;}
8625 break;
8627 case 230:
8629 /* Line 1455 of yacc.c */
8630 #line 1298 "hphp.y"
8631 { (yyval).reset();;}
8632 break;
8634 case 231:
8636 /* Line 1455 of yacc.c */
8637 #line 1301 "hphp.y"
8638 { _p->onInterfaceName((yyval), NULL, (yyvsp[(1) - (1)]));;}
8639 break;
8641 case 232:
8643 /* Line 1455 of yacc.c */
8644 #line 1303 "hphp.y"
8645 { _p->onInterfaceName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
8646 break;
8648 case 233:
8650 /* Line 1455 of yacc.c */
8651 #line 1306 "hphp.y"
8652 { _p->onTraitName((yyval), NULL, (yyvsp[(1) - (1)]));;}
8653 break;
8655 case 234:
8657 /* Line 1455 of yacc.c */
8658 #line 1308 "hphp.y"
8659 { _p->onTraitName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
8660 break;
8662 case 235:
8664 /* Line 1455 of yacc.c */
8665 #line 1312 "hphp.y"
8666 { (yyval) = (yyvsp[(2) - (2)]);;}
8667 break;
8669 case 236:
8671 /* Line 1455 of yacc.c */
8672 #line 1313 "hphp.y"
8673 { (yyval).reset();;}
8674 break;
8676 case 237:
8678 /* Line 1455 of yacc.c */
8679 #line 1316 "hphp.y"
8680 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;}
8681 break;
8683 case 238:
8685 /* Line 1455 of yacc.c */
8686 #line 1317 "hphp.y"
8687 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;}
8688 break;
8690 case 239:
8692 /* Line 1455 of yacc.c */
8693 #line 1318 "hphp.y"
8694 { _p->onListAssignment((yyval), (yyvsp[(3) - (4)]), NULL);;}
8695 break;
8697 case 240:
8699 /* Line 1455 of yacc.c */
8700 #line 1322 "hphp.y"
8701 { (yyval) = (yyvsp[(1) - (1)]);;}
8702 break;
8704 case 241:
8706 /* Line 1455 of yacc.c */
8707 #line 1324 "hphp.y"
8708 { (yyval) = (yyvsp[(2) - (4)]);;}
8709 break;
8711 case 242:
8713 /* Line 1455 of yacc.c */
8714 #line 1327 "hphp.y"
8715 { (yyval) = (yyvsp[(1) - (1)]);;}
8716 break;
8718 case 243:
8720 /* Line 1455 of yacc.c */
8721 #line 1329 "hphp.y"
8722 { (yyval) = (yyvsp[(2) - (4)]);;}
8723 break;
8725 case 244:
8727 /* Line 1455 of yacc.c */
8728 #line 1332 "hphp.y"
8729 { (yyval) = (yyvsp[(1) - (1)]);;}
8730 break;
8732 case 245:
8734 /* Line 1455 of yacc.c */
8735 #line 1334 "hphp.y"
8736 { (yyval) = (yyvsp[(2) - (4)]);;}
8737 break;
8739 case 246:
8741 /* Line 1455 of yacc.c */
8742 #line 1337 "hphp.y"
8743 { _p->onBlock((yyval), (yyvsp[(1) - (1)]));;}
8744 break;
8746 case 247:
8748 /* Line 1455 of yacc.c */
8749 #line 1339 "hphp.y"
8750 { _p->onBlock((yyval), (yyvsp[(2) - (4)]));;}
8751 break;
8753 case 248:
8755 /* Line 1455 of yacc.c */
8756 #line 1343 "hphp.y"
8757 {_p->onDeclareList((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
8758 break;
8760 case 249:
8762 /* Line 1455 of yacc.c */
8763 #line 1345 "hphp.y"
8764 {_p->onDeclareList((yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));
8765 (yyval) = (yyvsp[(1) - (5)]);;}
8766 break;
8768 case 250:
8770 /* Line 1455 of yacc.c */
8771 #line 1350 "hphp.y"
8772 { (yyval) = (yyvsp[(2) - (3)]);;}
8773 break;
8775 case 251:
8777 /* Line 1455 of yacc.c */
8778 #line 1351 "hphp.y"
8779 { (yyval) = (yyvsp[(3) - (4)]);;}
8780 break;
8782 case 252:
8784 /* Line 1455 of yacc.c */
8785 #line 1352 "hphp.y"
8786 { (yyval) = (yyvsp[(2) - (4)]);;}
8787 break;
8789 case 253:
8791 /* Line 1455 of yacc.c */
8792 #line 1353 "hphp.y"
8793 { (yyval) = (yyvsp[(3) - (5)]);;}
8794 break;
8796 case 254:
8798 /* Line 1455 of yacc.c */
8799 #line 1358 "hphp.y"
8800 { _p->onCase((yyval),(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
8801 break;
8803 case 255:
8805 /* Line 1455 of yacc.c */
8806 #line 1360 "hphp.y"
8807 { _p->onCase((yyval),(yyvsp[(1) - (4)]),NULL,(yyvsp[(4) - (4)]));;}
8808 break;
8810 case 256:
8812 /* Line 1455 of yacc.c */
8813 #line 1361 "hphp.y"
8814 { (yyval).reset();;}
8815 break;
8817 case 257:
8819 /* Line 1455 of yacc.c */
8820 #line 1364 "hphp.y"
8821 { (yyval).reset();;}
8822 break;
8824 case 258:
8826 /* Line 1455 of yacc.c */
8827 #line 1365 "hphp.y"
8828 { (yyval).reset();;}
8829 break;
8831 case 259:
8833 /* Line 1455 of yacc.c */
8834 #line 1370 "hphp.y"
8835 { _p->onElseIf((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;}
8836 break;
8838 case 260:
8840 /* Line 1455 of yacc.c */
8841 #line 1371 "hphp.y"
8842 { (yyval).reset();;}
8843 break;
8845 case 261:
8847 /* Line 1455 of yacc.c */
8848 #line 1376 "hphp.y"
8849 { _p->onElseIf((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
8850 break;
8852 case 262:
8854 /* Line 1455 of yacc.c */
8855 #line 1377 "hphp.y"
8856 { (yyval).reset();;}
8857 break;
8859 case 263:
8861 /* Line 1455 of yacc.c */
8862 #line 1380 "hphp.y"
8863 { (yyval) = (yyvsp[(2) - (2)]);;}
8864 break;
8866 case 264:
8868 /* Line 1455 of yacc.c */
8869 #line 1381 "hphp.y"
8870 { (yyval).reset();;}
8871 break;
8873 case 265:
8875 /* Line 1455 of yacc.c */
8876 #line 1384 "hphp.y"
8877 { (yyval) = (yyvsp[(3) - (3)]);;}
8878 break;
8880 case 266:
8882 /* Line 1455 of yacc.c */
8883 #line 1385 "hphp.y"
8884 { (yyval).reset();;}
8885 break;
8887 case 267:
8889 /* Line 1455 of yacc.c */
8890 #line 1393 "hphp.y"
8891 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),false,
8892 &(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)])); ;}
8893 break;
8895 case 268:
8897 /* Line 1455 of yacc.c */
8898 #line 1399 "hphp.y"
8899 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(8) - (8)]),true,
8900 &(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)])); ;}
8901 break;
8903 case 269:
8905 /* Line 1455 of yacc.c */
8906 #line 1405 "hphp.y"
8907 { validate_hh_variadic_variant(
8908 _p, (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(4) - (6)]));
8909 (yyval) = (yyvsp[(1) - (6)]); ;}
8910 break;
8912 case 270:
8914 /* Line 1455 of yacc.c */
8915 #line 1409 "hphp.y"
8916 { (yyval) = (yyvsp[(1) - (2)]);;}
8917 break;
8919 case 271:
8921 /* Line 1455 of yacc.c */
8922 #line 1413 "hphp.y"
8923 { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),false,
8924 &(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)])); ;}
8925 break;
8927 case 272:
8929 /* Line 1455 of yacc.c */
8930 #line 1418 "hphp.y"
8931 { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),true,
8932 &(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)])); ;}
8933 break;
8935 case 273:
8937 /* Line 1455 of yacc.c */
8938 #line 1423 "hphp.y"
8939 { validate_hh_variadic_variant(
8940 _p, (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]), &(yyvsp[(2) - (4)]));
8941 (yyval).reset(); ;}
8942 break;
8944 case 274:
8946 /* Line 1455 of yacc.c */
8947 #line 1426 "hphp.y"
8948 { (yyval).reset(); ;}
8949 break;
8951 case 275:
8953 /* Line 1455 of yacc.c */
8954 #line 1432 "hphp.y"
8955 { _p->onParam((yyval),NULL,(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]),0,
8956 NULL,&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]));;}
8957 break;
8959 case 276:
8961 /* Line 1455 of yacc.c */
8962 #line 1436 "hphp.y"
8963 { _p->onParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),1,
8964 NULL,&(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)]));;}
8965 break;
8967 case 277:
8969 /* Line 1455 of yacc.c */
8970 #line 1441 "hphp.y"
8971 { _p->onParam((yyval),NULL,(yyvsp[(3) - (7)]),(yyvsp[(5) - (7)]),1,
8972 &(yyvsp[(7) - (7)]),&(yyvsp[(1) - (7)]),&(yyvsp[(2) - (7)]));;}
8973 break;
8975 case 278:
8977 /* Line 1455 of yacc.c */
8978 #line 1446 "hphp.y"
8979 { _p->onParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(4) - (6)]),0,
8980 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)]));;}
8981 break;
8983 case 279:
8985 /* Line 1455 of yacc.c */
8986 #line 1451 "hphp.y"
8987 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]),0,
8988 NULL,&(yyvsp[(3) - (6)]),&(yyvsp[(4) - (6)]));;}
8989 break;
8991 case 280:
8993 /* Line 1455 of yacc.c */
8994 #line 1456 "hphp.y"
8995 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),1,
8996 NULL,&(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)]));;}
8997 break;
8999 case 281:
9001 /* Line 1455 of yacc.c */
9002 #line 1462 "hphp.y"
9003 { _p->onParam((yyval),&(yyvsp[(1) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(7) - (9)]),1,
9004 &(yyvsp[(9) - (9)]),&(yyvsp[(3) - (9)]),&(yyvsp[(4) - (9)]));;}
9005 break;
9007 case 282:
9009 /* Line 1455 of yacc.c */
9010 #line 1468 "hphp.y"
9011 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]),0,
9012 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)]));;}
9013 break;
9015 case 283:
9017 /* Line 1455 of yacc.c */
9018 #line 1476 "hphp.y"
9019 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),
9020 false,&(yyvsp[(3) - (6)]),NULL); ;}
9021 break;
9023 case 284:
9025 /* Line 1455 of yacc.c */
9026 #line 1481 "hphp.y"
9027 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(7) - (7)]),
9028 true,&(yyvsp[(3) - (7)]),NULL); ;}
9029 break;
9031 case 285:
9033 /* Line 1455 of yacc.c */
9034 #line 1486 "hphp.y"
9035 { validate_hh_variadic_variant(
9036 _p, (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), NULL);
9037 (yyval) = (yyvsp[(1) - (5)]); ;}
9038 break;
9040 case 286:
9042 /* Line 1455 of yacc.c */
9043 #line 1490 "hphp.y"
9044 { (yyval) = (yyvsp[(1) - (2)]);;}
9045 break;
9047 case 287:
9049 /* Line 1455 of yacc.c */
9050 #line 1493 "hphp.y"
9051 { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),
9052 false,&(yyvsp[(1) - (4)]),NULL); ;}
9053 break;
9055 case 288:
9057 /* Line 1455 of yacc.c */
9058 #line 1497 "hphp.y"
9059 { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(5) - (5)]),
9060 true,&(yyvsp[(1) - (5)]),NULL); ;}
9061 break;
9063 case 289:
9065 /* Line 1455 of yacc.c */
9066 #line 1501 "hphp.y"
9067 { validate_hh_variadic_variant(
9068 _p, (yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), NULL);
9069 (yyval).reset(); ;}
9070 break;
9072 case 290:
9074 /* Line 1455 of yacc.c */
9075 #line 1504 "hphp.y"
9076 { (yyval).reset();;}
9077 break;
9079 case 291:
9081 /* Line 1455 of yacc.c */
9082 #line 1509 "hphp.y"
9083 { _p->onParam((yyval),NULL,(yyvsp[(2) - (3)]),(yyvsp[(3) - (3)]),false,
9084 NULL,&(yyvsp[(1) - (3)]),NULL); ;}
9085 break;
9087 case 292:
9089 /* Line 1455 of yacc.c */
9090 #line 1512 "hphp.y"
9091 { _p->onParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),true,
9092 NULL,&(yyvsp[(1) - (4)]),NULL); ;}
9093 break;
9095 case 293:
9097 /* Line 1455 of yacc.c */
9098 #line 1516 "hphp.y"
9099 { _p->onParam((yyval),NULL,(yyvsp[(2) - (6)]),(yyvsp[(4) - (6)]),true,
9100 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),NULL); ;}
9101 break;
9103 case 294:
9105 /* Line 1455 of yacc.c */
9106 #line 1520 "hphp.y"
9107 { _p->onParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),false,
9108 &(yyvsp[(5) - (5)]),&(yyvsp[(1) - (5)]),NULL); ;}
9109 break;
9111 case 295:
9113 /* Line 1455 of yacc.c */
9114 #line 1524 "hphp.y"
9115 { _p->onParam((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]),false,
9116 NULL,&(yyvsp[(3) - (5)]),NULL); ;}
9117 break;
9119 case 296:
9121 /* Line 1455 of yacc.c */
9122 #line 1528 "hphp.y"
9123 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),true,
9124 NULL,&(yyvsp[(3) - (6)]),NULL); ;}
9125 break;
9127 case 297:
9129 /* Line 1455 of yacc.c */
9130 #line 1533 "hphp.y"
9131 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(6) - (8)]),true,
9132 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),NULL); ;}
9133 break;
9135 case 298:
9137 /* Line 1455 of yacc.c */
9138 #line 1538 "hphp.y"
9139 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(5) - (7)]),false,
9140 &(yyvsp[(7) - (7)]),&(yyvsp[(3) - (7)]),NULL); ;}
9141 break;
9143 case 299:
9145 /* Line 1455 of yacc.c */
9146 #line 1544 "hphp.y"
9147 { (yyval) = (yyvsp[(1) - (2)]);;}
9148 break;
9150 case 300:
9152 /* Line 1455 of yacc.c */
9153 #line 1545 "hphp.y"
9154 { (yyval).reset();;}
9155 break;
9157 case 301:
9159 /* Line 1455 of yacc.c */
9160 #line 1548 "hphp.y"
9161 { _p->onCallParam((yyval),NULL,(yyvsp[(1) - (1)]),false,false);;}
9162 break;
9164 case 302:
9166 /* Line 1455 of yacc.c */
9167 #line 1549 "hphp.y"
9168 { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),true,false);;}
9169 break;
9171 case 303:
9173 /* Line 1455 of yacc.c */
9174 #line 1550 "hphp.y"
9175 { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),false,true);;}
9176 break;
9178 case 304:
9180 /* Line 1455 of yacc.c */
9181 #line 1552 "hphp.y"
9182 { _p->onCallParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),false, false);;}
9183 break;
9185 case 305:
9187 /* Line 1455 of yacc.c */
9188 #line 1554 "hphp.y"
9189 { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),false,true);;}
9190 break;
9192 case 306:
9194 /* Line 1455 of yacc.c */
9195 #line 1556 "hphp.y"
9196 { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),true, false);;}
9197 break;
9199 case 307:
9201 /* Line 1455 of yacc.c */
9202 #line 1560 "hphp.y"
9203 { _p->onGlobalVar((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
9204 break;
9206 case 308:
9208 /* Line 1455 of yacc.c */
9209 #line 1561 "hphp.y"
9210 { _p->onGlobalVar((yyval), NULL, (yyvsp[(1) - (1)]));;}
9211 break;
9213 case 309:
9215 /* Line 1455 of yacc.c */
9216 #line 1564 "hphp.y"
9217 { (yyval) = (yyvsp[(1) - (1)]);;}
9218 break;
9220 case 310:
9222 /* Line 1455 of yacc.c */
9223 #line 1565 "hphp.y"
9224 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;}
9225 break;
9227 case 311:
9229 /* Line 1455 of yacc.c */
9230 #line 1566 "hphp.y"
9231 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 1;;}
9232 break;
9234 case 312:
9236 /* Line 1455 of yacc.c */
9237 #line 1570 "hphp.y"
9238 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
9239 break;
9241 case 313:
9243 /* Line 1455 of yacc.c */
9244 #line 1572 "hphp.y"
9245 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;}
9246 break;
9248 case 314:
9250 /* Line 1455 of yacc.c */
9251 #line 1573 "hphp.y"
9252 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (1)]),0);;}
9253 break;
9255 case 315:
9257 /* Line 1455 of yacc.c */
9258 #line 1574 "hphp.y"
9259 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
9260 break;
9262 case 316:
9264 /* Line 1455 of yacc.c */
9265 #line 1579 "hphp.y"
9266 { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
9267 break;
9269 case 317:
9271 /* Line 1455 of yacc.c */
9272 #line 1580 "hphp.y"
9273 { (yyval).reset();;}
9274 break;
9276 case 318:
9278 /* Line 1455 of yacc.c */
9279 #line 1583 "hphp.y"
9280 { _p->onClassVariableStart
9281 ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;}
9282 break;
9284 case 319:
9286 /* Line 1455 of yacc.c */
9287 #line 1588 "hphp.y"
9288 { _p->onClassConstant((yyval),0,(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
9289 break;
9291 case 320:
9293 /* Line 1455 of yacc.c */
9294 #line 1594 "hphp.y"
9295 { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
9296 break;
9298 case 321:
9300 /* Line 1455 of yacc.c */
9301 #line 1595 "hphp.y"
9302 { (yyval).reset();;}
9303 break;
9305 case 322:
9307 /* Line 1455 of yacc.c */
9308 #line 1598 "hphp.y"
9309 { _p->onClassVariableModifer((yyvsp[(1) - (1)]));;}
9310 break;
9312 case 323:
9314 /* Line 1455 of yacc.c */
9315 #line 1599 "hphp.y"
9316 { _p->onClassVariableStart
9317 ((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
9318 break;
9320 case 324:
9322 /* Line 1455 of yacc.c */
9323 #line 1602 "hphp.y"
9324 { _p->onClassVariableModifer((yyvsp[(1) - (2)]));;}
9325 break;
9327 case 325:
9329 /* Line 1455 of yacc.c */
9330 #line 1603 "hphp.y"
9331 { _p->onClassVariableStart
9332 ((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),&(yyvsp[(2) - (5)]));;}
9333 break;
9335 case 326:
9337 /* Line 1455 of yacc.c */
9338 #line 1605 "hphp.y"
9339 { _p->onClassVariableStart
9340 ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;}
9341 break;
9343 case 327:
9345 /* Line 1455 of yacc.c */
9346 #line 1608 "hphp.y"
9347 { _p->onClassVariableStart
9348 ((yyval),NULL,(yyvsp[(1) - (2)]),NULL, true);;}
9349 break;
9351 case 328:
9353 /* Line 1455 of yacc.c */
9354 #line 1610 "hphp.y"
9355 { (yyval) = (yyvsp[(1) - (2)]); ;}
9356 break;
9358 case 329:
9360 /* Line 1455 of yacc.c */
9361 #line 1613 "hphp.y"
9362 { _p->onNewLabelScope(true);
9363 _p->onMethodStart((yyvsp[(4) - (5)]), (yyvsp[(1) - (5)]));
9364 _p->pushLabelInfo();;}
9365 break;
9367 case 330:
9369 /* Line 1455 of yacc.c */
9370 #line 1620 "hphp.y"
9371 { _p->onMethod((yyval),(yyvsp[(1) - (11)]),(yyvsp[(9) - (11)]),(yyvsp[(3) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(7) - (11)]),(yyvsp[(11) - (11)]),nullptr);
9372 _p->popLabelInfo();
9373 _p->popTypeScope();
9374 _p->onCompleteLabelScope(true);;}
9375 break;
9377 case 331:
9379 /* Line 1455 of yacc.c */
9380 #line 1628 "hphp.y"
9381 { _p->onNewLabelScope(true);
9382 _p->onMethodStart((yyvsp[(5) - (6)]), (yyvsp[(2) - (6)]));
9383 _p->pushLabelInfo();;}
9384 break;
9386 case 332:
9388 /* Line 1455 of yacc.c */
9389 #line 1635 "hphp.y"
9390 { _p->onMethod((yyval),(yyvsp[(2) - (12)]),(yyvsp[(10) - (12)]),(yyvsp[(4) - (12)]),(yyvsp[(5) - (12)]),(yyvsp[(8) - (12)]),(yyvsp[(12) - (12)]),&(yyvsp[(1) - (12)]));
9391 _p->popLabelInfo();
9392 _p->popTypeScope();
9393 _p->onCompleteLabelScope(true);;}
9394 break;
9396 case 333:
9398 /* Line 1455 of yacc.c */
9399 #line 1640 "hphp.y"
9400 { _p->xhpSetAttributes((yyvsp[(2) - (3)]));;}
9401 break;
9403 case 334:
9405 /* Line 1455 of yacc.c */
9406 #line 1642 "hphp.y"
9407 { xhp_category_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;}
9408 break;
9410 case 335:
9412 /* Line 1455 of yacc.c */
9413 #line 1644 "hphp.y"
9414 { xhp_children_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;}
9415 break;
9417 case 336:
9419 /* Line 1455 of yacc.c */
9420 #line 1646 "hphp.y"
9421 { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), true); ;}
9422 break;
9424 case 337:
9426 /* Line 1455 of yacc.c */
9427 #line 1648 "hphp.y"
9428 { _p->onClassRequire((yyval), (yyvsp[(3) - (4)]), false); ;}
9429 break;
9431 case 338:
9433 /* Line 1455 of yacc.c */
9434 #line 1649 "hphp.y"
9435 { Token t; t.reset();
9436 _p->onTraitUse((yyval),(yyvsp[(2) - (3)]),t); ;}
9437 break;
9439 case 339:
9441 /* Line 1455 of yacc.c */
9442 #line 1652 "hphp.y"
9443 { _p->onTraitUse((yyval),(yyvsp[(2) - (5)]),(yyvsp[(4) - (5)])); ;}
9444 break;
9446 case 340:
9448 /* Line 1455 of yacc.c */
9449 #line 1655 "hphp.y"
9450 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;}
9451 break;
9453 case 341:
9455 /* Line 1455 of yacc.c */
9456 #line 1656 "hphp.y"
9457 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;}
9458 break;
9460 case 342:
9462 /* Line 1455 of yacc.c */
9463 #line 1657 "hphp.y"
9464 { (yyval).reset(); ;}
9465 break;
9467 case 343:
9469 /* Line 1455 of yacc.c */
9470 #line 1663 "hphp.y"
9471 { _p->onTraitPrecRule((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;}
9472 break;
9474 case 344:
9476 /* Line 1455 of yacc.c */
9477 #line 1668 "hphp.y"
9478 { _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),
9479 (yyvsp[(4) - (5)]));;}
9480 break;
9482 case 345:
9484 /* Line 1455 of yacc.c */
9485 #line 1671 "hphp.y"
9486 { Token t; t.reset();
9487 _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),
9488 t);;}
9489 break;
9491 case 346:
9493 /* Line 1455 of yacc.c */
9494 #line 1678 "hphp.y"
9495 { _p->onTraitAliasRuleStart((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
9496 break;
9498 case 347:
9500 /* Line 1455 of yacc.c */
9501 #line 1679 "hphp.y"
9502 { Token t; t.reset();
9503 _p->onTraitAliasRuleStart((yyval),t,(yyvsp[(1) - (1)]));;}
9504 break;
9506 case 348:
9508 /* Line 1455 of yacc.c */
9509 #line 1684 "hphp.y"
9510 { xhp_attribute_list(_p,(yyval),
9511 _p->xhpGetAttributes(),(yyvsp[(1) - (1)]));;}
9512 break;
9514 case 349:
9516 /* Line 1455 of yacc.c */
9517 #line 1687 "hphp.y"
9518 { xhp_attribute_list(_p,(yyval), &(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
9519 break;
9521 case 350:
9523 /* Line 1455 of yacc.c */
9524 #line 1694 "hphp.y"
9525 { xhp_attribute(_p,(yyval),(yyvsp[(1) - (4)]),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));
9526 (yyval) = 1;;}
9527 break;
9529 case 351:
9531 /* Line 1455 of yacc.c */
9532 #line 1696 "hphp.y"
9533 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;}
9534 break;
9536 case 352:
9538 /* Line 1455 of yacc.c */
9539 #line 1700 "hphp.y"
9540 { (yyval) = (yyvsp[(2) - (2)]);;}
9541 break;
9543 case 354:
9545 /* Line 1455 of yacc.c */
9546 #line 1705 "hphp.y"
9547 { (yyval) = 4;;}
9548 break;
9550 case 355:
9552 /* Line 1455 of yacc.c */
9553 #line 1707 "hphp.y"
9554 { (yyval) = 4;;}
9555 break;
9557 case 356:
9559 /* Line 1455 of yacc.c */
9560 #line 1709 "hphp.y"
9561 { (yyval) = 4;;}
9562 break;
9564 case 357:
9566 /* Line 1455 of yacc.c */
9567 #line 1710 "hphp.y"
9568 { /* This case handles all types other
9569 than "array", "var" and "enum".
9570 For now we just use type code 5;
9571 later xhp_attribute() will fix up
9572 the type code as appropriate. */
9573 (yyval) = 5; (yyval).setText((yyvsp[(1) - (1)]));;}
9574 break;
9576 case 358:
9578 /* Line 1455 of yacc.c */
9579 #line 1716 "hphp.y"
9580 { (yyval) = 6;;}
9581 break;
9583 case 359:
9585 /* Line 1455 of yacc.c */
9586 #line 1718 "hphp.y"
9587 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 7;;}
9588 break;
9590 case 360:
9592 /* Line 1455 of yacc.c */
9593 #line 1719 "hphp.y"
9594 { (yyval) = 9; ;}
9595 break;
9597 case 361:
9599 /* Line 1455 of yacc.c */
9600 #line 1723 "hphp.y"
9601 { _p->onArrayPair((yyval), 0,0,(yyvsp[(1) - (1)]),0);;}
9602 break;
9604 case 362:
9606 /* Line 1455 of yacc.c */
9607 #line 1725 "hphp.y"
9608 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),0,(yyvsp[(3) - (3)]),0);;}
9609 break;
9611 case 363:
9613 /* Line 1455 of yacc.c */
9614 #line 1730 "hphp.y"
9615 { (yyval) = (yyvsp[(1) - (2)]);;}
9616 break;
9618 case 364:
9620 /* Line 1455 of yacc.c */
9621 #line 1733 "hphp.y"
9622 { (yyval) = (yyvsp[(2) - (2)]);;}
9623 break;
9625 case 365:
9627 /* Line 1455 of yacc.c */
9628 #line 1734 "hphp.y"
9629 { scalar_null(_p, (yyval));;}
9630 break;
9632 case 366:
9634 /* Line 1455 of yacc.c */
9635 #line 1738 "hphp.y"
9636 { scalar_num(_p, (yyval), "1");;}
9637 break;
9639 case 367:
9641 /* Line 1455 of yacc.c */
9642 #line 1739 "hphp.y"
9643 { scalar_num(_p, (yyval), "0");;}
9644 break;
9646 case 368:
9648 /* Line 1455 of yacc.c */
9649 #line 1743 "hphp.y"
9650 { Token t; scalar_num(_p, t, "1");
9651 _p->onArrayPair((yyval),0,&(yyvsp[(1) - (1)]),t,0);;}
9652 break;
9654 case 369:
9656 /* Line 1455 of yacc.c */
9657 #line 1746 "hphp.y"
9658 { Token t; scalar_num(_p, t, "1");
9659 _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]),t,0);;}
9660 break;
9662 case 370:
9664 /* Line 1455 of yacc.c */
9665 #line 1751 "hphp.y"
9666 { _p->onScalar((yyval),
9667 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
9668 break;
9670 case 371:
9672 /* Line 1455 of yacc.c */
9673 #line 1756 "hphp.y"
9674 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 2;;}
9675 break;
9677 case 372:
9679 /* Line 1455 of yacc.c */
9680 #line 1757 "hphp.y"
9681 { (yyval) = -1;
9682 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1;;}
9683 break;
9685 case 373:
9687 /* Line 1455 of yacc.c */
9688 #line 1759 "hphp.y"
9689 { (yyval) = 0;;}
9690 break;
9692 case 374:
9694 /* Line 1455 of yacc.c */
9695 #line 1763 "hphp.y"
9696 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (3)]), 0);;}
9697 break;
9699 case 375:
9701 /* Line 1455 of yacc.c */
9702 #line 1764 "hphp.y"
9703 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 1);;}
9704 break;
9706 case 376:
9708 /* Line 1455 of yacc.c */
9709 #line 1765 "hphp.y"
9710 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 2);;}
9711 break;
9713 case 377:
9715 /* Line 1455 of yacc.c */
9716 #line 1766 "hphp.y"
9717 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 3);;}
9718 break;
9720 case 378:
9722 /* Line 1455 of yacc.c */
9723 #line 1770 "hphp.y"
9724 { (yyval) = (yyvsp[(1) - (1)]);;}
9725 break;
9727 case 379:
9729 /* Line 1455 of yacc.c */
9730 #line 1771 "hphp.y"
9731 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (1)]),0, 0);;}
9732 break;
9734 case 380:
9736 /* Line 1455 of yacc.c */
9737 #line 1772 "hphp.y"
9738 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),1, 0);;}
9739 break;
9741 case 381:
9743 /* Line 1455 of yacc.c */
9744 #line 1773 "hphp.y"
9745 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),2, 0);;}
9746 break;
9748 case 382:
9750 /* Line 1455 of yacc.c */
9751 #line 1774 "hphp.y"
9752 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),3, 0);;}
9753 break;
9755 case 383:
9757 /* Line 1455 of yacc.c */
9758 #line 1776 "hphp.y"
9759 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),4,&(yyvsp[(3) - (3)]));;}
9760 break;
9762 case 384:
9764 /* Line 1455 of yacc.c */
9765 #line 1778 "hphp.y"
9766 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),5,&(yyvsp[(3) - (3)]));;}
9767 break;
9769 case 385:
9771 /* Line 1455 of yacc.c */
9772 #line 1782 "hphp.y"
9773 { (yyval) = -1;
9774 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1; else
9775 if ((yyvsp[(1) - (1)]).same("pcdata")) (yyval) = 2;;}
9776 break;
9778 case 386:
9780 /* Line 1455 of yacc.c */
9781 #line 1785 "hphp.y"
9782 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 3;;}
9783 break;
9785 case 387:
9787 /* Line 1455 of yacc.c */
9788 #line 1786 "hphp.y"
9789 { (yyvsp[(1) - (1)]).xhpLabel(0); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 4;;}
9790 break;
9792 case 388:
9794 /* Line 1455 of yacc.c */
9795 #line 1790 "hphp.y"
9796 { (yyval).reset();;}
9797 break;
9799 case 389:
9801 /* Line 1455 of yacc.c */
9802 #line 1791 "hphp.y"
9803 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;}
9804 break;
9806 case 390:
9808 /* Line 1455 of yacc.c */
9809 #line 1795 "hphp.y"
9810 { (yyval).reset();;}
9811 break;
9813 case 391:
9815 /* Line 1455 of yacc.c */
9816 #line 1796 "hphp.y"
9817 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;}
9818 break;
9820 case 392:
9822 /* Line 1455 of yacc.c */
9823 #line 1799 "hphp.y"
9824 { (yyval) = (yyvsp[(1) - (1)]);;}
9825 break;
9827 case 393:
9829 /* Line 1455 of yacc.c */
9830 #line 1800 "hphp.y"
9831 { (yyval).reset();;}
9832 break;
9834 case 394:
9836 /* Line 1455 of yacc.c */
9837 #line 1803 "hphp.y"
9838 { (yyval) = (yyvsp[(1) - (1)]);;}
9839 break;
9841 case 395:
9843 /* Line 1455 of yacc.c */
9844 #line 1804 "hphp.y"
9845 { (yyval).reset();;}
9846 break;
9848 case 396:
9850 /* Line 1455 of yacc.c */
9851 #line 1807 "hphp.y"
9852 { _p->onMemberModifier((yyval),NULL,(yyvsp[(1) - (1)]));;}
9853 break;
9855 case 397:
9857 /* Line 1455 of yacc.c */
9858 #line 1809 "hphp.y"
9859 { _p->onMemberModifier((yyval),&(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
9860 break;
9862 case 398:
9864 /* Line 1455 of yacc.c */
9865 #line 1812 "hphp.y"
9866 { (yyval) = T_PUBLIC;;}
9867 break;
9869 case 399:
9871 /* Line 1455 of yacc.c */
9872 #line 1813 "hphp.y"
9873 { (yyval) = T_PROTECTED;;}
9874 break;
9876 case 400:
9878 /* Line 1455 of yacc.c */
9879 #line 1814 "hphp.y"
9880 { (yyval) = T_PRIVATE;;}
9881 break;
9883 case 401:
9885 /* Line 1455 of yacc.c */
9886 #line 1815 "hphp.y"
9887 { (yyval) = T_STATIC;;}
9888 break;
9890 case 402:
9892 /* Line 1455 of yacc.c */
9893 #line 1816 "hphp.y"
9894 { (yyval) = T_ABSTRACT;;}
9895 break;
9897 case 403:
9899 /* Line 1455 of yacc.c */
9900 #line 1817 "hphp.y"
9901 { (yyval) = T_FINAL;;}
9902 break;
9904 case 404:
9906 /* Line 1455 of yacc.c */
9907 #line 1818 "hphp.y"
9908 { (yyval) = T_ASYNC;;}
9909 break;
9911 case 405:
9913 /* Line 1455 of yacc.c */
9914 #line 1822 "hphp.y"
9915 { (yyval) = (yyvsp[(1) - (1)]);;}
9916 break;
9918 case 406:
9920 /* Line 1455 of yacc.c */
9921 #line 1823 "hphp.y"
9922 { (yyval).reset();;}
9923 break;
9925 case 407:
9927 /* Line 1455 of yacc.c */
9928 #line 1826 "hphp.y"
9929 { (yyval) = T_PUBLIC;;}
9930 break;
9932 case 408:
9934 /* Line 1455 of yacc.c */
9935 #line 1827 "hphp.y"
9936 { (yyval) = T_PROTECTED;;}
9937 break;
9939 case 409:
9941 /* Line 1455 of yacc.c */
9942 #line 1828 "hphp.y"
9943 { (yyval) = T_PRIVATE;;}
9944 break;
9946 case 410:
9948 /* Line 1455 of yacc.c */
9949 #line 1832 "hphp.y"
9950 { _p->onClassVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
9951 break;
9953 case 411:
9955 /* Line 1455 of yacc.c */
9956 #line 1834 "hphp.y"
9957 { _p->onClassVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;}
9958 break;
9960 case 412:
9962 /* Line 1455 of yacc.c */
9963 #line 1835 "hphp.y"
9964 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (1)]),0);;}
9965 break;
9967 case 413:
9969 /* Line 1455 of yacc.c */
9970 #line 1836 "hphp.y"
9971 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
9972 break;
9974 case 414:
9976 /* Line 1455 of yacc.c */
9977 #line 1840 "hphp.y"
9978 { _p->onClassConstant((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
9979 break;
9981 case 415:
9983 /* Line 1455 of yacc.c */
9984 #line 1842 "hphp.y"
9985 { _p->onClassConstant((yyval),0,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
9986 break;
9988 case 416:
9990 /* Line 1455 of yacc.c */
9991 #line 1846 "hphp.y"
9992 { _p->onClassAbstractConstant((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
9993 break;
9995 case 417:
9997 /* Line 1455 of yacc.c */
9998 #line 1848 "hphp.y"
9999 { _p->onClassAbstractConstant((yyval),NULL,(yyvsp[(3) - (3)]));;}
10000 break;
10002 case 418:
10004 /* Line 1455 of yacc.c */
10005 #line 1852 "hphp.y"
10006 { Token t;
10007 _p->onClassTypeConstant((yyval), (yyvsp[(2) - (3)]), t);
10008 _p->popTypeScope(); ;}
10009 break;
10011 case 419:
10013 /* Line 1455 of yacc.c */
10014 #line 1856 "hphp.y"
10015 { _p->onClassTypeConstant((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]));
10016 _p->popTypeScope(); ;}
10017 break;
10019 case 420:
10021 /* Line 1455 of yacc.c */
10022 #line 1860 "hphp.y"
10023 { (yyval) = (yyvsp[(3) - (3)]); ;}
10024 break;
10026 case 421:
10028 /* Line 1455 of yacc.c */
10029 #line 1864 "hphp.y"
10030 { (yyval) = (yyvsp[(2) - (3)]);;}
10031 break;
10033 case 422:
10035 /* Line 1455 of yacc.c */
10036 #line 1866 "hphp.y"
10037 { _p->onNewObject((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));;}
10038 break;
10040 case 423:
10042 /* Line 1455 of yacc.c */
10043 #line 1867 "hphp.y"
10044 { (yyval) = (yyvsp[(2) - (2)]);;}
10045 break;
10047 case 424:
10049 /* Line 1455 of yacc.c */
10050 #line 1868 "hphp.y"
10051 { UEXP((yyval),(yyvsp[(2) - (2)]),T_CLONE,1);;}
10052 break;
10054 case 425:
10056 /* Line 1455 of yacc.c */
10057 #line 1869 "hphp.y"
10058 { (yyval) = (yyvsp[(1) - (1)]);;}
10059 break;
10061 case 426:
10063 /* Line 1455 of yacc.c */
10064 #line 1870 "hphp.y"
10065 { (yyval) = (yyvsp[(1) - (1)]);;}
10066 break;
10068 case 427:
10070 /* Line 1455 of yacc.c */
10071 #line 1873 "hphp.y"
10072 { (yyval) = (yyvsp[(2) - (3)]);;}
10073 break;
10075 case 428:
10077 /* Line 1455 of yacc.c */
10078 #line 1877 "hphp.y"
10079 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
10080 break;
10082 case 429:
10084 /* Line 1455 of yacc.c */
10085 #line 1878 "hphp.y"
10086 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
10087 break;
10089 case 430:
10091 /* Line 1455 of yacc.c */
10092 #line 1882 "hphp.y"
10093 { (yyval) = (yyvsp[(1) - (1)]);;}
10094 break;
10096 case 431:
10098 /* Line 1455 of yacc.c */
10099 #line 1883 "hphp.y"
10100 { (yyval).reset();;}
10101 break;
10103 case 432:
10105 /* Line 1455 of yacc.c */
10106 #line 1887 "hphp.y"
10107 { _p->onYield((yyval), NULL);;}
10108 break;
10110 case 433:
10112 /* Line 1455 of yacc.c */
10113 #line 1888 "hphp.y"
10114 { _p->onYield((yyval), &(yyvsp[(2) - (2)]));;}
10115 break;
10117 case 434:
10119 /* Line 1455 of yacc.c */
10120 #line 1889 "hphp.y"
10121 { _p->onYieldPair((yyval), &(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]));;}
10122 break;
10124 case 435:
10126 /* Line 1455 of yacc.c */
10127 #line 1890 "hphp.y"
10128 { (yyval) = (yyvsp[(2) - (3)]); ;}
10129 break;
10131 case 436:
10133 /* Line 1455 of yacc.c */
10134 #line 1894 "hphp.y"
10135 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
10136 break;
10138 case 437:
10140 /* Line 1455 of yacc.c */
10141 #line 1899 "hphp.y"
10142 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;}
10143 break;
10145 case 438:
10147 /* Line 1455 of yacc.c */
10148 #line 1903 "hphp.y"
10149 { _p->onYieldFrom((yyval),&(yyvsp[(2) - (2)]));;}
10150 break;
10152 case 439:
10154 /* Line 1455 of yacc.c */
10155 #line 1907 "hphp.y"
10156 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
10157 break;
10159 case 440:
10161 /* Line 1455 of yacc.c */
10162 #line 1911 "hphp.y"
10163 { _p->onAwait((yyval), (yyvsp[(2) - (2)])); ;}
10164 break;
10166 case 441:
10168 /* Line 1455 of yacc.c */
10169 #line 1915 "hphp.y"
10170 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
10171 break;
10173 case 442:
10175 /* Line 1455 of yacc.c */
10176 #line 1920 "hphp.y"
10177 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;}
10178 break;
10180 case 443:
10182 /* Line 1455 of yacc.c */
10183 #line 1924 "hphp.y"
10184 { (yyval) = (yyvsp[(1) - (1)]);;}
10185 break;
10187 case 444:
10189 /* Line 1455 of yacc.c */
10190 #line 1925 "hphp.y"
10191 { (yyval) = (yyvsp[(1) - (1)]);;}
10192 break;
10194 case 445:
10196 /* Line 1455 of yacc.c */
10197 #line 1926 "hphp.y"
10198 { (yyval) = (yyvsp[(1) - (1)]);;}
10199 break;
10201 case 446:
10203 /* Line 1455 of yacc.c */
10204 #line 1927 "hphp.y"
10205 { (yyval) = (yyvsp[(1) - (1)]);;}
10206 break;
10208 case 447:
10210 /* Line 1455 of yacc.c */
10211 #line 1928 "hphp.y"
10212 { (yyval) = (yyvsp[(1) - (1)]);;}
10213 break;
10215 case 448:
10217 /* Line 1455 of yacc.c */
10218 #line 1933 "hphp.y"
10219 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]));;}
10220 break;
10222 case 449:
10224 /* Line 1455 of yacc.c */
10225 #line 1934 "hphp.y"
10226 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
10227 break;
10229 case 450:
10231 /* Line 1455 of yacc.c */
10232 #line 1935 "hphp.y"
10233 { _p->onAssign((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]), 1);;}
10234 break;
10236 case 451:
10238 /* Line 1455 of yacc.c */
10239 #line 1938 "hphp.y"
10240 { _p->onAssignNew((yyval),(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]));;}
10241 break;
10243 case 452:
10245 /* Line 1455 of yacc.c */
10246 #line 1939 "hphp.y"
10247 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PLUS_EQUAL);;}
10248 break;
10250 case 453:
10252 /* Line 1455 of yacc.c */
10253 #line 1940 "hphp.y"
10254 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MINUS_EQUAL);;}
10255 break;
10257 case 454:
10259 /* Line 1455 of yacc.c */
10260 #line 1941 "hphp.y"
10261 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MUL_EQUAL);;}
10262 break;
10264 case 455:
10266 /* Line 1455 of yacc.c */
10267 #line 1942 "hphp.y"
10268 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_DIV_EQUAL);;}
10269 break;
10271 case 456:
10273 /* Line 1455 of yacc.c */
10274 #line 1943 "hphp.y"
10275 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_CONCAT_EQUAL);;}
10276 break;
10278 case 457:
10280 /* Line 1455 of yacc.c */
10281 #line 1944 "hphp.y"
10282 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MOD_EQUAL);;}
10283 break;
10285 case 458:
10287 /* Line 1455 of yacc.c */
10288 #line 1945 "hphp.y"
10289 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_AND_EQUAL);;}
10290 break;
10292 case 459:
10294 /* Line 1455 of yacc.c */
10295 #line 1946 "hphp.y"
10296 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_OR_EQUAL);;}
10297 break;
10299 case 460:
10301 /* Line 1455 of yacc.c */
10302 #line 1947 "hphp.y"
10303 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_XOR_EQUAL);;}
10304 break;
10306 case 461:
10308 /* Line 1455 of yacc.c */
10309 #line 1948 "hphp.y"
10310 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL_EQUAL);;}
10311 break;
10313 case 462:
10315 /* Line 1455 of yacc.c */
10316 #line 1949 "hphp.y"
10317 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR_EQUAL);;}
10318 break;
10320 case 463:
10322 /* Line 1455 of yacc.c */
10323 #line 1950 "hphp.y"
10324 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW_EQUAL);;}
10325 break;
10327 case 464:
10329 /* Line 1455 of yacc.c */
10330 #line 1951 "hphp.y"
10331 { UEXP((yyval),(yyvsp[(1) - (2)]),T_INC,0);;}
10332 break;
10334 case 465:
10336 /* Line 1455 of yacc.c */
10337 #line 1952 "hphp.y"
10338 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INC,1);;}
10339 break;
10341 case 466:
10343 /* Line 1455 of yacc.c */
10344 #line 1953 "hphp.y"
10345 { UEXP((yyval),(yyvsp[(1) - (2)]),T_DEC,0);;}
10346 break;
10348 case 467:
10350 /* Line 1455 of yacc.c */
10351 #line 1954 "hphp.y"
10352 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DEC,1);;}
10353 break;
10355 case 468:
10357 /* Line 1455 of yacc.c */
10358 #line 1955 "hphp.y"
10359 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;}
10360 break;
10362 case 469:
10364 /* Line 1455 of yacc.c */
10365 #line 1956 "hphp.y"
10366 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;}
10367 break;
10369 case 470:
10371 /* Line 1455 of yacc.c */
10372 #line 1957 "hphp.y"
10373 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;}
10374 break;
10376 case 471:
10378 /* Line 1455 of yacc.c */
10379 #line 1958 "hphp.y"
10380 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;}
10381 break;
10383 case 472:
10385 /* Line 1455 of yacc.c */
10386 #line 1959 "hphp.y"
10387 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;}
10388 break;
10390 case 473:
10392 /* Line 1455 of yacc.c */
10393 #line 1960 "hphp.y"
10394 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;}
10395 break;
10397 case 474:
10399 /* Line 1455 of yacc.c */
10400 #line 1961 "hphp.y"
10401 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;}
10402 break;
10404 case 475:
10406 /* Line 1455 of yacc.c */
10407 #line 1962 "hphp.y"
10408 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;}
10409 break;
10411 case 476:
10413 /* Line 1455 of yacc.c */
10414 #line 1963 "hphp.y"
10415 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;}
10416 break;
10418 case 477:
10420 /* Line 1455 of yacc.c */
10421 #line 1964 "hphp.y"
10422 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;}
10423 break;
10425 case 478:
10427 /* Line 1455 of yacc.c */
10428 #line 1965 "hphp.y"
10429 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;}
10430 break;
10432 case 479:
10434 /* Line 1455 of yacc.c */
10435 #line 1966 "hphp.y"
10436 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;}
10437 break;
10439 case 480:
10441 /* Line 1455 of yacc.c */
10442 #line 1967 "hphp.y"
10443 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;}
10444 break;
10446 case 481:
10448 /* Line 1455 of yacc.c */
10449 #line 1968 "hphp.y"
10450 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;}
10451 break;
10453 case 482:
10455 /* Line 1455 of yacc.c */
10456 #line 1969 "hphp.y"
10457 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;}
10458 break;
10460 case 483:
10462 /* Line 1455 of yacc.c */
10463 #line 1970 "hphp.y"
10464 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PIPE);;}
10465 break;
10467 case 484:
10469 /* Line 1455 of yacc.c */
10470 #line 1971 "hphp.y"
10471 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;}
10472 break;
10474 case 485:
10476 /* Line 1455 of yacc.c */
10477 #line 1972 "hphp.y"
10478 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;}
10479 break;
10481 case 486:
10483 /* Line 1455 of yacc.c */
10484 #line 1973 "hphp.y"
10485 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
10486 break;
10488 case 487:
10490 /* Line 1455 of yacc.c */
10491 #line 1974 "hphp.y"
10492 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
10493 break;
10495 case 488:
10497 /* Line 1455 of yacc.c */
10498 #line 1975 "hphp.y"
10499 { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;}
10500 break;
10502 case 489:
10504 /* Line 1455 of yacc.c */
10505 #line 1976 "hphp.y"
10506 { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;}
10507 break;
10509 case 490:
10511 /* Line 1455 of yacc.c */
10512 #line 1977 "hphp.y"
10513 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;}
10514 break;
10516 case 491:
10518 /* Line 1455 of yacc.c */
10519 #line 1978 "hphp.y"
10520 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;}
10521 break;
10523 case 492:
10525 /* Line 1455 of yacc.c */
10526 #line 1979 "hphp.y"
10527 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;}
10528 break;
10530 case 493:
10532 /* Line 1455 of yacc.c */
10533 #line 1980 "hphp.y"
10534 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;}
10535 break;
10537 case 494:
10539 /* Line 1455 of yacc.c */
10540 #line 1981 "hphp.y"
10541 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;}
10542 break;
10544 case 495:
10546 /* Line 1455 of yacc.c */
10547 #line 1982 "hphp.y"
10548 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
10549 T_IS_SMALLER_OR_EQUAL);;}
10550 break;
10552 case 496:
10554 /* Line 1455 of yacc.c */
10555 #line 1984 "hphp.y"
10556 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;}
10557 break;
10559 case 497:
10561 /* Line 1455 of yacc.c */
10562 #line 1985 "hphp.y"
10563 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
10564 T_IS_GREATER_OR_EQUAL);;}
10565 break;
10567 case 498:
10569 /* Line 1455 of yacc.c */
10570 #line 1987 "hphp.y"
10571 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;}
10572 break;
10574 case 499:
10576 /* Line 1455 of yacc.c */
10577 #line 1989 "hphp.y"
10578 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_INSTANCEOF);;}
10579 break;
10581 case 500:
10583 /* Line 1455 of yacc.c */
10584 #line 1990 "hphp.y"
10585 { (yyval) = (yyvsp[(2) - (3)]);;}
10586 break;
10588 case 501:
10590 /* Line 1455 of yacc.c */
10591 #line 1991 "hphp.y"
10592 { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;}
10593 break;
10595 case 502:
10597 /* Line 1455 of yacc.c */
10598 #line 1992 "hphp.y"
10599 { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;}
10600 break;
10602 case 503:
10604 /* Line 1455 of yacc.c */
10605 #line 1993 "hphp.y"
10606 { _p->onNullCoalesce((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
10607 break;
10609 case 504:
10611 /* Line 1455 of yacc.c */
10612 #line 1994 "hphp.y"
10613 { (yyval) = (yyvsp[(1) - (1)]);;}
10614 break;
10616 case 505:
10618 /* Line 1455 of yacc.c */
10619 #line 1995 "hphp.y"
10620 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INT_CAST,1);;}
10621 break;
10623 case 506:
10625 /* Line 1455 of yacc.c */
10626 #line 1996 "hphp.y"
10627 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DOUBLE_CAST,1);;}
10628 break;
10630 case 507:
10632 /* Line 1455 of yacc.c */
10633 #line 1997 "hphp.y"
10634 { UEXP((yyval),(yyvsp[(2) - (2)]),T_STRING_CAST,1);;}
10635 break;
10637 case 508:
10639 /* Line 1455 of yacc.c */
10640 #line 1998 "hphp.y"
10641 { UEXP((yyval),(yyvsp[(2) - (2)]),T_ARRAY_CAST,1);;}
10642 break;
10644 case 509:
10646 /* Line 1455 of yacc.c */
10647 #line 1999 "hphp.y"
10648 { UEXP((yyval),(yyvsp[(2) - (2)]),T_OBJECT_CAST,1);;}
10649 break;
10651 case 510:
10653 /* Line 1455 of yacc.c */
10654 #line 2000 "hphp.y"
10655 { UEXP((yyval),(yyvsp[(2) - (2)]),T_BOOL_CAST,1);;}
10656 break;
10658 case 511:
10660 /* Line 1455 of yacc.c */
10661 #line 2001 "hphp.y"
10662 { UEXP((yyval),(yyvsp[(2) - (2)]),T_UNSET_CAST,1);;}
10663 break;
10665 case 512:
10667 /* Line 1455 of yacc.c */
10668 #line 2002 "hphp.y"
10669 { UEXP((yyval),(yyvsp[(2) - (2)]),T_EXIT,1);;}
10670 break;
10672 case 513:
10674 /* Line 1455 of yacc.c */
10675 #line 2003 "hphp.y"
10676 { UEXP((yyval),(yyvsp[(2) - (2)]),'@',1);;}
10677 break;
10679 case 514:
10681 /* Line 1455 of yacc.c */
10682 #line 2004 "hphp.y"
10683 { (yyval) = (yyvsp[(1) - (1)]); ;}
10684 break;
10686 case 515:
10688 /* Line 1455 of yacc.c */
10689 #line 2005 "hphp.y"
10690 { (yyval) = (yyvsp[(1) - (1)]); ;}
10691 break;
10693 case 516:
10695 /* Line 1455 of yacc.c */
10696 #line 2006 "hphp.y"
10697 { (yyval) = (yyvsp[(1) - (1)]); ;}
10698 break;
10700 case 517:
10702 /* Line 1455 of yacc.c */
10703 #line 2007 "hphp.y"
10704 { (yyval) = (yyvsp[(1) - (1)]); ;}
10705 break;
10707 case 518:
10709 /* Line 1455 of yacc.c */
10710 #line 2008 "hphp.y"
10711 { (yyval) = (yyvsp[(1) - (1)]); ;}
10712 break;
10714 case 519:
10716 /* Line 1455 of yacc.c */
10717 #line 2009 "hphp.y"
10718 { (yyval) = (yyvsp[(1) - (1)]); ;}
10719 break;
10721 case 520:
10723 /* Line 1455 of yacc.c */
10724 #line 2010 "hphp.y"
10725 { _p->onEncapsList((yyval),'`',(yyvsp[(2) - (3)]));;}
10726 break;
10728 case 521:
10730 /* Line 1455 of yacc.c */
10731 #line 2011 "hphp.y"
10732 { UEXP((yyval),(yyvsp[(2) - (2)]),T_PRINT,1);;}
10733 break;
10735 case 522:
10737 /* Line 1455 of yacc.c */
10738 #line 2012 "hphp.y"
10739 { (yyval) = (yyvsp[(1) - (1)]);;}
10740 break;
10742 case 523:
10744 /* Line 1455 of yacc.c */
10745 #line 2019 "hphp.y"
10746 { (yyval) = (yyvsp[(3) - (5)]);;}
10747 break;
10749 case 524:
10751 /* Line 1455 of yacc.c */
10752 #line 2020 "hphp.y"
10753 { (yyval).reset();;}
10754 break;
10756 case 525:
10758 /* Line 1455 of yacc.c */
10759 #line 2025 "hphp.y"
10760 { Token t;
10761 _p->onNewLabelScope(true);
10762 _p->onClosureStart(t);
10763 _p->pushLabelInfo(); ;}
10764 break;
10766 case 526:
10768 /* Line 1455 of yacc.c */
10769 #line 2031 "hphp.y"
10770 { _p->finishStatement((yyvsp[(11) - (12)]), (yyvsp[(11) - (12)])); (yyvsp[(11) - (12)]) = 1;
10771 (yyval) = _p->onClosure(
10772 ClosureType::Long, nullptr,
10773 (yyvsp[(2) - (12)]),(yyvsp[(5) - (12)]),(yyvsp[(8) - (12)]),(yyvsp[(11) - (12)]),(yyvsp[(7) - (12)]),&(yyvsp[(9) - (12)]));
10774 _p->popLabelInfo();
10775 _p->onCompleteLabelScope(true);;}
10776 break;
10778 case 527:
10780 /* Line 1455 of yacc.c */
10781 #line 2039 "hphp.y"
10782 { Token t;
10783 _p->onNewLabelScope(true);
10784 _p->onClosureStart(t);
10785 _p->pushLabelInfo(); ;}
10786 break;
10788 case 528:
10790 /* Line 1455 of yacc.c */
10791 #line 2045 "hphp.y"
10792 { _p->finishStatement((yyvsp[(12) - (13)]), (yyvsp[(12) - (13)])); (yyvsp[(12) - (13)]) = 1;
10793 (yyval) = _p->onClosure(
10794 ClosureType::Long, &(yyvsp[(1) - (13)]),
10795 (yyvsp[(3) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(12) - (13)]),(yyvsp[(8) - (13)]),&(yyvsp[(10) - (13)]));
10796 _p->popLabelInfo();
10797 _p->onCompleteLabelScope(true);;}
10798 break;
10800 case 529:
10802 /* Line 1455 of yacc.c */
10803 #line 2055 "hphp.y"
10804 { _p->pushFuncLocation();
10805 Token t;
10806 _p->onNewLabelScope(true);
10807 _p->onClosureStart(t);
10808 _p->pushLabelInfo();
10809 Token u;
10810 _p->onParam((yyvsp[(2) - (2)]),NULL,u,(yyvsp[(2) - (2)]),0,
10811 NULL,NULL,NULL);;}
10812 break;
10814 case 530:
10816 /* Line 1455 of yacc.c */
10817 #line 2063 "hphp.y"
10818 { Token v; Token w; Token x;
10819 (yyvsp[(1) - (4)]) = T_ASYNC;
10820 _p->onMemberModifier((yyvsp[(1) - (4)]), nullptr, (yyvsp[(1) - (4)]));
10821 _p->finishStatement((yyvsp[(4) - (4)]), (yyvsp[(4) - (4)])); (yyvsp[(4) - (4)]) = 1;
10822 (yyval) = _p->onClosure(ClosureType::Short,
10823 &(yyvsp[(1) - (4)]),
10824 v,(yyvsp[(2) - (4)]),w,(yyvsp[(4) - (4)]),x);
10825 _p->popLabelInfo();
10826 _p->onCompleteLabelScope(true);;}
10827 break;
10829 case 531:
10831 /* Line 1455 of yacc.c */
10832 #line 2073 "hphp.y"
10833 { _p->pushFuncLocation();
10834 Token t;
10835 _p->onNewLabelScope(true);
10836 _p->onClosureStart(t);
10837 _p->pushLabelInfo();;}
10838 break;
10840 case 532:
10842 /* Line 1455 of yacc.c */
10843 #line 2081 "hphp.y"
10844 { Token u; Token v;
10845 (yyvsp[(1) - (7)]) = T_ASYNC;
10846 _p->onMemberModifier((yyvsp[(1) - (7)]), nullptr, (yyvsp[(1) - (7)]));
10847 _p->finishStatement((yyvsp[(7) - (7)]), (yyvsp[(7) - (7)])); (yyvsp[(7) - (7)]) = 1;
10848 (yyval) = _p->onClosure(ClosureType::Short,
10849 &(yyvsp[(1) - (7)]),
10850 u,(yyvsp[(4) - (7)]),v,(yyvsp[(7) - (7)]),(yyvsp[(6) - (7)]));
10851 _p->popLabelInfo();
10852 _p->onCompleteLabelScope(true);;}
10853 break;
10855 case 533:
10857 /* Line 1455 of yacc.c */
10858 #line 2091 "hphp.y"
10859 { _p->pushFuncLocation();
10860 Token t;
10861 _p->onNewLabelScope(true);
10862 _p->onClosureStart(t);
10863 _p->pushLabelInfo();;}
10864 break;
10866 case 534:
10868 /* Line 1455 of yacc.c */
10869 #line 2097 "hphp.y"
10870 { Token u; Token v; Token w; Token x;
10871 Token y;
10872 (yyvsp[(1) - (5)]) = T_ASYNC;
10873 _p->onMemberModifier((yyvsp[(1) - (5)]), nullptr, (yyvsp[(1) - (5)]));
10874 _p->finishStatement((yyvsp[(4) - (5)]), (yyvsp[(4) - (5)])); (yyvsp[(4) - (5)]) = 1;
10875 (yyval) = _p->onClosure(ClosureType::Short,
10876 &(yyvsp[(1) - (5)]),
10877 u,v,w,(yyvsp[(4) - (5)]),x);
10878 _p->popLabelInfo();
10879 _p->onCompleteLabelScope(true);
10880 _p->onCall((yyval),1,(yyval),y,NULL);;}
10881 break;
10883 case 535:
10885 /* Line 1455 of yacc.c */
10886 #line 2108 "hphp.y"
10887 { _p->pushFuncLocation();
10888 Token t;
10889 _p->onNewLabelScope(true);
10890 _p->onClosureStart(t);
10891 _p->pushLabelInfo();
10892 Token u;
10893 _p->onParam((yyvsp[(1) - (1)]),NULL,u,(yyvsp[(1) - (1)]),0,
10894 NULL,NULL,NULL);;}
10895 break;
10897 case 536:
10899 /* Line 1455 of yacc.c */
10900 #line 2116 "hphp.y"
10901 { Token v; Token w; Token x;
10902 _p->finishStatement((yyvsp[(3) - (3)]), (yyvsp[(3) - (3)])); (yyvsp[(3) - (3)]) = 1;
10903 (yyval) = _p->onClosure(ClosureType::Short,
10904 nullptr,
10905 v,(yyvsp[(1) - (3)]),w,(yyvsp[(3) - (3)]),x);
10906 _p->popLabelInfo();
10907 _p->onCompleteLabelScope(true);;}
10908 break;
10910 case 537:
10912 /* Line 1455 of yacc.c */
10913 #line 2123 "hphp.y"
10914 { _p->pushFuncLocation();
10915 Token t;
10916 _p->onNewLabelScope(true);
10917 _p->onClosureStart(t);
10918 _p->pushLabelInfo();;}
10919 break;
10921 case 538:
10923 /* Line 1455 of yacc.c */
10924 #line 2131 "hphp.y"
10925 { Token u; Token v;
10926 _p->finishStatement((yyvsp[(6) - (6)]), (yyvsp[(6) - (6)])); (yyvsp[(6) - (6)]) = 1;
10927 (yyval) = _p->onClosure(ClosureType::Short,
10928 nullptr,
10929 u,(yyvsp[(3) - (6)]),v,(yyvsp[(6) - (6)]),(yyvsp[(5) - (6)]));
10930 _p->popLabelInfo();
10931 _p->onCompleteLabelScope(true);;}
10932 break;
10934 case 539:
10936 /* Line 1455 of yacc.c */
10937 #line 2141 "hphp.y"
10938 { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;}
10939 break;
10941 case 540:
10943 /* Line 1455 of yacc.c */
10944 #line 2142 "hphp.y"
10945 { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;}
10946 break;
10948 case 541:
10950 /* Line 1455 of yacc.c */
10951 #line 2144 "hphp.y"
10952 { (yyval) = (yyvsp[(3) - (4)]); ;}
10953 break;
10955 case 542:
10957 /* Line 1455 of yacc.c */
10958 #line 2148 "hphp.y"
10959 { validate_shape_keyname((yyvsp[(1) - (1)]), _p);
10960 _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;}
10961 break;
10963 case 543:
10965 /* Line 1455 of yacc.c */
10966 #line 2150 "hphp.y"
10967 { (yyval) = (yyvsp[(1) - (1)]); ;}
10968 break;
10970 case 544:
10972 /* Line 1455 of yacc.c */
10973 #line 2157 "hphp.y"
10974 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
10975 break;
10977 case 545:
10979 /* Line 1455 of yacc.c */
10980 #line 2160 "hphp.y"
10981 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
10982 break;
10984 case 546:
10986 /* Line 1455 of yacc.c */
10987 #line 2167 "hphp.y"
10988 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
10989 break;
10991 case 547:
10993 /* Line 1455 of yacc.c */
10994 #line 2170 "hphp.y"
10995 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
10996 break;
10998 case 548:
11000 /* Line 1455 of yacc.c */
11001 #line 2175 "hphp.y"
11002 { (yyval) = (yyvsp[(1) - (2)]); ;}
11003 break;
11005 case 549:
11007 /* Line 1455 of yacc.c */
11008 #line 2176 "hphp.y"
11009 { (yyval).reset(); ;}
11010 break;
11012 case 550:
11014 /* Line 1455 of yacc.c */
11015 #line 2181 "hphp.y"
11016 { (yyval) = (yyvsp[(1) - (2)]); ;}
11017 break;
11019 case 551:
11021 /* Line 1455 of yacc.c */
11022 #line 2182 "hphp.y"
11023 { (yyval).reset(); ;}
11024 break;
11026 case 552:
11028 /* Line 1455 of yacc.c */
11029 #line 2186 "hphp.y"
11030 { _p->onArray((yyval), (yyvsp[(3) - (4)]), T_ARRAY);;}
11031 break;
11033 case 553:
11035 /* Line 1455 of yacc.c */
11036 #line 2190 "hphp.y"
11037 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;}
11038 break;
11040 case 554:
11042 /* Line 1455 of yacc.c */
11043 #line 2191 "hphp.y"
11044 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
11045 break;
11047 case 555:
11049 /* Line 1455 of yacc.c */
11050 #line 2196 "hphp.y"
11051 { (yyval) = (yyvsp[(1) - (2)]);;}
11052 break;
11054 case 556:
11056 /* Line 1455 of yacc.c */
11057 #line 2197 "hphp.y"
11058 { (yyval).reset();;}
11059 break;
11061 case 557:
11063 /* Line 1455 of yacc.c */
11064 #line 2202 "hphp.y"
11065 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
11066 break;
11068 case 558:
11070 /* Line 1455 of yacc.c */
11071 #line 2203 "hphp.y"
11072 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11073 break;
11075 case 559:
11077 /* Line 1455 of yacc.c */
11078 #line 2206 "hphp.y"
11079 { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;}
11080 break;
11082 case 560:
11084 /* Line 1455 of yacc.c */
11085 #line 2207 "hphp.y"
11086 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
11087 break;
11089 case 561:
11091 /* Line 1455 of yacc.c */
11092 #line 2212 "hphp.y"
11093 { (yyval) = (yyvsp[(1) - (2)]);;}
11094 break;
11096 case 562:
11098 /* Line 1455 of yacc.c */
11099 #line 2213 "hphp.y"
11100 { (yyval).reset();;}
11101 break;
11103 case 563:
11105 /* Line 1455 of yacc.c */
11106 #line 2219 "hphp.y"
11107 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
11108 break;
11110 case 564:
11112 /* Line 1455 of yacc.c */
11113 #line 2221 "hphp.y"
11114 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11115 break;
11117 case 565:
11119 /* Line 1455 of yacc.c */
11120 #line 2226 "hphp.y"
11121 { (yyval) = (yyvsp[(1) - (2)]);;}
11122 break;
11124 case 566:
11126 /* Line 1455 of yacc.c */
11127 #line 2227 "hphp.y"
11128 { (yyval).reset();;}
11129 break;
11131 case 567:
11133 /* Line 1455 of yacc.c */
11134 #line 2233 "hphp.y"
11135 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
11136 break;
11138 case 568:
11140 /* Line 1455 of yacc.c */
11141 #line 2235 "hphp.y"
11142 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11143 break;
11145 case 569:
11147 /* Line 1455 of yacc.c */
11148 #line 2239 "hphp.y"
11149 { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;}
11150 break;
11152 case 570:
11154 /* Line 1455 of yacc.c */
11155 #line 2243 "hphp.y"
11156 { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;}
11157 break;
11159 case 571:
11161 /* Line 1455 of yacc.c */
11162 #line 2247 "hphp.y"
11163 { _p->onDict((yyval), (yyvsp[(3) - (4)])); ;}
11164 break;
11166 case 572:
11168 /* Line 1455 of yacc.c */
11169 #line 2251 "hphp.y"
11170 { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;}
11171 break;
11173 case 573:
11175 /* Line 1455 of yacc.c */
11176 #line 2255 "hphp.y"
11177 { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;}
11178 break;
11180 case 574:
11182 /* Line 1455 of yacc.c */
11183 #line 2259 "hphp.y"
11184 { _p->onVec((yyval), (yyvsp[(3) - (4)])); ;}
11185 break;
11187 case 575:
11189 /* Line 1455 of yacc.c */
11190 #line 2263 "hphp.y"
11191 { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;}
11192 break;
11194 case 576:
11196 /* Line 1455 of yacc.c */
11197 #line 2267 "hphp.y"
11198 { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;}
11199 break;
11201 case 577:
11203 /* Line 1455 of yacc.c */
11204 #line 2271 "hphp.y"
11205 { _p->onKeyset((yyval), (yyvsp[(3) - (4)])); ;}
11206 break;
11208 case 578:
11210 /* Line 1455 of yacc.c */
11211 #line 2276 "hphp.y"
11212 { (yyval) = (yyvsp[(1) - (2)]);;}
11213 break;
11215 case 579:
11217 /* Line 1455 of yacc.c */
11218 #line 2277 "hphp.y"
11219 { (yyval).reset();;}
11220 break;
11222 case 580:
11224 /* Line 1455 of yacc.c */
11225 #line 2282 "hphp.y"
11226 { (yyval) = (yyvsp[(1) - (2)]);;}
11227 break;
11229 case 581:
11231 /* Line 1455 of yacc.c */
11232 #line 2283 "hphp.y"
11233 { (yyval).reset();;}
11234 break;
11236 case 582:
11238 /* Line 1455 of yacc.c */
11239 #line 2288 "hphp.y"
11240 { (yyval) = (yyvsp[(1) - (2)]);;}
11241 break;
11243 case 583:
11245 /* Line 1455 of yacc.c */
11246 #line 2289 "hphp.y"
11247 { (yyval).reset();;}
11248 break;
11250 case 584:
11252 /* Line 1455 of yacc.c */
11253 #line 2294 "hphp.y"
11254 { Token t;
11255 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
11256 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;}
11257 break;
11259 case 585:
11261 /* Line 1455 of yacc.c */
11262 #line 2301 "hphp.y"
11263 { Token t;
11264 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
11265 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;}
11266 break;
11268 case 586:
11270 /* Line 1455 of yacc.c */
11271 #line 2308 "hphp.y"
11272 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
11273 break;
11275 case 587:
11277 /* Line 1455 of yacc.c */
11278 #line 2310 "hphp.y"
11279 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
11280 break;
11282 case 588:
11284 /* Line 1455 of yacc.c */
11285 #line 2314 "hphp.y"
11286 { (yyval) = (yyvsp[(1) - (1)]);;}
11287 break;
11289 case 589:
11291 /* Line 1455 of yacc.c */
11292 #line 2315 "hphp.y"
11293 { (yyval) = (yyvsp[(1) - (1)]);;}
11294 break;
11296 case 590:
11298 /* Line 1455 of yacc.c */
11299 #line 2316 "hphp.y"
11300 { (yyval) = (yyvsp[(1) - (1)]);;}
11301 break;
11303 case 591:
11305 /* Line 1455 of yacc.c */
11306 #line 2317 "hphp.y"
11307 { (yyval) = (yyvsp[(1) - (1)]);;}
11308 break;
11310 case 592:
11312 /* Line 1455 of yacc.c */
11313 #line 2318 "hphp.y"
11314 { (yyval) = (yyvsp[(1) - (1)]);;}
11315 break;
11317 case 593:
11319 /* Line 1455 of yacc.c */
11320 #line 2319 "hphp.y"
11321 { (yyval) = (yyvsp[(1) - (1)]);;}
11322 break;
11324 case 594:
11326 /* Line 1455 of yacc.c */
11327 #line 2320 "hphp.y"
11328 { _p->onScalar((yyval),
11329 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;}
11330 break;
11332 case 595:
11334 /* Line 1455 of yacc.c */
11335 #line 2322 "hphp.y"
11336 { (yyval) = (yyvsp[(2) - (3)]);;}
11337 break;
11339 case 596:
11341 /* Line 1455 of yacc.c */
11342 #line 2323 "hphp.y"
11343 { (yyval) = (yyvsp[(1) - (1)]);;}
11344 break;
11346 case 597:
11348 /* Line 1455 of yacc.c */
11349 #line 2327 "hphp.y"
11350 { _p->onClosureParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11351 break;
11353 case 598:
11355 /* Line 1455 of yacc.c */
11356 #line 2328 "hphp.y"
11357 { _p->onClosureParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
11358 break;
11360 case 599:
11362 /* Line 1455 of yacc.c */
11363 #line 2329 "hphp.y"
11364 { _p->onClosureParam((yyval), 0,(yyvsp[(1) - (1)]),0);;}
11365 break;
11367 case 600:
11369 /* Line 1455 of yacc.c */
11370 #line 2330 "hphp.y"
11371 { _p->onClosureParam((yyval), 0,(yyvsp[(2) - (2)]),1);;}
11372 break;
11374 case 601:
11376 /* Line 1455 of yacc.c */
11377 #line 2337 "hphp.y"
11378 { xhp_tag(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]));;}
11379 break;
11381 case 602:
11383 /* Line 1455 of yacc.c */
11384 #line 2340 "hphp.y"
11385 { Token t1; _p->onArray(t1,(yyvsp[(1) - (2)]));
11386 Token t2; _p->onArray(t2,(yyvsp[(2) - (2)]));
11387 Token file; scalar_file(_p, file);
11388 Token line; scalar_line(_p, line);
11389 _p->onCallParam((yyvsp[(1) - (2)]),NULL,t1,0,0);
11390 _p->onCallParam((yyval), &(yyvsp[(1) - (2)]),t2,0,0);
11391 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),file,0,0);
11392 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),line,0,0);
11393 (yyval).setText("");;}
11394 break;
11396 case 603:
11398 /* Line 1455 of yacc.c */
11399 #line 2351 "hphp.y"
11400 { Token file; scalar_file(_p, file);
11401 Token line; scalar_line(_p, line);
11402 _p->onArray((yyvsp[(4) - (6)]),(yyvsp[(1) - (6)]));
11403 _p->onArray((yyvsp[(5) - (6)]),(yyvsp[(3) - (6)]));
11404 _p->onCallParam((yyvsp[(2) - (6)]),NULL,(yyvsp[(4) - (6)]),0,0);
11405 _p->onCallParam((yyval), &(yyvsp[(2) - (6)]),(yyvsp[(5) - (6)]),0,0);
11406 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),file,0,0);
11407 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),line,0,0);
11408 (yyval).setText((yyvsp[(6) - (6)]).text());;}
11409 break;
11411 case 604:
11413 /* Line 1455 of yacc.c */
11414 #line 2362 "hphp.y"
11415 { (yyval).reset(); (yyval).setText("");;}
11416 break;
11418 case 605:
11420 /* Line 1455 of yacc.c */
11421 #line 2363 "hphp.y"
11422 { (yyval).reset(); (yyval).setText((yyvsp[(1) - (1)]));;}
11423 break;
11425 case 606:
11427 /* Line 1455 of yacc.c */
11428 #line 2368 "hphp.y"
11429 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),0);;}
11430 break;
11432 case 607:
11434 /* Line 1455 of yacc.c */
11435 #line 2369 "hphp.y"
11436 { (yyval).reset();;}
11437 break;
11439 case 608:
11441 /* Line 1455 of yacc.c */
11442 #line 2372 "hphp.y"
11443 { _p->onArrayPair((yyval),&(yyvsp[(1) - (2)]),0,(yyvsp[(2) - (2)]),0);;}
11444 break;
11446 case 609:
11448 /* Line 1455 of yacc.c */
11449 #line 2373 "hphp.y"
11450 { (yyval).reset();;}
11451 break;
11453 case 610:
11455 /* Line 1455 of yacc.c */
11456 #line 2376 "hphp.y"
11457 { _p->onScalar((yyval),
11458 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
11459 break;
11461 case 611:
11463 /* Line 1455 of yacc.c */
11464 #line 2380 "hphp.y"
11465 { (yyvsp[(1) - (1)]).xhpDecode();
11466 _p->onScalar((yyval),
11467 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
11468 break;
11470 case 612:
11472 /* Line 1455 of yacc.c */
11473 #line 2383 "hphp.y"
11474 { (yyval) = (yyvsp[(2) - (3)]);;}
11475 break;
11477 case 613:
11479 /* Line 1455 of yacc.c */
11480 #line 2386 "hphp.y"
11481 { (yyval).reset();
11482 if ((yyvsp[(1) - (1)]).htmlTrim()) {
11483 (yyvsp[(1) - (1)]).xhpDecode();
11484 _p->onScalar((yyval),
11485 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));
11488 break;
11490 case 614:
11492 /* Line 1455 of yacc.c */
11493 #line 2393 "hphp.y"
11494 { (yyval) = (yyvsp[(2) - (3)]); ;}
11495 break;
11497 case 615:
11499 /* Line 1455 of yacc.c */
11500 #line 2394 "hphp.y"
11501 { (yyval) = (yyvsp[(1) - (1)]); ;}
11502 break;
11504 case 616:
11506 /* Line 1455 of yacc.c */
11507 #line 2398 "hphp.y"
11508 { (yyval) = (yyvsp[(1) - (1)]);;}
11509 break;
11511 case 617:
11513 /* Line 1455 of yacc.c */
11514 #line 2400 "hphp.y"
11515 { (yyval) = (yyvsp[(1) - (3)]) + ":" + (yyvsp[(3) - (3)]);;}
11516 break;
11518 case 618:
11520 /* Line 1455 of yacc.c */
11521 #line 2402 "hphp.y"
11522 { (yyval) = (yyvsp[(1) - (3)]) + "-" + (yyvsp[(3) - (3)]);;}
11523 break;
11525 case 619:
11527 /* Line 1455 of yacc.c */
11528 #line 2406 "hphp.y"
11529 { (yyval) = (yyvsp[(1) - (1)]);;}
11530 break;
11532 case 620:
11534 /* Line 1455 of yacc.c */
11535 #line 2407 "hphp.y"
11536 { (yyval) = (yyvsp[(1) - (1)]);;}
11537 break;
11539 case 621:
11541 /* Line 1455 of yacc.c */
11542 #line 2408 "hphp.y"
11543 { (yyval) = (yyvsp[(1) - (1)]);;}
11544 break;
11546 case 622:
11548 /* Line 1455 of yacc.c */
11549 #line 2409 "hphp.y"
11550 { (yyval) = (yyvsp[(1) - (1)]);;}
11551 break;
11553 case 623:
11555 /* Line 1455 of yacc.c */
11556 #line 2410 "hphp.y"
11557 { (yyval) = (yyvsp[(1) - (1)]);;}
11558 break;
11560 case 624:
11562 /* Line 1455 of yacc.c */
11563 #line 2411 "hphp.y"
11564 { (yyval) = (yyvsp[(1) - (1)]);;}
11565 break;
11567 case 625:
11569 /* Line 1455 of yacc.c */
11570 #line 2412 "hphp.y"
11571 { (yyval) = (yyvsp[(1) - (1)]);;}
11572 break;
11574 case 626:
11576 /* Line 1455 of yacc.c */
11577 #line 2413 "hphp.y"
11578 { (yyval) = (yyvsp[(1) - (1)]);;}
11579 break;
11581 case 627:
11583 /* Line 1455 of yacc.c */
11584 #line 2414 "hphp.y"
11585 { (yyval) = (yyvsp[(1) - (1)]);;}
11586 break;
11588 case 628:
11590 /* Line 1455 of yacc.c */
11591 #line 2415 "hphp.y"
11592 { (yyval) = (yyvsp[(1) - (1)]);;}
11593 break;
11595 case 629:
11597 /* Line 1455 of yacc.c */
11598 #line 2416 "hphp.y"
11599 { (yyval) = (yyvsp[(1) - (1)]);;}
11600 break;
11602 case 630:
11604 /* Line 1455 of yacc.c */
11605 #line 2417 "hphp.y"
11606 { (yyval) = (yyvsp[(1) - (1)]);;}
11607 break;
11609 case 631:
11611 /* Line 1455 of yacc.c */
11612 #line 2418 "hphp.y"
11613 { (yyval) = (yyvsp[(1) - (1)]);;}
11614 break;
11616 case 632:
11618 /* Line 1455 of yacc.c */
11619 #line 2419 "hphp.y"
11620 { (yyval) = (yyvsp[(1) - (1)]);;}
11621 break;
11623 case 633:
11625 /* Line 1455 of yacc.c */
11626 #line 2420 "hphp.y"
11627 { (yyval) = (yyvsp[(1) - (1)]);;}
11628 break;
11630 case 634:
11632 /* Line 1455 of yacc.c */
11633 #line 2421 "hphp.y"
11634 { (yyval) = (yyvsp[(1) - (1)]);;}
11635 break;
11637 case 635:
11639 /* Line 1455 of yacc.c */
11640 #line 2422 "hphp.y"
11641 { (yyval) = (yyvsp[(1) - (1)]);;}
11642 break;
11644 case 636:
11646 /* Line 1455 of yacc.c */
11647 #line 2423 "hphp.y"
11648 { (yyval) = (yyvsp[(1) - (1)]);;}
11649 break;
11651 case 637:
11653 /* Line 1455 of yacc.c */
11654 #line 2424 "hphp.y"
11655 { (yyval) = (yyvsp[(1) - (1)]);;}
11656 break;
11658 case 638:
11660 /* Line 1455 of yacc.c */
11661 #line 2425 "hphp.y"
11662 { (yyval) = (yyvsp[(1) - (1)]);;}
11663 break;
11665 case 639:
11667 /* Line 1455 of yacc.c */
11668 #line 2426 "hphp.y"
11669 { (yyval) = (yyvsp[(1) - (1)]);;}
11670 break;
11672 case 640:
11674 /* Line 1455 of yacc.c */
11675 #line 2427 "hphp.y"
11676 { (yyval) = (yyvsp[(1) - (1)]);;}
11677 break;
11679 case 641:
11681 /* Line 1455 of yacc.c */
11682 #line 2428 "hphp.y"
11683 { (yyval) = (yyvsp[(1) - (1)]);;}
11684 break;
11686 case 642:
11688 /* Line 1455 of yacc.c */
11689 #line 2429 "hphp.y"
11690 { (yyval) = (yyvsp[(1) - (1)]);;}
11691 break;
11693 case 643:
11695 /* Line 1455 of yacc.c */
11696 #line 2430 "hphp.y"
11697 { (yyval) = (yyvsp[(1) - (1)]);;}
11698 break;
11700 case 644:
11702 /* Line 1455 of yacc.c */
11703 #line 2431 "hphp.y"
11704 { (yyval) = (yyvsp[(1) - (1)]);;}
11705 break;
11707 case 645:
11709 /* Line 1455 of yacc.c */
11710 #line 2432 "hphp.y"
11711 { (yyval) = (yyvsp[(1) - (1)]);;}
11712 break;
11714 case 646:
11716 /* Line 1455 of yacc.c */
11717 #line 2433 "hphp.y"
11718 { (yyval) = (yyvsp[(1) - (1)]);;}
11719 break;
11721 case 647:
11723 /* Line 1455 of yacc.c */
11724 #line 2434 "hphp.y"
11725 { (yyval) = (yyvsp[(1) - (1)]);;}
11726 break;
11728 case 648:
11730 /* Line 1455 of yacc.c */
11731 #line 2435 "hphp.y"
11732 { (yyval) = (yyvsp[(1) - (1)]);;}
11733 break;
11735 case 649:
11737 /* Line 1455 of yacc.c */
11738 #line 2436 "hphp.y"
11739 { (yyval) = (yyvsp[(1) - (1)]);;}
11740 break;
11742 case 650:
11744 /* Line 1455 of yacc.c */
11745 #line 2437 "hphp.y"
11746 { (yyval) = (yyvsp[(1) - (1)]);;}
11747 break;
11749 case 651:
11751 /* Line 1455 of yacc.c */
11752 #line 2438 "hphp.y"
11753 { (yyval) = (yyvsp[(1) - (1)]);;}
11754 break;
11756 case 652:
11758 /* Line 1455 of yacc.c */
11759 #line 2439 "hphp.y"
11760 { (yyval) = (yyvsp[(1) - (1)]);;}
11761 break;
11763 case 653:
11765 /* Line 1455 of yacc.c */
11766 #line 2440 "hphp.y"
11767 { (yyval) = (yyvsp[(1) - (1)]);;}
11768 break;
11770 case 654:
11772 /* Line 1455 of yacc.c */
11773 #line 2441 "hphp.y"
11774 { (yyval) = (yyvsp[(1) - (1)]);;}
11775 break;
11777 case 655:
11779 /* Line 1455 of yacc.c */
11780 #line 2442 "hphp.y"
11781 { (yyval) = (yyvsp[(1) - (1)]);;}
11782 break;
11784 case 656:
11786 /* Line 1455 of yacc.c */
11787 #line 2443 "hphp.y"
11788 { (yyval) = (yyvsp[(1) - (1)]);;}
11789 break;
11791 case 657:
11793 /* Line 1455 of yacc.c */
11794 #line 2444 "hphp.y"
11795 { (yyval) = (yyvsp[(1) - (1)]);;}
11796 break;
11798 case 658:
11800 /* Line 1455 of yacc.c */
11801 #line 2445 "hphp.y"
11802 { (yyval) = (yyvsp[(1) - (1)]);;}
11803 break;
11805 case 659:
11807 /* Line 1455 of yacc.c */
11808 #line 2446 "hphp.y"
11809 { (yyval) = (yyvsp[(1) - (1)]);;}
11810 break;
11812 case 660:
11814 /* Line 1455 of yacc.c */
11815 #line 2447 "hphp.y"
11816 { (yyval) = (yyvsp[(1) - (1)]);;}
11817 break;
11819 case 661:
11821 /* Line 1455 of yacc.c */
11822 #line 2448 "hphp.y"
11823 { (yyval) = (yyvsp[(1) - (1)]);;}
11824 break;
11826 case 662:
11828 /* Line 1455 of yacc.c */
11829 #line 2449 "hphp.y"
11830 { (yyval) = (yyvsp[(1) - (1)]);;}
11831 break;
11833 case 663:
11835 /* Line 1455 of yacc.c */
11836 #line 2450 "hphp.y"
11837 { (yyval) = (yyvsp[(1) - (1)]);;}
11838 break;
11840 case 664:
11842 /* Line 1455 of yacc.c */
11843 #line 2451 "hphp.y"
11844 { (yyval) = (yyvsp[(1) - (1)]);;}
11845 break;
11847 case 665:
11849 /* Line 1455 of yacc.c */
11850 #line 2452 "hphp.y"
11851 { (yyval) = (yyvsp[(1) - (1)]);;}
11852 break;
11854 case 666:
11856 /* Line 1455 of yacc.c */
11857 #line 2453 "hphp.y"
11858 { (yyval) = (yyvsp[(1) - (1)]);;}
11859 break;
11861 case 667:
11863 /* Line 1455 of yacc.c */
11864 #line 2454 "hphp.y"
11865 { (yyval) = (yyvsp[(1) - (1)]);;}
11866 break;
11868 case 668:
11870 /* Line 1455 of yacc.c */
11871 #line 2455 "hphp.y"
11872 { (yyval) = (yyvsp[(1) - (1)]);;}
11873 break;
11875 case 669:
11877 /* Line 1455 of yacc.c */
11878 #line 2456 "hphp.y"
11879 { (yyval) = (yyvsp[(1) - (1)]);;}
11880 break;
11882 case 670:
11884 /* Line 1455 of yacc.c */
11885 #line 2457 "hphp.y"
11886 { (yyval) = (yyvsp[(1) - (1)]);;}
11887 break;
11889 case 671:
11891 /* Line 1455 of yacc.c */
11892 #line 2458 "hphp.y"
11893 { (yyval) = (yyvsp[(1) - (1)]);;}
11894 break;
11896 case 672:
11898 /* Line 1455 of yacc.c */
11899 #line 2459 "hphp.y"
11900 { (yyval) = (yyvsp[(1) - (1)]);;}
11901 break;
11903 case 673:
11905 /* Line 1455 of yacc.c */
11906 #line 2460 "hphp.y"
11907 { (yyval) = (yyvsp[(1) - (1)]);;}
11908 break;
11910 case 674:
11912 /* Line 1455 of yacc.c */
11913 #line 2461 "hphp.y"
11914 { (yyval) = (yyvsp[(1) - (1)]);;}
11915 break;
11917 case 675:
11919 /* Line 1455 of yacc.c */
11920 #line 2462 "hphp.y"
11921 { (yyval) = (yyvsp[(1) - (1)]);;}
11922 break;
11924 case 676:
11926 /* Line 1455 of yacc.c */
11927 #line 2463 "hphp.y"
11928 { (yyval) = (yyvsp[(1) - (1)]);;}
11929 break;
11931 case 677:
11933 /* Line 1455 of yacc.c */
11934 #line 2464 "hphp.y"
11935 { (yyval) = (yyvsp[(1) - (1)]);;}
11936 break;
11938 case 678:
11940 /* Line 1455 of yacc.c */
11941 #line 2465 "hphp.y"
11942 { (yyval) = (yyvsp[(1) - (1)]);;}
11943 break;
11945 case 679:
11947 /* Line 1455 of yacc.c */
11948 #line 2466 "hphp.y"
11949 { (yyval) = (yyvsp[(1) - (1)]);;}
11950 break;
11952 case 680:
11954 /* Line 1455 of yacc.c */
11955 #line 2467 "hphp.y"
11956 { (yyval) = (yyvsp[(1) - (1)]);;}
11957 break;
11959 case 681:
11961 /* Line 1455 of yacc.c */
11962 #line 2468 "hphp.y"
11963 { (yyval) = (yyvsp[(1) - (1)]);;}
11964 break;
11966 case 682:
11968 /* Line 1455 of yacc.c */
11969 #line 2469 "hphp.y"
11970 { (yyval) = (yyvsp[(1) - (1)]);;}
11971 break;
11973 case 683:
11975 /* Line 1455 of yacc.c */
11976 #line 2470 "hphp.y"
11977 { (yyval) = (yyvsp[(1) - (1)]);;}
11978 break;
11980 case 684:
11982 /* Line 1455 of yacc.c */
11983 #line 2471 "hphp.y"
11984 { (yyval) = (yyvsp[(1) - (1)]);;}
11985 break;
11987 case 685:
11989 /* Line 1455 of yacc.c */
11990 #line 2472 "hphp.y"
11991 { (yyval) = (yyvsp[(1) - (1)]);;}
11992 break;
11994 case 686:
11996 /* Line 1455 of yacc.c */
11997 #line 2473 "hphp.y"
11998 { (yyval) = (yyvsp[(1) - (1)]);;}
11999 break;
12001 case 687:
12003 /* Line 1455 of yacc.c */
12004 #line 2474 "hphp.y"
12005 { (yyval) = (yyvsp[(1) - (1)]);;}
12006 break;
12008 case 688:
12010 /* Line 1455 of yacc.c */
12011 #line 2475 "hphp.y"
12012 { (yyval) = (yyvsp[(1) - (1)]);;}
12013 break;
12015 case 689:
12017 /* Line 1455 of yacc.c */
12018 #line 2476 "hphp.y"
12019 { (yyval) = (yyvsp[(1) - (1)]);;}
12020 break;
12022 case 690:
12024 /* Line 1455 of yacc.c */
12025 #line 2477 "hphp.y"
12026 { (yyval) = (yyvsp[(1) - (1)]);;}
12027 break;
12029 case 691:
12031 /* Line 1455 of yacc.c */
12032 #line 2478 "hphp.y"
12033 { (yyval) = (yyvsp[(1) - (1)]);;}
12034 break;
12036 case 692:
12038 /* Line 1455 of yacc.c */
12039 #line 2479 "hphp.y"
12040 { (yyval) = (yyvsp[(1) - (1)]);;}
12041 break;
12043 case 693:
12045 /* Line 1455 of yacc.c */
12046 #line 2480 "hphp.y"
12047 { (yyval) = (yyvsp[(1) - (1)]);;}
12048 break;
12050 case 694:
12052 /* Line 1455 of yacc.c */
12053 #line 2481 "hphp.y"
12054 { (yyval) = (yyvsp[(1) - (1)]);;}
12055 break;
12057 case 695:
12059 /* Line 1455 of yacc.c */
12060 #line 2482 "hphp.y"
12061 { (yyval) = (yyvsp[(1) - (1)]);;}
12062 break;
12064 case 696:
12066 /* Line 1455 of yacc.c */
12067 #line 2483 "hphp.y"
12068 { (yyval) = (yyvsp[(1) - (1)]);;}
12069 break;
12071 case 697:
12073 /* Line 1455 of yacc.c */
12074 #line 2484 "hphp.y"
12075 { (yyval) = (yyvsp[(1) - (1)]);;}
12076 break;
12078 case 698:
12080 /* Line 1455 of yacc.c */
12081 #line 2485 "hphp.y"
12082 { (yyval) = (yyvsp[(1) - (1)]);;}
12083 break;
12085 case 699:
12087 /* Line 1455 of yacc.c */
12088 #line 2486 "hphp.y"
12089 { (yyval) = (yyvsp[(1) - (1)]);;}
12090 break;
12092 case 700:
12094 /* Line 1455 of yacc.c */
12095 #line 2491 "hphp.y"
12096 { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
12097 break;
12099 case 701:
12101 /* Line 1455 of yacc.c */
12102 #line 2495 "hphp.y"
12103 { (yyval) = (yyvsp[(1) - (1)]);;}
12104 break;
12106 case 702:
12108 /* Line 1455 of yacc.c */
12109 #line 2496 "hphp.y"
12110 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;}
12111 break;
12113 case 703:
12115 /* Line 1455 of yacc.c */
12116 #line 2500 "hphp.y"
12117 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;}
12118 break;
12120 case 704:
12122 /* Line 1455 of yacc.c */
12123 #line 2501 "hphp.y"
12124 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;}
12125 break;
12127 case 705:
12129 /* Line 1455 of yacc.c */
12130 #line 2502 "hphp.y"
12131 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;}
12132 break;
12134 case 706:
12136 /* Line 1455 of yacc.c */
12137 #line 2503 "hphp.y"
12138 { _p->onName((yyval),(yyvsp[(1) - (1)]),
12139 Parser::StaticClassExprName);;}
12140 break;
12142 case 707:
12144 /* Line 1455 of yacc.c */
12145 #line 2505 "hphp.y"
12146 { _p->onName((yyval),(yyvsp[(2) - (3)]),
12147 Parser::StaticClassExprName);;}
12148 break;
12150 case 708:
12152 /* Line 1455 of yacc.c */
12153 #line 2509 "hphp.y"
12154 { (yyval) = (yyvsp[(1) - (1)]); ;}
12155 break;
12157 case 709:
12159 /* Line 1455 of yacc.c */
12160 #line 2518 "hphp.y"
12161 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
12162 break;
12164 case 710:
12166 /* Line 1455 of yacc.c */
12167 #line 2521 "hphp.y"
12168 { (yyval) = (yyvsp[(1) - (1)]); ;}
12169 break;
12171 case 711:
12173 /* Line 1455 of yacc.c */
12174 #line 2522 "hphp.y"
12175 { _p->onName((yyval),(yyvsp[(1) - (1)]),
12176 Parser::StaticClassExprName);;}
12177 break;
12179 case 712:
12181 /* Line 1455 of yacc.c */
12182 #line 2532 "hphp.y"
12183 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
12184 break;
12186 case 713:
12188 /* Line 1455 of yacc.c */
12189 #line 2536 "hphp.y"
12190 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;}
12191 break;
12193 case 714:
12195 /* Line 1455 of yacc.c */
12196 #line 2537 "hphp.y"
12197 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;}
12198 break;
12200 case 715:
12202 /* Line 1455 of yacc.c */
12203 #line 2538 "hphp.y"
12204 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;}
12205 break;
12207 case 716:
12209 /* Line 1455 of yacc.c */
12210 #line 2542 "hphp.y"
12211 { (yyval).reset();;}
12212 break;
12214 case 717:
12216 /* Line 1455 of yacc.c */
12217 #line 2543 "hphp.y"
12218 { (yyval) = (yyvsp[(1) - (1)]);;}
12219 break;
12221 case 718:
12223 /* Line 1455 of yacc.c */
12224 #line 2544 "hphp.y"
12225 { (yyval).reset();;}
12226 break;
12228 case 719:
12230 /* Line 1455 of yacc.c */
12231 #line 2548 "hphp.y"
12232 { (yyval).reset();;}
12233 break;
12235 case 720:
12237 /* Line 1455 of yacc.c */
12238 #line 2549 "hphp.y"
12239 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;}
12240 break;
12242 case 721:
12244 /* Line 1455 of yacc.c */
12245 #line 2550 "hphp.y"
12246 { (yyval) = (yyvsp[(1) - (1)]);;}
12247 break;
12249 case 722:
12251 /* Line 1455 of yacc.c */
12252 #line 2554 "hphp.y"
12253 { (yyval) = (yyvsp[(2) - (3)]);;}
12254 break;
12256 case 723:
12258 /* Line 1455 of yacc.c */
12259 #line 2555 "hphp.y"
12260 { (yyval).reset();;}
12261 break;
12263 case 724:
12265 /* Line 1455 of yacc.c */
12266 #line 2559 "hphp.y"
12267 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;}
12268 break;
12270 case 725:
12272 /* Line 1455 of yacc.c */
12273 #line 2560 "hphp.y"
12274 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;}
12275 break;
12277 case 726:
12279 /* Line 1455 of yacc.c */
12280 #line 2561 "hphp.y"
12281 { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;}
12282 break;
12284 case 727:
12286 /* Line 1455 of yacc.c */
12287 #line 2562 "hphp.y"
12288 { _p->onScalar((yyval),
12289 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
12290 break;
12292 case 728:
12294 /* Line 1455 of yacc.c */
12295 #line 2564 "hphp.y"
12296 { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;}
12297 break;
12299 case 729:
12301 /* Line 1455 of yacc.c */
12302 #line 2565 "hphp.y"
12303 { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;}
12304 break;
12306 case 730:
12308 /* Line 1455 of yacc.c */
12309 #line 2566 "hphp.y"
12310 { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;}
12311 break;
12313 case 731:
12315 /* Line 1455 of yacc.c */
12316 #line 2567 "hphp.y"
12317 { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;}
12318 break;
12320 case 732:
12322 /* Line 1455 of yacc.c */
12323 #line 2568 "hphp.y"
12324 { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;}
12325 break;
12327 case 733:
12329 /* Line 1455 of yacc.c */
12330 #line 2569 "hphp.y"
12331 { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;}
12332 break;
12334 case 734:
12336 /* Line 1455 of yacc.c */
12337 #line 2570 "hphp.y"
12338 { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;}
12339 break;
12341 case 735:
12343 /* Line 1455 of yacc.c */
12344 #line 2571 "hphp.y"
12345 { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;}
12346 break;
12348 case 736:
12350 /* Line 1455 of yacc.c */
12351 #line 2572 "hphp.y"
12352 { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;}
12353 break;
12355 case 737:
12357 /* Line 1455 of yacc.c */
12358 #line 2575 "hphp.y"
12359 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;}
12360 break;
12362 case 738:
12364 /* Line 1455 of yacc.c */
12365 #line 2577 "hphp.y"
12366 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;}
12367 break;
12369 case 739:
12371 /* Line 1455 of yacc.c */
12372 #line 2581 "hphp.y"
12373 { (yyval) = (yyvsp[(1) - (1)]);;}
12374 break;
12376 case 740:
12378 /* Line 1455 of yacc.c */
12379 #line 2582 "hphp.y"
12380 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
12381 break;
12383 case 741:
12385 /* Line 1455 of yacc.c */
12386 #line 2584 "hphp.y"
12387 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
12388 break;
12390 case 742:
12392 /* Line 1455 of yacc.c */
12393 #line 2585 "hphp.y"
12394 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;}
12395 break;
12397 case 743:
12399 /* Line 1455 of yacc.c */
12400 #line 2587 "hphp.y"
12401 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
12402 break;
12404 case 744:
12406 /* Line 1455 of yacc.c */
12407 #line 2588 "hphp.y"
12408 { (yyval) = (yyvsp[(1) - (1)]);;}
12409 break;
12411 case 745:
12413 /* Line 1455 of yacc.c */
12414 #line 2589 "hphp.y"
12415 { (yyval) = (yyvsp[(1) - (1)]);;}
12416 break;
12418 case 746:
12420 /* Line 1455 of yacc.c */
12421 #line 2590 "hphp.y"
12422 { (yyval) = (yyvsp[(1) - (1)]);;}
12423 break;
12425 case 747:
12427 /* Line 1455 of yacc.c */
12428 #line 2591 "hphp.y"
12429 { (yyval) = (yyvsp[(1) - (1)]);;}
12430 break;
12432 case 748:
12434 /* Line 1455 of yacc.c */
12435 #line 2592 "hphp.y"
12436 { (yyval) = (yyvsp[(1) - (1)]);;}
12437 break;
12439 case 749:
12441 /* Line 1455 of yacc.c */
12442 #line 2593 "hphp.y"
12443 { (yyval) = (yyvsp[(2) - (3)]);;}
12444 break;
12446 case 750:
12448 /* Line 1455 of yacc.c */
12449 #line 2595 "hphp.y"
12450 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;}
12451 break;
12453 case 751:
12455 /* Line 1455 of yacc.c */
12456 #line 2597 "hphp.y"
12457 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;}
12458 break;
12460 case 752:
12462 /* Line 1455 of yacc.c */
12463 #line 2599 "hphp.y"
12464 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;}
12465 break;
12467 case 753:
12469 /* Line 1455 of yacc.c */
12470 #line 2601 "hphp.y"
12471 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;}
12472 break;
12474 case 754:
12476 /* Line 1455 of yacc.c */
12477 #line 2603 "hphp.y"
12478 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;}
12479 break;
12481 case 755:
12483 /* Line 1455 of yacc.c */
12484 #line 2604 "hphp.y"
12485 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;}
12486 break;
12488 case 756:
12490 /* Line 1455 of yacc.c */
12491 #line 2605 "hphp.y"
12492 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;}
12493 break;
12495 case 757:
12497 /* Line 1455 of yacc.c */
12498 #line 2606 "hphp.y"
12499 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;}
12500 break;
12502 case 758:
12504 /* Line 1455 of yacc.c */
12505 #line 2607 "hphp.y"
12506 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;}
12507 break;
12509 case 759:
12511 /* Line 1455 of yacc.c */
12512 #line 2608 "hphp.y"
12513 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;}
12514 break;
12516 case 760:
12518 /* Line 1455 of yacc.c */
12519 #line 2609 "hphp.y"
12520 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;}
12521 break;
12523 case 761:
12525 /* Line 1455 of yacc.c */
12526 #line 2610 "hphp.y"
12527 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;}
12528 break;
12530 case 762:
12532 /* Line 1455 of yacc.c */
12533 #line 2611 "hphp.y"
12534 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;}
12535 break;
12537 case 763:
12539 /* Line 1455 of yacc.c */
12540 #line 2612 "hphp.y"
12541 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;}
12542 break;
12544 case 764:
12546 /* Line 1455 of yacc.c */
12547 #line 2613 "hphp.y"
12548 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;}
12549 break;
12551 case 765:
12553 /* Line 1455 of yacc.c */
12554 #line 2614 "hphp.y"
12555 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;}
12556 break;
12558 case 766:
12560 /* Line 1455 of yacc.c */
12561 #line 2615 "hphp.y"
12562 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_POW);;}
12563 break;
12565 case 767:
12567 /* Line 1455 of yacc.c */
12568 #line 2616 "hphp.y"
12569 { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;}
12570 break;
12572 case 768:
12574 /* Line 1455 of yacc.c */
12575 #line 2617 "hphp.y"
12576 { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;}
12577 break;
12579 case 769:
12581 /* Line 1455 of yacc.c */
12582 #line 2618 "hphp.y"
12583 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
12584 break;
12586 case 770:
12588 /* Line 1455 of yacc.c */
12589 #line 2619 "hphp.y"
12590 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
12591 break;
12593 case 771:
12595 /* Line 1455 of yacc.c */
12596 #line 2621 "hphp.y"
12597 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;}
12598 break;
12600 case 772:
12602 /* Line 1455 of yacc.c */
12603 #line 2623 "hphp.y"
12604 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;}
12605 break;
12607 case 773:
12609 /* Line 1455 of yacc.c */
12610 #line 2625 "hphp.y"
12611 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;}
12612 break;
12614 case 774:
12616 /* Line 1455 of yacc.c */
12617 #line 2627 "hphp.y"
12618 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;}
12619 break;
12621 case 775:
12623 /* Line 1455 of yacc.c */
12624 #line 2628 "hphp.y"
12625 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;}
12626 break;
12628 case 776:
12630 /* Line 1455 of yacc.c */
12631 #line 2630 "hphp.y"
12632 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
12633 T_IS_SMALLER_OR_EQUAL);;}
12634 break;
12636 case 777:
12638 /* Line 1455 of yacc.c */
12639 #line 2632 "hphp.y"
12640 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;}
12641 break;
12643 case 778:
12645 /* Line 1455 of yacc.c */
12646 #line 2635 "hphp.y"
12647 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
12648 T_IS_GREATER_OR_EQUAL);;}
12649 break;
12651 case 779:
12653 /* Line 1455 of yacc.c */
12654 #line 2639 "hphp.y"
12655 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SPACESHIP);;}
12656 break;
12658 case 780:
12660 /* Line 1455 of yacc.c */
12661 #line 2642 "hphp.y"
12662 { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;}
12663 break;
12665 case 781:
12667 /* Line 1455 of yacc.c */
12668 #line 2643 "hphp.y"
12669 { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;}
12670 break;
12672 case 782:
12674 /* Line 1455 of yacc.c */
12675 #line 2647 "hphp.y"
12676 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
12677 break;
12679 case 783:
12681 /* Line 1455 of yacc.c */
12682 #line 2648 "hphp.y"
12683 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
12684 break;
12686 case 784:
12688 /* Line 1455 of yacc.c */
12689 #line 2654 "hphp.y"
12690 { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;}
12691 break;
12693 case 785:
12695 /* Line 1455 of yacc.c */
12696 #line 2660 "hphp.y"
12697 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;}
12698 break;
12700 case 786:
12702 /* Line 1455 of yacc.c */
12703 #line 2661 "hphp.y"
12704 { (yyval) = (yyvsp[(1) - (1)]);;}
12705 break;
12707 case 787:
12709 /* Line 1455 of yacc.c */
12710 #line 2665 "hphp.y"
12711 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
12712 break;
12714 case 788:
12716 /* Line 1455 of yacc.c */
12717 #line 2666 "hphp.y"
12718 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
12719 break;
12721 case 789:
12723 /* Line 1455 of yacc.c */
12724 #line 2667 "hphp.y"
12725 { (yyval) = (yyvsp[(1) - (1)]);;}
12726 break;
12728 case 790:
12730 /* Line 1455 of yacc.c */
12731 #line 2668 "hphp.y"
12732 { (yyval) = (yyvsp[(1) - (1)]);;}
12733 break;
12735 case 791:
12737 /* Line 1455 of yacc.c */
12738 #line 2669 "hphp.y"
12739 { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;}
12740 break;
12742 case 792:
12744 /* Line 1455 of yacc.c */
12745 #line 2670 "hphp.y"
12746 { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;}
12747 break;
12749 case 793:
12751 /* Line 1455 of yacc.c */
12752 #line 2672 "hphp.y"
12753 { _p->onEncapsList((yyval),T_START_HEREDOC,
12754 (yyvsp[(2) - (3)]));;}
12755 break;
12757 case 794:
12759 /* Line 1455 of yacc.c */
12760 #line 2677 "hphp.y"
12761 { (yyval) = (yyvsp[(1) - (2)]);;}
12762 break;
12764 case 795:
12766 /* Line 1455 of yacc.c */
12767 #line 2678 "hphp.y"
12768 { (yyval).reset();;}
12769 break;
12771 case 796:
12773 /* Line 1455 of yacc.c */
12774 #line 2682 "hphp.y"
12775 { (yyval).reset();;}
12776 break;
12778 case 797:
12780 /* Line 1455 of yacc.c */
12781 #line 2683 "hphp.y"
12782 { (yyval).reset();;}
12783 break;
12785 case 798:
12787 /* Line 1455 of yacc.c */
12788 #line 2686 "hphp.y"
12789 { only_in_hh_syntax(_p); (yyval).reset();;}
12790 break;
12792 case 799:
12794 /* Line 1455 of yacc.c */
12795 #line 2687 "hphp.y"
12796 { (yyval).reset();;}
12797 break;
12799 case 800:
12801 /* Line 1455 of yacc.c */
12802 #line 2693 "hphp.y"
12803 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
12804 break;
12806 case 801:
12808 /* Line 1455 of yacc.c */
12809 #line 2695 "hphp.y"
12810 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
12811 break;
12813 case 802:
12815 /* Line 1455 of yacc.c */
12816 #line 2697 "hphp.y"
12817 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
12818 break;
12820 case 803:
12822 /* Line 1455 of yacc.c */
12823 #line 2698 "hphp.y"
12824 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
12825 break;
12827 case 804:
12829 /* Line 1455 of yacc.c */
12830 #line 2702 "hphp.y"
12831 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;}
12832 break;
12834 case 805:
12836 /* Line 1455 of yacc.c */
12837 #line 2703 "hphp.y"
12838 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;}
12839 break;
12841 case 806:
12843 /* Line 1455 of yacc.c */
12844 #line 2704 "hphp.y"
12845 { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;}
12846 break;
12848 case 807:
12850 /* Line 1455 of yacc.c */
12851 #line 2707 "hphp.y"
12852 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;}
12853 break;
12855 case 808:
12857 /* Line 1455 of yacc.c */
12858 #line 2709 "hphp.y"
12859 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;}
12860 break;
12862 case 809:
12864 /* Line 1455 of yacc.c */
12865 #line 2712 "hphp.y"
12866 { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;}
12867 break;
12869 case 810:
12871 /* Line 1455 of yacc.c */
12872 #line 2713 "hphp.y"
12873 { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;}
12874 break;
12876 case 811:
12878 /* Line 1455 of yacc.c */
12879 #line 2714 "hphp.y"
12880 { _p->onScalar((yyval),T_ONUMBER,(yyvsp[(1) - (1)]));;}
12881 break;
12883 case 812:
12885 /* Line 1455 of yacc.c */
12886 #line 2715 "hphp.y"
12887 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;}
12888 break;
12890 case 813:
12892 /* Line 1455 of yacc.c */
12893 #line 2719 "hphp.y"
12894 { _p->onScalar((yyval),
12895 T_CONSTANT_ENCAPSED_STRING,(yyvsp[(1) - (1)]));;}
12896 break;
12898 case 814:
12900 /* Line 1455 of yacc.c */
12901 #line 2722 "hphp.y"
12902 { _p->onScalar((yyval),
12903 T_CONSTANT_ENCAPSED_STRING,
12904 (yyvsp[(1) - (3)]) + (yyvsp[(3) - (3)]));;}
12905 break;
12907 case 816:
12909 /* Line 1455 of yacc.c */
12910 #line 2729 "hphp.y"
12911 { (yyval) = (yyvsp[(1) - (1)]);;}
12912 break;
12914 case 817:
12916 /* Line 1455 of yacc.c */
12917 #line 2730 "hphp.y"
12918 { (yyval) = (yyvsp[(1) - (1)]);;}
12919 break;
12921 case 818:
12923 /* Line 1455 of yacc.c */
12924 #line 2733 "hphp.y"
12925 { HPHP_PARSER_ERROR("User-defined "
12926 "constants are not allowed in "
12927 "user attribute expressions", _p);;}
12928 break;
12930 case 819:
12932 /* Line 1455 of yacc.c */
12933 #line 2736 "hphp.y"
12934 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;}
12935 break;
12937 case 820:
12939 /* Line 1455 of yacc.c */
12940 #line 2737 "hphp.y"
12941 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
12942 break;
12944 case 821:
12946 /* Line 1455 of yacc.c */
12947 #line 2738 "hphp.y"
12948 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
12949 break;
12951 case 822:
12953 /* Line 1455 of yacc.c */
12954 #line 2740 "hphp.y"
12955 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;}
12956 break;
12958 case 823:
12960 /* Line 1455 of yacc.c */
12961 #line 2741 "hphp.y"
12962 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
12963 break;
12965 case 824:
12967 /* Line 1455 of yacc.c */
12968 #line 2743 "hphp.y"
12969 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
12970 break;
12972 case 825:
12974 /* Line 1455 of yacc.c */
12975 #line 2744 "hphp.y"
12976 { (yyval) = (yyvsp[(1) - (1)]);;}
12977 break;
12979 case 826:
12981 /* Line 1455 of yacc.c */
12982 #line 2745 "hphp.y"
12983 { (yyval) = (yyvsp[(1) - (1)]);;}
12984 break;
12986 case 827:
12988 /* Line 1455 of yacc.c */
12989 #line 2746 "hphp.y"
12990 { (yyval) = (yyvsp[(1) - (1)]);;}
12991 break;
12993 case 828:
12995 /* Line 1455 of yacc.c */
12996 #line 2751 "hphp.y"
12997 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
12998 break;
13000 case 829:
13002 /* Line 1455 of yacc.c */
13003 #line 2752 "hphp.y"
13004 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
13005 break;
13007 case 830:
13009 /* Line 1455 of yacc.c */
13010 #line 2757 "hphp.y"
13011 { (yyval) = (yyvsp[(1) - (2)]);;}
13012 break;
13014 case 831:
13016 /* Line 1455 of yacc.c */
13017 #line 2758 "hphp.y"
13018 { (yyval).reset();;}
13019 break;
13021 case 832:
13023 /* Line 1455 of yacc.c */
13024 #line 2763 "hphp.y"
13025 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
13026 break;
13028 case 833:
13030 /* Line 1455 of yacc.c */
13031 #line 2765 "hphp.y"
13032 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
13033 break;
13035 case 834:
13037 /* Line 1455 of yacc.c */
13038 #line 2767 "hphp.y"
13039 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
13040 break;
13042 case 835:
13044 /* Line 1455 of yacc.c */
13045 #line 2768 "hphp.y"
13046 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
13047 break;
13049 case 836:
13051 /* Line 1455 of yacc.c */
13052 #line 2772 "hphp.y"
13053 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
13054 break;
13056 case 837:
13058 /* Line 1455 of yacc.c */
13059 #line 2773 "hphp.y"
13060 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
13061 break;
13063 case 838:
13065 /* Line 1455 of yacc.c */
13066 #line 2778 "hphp.y"
13067 { (yyval) = (yyvsp[(1) - (2)]); ;}
13068 break;
13070 case 839:
13072 /* Line 1455 of yacc.c */
13073 #line 2779 "hphp.y"
13074 { (yyval).reset(); ;}
13075 break;
13077 case 840:
13079 /* Line 1455 of yacc.c */
13080 #line 2784 "hphp.y"
13081 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
13082 break;
13084 case 841:
13086 /* Line 1455 of yacc.c */
13087 #line 2787 "hphp.y"
13088 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
13089 break;
13091 case 842:
13093 /* Line 1455 of yacc.c */
13094 #line 2792 "hphp.y"
13095 { (yyval) = (yyvsp[(1) - (2)]);;}
13096 break;
13098 case 843:
13100 /* Line 1455 of yacc.c */
13101 #line 2793 "hphp.y"
13102 { (yyval).reset();;}
13103 break;
13105 case 844:
13107 /* Line 1455 of yacc.c */
13108 #line 2796 "hphp.y"
13109 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
13110 break;
13112 case 845:
13114 /* Line 1455 of yacc.c */
13115 #line 2797 "hphp.y"
13116 { Token t; t.reset();
13117 _p->onArray((yyval),t,T_ARRAY);;}
13118 break;
13120 case 846:
13122 /* Line 1455 of yacc.c */
13123 #line 2804 "hphp.y"
13124 { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;}
13125 break;
13127 case 847:
13129 /* Line 1455 of yacc.c */
13130 #line 2806 "hphp.y"
13131 { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
13132 break;
13134 case 848:
13136 /* Line 1455 of yacc.c */
13137 #line 2809 "hphp.y"
13138 { only_in_hh_syntax(_p);;}
13139 break;
13141 case 849:
13143 /* Line 1455 of yacc.c */
13144 #line 2811 "hphp.y"
13145 { (yyval) = (yyvsp[(2) - (3)]);;}
13146 break;
13148 case 850:
13150 /* Line 1455 of yacc.c */
13151 #line 2814 "hphp.y"
13152 { (yyval) = (yyvsp[(2) - (3)]);;}
13153 break;
13155 case 851:
13157 /* Line 1455 of yacc.c */
13158 #line 2817 "hphp.y"
13159 { (yyval) = (yyvsp[(1) - (1)]);;}
13160 break;
13162 case 852:
13164 /* Line 1455 of yacc.c */
13165 #line 2818 "hphp.y"
13166 { (yyval).reset();;}
13167 break;
13169 case 853:
13171 /* Line 1455 of yacc.c */
13172 #line 2822 "hphp.y"
13173 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;}
13174 break;
13176 case 854:
13178 /* Line 1455 of yacc.c */
13179 #line 2823 "hphp.y"
13180 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 1;;}
13181 break;
13183 case 855:
13185 /* Line 1455 of yacc.c */
13186 #line 2827 "hphp.y"
13187 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;}
13188 break;
13190 case 856:
13192 /* Line 1455 of yacc.c */
13193 #line 2828 "hphp.y"
13194 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropXhpAttr;;}
13195 break;
13197 case 857:
13199 /* Line 1455 of yacc.c */
13200 #line 2829 "hphp.y"
13201 { (yyval) = (yyvsp[(2) - (3)]); (yyval) = HPHP::ObjPropNormal;;}
13202 break;
13204 case 858:
13206 /* Line 1455 of yacc.c */
13207 #line 2833 "hphp.y"
13208 { (yyval) = (yyvsp[(1) - (1)]);;}
13209 break;
13211 case 859:
13213 /* Line 1455 of yacc.c */
13214 #line 2835 "hphp.y"
13215 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = HPHP::ObjPropNormal;;}
13216 break;
13218 case 860:
13220 /* Line 1455 of yacc.c */
13221 #line 2843 "hphp.y"
13222 { (yyval) = (yyvsp[(1) - (1)]);;}
13223 break;
13225 case 861:
13227 /* Line 1455 of yacc.c */
13228 #line 2844 "hphp.y"
13229 { (yyval) = (yyvsp[(2) - (3)]);;}
13230 break;
13232 case 862:
13234 /* Line 1455 of yacc.c */
13235 #line 2848 "hphp.y"
13236 { (yyval) = (yyvsp[(1) - (1)]);;}
13237 break;
13239 case 863:
13241 /* Line 1455 of yacc.c */
13242 #line 2850 "hphp.y"
13243 { (yyval) = (yyvsp[(1) - (1)]);;}
13244 break;
13246 case 864:
13248 /* Line 1455 of yacc.c */
13249 #line 2858 "hphp.y"
13250 { (yyval) = (yyvsp[(2) - (3)]);;}
13251 break;
13253 case 865:
13255 /* Line 1455 of yacc.c */
13256 #line 2859 "hphp.y"
13257 { (yyval) = (yyvsp[(2) - (3)]);;}
13258 break;
13260 case 866:
13262 /* Line 1455 of yacc.c */
13263 #line 2863 "hphp.y"
13264 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
13265 break;
13267 case 867:
13269 /* Line 1455 of yacc.c */
13270 #line 2865 "hphp.y"
13271 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;}
13272 break;
13274 case 868:
13276 /* Line 1455 of yacc.c */
13277 #line 2870 "hphp.y"
13278 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
13279 break;
13281 case 869:
13283 /* Line 1455 of yacc.c */
13284 #line 2872 "hphp.y"
13285 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;}
13286 break;
13288 case 870:
13290 /* Line 1455 of yacc.c */
13291 #line 2878 "hphp.y"
13292 { _p->onObjectProperty(
13293 (yyval),
13294 (yyvsp[(2) - (5)]),
13295 !(yyvsp[(4) - (5)]).num()
13296 ? HPHP::PropAccessType::Normal
13297 : HPHP::PropAccessType::NullSafe,
13298 (yyvsp[(5) - (5)])
13301 break;
13303 case 871:
13305 /* Line 1455 of yacc.c */
13306 #line 2889 "hphp.y"
13307 { _p->onObjectProperty(
13308 (yyval),
13309 (yyvsp[(2) - (5)]),
13310 !(yyvsp[(4) - (5)]).num()
13311 ? HPHP::PropAccessType::Normal
13312 : HPHP::PropAccessType::NullSafe,
13313 (yyvsp[(5) - (5)])
13316 break;
13318 case 872:
13320 /* Line 1455 of yacc.c */
13321 #line 2904 "hphp.y"
13322 { _p->onObjectProperty(
13323 (yyval),
13324 (yyvsp[(2) - (5)]),
13325 !(yyvsp[(4) - (5)]).num()
13326 ? HPHP::PropAccessType::Normal
13327 : HPHP::PropAccessType::NullSafe,
13328 (yyvsp[(5) - (5)])
13331 break;
13333 case 873:
13335 /* Line 1455 of yacc.c */
13336 #line 2916 "hphp.y"
13337 { _p->onObjectProperty(
13338 (yyval),
13339 (yyvsp[(2) - (5)]),
13340 !(yyvsp[(4) - (5)]).num()
13341 ? HPHP::PropAccessType::Normal
13342 : HPHP::PropAccessType::NullSafe,
13343 (yyvsp[(5) - (5)])
13346 break;
13348 case 874:
13350 /* Line 1455 of yacc.c */
13351 #line 2928 "hphp.y"
13352 { (yyval) = (yyvsp[(1) - (1)]);;}
13353 break;
13355 case 875:
13357 /* Line 1455 of yacc.c */
13358 #line 2929 "hphp.y"
13359 { (yyval) = (yyvsp[(1) - (1)]);;}
13360 break;
13362 case 876:
13364 /* Line 1455 of yacc.c */
13365 #line 2930 "hphp.y"
13366 { (yyval) = (yyvsp[(1) - (1)]);;}
13367 break;
13369 case 877:
13371 /* Line 1455 of yacc.c */
13372 #line 2931 "hphp.y"
13373 { (yyval) = (yyvsp[(1) - (1)]);;}
13374 break;
13376 case 878:
13378 /* Line 1455 of yacc.c */
13379 #line 2932 "hphp.y"
13380 { (yyval) = (yyvsp[(1) - (1)]);;}
13381 break;
13383 case 879:
13385 /* Line 1455 of yacc.c */
13386 #line 2933 "hphp.y"
13387 { (yyval) = (yyvsp[(1) - (1)]);;}
13388 break;
13390 case 880:
13392 /* Line 1455 of yacc.c */
13393 #line 2935 "hphp.y"
13394 { _p->onObjectProperty(
13395 (yyval),
13396 (yyvsp[(1) - (3)]),
13397 !(yyvsp[(2) - (3)]).num()
13398 ? HPHP::PropAccessType::Normal
13399 : HPHP::PropAccessType::NullSafe,
13400 (yyvsp[(3) - (3)])
13403 break;
13405 case 881:
13407 /* Line 1455 of yacc.c */
13408 #line 2952 "hphp.y"
13409 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
13410 break;
13412 case 882:
13414 /* Line 1455 of yacc.c */
13415 #line 2954 "hphp.y"
13416 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
13417 break;
13419 case 883:
13421 /* Line 1455 of yacc.c */
13422 #line 2956 "hphp.y"
13423 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
13424 break;
13426 case 884:
13428 /* Line 1455 of yacc.c */
13429 #line 2957 "hphp.y"
13430 { (yyval) = (yyvsp[(2) - (3)]);;}
13431 break;
13433 case 885:
13435 /* Line 1455 of yacc.c */
13436 #line 2961 "hphp.y"
13437 { (yyval) = (yyvsp[(1) - (1)]);;}
13438 break;
13440 case 886:
13442 /* Line 1455 of yacc.c */
13443 #line 2962 "hphp.y"
13444 { (yyval) = (yyvsp[(1) - (1)]);;}
13445 break;
13447 case 887:
13449 /* Line 1455 of yacc.c */
13450 #line 2963 "hphp.y"
13451 { (yyval) = (yyvsp[(1) - (1)]);;}
13452 break;
13454 case 888:
13456 /* Line 1455 of yacc.c */
13457 #line 2964 "hphp.y"
13458 { (yyval) = (yyvsp[(1) - (1)]);;}
13459 break;
13461 case 889:
13463 /* Line 1455 of yacc.c */
13464 #line 2972 "hphp.y"
13465 { _p->onObjectProperty(
13466 (yyval),
13467 (yyvsp[(1) - (3)]),
13468 !(yyvsp[(2) - (3)]).num()
13469 ? HPHP::PropAccessType::Normal
13470 : HPHP::PropAccessType::NullSafe,
13471 (yyvsp[(3) - (3)])
13474 break;
13476 case 890:
13478 /* Line 1455 of yacc.c */
13479 #line 2981 "hphp.y"
13480 { (yyval) = (yyvsp[(1) - (1)]);;}
13481 break;
13483 case 891:
13485 /* Line 1455 of yacc.c */
13486 #line 2983 "hphp.y"
13487 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
13488 break;
13490 case 892:
13492 /* Line 1455 of yacc.c */
13493 #line 2984 "hphp.y"
13494 { (yyval) = (yyvsp[(2) - (3)]);;}
13495 break;
13497 case 893:
13499 /* Line 1455 of yacc.c */
13500 #line 2993 "hphp.y"
13501 { (yyval) = (yyvsp[(1) - (1)]);;}
13502 break;
13504 case 894:
13506 /* Line 1455 of yacc.c */
13507 #line 2994 "hphp.y"
13508 { (yyval) = (yyvsp[(1) - (1)]);;}
13509 break;
13511 case 895:
13513 /* Line 1455 of yacc.c */
13514 #line 2995 "hphp.y"
13515 { (yyval) = (yyvsp[(1) - (1)]);;}
13516 break;
13518 case 896:
13520 /* Line 1455 of yacc.c */
13521 #line 2996 "hphp.y"
13522 { (yyval) = (yyvsp[(1) - (1)]);;}
13523 break;
13525 case 897:
13527 /* Line 1455 of yacc.c */
13528 #line 2997 "hphp.y"
13529 { (yyval) = (yyvsp[(1) - (1)]);;}
13530 break;
13532 case 898:
13534 /* Line 1455 of yacc.c */
13535 #line 2998 "hphp.y"
13536 { (yyval) = (yyvsp[(2) - (3)]);;}
13537 break;
13539 case 899:
13541 /* Line 1455 of yacc.c */
13542 #line 2999 "hphp.y"
13543 { (yyval) = (yyvsp[(2) - (3)]);;}
13544 break;
13546 case 900:
13548 /* Line 1455 of yacc.c */
13549 #line 3001 "hphp.y"
13550 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
13551 break;
13553 case 901:
13555 /* Line 1455 of yacc.c */
13556 #line 3003 "hphp.y"
13557 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
13558 break;
13560 case 902:
13562 /* Line 1455 of yacc.c */
13563 #line 3007 "hphp.y"
13564 { (yyval) = (yyvsp[(2) - (3)]);;}
13565 break;
13567 case 903:
13569 /* Line 1455 of yacc.c */
13570 #line 3011 "hphp.y"
13571 { (yyval) = (yyvsp[(1) - (1)]);;}
13572 break;
13574 case 904:
13576 /* Line 1455 of yacc.c */
13577 #line 3012 "hphp.y"
13578 { (yyval) = (yyvsp[(1) - (1)]);;}
13579 break;
13581 case 905:
13583 /* Line 1455 of yacc.c */
13584 #line 3018 "hphp.y"
13585 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(2) - (7)]).num(),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;}
13586 break;
13588 case 906:
13590 /* Line 1455 of yacc.c */
13591 #line 3022 "hphp.y"
13592 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(4) - (9)]).num(),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;}
13593 break;
13595 case 907:
13597 /* Line 1455 of yacc.c */
13598 #line 3029 "hphp.y"
13599 { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;}
13600 break;
13602 case 908:
13604 /* Line 1455 of yacc.c */
13605 #line 3038 "hphp.y"
13606 { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;}
13607 break;
13609 case 909:
13611 /* Line 1455 of yacc.c */
13612 #line 3042 "hphp.y"
13613 { _p->onCall((yyval),1,(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));;}
13614 break;
13616 case 910:
13618 /* Line 1455 of yacc.c */
13619 #line 3046 "hphp.y"
13620 { (yyval) = (yyvsp[(1) - (1)]);;}
13621 break;
13623 case 911:
13625 /* Line 1455 of yacc.c */
13626 #line 3049 "hphp.y"
13627 { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
13628 break;
13630 case 912:
13632 /* Line 1455 of yacc.c */
13633 #line 3055 "hphp.y"
13634 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
13635 break;
13637 case 913:
13639 /* Line 1455 of yacc.c */
13640 #line 3056 "hphp.y"
13641 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
13642 break;
13644 case 914:
13646 /* Line 1455 of yacc.c */
13647 #line 3057 "hphp.y"
13648 { (yyval) = (yyvsp[(1) - (1)]);;}
13649 break;
13651 case 915:
13653 /* Line 1455 of yacc.c */
13654 #line 3061 "hphp.y"
13655 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;}
13656 break;
13658 case 916:
13660 /* Line 1455 of yacc.c */
13661 #line 3062 "hphp.y"
13662 { _p->onPipeVariable((yyval));;}
13663 break;
13665 case 917:
13667 /* Line 1455 of yacc.c */
13668 #line 3063 "hphp.y"
13669 { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;}
13670 break;
13672 case 918:
13674 /* Line 1455 of yacc.c */
13675 #line 3070 "hphp.y"
13676 { (yyval) = (yyvsp[(1) - (1)]);;}
13677 break;
13679 case 919:
13681 /* Line 1455 of yacc.c */
13682 #line 3071 "hphp.y"
13683 { (yyval).reset();;}
13684 break;
13686 case 920:
13688 /* Line 1455 of yacc.c */
13689 #line 3076 "hphp.y"
13690 { (yyval) = 1;;}
13691 break;
13693 case 921:
13695 /* Line 1455 of yacc.c */
13696 #line 3077 "hphp.y"
13697 { (yyval)++;;}
13698 break;
13700 case 922:
13702 /* Line 1455 of yacc.c */
13703 #line 3082 "hphp.y"
13704 { (yyval) = (yyvsp[(1) - (1)]);;}
13705 break;
13707 case 923:
13709 /* Line 1455 of yacc.c */
13710 #line 3083 "hphp.y"
13711 { (yyval) = (yyvsp[(1) - (1)]);;}
13712 break;
13714 case 924:
13716 /* Line 1455 of yacc.c */
13717 #line 3084 "hphp.y"
13718 { (yyval) = (yyvsp[(1) - (1)]);;}
13719 break;
13721 case 925:
13723 /* Line 1455 of yacc.c */
13724 #line 3087 "hphp.y"
13725 { _p->onObjectProperty(
13726 (yyval),
13727 (yyvsp[(1) - (3)]),
13728 !(yyvsp[(2) - (3)]).num()
13729 ? HPHP::PropAccessType::Normal
13730 : HPHP::PropAccessType::NullSafe,
13731 (yyvsp[(3) - (3)])
13734 break;
13736 case 926:
13738 /* Line 1455 of yacc.c */
13739 #line 3098 "hphp.y"
13740 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
13741 break;
13743 case 927:
13745 /* Line 1455 of yacc.c */
13746 #line 3099 "hphp.y"
13747 { (yyval) = (yyvsp[(2) - (3)]);;}
13748 break;
13750 case 929:
13752 /* Line 1455 of yacc.c */
13753 #line 3103 "hphp.y"
13754 { (yyval) = (yyvsp[(1) - (1)]);;}
13755 break;
13757 case 930:
13759 /* Line 1455 of yacc.c */
13760 #line 3104 "hphp.y"
13761 { (yyval) = (yyvsp[(1) - (1)]);;}
13762 break;
13764 case 931:
13766 /* Line 1455 of yacc.c */
13767 #line 3107 "hphp.y"
13768 { _p->onObjectProperty(
13769 (yyval),
13770 (yyvsp[(1) - (3)]),
13771 !(yyvsp[(2) - (3)]).num()
13772 ? HPHP::PropAccessType::Normal
13773 : HPHP::PropAccessType::NullSafe,
13774 (yyvsp[(3) - (3)])
13777 break;
13779 case 932:
13781 /* Line 1455 of yacc.c */
13782 #line 3116 "hphp.y"
13783 { (yyval) = (yyvsp[(2) - (3)]);;}
13784 break;
13786 case 933:
13788 /* Line 1455 of yacc.c */
13789 #line 3120 "hphp.y"
13790 { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;}
13791 break;
13793 case 934:
13795 /* Line 1455 of yacc.c */
13796 #line 3121 "hphp.y"
13797 { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
13798 break;
13800 case 935:
13802 /* Line 1455 of yacc.c */
13803 #line 3123 "hphp.y"
13804 { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;}
13805 break;
13807 case 936:
13809 /* Line 1455 of yacc.c */
13810 #line 3124 "hphp.y"
13811 { _p->onAListVar((yyval),NULL,NULL);;}
13812 break;
13814 case 937:
13816 /* Line 1455 of yacc.c */
13817 #line 3125 "hphp.y"
13818 { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;}
13819 break;
13821 case 938:
13823 /* Line 1455 of yacc.c */
13824 #line 3126 "hphp.y"
13825 { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;}
13826 break;
13828 case 939:
13830 /* Line 1455 of yacc.c */
13831 #line 3131 "hphp.y"
13832 { (yyval) = (yyvsp[(1) - (2)]);;}
13833 break;
13835 case 940:
13837 /* Line 1455 of yacc.c */
13838 #line 3132 "hphp.y"
13839 { (yyval).reset();;}
13840 break;
13842 case 941:
13844 /* Line 1455 of yacc.c */
13845 #line 3136 "hphp.y"
13846 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
13847 break;
13849 case 942:
13851 /* Line 1455 of yacc.c */
13852 #line 3137 "hphp.y"
13853 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
13854 break;
13856 case 943:
13858 /* Line 1455 of yacc.c */
13859 #line 3138 "hphp.y"
13860 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
13861 break;
13863 case 944:
13865 /* Line 1455 of yacc.c */
13866 #line 3139 "hphp.y"
13867 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
13868 break;
13870 case 945:
13872 /* Line 1455 of yacc.c */
13873 #line 3142 "hphp.y"
13874 { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;}
13875 break;
13877 case 946:
13879 /* Line 1455 of yacc.c */
13880 #line 3144 "hphp.y"
13881 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;}
13882 break;
13884 case 947:
13886 /* Line 1455 of yacc.c */
13887 #line 3145 "hphp.y"
13888 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
13889 break;
13891 case 948:
13893 /* Line 1455 of yacc.c */
13894 #line 3146 "hphp.y"
13895 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;}
13896 break;
13898 case 949:
13900 /* Line 1455 of yacc.c */
13901 #line 3151 "hphp.y"
13902 { (yyval) = (yyvsp[(1) - (2)]);;}
13903 break;
13905 case 950:
13907 /* Line 1455 of yacc.c */
13908 #line 3152 "hphp.y"
13909 { _p->onEmptyCollection((yyval));;}
13910 break;
13912 case 951:
13914 /* Line 1455 of yacc.c */
13915 #line 3156 "hphp.y"
13916 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
13917 break;
13919 case 952:
13921 /* Line 1455 of yacc.c */
13922 #line 3157 "hphp.y"
13923 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;}
13924 break;
13926 case 953:
13928 /* Line 1455 of yacc.c */
13929 #line 3158 "hphp.y"
13930 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
13931 break;
13933 case 954:
13935 /* Line 1455 of yacc.c */
13936 #line 3159 "hphp.y"
13937 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;}
13938 break;
13940 case 955:
13942 /* Line 1455 of yacc.c */
13943 #line 3164 "hphp.y"
13944 { (yyval) = (yyvsp[(1) - (2)]);;}
13945 break;
13947 case 956:
13949 /* Line 1455 of yacc.c */
13950 #line 3165 "hphp.y"
13951 { _p->onEmptyCollection((yyval));;}
13952 break;
13954 case 957:
13956 /* Line 1455 of yacc.c */
13957 #line 3170 "hphp.y"
13958 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
13959 break;
13961 case 958:
13963 /* Line 1455 of yacc.c */
13964 #line 3172 "hphp.y"
13965 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;}
13966 break;
13968 case 959:
13970 /* Line 1455 of yacc.c */
13971 #line 3174 "hphp.y"
13972 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
13973 break;
13975 case 960:
13977 /* Line 1455 of yacc.c */
13978 #line 3175 "hphp.y"
13979 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;}
13980 break;
13982 case 961:
13984 /* Line 1455 of yacc.c */
13985 #line 3179 "hphp.y"
13986 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;}
13987 break;
13989 case 962:
13991 /* Line 1455 of yacc.c */
13992 #line 3181 "hphp.y"
13993 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;}
13994 break;
13996 case 963:
13998 /* Line 1455 of yacc.c */
13999 #line 3182 "hphp.y"
14000 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;}
14001 break;
14003 case 964:
14005 /* Line 1455 of yacc.c */
14006 #line 3184 "hphp.y"
14007 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0);
14008 _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;}
14009 break;
14011 case 965:
14013 /* Line 1455 of yacc.c */
14014 #line 3189 "hphp.y"
14015 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;}
14016 break;
14018 case 966:
14020 /* Line 1455 of yacc.c */
14021 #line 3191 "hphp.y"
14022 { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
14023 break;
14025 case 967:
14027 /* Line 1455 of yacc.c */
14028 #line 3193 "hphp.y"
14029 { _p->encapObjProp(
14030 (yyval),
14031 (yyvsp[(1) - (3)]),
14032 !(yyvsp[(2) - (3)]).num()
14033 ? HPHP::PropAccessType::Normal
14034 : HPHP::PropAccessType::NullSafe,
14035 (yyvsp[(3) - (3)])
14038 break;
14040 case 968:
14042 /* Line 1455 of yacc.c */
14043 #line 3203 "hphp.y"
14044 { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;}
14045 break;
14047 case 969:
14049 /* Line 1455 of yacc.c */
14050 #line 3205 "hphp.y"
14051 { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;}
14052 break;
14054 case 970:
14056 /* Line 1455 of yacc.c */
14057 #line 3206 "hphp.y"
14058 { (yyval) = (yyvsp[(2) - (3)]);;}
14059 break;
14061 case 971:
14063 /* Line 1455 of yacc.c */
14064 #line 3209 "hphp.y"
14065 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;}
14066 break;
14068 case 972:
14070 /* Line 1455 of yacc.c */
14071 #line 3210 "hphp.y"
14072 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;}
14073 break;
14075 case 973:
14077 /* Line 1455 of yacc.c */
14078 #line 3211 "hphp.y"
14079 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;}
14080 break;
14082 case 974:
14084 /* Line 1455 of yacc.c */
14085 #line 3215 "hphp.y"
14086 { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;}
14087 break;
14089 case 975:
14091 /* Line 1455 of yacc.c */
14092 #line 3216 "hphp.y"
14093 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;}
14094 break;
14096 case 976:
14098 /* Line 1455 of yacc.c */
14099 #line 3217 "hphp.y"
14100 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
14101 break;
14103 case 977:
14105 /* Line 1455 of yacc.c */
14106 #line 3218 "hphp.y"
14107 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
14108 break;
14110 case 978:
14112 /* Line 1455 of yacc.c */
14113 #line 3219 "hphp.y"
14114 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
14115 break;
14117 case 979:
14119 /* Line 1455 of yacc.c */
14120 #line 3220 "hphp.y"
14121 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
14122 break;
14124 case 980:
14126 /* Line 1455 of yacc.c */
14127 #line 3221 "hphp.y"
14128 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;}
14129 break;
14131 case 981:
14133 /* Line 1455 of yacc.c */
14134 #line 3222 "hphp.y"
14135 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;}
14136 break;
14138 case 982:
14140 /* Line 1455 of yacc.c */
14141 #line 3223 "hphp.y"
14142 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;}
14143 break;
14145 case 983:
14147 /* Line 1455 of yacc.c */
14148 #line 3224 "hphp.y"
14149 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;}
14150 break;
14152 case 984:
14154 /* Line 1455 of yacc.c */
14155 #line 3225 "hphp.y"
14156 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;}
14157 break;
14159 case 985:
14161 /* Line 1455 of yacc.c */
14162 #line 3229 "hphp.y"
14163 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
14164 break;
14166 case 986:
14168 /* Line 1455 of yacc.c */
14169 #line 3230 "hphp.y"
14170 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
14171 break;
14173 case 987:
14175 /* Line 1455 of yacc.c */
14176 #line 3235 "hphp.y"
14177 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
14178 break;
14180 case 988:
14182 /* Line 1455 of yacc.c */
14183 #line 3237 "hphp.y"
14184 { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
14185 break;
14187 case 991:
14189 /* Line 1455 of yacc.c */
14190 #line 3251 "hphp.y"
14191 { (yyvsp[(2) - (5)]).setText(_p->nsClassDecl((yyvsp[(2) - (5)]).text()));
14192 _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)]));
14193 _p->popTypeScope(); ;}
14194 break;
14196 case 992:
14198 /* Line 1455 of yacc.c */
14199 #line 3256 "hphp.y"
14200 { (yyvsp[(3) - (6)]).setText(_p->nsClassDecl((yyvsp[(3) - (6)]).text()));
14201 _p->onTypedef((yyval), (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(1) - (6)]));
14202 _p->popTypeScope(); ;}
14203 break;
14205 case 993:
14207 /* Line 1455 of yacc.c */
14208 #line 3260 "hphp.y"
14209 { (yyvsp[(2) - (6)]).setText(_p->nsClassDecl((yyvsp[(2) - (6)]).text()));
14210 _p->onTypedef((yyval), (yyvsp[(2) - (6)]), (yyvsp[(5) - (6)]));
14211 _p->popTypeScope(); ;}
14212 break;
14214 case 994:
14216 /* Line 1455 of yacc.c */
14217 #line 3265 "hphp.y"
14218 { (yyvsp[(3) - (7)]).setText(_p->nsClassDecl((yyvsp[(3) - (7)]).text()));
14219 _p->onTypedef((yyval), (yyvsp[(3) - (7)]), (yyvsp[(6) - (7)]), &(yyvsp[(1) - (7)]));
14220 _p->popTypeScope(); ;}
14221 break;
14223 case 995:
14225 /* Line 1455 of yacc.c */
14226 #line 3271 "hphp.y"
14227 { (yyval) = (yyvsp[(1) - (1)]); ;}
14228 break;
14230 case 996:
14232 /* Line 1455 of yacc.c */
14233 #line 3272 "hphp.y"
14234 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;}
14235 break;
14237 case 997:
14239 /* Line 1455 of yacc.c */
14240 #line 3276 "hphp.y"
14241 { (yyval) = (yyvsp[(1) - (1)]); ;}
14242 break;
14244 case 998:
14246 /* Line 1455 of yacc.c */
14247 #line 3277 "hphp.y"
14248 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;}
14249 break;
14251 case 999:
14253 /* Line 1455 of yacc.c */
14254 #line 3283 "hphp.y"
14255 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;}
14256 break;
14258 case 1000:
14260 /* Line 1455 of yacc.c */
14261 #line 3287 "hphp.y"
14262 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); ;}
14263 break;
14265 case 1001:
14267 /* Line 1455 of yacc.c */
14268 #line 3293 "hphp.y"
14269 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;}
14270 break;
14272 case 1002:
14274 /* Line 1455 of yacc.c */
14275 #line 3297 "hphp.y"
14276 { Token t; _p->setTypeVars(t, (yyvsp[(1) - (4)]));
14277 _p->pushTypeScope(); (yyval) = t; ;}
14278 break;
14280 case 1003:
14282 /* Line 1455 of yacc.c */
14283 #line 3304 "hphp.y"
14284 { (yyval) = (yyvsp[(2) - (3)]); ;}
14285 break;
14287 case 1004:
14289 /* Line 1455 of yacc.c */
14290 #line 3305 "hphp.y"
14291 { (yyval).reset(); ;}
14292 break;
14294 case 1005:
14296 /* Line 1455 of yacc.c */
14297 #line 3309 "hphp.y"
14298 { Token t; t.reset();
14299 _p->onTypeList((yyvsp[(1) - (1)]), t);
14300 (yyval) = (yyvsp[(1) - (1)]); ;}
14301 break;
14303 case 1006:
14305 /* Line 1455 of yacc.c */
14306 #line 3312 "hphp.y"
14307 { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
14308 (yyval) = (yyvsp[(1) - (3)]); ;}
14309 break;
14311 case 1007:
14313 /* Line 1455 of yacc.c */
14314 #line 3318 "hphp.y"
14315 { (yyval) = (yyvsp[(1) - (2)]); ;}
14316 break;
14318 case 1008:
14320 /* Line 1455 of yacc.c */
14321 #line 3323 "hphp.y"
14322 { (yyval) = (yyvsp[(1) - (3)]); ;}
14323 break;
14325 case 1009:
14327 /* Line 1455 of yacc.c */
14328 #line 3324 "hphp.y"
14329 { (yyval) = (yyvsp[(1) - (1)]); ;}
14330 break;
14332 case 1010:
14334 /* Line 1455 of yacc.c */
14335 #line 3325 "hphp.y"
14336 { (yyval).reset(); ;}
14337 break;
14339 case 1011:
14341 /* Line 1455 of yacc.c */
14342 #line 3326 "hphp.y"
14343 { (yyval).reset(); ;}
14344 break;
14346 case 1018:
14348 /* Line 1455 of yacc.c */
14349 #line 3347 "hphp.y"
14350 { (yyval).reset(); ;}
14351 break;
14353 case 1019:
14355 /* Line 1455 of yacc.c */
14356 #line 3348 "hphp.y"
14357 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1; ;}
14358 break;
14360 case 1022:
14362 /* Line 1455 of yacc.c */
14363 #line 3357 "hphp.y"
14364 { (yyval) = (yyvsp[(1) - (2)]); ;}
14365 break;
14367 case 1025:
14369 /* Line 1455 of yacc.c */
14370 #line 3368 "hphp.y"
14371 { _p->addTypeVar((yyvsp[(4) - (4)]).text()); ;}
14372 break;
14374 case 1026:
14376 /* Line 1455 of yacc.c */
14377 #line 3370 "hphp.y"
14378 { _p->addTypeVar((yyvsp[(2) - (2)]).text()); ;}
14379 break;
14381 case 1027:
14383 /* Line 1455 of yacc.c */
14384 #line 3374 "hphp.y"
14385 { _p->addTypeVar((yyvsp[(4) - (5)]).text()); ;}
14386 break;
14388 case 1028:
14390 /* Line 1455 of yacc.c */
14391 #line 3377 "hphp.y"
14392 { _p->addTypeVar((yyvsp[(2) - (3)]).text()); ;}
14393 break;
14395 case 1029:
14397 /* Line 1455 of yacc.c */
14398 #line 3381 "hphp.y"
14400 break;
14402 case 1030:
14404 /* Line 1455 of yacc.c */
14405 #line 3382 "hphp.y"
14407 break;
14409 case 1031:
14411 /* Line 1455 of yacc.c */
14412 #line 3383 "hphp.y"
14414 break;
14416 case 1032:
14418 /* Line 1455 of yacc.c */
14419 #line 3389 "hphp.y"
14420 { validate_shape_keyname((yyvsp[(1) - (3)]), _p);
14421 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
14422 break;
14424 case 1033:
14426 /* Line 1455 of yacc.c */
14427 #line 3394 "hphp.y"
14429 /* should not reach here as
14430 * optional shape fields are not
14431 * supported in strict mode */
14432 validate_shape_keyname((yyvsp[(2) - (4)]), _p);
14433 _p->onTypeAnnotation((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
14435 break;
14437 case 1034:
14439 /* Line 1455 of yacc.c */
14440 #line 3405 "hphp.y"
14441 { _p->onClsCnsShapeField((yyval), (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)])); ;}
14442 break;
14444 case 1035:
14446 /* Line 1455 of yacc.c */
14447 #line 3410 "hphp.y"
14448 { _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;}
14449 break;
14451 case 1036:
14453 /* Line 1455 of yacc.c */
14454 #line 3411 "hphp.y"
14455 { ;}
14456 break;
14458 case 1037:
14460 /* Line 1455 of yacc.c */
14461 #line 3416 "hphp.y"
14462 { _p->onShape((yyval), (yyvsp[(1) - (2)])); ;}
14463 break;
14465 case 1038:
14467 /* Line 1455 of yacc.c */
14468 #line 3417 "hphp.y"
14469 { Token t; t.reset();
14470 _p->onShape((yyval), t); ;}
14471 break;
14473 case 1039:
14475 /* Line 1455 of yacc.c */
14476 #line 3423 "hphp.y"
14477 { (yyval) = (yyvsp[(3) - (4)]);
14478 (yyval).setText("array"); ;}
14479 break;
14481 case 1040:
14483 /* Line 1455 of yacc.c */
14484 #line 3428 "hphp.y"
14485 { (yyval) = (yyvsp[(1) - (1)]); ;}
14486 break;
14488 case 1041:
14490 /* Line 1455 of yacc.c */
14491 #line 3433 "hphp.y"
14492 { Token t; t.reset();
14493 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), t);
14494 _p->onTypeList((yyval), (yyvsp[(3) - (3)])); ;}
14495 break;
14497 case 1042:
14499 /* Line 1455 of yacc.c */
14500 #line 3437 "hphp.y"
14501 { _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
14502 break;
14504 case 1043:
14506 /* Line 1455 of yacc.c */
14507 #line 3442 "hphp.y"
14508 { (yyval) = (yyvsp[(2) - (4)]);;}
14509 break;
14511 case 1044:
14513 /* Line 1455 of yacc.c */
14514 #line 3444 "hphp.y"
14515 { _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); (yyval) = (yyvsp[(2) - (5)]);;}
14516 break;
14518 case 1045:
14520 /* Line 1455 of yacc.c */
14521 #line 3450 "hphp.y"
14522 { only_in_hh_syntax(_p);
14523 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?');
14524 (yyval) = (yyvsp[(2) - (2)]); ;}
14525 break;
14527 case 1046:
14529 /* Line 1455 of yacc.c */
14530 #line 3453 "hphp.y"
14531 { only_in_hh_syntax(_p);
14532 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@');
14533 (yyval) = (yyvsp[(2) - (2)]); ;}
14534 break;
14536 case 1047:
14538 /* Line 1455 of yacc.c */
14539 #line 3456 "hphp.y"
14540 { (yyval) = (yyvsp[(1) - (1)]); ;}
14541 break;
14543 case 1048:
14545 /* Line 1455 of yacc.c */
14546 #line 3457 "hphp.y"
14547 { Token t; t.reset();
14548 (yyvsp[(1) - (1)]).setText("array");
14549 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;}
14550 break;
14552 case 1049:
14554 /* Line 1455 of yacc.c */
14555 #line 3460 "hphp.y"
14556 { Token t; t.reset();
14557 (yyvsp[(1) - (1)]).setText("callable");
14558 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;}
14559 break;
14561 case 1050:
14563 /* Line 1455 of yacc.c */
14564 #line 3463 "hphp.y"
14565 { (yyval) = (yyvsp[(1) - (1)]); ;}
14566 break;
14568 case 1051:
14570 /* Line 1455 of yacc.c */
14571 #line 3466 "hphp.y"
14572 { only_in_hh_syntax(_p);
14573 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
14574 _p->onTypeSpecialization((yyval), 'a'); ;}
14575 break;
14577 case 1052:
14579 /* Line 1455 of yacc.c */
14580 #line 3469 "hphp.y"
14581 { (yyvsp[(1) - (2)]).setText("array");
14582 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
14583 break;
14585 case 1053:
14587 /* Line 1455 of yacc.c */
14588 #line 3471 "hphp.y"
14589 { (yyvsp[(1) - (1)]).xhpLabel();
14590 Token t; t.reset();
14591 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t);
14592 _p->onTypeSpecialization((yyval), 'x'); ;}
14593 break;
14595 case 1054:
14597 /* Line 1455 of yacc.c */
14598 #line 3477 "hphp.y"
14599 { only_in_hh_syntax(_p);
14600 _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)]));
14601 _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)]));
14602 _p->onTypeSpecialization((yyval), 'f'); ;}
14603 break;
14605 case 1055:
14607 /* Line 1455 of yacc.c */
14608 #line 3483 "hphp.y"
14609 { only_in_hh_syntax(_p);
14610 _p->onTypeList((yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));
14611 Token t; t.reset(); t.setText("array");
14612 _p->onTypeAnnotation((yyval), t, (yyvsp[(2) - (6)]));
14613 _p->onTypeSpecialization((yyval), 't'); ;}
14614 break;
14616 case 1056:
14618 /* Line 1455 of yacc.c */
14619 #line 3491 "hphp.y"
14620 { (yyval) = (yyvsp[(1) - (1)]); ;}
14621 break;
14623 case 1057:
14625 /* Line 1455 of yacc.c */
14626 #line 3492 "hphp.y"
14627 { (yyval).reset(); ;}
14628 break;
14632 /* Line 1455 of yacc.c */
14633 #line 14632 "hphp.5.tab.cpp"
14634 default: break;
14636 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
14638 YYPOPSTACK (yylen);
14639 yylen = 0;
14640 YY_STACK_PRINT (yyss, yyssp);
14642 *++yyvsp = yyval;
14643 *++yylsp = yyloc;
14645 /* Now `shift' the result of the reduction. Determine what state
14646 that goes to, based on the state we popped back to and the rule
14647 number reduced by. */
14649 yyn = yyr1[yyn];
14651 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
14652 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
14653 yystate = yytable[yystate];
14654 else
14655 yystate = yydefgoto[yyn - YYNTOKENS];
14657 goto yynewstate;
14660 /*------------------------------------.
14661 | yyerrlab -- here on detecting error |
14662 `------------------------------------*/
14663 yyerrlab:
14664 /* If not already recovering from an error, report this error. */
14665 if (!yyerrstatus)
14667 ++yynerrs;
14668 #if ! YYERROR_VERBOSE
14669 yyerror (&yylloc, _p, YY_("syntax error"));
14670 #else
14672 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
14673 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
14675 YYSIZE_T yyalloc = 2 * yysize;
14676 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
14677 yyalloc = YYSTACK_ALLOC_MAXIMUM;
14678 if (yymsg != yymsgbuf)
14679 YYSTACK_FREE (yymsg);
14680 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
14681 if (yymsg)
14682 yymsg_alloc = yyalloc;
14683 else
14685 yymsg = yymsgbuf;
14686 yymsg_alloc = sizeof yymsgbuf;
14690 if (0 < yysize && yysize <= yymsg_alloc)
14692 (void) yysyntax_error (yymsg, yystate, yychar);
14693 yyerror (&yylloc, _p, yymsg);
14695 else
14697 yyerror (&yylloc, _p, YY_("syntax error"));
14698 if (yysize != 0)
14699 goto yyexhaustedlab;
14702 #endif
14705 yyerror_range[0] = yylloc;
14707 if (yyerrstatus == 3)
14709 /* If just tried and failed to reuse lookahead token after an
14710 error, discard it. */
14712 if (yychar <= YYEOF)
14714 /* Return failure if at end of input. */
14715 if (yychar == YYEOF)
14716 YYABORT;
14718 else
14720 yydestruct ("Error: discarding",
14721 yytoken, &yylval, &yylloc, _p);
14722 yychar = YYEMPTY;
14726 /* Else will try to reuse lookahead token after shifting the error
14727 token. */
14728 goto yyerrlab1;
14731 /*---------------------------------------------------.
14732 | yyerrorlab -- error raised explicitly by YYERROR. |
14733 `---------------------------------------------------*/
14734 yyerrorlab:
14736 /* Pacify compilers like GCC when the user code never invokes
14737 YYERROR and the label yyerrorlab therefore never appears in user
14738 code. */
14739 if (/*CONSTCOND*/ 0)
14740 goto yyerrorlab;
14742 yyerror_range[0] = yylsp[1-yylen];
14743 /* Do not reclaim the symbols of the rule which action triggered
14744 this YYERROR. */
14745 YYPOPSTACK (yylen);
14746 yylen = 0;
14747 YY_STACK_PRINT (yyss, yyssp);
14748 yystate = *yyssp;
14749 goto yyerrlab1;
14752 /*-------------------------------------------------------------.
14753 | yyerrlab1 -- common code for both syntax error and YYERROR. |
14754 `-------------------------------------------------------------*/
14755 yyerrlab1:
14756 yyerrstatus = 3; /* Each real token shifted decrements this. */
14758 for (;;)
14760 yyn = yypact[yystate];
14761 if (yyn != YYPACT_NINF)
14763 yyn += YYTERROR;
14764 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
14766 yyn = yytable[yyn];
14767 if (0 < yyn)
14768 break;
14772 /* Pop the current state because it cannot handle the error token. */
14773 if (yyssp == yyss)
14774 YYABORT;
14776 yyerror_range[0] = *yylsp;
14777 yydestruct ("Error: popping",
14778 yystos[yystate], yyvsp, yylsp, _p);
14779 YYPOPSTACK (1);
14780 yystate = *yyssp;
14781 YY_STACK_PRINT (yyss, yyssp);
14784 *++yyvsp = yylval;
14786 yyerror_range[1] = yylloc;
14787 /* Using YYLLOC is tempting, but would change the location of
14788 the lookahead. YYLOC is available though. */
14789 YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
14790 *++yylsp = yyloc;
14792 /* Shift the error token. */
14793 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
14795 yystate = yyn;
14796 goto yynewstate;
14799 /*-------------------------------------.
14800 | yyacceptlab -- YYACCEPT comes here. |
14801 `-------------------------------------*/
14802 yyacceptlab:
14803 yyresult = 0;
14804 goto yyreturn;
14806 /*-----------------------------------.
14807 | yyabortlab -- YYABORT comes here. |
14808 `-----------------------------------*/
14809 yyabortlab:
14810 yyresult = 1;
14811 goto yyreturn;
14813 #if !defined(yyoverflow) || YYERROR_VERBOSE
14814 /*-------------------------------------------------.
14815 | yyexhaustedlab -- memory exhaustion comes here. |
14816 `-------------------------------------------------*/
14817 yyexhaustedlab:
14818 yyerror (&yylloc, _p, YY_("memory exhausted"));
14819 yyresult = 2;
14820 /* Fall through. */
14821 #endif
14823 yyreturn:
14824 if (yychar != YYEMPTY)
14825 yydestruct ("Cleanup: discarding lookahead",
14826 yytoken, &yylval, &yylloc, _p);
14827 /* Do not reclaim the symbols of the rule which action triggered
14828 this YYABORT or YYACCEPT. */
14829 YYPOPSTACK (yylen);
14830 YY_STACK_PRINT (yyss, yyssp);
14831 while (yyssp != yyss)
14833 yydestruct ("Cleanup: popping",
14834 yystos[*yyssp], yyvsp, yylsp, _p);
14835 YYPOPSTACK (1);
14837 #ifndef yyoverflow
14838 if (yyss != yyssa)
14839 YYSTACK_FREE (yyss);
14840 YYSTACK_CLEANUP;
14841 #endif
14842 #if YYERROR_VERBOSE
14843 if (yymsg != yymsgbuf)
14844 YYSTACK_FREE (yymsg);
14845 #endif
14846 /* Make sure YYID is used. */
14847 return YYID (yyresult);
14852 /* Line 1675 of yacc.c */
14853 #line 3495 "hphp.y"
14855 /* !PHP5_ONLY*/
14856 bool Parser::parseImpl5() {
14857 /* !END */
14858 /* !PHP7_ONLY*/
14859 /* REMOVED */
14860 /* !END */
14861 return yyparse(this) == 0;