Changeset ab57786
- Timestamp:
- Aug 22, 2016, 2:28:47 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 2acf5fc
- Parents:
- 80722d0
- Location:
- src/Parser
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ExpressionNode.cc
r80722d0 rab57786 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Aug 16 00:09:20201613 // Update Count : 49512 // Last Modified On : Sun Aug 21 09:43:31 2016 13 // Update Count : 501 14 14 // 15 15 … … 120 120 } // if 121 121 122 return new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[Unsigned][size] ), str ) ); 122 Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[Unsigned][size] ), str ) ); 123 delete &str; // created by lex 124 return ret; 123 125 } // build_constantInteger 124 126 … … 150 152 } // if 151 153 152 return new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[complx][size] ), str ) ); 154 Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, kind[complx][size] ), str ) ); 155 delete &str; // created by lex 156 return ret; 153 157 } // build_constantFloat 154 158 155 159 Expression *build_constantChar( const std::string & str ) { 156 return new ConstantExpr( Constant( new BasicType( emptyQualifiers, BasicType::Char ), str ) ); 160 Expression * ret = new ConstantExpr( Constant( new BasicType( emptyQualifiers, BasicType::Char ), str ) ); 161 delete &str; // created by lex 162 return ret; 157 163 } // build_constantChar 158 164 … … 163 169 toString( str.size()+1-2 ) ) ), // +1 for '\0' and -2 for '"' 164 170 false, false ); 165 return new ConstantExpr( Constant( at, str ) ); 171 ConstantExpr * ret = new ConstantExpr( Constant( at, str ) ); 172 delete &str; // created by lex 173 return ret; 166 174 } // build_constantStr 167 175 -
src/Parser/LinkageSpec.cc
r80722d0 rab57786 10 10 // Created On : Sat May 16 13:22:09 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:47:14201613 // Update Count : 1 212 // Last Modified On : Sun Aug 21 12:32:53 2016 13 // Update Count : 17 14 14 // 15 15 … … 20 20 #include "Common/SemanticError.h" 21 21 22 LinkageSpec::Spec LinkageSpec::fromString( const std::string &s tringSpec ) {23 if ( s tringSpec == "\"Cforall\"" ) {22 LinkageSpec::Spec LinkageSpec::fromString( const std::string &spec ) { 23 if ( spec == "\"Cforall\"" ) { 24 24 return Cforall; 25 } else if ( s tringSpec == "\"C\"" ) {25 } else if ( spec == "\"C\"" ) { 26 26 return C; 27 27 } else { 28 throw SemanticError( "Invalid linkage specifier " + stringSpec ); 29 } 28 throw SemanticError( "Invalid linkage specifier " + spec ); 29 } // if 30 delete &spec; // allocated by lexer 30 31 } 31 32 … … 37 38 } 38 39 39 bool LinkageSpec::isDecoratable( Spec t) {40 bool LinkageSpec::isDecoratable( Spec spec ) { 40 41 static bool decoratable[LinkageSpec::NoOfSpecs] = { 41 42 // Intrinsic, Cforall, C, AutoGen, Compiler 42 43 true, true, false, true, false, 43 44 }; 44 return decoratable[ t];45 return decoratable[spec]; 45 46 } 46 47 47 bool LinkageSpec::isGeneratable( Spec t) {48 bool LinkageSpec::isGeneratable( Spec spec ) { 48 49 static bool generatable[LinkageSpec::NoOfSpecs] = { 49 50 // Intrinsic, Cforall, C, AutoGen, Compiler 50 51 true, true, true, true, false, 51 52 }; 52 return generatable[ t];53 return generatable[spec]; 53 54 } 54 55 55 bool LinkageSpec::isOverloadable( Spec t ) { 56 return isDecoratable( t ); 57 } 58 59 60 bool LinkageSpec::isOverridable( Spec t ) { 56 bool LinkageSpec::isOverridable( Spec spec ) { 61 57 static bool overridable[LinkageSpec::NoOfSpecs] = { 62 58 // Intrinsic, Cforall, C, AutoGen, Compiler 63 59 true, false, false, true, false, 64 60 }; 65 return overridable[ t];61 return overridable[spec]; 66 62 } 67 63 68 bool LinkageSpec::isBuiltin( Spec t) {64 bool LinkageSpec::isBuiltin( Spec spec ) { 69 65 static bool builtin[LinkageSpec::NoOfSpecs] = { 70 66 // Intrinsic, Cforall, C, AutoGen, Compiler 71 67 true, false, false, false, true, 72 68 }; 73 return builtin[ t];69 return builtin[spec]; 74 70 } 75 71 -
src/Parser/LinkageSpec.h
r80722d0 rab57786 10 10 // Created On : Sat May 16 13:24:28 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:47:16201613 // Update Count : 712 // Last Modified On : Sat Aug 20 19:22:23 2016 13 // Update Count : 8 14 14 // 15 15 … … 34 34 static bool isDecoratable( Spec ); 35 35 static bool isGeneratable( Spec ); 36 static bool isOverloadable( Spec );37 36 static bool isOverridable( Spec ); 38 37 static bool isBuiltin( Spec ); -
src/Parser/ParseNode.h
r80722d0 rab57786 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:48:37201613 // Update Count : 54 212 // Last Modified On : Sun Aug 21 11:53:59 2016 13 // Update Count : 546 14 14 // 15 15 … … 352 352 Statement *build_while( ExpressionNode *ctl, StatementNode *stmt, bool kind = false ); 353 353 Statement *build_for( ForCtl *forctl, StatementNode *stmt ); 354 Statement *build_branch( std::string identifier, BranchStmt::Type kind ); 354 Statement *build_branch( BranchStmt::Type kind ); 355 Statement *build_branch( std::string *identifier, BranchStmt::Type kind ); 355 356 Statement *build_computedgoto( ExpressionNode *ctl ); 356 357 Statement *build_return( ExpressionNode *ctl ); -
src/Parser/StatementNode.cc
r80722d0 rab57786 10 10 // Created On : Sat May 16 14:59:41 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Aug 15 20:47:11201613 // Update Count : 32 212 // Last Modified On : Sun Aug 21 11:59:37 2016 13 // Update Count : 325 14 14 // 15 15 … … 138 138 } 139 139 140 Statement *build_branch( std::string identifier, BranchStmt::Type kind ) { 141 return new BranchStmt( noLabels, identifier, kind ); 140 Statement *build_branch( BranchStmt::Type kind ) { 141 Statement * ret = new BranchStmt( noLabels, "", kind ); 142 return ret; 143 } 144 Statement *build_branch( std::string *identifier, BranchStmt::Type kind ) { 145 Statement * ret = new BranchStmt( noLabels, *identifier, kind ); 146 delete identifier; // allocated by lexer 147 return ret; 142 148 } 143 149 Statement *build_computedgoto( ExpressionNode *ctl ) { -
src/Parser/lex.h
r80722d0 rab57786 10 10 // Created On : Sat Sep 22 08:58:10 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Mar 21 18:18:06201613 // Update Count : 34 612 // Last Modified On : Sun Aug 21 11:28:47 2016 13 // Update Count : 347 14 14 // 15 15 … … 33 33 char *file; 34 34 int line; 35 }; 35 }; // Location 36 36 37 class Token { 38 public: 37 struct Token { 39 38 std::string *str; // must be pointer as used in union 40 39 Location loc; 41 40 42 41 operator std::string *() { return str; } 43 }; 42 }; // Token 44 43 45 44 #endif // PARSER_LEX_H -
src/Parser/parser.cc
r80722d0 rab57786 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.5. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ … … 45 45 46 46 /* Bison version. */ 47 #define YYBISON_VERSION " 3.0.2"47 #define YYBISON_VERSION "2.5" 48 48 49 49 /* Skeleton name. */ … … 59 59 #define YYPULL 1 60 60 61 /* Using locations. */ 62 #define YYLSP_NEEDED 0 61 63 62 64 63 65 64 66 /* Copy the first part of user declarations. */ 65 #line 42 "parser.yy" /* yacc.c:339 */ 67 68 /* Line 268 of yacc.c */ 69 #line 42 "parser.yy" 66 70 67 71 #define YYDEBUG_LEXER_TEXT (yylval) // lexer loads this up each time … … 79 83 #include "LinkageSpec.h" 80 84 85 union DeclQualifiers { 86 unsigned int value; // assume 32-bits 87 struct { 88 bool Extern : 1; 89 bool Static : 1; 90 bool Auto : 1; 91 bool Register : 1; 92 bool Inline : 1; 93 bool Fortran : 1; 94 bool Noreturn : 1; 95 bool Threadlocal : 1; 96 bool Extension : 1; 97 bool Lvalue : 1; 98 bool Const : 1; 99 bool Volatile : 1; 100 bool Restrict : 1; 101 bool Atomic : 1; 102 } qual; 103 }; // DeclQualifiers 104 DeclQualifiers declQualifiers = { 0 }; 105 106 union DeclType { 107 unsigned int value; // assume 32-bits 108 struct { 109 bool Char : 1; 110 bool Bool : 1; 111 bool Short : 1; 112 bool Int : 1; 113 bool Float : 1; 114 bool Double : 1; 115 bool Long : 1; 116 bool Signed : 1; 117 bool Unsigned : 1; 118 bool Void : 1; 119 bool Complex : 1; 120 bool Imaginary : 1; 121 bool Valist : 1; 122 } type; 123 }; // DeclType 124 DeclType declTypes = { 0 }; 125 81 126 extern DeclarationNode * parseTree; 82 127 extern LinkageSpec::Spec linkage; … … 85 130 std::stack< LinkageSpec::Spec > linkageStack; 86 131 87 void appendStr( std::string &to, std::string *from ) {132 void appendStr( std::string *to, std::string *from ) { 88 133 // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string. 89 to .insert( to.length() - 1, from->substr( 1, from->length() - 2 ) );134 to->insert( to->length() - 1, from->substr( 1, from->length() - 2 ) ); 90 135 } // appendStr 91 136 92 #line 93 "Parser/parser.cc" /* yacc.c:339 */ 93 94 # ifndef YY_NULLPTR 95 # if defined __cplusplus && 201103L <= __cplusplus 96 # define YY_NULLPTR nullptr 97 # else 98 # define YY_NULLPTR 0 99 # endif 100 # endif 137 138 /* Line 268 of yacc.c */ 139 #line 140 "Parser/parser.cc" 140 141 /* Enabling traces. */ 142 #ifndef YYDEBUG 143 # define YYDEBUG 1 144 #endif 101 145 102 146 /* Enabling verbose error messages. */ … … 108 152 #endif 109 153 110 /* In a future release of Bison, this section will be replaced 111 by #include "y.tab.h". */ 112 #ifndef YY_YY_Y_TAB_H_INCLUDED 113 # define YY_YY_Y_TAB_H_INCLUDED 114 /* Debug traces. */ 115 #ifndef YYDEBUG 116 # define YYDEBUG 1 154 /* Enabling the token table. */ 155 #ifndef YYTOKEN_TABLE 156 # define YYTOKEN_TABLE 0 117 157 #endif 118 #if YYDEBUG 119 extern int yydebug; 120 #endif 121 122 /* Token type. */ 158 159 160 /* Tokens. */ 123 161 #ifndef YYTOKENTYPE 124 162 # define YYTOKENTYPE 125 enum yytokentype 126 { 127 TYPEDEF = 258, 128 AUTO = 259, 129 EXTERN = 260, 130 REGISTER = 261, 131 STATIC = 262, 132 INLINE = 263, 133 FORTRAN = 264, 134 CONST = 265, 135 VOLATILE = 266, 136 RESTRICT = 267, 137 FORALL = 268, 138 LVALUE = 269, 139 VOID = 270, 140 CHAR = 271, 141 SHORT = 272, 142 INT = 273, 143 LONG = 274, 144 FLOAT = 275, 145 DOUBLE = 276, 146 SIGNED = 277, 147 UNSIGNED = 278, 148 VALIST = 279, 149 BOOL = 280, 150 COMPLEX = 281, 151 IMAGINARY = 282, 152 TYPEOF = 283, 153 LABEL = 284, 154 ENUM = 285, 155 STRUCT = 286, 156 UNION = 287, 157 OTYPE = 288, 158 FTYPE = 289, 159 DTYPE = 290, 160 TRAIT = 291, 161 SIZEOF = 292, 162 OFFSETOF = 293, 163 ATTRIBUTE = 294, 164 EXTENSION = 295, 165 IF = 296, 166 ELSE = 297, 167 SWITCH = 298, 168 CASE = 299, 169 DEFAULT = 300, 170 DO = 301, 171 WHILE = 302, 172 FOR = 303, 173 BREAK = 304, 174 CONTINUE = 305, 175 GOTO = 306, 176 RETURN = 307, 177 CHOOSE = 308, 178 DISABLE = 309, 179 ENABLE = 310, 180 FALLTHRU = 311, 181 TRY = 312, 182 CATCH = 313, 183 CATCHRESUME = 314, 184 FINALLY = 315, 185 THROW = 316, 186 THROWRESUME = 317, 187 AT = 318, 188 ASM = 319, 189 ALIGNAS = 320, 190 ALIGNOF = 321, 191 ATOMIC = 322, 192 GENERIC = 323, 193 NORETURN = 324, 194 STATICASSERT = 325, 195 THREADLOCAL = 326, 196 IDENTIFIER = 327, 197 QUOTED_IDENTIFIER = 328, 198 TYPEDEFname = 329, 199 TYPEGENname = 330, 200 ATTR_IDENTIFIER = 331, 201 ATTR_TYPEDEFname = 332, 202 ATTR_TYPEGENname = 333, 203 INTEGERconstant = 334, 204 FLOATINGconstant = 335, 205 CHARACTERconstant = 336, 206 STRINGliteral = 337, 207 ZERO = 338, 208 ONE = 339, 209 ARROW = 340, 210 ICR = 341, 211 DECR = 342, 212 LS = 343, 213 RS = 344, 214 LE = 345, 215 GE = 346, 216 EQ = 347, 217 NE = 348, 218 ANDAND = 349, 219 OROR = 350, 220 ELLIPSIS = 351, 221 MULTassign = 352, 222 DIVassign = 353, 223 MODassign = 354, 224 PLUSassign = 355, 225 MINUSassign = 356, 226 LSassign = 357, 227 RSassign = 358, 228 ANDassign = 359, 229 ERassign = 360, 230 ORassign = 361, 231 ATassign = 362, 232 THEN = 363 233 }; 163 /* Put the tokens into the symbol table, so that GDB and other debuggers 164 know about them. */ 165 enum yytokentype { 166 TYPEDEF = 258, 167 AUTO = 259, 168 EXTERN = 260, 169 REGISTER = 261, 170 STATIC = 262, 171 INLINE = 263, 172 FORTRAN = 264, 173 CONST = 265, 174 VOLATILE = 266, 175 RESTRICT = 267, 176 FORALL = 268, 177 LVALUE = 269, 178 VOID = 270, 179 CHAR = 271, 180 SHORT = 272, 181 INT = 273, 182 LONG = 274, 183 FLOAT = 275, 184 DOUBLE = 276, 185 SIGNED = 277, 186 UNSIGNED = 278, 187 VALIST = 279, 188 BOOL = 280, 189 COMPLEX = 281, 190 IMAGINARY = 282, 191 TYPEOF = 283, 192 LABEL = 284, 193 ENUM = 285, 194 STRUCT = 286, 195 UNION = 287, 196 OTYPE = 288, 197 FTYPE = 289, 198 DTYPE = 290, 199 TRAIT = 291, 200 SIZEOF = 292, 201 OFFSETOF = 293, 202 ATTRIBUTE = 294, 203 EXTENSION = 295, 204 IF = 296, 205 ELSE = 297, 206 SWITCH = 298, 207 CASE = 299, 208 DEFAULT = 300, 209 DO = 301, 210 WHILE = 302, 211 FOR = 303, 212 BREAK = 304, 213 CONTINUE = 305, 214 GOTO = 306, 215 RETURN = 307, 216 CHOOSE = 308, 217 DISABLE = 309, 218 ENABLE = 310, 219 FALLTHRU = 311, 220 TRY = 312, 221 CATCH = 313, 222 CATCHRESUME = 314, 223 FINALLY = 315, 224 THROW = 316, 225 THROWRESUME = 317, 226 AT = 318, 227 ASM = 319, 228 ALIGNAS = 320, 229 ALIGNOF = 321, 230 ATOMIC = 322, 231 GENERIC = 323, 232 NORETURN = 324, 233 STATICASSERT = 325, 234 THREADLOCAL = 326, 235 IDENTIFIER = 327, 236 QUOTED_IDENTIFIER = 328, 237 TYPEDEFname = 329, 238 TYPEGENname = 330, 239 ATTR_IDENTIFIER = 331, 240 ATTR_TYPEDEFname = 332, 241 ATTR_TYPEGENname = 333, 242 INTEGERconstant = 334, 243 FLOATINGconstant = 335, 244 CHARACTERconstant = 336, 245 STRINGliteral = 337, 246 ZERO = 338, 247 ONE = 339, 248 ARROW = 340, 249 ICR = 341, 250 DECR = 342, 251 LS = 343, 252 RS = 344, 253 LE = 345, 254 GE = 346, 255 EQ = 347, 256 NE = 348, 257 ANDAND = 349, 258 OROR = 350, 259 ELLIPSIS = 351, 260 MULTassign = 352, 261 DIVassign = 353, 262 MODassign = 354, 263 PLUSassign = 355, 264 MINUSassign = 356, 265 LSassign = 357, 266 RSassign = 358, 267 ANDassign = 359, 268 ERassign = 360, 269 ORassign = 361, 270 ATassign = 362, 271 THEN = 363 272 }; 234 273 #endif 235 274 /* Tokens. */ … … 341 380 #define THEN 363 342 381 343 /* Value type. */ 382 383 384 344 385 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 345 typedef union YYSTYPE YYSTYPE; 346 union YYSTYPE 386 typedef union YYSTYPE 347 387 { 348 #line 115 "parser.yy" /* yacc.c:355 */ 388 389 /* Line 293 of yacc.c */ 390 #line 156 "parser.yy" 349 391 350 392 Token tok; … … 360 402 InitializerNode *in; 361 403 OperKinds op; 404 std::string *str; 362 405 bool flag; 363 406 364 #line 365 "Parser/parser.cc" /* yacc.c:355 */ 365 }; 407 408 409 /* Line 293 of yacc.c */ 410 #line 411 "Parser/parser.cc" 411 } YYSTYPE; 366 412 # define YYSTYPE_IS_TRIVIAL 1 413 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 367 414 # define YYSTYPE_IS_DECLARED 1 368 415 #endif 369 416 370 417 371 extern YYSTYPE yylval;372 373 int yyparse (void);374 375 #endif /* !YY_YY_Y_TAB_H_INCLUDED */376 377 418 /* Copy the second part of user declarations. */ 378 419 379 #line 380 "Parser/parser.cc" /* yacc.c:358 */ 420 421 /* Line 343 of yacc.c */ 422 #line 423 "Parser/parser.cc" 380 423 381 424 #ifdef short … … 391 434 #ifdef YYTYPE_INT8 392 435 typedef YYTYPE_INT8 yytype_int8; 436 #elif (defined __STDC__ || defined __C99__FUNC__ \ 437 || defined __cplusplus || defined _MSC_VER) 438 typedef signed char yytype_int8; 393 439 #else 394 typedef s igned charyytype_int8;440 typedef short int yytype_int8; 395 441 #endif 396 442 … … 412 458 # elif defined size_t 413 459 # define YYSIZE_T size_t 414 # elif ! defined YYSIZE_T 460 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 461 || defined __cplusplus || defined _MSC_VER) 415 462 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 416 463 # define YYSIZE_T size_t … … 426 473 # if ENABLE_NLS 427 474 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 428 # define YY_( Msgid) dgettext ("bison-runtime", Msgid)475 # define YY_(msgid) dgettext ("bison-runtime", msgid) 429 476 # endif 430 477 # endif 431 478 # ifndef YY_ 432 # define YY_( Msgid) Msgid479 # define YY_(msgid) msgid 433 480 # endif 434 481 #endif 435 482 436 #ifndef YY_ATTRIBUTE437 # if (defined __GNUC__ \438 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \439 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C440 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)441 # else442 # define YY_ATTRIBUTE(Spec) /* empty */443 # endif444 #endif445 446 #ifndef YY_ATTRIBUTE_PURE447 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))448 #endif449 450 #ifndef YY_ATTRIBUTE_UNUSED451 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))452 #endif453 454 #if !defined _Noreturn \455 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)456 # if defined _MSC_VER && 1200 <= _MSC_VER457 # define _Noreturn __declspec (noreturn)458 # else459 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))460 # endif461 #endif462 463 483 /* Suppress unused-variable warnings by "using" E. */ 464 484 #if ! defined lint || defined __GNUC__ 465 # define YYUSE( E) ((void) (E))485 # define YYUSE(e) ((void) (e)) 466 486 #else 467 # define YYUSE( E) /* empty */487 # define YYUSE(e) /* empty */ 468 488 #endif 469 489 470 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 471 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 472 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 473 _Pragma ("GCC diagnostic push") \ 474 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 475 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 476 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 477 _Pragma ("GCC diagnostic pop") 490 /* Identity function, used to suppress warnings about constant conditions. */ 491 #ifndef lint 492 # define YYID(n) (n) 478 493 #else 479 # define YY_INITIAL_VALUE(Value) Value 494 #if (defined __STDC__ || defined __C99__FUNC__ \ 495 || defined __cplusplus || defined _MSC_VER) 496 static int 497 YYID (int yyi) 498 #else 499 static int 500 YYID (yyi) 501 int yyi; 480 502 #endif 481 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 482 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 483 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 503 { 504 return yyi; 505 } 484 506 #endif 485 #ifndef YY_INITIAL_VALUE486 # define YY_INITIAL_VALUE(Value) /* Nothing. */487 #endif488 489 507 490 508 #if ! defined yyoverflow || YYERROR_VERBOSE … … 505 523 # else 506 524 # define YYSTACK_ALLOC alloca 507 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 525 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 526 || defined __cplusplus || defined _MSC_VER) 508 527 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 509 /* Use EXIT_SUCCESS as a witness for stdlib.h. */510 528 # ifndef EXIT_SUCCESS 511 529 # define EXIT_SUCCESS 0 … … 517 535 518 536 # ifdef YYSTACK_ALLOC 519 /* Pacify GCC's 'empty if-body' warning. */520 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( 0)537 /* Pacify GCC's `empty if-body' warning. */ 538 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 521 539 # ifndef YYSTACK_ALLOC_MAXIMUM 522 540 /* The OS might guarantee only one guard page at the bottom of the stack, … … 534 552 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 535 553 && ! ((defined YYMALLOC || defined malloc) \ 536 554 && (defined YYFREE || defined free))) 537 555 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 538 556 # ifndef EXIT_SUCCESS … … 542 560 # ifndef YYMALLOC 543 561 # define YYMALLOC malloc 544 # if ! defined malloc && ! defined EXIT_SUCCESS 562 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 563 || defined __cplusplus || defined _MSC_VER) 545 564 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 546 565 # endif … … 548 567 # ifndef YYFREE 549 568 # define YYFREE free 550 # if ! defined free && ! defined EXIT_SUCCESS 569 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 570 || defined __cplusplus || defined _MSC_VER) 551 571 void free (void *); /* INFRINGES ON USER NAME SPACE */ 552 572 # endif … … 558 578 #if (! defined yyoverflow \ 559 579 && (! defined __cplusplus \ 560 580 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 561 581 562 582 /* A type that is properly aligned for any stack member. */ … … 583 603 stack. Advance YYPTR to a properly aligned location for the next 584 604 stack. */ 585 # define YYSTACK_RELOCATE(Stack_alloc, Stack) 586 do 587 { 588 YYSIZE_T yynewbytes;\589 YYCOPY (&yyptr->Stack_alloc, Stack, yysize);\590 Stack = &yyptr->Stack_alloc;\591 592 yyptr += yynewbytes / sizeof (*yyptr);\593 } 594 while ( 0)605 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 606 do \ 607 { \ 608 YYSIZE_T yynewbytes; \ 609 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 610 Stack = &yyptr->Stack_alloc; \ 611 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 612 yyptr += yynewbytes / sizeof (*yyptr); \ 613 } \ 614 while (YYID (0)) 595 615 596 616 #endif 597 617 598 618 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 599 /* Copy COUNT objects from SRC to DST. The source and destination do619 /* Copy COUNT objects from FROM to TO. The source and destination do 600 620 not overlap. */ 601 621 # ifndef YYCOPY 602 622 # if defined __GNUC__ && 1 < __GNUC__ 603 # define YYCOPY( Dst, Src, Count) \604 __builtin_memcpy ( Dst, Src, (Count) * sizeof (*(Src)))623 # define YYCOPY(To, From, Count) \ 624 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 605 625 # else 606 # define YYCOPY( Dst, Src, Count)\607 do 608 {\609 YYSIZE_T yyi;\610 for (yyi = 0; yyi < (Count); yyi++)\611 (Dst)[yyi] = (Src)[yyi];\612 }\613 while ( 0)626 # define YYCOPY(To, From, Count) \ 627 do \ 628 { \ 629 YYSIZE_T yyi; \ 630 for (yyi = 0; yyi < (Count); yyi++) \ 631 (To)[yyi] = (From)[yyi]; \ 632 } \ 633 while (YYID (0)) 614 634 # endif 615 635 # endif … … 619 639 #define YYFINAL 250 620 640 /* YYLAST -- Last index in YYTABLE. */ 621 #define YYLAST 10 977641 #define YYLAST 10841 622 642 623 643 /* YYNTOKENS -- Number of terminals. */ 624 644 #define YYNTOKENS 133 625 645 /* YYNNTS -- Number of nonterminals. */ 626 #define YYNNTS 24 0646 #define YYNNTS 241 627 647 /* YYNRULES -- Number of rules. */ 628 #define YYNRULES 749 629 /* YYNSTATES -- Number of states. */ 630 #define YYNSTATES 1553 631 632 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 633 by yylex, with out-of-bounds checking. */ 648 #define YYNRULES 750 649 /* YYNRULES -- Number of states. */ 650 #define YYNSTATES 1554 651 652 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 634 653 #define YYUNDEFTOK 2 635 654 #define YYMAXUTOK 363 636 655 637 #define YYTRANSLATE(YYX) 656 #define YYTRANSLATE(YYX) \ 638 657 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 639 658 640 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 641 as returned by yylex, without out-of-bounds checking. */ 659 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 642 660 static const yytype_uint8 yytranslate[] = 643 661 { … … 682 700 683 701 #if YYDEBUG 684 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 702 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 703 YYRHS. */ 704 static const yytype_uint16 yyprhs[] = 705 { 706 0, 0, 3, 4, 5, 7, 9, 11, 13, 15, 707 17, 19, 21, 23, 25, 27, 29, 31, 33, 36, 708 38, 40, 44, 48, 50, 57, 62, 66, 74, 78, 709 86, 89, 92, 100, 105, 107, 111, 112, 114, 116, 710 120, 122, 126, 134, 138, 146, 148, 150, 152, 155, 711 158, 161, 164, 167, 170, 175, 178, 183, 190, 192, 712 197, 202, 204, 206, 208, 210, 212, 214, 216, 221, 713 226, 228, 232, 236, 240, 242, 246, 250, 252, 256, 714 260, 262, 266, 270, 274, 278, 280, 284, 288, 290, 715 294, 296, 300, 302, 306, 308, 312, 314, 318, 320, 716 326, 331, 337, 339, 341, 345, 348, 349, 351, 353, 717 355, 357, 359, 361, 363, 365, 367, 369, 371, 373, 718 376, 382, 389, 397, 399, 403, 405, 409, 410, 412, 719 414, 416, 418, 420, 422, 424, 426, 428, 435, 440, 720 443, 451, 453, 457, 459, 462, 464, 467, 469, 472, 721 475, 481, 489, 495, 505, 511, 521, 523, 527, 529, 722 531, 535, 539, 542, 544, 547, 550, 551, 553, 556, 723 560, 561, 563, 566, 570, 574, 579, 580, 582, 584, 724 587, 593, 601, 608, 615, 620, 624, 629, 632, 636, 725 639, 643, 647, 651, 655, 661, 665, 669, 674, 676, 726 682, 689, 695, 702, 712, 723, 733, 744, 747, 749, 727 752, 755, 758, 760, 767, 776, 787, 800, 815, 816, 728 818, 819, 821, 823, 827, 832, 840, 841, 843, 847, 729 849, 853, 855, 857, 859, 863, 865, 867, 869, 873, 730 874, 876, 880, 885, 887, 891, 893, 895, 899, 903, 731 907, 911, 915, 918, 922, 929, 933, 937, 942, 944, 732 947, 950, 954, 960, 969, 977, 985, 991, 1001, 1004, 733 1007, 1013, 1017, 1023, 1028, 1032, 1037, 1042, 1050, 1054, 734 1058, 1062, 1066, 1071, 1078, 1080, 1082, 1084, 1086, 1088, 735 1090, 1092, 1094, 1095, 1097, 1099, 1102, 1104, 1106, 1108, 736 1110, 1112, 1114, 1116, 1117, 1123, 1125, 1128, 1132, 1134, 737 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 738 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 739 1177, 1179, 1181, 1184, 1187, 1191, 1195, 1197, 1201, 1203, 740 1206, 1209, 1212, 1217, 1222, 1227, 1232, 1234, 1237, 1240, 741 1244, 1246, 1249, 1252, 1254, 1257, 1260, 1264, 1266, 1269, 742 1272, 1274, 1276, 1281, 1284, 1285, 1292, 1300, 1303, 1306, 743 1309, 1310, 1313, 1316, 1320, 1323, 1327, 1329, 1332, 1336, 744 1339, 1342, 1347, 1348, 1350, 1353, 1356, 1358, 1359, 1361, 745 1364, 1367, 1373, 1376, 1377, 1385, 1388, 1393, 1394, 1397, 746 1398, 1400, 1402, 1404, 1410, 1416, 1422, 1424, 1430, 1436, 747 1446, 1448, 1454, 1455, 1457, 1459, 1465, 1467, 1469, 1475, 748 1481, 1483, 1487, 1491, 1496, 1498, 1500, 1502, 1504, 1507, 749 1509, 1513, 1517, 1519, 1522, 1524, 1528, 1530, 1532, 1534, 750 1536, 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1553, 1555, 751 1557, 1559, 1562, 1563, 1566, 1569, 1571, 1576, 1577, 1579, 752 1582, 1586, 1591, 1594, 1597, 1599, 1602, 1605, 1611, 1617, 753 1625, 1632, 1634, 1637, 1640, 1644, 1646, 1649, 1652, 1657, 754 1660, 1665, 1666, 1671, 1674, 1676, 1678, 1680, 1681, 1684, 755 1690, 1696, 1710, 1712, 1714, 1718, 1722, 1725, 1729, 1733, 756 1736, 1741, 1743, 1750, 1760, 1761, 1773, 1775, 1779, 1783, 757 1787, 1789, 1791, 1797, 1800, 1806, 1807, 1809, 1811, 1815, 758 1816, 1818, 1820, 1822, 1824, 1825, 1832, 1835, 1837, 1840, 759 1845, 1848, 1852, 1856, 1860, 1865, 1871, 1877, 1883, 1890, 760 1892, 1894, 1896, 1900, 1901, 1907, 1908, 1910, 1912, 1915, 761 1922, 1924, 1928, 1929, 1931, 1936, 1938, 1940, 1942, 1944, 762 1947, 1949, 1952, 1955, 1957, 1961, 1964, 1968, 1972, 1975, 763 1980, 1985, 1989, 1998, 2002, 2005, 2007, 2010, 2017, 2026, 764 2030, 2033, 2037, 2041, 2046, 2051, 2055, 2057, 2059, 2061, 765 2066, 2073, 2077, 2080, 2084, 2088, 2093, 2098, 2102, 2105, 766 2107, 2110, 2113, 2115, 2119, 2122, 2126, 2130, 2133, 2138, 767 2143, 2147, 2154, 2163, 2167, 2170, 2172, 2175, 2178, 2181, 768 2185, 2189, 2192, 2197, 2202, 2206, 2213, 2222, 2226, 2229, 769 2231, 2234, 2237, 2239, 2241, 2244, 2248, 2252, 2255, 2260, 770 2267, 2276, 2278, 2281, 2284, 2286, 2289, 2292, 2296, 2300, 771 2302, 2307, 2312, 2316, 2322, 2331, 2335, 2338, 2342, 2344, 772 2350, 2356, 2363, 2370, 2372, 2375, 2378, 2380, 2383, 2386, 773 2390, 2394, 2396, 2401, 2406, 2410, 2416, 2425, 2429, 2431, 774 2434, 2436, 2439, 2446, 2452, 2459, 2467, 2475, 2477, 2480, 775 2483, 2485, 2488, 2491, 2495, 2499, 2501, 2506, 2511, 2515, 776 2524, 2528, 2530, 2532, 2535, 2537, 2539, 2542, 2546, 2549, 777 2553, 2556, 2560, 2564, 2567, 2572, 2576, 2579, 2583, 2586, 778 2591, 2595, 2598, 2605, 2612, 2619, 2627, 2629, 2632, 2634, 779 2636, 2638, 2641, 2645, 2648, 2652, 2655, 2659, 2663, 2668, 780 2671, 2675, 2680, 2683, 2689, 2695, 2702, 2709, 2710, 2712, 781 2713 782 }; 783 784 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 785 static const yytype_int16 yyrhs[] = 786 { 787 302, 0, -1, -1, -1, 79, -1, 80, -1, 81, 788 -1, 72, -1, 76, -1, 140, -1, 72, -1, 76, 789 -1, 72, -1, 140, -1, 83, -1, 84, -1, 142, 790 -1, 82, -1, 142, 82, -1, 72, -1, 140, -1, 791 109, 170, 110, -1, 109, 174, 110, -1, 143, -1, 792 144, 111, 134, 165, 135, 112, -1, 144, 109, 145, 793 110, -1, 144, 113, 139, -1, 144, 113, 111, 134, 794 147, 135, 112, -1, 144, 85, 139, -1, 144, 85, 795 111, 134, 147, 135, 112, -1, 144, 86, -1, 144, 796 87, -1, 109, 275, 110, 114, 279, 372, 115, -1, 797 144, 114, 145, 115, -1, 146, -1, 145, 116, 146, 798 -1, -1, 165, -1, 148, -1, 147, 116, 148, -1, 799 139, -1, 139, 113, 148, -1, 139, 113, 111, 134, 800 147, 135, 112, -1, 139, 85, 148, -1, 139, 85, 801 111, 134, 147, 135, 112, -1, 144, -1, 136, -1, 802 141, -1, 40, 152, -1, 150, 152, -1, 151, 152, 803 -1, 86, 149, -1, 87, 149, -1, 37, 149, -1, 804 37, 109, 275, 110, -1, 66, 149, -1, 66, 109, 805 275, 110, -1, 38, 109, 275, 116, 139, 110, -1, 806 76, -1, 76, 109, 146, 110, -1, 76, 109, 276, 807 110, -1, 117, -1, 118, -1, 119, -1, 120, -1, 808 121, -1, 122, -1, 149, -1, 109, 275, 110, 152, 809 -1, 109, 275, 110, 168, -1, 152, -1, 153, 117, 810 152, -1, 153, 123, 152, -1, 153, 124, 152, -1, 811 153, -1, 154, 119, 153, -1, 154, 120, 153, -1, 812 154, -1, 155, 88, 154, -1, 155, 89, 154, -1, 813 155, -1, 156, 125, 155, -1, 156, 126, 155, -1, 814 156, 90, 155, -1, 156, 91, 155, -1, 156, -1, 815 157, 92, 156, -1, 157, 93, 156, -1, 157, -1, 816 158, 118, 157, -1, 158, -1, 159, 127, 158, -1, 817 159, -1, 160, 128, 159, -1, 160, -1, 161, 94, 818 160, -1, 161, -1, 162, 95, 161, -1, 162, -1, 819 162, 129, 170, 130, 163, -1, 162, 129, 130, 163, 820 -1, 162, 129, 170, 130, 168, -1, 163, -1, 163, 821 -1, 149, 167, 165, -1, 168, 373, -1, -1, 165, 822 -1, 131, -1, 97, -1, 98, -1, 99, -1, 100, 823 -1, 101, -1, 102, -1, 103, -1, 104, -1, 105, 824 -1, 106, -1, 111, 112, -1, 111, 134, 165, 135, 825 112, -1, 111, 134, 116, 169, 135, 112, -1, 111, 826 134, 165, 116, 169, 135, 112, -1, 166, -1, 169, 827 116, 166, -1, 165, -1, 170, 116, 165, -1, -1, 828 170, -1, 173, -1, 174, -1, 178, -1, 179, -1, 829 191, -1, 193, -1, 194, -1, 199, -1, 127, 144, 830 114, 145, 115, 132, -1, 72, 130, 312, 172, -1, 831 114, 115, -1, 114, 134, 134, 210, 175, 135, 115, 832 -1, 176, -1, 175, 134, 176, -1, 213, -1, 40, 833 213, -1, 308, -1, 172, 135, -1, 172, -1, 177, 834 172, -1, 171, 132, -1, 41, 109, 170, 110, 172, 835 -1, 41, 109, 170, 110, 172, 42, 172, -1, 43, 836 109, 170, 110, 184, -1, 43, 109, 170, 110, 114, 837 134, 206, 185, 115, -1, 53, 109, 170, 110, 184, 838 -1, 53, 109, 170, 110, 114, 134, 206, 187, 115, 839 -1, 164, -1, 164, 96, 164, -1, 310, -1, 180, 840 -1, 181, 116, 180, -1, 44, 181, 130, -1, 45, 841 130, -1, 182, -1, 183, 182, -1, 183, 172, -1, 842 -1, 186, -1, 183, 177, -1, 186, 183, 177, -1, 843 -1, 188, -1, 183, 190, -1, 183, 177, 189, -1, 844 188, 183, 190, -1, 188, 183, 177, 189, -1, -1, 845 190, -1, 56, -1, 56, 132, -1, 47, 109, 170, 846 110, 172, -1, 46, 172, 47, 109, 170, 110, 132, 847 -1, 48, 109, 134, 192, 110, 172, -1, 171, 135, 848 132, 171, 132, 171, -1, 213, 171, 132, 171, -1, 849 51, 72, 132, -1, 51, 117, 170, 132, -1, 50, 850 132, -1, 50, 72, 132, -1, 49, 132, -1, 49, 851 72, 132, -1, 52, 171, 132, -1, 61, 166, 132, 852 -1, 62, 166, 132, -1, 62, 166, 63, 165, 132, 853 -1, 57, 174, 195, -1, 57, 174, 197, -1, 57, 854 174, 195, 197, -1, 196, -1, 58, 109, 96, 110, 855 174, -1, 196, 58, 109, 96, 110, 174, -1, 59, 856 109, 96, 110, 174, -1, 196, 59, 109, 96, 110, 857 174, -1, 58, 109, 134, 134, 198, 135, 110, 174, 858 135, -1, 196, 58, 109, 134, 134, 198, 135, 110, 859 174, 135, -1, 59, 109, 134, 134, 198, 135, 110, 860 174, 135, -1, 196, 59, 109, 134, 134, 198, 135, 861 110, 174, 135, -1, 60, 174, -1, 226, -1, 226, 862 309, -1, 226, 357, -1, 366, 139, -1, 366, -1, 863 64, 200, 109, 141, 110, 132, -1, 64, 200, 109, 864 141, 130, 201, 110, 132, -1, 64, 200, 109, 141, 865 130, 201, 130, 201, 110, 132, -1, 64, 200, 109, 866 141, 130, 201, 130, 201, 130, 204, 110, 132, -1, 867 64, 200, 51, 109, 141, 130, 130, 201, 130, 204, 868 130, 205, 110, 132, -1, -1, 11, -1, -1, 202, 869 -1, 203, -1, 202, 116, 203, -1, 141, 109, 164, 870 110, -1, 111, 164, 112, 141, 109, 164, 110, -1, 871 -1, 141, -1, 204, 116, 141, -1, 139, -1, 205, 872 116, 139, -1, 135, -1, 207, -1, 213, -1, 207, 873 134, 213, -1, 135, -1, 209, -1, 223, -1, 209, 874 134, 223, -1, -1, 211, -1, 29, 212, 132, -1, 875 211, 29, 212, 132, -1, 274, -1, 212, 116, 274, 876 -1, 214, -1, 223, -1, 215, 135, 132, -1, 220, 877 135, 132, -1, 217, 135, 132, -1, 293, 135, 132, 878 -1, 296, 135, 132, -1, 216, 277, -1, 232, 216, 879 277, -1, 215, 135, 116, 134, 272, 277, -1, 367, 880 272, 311, -1, 370, 272, 311, -1, 228, 370, 272, 881 311, -1, 218, -1, 228, 218, -1, 232, 218, -1, 882 232, 228, 218, -1, 217, 135, 116, 134, 272, -1, 883 111, 112, 272, 109, 134, 260, 135, 110, -1, 370, 884 272, 109, 134, 260, 135, 110, -1, 219, 272, 109, 885 134, 260, 135, 110, -1, 111, 134, 262, 135, 112, 886 -1, 111, 134, 262, 135, 116, 134, 263, 135, 112, 887 -1, 3, 216, -1, 3, 218, -1, 220, 135, 116, 888 134, 139, -1, 3, 226, 309, -1, 221, 135, 116, 889 134, 309, -1, 228, 3, 226, 309, -1, 226, 3, 890 309, -1, 226, 3, 228, 309, -1, 3, 139, 131, 891 165, -1, 222, 135, 116, 134, 139, 131, 165, -1, 892 224, 135, 132, -1, 221, 135, 132, -1, 222, 135, 893 132, -1, 240, 135, 132, -1, 225, 309, 311, 277, 894 -1, 224, 116, 312, 309, 311, 277, -1, 236, -1, 895 240, -1, 242, -1, 283, -1, 237, -1, 241, -1, 896 243, -1, 284, -1, -1, 228, -1, 229, -1, 228, 897 229, -1, 230, -1, 314, -1, 10, -1, 12, -1, 898 11, -1, 14, -1, 67, -1, -1, 13, 109, 231, 899 286, 110, -1, 233, -1, 228, 233, -1, 232, 228, 900 233, -1, 234, -1, 233, 234, -1, 5, -1, 7, 901 -1, 4, -1, 6, -1, 8, -1, 9, -1, 69, 902 -1, 71, -1, 16, -1, 21, -1, 20, -1, 18, 903 -1, 19, -1, 17, -1, 22, -1, 23, -1, 15, 904 -1, 25, -1, 26, -1, 27, -1, 24, -1, 237, 905 -1, 232, 237, -1, 236, 234, -1, 236, 234, 228, 906 -1, 236, 234, 237, -1, 238, -1, 227, 239, 227, 907 -1, 235, -1, 228, 235, -1, 238, 229, -1, 238, 908 235, -1, 28, 109, 276, 110, -1, 28, 109, 170, 909 110, -1, 78, 109, 276, 110, -1, 78, 109, 170, 910 110, -1, 241, -1, 232, 241, -1, 240, 234, -1, 911 240, 234, 228, -1, 244, -1, 228, 244, -1, 241, 912 229, -1, 243, -1, 232, 243, -1, 242, 234, -1, 913 242, 234, 228, -1, 74, -1, 228, 74, -1, 243, 914 229, -1, 245, -1, 256, -1, 247, 114, 248, 115, 915 -1, 247, 274, -1, -1, 247, 274, 246, 114, 248, 916 115, -1, 247, 109, 292, 110, 114, 248, 115, -1, 917 247, 285, -1, 31, 312, -1, 32, 312, -1, -1, 918 248, 249, -1, 250, 132, -1, 40, 250, 132, -1, 919 251, 132, -1, 40, 251, 132, -1, 366, -1, 366, 920 274, -1, 250, 116, 274, -1, 250, 116, -1, 226, 921 252, -1, 251, 116, 312, 252, -1, -1, 254, -1, 922 318, 253, -1, 331, 253, -1, 357, -1, -1, 254, 923 -1, 130, 164, -1, 30, 312, -1, 255, 114, 258, 924 372, 115, -1, 255, 274, -1, -1, 255, 274, 257, 925 114, 258, 372, 115, -1, 274, 259, -1, 258, 116, 926 274, 259, -1, -1, 131, 164, -1, -1, 261, -1, 927 263, -1, 262, -1, 262, 135, 116, 134, 263, -1, 928 263, 135, 116, 134, 96, -1, 262, 135, 116, 134, 929 96, -1, 267, -1, 263, 135, 116, 134, 267, -1, 930 262, 135, 116, 134, 267, -1, 262, 135, 116, 134, 931 263, 135, 116, 134, 267, -1, 268, -1, 263, 135, 932 116, 134, 268, -1, -1, 265, -1, 266, -1, 266, 933 135, 116, 134, 96, -1, 270, -1, 269, -1, 266, 934 135, 116, 134, 270, -1, 266, 135, 116, 134, 269, 935 -1, 269, -1, 362, 272, 373, -1, 370, 272, 373, 936 -1, 228, 370, 272, 373, -1, 218, -1, 270, -1, 937 362, -1, 370, -1, 228, 370, -1, 371, -1, 225, 938 336, 373, -1, 225, 340, 373, -1, 225, -1, 225, 939 351, -1, 139, -1, 271, 116, 139, -1, 137, -1, 940 74, -1, 75, -1, 138, -1, 74, -1, 75, -1, 941 139, -1, 74, -1, 75, -1, 366, -1, 226, -1, 942 226, 357, -1, 366, -1, 371, -1, 226, -1, 226, 943 345, -1, -1, 131, 278, -1, 107, 278, -1, 165, 944 -1, 114, 279, 372, 115, -1, -1, 278, -1, 280, 945 278, -1, 279, 116, 278, -1, 279, 116, 280, 278, 946 -1, 281, 130, -1, 274, 130, -1, 282, -1, 281, 947 282, -1, 113, 274, -1, 111, 134, 165, 135, 112, 948 -1, 111, 134, 310, 135, 112, -1, 111, 134, 164, 949 96, 164, 135, 112, -1, 113, 111, 134, 147, 135, 950 112, -1, 284, -1, 232, 284, -1, 283, 234, -1, 951 283, 234, 228, -1, 285, -1, 228, 285, -1, 284, 952 229, -1, 75, 109, 292, 110, -1, 287, 373, -1, 953 286, 116, 287, 373, -1, -1, 289, 274, 288, 290, 954 -1, 226, 336, -1, 33, -1, 35, -1, 34, -1, 955 -1, 290, 291, -1, 128, 274, 109, 292, 110, -1, 956 128, 114, 134, 298, 115, -1, 128, 109, 134, 286, 957 135, 110, 114, 134, 298, 115, 109, 292, 110, -1, 958 276, -1, 165, -1, 292, 116, 276, -1, 292, 116, 959 165, -1, 33, 294, -1, 233, 33, 294, -1, 293, 960 116, 294, -1, 295, 290, -1, 295, 290, 131, 276, 961 -1, 274, -1, 273, 109, 134, 286, 135, 110, -1, 962 36, 274, 109, 134, 286, 135, 110, 114, 115, -1, 963 -1, 36, 274, 109, 134, 286, 135, 110, 114, 297, 964 298, 115, -1, 299, -1, 298, 134, 299, -1, 300, 965 135, 132, -1, 301, 135, 132, -1, 216, -1, 218, 966 -1, 300, 135, 116, 134, 272, -1, 226, 309, -1, 967 301, 135, 116, 134, 309, -1, -1, 303, -1, 305, 968 -1, 303, 134, 305, -1, -1, 303, -1, 213, -1, 969 307, -1, 199, -1, -1, 5, 82, 306, 114, 304, 970 115, -1, 40, 305, -1, 308, -1, 323, 174, -1, 971 327, 134, 208, 174, -1, 217, 174, -1, 225, 323, 972 174, -1, 228, 323, 174, -1, 232, 323, 174, -1, 973 232, 228, 323, 174, -1, 225, 327, 134, 208, 174, 974 -1, 228, 327, 134, 208, 174, -1, 232, 327, 134, 975 208, 174, -1, 232, 228, 327, 134, 208, 174, -1, 976 318, -1, 331, -1, 323, -1, 164, 122, 164, -1, 977 -1, 64, 109, 141, 110, 312, -1, -1, 313, -1, 978 314, -1, 313, 314, -1, 39, 109, 109, 315, 110, 979 110, -1, 316, -1, 315, 116, 316, -1, -1, 317, 980 -1, 317, 109, 171, 110, -1, 272, -1, 234, -1, 981 235, -1, 229, -1, 319, 312, -1, 320, -1, 321, 982 312, -1, 322, 312, -1, 137, -1, 109, 319, 110, 983 -1, 150, 318, -1, 150, 228, 318, -1, 109, 320, 984 110, -1, 319, 349, -1, 109, 320, 110, 349, -1, 985 109, 321, 110, 350, -1, 109, 321, 110, -1, 109, 986 320, 110, 109, 134, 264, 135, 110, -1, 109, 322, 987 110, -1, 324, 312, -1, 325, -1, 326, 312, -1, 988 319, 109, 134, 264, 135, 110, -1, 109, 325, 110, 989 109, 134, 264, 135, 110, -1, 109, 324, 110, -1, 990 150, 323, -1, 150, 228, 323, -1, 109, 325, 110, 991 -1, 109, 325, 110, 349, -1, 109, 326, 110, 350, 992 -1, 109, 326, 110, -1, 328, -1, 329, -1, 330, 993 -1, 319, 109, 271, 110, -1, 109, 329, 110, 109, 994 271, 110, -1, 109, 328, 110, -1, 150, 327, -1, 995 150, 228, 327, -1, 109, 329, 110, -1, 109, 329, 996 110, 349, -1, 109, 330, 110, 350, -1, 109, 330, 997 110, -1, 332, 312, -1, 333, -1, 334, 312, -1, 998 335, 312, -1, 341, -1, 109, 332, 110, -1, 150, 999 331, -1, 150, 228, 331, -1, 109, 333, 110, -1, 1000 332, 349, -1, 109, 333, 110, 349, -1, 109, 334, 1001 110, 350, -1, 109, 334, 110, -1, 332, 109, 134, 1002 264, 135, 110, -1, 109, 333, 110, 109, 134, 264, 1003 135, 110, -1, 109, 335, 110, -1, 319, 312, -1, 1004 337, -1, 338, 312, -1, 339, 312, -1, 150, 336, 1005 -1, 150, 228, 336, -1, 109, 337, 110, -1, 319, 1006 355, -1, 109, 337, 110, 349, -1, 109, 338, 110, 1007 350, -1, 109, 338, 110, -1, 319, 109, 134, 264, 1008 135, 110, -1, 109, 337, 110, 109, 134, 264, 135, 1009 110, -1, 109, 339, 110, -1, 341, 312, -1, 342, 1010 -1, 343, 312, -1, 344, 312, -1, 74, -1, 75, 1011 -1, 150, 340, -1, 150, 228, 340, -1, 109, 342, 1012 110, -1, 341, 355, -1, 109, 342, 110, 355, -1, 1013 341, 109, 134, 264, 135, 110, -1, 109, 342, 110, 1014 109, 134, 264, 135, 110, -1, 346, -1, 347, 312, 1015 -1, 348, 312, -1, 150, -1, 150, 228, -1, 150, 1016 345, -1, 150, 228, 345, -1, 109, 346, 110, -1, 1017 349, -1, 109, 346, 110, 349, -1, 109, 347, 110, 1018 350, -1, 109, 347, 110, -1, 109, 134, 264, 135, 1019 110, -1, 109, 346, 110, 109, 134, 264, 135, 110, 1020 -1, 109, 348, 110, -1, 111, 112, -1, 111, 112, 1021 350, -1, 350, -1, 111, 134, 165, 135, 112, -1, 1022 111, 134, 117, 135, 112, -1, 350, 111, 134, 165, 1023 135, 112, -1, 350, 111, 134, 117, 135, 112, -1, 1024 352, -1, 353, 312, -1, 354, 312, -1, 150, -1, 1025 150, 228, -1, 150, 351, -1, 150, 228, 351, -1, 1026 109, 352, 110, -1, 355, -1, 109, 352, 110, 355, 1027 -1, 109, 353, 110, 350, -1, 109, 353, 110, -1, 1028 109, 134, 264, 135, 110, -1, 109, 352, 110, 109, 1029 134, 264, 135, 110, -1, 109, 354, 110, -1, 356, 1030 -1, 356, 350, -1, 350, -1, 111, 112, -1, 111, 1031 134, 228, 117, 135, 112, -1, 111, 134, 228, 135, 1032 112, -1, 111, 134, 228, 165, 135, 112, -1, 111, 1033 134, 7, 227, 165, 135, 112, -1, 111, 134, 228, 1034 7, 165, 135, 112, -1, 358, -1, 359, 312, -1, 1035 360, 312, -1, 150, -1, 150, 228, -1, 150, 357, 1036 -1, 150, 228, 357, -1, 109, 358, 110, -1, 349, 1037 -1, 109, 358, 110, 349, -1, 109, 359, 110, 350, 1038 -1, 109, 359, 110, -1, 109, 358, 110, 109, 134, 1039 264, 135, 110, -1, 109, 360, 110, -1, 362, -1, 1040 370, -1, 228, 370, -1, 363, -1, 364, -1, 150, 1041 226, -1, 228, 150, 226, -1, 150, 371, -1, 228, 1042 150, 371, -1, 150, 361, -1, 228, 150, 361, -1, 1043 111, 112, 226, -1, 365, 226, -1, 111, 112, 350, 1044 226, -1, 365, 350, 226, -1, 350, 226, -1, 111, 1045 112, 363, -1, 365, 363, -1, 111, 112, 350, 363, 1046 -1, 365, 350, 363, -1, 350, 363, -1, 111, 134, 1047 228, 117, 135, 112, -1, 111, 134, 228, 165, 135, 1048 112, -1, 111, 134, 232, 165, 135, 112, -1, 111, 1049 134, 232, 228, 165, 135, 112, -1, 370, -1, 228, 1050 370, -1, 367, -1, 368, -1, 369, -1, 150, 226, 1051 -1, 228, 150, 226, -1, 150, 371, -1, 228, 150, 1052 371, -1, 150, 366, -1, 228, 150, 366, -1, 111, 1053 112, 226, -1, 111, 112, 350, 226, -1, 350, 226, 1054 -1, 111, 112, 368, -1, 111, 112, 350, 368, -1, 1055 350, 368, -1, 111, 134, 263, 135, 112, -1, 111, 1056 112, 109, 260, 110, -1, 370, 109, 134, 260, 135, 1057 110, -1, 219, 109, 134, 260, 135, 110, -1, -1, 1058 116, -1, -1, 131, 165, -1 1059 }; 1060 1061 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 685 1062 static const yytype_uint16 yyrline[] = 686 1063 { 687 0, 298, 298, 304, 313, 314, 315, 319, 320, 321, 688 325, 326, 330, 331, 335, 336, 340, 341, 352, 354, 689 356, 358, 363, 364, 370, 374, 376, 377, 379, 380, 690 382, 384, 386, 395, 396, 402, 403, 407, 408, 412, 691 416, 418, 420, 422, 427, 430, 432, 434, 439, 452, 692 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 693 479, 480, 486, 487, 488, 489, 493, 494, 496, 501, 694 502, 504, 506, 511, 512, 514, 519, 520, 522, 527, 695 528, 530, 532, 534, 539, 540, 542, 547, 548, 553, 696 554, 559, 560, 565, 566, 571, 572, 577, 578, 581, 697 583, 588, 593, 594, 596, 602, 603, 607, 608, 609, 698 610, 611, 612, 613, 614, 615, 616, 617, 623, 625, 699 627, 629, 634, 635, 640, 641, 647, 648, 654, 655, 700 656, 657, 658, 659, 660, 661, 662, 672, 679, 681, 701 691, 692, 697, 699, 705, 707, 711, 712, 717, 722, 702 725, 727, 729, 739, 741, 752, 753, 755, 759, 761, 703 765, 766, 771, 772, 776, 781, 782, 786, 788, 794, 704 795, 799, 801, 803, 805, 811, 812, 816, 818, 823, 705 825, 827, 832, 834, 839, 841, 845, 848, 852, 855, 706 859, 861, 863, 865, 870, 872, 874, 879, 881, 883, 707 885, 887, 892, 894, 896, 898, 903, 915, 916, 921, 708 923, 928, 932, 934, 936, 938, 940, 946, 947, 953, 709 954, 958, 959, 964, 966, 972, 973, 975, 980, 982, 710 989, 991, 995, 996, 1001, 1003, 1007, 1008, 1012, 1014, 711 1018, 1019, 1023, 1024, 1028, 1029, 1044, 1045, 1046, 1047, 712 1048, 1052, 1057, 1064, 1074, 1079, 1084, 1092, 1097, 1102, 713 1107, 1112, 1120, 1142, 1147, 1154, 1156, 1163, 1168, 1173, 714 1184, 1189, 1194, 1199, 1204, 1213, 1218, 1226, 1227, 1228, 715 1229, 1235, 1240, 1248, 1249, 1250, 1251, 1255, 1256, 1257, 716 1258, 1263, 1264, 1273, 1274, 1279, 1280, 1285, 1287, 1289, 717 1291, 1293, 1296, 1295, 1307, 1308, 1310, 1320, 1321, 1326, 718 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1345, 1347, 1349, 719 1351, 1353, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1369, 720 1375, 1376, 1378, 1380, 1382, 1387, 1388, 1394, 1395, 1397, 721 1399, 1404, 1406, 1408, 1410, 1415, 1416, 1418, 1420, 1425, 722 1426, 1428, 1433, 1434, 1436, 1438, 1443, 1445, 1447, 1452, 723 1453, 1457, 1459, 1465, 1464, 1468, 1470, 1475, 1477, 1483, 724 1484, 1489, 1490, 1492, 1493, 1502, 1503, 1505, 1507, 1512, 725 1514, 1520, 1521, 1523, 1526, 1529, 1534, 1535, 1540, 1545, 726 1549, 1551, 1557, 1556, 1563, 1565, 1571, 1572, 1580, 1581, 727 1585, 1586, 1587, 1589, 1591, 1598, 1599, 1601, 1603, 1608, 728 1609, 1615, 1616, 1620, 1621, 1626, 1627, 1628, 1630, 1638, 729 1639, 1641, 1644, 1646, 1650, 1651, 1652, 1654, 1656, 1660, 730 1665, 1673, 1674, 1683, 1685, 1690, 1691, 1692, 1696, 1697, 731 1698, 1702, 1703, 1704, 1708, 1709, 1710, 1715, 1716, 1717, 732 1718, 1724, 1725, 1727, 1732, 1733, 1738, 1739, 1740, 1741, 733 1742, 1757, 1758, 1763, 1764, 1770, 1772, 1775, 1777, 1779, 734 1802, 1803, 1805, 1807, 1812, 1813, 1815, 1820, 1825, 1826, 735 1832, 1831, 1835, 1839, 1841, 1843, 1849, 1850, 1855, 1860, 736 1862, 1867, 1869, 1870, 1872, 1877, 1879, 1881, 1886, 1888, 737 1893, 1898, 1906, 1912, 1911, 1925, 1926, 1931, 1932, 1936, 738 1941, 1946, 1954, 1959, 1970, 1971, 1976, 1977, 1983, 1984, 739 1988, 1989, 1990, 1993, 1992, 2003, 2012, 2018, 2024, 2033, 740 2039, 2045, 2051, 2057, 2065, 2071, 2079, 2085, 2094, 2095, 741 2096, 2100, 2104, 2106, 2111, 2112, 2116, 2117, 2122, 2128, 742 2129, 2132, 2134, 2135, 2139, 2140, 2141, 2142, 2176, 2178, 743 2179, 2181, 2186, 2191, 2196, 2198, 2200, 2205, 2207, 2209, 744 2211, 2216, 2218, 2227, 2229, 2230, 2235, 2237, 2239, 2244, 745 2246, 2248, 2253, 2255, 2257, 2266, 2267, 2268, 2272, 2274, 746 2276, 2281, 2283, 2285, 2290, 2292, 2294, 2309, 2311, 2312, 747 2314, 2319, 2320, 2325, 2327, 2329, 2334, 2336, 2338, 2340, 748 2345, 2347, 2349, 2359, 2361, 2362, 2364, 2369, 2371, 2373, 749 2378, 2380, 2382, 2384, 2389, 2391, 2393, 2424, 2426, 2427, 750 2429, 2434, 2439, 2447, 2449, 2451, 2456, 2458, 2463, 2465, 751 2479, 2480, 2482, 2487, 2489, 2491, 2493, 2495, 2500, 2501, 752 2503, 2505, 2510, 2512, 2514, 2520, 2522, 2524, 2528, 2530, 753 2532, 2534, 2548, 2549, 2551, 2556, 2558, 2560, 2562, 2564, 754 2569, 2570, 2572, 2574, 2579, 2581, 2583, 2589, 2590, 2592, 755 2601, 2604, 2606, 2609, 2611, 2613, 2626, 2627, 2629, 2634, 756 2636, 2638, 2640, 2642, 2647, 2648, 2650, 2652, 2657, 2659, 757 2667, 2668, 2669, 2674, 2675, 2679, 2681, 2683, 2685, 2687, 758 2689, 2696, 2698, 2700, 2702, 2704, 2706, 2708, 2710, 2712, 759 2714, 2719, 2721, 2723, 2728, 2754, 2755, 2757, 2761, 2762, 760 2766, 2768, 2770, 2772, 2774, 2776, 2783, 2785, 2787, 2789, 761 2791, 2793, 2798, 2803, 2805, 2807, 2825, 2827, 2832, 2833 1064 0, 341, 341, 345, 352, 353, 354, 358, 359, 360, 1065 364, 365, 369, 370, 374, 375, 379, 383, 384, 395, 1066 397, 399, 401, 406, 407, 413, 417, 419, 420, 422, 1067 423, 425, 427, 429, 438, 439, 445, 446, 450, 451, 1068 455, 459, 461, 463, 465, 470, 473, 475, 477, 482, 1069 495, 497, 499, 501, 503, 505, 507, 509, 511, 513, 1070 515, 522, 523, 529, 530, 531, 532, 536, 537, 539, 1071 544, 545, 547, 549, 554, 555, 557, 562, 563, 565, 1072 570, 571, 573, 575, 577, 582, 583, 585, 590, 591, 1073 596, 597, 602, 603, 608, 609, 614, 615, 620, 621, 1074 624, 626, 631, 636, 637, 639, 645, 646, 650, 651, 1075 652, 653, 654, 655, 656, 657, 658, 659, 660, 666, 1076 668, 670, 672, 677, 678, 683, 684, 690, 691, 697, 1077 698, 699, 700, 701, 702, 703, 704, 705, 715, 722, 1078 724, 734, 735, 740, 742, 748, 750, 754, 755, 760, 1079 765, 768, 770, 772, 782, 784, 795, 796, 798, 802, 1080 804, 808, 809, 814, 815, 819, 824, 825, 829, 831, 1081 837, 838, 842, 844, 846, 848, 854, 855, 859, 861, 1082 866, 868, 870, 875, 877, 882, 884, 888, 891, 895, 1083 898, 902, 904, 906, 908, 913, 915, 917, 922, 924, 1084 926, 928, 930, 935, 937, 939, 941, 946, 958, 959, 1085 964, 966, 971, 975, 977, 979, 981, 983, 989, 990, 1086 996, 997, 1001, 1002, 1007, 1009, 1015, 1016, 1018, 1023, 1087 1028, 1038, 1040, 1044, 1045, 1050, 1052, 1056, 1057, 1061, 1088 1063, 1067, 1068, 1072, 1073, 1077, 1078, 1093, 1094, 1095, 1089 1096, 1097, 1101, 1106, 1113, 1123, 1128, 1133, 1141, 1146, 1090 1151, 1156, 1161, 1169, 1191, 1196, 1203, 1205, 1212, 1217, 1091 1222, 1233, 1238, 1243, 1248, 1253, 1262, 1267, 1275, 1276, 1092 1277, 1278, 1284, 1289, 1297, 1298, 1299, 1300, 1304, 1305, 1093 1306, 1307, 1312, 1313, 1322, 1323, 1328, 1329, 1334, 1336, 1094 1338, 1340, 1342, 1345, 1344, 1356, 1357, 1359, 1369, 1370, 1095 1375, 1377, 1379, 1381, 1383, 1385, 1387, 1389, 1394, 1396, 1096 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1414, 1416, 1097 1418, 1424, 1425, 1427, 1429, 1431, 1436, 1437, 1443, 1444, 1098 1446, 1448, 1453, 1455, 1457, 1459, 1464, 1465, 1467, 1469, 1099 1474, 1475, 1477, 1482, 1483, 1485, 1487, 1492, 1494, 1496, 1100 1501, 1502, 1506, 1508, 1514, 1513, 1517, 1519, 1524, 1526, 1101 1532, 1533, 1538, 1539, 1541, 1542, 1551, 1552, 1554, 1556, 1102 1561, 1563, 1569, 1570, 1572, 1575, 1578, 1583, 1584, 1589, 1103 1594, 1598, 1600, 1606, 1605, 1612, 1614, 1620, 1621, 1629, 1104 1630, 1634, 1635, 1636, 1638, 1640, 1647, 1648, 1650, 1652, 1105 1657, 1658, 1664, 1665, 1669, 1670, 1675, 1676, 1677, 1679, 1106 1687, 1688, 1690, 1693, 1695, 1699, 1700, 1701, 1703, 1705, 1107 1709, 1714, 1722, 1723, 1732, 1734, 1739, 1740, 1741, 1745, 1108 1746, 1747, 1751, 1752, 1753, 1757, 1758, 1759, 1764, 1765, 1109 1766, 1767, 1773, 1774, 1776, 1781, 1782, 1787, 1788, 1789, 1110 1790, 1791, 1806, 1807, 1812, 1813, 1819, 1821, 1824, 1826, 1111 1828, 1851, 1852, 1854, 1856, 1861, 1862, 1864, 1869, 1874, 1112 1875, 1881, 1880, 1884, 1888, 1890, 1892, 1898, 1899, 1904, 1113 1909, 1911, 1916, 1918, 1919, 1921, 1926, 1928, 1930, 1935, 1114 1937, 1942, 1947, 1955, 1961, 1960, 1974, 1975, 1980, 1981, 1115 1985, 1990, 1995, 2003, 2008, 2019, 2020, 2025, 2026, 2032, 1116 2033, 2037, 2038, 2039, 2042, 2041, 2052, 2061, 2067, 2073, 1117 2082, 2088, 2094, 2100, 2106, 2114, 2120, 2128, 2134, 2143, 1118 2144, 2145, 2149, 2153, 2155, 2160, 2161, 2165, 2166, 2171, 1119 2177, 2178, 2181, 2183, 2184, 2188, 2189, 2190, 2191, 2225, 1120 2227, 2228, 2230, 2235, 2240, 2245, 2247, 2249, 2254, 2256, 1121 2258, 2260, 2265, 2267, 2276, 2278, 2279, 2284, 2286, 2288, 1122 2293, 2295, 2297, 2302, 2304, 2306, 2315, 2316, 2317, 2321, 1123 2323, 2325, 2330, 2332, 2334, 2339, 2341, 2343, 2358, 2360, 1124 2361, 2363, 2368, 2369, 2374, 2376, 2378, 2383, 2385, 2387, 1125 2389, 2394, 2396, 2398, 2408, 2410, 2411, 2413, 2418, 2420, 1126 2422, 2427, 2429, 2431, 2433, 2438, 2440, 2442, 2473, 2475, 1127 2476, 2478, 2483, 2488, 2496, 2498, 2500, 2505, 2507, 2512, 1128 2514, 2528, 2529, 2531, 2536, 2538, 2540, 2542, 2544, 2549, 1129 2550, 2552, 2554, 2559, 2561, 2563, 2569, 2571, 2573, 2577, 1130 2579, 2581, 2583, 2597, 2598, 2600, 2605, 2607, 2609, 2611, 1131 2613, 2618, 2619, 2621, 2623, 2628, 2630, 2632, 2638, 2639, 1132 2641, 2650, 2653, 2655, 2658, 2660, 2662, 2675, 2676, 2678, 1133 2683, 2685, 2687, 2689, 2691, 2696, 2697, 2699, 2701, 2706, 1134 2708, 2716, 2717, 2718, 2723, 2724, 2728, 2730, 2732, 2734, 1135 2736, 2738, 2745, 2747, 2749, 2751, 2753, 2755, 2757, 2759, 1136 2761, 2763, 2768, 2770, 2772, 2777, 2803, 2804, 2806, 2810, 1137 2811, 2815, 2817, 2819, 2821, 2823, 2825, 2832, 2834, 2836, 1138 2838, 2840, 2842, 2847, 2852, 2854, 2856, 2874, 2876, 2881, 1139 2882 762 1140 }; 763 1141 #endif 764 1142 765 #if YYDEBUG || YYERROR_VERBOSE || 01143 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 766 1144 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 767 1145 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 789 1167 "'?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant", 790 1168 "identifier", "no_01_identifier", "no_attr_identifier", "zero_one", 791 "string_literal_list", "primary_expression", "postfix_expression", 792 "argument_expression_list", "argument_expression", "field_list", "field", 793 "unary_expression", "ptrref_operator", "unary_operator", 794 "cast_expression", "multiplicative_expression", "additive_expression", 795 "shift_expression", "relational_expression", "equality_expression", 796 "AND_expression", "exclusive_OR_expression", "inclusive_OR_expression", 797 "logical_AND_expression", "logical_OR_expression", 798 "conditional_expression", "constant_expression", "assignment_expression", 799 "assignment_expression_opt", "assignment_operator", "tuple", 800 "tuple_expression_list", "comma_expression", "comma_expression_opt", 801 "statement", "labeled_statement", "compound_statement", 802 "block_item_list", "block_item", "statement_list", 803 "expression_statement", "selection_statement", "case_value", 804 "case_value_list", "case_label", "case_label_list", "case_clause", 805 "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt", 806 "choose_clause_list", "fall_through_opt", "fall_through", 807 "iteration_statement", "for_control_expression", "jump_statement", 808 "exception_statement", "handler_list", "handler_clause", 809 "finally_clause", "exception_declaration", "asm_statement", 810 "asm_volatile_opt", "asm_operands_opt", "asm_operands_list", 811 "asm_operand", "asm_clobbers_list_opt", "label_list", 812 "declaration_list_opt", "declaration_list", "old_declaration_list_opt", 813 "old_declaration_list", "local_label_declaration_opt", 814 "local_label_declaration_list", "local_label_list", "declaration", 815 "new_declaration", "new_variable_declaration", "new_variable_specifier", 1169 "string_literal", "string_literal_list", "primary_expression", 1170 "postfix_expression", "argument_expression_list", "argument_expression", 1171 "field_list", "field", "unary_expression", "ptrref_operator", 1172 "unary_operator", "cast_expression", "multiplicative_expression", 1173 "additive_expression", "shift_expression", "relational_expression", 1174 "equality_expression", "AND_expression", "exclusive_OR_expression", 1175 "inclusive_OR_expression", "logical_AND_expression", 1176 "logical_OR_expression", "conditional_expression", "constant_expression", 1177 "assignment_expression", "assignment_expression_opt", 1178 "assignment_operator", "tuple", "tuple_expression_list", 1179 "comma_expression", "comma_expression_opt", "statement", 1180 "labeled_statement", "compound_statement", "block_item_list", 1181 "block_item", "statement_list", "expression_statement", 1182 "selection_statement", "case_value", "case_value_list", "case_label", 1183 "case_label_list", "case_clause", "switch_clause_list_opt", 1184 "switch_clause_list", "choose_clause_list_opt", "choose_clause_list", 1185 "fall_through_opt", "fall_through", "iteration_statement", 1186 "for_control_expression", "jump_statement", "exception_statement", 1187 "handler_list", "handler_clause", "finally_clause", 1188 "exception_declaration", "asm_statement", "asm_volatile_opt", 1189 "asm_operands_opt", "asm_operands_list", "asm_operand", 1190 "asm_clobbers_list_opt", "label_list", "declaration_list_opt", 1191 "declaration_list", "old_declaration_list_opt", "old_declaration_list", 1192 "local_label_declaration_opt", "local_label_declaration_list", 1193 "local_label_list", "declaration", "new_declaration", 1194 "new_variable_declaration", "new_variable_specifier", 816 1195 "new_function_declaration", "new_function_specifier", 817 1196 "new_function_return", "new_typedef_declaration", "typedef_declaration", … … 871 1250 "new_abstract_declarator_no_tuple", "new_abstract_ptr", 872 1251 "new_abstract_array", "new_abstract_tuple", "new_abstract_function", 873 "comma_opt", "assignment_opt", YY_NULLPTR1252 "comma_opt", "assignment_opt", 0 874 1253 }; 875 1254 #endif 876 1255 877 1256 # ifdef YYPRINT 878 /* YYTOKNUM[ NUM] -- (External) token number corresponding to the879 (internal) symbol number NUM (which must be that of a token). */1257 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 1258 token YYLEX-NUM. */ 880 1259 static const yytype_uint16 yytoknum[] = 881 1260 { … … 897 1276 # endif 898 1277 899 #define YYPACT_NINF -1317 900 901 #define yypact_value_is_default(Yystate) \ 902 (!!((Yystate) == (-1317))) 903 904 #define YYTABLE_NINF -520 905 906 #define yytable_value_is_error(Yytable_value) \ 907 0 908 909 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 910 STATE-NUM. */ 1278 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1279 static const yytype_uint16 yyr1[] = 1280 { 1281 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 1282 138, 138, 139, 139, 140, 140, 141, 142, 142, 143, 1283 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 1284 144, 144, 144, 144, 145, 145, 146, 146, 147, 147, 1285 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 1286 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 1287 149, 150, 150, 151, 151, 151, 151, 152, 152, 152, 1288 153, 153, 153, 153, 154, 154, 154, 155, 155, 155, 1289 156, 156, 156, 156, 156, 157, 157, 157, 158, 158, 1290 159, 159, 160, 160, 161, 161, 162, 162, 163, 163, 1291 163, 163, 164, 165, 165, 165, 166, 166, 167, 167, 1292 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 1293 168, 168, 168, 169, 169, 170, 170, 171, 171, 172, 1294 172, 172, 172, 172, 172, 172, 172, 172, 173, 174, 1295 174, 175, 175, 176, 176, 176, 176, 177, 177, 178, 1296 179, 179, 179, 179, 179, 179, 180, 180, 180, 181, 1297 181, 182, 182, 183, 183, 184, 185, 185, 186, 186, 1298 187, 187, 188, 188, 188, 188, 189, 189, 190, 190, 1299 191, 191, 191, 192, 192, 193, 193, 193, 193, 193, 1300 193, 193, 193, 193, 193, 194, 194, 194, 195, 195, 1301 195, 195, 195, 196, 196, 196, 196, 197, 198, 198, 1302 198, 198, 198, 199, 199, 199, 199, 199, 200, 200, 1303 201, 201, 202, 202, 203, 203, 204, 204, 204, 205, 1304 205, 206, 206, 207, 207, 208, 208, 209, 209, 210, 1305 210, 211, 211, 212, 212, 213, 213, 214, 214, 214, 1306 214, 214, 215, 215, 215, 216, 216, 216, 217, 217, 1307 217, 217, 217, 218, 218, 218, 219, 219, 220, 220, 1308 220, 221, 221, 221, 221, 221, 222, 222, 223, 223, 1309 223, 223, 224, 224, 225, 225, 225, 225, 226, 226, 1310 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 1311 230, 230, 230, 231, 230, 232, 232, 232, 233, 233, 1312 234, 234, 234, 234, 234, 234, 234, 234, 235, 235, 1313 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 1314 235, 236, 236, 236, 236, 236, 237, 237, 238, 238, 1315 238, 238, 239, 239, 239, 239, 240, 240, 240, 240, 1316 241, 241, 241, 242, 242, 242, 242, 243, 243, 243, 1317 244, 244, 245, 245, 246, 245, 245, 245, 247, 247, 1318 248, 248, 249, 249, 249, 249, 250, 250, 250, 250, 1319 251, 251, 252, 252, 252, 252, 252, 253, 253, 254, 1320 255, 256, 256, 257, 256, 258, 258, 259, 259, 260, 1321 260, 261, 261, 261, 261, 261, 262, 262, 262, 262, 1322 263, 263, 264, 264, 265, 265, 266, 266, 266, 266, 1323 267, 267, 267, 267, 267, 268, 268, 268, 268, 268, 1324 269, 269, 270, 270, 271, 271, 272, 272, 272, 273, 1325 273, 273, 274, 274, 274, 275, 275, 275, 276, 276, 1326 276, 276, 277, 277, 277, 278, 278, 279, 279, 279, 1327 279, 279, 280, 280, 281, 281, 282, 282, 282, 282, 1328 282, 283, 283, 283, 283, 284, 284, 284, 285, 286, 1329 286, 288, 287, 287, 289, 289, 289, 290, 290, 291, 1330 291, 291, 292, 292, 292, 292, 293, 293, 293, 294, 1331 294, 295, 295, 296, 297, 296, 298, 298, 299, 299, 1332 300, 300, 300, 301, 301, 302, 302, 303, 303, 304, 1333 304, 305, 305, 305, 306, 305, 305, 307, 307, 307, 1334 308, 308, 308, 308, 308, 308, 308, 308, 308, 309, 1335 309, 309, 310, 311, 311, 312, 312, 313, 313, 314, 1336 315, 315, 316, 316, 316, 317, 317, 317, 317, 318, 1337 318, 318, 318, 319, 319, 320, 320, 320, 321, 321, 1338 321, 321, 322, 322, 323, 323, 323, 324, 324, 324, 1339 325, 325, 325, 326, 326, 326, 327, 327, 327, 328, 1340 328, 328, 329, 329, 329, 330, 330, 330, 331, 331, 1341 331, 331, 332, 332, 333, 333, 333, 334, 334, 334, 1342 334, 335, 335, 335, 336, 336, 336, 336, 337, 337, 1343 337, 338, 338, 338, 338, 339, 339, 339, 340, 340, 1344 340, 340, 341, 341, 342, 342, 342, 343, 343, 344, 1345 344, 345, 345, 345, 346, 346, 346, 346, 346, 347, 1346 347, 347, 347, 348, 348, 348, 349, 349, 349, 350, 1347 350, 350, 350, 351, 351, 351, 352, 352, 352, 352, 1348 352, 353, 353, 353, 353, 354, 354, 354, 355, 355, 1349 355, 356, 356, 356, 356, 356, 356, 357, 357, 357, 1350 358, 358, 358, 358, 358, 359, 359, 359, 359, 360, 1351 360, 361, 361, 361, 362, 362, 363, 363, 363, 363, 1352 363, 363, 364, 364, 364, 364, 364, 364, 364, 364, 1353 364, 364, 365, 365, 365, 365, 366, 366, 366, 367, 1354 367, 368, 368, 368, 368, 368, 368, 369, 369, 369, 1355 369, 369, 369, 370, 371, 371, 371, 372, 372, 373, 1356 373 1357 }; 1358 1359 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 1360 static const yytype_uint8 yyr2[] = 1361 { 1362 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1363 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1364 1, 3, 3, 1, 6, 4, 3, 7, 3, 7, 1365 2, 2, 7, 4, 1, 3, 0, 1, 1, 3, 1366 1, 3, 7, 3, 7, 1, 1, 1, 2, 2, 1367 2, 2, 2, 2, 4, 2, 4, 6, 1, 4, 1368 4, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1369 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1370 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1371 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1372 4, 5, 1, 1, 3, 2, 0, 1, 1, 1, 1373 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1374 5, 6, 7, 1, 3, 1, 3, 0, 1, 1, 1375 1, 1, 1, 1, 1, 1, 1, 6, 4, 2, 1376 7, 1, 3, 1, 2, 1, 2, 1, 2, 2, 1377 5, 7, 5, 9, 5, 9, 1, 3, 1, 1, 1378 3, 3, 2, 1, 2, 2, 0, 1, 2, 3, 1379 0, 1, 2, 3, 3, 4, 0, 1, 1, 2, 1380 5, 7, 6, 6, 4, 3, 4, 2, 3, 2, 1381 3, 3, 3, 3, 5, 3, 3, 4, 1, 5, 1382 6, 5, 6, 9, 10, 9, 10, 2, 1, 2, 1383 2, 2, 1, 6, 8, 10, 12, 14, 0, 1, 1384 0, 1, 1, 3, 4, 7, 0, 1, 3, 1, 1385 3, 1, 1, 1, 3, 1, 1, 1, 3, 0, 1386 1, 3, 4, 1, 3, 1, 1, 3, 3, 3, 1387 3, 3, 2, 3, 6, 3, 3, 4, 1, 2, 1388 2, 3, 5, 8, 7, 7, 5, 9, 2, 2, 1389 5, 3, 5, 4, 3, 4, 4, 7, 3, 3, 1390 3, 3, 4, 6, 1, 1, 1, 1, 1, 1, 1391 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1392 1, 1, 1, 0, 5, 1, 2, 3, 1, 2, 1393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1395 1, 1, 2, 2, 3, 3, 1, 3, 1, 2, 1396 2, 2, 4, 4, 4, 4, 1, 2, 2, 3, 1397 1, 2, 2, 1, 2, 2, 3, 1, 2, 2, 1398 1, 1, 4, 2, 0, 6, 7, 2, 2, 2, 1399 0, 2, 2, 3, 2, 3, 1, 2, 3, 2, 1400 2, 4, 0, 1, 2, 2, 1, 0, 1, 2, 1401 2, 5, 2, 0, 7, 2, 4, 0, 2, 0, 1402 1, 1, 1, 5, 5, 5, 1, 5, 5, 9, 1403 1, 5, 0, 1, 1, 5, 1, 1, 5, 5, 1404 1, 3, 3, 4, 1, 1, 1, 1, 2, 1, 1405 3, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1406 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1407 1, 2, 0, 2, 2, 1, 4, 0, 1, 2, 1408 3, 4, 2, 2, 1, 2, 2, 5, 5, 7, 1409 6, 1, 2, 2, 3, 1, 2, 2, 4, 2, 1410 4, 0, 4, 2, 1, 1, 1, 0, 2, 5, 1411 5, 13, 1, 1, 3, 3, 2, 3, 3, 2, 1412 4, 1, 6, 9, 0, 11, 1, 3, 3, 3, 1413 1, 1, 5, 2, 5, 0, 1, 1, 3, 0, 1414 1, 1, 1, 1, 0, 6, 2, 1, 2, 4, 1415 2, 3, 3, 3, 4, 5, 5, 5, 6, 1, 1416 1, 1, 3, 0, 5, 0, 1, 1, 2, 6, 1417 1, 3, 0, 1, 4, 1, 1, 1, 1, 2, 1418 1, 2, 2, 1, 3, 2, 3, 3, 2, 4, 1419 4, 3, 8, 3, 2, 1, 2, 6, 8, 3, 1420 2, 3, 3, 4, 4, 3, 1, 1, 1, 4, 1421 6, 3, 2, 3, 3, 4, 4, 3, 2, 1, 1422 2, 2, 1, 3, 2, 3, 3, 2, 4, 4, 1423 3, 6, 8, 3, 2, 1, 2, 2, 2, 3, 1424 3, 2, 4, 4, 3, 6, 8, 3, 2, 1, 1425 2, 2, 1, 1, 2, 3, 3, 2, 4, 6, 1426 8, 1, 2, 2, 1, 2, 2, 3, 3, 1, 1427 4, 4, 3, 5, 8, 3, 2, 3, 1, 5, 1428 5, 6, 6, 1, 2, 2, 1, 2, 2, 3, 1429 3, 1, 4, 4, 3, 5, 8, 3, 1, 2, 1430 1, 2, 6, 5, 6, 7, 7, 1, 2, 2, 1431 1, 2, 2, 3, 3, 1, 4, 4, 3, 8, 1432 3, 1, 1, 2, 1, 1, 2, 3, 2, 3, 1433 2, 3, 3, 2, 4, 3, 2, 3, 2, 4, 1434 3, 2, 6, 6, 6, 7, 1, 2, 1, 1, 1435 1, 2, 3, 2, 3, 2, 3, 3, 4, 2, 1436 3, 4, 2, 5, 5, 6, 6, 0, 1, 0, 1437 2 1438 }; 1439 1440 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 1441 Performed when YYTABLE doesn't specify something else to do. Zero 1442 means the default is an error. */ 1443 static const yytype_uint16 yydefact[] = 1444 { 1445 292, 292, 312, 310, 313, 311, 314, 315, 298, 300, 1446 299, 0, 301, 326, 318, 323, 321, 322, 320, 319, 1447 324, 325, 330, 327, 328, 329, 545, 545, 545, 0, 1448 0, 0, 292, 218, 302, 316, 317, 7, 357, 0, 1449 8, 14, 15, 0, 2, 61, 62, 563, 9, 292, 1450 523, 521, 245, 3, 452, 3, 258, 0, 3, 3, 1451 3, 246, 3, 0, 0, 0, 293, 294, 296, 292, 1452 305, 308, 338, 284, 331, 336, 285, 346, 286, 353, 1453 350, 360, 0, 0, 361, 287, 471, 475, 3, 3, 1454 0, 2, 517, 522, 527, 297, 0, 0, 545, 575, 1455 545, 2, 586, 587, 588, 292, 0, 729, 730, 0, 1456 12, 0, 13, 292, 268, 269, 0, 293, 288, 289, 1457 290, 291, 524, 303, 390, 546, 547, 368, 369, 12, 1458 443, 444, 11, 439, 442, 0, 501, 496, 487, 443, 1459 444, 0, 0, 526, 219, 0, 292, 0, 0, 0, 1460 0, 0, 0, 0, 0, 292, 292, 2, 0, 731, 1461 293, 580, 592, 735, 728, 726, 733, 0, 0, 0, 1462 252, 2, 0, 530, 437, 438, 436, 0, 0, 0, 1463 0, 545, 0, 632, 633, 0, 0, 543, 539, 545, 1464 560, 545, 545, 541, 2, 540, 545, 599, 545, 545, 1465 602, 0, 0, 0, 292, 292, 310, 358, 2, 292, 1466 259, 295, 306, 339, 351, 476, 0, 2, 0, 452, 1467 260, 293, 332, 347, 354, 472, 0, 2, 0, 309, 1468 333, 340, 341, 0, 348, 352, 355, 359, 444, 292, 1469 370, 363, 367, 0, 392, 473, 477, 0, 0, 0, 1470 1, 292, 2, 528, 574, 576, 292, 2, 739, 293, 1471 742, 543, 543, 0, 293, 0, 0, 271, 545, 541, 1472 2, 292, 0, 0, 292, 548, 2, 499, 2, 552, 1473 0, 0, 0, 0, 0, 0, 19, 58, 4, 5, 1474 6, 17, 0, 0, 292, 2, 63, 64, 65, 66, 1475 46, 20, 47, 16, 23, 45, 67, 292, 0, 70, 1476 74, 77, 80, 85, 88, 90, 92, 94, 96, 98, 1477 103, 493, 749, 450, 492, 0, 448, 449, 0, 564, 1478 579, 582, 585, 591, 594, 597, 357, 0, 2, 737, 1479 0, 292, 740, 2, 61, 292, 3, 424, 0, 432, 1480 293, 292, 305, 331, 285, 346, 353, 3, 3, 406, 1481 410, 420, 425, 471, 292, 426, 704, 705, 292, 427, 1482 429, 292, 2, 581, 593, 727, 2, 2, 247, 2, 1483 457, 0, 455, 454, 453, 139, 2, 2, 249, 2, 1484 2, 248, 2, 279, 2, 280, 0, 278, 0, 0, 1485 0, 0, 0, 0, 0, 0, 0, 565, 604, 0, 1486 452, 2, 559, 568, 658, 561, 562, 531, 292, 2, 1487 598, 607, 600, 601, 0, 274, 292, 292, 337, 293, 1488 0, 293, 0, 292, 732, 736, 734, 532, 292, 543, 1489 253, 261, 307, 0, 2, 533, 292, 497, 334, 335, 1490 281, 349, 356, 0, 292, 0, 747, 397, 0, 474, 1491 498, 250, 251, 518, 292, 434, 0, 292, 235, 0, 1492 2, 237, 0, 293, 0, 255, 2, 256, 276, 0, 1493 0, 2, 292, 543, 292, 484, 486, 485, 0, 0, 1494 749, 0, 292, 0, 292, 488, 292, 558, 556, 557, 1495 555, 0, 550, 553, 0, 0, 292, 53, 292, 67, 1496 48, 292, 55, 292, 292, 51, 52, 2, 125, 0, 1497 0, 446, 0, 445, 726, 119, 292, 18, 0, 30, 1498 31, 36, 2, 0, 36, 109, 110, 111, 112, 113, 1499 114, 115, 116, 117, 118, 108, 0, 49, 50, 0, 1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 1502 2, 644, 451, 641, 545, 545, 649, 478, 292, 2, 1503 583, 584, 0, 595, 596, 0, 2, 738, 741, 119, 1504 292, 0, 2, 706, 293, 710, 701, 702, 708, 0, 1505 2, 2, 666, 545, 749, 615, 545, 545, 749, 545, 1506 629, 545, 545, 680, 433, 663, 545, 545, 671, 678, 1507 292, 428, 293, 0, 0, 292, 716, 293, 721, 749, 1508 713, 292, 718, 749, 292, 292, 292, 0, 119, 0, 1509 19, 2, 0, 20, 0, 458, 747, 0, 0, 464, 1510 239, 0, 292, 0, 0, 0, 543, 567, 571, 573, 1511 603, 606, 610, 613, 566, 605, 0, 282, 656, 0, 1512 292, 275, 0, 0, 0, 0, 273, 2, 0, 257, 1513 534, 292, 0, 0, 292, 2, 362, 382, 371, 0, 1514 0, 376, 370, 748, 0, 0, 395, 0, 293, 3, 1515 413, 3, 417, 416, 589, 0, 529, 292, 61, 3, 1516 292, 432, 293, 3, 426, 427, 2, 0, 0, 0, 1517 483, 304, 292, 479, 481, 3, 2, 2, 0, 500, 1518 3, 0, 552, 127, 0, 0, 220, 0, 0, 0, 1519 0, 37, 0, 0, 119, 292, 21, 0, 22, 0, 1520 690, 695, 447, 687, 545, 545, 0, 106, 3, 2, 1521 28, 0, 34, 0, 2, 26, 0, 104, 71, 72, 1522 73, 75, 76, 78, 79, 83, 84, 81, 82, 86, 1523 87, 89, 91, 93, 95, 97, 0, 0, 750, 292, 1524 0, 0, 0, 645, 646, 642, 643, 495, 494, 292, 1525 0, 292, 712, 292, 717, 293, 292, 660, 292, 292, 1526 703, 659, 2, 292, 0, 0, 0, 0, 0, 0, 1527 0, 0, 681, 0, 667, 618, 634, 668, 2, 614, 1528 621, 430, 616, 617, 431, 2, 628, 637, 630, 631, 1529 664, 665, 679, 707, 711, 709, 749, 266, 2, 743, 1530 2, 421, 715, 720, 422, 0, 400, 3, 3, 3, 1531 3, 452, 3, 0, 2, 466, 463, 748, 0, 459, 1532 2, 462, 465, 0, 292, 240, 262, 3, 270, 272, 1533 0, 452, 2, 569, 570, 2, 608, 609, 0, 657, 1534 535, 3, 343, 342, 345, 344, 292, 536, 0, 537, 1535 370, 0, 0, 292, 292, 0, 0, 690, 380, 383, 1536 387, 545, 387, 386, 379, 372, 545, 374, 377, 292, 1537 397, 391, 102, 398, 747, 0, 0, 435, 238, 0, 1538 0, 3, 2, 666, 428, 0, 525, 0, 749, 487, 1539 0, 292, 292, 292, 0, 549, 551, 128, 0, 0, 1540 213, 0, 0, 0, 221, 222, 54, 0, 56, 59, 1541 60, 0, 2, 126, 0, 0, 0, 691, 692, 688, 1542 689, 457, 68, 69, 107, 123, 3, 106, 0, 0, 1543 25, 36, 3, 0, 33, 100, 0, 3, 648, 652, 1544 655, 647, 3, 590, 3, 714, 719, 2, 61, 292, 1545 3, 3, 293, 0, 3, 620, 624, 627, 636, 670, 1546 674, 677, 292, 3, 619, 635, 669, 292, 292, 423, 1547 292, 292, 744, 0, 0, 0, 0, 254, 0, 102, 1548 0, 3, 3, 0, 460, 0, 456, 0, 0, 243, 1549 292, 0, 0, 127, 0, 0, 0, 0, 0, 127, 1550 0, 0, 106, 106, 19, 2, 0, 0, 3, 129, 1551 130, 2, 141, 131, 132, 133, 134, 135, 136, 143, 1552 145, 0, 0, 0, 283, 292, 292, 545, 0, 538, 1553 292, 373, 375, 0, 389, 691, 384, 388, 385, 378, 1554 382, 365, 396, 0, 577, 2, 662, 661, 0, 667, 1555 2, 480, 482, 502, 3, 510, 511, 0, 2, 506, 1556 3, 3, 0, 0, 554, 220, 0, 0, 0, 220, 1557 0, 0, 119, 694, 698, 700, 693, 747, 106, 0, 1558 3, 659, 40, 3, 38, 35, 0, 3, 99, 101, 1559 0, 2, 650, 651, 0, 0, 292, 0, 0, 0, 1560 3, 636, 0, 2, 622, 623, 2, 638, 2, 672, 1561 673, 0, 0, 61, 0, 3, 3, 3, 3, 408, 1562 407, 411, 2, 2, 746, 745, 120, 0, 0, 0, 1563 0, 3, 461, 3, 0, 241, 144, 3, 293, 292, 1564 0, 0, 0, 0, 2, 0, 189, 0, 187, 0, 1565 0, 0, 0, 0, 0, 0, 545, 119, 0, 149, 1566 146, 292, 0, 0, 265, 277, 3, 3, 544, 611, 1567 366, 381, 394, 292, 264, 292, 0, 513, 490, 292, 1568 0, 0, 489, 504, 0, 0, 0, 214, 0, 223, 1569 57, 2, 696, 697, 0, 124, 121, 0, 0, 0, 1570 0, 0, 24, 0, 653, 292, 578, 263, 722, 723, 1571 724, 0, 675, 292, 292, 292, 3, 3, 0, 683, 1572 0, 0, 0, 0, 292, 292, 3, 542, 120, 468, 1573 0, 0, 244, 293, 0, 0, 0, 0, 292, 190, 1574 188, 185, 0, 191, 0, 0, 0, 0, 195, 198, 1575 196, 192, 0, 193, 127, 36, 142, 140, 242, 0, 1576 0, 415, 419, 418, 0, 507, 2, 508, 2, 509, 1577 503, 292, 226, 0, 224, 0, 226, 292, 32, 122, 1578 2, 43, 2, 41, 39, 29, 27, 3, 725, 3, 1579 3, 3, 0, 0, 682, 684, 625, 639, 267, 2, 1580 405, 3, 404, 0, 470, 467, 127, 0, 0, 127, 1581 3, 0, 127, 186, 0, 2, 2, 207, 197, 0, 1582 0, 0, 138, 0, 572, 612, 2, 0, 0, 2, 1583 227, 0, 0, 215, 0, 3, 0, 0, 0, 0, 1584 0, 0, 685, 686, 292, 0, 469, 150, 0, 0, 1585 2, 163, 127, 152, 0, 180, 0, 127, 0, 2, 1586 154, 0, 2, 0, 2, 2, 2, 194, 33, 292, 1587 512, 514, 505, 0, 0, 0, 0, 0, 3, 3, 1588 654, 626, 640, 676, 409, 127, 156, 159, 0, 158, 1589 162, 3, 165, 164, 0, 127, 182, 127, 3, 0, 1590 292, 0, 292, 0, 2, 0, 2, 137, 2, 228, 1591 229, 0, 225, 216, 699, 0, 0, 151, 0, 0, 1592 161, 231, 166, 2, 233, 181, 0, 184, 170, 199, 1593 3, 208, 212, 201, 3, 0, 292, 0, 292, 0, 1594 0, 0, 44, 42, 157, 160, 127, 0, 167, 292, 1595 127, 127, 0, 171, 0, 0, 690, 209, 210, 211, 1596 0, 200, 3, 202, 3, 292, 217, 230, 147, 168, 1597 153, 127, 234, 183, 178, 176, 172, 155, 127, 0, 1598 691, 0, 0, 0, 0, 148, 169, 179, 173, 177, 1599 176, 174, 3, 3, 0, 0, 491, 175, 203, 205, 1600 3, 3, 204, 206 1601 }; 1602 1603 /* YYDEFGOTO[NTERM-NUM]. */ 1604 static const yytype_int16 yydefgoto[] = 1605 { 1606 -1, 813, 468, 300, 47, 133, 134, 301, 302, 303, 1607 304, 305, 761, 762, 1133, 1134, 306, 381, 308, 309, 1608 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 1609 320, 1030, 518, 975, 546, 322, 976, 947, 1057, 1518, 1610 1059, 1060, 1061, 1062, 1519, 1063, 1064, 1437, 1438, 1401, 1611 1402, 1403, 1497, 1498, 1502, 1503, 1538, 1539, 1065, 1361, 1612 1066, 1067, 1298, 1299, 1300, 1480, 1068, 145, 953, 954, 1613 955, 1381, 1461, 1472, 1473, 469, 470, 874, 875, 1038, 1614 51, 52, 53, 54, 55, 347, 158, 58, 59, 60, 1615 61, 62, 349, 64, 65, 264, 67, 68, 274, 351, 1616 352, 71, 72, 73, 118, 75, 204, 354, 119, 78, 1617 120, 80, 81, 455, 82, 454, 688, 689, 690, 908, 1618 1086, 909, 83, 84, 458, 456, 696, 855, 856, 857, 1619 858, 699, 700, 701, 359, 360, 361, 362, 466, 340, 1620 135, 136, 522, 324, 170, 645, 646, 647, 648, 649, 1621 85, 121, 87, 489, 490, 939, 491, 277, 495, 325, 1622 88, 137, 138, 89, 1321, 1108, 1109, 1110, 1111, 90, 1623 91, 717, 92, 273, 93, 94, 187, 1032, 679, 412, 1624 125, 95, 501, 502, 503, 188, 268, 190, 191, 192, 1625 269, 98, 99, 100, 101, 102, 103, 104, 195, 196, 1626 197, 198, 199, 825, 605, 606, 607, 608, 200, 610, 1627 611, 612, 572, 573, 574, 575, 751, 105, 614, 615, 1628 616, 617, 618, 619, 968, 753, 754, 755, 595, 365, 1629 366, 367, 368, 326, 164, 107, 108, 109, 370, 694, 1630 569 1631 }; 1632 1633 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1634 STATE-NUM. */ 1635 #define YYPACT_NINF -1390 911 1636 static const yytype_int16 yypact[] = 912 1637 { 913 7 252, 8635, -1317, -3, -1317, -1317, -1317, -1317, -1317, -1317,914 -13 17, 23, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,915 -13 17, -1317, -1317, -1317, -1317, -1317, 81, 81, 81, 1277,916 970, 104, 7368, 277, -1317, -1317, -1317, -1317, -1317, 201,917 -13 17, -1317, -1317, 1047, 187, -1317, -1317, -1317, -1317, 5370,918 -13 17, -1317, -1317, -1317, 35, 48, -1317, 1328, -1317, -1317,919 -13 17, -1317, 235, 1663, 343, 98, 7484, -1317, -1317, 6174,920 1 066, -1317, -1317, 536, 376, 5540, 978, 1631, 536, 1775,921 -13 17, -1317, 477, 683, -1317, 536, 1892, -1317, 295, -1317,922 4 22, 489, -1317, -1317, -1317, -1317, 346, 48, 81, -1317,923 81, -1317, -1317, -1317, -1317, 9392, 1328, -1317, -1317, 1328,924 -13 17, 321, -1317, 9431, -1317, -1317, 2250, 9501, -1317, 668,925 668, 668, -1317, -1317, -1317, 81, -1317, -1317, -1317, 373,926 399, 410, -1317, -1317, -1317, 420, -1317, -1317, -1317, -1317,927 -13 17, 428, 450, -1317, -1317, 59, 8604, 2904, 144, 440,928 49 3, 498, 531, 544, 560, 8522, 6772, 510, 580, -1317,929 9 114, -1317, -1317, -1317, -1317, 584, -1317, 153, 4280, 4280,930 -13 17, 570, 283, -1317, -1317, -1317, -1317, 596, 288, 303,931 3 32, 81, 583, -1317, -1317, 1663, 2232, 648, -1317, 73,932 -13 17, 81, 81, 48, -1317, -1317, 80, -1317, 81, 81,933 -13 17, 3694, 599, 613, 668, 6565, -1317, -1317, 661, 5370,934 -13 17, -1317, 536, -1317, -1317, -1317, 48, -1317, 1328, 35,935 -13 17, 7675, -1317, 668, 668, 668, 48, -1317, 1277, -1317,936 5446, -1317, -1317, 620, 668, -1317, 668, -1317, 201, 8604,937 -13 17, 673, -1317, 970, 692, 668, -1317, 1277, 697, 707,938 -13 17, 7368, 576, -1317, -1317, -1317, 4822, -1317, -1317, 9720,939 -13 17, 648, 165, 10347, 9501, 2250, 3694, -1317, 109, -1317,940 -13 17, 9431, 1328, 743, 7515, -1317, -1317, 306, -1317, 10675,941 7 70, 800, 2676, 801, 10480, 10499, -1317, 813, -1317, -1317,942 -13 17, -1317, 10556, 10556, 8378, 795, -1317, -1317, -1317, -1317,943 -13 17, -1317, 842, -1317, 685, 1919, 8717, 10480, -1317, 652,944 325, 507, 317, 581, 826, 820, 823, 861, 111, -1317,945 -13 17, 827, 703, -1317, 452, -1317, -1317, 2904, -1317, -1317,946 278, 856, -1317, 636, 856, 866, 201, -1317, -1317, 872,947 9392, -1317, 876, 887, 8830, -1317, -1317, 1020, 2049, 8093,948 6565, 536, -1317, 536, 668, 668, -1317, -1317, -1317, -1317,949 -13 17, -1317, 668, 9392, 1328, -1317, -1317, 9540, 1233, -1317,950 7824, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 891, 4627,951 10480, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,952 -13 17, -1317, -1317, -1317, -1317, 2250, -1317, 552, 901, 904,953 91 2, 862, 920, 922, 924, 2232, -1317, -1317, 932, 35,954 936, -1317, -1317, 939, -1317, -1317, -1317, 4822, -1317, -1317,955 -13 17, -1317, -1317, 3694, -1317, 8604, 8604, -1317, 668, 2250,956 6684, 1328, 8166, -1317, -1317, -1317, -1317, 4822, 165, -1317,957 -13 17, 536, 48, -1317, -1317, 4822, -1317, 6449, -1317, -1317,958 668, 668, 484, 8011, 938, 941, 931, 952, 668, -1317,959 -13 17, -1317, -1317, 9797, -1317, 578, 6327, -1317, 48, 955,960 -1317, 2250, 10757, 10404, -1317, -1317, -1317, -1317, 881, 3694,961 -1317, 8239, 648, 3545, -1317, -1317, -1317, 1641, 586, 827,962 970, 7515, 592, 9431, -1317, 7515, -1317, -1317, -1317, -1317,963 603, -1317, 967, 800, 215, 8378, -1317, 9570, -1317, -1317,964 8378, -1317, 8491, 8378, -1317, -1317, 966, -1317, 617, 973,965 839, 983, -1317, -1317, 9253, 6415, -1317, 247, -1317, -1317,966 10347, -1317, 330, 10347, -1317, -1317, -1317, -1317, -1317, -1317,967 -13 17, -1317, -1317, -1317, -1317, 10347, -1317, -1317, 10480, 10480,968 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480,969 10480, 10480, 10480, 10480, 10480, 10480, 4526, 10347, -1317, 703,970 751, -1317, -1317, 81, 81, -1317, -1317, 8604, -1317, -1317,971 939, 576, -1317, 939, 10423, -1317, -1317, -1317, 8975, 6415,972 968, 976, -1317, 9501, -1317, -1317, 584, -1317, 990, 769,973 999, 3014, 124, 827, -1317, 81, 81, 827, 125, -1317,974 81, 81, 939, -1317, -1317, 81, 81, -1317, 856, 9652,975 1328, 10902, 151, 358, 9652, -1317, 9720, -1317, 827, -1317,976 9392, -1317, 147, 7790, 7790, 7790, 1328, -1317, 5708, 982,977 891, 1167, 995, 996, -1317, 1011, 4280, 230, -1317, 1103,978 1 328, 7790, 576, 2250, 576, 648, 671, 856, -1317, -1317,979 694, 856, -1317, -1317, -1317, 800, -1317, 856, 48, 9797,980 -1317, 621, 1024, 640, 1026, -1317, 1030, 48, -1317, -1317,981 4822, 48, 1032, 9570, 1037, -1317, 1585, -1317, 335, 390,982 970, -1317, 970, 1023, 10480, -1317, 970, 10902, -1317, -1317,983 1034, -1317, -1317, -1317, 576, -1317, 10830, 887, -1317, 7790,984 859, 8093, -1317, -1317, 584, 1025, 1036, 1641, 3247, -1317,985 -13 17, 7515, -1317, -1317, 1039, -1317, -1317, 1043, -1317, 1039,986 10 48, 10675, 10347, 67, 1027, 133, 1053, 1061, 1068, 1069,987 -1317, 1072, 1074, 9362, 6534, -1317, 10347, -1317, 839, 2140,988 -1317, -1317, -1317, 81, 81, 10290, 10347, 1070, -1317, -1317,989 675, -1317, 10347, -1317, -1317, 644, -1317, -1317, -1317, -1317,990 652, 652, 325, 325, 507, 507, 507, 507, 317, 317,991 581, 826, 820, 823, 861, 10480, 333, -1317, 9797, 1079,992 10 80, 1081, 751, -1317, -1317, -1317, -1317, -1317, 9797, 700,993 7790, -1317, 9392, -1317, 6891, 8943, -1317, 7824, 6772, -1317,994 -13 17, 769, 9797, 917, 1082, 1083, 1084, 1087, 1088, 1089,995 10 91, -1317, 4955, 3014, -1317, -1317, -1317, -1317, -1317, -1317,996 -13 17, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,997 -13 17, 939, -1317, -1317, -1317, 827, -1317, -1317, -1317, -1317,998 -13 17, -1317, -1317, -1317, 1098, -1317, 1099, 1101, -1317, -1317,999 35, 1070, 5708, -1317, -1317, -1317, 4627, 1102, -1317, -1317,1000 -13 17, -1317, 970, 5944, 1191, -1317, -1317, -1317, -1317, 1094,1001 35, -1317, -1317, 939, -1317, -1317, 939, 24, 939, -1317,1002 -13 17, -1317, -1317, -1317, -1317, 9223, -1317, 48, -1317, -1317,1003 432, 441, 9540, 7010, 2348, 10480, 3377, -1317, -1317, 1092,1004 94, 1092, -1317, 970, -1317, 81, -1317, -1317, 8748, 931,1005 -1317, -1317, -1317, 941, 1116, 1111, -1317, -1317, 1118, 1119,1006 -1317, 859, 2430, -1317, 455, -1317, 3247, 827, -1317, 1122,1007 7515, 9682, 8604, 1125, -1317, -1317, 1130, 1135, 1124, -1317,1008 10480, 166, 222, 1132, -1317, 1138, 576, 1138, -1317, -1317,1009 1138, 1137, -1317, 1145, 1147, 1148, 2140, -1317, -1317, -1317,1010 4627, -1317, -1317, -1317, -1317, 1143, 10347, 1149, 576, -1317,1011 10347, -1317, 576, -1317, -1317, 10347, -1317, 721, 856, -1317,1012 -13 17, -1317, -1317, -1317, -1317, -1317, 891, 887, 8830, -1317,1013 -13 17, 7129, 1152, -1317, 731, 856, -1317, 745, 763, 856,1014 -1317, 668, 5561, -1317, -1317, -1317, 9797, 9797, -1317, 8166,1015 8 166, -1317, 1154, 1156, 1153, 1155, -1317, 1168, 460, 196,1016 1070, -1317, 576, -1317, 4280, -1317, 10347, 474, -1317, 6296,1017 1159, 1170, 10233, 1172, 1175, -14, 3, 11, 10347, 1179,1018 48, 10347, 10347, 1160, 1177, 282, 1161, -1317, -1317, -1317,1019 1180, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,1020 970, 1184, 10347, -1317, 9797, 9797, 81, 1188, -1317, 8861,1021 -1317, -1317, 809, -1317, 3377, -1317, -1317, -1317, -1317, 1585,1022 -1317, -1317, 1185, -1317, -1317, -1317, -1317, 1193, 2430, -1317,1023 -13 17, 1176, -1317, 1039, -1317, -1317, 2250, 1196, -1317, -1317,1024 -13 17, 709, 1198, -1317, 133, 1202, 10480, 1186, 133, 133,1025 1211, 9253, 789, 856, -1317, -1317, 1011, 10347, 1214, 1143,1026 505, 224, 1217, -1317, -1317, 1218, 1217, -1317, -1317, 1226,1027 -1317, -1317, 939, 1228, 1230, 6653, 1231, 1232, 1243, -1317,1028 -13 17, 1246, -1317, -1317, 939, -1317, -1317, -1317, -1317, 939,1029 10347, 10347, 887, 1245, -1317, -1317, -1317, -1317, -1317, -1317,1030 -13 17, -1317, -1317, -1317, -1317, -1317, 10480, 10480, 1247, 1251,1031 12 17, -1317, -1317, 970, -1317, -1317, -1317, 4468, 9682, 10347,1032 10 347, 1311, 10347, -1317, 1234, -1317, 1237, -1317, 1239, 10347,1033 1241, 10347, 1049, 1244, 26, 81, 9084, 750, -1317, -1317,1034 5944, 1267, 481, -1317, -1317, -1317, -1317, -1317, -1317, -1317,1035 -13 17, -1317, 10053, -1317, 8239, 1274, -1317, -1317, 9682, 482,1036 512, -1317, 1272, 1259, 800, 1280, -1317, 245, -1317, -1317,1037 -13 17, -1317, 939, 1279, -1317, -1317, 1287, 385, 444, 576,1038 1293, -1317, 1294, -1317, 9797, -1317, -1317, -1317, -1317, -1317,1039 1295, -1317, 9797, 9797, 9797, -1317, -1317, 1297, -1317, 1298,1040 128 2, 1305, 511, 7863, 7978, -1317, -1317, 348, -1317, 1304,1041 1 310, -1317, 8312, 712, 734, 1308, 739, 6143, -1317, -1317,1042 -13 17, 515, -1317, 765, 1318, 1320, 48, 1371, 879, -1317,1043 -13 17, 10347, -1317, 10233, 10347, -1317, -1317, -1317, 1322, 1329,1044 -1317, -1317, -1317, 1324, -1317, -1317, -1317, -1317, -1317, -1317,1045 9682, 800, 265, -1317, 1309, 800, 9797, -1317, -1317, -1317,1046 -13 17, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317,1047 -13 17, 1330, 1331, -1317, -1317, -1317, -1317, -1317, -1317, -1317,1048 1334, -1317, 1333, -1317, -1317, 10233, 143, 10347, 10233, -1317,1049 1338, 10347, -1317, 259, 1354, 1356, -1317, -1317, 1346, 1347,1050 13 26, -1317, 880, -1317, -1317, -1317, 1328, 2250, 1345, 842,1051 364, 10480, -1317, 774, -1317, 576, 576, 1352, 1355, 1357,1052 136 0, -1317, -1317, 8166, 1358, -1317, 1436, 10480, 1349, -1317,1053 -13 17, 10145, -1317, 783, -1317, 1350, 10233, 1359, -1317, -1317,1054 1378, -1317, 1379, -1317, 1394, 1396, -1317, 1361, 9682, -1317,1055 -13 17, -1317, 800, 576, 1386, 1367, 1392, 1217, 1217, -1317,1056 -13 17, -1317, -1317, -1317, 10233, 275, -1317, 384, -1317, -1317,1057 7600, -1317, -1317, 1375, 10347, -1317, 10347, 7600, 48, 9570,1058 48, 9570, 1393, -1317, 1398, -1317, -1317, 1395, 842, -1317,1059 798, -1317, -1317, -1317, 1399, 1401, -1317, 10480, 10480, -1317,1060 -13 17, 964, 167, -1317, -1317, 1388, -1317, 964, -1317, -1317,1061 2461, 576, -1317, -1317, 48, 9570, 48, 9570, 1409, 1390,1062 576, -1317, -1317, -1317, -1317, 10145, 1410, 964, 5861, 10347,1063 10 057, 1412, 964, 1414, 2461, 3613, -1317, -1317, -1317, 1420,1064 -1317, -1317, -1317, -1317, 8604, -1317, -1317, -1317, 9924, -1317,1065 10145, -1317, -1317, 1402, 9836, -1317, -1317, 10057, 48, 3613,1066 48, 1421, 1429, 817, -1317, 9924, -1317, -1317, -1317, 9836,1067 -1317, -1317, -1317, 48, 48, -1317, -1317, -1317, -1317, -1317,1068 -13 17, -1317, -13171638 7429, 6461, -1390, -8, -1390, -1390, -1390, -1390, -1390, -1390, 1639 -1390, -23, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 1640 -1390, -1390, -1390, -1390, -1390, -1390, 91, 91, 91, 1566, 1641 744, 60, 7661, 126, -1390, -1390, -1390, -1390, -1390, 146, 1642 -1390, -1390, -1390, 775, 200, -1390, -1390, -1390, -1390, 5932, 1643 -1390, -1390, -1390, -1390, 110, 203, -1390, 1684, -1390, -1390, 1644 -1390, -1390, 214, 2010, 360, 114, 7777, -1390, -1390, 9536, 1645 1247, -1390, -1390, 1362, 444, 2238, 717, 552, 1362, 1870, 1646 -1390, -1390, 837, 759, -1390, 1362, 1917, -1390, 226, -1390, 1647 415, 453, -1390, -1390, -1390, -1390, 349, 203, 91, -1390, 1648 91, -1390, -1390, -1390, -1390, 2963, 1684, -1390, -1390, 1684, 1649 -1390, 342, -1390, 8264, -1390, -1390, 2329, 9075, -1390, 1671, 1650 1671, 1671, -1390, -1390, -1390, 91, -1390, -1390, -1390, 422, 1651 442, 463, -1390, -1390, -1390, 475, -1390, -1390, -1390, -1390, 1652 -1390, 487, 492, -1390, -1390, 41, 9044, 2498, 571, 409, 1653 496, 499, 523, 533, 543, 5546, 6949, 548, 579, -1390, 1654 9574, -1390, -1390, -1390, -1390, 586, -1390, 116, 4885, 4885, 1655 -1390, 602, 204, -1390, -1390, -1390, -1390, 626, 243, 344, 1656 351, 91, 531, -1390, -1390, 2010, 3286, 695, -1390, 42, 1657 -1390, 91, 91, 203, -1390, -1390, 65, -1390, 91, 91, 1658 -1390, 3459, 673, 690, 1671, 6742, -1390, -1390, 702, 5932, 1659 -1390, -1390, 1362, -1390, -1390, -1390, 203, -1390, 1684, 110, 1660 -1390, 8115, -1390, 1671, 1671, 1671, 203, -1390, 1566, -1390, 1661 4853, -1390, -1390, 703, 1671, -1390, 1671, -1390, 146, 9044, 1662 -1390, 726, -1390, 744, 749, 1671, -1390, 1566, 724, 743, 1663 -1390, 7661, 590, -1390, -1390, -1390, 9503, -1390, -1390, 5769, 1664 -1390, 695, 158, 10287, 9075, 2329, 3459, -1390, 80, -1390, 1665 -1390, 8264, 1684, 765, 7808, -1390, -1390, 362, -1390, 10539, 1666 797, 846, 3526, 825, 3896, 4720, -1390, 843, -1390, -1390, 1667 -1390, -1390, 10420, 10420, 8818, 845, -1390, -1390, -1390, -1390, 1668 -1390, -1390, -1390, 883, -1390, 1119, 1947, 9157, 3896, -1390, 1669 619, 651, 614, 309, 714, 823, 850, 853, 891, 100, 1670 -1390, -1390, 866, 558, -1390, 120, -1390, -1390, 2498, -1390, 1671 -1390, 443, 892, -1390, 450, 892, 895, 146, -1390, -1390, 1672 900, 2963, -1390, 898, 901, 9270, -1390, -1390, 1091, 1646, 1673 8533, 6742, 1362, -1390, 1362, 1671, 1671, -1390, -1390, -1390, 1674 -1390, -1390, -1390, 1671, 2963, 1684, -1390, -1390, 9188, 1515, 1675 -1390, 4463, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 903, 1676 6164, 3896, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 1677 -1390, -1390, -1390, -1390, -1390, -1390, 2329, -1390, 814, 908, 1678 913, 916, 859, 918, 921, 922, 3286, -1390, -1390, 927, 1679 110, 905, -1390, -1390, 926, -1390, -1390, -1390, 9503, -1390, 1680 -1390, -1390, -1390, -1390, 3459, -1390, 9044, 9044, -1390, 1671, 1681 2329, 6861, 1684, 8606, -1390, -1390, -1390, -1390, 9503, 158, 1682 -1390, -1390, 1362, 203, -1390, -1390, 9503, -1390, 5584, -1390, 1683 -1390, 1671, 1671, 300, 4617, 934, 933, 925, 950, 1671, 1684 -1390, -1390, -1390, -1390, 9803, -1390, 408, 6623, -1390, 203, 1685 965, -1390, 2329, 10621, 10344, -1390, -1390, -1390, -1390, 932, 1686 3459, -1390, 8679, 695, 7545, -1390, -1390, -1390, 907, 412, 1687 866, 744, 7808, 994, 8264, -1390, 7808, -1390, -1390, -1390, 1688 -1390, 554, -1390, 953, 846, 236, 8818, -1390, 9301, -1390, 1689 -1390, 8818, -1390, 8931, 8818, -1390, -1390, 969, -1390, 637, 1690 972, 583, 973, -1390, -1390, 9650, 6592, -1390, 268, -1390, 1691 -1390, 10287, -1390, 318, 10287, -1390, -1390, -1390, -1390, -1390, 1692 -1390, -1390, -1390, -1390, -1390, -1390, 10287, -1390, -1390, 3896, 1693 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 1694 3896, 3896, 3896, 3896, 3896, 3896, 3896, 5176, 10287, -1390, 1695 558, 1665, -1390, -1390, 91, 91, -1390, -1390, 9044, -1390, 1696 -1390, 926, 590, -1390, 926, 10363, -1390, -1390, -1390, 5001, 1697 6592, 974, 975, -1390, 9075, -1390, -1390, 586, -1390, 976, 1698 286, 979, 1959, 99, 866, -1390, 91, 91, 866, 122, 1699 -1390, 91, 91, 926, -1390, -1390, 91, 91, -1390, 892, 1700 9421, 1684, 10766, 260, 339, 9421, -1390, 5769, -1390, 866, 1701 -1390, 2963, -1390, 183, 8230, 8230, 8230, 1684, -1390, 10173, 1702 963, 903, 538, 964, 967, -1390, 985, 4885, 427, -1390, 1703 1073, 1684, 8230, 590, 2329, 590, 695, 727, 892, -1390, 1704 -1390, 771, 892, -1390, -1390, -1390, 846, -1390, 892, 203, 1705 9803, -1390, 647, 995, 650, 996, -1390, 997, 203, -1390, 1706 -1390, 9503, 203, 998, 9301, 999, -1390, 1616, -1390, 384, 1707 407, 744, -1390, 744, 1002, 3896, -1390, 744, 10766, -1390, 1708 -1390, 1000, -1390, -1390, -1390, 590, -1390, 10694, 901, -1390, 1709 8230, 596, 8533, -1390, -1390, 586, 1003, 1004, 907, 2842, 1710 -1390, -1390, 7808, -1390, -1390, 1007, -1390, -1390, 1018, -1390, 1711 1007, 1019, 10539, 10287, 983, 1009, 88, 1022, 1012, 1023, 1712 1025, -1390, 1026, 1032, 9688, 6711, -1390, 10287, -1390, 583, 1713 1835, -1390, -1390, -1390, 91, 91, 10230, 10287, 1027, -1390, 1714 -1390, 657, -1390, 10287, -1390, -1390, 706, -1390, -1390, -1390, 1715 -1390, 619, 619, 651, 651, 614, 614, 614, 614, 309, 1716 309, 714, 823, 850, 853, 891, 3896, 237, -1390, 9803, 1717 1035, 1038, 1041, 1665, -1390, -1390, -1390, -1390, -1390, 9803, 1718 664, 8230, -1390, 2963, -1390, 7068, 9383, -1390, 4463, 6949, 1719 -1390, -1390, 286, 9803, 944, 1045, 1046, 1048, 1049, 1050, 1720 1052, 1054, -1390, 3725, 1959, -1390, -1390, -1390, -1390, -1390, 1721 -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 1722 -1390, -1390, 926, -1390, -1390, -1390, 866, -1390, -1390, -1390, 1723 -1390, -1390, -1390, -1390, -1390, 1060, -1390, 1061, 1068, -1390, 1724 -1390, 110, 1027, 10173, -1390, -1390, -1390, 6164, 1064, -1390, 1725 -1390, -1390, -1390, 744, 6295, 1153, -1390, -1390, -1390, -1390, 1726 1053, 110, -1390, -1390, 926, -1390, -1390, 926, 1076, 926, 1727 -1390, -1390, -1390, -1390, -1390, -1390, 9612, -1390, 203, -1390, 1728 -1390, 437, 460, 9188, 7187, 1990, 3896, 3131, -1390, -1390, 1729 1063, 87, 1063, -1390, 744, -1390, 91, -1390, -1390, 8451, 1730 925, -1390, -1390, -1390, 933, 1080, 1067, -1390, -1390, 1084, 1731 1097, -1390, 596, 1850, -1390, 502, -1390, 2842, 866, -1390, 1732 1088, 7808, 9721, 9044, 1100, -1390, -1390, 1096, 1104, 1085, 1733 -1390, 3896, 1107, 250, 1102, -1390, 1105, 590, 1105, -1390, 1734 -1390, 1105, 1108, -1390, 1111, 1112, 1114, 1835, -1390, -1390, 1735 -1390, 6164, -1390, -1390, -1390, -1390, 1122, 10287, 1115, 590, 1736 -1390, 10287, -1390, 590, -1390, -1390, 10287, -1390, 776, 892, 1737 -1390, -1390, -1390, -1390, -1390, -1390, -1390, 903, 901, 9270, 1738 -1390, -1390, 7306, 1125, -1390, 791, 892, -1390, 804, 829, 1739 892, -1390, 1671, 4154, -1390, -1390, -1390, 9803, 9803, -1390, 1740 8606, 8606, -1390, 1126, 1127, 1135, 1137, -1390, 1146, 615, 1741 233, 1027, -1390, 590, -1390, 4885, -1390, 10287, 491, -1390, 1742 6430, 1140, 1150, 10116, 1152, 1157, 46, 55, 198, 10287, 1743 1158, 203, 10287, 10287, 1132, 1156, 335, 1138, -1390, -1390, 1744 -1390, 1161, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 1745 -1390, 744, 1172, 10287, -1390, 9803, 9803, 91, 1174, -1390, 1746 8962, -1390, -1390, 742, -1390, 3131, -1390, -1390, -1390, -1390, 1747 1616, -1390, -1390, 1175, -1390, -1390, -1390, -1390, 1177, 1850, 1748 -1390, -1390, 1143, -1390, 1007, -1390, -1390, 2329, 1176, -1390, 1749 -1390, -1390, 669, 1183, -1390, 88, 1180, 3896, 1168, 88, 1750 88, 1192, 9650, 836, 892, -1390, -1390, 985, 10287, 1193, 1751 1122, 467, 193, 1188, -1390, -1390, 1200, 1188, -1390, -1390, 1752 1207, -1390, -1390, 926, 1209, 1213, 6830, 1212, 1215, 1218, 1753 -1390, -1390, 1221, -1390, -1390, 926, -1390, -1390, -1390, -1390, 1754 926, 10287, 10287, 901, 1225, -1390, -1390, -1390, -1390, -1390, 1755 -1390, -1390, -1390, -1390, -1390, -1390, -1390, 3896, 3896, 1234, 1756 1237, 1188, -1390, -1390, 744, -1390, -1390, -1390, 8042, 9721, 1757 10287, 10287, 1305, 10287, -1390, 1226, -1390, 1231, -1390, 1240, 1758 10287, 1241, 10287, 1001, 1242, 20, 91, 5155, 1894, -1390, 1759 -1390, 6295, 1260, 500, -1390, -1390, -1390, -1390, -1390, -1390, 1760 -1390, -1390, -1390, 9936, -1390, 8679, 1269, -1390, -1390, 9721, 1761 512, 513, -1390, 1272, 1227, 846, 1278, -1390, 312, -1390, 1762 -1390, -1390, -1390, 926, 1274, -1390, -1390, 1279, 337, 462, 1763 590, 1280, -1390, 1281, -1390, 9803, -1390, -1390, -1390, -1390, 1764 -1390, 1283, -1390, 9803, 9803, 9803, -1390, -1390, 1285, -1390, 1765 1286, 1290, 1292, 640, 8303, 8418, -1390, -1390, 474, -1390, 1766 1291, 1295, -1390, 8752, 682, 684, 1299, 686, 6096, -1390, 1767 -1390, -1390, 534, -1390, 707, 1302, 1306, 203, 1344, 831, 1768 -1390, -1390, 10287, -1390, 10116, 10287, -1390, -1390, -1390, 1304, 1769 1315, -1390, -1390, -1390, 1312, -1390, -1390, -1390, -1390, -1390, 1770 -1390, 9721, 846, 1319, -1390, 1297, 846, 9803, -1390, -1390, 1771 -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, -1390, 1772 -1390, -1390, 1318, 1322, -1390, -1390, -1390, -1390, -1390, -1390, 1773 -1390, 1334, -1390, 1333, -1390, -1390, 10116, 104, 10287, 10116, 1774 -1390, 1336, 10287, -1390, 264, 1351, 1360, -1390, -1390, 1349, 1775 1350, 1328, -1390, 779, -1390, -1390, -1390, 1684, 2329, 1346, 1776 -1390, 298, 3896, -1390, 716, -1390, 590, 590, 1353, 1358, 1777 1364, 1366, -1390, -1390, 8606, 1363, -1390, 1438, 3896, 1352, 1778 -1390, -1390, 10028, -1390, 729, -1390, 1355, 10116, 1359, -1390, 1779 -1390, 1373, -1390, 1374, -1390, 1389, 1394, -1390, 1365, 9721, 1780 -1390, -1390, -1390, 846, 590, 1384, 1369, 1386, 1188, 1188, 1781 -1390, -1390, -1390, -1390, -1390, 10116, 235, -1390, 348, -1390, 1782 -1390, 7893, -1390, -1390, 1370, 10287, -1390, 10287, 7893, 203, 1783 9301, 203, 9301, 1388, -1390, 1393, -1390, -1390, 1395, -1390, 1784 -1390, 756, -1390, -1390, -1390, 1392, 1397, -1390, 3896, 3896, 1785 -1390, -1390, 873, 135, -1390, -1390, 1382, -1390, 873, -1390, 1786 -1390, 2111, 590, -1390, -1390, 203, 9301, 203, 9301, 1410, 1787 1391, 590, -1390, -1390, -1390, -1390, 10028, 1405, 873, 7969, 1788 10287, 9940, 1406, 873, 1415, 2111, 3145, -1390, -1390, -1390, 1789 1416, -1390, -1390, -1390, -1390, 9044, -1390, -1390, -1390, 9807, 1790 -1390, 10028, -1390, -1390, 1400, 5404, -1390, -1390, 9940, 203, 1791 3145, 203, 1417, 1425, 760, -1390, 9807, -1390, -1390, -1390, 1792 5404, -1390, -1390, -1390, 203, 203, -1390, -1390, -1390, -1390, 1793 -1390, -1390, -1390, -1390 1069 1794 }; 1070 1795 1071 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1072 Performed when YYTABLE does not specify something else to do. Zero 1073 means the default is an error. */ 1074 static const yytype_uint16 yydefact[] = 1075 { 1076 291, 291, 311, 309, 312, 310, 313, 314, 297, 299, 1077 298, 0, 300, 325, 317, 322, 320, 321, 319, 318, 1078 323, 324, 329, 326, 327, 328, 544, 544, 544, 0, 1079 0, 0, 291, 217, 301, 315, 316, 7, 356, 0, 1080 8, 14, 15, 0, 2, 60, 61, 562, 9, 291, 1081 522, 520, 244, 3, 451, 3, 257, 0, 3, 3, 1082 3, 245, 3, 0, 0, 0, 292, 293, 295, 291, 1083 304, 307, 337, 283, 330, 335, 284, 345, 285, 352, 1084 349, 359, 0, 0, 360, 286, 470, 474, 3, 3, 1085 0, 2, 516, 521, 526, 296, 0, 0, 544, 574, 1086 544, 2, 585, 586, 587, 291, 0, 728, 729, 0, 1087 12, 0, 13, 291, 267, 268, 0, 292, 287, 288, 1088 289, 290, 523, 302, 389, 545, 546, 367, 368, 12, 1089 442, 443, 11, 438, 441, 0, 500, 495, 486, 442, 1090 443, 0, 0, 525, 218, 0, 291, 0, 0, 0, 1091 0, 0, 0, 0, 0, 291, 291, 2, 0, 730, 1092 292, 579, 591, 734, 727, 725, 732, 0, 0, 0, 1093 251, 2, 0, 529, 436, 437, 435, 0, 0, 0, 1094 0, 544, 0, 631, 632, 0, 0, 542, 538, 544, 1095 559, 544, 544, 540, 2, 539, 544, 598, 544, 544, 1096 601, 0, 0, 0, 291, 291, 309, 357, 2, 291, 1097 258, 294, 305, 338, 350, 475, 0, 2, 0, 451, 1098 259, 292, 331, 346, 353, 471, 0, 2, 0, 308, 1099 332, 339, 340, 0, 347, 351, 354, 358, 443, 291, 1100 369, 362, 366, 0, 391, 472, 476, 0, 0, 0, 1101 1, 291, 2, 527, 573, 575, 291, 2, 738, 292, 1102 741, 542, 542, 0, 292, 0, 0, 270, 544, 540, 1103 2, 291, 0, 0, 291, 547, 2, 498, 2, 551, 1104 0, 0, 0, 0, 0, 0, 18, 57, 4, 5, 1105 6, 16, 0, 0, 291, 2, 62, 63, 64, 65, 1106 45, 19, 46, 22, 44, 66, 291, 0, 69, 73, 1107 76, 79, 84, 87, 89, 91, 93, 95, 97, 102, 1108 492, 748, 449, 491, 0, 447, 448, 0, 563, 578, 1109 581, 584, 590, 593, 596, 356, 0, 2, 736, 0, 1110 291, 739, 2, 60, 291, 3, 423, 0, 431, 292, 1111 291, 304, 330, 284, 345, 352, 3, 3, 405, 409, 1112 419, 424, 470, 291, 425, 703, 704, 291, 426, 428, 1113 291, 2, 580, 592, 726, 2, 2, 246, 2, 456, 1114 0, 454, 453, 452, 138, 2, 2, 248, 2, 2, 1115 247, 2, 278, 2, 279, 0, 277, 0, 0, 0, 1116 0, 0, 0, 0, 0, 0, 564, 603, 0, 451, 1117 2, 558, 567, 657, 560, 561, 530, 291, 2, 597, 1118 606, 599, 600, 0, 273, 291, 291, 336, 292, 0, 1119 292, 0, 291, 731, 735, 733, 531, 291, 542, 252, 1120 260, 306, 0, 2, 532, 291, 496, 333, 334, 280, 1121 348, 355, 0, 291, 0, 746, 396, 0, 473, 497, 1122 249, 250, 517, 291, 433, 0, 291, 234, 0, 2, 1123 236, 0, 292, 0, 254, 2, 255, 275, 0, 0, 1124 2, 291, 542, 291, 483, 485, 484, 0, 0, 748, 1125 0, 291, 0, 291, 487, 291, 557, 555, 556, 554, 1126 0, 549, 552, 0, 0, 291, 52, 291, 66, 47, 1127 291, 54, 291, 291, 50, 51, 2, 124, 0, 0, 1128 445, 0, 444, 725, 118, 291, 17, 0, 29, 30, 1129 35, 2, 0, 35, 108, 109, 110, 111, 112, 113, 1130 114, 115, 116, 117, 107, 0, 48, 49, 0, 0, 1131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1132 0, 0, 0, 0, 0, 0, 0, 0, 104, 2, 1133 643, 450, 640, 544, 544, 648, 477, 291, 2, 582, 1134 583, 0, 594, 595, 0, 2, 737, 740, 118, 291, 1135 0, 2, 705, 292, 709, 700, 701, 707, 0, 2, 1136 2, 665, 544, 748, 614, 544, 544, 748, 544, 628, 1137 544, 544, 679, 432, 662, 544, 544, 670, 677, 291, 1138 427, 292, 0, 0, 291, 715, 292, 720, 748, 712, 1139 291, 717, 748, 291, 291, 291, 0, 118, 0, 18, 1140 2, 0, 19, 0, 457, 746, 0, 0, 463, 238, 1141 0, 291, 0, 0, 0, 542, 566, 570, 572, 602, 1142 605, 609, 612, 565, 604, 0, 281, 655, 0, 291, 1143 274, 0, 0, 0, 0, 272, 2, 0, 256, 533, 1144 291, 0, 0, 291, 2, 361, 381, 370, 0, 0, 1145 375, 369, 747, 0, 0, 394, 0, 292, 3, 412, 1146 3, 416, 415, 588, 0, 528, 291, 60, 3, 291, 1147 431, 292, 3, 425, 426, 2, 0, 0, 0, 482, 1148 303, 291, 478, 480, 3, 2, 2, 0, 499, 3, 1149 0, 551, 126, 0, 0, 219, 0, 0, 0, 0, 1150 36, 0, 0, 118, 291, 20, 0, 21, 0, 689, 1151 694, 446, 686, 544, 544, 0, 105, 3, 2, 27, 1152 0, 33, 0, 2, 25, 0, 103, 70, 71, 72, 1153 74, 75, 77, 78, 82, 83, 80, 81, 85, 86, 1154 88, 90, 92, 94, 96, 0, 0, 749, 291, 0, 1155 0, 0, 644, 645, 641, 642, 494, 493, 291, 0, 1156 291, 711, 291, 716, 292, 291, 659, 291, 291, 702, 1157 658, 2, 291, 0, 0, 0, 0, 0, 0, 0, 1158 0, 680, 0, 666, 617, 633, 667, 2, 613, 620, 1159 429, 615, 616, 430, 2, 627, 636, 629, 630, 663, 1160 664, 678, 706, 710, 708, 748, 265, 2, 742, 2, 1161 420, 714, 719, 421, 0, 399, 3, 3, 3, 3, 1162 451, 3, 0, 2, 465, 462, 747, 0, 458, 2, 1163 461, 464, 0, 291, 239, 261, 3, 269, 271, 0, 1164 451, 2, 568, 569, 2, 607, 608, 0, 656, 534, 1165 3, 342, 341, 344, 343, 291, 535, 0, 536, 369, 1166 0, 0, 291, 291, 0, 0, 689, 379, 382, 386, 1167 544, 386, 385, 378, 371, 544, 373, 376, 291, 396, 1168 390, 101, 397, 746, 0, 0, 434, 237, 0, 0, 1169 3, 2, 665, 427, 0, 524, 0, 748, 486, 0, 1170 291, 291, 291, 0, 548, 550, 127, 0, 0, 212, 1171 0, 0, 0, 220, 221, 53, 0, 55, 58, 59, 1172 0, 2, 125, 0, 0, 0, 690, 691, 687, 688, 1173 456, 67, 68, 106, 122, 3, 105, 0, 0, 24, 1174 35, 3, 0, 32, 99, 0, 3, 647, 651, 654, 1175 646, 3, 589, 3, 713, 718, 2, 60, 291, 3, 1176 3, 292, 0, 3, 619, 623, 626, 635, 669, 673, 1177 676, 291, 3, 618, 634, 668, 291, 291, 422, 291, 1178 291, 743, 0, 0, 0, 0, 253, 0, 101, 0, 1179 3, 3, 0, 459, 0, 455, 0, 0, 242, 291, 1180 0, 0, 126, 0, 0, 0, 0, 0, 126, 0, 1181 0, 105, 105, 18, 2, 0, 0, 3, 128, 129, 1182 2, 140, 130, 131, 132, 133, 134, 135, 142, 144, 1183 0, 0, 0, 282, 291, 291, 544, 0, 537, 291, 1184 372, 374, 0, 388, 690, 383, 387, 384, 377, 381, 1185 364, 395, 0, 576, 2, 661, 660, 0, 666, 2, 1186 479, 481, 501, 3, 509, 510, 0, 2, 505, 3, 1187 3, 0, 0, 553, 219, 0, 0, 0, 219, 0, 1188 0, 118, 693, 697, 699, 692, 746, 105, 0, 3, 1189 658, 39, 3, 37, 34, 0, 3, 98, 100, 0, 1190 2, 649, 650, 0, 0, 291, 0, 0, 0, 3, 1191 635, 0, 2, 621, 622, 2, 637, 2, 671, 672, 1192 0, 0, 60, 0, 3, 3, 3, 3, 407, 406, 1193 410, 2, 2, 745, 744, 119, 0, 0, 0, 0, 1194 3, 460, 3, 0, 240, 143, 3, 292, 291, 0, 1195 0, 0, 0, 2, 0, 188, 0, 186, 0, 0, 1196 0, 0, 0, 0, 0, 544, 118, 0, 148, 145, 1197 291, 0, 0, 264, 276, 3, 3, 543, 610, 365, 1198 380, 393, 291, 263, 291, 0, 512, 489, 291, 0, 1199 0, 488, 503, 0, 0, 0, 213, 0, 222, 56, 1200 2, 695, 696, 0, 123, 120, 0, 0, 0, 0, 1201 0, 23, 0, 652, 291, 577, 262, 721, 722, 723, 1202 0, 674, 291, 291, 291, 3, 3, 0, 682, 0, 1203 0, 0, 0, 291, 291, 3, 541, 119, 467, 0, 1204 0, 243, 292, 0, 0, 0, 0, 291, 189, 187, 1205 184, 0, 190, 0, 0, 0, 0, 194, 197, 195, 1206 191, 0, 192, 126, 35, 141, 139, 241, 0, 0, 1207 414, 418, 417, 0, 506, 2, 507, 2, 508, 502, 1208 291, 225, 0, 223, 0, 225, 291, 31, 121, 2, 1209 42, 2, 40, 38, 28, 26, 3, 724, 3, 3, 1210 3, 0, 0, 681, 683, 624, 638, 266, 2, 404, 1211 3, 403, 0, 469, 466, 126, 0, 0, 126, 3, 1212 0, 126, 185, 0, 2, 2, 206, 196, 0, 0, 1213 0, 137, 0, 571, 611, 2, 0, 0, 2, 226, 1214 0, 0, 214, 0, 3, 0, 0, 0, 0, 0, 1215 0, 684, 685, 291, 0, 468, 149, 0, 0, 2, 1216 162, 126, 151, 0, 179, 0, 126, 0, 2, 153, 1217 0, 2, 0, 2, 2, 2, 193, 32, 291, 511, 1218 513, 504, 0, 0, 0, 0, 0, 3, 3, 653, 1219 625, 639, 675, 408, 126, 155, 158, 0, 157, 161, 1220 3, 164, 163, 0, 126, 181, 126, 3, 0, 291, 1221 0, 291, 0, 2, 0, 2, 136, 2, 227, 228, 1222 0, 224, 215, 698, 0, 0, 150, 0, 0, 160, 1223 230, 165, 2, 232, 180, 0, 183, 169, 198, 3, 1224 207, 211, 200, 3, 0, 291, 0, 291, 0, 0, 1225 0, 43, 41, 156, 159, 126, 0, 166, 291, 126, 1226 126, 0, 170, 0, 0, 689, 208, 209, 210, 0, 1227 199, 3, 201, 3, 291, 216, 229, 146, 167, 152, 1228 126, 233, 182, 177, 175, 171, 154, 126, 0, 690, 1229 0, 0, 0, 0, 147, 168, 178, 172, 176, 175, 1230 173, 3, 3, 0, 0, 490, 174, 202, 204, 3, 1231 3, 203, 205 1232 }; 1233 1234 /* YYPGOTO[NTERM-NUM]. */ 1796 /* YYPGOTO[NTERM-NUM]. */ 1235 1797 static const yytype_int16 yypgoto[] = 1236 1798 { 1237 -1317, 4344, 3244, -1317, 633, -1317, 172, 896, -203, -1317, 1238 487, -518, -482, -910, -211, 1511, 0, -1317, 1129, 534, 1239 537, 615, 556, 984, 981, 988, 980, 989, -1317, 4, 1240 -451, 4784, -913, -1317, -702, 571, 13, -706, 419, -1317, 1241 190, -1317, 345, -964, -1317, -1317, 85, -1317, -1099, -1138, 1242 197, -1317, -1317, -1317, -1317, 20, -1281, -1317, -1317, -1317, 1243 -1317, -1317, -1317, 266, -1095, 50, -1317, -472, -1317, 443, 1244 239, -1317, 118, -1317, -294, -1317, -1317, -1317, 496, -829, 1245 -1317, -1317, 8, -952, 28, 2894, -1317, -1317, -1317, -214, 1246 -1317, 121, 1028, -198, 1848, 3592, -1317, -1317, 127, 296, 1247 1545, 1505, -1317, 1929, -1317, -1317, 137, 2139, -1317, 2574, 1248 804, -1317, -1317, -1317, -637, -1317, 886, 889, 490, 670, 1249 52, -1317, -1317, -1317, 893, 666, -510, -1317, -116, 40, 1250 1073, -1317, -1317, -889, -983, 933, 1377, 1006, -11, -1317, 1251 1351, 508, -322, -183, -145, 623, 724, -1317, 944, -1317, 1252 2701, 574, -443, 875, -1317, -1317, 659, -1317, -228, -1317, 1253 -45, -1317, -1317, -1317, -1253, 370, -1317, -1317, -1317, 1120, 1254 -1317, 33, -1317, -1317, -828, -100, -1316, -170, 2264, -1317, 1255 1914, -1317, 868, -1317, -155, 129, -181, -180, -175, 7, 1256 -41, -40, -35, 1507, 37, 53, 57, -29, -172, -163, 1257 -158, -150, -293, -500, -490, -485, -542, -284, -525, -1317, 1258 -1317, -499, 1035, 1038, 1040, 1486, 4616, -563, -531, -513, 1259 -491, -561, -1317, -506, -730, -727, -723, -562, -311, -227, 1260 -1317, -1317, 378, 19, -93, -1317, 3633, 159, -611, -428 1799 -1390, 4519, 3402, -1390, 393, -1390, 353, 929, -255, -1390, 1800 -1390, 477, -524, -492, -901, -176, 4763, 0, -1390, 832, 1801 410, 433, 417, 440, 977, 978, 980, 971, 981, -1390, 1802 -348, -520, 3026, -946, -1390, -709, 563, 620, -590, -87, 1803 -1390, 172, -1390, 332, -1116, -1390, -1390, 79, -1390, -1281, 1804 -1176, 189, -1390, -1390, -1390, -1390, 9, -1389, -1390, -1390, 1805 -1390, -1390, -1390, -1390, 256, -1199, 33, -1390, -324, -1390, 1806 435, 230, -1390, 109, -1390, -343, -1390, -1390, -1390, 490, 1807 -651, -1390, -1390, 8, -1002, 97, 1423, -1390, -1390, -1390, 1808 -125, -1390, 23, 1201, -202, 1925, 4332, -1390, -1390, 52, 1809 224, 459, 1086, -1390, 1865, -1390, -1390, 25, 2362, -1390, 1810 2640, 1529, -1390, -1390, -1390, -612, -1390, 878, 879, 478, 1811 658, 43, -1390, -1390, -1390, 876, 655, -464, -1390, -94, 1812 -89, 948, -1390, -1390, -942, -971, -24, 78, 1010, 368, 1813 -1390, 1732, 171, -317, -213, -127, 605, 710, -1390, 930, 1814 -1390, 3077, 1178, -438, 863, -1390, -1390, 654, -1390, -234, 1815 -1390, -47, -1390, -1390, -1390, -1275, 357, -1390, -1390, -1390, 1816 1110, -1390, 32, -1390, -1390, -837, -105, -1257, -126, 2286, 1817 -1390, 2146, -1390, 865, -1390, -146, 59, -177, -171, -166, 1818 7, -40, -28, -27, 1230, 28, 29, 57, -63, -154, 1819 -151, -150, -141, -329, -513, -511, -507, -589, -320, -515, 1820 -1390, -1390, -518, 1034, 1036, 1037, 1371, 5065, -572, -555, 1821 -549, -540, -441, -1390, -497, -722, -721, -701, -608, -309, 1822 -346, -1390, -1390, 185, 133, -15, -1390, 3702, -45, -629, 1823 22 1261 1824 }; 1262 1825 1263 /* YYDEFGOTO[NTERM-NUM]. */ 1264 static const yytype_int16 yydefgoto[] = 1265 { 1266 -1, 812, 467, 300, 47, 133, 134, 301, 302, 303, 1267 304, 760, 761, 1132, 1133, 305, 380, 307, 308, 309, 1268 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 1269 1029, 517, 974, 545, 321, 975, 946, 1056, 1517, 1058, 1270 1059, 1060, 1061, 1518, 1062, 1063, 1436, 1437, 1400, 1401, 1271 1402, 1496, 1497, 1501, 1502, 1537, 1538, 1064, 1360, 1065, 1272 1066, 1297, 1298, 1299, 1479, 1067, 145, 952, 953, 954, 1273 1380, 1460, 1471, 1472, 468, 469, 873, 874, 1037, 51, 1274 52, 53, 54, 55, 346, 158, 58, 59, 60, 61, 1275 62, 348, 64, 65, 264, 67, 68, 274, 350, 351, 1276 71, 72, 73, 118, 75, 204, 353, 119, 78, 120, 1277 80, 81, 454, 82, 453, 687, 688, 689, 907, 1085, 1278 908, 83, 84, 457, 455, 695, 854, 855, 856, 857, 1279 698, 699, 700, 358, 359, 360, 361, 465, 339, 135, 1280 136, 521, 323, 170, 644, 645, 646, 647, 648, 85, 1281 121, 87, 488, 489, 938, 490, 277, 494, 324, 88, 1282 137, 138, 89, 1320, 1107, 1108, 1109, 1110, 90, 91, 1283 716, 92, 273, 93, 94, 187, 1031, 678, 411, 125, 1284 95, 500, 501, 502, 188, 268, 190, 191, 192, 269, 1285 98, 99, 100, 101, 102, 103, 104, 195, 196, 197, 1286 198, 199, 824, 604, 605, 606, 607, 200, 609, 610, 1287 611, 571, 572, 573, 574, 750, 105, 613, 614, 615, 1288 616, 617, 618, 967, 752, 753, 754, 594, 364, 365, 1289 366, 367, 325, 164, 107, 108, 109, 369, 693, 568 1290 }; 1291 1292 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1293 positive, shift that token. If negative, reduce the rule whose 1294 number is the opposite. If YYTABLE_NINF, syntax error. */ 1826 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1827 positive, shift that token. If negative, reduce the rule which 1828 number is the opposite. If YYTABLE_NINF, syntax error. */ 1829 #define YYTABLE_NINF -521 1295 1830 static const yytype_int16 yytable[] = 1296 1831 { 1297 49, 113, 149, 150, 398, 399, 427, 97, 151, 114, 1298 400, 452, 260, 401, 751, 765, 267, 409, 963, 106, 1299 106, 964, 402, 382, 383, 965, 947, 403, 56, 115, 1300 739, 406, 49, 595, 867, 404, 439, 1170, 826, 97, 1301 356, 829, 470, 147, 1068, 1069, 177, 836, 724, 49, 1302 50, 106, 729, 972, 918, 603, 161, 843, 1194, 825, 1303 56, 722, 341, 186, 608, 143, 209, 1378, 818, 49, 1304 193, 793, 1136, 216, 817, 1196, 226, 219, 504, 122, 1305 152, 1438, 50, 1198, 398, 399, 819, 1186, 106, 1301, 1306 400, 474, 476, 401, 210, 261, 153, 220, 262, 814, 1307 154, 424, 402, 672, 674, 113, 526, 403, 820, 815, 1308 280, 406, 31, 113, 816, 404, 266, 271, 1195, 31, 1309 31, 63, 1180, 668, 858, 859, 202, 69, 1199, 96, 1310 1168, 1169, 123, 31, 1076, 1197, 627, 76, 1203, 1204, 1311 631, 876, 168, 677, 149, 150, 306, 147, 31, 526, 1312 151, 681, 1438, 63, 161, 113, 344, 407, 1302, 69, 1313 209, 96, 171, 31, 31, 1457, 169, 372, 281, 76, 1314 713, 728, 148, 111, 963, 830, 203, 964, 96, 833, 1315 912, 965, 252, 446, 410, 186, 186, 1397, 1398, 418, 1316 741, 410, 189, 161, 719, 96, 357, 948, 96, 930, 1317 850, 266, 459, 470, 853, 410, 565, 438, 166, 49, 1318 1185, -231, -231, 142, 1244, 291, 161, 814, 480, 1525, 1319 410, 209, 152, 470, 149, 150, 666, 815, 442, 408, 1320 151, 470, 816, 827, 834, 600, 600, 407, 153, 306, 1321 566, 1170, 154, 922, 950, 173, 1540, 587, 526, 440, 1322 663, 49, 829, 252, 328, 797, 475, 1399, 97, 271, 1323 1015, 482, 1079, 846, 271, 266, 266, 847, 499, 376, 1324 106, 113, 166, 161, 475, 1116, 96, 341, 567, 56, 1325 818, 1014, -231, 1138, 462, 377, 1002, 253, 144, 96, 1326 993, 1170, 1176, 990, 306, 655, 70, 526, 819, 155, 1327 733, 50, 1442, 1397, 1398, 326, 306, 518, 595, 1247, 1328 146, 814, 1092, 595, 397, 189, 356, 608, 1177, 110, 1329 820, 815, 570, 670, 663, 734, 816, 147, 70, 675, 1330 41, 42, 1117, 1495, 372, 1186, 177, 1248, 96, 1500, 1331 113, 869, 1200, 641, 344, 735, 201, 526, 601, 619, 1332 96, 181, 1118, 628, 286, 1324, 1483, 632, 758, 1520, 1333 870, 803, 212, 624, 1527, 41, 42, 624, 435, 826, 1334 113, 1467, 63, 1408, 1381, 1325, 664, 471, 69, -287, 1335 96, 1068, 1069, 416, 1168, 1169, 897, 578, 76, 410, 1336 1511, 513, 1513, 76, 478, 266, 1442, 1177, 326, 386, 1337 818, 1442, 110, 852, 389, 186, 436, 555, 556, 356, 1338 1170, 247, 372, 41, 42, 387, 444, 1018, 819, 391, 1339 390, 1442, 250, 266, 464, 306, 306, 163, 1442, 266, 1340 435, 341, 624, 713, 492, 392, 843, 493, 671, 673, 1341 820, 763, 557, 558, 551, 552, 1156, 1158, 393, 746, 1342 664, 913, 263, 113, 1083, 252, 96, 110, 1361, -466, 1343 1125, -466, 887, 985, 394, 166, 470, 914, 41, 42, 1344 848, 266, 357, 356, 849, 1427, 1428, 602, -466, 266, 1345 1422, 624, -10, 49, 519, 880, 372, 718, 1186, -515, 1346 97, 163, 927, 113, 1423, 1186, 1329, 1103, 1134, 1115, 1347 1468, 868, 106, 597, 1433, 306, 915, 113, -439, 1100, 1348 306, 56, 306, 306, 1469, 1243, 110, 441, 518, -440, 1349 749, 712, 916, 518, 113, 344, 518, 41, 42, 276, 1350 1013, 909, 951, 50, 189, 1015, 1524, 278, 471, 608, 1351 2, 206, 4, 5, 6, 7, 1186, 70, 913, 110, 1352 329, 139, 238, 878, 76, 1331, 1535, 915, 471, 279, 1353 41, 42, 576, 1539, 1080, 357, 471, 848, 577, 570, 1354 570, 1099, -102, 1081, 76, 995, -102, 306, 1125, 786, 1355 803, 1359, 76, 912, 326, 326, 239, 434, 624, 344, 1356 1183, 240, 713, 619, 682, 553, 554, 1183, 1315, 601, 1357 577, 601, 710, 330, 63, 35, 1184, 36, 331, 845, 1358 69, 1473, 96, 1307, 1316, -119, 602, -119, 1473, 624, 1359 76, -119, 370, 1347, 624, 860, 619, 1348, 1317, 357, 1360 624, 746, 679, 624, 624, 624, -119, -119, 111, 875, 1361 215, 332, 1233, 1013, 1318, 212, 1237, 1362, 110, 434, 1362 341, 624, 326, 266, 333, 1407, 242, 911, 705, 41, 1363 42, 252, 328, 410, 110, 1235, 139, 140, 803, 1521, 1364 334, 326, 522, 559, 560, 41, 42, 1026, 8, 9, 1365 10, 11, 12, 113, 163, 384, 906, 595, 703, 371, 1366 176, 215, 356, 375, 704, 519, 720, 1073, 921, 759, 1367 519, 725, 721, 519, 764, 388, 726, 31, 425, 624, 1368 932, 619, 408, 730, 1111, 396, 805, 718, 718, 731, 1369 499, 1033, 426, 398, 399, 1275, 1276, 745, 813, 400, 1370 602, 891, 401, 746, 215, 34, 326, 746, 1475, 176, 1371 1476, 402, 176, 113, 344, 581, 403, 410, 749, 749, 1372 893, 406, 449, 464, 404, 110, 746, 139, 140, 983, 1373 980, 8, 9, 10, 11, 12, 41, 42, 212, 548, 1374 527, 528, 529, 431, 963, 549, 550, 964, 844, 70, 1375 881, 965, 410, 597, 712, 979, 1372, -363, 176, 984, 1376 31, 980, 570, 1522, 530, 215, 531, 243, 532, 533, 1377 624, 471, 624, 884, 998, 410, -392, 624, 344, 341, 1378 992, 601, 569, 1160, 410, 910, 704, 76, 34, 1231, 1379 45, 46, 1355, 601, 877, 577, 879, 471, 746, 460, 1380 1140, 690, 410, 215, 713, 527, 528, 529, 215, 461, 1381 1152, 37, 410, 76, 1356, 40, 813, 602, 357, 1358, 1382 746, 176, 41, 42, 1155, 746, 600, 483, 889, 530, 1383 569, 531, 410, 532, 1304, 710, 1028, 896, 45, 46, 1384 214, 898, 1157, 306, 600, 1363, 926, 407, 811, 503, 1385 600, 746, 291, 522, 1425, 522, 45, 46, 522, 1181, 1386 1422, 522, 106, 1443, 803, 624, 48, 112, 1240, 746, 1387 410, 56, 113, 344, 906, 176, 906, 524, 1489, 921, 1388 507, 951, 176, 713, 1490, 951, 951, 441, 113, 328, 1389 410, 214, 512, 215, 526, 112, 112, 1545, 48, 663, 1390 1424, 932, 932, 577, 909, 805, 718, 1368, 1369, 48, 1391 813, 113, 306, 712, 561, 48, 1435, 562, 748, 1104, 1392 410, 563, 602, 48, 921, 564, 45, 46, 567, 48, 1393 106, 1086, 48, 1086, 214, 48, 749, 337, 931, 1105, 1394 600, 418, 659, 410, 1507, -436, 45, 46, 112, 112, 1395 176, 585, 2, 206, 4, 5, 6, 7, 588, 1137, 1396 480, 328, 410, 212, 63, 1417, 980, 176, 344, -3, 1397 69, 176, 48, 637, 215, 48, 1226, 212, 1397, 1398, 1398 76, 656, 48, 736, 657, 737, 1493, 1435, 738, 624, 1399 624, 742, 658, 1125, 710, 214, 827, 328, 600, 116, 1400 660, 1322, 661, 1082, 662, 910, 1330, 1332, 1333, 306, 1401 1028, 665, 110, 48, 139, 140, 215, 35, 667, 36, 1402 257, 48, 691, 41, 42, 664, 48, 692, 106, 1167, 1403 911, 690, 694, 214, 176, 602, 696, 56, 214, -235, 1404 2, 206, 4, 5, 6, 7, 732, 159, 743, 113, 1405 806, 48, 48, 747, 906, 770, 771, 1078, 807, 906, 1406 772, 773, 37, 755, 174, 175, 40, 48, 932, 228, 1407 212, 326, 810, 41, 42, 48, 266, 1294, 1295, 1296, 1408 -3, 821, -12, 341, 48, 778, 779, 48, 1379, 37, 1409 921, 624, 1379, 40, 112, -13, 865, 866, 1120, 371, 1410 41, 42, 872, 258, 892, 35, 894, 36, 920, 112, 1411 -519, 159, 895, 112, -413, 344, 899, 48, 112, 902, 1412 1131, 935, 942, 214, 1131, 721, 43, 844, 944, 949, 1413 471, 48, 48, 955, 45, 46, 1188, 215, 48, 70, 1414 774, 775, 776, 777, 322, 48, 76, 956, 957, 958, 1415 921, 921, 959, 338, 960, 712, 976, 271, 113, 987, 1416 988, 989, 1004, 1005, 1006, 215, 219, 1007, 1008, 1009, 1417 215, 1010, 1283, 1284, 1131, 1286, 113, 106, 1021, -401, 1418 306, -400, 1291, 910, 1293, 210, 220, 1035, 910, 1458, 1419 1070, 176, 905, 48, 624, 1072, 1093, 1094, 113, 106, 1420 1095, 1096, 1102, 429, 214, 1112, 1104, 433, 56, 110, 1421 1202, 139, 140, 48, 48, 1113, 746, 106, 1119, 1121, 1422 41, 42, 970, 176, 1114, 1122, 1105, 1123, 1124, 1127, 1423 48, 1130, 1150, 1173, 48, 1174, 710, 322, 1189, 176, 1424 1171, 215, 1172, 624, 624, 642, 214, 1420, 863, 1190, 1425 1175, 1192, 271, 176, 1193, 215, 1533, 306, 1201, 1206, 1426 1205, 48, 1057, 1208, 1213, -3, 690, 441, 1218, 433, 1427 1221, 48, 487, 1223, 492, 37, 106, 174, 175, 40, 1428 440, 1227, 1232, 1350, 1234, 56, 41, 42, 1236, 48, 1429 113, 1239, 520, 398, 399, 48, 1245, 48, 1104, 400, 1430 1251, 63, 401, 1249, 159, 70, 1253, 69, 1255, 106, 1431 1256, 402, 375, 1257, 1258, 710, 403, 76, 1105, 129, 1432 406, 130, 131, 132, 404, 1259, 1261, 1268, 1285, 1277, 1433 41, 42, 112, 1278, 176, 1419, 1288, 48, 586, 1289, 1434 1403, 1290, 592, 1292, 663, 48, 1300, 266, 215, 48, 1435 1506, 141, 1306, 48, 1313, 921, 112, 1319, 112, 1321, 1436 1323, 625, 1345, 624, 1327, 629, 701, 214, 338, 1328, 1437 37, 921, 174, 175, 40, 1334, 1335, 1337, 471, 1343, 1438 1344, 41, 42, 509, 1188, 1346, 1353, 1357, 113, 1131, 1439 1131, 1131, 1354, 112, 76, 214, 1104, 1364, 112, 1365, 1440 214, 1296, 1373, 241, 244, 546, 547, 106, 1375, 1374, 1441 113, 1382, 1391, 1392, -402, 1395, 1105, 113, 1406, 113, 1442 1410, 113, 1412, 322, 322, 1414, 1415, 690, 1416, 106, 1443 1421, 1191, 1429, 149, 150, 1430, 106, 1431, 56, 151, 1444 1432, 921, 921, 546, 1348, 56, 407, 112, 1434, 1439, 1445 1505, 686, 1444, 212, 48, 113, 1366, 113, 1448, 1450, 1446 1452, 1446, 1454, 1456, 116, 48, 1461, 48, 113, 1462, 1447 664, 214, 1463, 1484, 1505, 1505, 70, 1474, 1486, 546, 1448 1488, 1491, 161, 1492, 306, 214, 48, 106, 1514, 487, 1449 1499, 322, 1515, 487, 1528, 1519, 56, 1526, 176, 1505, 1450 1530, 1543, 48, 520, 1536, 520, 372, 112, 520, 1544, 1451 322, 520, 1207, 781, 783, 780, 48, 1129, 112, 48, 1452 112, 782, 338, 1494, 784, 1305, 162, 1131, 1131, 1546, 1453 1409, 471, 1238, 1367, 1383, 1477, 1212, 1188, 471, 900, 1454 194, 213, 901, 217, 1188, 215, 227, 76, 441, 1220, 1455 232, 1087, 48, 70, 76, 1091, 112, 799, 112, 923, 1456 1034, 871, 112, 1126, 456, 1459, 937, 1101, 1314, 945, 1457 112, 0, 701, 715, 789, 322, 0, 790, 214, 791, 1458 0, 0, 0, 48, 48, 229, 801, 0, 230, 471, 1459 0, 234, 213, 236, 0, 1188, 0, 48, 0, 1057, 1460 245, 0, 0, 478, -288, 76, 0, 0, 1478, 0, 1461 1482, 8, 9, 10, 11, 12, 0, 842, 0, 0, 1462 0, 0, 592, 1508, 162, 0, 0, 37, 851, 183, 1463 184, 40, 1516, 0, 0, 213, 0, 373, 41, 42, 1464 31, 0, 0, 326, 1510, 412, 1512, 767, 768, 769, 1465 0, 0, 420, 0, 0, 0, 0, 0, 0, 0, 1466 0, 0, 0, 162, 904, 0, 410, 0, 34, 0, 1467 0, 0, 45, 46, 0, 0, 0, 48, 0, 0, 1468 0, 686, 0, 37, 0, 905, 162, 40, 1541, 48, 1469 1542, 701, 1371, 0, 41, 42, 213, 0, 443, 0, 1470 643, 701, 0, 1549, 1550, 37, 70, 183, 184, 40, 1471 0, 0, 890, 70, 0, 701, 41, 42, 0, 487, 1472 717, 0, 0, 0, 412, 0, 0, 229, 45, 46, 1473 0, 215, 642, 0, 213, 0, 0, 0, 112, 213, 1474 0, 338, 185, 0, 1396, 0, 0, 1404, -289, 0, 1475 45, 46, 0, 0, 498, 8, 9, 10, 11, 12, 1476 0, 48, 0, 506, 70, 508, 511, 0, 0, 0, 1477 48, 0, 48, 514, 515, 214, 0, 0, 575, 112, 1478 0, 0, 0, 0, 31, 0, 579, 508, 508, 582, 1479 1441, 0, 0, 0, 497, 1445, 0, 1481, 0, 1481, 1480 994, 0, 48, 0, 373, 801, 0, 0, 0, 176, 1481 702, 723, 34, 727, 0, 0, 0, 0, 66, 117, 1482 0, 0, 112, 1466, 213, 508, 215, 0, 0, 0, 1483 0, 986, 0, 1481, 0, 1481, 642, 0, 0, 0, 1484 0, 991, 0, 0, 112, 0, 0, 0, 112, 0, 1485 66, 0, 0, 412, 971, 1003, 0, 420, 0, 0, 1486 0, 508, 0, 0, 0, -290, 229, 160, 234, 0, 1487 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 1488 0, 0, 373, 0, 0, 0, 0, 221, 0, 0, 1489 0, 0, 0, 801, 0, 0, 0, 0, 112, 74, 1490 338, 31, 0, 0, 0, 213, 0, 1534, 0, 0, 1491 126, 126, 126, 1534, 0, 0, 686, 0, 0, 701, 1492 701, 0, 213, 259, 1534, 0, 0, 0, 1534, 34, 1493 0, 74, 0, 0, 412, 0, 112, 0, 487, 1106, 1494 322, 0, 0, 0, 0, 0, 0, 213, 0, 0, 1495 48, 0, 0, 0, 0, 48, 229, 0, 0, 0, 1496 0, 214, 864, 0, 0, 327, 0, 0, 222, 0, 1497 0, 0, 48, 259, 349, 0, 0, 701, 701, 176, 1498 0, 0, 126, 0, 126, 0, 534, 535, 536, 537, 1499 538, 539, 540, 541, 542, 543, 842, 0, 0, 0, 1500 0, 0, 0, 0, 405, 0, 0, 0, 0, 275, 1501 0, 917, 0, 919, 0, 0, 702, 456, 0, 423, 1502 544, 0, 428, 430, 0, 575, 575, 160, 0, 508, 1503 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, 1504 508, 508, 508, 508, 508, 508, 508, 0, 447, 112, 1505 0, 0, 450, 0, 451, 352, 214, 0, 0, 1165, 1506 1166, 0, 0, 458, 0, 126, 0, 0, 213, 66, 1507 0, 0, 48, 126, 472, 126, 126, 686, 0, 0, 1508 126, 0, 126, 126, 479, 0, 0, 0, 0, 0, 1509 0, 37, 430, 183, 184, 40, 213, 546, 0, 0, 1510 0, 213, 41, 42, 0, 0, 0, 0, 0, 77, 1511 0, 0, 882, 112, 112, 112, 885, 1215, 1216, 801, 1512 8, 9, 10, 11, 12, 1311, 0, 0, 599, 448, 1513 600, 0, 0, 0, 0, 702, 45, 46, 509, 0, 1514 0, 77, 0, 0, 0, 702, 0, 0, 0, 31, 1515 74, 0, 126, 0, 0, 74, 0, 701, 259, 702, 1516 0, 0, 593, 0, 0, 701, 701, 701, 621, 0, 1517 0, 0, 213, 0, 0, 508, 0, 34, 223, 0, 1518 0, 626, 0, 0, 0, 626, 213, 643, 259, 0, 1519 0, 0, 0, 1038, 0, 0, 0, 0, 0, 0, 1520 0, 0, 0, 0, 338, 0, 498, 0, 0, 0, 1521 0, 0, 8, 9, 10, 11, 12, 0, 0, 748, 1522 0, 410, 0, 0, 0, 0, 1106, 45, 46, 701, 1523 0, 0, 0, 0, 1088, 472, 508, 0, 0, 0, 1524 0, 31, 48, 48, 0, 0, 497, 0, 575, 222, 1525 349, 112, 112, 0, 0, 472, 0, 0, 0, 0, 1526 124, 127, 128, 472, 0, 354, 508, 0, 0, 34, 1527 0, 0, 0, 0, 37, 0, 183, 184, 40, 213, 1528 0, 697, 0, 0, 430, 41, 42, 0, 0, 112, 1529 0, 643, 37, 0, 183, 184, 40, 1336, 0, 711, 1530 0, 66, 0, 41, 42, 1338, 1339, 1340, 0, 430, 1531 0, 185, 0, 430, 0, 0, 74, 0, 1106, 45, 1532 46, 0, 0, 0, 0, 0, 0, 0, 0, 265, 1533 0, 352, 254, 0, 255, 0, 74, 45, 46, 0, 1534 0, 0, 259, 349, 74, 0, 48, 112, 0, 0, 1535 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 1536 77, 0, 352, 702, 702, 77, 412, 0, 0, 1384, 1537 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1538 352, 0, 74, 0, 0, 0, 508, 0, 792, 0, 1539 37, 1038, 183, 184, 40, 48, 0, 0, 0, 0, 1540 0, 41, 42, 0, 0, 0, 626, 804, 0, 0, 1541 8, 9, 10, 11, 12, 395, 1106, 0, 0, 823, 1542 0, 702, 702, 0, 352, 414, 415, 904, 0, 410, 1543 419, 508, 421, 422, 0, 45, 46, 593, 0, 31, 1544 0, 0, 593, 1141, 0, 0, 0, 1480, 626, 1480, 1545 0, 349, 349, 349, 0, 0, 0, 126, 126, 223, 1546 1153, 0, 0, 0, 0, 0, 508, 34, 0, 349, 1547 0, 0, 0, 0, 0, 0, 213, 0, 0, 508, 1548 0, 0, 0, 1480, 0, 1480, 126, 697, 352, 126, 1549 126, 0, 126, 0, 126, 126, 0, 0, 472, 126, 1550 126, 0, 0, 37, 1281, 183, 184, 40, 0, 931, 1551 0, 600, 322, 0, 41, 42, 0, 45, 46, 0, 1552 508, 0, 0, 0, 472, 0, 77, 349, 0, 0, 1553 0, 0, 352, 352, 352, 0, 936, 0, 412, 430, 1554 1504, 354, 410, 0, 79, 0, 77, 0, 45, 46, 1555 352, 0, 0, 0, 77, 0, 0, 0, 0, 0, 1556 0, 259, 711, 0, 0, 0, 0, 966, 352, 1312, 1557 0, 0, 354, 0, 0, 0, 79, 0, 1241, 74, 1832 49, 113, 428, 149, 166, 453, 440, 97, 399, 114, 1833 766, 267, 844, 826, 400, 150, 151, 868, 628, 401, 1834 604, 740, 632, 63, 752, 76, 505, 964, 965, 609, 1835 827, 402, 49, 50, 403, 404, 596, 1070, 1187, 97, 1836 407, 383, 384, 147, 405, 819, 1379, 973, 966, 49, 1837 1171, 820, 69, 794, 725, 63, 161, 76, 730, 96, 1838 821, 410, 357, 186, 143, 50, 209, 358, 166, 49, 1839 193, 152, 153, 216, 122, 669, 226, 219, 1169, 1170, 1840 919, 31, 1137, 1302, 69, 818, 123, 815, 399, 816, 1841 260, 96, 280, 817, 400, 678, 425, 56, 115, 401, 1842 154, 327, 148, 682, 31, 113, 1204, 1205, 96, 673, 1843 675, 402, 1526, 113, 403, 404, 266, 271, 1195, 31, 1844 407, 1443, 189, 408, 405, 96, 31, 1197, 96, 56, 1845 31, 471, 1181, 106, 106, 475, 477, 144, 31, 1541, 1846 342, 1439, 202, 948, 1458, 149, 307, 147, 1398, 1399, 1847 281, 252, 1303, 411, 161, 113, 345, 150, 151, 720, 1848 209, 31, 830, 210, 436, 106, 220, 373, 837, 142, 1849 291, 859, 860, 714, 419, 923, 411, 729, 1196, -232, 1850 -232, 447, 1245, 964, 965, 186, 186, 1198, 877, 481, 1851 913, 411, 203, 161, 327, 566, 742, 667, 411, 951, 1852 460, 266, 106, 408, 966, 815, 96, 816, 828, 49, 1853 601, 817, 1439, 152, 153, 1443, 161, 168, 1400, 96, 1854 1443, 209, 409, 1069, 70, 149, 436, 173, 443, 567, 1855 577, 835, 377, 601, 163, 1015, 578, 150, 151, 307, 1856 1443, 169, 154, 804, 398, 189, 931, 1443, 378, 734, 1857 -232, 49, 1016, 1484, 1171, 146, 70, 819, 97, 271, 1858 664, 798, 166, 820, 271, 266, 266, 476, 96, 253, 1859 1199, 113, 821, 161, 63, 991, 76, 1139, 1248, 472, 1860 96, 76, 609, 463, 50, 853, 1187, 1512, 1080, 1514, 1861 212, 656, 476, 471, 307, 1093, 1496, 1003, 163, 815, 1862 598, 816, 1501, 69, 1171, 817, 1249, 307, 1398, 1399, 1863 96, 596, 155, 471, 568, 1200, 596, 171, 441, 671, 1864 387, 471, 1521, 571, 479, 676, 588, 1528, 147, 1177, 1865 181, 1468, 1169, 1170, 664, 373, 388, 994, 898, 357, 1866 110, 113, 247, 665, 358, 345, 735, 922, 56, 602, 1867 620, 41, 42, 747, 111, 1178, 342, 1178, 37, 390, 1868 1118, 827, 40, 201, 625, 417, 736, 986, 625, 41, 1869 42, 113, 847, 830, 1070, 391, 848, 819, 1409, 759, 1870 1119, 327, 327, 820, 106, 1525, 1084, 96, 437, 1186, 1871 110, 844, 821, 713, 435, 812, 266, 601, 445, 556, 1872 557, 41, 42, 45, 46, 1536, 186, 286, 603, 110, 1873 683, 888, 1540, 373, 1423, 250, 578, 665, 41, 42, 1874 41, 42, 1325, 1171, 266, 177, 307, 307, 1424, 764, 1875 266, 1116, 357, 625, 558, 559, 714, 358, 985, 1187, 1876 702, 472, 1326, 76, 514, 442, 1187, -288, 1330, 327, 1877 176, 849, 1434, -516, 113, 850, 435, 996, 252, 1201, 1878 392, 472, 804, 76, 1469, 189, 520, 394, 327, 472, 1879 1126, 76, 266, 263, 261, 70, 393, 262, 1470, 523, 1880 266, 952, 625, 395, 49, 1428, 1429, 373, 719, 1135, 1881 493, 97, 163, 494, 113, 1014, 357, 1187, 1244, 176, 1882 914, 358, 176, 1104, 609, 711, 307, 63, 113, 76, 1883 342, 307, 723, 307, 307, 1029, 915, 50, 704, 330, 1884 869, 750, 721, 916, 705, 113, 345, 1016, 722, 229, 1885 881, -10, 230, 327, 110, 234, 69, 236, 870, 917, 1886 642, 910, 703, 96, 245, 41, 42, 603, 176, 879, 1887 804, -440, 579, 914, 411, -289, 471, 871, 922, 582, 1888 1069, 411, 8, 9, 10, 11, 12, 1157, 1159, 1081, 1889 571, 571, -441, 1332, 212, 845, 916, -120, 307, -120, 1890 598, 56, 928, -120, 276, -467, 439, -467, 1126, 625, 1891 345, 31, 1082, 913, 620, 714, 278, 1236, -120, -120, 1892 602, 279, 602, 922, -467, 465, 331, 1184, 1014, 332, 1893 110, 176, 139, 140, 849, 680, 1184, 106, 1100, 34, 1894 625, 41, 42, 1185, 912, 625, 831, 620, 1316, 1318, 1895 834, 625, 1308, 333, 625, 625, 625, 1362, 1138, 691, 1896 483, 706, 806, 334, 1317, 1319, 702, 500, 1027, 864, 1897 747, 851, 625, 335, 266, 854, 713, 1276, 1277, 814, 1898 371, 603, 110, 397, 731, 176, 1363, 570, 1074, 411, 1899 732, 229, 176, 41, 42, 45, 46, 737, 520, 738, 1900 252, 329, 739, 520, 113, 743, 520, 907, 372, 1029, 1901 596, 523, 749, 523, 411, 376, 523, 212, 1360, 523, 1902 45, 46, 554, 555, 472, 932, 76, 601, 70, 1112, 1903 625, 933, 620, 45, 46, 357, 177, 385, 719, 719, 1904 358, 2, 206, 4, 5, 6, 7, -103, 399, 342, 1905 472, -103, 76, 629, 400, 389, 549, 633, 498, 401, 1906 1034, 176, 550, 551, 113, 345, 911, 746, 703, 750, 1907 750, 402, 1348, 747, 403, 404, 1349, 892, 176, 409, 1908 894, 407, 176, 747, 405, 702, 747, 980, 711, 922, 1909 552, 553, 1408, 981, 993, 702, 804, 814, 603, 1232, 1910 705, 1373, 426, 964, 965, 578, 35, 1058, 36, 702, 1911 1474, 1234, 1356, 571, 1357, 1238, 1359, 1474, 747, 427, 1912 747, 625, 747, 625, 966, 999, 560, 561, 625, 345, 1913 1161, 229, 602, 234, 432, 713, 110, 1364, 139, 140, 1914 111, 984, 981, 747, 602, 176, 1426, 41, 42, 922, 1915 922, 110, 1423, 139, 140, 450, 882, 714, 411, 1444, 1916 -364, 890, 41, 42, 408, 747, 442, 37, 1522, -3, 1917 897, 40, 329, 411, 899, 1476, 461, 1477, 41, 42, 1918 952, 806, 1425, -393, 952, 952, 1490, 703, 1019, 691, 1919 1546, 814, 1491, 243, 307, 462, 578, 703, 1436, 484, 1920 885, 760, 411, 603, 43, 1141, 765, 411, 342, 1369, 1921 1370, 703, 45, 46, 1418, 981, 625, 63, 327, 76, 1922 1153, 229, 411, 113, 345, 907, 504, 907, 1182, 110, 1923 1523, 139, 238, 1156, 519, 601, 714, 1398, 1399, 113, 1924 41, 42, 212, 252, 329, 411, 69, 711, 291, 48, 1925 112, 1168, 933, 933, 508, 465, 212, 719, 1158, 664, 1926 601, 562, 113, 307, 910, 1241, 239, 411, 1494, 1436, 1927 1105, 240, 513, 1087, 845, 1087, 1192, 525, 112, 112, 1928 1101, 48, 771, 772, 1083, 527, 911, 750, 419, 660, 1929 411, 56, 48, 775, 776, 777, 778, 563, 48, 37, 1930 1323, 564, 176, 40, 1508, 565, 48, 773, 774, 846, 1931 41, 42, 48, 702, 702, 48, 603, 568, 48, 345, 1932 779, 780, 1227, 338, -437, 861, 878, 106, 880, 586, 1933 589, 112, 112, -3, 176, 638, 718, 668, 657, 876, 1934 625, 625, 665, 658, 45, 46, 659, 912, 661, 212, 1935 176, 662, 663, 1126, 922, 48, 666, 257, 48, 1106, 1936 307, 481, 329, 411, 176, 48, 672, 674, 692, 693, 1937 922, 702, 702, 828, 329, 601, 695, 713, 927, 1295, 1938 1296, 1297, 733, 472, 697, 76, 110, 1380, 139, 140, 1939 1079, 1380, 1331, 1333, 1334, 106, 48, 41, 42, -236, 1940 113, 744, 748, 756, 48, 907, 807, 808, 811, 48, 1941 907, 822, 1189, -12, -13, 703, 703, 866, 70, 933, 1942 500, 867, 873, 726, 691, 893, 895, 266, 727, 896, 1943 -414, 903, 900, 949, 48, 48, 510, 921, -520, 936, 1944 922, 922, 625, 722, 1058, 176, 519, 943, 957, 945, 1945 48, 519, 956, 958, 519, 959, 960, 56, 48, 547, 1946 548, 950, 961, 977, 911, 988, 345, 48, 989, 911, 1947 48, 990, 213, 703, 703, 1005, 1006, 112, 1007, 1008, 1948 1009, 232, 1010, 37, 1011, 174, 175, 40, 1459, 711, 1949 1022, -402, 112, 106, 41, 42, 112, 547, -401, 1036, 1950 48, 112, 1071, 1095, 1073, 1351, 1077, 787, 271, 113, 1951 1094, 498, 342, 906, 48, 48, 1096, 219, 1103, 1312, 1952 372, 48, 116, 213, 528, 529, 530, 113, 48, 1097, 1953 1113, 307, 747, 547, 1114, 1115, 1117, 1372, 1120, 971, 1954 1122, 1123, 1124, 1203, 1125, 625, 442, 1131, 531, 113, 1955 532, 702, 533, 534, 63, 1151, 76, 1105, 1128, 702, 1956 702, 702, 1172, 1173, 215, 1174, 213, 1175, 711, 1190, 1957 159, 2, 206, 4, 5, 6, 7, 48, 1176, 1191, 1958 242, 1193, 1206, 69, 70, 691, 1194, 1202, 1207, 1397, 1959 1209, 493, 1405, 1421, 625, 625, -3, 48, 48, 162, 1960 228, 1534, 1214, 271, 1219, 210, 220, 1224, 307, 176, 1961 1222, 1228, 1235, 194, 48, 215, 217, 1233, 48, 227, 1962 1237, 1313, 1240, 702, 1250, 1246, 258, 213, 56, 643, 1963 1121, 472, 1252, 76, 159, 1442, 35, 1254, 36, 1256, 1964 1446, 113, 106, 1257, 1258, 48, 1106, 1259, 399, 1105, 1965 1260, 1262, 1132, 703, 400, 48, 1132, 1269, 215, 401, 1966 1189, 703, 703, 703, 106, 213, 1278, 323, 1467, 1279, 1967 213, 402, 1286, 48, 403, 404, 339, 1322, 1289, 48, 1968 407, 48, 106, 1290, 405, 499, 2, 206, 4, 5, 1969 6, 7, 1291, 1293, 1301, 1307, 1507, 162, 266, 1314, 1970 441, 768, 769, 770, 664, 56, 1132, 1320, 1324, 1328, 1971 374, 1329, 1335, 1336, 625, 1338, 112, 1344, 1345, 215, 1972 1346, 48, 1347, 1354, 1297, 703, 430, 1355, 1358, 48, 1973 434, 1365, 212, 48, 1374, 1366, 162, 48, 1106, 113, 1974 112, 106, 112, 57, 57, 1375, 1376, 1105, 1382, 1383, 1975 1392, 35, 1535, 36, 1393, 70, 213, 215, 1535, 162, 1976 323, 113, 215, 408, -403, 1396, 1407, 1411, 113, 1535, 1977 113, 444, 113, 1535, 106, 57, 1413, 112, 1415, 1416, 1978 1417, 1422, 112, 1430, 472, 149, 76, 665, 1431, 1367, 1979 327, 472, 434, 76, 1432, 488, 1433, 150, 151, 1349, 1980 1435, 1506, 1440, 1449, 1451, 1453, 113, 1445, 113, 57, 1981 1455, 1447, 57, 1189, 1462, 521, 1464, 1457, 1485, 113, 1982 1189, 1463, 1475, 1487, 1492, 1506, 1506, 442, 159, 1493, 1983 1489, 112, 70, 161, 1500, 307, 1106, 213, 48, 1515, 1984 1520, 1527, 472, 1516, 76, 1529, 1531, 1544, 215, 48, 1985 1506, 48, 1537, 1208, 213, 1545, 784, 373, 56, 781, 1986 1130, 782, 587, 1306, 783, 56, 593, 785, 1495, 1547, 1987 48, 1189, 106, 1410, 1368, 1239, 1384, 1478, 374, 213, 1988 413, 1213, 901, 902, 479, 626, 48, 421, 1221, 630, 1989 1088, 112, 339, 924, 106, 1092, 1127, 1035, 872, 348, 1990 48, 106, 112, 48, 112, 938, 1315, 37, 972, 174, 1991 175, 40, 800, 1102, 716, 214, 56, 946, 41, 42, 1992 176, 1132, 1132, 1132, 790, 0, 791, 792, 0, 215, 1993 0, 0, 0, 0, 0, 0, 48, 0, 891, 0, 1994 112, 1479, 112, 1483, 376, 0, 112, 323, 323, 0, 1995 0, 0, 106, 0, 112, 1482, 374, 1482, 129, 413, 1996 130, 131, 132, 0, 57, 0, 214, 48, 48, 41, 1997 42, 215, 0, 0, 0, 687, 0, 1511, 0, 1513, 1998 0, 48, 0, 0, 0, 70, 0, 0, 116, 0, 1999 0, 1482, 70, 1482, 57, 8, 9, 10, 11, 12, 2000 213, 8, 9, 10, 11, 12, 0, 0, 37, 214, 2001 183, 184, 40, 488, 576, 323, 0, 488, 0, 41, 2002 42, 1542, 580, 1543, 31, 583, 0, 521, 213, 521, 2003 31, 0, 521, 213, 323, 521, 1550, 1551, 37, 0, 2004 183, 184, 40, 70, 0, 905, 339, 411, 0, 41, 2005 42, 0, 34, 45, 46, 0, 0, 987, 34, 1132, 2006 1132, 48, 0, 0, 0, 1420, 906, 992, 0, 0, 2007 214, 0, 0, 48, 0, 600, 37, 601, 174, 175, 2008 40, 1004, 141, 45, 46, 0, 0, 41, 42, 413, 2009 176, 0, 215, 421, 570, 0, 411, 1460, 0, 323, 2010 0, 0, 45, 46, 213, 0, 0, 0, 214, 0, 2011 802, 0, 0, 214, 0, 0, 643, 0, 213, 0, 2012 215, 0, 112, 0, 0, 215, 0, 0, 0, 0, 2013 1284, 1285, 0, 1287, 241, 244, 0, 0, 499, 0, 2014 1292, 843, 1294, 0, 0, 48, 593, 0, 0, 0, 2015 0, 547, 852, 0, 48, 1509, 48, 0, 0, 0, 2016 0, 0, 0, 112, 1517, 8, 9, 10, 11, 12, 2017 413, 0, 0, 0, 0, 0, 348, 0, 0, 0, 2018 8, 9, 10, 11, 12, 74, 48, 0, 0, 0, 2019 0, 0, 510, -290, 31, 0, 215, 0, 0, 214, 2020 8, 9, 10, 11, 12, 687, 112, 0, 0, 31, 2021 215, 213, 0, 0, 0, 0, 0, 74, 0, 0, 2022 643, 0, 34, 0, 0, 0, 0, 57, 112, 31, 2023 0, 0, 112, 0, 0, 0, 0, 34, 0, 0, 2024 -291, 0, 0, 488, 0, 66, 117, 8, 9, 10, 2025 11, 12, 0, 0, 222, 0, 0, 34, 0, 0, 2026 0, 576, 576, 0, 749, 339, 411, 0, 0, 348, 2027 0, 0, 45, 46, 0, 0, 31, 66, 0, 932, 2028 214, 601, 112, 0, 0, 1166, 1167, 45, 46, 8, 2029 9, 10, 11, 12, 160, 457, 0, 0, 1404, 528, 2030 529, 530, 0, 215, 34, 0, 0, 0, 0, 0, 2031 0, 0, 0, 0, 221, 0, 0, 0, 31, 0, 2032 112, 0, 214, 531, 995, 532, 0, 533, 1305, 802, 2033 0, 0, 0, 348, 48, 0, 0, 0, 0, 48, 2034 0, 353, 0, 1216, 1217, 0, 34, 0, 883, 0, 2035 259, 37, 886, 183, 184, 40, 48, 0, 0, 0, 2036 0, 0, 41, 42, 535, 536, 537, 538, 539, 540, 2037 541, 542, 543, 544, 0, 0, 0, 348, 348, 348, 2038 0, 0, 37, 0, 183, 184, 40, 0, 600, 0, 2039 601, 0, 328, 41, 42, 348, 45, 46, 545, 0, 2040 259, 350, 37, 0, 183, 184, 40, 0, 213, 0, 2041 0, 0, 0, 41, 42, 449, 0, 802, 0, 905, 2042 0, 411, 0, 0, 339, 0, 0, 45, 46, 0, 2043 0, 406, 644, 112, 0, 0, 74, 0, 0, 185, 2044 687, 74, 0, 214, 0, 0, 424, 45, 46, 429, 2045 431, 0, 0, 348, 160, 0, 48, 0, 0, 0, 2046 0, 0, 488, 1107, 323, 0, 0, 0, 0, 0, 2047 0, 214, 0, 0, 0, 448, 214, 0, 0, 451, 2048 0, 452, 0, 0, 576, 0, 0, 0, 0, 0, 2049 459, 0, 126, 126, 126, 0, 66, 112, 112, 112, 2050 215, 473, 0, 37, 0, 183, 184, 40, 0, 0, 2051 0, 480, 0, 0, 41, 42, 0, 0, 0, 431, 2052 843, 0, 0, 1337, 0, 0, 0, 0, 0, 0, 2053 0, 1339, 1340, 1341, 0, 0, 222, 0, 0, 0, 2054 1505, 0, 411, 724, 348, 728, 0, 214, 45, 46, 2055 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 2056 0, 214, 0, 0, 126, 0, 126, 0, 8, 9, 2057 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2058 20, 21, 22, 23, 24, 25, 259, 0, 0, 0, 2059 594, 275, 0, 0, 213, 1385, 622, 31, 0, 0, 2060 0, 687, 413, 74, 0, 0, 0, 0, 0, 627, 2061 0, 0, 0, 627, 0, 0, 259, 57, 353, 0, 2062 0, 0, 0, 74, 0, 34, 48, 48, 0, 0, 2063 0, 74, 124, 127, 128, 112, 112, 0, 0, 0, 2064 0, 0, 0, 802, 0, 0, 0, 126, 0, 353, 2065 0, 0, 0, 0, 214, 126, 0, 126, 126, 0, 2066 0, 0, 126, 473, 126, 126, 0, 353, 0, 74, 2067 0, 0, 0, 112, 0, 0, 0, 0, 350, 1142, 2068 0, 0, 77, 473, 0, 57, 215, 0, 0, 213, 2069 0, 473, 0, 0, 865, 0, 1154, 0, 0, 0, 2070 0, 0, 0, 0, 254, 0, 255, 0, 0, 698, 2071 0, 353, 431, 0, 77, 0, 0, 0, 0, 0, 2072 0, 37, 0, 183, 184, 40, 0, 712, 339, 66, 2073 48, 112, 41, 42, 126, 0, 0, 431, 0, 0, 2074 112, 431, 0, 918, 0, 920, 0, 0, 0, 457, 2075 1107, 223, 0, 0, 48, 48, 0, 0, 265, 0, 2076 0, 0, 0, 348, 348, 0, 45, 46, 0, 0, 2077 259, 350, 0, 0, 413, 353, 0, 0, 0, 48, 2078 0, 215, 0, 57, 0, 0, 0, 396, 0, 0, 2079 0, 0, 0, 0, 0, 0, 0, 415, 416, 0, 2080 0, 0, 420, 0, 422, 423, 0, 0, 0, 0, 2081 0, 0, 0, 0, 1242, 0, 793, 0, 0, 353, 2082 353, 353, 0, 0, 0, 0, 0, 0, 8, 9, 2083 10, 11, 12, 0, 627, 805, 0, 353, 355, 0, 2084 0, 0, 1107, 0, 0, 0, 0, 824, 0, 0, 2085 0, 214, 0, 0, 0, 353, 0, 31, 0, 0, 2086 0, 0, 0, 0, 0, 594, 74, 0, 0, 0, 2087 594, 0, 0, 0, 0, 0, 627, 0, 0, 350, 2088 350, 350, 0, 0, 0, 34, 0, 0, 0, 0, 2089 37, 0, 74, 0, 40, 353, 0, 350, 0, 0, 2090 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2091 0, 0, 0, 0, 0, 698, 0, 0, 0, 644, 2092 0, 0, 0, 0, 0, 1039, 473, 43, 0, 0, 2093 353, 57, 57, 77, 0, 45, 46, 0, 77, 0, 2094 1107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2095 0, 0, 473, 0, 57, 350, 0, 0, 0, 0, 2096 79, 0, 0, 0, 937, 0, 1089, 431, 0, 0, 2097 0, 1481, 57, 1481, 353, 0, 0, 0, 0, 0, 2098 0, 0, 0, 0, 353, 0, 353, 0, 0, 259, 2099 712, 222, 79, 0, 353, 967, 0, 0, 353, 0, 2100 0, 0, 0, 0, 0, 0, 0, 1481, 0, 1481, 2101 0, 0, 0, 0, 0, 0, 0, 348, 348, 0, 2102 0, 0, 0, 644, 0, 0, 57, 0, 0, 224, 2103 0, 57, 0, 223, 698, 0, 323, 214, 0, 0, 2104 126, 126, 0, 0, 698, 0, 350, 0, 627, 0, 2105 0, 1002, 0, 627, 805, 0, 0, 0, 698, 74, 2106 0, 0, 0, 0, 57, 0, 0, 0, 1013, 126, 2107 0, 0, 126, 126, 0, 126, 0, 126, 126, 0, 2108 0, 0, 126, 126, 0, 0, 0, 0, 0, 353, 1558 2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559 354, 0, 77, 0, 0, 0, 0, 508, 0, 0, 1560 0, 702, 0, 0, 0, 74, 697, 0, 352, 702, 1561 702, 702, 0, 224, 0, 0, 697, 0, 349, 0, 1562 626, 0, 0, 1001, 0, 626, 804, 0, 0, 0, 1563 697, 0, 0, 0, 354, 0, 0, 126, 126, 0, 1564 1012, 0, 0, 352, 0, 0, 0, 0, 0, 0, 1565 0, 0, 0, 0, 0, 0, 0, 508, 508, 0, 1566 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 1567 0, 86, 0, 702, 0, 0, 0, 0, 0, 0, 1568 0, 0, 0, 282, 283, 0, 284, 352, 0, 0, 1569 0, 66, 0, 0, 0, 0, 0, 352, 354, 352, 1570 355, 0, 0, 86, 222, 0, 0, 352, 0, 0, 1571 0, 352, 285, 626, 0, 0, 0, 0, 286, 0, 1572 259, 711, 287, 0, 1084, 288, 289, 290, 291, 41, 1573 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 1574 225, 0, 354, 354, 354, 0, 0, 0, 0, 0, 1575 1098, 0, 0, 0, 0, 505, 0, 213, 430, 117, 1576 354, 0, 0, 45, 46, 296, 297, 298, 299, 0, 1577 0, 0, 74, 0, 0, 0, 0, 0, 354, 0, 1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 1579 0, 0, 0, 0, 126, 79, 0, 0, 0, 126, 1580 79, 0, 352, 0, 0, 0, 0, 794, 795, 0, 1581 0, 0, 0, 0, 0, 77, 593, 0, 354, 0, 1582 0, 0, 0, 0, 0, 0, 0, 362, 0, 428, 1583 0, 0, 0, 0, 697, 697, 828, 349, 349, 831, 1584 832, 0, 835, 0, 837, 838, 0, 0, 0, 839, 1585 840, 0, 0, 354, 0, 0, 0, 1187, 0, 0, 1586 0, 0, 508, 0, 57, 57, 0, 0, 0, 0, 1587 0, 0, 0, 0, 0, 0, 0, 0, 508, 0, 1588 0, 0, 0, 0, 8, 9, 10, 11, 12, 0, 1589 0, 0, 697, 697, 224, 0, 57, 354, 0, 0, 1590 0, 0, 0, 0, 0, 0, 0, 354, 0, 354, 1591 0, 0, 0, 31, 223, 352, 352, 354, 352, 352, 1592 0, 354, 86, 0, 0, 0, 0, 86, 0, 0, 1593 57, 0, 0, 57, 0, 0, 0, 0, 74, 626, 1594 0, 34, 0, 0, 0, 0, 37, 0, 508, 508, 1595 40, 0, 0, 0, 0, 0, 0, 41, 42, 0, 1596 126, 79, 0, 711, 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 352, 352, 0, 355, 0, 0, 0, 1598 0, 79, 77, 43, 0, 0, 0, 968, 969, 79, 1599 0, 45, 46, 0, 8, 9, 10, 11, 12, 0, 1600 0, 0, 0, 0, 0, 0, 1282, 355, 0, 0, 1601 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 1602 347, 225, 0, 31, 259, 355, 0, 79, 66, 0, 2110 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2111 0, 0, 0, 0, 0, 355, 356, 0, 0, 66, 2112 77, 0, 0, 1039, 0, 0, 0, 0, 77, 0, 2113 0, 0, 214, 0, 0, 0, 0, 348, 0, 0, 2114 0, 627, 0, 0, 0, 0, 355, 0, 259, 712, 2115 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 2116 0, 0, 57, 0, 355, 0, 77, 0, 0, 0, 2117 0, 0, 8, 9, 10, 11, 12, 0, 1099, 0, 2118 795, 796, 0, 0, 57, 0, 431, 117, 0, 0, 2119 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 2120 0, 31, 353, 353, 0, 353, 353, 0, 355, 829, 2121 0, 79, 832, 833, 0, 836, 79, 838, 839, 0, 2122 126, 126, 840, 841, 0, 74, 0, 0, 0, 34, 2123 0, 0, 0, 0, 37, 0, 1282, 0, 40, 0, 2124 0, 0, 57, 0, 594, 41, 42, 0, 0, 0, 2125 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 2126 353, 353, 698, 698, 0, 350, 350, 0, 0, 0, 2127 0, 718, 355, 0, 0, 0, 0, 0, 0, 45, 2128 46, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 2129 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2130 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2131 25, 224, 0, 26, 27, 28, 355, 355, 355, 0, 2132 698, 698, 31, 0, 0, 0, 0, 0, 0, 0, 2133 0, 353, 0, 0, 355, 0, 0, 0, 0, 0, 1603 2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604 697, 0, 711, 0, 352, 0, 117, 0, 0, 0, 1605 0, 34, 0, 0, 0, 0, 37, 0, 183, 184, 1606 40, 0, 0, 0, 0, 0, 0, 41, 42, 355, 1607 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 1608 697, 697, 697, 0, 0, 57, 0, 222, 86, 126, 1609 0, 349, 349, 599, 0, 600, 0, 0, 0, 0, 1610 0, 45, 46, 362, 0, 1187, 0, 0, 86, 74, 1611 0, 0, 0, 0, 0, 57, 86, 0, 0, 0, 1612 0, 352, 0, 352, 0, 354, 354, 0, 354, 354, 1613 0, 0, 0, 355, 362, 0, 0, 0, 117, 0, 1614 0, 0, 0, 0, 697, 0, 0, 0, 77, 1089, 1615 0, 0, 362, 352, 86, 0, 0, 0, 0, 0, 1616 0, 352, 352, 352, 0, 0, 0, 0, 0, 0, 1617 0, 0, 352, 352, 0, 0, 0, 355, 355, 355, 1618 0, 0, 0, 354, 354, 0, 74, 0, 0, 0, 1619 0, 0, 0, 0, 0, 355, 362, 0, 0, 0, 2135 34, 0, 355, 0, 0, 0, 0, 38, 39, 0, 2136 969, 970, 0, 77, 0, 0, 0, 627, 0, 0, 2137 0, 0, 0, 0, 222, 0, 0, 126, 79, 0, 2138 0, 0, 126, 0, 0, 0, 0, 0, 0, 77, 2139 0, 712, 355, 356, 257, 0, 74, 86, 79, 0, 2140 45, 46, 0, 0, 0, 0, 79, 0, 353, 0, 2141 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142 0, 0, 0, 0, 356, 0, 0, 355, 0, 86, 2143 0, 0, 0, 0, 1283, 0, 0, 0, 0, 0, 2144 353, 0, 356, 0, 79, 0, 0, 0, 353, 353, 2145 353, 0, 259, 0, 0, 0, 66, 0, 0, 353, 2146 353, 8, 9, 10, 11, 12, 225, 0, 698, 0, 2147 712, 355, 0, 74, 117, 8, 9, 10, 11, 12, 2148 0, 355, 0, 355, 0, 0, 356, 0, 223, 0, 2149 31, 355, 321, 0, 0, 355, 0, 0, 0, 0, 2150 698, 0, 346, 0, 31, 0, 0, 0, 698, 698, 2151 698, 0, 353, 0, 382, 382, 0, 0, 34, 350, 2152 350, 0, 1090, 37, 0, 183, 184, 40, 0, 0, 2153 0, 0, 34, 1188, 41, 42, 0, 37, 0, 183, 2154 184, 40, 0, 126, 0, 0, 0, 0, 41, 42, 2155 356, 0, 0, 363, 0, 0, 77, 0, 0, 0, 2156 905, 0, 411, 0, 0, 0, 117, 0, 45, 46, 2157 0, 0, 698, 0, 1505, 0, 411, 0, 0, 353, 2158 0, 0, 45, 46, 0, 321, 355, 0, 0, 0, 2159 0, 0, 0, 0, 356, 356, 356, 0, 0, 0, 2160 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 2161 0, 0, 356, 0, 0, 0, 8, 9, 10, 11, 2162 12, 0, 0, 0, 0, 0, 74, 0, 0, 0, 2163 356, 0, 0, 74, 0, 0, 0, 0, 0, 350, 2164 0, 79, 0, 0, 0, 31, 0, 0, 86, 0, 2165 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 2166 0, 0, 0, 0, 117, 0, 0, 79, 0, 0, 2167 356, 0, 126, 34, 0, 0, 0, 0, 37, 0, 2168 183, 184, 40, 1218, 74, 0, 1188, 0, 0, 41, 2169 42, 0, 0, 1188, 0, 0, 0, 0, 0, 355, 2170 355, 0, 355, 355, 0, 356, 0, 0, 0, 0, 2171 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 2172 0, 0, 77, 45, 46, 0, 382, 0, 0, 0, 1620 2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621 0, 349, 0, 355, 0, 0, 0, 0, 0, 0, 1622 0, 0, 0, 0, 79, 352, 0, 8, 9, 10, 1623 11, 12, 0, 0, 0, 0, 117, 0, 0, 0, 2174 0, 0, 0, 0, 1188, 0, 0, 0, 225, 356, 2175 0, 1530, 0, 0, 0, 0, 0, 355, 355, 356, 2176 0, 356, 0, 0, 0, 0, 224, 0, 0, 356, 2177 0, 0, 0, 356, 0, 167, 0, 172, 0, 0, 2178 178, 179, 180, 0, 182, 0, 0, 0, 0, 8, 2179 9, 10, 11, 12, 0, 0, 0, 0, 233, 0, 1624 2180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1625 79, 0, 0, 355, 354, 0, 31, 0, 1187, 0, 1626 362, 0, 0, 0, 0, 1187, 0, 167, 0, 172, 1627 0, 0, 178, 179, 180, 0, 182, 0, 0, 0, 1628 0, 0, 0, 0, 34, 0, 0, 0, 355, 37, 1629 233, 0, 352, 40, 0, 0, 347, 223, 0, 0, 1630 41, 42, 248, 249, 362, 362, 362, 0, 0, 0, 1631 1217, 0, 0, 0, 0, 0, 1187, 0, 0, 77, 1632 0, 0, 362, 1529, 0, 0, 717, 0, 0, 0, 1633 0, 354, 355, 354, 45, 46, 0, 0, 0, 74, 1634 362, 0, 355, 0, 355, 0, 74, 57, 0, 224, 1635 0, 86, 355, 0, 0, 0, 355, 8, 9, 10, 1636 11, 12, 0, 354, 0, 0, 0, 0, 0, 0, 1637 0, 354, 354, 354, 0, 0, 0, 86, 0, 0, 1638 362, 0, 354, 354, 0, 0, 31, 0, 0, 347, 1639 0, 0, 0, 0, 0, 0, 77, 74, 0, 0, 2181 248, 249, 1304, 0, 0, 86, 0, 0, 31, 0, 2182 709, 0, 0, 0, 0, 0, 0, 0, 355, 0, 2183 363, 0, 0, 0, 79, 86, 0, 0, 0, 0, 2184 0, 0, 0, 86, 0, 0, 34, 0, 0, 0, 2185 0, 37, 0, 183, 184, 40, 0, 0, 0, 741, 2186 0, 363, 41, 42, 356, 0, 0, 0, 0, 0, 2187 0, 223, 758, 0, 0, 0, 0, 741, 0, 363, 2188 741, 86, 0, 282, 283, 0, 284, 0, 265, 0, 2189 0, 0, 767, 77, 0, 0, 45, 46, 0, 0, 2190 0, 0, 0, 0, 0, 355, 0, 355, 0, 0, 2191 0, 0, 285, 0, 788, 0, 0, 0, 286, 0, 2192 0, 0, 287, 363, 797, 288, 289, 290, 291, 41, 2193 42, 346, 292, 293, 0, 0, 758, 355, 0, 0, 2194 0, 0, 0, 0, 0, 355, 355, 355, 0, 0, 2195 0, 0, 0, 0, 0, 506, 355, 355, 0, 0, 2196 0, 0, 0, 45, 46, 296, 297, 298, 299, 0, 2197 77, 0, 0, 0, 0, 0, 0, 356, 356, 0, 2198 356, 356, 0, 0, 0, 862, 0, 363, 0, 0, 2199 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 2200 79, 0, 0, 0, 0, 0, 0, 0, 0, 355, 1640 2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641 0, 0, 0, 0, 34, 362, 0, 79, 0, 37, 1642 0, 183, 184, 40, 0, 0, 0, 0, 0, 0, 1643 41, 42, 0, 0, 0, 354, 0, 0, 0, 1303, 1644 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 1645 0, 0, 0, 347, 0, 0, 904, 0, 410, 362, 1646 0, 0, 0, 0, 45, 46, 0, 0, 0, 362, 1647 0, 362, 0, 0, 0, 0, 225, 0, 0, 362, 1648 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 1649 0, 0, 0, 0, 0, 0, 0, 347, 347, 347, 1650 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 1651 0, 0, 0, 0, 0, 347, 0, 0, 1, 2, 1652 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2203 0, 363, 363, 363, 0, 356, 356, 0, 0, 0, 2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 2205 0, 0, 1012, 0, 0, 8, 9, 10, 11, 12, 2206 0, 0, 0, 0, 0, 0, 591, 363, 599, 0, 2207 0, 165, 0, 0, 0, 0, 355, 0, 86, 623, 2208 624, 0, 282, 283, 31, 284, 0, 0, 218, 0, 2209 0, 758, 0, 963, 0, 0, 0, 0, 0, 0, 2210 0, 0, 0, 974, 86, 0, 356, 363, 0, 982, 2211 0, 285, 34, 0, 0, 0, 0, 286, 0, 0, 2212 0, 287, 0, 77, 288, 289, 290, 291, 41, 42, 2213 77, 292, 293, 0, 0, 165, 0, 0, 0, 272, 2214 0, 0, 363, 0, 0, 0, 0, 0, 0, 224, 2215 0, 1000, 1001, 0, 294, 346, 379, 0, 0, 0, 2216 0, 0, 344, 46, 296, 297, 298, 299, 165, 346, 2217 0, 79, 0, 0, 0, 0, 0, 0, 369, 0, 2218 0, 77, 375, 356, 0, 356, 363, 0, 0, 0, 2219 0, 0, 0, 0, 0, 0, 363, 0, 363, 0, 2220 0, 0, 0, 225, 0, 0, 363, 0, 0, 1031, 2221 363, 0, 0, 382, 0, 356, 0, 0, 0, 0, 2222 0, 0, 0, 356, 356, 356, 0, 0, 0, 0, 2223 0, 165, 0, 0, 356, 356, 0, 0, 0, 0, 2224 0, 0, 0, 218, 0, 0, 0, 0, 79, 0, 2225 346, 0, 0, 282, 283, 0, 284, 0, 0, 0, 2226 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, 2227 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 2228 0, 0, 285, 0, 0, 0, 375, 356, 286, 321, 2229 0, 0, 287, 165, 0, 288, 289, 290, 291, 41, 2230 42, 363, 292, 293, 0, 0, 0, 0, 0, 0, 2231 0, 0, 0, 0, 0, 0, 524, 382, 0, 0, 2232 0, 0, 0, 974, 0, 294, 0, 741, 0, 165, 2233 0, 0, 0, 45, 46, 296, 297, 298, 299, 0, 2234 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 2235 0, 0, 0, 0, 356, 0, 0, 0, 0, 1165, 2236 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 2237 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, 2238 0, 382, 0, 1183, 0, 0, 0, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 0, 0, 974, 974, 2240 0, 79, 0, 0, 0, 0, 0, 0, 79, 0, 2241 0, 0, 0, 0, 363, 363, 0, 363, 363, 1215, 2242 0, 925, 0, 926, 0, 0, 0, 0, 0, 0, 2243 929, 930, 0, 0, 0, 935, 0, 86, 0, 0, 2244 0, 0, 0, 0, 0, 0, 0, 940, 165, 165, 2245 0, 0, 944, 0, 0, 369, 0, 0, 0, 79, 2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2247 0, 0, 363, 363, 974, 0, 524, 0, 0, 0, 2248 978, 1162, 0, 0, 8, 9, 10, 11, 12, 0, 2249 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 2250 0, 0, 0, 0, 715, 0, 0, 1266, 1267, 0, 2251 0, 282, 283, 31, 284, 0, 165, 0, 0, 0, 2252 0, 0, 0, 0, 0, 0, 0, 0, 524, 0, 2253 524, 0, 0, 524, 0, 165, 524, 0, 0, 0, 2254 285, 34, 0, 363, 0, 0, 286, 0, 369, 0, 2255 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2256 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2257 0, 0, 0, 0, 0, 0, 0, 0, 0, 1023, 2258 1024, 1025, 1026, 294, 1028, 379, 225, 0, 0, 0, 2259 0, 1163, 46, 296, 297, 298, 299, 0, 0, 1072, 2260 165, 0, 0, 0, 0, 0, 0, 0, 86, 0, 2261 0, 0, 369, 1078, 0, 0, 810, 0, 0, 0, 2262 363, 0, 363, 0, 0, 0, 0, 0, 0, 0, 2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2264 0, 0, 597, 0, 0, 0, 0, 597, 1371, 0, 2265 0, 741, 363, 1098, 0, 0, 369, 369, 369, 0, 2266 363, 363, 363, 0, 0, 0, 0, 0, 0, 0, 2267 0, 363, 363, 0, 369, 0, 0, 0, 0, 0, 2268 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 2269 0, 0, 0, 0, 0, 0, 0, 0, 1129, 0, 2270 0, 0, 0, 0, 1136, 0, 524, 0, 0, 1140, 2271 0, 0, 0, 0, 1144, 0, 1145, 0, 211, 0, 2272 1147, 0, 1148, 1149, 363, 0, 1152, 231, 0, 235, 2273 0, 237, 369, 0, 934, 1164, 0, 0, 246, 0, 2274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275 0, 0, 0, 1179, 1180, 0, 0, 0, 0, 0, 2276 0, 0, 0, 0, 0, 0, 0, 715, 0, 211, 2277 0, 235, 237, 246, 0, 0, 0, 0, 0, 0, 2278 1210, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 2279 0, 363, 0, 8, 9, 10, 11, 12, 13, 14, 2280 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2281 25, 0, 211, 26, 27, 28, 0, 0, 0, 0, 2282 0, 0, 31, 369, 0, 0, 1226, 621, 0, 0, 2283 0, 369, 1230, 1231, 0, 0, 0, 0, 86, 0, 2284 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 2285 34, 0, 1247, 0, 0, 1251, 0, 38, 39, 1253, 2286 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 2287 0, 0, 1261, 211, 0, 235, 237, 246, 0, 0, 2288 0, 0, 0, 156, 0, 1268, 0, 1270, 1271, 1272, 2289 1273, 0, 634, 0, 338, 0, 86, 0, 0, 0, 2290 45, 46, 0, 1280, 0, 1281, 0, 0, 0, 172, 2291 0, 211, 0, 0, 0, 0, 211, 0, 0, 0, 2292 0, 0, 0, 0, 0, 0, 715, 0, 0, 0, 2293 251, 497, 0, 0, 0, 0, 0, 0, 1309, 1310, 2294 256, 524, 0, 0, 0, 0, 0, 8, 9, 10, 2295 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2296 21, 22, 23, 24, 25, 165, 0, 26, 27, 28, 2297 0, 0, 0, 0, 0, 0, 31, 684, 0, 0, 2298 211, 0, 0, 0, 0, 0, 0, 0, 1342, 1343, 2299 0, 0, 0, 0, 0, 0, 156, 0, 1353, 0, 2300 0, 0, 211, 0, 34, 0, 0, 235, 237, 0, 2301 386, 38, 39, 0, 0, 246, 0, 0, 0, 0, 2302 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 2303 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 2304 0, 0, 369, 369, 0, 0, 0, 433, 685, 0, 2305 0, 0, 686, 0, 45, 46, 438, 0, 211, 1388, 2306 0, 1389, 1390, 1391, 0, 0, 446, 0, 0, 0, 2307 0, 0, 0, 1395, 0, 0, 211, 282, 283, 0, 2308 284, 211, 1406, 211, 0, 0, 0, 0, 0, 0, 2309 0, 464, 0, 0, 0, 0, 474, 0, 0, 0, 2310 211, 0, 524, 211, 211, 0, 285, 1427, 0, 482, 2311 0, 211, 286, 0, 0, 492, 287, 496, 0, 288, 2312 289, 290, 291, 41, 42, 211, 292, 293, 0, 0, 2313 0, 0, 211, 0, 526, 0, 0, 0, 0, 0, 2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 2315 1465, 1466, 0, 0, 0, 0, 0, 45, 46, 296, 2316 297, 298, 299, 1471, 0, 0, 0, 0, 715, 0, 2317 1471, 0, 0, 0, 0, 0, 0, 585, 0, 0, 2318 0, 0, 590, 8, 9, 10, 11, 12, 13, 14, 2319 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2320 25, -292, 1504, 0, 0, 0, 1510, 0, 0, 0, 2321 218, 635, 31, 0, 0, 636, 637, 0, 639, 0, 2322 0, 0, 0, 0, 0, 650, 651, 0, 652, 653, 2323 0, 654, 0, 655, 1532, 0, 1533, 0, 0, 0, 2324 34, 0, 282, 283, 0, 284, 211, 715, 0, 0, 2325 585, -292, 0, 0, 0, 0, 0, 0, 670, 0, 2326 0, 0, 0, 0, 1548, 1549, 0, 0, 0, 0, 2327 0, 285, 1552, 1553, 211, 0, 0, 286, 0, 211, 2328 0, 287, 0, 681, 288, 289, 290, 291, 41, 42, 2329 0, 292, 293, 0, 0, 0, 369, 369, 0, 0, 2330 0, 0, 0, 0, 0, 218, 0, 0, 0, 707, 2331 0, 0, 0, 0, 294, 710, 379, 0, 0, 380, 2332 464, 0, 45, 46, 296, 297, 298, 299, 0, 0, 2333 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2334 17, 18, 19, 20, 21, 22, 23, 24, 25, -292, 2335 211, 26, 27, 28, 0, 0, 745, 0, 0, 0, 2336 31, 0, 0, 0, 211, 507, 0, 509, 512, 0, 2337 0, 763, 0, 0, 0, 515, 516, 0, 0, 0, 2338 0, 0, 0, 0, 497, 0, 0, 0, 34, 0, 2339 509, 509, 0, 37, 0, 336, 337, 40, 0, -292, 2340 0, 0, 0, 0, 41, 42, 0, 0, 0, 789, 2341 0, 0, 0, 0, 0, 0, 369, 0, 799, 0, 2342 0, 0, 0, 0, 0, 801, 0, 0, 509, 0, 2343 634, 809, 338, 0, 0, 0, 0, 0, 45, 46, 2344 823, 0, 0, 0, 0, 211, 0, 0, 0, 0, 2345 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 2346 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 2347 0, 0, 524, 0, 524, 0, 211, 0, 0, 0, 2348 863, 0, 0, 0, 0, 8, 9, 10, 11, 12, 1653 2349 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1654 23, 24, 25, 0, 86, 26, 27, 28, 29, 77, 1655 0, 30, 0, 0, 31, 32, 77, 590, 0, 598, 1656 355, 355, 0, 355, 355, 0, 0, 0, 0, 0, 1657 622, 623, 0, 347, 362, 0, 0, 0, 0, 33, 1658 0, 0, 34, 79, 35, 0, 36, 37, 0, 38, 1659 39, 40, 0, 8, 9, 10, 11, 12, 41, 42, 1660 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 1661 0, 0, 0, 0, 0, 0, 0, 0, 355, 355, 1662 0, 0, 31, 0, 43, 0, 44, 0, 211, 0, 1663 -518, 0, 45, 46, 0, 0, 0, 231, 0, 235, 1664 0, 237, 0, 0, 0, 0, 0, 0, 246, 0, 1665 34, 0, 165, 0, 0, 37, 0, 183, 184, 40, 1666 0, 0, 0, 0, 347, 0, 41, 42, 0, 218, 1667 0, 0, 347, 0, 8, 9, 10, 11, 12, 211, 1668 0, 235, 237, 246, 0, 0, 0, 362, 362, 355, 1669 362, 362, 1504, 0, 410, 0, 0, 0, 0, 0, 1670 45, 46, 0, 31, 0, 0, 0, 0, 0, 0, 1671 86, 0, 0, 0, 0, 0, 165, 0, 0, 0, 1672 272, 0, 211, 0, 0, 0, 0, 0, 0, 0, 1673 0, 34, 224, 0, 0, 0, 37, 57, 183, 184, 1674 40, 0, 0, 0, 0, 362, 362, 41, 42, 165, 1675 0, 0, 0, 0, 79, 0, 0, 0, 0, 368, 1676 0, 0, 0, 374, 0, 0, 355, 0, 355, 0, 1677 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 1678 0, 45, 46, 211, 0, 235, 237, 246, 0, 0, 1679 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 1680 0, 0, 0, 0, 0, 57, 355, 355, 355, 0, 1681 0, 0, 165, 0, 0, 0, 362, 355, 355, 0, 1682 0, 211, 0, 0, 218, 0, 211, 0, 0, 0, 1683 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 1684 0, 496, 165, 0, 0, 0, 0, 0, 0, 0, 1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 1686 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 1687 355, 0, 0, 0, 165, 0, 0, 0, 0, 0, 1688 0, 86, 0, 347, 347, 0, 0, 0, 0, 211, 1689 0, 0, 0, 362, 0, 362, 0, 523, 0, 0, 1690 0, 0, 0, 57, 0, 0, 0, 0, 0, 165, 1691 0, 211, 924, 0, 925, 0, 235, 237, 0, 0, 1692 0, 928, 929, 0, 246, 362, 934, 0, 0, 0, 1693 0, 0, 0, 362, 362, 362, 0, 355, 939, 0, 1694 0, 0, 0, 943, 362, 362, 0, 596, 0, 0, 1695 0, 0, 620, 0, 0, 0, 0, 0, 86, 0, 1696 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 1697 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 1698 0, 0, 0, 0, 79, 211, 0, 0, 0, 0, 1699 211, 79, 211, 0, 0, 0, 0, 362, 0, 0, 1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 1701 0, 0, 211, 211, 0, 0, 0, 0, 0, 0, 1702 211, 0, 0, 0, 0, 0, 0, 0, 165, 165, 1703 0, 0, 0, 0, 211, 368, 0, 0, 0, 0, 1704 0, 211, 79, 0, 0, 0, 0, 0, 0, 0, 1705 0, 57, 57, 0, 0, 0, 523, 0, 0, 0, 1706 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 1707 1022, 1023, 1024, 1025, 57, 1027, 0, 0, 0, 0, 1708 0, 0, 0, 0, 714, 0, 0, 0, 0, 0, 1709 1071, 0, 57, 0, 0, 0, 165, 0, 0, 0, 1710 0, 0, 0, 0, 1077, 0, 0, 0, 523, 0, 1711 523, 86, 0, 523, 0, 165, 523, 0, 86, 0, 1712 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 1713 0, 0, 0, 0, 0, 0, 0, 347, 347, 0, 1714 0, 0, 0, 0, 1097, 0, 57, 0, 0, 0, 1715 0, 57, 0, 0, 0, 211, 0, 0, 0, 0, 1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 2350 23, 24, 25, -292, 0, 26, 27, 28, 524, 0, 2351 524, 0, 0, 0, 31, 0, 809, 0, 0, 0, 2352 0, 0, 0, 0, 904, 0, 0, 0, 0, 0, 2353 0, 0, 0, 282, 283, 0, 284, 165, 0, 0, 2354 341, 364, 34, 0, 0, 0, 0, 37, 0, 336, 2355 337, 40, 0, -292, 0, 251, 0, 0, 41, 42, 2356 0, 0, 285, 0, 0, 941, 942, 0, 286, 0, 2357 0, 0, 287, 0, 414, 288, 289, 290, 291, 41, 2358 42, 414, 292, 293, 0, 0, 338, 0, 0, 211, 2359 0, 0, 45, 46, 0, 0, 0, 0, 979, 0, 2360 0, 0, 0, 983, 0, 294, 0, 379, 0, 0, 2361 0, 0, 0, 45, 46, 296, 297, 298, 299, 211, 2362 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, 2363 0, 0, 509, 509, 509, 509, 509, 509, 509, 509, 2364 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 2365 0, 0, 0, 414, 211, 0, 0, 0, 0, 0, 2366 0, 0, 0, 0, 0, 211, 0, 1017, 0, 0, 2367 0, 0, 0, 0, 1018, 0, 0, 0, 0, 0, 2368 0, 0, 0, 0, 0, 0, 0, 1020, 0, 1021, 1717 2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718 165, 0, 0, 211, 57, 0, 0, 0, 211, 1128, 1719 0, 0, 368, 0, 0, 1135, 809, 0, 0, 0, 1720 1139, 0, 0, 0, 0, 1143, 0, 1144, 0, 0, 1721 0, 1146, 0, 1147, 1148, 0, 0, 1151, 0, 0, 1722 0, 0, 596, 0, 0, 0, 1163, 596, 0, 0, 1723 0, 0, 0, 0, 0, 0, 368, 368, 368, 0, 1724 0, 0, 0, 0, 1178, 1179, 0, 0, 0, 0, 1725 0, 0, 0, 0, 368, 0, 0, 347, 0, 211, 2370 0, 0, 0, 1033, 0, 0, 0, 0, 414, 1037, 2371 0, 0, 0, 0, 0, 0, 414, 581, 0, 414, 2372 584, 1075, 0, 0, 1076, 0, 0, 0, 0, 0, 2373 364, 0, 0, 0, 613, 0, 0, 211, 0, 0, 1726 2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727 0, 1209, 0, 211, 1211, 0, 0, 0, 0, 0, 1728 0, 0, 57, 0, 0, 0, 523, 282, 283, 0, 1729 284, 0, 0, 496, 0, 0, 0, 0, 0, 0, 1730 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 1731 0, 57, 368, 0, 933, 0, 285, 1225, 0, 0, 1732 0, 0, 286, 1229, 1230, 0, 287, 0, 0, 288, 1733 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 1734 0, 0, 0, 1246, 0, 0, 1250, 714, 0, 0, 1735 1252, 0, 0, 0, 211, 0, 0, 0, 156, 294, 1736 0, 378, 57, 1260, 379, 0, 211, 45, 46, 296, 1737 297, 298, 299, 0, 0, 0, 1267, 0, 1269, 1270, 1738 1271, 1272, 0, 0, 0, 211, 0, 0, 0, 0, 1739 0, 0, 0, 0, 1279, 0, 1280, 0, 0, 0, 1740 172, 0, 0, 368, 0, 251, 0, 620, 0, 0, 1741 0, 368, 0, 0, 0, 256, 0, 0, 0, 0, 1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 1743 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1744 0, 205, 2, 206, 4, 5, 6, 7, 8, 9, 1745 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1746 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 1747 28, 156, 0, 0, 0, 0, 0, 31, 0, 1341, 1748 1342, 0, 0, 0, 0, 385, 0, 0, 0, 1352, 1749 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 1750 0, 0, 0, 0, 0, 34, 714, 35, 417, 36, 1751 0, 0, 207, 39, 0, 0, 0, 0, 0, 0, 1752 0, 523, 432, 0, 0, 0, 0, 0, 211, 0, 1753 0, 437, 0, 282, 283, 0, 284, 0, 0, 0, 1754 0, 445, 0, 0, 0, 165, 0, 0, 0, 208, 1755 1387, 0, 1388, 1389, 1390, 45, 46, 0, 0, 0, 1756 0, 0, 285, 211, 1394, 0, 463, 0, 286, 0, 1757 0, 473, 287, 1405, 211, 288, 289, 290, 291, 41, 1758 42, 0, 292, 293, 481, 0, 0, 0, 0, 0, 1759 491, 0, 495, 0, 0, 0, 0, 0, 1426, 0, 1760 0, 596, 0, 0, 0, 294, 0, 378, 0, 525, 1761 0, 0, 0, 45, 46, 296, 297, 298, 299, 0, 1762 0, 0, 368, 368, 0, 0, 785, 0, 0, 0, 1763 0, 0, 0, 0, 282, 283, 0, 284, 0, 0, 1764 0, 1464, 1465, 0, 0, 0, 211, 0, 0, 0, 1765 0, 584, 0, 0, 1470, 0, 589, 0, 0, 0, 1766 211, 1470, 0, 285, 0, 0, 0, 0, 0, 639, 1767 0, 139, 140, 287, 0, 0, 288, 289, 290, 291, 1768 41, 42, 523, 292, 293, 634, 0, 0, 0, 635, 1769 636, 0, 638, 1503, 0, 0, 0, 1509, 0, 649, 1770 650, 0, 651, 652, 0, 653, 294, 654, 640, 0, 1771 641, 379, 0, 0, 45, 46, 296, 297, 298, 299, 1772 0, 0, 0, 0, 584, 1531, 0, 1532, 0, 0, 1773 0, 0, 669, 0, 0, 0, 0, 0, 0, 0, 1774 0, 340, 363, 0, 0, 0, 0, 0, 714, 211, 1775 0, 0, 0, 0, 0, 1547, 1548, 680, 0, 0, 1776 0, 0, 0, 1551, 1552, 0, 0, 0, 0, 0, 1777 0, 0, 0, 0, 0, 413, 0, 0, 0, 0, 1778 0, 0, 413, 706, 0, 0, 0, 0, 0, 709, 1779 218, 0, 0, 0, 463, 466, 2, 206, 4, 5, 1780 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2375 0, 211, 0, 631, 0, 0, 341, 0, 0, 0, 2376 0, 282, 283, 0, 284, 1041, 0, 1042, 0, 0, 2377 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 509, 0, 2378 1524, 1051, 0, 414, 0, 1052, 1053, 414, 33, 0, 2379 285, 0, 0, 0, 0, 0, 1054, 0, 0, 0, 2380 287, 590, 0, 288, 289, 290, 291, 41, 42, 0, 2381 292, 293, 0, 0, 0, 0, 0, 0, 364, 0, 2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2383 0, 0, 0, 294, 0, 379, 1146, 0, 171, 509, 2384 211, 45, 46, 296, 297, 298, 299, 0, 0, 0, 2385 0, 1056, 0, 0, 0, 0, -127, 0, 0, 0, 2386 0, 0, 0, 0, 414, 0, 0, 364, 0, 509, 2387 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 2388 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2389 22, 23, 24, 25, 526, 0, 26, 27, 28, 0, 2390 1211, 0, 0, 0, 0, 31, 414, 0, 0, 0, 2391 341, 364, 0, 0, 8, 9, 10, 11, 12, 13, 2392 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2393 24, 25, -293, 34, 1223, 211, 0, 0, 37, 1225, 2394 336, 337, 40, 31, 0, 0, 0, 1229, 0, 41, 2395 42, 0, 0, 0, 0, 414, 414, 0, 0, 0, 2396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2397 0, 34, 0, 0, 803, 364, 0, 338, 0, 0, 2398 1255, 0, -293, 45, 46, 613, 0, 613, 613, 509, 2399 0, 0, 1263, 0, 613, 1264, 0, 1265, 0, 0, 2400 0, 0, 0, 0, 842, 364, 0, 0, 0, 0, 2401 364, 1274, 1275, 0, 0, 0, 0, 0, 0, 364, 2402 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 2403 0, 0, 0, 1288, 509, 0, 0, 364, 0, 0, 2404 0, 0, 414, 884, 0, 0, 414, 887, 0, 0, 2405 0, 0, 0, 889, 0, 0, 0, 0, 0, 0, 2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 2407 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 2408 1327, 0, 509, 0, 0, 0, 0, 0, 0, 0, 2409 0, 0, 0, 0, 0, 364, 613, 0, 0, 8, 2410 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2411 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2412 27, 28, 0, 509, 0, 0, 0, 0, 31, 341, 2413 364, 0, 0, 0, 414, 414, 0, 0, 0, 0, 2414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2415 0, 0, 0, 0, 0, 1377, 34, 1378, 0, 0, 2416 0, 0, 0, 207, 39, 0, 0, 0, 0, 1386, 2417 0, 1387, 0, 0, 0, 0, 0, 0, 414, 0, 2418 0, 0, 211, 0, 0, 0, 364, 0, 1394, 0, 2419 0, 0, 0, 803, 364, 0, 0, 613, 0, 613, 2420 509, 0, 0, 0, 1412, 1414, 45, 46, 0, 613, 2421 0, 0, 0, 0, 0, 1419, 0, 0, 1229, 0, 2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 2424 0, 0, 0, 0, 0, 0, 0, 0, 1448, 0, 2425 0, 1450, 0, 1452, 1454, 1456, 0, 0, 0, 0, 2426 509, 509, 8, 9, 10, 11, 12, 13, 14, 15, 1781 2427 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1782 0, 0, 26, 27, 28, 0, 0, 714, 0, 0, 1783 744, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1784 0, 0, 0, 0, 211, 762, 0, 0, 0, 0, 1785 0, 0, 0, 0, 413, 0, 0, 0, 0, 34, 1786 0, 35, 0, 36, 0, 0, 38, 39, 0, 0, 1787 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 1788 0, 0, 0, 788, 0, 218, 0, 0, 0, 0, 1789 0, 0, 798, 0, 0, 0, 0, 0, 0, 800, 1790 320, 0, 0, 0, 0, 808, -3, 0, 413, 0, 1791 345, 0, 0, 0, 822, 0, 413, 580, 0, 413, 1792 583, 0, 381, 381, 0, 0, 0, 0, 0, 0, 1793 363, 0, 1011, 0, 612, 8, 9, 10, 11, 12, 2428 0, 803, 26, 27, 28, 0, 0, 0, 341, 364, 2429 414, 31, 414, 1486, 0, 1488, 414, 1229, 0, 0, 1794 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795 0, 0, 0, 630, 862, 0, 340, 0, 0, 0, 1796 0, 0, 282, 283, 31, 284, 0, 0, 0, 0, 2431 0, 0, 1499, 0, 0, 0, 0, 613, 613, 34, 2432 0, 0, 0, 0, 37, 0, 38, 39, 40, 0, 2433 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 1797 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798 0, 0, 0, 413, 0, 0, 0, 413, 0, 0, 1799 808, 285, 34, 320, 0, 0, 368, 286, 903, 0, 1800 0, 287, 0, 0, 288, 289, 290, 291, 41, 42, 1801 0, 292, 293, 0, 0, 0, 0, 477, 363, 0, 1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 1803 0, 0, 0, 0, 294, 0, 378, 0, 0, 940, 1804 941, 0, 343, 46, 296, 297, 298, 299, 0, 0, 1805 0, 0, 523, 0, 523, 0, 0, 0, 0, 0, 1806 0, 0, 0, 0, 413, 0, 0, 363, 0, 0, 1807 0, 0, 978, 0, 0, 0, 0, 982, 0, 0, 1808 0, 0, 0, 0, 0, 0, 0, 0, 523, 0, 1809 523, 211, 0, 0, 0, 0, 0, 0, 0, 0, 1810 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 1811 340, 363, 0, 0, 0, 0, 0, 165, 0, 0, 2435 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 2436 0, 43, 0, 157, 0, 0, 0, 0, 0, 45, 2437 46, 0, 0, 414, 1143, 0, 0, 0, 0, 0, 2438 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 2439 414, 1155, 0, 613, 613, 1160, 0, 0, 0, 0, 2440 0, 0, 0, 0, 0, 364, 364, 0, 0, 0, 2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2442 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2443 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2444 22, 23, 24, 25, 0, 0, 26, 27, 28, 29, 2445 0, 0, 30, 282, 283, 31, 284, 0, 0, 0, 2446 0, 0, 0, 0, 0, 509, 0, 0, 414, 0, 2447 414, 0, 0, 0, 0, 414, 0, 0, 0, 0, 2448 0, 509, 285, 34, 613, 35, 0, 36, 286, 0, 2449 38, 39, 287, 0, 0, 288, 289, 290, 291, 41, 2450 42, 0, 292, 293, 0, 0, 0, 803, 414, 1243, 1812 2451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 1814 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 1815 0, 0, 0, 0, 0, 413, 413, 0, 0, 0, 1816 0, 1019, 0, 1020, 0, 0, 0, 0, 0, 0, 1817 0, 0, 0, 0, 802, 363, 0, 1032, 0, 0, 1818 0, 0, 0, 1036, 0, 612, 0, 612, 612, 0, 1819 0, 0, 0, 0, 612, 1074, 0, 0, 1075, 0, 1820 0, 0, 0, 0, 841, 363, 0, 0, 0, 0, 1821 363, 0, 0, 0, 0, 0, 0, 0, 0, 363, 1822 363, 363, 0, 0, 0, 0, 0, 708, 0, 0, 1823 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 1824 0, 0, 413, 883, 0, 0, 413, 886, 0, 0, 1825 0, 0, 0, 888, 0, 0, 0, 0, 0, 0, 1826 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 1827 0, 0, 413, 0, 0, 589, 0, 0, 0, 757, 1828 0, 0, 0, 0, 740, 0, 0, 740, 0, 0, 1829 0, 0, 0, 0, 0, 363, 612, 0, 0, 766, 1830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1831 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832 0, 787, 0, 0, 0, 0, 0, 0, 0, 340, 1833 363, 796, 0, 0, 413, 413, 0, 0, 345, 0, 1834 0, 0, 0, 757, 0, 0, 0, 0, 0, 0, 1835 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1836 18, 19, 20, 21, 22, 23, 24, 25, 525, 0, 1837 26, 27, 28, 0, 1210, 0, 0, 0, 413, 31, 1838 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 1839 0, 0, 861, 802, 363, 0, 0, 612, 0, 612, 1840 381, 0, 0, 0, 0, 0, 0, 34, 1222, 612, 1841 0, 0, 37, 1224, 38, 39, 40, 0, 0, 0, 1842 0, 1228, 0, 41, 42, 0, 8, 9, 10, 11, 1843 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1844 22, 23, 24, 25, -291, 0, 0, 0, 0, 43, 1845 0, 157, 0, 0, 1254, 31, 0, 45, 46, 0, 1846 0, 0, 0, 0, 0, 0, 1262, 0, 0, 1263, 1847 0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 1848 0, 802, 0, 34, 0, 1273, 1274, 0, 340, 363, 1849 413, 0, 413, 0, -291, 0, 413, 0, 757, 0, 1850 962, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 1851 973, 0, 0, 0, 0, 0, 981, 612, 612, 0, 1852 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1853 18, 19, 20, 21, 22, 23, 24, 25, 1161, 0, 1854 0, 8, 9, 10, 11, 12, 0, 0, 0, 31, 1855 0, 0, 413, 0, 1326, 0, 0, 0, 999, 1000, 1856 0, 0, 345, 0, 0, 0, 0, 0, 282, 283, 1857 31, 284, 0, 413, 1142, 0, 345, 34, 0, 0, 1858 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 1859 413, 1154, 0, 612, 612, 1159, 0, 285, 34, 0, 1860 0, 0, 0, 286, 0, 363, 363, 287, 0, 0, 1861 288, 289, 290, 291, 41, 42, 1030, 292, 293, 0, 1862 381, 0, 0, 0, 0, 0, 0, 0, 0, 1376, 1863 0, 1377, 0, 0, 0, 0, 0, 0, 0, 0, 1864 294, 0, 378, 1385, 0, 1386, 0, 0, 1162, 46, 1865 296, 297, 298, 299, 0, 0, 0, 345, 0, 0, 1866 0, 0, 1393, 0, 0, 0, 0, 0, 413, 0, 1867 413, 0, 0, 0, 0, 413, 0, 0, 1411, 1413, 1868 0, 0, 0, 0, 612, 0, 0, 0, 0, 1418, 1869 0, 0, 1228, 0, 0, 0, 320, 0, 0, 0, 1870 0, 0, 0, 0, 0, 0, 0, 802, 413, 1242, 1871 0, 0, 0, 1440, 0, 282, 283, 0, 284, 0, 1872 0, 0, 1447, 0, 381, 1449, 0, 1451, 1453, 1455, 1873 973, 363, 0, 0, 740, 0, 0, 0, 0, 0, 1874 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, 1875 286, 0, 0, 0, 287, 1149, 0, 288, 289, 290, 1876 291, 41, 42, 0, 292, 293, 1164, 1485, 0, 1487, 1877 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 1878 0, 0, 0, 0, 0, 0, 1498, 294, 381, 378, 1879 1182, 0, 340, 0, 756, 45, 46, 296, 297, 298, 1880 299, 0, 0, 0, 0, 973, 973, 0, 0, 0, 1881 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1882 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 1883 0, 0, 0, 0, 1, 2, 206, 4, 5, 6, 1884 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1885 17, 18, 19, 20, 21, 22, 23, 24, 25, 363, 1886 363, 26, 27, 28, 29, 0, 0, 30, 0, 0, 1887 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1888 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 1889 0, 0, 0, 0, 0, 0, 0, 0, 34, 861, 1890 35, 0, 36, 0, 0, 38, 39, 0, 0, 0, 1891 0, 0, 0, 0, 1265, 1266, 0, 1, 2, 206, 1892 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1893 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1894 24, 25, 44, 0, 26, 27, 28, 29, 45, 46, 1895 30, 282, 283, 31, 1039, 1040, 0, 1041, 0, 0, 1896 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 1897 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 363, 1898 285, 34, 0, 35, 0, 36, 1053, 0, 38, 39, 2452 0, 282, 283, 0, 284, 294, 0, 1055, 0, 0, 2453 0, 364, 0, 45, 46, 296, 297, 298, 299, 0, 2454 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 2455 285, 509, 509, 0, 0, 0, 640, 0, 139, 140, 1899 2456 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 1900 2457 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 1901 2458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1902 0, 0, 0, 294, 0, 1054, 0, 0, 171, 0,2459 0, 0, 341, 294, 0, 641, 0, 642, 380, 0, 1903 2460 0, 45, 46, 296, 297, 298, 299, 0, 0, 0, 1904 0, 1055, 0, 0, 0, 0, -126, 0, 0, 0, 1905 0, 0, 0, 0, 0, 1370, 0, 0, 740, 0, 1906 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1909 413, 413, 0, 0, 0, 0, 0, 0, 0, 0, 1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1911 0, 0, 0, 0, 0, 413, 1, 2, 206, 4, 1912 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1913 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1914 25, 0, 0, 26, 27, 28, 29, 0, 0, 30, 1915 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 1916 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1917 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 1918 34, 0, 35, 31, 36, 286, 0, 38, 39, 287, 1919 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 1920 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1921 0, 34, 0, 0, 0, 0, 37, 0, 38, 39, 1922 40, 0, 294, 0, 1054, 0, 0, 41, 42, 0, 1923 45, 46, 296, 297, 298, 299, 0, 0, 0, 0, 1924 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 1925 0, 0, 0, 43, 0, 44, 0, 0, 0, 0, 1926 0, 45, 46, 0, 0, 0, 0, 0, 320, 1, 1927 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 1928 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1929 22, 23, 24, 25, 0, 0, 26, 27, 28, 29, 1930 0, 0, 30, 282, 283, 31, 284, 8, 9, 10, 1931 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1932 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 1933 0, 0, 285, 34, 0, 35, 31, 36, 286, 0, 1934 38, 39, 287, 0, 0, 288, 289, 290, 291, 41, 1935 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 1936 0, 0, 0, 0, 34, 0, 0, 0, 0, 110, 1937 0, 38, 39, 0, 0, 294, 0, 44, 0, 0, 1938 41, 42, 0, 45, 46, 296, 297, 298, 299, 2, 2461 364, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1939 2462 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1940 2463 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1941 23, 24, 25, 0, 0, 26, 27, 28, 0, 0,1942 0, 0, 282, 283, 31, 284, 0, 0, 0, 8,1943 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,1944 19, 20, 21, 22, 23, 24, 25, -292, 0, 0,1945 0, 285, 34, 0, 35, 0, 36, 286, 31, 38,2464 23, 24, 25, 0, 0, 26, 27, 28, 29, 0, 2465 0, 30, 282, 283, 31, 1040, 1041, 0, 1042, 364, 2466 364, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 0, 2467 0, 0, 1051, 0, 0, 0, 1052, 1053, 0, 33, 2468 0, 285, 34, 0, 35, 0, 36, 1054, 0, 38, 1946 2469 39, 287, 0, 0, 288, 289, 290, 291, 41, 42, 1947 2470 0, 292, 293, 0, 0, 0, 0, 0, 0, 0, 1948 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1949 0, 0, 0, 0, 294, 0, 342, -292, 0, 0, 1950 0, 756, 343, 46, 296, 297, 298, 299, 2, 206, 1951 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1952 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1953 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 1954 0, 282, 283, 31, 284, 8, 9, 10, 11, 12, 1955 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1956 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 1957 285, 34, 0, 35, 31, 36, 286, 0, 38, 39, 1958 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 1959 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 1960 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 1961 39, 0, 0, 294, 0, 961, 0, 0, 0, 0, 1962 756, 343, 46, 296, 297, 298, 299, 2, 206, 4, 1963 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1964 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1965 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 1966 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 1967 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1968 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 1969 34, 0, 35, 31, 36, 286, 0, 38, 39, 287, 1970 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 1971 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1972 0, 34, 0, 0, 0, 0, 0, 0, 207, 39, 1973 0, 0, 294, 0, 961, 0, 0, 0, 0, 756, 1974 45, 46, 296, 297, 298, 299, 2, 206, 4, 5, 2471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472 0, 0, 0, 0, 294, 0, 1055, 0, 0, 171, 2473 0, 0, 45, 46, 296, 297, 298, 299, 0, 0, 2474 0, 0, 1056, 0, 0, 0, 0, -127, 0, 0, 2475 0, 0, 0, 1, 2, 206, 4, 5, 6, 7, 2476 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2477 18, 19, 20, 21, 22, 23, 24, 25, 0, 364, 2478 26, 27, 28, 29, 0, 0, 30, 282, 283, 31, 2479 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2480 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2481 0, 26, 27, 28, 0, 0, 285, 34, 0, 35, 2482 31, 36, 286, 0, 38, 39, 287, 0, 0, 288, 2483 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2484 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2485 0, 0, 0, 110, 0, 38, 39, 0, 0, 294, 2486 0, 44, 0, 0, 41, 42, 414, 45, 46, 296, 2487 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, 2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2489 414, 414, 44, 0, 0, 0, 0, 0, 45, 46, 2490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2491 0, 0, 0, 0, 0, 414, 2, 206, 4, 5, 1975 2492 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1976 2493 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1977 2494 0, 0, 26, 27, 28, 0, 0, 0, 0, 282, 1978 283, 31, 284, 0, 0, 0, 0, 0, 0, 0,1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1980 0, 0, 0, 0, 0, 0, 0, 0, 285, 34,1981 0, 35, 0, 36, 286, 0, 38, 39, 287, 0,2495 283, 31, 284, 8, 9, 10, 11, 12, 13, 14, 2496 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2497 25, 0, 0, 26, 27, 28, 0, 0, 285, 34, 2498 0, 35, 31, 36, 286, 0, 38, 39, 287, 0, 1982 2499 0, 288, 289, 290, 291, 41, 42, 0, 292, 293, 1983 2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1985 0, 294, 0, 34 2, 0, 0, 0, 0, 0, 343,2501 34, 0, 0, 0, 0, 110, 0, 38, 39, 0, 2502 0, 294, 0, 343, 0, 0, 41, 42, 757, 344, 1986 2503 46, 296, 297, 298, 299, 2, 206, 4, 5, 6, 1987 2504 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1988 2505 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 1989 2506 0, 26, 27, 28, 0, 0, 0, 0, 282, 283, 1990 31, 284, 0, 0, 0, 0, 0, 0, 0, 0,1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1992 0, 0, 0, 0, 0, 0, 0, 285, 34, 0,1993 35, 0, 36, 286, 0, 207, 39, 287, 0, 0,2507 31, 284, 8, 9, 10, 11, 12, 13, 14, 15, 2508 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2509 0, 0, 26, 27, 28, 0, 0, 285, 34, 0, 2510 35, 31, 36, 286, 0, 38, 39, 287, 0, 0, 1994 2511 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1997 294, 0, 9 96, 0, 0, 0, 0, 0, 997, 46,2512 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2513 0, 0, 0, 0, 0, 0, 38, 39, 0, 0, 2514 294, 0, 962, 0, 0, 0, 0, 757, 344, 46, 1998 2515 296, 297, 298, 299, 2, 206, 4, 5, 6, 7, 1999 2516 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2000 2517 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2001 2518 26, 27, 28, 0, 0, 0, 0, 282, 283, 31, 2002 284, 0, 0, 0, 0, 0, 0, 0, 0, 0,2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,2004 0, 0, 0, 0, 0, 0, 285, 34, 0, 35,2005 0, 36, 286, 0, 38, 39, 287, 0, 0, 288,2519 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2520 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2521 0, 26, 27, 28, 0, 0, 285, 34, 0, 35, 2522 31, 36, 286, 0, 38, 39, 287, 0, 0, 288, 2006 2523 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 294,2009 0, 96 1, 0, 0, 0, 0, 0, 343, 46, 296,2524 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2525 0, 0, 0, 0, 0, 207, 39, 0, 0, 294, 2526 0, 962, 0, 0, 0, 0, 757, 45, 46, 296, 2010 2527 297, 298, 299, 2, 206, 4, 5, 6, 7, 8, 2011 2528 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, … … 2015 2532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016 2533 0, 0, 0, 0, 0, 285, 34, 0, 35, 0, 2017 36, 286, 0, 207, 39, 287, 0, 0, 288, 289,2534 36, 286, 0, 38, 39, 287, 0, 0, 288, 289, 2018 2535 290, 291, 41, 42, 0, 292, 293, 0, 0, 0, 2019 2536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2020 2537 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 2021 378, 0, 0, 0, 0, 0, 45, 46, 296, 297, 2022 298, 299, -514, 0, 0, 1, 2, 3, 4, 5, 2538 343, 0, 0, 0, 0, 0, 344, 46, 296, 297, 2539 298, 299, 2, 206, 4, 5, 6, 7, 8, 9, 2540 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2541 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2542 28, 0, 0, 0, 0, 282, 283, 31, 284, 0, 2543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2545 0, 0, 0, 0, 285, 34, 0, 35, 0, 36, 2546 286, 0, 207, 39, 287, 0, 0, 288, 289, 290, 2547 291, 41, 42, 0, 292, 293, 0, 0, 0, 0, 2548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2549 0, 0, 0, 0, 0, 0, 0, 294, 0, 997, 2550 0, 0, 0, 0, 0, 998, 46, 296, 297, 298, 2551 299, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2552 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2553 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2554 0, 0, 0, 0, 282, 283, 31, 284, 0, 0, 2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2557 0, 0, 0, 285, 34, 0, 35, 0, 36, 286, 2558 0, 38, 39, 287, 0, 0, 288, 289, 290, 291, 2559 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2561 0, 0, 0, 0, 0, 0, 294, 0, 962, 0, 2562 0, 0, 0, 0, 344, 46, 296, 297, 298, 299, 2563 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2564 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2565 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2566 0, 0, 0, 282, 283, 31, 284, 0, 0, 0, 2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569 0, 0, 285, 34, 0, 35, 0, 36, 286, 0, 2570 207, 39, 287, 0, 0, 288, 289, 290, 291, 41, 2571 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573 0, 0, 0, 0, 0, 294, 0, 379, 0, 0, 2574 0, 0, 0, 45, 46, 296, 297, 298, 299, -515, 2575 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 2576 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2577 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2578 27, 28, 29, 0, 0, 30, 0, 0, 31, 32, 2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2581 0, 0, 0, 33, 0, 0, 34, 0, 35, 0, 2582 36, 37, 0, 38, 39, 40, 0, 0, 0, 0, 2583 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 2586 44, 0, 0, 0, 0, 0, 45, 46, 1, 2, 2587 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2588 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2589 23, 24, 25, 0, 0, 26, 27, 28, 29, 0, 2590 0, 30, 0, 0, 31, 32, 0, 0, 0, 0, 2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2593 0, 0, 34, 0, 35, 0, 36, 37, 0, 38, 2594 39, 40, 0, 0, 0, 0, 0, 0, 41, 42, 2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597 0, 0, 0, 0, 43, 0, 44, 0, 0, 0, 2598 -519, 0, 45, 46, 1, 2, 3, 4, 5, 6, 2599 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2600 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2601 0, 26, 27, 28, 29, 0, 0, 30, 0, 0, 2602 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2604 0, 0, 0, 0, 0, 33, 0, 0, 34, 0, 2605 35, 0, 36, 37, 0, 38, 39, 40, 0, 0, 2606 0, 0, 0, 0, 41, 42, 0, 0, 0, 0, 2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2609 43, 0, 44, 0, 0, 0, 0, 0, 45, 46, 2610 205, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2611 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2612 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2613 0, 0, 0, 0, 0, 0, 31, 0, 8, 9, 2614 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2615 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2616 28, 485, 486, 487, 34, 0, 35, 31, 36, 37, 2617 0, 207, 39, 40, 0, 0, 0, 0, 0, 0, 2618 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2619 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2620 0, 0, 38, 39, 0, 0, 43, 0, 208, 0, 2621 0, 0, 0, 0, 45, 46, 1, 2, 206, 4, 2622 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2623 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2624 25, -292, 0, 26, 27, 28, 29, 0, 0, 30, 2625 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2628 34, 0, 35, 0, 36, 0, 0, 38, 39, 0, 2629 0, -292, 1, 2, 206, 4, 5, 6, 7, 8, 2630 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2631 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2632 27, 28, 29, 0, 44, 30, 0, 0, 31, 0, 2633 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2636 36, 0, 0, 38, 39, 205, 2, 206, 4, 5, 2023 2637 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2024 2638 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2025 0, 0, 26, 27, 28, 29, 0, 0, 30, 0,2026 0, 31, 32, 0, 0, 0, 0, 0, 0, 0,2639 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2640 44, 31, 0, 0, 0, 0, 45, 46, 0, 0, 2027 2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2028 0, 0, 0, 0, 0, 0, 33, 0, 0, 34, 2029 0, 35, 0, 36, 37, 0, 38, 39, 40, 0, 2030 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2033 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2034 46, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2035 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2036 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2037 28, 29, 0, 0, 30, 0, 0, 31, 32, 0, 2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2040 0, 0, 33, 0, 0, 34, 0, 35, 0, 36, 2041 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 2042 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2044 0, 0, 0, 0, 0, 0, 0, 43, 0, 44, 2045 0, 0, 0, 0, 0, 45, 46, 205, 2, 206, 2046 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2047 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2048 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2049 0, 0, 0, 31, 0, 8, 9, 10, 11, 12, 2050 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2051 23, 24, 25, 0, 0, 26, 27, 28, 484, 485, 2052 486, 34, 0, 35, 31, 36, 37, 0, 207, 39, 2053 40, 0, 0, 0, 0, 0, 0, 41, 42, 0, 2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2055 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2056 39, 0, 0, 43, 0, 208, 0, 0, 0, 0, 2057 0, 45, 46, 1, 2, 206, 4, 5, 6, 7, 2058 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2059 18, 19, 20, 21, 22, 23, 24, 25, -291, 0, 2060 26, 27, 28, 29, 0, 0, 30, 0, 0, 31, 2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2063 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 2064 0, 36, 0, 0, 38, 39, 0, 0, -291, 2, 2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2643 0, 35, 0, 36, 0, 0, 207, 39, 0, 2, 2065 2644 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2066 2645 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2067 2646 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2068 0, 44, 0, 0, 31, 0, 0, 45, 46, 0,2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,2647 0, 0, 0, 208, 31, 0, 0, 0, 0, 45, 2648 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071 2650 0, 0, 34, 0, 35, 0, 36, 37, 0, 207, … … 2085 2664 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2086 2665 25, 34, 0, 26, 27, 28, 0, 0, 38, 39, 2087 -39 8, 676, 31, 0, 0, 0, 0, 45, 46, 0,2666 -399, 677, 31, 0, 0, 0, 0, 45, 46, 0, 2088 2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089 2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2090 34, 0, 35, 633, 36, 337, 0, 38, 39, 0,2669 34, 0, 35, 0, 36, 157, 0, 38, 39, 0, 2091 2670 0, 45, 46, 0, 0, 0, 0, 0, 0, 0, 2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 13 49,2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 1350, 2093 2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2094 0, 0, 0, 0, 67 6, 0, 0, 0, 0, 0,2673 0, 0, 0, 0, 677, 0, 0, 0, 0, 0, 2095 2674 45, 46, 2, 206, 4, 5, 6, 7, 8, 9, 2096 2675 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, … … 2100 2679 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2101 2680 0, 26, 27, 28, 0, 34, 0, 35, 0, 36, 2102 31, 68 3, 38, 39, 0, 0, 0, 0, 0, 0,2681 31, 684, 38, 39, 0, 0, 0, 0, 0, 0, 2103 2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 0, 135 1, 0, 0, 0, 34, 0,2105 0, 0, 0, 0, 0, 38, 39, 0, 0, 67 6,2683 0, 0, 0, 0, 1352, 0, 0, 0, 34, 0, 2684 0, 0, 0, 0, 0, 38, 39, 0, 0, 677, 2106 2685 0, 0, 0, 0, 0, 45, 46, 2, 206, 4, 2107 2686 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2108 2687 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2109 25, 0, 68 4, 26, 27, 28, 685, 0, 45, 46,2688 25, 0, 685, 26, 27, 28, 1091, 0, 45, 46, 2110 2689 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2111 2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 2122 2701 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2123 2702 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2124 27, 28, 0, 0, 0, 0, 0, 67 6, 31, 0,2703 27, 28, 0, 0, 0, 0, 0, 677, 31, 0, 2125 2704 0, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2126 2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … … 2130 2709 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2131 2710 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2132 59 1, 31, 0, 0, 0, 0, 45, 46, 0, 0,2711 592, 31, 0, 0, 0, 0, 45, 46, 0, 0, 2133 2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134 2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, … … 2143 2722 291, 41, 42, 0, 292, 293, 0, 0, 0, 0, 2144 2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145 0, 0, 0, 0, 0, 0, 0, 294, 0, 51 6,2724 0, 0, 0, 0, 0, 0, 0, 294, 0, 517, 2146 2725 0, 0, 171, 0, 0, 45, 46, 296, 297, 298, 2147 2726 299, 8, 9, 10, 11, 12, 13, 14, 15, 16, … … 2151 2730 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2152 2731 0, 0, 26, 27, 28, 0, 0, 285, 34, 0, 2153 0, 31, 0, 286, 0, 38, 39, 287, 0, 0,2732 0, 31, 684, 286, 0, 38, 39, 287, 0, 0, 2154 2733 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 2155 2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2156 0, 0, 0, 0, 37, 0, 335, 336, 40, 0,2157 294, -3 5, 295, 0, 0, 41, 42, 0, 45, 46,2735 0, 0, 0, 0, 0, 0, 38, 39, 0, 0, 2736 294, -36, 295, 0, 0, 0, 0, 0, 45, 46, 2158 2737 296, 297, 298, 299, 8, 9, 10, 11, 12, 13, 2159 2738 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2160 24, 25, 0, 337, 26, 27, 28,0, 0, 45,2739 24, 25, 0, 685, 26, 27, 28, 1220, 0, 45, 2161 2740 46, 282, 283, 31, 284, 8, 9, 10, 11, 12, 2162 2741 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, … … 2165 2744 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2166 2745 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2167 0, 0, 34, 0, 0, 0, 0, 110, 0, 38,2168 39, 0, 0, 294, 0, 295, 0, 0, 41, 42,2746 0, 0, 34, 0, 0, 0, 0, 0, 0, 207, 2747 39, 0, 0, 294, 0, 295, 0, 0, 0, 0, 2169 2748 0, 45, 46, 296, 297, 298, 299, 8, 9, 10, 2170 2749 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2171 21, 22, 23, 24, 25, 0, 44, 26, 27, 28,2750 21, 22, 23, 24, 25, 0, 270, 26, 27, 28, 2172 2751 0, 0, 45, 46, 282, 283, 31, 284, 8, 9, 2173 2752 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2174 2753 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2175 28, 0, 0, 285, 34, 0, 0, 31, 683, 286,2754 28, 0, 0, 285, 34, 0, 0, 31, 0, 286, 2176 2755 0, 38, 39, 287, 0, 0, 288, 289, 290, 291, 2177 2756 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, … … 2180 2759 0, 0, 0, 0, 45, 46, 296, 297, 298, 299, 2181 2760 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2182 18, 19, 20, 21, 22, 23, 24, 25, 0, 684,2183 26, 27, 28, 1090, 0, 45, 46, 282, 283, 31,2761 18, 19, 20, 21, 22, 23, 24, 25, 0, 338, 2762 26, 27, 28, 0, 0, 45, 46, 282, 283, 31, 2184 2763 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2185 2764 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2186 2765 0, 26, 27, 28, 0, 0, 285, 34, 0, 0, 2187 31, 683, 286, 0, 38, 39, 287, 0, 0, 288,2766 31, 0, 286, 0, 38, 39, 287, 0, 0, 288, 2188 2767 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2189 2768 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2190 2769 0, 0, 0, 0, 0, 38, 39, 0, 0, 294, 2191 0, 59 1, 0, 0, 0, 0, 0, 45, 46, 296,2770 0, 592, 0, 0, 0, 0, 0, 45, 46, 296, 2192 2771 297, 298, 299, 8, 9, 10, 11, 12, 13, 14, 2193 2772 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2194 25, 0, 68 4, 26, 27, 28, 1219, 0, 45, 46,2195 282, 283, 31, 284, 0, 8, 9, 10, 11, 12,2196 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,2197 23, 24, 25, -291, 0, 26, 27, 28, 0, 285,2198 34, 0, 0, 0, 31, 286, 0, 38, 39, 287,2199 0, 0, 288, 289, 290, 291, 41, 42, 0, 292,2773 25, 0, 685, 26, 27, 28, 0, 0, 45, 46, 2774 282, 283, 31, 284, 0, 0, 0, 0, 0, 0, 2775 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2776 17, 18, 19, 20, 21, 22, 23, 24, 25, 285, 2777 34, 26, 27, 28, 0, 286, 0, 38, 39, 287, 2778 31, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2200 2779 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201 0, 0, 34, 0, 0, 0, 0, 37, 0, 335, 2202 336, 40, 294, -291, 378, 0, 0, 0, 41, 42, 2203 45, 46, 296, 297, 298, 299, 0, 0, 0, 0, 2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2205 0, 0, 0, 0, 633, 0, 337, 0, 0, 0, 2206 0, 0, 45, 46, 8, 9, 10, 11, 12, 13, 2780 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2781 0, 0, 294, 0, 379, 38, 39, 0, 0, 0, 2782 45, 46, 296, 297, 298, 299, 467, 2, 206, 4, 2783 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2784 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2785 25, 0, 592, 26, 27, 28, 0, 0, 45, 46, 2786 0, 0, 31, 0, 0, 0, 8, 9, 10, 11, 2787 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2788 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2789 34, 0, 35, 0, 36, 31, 0, 38, 39, 0, 2790 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2207 2791 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2208 24, 25, -291, 0, 26, 27, 28, 0, 0, 0, 2209 0, 0, 0, 31, 8, 9, 10, 11, 12, 13, 2210 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2211 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2212 0, 34, 0, 31, 0, 0, 37, 0, 335, 336, 2213 40, 0, -291, 0, 0, 0, 0, 41, 42, 0, 2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2215 0, 34, 0, 0, 0, 0, 37, 0, 207, 39, 2216 40, 0, 0, 0, 0, 337, 0, 41, 42, 0, 2217 0, 45, 46, 0, 0, 0, 0, 0, 0, 0, 2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 0, 0, 0, 43, 0, 270, 0, 0, 0, 0, 2220 0, 45, 46, 8, 9, 10, 11, 12, 13, 14, 2221 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2222 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2223 0, 0, 31, 8, 9, 10, 11, 12, 13, 14, 2224 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2225 25, -291, 0, 26, 27, 28, 0, 0, 0, 0, 2226 34, 0, 31, 0, 0, 37, 0, 335, 336, 40, 2227 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2229 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2230 0, -291, 633, 0, 337, 0, 0, 0, 0, 0, 2231 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2233 0, 0, 633, 0, 337, 0, 0, 0, 0, 0, 2234 45, 46, 8, 9, 10, 11, 12, 13, 14, 15, 2792 24, 25, 0, 34, 26, 27, 28, 0, 37, 0, 2793 38, 39, 40, 31, 0, 0, 0, -3, 0, 41, 2794 42, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2235 2795 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2236 -291, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2237 0, 31, 8, 9, 10, 11, 12, 13, 14, 15, 2238 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2239 0, 0, 26, 27, 28, 0, 0, 0, 0, 34, 2240 0, 31, 0, 0, 0, 0, 38, 39, 0, 0, 2241 -291, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2242 17, 18, 19, 20, 21, 22, 23, 24, 25, 34, 2243 0, 26, 27, 28, 0, 0, 38, 39, 0, 0, 2244 31, 0, 0, 337, 0, 0, 0, 0, 0, 45, 2245 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2246 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2247 0, 0, 0, 257, 0, 38, 39, 0, 0, 45, 2796 0, 34, 26, 27, 28, 43, 37, 44, 207, 39, 2797 40, 31, 0, 45, 46, 0, 0, 41, 42, 0, 2798 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2799 18, 19, 20, 21, 22, 23, 24, 25, -292, 34, 2800 26, 27, 28, 43, 37, 270, 336, 337, 40, 31, 2801 0, 45, 46, 0, 0, 41, 42, 0, 8, 9, 2802 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2803 20, 21, 22, 23, 24, 25, -292, 34, 26, 27, 2804 28, 634, 0, 338, 38, 39, 0, 31, -292, 45, 2248 2805 46, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2249 2806 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2250 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2251 31, 0, 157, 0, 0, 0, 0, 0, 45, 46, 2252 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2253 18, 19, 20, 21, 22, 23, 24, 25, 34, 0, 2254 26, 27, 28, 0, 0, 207, 39, 0, 0, 31, 2255 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2256 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2257 26, 27, 28, 0, 0, 0, 0, 34, 0, 31, 2258 0, 0, 270, 0, 38, 39, 0, 0, 45, 46, 2807 0, 26, 27, 28, 0, 34, 0, 0, 0, 634, 2808 31, 338, 38, 39, 0, 0, -292, 45, 46, 0, 2259 2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2261 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2262 0, 337, 0, 0, 0, 0, 0, 45, 46, 0, 2263 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2264 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2265 0, 684, 26, 27, 28, 0, 0, 45, 46, 0, 2266 0, 31, 8, 9, 10, 11, 12, 13, 14, 15, 2267 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2268 0, 0, 26, 27, 28, 0, 0, 0, 0, 34, 2269 0, 31, 0, 0, 0, 0, 38, 39, 0, 0, 2270 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2271 18, 19, 20, 21, 22, 23, 24, 25, 0, 34, 2272 26, 27, 28, 0, 0, 0, 38, 39, 0, 31, 2273 0, 0, 0, 591, 0, 0, 0, 0, 0, 45, 2274 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2276 0, 0, 0, 44, 207, 39, 0, 0, 0, 45, 2277 46, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2278 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2279 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2280 0, 0, 0, 0, 0, 0, 31, 45, 46, 0, 2810 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2811 0, 0, 0, 0, 0, 38, 39, 0, 0, 338, 2812 0, 0, 0, 0, 0, 45, 46, 2, 206, 4, 2813 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2814 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2815 25, 0, 44, 26, 27, 28, 0, 0, 45, 46, 2816 0, 0, 31, 0, 282, 283, 0, 284, 1041, 0, 2817 1042, 0, 0, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 2818 1050, 0, 0, 0, 1051, 0, 0, 0, 1052, 1053, 2819 34, 33, 35, 285, 36, 0, 0, 38, 39, 1054, 2820 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2821 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2281 2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823 0, 0, 0, -412, 0, 0, 294, 0, 379, 0, 2824 0, 171, 0, 0, 45, 46, 296, 297, 298, 299, 2825 0, 0, 0, 0, 1056, 0, 0, 0, 0, -127, 2826 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2827 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2828 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2829 0, 0, 0, 0, 0, 31, 0, 282, 283, 0, 2830 284, 1041, 0, 1042, 1398, 1399, 1043, 1044, 1045, 1046, 2831 1047, 1048, 1049, 1050, 0, 0, 1524, 1051, 0, 0, 2832 0, 1052, 1053, 34, 33, 35, 285, 36, 0, 0, 2833 38, 39, 1054, 0, 0, 0, 287, 0, 0, 288, 2834 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2835 0, 0, 1311, 0, 0, 0, 0, 0, 0, 0, 2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2837 0, 379, 0, 0, 171, 0, 0, 45, 46, 296, 2838 297, 298, 299, 0, 0, 282, 283, 1056, 284, 1041, 2839 0, 1042, 1398, 1399, 1043, 1044, 1045, 1046, 1047, 1048, 2840 1049, 1050, 0, 0, 0, 1051, 0, 0, 0, 1052, 2841 1053, 0, 33, 0, 285, 0, 0, 0, 0, 0, 2842 1054, 0, 0, 0, 287, 0, 0, 288, 289, 290, 2843 291, 41, 42, 0, 292, 293, 0, 0, 0, 0, 2282 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2283 0, 0, 0, 0, 34, 0, 35, 0, 36, 0, 2284 0, 38, 39, 282, 283, 0, 284, 1040, 0, 1041, 2285 0, 0, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 2286 0, 0, 1523, 1050, 0, 0, 0, 1051, 1052, 0, 2287 33, 0, 285, 0, 0, 0, 0, -411, 1053, 0, 2845 0, 0, 0, 0, 0, 0, 0, 294, 0, 379, 2846 0, 0, 171, 0, 0, 45, 46, 296, 297, 298, 2847 299, 0, 0, 282, 283, 1056, 284, 1041, 0, 1042, 2848 0, 0, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 2849 0, 0, 0, 1051, 0, 0, 0, 1052, 1053, 0, 2850 33, 0, 285, 0, 0, 0, 0, 0, 1054, 0, 2288 2851 0, 0, 287, 0, 0, 288, 289, 290, 291, 41, 2289 2852 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291 0, 0, 0, 0, 0, 294, 0, 378, 0, 0, 2292 171, 0, 0, 45, 46, 296, 297, 298, 299, 0, 2293 0, 282, 283, 1055, 284, 1040, 0, 1041, -126, 0, 2294 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 2295 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 0, 2296 285, 0, 0, 0, 0, 0, 1053, 0, 0, 0, 2297 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2298 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300 0, 0, 0, 294, 0, 378, 0, 0, 171, 0, 2301 0, 45, 46, 296, 297, 298, 299, 0, 0, 0, 2302 0, 1055, 0, 0, 0, 0, -126, 2, 206, 4, 2303 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2304 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2305 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2306 0, 0, 31, 0, 282, 283, 0, 284, 1040, 0, 2307 1041, 1397, 1398, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 2308 1049, 0, 0, 1523, 1050, 0, 0, 0, 1051, 1052, 2309 34, 33, 35, 285, 36, 0, 0, 38, 39, 1053, 2310 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2311 41, 42, 0, 292, 293, 0, 0, 0, 0, 1310, 2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2313 0, 0, 0, 0, 0, 0, 294, 0, 378, 0, 2314 0, 171, 0, 0, 45, 46, 296, 297, 298, 299, 2315 0, 0, 282, 283, 1055, 284, 1040, 0, 1041, 1397, 2316 1398, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 2317 0, 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 2318 0, 285, 0, 0, 0, 0, 0, 1053, 0, 0, 2319 0, 287, 0, 0, 288, 289, 290, 291, 41, 42, 2320 0, 292, 293, 0, 0, 0, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2322 0, 0, 0, 0, 294, 0, 378, 0, 0, 171, 2323 0, 0, 45, 46, 296, 297, 298, 299, 0, 0, 2324 282, 283, 1055, 284, 1040, 0, 1041, 0, 0, 1042, 2325 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 0, 2326 1050, 0, 0, 0, 1051, 1052, 0, 33, 0, 285, 2327 0, 0, 0, 0, 0, 1053, 0, 0, 0, 287, 2853 282, 283, 0, 284, 0, 0, 0, 0, 0, 0, 2854 0, 0, 0, 0, 0, 294, 0, 379, 0, 0, 2855 171, 0, 0, 45, 46, 296, 297, 298, 299, 285, 2856 0, 0, 0, 1056, 0, 286, 0, 0, 0, 287, 2328 2857 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2329 2858 293, 0, 0, 0, 0, 0, 0, 282, 283, 0, 2330 2859 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2331 0, 0, 294, 0, 37 8, 0, 0, 171, 0, 0,2860 0, 0, 294, 0, 379, 0, 0, 0, 0, 757, 2332 2861 45, 46, 296, 297, 298, 299, 285, 0, 0, 0, 2333 1055, 0, 286, 0, 0, 0, 287, 0, 0, 288,2862 0, 0, 286, 0, 0, 0, 287, 0, 0, 288, 2334 2863 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2335 2864 0, 0, 0, 0, 282, 283, 0, 284, 0, 0, 2336 2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2337 0, 37 8, 0, 0, 970, 0, 0, 45, 46, 296,2866 0, 379, 0, 0, 971, 0, 0, 45, 46, 296, 2338 2867 297, 298, 299, 285, 0, 0, 0, 0, 0, 286, 2339 2868 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2340 2869 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2341 2870 0, 282, 283, 0, 284, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 0, 294, 0, 37 8, 0,2871 0, 0, 0, 0, 0, 0, 294, 0, 379, 0, 2343 2872 282, 283, 0, 284, 45, 46, 296, 297, 298, 299, 2344 2873 285, 0, 0, 0, 0, 0, 286, 0, 0, 0, … … 2346 2875 292, 293, 0, 0, 0, 286, 0, 0, 0, 287, 2347 2876 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2348 293, 0, 0, 294, 0, 37 8, 0, 282, 283, 0,2349 284, 70 7, 46, 296, 297, 298, 299, 0, 0, 0,2350 0, 0, 294, 0, 37 8, 0, 282, 283, 0, 284,2351 34 3, 46, 296, 297, 298, 299, 285, 0, 0, 0,2877 293, 0, 0, 294, 0, 379, 0, 282, 283, 0, 2878 284, 708, 46, 296, 297, 298, 299, 0, 0, 0, 2879 0, 0, 294, 0, 379, 0, 0, 0, 0, 0, 2880 344, 46, 296, 297, 298, 299, 285, 0, 0, 0, 2352 2881 0, 0, 286, 0, 0, 0, 287, 0, 0, 288, 2353 289, 290, 291, 41, 42, 285, 292, 293, 0, 0, 2354 0, 286, 0, 0, 0, 287, 0, 0, 288, 289, 2355 290, 291, 41, 42, 0, 292, 293, 0, 0, 294, 2356 0, 0, 0, 282, 283, 0, 284, 45, 46, 296, 2357 297, 298, 299, 0, 0, 0, 0, 0, 510, 0, 2358 0, 0, 0, 0, 0, 0, 45, 46, 296, 297, 2359 298, 299, 285, 0, 0, 0, 0, 0, 286, 0, 2360 0, 0, 287, 0, 0, 288, 289, 290, 291, 41, 2361 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2882 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2362 2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363 0, 0, 0, 0, 0, 513, 0, 0, 0, 0,2364 0, 0, 0, 45, 46, 296, 297, 298, 299, 2,2365 2 06, 4, 5, 6, 7, 8, 9, 10, 11, 12,2366 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,2367 23, 24, 25, 0, 0, 0, 0, 0, 0, 0,2368 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 2885 0, 0, 0, 0, 0, 0, 0, 45, 46, 296, 2886 297, 298, 299, 2, 206, 4, 5, 6, 7, 8, 2887 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2888 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 2889 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2369 2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370 2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2371 0, 0, 34, 0, 35, 0, 36, 37, 0, 174, 2372 175, 40, 0, 0, 0, 0, 0, 0, 41, 42, 2373 205, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2374 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2375 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2376 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 2892 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2893 36, 37, 0, 174, 175, 40, 0, 0, 0, 0, 2894 0, 0, 41, 42, 205, 2, 206, 4, 5, 6, 2895 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2896 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2897 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2898 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2900 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2901 35, 0, 36, 0, 0, 207, 39, 467, 2, 206, 2902 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2903 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2904 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2905 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 2377 2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2378 2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379 0, 0, 0, 0, 34, 0, 35, 0, 36, 0,2380 0, 207, 39, 466, 2, 206, 4, 5, 6, 7,2381 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,2382 18, 19, 20, 21, 22, 23, 24, 25, 0, 0,2383 26, 27, 28, 0, 0, 0, 0, 0, 0, 31,2908 0, 34, 0, 35, 0, 36, 0, 0, 38, 39, 2909 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2910 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2911 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2912 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 2384 2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2385 2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2386 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 2387 0, 36, 0, 0, 38, 39, 2, 206, 4, 5, 2388 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2389 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2390 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2391 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 2392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2394 0, 35, 0, 36, 0, 0, 207, 39 2915 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2916 207, 39 2395 2917 }; 2918 2919 #define yypact_value_is_default(yystate) \ 2920 ((yystate) == (-1390)) 2921 2922 #define yytable_value_is_error(yytable_value) \ 2923 YYID (0) 2396 2924 2397 2925 static const yytype_int16 yycheck[] = 2398 2926 { 2399 0, 1, 43, 43, 185, 185, 204, 0, 43, 1, 2400 185, 239, 105, 185, 520, 533, 116, 187, 748, 0, 2401 1, 748, 185, 168, 169, 748, 732, 185, 0, 1, 2402 512, 186, 32, 344, 645, 185, 219, 1020, 601, 32, 2403 156, 602, 256, 43, 873, 873, 57, 608, 491, 49, 2404 0, 32, 495, 755, 691, 348, 49, 619, 72, 601, 2405 32, 489, 155, 63, 348, 32, 66, 1320, 599, 69, 2406 63, 570, 982, 66, 599, 72, 69, 69, 281, 82, 2407 43, 1397, 32, 72, 265, 265, 599, 1039, 69, 63, 2408 265, 261, 262, 265, 66, 106, 43, 69, 109, 599, 2409 43, 201, 265, 425, 426, 105, 82, 265, 599, 599, 2410 51, 266, 39, 113, 599, 265, 116, 117, 132, 39, 2411 39, 0, 1032, 417, 634, 635, 28, 0, 117, 0, 2412 1019, 1020, 109, 39, 110, 132, 363, 0, 1051, 1052, 2413 367, 651, 107, 437, 185, 185, 146, 147, 39, 82, 2414 185, 445, 1468, 32, 147, 155, 156, 186, 132, 32, 2415 160, 32, 114, 39, 39, 1418, 131, 160, 109, 32, 2416 481, 493, 43, 1, 904, 603, 78, 904, 49, 607, 2417 686, 904, 109, 228, 111, 185, 186, 44, 45, 109, 2418 512, 111, 63, 186, 487, 66, 156, 130, 69, 709, 2419 628, 201, 247, 417, 632, 111, 95, 218, 49, 209, 2420 1039, 44, 45, 109, 1127, 82, 209, 717, 109, 1500, 2421 111, 221, 185, 437, 265, 265, 409, 717, 221, 64, 2422 265, 445, 717, 109, 109, 111, 111, 266, 185, 239, 2423 129, 1224, 185, 694, 111, 55, 1527, 340, 82, 221, 2424 405, 251, 813, 109, 110, 577, 109, 114, 251, 259, 2425 823, 272, 899, 112, 264, 265, 266, 116, 279, 116, 2426 251, 271, 113, 266, 109, 109, 147, 370, 131, 251, 2427 811, 823, 115, 985, 251, 132, 811, 97, 11, 160, 2428 800, 1274, 96, 792, 294, 395, 0, 82, 811, 112, 2429 503, 251, 1401, 44, 45, 146, 306, 294, 619, 85, 2430 109, 811, 923, 624, 185, 186, 432, 601, 122, 72, 2431 811, 811, 322, 423, 479, 110, 811, 327, 32, 429, 2432 83, 84, 110, 1471, 327, 1287, 347, 113, 209, 1477, 2433 340, 111, 1048, 113, 344, 130, 3, 82, 348, 349, 2434 221, 116, 130, 364, 72, 110, 1451, 368, 111, 1497, 2435 130, 588, 66, 363, 1502, 83, 84, 367, 209, 932, 2436 370, 96, 251, 114, 109, 130, 405, 256, 251, 3, 2437 251, 1210, 1210, 193, 1273, 1274, 680, 109, 251, 111, 2438 1485, 109, 1487, 256, 265, 395, 1495, 122, 239, 116, 2439 931, 1500, 72, 630, 116, 405, 216, 90, 91, 525, 2440 1393, 116, 405, 83, 84, 132, 226, 845, 931, 116, 2441 132, 1520, 0, 423, 252, 425, 426, 49, 1527, 429, 2442 271, 524, 432, 744, 128, 132, 998, 131, 425, 426, 2443 931, 111, 125, 126, 119, 120, 1007, 1008, 116, 116, 2444 479, 116, 131, 453, 905, 109, 327, 72, 1287, 111, 2445 966, 113, 665, 130, 132, 306, 680, 132, 83, 84, 2446 112, 471, 432, 589, 116, 1385, 1386, 348, 130, 479, 2447 116, 481, 109, 483, 294, 655, 479, 487, 1440, 0, 2448 483, 113, 706, 493, 130, 1447, 111, 940, 980, 950, 2449 116, 646, 483, 344, 1393, 505, 116, 507, 109, 937, 2450 510, 483, 512, 513, 130, 1126, 72, 221, 505, 109, 2451 520, 481, 132, 510, 524, 525, 513, 83, 84, 109, 2452 823, 686, 735, 483, 405, 1098, 1500, 109, 417, 823, 2453 4, 5, 6, 7, 8, 9, 1498, 251, 116, 72, 2454 110, 74, 75, 653, 417, 111, 1520, 116, 437, 109, 2455 83, 84, 110, 1527, 132, 525, 445, 112, 116, 569, 2456 570, 116, 112, 132, 437, 802, 116, 577, 1084, 566, 2457 807, 1287, 445, 1089, 425, 426, 109, 209, 588, 589, 2458 116, 114, 903, 593, 110, 88, 89, 116, 116, 599, 2459 116, 601, 481, 110, 483, 69, 132, 71, 110, 620, 2460 483, 1440, 483, 132, 132, 110, 487, 112, 1447, 619, 2461 483, 116, 112, 112, 624, 636, 626, 116, 116, 589, 2462 630, 116, 442, 633, 634, 635, 131, 132, 466, 650, 2463 66, 110, 1114, 936, 132, 349, 1118, 132, 72, 271, 2464 743, 651, 493, 653, 110, 1361, 82, 686, 468, 83, 2465 84, 109, 110, 111, 72, 1116, 74, 75, 895, 1498, 2466 110, 512, 294, 92, 93, 83, 84, 860, 10, 11, 2467 12, 13, 14, 683, 306, 115, 686, 998, 110, 109, 2468 57, 117, 808, 109, 116, 505, 110, 880, 694, 527, 2469 510, 109, 116, 513, 532, 109, 114, 39, 109, 709, 2470 710, 711, 64, 110, 942, 132, 589, 717, 718, 116, 2471 731, 866, 109, 904, 904, 1176, 1177, 110, 599, 904, 2472 601, 110, 904, 116, 160, 67, 577, 116, 1444, 106, 2473 1446, 904, 109, 743, 744, 109, 904, 111, 748, 749, 2474 110, 906, 132, 581, 904, 72, 116, 74, 75, 115, 2475 116, 10, 11, 12, 13, 14, 83, 84, 472, 117, 2476 85, 86, 87, 112, 1504, 123, 124, 1504, 619, 483, 2477 109, 1504, 111, 624, 744, 110, 1304, 114, 155, 785, 2478 39, 116, 792, 1499, 109, 221, 111, 114, 113, 114, 2479 800, 680, 802, 109, 804, 111, 114, 807, 808, 902, 2480 110, 811, 109, 1011, 111, 686, 116, 680, 67, 110, 2481 117, 118, 110, 823, 652, 116, 654, 706, 116, 132, 2482 109, 453, 111, 259, 1145, 85, 86, 87, 264, 132, 2483 109, 72, 111, 706, 110, 76, 717, 718, 808, 110, 2484 116, 218, 83, 84, 109, 116, 111, 114, 668, 109, 2485 109, 111, 111, 113, 114, 744, 862, 677, 117, 118, 2486 66, 681, 109, 873, 111, 110, 704, 906, 109, 109, 2487 111, 116, 82, 505, 110, 507, 117, 118, 510, 1034, 2488 116, 513, 873, 110, 1121, 895, 0, 1, 109, 116, 2489 111, 873, 902, 903, 904, 272, 906, 112, 110, 905, 2490 109, 1114, 279, 1224, 116, 1118, 1119, 621, 918, 110, 2491 111, 117, 109, 349, 82, 29, 30, 110, 32, 1084, 2492 1381, 931, 932, 116, 1089, 808, 936, 58, 59, 43, 2493 811, 941, 942, 903, 118, 49, 1397, 127, 109, 941, 2494 111, 128, 823, 57, 950, 94, 117, 118, 131, 63, 2495 941, 909, 66, 911, 160, 69, 966, 111, 109, 941, 2496 111, 109, 110, 111, 1480, 109, 117, 118, 82, 83, 2497 347, 109, 4, 5, 6, 7, 8, 9, 112, 985, 2498 109, 110, 111, 697, 873, 115, 116, 364, 998, 112, 2499 873, 368, 106, 112, 430, 109, 1106, 711, 44, 45, 2500 873, 110, 116, 505, 110, 507, 1467, 1468, 510, 1019, 2501 1020, 513, 110, 1529, 903, 221, 109, 110, 111, 1, 2502 110, 1234, 110, 904, 110, 906, 1247, 1248, 1249, 1039, 2503 1036, 109, 72, 147, 74, 75, 472, 69, 112, 71, 2504 111, 155, 114, 83, 84, 1084, 160, 116, 1039, 1019, 2505 1089, 683, 131, 259, 431, 936, 114, 1039, 264, 114, 2506 4, 5, 6, 7, 8, 9, 109, 49, 112, 1079, 2507 112, 185, 186, 110, 1084, 551, 552, 897, 112, 1089, 2508 553, 554, 72, 110, 74, 75, 76, 201, 1098, 33, 2509 804, 942, 112, 83, 84, 209, 1106, 58, 59, 60, 2510 132, 112, 130, 1206, 218, 559, 560, 221, 1321, 72, 2511 1116, 1121, 1325, 76, 228, 130, 130, 116, 956, 109, 2512 83, 84, 29, 105, 110, 69, 110, 71, 115, 243, 2513 115, 113, 112, 247, 110, 1145, 114, 251, 252, 112, 2514 978, 115, 109, 349, 982, 116, 109, 998, 110, 132, 2515 1039, 265, 266, 110, 117, 118, 1039, 593, 272, 873, 2516 555, 556, 557, 558, 146, 279, 1039, 116, 110, 110, 2517 1176, 1177, 110, 155, 110, 1145, 116, 1187, 1188, 110, 2518 110, 110, 110, 110, 110, 621, 1188, 110, 110, 110, 2519 626, 110, 1189, 1190, 1032, 1192, 1206, 1188, 110, 110, 2520 1210, 110, 1199, 1084, 1201, 1187, 1188, 115, 1089, 1422, 2521 29, 588, 130, 327, 1224, 131, 110, 116, 1228, 1210, 2522 112, 112, 110, 205, 430, 110, 1228, 209, 1210, 72, 2523 1050, 74, 75, 347, 348, 110, 116, 1228, 116, 112, 2524 83, 84, 114, 620, 130, 110, 1228, 110, 110, 116, 2525 364, 112, 110, 110, 368, 110, 1145, 239, 109, 636, 2526 116, 697, 116, 1273, 1274, 379, 472, 1377, 111, 109, 2527 112, 109, 1282, 650, 109, 711, 1514, 1287, 109, 112, 2528 130, 395, 873, 132, 110, 115, 918, 1001, 110, 271, 2529 115, 405, 274, 110, 128, 72, 1287, 74, 75, 76, 2530 1282, 115, 114, 1273, 112, 1287, 83, 84, 132, 423, 2531 1320, 110, 294, 1504, 1504, 429, 112, 431, 1320, 1504, 2532 112, 1210, 1504, 116, 306, 1039, 110, 1210, 110, 1320, 2533 110, 1504, 109, 112, 112, 1224, 1504, 1210, 1320, 72, 2534 1505, 74, 75, 76, 1504, 112, 110, 112, 47, 112, 2535 83, 84, 466, 112, 731, 1376, 132, 471, 340, 132, 2536 1357, 132, 344, 132, 1529, 479, 132, 1377, 804, 483, 2537 1480, 30, 115, 487, 110, 1381, 490, 115, 492, 130, 2538 110, 363, 110, 1393, 115, 367, 463, 593, 370, 112, 2539 72, 1397, 74, 75, 76, 112, 112, 112, 1287, 112, 2540 112, 83, 84, 284, 1287, 110, 112, 109, 1418, 1247, 2541 1248, 1249, 112, 527, 1287, 621, 1418, 109, 532, 109, 2542 626, 60, 110, 82, 83, 306, 307, 1418, 114, 110, 2543 1440, 132, 112, 112, 110, 112, 1418, 1447, 110, 1449, 2544 96, 1451, 96, 425, 426, 109, 109, 1079, 132, 1440, 2545 115, 1042, 110, 1504, 1504, 110, 1447, 110, 1440, 1504, 2546 110, 1467, 1468, 344, 116, 1447, 1505, 581, 42, 130, 2547 1480, 453, 132, 1187, 588, 1485, 1296, 1487, 110, 110, 2548 96, 132, 96, 132, 466, 599, 110, 601, 1498, 132, 2549 1529, 697, 110, 110, 1504, 1505, 1210, 132, 110, 380, 2550 115, 112, 1505, 112, 1514, 711, 620, 1498, 109, 491, 2551 132, 493, 132, 495, 110, 115, 1498, 115, 895, 1529, 2552 110, 110, 636, 505, 132, 507, 1529, 641, 510, 110, 2553 512, 513, 1055, 562, 564, 561, 650, 976, 652, 653, 2554 654, 563, 524, 1468, 565, 1210, 49, 1385, 1386, 1539, 2555 1363, 1440, 1119, 1297, 1325, 1447, 1070, 1440, 1447, 683, 2556 63, 66, 683, 66, 1447, 1001, 69, 1440, 1282, 1089, 2557 75, 911, 686, 1287, 1447, 919, 690, 581, 692, 696, 2558 866, 647, 696, 970, 243, 1423, 721, 938, 1228, 731, 2559 704, -1, 669, 483, 569, 577, -1, 569, 804, 569, 2560 -1, -1, -1, 717, 718, 70, 588, -1, 73, 1498, 2561 -1, 76, 117, 78, -1, 1498, -1, 731, -1, 1210, 2562 85, -1, -1, 1504, 3, 1498, -1, -1, 1448, -1, 2563 1450, 10, 11, 12, 13, 14, -1, 619, -1, -1, 2564 -1, -1, 624, 1481, 147, -1, -1, 72, 630, 74, 2565 75, 76, 1490, -1, -1, 160, -1, 160, 83, 84, 2566 39, -1, -1, 1514, 1484, 189, 1486, 548, 549, 550, 2567 -1, -1, 196, -1, -1, -1, -1, -1, -1, -1, 2568 -1, -1, -1, 186, 109, -1, 111, -1, 67, -1, 2569 -1, -1, 117, 118, -1, -1, -1, 811, -1, -1, 2570 -1, 683, -1, 72, -1, 130, 209, 76, 1528, 823, 2571 1530, 788, 1303, -1, 83, 84, 221, -1, 221, -1, 2572 379, 798, -1, 1543, 1544, 72, 1440, 74, 75, 76, 2573 -1, -1, 669, 1447, -1, 812, 83, 84, -1, 721, 2574 109, -1, -1, -1, 268, -1, -1, 212, 117, 118, 2575 -1, 1187, 866, -1, 259, -1, -1, -1, 872, 264, 2576 -1, 743, 109, -1, 1355, -1, -1, 1358, 3, -1, 2577 117, 118, -1, -1, 279, 10, 11, 12, 13, 14, 2578 -1, 895, -1, 282, 1498, 284, 285, -1, -1, -1, 2579 904, -1, 906, 292, 293, 1001, -1, -1, 322, 913, 2580 -1, -1, -1, -1, 39, -1, 330, 306, 307, 333, 2581 1401, -1, -1, -1, 279, 1406, -1, 1449, -1, 1451, 2582 802, -1, 936, -1, 327, 807, -1, -1, -1, 1206, 2583 463, 490, 67, 492, -1, -1, -1, -1, 0, 1, 2584 -1, -1, 956, 1434, 349, 344, 1282, -1, -1, -1, 2585 -1, 788, -1, 1485, -1, 1487, 970, -1, -1, -1, 2586 -1, 798, -1, -1, 978, -1, -1, -1, 982, -1, 2587 32, -1, -1, 397, 755, 812, -1, 401, -1, -1, 2588 -1, 380, -1, -1, -1, 3, 351, 49, 353, -1, 2589 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 2590 -1, -1, 405, -1, -1, -1, -1, 69, -1, -1, 2591 -1, -1, -1, 895, -1, -1, -1, -1, 1032, 0, 2592 902, 39, -1, -1, -1, 430, -1, 1518, -1, -1, 2593 26, 27, 28, 1524, -1, -1, 918, -1, -1, 1016, 2594 1017, -1, 447, 105, 1535, -1, -1, -1, 1539, 67, 2595 -1, 32, -1, -1, 478, -1, 1070, -1, 940, 941, 2596 942, -1, -1, -1, -1, -1, -1, 472, -1, -1, 2597 1084, -1, -1, -1, -1, 1089, 441, -1, -1, -1, 2598 -1, 1187, 641, -1, -1, 147, -1, -1, 69, -1, 2599 -1, -1, 1106, 155, 156, -1, -1, 1074, 1075, 1376, 2600 -1, -1, 98, -1, 100, -1, 97, 98, 99, 100, 2601 101, 102, 103, 104, 105, 106, 998, -1, -1, -1, 2602 -1, -1, -1, -1, 186, -1, -1, -1, -1, 125, 2603 -1, 690, -1, 692, -1, -1, 669, 696, -1, 201, 2604 131, -1, 204, 205, -1, 569, 570, 209, -1, 548, 2605 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 2606 559, 560, 561, 562, 563, 564, 565, -1, 230, 1183, 2607 -1, -1, 234, -1, 236, 156, 1282, -1, -1, 1016, 2608 1017, -1, -1, 245, -1, 181, -1, -1, 593, 251, 2609 -1, -1, 1206, 189, 256, 191, 192, 1079, -1, -1, 2610 196, -1, 198, 199, 266, -1, -1, -1, -1, -1, 2611 -1, 72, 274, 74, 75, 76, 621, 998, -1, -1, 2612 -1, 626, 83, 84, -1, -1, -1, -1, -1, 0, 2613 -1, -1, 656, 1247, 1248, 1249, 660, 1074, 1075, 1121, 2614 10, 11, 12, 13, 14, 1222, -1, -1, 109, 230, 2615 111, -1, -1, -1, -1, 788, 117, 118, 1039, -1, 2616 -1, 32, -1, -1, -1, 798, -1, -1, -1, 39, 2617 251, -1, 268, -1, -1, 256, -1, 1254, 340, 812, 2618 -1, -1, 344, -1, -1, 1262, 1263, 1264, 350, -1, 2619 -1, -1, 697, -1, -1, 694, -1, 67, 69, -1, 2620 -1, 363, -1, -1, -1, 367, 711, 866, 370, -1, 2621 -1, -1, -1, 872, -1, -1, -1, -1, -1, -1, 2622 -1, -1, -1, -1, 1206, -1, 731, -1, -1, -1, 2623 -1, -1, 10, 11, 12, 13, 14, -1, -1, 109, 2624 -1, 111, -1, -1, -1, -1, 1228, 117, 118, 1326, 2625 -1, -1, -1, -1, 913, 417, 755, -1, -1, -1, 2626 -1, 39, 1376, 1377, -1, -1, 731, -1, 792, 350, 2627 432, 1385, 1386, -1, -1, 437, -1, -1, -1, -1, 2628 26, 27, 28, 445, -1, 156, 785, -1, -1, 67, 2629 -1, -1, -1, -1, 72, -1, 74, 75, 76, 804, 2630 -1, 463, -1, -1, 466, 83, 84, -1, -1, 1423, 2631 -1, 970, 72, -1, 74, 75, 76, 1254, -1, 481, 2632 -1, 483, -1, 83, 84, 1262, 1263, 1264, -1, 491, 2633 -1, 109, -1, 495, -1, -1, 417, -1, 1320, 117, 2634 118, -1, -1, -1, -1, -1, -1, -1, -1, 109, 2635 -1, 432, 98, -1, 100, -1, 437, 117, 118, -1, 2636 -1, -1, 524, 525, 445, -1, 1480, 1481, -1, -1, 2637 -1, -1, -1, -1, -1, -1, 1490, -1, -1, -1, 2638 251, -1, 463, 1016, 1017, 256, 910, -1, -1, 1326, 2639 1504, 1505, -1, -1, -1, -1, -1, -1, -1, -1, 2640 481, -1, 483, -1, -1, -1, 905, -1, 570, -1, 2641 72, 1070, 74, 75, 76, 1529, -1, -1, -1, -1, 2642 -1, 83, 84, -1, -1, -1, 588, 589, -1, -1, 2643 10, 11, 12, 13, 14, 181, 1418, -1, -1, 601, 2644 -1, 1074, 1075, -1, 525, 191, 192, 109, -1, 111, 2645 196, 950, 198, 199, -1, 117, 118, 619, -1, 39, 2646 -1, -1, 624, 987, -1, -1, -1, 1449, 630, 1451, 2647 -1, 633, 634, 635, -1, -1, -1, 573, 574, 350, 2648 1004, -1, -1, -1, -1, -1, 985, 67, -1, 651, 2649 -1, -1, -1, -1, -1, -1, 1001, -1, -1, 998, 2650 -1, -1, -1, 1485, -1, 1487, 602, 669, 589, 605, 2651 606, -1, 608, -1, 610, 611, -1, -1, 680, 615, 2652 616, -1, -1, 72, 1183, 74, 75, 76, -1, 109, 2653 -1, 111, 1514, -1, 83, 84, -1, 117, 118, -1, 2654 1039, -1, -1, -1, 706, -1, 417, 709, -1, -1, 2655 -1, -1, 633, 634, 635, -1, 718, -1, 1082, 721, 2656 109, 432, 111, -1, 0, -1, 437, -1, 117, 118, 2657 651, -1, -1, -1, 445, -1, -1, -1, -1, -1, 2658 -1, 743, 744, -1, -1, -1, -1, 749, 669, 1222, 2659 -1, -1, 463, -1, -1, -1, 32, -1, 1122, 680, 2927 0, 1, 204, 43, 49, 239, 219, 0, 185, 1, 2928 534, 116, 620, 602, 185, 43, 43, 646, 364, 185, 2929 349, 513, 368, 0, 521, 0, 281, 749, 749, 349, 2930 602, 185, 32, 0, 185, 185, 345, 874, 1040, 32, 2931 186, 168, 169, 43, 185, 600, 1321, 756, 749, 49, 2932 1021, 600, 0, 571, 492, 32, 49, 32, 496, 0, 2933 600, 187, 156, 63, 32, 32, 66, 156, 113, 69, 2934 63, 43, 43, 66, 82, 418, 69, 69, 1020, 1021, 2935 692, 39, 983, 63, 32, 600, 109, 600, 265, 600, 2936 105, 32, 51, 600, 265, 438, 201, 0, 1, 265, 2937 43, 146, 43, 446, 39, 105, 1052, 1053, 49, 426, 2938 427, 265, 1501, 113, 265, 265, 116, 117, 72, 39, 2939 266, 1402, 63, 186, 265, 66, 39, 72, 69, 32, 2940 39, 256, 1033, 0, 1, 261, 262, 11, 39, 1528, 2941 155, 1398, 28, 733, 1419, 185, 146, 147, 44, 45, 2942 109, 109, 132, 111, 147, 155, 156, 185, 185, 488, 2943 160, 39, 603, 66, 209, 32, 69, 160, 609, 109, 2944 82, 635, 636, 482, 109, 695, 111, 494, 132, 44, 2945 45, 228, 1128, 905, 905, 185, 186, 132, 652, 109, 2946 687, 111, 78, 186, 239, 95, 513, 410, 111, 111, 2947 247, 201, 69, 266, 905, 718, 147, 718, 109, 209, 2948 111, 718, 1469, 185, 185, 1496, 209, 107, 114, 160, 2949 1501, 221, 64, 874, 0, 265, 271, 55, 221, 129, 2950 110, 109, 116, 111, 49, 824, 116, 265, 265, 239, 2951 1521, 131, 185, 589, 185, 186, 710, 1528, 132, 504, 2952 115, 251, 824, 1452, 1225, 109, 32, 812, 251, 259, 2953 406, 578, 307, 812, 264, 265, 266, 109, 209, 97, 2954 72, 271, 812, 266, 251, 793, 251, 986, 85, 256, 2955 221, 256, 602, 251, 251, 631, 1288, 1486, 900, 1488, 2956 66, 396, 109, 418, 294, 924, 1472, 812, 113, 812, 2957 345, 812, 1478, 251, 1275, 812, 113, 307, 44, 45, 2958 251, 620, 112, 438, 131, 117, 625, 114, 221, 424, 2959 116, 446, 1498, 323, 265, 430, 341, 1503, 328, 96, 2960 116, 96, 1274, 1275, 480, 328, 132, 801, 681, 433, 2961 72, 341, 116, 406, 433, 345, 110, 695, 251, 349, 2962 350, 83, 84, 116, 1, 122, 371, 122, 72, 116, 2963 110, 933, 76, 3, 364, 193, 130, 130, 368, 83, 2964 84, 371, 112, 814, 1211, 132, 116, 932, 114, 111, 2965 130, 426, 427, 932, 251, 1501, 906, 328, 216, 1040, 2966 72, 999, 932, 482, 209, 109, 396, 111, 226, 90, 2967 91, 83, 84, 117, 118, 1521, 406, 72, 349, 72, 2968 110, 666, 1528, 406, 116, 0, 116, 480, 83, 84, 2969 83, 84, 110, 1394, 424, 57, 426, 427, 130, 111, 2970 430, 951, 526, 433, 125, 126, 745, 526, 786, 1441, 2971 464, 418, 130, 418, 109, 221, 1448, 3, 111, 494, 2972 57, 112, 1394, 0, 454, 116, 271, 803, 109, 1049, 2973 116, 438, 808, 438, 116, 406, 294, 116, 513, 446, 2974 967, 446, 472, 131, 106, 251, 132, 109, 130, 294, 2975 480, 736, 482, 132, 484, 1386, 1387, 480, 488, 981, 2976 128, 484, 307, 131, 494, 824, 590, 1499, 1127, 106, 2977 116, 590, 109, 941, 824, 482, 506, 484, 508, 484, 2978 525, 511, 490, 513, 514, 863, 132, 484, 110, 110, 2979 647, 521, 110, 116, 116, 525, 526, 1099, 116, 70, 2980 656, 109, 73, 578, 72, 76, 484, 78, 111, 132, 2981 113, 687, 464, 484, 85, 83, 84, 488, 155, 654, 2982 896, 109, 109, 116, 111, 3, 681, 130, 906, 109, 2983 1211, 111, 10, 11, 12, 13, 14, 1008, 1009, 132, 2984 570, 571, 109, 111, 350, 620, 116, 110, 578, 112, 2985 625, 484, 707, 116, 109, 111, 218, 113, 1085, 589, 2986 590, 39, 132, 1090, 594, 904, 109, 1117, 131, 132, 2987 600, 109, 602, 951, 130, 252, 110, 116, 937, 110, 2988 72, 218, 74, 75, 112, 443, 116, 484, 116, 67, 2989 620, 83, 84, 132, 687, 625, 604, 627, 116, 116, 2990 608, 631, 132, 110, 634, 635, 636, 1288, 986, 454, 2991 272, 469, 590, 110, 132, 132, 670, 279, 861, 111, 2992 116, 629, 652, 110, 654, 633, 745, 1177, 1178, 600, 2993 112, 602, 72, 132, 110, 272, 132, 109, 881, 111, 2994 116, 212, 279, 83, 84, 117, 118, 506, 506, 508, 2995 109, 110, 511, 511, 684, 514, 514, 687, 109, 1037, 2996 999, 506, 109, 508, 111, 109, 511, 473, 1288, 514, 2997 117, 118, 88, 89, 681, 109, 681, 111, 484, 943, 2998 710, 711, 712, 117, 118, 809, 348, 115, 718, 719, 2999 809, 4, 5, 6, 7, 8, 9, 112, 905, 744, 3000 707, 116, 707, 365, 905, 109, 117, 369, 279, 905, 3001 867, 348, 123, 124, 744, 745, 687, 110, 670, 749, 3002 750, 905, 112, 116, 905, 905, 116, 110, 365, 64, 3003 110, 907, 369, 116, 905, 789, 116, 110, 745, 1117, 3004 119, 120, 1362, 116, 110, 799, 1122, 718, 719, 110, 3005 116, 1305, 109, 1505, 1505, 116, 69, 874, 71, 813, 3006 1441, 1115, 110, 793, 110, 1119, 110, 1448, 116, 109, 3007 116, 801, 116, 803, 1505, 805, 92, 93, 808, 809, 3008 1012, 352, 812, 354, 112, 904, 72, 110, 74, 75, 3009 467, 115, 116, 116, 824, 432, 110, 83, 84, 1177, 3010 1178, 72, 116, 74, 75, 132, 109, 1146, 111, 110, 3011 114, 669, 83, 84, 907, 116, 622, 72, 1499, 132, 3012 678, 76, 110, 111, 682, 1445, 132, 1447, 83, 84, 3013 1115, 809, 1382, 114, 1119, 1120, 110, 789, 846, 684, 3014 110, 812, 116, 114, 874, 132, 116, 799, 1398, 114, 3015 109, 528, 111, 824, 109, 109, 533, 111, 903, 58, 3016 59, 813, 117, 118, 115, 116, 896, 874, 943, 874, 3017 109, 442, 111, 903, 904, 905, 109, 907, 1035, 72, 3018 1500, 74, 75, 109, 294, 111, 1225, 44, 45, 919, 3019 83, 84, 698, 109, 110, 111, 874, 904, 82, 0, 3020 1, 1020, 932, 933, 109, 582, 712, 937, 109, 1085, 3021 111, 118, 942, 943, 1090, 109, 109, 111, 1468, 1469, 3022 942, 114, 109, 910, 999, 912, 1043, 112, 29, 30, 3023 938, 32, 552, 553, 905, 82, 907, 967, 109, 110, 3024 111, 874, 43, 556, 557, 558, 559, 127, 49, 72, 3025 1235, 128, 589, 76, 1481, 94, 57, 554, 555, 621, 3026 83, 84, 63, 1017, 1018, 66, 937, 131, 69, 999, 3027 560, 561, 1107, 111, 109, 637, 653, 874, 655, 109, 3028 112, 82, 83, 112, 621, 112, 109, 112, 110, 651, 3029 1020, 1021, 1085, 110, 117, 118, 110, 1090, 110, 805, 3030 637, 110, 110, 1530, 1382, 106, 109, 111, 109, 942, 3031 1040, 109, 110, 111, 651, 116, 426, 427, 114, 116, 3032 1398, 1075, 1076, 109, 110, 111, 131, 1146, 705, 58, 3033 59, 60, 109, 1040, 114, 1040, 72, 1322, 74, 75, 3034 898, 1326, 1248, 1249, 1250, 942, 147, 83, 84, 114, 3035 1080, 112, 110, 110, 155, 1085, 112, 112, 112, 160, 3036 1090, 112, 1040, 130, 130, 1017, 1018, 130, 874, 1099, 3037 732, 116, 29, 109, 919, 110, 110, 1107, 114, 112, 3038 110, 112, 114, 130, 185, 186, 284, 115, 115, 115, 3039 1468, 1469, 1122, 116, 1211, 732, 506, 109, 116, 110, 3040 201, 511, 110, 110, 514, 110, 110, 1040, 209, 307, 3041 308, 132, 110, 116, 1085, 110, 1146, 218, 110, 1090, 3042 221, 110, 66, 1075, 1076, 110, 110, 228, 110, 110, 3043 110, 75, 110, 72, 110, 74, 75, 76, 1423, 1146, 3044 110, 110, 243, 1040, 83, 84, 247, 345, 110, 115, 3045 251, 252, 29, 116, 131, 1274, 110, 567, 1188, 1189, 3046 110, 732, 1207, 130, 265, 266, 112, 1189, 110, 1223, 3047 109, 272, 1, 117, 85, 86, 87, 1207, 279, 112, 3048 110, 1211, 116, 381, 110, 130, 109, 1304, 116, 114, 3049 112, 110, 110, 1051, 110, 1225, 1002, 112, 109, 1229, 3050 111, 1255, 113, 114, 1211, 110, 1211, 1229, 116, 1263, 3051 1264, 1265, 116, 116, 66, 110, 160, 110, 1225, 109, 3052 49, 4, 5, 6, 7, 8, 9, 328, 112, 109, 3053 82, 109, 130, 1211, 1040, 1080, 109, 109, 112, 1356, 3054 132, 128, 1359, 1378, 1274, 1275, 115, 348, 349, 49, 3055 33, 1515, 110, 1283, 110, 1188, 1189, 110, 1288, 896, 3056 115, 115, 112, 63, 365, 117, 66, 114, 369, 69, 3057 132, 1223, 110, 1327, 116, 112, 105, 221, 1211, 380, 3058 957, 1288, 112, 1288, 113, 1402, 69, 110, 71, 110, 3059 1407, 1321, 1189, 110, 112, 396, 1229, 112, 1505, 1321, 3060 112, 110, 979, 1255, 1505, 406, 983, 112, 160, 1505, 3061 1288, 1263, 1264, 1265, 1211, 259, 112, 146, 1435, 112, 3062 264, 1505, 47, 424, 1505, 1505, 155, 130, 132, 430, 3063 1506, 432, 1229, 132, 1505, 279, 4, 5, 6, 7, 3064 8, 9, 132, 132, 132, 115, 1481, 147, 1378, 110, 3065 1283, 549, 550, 551, 1530, 1288, 1033, 115, 110, 115, 3066 160, 112, 112, 112, 1394, 112, 467, 112, 112, 221, 3067 110, 472, 110, 112, 60, 1327, 205, 112, 109, 480, 3068 209, 109, 1188, 484, 110, 109, 186, 488, 1321, 1419, 3069 491, 1288, 493, 0, 1, 110, 114, 1419, 109, 132, 3070 112, 69, 1519, 71, 112, 1211, 350, 259, 1525, 209, 3071 239, 1441, 264, 1506, 110, 112, 110, 96, 1448, 1536, 3072 1450, 221, 1452, 1540, 1321, 32, 96, 528, 109, 109, 3073 132, 115, 533, 110, 1441, 1505, 1441, 1530, 110, 1297, 3074 1515, 1448, 271, 1448, 110, 274, 110, 1505, 1505, 116, 3075 42, 1481, 130, 110, 110, 96, 1486, 132, 1488, 66, 3076 96, 132, 69, 1441, 110, 294, 110, 132, 110, 1499, 3077 1448, 132, 132, 110, 112, 1505, 1506, 1283, 307, 112, 3078 115, 582, 1288, 1506, 132, 1515, 1419, 431, 589, 109, 3079 115, 115, 1499, 132, 1499, 110, 110, 110, 350, 600, 3080 1530, 602, 132, 1056, 448, 110, 565, 1530, 1441, 562, 3081 977, 563, 341, 1211, 564, 1448, 345, 566, 1469, 1540, 3082 621, 1499, 1419, 1364, 1298, 1120, 1326, 1448, 328, 473, 3083 189, 1071, 684, 684, 1505, 364, 637, 196, 1090, 368, 3084 912, 642, 371, 697, 1441, 920, 971, 867, 648, 156, 3085 651, 1448, 653, 654, 655, 722, 1229, 72, 756, 74, 3086 75, 76, 582, 939, 484, 66, 1499, 732, 83, 84, 3087 1207, 1248, 1249, 1250, 570, -1, 570, 570, -1, 431, 3088 -1, -1, -1, -1, -1, -1, 687, -1, 670, -1, 3089 691, 1449, 693, 1451, 109, -1, 697, 426, 427, -1, 3090 -1, -1, 1499, -1, 705, 1450, 406, 1452, 72, 268, 3091 74, 75, 76, -1, 221, -1, 117, 718, 719, 83, 3092 84, 473, -1, -1, -1, 454, -1, 1485, -1, 1487, 3093 -1, 732, -1, -1, -1, 1441, -1, -1, 467, -1, 3094 -1, 1486, 1448, 1488, 251, 10, 11, 12, 13, 14, 3095 594, 10, 11, 12, 13, 14, -1, -1, 72, 160, 3096 74, 75, 76, 492, 323, 494, -1, 496, -1, 83, 3097 84, 1529, 331, 1531, 39, 334, -1, 506, 622, 508, 3098 39, -1, 511, 627, 513, 514, 1544, 1545, 72, -1, 3099 74, 75, 76, 1499, -1, 109, 525, 111, -1, 83, 3100 84, -1, 67, 117, 118, -1, -1, 789, 67, 1386, 3101 1387, 812, -1, -1, -1, 1377, 130, 799, -1, -1, 3102 221, -1, -1, 824, -1, 109, 72, 111, 74, 75, 3103 76, 813, 30, 117, 118, -1, -1, 83, 84, 398, 3104 1377, -1, 594, 402, 109, -1, 111, 1424, -1, 578, 3105 -1, -1, 117, 118, 698, -1, -1, -1, 259, -1, 3106 589, -1, -1, 264, -1, -1, 867, -1, 712, -1, 3107 622, -1, 873, -1, -1, 627, -1, -1, -1, -1, 3108 1190, 1191, -1, 1193, 82, 83, -1, -1, 732, -1, 3109 1200, 620, 1202, -1, -1, 896, 625, -1, -1, -1, 3110 -1, 999, 631, -1, 905, 1482, 907, -1, -1, -1, 3111 -1, -1, -1, 914, 1491, 10, 11, 12, 13, 14, 3112 479, -1, -1, -1, -1, -1, 433, -1, -1, -1, 3113 10, 11, 12, 13, 14, 0, 937, -1, -1, -1, 3114 -1, -1, 1040, 3, 39, -1, 698, -1, -1, 350, 3115 10, 11, 12, 13, 14, 684, 957, -1, -1, 39, 3116 712, 805, -1, -1, -1, -1, -1, 32, -1, -1, 3117 971, -1, 67, -1, -1, -1, -1, 484, 979, 39, 3118 -1, -1, 983, -1, -1, -1, -1, 67, -1, -1, 3119 3, -1, -1, 722, -1, 0, 1, 10, 11, 12, 3120 13, 14, -1, -1, 69, -1, -1, 67, -1, -1, 3121 -1, 570, 571, -1, 109, 744, 111, -1, -1, 526, 3122 -1, -1, 117, 118, -1, -1, 39, 32, -1, 109, 3123 431, 111, 1033, -1, -1, 1017, 1018, 117, 118, 10, 3124 11, 12, 13, 14, 49, 243, -1, -1, 1358, 85, 3125 86, 87, -1, 805, 67, -1, -1, -1, -1, -1, 3126 -1, -1, -1, -1, 69, -1, -1, -1, 39, -1, 3127 1071, -1, 473, 109, 803, 111, -1, 113, 114, 808, 3128 -1, -1, -1, 590, 1085, -1, -1, -1, -1, 1090, 3129 -1, 156, -1, 1075, 1076, -1, 67, -1, 657, -1, 3130 105, 72, 661, 74, 75, 76, 1107, -1, -1, -1, 3131 -1, -1, 83, 84, 97, 98, 99, 100, 101, 102, 3132 103, 104, 105, 106, -1, -1, -1, 634, 635, 636, 3133 -1, -1, 72, -1, 74, 75, 76, -1, 109, -1, 3134 111, -1, 147, 83, 84, 652, 117, 118, 131, -1, 3135 155, 156, 72, -1, 74, 75, 76, -1, 1002, -1, 3136 -1, -1, -1, 83, 84, 230, -1, 896, -1, 109, 3137 -1, 111, -1, -1, 903, -1, -1, 117, 118, -1, 3138 -1, 186, 380, 1184, -1, -1, 251, -1, -1, 109, 3139 919, 256, -1, 594, -1, -1, 201, 117, 118, 204, 3140 205, -1, -1, 710, 209, -1, 1207, -1, -1, -1, 3141 -1, -1, 941, 942, 943, -1, -1, -1, -1, -1, 3142 -1, 622, -1, -1, -1, 230, 627, -1, -1, 234, 3143 -1, 236, -1, -1, 793, -1, -1, -1, -1, -1, 3144 245, -1, 26, 27, 28, -1, 251, 1248, 1249, 1250, 3145 1002, 256, -1, 72, -1, 74, 75, 76, -1, -1, 3146 -1, 266, -1, -1, 83, 84, -1, -1, -1, 274, 3147 999, -1, -1, 1255, -1, -1, -1, -1, -1, -1, 3148 -1, 1263, 1264, 1265, -1, -1, 351, -1, -1, -1, 3149 109, -1, 111, 491, 801, 493, -1, 698, 117, 118, 3150 -1, -1, 809, -1, -1, -1, -1, -1, -1, -1, 3151 -1, 712, -1, -1, 98, -1, 100, -1, 10, 11, 3152 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3153 22, 23, 24, 25, 26, 27, 341, -1, -1, -1, 3154 345, 125, -1, -1, 1188, 1327, 351, 39, -1, -1, 3155 -1, 1080, 911, 418, -1, -1, -1, -1, -1, 364, 3156 -1, -1, -1, 368, -1, -1, 371, 874, 433, -1, 3157 -1, -1, -1, 438, -1, 67, 1377, 1378, -1, -1, 3158 -1, 446, 26, 27, 28, 1386, 1387, -1, -1, -1, 3159 -1, -1, -1, 1122, -1, -1, -1, 181, -1, 464, 3160 -1, -1, -1, -1, 805, 189, -1, 191, 192, -1, 3161 -1, -1, 196, 418, 198, 199, -1, 482, -1, 484, 3162 -1, -1, -1, 1424, -1, -1, -1, -1, 433, 988, 3163 -1, -1, 0, 438, -1, 942, 1188, -1, -1, 1283, 3164 -1, 446, -1, -1, 642, -1, 1005, -1, -1, -1, 3165 -1, -1, -1, -1, 98, -1, 100, -1, -1, 464, 3166 -1, 526, 467, -1, 32, -1, -1, -1, -1, -1, 3167 -1, 72, -1, 74, 75, 76, -1, 482, 1207, 484, 3168 1481, 1482, 83, 84, 268, -1, -1, 492, -1, -1, 3169 1491, 496, -1, 691, -1, 693, -1, -1, -1, 697, 3170 1229, 69, -1, -1, 1505, 1506, -1, -1, 109, -1, 3171 -1, -1, -1, 1020, 1021, -1, 117, 118, -1, -1, 3172 525, 526, -1, -1, 1083, 590, -1, -1, -1, 1530, 3173 -1, 1283, -1, 1040, -1, -1, -1, 181, -1, -1, 3174 -1, -1, -1, -1, -1, -1, -1, 191, 192, -1, 3175 -1, -1, 196, -1, 198, 199, -1, -1, -1, -1, 3176 -1, -1, -1, -1, 1123, -1, 571, -1, -1, 634, 3177 635, 636, -1, -1, -1, -1, -1, -1, 10, 11, 3178 12, 13, 14, -1, 589, 590, -1, 652, 156, -1, 3179 -1, -1, 1321, -1, -1, -1, -1, 602, -1, -1, 3180 -1, 1002, -1, -1, -1, 670, -1, 39, -1, -1, 3181 -1, -1, -1, -1, -1, 620, 681, -1, -1, -1, 3182 625, -1, -1, -1, -1, -1, 631, -1, -1, 634, 3183 635, 636, -1, -1, -1, 67, -1, -1, -1, -1, 3184 72, -1, 707, -1, 76, 710, -1, 652, -1, -1, 3185 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, 3186 -1, -1, -1, -1, -1, 670, -1, -1, -1, 867, 3187 -1, -1, -1, -1, -1, 873, 681, 109, -1, -1, 3188 745, 1188, 1189, 251, -1, 117, 118, -1, 256, -1, 3189 1419, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3190 -1, -1, 707, -1, 1211, 710, -1, -1, -1, -1, 3191 0, -1, -1, -1, 719, -1, 914, 722, -1, -1, 3192 -1, 1450, 1229, 1452, 789, -1, -1, -1, -1, -1, 3193 -1, -1, -1, -1, 799, -1, 801, -1, -1, 744, 3194 745, 806, 32, -1, 809, 750, -1, -1, 813, -1, 3195 -1, -1, -1, -1, -1, -1, -1, 1486, -1, 1488, 3196 -1, -1, -1, -1, -1, -1, -1, 1274, 1275, -1, 3197 -1, -1, -1, 971, -1, -1, 1283, -1, -1, 69, 3198 -1, 1288, -1, 351, 789, -1, 1515, 1188, -1, -1, 3199 574, 575, -1, -1, 799, -1, 801, -1, 803, -1, 3200 -1, 806, -1, 808, 809, -1, -1, -1, 813, 874, 3201 -1, -1, -1, -1, 1321, -1, -1, -1, 823, 603, 3202 -1, -1, 606, 607, -1, 609, -1, 611, 612, -1, 3203 -1, -1, 616, 617, -1, -1, -1, -1, -1, 904, 2660 3204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2661 481, -1, 483, -1, -1, -1, -1, 1116, -1, -1, 2662 -1, 1254, -1, -1, -1, 706, 788, -1, 709, 1262, 2663 1263, 1264, -1, 69, -1, -1, 798, -1, 800, -1, 2664 802, -1, -1, 805, -1, 807, 808, -1, -1, -1, 2665 812, -1, -1, -1, 525, -1, -1, 753, 754, -1, 2666 822, -1, -1, 744, -1, -1, -1, -1, -1, -1, 2667 -1, -1, -1, -1, -1, -1, -1, 1176, 1177, -1, 2668 -1, -1, 1187, -1, -1, -1, -1, -1, -1, -1, 2669 -1, 0, -1, 1326, -1, -1, -1, -1, -1, -1, 2670 -1, -1, -1, 37, 38, -1, 40, 788, -1, -1, 2671 -1, 873, -1, -1, -1, -1, -1, 798, 589, 800, 2672 156, -1, -1, 32, 805, -1, -1, 808, -1, -1, 2673 -1, 812, 66, 895, -1, -1, -1, -1, 72, -1, 2674 902, 903, 76, -1, 906, 79, 80, 81, 82, 83, 2675 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 2676 69, -1, 633, 634, 635, -1, -1, -1, -1, -1, 2677 932, -1, -1, -1, -1, 109, -1, 1282, 940, 941, 2678 651, -1, -1, 117, 118, 119, 120, 121, 122, -1, 2679 -1, -1, 873, -1, -1, -1, -1, -1, 669, -1, 2680 -1, -1, -1, -1, -1, -1, -1, -1, -1, 680, 2681 -1, -1, -1, -1, 910, 251, -1, -1, -1, 915, 2682 256, -1, 903, -1, -1, -1, -1, 573, 574, -1, 2683 -1, -1, -1, -1, -1, 706, 998, -1, 709, -1, 2684 -1, -1, -1, -1, -1, -1, -1, 156, -1, 1011, 2685 -1, -1, -1, -1, 1016, 1017, 602, 1019, 1020, 605, 2686 606, -1, 608, -1, 610, 611, -1, -1, -1, 615, 2687 616, -1, -1, 744, -1, -1, -1, 1039, -1, -1, 2688 -1, -1, 1381, -1, 0, 1, -1, -1, -1, -1, 2689 -1, -1, -1, -1, -1, -1, -1, -1, 1397, -1, 2690 -1, -1, -1, -1, 10, 11, 12, 13, 14, -1, 2691 -1, -1, 1074, 1075, 350, -1, 32, 788, -1, -1, 2692 -1, -1, -1, -1, -1, -1, -1, 798, -1, 800, 2693 -1, -1, -1, 39, 805, 1016, 1017, 808, 1019, 1020, 2694 -1, 812, 251, -1, -1, -1, -1, 256, -1, -1, 2695 66, -1, -1, 69, -1, -1, -1, -1, 1039, 1121, 2696 -1, 67, -1, -1, -1, -1, 72, -1, 1467, 1468, 2697 76, -1, -1, -1, -1, -1, -1, 83, 84, -1, 2698 1076, 417, -1, 1145, -1, -1, -1, -1, -1, -1, 2699 -1, -1, -1, 1074, 1075, -1, 432, -1, -1, -1, 2700 -1, 437, 873, 109, -1, -1, -1, 753, 754, 445, 2701 -1, 117, 118, -1, 10, 11, 12, 13, 14, -1, 2702 -1, -1, -1, -1, -1, -1, 1188, 463, -1, -1, 2703 -1, -1, 903, -1, -1, -1, -1, -1, -1, -1, 2704 156, 350, -1, 39, 1206, 481, -1, 483, 1210, -1, 3205 418, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3206 -1, -1, -1, -1, -1, 433, 156, -1, -1, 874, 3207 438, -1, -1, 1071, -1, -1, -1, -1, 446, -1, 3208 -1, -1, 1283, -1, -1, -1, -1, 1394, -1, -1, 3209 -1, 896, -1, -1, -1, -1, 464, -1, 903, 904, 3210 -1, -1, 907, -1, -1, -1, -1, -1, -1, -1, 3211 -1, -1, 1419, -1, 482, -1, 484, -1, -1, -1, 3212 -1, -1, 10, 11, 12, 13, 14, -1, 933, -1, 3213 574, 575, -1, -1, 1441, -1, 941, 942, -1, -1, 3214 -1, 1448, -1, -1, -1, -1, -1, -1, -1, -1, 3215 -1, 39, 1017, 1018, -1, 1020, 1021, -1, 526, 603, 3216 -1, 251, 606, 607, -1, 609, 256, 611, 612, -1, 3217 754, 755, 616, 617, -1, 1040, -1, -1, -1, 67, 3218 -1, -1, -1, -1, 72, -1, 1184, -1, 76, -1, 3219 -1, -1, 1499, -1, 999, 83, 84, -1, -1, -1, 3220 -1, -1, -1, -1, -1, -1, -1, 1012, -1, -1, 3221 1075, 1076, 1017, 1018, -1, 1020, 1021, -1, -1, -1, 3222 -1, 109, 590, -1, -1, -1, -1, -1, -1, 117, 3223 118, -1, -1, -1, -1, 1040, -1, -1, -1, -1, 3224 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3225 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3226 27, 351, -1, 30, 31, 32, 634, 635, 636, -1, 3227 1075, 1076, 39, -1, -1, -1, -1, -1, -1, -1, 3228 -1, 1146, -1, -1, 652, -1, -1, -1, -1, -1, 2705 3229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2706 1222, -1, 1224, -1, 1145, -1, 1228, -1, -1, -1, 2707 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 2708 76, -1, -1, -1, -1, -1, -1, 83, 84, 525, 2709 -1, -1, 1254, -1, -1, -1, -1, -1, -1, -1, 2710 1262, 1263, 1264, -1, -1, 221, -1, 1188, 417, 1205, 2711 -1, 1273, 1274, 109, -1, 111, -1, -1, -1, -1, 2712 -1, 117, 118, 432, -1, 1287, -1, -1, 437, 1210, 2713 -1, -1, -1, -1, -1, 251, 445, -1, -1, -1, 2714 -1, 1222, -1, 1224, -1, 1016, 1017, -1, 1019, 1020, 2715 -1, -1, -1, 589, 463, -1, -1, -1, 1320, -1, 2716 -1, -1, -1, -1, 1326, -1, -1, -1, 1039, 915, 2717 -1, -1, 481, 1254, 483, -1, -1, -1, -1, -1, 2718 -1, 1262, 1263, 1264, -1, -1, -1, -1, -1, -1, 2719 -1, -1, 1273, 1274, -1, -1, -1, 633, 634, 635, 2720 -1, -1, -1, 1074, 1075, -1, 1287, -1, -1, -1, 2721 -1, -1, -1, -1, -1, 651, 525, -1, -1, -1, 3230 67, -1, 670, -1, -1, -1, -1, 74, 75, -1, 3231 754, 755, -1, 681, -1, -1, -1, 1122, -1, -1, 3232 -1, -1, -1, -1, 1189, -1, -1, 911, 418, -1, 3233 -1, -1, 916, -1, -1, -1, -1, -1, -1, 707, 3234 -1, 1146, 710, 433, 111, -1, 1211, 0, 438, -1, 3235 117, 118, -1, -1, -1, -1, 446, -1, 1223, -1, 3236 1225, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3237 -1, -1, -1, -1, 464, -1, -1, 745, -1, 32, 3238 -1, -1, -1, -1, 1189, -1, -1, -1, -1, -1, 3239 1255, -1, 482, -1, 484, -1, -1, -1, 1263, 1264, 3240 1265, -1, 1207, -1, -1, -1, 1211, -1, -1, 1274, 3241 1275, 10, 11, 12, 13, 14, 69, -1, 1223, -1, 3242 1225, 789, -1, 1288, 1229, 10, 11, 12, 13, 14, 3243 -1, 799, -1, 801, -1, -1, 526, -1, 806, -1, 3244 39, 809, 146, -1, -1, 813, -1, -1, -1, -1, 3245 1255, -1, 156, -1, 39, -1, -1, -1, 1263, 1264, 3246 1265, -1, 1327, -1, 168, 169, -1, -1, 67, 1274, 3247 1275, -1, 916, 72, -1, 74, 75, 76, -1, -1, 3248 -1, -1, 67, 1288, 83, 84, -1, 72, -1, 74, 3249 75, 76, -1, 1077, -1, -1, -1, -1, 83, 84, 3250 590, -1, -1, 156, -1, -1, 874, -1, -1, -1, 3251 109, -1, 111, -1, -1, -1, 1321, -1, 117, 118, 3252 -1, -1, 1327, -1, 109, -1, 111, -1, -1, 1394, 3253 -1, -1, 117, 118, -1, 239, 904, -1, -1, -1, 3254 -1, -1, -1, -1, 634, 635, 636, -1, -1, -1, 3255 -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, 3256 -1, -1, 652, -1, -1, -1, 10, 11, 12, 13, 3257 14, -1, -1, -1, -1, -1, 1441, -1, -1, -1, 3258 670, -1, -1, 1448, -1, -1, -1, -1, -1, 1394, 3259 -1, 681, -1, -1, -1, 39, -1, -1, 251, -1, 3260 -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, 3261 -1, -1, -1, -1, 1419, -1, -1, 707, -1, -1, 3262 710, -1, 1206, 67, -1, -1, -1, -1, 72, -1, 3263 74, 75, 76, 1077, 1499, -1, 1441, -1, -1, 83, 3264 84, -1, -1, 1448, -1, -1, -1, -1, -1, 1017, 3265 1018, -1, 1020, 1021, -1, 745, -1, -1, -1, -1, 3266 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, 3267 -1, -1, 1040, 117, 118, -1, 380, -1, -1, -1, 2722 3268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2723 -1, 1393, -1, 669, -1, -1, -1, -1, -1, -1, 2724 -1, -1, -1, -1, 680, 1326, -1, 10, 11, 12, 2725 13, 14, -1, -1, -1, -1, 1418, -1, -1, -1, 3269 -1, -1, -1, -1, 1499, -1, -1, -1, 351, 789, 3270 -1, 1506, -1, -1, -1, -1, -1, 1075, 1076, 799, 3271 -1, 801, -1, -1, -1, -1, 806, -1, -1, 809, 3272 -1, -1, -1, 813, -1, 53, -1, 55, -1, -1, 3273 58, 59, 60, -1, 62, -1, -1, -1, -1, 10, 3274 11, 12, 13, 14, -1, -1, -1, -1, 76, -1, 2726 3275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2727 706, -1, -1, 709, 1145, -1, 39, -1, 1440, -1, 2728 589, -1, -1, -1, -1, 1447, -1, 53, -1, 55, 2729 -1, -1, 58, 59, 60, -1, 62, -1, -1, -1, 2730 -1, -1, -1, -1, 67, -1, -1, -1, 744, 72, 2731 76, -1, 1393, 76, -1, -1, 432, 1188, -1, -1, 2732 83, 84, 88, 89, 633, 634, 635, -1, -1, -1, 2733 1076, -1, -1, -1, -1, -1, 1498, -1, -1, 1210, 2734 -1, -1, 651, 1505, -1, -1, 109, -1, -1, -1, 2735 -1, 1222, 788, 1224, 117, 118, -1, -1, -1, 1440, 2736 669, -1, 798, -1, 800, -1, 1447, 483, -1, 805, 2737 -1, 680, 808, -1, -1, -1, 812, 10, 11, 12, 2738 13, 14, -1, 1254, -1, -1, -1, -1, -1, -1, 2739 -1, 1262, 1263, 1264, -1, -1, -1, 706, -1, -1, 2740 709, -1, 1273, 1274, -1, -1, 39, -1, -1, 525, 2741 -1, -1, -1, -1, -1, -1, 1287, 1498, -1, -1, 3276 88, 89, 1206, -1, -1, 418, -1, -1, 39, -1, 3277 474, -1, -1, -1, -1, -1, -1, -1, 1146, -1, 3278 433, -1, -1, -1, 874, 438, -1, -1, -1, -1, 3279 -1, -1, -1, 446, -1, -1, 67, -1, -1, -1, 3280 -1, 72, -1, 74, 75, 76, -1, -1, -1, 513, 3281 -1, 464, 83, 84, 904, -1, -1, -1, -1, -1, 3282 -1, 1189, 526, -1, -1, -1, -1, 531, -1, 482, 3283 534, 484, -1, 37, 38, -1, 40, -1, 109, -1, 3284 -1, -1, 546, 1211, -1, -1, 117, 118, -1, -1, 3285 -1, -1, -1, -1, -1, 1223, -1, 1225, -1, -1, 3286 -1, -1, 66, -1, 568, -1, -1, -1, 72, -1, 3287 -1, -1, 76, 526, 578, 79, 80, 81, 82, 83, 3288 84, 585, 86, 87, -1, -1, 590, 1255, -1, -1, 3289 -1, -1, -1, -1, -1, 1263, 1264, 1265, -1, -1, 3290 -1, -1, -1, -1, -1, 109, 1274, 1275, -1, -1, 3291 -1, -1, -1, 117, 118, 119, 120, 121, 122, -1, 3292 1288, -1, -1, -1, -1, -1, -1, 1017, 1018, -1, 3293 1020, 1021, -1, -1, -1, 639, -1, 590, -1, -1, 3294 -1, -1, -1, 647, -1, -1, -1, -1, -1, -1, 3295 1040, -1, -1, -1, -1, -1, -1, -1, -1, 1327, 2742 3296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2743 -1, -1, -1, -1, 67, 744, -1, 873, -1, 72, 2744 -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, 2745 83, 84, -1, -1, -1, 1326, -1, -1, -1, 1205, 2746 -1, -1, -1, -1, -1, -1, -1, 903, -1, -1, 2747 -1, -1, -1, 589, -1, -1, 109, -1, 111, 788, 2748 -1, -1, -1, -1, 117, 118, -1, -1, -1, 798, 2749 -1, 800, -1, -1, -1, -1, 805, -1, -1, 808, 2750 -1, -1, -1, 812, -1, -1, -1, -1, -1, -1, 2751 -1, -1, -1, -1, -1, -1, -1, 633, 634, 635, 2752 -1, -1, 1393, -1, -1, -1, -1, -1, -1, -1, 2753 -1, -1, -1, -1, -1, 651, -1, -1, 3, 4, 2754 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3298 -1, 634, 635, 636, -1, 1075, 1076, -1, -1, -1, 3299 -1, -1, -1, -1, -1, -1, -1, -1, -1, 652, 3300 -1, -1, 7, -1, -1, 10, 11, 12, 13, 14, 3301 -1, -1, -1, -1, -1, -1, 344, 670, 346, -1, 3302 -1, 49, -1, -1, -1, -1, 1394, -1, 681, 357, 3303 358, -1, 37, 38, 39, 40, -1, -1, 66, -1, 3304 -1, 745, -1, 747, -1, -1, -1, -1, -1, -1, 3305 -1, -1, -1, 757, 707, -1, 1146, 710, -1, 763, 3306 -1, 66, 67, -1, -1, -1, -1, 72, -1, -1, 3307 -1, 76, -1, 1441, 79, 80, 81, 82, 83, 84, 3308 1448, 86, 87, -1, -1, 113, -1, -1, -1, 117, 3309 -1, -1, 745, -1, -1, -1, -1, -1, -1, 1189, 3310 -1, 805, 806, -1, 109, 809, 111, -1, -1, -1, 3311 -1, -1, 117, 118, 119, 120, 121, 122, 146, 823, 3312 -1, 1211, -1, -1, -1, -1, -1, -1, 156, -1, 3313 -1, 1499, 160, 1223, -1, 1225, 789, -1, -1, -1, 3314 -1, -1, -1, -1, -1, -1, 799, -1, 801, -1, 3315 -1, -1, -1, 806, -1, -1, 809, -1, -1, 863, 3316 813, -1, -1, 867, -1, 1255, -1, -1, -1, -1, 3317 -1, -1, -1, 1263, 1264, 1265, -1, -1, -1, -1, 3318 -1, 209, -1, -1, 1274, 1275, -1, -1, -1, -1, 3319 -1, -1, -1, 221, -1, -1, -1, -1, 1288, -1, 3320 904, -1, -1, 37, 38, -1, 40, -1, -1, -1, 3321 -1, 239, -1, -1, -1, -1, -1, -1, -1, -1, 3322 -1, 874, -1, -1, -1, -1, -1, -1, -1, -1, 3323 -1, -1, 66, -1, -1, -1, 264, 1327, 72, 943, 3324 -1, -1, 76, 271, -1, 79, 80, 81, 82, 83, 3325 84, 904, 86, 87, -1, -1, -1, -1, -1, -1, 3326 -1, -1, -1, -1, -1, -1, 294, 971, -1, -1, 3327 -1, -1, -1, 977, -1, 109, -1, 981, -1, 307, 3328 -1, -1, -1, 117, 118, 119, 120, 121, 122, -1, 3329 -1, -1, -1, -1, -1, -1, -1, -1, 1002, -1, 3330 -1, -1, -1, -1, 1394, -1, -1, -1, -1, 1013, 3331 -1, -1, -1, -1, -1, -1, -1, 345, -1, -1, 3332 -1, -1, 350, -1, -1, -1, -1, -1, -1, -1, 3333 -1, 1035, -1, 1037, -1, -1, -1, -1, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, -1, 1052, 1053, 3335 -1, 1441, -1, -1, -1, -1, -1, -1, 1448, -1, 3336 -1, -1, -1, -1, 1017, 1018, -1, 1020, 1021, 1073, 3337 -1, 699, -1, 701, -1, -1, -1, -1, -1, -1, 3338 708, 709, -1, -1, -1, 713, -1, 1040, -1, -1, 3339 -1, -1, -1, -1, -1, -1, -1, 725, 426, 427, 3340 -1, -1, 730, -1, -1, 433, -1, -1, -1, 1499, 3341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3342 -1, -1, 1075, 1076, 1128, -1, 454, -1, -1, -1, 3343 758, 7, -1, -1, 10, 11, 12, 13, 14, -1, 3344 -1, -1, 1146, -1, -1, -1, -1, -1, -1, -1, 3345 -1, -1, -1, -1, 482, -1, -1, 1161, 1162, -1, 3346 -1, 37, 38, 39, 40, -1, 494, -1, -1, -1, 3347 -1, -1, -1, -1, -1, -1, -1, -1, 506, -1, 3348 508, -1, -1, 511, -1, 513, 514, -1, -1, -1, 3349 66, 67, -1, 1146, -1, -1, 72, -1, 526, -1, 3350 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3351 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3352 -1, -1, -1, -1, -1, -1, -1, -1, -1, 857, 3353 858, 859, 860, 109, 862, 111, 1189, -1, -1, -1, 3354 -1, 117, 118, 119, 120, 121, 122, -1, -1, 877, 3355 578, -1, -1, -1, -1, -1, -1, -1, 1211, -1, 3356 -1, -1, 590, 891, -1, -1, 594, -1, -1, -1, 3357 1223, -1, 1225, -1, -1, -1, -1, -1, -1, -1, 3358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3359 -1, -1, 620, -1, -1, -1, -1, 625, 1302, -1, 3360 -1, 1305, 1255, 931, -1, -1, 634, 635, 636, -1, 3361 1263, 1264, 1265, -1, -1, -1, -1, -1, -1, -1, 3362 -1, 1274, 1275, -1, 652, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, -1, 1288, -1, -1, -1, -1, 3364 -1, -1, -1, -1, -1, -1, -1, -1, 976, -1, 3365 -1, -1, -1, -1, 982, -1, 684, -1, -1, 987, 3366 -1, -1, -1, -1, 992, -1, 994, -1, 66, -1, 3367 998, -1, 1000, 1001, 1327, -1, 1004, 75, -1, 77, 3368 -1, 79, 710, -1, 712, 1013, -1, -1, 86, -1, 3369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3370 -1, -1, -1, 1031, 1032, -1, -1, -1, -1, -1, 3371 -1, -1, -1, -1, -1, -1, -1, 745, -1, 117, 3372 -1, 119, 120, 121, -1, -1, -1, -1, -1, -1, 3373 1058, -1, -1, 1061, -1, -1, -1, -1, -1, -1, 3374 -1, 1394, -1, 10, 11, 12, 13, 14, 15, 16, 3375 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3376 27, -1, 160, 30, 31, 32, -1, -1, -1, -1, 3377 -1, -1, 39, 801, -1, -1, 1104, 805, -1, -1, 3378 -1, 809, 1110, 1111, -1, -1, -1, -1, 1441, -1, 3379 -1, -1, -1, -1, -1, 1448, -1, -1, -1, -1, 3380 67, -1, 1130, -1, -1, 1133, -1, 74, 75, 1137, 3381 -1, 1515, -1, -1, -1, -1, -1, -1, -1, -1, 3382 -1, -1, 1150, 221, -1, 223, 224, 225, -1, -1, 3383 -1, -1, -1, 44, -1, 1163, -1, 1165, 1166, 1167, 3384 1168, -1, 109, -1, 111, -1, 1499, -1, -1, -1, 3385 117, 118, -1, 1181, -1, 1183, -1, -1, -1, 1187, 3386 -1, 259, -1, -1, -1, -1, 264, -1, -1, -1, 3387 -1, -1, -1, -1, -1, -1, 904, -1, -1, -1, 3388 91, 279, -1, -1, -1, -1, -1, -1, 1216, 1217, 3389 101, 919, -1, -1, -1, -1, -1, 10, 11, 12, 3390 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3391 23, 24, 25, 26, 27, 943, -1, 30, 31, 32, 3392 -1, -1, -1, -1, -1, -1, 39, 40, -1, -1, 3393 328, -1, -1, -1, -1, -1, -1, -1, 1266, 1267, 3394 -1, -1, -1, -1, -1, -1, 157, -1, 1276, -1, 3395 -1, -1, 350, -1, 67, -1, -1, 355, 356, -1, 3396 171, 74, 75, -1, -1, 363, -1, -1, -1, -1, 3397 -1, 999, -1, -1, -1, -1, -1, -1, -1, -1, 3398 -1, -1, -1, 194, -1, -1, -1, -1, -1, -1, 3399 -1, -1, 1020, 1021, -1, -1, -1, 208, 111, -1, 3400 -1, -1, 115, -1, 117, 118, 217, -1, 406, 1337, 3401 -1, 1339, 1340, 1341, -1, -1, 227, -1, -1, -1, 3402 -1, -1, -1, 1351, -1, -1, 424, 37, 38, -1, 3403 40, 429, 1360, 431, -1, -1, -1, -1, -1, -1, 3404 -1, 252, -1, -1, -1, -1, 257, -1, -1, -1, 3405 448, -1, 1080, 451, 452, -1, 66, 1385, -1, 270, 3406 -1, 459, 72, -1, -1, 276, 76, 278, -1, 79, 3407 80, 81, 82, 83, 84, 473, 86, 87, -1, -1, 3408 -1, -1, 480, -1, 295, -1, -1, -1, -1, -1, 3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3410 1428, 1429, -1, -1, -1, -1, -1, 117, 118, 119, 3411 120, 121, 122, 1441, -1, -1, -1, -1, 1146, -1, 3412 1448, -1, -1, -1, -1, -1, -1, 338, -1, -1, 3413 -1, -1, 343, 10, 11, 12, 13, 14, 15, 16, 3414 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3415 27, 28, 1480, -1, -1, -1, 1484, -1, -1, -1, 3416 1188, 372, 39, -1, -1, 376, 377, -1, 379, -1, 3417 -1, -1, -1, -1, -1, 386, 387, -1, 389, 390, 3418 -1, 392, -1, 394, 1512, -1, 1514, -1, -1, -1, 3419 67, -1, 37, 38, -1, 40, 594, 1225, -1, -1, 3420 411, 78, -1, -1, -1, -1, -1, -1, 419, -1, 3421 -1, -1, -1, -1, 1542, 1543, -1, -1, -1, -1, 3422 -1, 66, 1550, 1551, 622, -1, -1, 72, -1, 627, 3423 -1, 76, -1, 444, 79, 80, 81, 82, 83, 84, 3424 -1, 86, 87, -1, -1, -1, 1274, 1275, -1, -1, 3425 -1, -1, -1, -1, -1, 1283, -1, -1, -1, 470, 3426 -1, -1, -1, -1, 109, 476, 111, -1, -1, 114, 3427 481, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3428 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3429 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3430 698, 30, 31, 32, -1, -1, 517, -1, -1, -1, 3431 39, -1, -1, -1, 712, 282, -1, 284, 285, -1, 3432 -1, 532, -1, -1, -1, 292, 293, -1, -1, -1, 3433 -1, -1, -1, -1, 732, -1, -1, -1, 67, -1, 3434 307, 308, -1, 72, -1, 74, 75, 76, -1, 78, 3435 -1, -1, -1, -1, 83, 84, -1, -1, -1, 570, 3436 -1, -1, -1, -1, -1, -1, 1394, -1, 579, -1, 3437 -1, -1, -1, -1, -1, 586, -1, -1, 345, -1, 3438 109, 592, 111, -1, -1, -1, -1, -1, 117, 118, 3439 601, -1, -1, -1, -1, 793, -1, -1, -1, -1, 3440 -1, -1, -1, -1, -1, -1, -1, 805, -1, -1, 3441 -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, 3442 -1, -1, 1450, -1, 1452, -1, 824, -1, -1, -1, 3443 641, -1, -1, -1, -1, 10, 11, 12, 13, 14, 2755 3444 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2756 25, 26, 27, -1, 873, 30, 31, 32, 33, 1440, 2757 -1, 36, -1, -1, 39, 40, 1447, 343, -1, 345, 2758 1016, 1017, -1, 1019, 1020, -1, -1, -1, -1, -1, 2759 356, 357, -1, 709, 903, -1, -1, -1, -1, 64, 2760 -1, -1, 67, 1039, 69, -1, 71, 72, -1, 74, 2761 75, 76, -1, 10, 11, 12, 13, 14, 83, 84, 2762 -1, -1, -1, -1, -1, -1, -1, 1498, -1, -1, 2763 -1, -1, -1, -1, -1, -1, -1, -1, 1074, 1075, 2764 -1, -1, 39, -1, 109, -1, 111, -1, 66, -1, 2765 115, -1, 117, 118, -1, -1, -1, 75, -1, 77, 2766 -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, 2767 67, -1, 49, -1, -1, 72, -1, 74, 75, 76, 2768 -1, -1, -1, -1, 800, -1, 83, 84, -1, 66, 2769 -1, -1, 808, -1, 10, 11, 12, 13, 14, 117, 2770 -1, 119, 120, 121, -1, -1, -1, 1016, 1017, 1145, 2771 1019, 1020, 109, -1, 111, -1, -1, -1, -1, -1, 2772 117, 118, -1, 39, -1, -1, -1, -1, -1, -1, 2773 1039, -1, -1, -1, -1, -1, 113, -1, -1, -1, 2774 117, -1, 160, -1, -1, -1, -1, -1, -1, -1, 2775 -1, 67, 1188, -1, -1, -1, 72, 873, 74, 75, 2776 76, -1, -1, -1, -1, 1074, 1075, 83, 84, 146, 2777 -1, -1, -1, -1, 1210, -1, -1, -1, -1, 156, 2778 -1, -1, -1, 160, -1, -1, 1222, -1, 1224, -1, 2779 -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, 2780 -1, 117, 118, 221, -1, 223, 224, 225, -1, -1, 2781 -1, -1, -1, -1, -1, -1, -1, -1, 1254, -1, 2782 -1, -1, -1, -1, -1, 941, 1262, 1263, 1264, -1, 2783 -1, -1, 209, -1, -1, -1, 1145, 1273, 1274, -1, 2784 -1, 259, -1, -1, 221, -1, 264, -1, -1, -1, 2785 -1, 1287, -1, -1, -1, -1, -1, -1, -1, -1, 2786 -1, 279, 239, -1, -1, -1, -1, -1, -1, -1, 2787 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1188, 2788 -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, 2789 1326, -1, -1, -1, 271, -1, -1, -1, -1, -1, 2790 -1, 1210, -1, 1019, 1020, -1, -1, -1, -1, 327, 2791 -1, -1, -1, 1222, -1, 1224, -1, 294, -1, -1, 2792 -1, -1, -1, 1039, -1, -1, -1, -1, -1, 306, 2793 -1, 349, 698, -1, 700, -1, 354, 355, -1, -1, 2794 -1, 707, 708, -1, 362, 1254, 712, -1, -1, -1, 2795 -1, -1, -1, 1262, 1263, 1264, -1, 1393, 724, -1, 2796 -1, -1, -1, 729, 1273, 1274, -1, 344, -1, -1, 2797 -1, -1, 349, -1, -1, -1, -1, -1, 1287, -1, 2798 -1, -1, -1, -1, -1, -1, -1, 405, -1, -1, 2799 -1, 757, -1, -1, -1, -1, -1, -1, -1, -1, 2800 -1, -1, -1, -1, 1440, 423, -1, -1, -1, -1, 2801 428, 1447, 430, -1, -1, -1, -1, 1326, -1, -1, 2802 -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, 2803 -1, -1, 450, 451, -1, -1, -1, -1, -1, -1, 2804 458, -1, -1, -1, -1, -1, -1, -1, 425, 426, 2805 -1, -1, -1, -1, 472, 432, -1, -1, -1, -1, 2806 -1, 479, 1498, -1, -1, -1, -1, -1, -1, -1, 2807 -1, 1187, 1188, -1, -1, -1, 453, -1, -1, -1, 2808 -1, -1, -1, -1, 1393, -1, -1, -1, -1, -1, 2809 856, 857, 858, 859, 1210, 861, -1, -1, -1, -1, 2810 -1, -1, -1, -1, 481, -1, -1, -1, -1, -1, 2811 876, -1, 1228, -1, -1, -1, 493, -1, -1, -1, 2812 -1, -1, -1, -1, 890, -1, -1, -1, 505, -1, 2813 507, 1440, -1, 510, -1, 512, 513, -1, 1447, -1, 2814 -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, 2815 -1, -1, -1, -1, -1, -1, -1, 1273, 1274, -1, 2816 -1, -1, -1, -1, 930, -1, 1282, -1, -1, -1, 2817 -1, 1287, -1, -1, -1, 593, -1, -1, -1, -1, 2818 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1498, 3445 25, 26, 27, 28, -1, 30, 31, 32, 1486, -1, 3446 1488, -1, -1, -1, 39, -1, 677, -1, -1, -1, 3447 -1, -1, -1, -1, 685, -1, -1, -1, -1, -1, 3448 -1, -1, -1, 37, 38, -1, 40, 1515, -1, -1, 3449 155, 156, 67, -1, -1, -1, -1, 72, -1, 74, 3450 75, 76, -1, 78, -1, 716, -1, -1, 83, 84, 3451 -1, -1, 66, -1, -1, 726, 727, -1, 72, -1, 3452 -1, -1, 76, -1, 189, 79, 80, 81, 82, 83, 3453 84, 196, 86, 87, -1, -1, 111, -1, -1, 937, 3454 -1, -1, 117, 118, -1, -1, -1, -1, 759, -1, 3455 -1, -1, -1, 764, -1, 109, -1, 111, -1, -1, 3456 -1, -1, -1, 117, 118, 119, 120, 121, 122, 967, 3457 -1, -1, -1, -1, -1, -1, 130, -1, -1, -1, 3458 -1, -1, 549, 550, 551, 552, 553, 554, 555, 556, 3459 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 3460 -1, -1, -1, 268, 1002, -1, -1, -1, -1, -1, 3461 -1, -1, -1, -1, -1, 1013, -1, 828, -1, -1, 3462 -1, -1, -1, -1, 835, -1, -1, -1, -1, -1, 3463 -1, -1, -1, -1, -1, -1, -1, 848, -1, 850, 2819 3464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2820 577, -1, -1, 621, 1320, -1, -1, -1, 626, 975, 2821 -1, -1, 589, -1, -1, 981, 593, -1, -1, -1, 2822 986, -1, -1, -1, -1, 991, -1, 993, -1, -1, 2823 -1, 997, -1, 999, 1000, -1, -1, 1003, -1, -1, 2824 -1, -1, 619, -1, -1, -1, 1012, 624, -1, -1, 2825 -1, -1, -1, -1, -1, -1, 633, 634, 635, -1, 2826 -1, -1, -1, -1, 1030, 1031, -1, -1, -1, -1, 2827 -1, -1, -1, -1, 651, -1, -1, 1393, -1, 697, 3465 -1, -1, -1, 864, -1, -1, -1, -1, 323, 870, 3466 -1, -1, -1, -1, -1, -1, 331, 332, -1, 334, 3467 335, 882, -1, -1, 885, -1, -1, -1, -1, -1, 3468 345, -1, -1, -1, 349, -1, -1, 1085, -1, -1, 2828 3469 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2829 -1, 1057, -1, 711, 1060, -1, -1, -1, -1, -1, 2830 -1, -1, 1418, -1, -1, -1, 683, 37, 38, -1, 2831 40, -1, -1, 731, -1, -1, -1, -1, -1, -1, 2832 -1, -1, -1, -1, 1440, -1, -1, -1, -1, -1, 2833 -1, 1447, 709, -1, 711, -1, 66, 1103, -1, -1, 2834 -1, -1, 72, 1109, 1110, -1, 76, -1, -1, 79, 2835 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 2836 -1, -1, -1, 1129, -1, -1, 1132, 744, -1, -1, 2837 1136, -1, -1, -1, 792, -1, -1, -1, 44, 109, 2838 -1, 111, 1498, 1149, 114, -1, 804, 117, 118, 119, 2839 120, 121, 122, -1, -1, -1, 1162, -1, 1164, 1165, 2840 1166, 1167, -1, -1, -1, 823, -1, -1, -1, -1, 2841 -1, -1, -1, -1, 1180, -1, 1182, -1, -1, -1, 2842 1186, -1, -1, 800, -1, 91, -1, 804, -1, -1, 2843 -1, 808, -1, -1, -1, 101, -1, -1, -1, -1, 2844 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1215, 2845 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2846 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2847 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2848 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 2849 32, 157, -1, -1, -1, -1, -1, 39, -1, 1265, 2850 1266, -1, -1, -1, -1, 171, -1, -1, -1, 1275, 2851 -1, -1, -1, -1, -1, -1, -1, -1, 936, -1, 2852 -1, -1, -1, -1, -1, 67, 903, 69, 194, 71, 2853 -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, 2854 -1, 918, 208, -1, -1, -1, -1, -1, 966, -1, 2855 -1, 217, -1, 37, 38, -1, 40, -1, -1, -1, 2856 -1, 227, -1, -1, -1, 942, -1, -1, -1, 111, 2857 1336, -1, 1338, 1339, 1340, 117, 118, -1, -1, -1, 2858 -1, -1, 66, 1001, 1350, -1, 252, -1, 72, -1, 2859 -1, 257, 76, 1359, 1012, 79, 80, 81, 82, 83, 2860 84, -1, 86, 87, 270, -1, -1, -1, -1, -1, 2861 276, -1, 278, -1, -1, -1, -1, -1, 1384, -1, 2862 -1, 998, -1, -1, -1, 109, -1, 111, -1, 295, 2863 -1, -1, -1, 117, 118, 119, 120, 121, 122, -1, 2864 -1, -1, 1019, 1020, -1, -1, 130, -1, -1, -1, 2865 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, 2866 -1, 1427, 1428, -1, -1, -1, 1084, -1, -1, -1, 2867 -1, 337, -1, -1, 1440, -1, 342, -1, -1, -1, 2868 1098, 1447, -1, 66, -1, -1, -1, -1, -1, 72, 2869 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 2870 83, 84, 1079, 86, 87, 371, -1, -1, -1, 375, 2871 376, -1, 378, 1479, -1, -1, -1, 1483, -1, 385, 2872 386, -1, 388, 389, -1, 391, 109, 393, 111, -1, 2873 113, 114, -1, -1, 117, 118, 119, 120, 121, 122, 2874 -1, -1, -1, -1, 410, 1511, -1, 1513, -1, -1, 2875 -1, -1, 418, -1, -1, -1, -1, -1, -1, -1, 2876 -1, 155, 156, -1, -1, -1, -1, -1, 1145, 1187, 2877 -1, -1, -1, -1, -1, 1541, 1542, 443, -1, -1, 2878 -1, -1, -1, 1549, 1550, -1, -1, -1, -1, -1, 2879 -1, -1, -1, -1, -1, 189, -1, -1, -1, -1, 2880 -1, -1, 196, 469, -1, -1, -1, -1, -1, 475, 2881 1187, -1, -1, -1, 480, 3, 4, 5, 6, 7, 2882 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3470 -1, 1099, -1, 368, -1, -1, 371, -1, -1, -1, 3471 -1, 37, 38, -1, 40, 41, -1, 43, -1, -1, 3472 46, 47, 48, 49, 50, 51, 52, 53, 695, -1, 3473 56, 57, -1, 398, -1, 61, 62, 402, 64, -1, 3474 66, -1, -1, -1, -1, -1, 72, -1, -1, -1, 3475 76, 962, -1, 79, 80, 81, 82, 83, 84, -1, 3476 86, 87, -1, -1, -1, -1, -1, -1, 433, -1, 3477 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3478 -1, -1, -1, 109, -1, 111, 997, -1, 114, 756, 3479 1188, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3480 -1, 127, -1, -1, -1, -1, 132, -1, -1, -1, 3481 -1, -1, -1, -1, 479, -1, -1, 482, -1, 786, 3482 -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 3483 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3484 24, 25, 26, 27, 1055, -1, 30, 31, 32, -1, 3485 1061, -1, -1, -1, -1, 39, 521, -1, -1, -1, 3486 525, 526, -1, -1, 10, 11, 12, 13, 14, 15, 3487 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3488 26, 27, 28, 67, 1095, 1283, -1, -1, 72, 1100, 3489 74, 75, 76, 39, -1, -1, -1, 1108, -1, 83, 3490 84, -1, -1, -1, -1, 570, 571, -1, -1, -1, 3491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3492 -1, 67, -1, -1, 589, 590, -1, 111, -1, -1, 3493 1141, -1, 78, 117, 118, 600, -1, 602, 603, 906, 3494 -1, -1, 1153, -1, 609, 1156, -1, 1158, -1, -1, 3495 -1, -1, -1, -1, 619, 620, -1, -1, -1, -1, 3496 625, 1172, 1173, -1, -1, -1, -1, -1, -1, 634, 3497 635, 636, -1, -1, -1, -1, -1, -1, -1, -1, 3498 -1, -1, -1, 1194, 951, -1, -1, 652, -1, -1, 3499 -1, -1, 657, 658, -1, -1, 661, 662, -1, -1, 3500 -1, -1, -1, 668, -1, -1, -1, -1, -1, -1, 3501 -1, -1, -1, -1, -1, -1, -1, -1, -1, 986, 3502 -1, -1, 687, -1, -1, -1, -1, -1, -1, -1, 3503 1241, -1, 999, -1, -1, -1, -1, -1, -1, -1, 3504 -1, -1, -1, -1, -1, 710, 711, -1, -1, 10, 3505 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3506 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3507 31, 32, -1, 1040, -1, -1, -1, -1, 39, 744, 3508 745, -1, -1, -1, 749, 750, -1, -1, -1, -1, 3509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3510 -1, -1, -1, -1, -1, 1316, 67, 1318, -1, -1, 3511 -1, -1, -1, 74, 75, -1, -1, -1, -1, 1330, 3512 -1, 1332, -1, -1, -1, -1, -1, -1, 793, -1, 3513 -1, -1, 1530, -1, -1, -1, 801, -1, 1349, -1, 3514 -1, -1, -1, 808, 809, -1, -1, 812, -1, 814, 3515 1117, -1, -1, -1, 1365, 1366, 117, 118, -1, 824, 3516 -1, -1, -1, -1, -1, 1376, -1, -1, 1379, -1, 3517 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3518 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1400, 3519 -1, -1, -1, -1, -1, -1, -1, -1, 1409, -1, 3520 -1, 1412, -1, 1414, 1415, 1416, -1, -1, -1, -1, 3521 1177, 1178, 10, 11, 12, 13, 14, 15, 16, 17, 2883 3522 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2884 -1, -1, 30, 31, 32, -1, -1, 1224, -1, -1, 2885 516, 39, -1, -1, -1, -1, -1, -1, -1, -1, 2886 -1, -1, -1, -1, 1282, 531, -1, -1, -1, -1, 2887 -1, -1, -1, -1, 268, -1, -1, -1, -1, 67, 2888 -1, 69, -1, 71, -1, -1, 74, 75, -1, -1, 2889 -1, -1, -1, -1, -1, -1, 1273, 1274, -1, -1, 2890 -1, -1, -1, 569, -1, 1282, -1, -1, -1, -1, 2891 -1, -1, 578, -1, -1, -1, -1, -1, -1, 585, 2892 146, -1, -1, -1, -1, 591, 114, -1, 322, -1, 2893 156, -1, -1, -1, 600, -1, 330, 331, -1, 333, 2894 334, -1, 168, 169, -1, -1, -1, -1, -1, -1, 2895 344, -1, 7, -1, 348, 10, 11, 12, 13, 14, 3523 -1, 896, 30, 31, 32, -1, -1, -1, 903, 904, 3524 905, 39, 907, 1454, -1, 1456, 911, 1458, -1, -1, 2896 3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2897 -1, -1, -1, 367, 640, -1, 370, -1, -1, -1, 2898 -1, -1, 37, 38, 39, 40, -1, -1, -1, -1, 3526 -1, -1, 1473, -1, -1, -1, -1, 932, 933, 67, 3527 -1, -1, -1, -1, 72, -1, 74, 75, 76, -1, 3528 -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, 2899 3529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2900 -1, -1, -1, 397, -1, -1, -1, 401, -1, -1, 2901 676, 66, 67, 239, -1, -1, 1393, 72, 684, -1, 2902 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 2903 -1, 86, 87, -1, -1, -1, -1, 263, 432, -1, 2904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 715, 2905 -1, -1, -1, -1, 109, -1, 111, -1, -1, 725, 2906 726, -1, 117, 118, 119, 120, 121, 122, -1, -1, 2907 -1, -1, 1449, -1, 1451, -1, -1, -1, -1, -1, 2908 -1, -1, -1, -1, 478, -1, -1, 481, -1, -1, 2909 -1, -1, 758, -1, -1, -1, -1, 763, -1, -1, 2910 -1, -1, -1, -1, -1, -1, -1, -1, 1485, -1, 2911 1487, 1529, -1, -1, -1, -1, -1, -1, -1, -1, 2912 -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, 2913 524, 525, -1, -1, -1, -1, -1, 1514, -1, -1, 3530 -1, -1, 967, -1, -1, -1, -1, -1, -1, -1, 3531 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117, 3532 118, -1, -1, 988, 989, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, 999, -1, -1, -1, -1, -1, 3534 1005, 1006, -1, 1008, 1009, 1010, -1, -1, -1, -1, 3535 -1, -1, -1, -1, -1, 1020, 1021, -1, -1, -1, 3536 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 3537 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3538 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3539 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 3540 -1, -1, 36, 37, 38, 39, 40, -1, -1, -1, 3541 -1, -1, -1, -1, -1, 1382, -1, -1, 1083, -1, 3542 1085, -1, -1, -1, -1, 1090, -1, -1, -1, -1, 3543 -1, 1398, 66, 67, 1099, 69, -1, 71, 72, -1, 3544 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3545 84, -1, 86, 87, -1, -1, -1, 1122, 1123, 1124, 2914 3546 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2915 -1, -1, -1, 379, -1, -1, -1, -1, -1, -1, 2916 -1, 827, -1, -1, -1, -1, -1, -1, 834, -1, 2917 -1, -1, -1, -1, -1, 569, 570, -1, -1, -1, 2918 -1, 847, -1, 849, -1, -1, -1, -1, -1, -1, 2919 -1, -1, -1, -1, 588, 589, -1, 863, -1, -1, 2920 -1, -1, -1, 869, -1, 599, -1, 601, 602, -1, 2921 -1, -1, -1, -1, 608, 881, -1, -1, 884, -1, 2922 -1, -1, -1, -1, 618, 619, -1, -1, -1, -1, 2923 624, -1, -1, -1, -1, -1, -1, -1, -1, 633, 2924 634, 635, -1, -1, -1, -1, -1, 473, -1, -1, 2925 -1, -1, -1, -1, -1, -1, -1, 651, -1, -1, 2926 -1, -1, 656, 657, -1, -1, 660, 661, -1, -1, 2927 -1, -1, -1, 667, -1, -1, -1, -1, -1, -1, 2928 -1, -1, -1, -1, -1, -1, 512, -1, -1, -1, 2929 -1, -1, 686, -1, -1, 961, -1, -1, -1, 525, 2930 -1, -1, -1, -1, 530, -1, -1, 533, -1, -1, 2931 -1, -1, -1, -1, -1, 709, 710, -1, -1, 545, 2932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2933 996, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2934 -1, 567, -1, -1, -1, -1, -1, -1, -1, 743, 2935 744, 577, -1, -1, 748, 749, -1, -1, 584, -1, 2936 -1, -1, -1, 589, -1, -1, -1, -1, -1, -1, 2937 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2938 20, 21, 22, 23, 24, 25, 26, 27, 1054, -1, 2939 30, 31, 32, -1, 1060, -1, -1, -1, 792, 39, 2940 -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, 2941 -1, -1, 638, 807, 808, -1, -1, 811, -1, 813, 2942 646, -1, -1, -1, -1, -1, -1, 67, 1094, 823, 2943 -1, -1, 72, 1099, 74, 75, 76, -1, -1, -1, 2944 -1, 1107, -1, 83, 84, -1, 10, 11, 12, 13, 2945 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2946 24, 25, 26, 27, 28, -1, -1, -1, -1, 109, 2947 -1, 111, -1, -1, 1140, 39, -1, 117, 118, -1, 2948 -1, -1, -1, -1, -1, -1, 1152, -1, -1, 1155, 2949 -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, 2950 -1, 895, -1, 67, -1, 1171, 1172, -1, 902, 903, 2951 904, -1, 906, -1, 78, -1, 910, -1, 744, -1, 2952 746, -1, -1, -1, -1, -1, -1, 1193, -1, -1, 2953 756, -1, -1, -1, -1, -1, 762, 931, 932, -1, 2954 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2955 20, 21, 22, 23, 24, 25, 26, 27, 7, -1, 2956 -1, 10, 11, 12, 13, 14, -1, -1, -1, 39, 2957 -1, -1, 966, -1, 1240, -1, -1, -1, 804, 805, 2958 -1, -1, 808, -1, -1, -1, -1, -1, 37, 38, 2959 39, 40, -1, 987, 988, -1, 822, 67, -1, -1, 2960 -1, -1, -1, -1, 998, -1, -1, -1, -1, -1, 2961 1004, 1005, -1, 1007, 1008, 1009, -1, 66, 67, -1, 2962 -1, -1, -1, 72, -1, 1019, 1020, 76, -1, -1, 2963 79, 80, 81, 82, 83, 84, 862, 86, 87, -1, 2964 866, -1, -1, -1, -1, -1, -1, -1, -1, 1315, 2965 -1, 1317, -1, -1, -1, -1, -1, -1, -1, -1, 2966 109, -1, 111, 1329, -1, 1331, -1, -1, 117, 118, 2967 119, 120, 121, 122, -1, -1, -1, 903, -1, -1, 2968 -1, -1, 1348, -1, -1, -1, -1, -1, 1082, -1, 2969 1084, -1, -1, -1, -1, 1089, -1, -1, 1364, 1365, 2970 -1, -1, -1, -1, 1098, -1, -1, -1, -1, 1375, 2971 -1, -1, 1378, -1, -1, -1, 942, -1, -1, -1, 2972 -1, -1, -1, -1, -1, -1, -1, 1121, 1122, 1123, 2973 -1, -1, -1, 1399, -1, 37, 38, -1, 40, -1, 2974 -1, -1, 1408, -1, 970, 1411, -1, 1413, 1414, 1415, 2975 976, 1145, -1, -1, 980, -1, -1, -1, -1, -1, 2976 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 2977 72, -1, -1, -1, 76, 1001, -1, 79, 80, 81, 2978 82, 83, 84, -1, 86, 87, 1012, 1453, -1, 1455, 2979 -1, 1457, -1, -1, -1, -1, -1, -1, -1, -1, 2980 -1, -1, -1, -1, -1, -1, 1472, 109, 1034, 111, 2981 1036, -1, 1206, -1, 116, 117, 118, 119, 120, 121, 2982 122, -1, -1, -1, -1, 1051, 1052, -1, -1, -1, 2983 1224, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2984 -1, -1, -1, -1, -1, -1, 1072, -1, -1, -1, 2985 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 2986 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2987 19, 20, 21, 22, 23, 24, 25, 26, 27, 1273, 2988 1274, 30, 31, 32, 33, -1, -1, 36, -1, -1, 2989 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2990 -1, 1127, -1, -1, -1, -1, -1, -1, -1, -1, 2991 -1, -1, -1, -1, -1, -1, -1, -1, 67, 1145, 2992 69, -1, 71, -1, -1, 74, 75, -1, -1, -1, 2993 -1, -1, -1, -1, 1160, 1161, -1, 3, 4, 5, 2994 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2995 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2996 26, 27, 111, -1, 30, 31, 32, 33, 117, 118, 2997 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, 2998 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 2999 -1, 57, -1, -1, -1, 61, 62, -1, 64, 1393, 3000 66, 67, -1, 69, -1, 71, 72, -1, 74, 75, 3547 -1, 37, 38, -1, 40, 109, -1, 111, -1, -1, 3548 -1, 1146, -1, 117, 118, 119, 120, 121, 122, -1, 3549 -1, -1, -1, -1, -1, -1, -1, -1, 132, -1, 3550 66, 1468, 1469, -1, -1, -1, 72, -1, 74, 75, 3001 3551 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3002 3552 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3003 3553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3004 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1,3554 -1, -1, 1207, 109, -1, 111, -1, 113, 114, -1, 3005 3555 -1, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3006 -1, 127, -1, -1, -1, -1, 132, -1, -1, -1, 3007 -1, -1, -1, -1, -1, 1301, -1, -1, 1304, -1, 3008 -1, -1, -1, -1, -1, -1, 1480, -1, -1, -1, 3009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3011 1504, 1505, -1, -1, -1, -1, -1, -1, -1, -1, 3012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3013 -1, -1, -1, -1, -1, 1529, 3, 4, 5, 6, 3014 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3015 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3016 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 3017 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3018 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3019 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3020 67, -1, 69, 39, 71, 72, -1, 74, 75, 76, 3021 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3022 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3023 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3024 76, -1, 109, -1, 111, -1, -1, 83, 84, -1, 3025 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 3026 -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 3027 -1, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3028 -1, 117, 118, -1, -1, -1, -1, -1, 1514, 3, 3029 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3030 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3031 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 3032 -1, -1, 36, 37, 38, 39, 40, 10, 11, 12, 3033 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3034 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3035 -1, -1, 66, 67, -1, 69, 39, 71, 72, -1, 3036 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3037 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3038 -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 3039 -1, 74, 75, -1, -1, 109, -1, 111, -1, -1, 3040 83, 84, -1, 117, 118, 119, 120, 121, 122, 4, 3556 1225, -1, -1, -1, -1, -1, -1, -1, 3, 4, 3041 3557 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3042 3558 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3043 25, 26, 27, -1, -1, 30, 31, 32, -1, -1,3044 -1, -1, 37, 38, 39, 40, -1, -1, -1, 10,3045 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,3046 21, 22, 23, 24, 25, 26, 27, 28, -1, -1,3047 -1, 66, 67, -1, 69, -1, 71, 72, 39, 74,3559 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, 3560 -1, 36, 37, 38, 39, 40, 41, -1, 43, 1274, 3561 1275, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3562 -1, -1, 57, -1, -1, -1, 61, 62, -1, 64, 3563 -1, 66, 67, -1, 69, -1, 71, 72, -1, 74, 3048 3564 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3049 3565 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3050 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3051 -1, -1, -1, -1, 109, -1, 111, 78, -1, -1, 3052 -1, 116, 117, 118, 119, 120, 121, 122, 4, 5, 3053 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3054 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3055 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3056 -1, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3057 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3058 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3059 66, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3060 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3061 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3062 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3063 75, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3064 116, 117, 118, 119, 120, 121, 122, 4, 5, 6, 3065 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3066 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3067 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3068 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3069 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3070 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3071 67, -1, 69, 39, 71, 72, -1, 74, 75, 76, 3072 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3073 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3074 -1, 67, -1, -1, -1, -1, -1, -1, 74, 75, 3075 -1, -1, 109, -1, 111, -1, -1, -1, -1, 116, 3076 117, 118, 119, 120, 121, 122, 4, 5, 6, 7, 3566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3567 -1, -1, -1, -1, 109, -1, 111, -1, -1, 114, 3568 -1, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3569 -1, -1, 127, -1, -1, -1, -1, 132, -1, -1, 3570 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3571 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3572 20, 21, 22, 23, 24, 25, 26, 27, -1, 1394, 3573 30, 31, 32, 33, -1, -1, 36, 37, 38, 39, 3574 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3575 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3576 -1, 30, 31, 32, -1, -1, 66, 67, -1, 69, 3577 39, 71, 72, -1, 74, 75, 76, -1, -1, 79, 3578 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3579 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3580 -1, -1, -1, 72, -1, 74, 75, -1, -1, 109, 3581 -1, 111, -1, -1, 83, 84, 1481, 117, 118, 119, 3582 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, 3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3584 1505, 1506, 111, -1, -1, -1, -1, -1, 117, 118, 3585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3586 -1, -1, -1, -1, -1, 1530, 4, 5, 6, 7, 3077 3587 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3078 3588 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3079 3589 -1, -1, 30, 31, 32, -1, -1, -1, -1, 37, 3080 38, 39, 40, -1, -1, -1, -1, -1, -1, -1,3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3082 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,3083 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1,3590 38, 39, 40, 10, 11, 12, 13, 14, 15, 16, 3591 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3592 27, -1, -1, 30, 31, 32, -1, -1, 66, 67, 3593 -1, 69, 39, 71, 72, -1, 74, 75, 76, -1, 3084 3594 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3085 3595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3087 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117,3596 67, -1, -1, -1, -1, 72, -1, 74, 75, -1, 3597 -1, 109, -1, 111, -1, -1, 83, 84, 116, 117, 3088 3598 118, 119, 120, 121, 122, 4, 5, 6, 7, 8, 3089 3599 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3090 3600 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3091 3601 -1, 30, 31, 32, -1, -1, -1, -1, 37, 38, 3092 39, 40, -1, -1, -1, -1, -1, -1, -1, -1,3093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3094 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,3095 69, -1, 71, 72, -1, 74, 75, 76, -1, -1,3602 39, 40, 10, 11, 12, 13, 14, 15, 16, 17, 3603 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3604 -1, -1, 30, 31, 32, -1, -1, 66, 67, -1, 3605 69, 39, 71, 72, -1, 74, 75, 76, -1, -1, 3096 3606 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3099 109, -1, 111, -1, -1, -1, -1, -1, 117, 118,3607 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3608 -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, 3609 109, -1, 111, -1, -1, -1, -1, 116, 117, 118, 3100 3610 119, 120, 121, 122, 4, 5, 6, 7, 8, 9, 3101 3611 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3102 3612 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3103 3613 30, 31, 32, -1, -1, -1, -1, 37, 38, 39, 3104 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,3105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3106 -1, -1, -1, -1, -1, -1, 66, 67, -1, 69,3107 -1, 71, 72, -1, 74, 75, 76, -1, -1, 79,3614 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3615 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3616 -1, 30, 31, 32, -1, -1, 66, 67, -1, 69, 3617 39, 71, 72, -1, 74, 75, 76, -1, -1, 79, 3108 3618 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,3111 -1, 111, -1, -1, -1, -1, -1, 117, 118, 119,3619 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3620 -1, -1, -1, -1, -1, 74, 75, -1, -1, 109, 3621 -1, 111, -1, -1, -1, -1, 116, 117, 118, 119, 3112 3622 120, 121, 122, 4, 5, 6, 7, 8, 9, 10, 3113 3623 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, … … 3122 3632 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3123 3633 111, -1, -1, -1, -1, -1, 117, 118, 119, 120, 3124 121, 122, 0, -1, -1, 3, 4, 5, 6, 7, 3634 121, 122, 4, 5, 6, 7, 8, 9, 10, 11, 3635 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3636 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3637 32, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3639 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3640 -1, -1, -1, -1, 66, 67, -1, 69, -1, 71, 3641 72, -1, 74, 75, 76, -1, -1, 79, 80, 81, 3642 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 3643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3644 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3645 -1, -1, -1, -1, -1, 117, 118, 119, 120, 121, 3646 122, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3647 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3648 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3649 -1, -1, -1, -1, 37, 38, 39, 40, -1, -1, 3650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3652 -1, -1, -1, 66, 67, -1, 69, -1, 71, 72, 3653 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3654 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3655 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3656 -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 3657 -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, 3658 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3659 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3660 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3661 -1, -1, -1, 37, 38, 39, 40, -1, -1, -1, 3662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3664 -1, -1, 66, 67, -1, 69, -1, 71, 72, -1, 3665 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3666 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3667 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3668 -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, 3669 -1, -1, -1, 117, 118, 119, 120, 121, 122, 0, 3670 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3671 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3672 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3673 31, 32, 33, -1, -1, 36, -1, -1, 39, 40, 3674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3676 -1, -1, -1, 64, -1, -1, 67, -1, 69, -1, 3677 71, 72, -1, 74, 75, 76, -1, -1, -1, -1, 3678 -1, -1, 83, 84, -1, -1, -1, -1, -1, -1, 3679 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3680 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3681 111, -1, -1, -1, -1, -1, 117, 118, 3, 4, 3682 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3683 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3684 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, 3685 -1, 36, -1, -1, 39, 40, -1, -1, -1, -1, 3686 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3687 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 3688 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, 3689 75, 76, -1, -1, -1, -1, -1, -1, 83, 84, 3690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3691 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3692 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3693 115, -1, 117, 118, 3, 4, 5, 6, 7, 8, 3694 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3695 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3696 -1, 30, 31, 32, 33, -1, -1, 36, -1, -1, 3697 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, 3698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3699 -1, -1, -1, -1, -1, 64, -1, -1, 67, -1, 3700 69, -1, 71, 72, -1, 74, 75, 76, -1, -1, 3701 -1, -1, -1, -1, 83, 84, -1, -1, -1, -1, 3702 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3704 109, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3705 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3706 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3707 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3708 -1, -1, -1, -1, -1, -1, 39, -1, 10, 11, 3709 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3710 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3711 32, 33, 34, 35, 67, -1, 69, 39, 71, 72, 3712 -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, 3713 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, 3714 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 3715 -1, -1, 74, 75, -1, -1, 109, -1, 111, -1, 3716 -1, -1, -1, -1, 117, 118, 3, 4, 5, 6, 3717 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3718 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3719 27, 28, -1, 30, 31, 32, 33, -1, -1, 36, 3720 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, 3721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723 67, -1, 69, -1, 71, -1, -1, 74, 75, -1, 3724 -1, 78, 3, 4, 5, 6, 7, 8, 9, 10, 3725 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3726 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3727 31, 32, 33, -1, 111, 36, -1, -1, 39, -1, 3728 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 3729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3731 71, -1, -1, 74, 75, 3, 4, 5, 6, 7, 3125 3732 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3126 3733 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3127 -1, -1, 30, 31, 32, 33, -1, -1, 36, -1,3128 -1, 39, 40, -1, -1, -1, -1, -1, -1, -1,3734 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3735 111, 39, -1, -1, -1, -1, 117, 118, -1, -1, 3129 3736 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3130 -1, -1, -1, -1, -1, -1, 64, -1, -1, 67, 3131 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1, 3132 -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, 3133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3135 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117, 3136 118, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3137 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3138 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3139 32, 33, -1, -1, 36, -1, -1, 39, 40, -1, 3140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3142 -1, -1, 64, -1, -1, 67, -1, 69, -1, 71, 3143 72, -1, 74, 75, 76, -1, -1, -1, -1, -1, 3144 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, 3145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3146 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3147 -1, -1, -1, -1, -1, 117, 118, 3, 4, 5, 3148 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3149 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3150 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3151 -1, -1, -1, 39, -1, 10, 11, 12, 13, 14, 3152 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3153 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, 3154 35, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3155 76, -1, -1, -1, -1, -1, -1, 83, 84, -1, 3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3157 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3158 75, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3159 -1, 117, 118, 3, 4, 5, 6, 7, 8, 9, 3160 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3161 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 3162 30, 31, 32, 33, -1, -1, 36, -1, -1, 39, 3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3165 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, 3166 -1, 71, -1, -1, 74, 75, -1, -1, 78, 4, 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3738 -1, 69, -1, 71, -1, -1, 74, 75, -1, 4, 3167 3739 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3168 3740 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3169 3741 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3170 -1, 111, -1, -1, 39, -1, -1, 117, 118, -1,3171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3742 -1, -1, -1, 111, 39, -1, -1, -1, -1, 117, 3743 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3172 3744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3173 3745 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, … … 3190 3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3191 3763 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3192 67, -1, 69, 109, 71, 111, -1, 74, 75, -1,3764 67, -1, 69, -1, 71, 111, -1, 74, 75, -1, 3193 3765 -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3194 3766 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, … … 3253 3825 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3254 3826 -1, -1, 30, 31, 32, -1, -1, 66, 67, -1, 3255 -1, 39, -1, 72, -1, 74, 75, 76, -1, -1,3827 -1, 39, 40, 72, -1, 74, 75, 76, -1, -1, 3256 3828 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3257 3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3258 -1, -1, -1, -1, 72, -1, 74, 75, 76, -1,3259 109, 110, 111, -1, -1, 83, 84, -1, 117, 118,3830 -1, -1, -1, -1, -1, -1, 74, 75, -1, -1, 3831 109, 110, 111, -1, -1, -1, -1, -1, 117, 118, 3260 3832 119, 120, 121, 122, 10, 11, 12, 13, 14, 15, 3261 3833 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3262 26, 27, -1, 111, 30, 31, 32, -1, -1, 117,3834 26, 27, -1, 111, 30, 31, 32, 115, -1, 117, 3263 3835 118, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3264 3836 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, … … 3267 3839 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3268 3840 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3269 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74,3270 75, -1, -1, 109, -1, 111, -1, -1, 83, 84,3841 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3842 75, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3271 3843 -1, 117, 118, 119, 120, 121, 122, 10, 11, 12, 3272 3844 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, … … 3275 3847 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3276 3848 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3277 32, -1, -1, 66, 67, -1, -1, 39, 40, 72,3849 32, -1, -1, 66, 67, -1, -1, 39, -1, 72, 3278 3850 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3279 3851 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, … … 3283 3855 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3284 3856 20, 21, 22, 23, 24, 25, 26, 27, -1, 111, 3285 30, 31, 32, 115, -1, 117, 118, 37, 38, 39,3857 30, 31, 32, -1, -1, 117, 118, 37, 38, 39, 3286 3858 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3287 3859 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3288 3860 -1, 30, 31, 32, -1, -1, 66, 67, -1, -1, 3289 39, 40, 72, -1, 74, 75, 76, -1, -1, 79,3861 39, -1, 72, -1, 74, 75, 76, -1, -1, 79, 3290 3862 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3291 3863 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, … … 3294 3866 120, 121, 122, 10, 11, 12, 13, 14, 15, 16, 3295 3867 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3296 27, -1, 111, 30, 31, 32, 115, -1, 117, 118,3297 37, 38, 39, 40, -1, 10, 11, 12, 13, 14,3298 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,3299 25, 26, 27, 28, -1, 30, 31, 32, -1, 66,3300 67, -1, -1, -1, 39, 72, -1, 74, 75, 76,3301 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86,3868 27, -1, 111, 30, 31, 32, -1, -1, 117, 118, 3869 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 3870 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3871 19, 20, 21, 22, 23, 24, 25, 26, 27, 66, 3872 67, 30, 31, 32, -1, 72, -1, 74, 75, 76, 3873 39, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3302 3874 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3303 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74, 3304 75, 76, 109, 78, 111, -1, -1, -1, 83, 84, 3305 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 3306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3307 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3308 -1, -1, 117, 118, 10, 11, 12, 13, 14, 15, 3875 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3876 -1, -1, 109, -1, 111, 74, 75, -1, -1, -1, 3877 117, 118, 119, 120, 121, 122, 3, 4, 5, 6, 3878 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3879 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3880 27, -1, 111, 30, 31, 32, -1, -1, 117, 118, 3881 -1, -1, 39, -1, -1, -1, 10, 11, 12, 13, 3882 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3883 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3884 67, -1, 69, -1, 71, 39, -1, 74, 75, -1, 3885 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3309 3886 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3310 26, 27, 28, -1, 30, 31, 32, -1, -1, -1, 3311 -1, -1, -1, 39, 10, 11, 12, 13, 14, 15, 3312 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3313 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3314 -1, 67, -1, 39, -1, -1, 72, -1, 74, 75, 3315 76, -1, 78, -1, -1, -1, -1, 83, 84, -1, 3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3317 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3318 76, -1, -1, -1, -1, 111, -1, 83, 84, -1, 3319 -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3321 -1, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3322 -1, 117, 118, 10, 11, 12, 13, 14, 15, 16, 3323 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3324 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3325 -1, -1, 39, 10, 11, 12, 13, 14, 15, 16, 3326 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3327 27, 28, -1, 30, 31, 32, -1, -1, -1, -1, 3328 67, -1, 39, -1, -1, 72, -1, 74, 75, 76, 3329 -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, 3330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3331 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3332 -1, 78, 109, -1, 111, -1, -1, -1, -1, -1, 3333 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3335 -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, 3336 117, 118, 10, 11, 12, 13, 14, 15, 16, 17, 3887 26, 27, -1, 67, 30, 31, 32, -1, 72, -1, 3888 74, 75, 76, 39, -1, -1, -1, 114, -1, 83, 3889 84, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3337 3890 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3338 28, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3339 -1, 39, 10, 11, 12, 13, 14, 15, 16, 17, 3340 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3341 -1, -1, 30, 31, 32, -1, -1, -1, -1, 67, 3342 -1, 39, -1, -1, -1, -1, 74, 75, -1, -1, 3343 78, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3344 19, 20, 21, 22, 23, 24, 25, 26, 27, 67, 3345 -1, 30, 31, 32, -1, -1, 74, 75, -1, -1, 3346 39, -1, -1, 111, -1, -1, -1, -1, -1, 117, 3347 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3349 -1, -1, -1, 111, -1, 74, 75, -1, -1, 117, 3891 -1, 67, 30, 31, 32, 109, 72, 111, 74, 75, 3892 76, 39, -1, 117, 118, -1, -1, 83, 84, -1, 3893 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3894 20, 21, 22, 23, 24, 25, 26, 27, 28, 67, 3895 30, 31, 32, 109, 72, 111, 74, 75, 76, 39, 3896 -1, 117, 118, -1, -1, 83, 84, -1, 10, 11, 3897 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3898 22, 23, 24, 25, 26, 27, 28, 67, 30, 31, 3899 32, 109, -1, 111, 74, 75, -1, 39, 78, 117, 3350 3900 118, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3351 3901 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3352 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3353 39, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3354 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3355 20, 21, 22, 23, 24, 25, 26, 27, 67, -1, 3356 30, 31, 32, -1, -1, 74, 75, -1, -1, 39, 3357 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3358 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3359 30, 31, 32, -1, -1, -1, -1, 67, -1, 39, 3360 -1, -1, 111, -1, 74, 75, -1, -1, 117, 118, 3902 -1, 30, 31, 32, -1, 67, -1, -1, -1, 109, 3903 39, 111, 74, 75, -1, -1, 78, 117, 118, -1, 3361 3904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3362 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3363 -1, -1, -1, -1, 74, 75, -1, -1, -1, -1, 3364 -1, 111, -1, -1, -1, -1, -1, 117, 118, -1, 3365 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3366 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3367 -1, 111, 30, 31, 32, -1, -1, 117, 118, -1, 3368 -1, 39, 10, 11, 12, 13, 14, 15, 16, 17, 3369 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3370 -1, -1, 30, 31, 32, -1, -1, -1, -1, 67, 3371 -1, 39, -1, -1, -1, -1, 74, 75, -1, -1, 3372 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3373 20, 21, 22, 23, 24, 25, 26, 27, -1, 67, 3374 30, 31, 32, -1, -1, -1, 74, 75, -1, 39, 3375 -1, -1, -1, 111, -1, -1, -1, -1, -1, 117, 3376 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3377 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3378 -1, -1, -1, 111, 74, 75, -1, -1, -1, 117, 3379 118, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3380 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3381 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3382 -1, -1, -1, -1, -1, -1, 39, 117, 118, -1, 3905 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3906 -1, -1, -1, -1, -1, 74, 75, -1, -1, 111, 3907 -1, -1, -1, -1, -1, 117, 118, 4, 5, 6, 3908 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3909 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3910 27, -1, 111, 30, 31, 32, -1, -1, 117, 118, 3911 -1, -1, 39, -1, 37, 38, -1, 40, 41, -1, 3912 43, -1, -1, 46, 47, 48, 49, 50, 51, 52, 3913 53, -1, -1, -1, 57, -1, -1, -1, 61, 62, 3914 67, 64, 69, 66, 71, -1, -1, 74, 75, 72, 3915 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3916 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3383 3917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3918 -1, -1, -1, 110, -1, -1, 109, -1, 111, -1, 3919 -1, 114, -1, -1, 117, 118, 119, 120, 121, 122, 3920 -1, -1, -1, -1, 127, -1, -1, -1, -1, 132, 3921 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3922 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3923 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3924 -1, -1, -1, -1, -1, 39, -1, 37, 38, -1, 3925 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, 3926 50, 51, 52, 53, -1, -1, 56, 57, -1, -1, 3927 -1, 61, 62, 67, 64, 69, 66, 71, -1, -1, 3928 74, 75, 72, -1, -1, -1, 76, -1, -1, 79, 3929 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3930 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 3931 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3932 -1, 111, -1, -1, 114, -1, -1, 117, 118, 119, 3933 120, 121, 122, -1, -1, 37, 38, 127, 40, 41, 3934 -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 3935 52, 53, -1, -1, -1, 57, -1, -1, -1, 61, 3936 62, -1, 64, -1, 66, -1, -1, -1, -1, -1, 3937 72, -1, -1, -1, 76, -1, -1, 79, 80, 81, 3938 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 3384 3939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3385 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1, 3386 -1, 74, 75, 37, 38, -1, 40, 41, -1, 43, 3940 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3941 -1, -1, 114, -1, -1, 117, 118, 119, 120, 121, 3942 122, -1, -1, 37, 38, 127, 40, 41, -1, 43, 3387 3943 -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 3388 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1,3389 64, -1, 66, -1, -1, -1, -1, 110, 72, -1,3944 -1, -1, -1, 57, -1, -1, -1, 61, 62, -1, 3945 64, -1, 66, -1, -1, -1, -1, -1, 72, -1, 3390 3946 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3391 3947 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3948 37, 38, -1, 40, -1, -1, -1, -1, -1, -1, 3393 3949 -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, 3394 114, -1, -1, 117, 118, 119, 120, 121, 122, -1, 3395 -1, 37, 38, 127, 40, 41, -1, 43, 132, -1, 3396 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 3397 -1, 57, -1, -1, -1, 61, 62, -1, 64, -1, 3398 66, -1, -1, -1, -1, -1, 72, -1, -1, -1, 3399 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3400 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3402 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1, 3403 -1, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3404 -1, 127, -1, -1, -1, -1, 132, 4, 5, 6, 3405 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3406 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3407 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3408 -1, -1, 39, -1, 37, 38, -1, 40, 41, -1, 3409 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 3410 53, -1, -1, 56, 57, -1, -1, -1, 61, 62, 3411 67, 64, 69, 66, 71, -1, -1, 74, 75, 72, 3412 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3413 83, 84, -1, 86, 87, -1, -1, -1, -1, 96, 3414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3415 -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 3416 -1, 114, -1, -1, 117, 118, 119, 120, 121, 122, 3417 -1, -1, 37, 38, 127, 40, 41, -1, 43, 44, 3418 45, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3419 -1, -1, 57, -1, -1, -1, 61, 62, -1, 64, 3420 -1, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3421 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3422 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3424 -1, -1, -1, -1, 109, -1, 111, -1, -1, 114, 3425 -1, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3426 37, 38, 127, 40, 41, -1, 43, -1, -1, 46, 3427 47, 48, 49, 50, 51, 52, 53, -1, -1, -1, 3428 57, -1, -1, -1, 61, 62, -1, 64, -1, 66, 3429 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3950 114, -1, -1, 117, 118, 119, 120, 121, 122, 66, 3951 -1, -1, -1, 127, -1, 72, -1, -1, -1, 76, 3430 3952 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3431 3953 87, -1, -1, -1, -1, -1, -1, 37, 38, -1, 3432 3954 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3433 -1, -1, 109, -1, 111, -1, -1, 114, -1, -1,3955 -1, -1, 109, -1, 111, -1, -1, -1, -1, 116, 3434 3956 117, 118, 119, 120, 121, 122, 66, -1, -1, -1, 3435 127, -1, 72, -1, -1, -1, 76, -1, -1, 79,3957 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3436 3958 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3437 3959 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, … … 3450 3972 87, -1, -1, 109, -1, 111, -1, 37, 38, -1, 3451 3973 40, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3452 -1, -1, 109, -1, 111, -1, 37, 38, -1, 40,3974 -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, 3453 3975 117, 118, 119, 120, 121, 122, 66, -1, -1, -1, 3454 3976 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3455 80, 81, 82, 83, 84, 66, 86, 87, -1, -1, 3456 -1, 72, -1, -1, -1, 76, -1, -1, 79, 80, 3457 81, 82, 83, 84, -1, 86, 87, -1, -1, 109, 3458 -1, -1, -1, 37, 38, -1, 40, 117, 118, 119, 3459 120, 121, 122, -1, -1, -1, -1, -1, 109, -1, 3460 -1, -1, -1, -1, -1, -1, 117, 118, 119, 120, 3461 121, 122, 66, -1, -1, -1, -1, -1, 72, -1, 3462 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3463 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3977 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3464 3978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1,3466 -1, -1, -1, 117, 118, 119, 120, 121, 122, 4,3467 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,3468 1 5, 16, 17, 18, 19, 20, 21, 22, 23, 24,3469 2 5, 26, 27, -1, -1, -1, -1, -1, -1, -1,3470 -1, -1, -1, -1, 39, -1, -1, -1, -1, -1,3979 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3980 -1, -1, -1, -1, -1, -1, -1, 117, 118, 119, 3981 120, 121, 122, 4, 5, 6, 7, 8, 9, 10, 3982 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3983 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, 3984 -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, 3471 3985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3472 3986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3473 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, 3474 75, 76, -1, -1, -1, -1, -1, -1, 83, 84, 3475 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3476 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3477 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3478 -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, 3987 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3988 71, 72, -1, 74, 75, 76, -1, -1, -1, -1, 3989 -1, -1, 83, 84, 3, 4, 5, 6, 7, 8, 3990 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3991 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3992 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3993 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3995 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3996 69, -1, 71, -1, -1, 74, 75, 3, 4, 5, 3997 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3998 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3999 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 4000 -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 3479 4001 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3480 4002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1,3482 -1, 74, 75, 3, 4, 5, 6, 7, 8, 9,3483 1 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,3484 2 0, 21, 22, 23, 24, 25, 26, 27, -1, -1,3485 30, 31, 32, -1, -1, -1, -1, -1, -1, 39,4003 -1, 67, -1, 69, -1, 71, -1, -1, 74, 75, 4004 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4005 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4006 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 4007 -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 3486 4008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3487 4009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3488 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, 3489 -1, 71, -1, -1, 74, 75, 4, 5, 6, 7, 3490 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3491 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3492 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3493 -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 3494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3495 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3496 -1, 69, -1, 71, -1, -1, 74, 75 4010 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, 4011 74, 75 3497 4012 }; 3498 4013 3499 3500 4014 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 4015 symbol of state STATE-NUM. */ 3501 4016 static const yytype_uint16 yystos[] = 3502 4017 { … … 3505 4020 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 3506 4021 36, 39, 40, 64, 67, 69, 71, 72, 74, 75, 3507 76, 83, 84, 109, 111, 117, 118, 137, 140, 1 49,3508 19 8, 212, 213, 214, 215, 216, 217, 218, 219, 220,3509 22 1, 222, 223, 224, 225, 226, 227, 228, 229, 231,3510 23 2, 233, 234, 235, 236, 237, 239, 240, 241, 242,3511 24 3, 244, 246, 254, 255, 282, 283, 284, 292, 295,3512 30 1, 302, 304, 306, 307, 313, 318, 322, 323, 324,3513 32 5, 326, 327, 328, 329, 349, 366, 367, 368, 369,3514 72, 139, 140, 1 49, 215, 217, 225, 227, 236, 240,3515 24 2, 283, 82, 109, 311, 312, 313, 311, 311, 72,3516 74, 75, 76, 138, 139, 27 2, 273, 293, 294, 74,3517 75, 27 3, 109, 304, 11, 199, 109, 149, 318, 323,3518 32 4, 325, 327, 328, 329, 112, 134, 111, 218, 225,3519 22 7, 322, 326, 365, 366, 369, 370, 135, 107, 131,3520 27 6, 114, 135, 173, 74, 75, 137, 271, 135, 135,3521 135, 116, 135, 74, 75, 109, 1 49, 308, 317, 318,3522 3 19, 320, 321, 322, 326, 330, 331, 332, 333, 334,3523 34 0, 3, 28, 78, 238, 3, 5, 74, 111, 149,3524 21 7, 228, 232, 234, 243, 284, 322, 326, 369, 215,3525 21 7, 227, 236, 240, 242, 283, 322, 326, 33, 233,3526 23 3, 228, 234, 135, 233, 228, 233, 228, 75, 109,3527 114, 27 3, 284, 114, 273, 233, 228, 116, 135, 135,3528 0, 134, 109, 17 3, 311, 311, 134, 111, 225, 227,3529 36 7, 271, 271, 131, 227, 109, 149, 308, 318, 322,3530 111, 1 49, 369, 305, 230, 313, 109, 289, 109, 109,4022 76, 83, 84, 109, 111, 117, 118, 137, 140, 150, 4023 199, 213, 214, 215, 216, 217, 218, 219, 220, 221, 4024 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 4025 233, 234, 235, 236, 237, 238, 240, 241, 242, 243, 4026 244, 245, 247, 255, 256, 283, 284, 285, 293, 296, 4027 302, 303, 305, 307, 308, 314, 319, 323, 324, 325, 4028 326, 327, 328, 329, 330, 350, 367, 368, 369, 370, 4029 72, 139, 140, 150, 216, 218, 226, 228, 237, 241, 4030 243, 284, 82, 109, 312, 313, 314, 312, 312, 72, 4031 74, 75, 76, 138, 139, 273, 274, 294, 295, 74, 4032 75, 274, 109, 305, 11, 200, 109, 150, 319, 324, 4033 325, 326, 328, 329, 330, 112, 134, 111, 219, 226, 4034 228, 323, 327, 366, 367, 370, 371, 135, 107, 131, 4035 277, 114, 135, 174, 74, 75, 137, 272, 135, 135, 4036 135, 116, 135, 74, 75, 109, 150, 309, 318, 319, 4037 320, 321, 322, 323, 327, 331, 332, 333, 334, 335, 4038 341, 3, 28, 78, 239, 3, 5, 74, 111, 150, 4039 218, 229, 233, 235, 244, 285, 323, 327, 370, 216, 4040 218, 228, 237, 241, 243, 284, 323, 327, 33, 234, 4041 234, 229, 235, 135, 234, 229, 234, 229, 75, 109, 4042 114, 274, 285, 114, 274, 234, 229, 116, 135, 135, 4043 0, 134, 109, 174, 312, 312, 134, 111, 226, 228, 4044 368, 272, 272, 131, 228, 109, 150, 309, 319, 323, 4045 111, 150, 370, 306, 231, 314, 109, 290, 109, 109, 3531 4046 51, 109, 37, 38, 40, 66, 72, 76, 79, 80, 3532 4047 81, 82, 86, 87, 109, 111, 119, 120, 121, 122, 3533 136, 140, 141, 142, 143, 14 8, 149, 150, 151, 152,4048 136, 140, 141, 142, 143, 144, 149, 150, 151, 152, 3534 4049 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 3535 16 4, 167, 225, 275, 291, 365, 370, 227, 110, 110,3536 110, 110, 110, 110, 110, 74, 75, 111, 225, 271,3537 349, 367, 111, 117, 149, 164, 217, 218, 224, 227,3538 2 31, 232, 236, 239, 240, 242, 261, 262, 266, 267,3539 268, 269, 2 83, 349, 361, 362, 363, 364, 369, 370,3540 112, 109, 322, 326, 369, 109, 116, 132, 111, 114,3541 1 49, 164, 277, 277, 115, 134, 116, 132, 109, 116,3542 1 32, 116, 132, 116, 132, 311, 132, 318, 319, 320,3543 321, 3 31, 332, 333, 334, 227, 317, 330, 64, 310,3544 111, 311, 348, 349, 311, 311, 173, 134, 109, 311,3545 3 48, 311, 311, 227, 308, 109, 109, 226, 227, 225,3546 22 7, 112, 134, 225, 365, 370, 173, 134, 271, 276,3547 2 17, 232, 322, 326, 173, 134, 293, 227, 236, 132,3548 227, 227, 291, 247, 245, 257, 273, 256, 227, 293,3549 132, 132, 304, 134, 139, 270, 3, 135, 207, 208,3550 2 22, 224, 227, 134, 310, 109, 310, 164, 318, 227,3551 109, 134, 271, 114, 33, 34, 35, 225, 285, 286,3552 28 8, 134, 128, 131, 290, 134, 228, 233, 234, 271,3553 314, 315, 316, 109, 141, 109, 148, 109, 148, 151,3554 1 09, 148, 109, 109, 148, 148, 111, 164, 169, 173,3555 225, 274, 365, 369, 112, 134, 82, 85, 86, 87,3556 109, 111, 113, 114, 97, 98, 99, 100, 101, 102,3557 10 3, 104, 105, 106, 131, 166, 151, 151, 117, 123,3558 12 4, 119, 120, 88, 89, 90, 91, 125, 126, 92,3559 9 3, 118, 127, 128, 94, 95, 129, 131, 372, 109,3560 1 49, 344, 345, 346, 347, 348, 110, 116, 109, 348,3561 349, 109, 348, 349, 134, 109, 225, 367, 112, 134,3562 13 5, 111, 225, 227, 360, 361, 369, 370, 135, 109,3563 1 11, 149, 318, 335, 336, 337, 338, 339, 340, 341,3564 342, 343, 34 9, 350, 351, 352, 353, 354, 355, 149,3565 369, 227, 135, 135, 149, 225, 227, 362, 271, 225,3566 349, 362, 271, 109, 134, 134, 134, 112, 134, 72,3567 111, 113, 140, 273, 277, 278, 279, 280, 281, 134,3568 134, 134, 134, 134, 134, 308, 110, 110, 110, 110,3569 110, 110, 110, 317, 330, 109, 276, 112, 207, 134,3570 308, 169, 275, 169, 275, 308, 111, 207, 310, 173,3571 1 34, 207, 110, 40, 111, 115, 225, 248, 249, 250,3572 365, 114, 116, 371, 131, 258, 114, 227, 263, 264,3573 265, 26 8, 269, 110, 116, 173, 134, 117, 164, 134,3574 224, 227, 262, 361, 369, 302, 303, 109, 149, 335,3575 110, 116, 372, 273, 285, 109, 114, 273, 275, 285,3576 110, 116, 109, 141, 110, 130, 274, 274, 274, 145,3577 1 64, 275, 274, 112, 134, 110, 116, 110, 109, 149,3578 348, 356, 357, 358, 359, 110, 116, 164, 111, 139,3579 1 44, 145, 134, 111, 139, 144, 164, 151, 151, 151,3580 152, 15 2, 153, 153, 154, 154, 154, 154, 155, 155,3581 156, 157, 158, 159, 160, 1 30, 169, 164, 134, 345,3582 346, 347, 227, 344, 311, 311, 164, 275, 134, 270,3583 134, 225, 349, 362, 227, 231, 112, 112, 134, 369,3584 112, 109, 134, 318, 336, 337, 338, 341, 351, 352,3585 353, 112, 134, 227, 335, 339, 350, 109, 311, 354,3586 3 72, 311, 311, 372, 109, 311, 354, 311, 311, 311,3587 31 1, 349, 225, 360, 370, 271, 112, 116, 112, 116,3588 372, 225, 362, 372, 259, 260, 261, 262, 259, 259,3589 2 71, 164, 134, 111, 273, 130, 116, 371, 277, 111,3590 1 30, 281, 29, 209, 210, 271, 259, 139, 308, 139,3591 310, 109, 348, 349, 109, 348, 349, 141, 349, 173,3592 263, 110, 110, 110, 110, 112, 173, 207, 173, 114,3593 249, 250, 112, 134, 109, 130, 149, 251, 253, 317,3594 318, 3 30, 356, 116, 132, 116, 132, 273, 247, 273,3595 115, 162, 163, 257, 135, 135, 139, 222, 135, 135,3596 259, 109, 149, 369, 135, 115, 227, 286, 287, 135,3597 13 4, 134, 109, 135, 110, 315, 169, 170, 130, 132,3598 1 11, 141, 200, 201, 202, 110, 116, 110, 110, 110,3599 110, 11 1, 164, 357, 358, 359, 227, 356, 311, 311,3600 114, 151, 167, 164, 165, 168, 116, 135, 134, 110,3601 11 6, 164, 134, 115, 162, 130, 263, 110, 110, 110,3602 344, 263, 110, 259, 225, 362, 111, 117, 149, 164,3603 16 4, 227, 341, 263, 110, 110, 110, 110, 110, 110,3604 110, 7, 227, 335, 339, 350, 134, 134, 372, 134,3605 134, 1 10, 135, 135, 135, 135, 276, 135, 162, 163,3606 164, 309, 134, 277, 279, 115, 134, 211, 273, 40,3607 4 1, 43, 46, 47, 48, 49, 50, 51, 52, 53,3608 5 7, 61, 62, 72, 111, 127, 170, 171, 172, 173,3609 174, 175, 17 7, 178, 190, 192, 193, 198, 212, 307,3610 29, 135, 131, 276, 134, 134, 110, 135, 173, 247,3611 132, 132, 318, 163, 227, 252, 253, 252, 273, 311,3612 115, 258, 371, 110, 116, 112, 112, 135, 227, 116,3613 372, 289, 110, 285, 215, 217, 225, 297, 298, 299,3614 300, 291, 110, 110, 130, 163, 109, 110, 130, 116,3615 1 39, 112, 110, 110, 110, 356, 278, 116, 135, 168,3616 1 12, 139, 146, 147, 145, 135, 146, 162, 167, 135,3617 1 09, 348, 349, 135, 135, 134, 135, 135, 135, 164,3618 1 10, 135, 109, 348, 349, 109, 354, 109, 354, 349,3619 226, 7, 117, 135, 164, 263, 263, 262, 266, 266,3620 267, 116, 116, 110, 110, 112, 96, 122, 135, 135,3621 1 46, 277, 164, 116, 132, 212, 216, 227, 231, 109,3622 109, 1 71, 109, 109, 72, 132, 72, 132, 72, 117,3623 1 70, 109, 173, 165, 165, 130, 112, 143, 132, 135,3624 13 4, 135, 211, 110, 164, 263, 263, 311, 110, 115,3625 251, 115, 134, 110, 134, 135, 308, 115, 134, 135,3626 135, 1 10, 114, 200, 112, 163, 132, 200, 202, 110,3627 1 09, 348, 349, 371, 165, 112, 135, 85, 113, 116,3628 1 35, 112, 135, 110, 134, 110, 110, 112, 112, 112,3629 1 35, 110, 134, 134, 134, 164, 164, 135, 112, 135,3630 135, 135, 135, 13 4, 134, 163, 163, 112, 112, 135,3631 135, 273, 227, 169, 169, 47, 169, 134, 132, 132,3632 132, 1 69, 132, 169, 58, 59, 60, 194, 195, 196,3633 1 32, 63, 132, 311, 114, 175, 115, 132, 135, 135,3634 96, 268, 269, 110, 298, 116, 132, 116, 132, 115,3635 296, 130, 141, 110, 110, 130, 134, 115, 112, 111,3636 1 47, 111, 147, 147, 112, 112, 263, 112, 263, 263,3637 26 3, 135, 135, 112, 112, 110, 110, 112, 116, 96,3638 262, 96, 135, 112, 112, 110, 110, 109, 110, 170,3639 1 91, 212, 132, 110, 109, 109, 173, 196, 58, 59,3640 164, 171, 144, 110, 110, 114, 134, 134, 297, 141,3641 203, 109, 132, 203, 263, 134, 134, 135, 135, 135,3642 135, 1 12, 112, 134, 135, 112, 171, 44, 45, 114,3643 1 81, 182, 183, 169, 171, 135, 110, 170, 114, 183,3644 96, 134, 96, 134, 109, 109, 132, 115, 134, 271,3645 308, 115, 116, 130, 163, 110, 135, 146, 146, 110,3646 110, 110, 110, 266, 42, 163, 179, 180, 309, 130,3647 13 4, 171, 181, 110, 132, 171, 132, 134, 110, 134,3648 1 10, 134, 96, 134, 96, 134, 132, 297, 141, 139,3649 204, 110, 132, 110, 135, 135, 171, 96, 116, 130,3650 13 5, 205, 206, 212, 132, 170, 170, 205, 173, 197,3651 225, 365, 173, 197, 110, 134, 110, 134, 115, 110,3652 11 6, 112, 112, 163, 179, 182, 184, 185, 134, 132,3653 1 82, 186, 187, 135, 109, 149, 308, 356, 139, 135,3654 1 73, 197, 173, 197, 109, 132, 139, 171, 176, 115,3655 1 82, 212, 170, 56, 176, 189, 115, 182, 110, 227,3656 110, 135, 135, 291, 171, 176, 132, 188, 189, 176,3657 1 89, 173, 173, 110, 110, 110, 188, 135, 135, 173,3658 17 3, 135, 1354050 163, 165, 168, 226, 276, 292, 366, 371, 228, 110, 4051 110, 110, 110, 110, 110, 110, 74, 75, 111, 226, 4052 272, 350, 368, 111, 117, 150, 165, 218, 219, 225, 4053 228, 232, 233, 237, 240, 241, 243, 262, 263, 267, 4054 268, 269, 270, 284, 350, 362, 363, 364, 365, 370, 4055 371, 112, 109, 323, 327, 370, 109, 116, 132, 111, 4056 114, 150, 165, 278, 278, 115, 134, 116, 132, 109, 4057 116, 132, 116, 132, 116, 132, 312, 132, 319, 320, 4058 321, 322, 332, 333, 334, 335, 228, 318, 331, 64, 4059 311, 111, 312, 349, 350, 312, 312, 174, 134, 109, 4060 312, 349, 312, 312, 228, 309, 109, 109, 227, 228, 4061 226, 228, 112, 134, 226, 366, 371, 174, 134, 272, 4062 277, 218, 233, 323, 327, 174, 134, 294, 228, 237, 4063 132, 228, 228, 292, 248, 246, 258, 274, 257, 228, 4064 294, 132, 132, 305, 134, 139, 271, 3, 135, 208, 4065 209, 223, 225, 228, 134, 311, 109, 311, 165, 319, 4066 228, 109, 134, 272, 114, 33, 34, 35, 226, 286, 4067 287, 289, 134, 128, 131, 291, 134, 229, 234, 235, 4068 272, 315, 316, 317, 109, 141, 109, 149, 109, 149, 4069 152, 109, 149, 109, 109, 149, 149, 111, 165, 170, 4070 174, 226, 275, 366, 370, 112, 134, 82, 85, 86, 4071 87, 109, 111, 113, 114, 97, 98, 99, 100, 101, 4072 102, 103, 104, 105, 106, 131, 167, 152, 152, 117, 4073 123, 124, 119, 120, 88, 89, 90, 91, 125, 126, 4074 92, 93, 118, 127, 128, 94, 95, 129, 131, 373, 4075 109, 150, 345, 346, 347, 348, 349, 110, 116, 109, 4076 349, 350, 109, 349, 350, 134, 109, 226, 368, 112, 4077 134, 135, 111, 226, 228, 361, 362, 370, 371, 135, 4078 109, 111, 150, 319, 336, 337, 338, 339, 340, 341, 4079 342, 343, 344, 350, 351, 352, 353, 354, 355, 356, 4080 150, 370, 228, 135, 135, 150, 226, 228, 363, 272, 4081 226, 350, 363, 272, 109, 134, 134, 134, 112, 134, 4082 72, 111, 113, 140, 274, 278, 279, 280, 281, 282, 4083 134, 134, 134, 134, 134, 134, 309, 110, 110, 110, 4084 110, 110, 110, 110, 318, 331, 109, 277, 112, 208, 4085 134, 309, 170, 276, 170, 276, 309, 111, 208, 311, 4086 174, 134, 208, 110, 40, 111, 115, 226, 249, 250, 4087 251, 366, 114, 116, 372, 131, 259, 114, 228, 264, 4088 265, 266, 269, 270, 110, 116, 174, 134, 117, 165, 4089 134, 225, 228, 263, 362, 370, 303, 304, 109, 150, 4090 336, 110, 116, 373, 274, 286, 109, 114, 274, 276, 4091 286, 110, 116, 109, 141, 110, 130, 275, 275, 275, 4092 146, 165, 276, 275, 112, 134, 110, 116, 110, 109, 4093 150, 349, 357, 358, 359, 360, 110, 116, 165, 111, 4094 139, 145, 146, 134, 111, 139, 145, 165, 152, 152, 4095 152, 153, 153, 154, 154, 155, 155, 155, 155, 156, 4096 156, 157, 158, 159, 160, 161, 130, 170, 165, 134, 4097 346, 347, 348, 228, 345, 312, 312, 165, 276, 134, 4098 271, 134, 226, 350, 363, 228, 232, 112, 112, 134, 4099 370, 112, 109, 134, 319, 337, 338, 339, 342, 352, 4100 353, 354, 112, 134, 228, 336, 340, 351, 109, 312, 4101 355, 373, 312, 312, 373, 109, 312, 355, 312, 312, 4102 312, 312, 350, 226, 361, 371, 272, 112, 116, 112, 4103 116, 373, 226, 363, 373, 260, 261, 262, 263, 260, 4104 260, 272, 165, 134, 111, 274, 130, 116, 372, 278, 4105 111, 130, 282, 29, 210, 211, 272, 260, 139, 309, 4106 139, 311, 109, 349, 350, 109, 349, 350, 141, 350, 4107 174, 264, 110, 110, 110, 110, 112, 174, 208, 174, 4108 114, 250, 251, 112, 134, 109, 130, 150, 252, 254, 4109 318, 319, 331, 357, 116, 132, 116, 132, 274, 248, 4110 274, 115, 163, 164, 258, 135, 135, 139, 223, 135, 4111 135, 260, 109, 150, 370, 135, 115, 228, 287, 288, 4112 135, 134, 134, 109, 135, 110, 316, 170, 171, 130, 4113 132, 111, 141, 201, 202, 203, 110, 116, 110, 110, 4114 110, 110, 111, 165, 358, 359, 360, 228, 357, 312, 4115 312, 114, 152, 168, 165, 166, 169, 116, 135, 134, 4116 110, 116, 165, 134, 115, 163, 130, 264, 110, 110, 4117 110, 345, 264, 110, 260, 226, 363, 111, 117, 150, 4118 165, 165, 228, 342, 264, 110, 110, 110, 110, 110, 4119 110, 110, 7, 228, 336, 340, 351, 134, 134, 373, 4120 134, 134, 110, 135, 135, 135, 135, 277, 135, 163, 4121 164, 165, 310, 134, 278, 280, 115, 134, 212, 274, 4122 40, 41, 43, 46, 47, 48, 49, 50, 51, 52, 4123 53, 57, 61, 62, 72, 111, 127, 171, 172, 173, 4124 174, 175, 176, 178, 179, 191, 193, 194, 199, 213, 4125 308, 29, 135, 131, 277, 134, 134, 110, 135, 174, 4126 248, 132, 132, 319, 164, 228, 253, 254, 253, 274, 4127 312, 115, 259, 372, 110, 116, 112, 112, 135, 228, 4128 116, 373, 290, 110, 286, 216, 218, 226, 298, 299, 4129 300, 301, 292, 110, 110, 130, 164, 109, 110, 130, 4130 116, 139, 112, 110, 110, 110, 357, 279, 116, 135, 4131 169, 112, 139, 147, 148, 146, 135, 147, 163, 168, 4132 135, 109, 349, 350, 135, 135, 134, 135, 135, 135, 4133 165, 110, 135, 109, 349, 350, 109, 355, 109, 355, 4134 350, 227, 7, 117, 135, 165, 264, 264, 263, 267, 4135 267, 268, 116, 116, 110, 110, 112, 96, 122, 135, 4136 135, 147, 278, 165, 116, 132, 213, 217, 228, 232, 4137 109, 109, 172, 109, 109, 72, 132, 72, 132, 72, 4138 117, 171, 109, 174, 166, 166, 130, 112, 144, 132, 4139 135, 134, 135, 212, 110, 165, 264, 264, 312, 110, 4140 115, 252, 115, 134, 110, 134, 135, 309, 115, 134, 4141 135, 135, 110, 114, 201, 112, 164, 132, 201, 203, 4142 110, 109, 349, 350, 372, 166, 112, 135, 85, 113, 4143 116, 135, 112, 135, 110, 134, 110, 110, 112, 112, 4144 112, 135, 110, 134, 134, 134, 165, 165, 135, 112, 4145 135, 135, 135, 135, 134, 134, 164, 164, 112, 112, 4146 135, 135, 274, 228, 170, 170, 47, 170, 134, 132, 4147 132, 132, 170, 132, 170, 58, 59, 60, 195, 196, 4148 197, 132, 63, 132, 312, 114, 176, 115, 132, 135, 4149 135, 96, 269, 270, 110, 299, 116, 132, 116, 132, 4150 115, 297, 130, 141, 110, 110, 130, 134, 115, 112, 4151 111, 148, 111, 148, 148, 112, 112, 264, 112, 264, 4152 264, 264, 135, 135, 112, 112, 110, 110, 112, 116, 4153 96, 263, 96, 135, 112, 112, 110, 110, 109, 110, 4154 171, 192, 213, 132, 110, 109, 109, 174, 197, 58, 4155 59, 165, 172, 145, 110, 110, 114, 134, 134, 298, 4156 141, 204, 109, 132, 204, 264, 134, 134, 135, 135, 4157 135, 135, 112, 112, 134, 135, 112, 172, 44, 45, 4158 114, 182, 183, 184, 170, 172, 135, 110, 171, 114, 4159 184, 96, 134, 96, 134, 109, 109, 132, 115, 134, 4160 272, 309, 115, 116, 130, 164, 110, 135, 147, 147, 4161 110, 110, 110, 110, 267, 42, 164, 180, 181, 310, 4162 130, 134, 172, 182, 110, 132, 172, 132, 134, 110, 4163 134, 110, 134, 96, 134, 96, 134, 132, 298, 141, 4164 139, 205, 110, 132, 110, 135, 135, 172, 96, 116, 4165 130, 135, 206, 207, 213, 132, 171, 171, 206, 174, 4166 198, 226, 366, 174, 198, 110, 134, 110, 134, 115, 4167 110, 116, 112, 112, 164, 180, 183, 185, 186, 134, 4168 132, 183, 187, 188, 135, 109, 150, 309, 357, 139, 4169 135, 174, 198, 174, 198, 109, 132, 139, 172, 177, 4170 115, 183, 213, 171, 56, 177, 190, 115, 183, 110, 4171 228, 110, 135, 135, 292, 172, 177, 132, 189, 190, 4172 177, 190, 174, 174, 110, 110, 110, 189, 135, 135, 4173 174, 174, 135, 135 3659 4174 }; 3660 4175 3661 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 3662 static const yytype_uint16 yyr1[] = 3663 { 3664 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 3665 138, 138, 139, 139, 140, 140, 141, 141, 142, 142, 3666 142, 142, 143, 143, 143, 143, 143, 143, 143, 143, 3667 143, 143, 143, 144, 144, 145, 145, 146, 146, 147, 3668 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, 3669 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 3670 149, 149, 150, 150, 150, 150, 151, 151, 151, 152, 3671 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 3672 155, 155, 155, 155, 156, 156, 156, 157, 157, 158, 3673 158, 159, 159, 160, 160, 161, 161, 162, 162, 162, 3674 162, 163, 164, 164, 164, 165, 165, 166, 166, 166, 3675 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, 3676 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 3677 171, 171, 171, 171, 171, 171, 171, 172, 173, 173, 3678 174, 174, 175, 175, 175, 175, 176, 176, 177, 178, 3679 178, 178, 178, 178, 178, 179, 179, 179, 180, 180, 3680 181, 181, 182, 182, 183, 184, 184, 185, 185, 186, 3681 186, 187, 187, 187, 187, 188, 188, 189, 189, 190, 3682 190, 190, 191, 191, 192, 192, 192, 192, 192, 192, 3683 192, 192, 192, 192, 193, 193, 193, 194, 194, 194, 3684 194, 194, 195, 195, 195, 195, 196, 197, 197, 197, 3685 197, 197, 198, 198, 198, 198, 198, 199, 199, 200, 3686 200, 201, 201, 202, 202, 203, 203, 203, 204, 204, 3687 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 3688 210, 210, 211, 211, 212, 212, 213, 213, 213, 213, 3689 213, 214, 214, 214, 215, 215, 215, 216, 216, 216, 3690 216, 216, 217, 217, 217, 218, 218, 219, 219, 219, 3691 220, 220, 220, 220, 220, 221, 221, 222, 222, 222, 3692 222, 223, 223, 224, 224, 224, 224, 225, 225, 225, 3693 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, 3694 229, 229, 230, 229, 231, 231, 231, 232, 232, 233, 3695 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 3696 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 3697 235, 235, 235, 235, 235, 236, 236, 237, 237, 237, 3698 237, 238, 238, 238, 238, 239, 239, 239, 239, 240, 3699 240, 240, 241, 241, 241, 241, 242, 242, 242, 243, 3700 243, 244, 244, 245, 244, 244, 244, 246, 246, 247, 3701 247, 248, 248, 248, 248, 249, 249, 249, 249, 250, 3702 250, 251, 251, 251, 251, 251, 252, 252, 253, 254, 3703 255, 255, 256, 255, 257, 257, 258, 258, 259, 259, 3704 260, 260, 260, 260, 260, 261, 261, 261, 261, 262, 3705 262, 263, 263, 264, 264, 265, 265, 265, 265, 266, 3706 266, 266, 266, 266, 267, 267, 267, 267, 267, 268, 3707 268, 269, 269, 270, 270, 271, 271, 271, 272, 272, 3708 272, 273, 273, 273, 274, 274, 274, 275, 275, 275, 3709 275, 276, 276, 276, 277, 277, 278, 278, 278, 278, 3710 278, 279, 279, 280, 280, 281, 281, 281, 281, 281, 3711 282, 282, 282, 282, 283, 283, 283, 284, 285, 285, 3712 287, 286, 286, 288, 288, 288, 289, 289, 290, 290, 3713 290, 291, 291, 291, 291, 292, 292, 292, 293, 293, 3714 294, 294, 295, 296, 295, 297, 297, 298, 298, 299, 3715 299, 299, 300, 300, 301, 301, 302, 302, 303, 303, 3716 304, 304, 304, 305, 304, 304, 306, 306, 306, 307, 3717 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 3718 308, 309, 310, 310, 311, 311, 312, 312, 313, 314, 3719 314, 315, 315, 315, 316, 316, 316, 316, 317, 317, 3720 317, 317, 318, 318, 319, 319, 319, 320, 320, 320, 3721 320, 321, 321, 322, 322, 322, 323, 323, 323, 324, 3722 324, 324, 325, 325, 325, 326, 326, 326, 327, 327, 3723 327, 328, 328, 328, 329, 329, 329, 330, 330, 330, 3724 330, 331, 331, 332, 332, 332, 333, 333, 333, 333, 3725 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, 3726 337, 337, 337, 337, 338, 338, 338, 339, 339, 339, 3727 339, 340, 340, 341, 341, 341, 342, 342, 343, 343, 3728 344, 344, 344, 345, 345, 345, 345, 345, 346, 346, 3729 346, 346, 347, 347, 347, 348, 348, 348, 349, 349, 3730 349, 349, 350, 350, 350, 351, 351, 351, 351, 351, 3731 352, 352, 352, 352, 353, 353, 353, 354, 354, 354, 3732 355, 355, 355, 355, 355, 355, 356, 356, 356, 357, 3733 357, 357, 357, 357, 358, 358, 358, 358, 359, 359, 3734 360, 360, 360, 361, 361, 362, 362, 362, 362, 362, 3735 362, 363, 363, 363, 363, 363, 363, 363, 363, 363, 3736 363, 364, 364, 364, 364, 365, 365, 365, 366, 366, 3737 367, 367, 367, 367, 367, 367, 368, 368, 368, 368, 3738 368, 368, 369, 370, 370, 370, 371, 371, 372, 372 3739 }; 3740 3741 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 3742 static const yytype_uint8 yyr2[] = 3743 { 3744 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 3745 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3746 3, 3, 1, 6, 4, 3, 7, 3, 7, 2, 3747 2, 7, 4, 1, 3, 0, 1, 1, 3, 1, 3748 3, 7, 3, 7, 1, 1, 1, 2, 2, 2, 3749 2, 2, 2, 4, 2, 4, 6, 1, 4, 4, 3750 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 3751 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3752 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3753 3, 1, 3, 1, 3, 1, 3, 1, 5, 4, 3754 5, 1, 1, 3, 2, 0, 1, 1, 1, 1, 3755 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 3756 6, 7, 1, 3, 1, 3, 0, 1, 1, 1, 3757 1, 1, 1, 1, 1, 1, 6, 4, 2, 7, 3758 1, 3, 1, 2, 1, 2, 1, 2, 2, 5, 3759 7, 5, 9, 5, 9, 1, 3, 1, 1, 3, 3760 3, 2, 1, 2, 2, 0, 1, 2, 3, 0, 3761 1, 2, 3, 3, 4, 0, 1, 1, 2, 5, 3762 7, 6, 6, 4, 3, 4, 2, 3, 2, 3, 3763 3, 3, 3, 5, 3, 3, 4, 1, 5, 6, 3764 5, 6, 9, 10, 9, 10, 2, 1, 2, 2, 3765 2, 1, 6, 8, 10, 12, 14, 0, 1, 0, 3766 1, 1, 3, 4, 7, 0, 1, 3, 1, 3, 3767 1, 1, 1, 3, 1, 1, 1, 3, 0, 1, 3768 3, 4, 1, 3, 1, 1, 3, 3, 3, 3, 3769 3, 2, 3, 6, 3, 3, 4, 1, 2, 2, 3770 3, 5, 8, 7, 7, 5, 9, 2, 2, 5, 3771 3, 5, 4, 3, 4, 4, 7, 3, 3, 3, 3772 3, 4, 6, 1, 1, 1, 1, 1, 1, 1, 3773 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 3774 1, 1, 0, 5, 1, 2, 3, 1, 2, 1, 3775 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3776 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3777 1, 2, 2, 3, 3, 1, 3, 1, 2, 2, 3778 2, 4, 4, 4, 4, 1, 2, 2, 3, 1, 3779 2, 2, 1, 2, 2, 3, 1, 2, 2, 1, 3780 1, 4, 2, 0, 6, 7, 2, 2, 2, 0, 3781 2, 2, 3, 2, 3, 1, 2, 3, 2, 2, 3782 4, 0, 1, 2, 2, 1, 0, 1, 2, 2, 3783 5, 2, 0, 7, 2, 4, 0, 2, 0, 1, 3784 1, 1, 5, 5, 5, 1, 5, 5, 9, 1, 3785 5, 0, 1, 1, 5, 1, 1, 5, 5, 1, 3786 3, 3, 4, 1, 1, 1, 1, 2, 1, 3, 3787 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 3788 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3789 2, 0, 2, 2, 1, 4, 0, 1, 2, 3, 3790 4, 2, 2, 1, 2, 2, 5, 5, 7, 6, 3791 1, 2, 2, 3, 1, 2, 2, 4, 2, 4, 3792 0, 4, 2, 1, 1, 1, 0, 2, 5, 5, 3793 13, 1, 1, 3, 3, 2, 3, 3, 2, 4, 3794 1, 6, 9, 0, 11, 1, 3, 3, 3, 1, 3795 1, 5, 2, 5, 0, 1, 1, 3, 0, 1, 3796 1, 1, 1, 0, 6, 2, 1, 2, 4, 2, 3797 3, 3, 3, 4, 5, 5, 5, 6, 1, 1, 3798 1, 3, 0, 5, 0, 1, 1, 2, 6, 1, 3799 3, 0, 1, 4, 1, 1, 1, 1, 2, 1, 3800 2, 2, 1, 3, 2, 3, 3, 2, 4, 4, 3801 3, 8, 3, 2, 1, 2, 6, 8, 3, 2, 3802 3, 3, 4, 4, 3, 1, 1, 1, 4, 6, 3803 3, 2, 3, 3, 4, 4, 3, 2, 1, 2, 3804 2, 1, 3, 2, 3, 3, 2, 4, 4, 3, 3805 6, 8, 3, 2, 1, 2, 2, 2, 3, 3, 3806 2, 4, 4, 3, 6, 8, 3, 2, 1, 2, 3807 2, 1, 1, 2, 3, 3, 2, 4, 6, 8, 3808 1, 2, 2, 1, 2, 2, 3, 3, 1, 4, 3809 4, 3, 5, 8, 3, 2, 3, 1, 5, 5, 3810 6, 6, 1, 2, 2, 1, 2, 2, 3, 3, 3811 1, 4, 4, 3, 5, 8, 3, 1, 2, 1, 3812 2, 6, 5, 6, 7, 7, 1, 2, 2, 1, 3813 2, 2, 3, 3, 1, 4, 4, 3, 8, 3, 3814 1, 1, 2, 1, 1, 2, 3, 2, 3, 2, 3815 3, 3, 2, 4, 3, 2, 3, 2, 4, 3, 3816 2, 6, 6, 6, 7, 1, 2, 1, 1, 1, 3817 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 3818 4, 2, 5, 5, 6, 6, 0, 1, 0, 2 3819 }; 3820 3821 3822 #define yyerrok (yyerrstatus = 0) 3823 #define yyclearin (yychar = YYEMPTY) 3824 #define YYEMPTY (-2) 3825 #define YYEOF 0 3826 3827 #define YYACCEPT goto yyacceptlab 3828 #define YYABORT goto yyabortlab 3829 #define YYERROR goto yyerrorlab 3830 4176 #define yyerrok (yyerrstatus = 0) 4177 #define yyclearin (yychar = YYEMPTY) 4178 #define YYEMPTY (-2) 4179 #define YYEOF 0 4180 4181 #define YYACCEPT goto yyacceptlab 4182 #define YYABORT goto yyabortlab 4183 #define YYERROR goto yyerrorlab 4184 4185 4186 /* Like YYERROR except do call yyerror. This remains here temporarily 4187 to ease the transition to the new meaning of YYERROR, for GCC. 4188 Once GCC version 2 has supplanted version 1, this can go. However, 4189 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 4190 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 4191 discussed. */ 4192 4193 #define YYFAIL goto yyerrlab 4194 #if defined YYFAIL 4195 /* This is here to suppress warnings from the GCC cpp's 4196 -Wunused-macros. Normally we don't worry about that warning, but 4197 some users do, and we want to make it easy for users to remove 4198 YYFAIL uses, which will produce warnings from Bison 2.5. */ 4199 #endif 3831 4200 3832 4201 #define YYRECOVERING() (!!yyerrstatus) 3833 4202 3834 #define YYBACKUP(Token, Value) \ 3835 do \ 3836 if (yychar == YYEMPTY) \ 3837 { \ 3838 yychar = (Token); \ 3839 yylval = (Value); \ 3840 YYPOPSTACK (yylen); \ 3841 yystate = *yyssp; \ 3842 goto yybackup; \ 3843 } \ 3844 else \ 3845 { \ 4203 #define YYBACKUP(Token, Value) \ 4204 do \ 4205 if (yychar == YYEMPTY && yylen == 1) \ 4206 { \ 4207 yychar = (Token); \ 4208 yylval = (Value); \ 4209 YYPOPSTACK (1); \ 4210 goto yybackup; \ 4211 } \ 4212 else \ 4213 { \ 3846 4214 yyerror (YY_("syntax error: cannot back up")); \ 3847 YYERROR; \ 3848 } \ 3849 while (0) 3850 3851 /* Error token number */ 3852 #define YYTERROR 1 3853 #define YYERRCODE 256 3854 3855 4215 YYERROR; \ 4216 } \ 4217 while (YYID (0)) 4218 4219 4220 #define YYTERROR 1 4221 #define YYERRCODE 256 4222 4223 4224 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 4225 If N is 0, then set CURRENT to the empty location which ends 4226 the previous symbol: RHS[0] (always defined). */ 4227 4228 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 4229 #ifndef YYLLOC_DEFAULT 4230 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 4231 do \ 4232 if (YYID (N)) \ 4233 { \ 4234 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 4235 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 4236 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 4237 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 4238 } \ 4239 else \ 4240 { \ 4241 (Current).first_line = (Current).last_line = \ 4242 YYRHSLOC (Rhs, 0).last_line; \ 4243 (Current).first_column = (Current).last_column = \ 4244 YYRHSLOC (Rhs, 0).last_column; \ 4245 } \ 4246 while (YYID (0)) 4247 #endif 4248 4249 4250 /* This macro is provided for backward compatibility. */ 4251 4252 #ifndef YY_LOCATION_PRINT 4253 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 4254 #endif 4255 4256 4257 /* YYLEX -- calling `yylex' with the right arguments. */ 4258 4259 #ifdef YYLEX_PARAM 4260 # define YYLEX yylex (YYLEX_PARAM) 4261 #else 4262 # define YYLEX yylex () 4263 #endif 3856 4264 3857 4265 /* Enable debugging if requested. */ … … 3863 4271 # endif 3864 4272 3865 # define YYDPRINTF(Args) \ 3866 do { \ 3867 if (yydebug) \ 3868 YYFPRINTF Args; \ 3869 } while (0) 3870 3871 /* This macro is provided for backward compatibility. */ 3872 #ifndef YY_LOCATION_PRINT 3873 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 3874 #endif 3875 3876 3877 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 3878 do { \ 3879 if (yydebug) \ 3880 { \ 3881 YYFPRINTF (stderr, "%s ", Title); \ 3882 yy_symbol_print (stderr, \ 3883 Type, Value); \ 3884 YYFPRINTF (stderr, "\n"); \ 3885 } \ 3886 } while (0) 3887 3888 3889 /*----------------------------------------. 3890 | Print this symbol's value on YYOUTPUT. | 3891 `----------------------------------------*/ 3892 4273 # define YYDPRINTF(Args) \ 4274 do { \ 4275 if (yydebug) \ 4276 YYFPRINTF Args; \ 4277 } while (YYID (0)) 4278 4279 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 4280 do { \ 4281 if (yydebug) \ 4282 { \ 4283 YYFPRINTF (stderr, "%s ", Title); \ 4284 yy_symbol_print (stderr, \ 4285 Type, Value); \ 4286 YYFPRINTF (stderr, "\n"); \ 4287 } \ 4288 } while (YYID (0)) 4289 4290 4291 /*--------------------------------. 4292 | Print this symbol on YYOUTPUT. | 4293 `--------------------------------*/ 4294 4295 /*ARGSUSED*/ 4296 #if (defined __STDC__ || defined __C99__FUNC__ \ 4297 || defined __cplusplus || defined _MSC_VER) 3893 4298 static void 3894 4299 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4300 #else 4301 static void 4302 yy_symbol_value_print (yyoutput, yytype, yyvaluep) 4303 FILE *yyoutput; 4304 int yytype; 4305 YYSTYPE const * const yyvaluep; 4306 #endif 3895 4307 { 3896 FILE *yyo = yyoutput;3897 YYUSE (yyo);3898 4308 if (!yyvaluep) 3899 4309 return; … … 3901 4311 if (yytype < YYNTOKENS) 3902 4312 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 4313 # else 4314 YYUSE (yyoutput); 3903 4315 # endif 3904 YYUSE (yytype); 4316 switch (yytype) 4317 { 4318 default: 4319 break; 4320 } 3905 4321 } 3906 4322 … … 3910 4326 `--------------------------------*/ 3911 4327 4328 #if (defined __STDC__ || defined __C99__FUNC__ \ 4329 || defined __cplusplus || defined _MSC_VER) 3912 4330 static void 3913 4331 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4332 #else 4333 static void 4334 yy_symbol_print (yyoutput, yytype, yyvaluep) 4335 FILE *yyoutput; 4336 int yytype; 4337 YYSTYPE const * const yyvaluep; 4338 #endif 3914 4339 { 3915 YYFPRINTF (yyoutput, "%s %s (", 3916 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 4340 if (yytype < YYNTOKENS) 4341 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 4342 else 4343 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 3917 4344 3918 4345 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 3925 4352 `------------------------------------------------------------------*/ 3926 4353 4354 #if (defined __STDC__ || defined __C99__FUNC__ \ 4355 || defined __cplusplus || defined _MSC_VER) 3927 4356 static void 3928 4357 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 4358 #else 4359 static void 4360 yy_stack_print (yybottom, yytop) 4361 yytype_int16 *yybottom; 4362 yytype_int16 *yytop; 4363 #endif 3929 4364 { 3930 4365 YYFPRINTF (stderr, "Stack now"); … … 3937 4372 } 3938 4373 3939 # define YY_STACK_PRINT(Bottom, Top) 3940 do { 3941 if (yydebug) 3942 yy_stack_print ((Bottom), (Top)); 3943 } while ( 0)4374 # define YY_STACK_PRINT(Bottom, Top) \ 4375 do { \ 4376 if (yydebug) \ 4377 yy_stack_print ((Bottom), (Top)); \ 4378 } while (YYID (0)) 3944 4379 3945 4380 … … 3948 4383 `------------------------------------------------*/ 3949 4384 4385 #if (defined __STDC__ || defined __C99__FUNC__ \ 4386 || defined __cplusplus || defined _MSC_VER) 3950 4387 static void 3951 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 4388 yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 4389 #else 4390 static void 4391 yy_reduce_print (yyvsp, yyrule) 4392 YYSTYPE *yyvsp; 4393 int yyrule; 4394 #endif 3952 4395 { 3953 unsigned long int yylno = yyrline[yyrule];3954 4396 int yynrhs = yyr2[yyrule]; 3955 4397 int yyi; 4398 unsigned long int yylno = yyrline[yyrule]; 3956 4399 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 3957 4400 yyrule - 1, yylno); 3958 4401 /* The symbols being reduced. */ 3959 4402 for (yyi = 0; yyi < yynrhs; yyi++) 3960 4403 { 3961 4404 YYFPRINTF (stderr, " $%d = ", yyi + 1); 3962 yy_symbol_print (stderr, 3963 yystos[yyssp[yyi + 1 - yynrhs]], 3964 &(yyvsp[(yyi + 1) - (yynrhs)]) 3965 ); 4405 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 4406 &(yyvsp[(yyi + 1) - (yynrhs)]) 4407 ); 3966 4408 YYFPRINTF (stderr, "\n"); 3967 4409 } 3968 4410 } 3969 4411 3970 # define YY_REDUCE_PRINT(Rule) 3971 do { 3972 if (yydebug) 3973 yy_reduce_print (yy ssp, yyvsp, Rule); \3974 } while ( 0)4412 # define YY_REDUCE_PRINT(Rule) \ 4413 do { \ 4414 if (yydebug) \ 4415 yy_reduce_print (yyvsp, Rule); \ 4416 } while (YYID (0)) 3975 4417 3976 4418 /* Nonzero means print parse trace. It is left uninitialized so that … … 3986 4428 3987 4429 /* YYINITDEPTH -- initial size of the parser's stacks. */ 3988 #ifndef 4430 #ifndef YYINITDEPTH 3989 4431 # define YYINITDEPTH 200 3990 4432 #endif … … 4009 4451 # else 4010 4452 /* Return the length of YYSTR. */ 4453 #if (defined __STDC__ || defined __C99__FUNC__ \ 4454 || defined __cplusplus || defined _MSC_VER) 4011 4455 static YYSIZE_T 4012 4456 yystrlen (const char *yystr) 4457 #else 4458 static YYSIZE_T 4459 yystrlen (yystr) 4460 const char *yystr; 4461 #endif 4013 4462 { 4014 4463 YYSIZE_T yylen; … … 4026 4475 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 4027 4476 YYDEST. */ 4477 #if (defined __STDC__ || defined __C99__FUNC__ \ 4478 || defined __cplusplus || defined _MSC_VER) 4028 4479 static char * 4029 4480 yystpcpy (char *yydest, const char *yysrc) 4481 #else 4482 static char * 4483 yystpcpy (yydest, yysrc) 4484 char *yydest; 4485 const char *yysrc; 4486 #endif 4030 4487 { 4031 4488 char *yyd = yydest; … … 4057 4514 4058 4515 for (;;) 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4516 switch (*++yyp) 4517 { 4518 case '\'': 4519 case ',': 4520 goto do_not_strip_quotes; 4521 4522 case '\\': 4523 if (*++yyp != '\\') 4524 goto do_not_strip_quotes; 4525 /* Fall through. */ 4526 default: 4527 if (yyres) 4528 yyres[yyn] = *yyp; 4529 yyn++; 4530 break; 4531 4532 case '"': 4533 if (yyres) 4534 yyres[yyn] = '\0'; 4535 return yyn; 4536 } 4080 4537 do_not_strip_quotes: ; 4081 4538 } … … 4100 4557 yytype_int16 *yyssp, int yytoken) 4101 4558 { 4102 YYSIZE_T yysize0 = yytnamerr ( YY_NULLPTR, yytname[yytoken]);4559 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); 4103 4560 YYSIZE_T yysize = yysize0; 4561 YYSIZE_T yysize1; 4104 4562 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 4105 4563 /* Internationalized format string. */ 4106 const char *yyformat = YY_NULLPTR;4564 const char *yyformat = 0; 4107 4565 /* Arguments of yyformat. */ 4108 4566 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 4112 4570 4113 4571 /* There are many possibilities here to consider: 4572 - Assume YYFAIL is not used. It's too flawed to consider. See 4573 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 4574 for details. YYERROR is fine as it does not invoke this 4575 function. 4114 4576 - If this state is a consistent state with a default action, then 4115 4577 the only way this function was invoked is if the default action … … 4160 4622 } 4161 4623 yyarg[yycount++] = yytname[yyx]; 4162 { 4163 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 4164 if (! (yysize <= yysize1 4165 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4166 return 2; 4167 yysize = yysize1; 4168 } 4624 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 4625 if (! (yysize <= yysize1 4626 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4627 return 2; 4628 yysize = yysize1; 4169 4629 } 4170 4630 } … … 4186 4646 } 4187 4647 4188 { 4189 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 4190 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4191 return 2; 4192 yysize = yysize1; 4193 } 4648 yysize1 = yysize + yystrlen (yyformat); 4649 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4650 return 2; 4651 yysize = yysize1; 4194 4652 4195 4653 if (*yymsg_alloc < yysize) … … 4228 4686 `-----------------------------------------------*/ 4229 4687 4688 /*ARGSUSED*/ 4689 #if (defined __STDC__ || defined __C99__FUNC__ \ 4690 || defined __cplusplus || defined _MSC_VER) 4230 4691 static void 4231 4692 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 4693 #else 4694 static void 4695 yydestruct (yymsg, yytype, yyvaluep) 4696 const char *yymsg; 4697 int yytype; 4698 YYSTYPE *yyvaluep; 4699 #endif 4232 4700 { 4233 4701 YYUSE (yyvaluep); 4702 4234 4703 if (!yymsg) 4235 4704 yymsg = "Deleting"; 4236 4705 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 4237 4706 4238 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4239 YYUSE (yytype); 4240 YY_IGNORE_MAYBE_UNINITIALIZED_END 4707 switch (yytype) 4708 { 4709 4710 default: 4711 break; 4712 } 4241 4713 } 4242 4714 4243 4715 4716 /* Prevent warnings from -Wmissing-prototypes. */ 4717 #ifdef YYPARSE_PARAM 4718 #if defined __STDC__ || defined __cplusplus 4719 int yyparse (void *YYPARSE_PARAM); 4720 #else 4721 int yyparse (); 4722 #endif 4723 #else /* ! YYPARSE_PARAM */ 4724 #if defined __STDC__ || defined __cplusplus 4725 int yyparse (void); 4726 #else 4727 int yyparse (); 4728 #endif 4729 #endif /* ! YYPARSE_PARAM */ 4244 4730 4245 4731 … … 4249 4735 /* The semantic value of the lookahead symbol. */ 4250 4736 YYSTYPE yylval; 4737 4251 4738 /* Number of syntax errors so far. */ 4252 4739 int yynerrs; … … 4257 4744 `----------*/ 4258 4745 4746 #ifdef YYPARSE_PARAM 4747 #if (defined __STDC__ || defined __C99__FUNC__ \ 4748 || defined __cplusplus || defined _MSC_VER) 4749 int 4750 yyparse (void *YYPARSE_PARAM) 4751 #else 4752 int 4753 yyparse (YYPARSE_PARAM) 4754 void *YYPARSE_PARAM; 4755 #endif 4756 #else /* ! YYPARSE_PARAM */ 4757 #if (defined __STDC__ || defined __C99__FUNC__ \ 4758 || defined __cplusplus || defined _MSC_VER) 4259 4759 int 4260 4760 yyparse (void) 4761 #else 4762 int 4763 yyparse () 4764 4765 #endif 4766 #endif 4261 4767 { 4262 4768 int yystate; … … 4265 4771 4266 4772 /* The stacks and their tools: 4267 'yyss': related to states.4268 'yyvs': related to semantic values.4269 4270 Refer to the stacks thr oughseparate pointers, to allow yyoverflow4773 `yyss': related to states. 4774 `yyvs': related to semantic values. 4775 4776 Refer to the stacks thru separate pointers, to allow yyoverflow 4271 4777 to reallocate them elsewhere. */ 4272 4778 … … 4286 4792 int yyresult; 4287 4793 /* Lookahead token as an internal (translated) token number. */ 4288 int yytoken = 0;4794 int yytoken; 4289 4795 /* The variables used to return semantic value and location from the 4290 4796 action routines. */ … … 4304 4810 int yylen = 0; 4305 4811 4306 yyssp = yyss = yyssa; 4307 yyvsp = yyvs = yyvsa; 4812 yytoken = 0; 4813 yyss = yyssa; 4814 yyvs = yyvsa; 4308 4815 yystacksize = YYINITDEPTH; 4309 4816 … … 4314 4821 yynerrs = 0; 4315 4822 yychar = YYEMPTY; /* Cause a token to be read. */ 4823 4824 /* Initialize stack pointers. 4825 Waste one element of value and location stack 4826 so that they stay on the same level as the state stack. 4827 The wasted elements are never initialized. */ 4828 yyssp = yyss; 4829 yyvsp = yyvs; 4830 4316 4831 goto yysetstate; 4317 4832 … … 4334 4849 #ifdef yyoverflow 4335 4850 { 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4851 /* Give user a chance to reallocate the stack. Use copies of 4852 these so that the &'s don't force the real ones into 4853 memory. */ 4854 YYSTYPE *yyvs1 = yyvs; 4855 yytype_int16 *yyss1 = yyss; 4856 4857 /* Each stack pointer address is followed by the size of the 4858 data in use in that stack, in bytes. This used to be a 4859 conditional around just the two extra args, but that might 4860 be undefined if yyoverflow is a macro. */ 4861 yyoverflow (YY_("memory exhausted"), 4862 &yyss1, yysize * sizeof (*yyssp), 4863 &yyvs1, yysize * sizeof (*yyvsp), 4864 &yystacksize); 4865 4866 yyss = yyss1; 4867 yyvs = yyvs1; 4353 4868 } 4354 4869 #else /* no yyoverflow */ … … 4358 4873 /* Extend the stack our own way. */ 4359 4874 if (YYMAXDEPTH <= yystacksize) 4360 4875 goto yyexhaustedlab; 4361 4876 yystacksize *= 2; 4362 4877 if (YYMAXDEPTH < yystacksize) 4363 4878 yystacksize = YYMAXDEPTH; 4364 4879 4365 4880 { 4366 4367 4368 4369 4370 4371 4372 4881 yytype_int16 *yyss1 = yyss; 4882 union yyalloc *yyptr = 4883 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 4884 if (! yyptr) 4885 goto yyexhaustedlab; 4886 YYSTACK_RELOCATE (yyss_alloc, yyss); 4887 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 4373 4888 # undef YYSTACK_RELOCATE 4374 4375 4889 if (yyss1 != yyssa) 4890 YYSTACK_FREE (yyss1); 4376 4891 } 4377 4892 # endif … … 4382 4897 4383 4898 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 4384 4899 (unsigned long int) yystacksize)); 4385 4900 4386 4901 if (yyss + yystacksize - 1 <= yyssp) 4387 4902 YYABORT; 4388 4903 } 4389 4904 … … 4414 4929 { 4415 4930 YYDPRINTF ((stderr, "Reading a token: ")); 4416 yychar = yylex ();4931 yychar = YYLEX; 4417 4932 } 4418 4933 … … 4454 4969 4455 4970 yystate = yyn; 4456 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN4457 4971 *++yyvsp = yylval; 4458 YY_IGNORE_MAYBE_UNINITIALIZED_END4459 4972 4460 4973 goto yynewstate; … … 4479 4992 4480 4993 /* If YYLEN is nonzero, implement the default value of the action: 4481 '$$ = $1'.4994 `$$ = $1'. 4482 4995 4483 4996 Otherwise, the following line sets YYVAL to garbage. … … 4493 5006 { 4494 5007 case 2: 4495 #line 298 "parser.yy" /* yacc.c:1646 */ 5008 5009 /* Line 1806 of yacc.c */ 5010 #line 341 "parser.yy" 5011 { typedefTable.enterScope(); } 5012 break; 5013 5014 case 3: 5015 5016 /* Line 1806 of yacc.c */ 5017 #line 345 "parser.yy" 5018 { typedefTable.leaveScope(); } 5019 break; 5020 5021 case 4: 5022 5023 /* Line 1806 of yacc.c */ 5024 #line 352 "parser.yy" 5025 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 5026 break; 5027 5028 case 5: 5029 5030 /* Line 1806 of yacc.c */ 5031 #line 353 "parser.yy" 5032 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 5033 break; 5034 5035 case 6: 5036 5037 /* Line 1806 of yacc.c */ 5038 #line 354 "parser.yy" 5039 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 5040 break; 5041 5042 case 16: 5043 5044 /* Line 1806 of yacc.c */ 5045 #line 379 "parser.yy" 5046 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 5047 break; 5048 5049 case 17: 5050 5051 /* Line 1806 of yacc.c */ 5052 #line 383 "parser.yy" 5053 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 5054 break; 5055 5056 case 18: 5057 5058 /* Line 1806 of yacc.c */ 5059 #line 385 "parser.yy" 4496 5060 { 4497 typedefTable.enterScope(); 5061 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st 5062 delete (yyvsp[(2) - (2)].tok); // allocated by lexer 5063 (yyval.str) = (yyvsp[(1) - (2)].str); // conversion from tok to str 4498 5064 } 4499 #line 4500 "Parser/parser.cc" /* yacc.c:1646 */4500 break;4501 4502 case 3:4503 #line 304 "parser.yy" /* yacc.c:1646 */4504 {4505 typedefTable.leaveScope();4506 }4507 #line 4508 "Parser/parser.cc" /* yacc.c:1646 */4508 break;4509 4510 case 4:4511 #line 313 "parser.yy" /* yacc.c:1646 */4512 { (yyval.en) = new ExpressionNode( build_constantInteger( assign_strptr((yyvsp[0].tok)) ) ); }4513 #line 4514 "Parser/parser.cc" /* yacc.c:1646 */4514 break;4515 4516 case 5:4517 #line 314 "parser.yy" /* yacc.c:1646 */4518 { (yyval.en) = new ExpressionNode( build_constantFloat( assign_strptr((yyvsp[0].tok)) ) ); }4519 #line 4520 "Parser/parser.cc" /* yacc.c:1646 */4520 break;4521 4522 case 6:4523 #line 315 "parser.yy" /* yacc.c:1646 */4524 { (yyval.en) = new ExpressionNode( build_constantChar( assign_strptr((yyvsp[0].tok)) ) ); }4525 #line 4526 "Parser/parser.cc" /* yacc.c:1646 */4526 break;4527 4528 case 16:4529 #line 340 "parser.yy" /* yacc.c:1646 */4530 { (yyval.constant) = build_constantStr( assign_strptr((yyvsp[0].tok)) ); }4531 #line 4532 "Parser/parser.cc" /* yacc.c:1646 */4532 break;4533 4534 case 17:4535 #line 342 "parser.yy" /* yacc.c:1646 */4536 {4537 appendStr( (yyvsp[-1].constant)->get_constant()->get_value(), (yyvsp[0].tok) );4538 delete (yyvsp[0].tok); // allocated by lexer4539 (yyval.constant) = (yyvsp[-1].constant);4540 }4541 #line 4542 "Parser/parser.cc" /* yacc.c:1646 */4542 break;4543 4544 case 18:4545 #line 353 "parser.yy" /* yacc.c:1646 */4546 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); }4547 #line 4548 "Parser/parser.cc" /* yacc.c:1646 */4548 5065 break; 4549 5066 4550 5067 case 19: 4551 #line 355 "parser.yy" /* yacc.c:1646 */ 4552 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4553 #line 4554 "Parser/parser.cc" /* yacc.c:1646 */ 5068 5069 /* Line 1806 of yacc.c */ 5070 #line 396 "parser.yy" 5071 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4554 5072 break; 4555 5073 4556 5074 case 20: 4557 #line 357 "parser.yy" /* yacc.c:1646 */ 4558 { (yyval.en) = (yyvsp[-1].en); } 4559 #line 4560 "Parser/parser.cc" /* yacc.c:1646 */ 5075 5076 /* Line 1806 of yacc.c */ 5077 #line 398 "parser.yy" 5078 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4560 5079 break; 4561 5080 4562 5081 case 21: 4563 #line 359 "parser.yy" /* yacc.c:1646 */ 4564 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[-1].sn) ) ); } 4565 #line 4566 "Parser/parser.cc" /* yacc.c:1646 */ 4566 break; 4567 4568 case 23: 4569 #line 369 "parser.yy" /* yacc.c:1646 */ 4570 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[-5].en), (yyvsp[-2].en) ) ); } 4571 #line 4572 "Parser/parser.cc" /* yacc.c:1646 */ 5082 5083 /* Line 1806 of yacc.c */ 5084 #line 400 "parser.yy" 5085 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5086 break; 5087 5088 case 22: 5089 5090 /* Line 1806 of yacc.c */ 5091 #line 402 "parser.yy" 5092 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 4572 5093 break; 4573 5094 4574 5095 case 24: 4575 #line 371 "parser.yy" /* yacc.c:1646 */ 4576 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[-3].en), (yyvsp[-1].en) ) ); } 4577 #line 4578 "Parser/parser.cc" /* yacc.c:1646 */ 5096 5097 /* Line 1806 of yacc.c */ 5098 #line 412 "parser.yy" 5099 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 4578 5100 break; 4579 5101 4580 5102 case 25: 4581 #line 375 "parser.yy" /* yacc.c:1646 */ 4582 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4583 #line 4584 "Parser/parser.cc" /* yacc.c:1646 */ 4584 break; 4585 4586 case 27: 4587 #line 378 "parser.yy" /* yacc.c:1646 */ 4588 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4589 #line 4590 "Parser/parser.cc" /* yacc.c:1646 */ 4590 break; 4591 4592 case 29: 4593 #line 381 "parser.yy" /* yacc.c:1646 */ 4594 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[-1].en) ) ); } 4595 #line 4596 "Parser/parser.cc" /* yacc.c:1646 */ 5103 5104 /* Line 1806 of yacc.c */ 5105 #line 414 "parser.yy" 5106 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5107 break; 5108 5109 case 26: 5110 5111 /* Line 1806 of yacc.c */ 5112 #line 418 "parser.yy" 5113 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5114 break; 5115 5116 case 28: 5117 5118 /* Line 1806 of yacc.c */ 5119 #line 421 "parser.yy" 5120 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4596 5121 break; 4597 5122 4598 5123 case 30: 4599 #line 383 "parser.yy" /* yacc.c:1646 */ 4600 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[-1].en) ) ); } 4601 #line 4602 "Parser/parser.cc" /* yacc.c:1646 */ 5124 5125 /* Line 1806 of yacc.c */ 5126 #line 424 "parser.yy" 5127 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 4602 5128 break; 4603 5129 4604 5130 case 31: 4605 #line 385 "parser.yy" /* yacc.c:1646 */ 4606 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[-5].decl), new InitializerNode( (yyvsp[-2].in), true ) ) ); } 4607 #line 4608 "Parser/parser.cc" /* yacc.c:1646 */ 5131 5132 /* Line 1806 of yacc.c */ 5133 #line 426 "parser.yy" 5134 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 4608 5135 break; 4609 5136 4610 5137 case 32: 4611 #line 387 "parser.yy" /* yacc.c:1646 */ 5138 5139 /* Line 1806 of yacc.c */ 5140 #line 428 "parser.yy" 5141 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5142 break; 5143 5144 case 33: 5145 5146 /* Line 1806 of yacc.c */ 5147 #line 430 "parser.yy" 4612 5148 { 4613 5149 Token fn; 4614 5150 fn.str = new std::string( "?{}" ); // location undefined 4615 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[ -3].en) )->set_last( (yyvsp[-1].en) ) ) );5151 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_last( (yyvsp[(3) - (4)].en) ) ) ); 4616 5152 } 4617 #line 4618 "Parser/parser.cc" /* yacc.c:1646 */4618 break;4619 4620 case 34:4621 #line 397 "parser.yy" /* yacc.c:1646 */4622 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); }4623 #line 4624 "Parser/parser.cc" /* yacc.c:1646 */4624 5153 break; 4625 5154 4626 5155 case 35: 4627 #line 402 "parser.yy" /* yacc.c:1646 */ 5156 5157 /* Line 1806 of yacc.c */ 5158 #line 440 "parser.yy" 5159 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5160 break; 5161 5162 case 36: 5163 5164 /* Line 1806 of yacc.c */ 5165 #line 445 "parser.yy" 4628 5166 { (yyval.en) = 0; } 4629 #line 4630 "Parser/parser.cc" /* yacc.c:1646 */4630 break;4631 4632 case 38:4633 #line 408 "parser.yy" /* yacc.c:1646 */4634 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); }4635 #line 4636 "Parser/parser.cc" /* yacc.c:1646 */4636 5167 break; 4637 5168 4638 5169 case 39: 4639 #line 413 "parser.yy" /* yacc.c:1646 */ 4640 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4641 #line 4642 "Parser/parser.cc" /* yacc.c:1646 */ 5170 5171 /* Line 1806 of yacc.c */ 5172 #line 451 "parser.yy" 5173 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 4642 5174 break; 4643 5175 4644 5176 case 40: 4645 #line 417 "parser.yy" /* yacc.c:1646 */ 4646 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4647 #line 4648 "Parser/parser.cc" /* yacc.c:1646 */ 5177 5178 /* Line 1806 of yacc.c */ 5179 #line 456 "parser.yy" 5180 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4648 5181 break; 4649 5182 4650 5183 case 41: 4651 #line 419 "parser.yy" /* yacc.c:1646 */ 4652 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4653 #line 4654 "Parser/parser.cc" /* yacc.c:1646 */ 5184 5185 /* Line 1806 of yacc.c */ 5186 #line 460 "parser.yy" 5187 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 4654 5188 break; 4655 5189 4656 5190 case 42: 4657 #line 421 "parser.yy" /* yacc.c:1646 */ 4658 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4659 #line 4660 "Parser/parser.cc" /* yacc.c:1646 */ 5191 5192 /* Line 1806 of yacc.c */ 5193 #line 462 "parser.yy" 5194 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 4660 5195 break; 4661 5196 4662 5197 case 43: 4663 #line 423 "parser.yy" /* yacc.c:1646 */ 4664 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4665 #line 4666 "Parser/parser.cc" /* yacc.c:1646 */ 4666 break; 4667 4668 case 45: 4669 #line 431 "parser.yy" /* yacc.c:1646 */ 4670 { (yyval.en) = (yyvsp[0].en); } 4671 #line 4672 "Parser/parser.cc" /* yacc.c:1646 */ 5198 5199 /* Line 1806 of yacc.c */ 5200 #line 464 "parser.yy" 5201 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5202 break; 5203 5204 case 44: 5205 5206 /* Line 1806 of yacc.c */ 5207 #line 466 "parser.yy" 5208 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 4672 5209 break; 4673 5210 4674 5211 case 46: 4675 #line 433 "parser.yy" /* yacc.c:1646 */ 4676 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 4677 #line 4678 "Parser/parser.cc" /* yacc.c:1646 */ 5212 5213 /* Line 1806 of yacc.c */ 5214 #line 474 "parser.yy" 5215 { (yyval.en) = (yyvsp[(1) - (1)].en); } 4678 5216 break; 4679 5217 4680 5218 case 47: 4681 #line 435 "parser.yy" /* yacc.c:1646 */ 4682 { (yyval.en) = (yyvsp[0].en)->set_extension( true ); } 4683 #line 4684 "Parser/parser.cc" /* yacc.c:1646 */ 5219 5220 /* Line 1806 of yacc.c */ 5221 #line 476 "parser.yy" 5222 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 4684 5223 break; 4685 5224 4686 5225 case 48: 4687 #line 440 "parser.yy" /* yacc.c:1646 */ 5226 5227 /* Line 1806 of yacc.c */ 5228 #line 478 "parser.yy" 5229 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5230 break; 5231 5232 case 49: 5233 5234 /* Line 1806 of yacc.c */ 5235 #line 483 "parser.yy" 4688 5236 { 4689 switch ( (yyvsp[ -1].op) ) {5237 switch ( (yyvsp[(1) - (2)].op) ) { 4690 5238 case OperKinds::AddressOf: 4691 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[ 0].en) ) );5239 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[(2) - (2)].en) ) ); 4692 5240 break; 4693 5241 case OperKinds::PointTo: 4694 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[ -1].op), (yyvsp[0].en) ) );5242 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); 4695 5243 break; 4696 5244 default: … … 4698 5246 } 4699 5247 } 4700 #line 4701 "Parser/parser.cc" /* yacc.c:1646 */4701 break;4702 4703 case 49:4704 #line 453 "parser.yy" /* yacc.c:1646 */4705 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); }4706 #line 4707 "Parser/parser.cc" /* yacc.c:1646 */4707 5248 break; 4708 5249 4709 5250 case 50: 4710 #line 455 "parser.yy" /* yacc.c:1646 */ 4711 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[0].en) ) ); } 4712 #line 4713 "Parser/parser.cc" /* yacc.c:1646 */ 5251 5252 /* Line 1806 of yacc.c */ 5253 #line 496 "parser.yy" 5254 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 4713 5255 break; 4714 5256 4715 5257 case 51: 4716 #line 457 "parser.yy" /* yacc.c:1646 */ 4717 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[0].en) ) ); } 4718 #line 4719 "Parser/parser.cc" /* yacc.c:1646 */ 5258 5259 /* Line 1806 of yacc.c */ 5260 #line 498 "parser.yy" 5261 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 4719 5262 break; 4720 5263 4721 5264 case 52: 4722 #line 459 "parser.yy" /* yacc.c:1646 */ 4723 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[0].en) ) ); } 4724 #line 4725 "Parser/parser.cc" /* yacc.c:1646 */ 5265 5266 /* Line 1806 of yacc.c */ 5267 #line 500 "parser.yy" 5268 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 4725 5269 break; 4726 5270 4727 5271 case 53: 4728 #line 461 "parser.yy" /* yacc.c:1646 */ 4729 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[-1].decl) ) ); } 4730 #line 4731 "Parser/parser.cc" /* yacc.c:1646 */ 5272 5273 /* Line 1806 of yacc.c */ 5274 #line 502 "parser.yy" 5275 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4731 5276 break; 4732 5277 4733 5278 case 54: 4734 #line 463 "parser.yy" /* yacc.c:1646 */ 4735 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[0].en) ) ); } 4736 #line 4737 "Parser/parser.cc" /* yacc.c:1646 */ 5279 5280 /* Line 1806 of yacc.c */ 5281 #line 504 "parser.yy" 5282 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 4737 5283 break; 4738 5284 4739 5285 case 55: 4740 #line 465 "parser.yy" /* yacc.c:1646 */ 4741 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[-1].decl) ) ); } 4742 #line 4743 "Parser/parser.cc" /* yacc.c:1646 */ 5286 5287 /* Line 1806 of yacc.c */ 5288 #line 506 "parser.yy" 5289 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 4743 5290 break; 4744 5291 4745 5292 case 56: 4746 #line 467 "parser.yy" /* yacc.c:1646 */ 4747 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[-3].decl), build_varref( (yyvsp[-1].tok) ) ) ); } 4748 #line 4749 "Parser/parser.cc" /* yacc.c:1646 */ 5293 5294 /* Line 1806 of yacc.c */ 5295 #line 508 "parser.yy" 5296 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 4749 5297 break; 4750 5298 4751 5299 case 57: 4752 #line 469 "parser.yy" /* yacc.c:1646 */ 4753 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[0].tok) ), nullptr ) ); } 4754 #line 4755 "Parser/parser.cc" /* yacc.c:1646 */ 5300 5301 /* Line 1806 of yacc.c */ 5302 #line 510 "parser.yy" 5303 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 4755 5304 break; 4756 5305 4757 5306 case 58: 4758 #line 471 "parser.yy" /* yacc.c:1646 */ 4759 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].en) ) ); } 4760 #line 4761 "Parser/parser.cc" /* yacc.c:1646 */ 5307 5308 /* Line 1806 of yacc.c */ 5309 #line 512 "parser.yy" 5310 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 4761 5311 break; 4762 5312 4763 5313 case 59: 4764 #line 473 "parser.yy" /* yacc.c:1646 */ 4765 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].decl) ) ); } 4766 #line 4767 "Parser/parser.cc" /* yacc.c:1646 */ 5314 5315 /* Line 1806 of yacc.c */ 5316 #line 514 "parser.yy" 5317 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 4767 5318 break; 4768 5319 4769 5320 case 60: 4770 #line 479 "parser.yy" /* yacc.c:1646 */ 5321 5322 /* Line 1806 of yacc.c */ 5323 #line 516 "parser.yy" 5324 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5325 break; 5326 5327 case 61: 5328 5329 /* Line 1806 of yacc.c */ 5330 #line 522 "parser.yy" 4771 5331 { (yyval.op) = OperKinds::PointTo; } 4772 #line 4773 "Parser/parser.cc" /* yacc.c:1646 */ 4773 break; 4774 4775 case 61: 4776 #line 480 "parser.yy" /* yacc.c:1646 */ 5332 break; 5333 5334 case 62: 5335 5336 /* Line 1806 of yacc.c */ 5337 #line 523 "parser.yy" 4777 5338 { (yyval.op) = OperKinds::AddressOf; } 4778 #line 4779 "Parser/parser.cc" /* yacc.c:1646 */ 4779 break; 4780 4781 case 62: 4782 #line 486 "parser.yy" /* yacc.c:1646 */ 5339 break; 5340 5341 case 63: 5342 5343 /* Line 1806 of yacc.c */ 5344 #line 529 "parser.yy" 4783 5345 { (yyval.op) = OperKinds::UnPlus; } 4784 #line 4785 "Parser/parser.cc" /* yacc.c:1646 */ 4785 break; 4786 4787 case 63: 4788 #line 487 "parser.yy" /* yacc.c:1646 */ 5346 break; 5347 5348 case 64: 5349 5350 /* Line 1806 of yacc.c */ 5351 #line 530 "parser.yy" 4789 5352 { (yyval.op) = OperKinds::UnMinus; } 4790 #line 4791 "Parser/parser.cc" /* yacc.c:1646 */ 4791 break; 4792 4793 case 64: 4794 #line 488 "parser.yy" /* yacc.c:1646 */ 5353 break; 5354 5355 case 65: 5356 5357 /* Line 1806 of yacc.c */ 5358 #line 531 "parser.yy" 4795 5359 { (yyval.op) = OperKinds::Neg; } 4796 #line 4797 "Parser/parser.cc" /* yacc.c:1646 */ 4797 break; 4798 4799 case 65: 4800 #line 489 "parser.yy" /* yacc.c:1646 */ 5360 break; 5361 5362 case 66: 5363 5364 /* Line 1806 of yacc.c */ 5365 #line 532 "parser.yy" 4801 5366 { (yyval.op) = OperKinds::BitNeg; } 4802 #line 4803 "Parser/parser.cc" /* yacc.c:1646 */4803 break;4804 4805 case 67:4806 #line 495 "parser.yy" /* yacc.c:1646 */4807 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); }4808 #line 4809 "Parser/parser.cc" /* yacc.c:1646 */4809 5367 break; 4810 5368 4811 5369 case 68: 4812 #line 497 "parser.yy" /* yacc.c:1646 */ 4813 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); } 4814 #line 4815 "Parser/parser.cc" /* yacc.c:1646 */ 4815 break; 4816 4817 case 70: 4818 #line 503 "parser.yy" /* yacc.c:1646 */ 4819 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4820 #line 4821 "Parser/parser.cc" /* yacc.c:1646 */ 5370 5371 /* Line 1806 of yacc.c */ 5372 #line 538 "parser.yy" 5373 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5374 break; 5375 5376 case 69: 5377 5378 /* Line 1806 of yacc.c */ 5379 #line 540 "parser.yy" 5380 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 4821 5381 break; 4822 5382 4823 5383 case 71: 4824 #line 505 "parser.yy" /* yacc.c:1646 */ 4825 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4826 #line 4827 "Parser/parser.cc" /* yacc.c:1646 */ 5384 5385 /* Line 1806 of yacc.c */ 5386 #line 546 "parser.yy" 5387 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4827 5388 break; 4828 5389 4829 5390 case 72: 4830 #line 507 "parser.yy" /* yacc.c:1646 */ 4831 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4832 #line 4833 "Parser/parser.cc" /* yacc.c:1646 */ 4833 break; 4834 4835 case 74: 4836 #line 513 "parser.yy" /* yacc.c:1646 */ 4837 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4838 #line 4839 "Parser/parser.cc" /* yacc.c:1646 */ 5391 5392 /* Line 1806 of yacc.c */ 5393 #line 548 "parser.yy" 5394 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5395 break; 5396 5397 case 73: 5398 5399 /* Line 1806 of yacc.c */ 5400 #line 550 "parser.yy" 5401 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4839 5402 break; 4840 5403 4841 5404 case 75: 4842 #line 515 "parser.yy" /* yacc.c:1646 */ 4843 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4844 #line 4845 "Parser/parser.cc" /* yacc.c:1646 */ 4845 break; 4846 4847 case 77: 4848 #line 521 "parser.yy" /* yacc.c:1646 */ 4849 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4850 #line 4851 "Parser/parser.cc" /* yacc.c:1646 */ 5405 5406 /* Line 1806 of yacc.c */ 5407 #line 556 "parser.yy" 5408 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5409 break; 5410 5411 case 76: 5412 5413 /* Line 1806 of yacc.c */ 5414 #line 558 "parser.yy" 5415 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4851 5416 break; 4852 5417 4853 5418 case 78: 4854 #line 523 "parser.yy" /* yacc.c:1646 */ 4855 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4856 #line 4857 "Parser/parser.cc" /* yacc.c:1646 */ 4857 break; 4858 4859 case 80: 4860 #line 529 "parser.yy" /* yacc.c:1646 */ 4861 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4862 #line 4863 "Parser/parser.cc" /* yacc.c:1646 */ 5419 5420 /* Line 1806 of yacc.c */ 5421 #line 564 "parser.yy" 5422 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5423 break; 5424 5425 case 79: 5426 5427 /* Line 1806 of yacc.c */ 5428 #line 566 "parser.yy" 5429 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4863 5430 break; 4864 5431 4865 5432 case 81: 4866 #line 531 "parser.yy" /* yacc.c:1646 */ 4867 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4868 #line 4869 "Parser/parser.cc" /* yacc.c:1646 */ 5433 5434 /* Line 1806 of yacc.c */ 5435 #line 572 "parser.yy" 5436 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4869 5437 break; 4870 5438 4871 5439 case 82: 4872 #line 533 "parser.yy" /* yacc.c:1646 */ 4873 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4874 #line 4875 "Parser/parser.cc" /* yacc.c:1646 */ 5440 5441 /* Line 1806 of yacc.c */ 5442 #line 574 "parser.yy" 5443 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4875 5444 break; 4876 5445 4877 5446 case 83: 4878 #line 535 "parser.yy" /* yacc.c:1646 */ 4879 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4880 #line 4881 "Parser/parser.cc" /* yacc.c:1646 */ 4881 break; 4882 4883 case 85: 4884 #line 541 "parser.yy" /* yacc.c:1646 */ 4885 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4886 #line 4887 "Parser/parser.cc" /* yacc.c:1646 */ 5447 5448 /* Line 1806 of yacc.c */ 5449 #line 576 "parser.yy" 5450 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5451 break; 5452 5453 case 84: 5454 5455 /* Line 1806 of yacc.c */ 5456 #line 578 "parser.yy" 5457 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4887 5458 break; 4888 5459 4889 5460 case 86: 4890 #line 543 "parser.yy" /* yacc.c:1646 */ 4891 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4892 #line 4893 "Parser/parser.cc" /* yacc.c:1646 */ 4893 break; 4894 4895 case 88: 4896 #line 549 "parser.yy" /* yacc.c:1646 */ 4897 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4898 #line 4899 "Parser/parser.cc" /* yacc.c:1646 */ 4899 break; 4900 4901 case 90: 4902 #line 555 "parser.yy" /* yacc.c:1646 */ 4903 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4904 #line 4905 "Parser/parser.cc" /* yacc.c:1646 */ 4905 break; 4906 4907 case 92: 4908 #line 561 "parser.yy" /* yacc.c:1646 */ 4909 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4910 #line 4911 "Parser/parser.cc" /* yacc.c:1646 */ 4911 break; 4912 4913 case 94: 4914 #line 567 "parser.yy" /* yacc.c:1646 */ 4915 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), true ) ); } 4916 #line 4917 "Parser/parser.cc" /* yacc.c:1646 */ 4917 break; 4918 4919 case 96: 4920 #line 573 "parser.yy" /* yacc.c:1646 */ 4921 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), false ) ); } 4922 #line 4923 "Parser/parser.cc" /* yacc.c:1646 */ 4923 break; 4924 4925 case 98: 4926 #line 579 "parser.yy" /* yacc.c:1646 */ 4927 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4928 #line 4929 "Parser/parser.cc" /* yacc.c:1646 */ 5461 5462 /* Line 1806 of yacc.c */ 5463 #line 584 "parser.yy" 5464 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5465 break; 5466 5467 case 87: 5468 5469 /* Line 1806 of yacc.c */ 5470 #line 586 "parser.yy" 5471 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5472 break; 5473 5474 case 89: 5475 5476 /* Line 1806 of yacc.c */ 5477 #line 592 "parser.yy" 5478 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5479 break; 5480 5481 case 91: 5482 5483 /* Line 1806 of yacc.c */ 5484 #line 598 "parser.yy" 5485 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5486 break; 5487 5488 case 93: 5489 5490 /* Line 1806 of yacc.c */ 5491 #line 604 "parser.yy" 5492 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5493 break; 5494 5495 case 95: 5496 5497 /* Line 1806 of yacc.c */ 5498 #line 610 "parser.yy" 5499 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5500 break; 5501 5502 case 97: 5503 5504 /* Line 1806 of yacc.c */ 5505 #line 616 "parser.yy" 5506 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 4929 5507 break; 4930 5508 4931 5509 case 99: 4932 #line 582 "parser.yy" /* yacc.c:1646 */ 4933 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-3].en), (yyvsp[-3].en), (yyvsp[0].en) ) ); } 4934 #line 4935 "Parser/parser.cc" /* yacc.c:1646 */ 5510 5511 /* Line 1806 of yacc.c */ 5512 #line 622 "parser.yy" 5513 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 4935 5514 break; 4936 5515 4937 5516 case 100: 4938 #line 584 "parser.yy" /* yacc.c:1646 */ 4939 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4940 #line 4941 "Parser/parser.cc" /* yacc.c:1646 */ 4941 break; 4942 4943 case 103: 4944 #line 595 "parser.yy" /* yacc.c:1646 */ 4945 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[-1].op), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4946 #line 4947 "Parser/parser.cc" /* yacc.c:1646 */ 5517 5518 /* Line 1806 of yacc.c */ 5519 #line 625 "parser.yy" 5520 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5521 break; 5522 5523 case 101: 5524 5525 /* Line 1806 of yacc.c */ 5526 #line 627 "parser.yy" 5527 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 4947 5528 break; 4948 5529 4949 5530 case 104: 4950 #line 597 "parser.yy" /* yacc.c:1646 */ 4951 { (yyval.en) = ( (yyvsp[0].en) == 0 ) ? (yyvsp[-1].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[-1].en), (yyvsp[0].en) ) ); } 4952 #line 4953 "Parser/parser.cc" /* yacc.c:1646 */ 5531 5532 /* Line 1806 of yacc.c */ 5533 #line 638 "parser.yy" 5534 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4953 5535 break; 4954 5536 4955 5537 case 105: 4956 #line 602 "parser.yy" /* yacc.c:1646 */ 5538 5539 /* Line 1806 of yacc.c */ 5540 #line 640 "parser.yy" 5541 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 5542 break; 5543 5544 case 106: 5545 5546 /* Line 1806 of yacc.c */ 5547 #line 645 "parser.yy" 4957 5548 { (yyval.en) = nullptr; } 4958 #line 4959 "Parser/parser.cc" /* yacc.c:1646 */ 4959 break; 4960 4961 case 107: 4962 #line 607 "parser.yy" /* yacc.c:1646 */ 5549 break; 5550 5551 case 108: 5552 5553 /* Line 1806 of yacc.c */ 5554 #line 650 "parser.yy" 4963 5555 { (yyval.op) = OperKinds::Assign; } 4964 #line 4965 "Parser/parser.cc" /* yacc.c:1646 */ 4965 break; 4966 4967 case 108: 4968 #line 608 "parser.yy" /* yacc.c:1646 */ 5556 break; 5557 5558 case 109: 5559 5560 /* Line 1806 of yacc.c */ 5561 #line 651 "parser.yy" 4969 5562 { (yyval.op) = OperKinds::MulAssn; } 4970 #line 4971 "Parser/parser.cc" /* yacc.c:1646 */ 4971 break; 4972 4973 case 109: 4974 #line 609 "parser.yy" /* yacc.c:1646 */ 5563 break; 5564 5565 case 110: 5566 5567 /* Line 1806 of yacc.c */ 5568 #line 652 "parser.yy" 4975 5569 { (yyval.op) = OperKinds::DivAssn; } 4976 #line 4977 "Parser/parser.cc" /* yacc.c:1646 */ 4977 break; 4978 4979 case 110: 4980 #line 610 "parser.yy" /* yacc.c:1646 */ 5570 break; 5571 5572 case 111: 5573 5574 /* Line 1806 of yacc.c */ 5575 #line 653 "parser.yy" 4981 5576 { (yyval.op) = OperKinds::ModAssn; } 4982 #line 4983 "Parser/parser.cc" /* yacc.c:1646 */ 4983 break; 4984 4985 case 111: 4986 #line 611 "parser.yy" /* yacc.c:1646 */ 5577 break; 5578 5579 case 112: 5580 5581 /* Line 1806 of yacc.c */ 5582 #line 654 "parser.yy" 4987 5583 { (yyval.op) = OperKinds::PlusAssn; } 4988 #line 4989 "Parser/parser.cc" /* yacc.c:1646 */ 4989 break; 4990 4991 case 112: 4992 #line 612 "parser.yy" /* yacc.c:1646 */ 5584 break; 5585 5586 case 113: 5587 5588 /* Line 1806 of yacc.c */ 5589 #line 655 "parser.yy" 4993 5590 { (yyval.op) = OperKinds::MinusAssn; } 4994 #line 4995 "Parser/parser.cc" /* yacc.c:1646 */ 4995 break; 4996 4997 case 113: 4998 #line 613 "parser.yy" /* yacc.c:1646 */ 5591 break; 5592 5593 case 114: 5594 5595 /* Line 1806 of yacc.c */ 5596 #line 656 "parser.yy" 4999 5597 { (yyval.op) = OperKinds::LSAssn; } 5000 #line 5001 "Parser/parser.cc" /* yacc.c:1646 */ 5001 break; 5002 5003 case 114: 5004 #line 614 "parser.yy" /* yacc.c:1646 */ 5598 break; 5599 5600 case 115: 5601 5602 /* Line 1806 of yacc.c */ 5603 #line 657 "parser.yy" 5005 5604 { (yyval.op) = OperKinds::RSAssn; } 5006 #line 5007 "Parser/parser.cc" /* yacc.c:1646 */ 5007 break; 5008 5009 case 115: 5010 #line 615 "parser.yy" /* yacc.c:1646 */ 5605 break; 5606 5607 case 116: 5608 5609 /* Line 1806 of yacc.c */ 5610 #line 658 "parser.yy" 5011 5611 { (yyval.op) = OperKinds::AndAssn; } 5012 #line 5013 "Parser/parser.cc" /* yacc.c:1646 */ 5013 break; 5014 5015 case 116: 5016 #line 616 "parser.yy" /* yacc.c:1646 */ 5612 break; 5613 5614 case 117: 5615 5616 /* Line 1806 of yacc.c */ 5617 #line 659 "parser.yy" 5017 5618 { (yyval.op) = OperKinds::ERAssn; } 5018 #line 5019 "Parser/parser.cc" /* yacc.c:1646 */ 5019 break; 5020 5021 case 117: 5022 #line 617 "parser.yy" /* yacc.c:1646 */ 5619 break; 5620 5621 case 118: 5622 5623 /* Line 1806 of yacc.c */ 5624 #line 660 "parser.yy" 5023 5625 { (yyval.op) = OperKinds::OrAssn; } 5024 #line 5025 "Parser/parser.cc" /* yacc.c:1646 */ 5025 break; 5026 5027 case 118: 5028 #line 624 "parser.yy" /* yacc.c:1646 */ 5626 break; 5627 5628 case 119: 5629 5630 /* Line 1806 of yacc.c */ 5631 #line 667 "parser.yy" 5029 5632 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5030 #line 5031 "Parser/parser.cc" /* yacc.c:1646 */5031 break;5032 5033 case 119:5034 #line 626 "parser.yy" /* yacc.c:1646 */5035 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[-2].en) ) ); }5036 #line 5037 "Parser/parser.cc" /* yacc.c:1646 */5037 5633 break; 5038 5634 5039 5635 case 120: 5040 #line 628 "parser.yy" /* yacc.c:1646 */ 5041 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[-2].en) ) ) ); } 5042 #line 5043 "Parser/parser.cc" /* yacc.c:1646 */ 5636 5637 /* Line 1806 of yacc.c */ 5638 #line 669 "parser.yy" 5639 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5043 5640 break; 5044 5641 5045 5642 case 121: 5046 #line 630 "parser.yy" /* yacc.c:1646 */ 5047 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[-4].en)->set_last( (yyvsp[-2].en) ) ) ); } 5048 #line 5049 "Parser/parser.cc" /* yacc.c:1646 */ 5049 break; 5050 5051 case 123: 5052 #line 636 "parser.yy" /* yacc.c:1646 */ 5053 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5054 #line 5055 "Parser/parser.cc" /* yacc.c:1646 */ 5055 break; 5056 5057 case 125: 5058 #line 642 "parser.yy" /* yacc.c:1646 */ 5059 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5060 #line 5061 "Parser/parser.cc" /* yacc.c:1646 */ 5643 5644 /* Line 1806 of yacc.c */ 5645 #line 671 "parser.yy" 5646 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5647 break; 5648 5649 case 122: 5650 5651 /* Line 1806 of yacc.c */ 5652 #line 673 "parser.yy" 5653 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5654 break; 5655 5656 case 124: 5657 5658 /* Line 1806 of yacc.c */ 5659 #line 679 "parser.yy" 5660 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5061 5661 break; 5062 5662 5063 5663 case 126: 5064 #line 647 "parser.yy" /* yacc.c:1646 */ 5664 5665 /* Line 1806 of yacc.c */ 5666 #line 685 "parser.yy" 5667 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5668 break; 5669 5670 case 127: 5671 5672 /* Line 1806 of yacc.c */ 5673 #line 690 "parser.yy" 5065 5674 { (yyval.en) = 0; } 5066 #line 5067 "Parser/parser.cc" /* yacc.c:1646 */ 5067 break; 5068 5069 case 130: 5070 #line 656 "parser.yy" /* yacc.c:1646 */ 5071 { (yyval.sn) = (yyvsp[0].sn); } 5072 #line 5073 "Parser/parser.cc" /* yacc.c:1646 */ 5073 break; 5074 5075 case 136: 5076 #line 663 "parser.yy" /* yacc.c:1646 */ 5675 break; 5676 5677 case 131: 5678 5679 /* Line 1806 of yacc.c */ 5680 #line 699 "parser.yy" 5681 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5682 break; 5683 5684 case 137: 5685 5686 /* Line 1806 of yacc.c */ 5687 #line 706 "parser.yy" 5077 5688 { 5078 5689 Token fn; 5079 5690 fn.str = new std::string( "^?{}" ); // location undefined 5080 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[ -4].en) )->set_last( (yyvsp[-2].en) ) ) ) ) );5691 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_last( (yyvsp[(4) - (6)].en) ) ) ) ) ); 5081 5692 } 5082 #line 5083 "Parser/parser.cc" /* yacc.c:1646 */ 5083 break; 5084 5085 case 137: 5086 #line 673 "parser.yy" /* yacc.c:1646 */ 5693 break; 5694 5695 case 138: 5696 5697 /* Line 1806 of yacc.c */ 5698 #line 716 "parser.yy" 5087 5699 { 5088 (yyval.sn) = (yyvsp[ 0].sn)->add_label( (yyvsp[-3].tok) );5700 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); 5089 5701 } 5090 #line 5091 "Parser/parser.cc" /* yacc.c:1646 */ 5091 break; 5092 5093 case 138: 5094 #line 680 "parser.yy" /* yacc.c:1646 */ 5702 break; 5703 5704 case 139: 5705 5706 /* Line 1806 of yacc.c */ 5707 #line 723 "parser.yy" 5095 5708 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5096 #line 5097 "Parser/parser.cc" /* yacc.c:1646 */ 5097 break; 5098 5099 case 139: 5100 #line 687 "parser.yy" /* yacc.c:1646 */ 5101 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[-2].sn) ) ); } 5102 #line 5103 "Parser/parser.cc" /* yacc.c:1646 */ 5103 break; 5104 5105 case 141: 5106 #line 693 "parser.yy" /* yacc.c:1646 */ 5107 { if ( (yyvsp[-2].sn) != 0 ) { (yyvsp[-2].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-2].sn); } } 5108 #line 5109 "Parser/parser.cc" /* yacc.c:1646 */ 5709 break; 5710 5711 case 140: 5712 5713 /* Line 1806 of yacc.c */ 5714 #line 730 "parser.yy" 5715 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5109 5716 break; 5110 5717 5111 5718 case 142: 5112 #line 698 "parser.yy" /* yacc.c:1646 */ 5113 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5114 #line 5115 "Parser/parser.cc" /* yacc.c:1646 */ 5719 5720 /* Line 1806 of yacc.c */ 5721 #line 736 "parser.yy" 5722 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5115 5723 break; 5116 5724 5117 5725 case 143: 5118 #line 700 "parser.yy" /* yacc.c:1646 */ 5726 5727 /* Line 1806 of yacc.c */ 5728 #line 741 "parser.yy" 5729 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5730 break; 5731 5732 case 144: 5733 5734 /* Line 1806 of yacc.c */ 5735 #line 743 "parser.yy" 5119 5736 { // mark all fields in list 5120 for ( DeclarationNode *iter = (yyvsp[ 0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )5737 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 5121 5738 iter->set_extension( true ); 5122 (yyval.sn) = new StatementNode( (yyvsp[ 0].decl) );5739 (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); 5123 5740 } 5124 #line 5125 "Parser/parser.cc" /* yacc.c:1646 */ 5125 break; 5126 5127 case 144: 5128 #line 706 "parser.yy" /* yacc.c:1646 */ 5129 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5130 #line 5131 "Parser/parser.cc" /* yacc.c:1646 */ 5131 break; 5132 5133 case 147: 5134 #line 713 "parser.yy" /* yacc.c:1646 */ 5135 { if ( (yyvsp[-1].sn) != 0 ) { (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-1].sn); } } 5136 #line 5137 "Parser/parser.cc" /* yacc.c:1646 */ 5741 break; 5742 5743 case 145: 5744 5745 /* Line 1806 of yacc.c */ 5746 #line 749 "parser.yy" 5747 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5137 5748 break; 5138 5749 5139 5750 case 148: 5140 #line 718 "parser.yy" /* yacc.c:1646 */ 5141 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[-1].en) ) ); } 5142 #line 5143 "Parser/parser.cc" /* yacc.c:1646 */ 5751 5752 /* Line 1806 of yacc.c */ 5753 #line 756 "parser.yy" 5754 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5143 5755 break; 5144 5756 5145 5757 case 149: 5146 #line 724 "parser.yy" /* yacc.c:1646 */ 5147 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-2].en), (yyvsp[0].sn), nullptr ) ); } 5148 #line 5149 "Parser/parser.cc" /* yacc.c:1646 */ 5758 5759 /* Line 1806 of yacc.c */ 5760 #line 761 "parser.yy" 5761 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5149 5762 break; 5150 5763 5151 5764 case 150: 5152 #line 726 "parser.yy" /* yacc.c:1646 */ 5153 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-4].en), (yyvsp[-2].sn), (yyvsp[0].sn) ) ); } 5154 #line 5155 "Parser/parser.cc" /* yacc.c:1646 */ 5765 5766 /* Line 1806 of yacc.c */ 5767 #line 767 "parser.yy" 5768 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5155 5769 break; 5156 5770 5157 5771 case 151: 5158 #line 728 "parser.yy" /* yacc.c:1646 */ 5159 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5160 #line 5161 "Parser/parser.cc" /* yacc.c:1646 */ 5772 5773 /* Line 1806 of yacc.c */ 5774 #line 769 "parser.yy" 5775 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5161 5776 break; 5162 5777 5163 5778 case 152: 5164 #line 730 "parser.yy" /* yacc.c:1646 */ 5779 5780 /* Line 1806 of yacc.c */ 5781 #line 771 "parser.yy" 5782 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5783 break; 5784 5785 case 153: 5786 5787 /* Line 1806 of yacc.c */ 5788 #line 773 "parser.yy" 5165 5789 { 5166 StatementNode *sw = new StatementNode( build_switch( (yyvsp[ -6].en), (yyvsp[-1].sn) ) );5790 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5167 5791 // The semantics of the declaration list is changed to include associated initialization, which is performed 5168 5792 // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound … … 5170 5794 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5171 5795 // statement. 5172 (yyval.sn) = (yyvsp[ -2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw;5796 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5173 5797 } 5174 #line 5175 "Parser/parser.cc" /* yacc.c:1646 */5175 break;5176 5177 case 153:5178 #line 740 "parser.yy" /* yacc.c:1646 */5179 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); }5180 #line 5181 "Parser/parser.cc" /* yacc.c:1646 */5181 5798 break; 5182 5799 5183 5800 case 154: 5184 #line 742 "parser.yy" /* yacc.c:1646 */ 5801 5802 /* Line 1806 of yacc.c */ 5803 #line 783 "parser.yy" 5804 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5805 break; 5806 5807 case 155: 5808 5809 /* Line 1806 of yacc.c */ 5810 #line 785 "parser.yy" 5185 5811 { 5186 StatementNode *sw = new StatementNode( build_switch( (yyvsp[ -6].en), (yyvsp[-1].sn) ) );5187 (yyval.sn) = (yyvsp[ -2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw )) ) ) : sw;5812 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5813 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw; 5188 5814 } 5189 #line 5190 "Parser/parser.cc" /* yacc.c:1646 */5190 break;5191 5192 case 155:5193 #line 752 "parser.yy" /* yacc.c:1646 */5194 { (yyval.en) = (yyvsp[0].en); }5195 #line 5196 "Parser/parser.cc" /* yacc.c:1646 */5196 5815 break; 5197 5816 5198 5817 case 156: 5199 #line 754 "parser.yy" /* yacc.c:1646 */ 5200 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5201 #line 5202 "Parser/parser.cc" /* yacc.c:1646 */ 5202 break; 5203 5204 case 158: 5205 #line 759 "parser.yy" /* yacc.c:1646 */ 5206 { (yyval.sn) = new StatementNode( build_case( (yyvsp[0].en) ) ); } 5207 #line 5208 "Parser/parser.cc" /* yacc.c:1646 */ 5818 5819 /* Line 1806 of yacc.c */ 5820 #line 795 "parser.yy" 5821 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5822 break; 5823 5824 case 157: 5825 5826 /* Line 1806 of yacc.c */ 5827 #line 797 "parser.yy" 5828 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5208 5829 break; 5209 5830 5210 5831 case 159: 5211 #line 761 "parser.yy" /* yacc.c:1646 */ 5212 { (yyval.sn) = (StatementNode *)((yyvsp[-2].sn)->set_last( new StatementNode( build_case( (yyvsp[0].en) ) ) ) ); } 5213 #line 5214 "Parser/parser.cc" /* yacc.c:1646 */ 5832 5833 /* Line 1806 of yacc.c */ 5834 #line 802 "parser.yy" 5835 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5214 5836 break; 5215 5837 5216 5838 case 160: 5217 #line 765 "parser.yy" /* yacc.c:1646 */ 5218 { (yyval.sn) = (yyvsp[-1].sn); } 5219 #line 5220 "Parser/parser.cc" /* yacc.c:1646 */ 5839 5840 /* Line 1806 of yacc.c */ 5841 #line 804 "parser.yy" 5842 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5220 5843 break; 5221 5844 5222 5845 case 161: 5223 #line 766 "parser.yy" /* yacc.c:1646 */ 5846 5847 /* Line 1806 of yacc.c */ 5848 #line 808 "parser.yy" 5849 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5850 break; 5851 5852 case 162: 5853 5854 /* Line 1806 of yacc.c */ 5855 #line 809 "parser.yy" 5224 5856 { (yyval.sn) = new StatementNode( build_default() ); } 5225 #line 5226 "Parser/parser.cc" /* yacc.c:1646 */5226 break;5227 5228 case 163:5229 #line 772 "parser.yy" /* yacc.c:1646 */5230 { (yyval.sn) = (StatementNode *)( (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) )); }5231 #line 5232 "Parser/parser.cc" /* yacc.c:1646 */5232 5857 break; 5233 5858 5234 5859 case 164: 5235 #line 776 "parser.yy" /* yacc.c:1646 */ 5236 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5237 #line 5238 "Parser/parser.cc" /* yacc.c:1646 */ 5860 5861 /* Line 1806 of yacc.c */ 5862 #line 815 "parser.yy" 5863 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5238 5864 break; 5239 5865 5240 5866 case 165: 5241 #line 781 "parser.yy" /* yacc.c:1646 */ 5867 5868 /* Line 1806 of yacc.c */ 5869 #line 819 "parser.yy" 5870 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5871 break; 5872 5873 case 166: 5874 5875 /* Line 1806 of yacc.c */ 5876 #line 824 "parser.yy" 5242 5877 { (yyval.sn) = 0; } 5243 #line 5244 "Parser/parser.cc" /* yacc.c:1646 */5244 break;5245 5246 case 167:5247 #line 787 "parser.yy" /* yacc.c:1646 */5248 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); }5249 #line 5250 "Parser/parser.cc" /* yacc.c:1646 */5250 5878 break; 5251 5879 5252 5880 case 168: 5253 #line 789 "parser.yy" /* yacc.c:1646 */ 5254 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ) ) ); } 5255 #line 5256 "Parser/parser.cc" /* yacc.c:1646 */ 5881 5882 /* Line 1806 of yacc.c */ 5883 #line 830 "parser.yy" 5884 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5256 5885 break; 5257 5886 5258 5887 case 169: 5259 #line 794 "parser.yy" /* yacc.c:1646 */ 5888 5889 /* Line 1806 of yacc.c */ 5890 #line 832 "parser.yy" 5891 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5892 break; 5893 5894 case 170: 5895 5896 /* Line 1806 of yacc.c */ 5897 #line 837 "parser.yy" 5260 5898 { (yyval.sn) = 0; } 5261 #line 5262 "Parser/parser.cc" /* yacc.c:1646 */5262 break;5263 5264 case 171:5265 #line 800 "parser.yy" /* yacc.c:1646 */5266 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ); }5267 #line 5268 "Parser/parser.cc" /* yacc.c:1646 */5268 5899 break; 5269 5900 5270 5901 case 172: 5271 #line 802 "parser.yy" /* yacc.c:1646 */ 5272 { (yyval.sn) = (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ); } 5273 #line 5274 "Parser/parser.cc" /* yacc.c:1646 */ 5902 5903 /* Line 1806 of yacc.c */ 5904 #line 843 "parser.yy" 5905 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5274 5906 break; 5275 5907 5276 5908 case 173: 5277 #line 804 "parser.yy" /* yacc.c:1646 */ 5278 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ))); } 5279 #line 5280 "Parser/parser.cc" /* yacc.c:1646 */ 5909 5910 /* Line 1806 of yacc.c */ 5911 #line 845 "parser.yy" 5912 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5280 5913 break; 5281 5914 5282 5915 case 174: 5283 #line 806 "parser.yy" /* yacc.c:1646 */ 5284 { (yyval.sn) = (StatementNode *)( (yyvsp[-3].sn)->set_last( (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ) ) ); } 5285 #line 5286 "Parser/parser.cc" /* yacc.c:1646 */ 5916 5917 /* Line 1806 of yacc.c */ 5918 #line 847 "parser.yy" 5919 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5286 5920 break; 5287 5921 5288 5922 case 175: 5289 #line 811 "parser.yy" /* yacc.c:1646 */ 5290 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Break ) ); } 5291 #line 5292 "Parser/parser.cc" /* yacc.c:1646 */ 5292 break; 5293 5294 case 177: 5295 #line 817 "parser.yy" /* yacc.c:1646 */ 5923 5924 /* Line 1806 of yacc.c */ 5925 #line 849 "parser.yy" 5926 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5927 break; 5928 5929 case 176: 5930 5931 /* Line 1806 of yacc.c */ 5932 #line 854 "parser.yy" 5933 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5934 break; 5935 5936 case 178: 5937 5938 /* Line 1806 of yacc.c */ 5939 #line 860 "parser.yy" 5296 5940 { (yyval.sn) = 0; } 5297 #line 5298 "Parser/parser.cc" /* yacc.c:1646 */ 5298 break; 5299 5300 case 178: 5301 #line 819 "parser.yy" /* yacc.c:1646 */ 5941 break; 5942 5943 case 179: 5944 5945 /* Line 1806 of yacc.c */ 5946 #line 862 "parser.yy" 5302 5947 { (yyval.sn) = 0; } 5303 #line 5304 "Parser/parser.cc" /* yacc.c:1646 */5304 break;5305 5306 case 179:5307 #line 824 "parser.yy" /* yacc.c:1646 */5308 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[0].sn) ) ); }5309 #line 5310 "Parser/parser.cc" /* yacc.c:1646 */5310 5948 break; 5311 5949 5312 5950 case 180: 5313 #line 826 "parser.yy" /* yacc.c:1646 */ 5314 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[-5].sn) ) ); } 5315 #line 5316 "Parser/parser.cc" /* yacc.c:1646 */ 5951 5952 /* Line 1806 of yacc.c */ 5953 #line 867 "parser.yy" 5954 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5316 5955 break; 5317 5956 5318 5957 case 181: 5319 #line 828 "parser.yy" /* yacc.c:1646 */ 5320 { (yyval.sn) = new StatementNode( build_for( (yyvsp[-2].fctl), (yyvsp[0].sn) ) ); } 5321 #line 5322 "Parser/parser.cc" /* yacc.c:1646 */ 5958 5959 /* Line 1806 of yacc.c */ 5960 #line 869 "parser.yy" 5961 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ) ); } 5322 5962 break; 5323 5963 5324 5964 case 182: 5325 #line 833 "parser.yy" /* yacc.c:1646 */ 5326 { (yyval.fctl) = new ForCtl( (yyvsp[-5].en), (yyvsp[-2].en), (yyvsp[0].en) ); } 5327 #line 5328 "Parser/parser.cc" /* yacc.c:1646 */ 5965 5966 /* Line 1806 of yacc.c */ 5967 #line 871 "parser.yy" 5968 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5328 5969 break; 5329 5970 5330 5971 case 183: 5331 #line 835 "parser.yy" /* yacc.c:1646 */ 5332 { (yyval.fctl) = new ForCtl( (yyvsp[-3].decl), (yyvsp[-2].en), (yyvsp[0].en) ); } 5333 #line 5334 "Parser/parser.cc" /* yacc.c:1646 */ 5972 5973 /* Line 1806 of yacc.c */ 5974 #line 876 "parser.yy" 5975 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5334 5976 break; 5335 5977 5336 5978 case 184: 5337 #line 840 "parser.yy" /* yacc.c:1646 */ 5338 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Goto ) ); } 5339 #line 5340 "Parser/parser.cc" /* yacc.c:1646 */ 5979 5980 /* Line 1806 of yacc.c */ 5981 #line 878 "parser.yy" 5982 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5340 5983 break; 5341 5984 5342 5985 case 185: 5343 #line 844 "parser.yy" /* yacc.c:1646 */ 5344 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[-1].en) ) ); } 5345 #line 5346 "Parser/parser.cc" /* yacc.c:1646 */ 5986 5987 /* Line 1806 of yacc.c */ 5988 #line 883 "parser.yy" 5989 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5346 5990 break; 5347 5991 5348 5992 case 186: 5349 #line 847 "parser.yy" /* yacc.c:1646 */ 5350 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Continue ) ); } 5351 #line 5352 "Parser/parser.cc" /* yacc.c:1646 */ 5993 5994 /* Line 1806 of yacc.c */ 5995 #line 887 "parser.yy" 5996 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5352 5997 break; 5353 5998 5354 5999 case 187: 5355 #line 851 "parser.yy" /* yacc.c:1646 */ 5356 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Continue ) ); } 5357 #line 5358 "Parser/parser.cc" /* yacc.c:1646 */ 6000 6001 /* Line 1806 of yacc.c */ 6002 #line 890 "parser.yy" 6003 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5358 6004 break; 5359 6005 5360 6006 case 188: 5361 #line 854 "parser.yy" /* yacc.c:1646 */ 5362 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Break ) ); } 5363 #line 5364 "Parser/parser.cc" /* yacc.c:1646 */ 6007 6008 /* Line 1806 of yacc.c */ 6009 #line 894 "parser.yy" 6010 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5364 6011 break; 5365 6012 5366 6013 case 189: 5367 #line 858 "parser.yy" /* yacc.c:1646 */ 5368 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Break ) ); } 5369 #line 5370 "Parser/parser.cc" /* yacc.c:1646 */ 6014 6015 /* Line 1806 of yacc.c */ 6016 #line 897 "parser.yy" 6017 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5370 6018 break; 5371 6019 5372 6020 case 190: 5373 #line 860 "parser.yy" /* yacc.c:1646 */ 5374 { (yyval.sn) = new StatementNode( build_return( (yyvsp[-1].en) ) ); } 5375 #line 5376 "Parser/parser.cc" /* yacc.c:1646 */ 6021 6022 /* Line 1806 of yacc.c */ 6023 #line 901 "parser.yy" 6024 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 5376 6025 break; 5377 6026 5378 6027 case 191: 5379 #line 862 "parser.yy" /* yacc.c:1646 */ 5380 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5381 #line 5382 "Parser/parser.cc" /* yacc.c:1646 */ 6028 6029 /* Line 1806 of yacc.c */ 6030 #line 903 "parser.yy" 6031 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 5382 6032 break; 5383 6033 5384 6034 case 192: 5385 #line 864 "parser.yy" /* yacc.c:1646 */ 5386 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5387 #line 5388 "Parser/parser.cc" /* yacc.c:1646 */ 6035 6036 /* Line 1806 of yacc.c */ 6037 #line 905 "parser.yy" 6038 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5388 6039 break; 5389 6040 5390 6041 case 193: 5391 #line 866 "parser.yy" /* yacc.c:1646 */ 5392 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-3].en) ) ); } 5393 #line 5394 "Parser/parser.cc" /* yacc.c:1646 */ 6042 6043 /* Line 1806 of yacc.c */ 6044 #line 907 "parser.yy" 6045 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5394 6046 break; 5395 6047 5396 6048 case 194: 5397 #line 871 "parser.yy" /* yacc.c:1646 */ 5398 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), (yyvsp[0].sn), 0 ) ); } 5399 #line 5400 "Parser/parser.cc" /* yacc.c:1646 */ 6049 6050 /* Line 1806 of yacc.c */ 6051 #line 909 "parser.yy" 6052 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 5400 6053 break; 5401 6054 5402 6055 case 195: 5403 #line 873 "parser.yy" /* yacc.c:1646 */ 5404 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), 0, (yyvsp[0].sn) ) ); } 5405 #line 5406 "Parser/parser.cc" /* yacc.c:1646 */ 6056 6057 /* Line 1806 of yacc.c */ 6058 #line 914 "parser.yy" 6059 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 5406 6060 break; 5407 6061 5408 6062 case 196: 5409 #line 875 "parser.yy" /* yacc.c:1646 */ 5410 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-2].sn), (yyvsp[-1].sn), (yyvsp[0].sn) ) ); } 5411 #line 5412 "Parser/parser.cc" /* yacc.c:1646 */ 5412 break; 5413 5414 case 198: 5415 #line 882 "parser.yy" /* yacc.c:1646 */ 5416 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5417 #line 5418 "Parser/parser.cc" /* yacc.c:1646 */ 6063 6064 /* Line 1806 of yacc.c */ 6065 #line 916 "parser.yy" 6066 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6067 break; 6068 6069 case 197: 6070 6071 /* Line 1806 of yacc.c */ 6072 #line 918 "parser.yy" 6073 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 5418 6074 break; 5419 6075 5420 6076 case 199: 5421 #line 884 "parser.yy" /* yacc.c:1646 */ 5422 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5423 #line 5424 "Parser/parser.cc" /* yacc.c:1646 */ 6077 6078 /* Line 1806 of yacc.c */ 6079 #line 925 "parser.yy" 6080 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5424 6081 break; 5425 6082 5426 6083 case 200: 5427 #line 886 "parser.yy" /* yacc.c:1646 */ 5428 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5429 #line 5430 "Parser/parser.cc" /* yacc.c:1646 */ 6084 6085 /* Line 1806 of yacc.c */ 6086 #line 927 "parser.yy" 6087 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5430 6088 break; 5431 6089 5432 6090 case 201: 5433 #line 888 "parser.yy" /* yacc.c:1646 */ 5434 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5435 #line 5436 "Parser/parser.cc" /* yacc.c:1646 */ 6091 6092 /* Line 1806 of yacc.c */ 6093 #line 929 "parser.yy" 6094 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5436 6095 break; 5437 6096 5438 6097 case 202: 5439 #line 893 "parser.yy" /* yacc.c:1646 */ 5440 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5441 #line 5442 "Parser/parser.cc" /* yacc.c:1646 */ 6098 6099 /* Line 1806 of yacc.c */ 6100 #line 931 "parser.yy" 6101 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5442 6102 break; 5443 6103 5444 6104 case 203: 5445 #line 895 "parser.yy" /* yacc.c:1646 */ 5446 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5447 #line 5448 "Parser/parser.cc" /* yacc.c:1646 */ 6105 6106 /* Line 1806 of yacc.c */ 6107 #line 936 "parser.yy" 6108 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5448 6109 break; 5449 6110 5450 6111 case 204: 5451 #line 897 "parser.yy" /* yacc.c:1646 */ 5452 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5453 #line 5454 "Parser/parser.cc" /* yacc.c:1646 */ 6112 6113 /* Line 1806 of yacc.c */ 6114 #line 938 "parser.yy" 6115 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5454 6116 break; 5455 6117 5456 6118 case 205: 5457 #line 899 "parser.yy" /* yacc.c:1646 */ 5458 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5459 #line 5460 "Parser/parser.cc" /* yacc.c:1646 */ 6119 6120 /* Line 1806 of yacc.c */ 6121 #line 940 "parser.yy" 6122 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5460 6123 break; 5461 6124 5462 6125 case 206: 5463 #line 904 "parser.yy" /* yacc.c:1646 */ 6126 6127 /* Line 1806 of yacc.c */ 6128 #line 942 "parser.yy" 6129 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6130 break; 6131 6132 case 207: 6133 6134 /* Line 1806 of yacc.c */ 6135 #line 947 "parser.yy" 5464 6136 { 5465 (yyval.sn) = new StatementNode( build_finally( (yyvsp[ 0].sn) ) );6137 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); 5466 6138 } 5467 #line 5468 "Parser/parser.cc" /* yacc.c:1646 */ 5468 break; 5469 5470 case 208: 5471 #line 917 "parser.yy" /* yacc.c:1646 */ 6139 break; 6140 6141 case 209: 6142 6143 /* Line 1806 of yacc.c */ 6144 #line 960 "parser.yy" 5472 6145 { 5473 6146 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5474 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) );6147 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); 5475 6148 } 5476 #line 5477 "Parser/parser.cc" /* yacc.c:1646 */5477 break;5478 5479 case 209:5480 #line 922 "parser.yy" /* yacc.c:1646 */5481 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); }5482 #line 5483 "Parser/parser.cc" /* yacc.c:1646 */5483 6149 break; 5484 6150 5485 6151 case 210: 5486 #line 924 "parser.yy" /* yacc.c:1646 */ 6152 6153 /* Line 1806 of yacc.c */ 6154 #line 965 "parser.yy" 6155 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6156 break; 6157 6158 case 211: 6159 6160 /* Line 1806 of yacc.c */ 6161 #line 967 "parser.yy" 5487 6162 { 5488 6163 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5489 (yyval.decl) = (yyvsp[ -1].decl)->addName( (yyvsp[0].tok) );6164 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); 5490 6165 } 5491 #line 5492 "Parser/parser.cc" /* yacc.c:1646 */5492 break;5493 5494 case 212:5495 #line 933 "parser.yy" /* yacc.c:1646 */5496 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-4].flag), (yyvsp[-2].constant), 0 ) ); }5497 #line 5498 "Parser/parser.cc" /* yacc.c:1646 */5498 6166 break; 5499 6167 5500 6168 case 213: 5501 #line 935 "parser.yy" /* yacc.c:1646 */ 5502 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-6].flag), (yyvsp[-4].constant), (yyvsp[-2].en) ) ); } 5503 #line 5504 "Parser/parser.cc" /* yacc.c:1646 */ 6169 6170 /* Line 1806 of yacc.c */ 6171 #line 976 "parser.yy" 6172 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 5504 6173 break; 5505 6174 5506 6175 case 214: 5507 #line 937 "parser.yy" /* yacc.c:1646 */ 5508 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-8].flag), (yyvsp[-6].constant), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5509 #line 5510 "Parser/parser.cc" /* yacc.c:1646 */ 6176 6177 /* Line 1806 of yacc.c */ 6178 #line 978 "parser.yy" 6179 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 5510 6180 break; 5511 6181 5512 6182 case 215: 5513 #line 939 "parser.yy" /* yacc.c:1646 */ 5514 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-10].flag), (yyvsp[-8].constant), (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5515 #line 5516 "Parser/parser.cc" /* yacc.c:1646 */ 6183 6184 /* Line 1806 of yacc.c */ 6185 #line 980 "parser.yy" 6186 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 5516 6187 break; 5517 6188 5518 6189 case 216: 5519 #line 941 "parser.yy" /* yacc.c:1646 */ 5520 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-12].flag), (yyvsp[-9].constant), 0, (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].label) ) ); } 5521 #line 5522 "Parser/parser.cc" /* yacc.c:1646 */ 6190 6191 /* Line 1806 of yacc.c */ 6192 #line 982 "parser.yy" 6193 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 5522 6194 break; 5523 6195 5524 6196 case 217: 5525 #line 946 "parser.yy" /* yacc.c:1646 */ 6197 6198 /* Line 1806 of yacc.c */ 6199 #line 984 "parser.yy" 6200 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6201 break; 6202 6203 case 218: 6204 6205 /* Line 1806 of yacc.c */ 6206 #line 989 "parser.yy" 5526 6207 { (yyval.flag) = false; } 5527 #line 5528 "Parser/parser.cc" /* yacc.c:1646 */ 5528 break; 5529 5530 case 218: 5531 #line 948 "parser.yy" /* yacc.c:1646 */ 6208 break; 6209 6210 case 219: 6211 6212 /* Line 1806 of yacc.c */ 6213 #line 991 "parser.yy" 5532 6214 { (yyval.flag) = true; } 5533 #line 5534 "Parser/parser.cc" /* yacc.c:1646 */ 5534 break; 5535 5536 case 219: 5537 #line 953 "parser.yy" /* yacc.c:1646 */ 6215 break; 6216 6217 case 220: 6218 6219 /* Line 1806 of yacc.c */ 6220 #line 996 "parser.yy" 5538 6221 { (yyval.en) = 0; } 5539 #line 5540 "Parser/parser.cc" /* yacc.c:1646 */5540 break;5541 5542 case 222:5543 #line 960 "parser.yy" /* yacc.c:1646 */5544 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); }5545 #line 5546 "Parser/parser.cc" /* yacc.c:1646 */5546 6222 break; 5547 6223 5548 6224 case 223: 5549 #line 965 "parser.yy" /* yacc.c:1646 */ 5550 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5551 #line 5552 "Parser/parser.cc" /* yacc.c:1646 */ 6225 6226 /* Line 1806 of yacc.c */ 6227 #line 1003 "parser.yy" 6228 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5552 6229 break; 5553 6230 5554 6231 case 224: 5555 #line 967 "parser.yy" /* yacc.c:1646 */ 5556 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[-5].en), (yyvsp[-3].constant), (yyvsp[-1].en) ) ); } 5557 #line 5558 "Parser/parser.cc" /* yacc.c:1646 */ 6232 6233 /* Line 1806 of yacc.c */ 6234 #line 1008 "parser.yy" 6235 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 5558 6236 break; 5559 6237 5560 6238 case 225: 5561 #line 972 "parser.yy" /* yacc.c:1646 */ 6239 6240 /* Line 1806 of yacc.c */ 6241 #line 1010 "parser.yy" 6242 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6243 break; 6244 6245 case 226: 6246 6247 /* Line 1806 of yacc.c */ 6248 #line 1015 "parser.yy" 5562 6249 { (yyval.en) = 0; } 5563 #line 5564 "Parser/parser.cc" /* yacc.c:1646 */5564 break;5565 5566 case 226:5567 #line 974 "parser.yy" /* yacc.c:1646 */5568 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); }5569 #line 5570 "Parser/parser.cc" /* yacc.c:1646 */5570 6250 break; 5571 6251 5572 6252 case 227: 5573 #line 976 "parser.yy" /* yacc.c:1646 */ 5574 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( new ExpressionNode( (yyvsp[0].constant) ) ); } 5575 #line 5576 "Parser/parser.cc" /* yacc.c:1646 */ 6253 6254 /* Line 1806 of yacc.c */ 6255 #line 1017 "parser.yy" 6256 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5576 6257 break; 5577 6258 5578 6259 case 228: 5579 #line 981 "parser.yy" /* yacc.c:1646 */ 5580 { (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( assign_strptr((yyvsp[0].tok)) ); } 5581 #line 5582 "Parser/parser.cc" /* yacc.c:1646 */ 6260 6261 /* Line 1806 of yacc.c */ 6262 #line 1019 "parser.yy" 6263 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 5582 6264 break; 5583 6265 5584 6266 case 229: 5585 #line 983 "parser.yy" /* yacc.c:1646 */ 5586 { (yyval.label) = (yyvsp[-2].label); (yyvsp[-2].label)->labels.push_back( assign_strptr((yyvsp[0].tok)) ); } 5587 #line 5588 "Parser/parser.cc" /* yacc.c:1646 */ 6267 6268 /* Line 1806 of yacc.c */ 6269 #line 1024 "parser.yy" 6270 { 6271 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); 6272 delete (yyvsp[(1) - (1)].tok); // allocated by lexer 6273 } 5588 6274 break; 5589 6275 5590 6276 case 230: 5591 #line 990 "parser.yy" /* yacc.c:1646 */ 6277 6278 /* Line 1806 of yacc.c */ 6279 #line 1029 "parser.yy" 6280 { 6281 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); 6282 delete (yyvsp[(3) - (3)].tok); // allocated by lexer 6283 } 6284 break; 6285 6286 case 231: 6287 6288 /* Line 1806 of yacc.c */ 6289 #line 1039 "parser.yy" 5592 6290 { (yyval.decl) = 0; } 5593 #line 5594 "Parser/parser.cc" /* yacc.c:1646 */5594 break;5595 5596 case 233:5597 #line 997 "parser.yy" /* yacc.c:1646 */5598 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); }5599 #line 5600 "Parser/parser.cc" /* yacc.c:1646 */5600 6291 break; 5601 6292 5602 6293 case 234: 5603 #line 1002 "parser.yy" /* yacc.c:1646 */ 6294 6295 /* Line 1806 of yacc.c */ 6296 #line 1046 "parser.yy" 6297 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6298 break; 6299 6300 case 235: 6301 6302 /* Line 1806 of yacc.c */ 6303 #line 1051 "parser.yy" 5604 6304 { (yyval.decl) = 0; } 5605 #line 5606 "Parser/parser.cc" /* yacc.c:1646 */ 5606 break; 5607 5608 case 237: 5609 #line 1009 "parser.yy" /* yacc.c:1646 */ 5610 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5611 #line 5612 "Parser/parser.cc" /* yacc.c:1646 */ 5612 break; 5613 5614 case 242: 5615 #line 1023 "parser.yy" /* yacc.c:1646 */ 6305 break; 6306 6307 case 238: 6308 6309 /* Line 1806 of yacc.c */ 6310 #line 1058 "parser.yy" 6311 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6312 break; 6313 6314 case 243: 6315 6316 /* Line 1806 of yacc.c */ 6317 #line 1072 "parser.yy" 5616 6318 {} 5617 #line 5618 "Parser/parser.cc" /* yacc.c:1646 */ 5618 break; 5619 5620 case 243: 5621 #line 1024 "parser.yy" /* yacc.c:1646 */ 6319 break; 6320 6321 case 244: 6322 6323 /* Line 1806 of yacc.c */ 6324 #line 1073 "parser.yy" 5622 6325 {} 5623 #line 5624 "Parser/parser.cc" /* yacc.c:1646 */ 5624 break; 5625 5626 case 251: 5627 #line 1053 "parser.yy" /* yacc.c:1646 */ 6326 break; 6327 6328 case 252: 6329 6330 /* Line 1806 of yacc.c */ 6331 #line 1102 "parser.yy" 5628 6332 { 5629 6333 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5630 (yyval.decl) = (yyvsp[ -1].decl)->addInitializer( (yyvsp[0].in) );6334 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) ); 5631 6335 } 5632 #line 5633 "Parser/parser.cc" /* yacc.c:1646 */ 5633 break; 5634 5635 case 252: 5636 #line 1060 "parser.yy" /* yacc.c:1646 */ 6336 break; 6337 6338 case 253: 6339 6340 /* Line 1806 of yacc.c */ 6341 #line 1109 "parser.yy" 5637 6342 { 5638 6343 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5639 (yyval.decl) = (yyvsp[ -1].decl)->addQualifiers( (yyvsp[-2].decl) )->addInitializer( (yyvsp[0].in) );;6344 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );; 5640 6345 } 5641 #line 5642 "Parser/parser.cc" /* yacc.c:1646 */ 5642 break; 5643 5644 case 253: 5645 #line 1065 "parser.yy" /* yacc.c:1646 */ 6346 break; 6347 6348 case 254: 6349 6350 /* Line 1806 of yacc.c */ 6351 #line 1114 "parser.yy" 5646 6352 { 5647 typedefTable.addToEnclosingScope( *(yyvsp[ -1].tok), TypedefTable::ID );5648 (yyval.decl) = (yyvsp[ -5].decl)->appendList( (yyvsp[-5].decl)->cloneType( (yyvsp[-1].tok) )->addInitializer( (yyvsp[0].in) ) );6353 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); 6354 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) ); 5649 6355 } 5650 #line 5651 "Parser/parser.cc" /* yacc.c:1646 */ 5651 break; 5652 5653 case 254: 5654 #line 1075 "parser.yy" /* yacc.c:1646 */ 6356 break; 6357 6358 case 255: 6359 6360 /* Line 1806 of yacc.c */ 6361 #line 1124 "parser.yy" 5655 6362 { 5656 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5657 (yyval.decl) = (yyvsp[ -2].decl)->addName( (yyvsp[-1].tok) );6363 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6364 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5658 6365 } 5659 #line 5660 "Parser/parser.cc" /* yacc.c:1646 */ 5660 break; 5661 5662 case 255: 5663 #line 1080 "parser.yy" /* yacc.c:1646 */ 6366 break; 6367 6368 case 256: 6369 6370 /* Line 1806 of yacc.c */ 6371 #line 1129 "parser.yy" 5664 6372 { 5665 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5666 (yyval.decl) = (yyvsp[ -2].decl)->addName( (yyvsp[-1].tok) );6373 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6374 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5667 6375 } 5668 #line 5669 "Parser/parser.cc" /* yacc.c:1646 */ 5669 break; 5670 5671 case 256: 5672 #line 1085 "parser.yy" /* yacc.c:1646 */ 6376 break; 6377 6378 case 257: 6379 6380 /* Line 1806 of yacc.c */ 6381 #line 1134 "parser.yy" 5673 6382 { 5674 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5675 (yyval.decl) = (yyvsp[ -2].decl)->addQualifiers( (yyvsp[-3].decl) )->addName( (yyvsp[-1].tok) );6383 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); 6384 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) ); 5676 6385 } 5677 #line 5678 "Parser/parser.cc" /* yacc.c:1646 */ 5678 break; 5679 5680 case 257: 5681 #line 1093 "parser.yy" /* yacc.c:1646 */ 6386 break; 6387 6388 case 258: 6389 6390 /* Line 1806 of yacc.c */ 6391 #line 1142 "parser.yy" 5682 6392 { 5683 6393 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5684 (yyval.decl) = (yyvsp[ 0].decl);6394 (yyval.decl) = (yyvsp[(1) - (1)].decl); 5685 6395 } 5686 #line 5687 "Parser/parser.cc" /* yacc.c:1646 */ 5687 break; 5688 5689 case 258: 5690 #line 1098 "parser.yy" /* yacc.c:1646 */ 6396 break; 6397 6398 case 259: 6399 6400 /* Line 1806 of yacc.c */ 6401 #line 1147 "parser.yy" 5691 6402 { 5692 6403 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5693 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-1].decl) );6404 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); 5694 6405 } 5695 #line 5696 "Parser/parser.cc" /* yacc.c:1646 */ 5696 break; 5697 5698 case 259: 5699 #line 1103 "parser.yy" /* yacc.c:1646 */ 6406 break; 6407 6408 case 260: 6409 6410 /* Line 1806 of yacc.c */ 6411 #line 1152 "parser.yy" 5700 6412 { 5701 6413 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5702 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-1].decl) );6414 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); 5703 6415 } 5704 #line 5705 "Parser/parser.cc" /* yacc.c:1646 */ 5705 break; 5706 5707 case 260: 5708 #line 1108 "parser.yy" /* yacc.c:1646 */ 6416 break; 6417 6418 case 261: 6419 6420 /* Line 1806 of yacc.c */ 6421 #line 1157 "parser.yy" 5709 6422 { 5710 6423 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5711 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-1].decl) );6424 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(2) - (3)].decl) ); 5712 6425 } 5713 #line 5714 "Parser/parser.cc" /* yacc.c:1646 */ 5714 break; 5715 5716 case 261: 5717 #line 1113 "parser.yy" /* yacc.c:1646 */ 6426 break; 6427 6428 case 262: 6429 6430 /* Line 1806 of yacc.c */ 6431 #line 1162 "parser.yy" 5718 6432 { 5719 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::ID );5720 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );6433 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 6434 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5721 6435 } 5722 #line 5723 "Parser/parser.cc" /* yacc.c:1646 */ 5723 break; 5724 5725 case 262: 5726 #line 1121 "parser.yy" /* yacc.c:1646 */ 6436 break; 6437 6438 case 263: 6439 6440 /* Line 1806 of yacc.c */ 6441 #line 1170 "parser.yy" 5727 6442 { 5728 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), DeclarationNode::newTuple( 0 ), (yyvsp[-2].decl), 0, true );6443 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 5729 6444 } 5730 #line 5731 "Parser/parser.cc" /* yacc.c:1646 */ 5731 break; 5732 5733 case 263: 5734 #line 1144 "parser.yy" /* yacc.c:1646 */ 6445 break; 6446 6447 case 264: 6448 6449 /* Line 1806 of yacc.c */ 6450 #line 1193 "parser.yy" 5735 6451 { 5736 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true );6452 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5737 6453 } 5738 #line 5739 "Parser/parser.cc" /* yacc.c:1646 */ 5739 break; 5740 5741 case 264: 5742 #line 1148 "parser.yy" /* yacc.c:1646 */ 6454 break; 6455 6456 case 265: 6457 6458 /* Line 1806 of yacc.c */ 6459 #line 1197 "parser.yy" 5743 6460 { 5744 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true );6461 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5745 6462 } 5746 #line 5747 "Parser/parser.cc" /* yacc.c:1646 */5747 break;5748 5749 case 265:5750 #line 1155 "parser.yy" /* yacc.c:1646 */5751 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); }5752 #line 5753 "Parser/parser.cc" /* yacc.c:1646 */5753 6463 break; 5754 6464 5755 6465 case 266: 5756 #line 1159 "parser.yy" /* yacc.c:1646 */ 5757 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-6].decl)->appendList( (yyvsp[-2].decl) ) ); } 5758 #line 5759 "Parser/parser.cc" /* yacc.c:1646 */ 6466 6467 /* Line 1806 of yacc.c */ 6468 #line 1204 "parser.yy" 6469 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 5759 6470 break; 5760 6471 5761 6472 case 267: 5762 #line 1164 "parser.yy" /* yacc.c:1646 */ 6473 6474 /* Line 1806 of yacc.c */ 6475 #line 1208 "parser.yy" 6476 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6477 break; 6478 6479 case 268: 6480 6481 /* Line 1806 of yacc.c */ 6482 #line 1213 "parser.yy" 5763 6483 { 5764 6484 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5765 (yyval.decl) = (yyvsp[ 0].decl)->addTypedef();6485 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 5766 6486 } 5767 #line 5768 "Parser/parser.cc" /* yacc.c:1646 */ 5768 break; 5769 5770 case 268: 5771 #line 1169 "parser.yy" /* yacc.c:1646 */ 6487 break; 6488 6489 case 269: 6490 6491 /* Line 1806 of yacc.c */ 6492 #line 1218 "parser.yy" 5772 6493 { 5773 6494 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5774 (yyval.decl) = (yyvsp[ 0].decl)->addTypedef();6495 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 5775 6496 } 5776 #line 5777 "Parser/parser.cc" /* yacc.c:1646 */ 5777 break; 5778 5779 case 269: 5780 #line 1174 "parser.yy" /* yacc.c:1646 */ 6497 break; 6498 6499 case 270: 6500 6501 /* Line 1806 of yacc.c */ 6502 #line 1223 "parser.yy" 5781 6503 { 5782 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::TD );5783 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );6504 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); 6505 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5784 6506 } 5785 #line 5786 "Parser/parser.cc" /* yacc.c:1646 */ 5786 break; 5787 5788 case 270: 5789 #line 1185 "parser.yy" /* yacc.c:1646 */ 6507 break; 6508 6509 case 271: 6510 6511 /* Line 1806 of yacc.c */ 6512 #line 1234 "parser.yy" 5790 6513 { 5791 6514 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5792 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) )->addTypedef();6515 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(2) - (3)].decl) )->addTypedef(); 5793 6516 } 5794 #line 5795 "Parser/parser.cc" /* yacc.c:1646 */ 5795 break; 5796 5797 case 271: 5798 #line 1190 "parser.yy" /* yacc.c:1646 */ 6517 break; 6518 6519 case 272: 6520 6521 /* Line 1806 of yacc.c */ 6522 #line 1239 "parser.yy" 5799 6523 { 5800 6524 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5801 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) )->addTypedef() );6525 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) )->addTypedef() ); 5802 6526 } 5803 #line 5804 "Parser/parser.cc" /* yacc.c:1646 */ 5804 break; 5805 5806 case 272: 5807 #line 1195 "parser.yy" /* yacc.c:1646 */ 6527 break; 6528 6529 case 273: 6530 6531 /* Line 1806 of yacc.c */ 6532 #line 1244 "parser.yy" 5808 6533 { 5809 6534 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5810 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[-3].decl) )->addTypedef();6535 (yyval.decl) = (yyvsp[(4) - (4)].decl)->addType( (yyvsp[(3) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef(); 5811 6536 } 5812 #line 5813 "Parser/parser.cc" /* yacc.c:1646 */ 5813 break; 5814 5815 case 273: 5816 #line 1200 "parser.yy" /* yacc.c:1646 */ 6537 break; 6538 6539 case 274: 6540 6541 /* Line 1806 of yacc.c */ 6542 #line 1249 "parser.yy" 5817 6543 { 5818 6544 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5819 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-2].decl) )->addTypedef();6545 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addTypedef(); 5820 6546 } 5821 #line 5822 "Parser/parser.cc" /* yacc.c:1646 */ 5822 break; 5823 5824 case 274: 5825 #line 1205 "parser.yy" /* yacc.c:1646 */ 6547 break; 6548 6549 case 275: 6550 6551 /* Line 1806 of yacc.c */ 6552 #line 1254 "parser.yy" 5826 6553 { 5827 6554 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5828 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-3].decl) )->addTypedef()->addType( (yyvsp[-3].decl) );6555 (yyval.decl) = (yyvsp[(4) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef()->addType( (yyvsp[(1) - (4)].decl) ); 5829 6556 } 5830 #line 5831 "Parser/parser.cc" /* yacc.c:1646 */ 5831 break; 5832 5833 case 275: 5834 #line 1214 "parser.yy" /* yacc.c:1646 */ 6557 break; 6558 6559 case 276: 6560 6561 /* Line 1806 of yacc.c */ 6562 #line 1263 "parser.yy" 5835 6563 { 5836 typedefTable.addToEnclosingScope( *(yyvsp[ -2].tok), TypedefTable::TD );6564 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); 5837 6565 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 5838 6566 } 5839 #line 5840 "Parser/parser.cc" /* yacc.c:1646 */ 5840 break; 5841 5842 case 276: 5843 #line 1219 "parser.yy" /* yacc.c:1646 */ 6567 break; 6568 6569 case 277: 6570 6571 /* Line 1806 of yacc.c */ 6572 #line 1268 "parser.yy" 5844 6573 { 5845 typedefTable.addToEnclosingScope( *(yyvsp[ -2].tok), TypedefTable::TD );6574 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); 5846 6575 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 5847 6576 } 5848 #line 5849 "Parser/parser.cc" /* yacc.c:1646 */ 5849 break; 5850 5851 case 281: 5852 #line 1236 "parser.yy" /* yacc.c:1646 */ 6577 break; 6578 6579 case 282: 6580 6581 /* Line 1806 of yacc.c */ 6582 #line 1285 "parser.yy" 5853 6583 { 5854 6584 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5855 (yyval.decl) = ( (yyvsp[ -2].decl)->addType( (yyvsp[-3].decl) ))->addInitializer( (yyvsp[0].in) );6585 (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) ); 5856 6586 } 5857 #line 5858 "Parser/parser.cc" /* yacc.c:1646 */ 5858 break; 5859 5860 case 282: 5861 #line 1241 "parser.yy" /* yacc.c:1646 */ 6587 break; 6588 6589 case 283: 6590 6591 /* Line 1806 of yacc.c */ 6592 #line 1290 "parser.yy" 5862 6593 { 5863 6594 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5864 (yyval.decl) = (yyvsp[ -5].decl)->appendList( (yyvsp[-5].decl)->cloneBaseType( (yyvsp[-2].decl)->addInitializer( (yyvsp[0].in) ) ) );6595 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) ); 5865 6596 } 5866 #line 5867 "Parser/parser.cc" /* yacc.c:1646 */ 5867 break; 5868 5869 case 291: 5870 #line 1263 "parser.yy" /* yacc.c:1646 */ 6597 break; 6598 6599 case 292: 6600 6601 /* Line 1806 of yacc.c */ 6602 #line 1312 "parser.yy" 5871 6603 { (yyval.decl) = 0; } 5872 #line 5873 "Parser/parser.cc" /* yacc.c:1646 */ 5873 break; 5874 5875 case 294: 5876 #line 1275 "parser.yy" /* yacc.c:1646 */ 5877 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5878 #line 5879 "Parser/parser.cc" /* yacc.c:1646 */ 5879 break; 5880 5881 case 297: 5882 #line 1286 "parser.yy" /* yacc.c:1646 */ 6604 break; 6605 6606 case 295: 6607 6608 /* Line 1806 of yacc.c */ 6609 #line 1324 "parser.yy" 6610 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6611 break; 6612 6613 case 298: 6614 6615 /* Line 1806 of yacc.c */ 6616 #line 1335 "parser.yy" 5883 6617 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 5884 #line 5885 "Parser/parser.cc" /* yacc.c:1646 */ 5885 break; 5886 5887 case 298: 5888 #line 1288 "parser.yy" /* yacc.c:1646 */ 6618 break; 6619 6620 case 299: 6621 6622 /* Line 1806 of yacc.c */ 6623 #line 1337 "parser.yy" 5889 6624 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 5890 #line 5891 "Parser/parser.cc" /* yacc.c:1646 */ 5891 break; 5892 5893 case 299: 5894 #line 1290 "parser.yy" /* yacc.c:1646 */ 6625 break; 6626 6627 case 300: 6628 6629 /* Line 1806 of yacc.c */ 6630 #line 1339 "parser.yy" 5895 6631 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 5896 #line 5897 "Parser/parser.cc" /* yacc.c:1646 */ 5897 break; 5898 5899 case 300: 5900 #line 1292 "parser.yy" /* yacc.c:1646 */ 6632 break; 6633 6634 case 301: 6635 6636 /* Line 1806 of yacc.c */ 6637 #line 1341 "parser.yy" 5901 6638 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 5902 #line 5903 "Parser/parser.cc" /* yacc.c:1646 */ 5903 break; 5904 5905 case 301: 5906 #line 1294 "parser.yy" /* yacc.c:1646 */ 6639 break; 6640 6641 case 302: 6642 6643 /* Line 1806 of yacc.c */ 6644 #line 1343 "parser.yy" 5907 6645 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 5908 #line 5909 "Parser/parser.cc" /* yacc.c:1646 */ 5909 break; 5910 5911 case 302: 5912 #line 1296 "parser.yy" /* yacc.c:1646 */ 6646 break; 6647 6648 case 303: 6649 6650 /* Line 1806 of yacc.c */ 6651 #line 1345 "parser.yy" 5913 6652 { 5914 6653 typedefTable.enterScope(); 5915 6654 } 5916 #line 5917 "Parser/parser.cc" /* yacc.c:1646 */ 5917 break; 5918 5919 case 303: 5920 #line 1300 "parser.yy" /* yacc.c:1646 */ 6655 break; 6656 6657 case 304: 6658 6659 /* Line 1806 of yacc.c */ 6660 #line 1349 "parser.yy" 5921 6661 { 5922 6662 typedefTable.leaveScope(); 5923 (yyval.decl) = DeclarationNode::newForall( (yyvsp[ -1].decl) );6663 (yyval.decl) = DeclarationNode::newForall( (yyvsp[(4) - (5)].decl) ); 5924 6664 } 5925 #line 5926 "Parser/parser.cc" /* yacc.c:1646 */5926 break;5927 5928 case 305:5929 #line 1309 "parser.yy" /* yacc.c:1646 */5930 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }5931 #line 5932 "Parser/parser.cc" /* yacc.c:1646 */5932 6665 break; 5933 6666 5934 6667 case 306: 5935 #line 1311 "parser.yy" /* yacc.c:1646 */ 5936 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 5937 #line 5938 "Parser/parser.cc" /* yacc.c:1646 */ 5938 break; 5939 5940 case 308: 5941 #line 1322 "parser.yy" /* yacc.c:1646 */ 5942 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5943 #line 5944 "Parser/parser.cc" /* yacc.c:1646 */ 6668 6669 /* Line 1806 of yacc.c */ 6670 #line 1358 "parser.yy" 6671 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6672 break; 6673 6674 case 307: 6675 6676 /* Line 1806 of yacc.c */ 6677 #line 1360 "parser.yy" 6678 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 5944 6679 break; 5945 6680 5946 6681 case 309: 5947 #line 1327 "parser.yy" /* yacc.c:1646 */ 6682 6683 /* Line 1806 of yacc.c */ 6684 #line 1371 "parser.yy" 6685 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6686 break; 6687 6688 case 310: 6689 6690 /* Line 1806 of yacc.c */ 6691 #line 1376 "parser.yy" 5948 6692 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 5949 #line 5950 "Parser/parser.cc" /* yacc.c:1646 */ 5950 break; 5951 5952 case 310: 5953 #line 1329 "parser.yy" /* yacc.c:1646 */ 6693 break; 6694 6695 case 311: 6696 6697 /* Line 1806 of yacc.c */ 6698 #line 1378 "parser.yy" 5954 6699 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 5955 #line 5956 "Parser/parser.cc" /* yacc.c:1646 */ 5956 break; 5957 5958 case 311: 5959 #line 1331 "parser.yy" /* yacc.c:1646 */ 6700 break; 6701 6702 case 312: 6703 6704 /* Line 1806 of yacc.c */ 6705 #line 1380 "parser.yy" 5960 6706 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 5961 #line 5962 "Parser/parser.cc" /* yacc.c:1646 */ 5962 break; 5963 5964 case 312: 5965 #line 1333 "parser.yy" /* yacc.c:1646 */ 6707 break; 6708 6709 case 313: 6710 6711 /* Line 1806 of yacc.c */ 6712 #line 1382 "parser.yy" 5966 6713 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 5967 #line 5968 "Parser/parser.cc" /* yacc.c:1646 */ 5968 break; 5969 5970 case 313: 5971 #line 1335 "parser.yy" /* yacc.c:1646 */ 6714 break; 6715 6716 case 314: 6717 6718 /* Line 1806 of yacc.c */ 6719 #line 1384 "parser.yy" 5972 6720 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 5973 #line 5974 "Parser/parser.cc" /* yacc.c:1646 */ 5974 break; 5975 5976 case 314: 5977 #line 1337 "parser.yy" /* yacc.c:1646 */ 6721 break; 6722 6723 case 315: 6724 6725 /* Line 1806 of yacc.c */ 6726 #line 1386 "parser.yy" 5978 6727 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 5979 #line 5980 "Parser/parser.cc" /* yacc.c:1646 */ 5980 break; 5981 5982 case 315: 5983 #line 1339 "parser.yy" /* yacc.c:1646 */ 6728 break; 6729 6730 case 316: 6731 6732 /* Line 1806 of yacc.c */ 6733 #line 1388 "parser.yy" 5984 6734 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 5985 #line 5986 "Parser/parser.cc" /* yacc.c:1646 */ 5986 break; 5987 5988 case 316: 5989 #line 1341 "parser.yy" /* yacc.c:1646 */ 6735 break; 6736 6737 case 317: 6738 6739 /* Line 1806 of yacc.c */ 6740 #line 1390 "parser.yy" 5990 6741 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 5991 #line 5992 "Parser/parser.cc" /* yacc.c:1646 */ 5992 break; 5993 5994 case 317: 5995 #line 1346 "parser.yy" /* yacc.c:1646 */ 6742 break; 6743 6744 case 318: 6745 6746 /* Line 1806 of yacc.c */ 6747 #line 1395 "parser.yy" 5996 6748 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 5997 #line 5998 "Parser/parser.cc" /* yacc.c:1646 */ 5998 break; 5999 6000 case 318: 6001 #line 1348 "parser.yy" /* yacc.c:1646 */ 6749 break; 6750 6751 case 319: 6752 6753 /* Line 1806 of yacc.c */ 6754 #line 1397 "parser.yy" 6002 6755 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6003 #line 6004 "Parser/parser.cc" /* yacc.c:1646 */ 6004 break; 6005 6006 case 319: 6007 #line 1350 "parser.yy" /* yacc.c:1646 */ 6756 break; 6757 6758 case 320: 6759 6760 /* Line 1806 of yacc.c */ 6761 #line 1399 "parser.yy" 6008 6762 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6009 #line 6010 "Parser/parser.cc" /* yacc.c:1646 */ 6010 break; 6011 6012 case 320: 6013 #line 1352 "parser.yy" /* yacc.c:1646 */ 6763 break; 6764 6765 case 321: 6766 6767 /* Line 1806 of yacc.c */ 6768 #line 1401 "parser.yy" 6014 6769 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6015 #line 6016 "Parser/parser.cc" /* yacc.c:1646 */ 6016 break; 6017 6018 case 321: 6019 #line 1354 "parser.yy" /* yacc.c:1646 */ 6770 break; 6771 6772 case 322: 6773 6774 /* Line 1806 of yacc.c */ 6775 #line 1403 "parser.yy" 6020 6776 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6021 #line 6022 "Parser/parser.cc" /* yacc.c:1646 */ 6022 break; 6023 6024 case 322: 6025 #line 1356 "parser.yy" /* yacc.c:1646 */ 6777 break; 6778 6779 case 323: 6780 6781 /* Line 1806 of yacc.c */ 6782 #line 1405 "parser.yy" 6026 6783 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6027 #line 6028 "Parser/parser.cc" /* yacc.c:1646 */ 6028 break; 6029 6030 case 323: 6031 #line 1358 "parser.yy" /* yacc.c:1646 */ 6784 break; 6785 6786 case 324: 6787 6788 /* Line 1806 of yacc.c */ 6789 #line 1407 "parser.yy" 6032 6790 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6033 #line 6034 "Parser/parser.cc" /* yacc.c:1646 */ 6034 break; 6035 6036 case 324: 6037 #line 1360 "parser.yy" /* yacc.c:1646 */ 6791 break; 6792 6793 case 325: 6794 6795 /* Line 1806 of yacc.c */ 6796 #line 1409 "parser.yy" 6038 6797 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6039 #line 6040 "Parser/parser.cc" /* yacc.c:1646 */ 6040 break; 6041 6042 case 325: 6043 #line 1362 "parser.yy" /* yacc.c:1646 */ 6798 break; 6799 6800 case 326: 6801 6802 /* Line 1806 of yacc.c */ 6803 #line 1411 "parser.yy" 6044 6804 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6045 #line 6046 "Parser/parser.cc" /* yacc.c:1646 */ 6046 break; 6047 6048 case 326: 6049 #line 1364 "parser.yy" /* yacc.c:1646 */ 6805 break; 6806 6807 case 327: 6808 6809 /* Line 1806 of yacc.c */ 6810 #line 1413 "parser.yy" 6050 6811 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6051 #line 6052 "Parser/parser.cc" /* yacc.c:1646 */ 6052 break; 6053 6054 case 327: 6055 #line 1366 "parser.yy" /* yacc.c:1646 */ 6812 break; 6813 6814 case 328: 6815 6816 /* Line 1806 of yacc.c */ 6817 #line 1415 "parser.yy" 6056 6818 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6057 #line 6058 "Parser/parser.cc" /* yacc.c:1646 */ 6058 break; 6059 6060 case 328: 6061 #line 1368 "parser.yy" /* yacc.c:1646 */ 6819 break; 6820 6821 case 329: 6822 6823 /* Line 1806 of yacc.c */ 6824 #line 1417 "parser.yy" 6062 6825 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6063 #line 6064 "Parser/parser.cc" /* yacc.c:1646 */ 6064 break; 6065 6066 case 329: 6067 #line 1370 "parser.yy" /* yacc.c:1646 */ 6826 break; 6827 6828 case 330: 6829 6830 /* Line 1806 of yacc.c */ 6831 #line 1419 "parser.yy" 6068 6832 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6069 #line 6070 "Parser/parser.cc" /* yacc.c:1646 */6070 break;6071 6072 case 331:6073 #line 1377 "parser.yy" /* yacc.c:1646 */6074 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); }6075 #line 6076 "Parser/parser.cc" /* yacc.c:1646 */6076 6833 break; 6077 6834 6078 6835 case 332: 6079 #line 1379 "parser.yy" /* yacc.c:1646 */ 6080 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6081 #line 6082 "Parser/parser.cc" /* yacc.c:1646 */ 6836 6837 /* Line 1806 of yacc.c */ 6838 #line 1426 "parser.yy" 6839 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6082 6840 break; 6083 6841 6084 6842 case 333: 6085 #line 1381 "parser.yy" /* yacc.c:1646 */ 6086 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6087 #line 6088 "Parser/parser.cc" /* yacc.c:1646 */ 6843 6844 /* Line 1806 of yacc.c */ 6845 #line 1428 "parser.yy" 6846 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6088 6847 break; 6089 6848 6090 6849 case 334: 6091 #line 1383 "parser.yy" /* yacc.c:1646 */ 6092 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) )->addType( (yyvsp[-2].decl) ); } 6093 #line 6094 "Parser/parser.cc" /* yacc.c:1646 */ 6094 break; 6095 6096 case 336: 6097 #line 1389 "parser.yy" /* yacc.c:1646 */ 6098 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6099 #line 6100 "Parser/parser.cc" /* yacc.c:1646 */ 6100 break; 6101 6102 case 338: 6103 #line 1396 "parser.yy" /* yacc.c:1646 */ 6104 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6105 #line 6106 "Parser/parser.cc" /* yacc.c:1646 */ 6850 6851 /* Line 1806 of yacc.c */ 6852 #line 1430 "parser.yy" 6853 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6854 break; 6855 6856 case 335: 6857 6858 /* Line 1806 of yacc.c */ 6859 #line 1432 "parser.yy" 6860 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6861 break; 6862 6863 case 337: 6864 6865 /* Line 1806 of yacc.c */ 6866 #line 1438 "parser.yy" 6867 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6106 6868 break; 6107 6869 6108 6870 case 339: 6109 #line 1398 "parser.yy" /* yacc.c:1646 */ 6110 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6111 #line 6112 "Parser/parser.cc" /* yacc.c:1646 */ 6871 6872 /* Line 1806 of yacc.c */ 6873 #line 1445 "parser.yy" 6874 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6112 6875 break; 6113 6876 6114 6877 case 340: 6115 #line 1400 "parser.yy" /* yacc.c:1646 */ 6116 { (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[0].decl) ); } 6117 #line 6118 "Parser/parser.cc" /* yacc.c:1646 */ 6878 6879 /* Line 1806 of yacc.c */ 6880 #line 1447 "parser.yy" 6881 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6118 6882 break; 6119 6883 6120 6884 case 341: 6121 #line 1405 "parser.yy" /* yacc.c:1646 */ 6122 { (yyval.decl) = (yyvsp[-1].decl); } 6123 #line 6124 "Parser/parser.cc" /* yacc.c:1646 */ 6885 6886 /* Line 1806 of yacc.c */ 6887 #line 1449 "parser.yy" 6888 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6124 6889 break; 6125 6890 6126 6891 case 342: 6127 #line 1407 "parser.yy" /* yacc.c:1646 */ 6128 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[-1].en) ); } 6129 #line 6130 "Parser/parser.cc" /* yacc.c:1646 */ 6892 6893 /* Line 1806 of yacc.c */ 6894 #line 1454 "parser.yy" 6895 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6130 6896 break; 6131 6897 6132 6898 case 343: 6133 #line 1409 "parser.yy" /* yacc.c:1646 */ 6134 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].decl) ); } 6135 #line 6136 "Parser/parser.cc" /* yacc.c:1646 */ 6899 6900 /* Line 1806 of yacc.c */ 6901 #line 1456 "parser.yy" 6902 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6136 6903 break; 6137 6904 6138 6905 case 344: 6139 #line 1411 "parser.yy" /* yacc.c:1646 */ 6140 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6141 #line 6142 "Parser/parser.cc" /* yacc.c:1646 */ 6142 break; 6143 6144 case 346: 6145 #line 1417 "parser.yy" /* yacc.c:1646 */ 6146 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6147 #line 6148 "Parser/parser.cc" /* yacc.c:1646 */ 6906 6907 /* Line 1806 of yacc.c */ 6908 #line 1458 "parser.yy" 6909 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6910 break; 6911 6912 case 345: 6913 6914 /* Line 1806 of yacc.c */ 6915 #line 1460 "parser.yy" 6916 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6148 6917 break; 6149 6918 6150 6919 case 347: 6151 #line 1419 "parser.yy" /* yacc.c:1646 */ 6152 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6153 #line 6154 "Parser/parser.cc" /* yacc.c:1646 */ 6920 6921 /* Line 1806 of yacc.c */ 6922 #line 1466 "parser.yy" 6923 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6154 6924 break; 6155 6925 6156 6926 case 348: 6157 #line 1421 "parser.yy" /* yacc.c:1646 */ 6158 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6159 #line 6160 "Parser/parser.cc" /* yacc.c:1646 */ 6160 break; 6161 6162 case 350: 6163 #line 1427 "parser.yy" /* yacc.c:1646 */ 6164 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6165 #line 6166 "Parser/parser.cc" /* yacc.c:1646 */ 6927 6928 /* Line 1806 of yacc.c */ 6929 #line 1468 "parser.yy" 6930 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6931 break; 6932 6933 case 349: 6934 6935 /* Line 1806 of yacc.c */ 6936 #line 1470 "parser.yy" 6937 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6166 6938 break; 6167 6939 6168 6940 case 351: 6169 #line 1429 "parser.yy" /* yacc.c:1646 */ 6170 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6171 #line 6172 "Parser/parser.cc" /* yacc.c:1646 */ 6172 break; 6173 6174 case 353: 6175 #line 1435 "parser.yy" /* yacc.c:1646 */ 6176 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6177 #line 6178 "Parser/parser.cc" /* yacc.c:1646 */ 6941 6942 /* Line 1806 of yacc.c */ 6943 #line 1476 "parser.yy" 6944 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6945 break; 6946 6947 case 352: 6948 6949 /* Line 1806 of yacc.c */ 6950 #line 1478 "parser.yy" 6951 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6178 6952 break; 6179 6953 6180 6954 case 354: 6181 #line 1437 "parser.yy" /* yacc.c:1646 */ 6182 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6183 #line 6184 "Parser/parser.cc" /* yacc.c:1646 */ 6955 6956 /* Line 1806 of yacc.c */ 6957 #line 1484 "parser.yy" 6958 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6184 6959 break; 6185 6960 6186 6961 case 355: 6187 #line 1439 "parser.yy" /* yacc.c:1646 */ 6188 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6189 #line 6190 "Parser/parser.cc" /* yacc.c:1646 */ 6962 6963 /* Line 1806 of yacc.c */ 6964 #line 1486 "parser.yy" 6965 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6190 6966 break; 6191 6967 6192 6968 case 356: 6193 #line 1444 "parser.yy" /* yacc.c:1646 */ 6194 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) ); } 6195 #line 6196 "Parser/parser.cc" /* yacc.c:1646 */ 6969 6970 /* Line 1806 of yacc.c */ 6971 #line 1488 "parser.yy" 6972 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6196 6973 break; 6197 6974 6198 6975 case 357: 6199 #line 1446 "parser.yy" /* yacc.c:1646 */ 6200 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) )->addQualifiers( (yyvsp[-1].decl) ); } 6201 #line 6202 "Parser/parser.cc" /* yacc.c:1646 */ 6976 6977 /* Line 1806 of yacc.c */ 6978 #line 1493 "parser.yy" 6979 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6202 6980 break; 6203 6981 6204 6982 case 358: 6205 #line 1448 "parser.yy" /* yacc.c:1646 */ 6206 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6207 #line 6208 "Parser/parser.cc" /* yacc.c:1646 */ 6208 break; 6209 6210 case 361: 6211 #line 1458 "parser.yy" /* yacc.c:1646 */ 6212 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-3].aggKey), 0, 0, (yyvsp[-1].decl), true ); } 6213 #line 6214 "Parser/parser.cc" /* yacc.c:1646 */ 6983 6984 /* Line 1806 of yacc.c */ 6985 #line 1495 "parser.yy" 6986 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6987 break; 6988 6989 case 359: 6990 6991 /* Line 1806 of yacc.c */ 6992 #line 1497 "parser.yy" 6993 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6214 6994 break; 6215 6995 6216 6996 case 362: 6217 #line 1460 "parser.yy" /* yacc.c:1646 */ 6997 6998 /* Line 1806 of yacc.c */ 6999 #line 1507 "parser.yy" 7000 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 7001 break; 7002 7003 case 363: 7004 7005 /* Line 1806 of yacc.c */ 7006 #line 1509 "parser.yy" 6218 7007 { 6219 typedefTable.makeTypedef( *(yyvsp[ 0].tok) );6220 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[ -1].aggKey), (yyvsp[0].tok), 0, 0, false );7008 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7009 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, false ); 6221 7010 } 6222 #line 6223 "Parser/parser.cc" /* yacc.c:1646 */6223 break;6224 6225 case 363:6226 #line 1465 "parser.yy" /* yacc.c:1646 */6227 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); }6228 #line 6229 "Parser/parser.cc" /* yacc.c:1646 */6229 7011 break; 6230 7012 6231 7013 case 364: 6232 #line 1467 "parser.yy" /* yacc.c:1646 */ 6233 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-5].aggKey), (yyvsp[-4].tok), 0, (yyvsp[-1].decl), true ); } 6234 #line 6235 "Parser/parser.cc" /* yacc.c:1646 */ 7014 7015 /* Line 1806 of yacc.c */ 7016 #line 1514 "parser.yy" 7017 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6235 7018 break; 6236 7019 6237 7020 case 365: 6238 #line 1469 "parser.yy" /* yacc.c:1646 */ 6239 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-6].aggKey), 0, (yyvsp[-4].en), (yyvsp[-1].decl), false ); } 6240 #line 6241 "Parser/parser.cc" /* yacc.c:1646 */ 7021 7022 /* Line 1806 of yacc.c */ 7023 #line 1516 "parser.yy" 7024 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 6241 7025 break; 6242 7026 6243 7027 case 366: 6244 #line 1471 "parser.yy" /* yacc.c:1646 */ 6245 { (yyval.decl) = (yyvsp[0].decl); } 6246 #line 6247 "Parser/parser.cc" /* yacc.c:1646 */ 7028 7029 /* Line 1806 of yacc.c */ 7030 #line 1518 "parser.yy" 7031 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6247 7032 break; 6248 7033 6249 7034 case 367: 6250 #line 1476 "parser.yy" /* yacc.c:1646 */ 7035 7036 /* Line 1806 of yacc.c */ 7037 #line 1520 "parser.yy" 7038 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7039 break; 7040 7041 case 368: 7042 7043 /* Line 1806 of yacc.c */ 7044 #line 1525 "parser.yy" 6251 7045 { (yyval.aggKey) = DeclarationNode::Struct; } 6252 #line 6253 "Parser/parser.cc" /* yacc.c:1646 */ 6253 break; 6254 6255 case 368: 6256 #line 1478 "parser.yy" /* yacc.c:1646 */ 7046 break; 7047 7048 case 369: 7049 7050 /* Line 1806 of yacc.c */ 7051 #line 1527 "parser.yy" 6257 7052 { (yyval.aggKey) = DeclarationNode::Union; } 6258 #line 6259 "Parser/parser.cc" /* yacc.c:1646 */ 6259 break; 6260 6261 case 369: 6262 #line 1483 "parser.yy" /* yacc.c:1646 */ 7053 break; 7054 7055 case 370: 7056 7057 /* Line 1806 of yacc.c */ 7058 #line 1532 "parser.yy" 6263 7059 { (yyval.decl) = 0; } 6264 #line 6265 "Parser/parser.cc" /* yacc.c:1646 */ 6265 break; 6266 6267 case 370: 6268 #line 1485 "parser.yy" /* yacc.c:1646 */ 6269 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6270 #line 6271 "Parser/parser.cc" /* yacc.c:1646 */ 6271 break; 6272 6273 case 372: 6274 #line 1491 "parser.yy" /* yacc.c:1646 */ 6275 { (yyval.decl) = (yyvsp[-1].decl)->set_extension( true ); } 6276 #line 6277 "Parser/parser.cc" /* yacc.c:1646 */ 6277 break; 6278 6279 case 374: 6280 #line 1494 "parser.yy" /* yacc.c:1646 */ 7060 break; 7061 7062 case 371: 7063 7064 /* Line 1806 of yacc.c */ 7065 #line 1534 "parser.yy" 7066 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7067 break; 7068 7069 case 373: 7070 7071 /* Line 1806 of yacc.c */ 7072 #line 1540 "parser.yy" 7073 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7074 break; 7075 7076 case 375: 7077 7078 /* Line 1806 of yacc.c */ 7079 #line 1543 "parser.yy" 6281 7080 { // mark all fields in list 6282 for ( DeclarationNode *iter = (yyvsp[ -1].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )7081 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 6283 7082 iter->set_extension( true ); 6284 (yyval.decl) = (yyvsp[ -1].decl);7083 (yyval.decl) = (yyvsp[(2) - (3)].decl); 6285 7084 } 6286 #line 6287 "Parser/parser.cc" /* yacc.c:1646 */6287 break;6288 6289 case 376:6290 #line 1504 "parser.yy" /* yacc.c:1646 */6291 { (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); }6292 #line 6293 "Parser/parser.cc" /* yacc.c:1646 */6293 7085 break; 6294 7086 6295 7087 case 377: 6296 #line 1506 "parser.yy" /* yacc.c:1646 */ 6297 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[-2].decl)->cloneType( (yyvsp[0].tok) ) ); } 6298 #line 6299 "Parser/parser.cc" /* yacc.c:1646 */ 7088 7089 /* Line 1806 of yacc.c */ 7090 #line 1553 "parser.yy" 7091 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6299 7092 break; 6300 7093 6301 7094 case 378: 6302 #line 1508 "parser.yy" /* yacc.c:1646 */ 6303 { (yyval.decl) = (yyvsp[-1].decl)->appendList( (yyvsp[-1].decl)->cloneType( 0 ) ); } 6304 #line 6305 "Parser/parser.cc" /* yacc.c:1646 */ 7095 7096 /* Line 1806 of yacc.c */ 7097 #line 1555 "parser.yy" 7098 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6305 7099 break; 6306 7100 6307 7101 case 379: 6308 #line 1513 "parser.yy" /* yacc.c:1646 */ 6309 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6310 #line 6311 "Parser/parser.cc" /* yacc.c:1646 */ 7102 7103 /* Line 1806 of yacc.c */ 7104 #line 1557 "parser.yy" 7105 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6311 7106 break; 6312 7107 6313 7108 case 380: 6314 #line 1515 "parser.yy" /* yacc.c:1646 */ 6315 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-3].decl)->cloneBaseType( (yyvsp[0].decl) ) ); } 6316 #line 6317 "Parser/parser.cc" /* yacc.c:1646 */ 7109 7110 /* Line 1806 of yacc.c */ 7111 #line 1562 "parser.yy" 7112 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6317 7113 break; 6318 7114 6319 7115 case 381: 6320 #line 1520 "parser.yy" /* yacc.c:1646 */ 7116 7117 /* Line 1806 of yacc.c */ 7118 #line 1564 "parser.yy" 7119 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7120 break; 7121 7122 case 382: 7123 7124 /* Line 1806 of yacc.c */ 7125 #line 1569 "parser.yy" 6321 7126 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6322 #line 6323 "Parser/parser.cc" /* yacc.c:1646 */6323 break;6324 6325 case 382:6326 #line 1522 "parser.yy" /* yacc.c:1646 */6327 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[0].en) ); }6328 #line 6329 "Parser/parser.cc" /* yacc.c:1646 */6329 7127 break; 6330 7128 6331 7129 case 383: 6332 #line 1525 "parser.yy" /* yacc.c:1646 */ 6333 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6334 #line 6335 "Parser/parser.cc" /* yacc.c:1646 */ 7130 7131 /* Line 1806 of yacc.c */ 7132 #line 1571 "parser.yy" 7133 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6335 7134 break; 6336 7135 6337 7136 case 384: 6338 #line 1528 "parser.yy" /* yacc.c:1646 */ 6339 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); } 6340 #line 6341 "Parser/parser.cc" /* yacc.c:1646 */ 6341 break; 6342 6343 case 386: 6344 #line 1534 "parser.yy" /* yacc.c:1646 */ 7137 7138 /* Line 1806 of yacc.c */ 7139 #line 1574 "parser.yy" 7140 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7141 break; 7142 7143 case 385: 7144 7145 /* Line 1806 of yacc.c */ 7146 #line 1577 "parser.yy" 7147 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7148 break; 7149 7150 case 387: 7151 7152 /* Line 1806 of yacc.c */ 7153 #line 1583 "parser.yy" 6345 7154 { (yyval.en) = 0; } 6346 #line 6347 "Parser/parser.cc" /* yacc.c:1646 */6347 break;6348 6349 case 387:6350 #line 1536 "parser.yy" /* yacc.c:1646 */6351 { (yyval.en) = (yyvsp[0].en); }6352 #line 6353 "Parser/parser.cc" /* yacc.c:1646 */6353 7155 break; 6354 7156 6355 7157 case 388: 6356 #line 1541 "parser.yy" /* yacc.c:1646 */ 6357 { (yyval.en) = (yyvsp[0].en); } 6358 #line 6359 "Parser/parser.cc" /* yacc.c:1646 */ 6359 break; 6360 6361 case 390: 6362 #line 1550 "parser.yy" /* yacc.c:1646 */ 6363 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[-2].decl) ); } 6364 #line 6365 "Parser/parser.cc" /* yacc.c:1646 */ 7158 7159 /* Line 1806 of yacc.c */ 7160 #line 1585 "parser.yy" 7161 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7162 break; 7163 7164 case 389: 7165 7166 /* Line 1806 of yacc.c */ 7167 #line 1590 "parser.yy" 7168 { (yyval.en) = (yyvsp[(2) - (2)].en); } 6365 7169 break; 6366 7170 6367 7171 case 391: 6368 #line 1552 "parser.yy" /* yacc.c:1646 */ 7172 7173 /* Line 1806 of yacc.c */ 7174 #line 1599 "parser.yy" 7175 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7176 break; 7177 7178 case 392: 7179 7180 /* Line 1806 of yacc.c */ 7181 #line 1601 "parser.yy" 6369 7182 { 6370 typedefTable.makeTypedef( *(yyvsp[ 0].tok) );6371 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[ 0].tok), 0 );7183 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7184 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); 6372 7185 } 6373 #line 6374 "Parser/parser.cc" /* yacc.c:1646 */6374 break;6375 6376 case 392:6377 #line 1557 "parser.yy" /* yacc.c:1646 */6378 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); }6379 #line 6380 "Parser/parser.cc" /* yacc.c:1646 */6380 7186 break; 6381 7187 6382 7188 case 393: 6383 #line 1559 "parser.yy" /* yacc.c:1646 */ 6384 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[-5].tok), (yyvsp[-2].decl) ); } 6385 #line 6386 "Parser/parser.cc" /* yacc.c:1646 */ 7189 7190 /* Line 1806 of yacc.c */ 7191 #line 1606 "parser.yy" 7192 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6386 7193 break; 6387 7194 6388 7195 case 394: 6389 #line 1564 "parser.yy" /* yacc.c:1646 */ 6390 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ); } 6391 #line 6392 "Parser/parser.cc" /* yacc.c:1646 */ 7196 7197 /* Line 1806 of yacc.c */ 7198 #line 1608 "parser.yy" 7199 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 6392 7200 break; 6393 7201 6394 7202 case 395: 6395 #line 1566 "parser.yy" /* yacc.c:1646 */ 6396 { (yyval.decl) = (yyvsp[-3].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ) ); } 6397 #line 6398 "Parser/parser.cc" /* yacc.c:1646 */ 7203 7204 /* Line 1806 of yacc.c */ 7205 #line 1613 "parser.yy" 7206 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 6398 7207 break; 6399 7208 6400 7209 case 396: 6401 #line 1571 "parser.yy" /* yacc.c:1646 */ 7210 7211 /* Line 1806 of yacc.c */ 7212 #line 1615 "parser.yy" 7213 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7214 break; 7215 7216 case 397: 7217 7218 /* Line 1806 of yacc.c */ 7219 #line 1620 "parser.yy" 6402 7220 { (yyval.en) = 0; } 6403 #line 6404 "Parser/parser.cc" /* yacc.c:1646 */6404 break;6405 6406 case 397:6407 #line 1573 "parser.yy" /* yacc.c:1646 */6408 { (yyval.en) = (yyvsp[0].en); }6409 #line 6410 "Parser/parser.cc" /* yacc.c:1646 */6410 7221 break; 6411 7222 6412 7223 case 398: 6413 #line 1580 "parser.yy" /* yacc.c:1646 */ 7224 7225 /* Line 1806 of yacc.c */ 7226 #line 1622 "parser.yy" 7227 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7228 break; 7229 7230 case 399: 7231 7232 /* Line 1806 of yacc.c */ 7233 #line 1629 "parser.yy" 6414 7234 { (yyval.decl) = 0; } 6415 #line 6416 "Parser/parser.cc" /* yacc.c:1646 */6416 break;6417 6418 case 402:6419 #line 1588 "parser.yy" /* yacc.c:1646 */6420 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); }6421 #line 6422 "Parser/parser.cc" /* yacc.c:1646 */6422 7235 break; 6423 7236 6424 7237 case 403: 6425 #line 1590 "parser.yy" /* yacc.c:1646 */ 6426 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6427 #line 6428 "Parser/parser.cc" /* yacc.c:1646 */ 7238 7239 /* Line 1806 of yacc.c */ 7240 #line 1637 "parser.yy" 7241 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6428 7242 break; 6429 7243 6430 7244 case 404: 6431 #line 1592 "parser.yy" /* yacc.c:1646 */ 6432 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6433 #line 6434 "Parser/parser.cc" /* yacc.c:1646 */ 6434 break; 6435 6436 case 406: 6437 #line 1600 "parser.yy" /* yacc.c:1646 */ 6438 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6439 #line 6440 "Parser/parser.cc" /* yacc.c:1646 */ 7245 7246 /* Line 1806 of yacc.c */ 7247 #line 1639 "parser.yy" 7248 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7249 break; 7250 7251 case 405: 7252 7253 /* Line 1806 of yacc.c */ 7254 #line 1641 "parser.yy" 7255 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6440 7256 break; 6441 7257 6442 7258 case 407: 6443 #line 1602 "parser.yy" /* yacc.c:1646 */ 6444 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6445 #line 6446 "Parser/parser.cc" /* yacc.c:1646 */ 7259 7260 /* Line 1806 of yacc.c */ 7261 #line 1649 "parser.yy" 7262 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6446 7263 break; 6447 7264 6448 7265 case 408: 6449 #line 1604 "parser.yy" /* yacc.c:1646 */ 6450 { (yyval.decl) = (yyvsp[-8].decl)->appendList( (yyvsp[-4].decl) )->appendList( (yyvsp[0].decl) ); } 6451 #line 6452 "Parser/parser.cc" /* yacc.c:1646 */ 6452 break; 6453 6454 case 410: 6455 #line 1610 "parser.yy" /* yacc.c:1646 */ 6456 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6457 #line 6458 "Parser/parser.cc" /* yacc.c:1646 */ 7266 7267 /* Line 1806 of yacc.c */ 7268 #line 1651 "parser.yy" 7269 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7270 break; 7271 7272 case 409: 7273 7274 /* Line 1806 of yacc.c */ 7275 #line 1653 "parser.yy" 7276 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 6458 7277 break; 6459 7278 6460 7279 case 411: 6461 #line 1615 "parser.yy" /* yacc.c:1646 */ 7280 7281 /* Line 1806 of yacc.c */ 7282 #line 1659 "parser.yy" 7283 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7284 break; 7285 7286 case 412: 7287 7288 /* Line 1806 of yacc.c */ 7289 #line 1664 "parser.yy" 6462 7290 { (yyval.decl) = 0; } 6463 #line 6464 "Parser/parser.cc" /* yacc.c:1646 */ 6464 break; 6465 6466 case 414: 6467 #line 1622 "parser.yy" /* yacc.c:1646 */ 6468 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); } 6469 #line 6470 "Parser/parser.cc" /* yacc.c:1646 */ 6470 break; 6471 6472 case 417: 6473 #line 1629 "parser.yy" /* yacc.c:1646 */ 6474 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6475 #line 6476 "Parser/parser.cc" /* yacc.c:1646 */ 7291 break; 7292 7293 case 415: 7294 7295 /* Line 1806 of yacc.c */ 7296 #line 1671 "parser.yy" 7297 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6476 7298 break; 6477 7299 6478 7300 case 418: 6479 #line 1631 "parser.yy" /* yacc.c:1646 */ 6480 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6481 #line 6482 "Parser/parser.cc" /* yacc.c:1646 */ 6482 break; 6483 6484 case 420: 6485 #line 1640 "parser.yy" /* yacc.c:1646 */ 6486 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6487 #line 6488 "Parser/parser.cc" /* yacc.c:1646 */ 7301 7302 /* Line 1806 of yacc.c */ 7303 #line 1678 "parser.yy" 7304 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7305 break; 7306 7307 case 419: 7308 7309 /* Line 1806 of yacc.c */ 7310 #line 1680 "parser.yy" 7311 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6488 7312 break; 6489 7313 6490 7314 case 421: 6491 #line 1643 "parser.yy" /* yacc.c:1646 */ 6492 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6493 #line 6494 "Parser/parser.cc" /* yacc.c:1646 */ 7315 7316 /* Line 1806 of yacc.c */ 7317 #line 1689 "parser.yy" 7318 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 6494 7319 break; 6495 7320 6496 7321 case 422: 6497 #line 1645 "parser.yy" /* yacc.c:1646 */ 6498 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) )->addQualifiers( (yyvsp[-3].decl) ); } 6499 #line 6500 "Parser/parser.cc" /* yacc.c:1646 */ 6500 break; 6501 6502 case 427: 6503 #line 1655 "parser.yy" /* yacc.c:1646 */ 6504 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6505 #line 6506 "Parser/parser.cc" /* yacc.c:1646 */ 6506 break; 6507 6508 case 429: 6509 #line 1661 "parser.yy" /* yacc.c:1646 */ 7322 7323 /* Line 1806 of yacc.c */ 7324 #line 1692 "parser.yy" 7325 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7326 break; 7327 7328 case 423: 7329 7330 /* Line 1806 of yacc.c */ 7331 #line 1694 "parser.yy" 7332 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7333 break; 7334 7335 case 428: 7336 7337 /* Line 1806 of yacc.c */ 7338 #line 1704 "parser.yy" 7339 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7340 break; 7341 7342 case 430: 7343 7344 /* Line 1806 of yacc.c */ 7345 #line 1710 "parser.yy" 6510 7346 { 6511 7347 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6512 (yyval.decl) = (yyvsp[ -1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) );7348 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 6513 7349 } 6514 #line 6515 "Parser/parser.cc" /* yacc.c:1646 */ 6515 break; 6516 6517 case 430: 6518 #line 1666 "parser.yy" /* yacc.c:1646 */ 7350 break; 7351 7352 case 431: 7353 7354 /* Line 1806 of yacc.c */ 7355 #line 1715 "parser.yy" 6519 7356 { 6520 7357 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6521 (yyval.decl) = (yyvsp[ -1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) );7358 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 6522 7359 } 6523 #line 6524 "Parser/parser.cc" /* yacc.c:1646 */6524 break;6525 6526 case 432:6527 #line 1675 "parser.yy" /* yacc.c:1646 */6528 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); }6529 #line 6530 "Parser/parser.cc" /* yacc.c:1646 */6530 7360 break; 6531 7361 6532 7362 case 433: 6533 #line 1684 "parser.yy" /* yacc.c:1646 */ 6534 { (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); } 6535 #line 6536 "Parser/parser.cc" /* yacc.c:1646 */ 7363 7364 /* Line 1806 of yacc.c */ 7365 #line 1724 "parser.yy" 7366 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6536 7367 break; 6537 7368 6538 7369 case 434: 6539 #line 1686 "parser.yy" /* yacc.c:1646 */ 6540 { (yyval.decl) = (yyvsp[-2].decl)->appendList( DeclarationNode::newName( (yyvsp[0].tok) ) ); } 6541 #line 6542 "Parser/parser.cc" /* yacc.c:1646 */ 6542 break; 6543 6544 case 446: 6545 #line 1711 "parser.yy" /* yacc.c:1646 */ 6546 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6547 #line 6548 "Parser/parser.cc" /* yacc.c:1646 */ 6548 break; 6549 6550 case 450: 6551 #line 1719 "parser.yy" /* yacc.c:1646 */ 6552 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6553 #line 6554 "Parser/parser.cc" /* yacc.c:1646 */ 7370 7371 /* Line 1806 of yacc.c */ 7372 #line 1733 "parser.yy" 7373 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7374 break; 7375 7376 case 435: 7377 7378 /* Line 1806 of yacc.c */ 7379 #line 1735 "parser.yy" 7380 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7381 break; 7382 7383 case 447: 7384 7385 /* Line 1806 of yacc.c */ 7386 #line 1760 "parser.yy" 7387 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6554 7388 break; 6555 7389 6556 7390 case 451: 6557 #line 1724 "parser.yy" /* yacc.c:1646 */ 7391 7392 /* Line 1806 of yacc.c */ 7393 #line 1768 "parser.yy" 7394 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7395 break; 7396 7397 case 452: 7398 7399 /* Line 1806 of yacc.c */ 7400 #line 1773 "parser.yy" 6558 7401 { (yyval.in) = 0; } 6559 #line 6560 "Parser/parser.cc" /* yacc.c:1646 */6560 break;6561 6562 case 452:6563 #line 1726 "parser.yy" /* yacc.c:1646 */6564 { (yyval.in) = (yyvsp[0].in); }6565 #line 6566 "Parser/parser.cc" /* yacc.c:1646 */6566 7402 break; 6567 7403 6568 7404 case 453: 6569 #line 1728 "parser.yy" /* yacc.c:1646 */ 6570 { (yyval.in) = (yyvsp[0].in)->set_maybeConstructed( false ); } 6571 #line 6572 "Parser/parser.cc" /* yacc.c:1646 */ 7405 7406 /* Line 1806 of yacc.c */ 7407 #line 1775 "parser.yy" 7408 { (yyval.in) = (yyvsp[(2) - (2)].in); } 6572 7409 break; 6573 7410 6574 7411 case 454: 6575 #line 1732 "parser.yy" /* yacc.c:1646 */ 6576 { (yyval.in) = new InitializerNode( (yyvsp[0].en) ); } 6577 #line 6578 "Parser/parser.cc" /* yacc.c:1646 */ 7412 7413 /* Line 1806 of yacc.c */ 7414 #line 1777 "parser.yy" 7415 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 6578 7416 break; 6579 7417 6580 7418 case 455: 6581 #line 1733 "parser.yy" /* yacc.c:1646 */ 6582 { (yyval.in) = new InitializerNode( (yyvsp[-2].in), true ); } 6583 #line 6584 "Parser/parser.cc" /* yacc.c:1646 */ 7419 7420 /* Line 1806 of yacc.c */ 7421 #line 1781 "parser.yy" 7422 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 6584 7423 break; 6585 7424 6586 7425 case 456: 6587 #line 1738 "parser.yy" /* yacc.c:1646 */ 7426 7427 /* Line 1806 of yacc.c */ 7428 #line 1782 "parser.yy" 7429 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7430 break; 7431 7432 case 457: 7433 7434 /* Line 1806 of yacc.c */ 7435 #line 1787 "parser.yy" 6588 7436 { (yyval.in) = 0; } 6589 #line 6590 "Parser/parser.cc" /* yacc.c:1646 */6590 break;6591 6592 case 458:6593 #line 1740 "parser.yy" /* yacc.c:1646 */6594 { (yyval.in) = (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ); }6595 #line 6596 "Parser/parser.cc" /* yacc.c:1646 */6596 7437 break; 6597 7438 6598 7439 case 459: 6599 #line 1741 "parser.yy" /* yacc.c:1646 */ 6600 { (yyval.in) = (InitializerNode *)( (yyvsp[-2].in)->set_last( (yyvsp[0].in) ) ); } 6601 #line 6602 "Parser/parser.cc" /* yacc.c:1646 */ 7440 7441 /* Line 1806 of yacc.c */ 7442 #line 1789 "parser.yy" 7443 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 6602 7444 break; 6603 7445 6604 7446 case 460: 6605 #line 1743 "parser.yy" /* yacc.c:1646 */ 6606 { (yyval.in) = (InitializerNode *)( (yyvsp[-3].in)->set_last( (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ) ) ); } 6607 #line 6608 "Parser/parser.cc" /* yacc.c:1646 */ 6608 break; 6609 6610 case 462: 6611 #line 1759 "parser.yy" /* yacc.c:1646 */ 6612 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[-1].tok) ) ); } 6613 #line 6614 "Parser/parser.cc" /* yacc.c:1646 */ 6614 break; 6615 6616 case 464: 6617 #line 1765 "parser.yy" /* yacc.c:1646 */ 6618 { (yyval.en) = (ExpressionNode *)( (yyvsp[-1].en)->set_last( (yyvsp[0].en) ) ); } 6619 #line 6620 "Parser/parser.cc" /* yacc.c:1646 */ 7447 7448 /* Line 1806 of yacc.c */ 7449 #line 1790 "parser.yy" 7450 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7451 break; 7452 7453 case 461: 7454 7455 /* Line 1806 of yacc.c */ 7456 #line 1792 "parser.yy" 7457 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7458 break; 7459 7460 case 463: 7461 7462 /* Line 1806 of yacc.c */ 7463 #line 1808 "parser.yy" 7464 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 6620 7465 break; 6621 7466 6622 7467 case 465: 6623 #line 1771 "parser.yy" /* yacc.c:1646 */ 6624 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 6625 #line 6626 "Parser/parser.cc" /* yacc.c:1646 */ 7468 7469 /* Line 1806 of yacc.c */ 7470 #line 1814 "parser.yy" 7471 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 6626 7472 break; 6627 7473 6628 7474 case 466: 6629 #line 1774 "parser.yy" /* yacc.c:1646 */ 6630 { (yyval.en) = (yyvsp[-2].en); } 6631 #line 6632 "Parser/parser.cc" /* yacc.c:1646 */ 7475 7476 /* Line 1806 of yacc.c */ 7477 #line 1820 "parser.yy" 7478 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 6632 7479 break; 6633 7480 6634 7481 case 467: 6635 #line 1776 "parser.yy" /* yacc.c:1646 */ 6636 { (yyval.en) = (yyvsp[-2].en); } 6637 #line 6638 "Parser/parser.cc" /* yacc.c:1646 */ 7482 7483 /* Line 1806 of yacc.c */ 7484 #line 1823 "parser.yy" 7485 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6638 7486 break; 6639 7487 6640 7488 case 468: 6641 #line 1778 "parser.yy" /* yacc.c:1646 */ 6642 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 6643 #line 6644 "Parser/parser.cc" /* yacc.c:1646 */ 7489 7490 /* Line 1806 of yacc.c */ 7491 #line 1825 "parser.yy" 7492 { (yyval.en) = (yyvsp[(3) - (5)].en); } 6644 7493 break; 6645 7494 6646 7495 case 469: 6647 #line 1780 "parser.yy" /* yacc.c:1646 */ 6648 { (yyval.en) = (yyvsp[-2].en); } 6649 #line 6650 "Parser/parser.cc" /* yacc.c:1646 */ 6650 break; 6651 6652 case 471: 6653 #line 1804 "parser.yy" /* yacc.c:1646 */ 6654 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6655 #line 6656 "Parser/parser.cc" /* yacc.c:1646 */ 7496 7497 /* Line 1806 of yacc.c */ 7498 #line 1827 "parser.yy" 7499 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7500 break; 7501 7502 case 470: 7503 7504 /* Line 1806 of yacc.c */ 7505 #line 1829 "parser.yy" 7506 { (yyval.en) = (yyvsp[(4) - (6)].en); } 6656 7507 break; 6657 7508 6658 7509 case 472: 6659 #line 1806 "parser.yy" /* yacc.c:1646 */ 6660 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6661 #line 6662 "Parser/parser.cc" /* yacc.c:1646 */ 7510 7511 /* Line 1806 of yacc.c */ 7512 #line 1853 "parser.yy" 7513 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6662 7514 break; 6663 7515 6664 7516 case 473: 6665 #line 1808 "parser.yy" /* yacc.c:1646 */ 6666 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6667 #line 6668 "Parser/parser.cc" /* yacc.c:1646 */ 6668 break; 6669 6670 case 475: 6671 #line 1814 "parser.yy" /* yacc.c:1646 */ 6672 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6673 #line 6674 "Parser/parser.cc" /* yacc.c:1646 */ 7517 7518 /* Line 1806 of yacc.c */ 7519 #line 1855 "parser.yy" 7520 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7521 break; 7522 7523 case 474: 7524 7525 /* Line 1806 of yacc.c */ 7526 #line 1857 "parser.yy" 7527 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6674 7528 break; 6675 7529 6676 7530 case 476: 6677 #line 1816 "parser.yy" /* yacc.c:1646 */ 6678 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6679 #line 6680 "Parser/parser.cc" /* yacc.c:1646 */ 7531 7532 /* Line 1806 of yacc.c */ 7533 #line 1863 "parser.yy" 7534 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6680 7535 break; 6681 7536 6682 7537 case 477: 6683 #line 1821 "parser.yy" /* yacc.c:1646 */ 6684 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6685 #line 6686 "Parser/parser.cc" /* yacc.c:1646 */ 6686 break; 6687 6688 case 479: 6689 #line 1827 "parser.yy" /* yacc.c:1646 */ 6690 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-1].decl) ); } 6691 #line 6692 "Parser/parser.cc" /* yacc.c:1646 */ 7538 7539 /* Line 1806 of yacc.c */ 7540 #line 1865 "parser.yy" 7541 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7542 break; 7543 7544 case 478: 7545 7546 /* Line 1806 of yacc.c */ 7547 #line 1870 "parser.yy" 7548 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6692 7549 break; 6693 7550 6694 7551 case 480: 6695 #line 1832 "parser.yy" /* yacc.c:1646 */ 6696 { typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); } 6697 #line 6698 "Parser/parser.cc" /* yacc.c:1646 */ 7552 7553 /* Line 1806 of yacc.c */ 7554 #line 1876 "parser.yy" 7555 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 6698 7556 break; 6699 7557 6700 7558 case 481: 6701 #line 1834 "parser.yy" /* yacc.c:1646 */ 6702 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[-3].tclass), (yyvsp[-2].tok) )->addAssertions( (yyvsp[0].decl) ); } 6703 #line 6704 "Parser/parser.cc" /* yacc.c:1646 */ 6704 break; 6705 6706 case 483: 6707 #line 1840 "parser.yy" /* yacc.c:1646 */ 7559 7560 /* Line 1806 of yacc.c */ 7561 #line 1881 "parser.yy" 7562 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7563 break; 7564 7565 case 482: 7566 7567 /* Line 1806 of yacc.c */ 7568 #line 1883 "parser.yy" 7569 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7570 break; 7571 7572 case 484: 7573 7574 /* Line 1806 of yacc.c */ 7575 #line 1889 "parser.yy" 6708 7576 { (yyval.tclass) = DeclarationNode::Type; } 6709 #line 6710 "Parser/parser.cc" /* yacc.c:1646 */ 6710 break; 6711 6712 case 484: 6713 #line 1842 "parser.yy" /* yacc.c:1646 */ 7577 break; 7578 7579 case 485: 7580 7581 /* Line 1806 of yacc.c */ 7582 #line 1891 "parser.yy" 6714 7583 { (yyval.tclass) = DeclarationNode::Ftype; } 6715 #line 6716 "Parser/parser.cc" /* yacc.c:1646 */ 6716 break; 6717 6718 case 485: 6719 #line 1844 "parser.yy" /* yacc.c:1646 */ 7584 break; 7585 7586 case 486: 7587 7588 /* Line 1806 of yacc.c */ 7589 #line 1893 "parser.yy" 6720 7590 { (yyval.tclass) = DeclarationNode::Dtype; } 6721 #line 6722 "Parser/parser.cc" /* yacc.c:1646 */ 6722 break; 6723 6724 case 486: 6725 #line 1849 "parser.yy" /* yacc.c:1646 */ 7591 break; 7592 7593 case 487: 7594 7595 /* Line 1806 of yacc.c */ 7596 #line 1898 "parser.yy" 6726 7597 { (yyval.decl) = 0; } 6727 #line 6728 "Parser/parser.cc" /* yacc.c:1646 */6728 break;6729 6730 case 487:6731 #line 1851 "parser.yy" /* yacc.c:1646 */6732 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); }6733 #line 6734 "Parser/parser.cc" /* yacc.c:1646 */6734 7598 break; 6735 7599 6736 7600 case 488: 6737 #line 1856 "parser.yy" /* yacc.c:1646 */ 7601 7602 /* Line 1806 of yacc.c */ 7603 #line 1900 "parser.yy" 7604 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7605 break; 7606 7607 case 489: 7608 7609 /* Line 1806 of yacc.c */ 7610 #line 1905 "parser.yy" 6738 7611 { 6739 typedefTable.openTrait( *(yyvsp[ -3].tok) );6740 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[ -3].tok), (yyvsp[-1].en) );7612 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); 7613 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 6741 7614 } 6742 #line 6743 "Parser/parser.cc" /* yacc.c:1646 */6743 break;6744 6745 case 489:6746 #line 1861 "parser.yy" /* yacc.c:1646 */6747 { (yyval.decl) = (yyvsp[-1].decl); }6748 #line 6749 "Parser/parser.cc" /* yacc.c:1646 */6749 7615 break; 6750 7616 6751 7617 case 490: 6752 #line 1863 "parser.yy" /* yacc.c:1646 */ 7618 7619 /* Line 1806 of yacc.c */ 7620 #line 1910 "parser.yy" 7621 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7622 break; 7623 7624 case 491: 7625 7626 /* Line 1806 of yacc.c */ 7627 #line 1912 "parser.yy" 6753 7628 { (yyval.decl) = 0; } 6754 #line 6755 "Parser/parser.cc" /* yacc.c:1646 */ 6755 break; 6756 6757 case 491: 6758 #line 1868 "parser.yy" /* yacc.c:1646 */ 6759 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ); } 6760 #line 6761 "Parser/parser.cc" /* yacc.c:1646 */ 6761 break; 6762 6763 case 493: 6764 #line 1871 "parser.yy" /* yacc.c:1646 */ 6765 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ) ) ); } 6766 #line 6767 "Parser/parser.cc" /* yacc.c:1646 */ 7629 break; 7630 7631 case 492: 7632 7633 /* Line 1806 of yacc.c */ 7634 #line 1917 "parser.yy" 7635 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 6767 7636 break; 6768 7637 6769 7638 case 494: 6770 #line 1873 "parser.yy" /* yacc.c:1646 */ 6771 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 6772 #line 6773 "Parser/parser.cc" /* yacc.c:1646 */ 7639 7640 /* Line 1806 of yacc.c */ 7641 #line 1920 "parser.yy" 7642 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 6773 7643 break; 6774 7644 6775 7645 case 495: 6776 #line 1878 "parser.yy" /* yacc.c:1646 */ 6777 { (yyval.decl) = (yyvsp[0].decl); } 6778 #line 6779 "Parser/parser.cc" /* yacc.c:1646 */ 7646 7647 /* Line 1806 of yacc.c */ 7648 #line 1922 "parser.yy" 7649 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 6779 7650 break; 6780 7651 6781 7652 case 496: 6782 #line 1880 "parser.yy" /* yacc.c:1646 */ 6783 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) ); } 6784 #line 6785 "Parser/parser.cc" /* yacc.c:1646 */ 7653 7654 /* Line 1806 of yacc.c */ 7655 #line 1927 "parser.yy" 7656 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6785 7657 break; 6786 7658 6787 7659 case 497: 6788 #line 1882 "parser.yy" /* yacc.c:1646 */ 6789 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl)->copyStorageClasses( (yyvsp[-2].decl) ) ); } 6790 #line 6791 "Parser/parser.cc" /* yacc.c:1646 */ 7660 7661 /* Line 1806 of yacc.c */ 7662 #line 1929 "parser.yy" 7663 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 6791 7664 break; 6792 7665 6793 7666 case 498: 6794 #line 1887 "parser.yy" /* yacc.c:1646 */ 6795 { (yyval.decl) = (yyvsp[-1].decl)->addAssertions( (yyvsp[0].decl) ); } 6796 #line 6797 "Parser/parser.cc" /* yacc.c:1646 */ 7667 7668 /* Line 1806 of yacc.c */ 7669 #line 1931 "parser.yy" 7670 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 6797 7671 break; 6798 7672 6799 7673 case 499: 6800 #line 1889 "parser.yy" /* yacc.c:1646 */ 6801 { (yyval.decl) = (yyvsp[-3].decl)->addAssertions( (yyvsp[-2].decl) )->addType( (yyvsp[0].decl) ); } 6802 #line 6803 "Parser/parser.cc" /* yacc.c:1646 */ 7674 7675 /* Line 1806 of yacc.c */ 7676 #line 1936 "parser.yy" 7677 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 6803 7678 break; 6804 7679 6805 7680 case 500: 6806 #line 1894 "parser.yy" /* yacc.c:1646 */ 7681 7682 /* Line 1806 of yacc.c */ 7683 #line 1938 "parser.yy" 7684 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7685 break; 7686 7687 case 501: 7688 7689 /* Line 1806 of yacc.c */ 7690 #line 1943 "parser.yy" 6807 7691 { 6808 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::TD );6809 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[ 0].tok), 0 );7692 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); 7693 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (1)].tok), 0 ); 6810 7694 } 6811 #line 6812 "Parser/parser.cc" /* yacc.c:1646 */ 6812 break; 6813 6814 case 501: 6815 #line 1899 "parser.yy" /* yacc.c:1646 */ 7695 break; 7696 7697 case 502: 7698 7699 /* Line 1806 of yacc.c */ 7700 #line 1948 "parser.yy" 6816 7701 { 6817 typedefTable.addToEnclosingScope( *(yyvsp[ -5].tok), TypedefTable::TG );6818 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[ -5].tok), (yyvsp[-2].decl) );7702 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); 7703 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].decl) ); 6819 7704 } 6820 #line 6821 "Parser/parser.cc" /* yacc.c:1646 */ 6821 break; 6822 6823 case 502: 6824 #line 1907 "parser.yy" /* yacc.c:1646 */ 7705 break; 7706 7707 case 503: 7708 7709 /* Line 1806 of yacc.c */ 7710 #line 1956 "parser.yy" 6825 7711 { 6826 typedefTable.addToEnclosingScope( *(yyvsp[ -7].tok), TypedefTable::ID );6827 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ -7].tok), (yyvsp[-4].decl), 0 );7712 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); 7713 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 ); 6828 7714 } 6829 #line 6830 "Parser/parser.cc" /* yacc.c:1646 */ 6830 break; 6831 6832 case 503: 6833 #line 1912 "parser.yy" /* yacc.c:1646 */ 7715 break; 7716 7717 case 504: 7718 7719 /* Line 1806 of yacc.c */ 7720 #line 1961 "parser.yy" 6834 7721 { 6835 typedefTable.enterTrait( *(yyvsp[ -6].tok) );7722 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); 6836 7723 typedefTable.enterScope(); 6837 7724 } 6838 #line 6839 "Parser/parser.cc" /* yacc.c:1646 */ 6839 break; 6840 6841 case 504: 6842 #line 1917 "parser.yy" /* yacc.c:1646 */ 7725 break; 7726 7727 case 505: 7728 7729 /* Line 1806 of yacc.c */ 7730 #line 1966 "parser.yy" 6843 7731 { 6844 7732 typedefTable.leaveTrait(); 6845 typedefTable.addToEnclosingScope( *(yyvsp[ -9].tok), TypedefTable::ID );6846 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ -9].tok), (yyvsp[-6].decl), (yyvsp[-1].decl) );7733 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID ); 7734 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) ); 6847 7735 } 6848 #line 6849 "Parser/parser.cc" /* yacc.c:1646 */ 6849 break; 6850 6851 case 506: 6852 #line 1927 "parser.yy" /* yacc.c:1646 */ 6853 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 6854 #line 6855 "Parser/parser.cc" /* yacc.c:1646 */ 6855 break; 6856 6857 case 509: 6858 #line 1937 "parser.yy" /* yacc.c:1646 */ 7736 break; 7737 7738 case 507: 7739 7740 /* Line 1806 of yacc.c */ 7741 #line 1976 "parser.yy" 7742 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7743 break; 7744 7745 case 510: 7746 7747 /* Line 1806 of yacc.c */ 7748 #line 1986 "parser.yy" 6859 7749 { 6860 7750 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6861 (yyval.decl) = (yyvsp[ 0].decl);7751 (yyval.decl) = (yyvsp[(1) - (1)].decl); 6862 7752 } 6863 #line 6864 "Parser/parser.cc" /* yacc.c:1646 */ 6864 break; 6865 6866 case 510: 6867 #line 1942 "parser.yy" /* yacc.c:1646 */ 7753 break; 7754 7755 case 511: 7756 7757 /* Line 1806 of yacc.c */ 7758 #line 1991 "parser.yy" 6868 7759 { 6869 7760 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6870 (yyval.decl) = (yyvsp[ 0].decl);7761 (yyval.decl) = (yyvsp[(1) - (1)].decl); 6871 7762 } 6872 #line 6873 "Parser/parser.cc" /* yacc.c:1646 */ 6873 break; 6874 6875 case 511: 6876 #line 1947 "parser.yy" /* yacc.c:1646 */ 7763 break; 7764 7765 case 512: 7766 7767 /* Line 1806 of yacc.c */ 7768 #line 1996 "parser.yy" 6877 7769 { 6878 typedefTable.addToEnclosingScope2( *(yyvsp[ 0].tok), TypedefTable::ID );6879 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );7770 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 7771 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 6880 7772 } 6881 #line 6882 "Parser/parser.cc" /* yacc.c:1646 */ 6882 break; 6883 6884 case 512: 6885 #line 1955 "parser.yy" /* yacc.c:1646 */ 7773 break; 7774 7775 case 513: 7776 7777 /* Line 1806 of yacc.c */ 7778 #line 2004 "parser.yy" 6886 7779 { 6887 7780 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6888 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) );7781 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); 6889 7782 } 6890 #line 6891 "Parser/parser.cc" /* yacc.c:1646 */ 6891 break; 6892 6893 case 513: 6894 #line 1960 "parser.yy" /* yacc.c:1646 */ 7783 break; 7784 7785 case 514: 7786 7787 /* Line 1806 of yacc.c */ 7788 #line 2009 "parser.yy" 6895 7789 { 6896 7790 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6897 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) ) );7791 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) ) ); 6898 7792 } 6899 #line 6900 "Parser/parser.cc" /* yacc.c:1646 */ 6900 break; 6901 6902 case 514: 6903 #line 1970 "parser.yy" /* yacc.c:1646 */ 7793 break; 7794 7795 case 515: 7796 7797 /* Line 1806 of yacc.c */ 7798 #line 2019 "parser.yy" 6904 7799 {} 6905 #line 6906 "Parser/parser.cc" /* yacc.c:1646 */ 6906 break; 6907 6908 case 515: 6909 #line 1972 "parser.yy" /* yacc.c:1646 */ 6910 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6911 #line 6912 "Parser/parser.cc" /* yacc.c:1646 */ 6912 break; 6913 6914 case 517: 6915 #line 1978 "parser.yy" /* yacc.c:1646 */ 6916 { (yyval.decl) = (yyvsp[-2].decl) != nullptr ? (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6917 #line 6918 "Parser/parser.cc" /* yacc.c:1646 */ 7800 break; 7801 7802 case 516: 7803 7804 /* Line 1806 of yacc.c */ 7805 #line 2021 "parser.yy" 7806 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 6918 7807 break; 6919 7808 6920 7809 case 518: 6921 #line 1983 "parser.yy" /* yacc.c:1646 */ 7810 7811 /* Line 1806 of yacc.c */ 7812 #line 2027 "parser.yy" 7813 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7814 break; 7815 7816 case 519: 7817 7818 /* Line 1806 of yacc.c */ 7819 #line 2032 "parser.yy" 6922 7820 { (yyval.decl) = 0; } 6923 #line 6924 "Parser/parser.cc" /* yacc.c:1646 */ 6924 break; 6925 6926 case 522: 6927 #line 1991 "parser.yy" /* yacc.c:1646 */ 7821 break; 7822 7823 case 523: 7824 7825 /* Line 1806 of yacc.c */ 7826 #line 2040 "parser.yy" 6928 7827 {} 6929 #line 6930 "Parser/parser.cc" /* yacc.c:1646 */ 6930 break; 6931 6932 case 523: 6933 #line 1993 "parser.yy" /* yacc.c:1646 */ 7828 break; 7829 7830 case 524: 7831 7832 /* Line 1806 of yacc.c */ 7833 #line 2042 "parser.yy" 6934 7834 { 6935 7835 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 6936 linkage = LinkageSpec::fromString( assign_strptr((yyvsp[0].tok)) );7836 linkage = LinkageSpec::fromString( *(yyvsp[(2) - (2)].tok) ); 6937 7837 } 6938 #line 6939 "Parser/parser.cc" /* yacc.c:1646 */ 6939 break; 6940 6941 case 524: 6942 #line 1998 "parser.yy" /* yacc.c:1646 */ 7838 break; 7839 7840 case 525: 7841 7842 /* Line 1806 of yacc.c */ 7843 #line 2047 "parser.yy" 6943 7844 { 6944 7845 linkage = linkageStack.top(); 6945 7846 linkageStack.pop(); 6946 (yyval.decl) = (yyvsp[ -1].decl);7847 (yyval.decl) = (yyvsp[(5) - (6)].decl); 6947 7848 } 6948 #line 6949 "Parser/parser.cc" /* yacc.c:1646 */ 6949 break; 6950 6951 case 525: 6952 #line 2004 "parser.yy" /* yacc.c:1646 */ 7849 break; 7850 7851 case 526: 7852 7853 /* Line 1806 of yacc.c */ 7854 #line 2053 "parser.yy" 6953 7855 { // mark all fields in list 6954 for ( DeclarationNode *iter = (yyvsp[ 0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )7856 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) 6955 7857 iter->set_extension( true ); 6956 (yyval.decl) = (yyvsp[ 0].decl);7858 (yyval.decl) = (yyvsp[(2) - (2)].decl); 6957 7859 } 6958 #line 6959 "Parser/parser.cc" /* yacc.c:1646 */ 6959 break; 6960 6961 case 527: 6962 #line 2019 "parser.yy" /* yacc.c:1646 */ 7860 break; 7861 7862 case 528: 7863 7864 /* Line 1806 of yacc.c */ 7865 #line 2068 "parser.yy" 6963 7866 { 6964 7867 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6965 7868 typedefTable.leaveScope(); 6966 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) );7869 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) ); 6967 7870 } 6968 #line 6969 "Parser/parser.cc" /* yacc.c:1646 */ 6969 break; 6970 6971 case 528: 6972 #line 2025 "parser.yy" /* yacc.c:1646 */ 7871 break; 7872 7873 case 529: 7874 7875 /* Line 1806 of yacc.c */ 7876 #line 2074 "parser.yy" 6973 7877 { 6974 7878 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6975 7879 typedefTable.leaveScope(); 6976 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) );7880 (yyval.decl) = (yyvsp[(1) - (4)].decl)->addOldDeclList( (yyvsp[(3) - (4)].decl) )->addFunctionBody( (yyvsp[(4) - (4)].sn) ); 6977 7881 } 6978 #line 6979 "Parser/parser.cc" /* yacc.c:1646 */ 6979 break; 6980 6981 case 529: 6982 #line 2034 "parser.yy" /* yacc.c:1646 */ 7882 break; 7883 7884 case 530: 7885 7886 /* Line 1806 of yacc.c */ 7887 #line 2083 "parser.yy" 6983 7888 { 6984 7889 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6985 7890 typedefTable.leaveScope(); 6986 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) );7891 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) ); 6987 7892 } 6988 #line 6989 "Parser/parser.cc" /* yacc.c:1646 */ 6989 break; 6990 6991 case 530: 6992 #line 2040 "parser.yy" /* yacc.c:1646 */ 7893 break; 7894 7895 case 531: 7896 7897 /* Line 1806 of yacc.c */ 7898 #line 2089 "parser.yy" 6993 7899 { 6994 7900 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6995 7901 typedefTable.leaveScope(); 6996 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-2].decl) );7902 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addType( (yyvsp[(1) - (3)].decl) ); 6997 7903 } 6998 #line 6999 "Parser/parser.cc" /* yacc.c:1646 */ 6999 break; 7000 7001 case 531: 7002 #line 2046 "parser.yy" /* yacc.c:1646 */ 7904 break; 7905 7906 case 532: 7907 7908 /* Line 1806 of yacc.c */ 7909 #line 2095 "parser.yy" 7003 7910 { 7004 7911 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7005 7912 typedefTable.leaveScope(); 7006 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) );7913 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7007 7914 } 7008 #line 7009 "Parser/parser.cc" /* yacc.c:1646 */ 7009 break; 7010 7011 case 532: 7012 #line 2052 "parser.yy" /* yacc.c:1646 */ 7915 break; 7916 7917 case 533: 7918 7919 /* Line 1806 of yacc.c */ 7920 #line 2101 "parser.yy" 7013 7921 { 7014 7922 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7015 7923 typedefTable.leaveScope(); 7016 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) );7924 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7017 7925 } 7018 #line 7019 "Parser/parser.cc" /* yacc.c:1646 */ 7019 break; 7020 7021 case 533: 7022 #line 2058 "parser.yy" /* yacc.c:1646 */ 7926 break; 7927 7928 case 534: 7929 7930 /* Line 1806 of yacc.c */ 7931 #line 2107 "parser.yy" 7023 7932 { 7024 7933 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7025 7934 typedefTable.leaveScope(); 7026 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-3].decl) );7935 (yyval.decl) = (yyvsp[(3) - (4)].decl)->addFunctionBody( (yyvsp[(4) - (4)].sn) )->addQualifiers( (yyvsp[(2) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); 7027 7936 } 7028 #line 7029 "Parser/parser.cc" /* yacc.c:1646 */ 7029 break; 7030 7031 case 534: 7032 #line 2066 "parser.yy" /* yacc.c:1646 */ 7937 break; 7938 7939 case 535: 7940 7941 /* Line 1806 of yacc.c */ 7942 #line 2115 "parser.yy" 7033 7943 { 7034 7944 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7035 7945 typedefTable.leaveScope(); 7036 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-4].decl) );7946 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addType( (yyvsp[(1) - (5)].decl) ); 7037 7947 } 7038 #line 7039 "Parser/parser.cc" /* yacc.c:1646 */ 7039 break; 7040 7041 case 535: 7042 #line 2072 "parser.yy" /* yacc.c:1646 */ 7948 break; 7949 7950 case 536: 7951 7952 /* Line 1806 of yacc.c */ 7953 #line 2121 "parser.yy" 7043 7954 { 7044 7955 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7045 7956 typedefTable.leaveScope(); 7046 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) );7957 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); 7047 7958 } 7048 #line 7049 "Parser/parser.cc" /* yacc.c:1646 */ 7049 break; 7050 7051 case 536: 7052 #line 2080 "parser.yy" /* yacc.c:1646 */ 7959 break; 7960 7961 case 537: 7962 7963 /* Line 1806 of yacc.c */ 7964 #line 2129 "parser.yy" 7053 7965 { 7054 7966 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7055 7967 typedefTable.leaveScope(); 7056 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) );7968 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); 7057 7969 } 7058 #line 7059 "Parser/parser.cc" /* yacc.c:1646 */ 7059 break; 7060 7061 case 537: 7062 #line 2086 "parser.yy" /* yacc.c:1646 */ 7970 break; 7971 7972 case 538: 7973 7974 /* Line 1806 of yacc.c */ 7975 #line 2135 "parser.yy" 7063 7976 { 7064 7977 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7065 7978 typedefTable.leaveScope(); 7066 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) )->addQualifiers( (yyvsp[-5].decl) );7979 (yyval.decl) = (yyvsp[(3) - (6)].decl)->addOldDeclList( (yyvsp[(5) - (6)].decl) )->addFunctionBody( (yyvsp[(6) - (6)].sn) )->addQualifiers( (yyvsp[(2) - (6)].decl) )->addQualifiers( (yyvsp[(1) - (6)].decl) ); 7067 7980 } 7068 #line 7069 "Parser/parser.cc" /* yacc.c:1646 */ 7069 break; 7070 7071 case 541: 7072 #line 2101 "parser.yy" /* yacc.c:1646 */ 7073 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 7074 #line 7075 "Parser/parser.cc" /* yacc.c:1646 */ 7075 break; 7076 7077 case 544: 7078 #line 2111 "parser.yy" /* yacc.c:1646 */ 7981 break; 7982 7983 case 542: 7984 7985 /* Line 1806 of yacc.c */ 7986 #line 2150 "parser.yy" 7987 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7988 break; 7989 7990 case 545: 7991 7992 /* Line 1806 of yacc.c */ 7993 #line 2160 "parser.yy" 7079 7994 { (yyval.decl) = 0; } 7080 #line 7081 "Parser/parser.cc" /* yacc.c:1646 */7081 break;7082 7083 case 547:7084 #line 2118 "parser.yy" /* yacc.c:1646 */7085 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); }7086 #line 7087 "Parser/parser.cc" /* yacc.c:1646 */7087 7995 break; 7088 7996 7089 7997 case 548: 7090 #line 2124 "parser.yy" /* yacc.c:1646 */ 7998 7999 /* Line 1806 of yacc.c */ 8000 #line 2167 "parser.yy" 8001 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8002 break; 8003 8004 case 549: 8005 8006 /* Line 1806 of yacc.c */ 8007 #line 2173 "parser.yy" 7091 8008 { (yyval.decl) = 0; } 7092 #line 7093 "Parser/parser.cc" /* yacc.c:1646 */7093 break;7094 7095 case 554:7096 #line 2139 "parser.yy" /* yacc.c:1646 */7097 { delete (yyvsp[0].tok); }7098 #line 7099 "Parser/parser.cc" /* yacc.c:1646 */7099 8009 break; 7100 8010 7101 8011 case 555: 7102 #line 2140 "parser.yy" /* yacc.c:1646 */ 7103 { delete (yyvsp[0].decl); } 7104 #line 7105 "Parser/parser.cc" /* yacc.c:1646 */ 8012 8013 /* Line 1806 of yacc.c */ 8014 #line 2188 "parser.yy" 8015 { delete (yyvsp[(1) - (1)].tok); } 7105 8016 break; 7106 8017 7107 8018 case 556: 7108 #line 2141 "parser.yy" /* yacc.c:1646 */ 7109 { delete (yyvsp[0].decl); } 7110 #line 7111 "Parser/parser.cc" /* yacc.c:1646 */ 8019 8020 /* Line 1806 of yacc.c */ 8021 #line 2189 "parser.yy" 8022 { delete (yyvsp[(1) - (1)].decl); } 7111 8023 break; 7112 8024 7113 8025 case 557: 7114 #line 2142 "parser.yy" /* yacc.c:1646 */ 7115 { delete (yyvsp[0].decl); } 7116 #line 7117 "Parser/parser.cc" /* yacc.c:1646 */ 8026 8027 /* Line 1806 of yacc.c */ 8028 #line 2190 "parser.yy" 8029 { delete (yyvsp[(1) - (1)].decl); } 7117 8030 break; 7118 8031 7119 8032 case 558: 7120 #line 2177 "parser.yy" /* yacc.c:1646 */ 7121 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7122 #line 7123 "Parser/parser.cc" /* yacc.c:1646 */ 7123 break; 7124 7125 case 560: 7126 #line 2180 "parser.yy" /* yacc.c:1646 */ 7127 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7128 #line 7129 "Parser/parser.cc" /* yacc.c:1646 */ 8033 8034 /* Line 1806 of yacc.c */ 8035 #line 2191 "parser.yy" 8036 { delete (yyvsp[(1) - (1)].decl); } 8037 break; 8038 8039 case 559: 8040 8041 /* Line 1806 of yacc.c */ 8042 #line 2226 "parser.yy" 8043 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7129 8044 break; 7130 8045 7131 8046 case 561: 7132 #line 2182 "parser.yy" /* yacc.c:1646 */ 7133 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7134 #line 7135 "Parser/parser.cc" /* yacc.c:1646 */ 8047 8048 /* Line 1806 of yacc.c */ 8049 #line 2229 "parser.yy" 8050 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7135 8051 break; 7136 8052 7137 8053 case 562: 7138 #line 2187 "parser.yy" /* yacc.c:1646 */ 8054 8055 /* Line 1806 of yacc.c */ 8056 #line 2231 "parser.yy" 8057 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8058 break; 8059 8060 case 563: 8061 8062 /* Line 1806 of yacc.c */ 8063 #line 2236 "parser.yy" 7139 8064 { 7140 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7141 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8065 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8066 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7142 8067 } 7143 #line 7144 "Parser/parser.cc" /* yacc.c:1646 */7144 break;7145 7146 case 563:7147 #line 2192 "parser.yy" /* yacc.c:1646 */7148 { (yyval.decl) = (yyvsp[-1].decl); }7149 #line 7150 "Parser/parser.cc" /* yacc.c:1646 */7150 8068 break; 7151 8069 7152 8070 case 564: 7153 #line 2197 "parser.yy" /* yacc.c:1646 */ 7154 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7155 #line 7156 "Parser/parser.cc" /* yacc.c:1646 */ 8071 8072 /* Line 1806 of yacc.c */ 8073 #line 2241 "parser.yy" 8074 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7156 8075 break; 7157 8076 7158 8077 case 565: 7159 #line 2199 "parser.yy" /* yacc.c:1646 */ 7160 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7161 #line 7162 "Parser/parser.cc" /* yacc.c:1646 */ 8078 8079 /* Line 1806 of yacc.c */ 8080 #line 2246 "parser.yy" 8081 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7162 8082 break; 7163 8083 7164 8084 case 566: 7165 #line 2201 "parser.yy" /* yacc.c:1646 */ 7166 { (yyval.decl) = (yyvsp[-1].decl); } 7167 #line 7168 "Parser/parser.cc" /* yacc.c:1646 */ 8085 8086 /* Line 1806 of yacc.c */ 8087 #line 2248 "parser.yy" 8088 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7168 8089 break; 7169 8090 7170 8091 case 567: 7171 #line 2206 "parser.yy" /* yacc.c:1646 */ 7172 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7173 #line 7174 "Parser/parser.cc" /* yacc.c:1646 */ 8092 8093 /* Line 1806 of yacc.c */ 8094 #line 2250 "parser.yy" 8095 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7174 8096 break; 7175 8097 7176 8098 case 568: 7177 #line 2208 "parser.yy" /* yacc.c:1646 */ 7178 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7179 #line 7180 "Parser/parser.cc" /* yacc.c:1646 */ 8099 8100 /* Line 1806 of yacc.c */ 8101 #line 2255 "parser.yy" 8102 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7180 8103 break; 7181 8104 7182 8105 case 569: 7183 #line 2210 "parser.yy" /* yacc.c:1646 */ 7184 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7185 #line 7186 "Parser/parser.cc" /* yacc.c:1646 */ 8106 8107 /* Line 1806 of yacc.c */ 8108 #line 2257 "parser.yy" 8109 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7186 8110 break; 7187 8111 7188 8112 case 570: 7189 #line 2212 "parser.yy" /* yacc.c:1646 */ 7190 { (yyval.decl) = (yyvsp[-1].decl); } 7191 #line 7192 "Parser/parser.cc" /* yacc.c:1646 */ 8113 8114 /* Line 1806 of yacc.c */ 8115 #line 2259 "parser.yy" 8116 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7192 8117 break; 7193 8118 7194 8119 case 571: 7195 #line 2217 "parser.yy" /* yacc.c:1646 */ 7196 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7197 #line 7198 "Parser/parser.cc" /* yacc.c:1646 */ 8120 8121 /* Line 1806 of yacc.c */ 8122 #line 2261 "parser.yy" 8123 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7198 8124 break; 7199 8125 7200 8126 case 572: 7201 #line 2219 "parser.yy" /* yacc.c:1646 */ 7202 { (yyval.decl) = (yyvsp[-1].decl); } 7203 #line 7204 "Parser/parser.cc" /* yacc.c:1646 */ 8127 8128 /* Line 1806 of yacc.c */ 8129 #line 2266 "parser.yy" 8130 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7204 8131 break; 7205 8132 7206 8133 case 573: 7207 #line 2228 "parser.yy" /* yacc.c:1646 */ 7208 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7209 #line 7210 "Parser/parser.cc" /* yacc.c:1646 */ 7210 break; 7211 7212 case 575: 7213 #line 2231 "parser.yy" /* yacc.c:1646 */ 7214 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7215 #line 7216 "Parser/parser.cc" /* yacc.c:1646 */ 8134 8135 /* Line 1806 of yacc.c */ 8136 #line 2268 "parser.yy" 8137 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8138 break; 8139 8140 case 574: 8141 8142 /* Line 1806 of yacc.c */ 8143 #line 2277 "parser.yy" 8144 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7216 8145 break; 7217 8146 7218 8147 case 576: 7219 #line 2236 "parser.yy" /* yacc.c:1646 */ 7220 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7221 #line 7222 "Parser/parser.cc" /* yacc.c:1646 */ 8148 8149 /* Line 1806 of yacc.c */ 8150 #line 2280 "parser.yy" 8151 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7222 8152 break; 7223 8153 7224 8154 case 577: 7225 #line 2238 "parser.yy" /* yacc.c:1646 */ 7226 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7227 #line 7228 "Parser/parser.cc" /* yacc.c:1646 */ 8155 8156 /* Line 1806 of yacc.c */ 8157 #line 2285 "parser.yy" 8158 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7228 8159 break; 7229 8160 7230 8161 case 578: 7231 #line 2240 "parser.yy" /* yacc.c:1646 */ 7232 { (yyval.decl) = (yyvsp[-1].decl); } 7233 #line 7234 "Parser/parser.cc" /* yacc.c:1646 */ 8162 8163 /* Line 1806 of yacc.c */ 8164 #line 2287 "parser.yy" 8165 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7234 8166 break; 7235 8167 7236 8168 case 579: 7237 #line 2245 "parser.yy" /* yacc.c:1646 */ 7238 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7239 #line 7240 "Parser/parser.cc" /* yacc.c:1646 */ 8169 8170 /* Line 1806 of yacc.c */ 8171 #line 2289 "parser.yy" 8172 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7240 8173 break; 7241 8174 7242 8175 case 580: 7243 #line 2247 "parser.yy" /* yacc.c:1646 */ 7244 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7245 #line 7246 "Parser/parser.cc" /* yacc.c:1646 */ 8176 8177 /* Line 1806 of yacc.c */ 8178 #line 2294 "parser.yy" 8179 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7246 8180 break; 7247 8181 7248 8182 case 581: 7249 #line 2249 "parser.yy" /* yacc.c:1646 */ 7250 { (yyval.decl) = (yyvsp[-1].decl); } 7251 #line 7252 "Parser/parser.cc" /* yacc.c:1646 */ 8183 8184 /* Line 1806 of yacc.c */ 8185 #line 2296 "parser.yy" 8186 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7252 8187 break; 7253 8188 7254 8189 case 582: 7255 #line 2254 "parser.yy" /* yacc.c:1646 */ 7256 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7257 #line 7258 "Parser/parser.cc" /* yacc.c:1646 */ 8190 8191 /* Line 1806 of yacc.c */ 8192 #line 2298 "parser.yy" 8193 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7258 8194 break; 7259 8195 7260 8196 case 583: 7261 #line 2256 "parser.yy" /* yacc.c:1646 */ 7262 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7263 #line 7264 "Parser/parser.cc" /* yacc.c:1646 */ 8197 8198 /* Line 1806 of yacc.c */ 8199 #line 2303 "parser.yy" 8200 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7264 8201 break; 7265 8202 7266 8203 case 584: 7267 #line 2258 "parser.yy" /* yacc.c:1646 */ 7268 { (yyval.decl) = (yyvsp[-1].decl); } 7269 #line 7270 "Parser/parser.cc" /* yacc.c:1646 */ 7270 break; 7271 7272 case 588: 7273 #line 2273 "parser.yy" /* yacc.c:1646 */ 7274 { (yyval.decl) = (yyvsp[-3].decl)->addIdList( (yyvsp[-1].decl) ); } 7275 #line 7276 "Parser/parser.cc" /* yacc.c:1646 */ 8204 8205 /* Line 1806 of yacc.c */ 8206 #line 2305 "parser.yy" 8207 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8208 break; 8209 8210 case 585: 8211 8212 /* Line 1806 of yacc.c */ 8213 #line 2307 "parser.yy" 8214 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7276 8215 break; 7277 8216 7278 8217 case 589: 7279 #line 2275 "parser.yy" /* yacc.c:1646 */ 7280 { (yyval.decl) = (yyvsp[-4].decl)->addIdList( (yyvsp[-1].decl) ); } 7281 #line 7282 "Parser/parser.cc" /* yacc.c:1646 */ 8218 8219 /* Line 1806 of yacc.c */ 8220 #line 2322 "parser.yy" 8221 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 7282 8222 break; 7283 8223 7284 8224 case 590: 7285 #line 2277 "parser.yy" /* yacc.c:1646 */ 7286 { (yyval.decl) = (yyvsp[-1].decl); } 7287 #line 7288 "Parser/parser.cc" /* yacc.c:1646 */ 8225 8226 /* Line 1806 of yacc.c */ 8227 #line 2324 "parser.yy" 8228 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 7288 8229 break; 7289 8230 7290 8231 case 591: 7291 #line 2282 "parser.yy" /* yacc.c:1646 */ 7292 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7293 #line 7294 "Parser/parser.cc" /* yacc.c:1646 */ 8232 8233 /* Line 1806 of yacc.c */ 8234 #line 2326 "parser.yy" 8235 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7294 8236 break; 7295 8237 7296 8238 case 592: 7297 #line 2284 "parser.yy" /* yacc.c:1646 */ 7298 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7299 #line 7300 "Parser/parser.cc" /* yacc.c:1646 */ 8239 8240 /* Line 1806 of yacc.c */ 8241 #line 2331 "parser.yy" 8242 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7300 8243 break; 7301 8244 7302 8245 case 593: 7303 #line 2286 "parser.yy" /* yacc.c:1646 */ 7304 { (yyval.decl) = (yyvsp[-1].decl); } 7305 #line 7306 "Parser/parser.cc" /* yacc.c:1646 */ 8246 8247 /* Line 1806 of yacc.c */ 8248 #line 2333 "parser.yy" 8249 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7306 8250 break; 7307 8251 7308 8252 case 594: 7309 #line 2291 "parser.yy" /* yacc.c:1646 */ 7310 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7311 #line 7312 "Parser/parser.cc" /* yacc.c:1646 */ 8253 8254 /* Line 1806 of yacc.c */ 8255 #line 2335 "parser.yy" 8256 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7312 8257 break; 7313 8258 7314 8259 case 595: 7315 #line 2293 "parser.yy" /* yacc.c:1646 */ 7316 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7317 #line 7318 "Parser/parser.cc" /* yacc.c:1646 */ 8260 8261 /* Line 1806 of yacc.c */ 8262 #line 2340 "parser.yy" 8263 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7318 8264 break; 7319 8265 7320 8266 case 596: 7321 #line 2295 "parser.yy" /* yacc.c:1646 */ 7322 { (yyval.decl) = (yyvsp[-1].decl); } 7323 #line 7324 "Parser/parser.cc" /* yacc.c:1646 */ 8267 8268 /* Line 1806 of yacc.c */ 8269 #line 2342 "parser.yy" 8270 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7324 8271 break; 7325 8272 7326 8273 case 597: 7327 #line 2310 "parser.yy" /* yacc.c:1646 */ 7328 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7329 #line 7330 "Parser/parser.cc" /* yacc.c:1646 */ 7330 break; 7331 7332 case 599: 7333 #line 2313 "parser.yy" /* yacc.c:1646 */ 7334 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7335 #line 7336 "Parser/parser.cc" /* yacc.c:1646 */ 8274 8275 /* Line 1806 of yacc.c */ 8276 #line 2344 "parser.yy" 8277 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8278 break; 8279 8280 case 598: 8281 8282 /* Line 1806 of yacc.c */ 8283 #line 2359 "parser.yy" 8284 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7336 8285 break; 7337 8286 7338 8287 case 600: 7339 #line 2315 "parser.yy" /* yacc.c:1646 */ 7340 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7341 #line 7342 "Parser/parser.cc" /* yacc.c:1646 */ 7342 break; 7343 7344 case 602: 7345 #line 2321 "parser.yy" /* yacc.c:1646 */ 7346 { (yyval.decl) = (yyvsp[-1].decl); } 7347 #line 7348 "Parser/parser.cc" /* yacc.c:1646 */ 8288 8289 /* Line 1806 of yacc.c */ 8290 #line 2362 "parser.yy" 8291 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8292 break; 8293 8294 case 601: 8295 8296 /* Line 1806 of yacc.c */ 8297 #line 2364 "parser.yy" 8298 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7348 8299 break; 7349 8300 7350 8301 case 603: 7351 #line 2326 "parser.yy" /* yacc.c:1646 */ 7352 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7353 #line 7354 "Parser/parser.cc" /* yacc.c:1646 */ 8302 8303 /* Line 1806 of yacc.c */ 8304 #line 2370 "parser.yy" 8305 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7354 8306 break; 7355 8307 7356 8308 case 604: 7357 #line 2328 "parser.yy" /* yacc.c:1646 */ 7358 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7359 #line 7360 "Parser/parser.cc" /* yacc.c:1646 */ 8309 8310 /* Line 1806 of yacc.c */ 8311 #line 2375 "parser.yy" 8312 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7360 8313 break; 7361 8314 7362 8315 case 605: 7363 #line 2330 "parser.yy" /* yacc.c:1646 */ 7364 { (yyval.decl) = (yyvsp[-1].decl); } 7365 #line 7366 "Parser/parser.cc" /* yacc.c:1646 */ 8316 8317 /* Line 1806 of yacc.c */ 8318 #line 2377 "parser.yy" 8319 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7366 8320 break; 7367 8321 7368 8322 case 606: 7369 #line 2335 "parser.yy" /* yacc.c:1646 */ 7370 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7371 #line 7372 "Parser/parser.cc" /* yacc.c:1646 */ 8323 8324 /* Line 1806 of yacc.c */ 8325 #line 2379 "parser.yy" 8326 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7372 8327 break; 7373 8328 7374 8329 case 607: 7375 #line 2337 "parser.yy" /* yacc.c:1646 */ 7376 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7377 #line 7378 "Parser/parser.cc" /* yacc.c:1646 */ 8330 8331 /* Line 1806 of yacc.c */ 8332 #line 2384 "parser.yy" 8333 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7378 8334 break; 7379 8335 7380 8336 case 608: 7381 #line 2339 "parser.yy" /* yacc.c:1646 */ 7382 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7383 #line 7384 "Parser/parser.cc" /* yacc.c:1646 */ 8337 8338 /* Line 1806 of yacc.c */ 8339 #line 2386 "parser.yy" 8340 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7384 8341 break; 7385 8342 7386 8343 case 609: 7387 #line 2341 "parser.yy" /* yacc.c:1646 */ 7388 { (yyval.decl) = (yyvsp[-1].decl); } 7389 #line 7390 "Parser/parser.cc" /* yacc.c:1646 */ 8344 8345 /* Line 1806 of yacc.c */ 8346 #line 2388 "parser.yy" 8347 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7390 8348 break; 7391 8349 7392 8350 case 610: 7393 #line 2346 "parser.yy" /* yacc.c:1646 */ 7394 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7395 #line 7396 "Parser/parser.cc" /* yacc.c:1646 */ 8351 8352 /* Line 1806 of yacc.c */ 8353 #line 2390 "parser.yy" 8354 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7396 8355 break; 7397 8356 7398 8357 case 611: 7399 #line 2348 "parser.yy" /* yacc.c:1646 */ 7400 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7401 #line 7402 "Parser/parser.cc" /* yacc.c:1646 */ 8358 8359 /* Line 1806 of yacc.c */ 8360 #line 2395 "parser.yy" 8361 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7402 8362 break; 7403 8363 7404 8364 case 612: 7405 #line 2350 "parser.yy" /* yacc.c:1646 */ 7406 { (yyval.decl) = (yyvsp[-1].decl); } 7407 #line 7408 "Parser/parser.cc" /* yacc.c:1646 */ 8365 8366 /* Line 1806 of yacc.c */ 8367 #line 2397 "parser.yy" 8368 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7408 8369 break; 7409 8370 7410 8371 case 613: 7411 #line 2360 "parser.yy" /* yacc.c:1646 */ 7412 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7413 #line 7414 "Parser/parser.cc" /* yacc.c:1646 */ 7414 break; 7415 7416 case 615: 7417 #line 2363 "parser.yy" /* yacc.c:1646 */ 7418 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7419 #line 7420 "Parser/parser.cc" /* yacc.c:1646 */ 8372 8373 /* Line 1806 of yacc.c */ 8374 #line 2399 "parser.yy" 8375 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8376 break; 8377 8378 case 614: 8379 8380 /* Line 1806 of yacc.c */ 8381 #line 2409 "parser.yy" 8382 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7420 8383 break; 7421 8384 7422 8385 case 616: 7423 #line 2365 "parser.yy" /* yacc.c:1646 */ 7424 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7425 #line 7426 "Parser/parser.cc" /* yacc.c:1646 */ 8386 8387 /* Line 1806 of yacc.c */ 8388 #line 2412 "parser.yy" 8389 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7426 8390 break; 7427 8391 7428 8392 case 617: 7429 #line 2370 "parser.yy" /* yacc.c:1646 */ 7430 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7431 #line 7432 "Parser/parser.cc" /* yacc.c:1646 */ 8393 8394 /* Line 1806 of yacc.c */ 8395 #line 2414 "parser.yy" 8396 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7432 8397 break; 7433 8398 7434 8399 case 618: 7435 #line 2372 "parser.yy" /* yacc.c:1646 */ 7436 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7437 #line 7438 "Parser/parser.cc" /* yacc.c:1646 */ 8400 8401 /* Line 1806 of yacc.c */ 8402 #line 2419 "parser.yy" 8403 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7438 8404 break; 7439 8405 7440 8406 case 619: 7441 #line 2374 "parser.yy" /* yacc.c:1646 */ 7442 { (yyval.decl) = (yyvsp[-1].decl); } 7443 #line 7444 "Parser/parser.cc" /* yacc.c:1646 */ 8407 8408 /* Line 1806 of yacc.c */ 8409 #line 2421 "parser.yy" 8410 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7444 8411 break; 7445 8412 7446 8413 case 620: 7447 #line 2379 "parser.yy" /* yacc.c:1646 */ 7448 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7449 #line 7450 "Parser/parser.cc" /* yacc.c:1646 */ 8414 8415 /* Line 1806 of yacc.c */ 8416 #line 2423 "parser.yy" 8417 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7450 8418 break; 7451 8419 7452 8420 case 621: 7453 #line 2381 "parser.yy" /* yacc.c:1646 */ 7454 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7455 #line 7456 "Parser/parser.cc" /* yacc.c:1646 */ 8421 8422 /* Line 1806 of yacc.c */ 8423 #line 2428 "parser.yy" 8424 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7456 8425 break; 7457 8426 7458 8427 case 622: 7459 #line 2383 "parser.yy" /* yacc.c:1646 */ 7460 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7461 #line 7462 "Parser/parser.cc" /* yacc.c:1646 */ 8428 8429 /* Line 1806 of yacc.c */ 8430 #line 2430 "parser.yy" 8431 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7462 8432 break; 7463 8433 7464 8434 case 623: 7465 #line 2385 "parser.yy" /* yacc.c:1646 */ 7466 { (yyval.decl) = (yyvsp[-1].decl); } 7467 #line 7468 "Parser/parser.cc" /* yacc.c:1646 */ 8435 8436 /* Line 1806 of yacc.c */ 8437 #line 2432 "parser.yy" 8438 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7468 8439 break; 7469 8440 7470 8441 case 624: 7471 #line 2390 "parser.yy" /* yacc.c:1646 */ 7472 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7473 #line 7474 "Parser/parser.cc" /* yacc.c:1646 */ 8442 8443 /* Line 1806 of yacc.c */ 8444 #line 2434 "parser.yy" 8445 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7474 8446 break; 7475 8447 7476 8448 case 625: 7477 #line 2392 "parser.yy" /* yacc.c:1646 */ 7478 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7479 #line 7480 "Parser/parser.cc" /* yacc.c:1646 */ 8449 8450 /* Line 1806 of yacc.c */ 8451 #line 2439 "parser.yy" 8452 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7480 8453 break; 7481 8454 7482 8455 case 626: 7483 #line 2394 "parser.yy" /* yacc.c:1646 */ 7484 { (yyval.decl) = (yyvsp[-1].decl); } 7485 #line 7486 "Parser/parser.cc" /* yacc.c:1646 */ 8456 8457 /* Line 1806 of yacc.c */ 8458 #line 2441 "parser.yy" 8459 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7486 8460 break; 7487 8461 7488 8462 case 627: 7489 #line 2425 "parser.yy" /* yacc.c:1646 */ 7490 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7491 #line 7492 "Parser/parser.cc" /* yacc.c:1646 */ 7492 break; 7493 7494 case 629: 7495 #line 2428 "parser.yy" /* yacc.c:1646 */ 7496 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7497 #line 7498 "Parser/parser.cc" /* yacc.c:1646 */ 8463 8464 /* Line 1806 of yacc.c */ 8465 #line 2443 "parser.yy" 8466 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8467 break; 8468 8469 case 628: 8470 8471 /* Line 1806 of yacc.c */ 8472 #line 2474 "parser.yy" 8473 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7498 8474 break; 7499 8475 7500 8476 case 630: 7501 #line 2430 "parser.yy" /* yacc.c:1646 */ 7502 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7503 #line 7504 "Parser/parser.cc" /* yacc.c:1646 */ 8477 8478 /* Line 1806 of yacc.c */ 8479 #line 2477 "parser.yy" 8480 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7504 8481 break; 7505 8482 7506 8483 case 631: 7507 #line 2435 "parser.yy" /* yacc.c:1646 */ 8484 8485 /* Line 1806 of yacc.c */ 8486 #line 2479 "parser.yy" 8487 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8488 break; 8489 8490 case 632: 8491 8492 /* Line 1806 of yacc.c */ 8493 #line 2484 "parser.yy" 7508 8494 { 7509 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7510 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8495 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8496 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7511 8497 } 7512 #line 7513 "Parser/parser.cc" /* yacc.c:1646 */ 7513 break; 7514 7515 case 632: 7516 #line 2440 "parser.yy" /* yacc.c:1646 */ 8498 break; 8499 8500 case 633: 8501 8502 /* Line 1806 of yacc.c */ 8503 #line 2489 "parser.yy" 7517 8504 { 7518 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7519 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8505 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8506 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7520 8507 } 7521 #line 7522 "Parser/parser.cc" /* yacc.c:1646 */7522 break;7523 7524 case 633:7525 #line 2448 "parser.yy" /* yacc.c:1646 */7526 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7527 #line 7528 "Parser/parser.cc" /* yacc.c:1646 */7528 8508 break; 7529 8509 7530 8510 case 634: 7531 #line 2450 "parser.yy" /* yacc.c:1646 */ 7532 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7533 #line 7534 "Parser/parser.cc" /* yacc.c:1646 */ 8511 8512 /* Line 1806 of yacc.c */ 8513 #line 2497 "parser.yy" 8514 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7534 8515 break; 7535 8516 7536 8517 case 635: 7537 #line 2452 "parser.yy" /* yacc.c:1646 */ 7538 { (yyval.decl) = (yyvsp[-1].decl); } 7539 #line 7540 "Parser/parser.cc" /* yacc.c:1646 */ 8518 8519 /* Line 1806 of yacc.c */ 8520 #line 2499 "parser.yy" 8521 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7540 8522 break; 7541 8523 7542 8524 case 636: 7543 #line 2457 "parser.yy" /* yacc.c:1646 */ 7544 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7545 #line 7546 "Parser/parser.cc" /* yacc.c:1646 */ 8525 8526 /* Line 1806 of yacc.c */ 8527 #line 2501 "parser.yy" 8528 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7546 8529 break; 7547 8530 7548 8531 case 637: 7549 #line 2459 "parser.yy" /* yacc.c:1646 */ 7550 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7551 #line 7552 "Parser/parser.cc" /* yacc.c:1646 */ 8532 8533 /* Line 1806 of yacc.c */ 8534 #line 2506 "parser.yy" 8535 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7552 8536 break; 7553 8537 7554 8538 case 638: 7555 #line 2464 "parser.yy" /* yacc.c:1646 */ 7556 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7557 #line 7558 "Parser/parser.cc" /* yacc.c:1646 */ 8539 8540 /* Line 1806 of yacc.c */ 8541 #line 2508 "parser.yy" 8542 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7558 8543 break; 7559 8544 7560 8545 case 639: 7561 #line 2466 "parser.yy" /* yacc.c:1646 */ 7562 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7563 #line 7564 "Parser/parser.cc" /* yacc.c:1646 */ 7564 break; 7565 7566 case 641: 7567 #line 2481 "parser.yy" /* yacc.c:1646 */ 7568 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7569 #line 7570 "Parser/parser.cc" /* yacc.c:1646 */ 8546 8547 /* Line 1806 of yacc.c */ 8548 #line 2513 "parser.yy" 8549 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8550 break; 8551 8552 case 640: 8553 8554 /* Line 1806 of yacc.c */ 8555 #line 2515 "parser.yy" 8556 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7570 8557 break; 7571 8558 7572 8559 case 642: 7573 #line 2483 "parser.yy" /* yacc.c:1646 */ 7574 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7575 #line 7576 "Parser/parser.cc" /* yacc.c:1646 */ 8560 8561 /* Line 1806 of yacc.c */ 8562 #line 2530 "parser.yy" 8563 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7576 8564 break; 7577 8565 7578 8566 case 643: 7579 #line 2488 "parser.yy" /* yacc.c:1646 */ 8567 8568 /* Line 1806 of yacc.c */ 8569 #line 2532 "parser.yy" 8570 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8571 break; 8572 8573 case 644: 8574 8575 /* Line 1806 of yacc.c */ 8576 #line 2537 "parser.yy" 7580 8577 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7581 #line 7582 "Parser/parser.cc" /* yacc.c:1646 */7582 break;7583 7584 case 644:7585 #line 2490 "parser.yy" /* yacc.c:1646 */7586 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7587 #line 7588 "Parser/parser.cc" /* yacc.c:1646 */7588 8578 break; 7589 8579 7590 8580 case 645: 7591 #line 2492 "parser.yy" /* yacc.c:1646 */ 7592 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7593 #line 7594 "Parser/parser.cc" /* yacc.c:1646 */ 8581 8582 /* Line 1806 of yacc.c */ 8583 #line 2539 "parser.yy" 8584 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7594 8585 break; 7595 8586 7596 8587 case 646: 7597 #line 2494 "parser.yy" /* yacc.c:1646 */ 7598 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7599 #line 7600 "Parser/parser.cc" /* yacc.c:1646 */ 8588 8589 /* Line 1806 of yacc.c */ 8590 #line 2541 "parser.yy" 8591 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7600 8592 break; 7601 8593 7602 8594 case 647: 7603 #line 2496 "parser.yy" /* yacc.c:1646 */ 7604 { (yyval.decl) = (yyvsp[-1].decl); } 7605 #line 7606 "Parser/parser.cc" /* yacc.c:1646 */ 7606 break; 7607 7608 case 649: 7609 #line 2502 "parser.yy" /* yacc.c:1646 */ 7610 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7611 #line 7612 "Parser/parser.cc" /* yacc.c:1646 */ 8595 8596 /* Line 1806 of yacc.c */ 8597 #line 2543 "parser.yy" 8598 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8599 break; 8600 8601 case 648: 8602 8603 /* Line 1806 of yacc.c */ 8604 #line 2545 "parser.yy" 8605 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7612 8606 break; 7613 8607 7614 8608 case 650: 7615 #line 2504 "parser.yy" /* yacc.c:1646 */ 7616 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7617 #line 7618 "Parser/parser.cc" /* yacc.c:1646 */ 8609 8610 /* Line 1806 of yacc.c */ 8611 #line 2551 "parser.yy" 8612 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7618 8613 break; 7619 8614 7620 8615 case 651: 7621 #line 2506 "parser.yy" /* yacc.c:1646 */ 7622 { (yyval.decl) = (yyvsp[-1].decl); } 7623 #line 7624 "Parser/parser.cc" /* yacc.c:1646 */ 8616 8617 /* Line 1806 of yacc.c */ 8618 #line 2553 "parser.yy" 8619 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7624 8620 break; 7625 8621 7626 8622 case 652: 7627 #line 2511 "parser.yy" /* yacc.c:1646 */ 7628 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7629 #line 7630 "Parser/parser.cc" /* yacc.c:1646 */ 8623 8624 /* Line 1806 of yacc.c */ 8625 #line 2555 "parser.yy" 8626 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7630 8627 break; 7631 8628 7632 8629 case 653: 7633 #line 2513 "parser.yy" /* yacc.c:1646 */ 7634 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7635 #line 7636 "Parser/parser.cc" /* yacc.c:1646 */ 8630 8631 /* Line 1806 of yacc.c */ 8632 #line 2560 "parser.yy" 8633 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 7636 8634 break; 7637 8635 7638 8636 case 654: 7639 #line 2515 "parser.yy" /* yacc.c:1646 */ 7640 { (yyval.decl) = (yyvsp[-1].decl); } 7641 #line 7642 "Parser/parser.cc" /* yacc.c:1646 */ 8637 8638 /* Line 1806 of yacc.c */ 8639 #line 2562 "parser.yy" 8640 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7642 8641 break; 7643 8642 7644 8643 case 655: 7645 #line 2521 "parser.yy" /* yacc.c:1646 */ 8644 8645 /* Line 1806 of yacc.c */ 8646 #line 2564 "parser.yy" 8647 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8648 break; 8649 8650 case 656: 8651 8652 /* Line 1806 of yacc.c */ 8653 #line 2570 "parser.yy" 7646 8654 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7647 #line 7648 "Parser/parser.cc" /* yacc.c:1646 */ 7648 break; 7649 7650 case 656: 7651 #line 2523 "parser.yy" /* yacc.c:1646 */ 7652 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[0].decl) ); } 7653 #line 7654 "Parser/parser.cc" /* yacc.c:1646 */ 7654 break; 7655 7656 case 658: 7657 #line 2529 "parser.yy" /* yacc.c:1646 */ 7658 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), 0, false ); } 7659 #line 7660 "Parser/parser.cc" /* yacc.c:1646 */ 8655 break; 8656 8657 case 657: 8658 8659 /* Line 1806 of yacc.c */ 8660 #line 2572 "parser.yy" 8661 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 7660 8662 break; 7661 8663 7662 8664 case 659: 7663 #line 2531 "parser.yy" /* yacc.c:1646 */ 8665 8666 /* Line 1806 of yacc.c */ 8667 #line 2578 "parser.yy" 8668 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8669 break; 8670 8671 case 660: 8672 8673 /* Line 1806 of yacc.c */ 8674 #line 2580 "parser.yy" 7664 8675 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 7665 #line 7666 "Parser/parser.cc" /* yacc.c:1646 */7666 break;7667 7668 case 660:7669 #line 2533 "parser.yy" /* yacc.c:1646 */7670 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newArray( (yyvsp[-2].en), 0, false ) ); }7671 #line 7672 "Parser/parser.cc" /* yacc.c:1646 */7672 8676 break; 7673 8677 7674 8678 case 661: 7675 #line 2535 "parser.yy" /* yacc.c:1646 */ 7676 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7677 #line 7678 "Parser/parser.cc" /* yacc.c:1646 */ 7678 break; 7679 7680 case 663: 7681 #line 2550 "parser.yy" /* yacc.c:1646 */ 7682 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7683 #line 7684 "Parser/parser.cc" /* yacc.c:1646 */ 8679 8680 /* Line 1806 of yacc.c */ 8681 #line 2582 "parser.yy" 8682 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8683 break; 8684 8685 case 662: 8686 8687 /* Line 1806 of yacc.c */ 8688 #line 2584 "parser.yy" 8689 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 7684 8690 break; 7685 8691 7686 8692 case 664: 7687 #line 2552 "parser.yy" /* yacc.c:1646 */ 7688 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7689 #line 7690 "Parser/parser.cc" /* yacc.c:1646 */ 8693 8694 /* Line 1806 of yacc.c */ 8695 #line 2599 "parser.yy" 8696 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7690 8697 break; 7691 8698 7692 8699 case 665: 7693 #line 2557 "parser.yy" /* yacc.c:1646 */ 8700 8701 /* Line 1806 of yacc.c */ 8702 #line 2601 "parser.yy" 8703 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8704 break; 8705 8706 case 666: 8707 8708 /* Line 1806 of yacc.c */ 8709 #line 2606 "parser.yy" 7694 8710 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7695 #line 7696 "Parser/parser.cc" /* yacc.c:1646 */7696 break;7697 7698 case 666:7699 #line 2559 "parser.yy" /* yacc.c:1646 */7700 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7701 #line 7702 "Parser/parser.cc" /* yacc.c:1646 */7702 8711 break; 7703 8712 7704 8713 case 667: 7705 #line 2561 "parser.yy" /* yacc.c:1646 */ 7706 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7707 #line 7708 "Parser/parser.cc" /* yacc.c:1646 */ 8714 8715 /* Line 1806 of yacc.c */ 8716 #line 2608 "parser.yy" 8717 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7708 8718 break; 7709 8719 7710 8720 case 668: 7711 #line 2563 "parser.yy" /* yacc.c:1646 */ 7712 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7713 #line 7714 "Parser/parser.cc" /* yacc.c:1646 */ 8721 8722 /* Line 1806 of yacc.c */ 8723 #line 2610 "parser.yy" 8724 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7714 8725 break; 7715 8726 7716 8727 case 669: 7717 #line 2565 "parser.yy" /* yacc.c:1646 */ 7718 { (yyval.decl) = (yyvsp[-1].decl); } 7719 #line 7720 "Parser/parser.cc" /* yacc.c:1646 */ 7720 break; 7721 7722 case 671: 7723 #line 2571 "parser.yy" /* yacc.c:1646 */ 7724 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7725 #line 7726 "Parser/parser.cc" /* yacc.c:1646 */ 8728 8729 /* Line 1806 of yacc.c */ 8730 #line 2612 "parser.yy" 8731 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8732 break; 8733 8734 case 670: 8735 8736 /* Line 1806 of yacc.c */ 8737 #line 2614 "parser.yy" 8738 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7726 8739 break; 7727 8740 7728 8741 case 672: 7729 #line 2573 "parser.yy" /* yacc.c:1646 */ 7730 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7731 #line 7732 "Parser/parser.cc" /* yacc.c:1646 */ 8742 8743 /* Line 1806 of yacc.c */ 8744 #line 2620 "parser.yy" 8745 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7732 8746 break; 7733 8747 7734 8748 case 673: 7735 #line 2575 "parser.yy" /* yacc.c:1646 */ 7736 { (yyval.decl) = (yyvsp[-1].decl); } 7737 #line 7738 "Parser/parser.cc" /* yacc.c:1646 */ 8749 8750 /* Line 1806 of yacc.c */ 8751 #line 2622 "parser.yy" 8752 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7738 8753 break; 7739 8754 7740 8755 case 674: 7741 #line 2580 "parser.yy" /* yacc.c:1646 */ 7742 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7743 #line 7744 "Parser/parser.cc" /* yacc.c:1646 */ 8756 8757 /* Line 1806 of yacc.c */ 8758 #line 2624 "parser.yy" 8759 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7744 8760 break; 7745 8761 7746 8762 case 675: 7747 #line 2582 "parser.yy" /* yacc.c:1646 */ 7748 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7749 #line 7750 "Parser/parser.cc" /* yacc.c:1646 */ 8763 8764 /* Line 1806 of yacc.c */ 8765 #line 2629 "parser.yy" 8766 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 7750 8767 break; 7751 8768 7752 8769 case 676: 7753 #line 2584 "parser.yy" /* yacc.c:1646 */ 7754 { (yyval.decl) = (yyvsp[-1].decl); } 7755 #line 7756 "Parser/parser.cc" /* yacc.c:1646 */ 7756 break; 7757 7758 case 678: 7759 #line 2591 "parser.yy" /* yacc.c:1646 */ 7760 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7761 #line 7762 "Parser/parser.cc" /* yacc.c:1646 */ 7762 break; 7763 7764 case 680: 7765 #line 2602 "parser.yy" /* yacc.c:1646 */ 8770 8771 /* Line 1806 of yacc.c */ 8772 #line 2631 "parser.yy" 8773 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8774 break; 8775 8776 case 677: 8777 8778 /* Line 1806 of yacc.c */ 8779 #line 2633 "parser.yy" 8780 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8781 break; 8782 8783 case 679: 8784 8785 /* Line 1806 of yacc.c */ 8786 #line 2640 "parser.yy" 8787 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8788 break; 8789 8790 case 681: 8791 8792 /* Line 1806 of yacc.c */ 8793 #line 2651 "parser.yy" 7766 8794 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7767 #line 7768 "Parser/parser.cc" /* yacc.c:1646 */7768 break;7769 7770 case 681:7771 #line 2605 "parser.yy" /* yacc.c:1646 */7772 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); }7773 #line 7774 "Parser/parser.cc" /* yacc.c:1646 */7774 8795 break; 7775 8796 7776 8797 case 682: 7777 #line 2607 "parser.yy" /* yacc.c:1646 */ 7778 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[-2].decl), false ); } 7779 #line 7780 "Parser/parser.cc" /* yacc.c:1646 */ 8798 8799 /* Line 1806 of yacc.c */ 8800 #line 2654 "parser.yy" 8801 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7780 8802 break; 7781 8803 7782 8804 case 683: 7783 #line 2610 "parser.yy" /* yacc.c:1646 */ 7784 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7785 #line 7786 "Parser/parser.cc" /* yacc.c:1646 */ 8805 8806 /* Line 1806 of yacc.c */ 8807 #line 2656 "parser.yy" 8808 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 7786 8809 break; 7787 8810 7788 8811 case 684: 7789 #line 2612 "parser.yy" /* yacc.c:1646 */ 7790 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7791 #line 7792 "Parser/parser.cc" /* yacc.c:1646 */ 8812 8813 /* Line 1806 of yacc.c */ 8814 #line 2659 "parser.yy" 8815 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7792 8816 break; 7793 8817 7794 8818 case 685: 7795 #line 2614 "parser.yy" /* yacc.c:1646 */ 7796 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-4].decl), true ); } 7797 #line 7798 "Parser/parser.cc" /* yacc.c:1646 */ 7798 break; 7799 7800 case 687: 7801 #line 2628 "parser.yy" /* yacc.c:1646 */ 7802 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7803 #line 7804 "Parser/parser.cc" /* yacc.c:1646 */ 8819 8820 /* Line 1806 of yacc.c */ 8821 #line 2661 "parser.yy" 8822 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8823 break; 8824 8825 case 686: 8826 8827 /* Line 1806 of yacc.c */ 8828 #line 2663 "parser.yy" 8829 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 7804 8830 break; 7805 8831 7806 8832 case 688: 7807 #line 2630 "parser.yy" /* yacc.c:1646 */ 7808 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7809 #line 7810 "Parser/parser.cc" /* yacc.c:1646 */ 8833 8834 /* Line 1806 of yacc.c */ 8835 #line 2677 "parser.yy" 8836 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7810 8837 break; 7811 8838 7812 8839 case 689: 7813 #line 2635 "parser.yy" /* yacc.c:1646 */ 8840 8841 /* Line 1806 of yacc.c */ 8842 #line 2679 "parser.yy" 8843 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8844 break; 8845 8846 case 690: 8847 8848 /* Line 1806 of yacc.c */ 8849 #line 2684 "parser.yy" 7814 8850 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7815 #line 7816 "Parser/parser.cc" /* yacc.c:1646 */7816 break;7817 7818 case 690:7819 #line 2637 "parser.yy" /* yacc.c:1646 */7820 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7821 #line 7822 "Parser/parser.cc" /* yacc.c:1646 */7822 8851 break; 7823 8852 7824 8853 case 691: 7825 #line 2639 "parser.yy" /* yacc.c:1646 */ 7826 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7827 #line 7828 "Parser/parser.cc" /* yacc.c:1646 */ 8854 8855 /* Line 1806 of yacc.c */ 8856 #line 2686 "parser.yy" 8857 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7828 8858 break; 7829 8859 7830 8860 case 692: 7831 #line 2641 "parser.yy" /* yacc.c:1646 */ 7832 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7833 #line 7834 "Parser/parser.cc" /* yacc.c:1646 */ 8861 8862 /* Line 1806 of yacc.c */ 8863 #line 2688 "parser.yy" 8864 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7834 8865 break; 7835 8866 7836 8867 case 693: 7837 #line 2643 "parser.yy" /* yacc.c:1646 */ 7838 { (yyval.decl) = (yyvsp[-1].decl); } 7839 #line 7840 "Parser/parser.cc" /* yacc.c:1646 */ 7840 break; 7841 7842 case 695: 7843 #line 2649 "parser.yy" /* yacc.c:1646 */ 7844 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7845 #line 7846 "Parser/parser.cc" /* yacc.c:1646 */ 8868 8869 /* Line 1806 of yacc.c */ 8870 #line 2690 "parser.yy" 8871 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8872 break; 8873 8874 case 694: 8875 8876 /* Line 1806 of yacc.c */ 8877 #line 2692 "parser.yy" 8878 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7846 8879 break; 7847 8880 7848 8881 case 696: 7849 #line 2651 "parser.yy" /* yacc.c:1646 */ 7850 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7851 #line 7852 "Parser/parser.cc" /* yacc.c:1646 */ 8882 8883 /* Line 1806 of yacc.c */ 8884 #line 2698 "parser.yy" 8885 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7852 8886 break; 7853 8887 7854 8888 case 697: 7855 #line 2653 "parser.yy" /* yacc.c:1646 */ 7856 { (yyval.decl) = (yyvsp[-1].decl); } 7857 #line 7858 "Parser/parser.cc" /* yacc.c:1646 */ 8889 8890 /* Line 1806 of yacc.c */ 8891 #line 2700 "parser.yy" 8892 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7858 8893 break; 7859 8894 7860 8895 case 698: 7861 #line 2658 "parser.yy" /* yacc.c:1646 */ 7862 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7863 #line 7864 "Parser/parser.cc" /* yacc.c:1646 */ 8896 8897 /* Line 1806 of yacc.c */ 8898 #line 2702 "parser.yy" 8899 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7864 8900 break; 7865 8901 7866 8902 case 699: 7867 #line 2660 "parser.yy" /* yacc.c:1646 */ 7868 { (yyval.decl) = (yyvsp[-1].decl); } 7869 #line 7870 "Parser/parser.cc" /* yacc.c:1646 */ 7870 break; 7871 7872 case 702: 7873 #line 2670 "parser.yy" /* yacc.c:1646 */ 7874 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7875 #line 7876 "Parser/parser.cc" /* yacc.c:1646 */ 7876 break; 7877 7878 case 705: 7879 #line 2680 "parser.yy" /* yacc.c:1646 */ 7880 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7881 #line 7882 "Parser/parser.cc" /* yacc.c:1646 */ 8903 8904 /* Line 1806 of yacc.c */ 8905 #line 2707 "parser.yy" 8906 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8907 break; 8908 8909 case 700: 8910 8911 /* Line 1806 of yacc.c */ 8912 #line 2709 "parser.yy" 8913 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8914 break; 8915 8916 case 703: 8917 8918 /* Line 1806 of yacc.c */ 8919 #line 2719 "parser.yy" 8920 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7882 8921 break; 7883 8922 7884 8923 case 706: 7885 #line 2682 "parser.yy" /* yacc.c:1646 */ 7886 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7887 #line 7888 "Parser/parser.cc" /* yacc.c:1646 */ 8924 8925 /* Line 1806 of yacc.c */ 8926 #line 2729 "parser.yy" 8927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7888 8928 break; 7889 8929 7890 8930 case 707: 7891 #line 2684 "parser.yy" /* yacc.c:1646 */ 7892 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7893 #line 7894 "Parser/parser.cc" /* yacc.c:1646 */ 8931 8932 /* Line 1806 of yacc.c */ 8933 #line 2731 "parser.yy" 8934 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7894 8935 break; 7895 8936 7896 8937 case 708: 7897 #line 2686 "parser.yy" /* yacc.c:1646 */ 7898 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7899 #line 7900 "Parser/parser.cc" /* yacc.c:1646 */ 8938 8939 /* Line 1806 of yacc.c */ 8940 #line 2733 "parser.yy" 8941 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7900 8942 break; 7901 8943 7902 8944 case 709: 7903 #line 2688 "parser.yy" /* yacc.c:1646 */ 7904 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7905 #line 7906 "Parser/parser.cc" /* yacc.c:1646 */ 8945 8946 /* Line 1806 of yacc.c */ 8947 #line 2735 "parser.yy" 8948 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7906 8949 break; 7907 8950 7908 8951 case 710: 7909 #line 2690 "parser.yy" /* yacc.c:1646 */ 7910 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7911 #line 7912 "Parser/parser.cc" /* yacc.c:1646 */ 8952 8953 /* Line 1806 of yacc.c */ 8954 #line 2737 "parser.yy" 8955 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7912 8956 break; 7913 8957 7914 8958 case 711: 7915 #line 2697 "parser.yy" /* yacc.c:1646 */ 7916 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7917 #line 7918 "Parser/parser.cc" /* yacc.c:1646 */ 8959 8960 /* Line 1806 of yacc.c */ 8961 #line 2739 "parser.yy" 8962 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7918 8963 break; 7919 8964 7920 8965 case 712: 7921 #line 2699 "parser.yy" /* yacc.c:1646 */ 7922 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7923 #line 7924 "Parser/parser.cc" /* yacc.c:1646 */ 8966 8967 /* Line 1806 of yacc.c */ 8968 #line 2746 "parser.yy" 8969 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7924 8970 break; 7925 8971 7926 8972 case 713: 7927 #line 2701 "parser.yy" /* yacc.c:1646 */ 7928 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7929 #line 7930 "Parser/parser.cc" /* yacc.c:1646 */ 8973 8974 /* Line 1806 of yacc.c */ 8975 #line 2748 "parser.yy" 8976 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7930 8977 break; 7931 8978 7932 8979 case 714: 7933 #line 2703 "parser.yy" /* yacc.c:1646 */ 7934 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7935 #line 7936 "Parser/parser.cc" /* yacc.c:1646 */ 8980 8981 /* Line 1806 of yacc.c */ 8982 #line 2750 "parser.yy" 8983 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7936 8984 break; 7937 8985 7938 8986 case 715: 7939 #line 2705 "parser.yy" /* yacc.c:1646 */ 7940 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7941 #line 7942 "Parser/parser.cc" /* yacc.c:1646 */ 8987 8988 /* Line 1806 of yacc.c */ 8989 #line 2752 "parser.yy" 8990 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7942 8991 break; 7943 8992 7944 8993 case 716: 7945 #line 2707 "parser.yy" /* yacc.c:1646 */ 7946 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7947 #line 7948 "Parser/parser.cc" /* yacc.c:1646 */ 8994 8995 /* Line 1806 of yacc.c */ 8996 #line 2754 "parser.yy" 8997 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7948 8998 break; 7949 8999 7950 9000 case 717: 7951 #line 2709 "parser.yy" /* yacc.c:1646 */ 7952 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7953 #line 7954 "Parser/parser.cc" /* yacc.c:1646 */ 9001 9002 /* Line 1806 of yacc.c */ 9003 #line 2756 "parser.yy" 9004 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7954 9005 break; 7955 9006 7956 9007 case 718: 7957 #line 2711 "parser.yy" /* yacc.c:1646 */ 7958 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7959 #line 7960 "Parser/parser.cc" /* yacc.c:1646 */ 9008 9009 /* Line 1806 of yacc.c */ 9010 #line 2758 "parser.yy" 9011 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7960 9012 break; 7961 9013 7962 9014 case 719: 7963 #line 2713 "parser.yy" /* yacc.c:1646 */ 7964 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7965 #line 7966 "Parser/parser.cc" /* yacc.c:1646 */ 9015 9016 /* Line 1806 of yacc.c */ 9017 #line 2760 "parser.yy" 9018 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7966 9019 break; 7967 9020 7968 9021 case 720: 7969 #line 2715 "parser.yy" /* yacc.c:1646 */ 7970 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7971 #line 7972 "Parser/parser.cc" /* yacc.c:1646 */ 9022 9023 /* Line 1806 of yacc.c */ 9024 #line 2762 "parser.yy" 9025 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7972 9026 break; 7973 9027 7974 9028 case 721: 7975 #line 2720 "parser.yy" /* yacc.c:1646 */ 7976 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7977 #line 7978 "Parser/parser.cc" /* yacc.c:1646 */ 9029 9030 /* Line 1806 of yacc.c */ 9031 #line 2764 "parser.yy" 9032 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7978 9033 break; 7979 9034 7980 9035 case 722: 7981 #line 2722 "parser.yy" /* yacc.c:1646 */ 7982 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7983 #line 7984 "Parser/parser.cc" /* yacc.c:1646 */ 9036 9037 /* Line 1806 of yacc.c */ 9038 #line 2769 "parser.yy" 9039 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7984 9040 break; 7985 9041 7986 9042 case 723: 7987 #line 2727 "parser.yy" /* yacc.c:1646 */ 7988 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7989 #line 7990 "Parser/parser.cc" /* yacc.c:1646 */ 9043 9044 /* Line 1806 of yacc.c */ 9045 #line 2771 "parser.yy" 9046 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7990 9047 break; 7991 9048 7992 9049 case 724: 7993 #line 2729 "parser.yy" /* yacc.c:1646 */ 7994 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl)->addQualifiers( (yyvsp[-4].decl) ), true ); } 7995 #line 7996 "Parser/parser.cc" /* yacc.c:1646 */ 7996 break; 7997 7998 case 726: 7999 #line 2756 "parser.yy" /* yacc.c:1646 */ 8000 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 8001 #line 8002 "Parser/parser.cc" /* yacc.c:1646 */ 8002 break; 8003 8004 case 730: 8005 #line 2767 "parser.yy" /* yacc.c:1646 */ 8006 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8007 #line 8008 "Parser/parser.cc" /* yacc.c:1646 */ 9050 9051 /* Line 1806 of yacc.c */ 9052 #line 2776 "parser.yy" 9053 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9054 break; 9055 9056 case 725: 9057 9058 /* Line 1806 of yacc.c */ 9059 #line 2778 "parser.yy" 9060 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9061 break; 9062 9063 case 727: 9064 9065 /* Line 1806 of yacc.c */ 9066 #line 2805 "parser.yy" 9067 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8008 9068 break; 8009 9069 8010 9070 case 731: 8011 #line 2769 "parser.yy" /* yacc.c:1646 */ 8012 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8013 #line 8014 "Parser/parser.cc" /* yacc.c:1646 */ 9071 9072 /* Line 1806 of yacc.c */ 9073 #line 2816 "parser.yy" 9074 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8014 9075 break; 8015 9076 8016 9077 case 732: 8017 #line 2771 "parser.yy" /* yacc.c:1646 */ 8018 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8019 #line 8020 "Parser/parser.cc" /* yacc.c:1646 */ 9078 9079 /* Line 1806 of yacc.c */ 9080 #line 2818 "parser.yy" 9081 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8020 9082 break; 8021 9083 8022 9084 case 733: 8023 #line 2773 "parser.yy" /* yacc.c:1646 */ 8024 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8025 #line 8026 "Parser/parser.cc" /* yacc.c:1646 */ 9085 9086 /* Line 1806 of yacc.c */ 9087 #line 2820 "parser.yy" 9088 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8026 9089 break; 8027 9090 8028 9091 case 734: 8029 #line 2775 "parser.yy" /* yacc.c:1646 */ 8030 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8031 #line 8032 "Parser/parser.cc" /* yacc.c:1646 */ 9092 9093 /* Line 1806 of yacc.c */ 9094 #line 2822 "parser.yy" 9095 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8032 9096 break; 8033 9097 8034 9098 case 735: 8035 #line 2777 "parser.yy" /* yacc.c:1646 */ 8036 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8037 #line 8038 "Parser/parser.cc" /* yacc.c:1646 */ 9099 9100 /* Line 1806 of yacc.c */ 9101 #line 2824 "parser.yy" 9102 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8038 9103 break; 8039 9104 8040 9105 case 736: 8041 #line 2784 "parser.yy" /* yacc.c:1646 */ 8042 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8043 #line 8044 "Parser/parser.cc" /* yacc.c:1646 */ 9106 9107 /* Line 1806 of yacc.c */ 9108 #line 2826 "parser.yy" 9109 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8044 9110 break; 8045 9111 8046 9112 case 737: 8047 #line 2786 "parser.yy" /* yacc.c:1646 */ 8048 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8049 #line 8050 "Parser/parser.cc" /* yacc.c:1646 */ 9113 9114 /* Line 1806 of yacc.c */ 9115 #line 2833 "parser.yy" 9116 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8050 9117 break; 8051 9118 8052 9119 case 738: 8053 #line 2788 "parser.yy" /* yacc.c:1646 */ 8054 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8055 #line 8056 "Parser/parser.cc" /* yacc.c:1646 */ 9120 9121 /* Line 1806 of yacc.c */ 9122 #line 2835 "parser.yy" 9123 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8056 9124 break; 8057 9125 8058 9126 case 739: 8059 #line 2790 "parser.yy" /* yacc.c:1646 */ 8060 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8061 #line 8062 "Parser/parser.cc" /* yacc.c:1646 */ 9127 9128 /* Line 1806 of yacc.c */ 9129 #line 2837 "parser.yy" 9130 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8062 9131 break; 8063 9132 8064 9133 case 740: 8065 #line 2792 "parser.yy" /* yacc.c:1646 */ 8066 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8067 #line 8068 "Parser/parser.cc" /* yacc.c:1646 */ 9134 9135 /* Line 1806 of yacc.c */ 9136 #line 2839 "parser.yy" 9137 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8068 9138 break; 8069 9139 8070 9140 case 741: 8071 #line 2794 "parser.yy" /* yacc.c:1646 */ 8072 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8073 #line 8074 "Parser/parser.cc" /* yacc.c:1646 */ 9141 9142 /* Line 1806 of yacc.c */ 9143 #line 2841 "parser.yy" 9144 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8074 9145 break; 8075 9146 8076 9147 case 742: 8077 #line 2799 "parser.yy" /* yacc.c:1646 */ 8078 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 8079 #line 8080 "Parser/parser.cc" /* yacc.c:1646 */ 9148 9149 /* Line 1806 of yacc.c */ 9150 #line 2843 "parser.yy" 9151 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8080 9152 break; 8081 9153 8082 9154 case 743: 8083 #line 2804 "parser.yy" /* yacc.c:1646 */ 8084 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[-1].decl), 0 ); } 8085 #line 8086 "Parser/parser.cc" /* yacc.c:1646 */ 9155 9156 /* Line 1806 of yacc.c */ 9157 #line 2848 "parser.yy" 9158 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8086 9159 break; 8087 9160 8088 9161 case 744: 8089 #line 2806 "parser.yy" /* yacc.c:1646 */ 8090 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8091 #line 8092 "Parser/parser.cc" /* yacc.c:1646 */ 9162 9163 /* Line 1806 of yacc.c */ 9164 #line 2853 "parser.yy" 9165 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 8092 9166 break; 8093 9167 8094 9168 case 745: 8095 #line 2808 "parser.yy" /* yacc.c:1646 */ 8096 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8097 #line 8098 "Parser/parser.cc" /* yacc.c:1646 */ 8098 break; 8099 8100 case 748: 8101 #line 2832 "parser.yy" /* yacc.c:1646 */ 9169 9170 /* Line 1806 of yacc.c */ 9171 #line 2855 "parser.yy" 9172 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9173 break; 9174 9175 case 746: 9176 9177 /* Line 1806 of yacc.c */ 9178 #line 2857 "parser.yy" 9179 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9180 break; 9181 9182 case 749: 9183 9184 /* Line 1806 of yacc.c */ 9185 #line 2881 "parser.yy" 8102 9186 { (yyval.en) = 0; } 8103 #line 8104 "Parser/parser.cc" /* yacc.c:1646 */ 8104 break; 8105 8106 case 749: 8107 #line 2834 "parser.yy" /* yacc.c:1646 */ 8108 { (yyval.en) = (yyvsp[0].en); } 8109 #line 8110 "Parser/parser.cc" /* yacc.c:1646 */ 8110 break; 8111 8112 8113 #line 8114 "Parser/parser.cc" /* yacc.c:1646 */ 9187 break; 9188 9189 case 750: 9190 9191 /* Line 1806 of yacc.c */ 9192 #line 2883 "parser.yy" 9193 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9194 break; 9195 9196 9197 9198 /* Line 1806 of yacc.c */ 9199 #line 9200 "Parser/parser.cc" 8114 9200 default: break; 8115 9201 } … … 8133 9219 *++yyvsp = yyval; 8134 9220 8135 /* Now 'shift' the result of the reduction. Determine what state9221 /* Now `shift' the result of the reduction. Determine what state 8136 9222 that goes to, based on the state we popped back to and the rule 8137 9223 number reduced by. */ … … 8148 9234 8149 9235 8150 /*------------------------------------ --.8151 | yyerrlab -- here on detecting error .|8152 `------------------------------------ --*/9236 /*------------------------------------. 9237 | yyerrlab -- here on detecting error | 9238 `------------------------------------*/ 8153 9239 yyerrlab: 8154 9240 /* Make sure we have latest lookahead translation. See comments at … … 8201 9287 { 8202 9288 /* If just tried and failed to reuse lookahead token after an 8203 9289 error, discard it. */ 8204 9290 8205 9291 if (yychar <= YYEOF) 8206 8207 8208 8209 8210 9292 { 9293 /* Return failure if at end of input. */ 9294 if (yychar == YYEOF) 9295 YYABORT; 9296 } 8211 9297 else 8212 8213 8214 8215 8216 9298 { 9299 yydestruct ("Error: discarding", 9300 yytoken, &yylval); 9301 yychar = YYEMPTY; 9302 } 8217 9303 } 8218 9304 … … 8233 9319 goto yyerrorlab; 8234 9320 8235 /* Do not reclaim the symbols of the rule wh oseaction triggered9321 /* Do not reclaim the symbols of the rule which action triggered 8236 9322 this YYERROR. */ 8237 9323 YYPOPSTACK (yylen); … … 8246 9332 `-------------------------------------------------------------*/ 8247 9333 yyerrlab1: 8248 yyerrstatus = 3; 9334 yyerrstatus = 3; /* Each real token shifted decrements this. */ 8249 9335 8250 9336 for (;;) … … 8252 9338 yyn = yypact[yystate]; 8253 9339 if (!yypact_value_is_default (yyn)) 8254 8255 8256 8257 8258 8259 8260 8261 8262 9340 { 9341 yyn += YYTERROR; 9342 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 9343 { 9344 yyn = yytable[yyn]; 9345 if (0 < yyn) 9346 break; 9347 } 9348 } 8263 9349 8264 9350 /* Pop the current state because it cannot handle the error token. */ 8265 9351 if (yyssp == yyss) 8266 9352 YYABORT; 8267 9353 8268 9354 8269 9355 yydestruct ("Error: popping", 8270 9356 yystos[yystate], yyvsp); 8271 9357 YYPOPSTACK (1); 8272 9358 yystate = *yyssp; … … 8274 9360 } 8275 9361 8276 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN8277 9362 *++yyvsp = yylval; 8278 YY_IGNORE_MAYBE_UNINITIALIZED_END8279 9363 8280 9364 … … 8300 9384 goto yyreturn; 8301 9385 8302 #if !defined yyoverflow|| YYERROR_VERBOSE9386 #if !defined(yyoverflow) || YYERROR_VERBOSE 8303 9387 /*-------------------------------------------------. 8304 9388 | yyexhaustedlab -- memory exhaustion comes here. | … … 8319 9403 yytoken, &yylval); 8320 9404 } 8321 /* Do not reclaim the symbols of the rule wh oseaction triggered9405 /* Do not reclaim the symbols of the rule which action triggered 8322 9406 this YYABORT or YYACCEPT. */ 8323 9407 YYPOPSTACK (yylen); … … 8326 9410 { 8327 9411 yydestruct ("Cleanup: popping", 8328 9412 yystos[*yyssp], yyvsp); 8329 9413 YYPOPSTACK (1); 8330 9414 } … … 8337 9421 YYSTACK_FREE (yymsg); 8338 9422 #endif 8339 return yyresult; 9423 /* Make sure YYID is used. */ 9424 return YYID (yyresult); 8340 9425 } 8341 #line 2837 "parser.yy" /* yacc.c:1906 */ 9426 9427 9428 9429 /* Line 2067 of yacc.c */ 9430 #line 2886 "parser.yy" 8342 9431 8343 9432 // ----end of grammar---- … … 8358 9447 // compile-command: "make install" // 8359 9448 // End: // 9449 -
src/Parser/parser.h
r80722d0 rab57786 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.5. */ 2 2 3 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ 32 32 33 #ifndef YY_YY_PARSER_PARSER_H_INCLUDED 34 # define YY_YY_PARSER_PARSER_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 1 38 #endif 39 #if YYDEBUG 40 extern int yydebug; 41 #endif 42 43 /* Token type. */ 33 34 /* Tokens. */ 44 35 #ifndef YYTOKENTYPE 45 36 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 TYPEDEF = 258, 49 AUTO = 259, 50 EXTERN = 260, 51 REGISTER = 261, 52 STATIC = 262, 53 INLINE = 263, 54 FORTRAN = 264, 55 CONST = 265, 56 VOLATILE = 266, 57 RESTRICT = 267, 58 FORALL = 268, 59 LVALUE = 269, 60 VOID = 270, 61 CHAR = 271, 62 SHORT = 272, 63 INT = 273, 64 LONG = 274, 65 FLOAT = 275, 66 DOUBLE = 276, 67 SIGNED = 277, 68 UNSIGNED = 278, 69 VALIST = 279, 70 BOOL = 280, 71 COMPLEX = 281, 72 IMAGINARY = 282, 73 TYPEOF = 283, 74 LABEL = 284, 75 ENUM = 285, 76 STRUCT = 286, 77 UNION = 287, 78 OTYPE = 288, 79 FTYPE = 289, 80 DTYPE = 290, 81 TRAIT = 291, 82 SIZEOF = 292, 83 OFFSETOF = 293, 84 ATTRIBUTE = 294, 85 EXTENSION = 295, 86 IF = 296, 87 ELSE = 297, 88 SWITCH = 298, 89 CASE = 299, 90 DEFAULT = 300, 91 DO = 301, 92 WHILE = 302, 93 FOR = 303, 94 BREAK = 304, 95 CONTINUE = 305, 96 GOTO = 306, 97 RETURN = 307, 98 CHOOSE = 308, 99 DISABLE = 309, 100 ENABLE = 310, 101 FALLTHRU = 311, 102 TRY = 312, 103 CATCH = 313, 104 CATCHRESUME = 314, 105 FINALLY = 315, 106 THROW = 316, 107 THROWRESUME = 317, 108 AT = 318, 109 ASM = 319, 110 ALIGNAS = 320, 111 ALIGNOF = 321, 112 ATOMIC = 322, 113 GENERIC = 323, 114 NORETURN = 324, 115 STATICASSERT = 325, 116 THREADLOCAL = 326, 117 IDENTIFIER = 327, 118 QUOTED_IDENTIFIER = 328, 119 TYPEDEFname = 329, 120 TYPEGENname = 330, 121 ATTR_IDENTIFIER = 331, 122 ATTR_TYPEDEFname = 332, 123 ATTR_TYPEGENname = 333, 124 INTEGERconstant = 334, 125 FLOATINGconstant = 335, 126 CHARACTERconstant = 336, 127 STRINGliteral = 337, 128 ZERO = 338, 129 ONE = 339, 130 ARROW = 340, 131 ICR = 341, 132 DECR = 342, 133 LS = 343, 134 RS = 344, 135 LE = 345, 136 GE = 346, 137 EQ = 347, 138 NE = 348, 139 ANDAND = 349, 140 OROR = 350, 141 ELLIPSIS = 351, 142 MULTassign = 352, 143 DIVassign = 353, 144 MODassign = 354, 145 PLUSassign = 355, 146 MINUSassign = 356, 147 LSassign = 357, 148 RSassign = 358, 149 ANDassign = 359, 150 ERassign = 360, 151 ORassign = 361, 152 ATassign = 362, 153 THEN = 363 154 }; 37 /* Put the tokens into the symbol table, so that GDB and other debuggers 38 know about them. */ 39 enum yytokentype { 40 TYPEDEF = 258, 41 AUTO = 259, 42 EXTERN = 260, 43 REGISTER = 261, 44 STATIC = 262, 45 INLINE = 263, 46 FORTRAN = 264, 47 CONST = 265, 48 VOLATILE = 266, 49 RESTRICT = 267, 50 FORALL = 268, 51 LVALUE = 269, 52 VOID = 270, 53 CHAR = 271, 54 SHORT = 272, 55 INT = 273, 56 LONG = 274, 57 FLOAT = 275, 58 DOUBLE = 276, 59 SIGNED = 277, 60 UNSIGNED = 278, 61 VALIST = 279, 62 BOOL = 280, 63 COMPLEX = 281, 64 IMAGINARY = 282, 65 TYPEOF = 283, 66 LABEL = 284, 67 ENUM = 285, 68 STRUCT = 286, 69 UNION = 287, 70 OTYPE = 288, 71 FTYPE = 289, 72 DTYPE = 290, 73 TRAIT = 291, 74 SIZEOF = 292, 75 OFFSETOF = 293, 76 ATTRIBUTE = 294, 77 EXTENSION = 295, 78 IF = 296, 79 ELSE = 297, 80 SWITCH = 298, 81 CASE = 299, 82 DEFAULT = 300, 83 DO = 301, 84 WHILE = 302, 85 FOR = 303, 86 BREAK = 304, 87 CONTINUE = 305, 88 GOTO = 306, 89 RETURN = 307, 90 CHOOSE = 308, 91 DISABLE = 309, 92 ENABLE = 310, 93 FALLTHRU = 311, 94 TRY = 312, 95 CATCH = 313, 96 CATCHRESUME = 314, 97 FINALLY = 315, 98 THROW = 316, 99 THROWRESUME = 317, 100 AT = 318, 101 ASM = 319, 102 ALIGNAS = 320, 103 ALIGNOF = 321, 104 ATOMIC = 322, 105 GENERIC = 323, 106 NORETURN = 324, 107 STATICASSERT = 325, 108 THREADLOCAL = 326, 109 IDENTIFIER = 327, 110 QUOTED_IDENTIFIER = 328, 111 TYPEDEFname = 329, 112 TYPEGENname = 330, 113 ATTR_IDENTIFIER = 331, 114 ATTR_TYPEDEFname = 332, 115 ATTR_TYPEGENname = 333, 116 INTEGERconstant = 334, 117 FLOATINGconstant = 335, 118 CHARACTERconstant = 336, 119 STRINGliteral = 337, 120 ZERO = 338, 121 ONE = 339, 122 ARROW = 340, 123 ICR = 341, 124 DECR = 342, 125 LS = 343, 126 RS = 344, 127 LE = 345, 128 GE = 346, 129 EQ = 347, 130 NE = 348, 131 ANDAND = 349, 132 OROR = 350, 133 ELLIPSIS = 351, 134 MULTassign = 352, 135 DIVassign = 353, 136 MODassign = 354, 137 PLUSassign = 355, 138 MINUSassign = 356, 139 LSassign = 357, 140 RSassign = 358, 141 ANDassign = 359, 142 ERassign = 360, 143 ORassign = 361, 144 ATassign = 362, 145 THEN = 363 146 }; 155 147 #endif 156 148 /* Tokens. */ … … 262 254 #define THEN 363 263 255 264 /* Value type. */ 256 257 258 265 259 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 266 typedef union YYSTYPE YYSTYPE; 267 union YYSTYPE 260 typedef union YYSTYPE 268 261 { 269 #line 115 "parser.yy" /* yacc.c:1909 */ 262 263 /* Line 2068 of yacc.c */ 264 #line 156 "parser.yy" 270 265 271 266 Token tok; … … 281 276 InitializerNode *in; 282 277 OperKinds op; 278 std::string *str; 283 279 bool flag; 284 280 285 #line 286 "Parser/parser.h" /* yacc.c:1909 */ 286 }; 281 282 283 /* Line 2068 of yacc.c */ 284 #line 285 "Parser/parser.h" 285 } YYSTYPE; 287 286 # define YYSTYPE_IS_TRIVIAL 1 287 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 288 288 # define YYSTYPE_IS_DECLARED 1 289 289 #endif 290 290 291 292 291 extern YYSTYPE yylval; 293 292 294 int yyparse (void); 295 296 #endif /* !YY_YY_PARSER_PARSER_H_INCLUDED */ 293 -
src/Parser/parser.yy
r80722d0 rab57786 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:49:10201613 // Update Count : 19 0912 // Last Modified On : Mon Aug 22 14:15:15 2016 13 // Update Count : 1943 14 14 // 15 15 … … 55 55 #include "LinkageSpec.h" 56 56 57 union DeclQualifiers { 58 unsigned int value; // assume 32-bits 59 struct { 60 bool Extern : 1; 61 bool Static : 1; 62 bool Auto : 1; 63 bool Register : 1; 64 bool Inline : 1; 65 bool Fortran : 1; 66 bool Noreturn : 1; 67 bool Threadlocal : 1; 68 bool Extension : 1; 69 bool Lvalue : 1; 70 bool Const : 1; 71 bool Volatile : 1; 72 bool Restrict : 1; 73 bool Atomic : 1; 74 } qual; 75 }; // DeclQualifiers 76 DeclQualifiers declQualifiers = { 0 }; 77 78 union DeclType { 79 unsigned int value; // assume 32-bits 80 struct { 81 bool Char : 1; 82 bool Bool : 1; 83 bool Short : 1; 84 bool Int : 1; 85 bool Float : 1; 86 bool Double : 1; 87 bool Long : 1; 88 bool Signed : 1; 89 bool Unsigned : 1; 90 bool Void : 1; 91 bool Complex : 1; 92 bool Imaginary : 1; 93 bool Valist : 1; 94 } type; 95 }; // DeclType 96 DeclType declTypes = { 0 }; 97 57 98 extern DeclarationNode * parseTree; 58 99 extern LinkageSpec::Spec linkage; … … 61 102 std::stack< LinkageSpec::Spec > linkageStack; 62 103 63 void appendStr( std::string &to, std::string *from ) {104 void appendStr( std::string *to, std::string *from ) { 64 105 // "abc" "def" "ghi" => "abcdefghi", remove new text from quotes and insert before last quote in old string. 65 to .insert( to.length() - 1, from->substr( 1, from->length() - 2 ) );106 to->insert( to->length() - 1, from->substr( 1, from->length() - 2 ) ); 66 107 } // appendStr 67 108 %} … … 126 167 InitializerNode *in; 127 168 OperKinds op; 169 std::string *str; 128 170 bool flag; 129 171 } … … 131 173 %type<tok> identifier no_01_identifier no_attr_identifier zero_one 132 174 %type<tok> identifier_or_type_name no_attr_identifier_or_type_name no_01_identifier_or_type_name 133 %type<constant> string_literal_list 175 %type<constant> string_literal 176 %type<str> string_literal_list 134 177 135 178 // expressions … … 296 339 297 340 push: 298 { 299 typedefTable.enterScope(); 300 } 341 { typedefTable.enterScope(); } 301 342 ; 302 343 303 344 pop: 304 { 305 typedefTable.leaveScope(); 306 } 345 { typedefTable.leaveScope(); } 307 346 ; 308 347 … … 311 350 constant: 312 351 // ENUMERATIONconstant is not included here; it is treated as a variable with type "enumeration constant". 313 INTEGERconstant { $$ = new ExpressionNode( build_constantInteger( assign_strptr($1)) ); }314 | FLOATINGconstant { $$ = new ExpressionNode( build_constantFloat( assign_strptr($1)) ); }315 | CHARACTERconstant { $$ = new ExpressionNode( build_constantChar( assign_strptr($1)) ); }352 INTEGERconstant { $$ = new ExpressionNode( build_constantInteger( *$1 ) ); } 353 | FLOATINGconstant { $$ = new ExpressionNode( build_constantFloat( *$1 ) ); } 354 | CHARACTERconstant { $$ = new ExpressionNode( build_constantChar( *$1 ) ); } 316 355 ; 317 356 … … 337 376 ; 338 377 378 string_literal: 379 string_literal_list { $$ = build_constantStr( *$1 ); } 380 ; 381 339 382 string_literal_list: // juxtaposed strings are concatenated 340 STRINGliteral { $$ = build_constantStr( assign_strptr($1) ); }383 STRINGliteral { $$ = $1; } // conversion from tok to str 341 384 | string_literal_list STRINGliteral 342 385 { 343 appendStr( $1 ->get_constant()->get_value(), $2 );386 appendStr( $1, $2 ); // append 2nd juxtaposed string to 1st 344 387 delete $2; // allocated by lexer 345 $$ = $1; 388 $$ = $1; // conversion from tok to str 346 389 } 347 390 ; … … 370 413 | postfix_expression '(' argument_expression_list ')' 371 414 { $$ = new ExpressionNode( build_func( $1, $3 ) ); } 372 415 // ambiguity with .0 so space required after field-selection, e.g. 373 416 // struct S { int 0, 1; } s; s. 0 = 0; s. 1 = 1; 374 417 | postfix_expression '.' no_attr_identifier … … 412 455 no_attr_identifier 413 456 { $$ = new ExpressionNode( build_varref( $1 ) ); } 414 457 // ambiguity with .0 so space required after field-selection, e.g. 415 458 // struct S { int 0, 1; } s; s. 0 = 0; s. 1 = 1; 416 459 | no_attr_identifier '.' field … … 430 473 | constant 431 474 { $$ = $1; } 432 | string_literal _list475 | string_literal 433 476 { $$ = new ExpressionNode( $1 ); } 434 477 | EXTENSION cast_expression // GCC … … 809 852 fall_through_opt: // CFA 810 853 // empty 811 { $$ = new StatementNode( build_branch( "",BranchStmt::Break ) ); } // insert implicit break854 { $$ = new StatementNode( build_branch( BranchStmt::Break ) ); } // insert implicit break 812 855 | fall_through 813 856 ; … … 838 881 jump_statement: 839 882 GOTO IDENTIFIER ';' 840 { $$ = new StatementNode( build_branch( assign_strptr($2), BranchStmt::Goto ) ); }883 { $$ = new StatementNode( build_branch( $2, BranchStmt::Goto ) ); } 841 884 | GOTO '*' comma_expression ';' // GCC, computed goto 842 885 // The syntax for the GCC computed goto violates normal expression precedence, e.g., goto *i+3; => goto *(i+3); … … 845 888 | CONTINUE ';' 846 889 // A semantic check is required to ensure this statement appears only in the body of an iteration statement. 847 { $$ = new StatementNode( build_branch( "",BranchStmt::Continue ) ); }890 { $$ = new StatementNode( build_branch( BranchStmt::Continue ) ); } 848 891 | CONTINUE IDENTIFIER ';' // CFA, multi-level continue 849 892 // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and 850 893 // the target of the transfer appears only at the start of an iteration statement. 851 { $$ = new StatementNode( build_branch( assign_strptr($2), BranchStmt::Continue ) ); }894 { $$ = new StatementNode( build_branch( $2, BranchStmt::Continue ) ); } 852 895 | BREAK ';' 853 896 // A semantic check is required to ensure this statement appears only in the body of an iteration statement. 854 { $$ = new StatementNode( build_branch( "",BranchStmt::Break ) ); }897 { $$ = new StatementNode( build_branch( BranchStmt::Break ) ); } 855 898 | BREAK IDENTIFIER ';' // CFA, multi-level exit 856 899 // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and 857 900 // the target of the transfer appears only at the start of an iteration statement. 858 { $$ = new StatementNode( build_branch( assign_strptr($2), BranchStmt::Break ) ); }901 { $$ = new StatementNode( build_branch( $2, BranchStmt::Break ) ); } 859 902 | RETURN comma_expression_opt ';' 860 903 { $$ = new StatementNode( build_return( $2 ) ); } … … 930 973 931 974 asm_statement: 932 ASM asm_volatile_opt '(' string_literal _list')' ';'975 ASM asm_volatile_opt '(' string_literal ')' ';' 933 976 { $$ = new StatementNode( build_asmstmt( $2, $4, 0 ) ); } 934 | ASM asm_volatile_opt '(' string_literal _list':' asm_operands_opt ')' ';' // remaining GCC977 | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ')' ';' // remaining GCC 935 978 { $$ = new StatementNode( build_asmstmt( $2, $4, $6 ) ); } 936 | ASM asm_volatile_opt '(' string_literal _list':' asm_operands_opt ':' asm_operands_opt ')' ';'979 | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ':' asm_operands_opt ')' ';' 937 980 { $$ = new StatementNode( build_asmstmt( $2, $4, $6, $8 ) ); } 938 | ASM asm_volatile_opt '(' string_literal _list':' asm_operands_opt ':' asm_operands_opt ':' asm_clobbers_list_opt ')' ';'981 | ASM asm_volatile_opt '(' string_literal ':' asm_operands_opt ':' asm_operands_opt ':' asm_clobbers_list_opt ')' ';' 939 982 { $$ = new StatementNode( build_asmstmt( $2, $4, $6, $8, $10 ) ); } 940 | ASM asm_volatile_opt GOTO '(' string_literal _list':' ':' asm_operands_opt ':' asm_clobbers_list_opt ':' label_list ')' ';'983 | ASM asm_volatile_opt GOTO '(' string_literal ':' ':' asm_operands_opt ':' asm_clobbers_list_opt ':' label_list ')' ';' 941 984 { $$ = new StatementNode( build_asmstmt( $2, $5, 0, $8, $10, $12 ) ); } 942 985 ; … … 962 1005 963 1006 asm_operand: // GCC 964 string_literal _list'(' constant_expression ')'1007 string_literal '(' constant_expression ')' 965 1008 { $$ = new ExpressionNode( build_asmexpr( 0, $1, $3 ) ); } 966 | '[' constant_expression ']' string_literal _list'(' constant_expression ')'1009 | '[' constant_expression ']' string_literal '(' constant_expression ')' 967 1010 { $$ = new ExpressionNode( build_asmexpr( $2, $4, $6 ) ); } 968 1011 ; … … 971 1014 // empty 972 1015 { $$ = 0; } // use default argument 973 | string_literal _list1016 | string_literal 974 1017 { $$ = new ExpressionNode( $1 ); } 975 | asm_clobbers_list_opt ',' string_literal _list1018 | asm_clobbers_list_opt ',' string_literal 976 1019 { $$ = (ExpressionNode *)$1->set_last( new ExpressionNode( $3 ) ); } 977 1020 ; … … 979 1022 label_list: 980 1023 no_attr_identifier 981 { $$ = new LabelNode(); $$->labels.push_back( assign_strptr($1) ); } 1024 { 1025 $$ = new LabelNode(); $$->labels.push_back( *$1 ); 1026 delete $1; // allocated by lexer 1027 } 982 1028 | label_list ',' no_attr_identifier 983 { $$ = $1; $1->labels.push_back( assign_strptr($3) ); } 1029 { 1030 $$ = $1; $1->labels.push_back( *$3 ); 1031 delete $3; // allocated by lexer 1032 } 984 1033 ; 985 1034 … … 1993 2042 { 1994 2043 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" 1995 linkage = LinkageSpec::fromString( assign_strptr($2));2044 linkage = LinkageSpec::fromString( *$2 ); 1996 2045 } 1997 2046 '{' external_definition_list_opt '}' // C++-style linkage specifier … … 2104 2153 asm_name_opt: // GCC 2105 2154 // empty 2106 | ASM '(' string_literal _list')' attribute_list_opt2155 | ASM '(' string_literal ')' attribute_list_opt 2107 2156 ; 2108 2157
Note: See TracChangeset
for help on using the changeset viewer.