Back to index

php5  5.3.10
zend_language_parser.c
Go to the documentation of this file.
00001 
00002 /* A Bison parser, made by GNU Bison 2.4.1.  */
00003 
00004 /* Skeleton implementation for Bison's Yacc-like parsers in C
00005    
00006       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
00007    Free Software Foundation, Inc.
00008    
00009    This program is free software: you can redistribute it and/or modify
00010    it under the terms of the GNU General Public License as published by
00011    the Free Software Foundation, either version 3 of the License, or
00012    (at your option) any later version.
00013    
00014    This program is distributed in the hope that it will be useful,
00015    but WITHOUT ANY WARRANTY; without even the implied warranty of
00016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017    GNU General Public License for more details.
00018    
00019    You should have received a copy of the GNU General Public License
00020    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00021 
00022 /* As a special exception, you may create a larger work that contains
00023    part or all of the Bison parser skeleton and distribute that work
00024    under terms of your choice, so long as that work isn't itself a
00025    parser generator using the skeleton or a modified version thereof
00026    as a parser skeleton.  Alternatively, if you modify or redistribute
00027    the parser skeleton itself, you may (at your option) remove this
00028    special exception, which will cause the skeleton and the resulting
00029    Bison output files to be licensed under the GNU General Public
00030    License without this special exception.
00031    
00032    This special exception was added by the Free Software Foundation in
00033    version 2.2 of Bison.  */
00034 
00035 /* C LALR(1) parser skeleton written by Richard Stallman, by
00036    simplifying the original so-called "semantic" parser.  */
00037 
00038 /* All symbols defined below should begin with yy or YY, to avoid
00039    infringing on user name space.  This should be done even for local
00040    variables, as they might otherwise be expanded by user macros.
00041    There are some unavoidable exceptions within include files to
00042    define necessary library symbols; they are noted "INFRINGES ON
00043    USER NAME SPACE" below.  */
00044 
00045 /* Identify Bison output.  */
00046 #define YYBISON 1
00047 
00048 /* Bison version.  */
00049 #define YYBISON_VERSION "2.4.1"
00050 
00051 /* Skeleton name.  */
00052 #define YYSKELETON_NAME "yacc.c"
00053 
00054 /* Pure parsers.  */
00055 #define YYPURE 1
00056 
00057 /* Push parsers.  */
00058 #define YYPUSH 0
00059 
00060 /* Pull parsers.  */
00061 #define YYPULL 1
00062 
00063 /* Using locations.  */
00064 #define YYLSP_NEEDED 0
00065 
00066 /* Substitute the variable and function names.  */
00067 #define yyparse         zendparse
00068 #define yylex           zendlex
00069 #define yyerror         zenderror
00070 #define yylval          zendlval
00071 #define yychar          zendchar
00072 #define yydebug         zenddebug
00073 #define yynerrs         zendnerrs
00074 
00075 
00076 /* Copy the first part of user declarations.  */
00077 
00078 
00079 /*
00080    +----------------------------------------------------------------------+
00081    | Zend Engine                                                          |
00082    +----------------------------------------------------------------------+
00083    | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
00084    +----------------------------------------------------------------------+
00085    | This source file is subject to version 2.00 of the Zend license,     |
00086    | that is bundled with this package in the file LICENSE, and is        |
00087    | available through the world-wide-web at the following url:           |
00088    | http://www.zend.com/license/2_00.txt.                                |
00089    | If you did not receive a copy of the Zend license and are unable to  |
00090    | obtain it through the world-wide-web, please send a note to          |
00091    | license@zend.com so we can mail you a copy immediately.              |
00092    +----------------------------------------------------------------------+
00093    | Authors: Andi Gutmans <andi@zend.com>                                |
00094    |          Zeev Suraski <zeev@zend.com>                                |
00095    +----------------------------------------------------------------------+
00096 */
00097 
00098 /* $Id: zend_language_parser.y 321634 2012-01-01 13:15:04Z felipe $ */
00099 
00100 /*
00101  * LALR shift/reduce conflicts and how they are resolved:
00102  *
00103  * - 2 shift/reduce conflicts due to the dangling elseif/else ambiguity. Solved by shift.
00104  *
00105  */
00106 
00107 
00108 #include "zend_compile.h"
00109 #include "zend.h"
00110 #include "zend_list.h"
00111 #include "zend_globals.h"
00112 #include "zend_API.h"
00113 #include "zend_constants.h"
00114 
00115 
00116 #define YYERROR_VERBOSE
00117 #define YYSTYPE znode
00118 #ifdef ZTS
00119 # define YYPARSE_PARAM tsrm_ls
00120 # define YYLEX_PARAM tsrm_ls
00121 #endif
00122 
00123 
00124 
00125 
00126 
00127 /* Enabling traces.  */
00128 #ifndef YYDEBUG
00129 # define YYDEBUG 0
00130 #endif
00131 
00132 /* Enabling verbose error messages.  */
00133 #ifdef YYERROR_VERBOSE
00134 # undef YYERROR_VERBOSE
00135 # define YYERROR_VERBOSE 1
00136 #else
00137 # define YYERROR_VERBOSE 0
00138 #endif
00139 
00140 /* Enabling the token table.  */
00141 #ifndef YYTOKEN_TABLE
00142 # define YYTOKEN_TABLE 0
00143 #endif
00144 
00145 
00146 /* Tokens.  */
00147 #ifndef YYTOKENTYPE
00148 # define YYTOKENTYPE
00149    /* Put the tokens into the symbol table, so that GDB and other debuggers
00150       know about them.  */
00151    enum yytokentype {
00152      T_REQUIRE_ONCE = 258,
00153      T_REQUIRE = 259,
00154      T_EVAL = 260,
00155      T_INCLUDE_ONCE = 261,
00156      T_INCLUDE = 262,
00157      T_LOGICAL_OR = 263,
00158      T_LOGICAL_XOR = 264,
00159      T_LOGICAL_AND = 265,
00160      T_PRINT = 266,
00161      T_SR_EQUAL = 267,
00162      T_SL_EQUAL = 268,
00163      T_XOR_EQUAL = 269,
00164      T_OR_EQUAL = 270,
00165      T_AND_EQUAL = 271,
00166      T_MOD_EQUAL = 272,
00167      T_CONCAT_EQUAL = 273,
00168      T_DIV_EQUAL = 274,
00169      T_MUL_EQUAL = 275,
00170      T_MINUS_EQUAL = 276,
00171      T_PLUS_EQUAL = 277,
00172      T_BOOLEAN_OR = 278,
00173      T_BOOLEAN_AND = 279,
00174      T_IS_NOT_IDENTICAL = 280,
00175      T_IS_IDENTICAL = 281,
00176      T_IS_NOT_EQUAL = 282,
00177      T_IS_EQUAL = 283,
00178      T_IS_GREATER_OR_EQUAL = 284,
00179      T_IS_SMALLER_OR_EQUAL = 285,
00180      T_SR = 286,
00181      T_SL = 287,
00182      T_INSTANCEOF = 288,
00183      T_UNSET_CAST = 289,
00184      T_BOOL_CAST = 290,
00185      T_OBJECT_CAST = 291,
00186      T_ARRAY_CAST = 292,
00187      T_STRING_CAST = 293,
00188      T_DOUBLE_CAST = 294,
00189      T_INT_CAST = 295,
00190      T_DEC = 296,
00191      T_INC = 297,
00192      T_CLONE = 298,
00193      T_NEW = 299,
00194      T_EXIT = 300,
00195      T_IF = 301,
00196      T_ELSEIF = 302,
00197      T_ELSE = 303,
00198      T_ENDIF = 304,
00199      T_LNUMBER = 305,
00200      T_DNUMBER = 306,
00201      T_STRING = 307,
00202      T_STRING_VARNAME = 308,
00203      T_VARIABLE = 309,
00204      T_NUM_STRING = 310,
00205      T_INLINE_HTML = 311,
00206      T_CHARACTER = 312,
00207      T_BAD_CHARACTER = 313,
00208      T_ENCAPSED_AND_WHITESPACE = 314,
00209      T_CONSTANT_ENCAPSED_STRING = 315,
00210      T_ECHO = 316,
00211      T_DO = 317,
00212      T_WHILE = 318,
00213      T_ENDWHILE = 319,
00214      T_FOR = 320,
00215      T_ENDFOR = 321,
00216      T_FOREACH = 322,
00217      T_ENDFOREACH = 323,
00218      T_DECLARE = 324,
00219      T_ENDDECLARE = 325,
00220      T_AS = 326,
00221      T_SWITCH = 327,
00222      T_ENDSWITCH = 328,
00223      T_CASE = 329,
00224      T_DEFAULT = 330,
00225      T_BREAK = 331,
00226      T_CONTINUE = 332,
00227      T_GOTO = 333,
00228      T_FUNCTION = 334,
00229      T_CONST = 335,
00230      T_RETURN = 336,
00231      T_TRY = 337,
00232      T_CATCH = 338,
00233      T_THROW = 339,
00234      T_USE = 340,
00235      T_GLOBAL = 341,
00236      T_PUBLIC = 342,
00237      T_PROTECTED = 343,
00238      T_PRIVATE = 344,
00239      T_FINAL = 345,
00240      T_ABSTRACT = 346,
00241      T_STATIC = 347,
00242      T_VAR = 348,
00243      T_UNSET = 349,
00244      T_ISSET = 350,
00245      T_EMPTY = 351,
00246      T_HALT_COMPILER = 352,
00247      T_CLASS = 353,
00248      T_INTERFACE = 354,
00249      T_EXTENDS = 355,
00250      T_IMPLEMENTS = 356,
00251      T_OBJECT_OPERATOR = 357,
00252      T_DOUBLE_ARROW = 358,
00253      T_LIST = 359,
00254      T_ARRAY = 360,
00255      T_CLASS_C = 361,
00256      T_METHOD_C = 362,
00257      T_FUNC_C = 363,
00258      T_LINE = 364,
00259      T_FILE = 365,
00260      T_COMMENT = 366,
00261      T_DOC_COMMENT = 367,
00262      T_OPEN_TAG = 368,
00263      T_OPEN_TAG_WITH_ECHO = 369,
00264      T_CLOSE_TAG = 370,
00265      T_WHITESPACE = 371,
00266      T_START_HEREDOC = 372,
00267      T_END_HEREDOC = 373,
00268      T_DOLLAR_OPEN_CURLY_BRACES = 374,
00269      T_CURLY_OPEN = 375,
00270      T_PAAMAYIM_NEKUDOTAYIM = 376,
00271      T_NAMESPACE = 377,
00272      T_NS_C = 378,
00273      T_DIR = 379,
00274      T_NS_SEPARATOR = 380
00275    };
00276 #endif
00277 /* Tokens.  */
00278 #define T_REQUIRE_ONCE 258
00279 #define T_REQUIRE 259
00280 #define T_EVAL 260
00281 #define T_INCLUDE_ONCE 261
00282 #define T_INCLUDE 262
00283 #define T_LOGICAL_OR 263
00284 #define T_LOGICAL_XOR 264
00285 #define T_LOGICAL_AND 265
00286 #define T_PRINT 266
00287 #define T_SR_EQUAL 267
00288 #define T_SL_EQUAL 268
00289 #define T_XOR_EQUAL 269
00290 #define T_OR_EQUAL 270
00291 #define T_AND_EQUAL 271
00292 #define T_MOD_EQUAL 272
00293 #define T_CONCAT_EQUAL 273
00294 #define T_DIV_EQUAL 274
00295 #define T_MUL_EQUAL 275
00296 #define T_MINUS_EQUAL 276
00297 #define T_PLUS_EQUAL 277
00298 #define T_BOOLEAN_OR 278
00299 #define T_BOOLEAN_AND 279
00300 #define T_IS_NOT_IDENTICAL 280
00301 #define T_IS_IDENTICAL 281
00302 #define T_IS_NOT_EQUAL 282
00303 #define T_IS_EQUAL 283
00304 #define T_IS_GREATER_OR_EQUAL 284
00305 #define T_IS_SMALLER_OR_EQUAL 285
00306 #define T_SR 286
00307 #define T_SL 287
00308 #define T_INSTANCEOF 288
00309 #define T_UNSET_CAST 289
00310 #define T_BOOL_CAST 290
00311 #define T_OBJECT_CAST 291
00312 #define T_ARRAY_CAST 292
00313 #define T_STRING_CAST 293
00314 #define T_DOUBLE_CAST 294
00315 #define T_INT_CAST 295
00316 #define T_DEC 296
00317 #define T_INC 297
00318 #define T_CLONE 298
00319 #define T_NEW 299
00320 #define T_EXIT 300
00321 #define T_IF 301
00322 #define T_ELSEIF 302
00323 #define T_ELSE 303
00324 #define T_ENDIF 304
00325 #define T_LNUMBER 305
00326 #define T_DNUMBER 306
00327 #define T_STRING 307
00328 #define T_STRING_VARNAME 308
00329 #define T_VARIABLE 309
00330 #define T_NUM_STRING 310
00331 #define T_INLINE_HTML 311
00332 #define T_CHARACTER 312
00333 #define T_BAD_CHARACTER 313
00334 #define T_ENCAPSED_AND_WHITESPACE 314
00335 #define T_CONSTANT_ENCAPSED_STRING 315
00336 #define T_ECHO 316
00337 #define T_DO 317
00338 #define T_WHILE 318
00339 #define T_ENDWHILE 319
00340 #define T_FOR 320
00341 #define T_ENDFOR 321
00342 #define T_FOREACH 322
00343 #define T_ENDFOREACH 323
00344 #define T_DECLARE 324
00345 #define T_ENDDECLARE 325
00346 #define T_AS 326
00347 #define T_SWITCH 327
00348 #define T_ENDSWITCH 328
00349 #define T_CASE 329
00350 #define T_DEFAULT 330
00351 #define T_BREAK 331
00352 #define T_CONTINUE 332
00353 #define T_GOTO 333
00354 #define T_FUNCTION 334
00355 #define T_CONST 335
00356 #define T_RETURN 336
00357 #define T_TRY 337
00358 #define T_CATCH 338
00359 #define T_THROW 339
00360 #define T_USE 340
00361 #define T_GLOBAL 341
00362 #define T_PUBLIC 342
00363 #define T_PROTECTED 343
00364 #define T_PRIVATE 344
00365 #define T_FINAL 345
00366 #define T_ABSTRACT 346
00367 #define T_STATIC 347
00368 #define T_VAR 348
00369 #define T_UNSET 349
00370 #define T_ISSET 350
00371 #define T_EMPTY 351
00372 #define T_HALT_COMPILER 352
00373 #define T_CLASS 353
00374 #define T_INTERFACE 354
00375 #define T_EXTENDS 355
00376 #define T_IMPLEMENTS 356
00377 #define T_OBJECT_OPERATOR 357
00378 #define T_DOUBLE_ARROW 358
00379 #define T_LIST 359
00380 #define T_ARRAY 360
00381 #define T_CLASS_C 361
00382 #define T_METHOD_C 362
00383 #define T_FUNC_C 363
00384 #define T_LINE 364
00385 #define T_FILE 365
00386 #define T_COMMENT 366
00387 #define T_DOC_COMMENT 367
00388 #define T_OPEN_TAG 368
00389 #define T_OPEN_TAG_WITH_ECHO 369
00390 #define T_CLOSE_TAG 370
00391 #define T_WHITESPACE 371
00392 #define T_START_HEREDOC 372
00393 #define T_END_HEREDOC 373
00394 #define T_DOLLAR_OPEN_CURLY_BRACES 374
00395 #define T_CURLY_OPEN 375
00396 #define T_PAAMAYIM_NEKUDOTAYIM 376
00397 #define T_NAMESPACE 377
00398 #define T_NS_C 378
00399 #define T_DIR 379
00400 #define T_NS_SEPARATOR 380
00401 
00402 
00403 
00404 
00405 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00406 typedef int YYSTYPE;
00407 # define YYSTYPE_IS_TRIVIAL 1
00408 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
00409 # define YYSTYPE_IS_DECLARED 1
00410 #endif
00411 
00412 
00413 /* Copy the second part of user declarations.  */
00414 
00415 
00416 
00417 #ifdef short
00418 # undef short
00419 #endif
00420 
00421 #ifdef YYTYPE_UINT8
00422 typedef YYTYPE_UINT8 yytype_uint8;
00423 #else
00424 typedef unsigned char yytype_uint8;
00425 #endif
00426 
00427 #ifdef YYTYPE_INT8
00428 typedef YYTYPE_INT8 yytype_int8;
00429 #elif (defined __STDC__ || defined __C99__FUNC__ \
00430      || defined __cplusplus || defined _MSC_VER)
00431 typedef signed char yytype_int8;
00432 #else
00433 typedef short int yytype_int8;
00434 #endif
00435 
00436 #ifdef YYTYPE_UINT16
00437 typedef YYTYPE_UINT16 yytype_uint16;
00438 #else
00439 typedef unsigned short int yytype_uint16;
00440 #endif
00441 
00442 #ifdef YYTYPE_INT16
00443 typedef YYTYPE_INT16 yytype_int16;
00444 #else
00445 typedef short int yytype_int16;
00446 #endif
00447 
00448 #ifndef YYSIZE_T
00449 # ifdef __SIZE_TYPE__
00450 #  define YYSIZE_T __SIZE_TYPE__
00451 # elif defined size_t
00452 #  define YYSIZE_T size_t
00453 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
00454      || defined __cplusplus || defined _MSC_VER)
00455 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
00456 #  define YYSIZE_T size_t
00457 # else
00458 #  define YYSIZE_T unsigned int
00459 # endif
00460 #endif
00461 
00462 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
00463 
00464 #ifndef YY_
00465 # if YYENABLE_NLS
00466 #  if ENABLE_NLS
00467 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
00468 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
00469 #  endif
00470 # endif
00471 # ifndef YY_
00472 #  define YY_(msgid) msgid
00473 # endif
00474 #endif
00475 
00476 /* Suppress unused-variable warnings by "using" E.  */
00477 #if ! defined lint || defined __GNUC__
00478 # define YYUSE(e) ((void) (e))
00479 #else
00480 # define YYUSE(e) /* empty */
00481 #endif
00482 
00483 /* Identity function, used to suppress warnings about constant conditions.  */
00484 #ifndef lint
00485 # define YYID(n) (n)
00486 #else
00487 #if (defined __STDC__ || defined __C99__FUNC__ \
00488      || defined __cplusplus || defined _MSC_VER)
00489 static int
00490 YYID (int yyi)
00491 #else
00492 static int
00493 YYID (yyi)
00494     int yyi;
00495 #endif
00496 {
00497   return yyi;
00498 }
00499 #endif
00500 
00501 #if ! defined yyoverflow || YYERROR_VERBOSE
00502 
00503 /* The parser invokes alloca or malloc; define the necessary symbols.  */
00504 
00505 # ifdef YYSTACK_USE_ALLOCA
00506 #  if YYSTACK_USE_ALLOCA
00507 #   ifdef __GNUC__
00508 #    define YYSTACK_ALLOC __builtin_alloca
00509 #   elif defined __BUILTIN_VA_ARG_INCR
00510 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
00511 #   elif defined _AIX
00512 #    define YYSTACK_ALLOC __alloca
00513 #   elif defined _MSC_VER
00514 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
00515 #    define alloca _alloca
00516 #   else
00517 #    define YYSTACK_ALLOC alloca
00518 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00519      || defined __cplusplus || defined _MSC_VER)
00520 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
00521 #     ifndef _STDLIB_H
00522 #      define _STDLIB_H 1
00523 #     endif
00524 #    endif
00525 #   endif
00526 #  endif
00527 # endif
00528 
00529 # ifdef YYSTACK_ALLOC
00530    /* Pacify GCC's `empty if-body' warning.  */
00531 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
00532 #  ifndef YYSTACK_ALLOC_MAXIMUM
00533     /* The OS might guarantee only one guard page at the bottom of the stack,
00534        and a page size can be as small as 4096 bytes.  So we cannot safely
00535        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
00536        to allow for a few compiler-allocated temporary stack slots.  */
00537 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
00538 #  endif
00539 # else
00540 #  define YYSTACK_ALLOC YYMALLOC
00541 #  define YYSTACK_FREE YYFREE
00542 #  ifndef YYSTACK_ALLOC_MAXIMUM
00543 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
00544 #  endif
00545 #  if (defined __cplusplus && ! defined _STDLIB_H \
00546        && ! ((defined YYMALLOC || defined malloc) \
00547             && (defined YYFREE || defined free)))
00548 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
00549 #   ifndef _STDLIB_H
00550 #    define _STDLIB_H 1
00551 #   endif
00552 #  endif
00553 #  ifndef YYMALLOC
00554 #   define YYMALLOC malloc
00555 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00556      || defined __cplusplus || defined _MSC_VER)
00557 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
00558 #   endif
00559 #  endif
00560 #  ifndef YYFREE
00561 #   define YYFREE free
00562 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00563      || defined __cplusplus || defined _MSC_VER)
00564 void free (void *); /* INFRINGES ON USER NAME SPACE */
00565 #   endif
00566 #  endif
00567 # endif
00568 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
00569 
00570 
00571 #if (! defined yyoverflow \
00572      && (! defined __cplusplus \
00573         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
00574 
00575 /* A type that is properly aligned for any stack member.  */
00576 union yyalloc
00577 {
00578   yytype_int16 yyss_alloc;
00579   YYSTYPE yyvs_alloc;
00580 };
00581 
00582 /* The size of the maximum gap between one aligned stack and the next.  */
00583 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00584 
00585 /* The size of an array large to enough to hold all stacks, each with
00586    N elements.  */
00587 # define YYSTACK_BYTES(N) \
00588      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
00589       + YYSTACK_GAP_MAXIMUM)
00590 
00591 /* Copy COUNT objects from FROM to TO.  The source and destination do
00592    not overlap.  */
00593 # ifndef YYCOPY
00594 #  if defined __GNUC__ && 1 < __GNUC__
00595 #   define YYCOPY(To, From, Count) \
00596       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00597 #  else
00598 #   define YYCOPY(To, From, Count)        \
00599       do                                  \
00600        {                                  \
00601          YYSIZE_T yyi;                           \
00602          for (yyi = 0; yyi < (Count); yyi++)     \
00603            (To)[yyi] = (From)[yyi];              \
00604        }                                  \
00605       while (YYID (0))
00606 #  endif
00607 # endif
00608 
00609 /* Relocate STACK from its old location to the new one.  The
00610    local variables YYSIZE and YYSTACKSIZE give the old and new number of
00611    elements in the stack, and YYPTR gives the new location of the
00612    stack.  Advance YYPTR to a properly aligned location for the next
00613    stack.  */
00614 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                         \
00615     do                                                         \
00616       {                                                               \
00617        YYSIZE_T yynewbytes;                                    \
00618        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                   \
00619        Stack = &yyptr->Stack_alloc;                                   \
00620        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00621        yyptr += yynewbytes / sizeof (*yyptr);                         \
00622       }                                                               \
00623     while (YYID (0))
00624 
00625 #endif
00626 
00627 /* YYFINAL -- State number of the termination state.  */
00628 #define YYFINAL  3
00629 /* YYLAST -- Last index in YYTABLE.  */
00630 #define YYLAST   5168
00631 
00632 /* YYNTOKENS -- Number of terminals.  */
00633 #define YYNTOKENS  154
00634 /* YYNNTS -- Number of nonterminals.  */
00635 #define YYNNTS  181
00636 /* YYNRULES -- Number of rules.  */
00637 #define YYNRULES  464
00638 /* YYNRULES -- Number of states.  */
00639 #define YYNSTATES  894
00640 
00641 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
00642 #define YYUNDEFTOK  2
00643 #define YYMAXUTOK   380
00644 
00645 #define YYTRANSLATE(YYX)                                       \
00646   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00647 
00648 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
00649 static const yytype_uint8 yytranslate[] =
00650 {
00651        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00652        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00653        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00654        2,     2,     2,    48,   152,     2,   150,    47,    31,     2,
00655      145,   146,    45,    42,     8,    43,    44,    46,     2,     2,
00656        2,     2,     2,     2,     2,     2,     2,     2,    26,   147,
00657       36,    13,    37,    25,    51,     2,     2,     2,     2,     2,
00658        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00659        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00660        2,    61,     2,   153,    30,     2,   151,     2,     2,     2,
00661        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00662        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00663        2,     2,     2,   148,    29,   149,    50,     2,     2,     2,
00664        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00665        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00666        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00667        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00668        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00669        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00670        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00671        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00672        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00673        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00674        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00675        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00676        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
00677        5,     6,     7,     9,    10,    11,    12,    14,    15,    16,
00678       17,    18,    19,    20,    21,    22,    23,    24,    27,    28,
00679       32,    33,    34,    35,    38,    39,    40,    41,    49,    52,
00680       53,    54,    55,    56,    57,    58,    59,    60,    62,    63,
00681       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
00682       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
00683       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
00684       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
00685      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
00686      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
00687      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
00688      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
00689      144
00690 };
00691 
00692 #if YYDEBUG
00693 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
00694    YYRHS.  */
00695 static const yytype_uint16 yyprhs[] =
00696 {
00697        0,     0,     3,     5,     6,    10,    11,    13,    17,    19,
00698       21,    23,    28,    32,    33,    40,    41,    47,    51,    54,
00699       58,    60,    62,    66,    69,    74,    80,    85,    86,    90,
00700       91,    93,    95,    97,   102,   104,   107,   111,   112,   113,
00701      123,   124,   125,   138,   139,   140,   148,   149,   150,   160,
00702      161,   162,   163,   176,   177,   184,   187,   191,   194,   198,
00703      201,   205,   209,   213,   217,   221,   223,   226,   232,   233,
00704      234,   245,   246,   247,   258,   259,   266,   268,   269,   270,
00705      271,   272,   273,   292,   296,   300,   302,   303,   305,   308,
00706      309,   310,   321,   323,   327,   329,   331,   333,   334,   336,
00707      337,   348,   349,   358,   359,   367,   369,   372,   375,   376,
00708      379,   381,   382,   385,   386,   389,   391,   395,   396,   399,
00709      401,   404,   406,   411,   413,   418,   420,   425,   429,   435,
00710      439,   444,   449,   455,   456,   457,   464,   465,   471,   473,
00711      475,   477,   482,   483,   484,   492,   493,   494,   503,   504,
00712      507,   508,   512,   514,   515,   518,   522,   528,   533,   538,
00713      544,   552,   559,   560,   562,   564,   566,   567,   569,   571,
00714      574,   578,   582,   587,   591,   593,   595,   598,   603,   607,
00715      613,   615,   619,   622,   623,   624,   629,   632,   633,   643,
00716      645,   649,   651,   653,   654,   656,   658,   661,   663,   665,
00717      667,   669,   671,   673,   677,   683,   685,   689,   695,   700,
00718      704,   706,   707,   709,   710,   715,   717,   718,   726,   730,
00719      735,   736,   744,   745,   750,   753,   757,   761,   765,   769,
00720      773,   777,   781,   785,   789,   793,   797,   800,   803,   806,
00721      809,   810,   815,   816,   821,   822,   827,   828,   833,   837,
00722      841,   845,   849,   853,   857,   861,   865,   869,   873,   877,
00723      881,   884,   887,   890,   893,   897,   901,   905,   909,   913,
00724      917,   921,   925,   929,   933,   934,   935,   943,   944,   950,
00725      952,   955,   958,   961,   964,   967,   970,   973,   976,   977,
00726      981,   983,   988,   992,   995,   996,  1007,  1009,  1010,  1015,
00727     1019,  1024,  1026,  1029,  1030,  1036,  1037,  1045,  1046,  1053,
00728     1054,  1062,  1063,  1071,  1072,  1080,  1081,  1089,  1090,  1096,
00729     1098,  1100,  1104,  1107,  1109,  1113,  1116,  1118,  1120,  1121,
00730     1122,  1129,  1131,  1134,  1135,  1138,  1139,  1142,  1146,  1147,
00731     1149,  1151,  1152,  1156,  1158,  1160,  1162,  1164,  1166,  1168,
00732     1170,  1172,  1174,  1176,  1180,  1183,  1185,  1187,  1191,  1194,
00733     1197,  1200,  1205,  1207,  1211,  1213,  1215,  1217,  1221,  1224,
00734     1226,  1230,  1234,  1235,  1238,  1239,  1241,  1247,  1251,  1255,
00735     1257,  1259,  1261,  1263,  1265,  1267,  1268,  1269,  1277,  1279,
00736     1282,  1283,  1284,  1289,  1290,  1295,  1296,  1298,  1301,  1305,
00737     1309,  1311,  1313,  1315,  1317,  1320,  1322,  1327,  1332,  1334,
00738     1336,  1341,  1342,  1344,  1346,  1347,  1350,  1355,  1360,  1362,
00739     1364,  1368,  1370,  1373,  1377,  1379,  1381,  1382,  1388,  1389,
00740     1390,  1393,  1399,  1403,  1407,  1409,  1416,  1421,  1426,  1429,
00741     1432,  1435,  1437,  1440,  1442,  1443,  1449,  1453,  1457,  1464,
00742     1468,  1470,  1472,  1474,  1479,  1484,  1487,  1490,  1495,  1498,
00743     1501,  1503,  1504,  1509,  1513
00744 };
00745 
00746 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
00747 static const yytype_int16 yyrhs[] =
00748 {
00749      155,     0,    -1,   156,    -1,    -1,   156,   157,   159,    -1,
00750       -1,    71,    -1,   158,   144,    71,    -1,   168,    -1,   199,
00751       -1,   200,    -1,   116,   145,   146,   147,    -1,   141,   158,
00752      147,    -1,    -1,   141,   158,   148,   160,   156,   149,    -1,
00753       -1,   141,   148,   161,   156,   149,    -1,   104,   162,   147,
00754       -1,   164,   147,    -1,   162,     8,   163,    -1,   163,    -1,
00755      158,    -1,   158,    90,    71,    -1,   144,   158,    -1,   144,
00756      158,    90,    71,    -1,   164,     8,    71,    13,   291,    -1,
00757       99,    71,    13,   291,    -1,    -1,   165,   166,   167,    -1,
00758       -1,   168,    -1,   199,    -1,   200,    -1,   116,   145,   146,
00759      147,    -1,   169,    -1,    71,    26,    -1,   148,   165,   149,
00760       -1,    -1,    -1,    65,   145,   297,   146,   170,   168,   171,
00761      225,   229,    -1,    -1,    -1,    65,   145,   297,   146,    26,
00762      172,   165,   173,   227,   230,    68,   147,    -1,    -1,    -1,
00763       82,   145,   174,   297,   146,   175,   224,    -1,    -1,    -1,
00764       81,   176,   168,    82,   145,   177,   297,   146,   147,    -1,
00765       -1,    -1,    -1,    84,   145,   251,   147,   178,   251,   147,
00766      179,   251,   146,   180,   215,    -1,    -1,    91,   145,   297,
00767      146,   181,   219,    -1,    95,   147,    -1,    95,   297,   147,
00768       -1,    96,   147,    -1,    96,   297,   147,    -1,   100,   147,
00769       -1,   100,   254,   147,    -1,   100,   301,   147,    -1,   105,
00770      236,   147,    -1,   111,   238,   147,    -1,    80,   250,   147,
00771       -1,    75,    -1,   297,   147,    -1,   113,   145,   197,   146,
00772      147,    -1,    -1,    -1,    86,   145,   301,    90,   182,   214,
00773      213,   146,   183,   216,    -1,    -1,    -1,    86,   145,   254,
00774       90,   184,   301,   213,   146,   185,   216,    -1,    -1,    88,
00775      186,   145,   218,   146,   217,    -1,   147,    -1,    -1,    -1,
00776       -1,    -1,    -1,   101,   187,   148,   165,   149,   102,   145,
00777      188,   280,   189,    73,   146,   190,   148,   165,   149,   191,
00778      192,    -1,   103,   297,   147,    -1,    97,    71,   147,    -1,
00779      193,    -1,    -1,   194,    -1,   193,   194,    -1,    -1,    -1,
00780      102,   145,   280,   195,    73,   146,   196,   148,   165,   149,
00781       -1,   198,    -1,   197,     8,   198,    -1,   301,    -1,   202,
00782       -1,   204,    -1,    -1,    31,    -1,    -1,   267,   201,    71,
00783      203,   145,   231,   146,   148,   165,   149,    -1,    -1,   207,
00784       71,   208,   205,   211,   148,   239,   149,    -1,    -1,   209,
00785       71,   206,   210,   148,   239,   149,    -1,   117,    -1,   110,
00786      117,    -1,   109,   117,    -1,    -1,   119,   280,    -1,   118,
00787       -1,    -1,   119,   212,    -1,    -1,   120,   212,    -1,   280,
00788       -1,   212,     8,   280,    -1,    -1,   122,   214,    -1,   301,
00789       -1,    31,   301,    -1,   168,    -1,    26,   165,    85,   147,
00790       -1,   168,    -1,    26,   165,    87,   147,    -1,   168,    -1,
00791       26,   165,    89,   147,    -1,    71,    13,   291,    -1,   218,
00792        8,    71,    13,   291,    -1,   148,   220,   149,    -1,   148,
00793      147,   220,   149,    -1,    26,   220,    92,   147,    -1,    26,
00794      147,   220,    92,   147,    -1,    -1,    -1,   220,    93,   297,
00795      223,   221,   165,    -1,    -1,   220,    94,   223,   222,   165,
00796       -1,    26,    -1,   147,    -1,   168,    -1,    26,   165,    83,
00797      147,    -1,    -1,    -1,   225,    66,   145,   297,   146,   226,
00798      168,    -1,    -1,    -1,   227,    66,   145,   297,   146,    26,
00799      228,   165,    -1,    -1,    67,   168,    -1,    -1,    67,    26,
00800      165,    -1,   232,    -1,    -1,   233,    73,    -1,   233,    31,
00801       73,    -1,   233,    31,    73,    13,   291,    -1,   233,    73,
00802       13,   291,    -1,   232,     8,   233,    73,    -1,   232,     8,
00803      233,    31,    73,    -1,   232,     8,   233,    31,    73,    13,
00804      291,    -1,   232,     8,   233,    73,    13,   291,    -1,    -1,
00805      280,    -1,   124,    -1,   235,    -1,    -1,   254,    -1,   301,
00806       -1,    31,   299,    -1,   235,     8,   254,    -1,   235,     8,
00807      301,    -1,   235,     8,    31,   299,    -1,   236,     8,   237,
00808       -1,   237,    -1,    73,    -1,   150,   298,    -1,   150,   148,
00809      297,   149,    -1,   238,     8,    73,    -1,   238,     8,    73,
00810       13,   291,    -1,    73,    -1,    73,    13,   291,    -1,   239,
00811      240,    -1,    -1,    -1,   244,   241,   248,   147,    -1,   249,
00812      147,    -1,    -1,   245,   267,   201,    71,   242,   145,   231,
00813      146,   243,    -1,   147,    -1,   148,   165,   149,    -1,   246,
00814       -1,   112,    -1,    -1,   246,    -1,   247,    -1,   246,   247,
00815       -1,   106,    -1,   107,    -1,   108,    -1,   111,    -1,   110,
00816       -1,   109,    -1,   248,     8,    73,    -1,   248,     8,    73,
00817       13,   291,    -1,    73,    -1,    73,    13,   291,    -1,   249,
00818        8,    71,    13,   291,    -1,    99,    71,    13,   291,    -1,
00819      250,     8,   297,    -1,   297,    -1,    -1,   252,    -1,    -1,
00820      252,     8,   253,   297,    -1,   297,    -1,    -1,   123,   145,
00821      255,   322,   146,    13,   297,    -1,   301,    13,   297,    -1,
00822      301,    13,    31,   301,    -1,    -1,   301,    13,    31,    63,
00823      281,   256,   289,    -1,    -1,    63,   281,   257,   289,    -1,
00824       62,   297,    -1,   301,    24,   297,    -1,   301,    23,   297,
00825       -1,   301,    22,   297,    -1,   301,    21,   297,    -1,   301,
00826       20,   297,    -1,   301,    19,   297,    -1,   301,    18,   297,
00827       -1,   301,    17,   297,    -1,   301,    16,   297,    -1,   301,
00828       15,   297,    -1,   301,    14,   297,    -1,   300,    60,    -1,
00829       60,   300,    -1,   300,    59,    -1,    59,   300,    -1,    -1,
00830      297,    27,   258,   297,    -1,    -1,   297,    28,   259,   297,
00831       -1,    -1,   297,     9,   260,   297,    -1,    -1,   297,    11,
00832      261,   297,    -1,   297,    10,   297,    -1,   297,    29,   297,
00833       -1,   297,    31,   297,    -1,   297,    30,   297,    -1,   297,
00834       44,   297,    -1,   297,    42,   297,    -1,   297,    43,   297,
00835       -1,   297,    45,   297,    -1,   297,    46,   297,    -1,   297,
00836       47,   297,    -1,   297,    41,   297,    -1,   297,    40,   297,
00837       -1,    42,   297,    -1,    43,   297,    -1,    48,   297,    -1,
00838       50,   297,    -1,   297,    33,   297,    -1,   297,    32,   297,
00839       -1,   297,    35,   297,    -1,   297,    34,   297,    -1,   297,
00840       36,   297,    -1,   297,    39,   297,    -1,   297,    37,   297,
00841       -1,   297,    38,   297,    -1,   297,    49,   281,    -1,   145,
00842      297,   146,    -1,    -1,    -1,   297,    25,   262,   297,    26,
00843      263,   297,    -1,    -1,   297,    25,    26,   264,   297,    -1,
00844      331,    -1,    58,   297,    -1,    57,   297,    -1,    56,   297,
00845       -1,    55,   297,    -1,    54,   297,    -1,    53,   297,    -1,
00846       52,   297,    -1,    64,   287,    -1,    -1,    51,   265,   297,
00847       -1,   293,    -1,   124,   145,   325,   146,    -1,   151,   288,
00848      151,    -1,    12,   297,    -1,    -1,   267,   201,   145,   266,
00849      231,   146,   268,   148,   165,   149,    -1,    98,    -1,    -1,
00850      104,   145,   269,   146,    -1,   269,     8,    73,    -1,   269,
00851        8,    31,    73,    -1,    73,    -1,    31,    73,    -1,    -1,
00852      158,   145,   271,   234,   146,    -1,    -1,   141,   144,   158,
00853      145,   272,   234,   146,    -1,    -1,   144,   158,   145,   273,
00854      234,   146,    -1,    -1,   279,   140,    71,   145,   274,   234,
00855      146,    -1,    -1,   279,   140,   309,   145,   275,   234,   146,
00856       -1,    -1,   311,   140,    71,   145,   276,   234,   146,    -1,
00857       -1,   311,   140,   309,   145,   277,   234,   146,    -1,    -1,
00858      309,   145,   278,   234,   146,    -1,   111,    -1,   158,    -1,
00859      141,   144,   158,    -1,   144,   158,    -1,   158,    -1,   141,
00860      144,   158,    -1,   144,   158,    -1,   279,    -1,   282,    -1,
00861       -1,    -1,   313,   121,   283,   317,   284,   285,    -1,   313,
00862       -1,   285,   286,    -1,    -1,   121,   317,    -1,    -1,   145,
00863      146,    -1,   145,   297,   146,    -1,    -1,    78,    -1,   327,
00864       -1,    -1,   145,   234,   146,    -1,    69,    -1,    70,    -1,
00865       79,    -1,   128,    -1,   129,    -1,   143,    -1,   125,    -1,
00866      126,    -1,   127,    -1,   142,    -1,   136,    78,   137,    -1,
00867      136,   137,    -1,   290,    -1,   158,    -1,   141,   144,   158,
00868       -1,   144,   158,    -1,    42,   291,    -1,    43,   291,    -1,
00869      124,   145,   294,   146,    -1,   292,    -1,   279,   140,    71,
00870       -1,    72,    -1,   334,    -1,   158,    -1,   141,   144,   158,
00871       -1,   144,   158,    -1,   290,    -1,   152,   327,   152,    -1,
00872      136,   327,   137,    -1,    -1,   296,   295,    -1,    -1,     8,
00873       -1,   296,     8,   291,   122,   291,    -1,   296,     8,   291,
00874       -1,   291,   122,   291,    -1,   291,    -1,   298,    -1,   254,
00875       -1,   301,    -1,   301,    -1,   301,    -1,    -1,    -1,   312,
00876      121,   302,   317,   303,   307,   304,    -1,   312,    -1,   304,
00877      305,    -1,    -1,    -1,   121,   317,   306,   307,    -1,    -1,
00878      145,   308,   234,   146,    -1,    -1,   314,    -1,   321,   314,
00879       -1,   279,   140,   309,    -1,   311,   140,   309,    -1,   314,
00880       -1,   313,    -1,   270,    -1,   314,    -1,   321,   314,    -1,
00881      310,    -1,   314,    61,   316,   153,    -1,   314,   148,   297,
00882      149,    -1,   315,    -1,    73,    -1,   150,   148,   297,   149,
00883       -1,    -1,   297,    -1,   319,    -1,    -1,   309,   318,    -1,
00884      319,    61,   316,   153,    -1,   319,   148,   297,   149,    -1,
00885      320,    -1,    71,    -1,   148,   297,   149,    -1,   150,    -1,
00886      321,   150,    -1,   322,     8,   323,    -1,   323,    -1,   301,
00887       -1,    -1,   123,   145,   324,   322,   146,    -1,    -1,    -1,
00888      326,   295,    -1,   326,     8,   297,   122,   297,    -1,   326,
00889        8,   297,    -1,   297,   122,   297,    -1,   297,    -1,   326,
00890        8,   297,   122,    31,   299,    -1,   326,     8,    31,   299,
00891       -1,   297,   122,    31,   299,    -1,    31,   299,    -1,   327,
00892      328,    -1,   327,    78,    -1,   328,    -1,    78,   328,    -1,
00893       73,    -1,    -1,    73,    61,   329,   330,   153,    -1,    73,
00894      121,    71,    -1,   138,   297,   149,    -1,   138,    72,    61,
00895      297,   153,   149,    -1,   139,   301,   149,    -1,    71,    -1,
00896       74,    -1,    73,    -1,   114,   145,   332,   146,    -1,   115,
00897      145,   301,   146,    -1,     7,   297,    -1,     6,   297,    -1,
00898        5,   145,   297,   146,    -1,     4,   297,    -1,     3,   297,
00899       -1,   301,    -1,    -1,   332,     8,   333,   301,    -1,   279,
00900      140,    71,    -1,   311,   140,    71,    -1
00901 };
00902 
00903 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
00904 static const yytype_uint16 yyrline[] =
00905 {
00906        0,   155,   155,   159,   159,   160,   164,   165,   169,   170,
00907      171,   172,   173,   174,   174,   176,   176,   178,   179,   183,
00908      184,   188,   189,   190,   191,   195,   196,   200,   200,   201,
00909      206,   207,   208,   209,   214,   215,   219,   220,   220,   220,
00910      221,   221,   221,   222,   222,   222,   223,   223,   223,   227,
00911      229,   231,   224,   233,   233,   234,   235,   236,   237,   238,
00912      239,   240,   241,   242,   243,   244,   245,   246,   248,   249,
00913      247,   252,   253,   251,   255,   255,   256,   257,   258,   259,
00914      260,   261,   257,   263,   264,   269,   270,   274,   275,   280,
00915      280,   280,   285,   286,   290,   294,   298,   303,   304,   309,
00916      309,   315,   314,   321,   320,   330,   331,   332,   336,   337,
00917      341,   344,   346,   349,   351,   355,   356,   360,   361,   366,
00918      367,   371,   372,   377,   378,   383,   384,   389,   390,   395,
00919      396,   397,   398,   403,   404,   404,   405,   405,   410,   411,
00920      416,   417,   422,   424,   424,   428,   430,   430,   434,   436,
00921      440,   442,   447,   448,   453,   454,   455,   456,   457,   458,
00922      459,   460,   465,   466,   467,   472,   473,   478,   479,   480,
00923      481,   482,   483,   487,   488,   493,   494,   495,   500,   501,
00924      502,   503,   509,   510,   515,   515,   516,   517,   517,   523,
00925      524,   528,   529,   533,   534,   538,   539,   543,   544,   545,
00926      546,   547,   548,   552,   553,   554,   555,   559,   560,   564,
00927      565,   570,   571,   575,   575,   576,   580,   580,   581,   582,
00928      583,   583,   584,   584,   585,   586,   587,   588,   589,   590,
00929      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
00930      601,   601,   602,   602,   603,   603,   604,   604,   605,   606,
00931      607,   608,   609,   610,   611,   612,   613,   614,   615,   616,
00932      617,   618,   619,   620,   621,   622,   623,   624,   625,   626,
00933      627,   628,   629,   630,   631,   632,   631,   634,   634,   636,
00934      637,   638,   639,   640,   641,   642,   643,   644,   645,   645,
00935      646,   647,   648,   649,   650,   650,   655,   658,   660,   664,
00936      665,   666,   667,   671,   671,   674,   674,   677,   677,   680,
00937      680,   683,   683,   686,   686,   689,   689,   692,   692,   698,
00938      699,   700,   701,   705,   706,   707,   713,   714,   719,   720,
00939      719,   722,   727,   728,   733,   737,   738,   739,   743,   744,
00940      745,   750,   751,   756,   757,   758,   759,   760,   761,   762,
00941      763,   764,   765,   766,   767,   772,   773,   774,   775,   776,
00942      777,   778,   779,   783,   787,   788,   789,   790,   791,   792,
00943      793,   794,   799,   800,   803,   805,   809,   810,   811,   812,
00944      816,   817,   822,   827,   832,   837,   838,   837,   840,   844,
00945      845,   850,   850,   854,   854,   858,   862,   863,   867,   868,
00946      873,   877,   878,   883,   884,   885,   889,   890,   891,   896,
00947      897,   901,   902,   907,   908,   908,   912,   913,   914,   918,
00948      919,   923,   924,   928,   929,   934,   935,   935,   936,   941,
00949      942,   946,   947,   948,   949,   950,   951,   952,   953,   957,
00950      958,   959,   960,   966,   967,   967,   968,   969,   970,   971,
00951      976,   977,   978,   983,   984,   985,   986,   987,   988,   989,
00952      993,   994,   994,   998,   999
00953 };
00954 #endif
00955 
00956 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
00957 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
00958    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
00959 static const char *const yytname[] =
00960 {
00961   "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
00962   "T_INCLUDE_ONCE", "T_INCLUDE", "','", "T_LOGICAL_OR", "T_LOGICAL_XOR",
00963   "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL", "T_SL_EQUAL",
00964   "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL",
00965   "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL",
00966   "T_PLUS_EQUAL", "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'",
00967   "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL",
00968   "T_IS_EQUAL", "'<'", "'>'", "T_IS_GREATER_OR_EQUAL",
00969   "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'",
00970   "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST",
00971   "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST",
00972   "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE",
00973   "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER",
00974   "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE",
00975   "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER",
00976   "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO",
00977   "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
00978   "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH",
00979   "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_GOTO",
00980   "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_THROW",
00981   "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE", "T_FINAL",
00982   "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY",
00983   "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS",
00984   "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CLASS_C",
00985   "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT",
00986   "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG",
00987   "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
00988   "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM",
00989   "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "'('", "')'", "';'",
00990   "'{'", "'}'", "'$'", "'`'", "'\"'", "']'", "$accept", "start",
00991   "top_statement_list", "$@1", "namespace_name", "top_statement", "$@2",
00992   "$@3", "use_declarations", "use_declaration", "constant_declaration",
00993   "inner_statement_list", "$@4", "inner_statement", "statement",
00994   "unticked_statement", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11",
00995   "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", "$@19", "$@20",
00996   "$@21", "$@22", "$@23", "$@24", "$@25", "$@26", "additional_catches",
00997   "non_empty_additional_catches", "additional_catch", "@27", "$@28",
00998   "unset_variables", "unset_variable", "function_declaration_statement",
00999   "class_declaration_statement", "is_reference",
01000   "unticked_function_declaration_statement", "$@29",
01001   "unticked_class_declaration_statement", "$@30", "$@31",
01002   "class_entry_type", "extends_from", "interface_entry",
01003   "interface_extends_list", "implements_list", "interface_list",
01004   "foreach_optional_arg", "foreach_variable", "for_statement",
01005   "foreach_statement", "declare_statement", "declare_list",
01006   "switch_case_list", "case_list", "$@32", "$@33", "case_separator",
01007   "while_statement", "elseif_list", "$@34", "new_elseif_list", "$@35",
01008   "else_single", "new_else_single", "parameter_list",
01009   "non_empty_parameter_list", "optional_class_type",
01010   "function_call_parameter_list", "non_empty_function_call_parameter_list",
01011   "global_var_list", "global_var", "static_var_list",
01012   "class_statement_list", "class_statement", "$@36", "$@37", "method_body",
01013   "variable_modifiers", "method_modifiers", "non_empty_member_modifiers",
01014   "member_modifier", "class_variable_declaration",
01015   "class_constant_declaration", "echo_expr_list", "for_expr",
01016   "non_empty_for_expr", "$@38", "expr_without_variable", "$@39", "$@40",
01017   "$@41", "$@42", "$@43", "$@44", "$@45", "$@46", "$@47", "$@48", "$@49",
01018   "@50", "function", "lexical_vars", "lexical_var_list", "function_call",
01019   "$@51", "$@52", "$@53", "$@54", "$@55", "$@56", "$@57", "$@58",
01020   "class_name", "fully_qualified_class_name", "class_name_reference",
01021   "dynamic_class_name_reference", "$@59", "$@60",
01022   "dynamic_class_name_variable_properties",
01023   "dynamic_class_name_variable_property", "exit_expr", "backticks_expr",
01024   "ctor_arguments", "common_scalar", "static_scalar",
01025   "static_class_constant", "scalar", "static_array_pair_list",
01026   "possible_comma", "non_empty_static_array_pair_list", "expr",
01027   "r_variable", "w_variable", "rw_variable", "variable", "$@61", "$@62",
01028   "variable_properties", "variable_property", "$@63", "method_or_not",
01029   "$@64", "variable_without_objects", "static_member",
01030   "variable_class_name", "base_variable_with_function_calls",
01031   "base_variable", "reference_variable", "compound_variable", "dim_offset",
01032   "object_property", "$@65", "object_dim_list", "variable_name",
01033   "simple_indirect_reference", "assignment_list",
01034   "assignment_list_element", "$@66", "array_pair_list",
01035   "non_empty_array_pair_list", "encaps_list", "encaps_var", "$@67",
01036   "encaps_var_offset", "internal_functions_in_yacc", "isset_variables",
01037   "$@68", "class_constant", 0
01038 };
01039 #endif
01040 
01041 # ifdef YYPRINT
01042 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
01043    token YYLEX-NUM.  */
01044 static const yytype_uint16 yytoknum[] =
01045 {
01046        0,   256,   257,   258,   259,   260,   261,   262,    44,   263,
01047      264,   265,   266,    61,   267,   268,   269,   270,   271,   272,
01048      273,   274,   275,   276,   277,    63,    58,   278,   279,   124,
01049       94,    38,   280,   281,   282,   283,    60,    62,   284,   285,
01050      286,   287,    43,    45,    46,    42,    47,    37,    33,   288,
01051      126,    64,   289,   290,   291,   292,   293,   294,   295,   296,
01052      297,    91,   298,   299,   300,   301,   302,   303,   304,   305,
01053      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
01054      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
01055      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
01056      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
01057      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
01058      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
01059      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
01060      376,   377,   378,   379,   380,    40,    41,    59,   123,   125,
01061       36,    96,    34,    93
01062 };
01063 # endif
01064 
01065 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
01066 static const yytype_uint16 yyr1[] =
01067 {
01068        0,   154,   155,   157,   156,   156,   158,   158,   159,   159,
01069      159,   159,   159,   160,   159,   161,   159,   159,   159,   162,
01070      162,   163,   163,   163,   163,   164,   164,   166,   165,   165,
01071      167,   167,   167,   167,   168,   168,   169,   170,   171,   169,
01072      172,   173,   169,   174,   175,   169,   176,   177,   169,   178,
01073      179,   180,   169,   181,   169,   169,   169,   169,   169,   169,
01074      169,   169,   169,   169,   169,   169,   169,   169,   182,   183,
01075      169,   184,   185,   169,   186,   169,   169,   187,   188,   189,
01076      190,   191,   169,   169,   169,   192,   192,   193,   193,   195,
01077      196,   194,   197,   197,   198,   199,   200,   201,   201,   203,
01078      202,   205,   204,   206,   204,   207,   207,   207,   208,   208,
01079      209,   210,   210,   211,   211,   212,   212,   213,   213,   214,
01080      214,   215,   215,   216,   216,   217,   217,   218,   218,   219,
01081      219,   219,   219,   220,   221,   220,   222,   220,   223,   223,
01082      224,   224,   225,   226,   225,   227,   228,   227,   229,   229,
01083      230,   230,   231,   231,   232,   232,   232,   232,   232,   232,
01084      232,   232,   233,   233,   233,   234,   234,   235,   235,   235,
01085      235,   235,   235,   236,   236,   237,   237,   237,   238,   238,
01086      238,   238,   239,   239,   241,   240,   240,   242,   240,   243,
01087      243,   244,   244,   245,   245,   246,   246,   247,   247,   247,
01088      247,   247,   247,   248,   248,   248,   248,   249,   249,   250,
01089      250,   251,   251,   253,   252,   252,   255,   254,   254,   254,
01090      256,   254,   257,   254,   254,   254,   254,   254,   254,   254,
01091      254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
01092      258,   254,   259,   254,   260,   254,   261,   254,   254,   254,
01093      254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
01094      254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
01095      254,   254,   254,   254,   262,   263,   254,   264,   254,   254,
01096      254,   254,   254,   254,   254,   254,   254,   254,   265,   254,
01097      254,   254,   254,   254,   266,   254,   267,   268,   268,   269,
01098      269,   269,   269,   271,   270,   272,   270,   273,   270,   274,
01099      270,   275,   270,   276,   270,   277,   270,   278,   270,   279,
01100      279,   279,   279,   280,   280,   280,   281,   281,   283,   284,
01101      282,   282,   285,   285,   286,   287,   287,   287,   288,   288,
01102      288,   289,   289,   290,   290,   290,   290,   290,   290,   290,
01103      290,   290,   290,   290,   290,   291,   291,   291,   291,   291,
01104      291,   291,   291,   292,   293,   293,   293,   293,   293,   293,
01105      293,   293,   294,   294,   295,   295,   296,   296,   296,   296,
01106      297,   297,   298,   299,   300,   302,   303,   301,   301,   304,
01107      304,   306,   305,   308,   307,   307,   309,   309,   310,   310,
01108      311,   312,   312,   313,   313,   313,   314,   314,   314,   315,
01109      315,   316,   316,   317,   318,   317,   319,   319,   319,   320,
01110      320,   321,   321,   322,   322,   323,   324,   323,   323,   325,
01111      325,   326,   326,   326,   326,   326,   326,   326,   326,   327,
01112      327,   327,   327,   328,   329,   328,   328,   328,   328,   328,
01113      330,   330,   330,   331,   331,   331,   331,   331,   331,   331,
01114      332,   333,   332,   334,   334
01115 };
01116 
01117 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
01118 static const yytype_uint8 yyr2[] =
01119 {
01120        0,     2,     1,     0,     3,     0,     1,     3,     1,     1,
01121        1,     4,     3,     0,     6,     0,     5,     3,     2,     3,
01122        1,     1,     3,     2,     4,     5,     4,     0,     3,     0,
01123        1,     1,     1,     4,     1,     2,     3,     0,     0,     9,
01124        0,     0,    12,     0,     0,     7,     0,     0,     9,     0,
01125        0,     0,    12,     0,     6,     2,     3,     2,     3,     2,
01126        3,     3,     3,     3,     3,     1,     2,     5,     0,     0,
01127       10,     0,     0,    10,     0,     6,     1,     0,     0,     0,
01128        0,     0,    18,     3,     3,     1,     0,     1,     2,     0,
01129        0,    10,     1,     3,     1,     1,     1,     0,     1,     0,
01130       10,     0,     8,     0,     7,     1,     2,     2,     0,     2,
01131        1,     0,     2,     0,     2,     1,     3,     0,     2,     1,
01132        2,     1,     4,     1,     4,     1,     4,     3,     5,     3,
01133        4,     4,     5,     0,     0,     6,     0,     5,     1,     1,
01134        1,     4,     0,     0,     7,     0,     0,     8,     0,     2,
01135        0,     3,     1,     0,     2,     3,     5,     4,     4,     5,
01136        7,     6,     0,     1,     1,     1,     0,     1,     1,     2,
01137        3,     3,     4,     3,     1,     1,     2,     4,     3,     5,
01138        1,     3,     2,     0,     0,     4,     2,     0,     9,     1,
01139        3,     1,     1,     0,     1,     1,     2,     1,     1,     1,
01140        1,     1,     1,     3,     5,     1,     3,     5,     4,     3,
01141        1,     0,     1,     0,     4,     1,     0,     7,     3,     4,
01142        0,     7,     0,     4,     2,     3,     3,     3,     3,     3,
01143        3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
01144        0,     4,     0,     4,     0,     4,     0,     4,     3,     3,
01145        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
01146        2,     2,     2,     2,     3,     3,     3,     3,     3,     3,
01147        3,     3,     3,     3,     0,     0,     7,     0,     5,     1,
01148        2,     2,     2,     2,     2,     2,     2,     2,     0,     3,
01149        1,     4,     3,     2,     0,    10,     1,     0,     4,     3,
01150        4,     1,     2,     0,     5,     0,     7,     0,     6,     0,
01151        7,     0,     7,     0,     7,     0,     7,     0,     5,     1,
01152        1,     3,     2,     1,     3,     2,     1,     1,     0,     0,
01153        6,     1,     2,     0,     2,     0,     2,     3,     0,     1,
01154        1,     0,     3,     1,     1,     1,     1,     1,     1,     1,
01155        1,     1,     1,     3,     2,     1,     1,     3,     2,     2,
01156        2,     4,     1,     3,     1,     1,     1,     3,     2,     1,
01157        3,     3,     0,     2,     0,     1,     5,     3,     3,     1,
01158        1,     1,     1,     1,     1,     0,     0,     7,     1,     2,
01159        0,     0,     4,     0,     4,     0,     1,     2,     3,     3,
01160        1,     1,     1,     1,     2,     1,     4,     4,     1,     1,
01161        4,     0,     1,     1,     0,     2,     4,     4,     1,     1,
01162        3,     1,     2,     3,     1,     1,     0,     5,     0,     0,
01163        2,     5,     3,     3,     1,     6,     4,     4,     2,     2,
01164        2,     1,     2,     1,     0,     5,     3,     3,     6,     3,
01165        1,     1,     1,     4,     4,     2,     2,     4,     2,     2,
01166        1,     0,     4,     3,     3
01167 };
01168 
01169 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
01170    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
01171    means the default is an error.  */
01172 static const yytype_uint16 yydefact[] =
01173 {
01174        5,     0,     3,     1,     0,     0,     0,     0,     0,     0,
01175        0,     0,     0,     0,     0,   288,     0,     0,     0,     0,
01176        0,     0,     0,     0,     0,     0,     0,   335,     0,   343,
01177      344,     6,   364,   409,    65,   345,     0,    46,     0,     0,
01178        0,    74,     0,     0,     0,     0,   296,     0,     0,    77,
01179        0,     0,     0,     0,     0,   319,     0,     0,     0,     0,
01180      105,   110,     0,     0,   349,   350,   351,   346,   347,     0,
01181        0,   352,   348,     0,     0,    76,    29,   421,   338,     0,
01182      366,     4,     0,     8,    34,     9,    10,    95,    96,     0,
01183        0,   381,    97,   402,     0,   369,   290,     0,   380,     0,
01184      382,     0,   405,     0,   388,   401,   403,   408,     0,   279,
01185      365,     6,   319,     0,    97,   459,   458,     0,   456,   455,
01186      293,   260,   261,   262,   263,     0,   286,   285,   284,   283,
01187      282,   281,   280,     0,     0,   320,     0,   239,   384,     0,
01188      237,   224,     0,     0,   320,   326,   222,   327,     0,   331,
01189      403,     0,     0,   287,     0,    35,     0,   210,     0,    43,
01190      211,     0,     0,     0,    55,     0,    57,     0,     0,     0,
01191       59,   381,     0,   382,     0,     0,     0,    21,     0,    20,
01192      175,     0,     0,   174,   107,   106,   180,     0,     0,     0,
01193        0,     0,   216,   429,   443,     0,   354,     0,     0,     0,
01194      441,     0,    15,     0,   368,     0,    27,     0,   339,     0,
01195      340,     0,     0,     0,   303,     0,    18,   108,   103,    98,
01196        0,     0,   244,     0,   246,   274,   240,   242,     0,     0,
01197        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01198        0,     0,     0,     0,     0,     0,     0,     0,    66,   238,
01199      236,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01200        0,     0,     0,   317,     0,   385,   411,     0,   422,   404,
01201        0,     0,   289,     0,   322,     0,     0,     0,   322,     0,
01202      341,     0,   328,   404,   336,     0,     0,     0,    64,     0,
01203        0,     0,   212,   215,   381,   382,     0,     0,    56,    58,
01204       84,     0,    60,    61,    29,    83,    23,     0,     0,    17,
01205        0,   176,   382,     0,    62,     0,     0,    63,     0,    92,
01206       94,   460,     0,     0,     0,   428,     0,   434,     0,   374,
01207      444,     0,   353,   442,   364,     0,     0,   440,   371,   439,
01208      367,     5,    12,    13,   307,   273,    36,     0,     0,   292,
01209      370,     7,   166,     0,     0,   101,   111,    99,   294,   463,
01210      398,   396,     0,     0,   248,     0,   277,     0,     0,     0,
01211      249,   251,   250,   265,   264,   267,   266,   268,   270,   271,
01212      269,   259,   258,   253,   254,   252,   255,   256,   257,   272,
01213        0,   218,   235,   234,   233,   232,   231,   230,   229,   228,
01214      227,   226,   225,   166,   464,   399,     0,   412,     0,     0,
01215      457,   321,     0,     0,   321,   398,   166,   223,   399,     0,
01216      337,    37,   209,     0,     0,    49,   213,    71,    68,     0,
01217        0,    53,     0,     0,     0,     0,     0,     0,   356,     0,
01218      355,    26,   362,    27,     0,    22,    19,     0,   173,   181,
01219      178,     0,     0,   461,   453,   454,    11,     0,   425,     0,
01220      424,   438,   383,     0,   291,   375,   430,     0,   446,     0,
01221      447,   449,   305,     3,     5,   166,     0,    28,    30,    31,
01222       32,   410,     0,     0,   165,   381,   382,     0,     0,     0,
01223      323,   109,   113,     0,     0,     0,   162,   309,   311,   397,
01224      245,   247,     0,     0,   241,   243,     0,   219,     0,   313,
01225      315,   419,     0,   414,   386,   413,   418,   406,   407,     0,
01226      329,    40,     0,    47,    44,   211,     0,     0,     0,     0,
01227        0,     0,     0,   359,   360,   372,     0,     0,   358,     0,
01228        0,    24,   177,     0,    93,    67,     0,   426,   428,     0,
01229        0,   433,     0,   432,   450,   452,   451,     0,     0,   166,
01230       16,     3,     0,     0,   169,   304,     0,    25,     0,   325,
01231        0,     0,   112,   115,   183,   162,   164,     0,   152,     0,
01232      163,   166,   166,   278,   275,   220,   318,   166,   166,     0,
01233      415,   395,   411,     0,   342,   333,    29,    38,     0,     0,
01234        0,   214,   117,     0,   117,   119,   127,     0,    29,   125,
01235       75,   133,   133,    54,   379,     0,   374,   357,   363,     0,
01236      179,   462,   428,   423,     0,   437,   436,     0,   445,     0,
01237        0,    14,   308,     0,     0,   381,   382,   324,   114,   183,
01238        0,   193,     0,   297,   162,     0,   154,     0,     0,     0,
01239      341,     0,     0,   420,   393,   390,     0,     0,   330,    27,
01240      142,     0,    29,   140,    45,    50,     0,     0,   120,     0,
01241        0,    27,   133,     0,   133,     0,     0,   361,   375,   373,
01242       78,     0,   217,     0,   431,   448,   306,    33,   172,   193,
01243      116,     0,   197,   198,   199,   202,   201,   200,   192,   104,
01244      182,   184,     0,   191,   195,     0,     0,     0,     0,     0,
01245      155,     0,   310,   312,   276,   221,   314,   316,   166,   387,
01246      416,   417,     0,   332,   145,   148,     0,    27,   211,   118,
01247       72,    69,   128,     0,     0,     0,     0,     0,     0,   129,
01248      378,   377,     0,   427,   435,   102,     0,     0,    97,   196,
01249        0,   186,    29,     0,    29,     0,   158,     0,   157,     0,
01250        0,   389,   334,   150,     0,     0,    39,    48,     0,     0,
01251        0,     0,   126,     0,   131,     0,   138,   139,   136,   130,
01252        0,    79,     0,   205,     0,     0,     0,    27,     0,   301,
01253        0,    27,   159,     0,   156,   394,   391,     0,     0,     0,
01254        0,   149,   141,    51,    29,   123,    73,    70,   132,   134,
01255       29,   376,     0,   208,     0,     0,   185,   187,     0,   100,
01256      302,     0,   298,   295,     0,   161,   395,     0,    29,     0,
01257        0,     0,    27,    29,    27,     0,   206,   203,     0,   207,
01258        0,   299,   160,   392,     0,    27,    42,   143,    29,   121,
01259       52,     0,    27,    80,     0,   162,   300,     0,     0,    27,
01260      124,     0,   204,     0,   146,   144,     0,    29,     0,    29,
01261      122,    27,   189,    29,   188,    27,    81,    27,    86,   190,
01262        0,    82,    85,    87,     0,    88,    89,     0,     0,    90,
01263        0,    29,    27,    91
01264 };
01265 
01266 /* YYDEFGOTO[NTERM-NUM].  */
01267 static const yytype_int16 yydefgoto[] =
01268 {
01269       -1,     1,     2,     4,    80,    81,   474,   341,   178,   179,
01270       82,   206,   347,   477,   805,    84,   522,   660,   596,   724,
01271      290,   599,   158,   598,   525,   728,   831,   532,   528,   771,
01272      527,   770,   162,   174,   742,   812,   861,   878,   881,   882,
01273      883,   887,   890,   318,   319,    85,    86,   220,    87,   495,
01274       88,   492,   356,    89,   355,    90,   494,   571,   572,   667,
01275      604,   850,   806,   610,   430,   613,   673,   833,   810,   778,
01276      664,   725,   858,   763,   869,   766,   799,   577,   578,   579,
01277      483,   484,   182,   183,   187,   641,   700,   747,   838,   874,
01278      701,   702,   703,   704,   784,   705,   156,   291,   292,   526,
01279       91,   325,   650,   280,   368,   369,   363,   365,   367,   649,
01280      502,   125,   496,   114,   708,   790,    93,   352,   559,   475,
01281      581,   582,   587,   588,   403,    94,   580,   146,   147,   419,
01282      595,   658,   723,   153,   209,   417,    95,   441,   442,    96,
01283      615,   466,   616,   172,    98,   461,    99,   100,   406,   591,
01284      719,   761,   826,   655,   718,   101,   102,   103,   104,   105,
01285      106,   107,   408,   514,   590,   515,   516,   108,   459,   460,
01286      622,   328,   329,   199,   200,   467,   557,   109,   322,   546,
01287      110
01288 };
01289 
01290 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
01291    STATE-NUM.  */
01292 #define YYPACT_NINF -563
01293 static const yytype_int16 yypact[] =
01294 {
01295     -563,    73,    85,  -563,  1470,  3756,  3756,   -99,  3756,  3756,
01296     3756,  3756,  3756,  3756,  3756,  -563,  3756,  3756,  3756,  3756,
01297     3756,  3756,  3756,   172,   172,  3756,   195,   -91,   -83,  -563,
01298     -563,    44,  -563,  -563,  -563,  -563,  3756,  -563,   -55,    49,
01299       60,  -563,    74,  2359,  2486,    36,  -563,   109,  2613,  -563,
01300     3756,     7,   -36,    40,    90,   116,    76,    92,    99,   101,
01301     -563,  -563,   144,   164,  -563,  -563,  -563,  -563,  -563,   187,
01302      -10,  -563,  -563,   154,  3756,  -563,  -563,    87,   262,   268,
01303      -81,  -563,     9,  -563,  -563,  -563,  -563,  -563,  -563,   220,
01304      259,  -563,   274,  -563,   197,  -563,  -563,  4304,  -563,   240,
01305     1178,   203,  -563,   212,   239,  -563,   -12,  -563,    52,  -563,
01306     -563,  -563,  -563,   222,   274,  4976,  4976,  3756,  4976,  4976,
01307     5076,  -563,  -563,   321,  -563,  3756,  -563,  -563,  -563,  -563,
01308     -563,  -563,  -563,   230,   154,   198,   273,  -563,  -563,   279,
01309     -563,  -563,   264,   154,   319,   295,  -563,  -563,   325,   296,
01310      -35,    52,  2740,  -563,  3756,  -563,    12,  4976,  2232,  -563,
01311     3756,  3756,   324,  3756,  -563,  4345,  -563,  4386,   327,   458,
01312     -563,   328,  4976,   479,   329,  4427,   154,    54,    14,  -563,
01313     -563,   138,    15,  -563,  -563,  -563,   459,    16,   172,   172,
01314      172,   332,  -563,  2867,   127,   180,  -563,  3883,   172,   234,
01315     -563,   154,  -563,   243,   -63,  4468,   330,  3756,   190,   333,
01316      277,   190,   156,   409,  -563,   410,  -563,   366,  -563,  -563,
01317      -29,    35,  -563,  3756,  -563,   460,  -563,  -563,  3756,  3756,
01318     3756,  3756,  3756,  3756,  3756,  3756,  3756,  3756,  3756,  3756,
01319     3756,  3756,  3756,  3756,  3756,  3756,  3756,   195,  -563,  -563,
01320     -563,  2994,  3756,  3756,  3756,  3756,  3756,  3756,  3756,  3756,
01321     3756,  3756,  3756,  -563,    46,  -563,  3756,  3756,    87,   -30,
01322      346,  4509,  -563,   154,   252,    58,   111,   154,   319,    53,
01323      362,    53,  -563,   -16,  -563,  4550,  4591,  3756,  -563,   426,
01324     3756,   364,   501,  4976,   423,  1091,   446,  4632,  -563,  -563,
01325     -563,   926,  -563,  -563,  -563,  -563,    62,   448,     7,  -563,
01326     3756,  -563,  -563,   -36,  -563,   926,   449,  -563,     8,  -563,
01327     -563,  -563,    24,   380,   383,    72,   172,  4837,   385,   524,
01328     -563,   463,  -563,  -563,   474,   411,   387,  -563,  -563,  -563,
01329       70,  -563,  -563,  -563,  -563,  -563,  -563,  1597,  4052,  -563,
01330     -563,  -563,  3121,   529,     5,  -563,   429,  -563,  -563,   417,
01331      418,   -16,    52,  3756,  5053,  3756,  -563,  3756,  3756,  3756,
01332     2409,  2536,  2661,  2788,  2788,  2788,  2788,  1313,  1313,  1313,
01333     1313,   512,   512,   339,   339,   339,   321,   321,   321,  -563,
01334      -20,  5076,  5076,  5076,  5076,  5076,  5076,  5076,  5076,  5076,
01335     5076,  5076,  5076,  3121,   420,   421,   -13,  4976,   414,  4093,
01336     -563,   282,   417,   420,   319,  -563,  3121,  -563,  -563,   -13,
01337     -563,   544,  4976,   427,  4673,  -563,  -563,  -563,  -563,   558,
01338       26,  -563,   926,   926,   428,   -45,   432,   154,   -88,   439,
01339     -563,  -563,  -563,   433,   510,  -563,  -563,  4138,  -563,  -563,
01340      570,   172,   447,  -563,  -563,  -563,  -563,   440,  -563,    27,
01341     -563,  -563,  -563,  3248,  -563,  3375,  -563,   168,  -563,  3756,
01342     -563,  -563,  -563,   451,  -563,  3121,   450,  -563,  -563,  -563,
01343     -563,  -563,   172,   452,   588,    28,    80,   926,   462,   154,
01344      319,  -563,   482,     5,   456,   465,   210,  -563,  -563,   -16,
01345     5016,  5076,  3756,  4935,  5098,  5119,   195,  -563,   461,  -563,
01346     -563,  -563,  3756,  -563,  -563,    -6,  -563,  -563,  -563,   466,
01347     -563,  -563,  2232,  -563,  -563,  3756,  3756,   172,   160,   926,
01348      537,  1724,    -1,  -563,  -563,   926,   478,   154,   -69,   545,
01349      516,  -563,  -563,   926,  -563,  -563,   172,  -563,    72,   606,
01350      172,  4976,   172,  4878,  -563,  -563,  -563,   470,  4011,  3121,
01351     -563,   475,   483,   484,  -563,  -563,  3502,  -563,   154,   319,
01352        5,   477,   620,  -563,  -563,   210,  -563,   485,   627,    13,
01353     -563,  3121,  3121,  1283,  -563,  -563,  -563,  3121,  3121,  4179,
01354     -563,   492,  3756,  3756,  -563,  -563,  -563,  -563,  3756,  1851,
01355      493,  4976,   519,   172,   519,  -563,  -563,   629,  -563,  -563,
01356     -563,   497,   498,  -563,   526,   500,   641,   -61,  -563,   505,
01357     -563,  -563,    72,  -563,  3756,  -563,  -563,  3629,  -563,   502,
01358      506,  -563,  -563,   509,   172,    30,   913,   319,   620,  -563,
01359        5,   615,   511,   555,   146,   599,   668,   538,   539,  3756,
01360      362,   540,   541,  -563,  -563,  -563,   530,  4220,   569,   291,
01361     -563,  4714,  -563,  -563,  -563,  -563,   160,   546,  -563,   549,
01362      926,   602,  -563,   300,  -563,   107,   926,  -563,   926,  -563,
01363     -563,    31,  5076,   172,  4976,  -563,  -563,  -563,  -563,   669,
01364     -563,   625,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
01365     -563,  -563,   601,   480,  -563,    21,   556,   552,   561,   159,
01366      690,   926,  -563,  -563,  1283,  -563,  -563,  -563,  3121,   585,
01367     -563,  -563,   -13,  -563,  -563,   363,   565,   630,  3756,  -563,
01368     -563,  -563,  -563,   568,   311,   571,  3756,     1,   227,  -563,
01369     -563,   594,     5,  -563,  -563,  -563,   704,   655,   274,  -563,
01370      658,  -563,  -563,   207,  -563,   660,   717,   926,  -563,   589,
01371      -13,  -563,  -563,   365,   592,  2232,  -563,  -563,   591,   596,
01372     1978,  1978,  -563,   597,  -563,  4263,  -563,  -563,  -563,  -563,
01373      926,  -563,   926,   732,    22,   675,   734,   604,   677,  -563,
01374       33,   605,   735,   926,  -563,  -563,  -563,   610,   725,   688,
01375     3756,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
01376     -563,  -563,   685,  -563,   926,   687,  -563,  -563,   926,  -563,
01377     -563,   238,  -563,  -563,   926,  -563,   492,  3756,  -563,   614,
01378     4755,  2105,   676,  -563,   -27,   616,  -563,   753,   626,  -563,
01379      699,  -563,  -563,  -563,  4796,   705,  -563,  -563,  -563,  -563,
01380     -563,   636,   269,  -563,   926,   210,  -563,   758,  2232,   700,
01381     -563,   638,  -563,   642,  -563,  -563,   640,  -563,   286,  -563,
01382     -563,   643,  -563,  -563,  -563,   357,  -563,   644,   692,  -563,
01383      645,  -563,   692,  -563,     5,  -563,  -563,   716,   650,  -563,
01384      649,  -563,   651,  -563
01385 };
01386 
01387 /* YYPGOTO[NTERM-NUM].  */
01388 static const yytype_int16 yypgoto[] =
01389 {
01390     -563,  -563,  -293,  -563,   -23,  -563,  -563,  -563,  -563,   491,
01391     -563,  -264,  -563,  -563,     2,  -563,  -563,  -563,  -563,  -563,
01392     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
01393     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
01394      -80,  -563,  -563,  -563,   352,   457,   467,  -109,  -563,  -563,
01395     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,   235,   202,
01396      142,  -563,    39,  -563,  -563,  -563,  -376,  -563,  -563,    37,
01397     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -562,  -563,   175,
01398     -395,  -563,  -563,   503,  -563,   183,  -563,  -563,  -563,  -563,
01399     -563,  -563,  -563,   120,  -563,  -563,  -563,  -510,  -563,  -563,
01400      -38,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
01401     -563,  -563,  -563,     0,  -563,  -563,  -563,  -563,  -563,  -563,
01402     -563,  -563,  -563,  -563,  -563,   551,  -343,  -229,  -563,  -563,
01403     -563,  -563,  -563,  -563,  -563,   174,  -160,   278,  -563,  -563,
01404     -563,   209,  -563,   657,   646,  -463,   438,   820,  -563,  -563,
01405     -563,  -563,  -563,     3,  -563,  -207,  -563,    86,  -563,   -19,
01406      -24,  -563,   236,  -407,  -563,  -563,  -563,   -17,   204,   287,
01407     -563,  -563,  -563,   389,   169,  -563,  -563,  -563,  -563,  -563,
01408     -563
01409 };
01410 
01411 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
01412    positive, shift that token.  If negative, reduce the rule which
01413    number is the opposite.  If zero, do what YYDEFACT says.
01414    If YYTABLE_NINF, syntax error.  */
01415 #define YYTABLE_NINF -401
01416 static const yytype_int16 yytable[] =
01417 {
01418      135,   135,   150,   144,    92,   270,    83,   149,   508,   151,
01419      171,   491,   520,   642,   360,   600,   451,   215,   389,   564,
01420      287,   519,   308,   313,   316,   611,   266,   776,   177,   750,
01421      815,   266,   453,   536,   530,   548,  -167,   180,  -170,   548,
01422      443,   821,   357,   506,   645,   266,   117,   203,   473,   266,
01423      204,   111,  -320,    33,   152,   592,   213,   405,   511,  -320,
01424       33,   111,   154,   213,   214,  -137,  -137,  -137,   360,   405,
01425      155,  -322,   415,     3,   418,   213,   111,  -322,   111,  -321,
01426      562,   213,   344,   213,   269,    -2,   646,   625,  -168,   626,
01427      159,   112,   196,   251,   252,   253,   254,   255,   256,   257,
01428      258,   259,   260,   261,   262,  -400,   359,   168,    33,   139,
01429      139,   274,   148,   267,   181,  -397,   358,   404,   267,    33,
01430      278,   133,  -137,   294,   134,    33,    33,   283,  -400,   412,
01431       77,    33,   267,  -396,   201,   512,   267,    77,   202,  -384,
01432     -384,   440,   593,   111,   307,    33,   488,   612,   777,   489,
01433      573,   176,   444,   306,   452,   440,   216,   184,   135,   288,
01434      289,   309,   314,   317,   630,   135,   135,   135,   751,   816,
01435      454,   688,   531,   549,  -167,   135,  -170,   743,   340,   822,
01436      169,   561,   413,   112,    33,    77,   647,   648,   330,   186,
01437      755,   603,   651,   652,   160,   457,    77,   361,   213,   513,
01438      736,   737,   268,    77,   362,   161,   213,   185,    77,   111,
01439     -321,    33,   513,   133,   213,   472,   134,   111,   769,   163,
01440      744,   188,    77,   150,   144,   111,  -168,   573,   149,   194,
01441      151,   111,   756,    33,   337,   207,   675,   189,   788,   554,
01442      361,   555,   556,   111,   190,    33,   191,   362,   331,   112,
01443      411,   361,   361,   194,   414,   361,   739,   361,   362,   362,
01444      194,    77,   362,   194,   362,   195,   111,   139,    33,   840,
01445      576,   112,   440,   440,   139,   139,   139,   585,   438,   133,
01446      789,   111,   134,   112,   139,   177,   310,   488,    77,   192,
01447      489,   217,   438,   863,   197,   198,   734,   690,   738,   249,
01448      250,   133,   135,   135,   134,   219,   112,   194,   350,   193,
01449       77,   841,   337,   133,   485,   762,   134,   332,   197,   198,
01450      736,   737,    77,   759,   196,   197,   198,   440,   197,   198,
01451      218,   490,   659,   148,   576,   194,   142,   221,   499,   143,
01452      208,   194,   213,   214,   671,    77,   211,    92,   263,   478,
01453      194,   488,   264,   796,   489,   337,  -153,   -41,   -41,   -41,
01454      265,  -135,  -135,  -135,   333,   485,   201,   135,   339,   440,
01455      247,   338,   197,   198,   273,   440,   779,   333,   485,   339,
01456      333,   339,   361,   440,   244,   245,   246,   213,   247,   362,
01457      342,   343,   735,   736,   737,   361,   213,   344,   727,   781,
01458      197,   198,   362,   773,   736,   737,   197,   198,   277,   438,
01459      438,   139,   139,   275,   538,   197,   198,   282,  -135,   276,
01460      222,   223,   224,  -147,  -147,  -147,   213,   472,   135,   764,
01461      765,   797,   798,   872,   873,   279,   225,   485,   226,   227,
01462      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
01463      238,   239,   240,   241,   242,   243,   244,   245,   246,   135,
01464      247,   137,   140,   213,   438,   281,   569,   210,   212,   296,
01465      490,   301,   315,   490,   300,   302,   139,   304,   324,   346,
01466      351,   353,   150,   144,   349,   354,   366,   149,   787,   151,
01467      791,   358,   251,   252,   253,   254,   255,   256,   257,   258,
01468      259,   260,   261,   262,   135,   135,   438,   416,   423,   426,
01469      440,   425,   438,   427,   617,   513,   440,   429,   440,   445,
01470      438,   485,   450,   135,   597,   135,   455,   135,   635,   135,
01471      456,   464,   465,   609,   468,   469,   471,   139,  -384,  -384,
01472      832,   886,   487,   485,   485,   637,   834,   490,   493,   485,
01473      485,   440,   490,   513,   241,   242,   243,   244,   245,   246,
01474      470,   247,   497,   498,   845,   509,   510,   517,   139,   852,
01475      521,   529,   523,   535,   136,   136,   537,   145,  -194,   539,
01476      135,   541,   540,   543,   859,   547,   692,   693,   694,   695,
01477      696,   697,   148,   449,   545,   563,   566,   440,   565,   135,
01478      560,   663,   570,   871,   574,   875,   568,   586,   607,   877,
01479      575,   135,   594,   139,   139,   332,   618,   490,   619,   624,
01480      440,   490,   440,   628,   631,   639,   303,   892,   640,   632,
01481      633,   643,   139,   440,   139,   644,   139,   654,   139,   785,
01482      665,   666,   670,   135,   672,   674,   677,   438,   676,   678,
01483      680,   685,   686,   438,   440,   438,   687,   706,   440,   707,
01484      135,    97,   115,   116,   440,   118,   119,   120,   121,   122,
01485      123,   124,   710,   126,   127,   128,   129,   130,   131,   132,
01486      485,   711,   141,   720,   712,   713,   716,   717,   438,   139,
01487      722,   733,   730,   157,   440,   731,   746,   753,   361,    46,
01488      165,   167,   748,   757,   752,   362,   760,   175,   139,   754,
01489      533,   534,   767,   768,   691,   772,   780,   782,   774,   490,
01490      139,   692,   693,   694,   695,   696,   697,   698,   783,   786,
01491      793,   205,   136,   792,   438,   795,   361,   800,   802,   136,
01492      136,   136,   803,   362,   808,   814,   817,   818,   824,   136,
01493      820,   828,   139,   819,   823,   827,   829,   438,   835,   438,
01494      837,   846,   853,   851,   699,   567,   854,   801,   691,   139,
01495      438,   855,   856,  -151,   271,   692,   693,   694,   695,   696,
01496      697,   698,   272,   860,   864,   866,   867,   870,   868,   888,
01497      884,   438,   876,   879,   880,   438,   889,   891,   145,   446,
01498      893,   438,   885,   544,   479,   638,   669,   606,   729,   285,
01499      807,   286,   809,   614,   480,    97,   448,   293,   745,   709,
01500      297,   620,   689,   749,   715,   679,   681,   311,   656,   843,
01501        0,   438,   490,   849,     0,   623,     0,     0,     0,     0,
01502        0,     0,     0,   138,   138,     0,     0,     0,     0,     0,
01503      327,     0,   439,     0,   335,     0,     0,     0,     0,     0,
01504      865,   490,     0,     0,   348,     0,   439,     0,   173,     0,
01505        0,     0,     0,     0,     0,     0,   136,   136,     0,     0,
01506      364,     0,     0,     0,     0,   370,   371,   372,   373,   374,
01507      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
01508      385,   386,   387,   388,     0,     0,     0,     0,   391,   392,
01509      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
01510        0,  -171,     0,   407,   409,     0,   251,   252,   253,   254,
01511      255,   256,   257,   258,   259,   260,   261,   262,     0,     0,
01512        0,   136,     0,     0,   422,     0,     0,   424,   732,     0,
01513        0,     0,     0,     0,   740,     0,   741,     0,     0,     0,
01514        0,     0,     0,     0,     0,     0,     0,   447,   432,   433,
01515        0,     0,  -384,  -384,     0,     0,     0,     0,     0,     0,
01516        0,   295,     0,   439,   439,     0,     0,     0,     0,   758,
01517        0,     0,     0,     0,     0,    29,    30,   111,     0,     0,
01518        0,   312,   136,     0,    97,    35,     0,     0,   320,   321,
01519      323,     0,     0,     0,     0,     0,     0,     0,   336,     0,
01520      500,     0,   501,     0,   503,   504,   505,     0,     0,     0,
01521        0,     0,     0,   136,     0,   794,     0,   112,   439,     0,
01522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01523      434,    64,    65,    66,    67,    68,     0,   145,   811,  -171,
01524      813,     0,   435,     0,     0,     0,     0,   436,    71,    72,
01525      437,   825,     0,     0,     0,     0,     0,     0,   136,   136,
01526      439,     0,     0,     0,     0,     0,   439,     0,     0,     0,
01527        0,     0,   836,     0,   439,     0,   839,   136,     0,   136,
01528        0,   136,   842,   136,   251,   252,   253,   254,   255,   256,
01529      257,   258,   259,   260,   261,   262,     0,     0,     0,     0,
01530      551,     0,   553,     0,     0,     0,   558,     0,     0,     0,
01531        0,     0,   862,     0,     0,     0,     0,     0,     0,     0,
01532        0,     0,     0,     0,     0,   458,   462,     0,     0,     0,
01533     -384,  -384,     0,     0,   136,     0,     0,     0,     0,   583,
01534        0,     0,     0,     0,     0,     0,     0,     0,     0,   589,
01535        0,     0,   486,   136,     0,     0,     0,     0,     0,    97,
01536        0,   428,   293,   601,     0,   136,     0,     0,    97,     0,
01537        0,   251,   252,   253,   254,   255,   256,   257,   258,   259,
01538      260,   261,   262,     0,     0,     0,     0,     0,     0,     0,
01539      507,     0,     0,     0,     0,     0,     0,   136,     0,     0,
01540        0,   439,     0,   486,     0,     0,     0,   439,     0,   439,
01541        0,     0,     0,     0,   136,     0,   486,  -384,  -384,     0,
01542        0,     0,     0,     0,     0,     0,     0,     0,     0,   407,
01543      657,     0,     0,     0,     0,   661,    97,     0,     0,     0,
01544        0,     0,   439,     0,     0,     0,     0,     0,     0,     0,
01545        0,   320,     0,     0,     0,     0,     0,     0,     0,     0,
01546        0,   682,     0,     0,   684,     0,     0,     0,     0,     0,
01547        0,     0,     0,     0,     0,   486,     0,     0,     0,     0,
01548        0,     0,   462,     0,     0,     0,   714,     0,   439,     0,
01549      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
01550      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
01551      246,   439,   247,   439,     0,     0,     0,     0,     0,     0,
01552        0,     0,     0,     0,   439,     0,     0,   602,   605,  -401,
01553     -401,  -401,  -401,   239,   240,   241,   242,   243,   244,   245,
01554      246,     0,   247,     0,     0,   439,   621,     0,   458,   439,
01555      462,     0,   462,     0,     0,   439,     0,     0,     0,   486,
01556        0,     0,     0,     0,     0,   293,   636,     0,     0,     0,
01557        0,     0,     0,   775,     0,     0,     0,     0,     0,     0,
01558        0,   486,   486,     0,     0,   439,     0,   486,   486,     0,
01559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01560        0,     0,    97,   668,     0,     0,     0,    97,    97,     0,
01561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01562        0,     0,   458,     0,     0,     0,     0,     0,     0,     0,
01563        0,     0,     0,     0,   462,     0,     0,   830,     0,     0,
01564        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01565        0,     0,     0,     5,     6,     7,     8,     9,     0,     0,
01566        0,     0,    10,     0,   844,     0,   605,     0,    97,     0,
01567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01568        0,     0,     0,   462,     0,     0,     0,     0,     0,     0,
01569        0,     0,    11,    12,     0,    97,     0,     0,    13,     0,
01570       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
01571       24,     0,    25,    26,    27,    28,     0,     0,   486,    29,
01572       30,    31,    32,    33,     0,    34,     0,     0,     0,    35,
01573       36,    37,    38,     0,    39,     0,    40,     0,    41,     0,
01574        0,    42,     0,     0,     0,    43,    44,    45,    46,    47,
01575       48,    49,     0,    50,    51,    52,     0,     0,     0,    53,
01576       54,    55,     0,    56,    57,    58,    59,    60,    61,     0,
01577        0,     0,     0,    62,    63,    64,    65,    66,    67,    68,
01578        5,     6,     7,     8,     9,     0,    69,     0,     0,    10,
01579        0,    70,    71,    72,    73,    74,     0,    75,    76,     0,
01580       77,    78,    79,     0,     0,     0,     0,     0,     0,     0,
01581        0,     0,     0,     0,     0,     0,     0,     0,     0,    11,
01582       12,     0,     0,     0,     0,    13,     0,    14,    15,    16,
01583       17,    18,    19,    20,    21,    22,    23,    24,     0,    25,
01584       26,    27,    28,     0,     0,     0,    29,    30,    31,    32,
01585       33,     0,    34,     0,     0,     0,    35,    36,    37,    38,
01586        0,    39,     0,    40,     0,    41,     0,     0,    42,     0,
01587        0,     0,    43,    44,    45,    46,     0,    48,    49,     0,
01588       50,     0,    52,     0,     0,     0,    53,    54,    55,     0,
01589       56,    57,    58,   476,    60,    61,     0,     0,     0,     0,
01590       62,    63,    64,    65,    66,    67,    68,     5,     6,     7,
01591        8,     9,     0,    69,     0,     0,    10,     0,   113,    71,
01592       72,    73,    74,     0,    75,    76,     0,    77,    78,    79,
01593      608,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01594        0,     0,     0,     0,     0,     0,    11,    12,     0,     0,
01595        0,     0,    13,     0,    14,    15,    16,    17,    18,    19,
01596       20,    21,    22,    23,    24,     0,    25,    26,    27,    28,
01597        0,     0,     0,    29,    30,    31,    32,    33,     0,    34,
01598        0,     0,     0,    35,    36,    37,    38,     0,    39,     0,
01599       40,     0,    41,     0,     0,    42,     0,     0,     0,    43,
01600       44,    45,    46,     0,    48,    49,     0,    50,     0,    52,
01601        0,     0,     0,     0,     0,    55,     0,    56,    57,    58,
01602        0,     0,     0,     0,     0,     0,     0,    62,    63,    64,
01603       65,    66,    67,    68,     5,     6,     7,     8,     9,     0,
01604       69,     0,     0,    10,     0,   113,    71,    72,    73,    74,
01605        0,    75,    76,     0,    77,    78,    79,   662,     0,     0,
01606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01607        0,     0,     0,    11,    12,     0,     0,     0,     0,    13,
01608        0,    14,    15,    16,    17,    18,    19,    20,    21,    22,
01609       23,    24,     0,    25,    26,    27,    28,     0,     0,     0,
01610       29,    30,    31,    32,    33,     0,    34,     0,     0,     0,
01611       35,    36,    37,    38,     0,    39,     0,    40,     0,    41,
01612        0,     0,    42,     0,     0,     0,    43,    44,    45,    46,
01613        0,    48,    49,     0,    50,     0,    52,     0,     0,     0,
01614        0,     0,    55,     0,    56,    57,    58,     0,     0,     0,
01615        0,     0,     0,     0,    62,    63,    64,    65,    66,    67,
01616       68,     5,     6,     7,     8,     9,     0,    69,     0,     0,
01617       10,     0,   113,    71,    72,    73,    74,     0,    75,    76,
01618        0,    77,    78,    79,   804,     0,     0,     0,     0,     0,
01619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01620       11,    12,     0,     0,     0,     0,    13,     0,    14,    15,
01621       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
01622       25,    26,    27,    28,     0,     0,     0,    29,    30,    31,
01623       32,    33,     0,    34,     0,     0,     0,    35,    36,    37,
01624       38,     0,    39,     0,    40,     0,    41,     0,     0,    42,
01625        0,     0,     0,    43,    44,    45,    46,     0,    48,    49,
01626        0,    50,     0,    52,     0,     0,     0,     0,     0,    55,
01627        0,    56,    57,    58,     0,     0,     0,     0,     0,     0,
01628        0,    62,    63,    64,    65,    66,    67,    68,     5,     6,
01629        7,     8,     9,     0,    69,     0,     0,    10,     0,   113,
01630       71,    72,    73,    74,     0,    75,    76,     0,    77,    78,
01631       79,   848,     0,     0,     0,     0,     0,     0,     0,     0,
01632        0,     0,     0,     0,     0,     0,     0,    11,    12,     0,
01633        0,     0,     0,    13,     0,    14,    15,    16,    17,    18,
01634       19,    20,    21,    22,    23,    24,     0,    25,    26,    27,
01635       28,     0,     0,     0,    29,    30,    31,    32,    33,     0,
01636       34,     0,     0,     0,    35,    36,    37,    38,     0,    39,
01637        0,    40,     0,    41,     0,     0,    42,     0,     0,     0,
01638       43,    44,    45,    46,     0,    48,    49,     0,    50,     0,
01639       52,     0,     0,     0,     0,     0,    55,     0,    56,    57,
01640       58,     0,     0,     0,     0,     0,     0,     0,    62,    63,
01641       64,    65,    66,    67,    68,     5,     6,     7,     8,     9,
01642        0,    69,     0,     0,    10,     0,   113,    71,    72,    73,
01643       74,     0,    75,    76,     0,    77,    78,    79,     0,     0,
01644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01645        0,     0,     0,     0,    11,    12,     0,     0,     0,     0,
01646       13,     0,    14,    15,    16,    17,    18,    19,    20,    21,
01647       22,    23,    24,     0,    25,    26,    27,    28,     0,     0,
01648        0,    29,    30,    31,    32,    33,     0,    34,     0,     0,
01649        0,    35,    36,    37,    38,     0,    39,     0,    40,     0,
01650       41,     0,     0,    42,     0,     0,     0,    43,    44,    45,
01651       46,     0,    48,    49,     0,    50,     0,    52,     0,     0,
01652        0,     0,     0,    55,     0,    56,    57,    58,     0,     0,
01653        0,     0,     0,     0,     0,    62,    63,    64,    65,    66,
01654       67,    68,     5,     6,     7,     8,     9,     0,    69,     0,
01655        0,    10,     0,   113,    71,    72,    73,    74,     0,    75,
01656       76,     0,    77,    78,    79,     0,     0,     0,     0,     0,
01657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01658        0,    11,    12,     0,     0,     0,     0,    13,     0,    14,
01659       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
01660        0,    25,    26,    27,     0,     0,     0,     0,    29,    30,
01661      111,    32,    33,     0,     0,     0,     0,     0,    35,   229,
01662      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
01663      240,   241,   242,   243,   244,   245,   246,    46,   247,     0,
01664        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01665      112,     0,     0,    57,    58,     0,     0,     0,     0,     0,
01666        0,     0,    62,    63,    64,    65,    66,    67,    68,     5,
01667        6,     7,     8,     9,     0,    69,     0,     0,    10,     0,
01668      113,    71,    72,    73,    74,     0,   164,     0,     0,    77,
01669       78,    79,     0,     0,     0,     0,     0,     0,     0,     0,
01670        0,     0,     0,     0,     0,     0,     0,     0,    11,    12,
01671        0,     0,     0,     0,    13,     0,    14,    15,    16,    17,
01672       18,    19,    20,    21,    22,    23,    24,     0,    25,    26,
01673       27,     0,     0,     0,     0,    29,    30,   111,    32,    33,
01674        0,     0,     0,     0,     0,    35,     0,   230,   231,   232,
01675      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01676      243,   244,   245,   246,    46,   247,     0,     0,     0,     0,
01677        0,     0,     0,     0,     0,     0,     0,   112,     0,     0,
01678       57,    58,     0,     0,     0,     0,     0,     0,     0,    62,
01679       63,    64,    65,    66,    67,    68,     5,     6,     7,     8,
01680        9,     0,    69,     0,     0,    10,     0,   113,    71,    72,
01681       73,    74,     0,   166,     0,     0,    77,    78,    79,     0,
01682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01683        0,     0,     0,     0,     0,    11,    12,     0,     0,     0,
01684        0,    13,     0,    14,    15,    16,    17,    18,    19,    20,
01685       21,    22,    23,    24,     0,    25,    26,    27,     0,     0,
01686        0,     0,    29,    30,   111,    32,    33,     0,     0,     0,
01687        0,     0,    35,   231,   232,   233,   234,   235,   236,   237,
01688      238,   239,   240,   241,   242,   243,   244,   245,   246,     0,
01689      247,    46,     0,     0,     0,     0,     0,     0,     0,     0,
01690        0,     0,     0,     0,   112,     0,     0,    57,    58,     0,
01691        0,     0,     0,     0,     0,     0,    62,    63,    64,    65,
01692       66,    67,    68,     5,     6,     7,     8,     9,     0,    69,
01693        0,     0,    10,     0,   113,    71,    72,    73,    74,     0,
01694      170,     0,     0,    77,    78,    79,     0,     0,     0,     0,
01695        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01696        0,     0,    11,    12,     0,     0,     0,     0,    13,     0,
01697       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
01698       24,     0,    25,    26,    27,     0,     0,     0,     0,    29,
01699       30,   111,    32,    33,     0,     0,     0,     0,     0,    35,
01700     -401,  -401,  -401,  -401,   235,   236,   237,   238,   239,   240,
01701      241,   242,   243,   244,   245,   246,     0,   247,    46,     0,
01702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01703        0,   112,     0,     0,    57,    58,     0,     0,     0,     0,
01704        0,     0,     0,    62,    63,    64,    65,    66,    67,    68,
01705        5,     6,     7,     8,     9,     0,    69,     0,     0,    10,
01706        0,   113,    71,    72,    73,    74,   284,     0,     0,     0,
01707       77,    78,    79,     0,     0,     0,     0,     0,   326,     0,
01708        0,     0,     0,     0,     0,     0,     0,     0,     0,    11,
01709       12,     0,     0,     0,     0,    13,     0,    14,    15,    16,
01710       17,    18,    19,    20,    21,    22,    23,    24,     0,    25,
01711       26,    27,     0,     0,     0,     0,    29,    30,   111,    32,
01712       33,     0,     0,     0,     0,     0,    35,     0,     0,     0,
01713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01714        0,     0,     0,     0,     0,    46,     0,     0,     0,     0,
01715        0,     0,     0,     0,     0,     0,     0,     0,   112,     0,
01716        0,    57,    58,     0,     0,     0,     0,     0,     0,     0,
01717       62,    63,    64,    65,    66,    67,    68,     5,     6,     7,
01718        8,     9,     0,    69,     0,     0,    10,     0,   113,    71,
01719       72,    73,    74,     0,     0,     0,     0,    77,    78,    79,
01720        0,     0,     0,     0,     0,   390,     0,     0,     0,     0,
01721        0,     0,     0,     0,     0,     0,    11,    12,     0,     0,
01722        0,     0,    13,     0,    14,    15,    16,    17,    18,    19,
01723       20,    21,    22,    23,    24,     0,    25,    26,    27,     0,
01724        0,     0,     0,    29,    30,   111,    32,    33,     0,     0,
01725        0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
01726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01727        0,     0,    46,     0,     0,     0,     0,     0,     0,     0,
01728        0,     0,     0,     0,     0,   112,     0,     0,    57,    58,
01729        0,     0,     0,     0,     0,     0,     0,    62,    63,    64,
01730       65,    66,    67,    68,     5,     6,     7,     8,     9,     0,
01731       69,     0,     0,    10,     0,   113,    71,    72,    73,    74,
01732        0,     0,     0,     0,    77,    78,    79,     0,     0,     0,
01733        0,     0,   482,     0,     0,     0,     0,     0,     0,     0,
01734        0,     0,     0,    11,    12,     0,     0,     0,     0,    13,
01735        0,    14,    15,    16,    17,    18,    19,    20,    21,    22,
01736       23,    24,     0,    25,    26,    27,     0,     0,     0,     0,
01737       29,    30,   111,    32,    33,     0,     0,     0,     0,     0,
01738       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01739        0,     0,     0,     0,     0,     0,     0,     0,     0,    46,
01740        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01741        0,     0,   112,     0,     0,    57,    58,     0,     0,     0,
01742        0,     0,     0,     0,    62,    63,    64,    65,    66,    67,
01743       68,     5,     6,     7,     8,     9,     0,    69,     0,     0,
01744       10,     0,   113,    71,    72,    73,    74,     0,     0,     0,
01745        0,    77,    78,    79,     0,     0,     0,     0,     0,   550,
01746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01747       11,    12,     0,     0,     0,     0,    13,     0,    14,    15,
01748       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
01749       25,    26,    27,     0,     0,     0,     0,    29,    30,   111,
01750       32,    33,     0,     0,     0,     0,     0,    35,     0,     0,
01751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01752        0,     0,     0,     0,     0,     0,    46,     0,     0,     0,
01753        0,     0,     0,     0,     0,     0,     0,     0,     0,   112,
01754        0,     0,    57,    58,     0,     0,     0,     0,     0,     0,
01755        0,    62,    63,    64,    65,    66,    67,    68,     5,     6,
01756        7,     8,     9,     0,    69,     0,     0,    10,     0,   113,
01757       71,    72,    73,    74,     0,     0,     0,     0,    77,    78,
01758       79,     0,     0,     0,     0,     0,   552,     0,     0,     0,
01759        0,     0,     0,     0,     0,     0,     0,    11,    12,     0,
01760        0,     0,     0,    13,     0,    14,    15,    16,    17,    18,
01761       19,    20,    21,    22,    23,    24,     0,    25,    26,    27,
01762        0,     0,     0,     0,    29,    30,   111,    32,    33,     0,
01763        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
01764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01765        0,     0,     0,    46,     0,     0,     0,     0,     0,     0,
01766        0,     0,     0,     0,     0,     0,   112,     0,     0,    57,
01767       58,     0,     0,     0,     0,     0,     0,     0,    62,    63,
01768       64,    65,    66,    67,    68,     5,     6,     7,     8,     9,
01769        0,    69,     0,     0,    10,     0,   113,    71,    72,    73,
01770       74,     0,     0,     0,     0,    77,    78,    79,     0,     0,
01771        0,     0,     0,   634,     0,     0,     0,     0,     0,     0,
01772        0,     0,     0,     0,    11,    12,     0,     0,     0,     0,
01773       13,     0,    14,    15,    16,    17,    18,    19,    20,    21,
01774       22,    23,    24,     0,    25,    26,    27,     0,     0,     0,
01775        0,    29,    30,   111,    32,    33,     0,     0,     0,     0,
01776        0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
01777        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01778       46,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01779        0,     0,     0,   112,     0,     0,    57,    58,     0,     0,
01780        0,     0,     0,     0,     0,    62,    63,    64,    65,    66,
01781       67,    68,     5,     6,     7,     8,     9,     0,    69,     0,
01782        0,    10,     0,   113,    71,    72,    73,    74,     0,     0,
01783        0,     0,    77,    78,    79,     0,     0,     0,     0,     0,
01784      683,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01785        0,    11,    12,     0,     0,     0,     0,    13,     0,    14,
01786       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
01787        0,    25,    26,    27,     0,     0,     0,     0,    29,    30,
01788      111,    32,    33,     0,     0,     0,     0,     0,    35,     0,
01789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01790        0,     0,     0,     0,     0,     0,     0,    46,     0,     0,
01791        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01792      112,     0,     0,    57,    58,     0,     0,     0,     0,     0,
01793        0,     0,    62,    63,    64,    65,    66,    67,    68,     5,
01794        6,     7,     8,     9,     0,    69,     0,     0,    10,     0,
01795      113,    71,    72,    73,    74,     0,     0,     0,     0,    77,
01796       78,    79,     0,     0,     0,     0,     0,     0,     0,     0,
01797        0,     0,     0,     0,     0,     0,     0,     0,    11,    12,
01798        0,     0,     0,     0,    13,     0,    14,    15,    16,    17,
01799       18,    19,    20,    21,    22,    23,    24,     0,    25,    26,
01800       27,     0,     0,     0,     0,    29,    30,   111,    32,    33,
01801        0,     0,     0,     0,     0,    35,     0,     0,     0,     0,
01802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01803        0,     0,     0,     0,    46,     0,     0,     0,     0,     0,
01804        0,     0,     0,     0,     0,     0,     0,   112,     0,     0,
01805       57,    58,     0,     0,     0,     0,     0,     0,     0,    62,
01806       63,    64,    65,    66,    67,    68,     5,     6,     7,     8,
01807        9,     0,    69,     0,     0,    10,     0,   113,    71,    72,
01808       73,    74,     0,     0,     0,     0,    77,    78,    79,     0,
01809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01810        0,     0,     0,     0,     0,    11,    12,     0,     0,     0,
01811        0,    13,     0,    14,    15,    16,    17,    18,    19,    20,
01812       21,    22,    23,    24,     0,    25,    26,    27,     0,     0,
01813        0,     0,    29,    30,   111,   334,    33,     0,     0,     0,
01814        0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
01815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01816        0,    46,     0,     0,     0,     0,     0,     0,     0,     0,
01817        0,     0,     0,     0,   112,     0,     0,    57,    58,     0,
01818        0,     0,     0,     0,     0,     0,    62,    63,    64,    65,
01819       66,    67,    68,     0,     0,     0,     0,     0,     0,    69,
01820      222,   223,   224,     0,   113,    71,    72,    73,    74,     0,
01821        0,     0,     0,    77,    78,    79,   225,     0,   226,   227,
01822      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
01823      238,   239,   240,   241,   242,   243,   244,   245,   246,     0,
01824      247,   222,   223,   224,     0,     0,     0,     0,     0,     0,
01825        0,     0,     0,     0,     0,     0,     0,   225,     0,   226,
01826      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
01827      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
01828        0,   247,   222,   223,   224,     0,     0,     0,     0,     0,
01829        0,     0,     0,     0,     0,     0,     0,     0,   225,     0,
01830      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
01831      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
01832      246,     0,   247,     0,     0,     0,     0,   222,   223,   224,
01833        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01834        0,     0,     0,   225,   629,   226,   227,   228,   229,   230,
01835      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
01836      241,   242,   243,   244,   245,   246,     0,   247,   222,   223,
01837      224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01838        0,   481,     0,     0,   225,     0,   226,   227,   228,   229,
01839      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
01840      240,   241,   242,   243,   244,   245,   246,     0,   247,   222,
01841      223,   224,     0,     0,     0,     0,     0,     0,     0,     0,
01842        0,     0,   518,     0,     0,   225,     0,   226,   227,   228,
01843      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
01844      239,   240,   241,   242,   243,   244,   245,   246,     0,   247,
01845        0,     0,   222,   223,   224,     0,     0,     0,     0,     0,
01846        0,     0,     0,     0,     0,     0,     0,   542,   225,   776,
01847      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
01848      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
01849      246,     0,   247,   222,   223,   224,     0,     0,     0,     0,
01850        0,     0,     0,     0,     0,     0,     0,     0,   653,   225,
01851        0,   226,   227,   228,   229,   230,   231,   232,   233,   234,
01852      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
01853      245,   246,     0,   247,   222,   223,   224,     0,     0,     0,
01854        0,     0,     0,     0,     0,     0,     0,     0,     0,   721,
01855      225,     0,   226,   227,   228,   229,   230,   231,   232,   233,
01856      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
01857      244,   245,   246,     0,   247,   222,   223,   224,     0,     0,
01858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01859      777,   225,     0,   226,   227,   228,   229,   230,   231,   232,
01860      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01861      243,   244,   245,   246,     0,   247,   222,   223,   224,     0,
01862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01863        0,   248,   225,     0,   226,   227,   228,   229,   230,   231,
01864      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
01865      242,   243,   244,   245,   246,     0,   247,   222,   223,   224,
01866        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01867        0,     0,   298,   225,     0,   226,   227,   228,   229,   230,
01868      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
01869      241,   242,   243,   244,   245,   246,     0,   247,   222,   223,
01870      224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01871        0,     0,     0,   299,   225,     0,   226,   227,   228,   229,
01872      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
01873      240,   241,   242,   243,   244,   245,   246,     0,   247,   222,
01874      223,   224,     0,     0,     0,     0,     0,     0,     0,     0,
01875        0,     0,     0,     0,   305,   225,     0,   226,   227,   228,
01876      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
01877      239,   240,   241,   242,   243,   244,   245,   246,     0,   247,
01878      222,   223,   224,     0,     0,     0,     0,     0,     0,     0,
01879        0,     0,     0,     0,   345,     0,   225,     0,   226,   227,
01880      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
01881      238,   239,   240,   241,   242,   243,   244,   245,   246,     0,
01882      247,   222,   223,   224,     0,     0,     0,     0,     0,     0,
01883        0,     0,     0,     0,     0,   410,     0,   225,     0,   226,
01884      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
01885      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
01886        0,   247,   222,   223,   224,     0,     0,     0,     0,     0,
01887        0,     0,     0,     0,     0,     0,   420,     0,   225,     0,
01888      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
01889      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
01890      246,     0,   247,   222,   223,   224,     0,     0,     0,     0,
01891        0,     0,     0,     0,     0,     0,     0,   421,     0,   225,
01892        0,   226,   227,   228,   229,   230,   231,   232,   233,   234,
01893      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
01894      245,   246,     0,   247,   222,   223,   224,     0,     0,     0,
01895        0,     0,     0,     0,     0,     0,     0,     0,   431,     0,
01896      225,     0,   226,   227,   228,   229,   230,   231,   232,   233,
01897      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
01898      244,   245,   246,     0,   247,   222,   223,   224,     0,     0,
01899        0,     0,     0,     0,     0,     0,     0,     0,     0,   524,
01900        0,   225,     0,   226,   227,   228,   229,   230,   231,   232,
01901      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01902      243,   244,   245,   246,     0,   247,   222,   223,   224,     0,
01903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01904      726,     0,   225,     0,   226,   227,   228,   229,   230,   231,
01905      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
01906      242,   243,   244,   245,   246,     0,   247,   222,   223,   224,
01907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01908        0,   847,     0,   225,     0,   226,   227,   228,   229,   230,
01909      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
01910      241,   242,   243,   244,   245,   246,     0,   247,     0,     0,
01911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01912        0,     0,   857,     0,   222,   223,   224,     0,     0,     0,
01913        0,     0,     0,     0,     0,     0,     0,     0,     0,   463,
01914      225,   584,   226,   227,   228,   229,   230,   231,   232,   233,
01915      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
01916      244,   245,   246,     0,   247,   222,   223,   224,     0,     0,
01917        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01918      627,   225,     0,   226,   227,   228,   229,   230,   231,   232,
01919      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01920      243,   244,   245,   246,     0,   247,   223,   224,     0,     0,
01921        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
01922        0,   225,     0,   226,   227,   228,   229,   230,   231,   232,
01923      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01924      243,   244,   245,   246,   224,   247,     0,     0,     0,     0,
01925        0,     0,     0,     0,     0,     0,     0,     0,   225,     0,
01926      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
01927      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
01928      246,   225,   247,   226,   227,   228,   229,   230,   231,   232,
01929      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
01930      243,   244,   245,   246,     0,   247,   227,   228,   229,   230,
01931      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
01932      241,   242,   243,   244,   245,   246,     0,   247,   228,   229,
01933      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
01934      240,   241,   242,   243,   244,   245,   246,     0,   247
01935 };
01936 
01937 static const yytype_int16 yycheck[] =
01938 {
01939       23,    24,    26,    26,     4,   114,     4,    26,   403,    26,
01940       48,   354,   419,   575,   221,   525,     8,     8,   247,   482,
01941        8,   416,     8,     8,     8,    26,    61,    26,    51,     8,
01942        8,    61,     8,    78,     8,     8,     8,    73,     8,     8,
01943      304,     8,    71,    63,    31,    61,   145,    70,   341,    61,
01944       73,    71,   140,    73,   145,    61,   144,   264,    71,   140,
01945       73,    71,   145,   144,   145,    92,    93,    94,   275,   276,
01946       26,   140,   279,     0,   281,   144,    71,   140,    71,   140,
01947      475,   144,   145,   144,   108,     0,    73,   550,     8,   552,
01948      145,   111,   137,    13,    14,    15,    16,    17,    18,    19,
01949       20,    21,    22,    23,    24,   140,    71,    71,    73,    23,
01950       24,   134,    26,   148,   150,   145,   145,    71,   148,    73,
01951      143,   141,   149,   161,   144,    73,    73,   151,   140,    71,
01952      150,    73,   148,   145,   144,   148,   148,   150,   148,    59,
01953       60,   301,   148,    71,    90,    73,   141,   148,   147,   144,
01954      493,   144,    90,   176,   146,   315,   147,   117,   181,   147,
01955      158,   147,   147,   147,   559,   188,   189,   190,   147,   147,
01956      146,   634,   146,   146,   146,   198,   146,   146,   201,   146,
01957       71,   474,    71,   111,    73,   150,   581,   582,    61,    73,
01958       31,    31,   587,   588,   145,   123,   150,   221,   144,   406,
01959       93,    94,   150,   150,   221,   145,   144,   117,   150,    71,
01960      140,    73,   419,   141,   144,   145,   144,    71,   728,   145,
01961      683,   145,   150,   247,   247,    71,   146,   570,   247,    73,
01962      247,    71,    73,    73,    78,   148,   612,   145,    31,    71,
01963      264,    73,    74,    71,   145,    73,   145,   264,   121,   111,
01964      273,   275,   276,    73,   277,   279,   149,   281,   275,   276,
01965       73,   150,   279,    73,   281,    78,    71,   181,    73,    31,
01966      124,   111,   432,   433,   188,   189,   190,   506,   301,   141,
01967       73,    71,   144,   111,   198,   308,   148,   141,   150,   145,
01968      144,    71,   315,   855,   138,   139,   672,   640,   674,    59,
01969       60,   141,   325,   326,   144,    31,   111,    73,   152,   145,
01970      150,    73,    78,   141,   352,   722,   144,   137,   138,   139,
01971       93,    94,   150,   718,   137,   138,   139,   487,   138,   139,
01972       71,   354,   596,   247,   124,    73,   141,   140,   362,   144,
01973       78,    73,   144,   145,   608,   150,    78,   347,   145,   347,
01974       73,   141,   140,   760,   144,    78,   146,    66,    67,    68,
01975      121,    92,    93,    94,   195,   403,   144,   390,   199,   529,
01976       49,   137,   138,   139,   144,   535,   149,   208,   416,   210,
01977      211,   212,   406,   543,    45,    46,    47,   144,    49,   406,
01978      147,   148,    92,    93,    94,   419,   144,   145,   662,   742,
01979      138,   139,   419,    92,    93,    94,   138,   139,   144,   432,
01980      433,   325,   326,   140,   437,   138,   139,   121,   149,   140,
01981        9,    10,    11,    66,    67,    68,   144,   145,   451,    66,
01982       67,    66,    67,   147,   148,   140,    25,   475,    27,    28,
01983       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
01984       39,    40,    41,    42,    43,    44,    45,    46,    47,   482,
01985       49,    23,    24,   144,   487,   140,   489,    78,    79,   145,
01986      493,    13,    13,   496,   147,   147,   390,   148,   146,   149,
01987       71,    71,   506,   506,   151,   119,    26,   506,   752,   506,
01988      754,   145,    13,    14,    15,    16,    17,    18,    19,    20,
01989       21,    22,    23,    24,   527,   528,   529,   145,    82,     8,
01990      670,   147,   535,    90,   537,   722,   676,    71,   678,    71,
01991      543,   559,    73,   546,   522,   548,   146,   550,   566,   552,
01992      147,   146,     8,   531,    71,    61,   149,   451,    59,    60,
01993      804,   884,    13,   581,   582,   568,   810,   570,   119,   587,
01994      588,   711,   575,   760,    42,    43,    44,    45,    46,    47,
01995      149,    49,   145,   145,   828,   145,   145,   153,   482,   833,
01996       26,    13,   145,   145,    23,    24,   144,    26,    98,   140,
01997      603,    71,   149,    13,   848,   145,   106,   107,   108,   109,
01998      110,   111,   506,   315,   147,   145,     8,   757,   146,   622,
01999      149,   599,   120,   867,   148,   869,   144,   146,    71,   873,
02000      145,   634,   146,   527,   528,   137,    71,   640,   102,    13,
02001      780,   644,   782,   153,   149,   148,   147,   891,     8,   146,
02002      146,   146,   546,   793,   548,     8,   550,   145,   552,   748,
02003      147,   122,    13,   666,   147,   147,   146,   670,   122,     8,
02004      145,   149,   146,   676,   814,   678,   147,   146,   818,   104,
02005      683,     4,     5,     6,   824,     8,     9,    10,    11,    12,
02006       13,    14,    73,    16,    17,    18,    19,    20,    21,    22,
02007      718,    13,    25,   153,   146,   146,   146,   146,   711,   603,
02008      121,    89,   146,    36,   854,   146,    71,   145,   722,    98,
02009       43,    44,   702,    13,   148,   722,   121,    50,   622,   148,
02010      432,   433,   147,    83,    99,   147,   122,    13,   147,   742,
02011      634,   106,   107,   108,   109,   110,   111,   112,    73,    71,
02012       13,    74,   181,    73,   757,   146,   760,   145,   147,   188,
02013      189,   190,   146,   760,   147,    13,    71,    13,    13,   198,
02014       73,    26,   666,   149,   149,   145,    68,   780,    73,   782,
02015       73,   147,   146,    87,   149,   487,    13,   765,    99,   683,
02016      793,   145,    73,    68,   117,   106,   107,   108,   109,   110,
02017      111,   112,   125,   147,    26,    85,   148,   147,   146,    73,
02018      145,   814,   149,   149,   102,   818,   146,   148,   247,   308,
02019      149,   824,   882,   451,   347,   570,   604,   529,   666,   152,
02020      771,   154,   775,   535,   347,   158,   313,   160,   149,   644,
02021      163,   543,   639,   703,   650,   616,   622,   181,   592,   826,
02022       -1,   854,   855,   831,    -1,   548,    -1,    -1,    -1,    -1,
02023       -1,    -1,    -1,    23,    24,    -1,    -1,    -1,    -1,    -1,
02024      193,    -1,   301,    -1,   197,    -1,    -1,    -1,    -1,    -1,
02025      858,   884,    -1,    -1,   207,    -1,   315,    -1,    48,    -1,
02026       -1,    -1,    -1,    -1,    -1,    -1,   325,   326,    -1,    -1,
02027      223,    -1,    -1,    -1,    -1,   228,   229,   230,   231,   232,
02028      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
02029      243,   244,   245,   246,    -1,    -1,    -1,    -1,   251,   252,
02030      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
02031       -1,     8,    -1,   266,   267,    -1,    13,    14,    15,    16,
02032       17,    18,    19,    20,    21,    22,    23,    24,    -1,    -1,
02033       -1,   390,    -1,    -1,   287,    -1,    -1,   290,   670,    -1,
02034       -1,    -1,    -1,    -1,   676,    -1,   678,    -1,    -1,    -1,
02035       -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    42,    43,
02036       -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,    -1,
02037       -1,   161,    -1,   432,   433,    -1,    -1,    -1,    -1,   711,
02038       -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
02039       -1,   181,   451,    -1,   347,    79,    -1,    -1,   188,   189,
02040      190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   198,    -1,
02041      363,    -1,   365,    -1,   367,   368,   369,    -1,    -1,    -1,
02042       -1,    -1,    -1,   482,    -1,   757,    -1,   111,   487,    -1,
02043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02044      124,   125,   126,   127,   128,   129,    -1,   506,   780,   146,
02045      782,    -1,   136,    -1,    -1,    -1,    -1,   141,   142,   143,
02046      144,   793,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
02047      529,    -1,    -1,    -1,    -1,    -1,   535,    -1,    -1,    -1,
02048       -1,    -1,   814,    -1,   543,    -1,   818,   546,    -1,   548,
02049       -1,   550,   824,   552,    13,    14,    15,    16,    17,    18,
02050       19,    20,    21,    22,    23,    24,    -1,    -1,    -1,    -1,
02051      463,    -1,   465,    -1,    -1,    -1,   469,    -1,    -1,    -1,
02052       -1,    -1,   854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02053       -1,    -1,    -1,    -1,    -1,   325,   326,    -1,    -1,    -1,
02054       59,    60,    -1,    -1,   603,    -1,    -1,    -1,    -1,   502,
02055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   512,
02056       -1,    -1,   352,   622,    -1,    -1,    -1,    -1,    -1,   522,
02057       -1,    90,   525,   526,    -1,   634,    -1,    -1,   531,    -1,
02058       -1,    13,    14,    15,    16,    17,    18,    19,    20,    21,
02059       22,    23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02060      390,    -1,    -1,    -1,    -1,    -1,    -1,   666,    -1,    -1,
02061       -1,   670,    -1,   403,    -1,    -1,    -1,   676,    -1,   678,
02062       -1,    -1,    -1,    -1,   683,    -1,   416,    59,    60,    -1,
02063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   592,
02064      593,    -1,    -1,    -1,    -1,   598,   599,    -1,    -1,    -1,
02065       -1,    -1,   711,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02066       -1,   451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02067       -1,   624,    -1,    -1,   627,    -1,    -1,    -1,    -1,    -1,
02068       -1,    -1,    -1,    -1,    -1,   475,    -1,    -1,    -1,    -1,
02069       -1,    -1,   482,    -1,    -1,    -1,   649,    -1,   757,    -1,
02070       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
02071       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02072       47,   780,    49,   782,    -1,    -1,    -1,    -1,    -1,    -1,
02073       -1,    -1,    -1,    -1,   793,    -1,    -1,   527,   528,    36,
02074       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02075       47,    -1,    49,    -1,    -1,   814,   546,    -1,   548,   818,
02076      550,    -1,   552,    -1,    -1,   824,    -1,    -1,    -1,   559,
02077       -1,    -1,    -1,    -1,    -1,   728,   566,    -1,    -1,    -1,
02078       -1,    -1,    -1,   736,    -1,    -1,    -1,    -1,    -1,    -1,
02079       -1,   581,   582,    -1,    -1,   854,    -1,   587,   588,    -1,
02080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02081       -1,    -1,   765,   603,    -1,    -1,    -1,   770,   771,    -1,
02082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02083       -1,    -1,   622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02084       -1,    -1,    -1,    -1,   634,    -1,    -1,   800,    -1,    -1,
02085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02086       -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
02087       -1,    -1,    12,    -1,   827,    -1,   666,    -1,   831,    -1,
02088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02089       -1,    -1,    -1,   683,    -1,    -1,    -1,    -1,    -1,    -1,
02090       -1,    -1,    42,    43,    -1,   858,    -1,    -1,    48,    -1,
02091       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
02092       60,    -1,    62,    63,    64,    65,    -1,    -1,   718,    69,
02093       70,    71,    72,    73,    -1,    75,    -1,    -1,    -1,    79,
02094       80,    81,    82,    -1,    84,    -1,    86,    -1,    88,    -1,
02095       -1,    91,    -1,    -1,    -1,    95,    96,    97,    98,    99,
02096      100,   101,    -1,   103,   104,   105,    -1,    -1,    -1,   109,
02097      110,   111,    -1,   113,   114,   115,   116,   117,   118,    -1,
02098       -1,    -1,    -1,   123,   124,   125,   126,   127,   128,   129,
02099        3,     4,     5,     6,     7,    -1,   136,    -1,    -1,    12,
02100       -1,   141,   142,   143,   144,   145,    -1,   147,   148,    -1,
02101      150,   151,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
02103       43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,
02104       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
02105       63,    64,    65,    -1,    -1,    -1,    69,    70,    71,    72,
02106       73,    -1,    75,    -1,    -1,    -1,    79,    80,    81,    82,
02107       -1,    84,    -1,    86,    -1,    88,    -1,    -1,    91,    -1,
02108       -1,    -1,    95,    96,    97,    98,    -1,   100,   101,    -1,
02109      103,    -1,   105,    -1,    -1,    -1,   109,   110,   111,    -1,
02110      113,   114,   115,   116,   117,   118,    -1,    -1,    -1,    -1,
02111      123,   124,   125,   126,   127,   128,   129,     3,     4,     5,
02112        6,     7,    -1,   136,    -1,    -1,    12,    -1,   141,   142,
02113      143,   144,   145,    -1,   147,   148,    -1,   150,   151,   152,
02114       26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02115       -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,
02116       -1,    -1,    48,    -1,    50,    51,    52,    53,    54,    55,
02117       56,    57,    58,    59,    60,    -1,    62,    63,    64,    65,
02118       -1,    -1,    -1,    69,    70,    71,    72,    73,    -1,    75,
02119       -1,    -1,    -1,    79,    80,    81,    82,    -1,    84,    -1,
02120       86,    -1,    88,    -1,    -1,    91,    -1,    -1,    -1,    95,
02121       96,    97,    98,    -1,   100,   101,    -1,   103,    -1,   105,
02122       -1,    -1,    -1,    -1,    -1,   111,    -1,   113,   114,   115,
02123       -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,   125,
02124      126,   127,   128,   129,     3,     4,     5,     6,     7,    -1,
02125      136,    -1,    -1,    12,    -1,   141,   142,   143,   144,   145,
02126       -1,   147,   148,    -1,   150,   151,   152,    26,    -1,    -1,
02127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02128       -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    48,
02129       -1,    50,    51,    52,    53,    54,    55,    56,    57,    58,
02130       59,    60,    -1,    62,    63,    64,    65,    -1,    -1,    -1,
02131       69,    70,    71,    72,    73,    -1,    75,    -1,    -1,    -1,
02132       79,    80,    81,    82,    -1,    84,    -1,    86,    -1,    88,
02133       -1,    -1,    91,    -1,    -1,    -1,    95,    96,    97,    98,
02134       -1,   100,   101,    -1,   103,    -1,   105,    -1,    -1,    -1,
02135       -1,    -1,   111,    -1,   113,   114,   115,    -1,    -1,    -1,
02136       -1,    -1,    -1,    -1,   123,   124,   125,   126,   127,   128,
02137      129,     3,     4,     5,     6,     7,    -1,   136,    -1,    -1,
02138       12,    -1,   141,   142,   143,   144,   145,    -1,   147,   148,
02139       -1,   150,   151,   152,    26,    -1,    -1,    -1,    -1,    -1,
02140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02141       42,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,
02142       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
02143       62,    63,    64,    65,    -1,    -1,    -1,    69,    70,    71,
02144       72,    73,    -1,    75,    -1,    -1,    -1,    79,    80,    81,
02145       82,    -1,    84,    -1,    86,    -1,    88,    -1,    -1,    91,
02146       -1,    -1,    -1,    95,    96,    97,    98,    -1,   100,   101,
02147       -1,   103,    -1,   105,    -1,    -1,    -1,    -1,    -1,   111,
02148       -1,   113,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,
02149       -1,   123,   124,   125,   126,   127,   128,   129,     3,     4,
02150        5,     6,     7,    -1,   136,    -1,    -1,    12,    -1,   141,
02151      142,   143,   144,   145,    -1,   147,   148,    -1,   150,   151,
02152      152,    26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,
02154       -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,    54,
02155       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
02156       65,    -1,    -1,    -1,    69,    70,    71,    72,    73,    -1,
02157       75,    -1,    -1,    -1,    79,    80,    81,    82,    -1,    84,
02158       -1,    86,    -1,    88,    -1,    -1,    91,    -1,    -1,    -1,
02159       95,    96,    97,    98,    -1,   100,   101,    -1,   103,    -1,
02160      105,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,   114,
02161      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,
02162      125,   126,   127,   128,   129,     3,     4,     5,     6,     7,
02163       -1,   136,    -1,    -1,    12,    -1,   141,   142,   143,   144,
02164      145,    -1,   147,   148,    -1,   150,   151,   152,    -1,    -1,
02165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02166       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
02167       48,    -1,    50,    51,    52,    53,    54,    55,    56,    57,
02168       58,    59,    60,    -1,    62,    63,    64,    65,    -1,    -1,
02169       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    -1,
02170       -1,    79,    80,    81,    82,    -1,    84,    -1,    86,    -1,
02171       88,    -1,    -1,    91,    -1,    -1,    -1,    95,    96,    97,
02172       98,    -1,   100,   101,    -1,   103,    -1,   105,    -1,    -1,
02173       -1,    -1,    -1,   111,    -1,   113,   114,   115,    -1,    -1,
02174       -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,   127,
02175      128,   129,     3,     4,     5,     6,     7,    -1,   136,    -1,
02176       -1,    12,    -1,   141,   142,   143,   144,   145,    -1,   147,
02177      148,    -1,   150,   151,   152,    -1,    -1,    -1,    -1,    -1,
02178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02179       -1,    42,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,
02180       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
02181       -1,    62,    63,    64,    -1,    -1,    -1,    -1,    69,    70,
02182       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    30,
02183       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
02184       41,    42,    43,    44,    45,    46,    47,    98,    49,    -1,
02185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02186      111,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,    -1,
02187       -1,    -1,   123,   124,   125,   126,   127,   128,   129,     3,
02188        4,     5,     6,     7,    -1,   136,    -1,    -1,    12,    -1,
02189      141,   142,   143,   144,   145,    -1,   147,    -1,    -1,   150,
02190      151,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
02192       -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
02193       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63,
02194       64,    -1,    -1,    -1,    -1,    69,    70,    71,    72,    73,
02195       -1,    -1,    -1,    -1,    -1,    79,    -1,    31,    32,    33,
02196       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02197       44,    45,    46,    47,    98,    49,    -1,    -1,    -1,    -1,
02198       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
02199      114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,
02200      124,   125,   126,   127,   128,   129,     3,     4,     5,     6,
02201        7,    -1,   136,    -1,    -1,    12,    -1,   141,   142,   143,
02202      144,   145,    -1,   147,    -1,    -1,   150,   151,   152,    -1,
02203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02204       -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
02205       -1,    48,    -1,    50,    51,    52,    53,    54,    55,    56,
02206       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1,
02207       -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
02208       -1,    -1,    79,    32,    33,    34,    35,    36,    37,    38,
02209       39,    40,    41,    42,    43,    44,    45,    46,    47,    -1,
02210       49,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02211       -1,    -1,    -1,    -1,   111,    -1,    -1,   114,   115,    -1,
02212       -1,    -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,
02213      127,   128,   129,     3,     4,     5,     6,     7,    -1,   136,
02214       -1,    -1,    12,    -1,   141,   142,   143,   144,   145,    -1,
02215      147,    -1,    -1,   150,   151,   152,    -1,    -1,    -1,    -1,
02216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02217       -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    48,    -1,
02218       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
02219       60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,    69,
02220       70,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,
02221       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
02222       42,    43,    44,    45,    46,    47,    -1,    49,    98,    -1,
02223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02224       -1,   111,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,
02225       -1,    -1,    -1,   123,   124,   125,   126,   127,   128,   129,
02226        3,     4,     5,     6,     7,    -1,   136,    -1,    -1,    12,
02227       -1,   141,   142,   143,   144,   145,   146,    -1,    -1,    -1,
02228      150,   151,   152,    -1,    -1,    -1,    -1,    -1,    31,    -1,
02229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
02230       43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,
02231       53,    54,    55,    56,    57,    58,    59,    60,    -1,    62,
02232       63,    64,    -1,    -1,    -1,    -1,    69,    70,    71,    72,
02233       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
02234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02235       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,
02236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
02237       -1,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02238      123,   124,   125,   126,   127,   128,   129,     3,     4,     5,
02239        6,     7,    -1,   136,    -1,    -1,    12,    -1,   141,   142,
02240      143,   144,   145,    -1,    -1,    -1,    -1,   150,   151,   152,
02241       -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,
02242       -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,
02243       -1,    -1,    48,    -1,    50,    51,    52,    53,    54,    55,
02244       56,    57,    58,    59,    60,    -1,    62,    63,    64,    -1,
02245       -1,    -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,
02246       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
02247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02248       -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02249       -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,   114,   115,
02250       -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,   125,
02251      126,   127,   128,   129,     3,     4,     5,     6,     7,    -1,
02252      136,    -1,    -1,    12,    -1,   141,   142,   143,   144,   145,
02253       -1,    -1,    -1,    -1,   150,   151,   152,    -1,    -1,    -1,
02254       -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02255       -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    48,
02256       -1,    50,    51,    52,    53,    54,    55,    56,    57,    58,
02257       59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,    -1,
02258       69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,
02259       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
02261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02262       -1,    -1,   111,    -1,    -1,   114,   115,    -1,    -1,    -1,
02263       -1,    -1,    -1,    -1,   123,   124,   125,   126,   127,   128,
02264      129,     3,     4,     5,     6,     7,    -1,   136,    -1,    -1,
02265       12,    -1,   141,   142,   143,   144,   145,    -1,    -1,    -1,
02266       -1,   150,   151,   152,    -1,    -1,    -1,    -1,    -1,    31,
02267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02268       42,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,    51,
02269       52,    53,    54,    55,    56,    57,    58,    59,    60,    -1,
02270       62,    63,    64,    -1,    -1,    -1,    -1,    69,    70,    71,
02271       72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
02272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02273       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
02274       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
02275       -1,    -1,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,
02276       -1,   123,   124,   125,   126,   127,   128,   129,     3,     4,
02277        5,     6,     7,    -1,   136,    -1,    -1,    12,    -1,   141,
02278      142,   143,   144,   145,    -1,    -1,    -1,    -1,   150,   151,
02279      152,    -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,
02280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,
02281       -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,    54,
02282       55,    56,    57,    58,    59,    60,    -1,    62,    63,    64,
02283       -1,    -1,    -1,    -1,    69,    70,    71,    72,    73,    -1,
02284       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
02285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02286       -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
02287       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,   114,
02288      115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,
02289      125,   126,   127,   128,   129,     3,     4,     5,     6,     7,
02290       -1,   136,    -1,    -1,    12,    -1,   141,   142,   143,   144,
02291      145,    -1,    -1,    -1,    -1,   150,   151,   152,    -1,    -1,
02292       -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,
02293       -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
02294       48,    -1,    50,    51,    52,    53,    54,    55,    56,    57,
02295       58,    59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,
02296       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    -1,
02297       -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02299       98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02300       -1,    -1,    -1,   111,    -1,    -1,   114,   115,    -1,    -1,
02301       -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,   127,
02302      128,   129,     3,     4,     5,     6,     7,    -1,   136,    -1,
02303       -1,    12,    -1,   141,   142,   143,   144,   145,    -1,    -1,
02304       -1,    -1,   150,   151,   152,    -1,    -1,    -1,    -1,    -1,
02305       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02306       -1,    42,    43,    -1,    -1,    -1,    -1,    48,    -1,    50,
02307       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
02308       -1,    62,    63,    64,    -1,    -1,    -1,    -1,    69,    70,
02309       71,    72,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
02310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
02312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02313      111,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,    -1,
02314       -1,    -1,   123,   124,   125,   126,   127,   128,   129,     3,
02315        4,     5,     6,     7,    -1,   136,    -1,    -1,    12,    -1,
02316      141,   142,   143,   144,   145,    -1,    -1,    -1,    -1,   150,
02317      151,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
02319       -1,    -1,    -1,    -1,    48,    -1,    50,    51,    52,    53,
02320       54,    55,    56,    57,    58,    59,    60,    -1,    62,    63,
02321       64,    -1,    -1,    -1,    -1,    69,    70,    71,    72,    73,
02322       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
02323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02324       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,
02325       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
02326      114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,
02327      124,   125,   126,   127,   128,   129,     3,     4,     5,     6,
02328        7,    -1,   136,    -1,    -1,    12,    -1,   141,   142,   143,
02329      144,   145,    -1,    -1,    -1,    -1,   150,   151,   152,    -1,
02330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02331       -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
02332       -1,    48,    -1,    50,    51,    52,    53,    54,    55,    56,
02333       57,    58,    59,    60,    -1,    62,    63,    64,    -1,    -1,
02334       -1,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
02335       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02336       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02337       -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02338       -1,    -1,    -1,    -1,   111,    -1,    -1,   114,   115,    -1,
02339       -1,    -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,
02340      127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,   136,
02341        9,    10,    11,    -1,   141,   142,   143,   144,   145,    -1,
02342       -1,    -1,    -1,   150,   151,   152,    25,    -1,    27,    28,
02343       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
02344       39,    40,    41,    42,    43,    44,    45,    46,    47,    -1,
02345       49,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,    -1,
02346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    27,
02347       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
02348       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
02349       -1,    49,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,
02350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,
02351       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
02352       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02353       47,    -1,    49,    -1,    -1,    -1,    -1,     9,    10,    11,
02354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02355       -1,    -1,    -1,    25,   153,    27,    28,    29,    30,    31,
02356       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
02357       42,    43,    44,    45,    46,    47,    -1,    49,     9,    10,
02358       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02359       -1,   149,    -1,    -1,    25,    -1,    27,    28,    29,    30,
02360       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
02361       41,    42,    43,    44,    45,    46,    47,    -1,    49,     9,
02362       10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02363       -1,    -1,   149,    -1,    -1,    25,    -1,    27,    28,    29,
02364       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
02365       40,    41,    42,    43,    44,    45,    46,    47,    -1,    49,
02366       -1,    -1,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,
02367       -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,    25,    26,
02368       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
02369       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02370       47,    -1,    49,     9,    10,    11,    -1,    -1,    -1,    -1,
02371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,    25,
02372       -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
02373       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
02374       46,    47,    -1,    49,     9,    10,    11,    -1,    -1,    -1,
02375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   149,
02376       25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
02377       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
02378       45,    46,    47,    -1,    49,     9,    10,    11,    -1,    -1,
02379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02380      147,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
02381       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02382       44,    45,    46,    47,    -1,    49,     9,    10,    11,    -1,
02383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02384       -1,   147,    25,    -1,    27,    28,    29,    30,    31,    32,
02385       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
02386       43,    44,    45,    46,    47,    -1,    49,     9,    10,    11,
02387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02388       -1,    -1,   147,    25,    -1,    27,    28,    29,    30,    31,
02389       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
02390       42,    43,    44,    45,    46,    47,    -1,    49,     9,    10,
02391       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02392       -1,    -1,    -1,   147,    25,    -1,    27,    28,    29,    30,
02393       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
02394       41,    42,    43,    44,    45,    46,    47,    -1,    49,     9,
02395       10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02396       -1,    -1,    -1,    -1,   147,    25,    -1,    27,    28,    29,
02397       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
02398       40,    41,    42,    43,    44,    45,    46,    47,    -1,    49,
02399        9,    10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02400       -1,    -1,    -1,    -1,   146,    -1,    25,    -1,    27,    28,
02401       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
02402       39,    40,    41,    42,    43,    44,    45,    46,    47,    -1,
02403       49,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,    -1,
02404       -1,    -1,    -1,    -1,    -1,   146,    -1,    25,    -1,    27,
02405       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
02406       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
02407       -1,    49,     9,    10,    11,    -1,    -1,    -1,    -1,    -1,
02408       -1,    -1,    -1,    -1,    -1,    -1,   146,    -1,    25,    -1,
02409       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
02410       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02411       47,    -1,    49,     9,    10,    11,    -1,    -1,    -1,    -1,
02412       -1,    -1,    -1,    -1,    -1,    -1,    -1,   146,    -1,    25,
02413       -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
02414       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
02415       46,    47,    -1,    49,     9,    10,    11,    -1,    -1,    -1,
02416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   146,    -1,
02417       25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
02418       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
02419       45,    46,    47,    -1,    49,     9,    10,    11,    -1,    -1,
02420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   146,
02421       -1,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
02422       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02423       44,    45,    46,    47,    -1,    49,     9,    10,    11,    -1,
02424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02425      146,    -1,    25,    -1,    27,    28,    29,    30,    31,    32,
02426       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
02427       43,    44,    45,    46,    47,    -1,    49,     9,    10,    11,
02428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02429       -1,   146,    -1,    25,    -1,    27,    28,    29,    30,    31,
02430       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
02431       42,    43,    44,    45,    46,    47,    -1,    49,    -1,    -1,
02432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02433       -1,    -1,   146,    -1,     9,    10,    11,    -1,    -1,    -1,
02434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   122,
02435       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
02436       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
02437       45,    46,    47,    -1,    49,     9,    10,    11,    -1,    -1,
02438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02439      122,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
02440       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02441       44,    45,    46,    47,    -1,    49,    10,    11,    -1,    -1,
02442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
02443       -1,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
02444       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02445       44,    45,    46,    47,    11,    49,    -1,    -1,    -1,    -1,
02446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,
02447       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
02448       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
02449       47,    25,    49,    27,    28,    29,    30,    31,    32,    33,
02450       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
02451       44,    45,    46,    47,    -1,    49,    28,    29,    30,    31,
02452       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
02453       42,    43,    44,    45,    46,    47,    -1,    49,    29,    30,
02454       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
02455       41,    42,    43,    44,    45,    46,    47,    -1,    49
02456 };
02457 
02458 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
02459    symbol of state STATE-NUM.  */
02460 static const yytype_uint16 yystos[] =
02461 {
02462        0,   155,   156,     0,   157,     3,     4,     5,     6,     7,
02463       12,    42,    43,    48,    50,    51,    52,    53,    54,    55,
02464       56,    57,    58,    59,    60,    62,    63,    64,    65,    69,
02465       70,    71,    72,    73,    75,    79,    80,    81,    82,    84,
02466       86,    88,    91,    95,    96,    97,    98,    99,   100,   101,
02467      103,   104,   105,   109,   110,   111,   113,   114,   115,   116,
02468      117,   118,   123,   124,   125,   126,   127,   128,   129,   136,
02469      141,   142,   143,   144,   145,   147,   148,   150,   151,   152,
02470      158,   159,   164,   168,   169,   199,   200,   202,   204,   207,
02471      209,   254,   267,   270,   279,   290,   293,   297,   298,   300,
02472      301,   309,   310,   311,   312,   313,   314,   315,   321,   331,
02473      334,    71,   111,   141,   267,   297,   297,   145,   297,   297,
02474      297,   297,   297,   297,   297,   265,   297,   297,   297,   297,
02475      297,   297,   297,   141,   144,   158,   279,   300,   301,   311,
02476      300,   297,   141,   144,   158,   279,   281,   282,   311,   313,
02477      314,   321,   145,   287,   145,    26,   250,   297,   176,   145,
02478      145,   145,   186,   145,   147,   297,   147,   297,    71,    71,
02479      147,   254,   297,   301,   187,   297,   144,   158,   162,   163,
02480       73,   150,   236,   237,   117,   117,    73,   238,   145,   145,
02481      145,   145,   145,   145,    73,    78,   137,   138,   139,   327,
02482      328,   144,   148,   158,   158,   297,   165,   148,    78,   288,
02483      327,    78,   327,   144,   145,     8,   147,    71,    71,    31,
02484      201,   140,     9,    10,    11,    25,    27,    28,    29,    30,
02485       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
02486       41,    42,    43,    44,    45,    46,    47,    49,   147,    59,
02487       60,    13,    14,    15,    16,    17,    18,    19,    20,    21,
02488       22,    23,    24,   145,   140,   121,    61,   148,   150,   314,
02489      201,   297,   297,   144,   158,   140,   140,   144,   158,   140,
02490      257,   140,   121,   314,   146,   297,   297,     8,   147,   168,
02491      174,   251,   252,   297,   254,   301,   145,   297,   147,   147,
02492      147,    13,   147,   147,   148,   147,   158,    90,     8,   147,
02493      148,   298,   301,     8,   147,    13,     8,   147,   197,   198,
02494      301,   301,   332,   301,   146,   255,    31,   297,   325,   326,
02495       61,   121,   137,   328,    72,   297,   301,    78,   137,   328,
02496      158,   161,   147,   148,   145,   146,   149,   166,   297,   151,
02497      152,    71,   271,    71,   119,   208,   206,    71,   145,    71,
02498      309,   314,   321,   260,   297,   261,    26,   262,   258,   259,
02499      297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
02500      297,   297,   297,   297,   297,   297,   297,   297,   297,   281,
02501       31,   297,   297,   297,   297,   297,   297,   297,   297,   297,
02502      297,   297,   297,   278,    71,   309,   302,   297,   316,   297,
02503      146,   158,    71,    71,   158,   309,   145,   289,   309,   283,
02504      146,   146,   297,    82,   297,   147,     8,    90,    90,    71,
02505      218,   146,    42,    43,   124,   136,   141,   144,   158,   279,
02506      290,   291,   292,   165,    90,    71,   163,   297,   237,   291,
02507       73,     8,   146,     8,   146,   146,   147,   123,   301,   322,
02508      323,   299,   301,   122,   146,     8,   295,   329,    71,    61,
02509      149,   149,   145,   156,   160,   273,   116,   167,   168,   199,
02510      200,   149,    31,   234,   235,   254,   301,    13,   141,   144,
02511      158,   280,   205,   119,   210,   203,   266,   145,   145,   314,
02512      297,   297,   264,   297,   297,   297,    63,   301,   234,   145,
02513      145,    71,   148,   309,   317,   319,   320,   153,   149,   234,
02514      317,    26,   170,   145,   146,   178,   253,   184,   182,    13,
02515        8,   146,   181,   291,   291,   145,    78,   144,   158,   140,
02516      149,    71,   149,    13,   198,   147,   333,   145,     8,   146,
02517       31,   297,    31,   297,    71,    73,    74,   330,   297,   272,
02518      149,   156,   234,   145,   299,   146,     8,   291,   144,   158,
02519      120,   211,   212,   280,   148,   145,   124,   231,   232,   233,
02520      280,   274,   275,   297,    26,   281,   146,   276,   277,   297,
02521      318,   303,    61,   148,   146,   284,   172,   168,   177,   175,
02522      251,   297,   301,    31,   214,   301,   291,    71,    26,   168,
02523      217,    26,   148,   219,   291,   294,   296,   158,    71,   102,
02524      291,   301,   324,   323,    13,   299,   299,   122,   153,   153,
02525      234,   149,   146,   146,    31,   254,   301,   158,   212,   148,
02526        8,   239,   231,   146,     8,    31,    73,   234,   234,   263,
02527      256,   234,   234,   149,   145,   307,   316,   297,   285,   165,
02528      171,   297,    26,   168,   224,   147,   122,   213,   301,   213,
02529       13,   165,   147,   220,   147,   220,   122,   146,     8,   295,
02530      145,   322,   297,    31,   297,   149,   146,   147,   299,   239,
02531      280,    99,   106,   107,   108,   109,   110,   111,   112,   149,
02532      240,   244,   245,   246,   247,   249,   146,   104,   268,   233,
02533       73,    13,   146,   146,   297,   289,   146,   146,   308,   304,
02534      153,   149,   121,   286,   173,   225,   146,   165,   179,   214,
02535      146,   146,   291,    89,   220,    92,    93,    94,   220,   149,
02536      291,   291,   188,   146,   299,   149,    71,   241,   267,   247,
02537        8,   147,   148,   145,   148,    31,    73,    13,   291,   234,
02538      121,   305,   317,   227,    66,    67,   229,   147,    83,   251,
02539      185,   183,   147,    92,   147,   297,    26,   147,   223,   149,
02540      122,   280,    13,    73,   248,   201,    71,   165,    31,    73,
02541      269,   165,    73,    13,   291,   146,   317,    66,    67,   230,
02542      145,   168,   147,   146,    26,   168,   216,   216,   147,   223,
02543      222,   291,   189,   291,    13,     8,   147,    71,    13,   149,
02544       73,     8,   146,   149,    13,   291,   306,   145,    26,    68,
02545      297,   180,   165,   221,   165,    73,   291,    73,   242,   291,
02546       31,    73,   291,   307,   297,   165,   147,   146,    26,   168,
02547      215,    87,   165,   146,    13,   145,    73,   146,   226,   165,
02548      147,   190,   291,   231,    26,   168,    85,   148,   146,   228,
02549      147,   165,   147,   148,   243,   165,   149,   165,   191,   149,
02550      102,   192,   193,   194,   145,   194,   280,   195,    73,   146,
02551      196,   148,   165,   149
02552 };
02553 
02554 #define yyerrok             (yyerrstatus = 0)
02555 #define yyclearin    (yychar = YYEMPTY)
02556 #define YYEMPTY             (-2)
02557 #define YYEOF        0
02558 
02559 #define YYACCEPT     goto yyacceptlab
02560 #define YYABORT             goto yyabortlab
02561 #define YYERROR             goto yyerrorlab
02562 
02563 
02564 /* Like YYERROR except do call yyerror.  This remains here temporarily
02565    to ease the transition to the new meaning of YYERROR, for GCC.
02566    Once GCC version 2 has supplanted version 1, this can go.  */
02567 
02568 #define YYFAIL              goto yyerrlab
02569 
02570 #define YYRECOVERING()  (!!yyerrstatus)
02571 
02572 #define YYBACKUP(Token, Value)                                 \
02573 do                                                      \
02574   if (yychar == YYEMPTY && yylen == 1)                         \
02575     {                                                   \
02576       yychar = (Token);                                        \
02577       yylval = (Value);                                        \
02578       yytoken = YYTRANSLATE (yychar);                          \
02579       YYPOPSTACK (1);                                          \
02580       goto yybackup;                                    \
02581     }                                                   \
02582   else                                                  \
02583     {                                                   \
02584       yyerror (YY_("syntax error: cannot back up")); \
02585       YYERROR;                                                 \
02586     }                                                   \
02587 while (YYID (0))
02588 
02589 
02590 #define YYTERROR     1
02591 #define YYERRCODE    256
02592 
02593 
02594 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
02595    If N is 0, then set CURRENT to the empty location which ends
02596    the previous symbol: RHS[0] (always defined).  */
02597 
02598 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
02599 #ifndef YYLLOC_DEFAULT
02600 # define YYLLOC_DEFAULT(Current, Rhs, N)                       \
02601     do                                                         \
02602       if (YYID (N))                                                    \
02603        {                                                       \
02604          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;       \
02605          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;     \
02606          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;        \
02607          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;      \
02608        }                                                       \
02609       else                                                     \
02610        {                                                       \
02611          (Current).first_line   = (Current).last_line   =             \
02612            YYRHSLOC (Rhs, 0).last_line;                        \
02613          (Current).first_column = (Current).last_column =             \
02614            YYRHSLOC (Rhs, 0).last_column;                      \
02615        }                                                       \
02616     while (YYID (0))
02617 #endif
02618 
02619 
02620 /* YY_LOCATION_PRINT -- Print the location on the stream.
02621    This macro was not mandated originally: define only if we know
02622    we won't break user code: when these are the locations we know.  */
02623 
02624 #ifndef YY_LOCATION_PRINT
02625 # if YYLTYPE_IS_TRIVIAL
02626 #  define YY_LOCATION_PRINT(File, Loc)                  \
02627      fprintf (File, "%d.%d-%d.%d",               \
02628              (Loc).first_line, (Loc).first_column,      \
02629              (Loc).last_line,  (Loc).last_column)
02630 # else
02631 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
02632 # endif
02633 #endif
02634 
02635 
02636 /* YYLEX -- calling `yylex' with the right arguments.  */
02637 
02638 #ifdef YYLEX_PARAM
02639 # define YYLEX yylex (&yylval, YYLEX_PARAM)
02640 #else
02641 # define YYLEX yylex (&yylval)
02642 #endif
02643 
02644 /* Enable debugging if requested.  */
02645 #if YYDEBUG
02646 
02647 # ifndef YYFPRINTF
02648 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
02649 #  define YYFPRINTF fprintf
02650 # endif
02651 
02652 # define YYDPRINTF(Args)                  \
02653 do {                                      \
02654   if (yydebug)                                   \
02655     YYFPRINTF Args;                       \
02656 } while (YYID (0))
02657 
02658 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                  \
02659 do {                                                             \
02660   if (yydebug)                                                          \
02661     {                                                            \
02662       YYFPRINTF (stderr, "%s ", Title);                                 \
02663       yy_symbol_print (stderr,                                          \
02664                 Type, Value); \
02665       YYFPRINTF (stderr, "\n");                                         \
02666     }                                                            \
02667 } while (YYID (0))
02668 
02669 
02670 /*--------------------------------.
02671 | Print this symbol on YYOUTPUT.  |
02672 `--------------------------------*/
02673 
02674 /*ARGSUSED*/
02675 #if (defined __STDC__ || defined __C99__FUNC__ \
02676      || defined __cplusplus || defined _MSC_VER)
02677 static void
02678 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
02679 #else
02680 static void
02681 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
02682     FILE *yyoutput;
02683     int yytype;
02684     YYSTYPE const * const yyvaluep;
02685 #endif
02686 {
02687   if (!yyvaluep)
02688     return;
02689 # ifdef YYPRINT
02690   if (yytype < YYNTOKENS)
02691     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
02692 # else
02693   YYUSE (yyoutput);
02694 # endif
02695   switch (yytype)
02696     {
02697       default:
02698        break;
02699     }
02700 }
02701 
02702 
02703 /*--------------------------------.
02704 | Print this symbol on YYOUTPUT.  |
02705 `--------------------------------*/
02706 
02707 #if (defined __STDC__ || defined __C99__FUNC__ \
02708      || defined __cplusplus || defined _MSC_VER)
02709 static void
02710 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
02711 #else
02712 static void
02713 yy_symbol_print (yyoutput, yytype, yyvaluep)
02714     FILE *yyoutput;
02715     int yytype;
02716     YYSTYPE const * const yyvaluep;
02717 #endif
02718 {
02719   if (yytype < YYNTOKENS)
02720     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
02721   else
02722     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
02723 
02724   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
02725   YYFPRINTF (yyoutput, ")");
02726 }
02727 
02728 /*------------------------------------------------------------------.
02729 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
02730 | TOP (included).                                                   |
02731 `------------------------------------------------------------------*/
02732 
02733 #if (defined __STDC__ || defined __C99__FUNC__ \
02734      || defined __cplusplus || defined _MSC_VER)
02735 static void
02736 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
02737 #else
02738 static void
02739 yy_stack_print (yybottom, yytop)
02740     yytype_int16 *yybottom;
02741     yytype_int16 *yytop;
02742 #endif
02743 {
02744   YYFPRINTF (stderr, "Stack now");
02745   for (; yybottom <= yytop; yybottom++)
02746     {
02747       int yybot = *yybottom;
02748       YYFPRINTF (stderr, " %d", yybot);
02749     }
02750   YYFPRINTF (stderr, "\n");
02751 }
02752 
02753 # define YY_STACK_PRINT(Bottom, Top)                           \
02754 do {                                                    \
02755   if (yydebug)                                                 \
02756     yy_stack_print ((Bottom), (Top));                          \
02757 } while (YYID (0))
02758 
02759 
02760 /*------------------------------------------------.
02761 | Report that the YYRULE is going to be reduced.  |
02762 `------------------------------------------------*/
02763 
02764 #if (defined __STDC__ || defined __C99__FUNC__ \
02765      || defined __cplusplus || defined _MSC_VER)
02766 static void
02767 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
02768 #else
02769 static void
02770 yy_reduce_print (yyvsp, yyrule)
02771     YYSTYPE *yyvsp;
02772     int yyrule;
02773 #endif
02774 {
02775   int yynrhs = yyr2[yyrule];
02776   int yyi;
02777   unsigned long int yylno = yyrline[yyrule];
02778   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
02779             yyrule - 1, yylno);
02780   /* The symbols being reduced.  */
02781   for (yyi = 0; yyi < yynrhs; yyi++)
02782     {
02783       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
02784       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
02785                      &(yyvsp[(yyi + 1) - (yynrhs)])
02786                                           );
02787       YYFPRINTF (stderr, "\n");
02788     }
02789 }
02790 
02791 # define YY_REDUCE_PRINT(Rule)            \
02792 do {                               \
02793   if (yydebug)                            \
02794     yy_reduce_print (yyvsp, Rule); \
02795 } while (YYID (0))
02796 
02797 /* Nonzero means print parse trace.  It is left uninitialized so that
02798    multiple parsers can coexist.  */
02799 int yydebug;
02800 #else /* !YYDEBUG */
02801 # define YYDPRINTF(Args)
02802 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
02803 # define YY_STACK_PRINT(Bottom, Top)
02804 # define YY_REDUCE_PRINT(Rule)
02805 #endif /* !YYDEBUG */
02806 
02807 
02808 /* YYINITDEPTH -- initial size of the parser's stacks.  */
02809 #ifndef       YYINITDEPTH
02810 # define YYINITDEPTH 200
02811 #endif
02812 
02813 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
02814    if the built-in stack extension method is used).
02815 
02816    Do not make this value too large; the results are undefined if
02817    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
02818    evaluated with infinite-precision integer arithmetic.  */
02819 
02820 #ifndef YYMAXDEPTH
02821 # define YYMAXDEPTH 10000
02822 #endif
02823 
02824 
02825 
02826 #if YYERROR_VERBOSE
02827 
02828 # ifndef yystrlen
02829 #  if defined __GLIBC__ && defined _STRING_H
02830 #   define yystrlen strlen
02831 #  else
02832 /* Return the length of YYSTR.  */
02833 #if (defined __STDC__ || defined __C99__FUNC__ \
02834      || defined __cplusplus || defined _MSC_VER)
02835 static YYSIZE_T
02836 yystrlen (const char *yystr)
02837 #else
02838 static YYSIZE_T
02839 yystrlen (yystr)
02840     const char *yystr;
02841 #endif
02842 {
02843   YYSIZE_T yylen;
02844   for (yylen = 0; yystr[yylen]; yylen++)
02845     continue;
02846   return yylen;
02847 }
02848 #  endif
02849 # endif
02850 
02851 # ifndef yystpcpy
02852 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
02853 #   define yystpcpy stpcpy
02854 #  else
02855 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
02856    YYDEST.  */
02857 #if (defined __STDC__ || defined __C99__FUNC__ \
02858      || defined __cplusplus || defined _MSC_VER)
02859 static char *
02860 yystpcpy (char *yydest, const char *yysrc)
02861 #else
02862 static char *
02863 yystpcpy (yydest, yysrc)
02864     char *yydest;
02865     const char *yysrc;
02866 #endif
02867 {
02868   char *yyd = yydest;
02869   const char *yys = yysrc;
02870 
02871   while ((*yyd++ = *yys++) != '\0')
02872     continue;
02873 
02874   return yyd - 1;
02875 }
02876 #  endif
02877 # endif
02878 
02879 # ifndef yytnamerr
02880 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
02881    quotes and backslashes, so that it's suitable for yyerror.  The
02882    heuristic is that double-quoting is unnecessary unless the string
02883    contains an apostrophe, a comma, or backslash (other than
02884    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
02885    null, do not copy; instead, return the length of what the result
02886    would have been.  */
02887 static YYSIZE_T
02888 yytnamerr (char *yyres, const char *yystr)
02889 {
02890   if (*yystr == '"')
02891     {
02892       YYSIZE_T yyn = 0;
02893       char const *yyp = yystr;
02894 
02895       for (;;)
02896        switch (*++yyp)
02897          {
02898          case '\'':
02899          case ',':
02900            goto do_not_strip_quotes;
02901 
02902          case '\\':
02903            if (*++yyp != '\\')
02904              goto do_not_strip_quotes;
02905            /* Fall through.  */
02906          default:
02907            if (yyres)
02908              yyres[yyn] = *yyp;
02909            yyn++;
02910            break;
02911 
02912          case '"':
02913            if (yyres)
02914              yyres[yyn] = '\0';
02915            return yyn;
02916          }
02917     do_not_strip_quotes: ;
02918     }
02919 
02920   if (! yyres)
02921     return yystrlen (yystr);
02922 
02923   return yystpcpy (yyres, yystr) - yyres;
02924 }
02925 # endif
02926 
02927 /* Copy into YYRESULT an error message about the unexpected token
02928    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
02929    including the terminating null byte.  If YYRESULT is null, do not
02930    copy anything; just return the number of bytes that would be
02931    copied.  As a special case, return 0 if an ordinary "syntax error"
02932    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
02933    size calculation.  */
02934 static YYSIZE_T
02935 yysyntax_error (char *yyresult, int yystate, int yychar)
02936 {
02937   int yyn = yypact[yystate];
02938 
02939   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
02940     return 0;
02941   else
02942     {
02943       int yytype = YYTRANSLATE (yychar);
02944       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
02945       YYSIZE_T yysize = yysize0;
02946       YYSIZE_T yysize1;
02947       int yysize_overflow = 0;
02948       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
02949       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
02950       int yyx;
02951 
02952 # if 0
02953       /* This is so xgettext sees the translatable formats that are
02954         constructed on the fly.  */
02955       YY_("syntax error, unexpected %s");
02956       YY_("syntax error, unexpected %s, expecting %s");
02957       YY_("syntax error, unexpected %s, expecting %s or %s");
02958       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
02959       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
02960 # endif
02961       char *yyfmt;
02962       char const *yyf;
02963       static char const yyunexpected[] = "syntax error, unexpected %s";
02964       static char const yyexpecting[] = ", expecting %s";
02965       static char const yyor[] = " or %s";
02966       char yyformat[sizeof yyunexpected
02967                   + sizeof yyexpecting - 1
02968                   + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
02969                      * (sizeof yyor - 1))];
02970       char const *yyprefix = yyexpecting;
02971 
02972       /* Start YYX at -YYN if negative to avoid negative indexes in
02973         YYCHECK.  */
02974       int yyxbegin = yyn < 0 ? -yyn : 0;
02975 
02976       /* Stay within bounds of both yycheck and yytname.  */
02977       int yychecklim = YYLAST - yyn + 1;
02978       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
02979       int yycount = 1;
02980 
02981       yyarg[0] = yytname[yytype];
02982       yyfmt = yystpcpy (yyformat, yyunexpected);
02983 
02984       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
02985        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
02986          {
02987            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
02988              {
02989               yycount = 1;
02990               yysize = yysize0;
02991               yyformat[sizeof yyunexpected - 1] = '\0';
02992               break;
02993              }
02994            yyarg[yycount++] = yytname[yyx];
02995            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
02996            yysize_overflow |= (yysize1 < yysize);
02997            yysize = yysize1;
02998            yyfmt = yystpcpy (yyfmt, yyprefix);
02999            yyprefix = yyor;
03000          }
03001 
03002       yyf = YY_(yyformat);
03003       yysize1 = yysize + yystrlen (yyf);
03004       yysize_overflow |= (yysize1 < yysize);
03005       yysize = yysize1;
03006 
03007       if (yysize_overflow)
03008        return YYSIZE_MAXIMUM;
03009 
03010       if (yyresult)
03011        {
03012          /* Avoid sprintf, as that infringes on the user's name space.
03013             Don't have undefined behavior even if the translation
03014             produced a string with the wrong number of "%s"s.  */
03015          char *yyp = yyresult;
03016          int yyi = 0;
03017          while ((*yyp = *yyf) != '\0')
03018            {
03019              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
03020               {
03021                 yyp += yytnamerr (yyp, yyarg[yyi++]);
03022                 yyf += 2;
03023               }
03024              else
03025               {
03026                 yyp++;
03027                 yyf++;
03028               }
03029            }
03030        }
03031       return yysize;
03032     }
03033 }
03034 #endif /* YYERROR_VERBOSE */
03035 
03036 
03037 /*-----------------------------------------------.
03038 | Release the memory associated to this symbol.  |
03039 `-----------------------------------------------*/
03040 
03041 /*ARGSUSED*/
03042 #if (defined __STDC__ || defined __C99__FUNC__ \
03043      || defined __cplusplus || defined _MSC_VER)
03044 static void
03045 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
03046 #else
03047 static void
03048 yydestruct (yymsg, yytype, yyvaluep)
03049     const char *yymsg;
03050     int yytype;
03051     YYSTYPE *yyvaluep;
03052 #endif
03053 {
03054   YYUSE (yyvaluep);
03055 
03056   if (!yymsg)
03057     yymsg = "Deleting";
03058   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
03059 
03060   switch (yytype)
03061     {
03062 
03063       default:
03064        break;
03065     }
03066 }
03067 
03068 /* Prevent warnings from -Wmissing-prototypes.  */
03069 #ifdef YYPARSE_PARAM
03070 #if defined __STDC__ || defined __cplusplus
03071 int yyparse (void *YYPARSE_PARAM);
03072 #else
03073 int yyparse ();
03074 #endif
03075 #else /* ! YYPARSE_PARAM */
03076 #if defined __STDC__ || defined __cplusplus
03077 int yyparse (void);
03078 #else
03079 int yyparse ();
03080 #endif
03081 #endif /* ! YYPARSE_PARAM */
03082 
03083 
03084 
03085 
03086 
03087 /*-------------------------.
03088 | yyparse or yypush_parse.  |
03089 `-------------------------*/
03090 
03091 #ifdef YYPARSE_PARAM
03092 #if (defined __STDC__ || defined __C99__FUNC__ \
03093      || defined __cplusplus || defined _MSC_VER)
03094 int
03095 yyparse (void *YYPARSE_PARAM)
03096 #else
03097 int
03098 yyparse (YYPARSE_PARAM)
03099     void *YYPARSE_PARAM;
03100 #endif
03101 #else /* ! YYPARSE_PARAM */
03102 #if (defined __STDC__ || defined __C99__FUNC__ \
03103      || defined __cplusplus || defined _MSC_VER)
03104 int
03105 yyparse (void)
03106 #else
03107 int
03108 yyparse ()
03109 
03110 #endif
03111 #endif
03112 {
03113 /* The lookahead symbol.  */
03114 int yychar;
03115 
03116 /* The semantic value of the lookahead symbol.  */
03117 YYSTYPE yylval;
03118 
03119     /* Number of syntax errors so far.  */
03120     int yynerrs;
03121 
03122     int yystate;
03123     /* Number of tokens to shift before error messages enabled.  */
03124     int yyerrstatus;
03125 
03126     /* The stacks and their tools:
03127        `yyss': related to states.
03128        `yyvs': related to semantic values.
03129 
03130        Refer to the stacks thru separate pointers, to allow yyoverflow
03131        to reallocate them elsewhere.  */
03132 
03133     /* The state stack.  */
03134     yytype_int16 yyssa[YYINITDEPTH];
03135     yytype_int16 *yyss;
03136     yytype_int16 *yyssp;
03137 
03138     /* The semantic value stack.  */
03139     YYSTYPE yyvsa[YYINITDEPTH];
03140     YYSTYPE *yyvs;
03141     YYSTYPE *yyvsp;
03142 
03143     YYSIZE_T yystacksize;
03144 
03145   int yyn;
03146   int yyresult;
03147   /* Lookahead token as an internal (translated) token number.  */
03148   int yytoken;
03149   /* The variables used to return semantic value and location from the
03150      action routines.  */
03151   YYSTYPE yyval;
03152 
03153 #if YYERROR_VERBOSE
03154   /* Buffer for error messages, and its allocated size.  */
03155   char yymsgbuf[128];
03156   char *yymsg = yymsgbuf;
03157   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
03158 #endif
03159 
03160 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
03161 
03162   /* The number of symbols on the RHS of the reduced rule.
03163      Keep to zero when no symbol should be popped.  */
03164   int yylen = 0;
03165 
03166   yytoken = 0;
03167   yyss = yyssa;
03168   yyvs = yyvsa;
03169   yystacksize = YYINITDEPTH;
03170 
03171   YYDPRINTF ((stderr, "Starting parse\n"));
03172 
03173   yystate = 0;
03174   yyerrstatus = 0;
03175   yynerrs = 0;
03176   yychar = YYEMPTY; /* Cause a token to be read.  */
03177 
03178   /* Initialize stack pointers.
03179      Waste one element of value and location stack
03180      so that they stay on the same level as the state stack.
03181      The wasted elements are never initialized.  */
03182   yyssp = yyss;
03183   yyvsp = yyvs;
03184 
03185   goto yysetstate;
03186 
03187 /*------------------------------------------------------------.
03188 | yynewstate -- Push a new state, which is found in yystate.  |
03189 `------------------------------------------------------------*/
03190  yynewstate:
03191   /* In all cases, when you get here, the value and location stacks
03192      have just been pushed.  So pushing a state here evens the stacks.  */
03193   yyssp++;
03194 
03195  yysetstate:
03196   *yyssp = yystate;
03197 
03198   if (yyss + yystacksize - 1 <= yyssp)
03199     {
03200       /* Get the current used size of the three stacks, in elements.  */
03201       YYSIZE_T yysize = yyssp - yyss + 1;
03202 
03203 #ifdef yyoverflow
03204       {
03205        /* Give user a chance to reallocate the stack.  Use copies of
03206           these so that the &'s don't force the real ones into
03207           memory.  */
03208        YYSTYPE *yyvs1 = yyvs;
03209        yytype_int16 *yyss1 = yyss;
03210 
03211        /* Each stack pointer address is followed by the size of the
03212           data in use in that stack, in bytes.  This used to be a
03213           conditional around just the two extra args, but that might
03214           be undefined if yyoverflow is a macro.  */
03215        yyoverflow (YY_("memory exhausted"),
03216                   &yyss1, yysize * sizeof (*yyssp),
03217                   &yyvs1, yysize * sizeof (*yyvsp),
03218                   &yystacksize);
03219 
03220        yyss = yyss1;
03221        yyvs = yyvs1;
03222       }
03223 #else /* no yyoverflow */
03224 # ifndef YYSTACK_RELOCATE
03225       goto yyexhaustedlab;
03226 # else
03227       /* Extend the stack our own way.  */
03228       if (YYMAXDEPTH <= yystacksize)
03229        goto yyexhaustedlab;
03230       yystacksize *= 2;
03231       if (YYMAXDEPTH < yystacksize)
03232        yystacksize = YYMAXDEPTH;
03233 
03234       {
03235        yytype_int16 *yyss1 = yyss;
03236        union yyalloc *yyptr =
03237          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
03238        if (! yyptr)
03239          goto yyexhaustedlab;
03240        YYSTACK_RELOCATE (yyss_alloc, yyss);
03241        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
03242 #  undef YYSTACK_RELOCATE
03243        if (yyss1 != yyssa)
03244          YYSTACK_FREE (yyss1);
03245       }
03246 # endif
03247 #endif /* no yyoverflow */
03248 
03249       yyssp = yyss + yysize - 1;
03250       yyvsp = yyvs + yysize - 1;
03251 
03252       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
03253                 (unsigned long int) yystacksize));
03254 
03255       if (yyss + yystacksize - 1 <= yyssp)
03256        YYABORT;
03257     }
03258 
03259   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
03260 
03261   if (yystate == YYFINAL)
03262     YYACCEPT;
03263 
03264   goto yybackup;
03265 
03266 /*-----------.
03267 | yybackup.  |
03268 `-----------*/
03269 yybackup:
03270 
03271   /* Do appropriate processing given the current state.  Read a
03272      lookahead token if we need one and don't already have one.  */
03273 
03274   /* First try to decide what to do without reference to lookahead token.  */
03275   yyn = yypact[yystate];
03276   if (yyn == YYPACT_NINF)
03277     goto yydefault;
03278 
03279   /* Not known => get a lookahead token if don't already have one.  */
03280 
03281   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
03282   if (yychar == YYEMPTY)
03283     {
03284       YYDPRINTF ((stderr, "Reading a token: "));
03285       yychar = YYLEX;
03286     }
03287 
03288   if (yychar <= YYEOF)
03289     {
03290       yychar = yytoken = YYEOF;
03291       YYDPRINTF ((stderr, "Now at end of input.\n"));
03292     }
03293   else
03294     {
03295       yytoken = YYTRANSLATE (yychar);
03296       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
03297     }
03298 
03299   /* If the proper action on seeing token YYTOKEN is to reduce or to
03300      detect an error, take that action.  */
03301   yyn += yytoken;
03302   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
03303     goto yydefault;
03304   yyn = yytable[yyn];
03305   if (yyn <= 0)
03306     {
03307       if (yyn == 0 || yyn == YYTABLE_NINF)
03308        goto yyerrlab;
03309       yyn = -yyn;
03310       goto yyreduce;
03311     }
03312 
03313   /* Count tokens shifted since error; after three, turn off error
03314      status.  */
03315   if (yyerrstatus)
03316     yyerrstatus--;
03317 
03318   /* Shift the lookahead token.  */
03319   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
03320 
03321   /* Discard the shifted token.  */
03322   yychar = YYEMPTY;
03323 
03324   yystate = yyn;
03325   *++yyvsp = yylval;
03326 
03327   goto yynewstate;
03328 
03329 
03330 /*-----------------------------------------------------------.
03331 | yydefault -- do the default action for the current state.  |
03332 `-----------------------------------------------------------*/
03333 yydefault:
03334   yyn = yydefact[yystate];
03335   if (yyn == 0)
03336     goto yyerrlab;
03337   goto yyreduce;
03338 
03339 
03340 /*-----------------------------.
03341 | yyreduce -- Do a reduction.  |
03342 `-----------------------------*/
03343 yyreduce:
03344   /* yyn is the number of a rule to reduce with.  */
03345   yylen = yyr2[yyn];
03346 
03347   /* If YYLEN is nonzero, implement the default value of the action:
03348      `$$ = $1'.
03349 
03350      Otherwise, the following line sets YYVAL to garbage.
03351      This behavior is undocumented and Bison
03352      users should not rely upon it.  Assigning to YYVAL
03353      unconditionally makes the parser a bit smaller, and it avoids a
03354      GCC warning that YYVAL may be used uninitialized.  */
03355   yyval = yyvsp[1-yylen];
03356 
03357 
03358   YY_REDUCE_PRINT (yyn);
03359   switch (yyn)
03360     {
03361         case 2:
03362 
03363     { zend_do_end_compilation(TSRMLS_C); }
03364     break;
03365 
03366   case 3:
03367 
03368     { zend_do_extended_info(TSRMLS_C); }
03369     break;
03370 
03371   case 4:
03372 
03373     { HANDLE_INTERACTIVE(); }
03374     break;
03375 
03376   case 6:
03377 
03378     { (yyval) = (yyvsp[(1) - (1)]); }
03379     break;
03380 
03381   case 7:
03382 
03383     { zend_do_build_namespace_name(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
03384     break;
03385 
03386   case 8:
03387 
03388     { zend_verify_namespace(TSRMLS_C); }
03389     break;
03390 
03391   case 9:
03392 
03393     { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); }
03394     break;
03395 
03396   case 10:
03397 
03398     { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); }
03399     break;
03400 
03401   case 11:
03402 
03403     { zend_do_halt_compiler_register(TSRMLS_C); YYACCEPT; }
03404     break;
03405 
03406   case 12:
03407 
03408     { zend_do_begin_namespace(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
03409     break;
03410 
03411   case 13:
03412 
03413     { zend_do_begin_namespace(&(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
03414     break;
03415 
03416   case 14:
03417 
03418     { zend_do_end_namespace(TSRMLS_C); }
03419     break;
03420 
03421   case 15:
03422 
03423     { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); }
03424     break;
03425 
03426   case 16:
03427 
03428     { zend_do_end_namespace(TSRMLS_C); }
03429     break;
03430 
03431   case 17:
03432 
03433     { zend_verify_namespace(TSRMLS_C); }
03434     break;
03435 
03436   case 18:
03437 
03438     { zend_verify_namespace(TSRMLS_C); }
03439     break;
03440 
03441   case 21:
03442 
03443     { zend_do_use(&(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); }
03444     break;
03445 
03446   case 22:
03447 
03448     { zend_do_use(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
03449     break;
03450 
03451   case 23:
03452 
03453     { zend_do_use(&(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); }
03454     break;
03455 
03456   case 24:
03457 
03458     { zend_do_use(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
03459     break;
03460 
03461   case 25:
03462 
03463     { zend_do_declare_constant(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
03464     break;
03465 
03466   case 26:
03467 
03468     { zend_do_declare_constant(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
03469     break;
03470 
03471   case 27:
03472 
03473     { zend_do_extended_info(TSRMLS_C); }
03474     break;
03475 
03476   case 28:
03477 
03478     { HANDLE_INTERACTIVE(); }
03479     break;
03480 
03481   case 33:
03482 
03483     { zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope"); }
03484     break;
03485 
03486   case 34:
03487 
03488     { DO_TICKS(); }
03489     break;
03490 
03491   case 35:
03492 
03493     { zend_do_label(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
03494     break;
03495 
03496   case 37:
03497 
03498     { zend_do_if_cond(&(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
03499     break;
03500 
03501   case 38:
03502 
03503     { zend_do_if_after_statement(&(yyvsp[(4) - (6)]), 1 TSRMLS_CC); }
03504     break;
03505 
03506   case 39:
03507 
03508     { zend_do_if_end(TSRMLS_C); }
03509     break;
03510 
03511   case 40:
03512 
03513     { zend_do_if_cond(&(yyvsp[(3) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
03514     break;
03515 
03516   case 41:
03517 
03518     { zend_do_if_after_statement(&(yyvsp[(4) - (7)]), 1 TSRMLS_CC); }
03519     break;
03520 
03521   case 42:
03522 
03523     { zend_do_if_end(TSRMLS_C); }
03524     break;
03525 
03526   case 43:
03527 
03528     { (yyvsp[(1) - (2)]).u.opline_num = get_next_op_number(CG(active_op_array));  }
03529     break;
03530 
03531   case 44:
03532 
03533     { zend_do_while_cond(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
03534     break;
03535 
03536   case 45:
03537 
03538     { zend_do_while_end(&(yyvsp[(1) - (7)]), &(yyvsp[(5) - (7)]) TSRMLS_CC); }
03539     break;
03540 
03541   case 46:
03542 
03543     { (yyvsp[(1) - (1)]).u.opline_num = get_next_op_number(CG(active_op_array));  zend_do_do_while_begin(TSRMLS_C); }
03544     break;
03545 
03546   case 47:
03547 
03548     { (yyvsp[(5) - (5)]).u.opline_num = get_next_op_number(CG(active_op_array)); }
03549     break;
03550 
03551   case 48:
03552 
03553     { zend_do_do_while_end(&(yyvsp[(1) - (9)]), &(yyvsp[(5) - (9)]), &(yyvsp[(7) - (9)]) TSRMLS_CC); }
03554     break;
03555 
03556   case 49:
03557 
03558     { zend_do_free(&(yyvsp[(3) - (4)]) TSRMLS_CC); (yyvsp[(4) - (4)]).u.opline_num = get_next_op_number(CG(active_op_array)); }
03559     break;
03560 
03561   case 50:
03562 
03563     { zend_do_extended_info(TSRMLS_C); zend_do_for_cond(&(yyvsp[(6) - (7)]), &(yyvsp[(7) - (7)]) TSRMLS_CC); }
03564     break;
03565 
03566   case 51:
03567 
03568     { zend_do_free(&(yyvsp[(9) - (10)]) TSRMLS_CC); zend_do_for_before_statement(&(yyvsp[(4) - (10)]), &(yyvsp[(7) - (10)]) TSRMLS_CC); }
03569     break;
03570 
03571   case 52:
03572 
03573     { zend_do_for_end(&(yyvsp[(7) - (12)]) TSRMLS_CC); }
03574     break;
03575 
03576   case 53:
03577 
03578     { zend_do_switch_cond(&(yyvsp[(3) - (4)]) TSRMLS_CC); }
03579     break;
03580 
03581   case 54:
03582 
03583     { zend_do_switch_end(&(yyvsp[(6) - (6)]) TSRMLS_CC); }
03584     break;
03585 
03586   case 55:
03587 
03588     { zend_do_brk_cont(ZEND_BRK, NULL TSRMLS_CC); }
03589     break;
03590 
03591   case 56:
03592 
03593     { zend_do_brk_cont(ZEND_BRK, &(yyvsp[(2) - (3)]) TSRMLS_CC); }
03594     break;
03595 
03596   case 57:
03597 
03598     { zend_do_brk_cont(ZEND_CONT, NULL TSRMLS_CC); }
03599     break;
03600 
03601   case 58:
03602 
03603     { zend_do_brk_cont(ZEND_CONT, &(yyvsp[(2) - (3)]) TSRMLS_CC); }
03604     break;
03605 
03606   case 59:
03607 
03608     { zend_do_return(NULL, 0 TSRMLS_CC); }
03609     break;
03610 
03611   case 60:
03612 
03613     { zend_do_return(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
03614     break;
03615 
03616   case 61:
03617 
03618     { zend_do_return(&(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
03619     break;
03620 
03621   case 65:
03622 
03623     { zend_do_echo(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
03624     break;
03625 
03626   case 66:
03627 
03628     { zend_do_free(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
03629     break;
03630 
03631   case 68:
03632 
03633     { zend_do_foreach_begin(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
03634     break;
03635 
03636   case 69:
03637 
03638     { zend_do_foreach_cont(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]), &(yyvsp[(4) - (8)]), &(yyvsp[(6) - (8)]), &(yyvsp[(7) - (8)]) TSRMLS_CC); }
03639     break;
03640 
03641   case 70:
03642 
03643     { zend_do_foreach_end(&(yyvsp[(1) - (10)]), &(yyvsp[(4) - (10)]) TSRMLS_CC); }
03644     break;
03645 
03646   case 71:
03647 
03648     { zend_do_foreach_begin(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]), 0 TSRMLS_CC); }
03649     break;
03650 
03651   case 72:
03652 
03653     { zend_check_writable_variable(&(yyvsp[(6) - (8)])); zend_do_foreach_cont(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]), &(yyvsp[(4) - (8)]), &(yyvsp[(6) - (8)]), &(yyvsp[(7) - (8)]) TSRMLS_CC); }
03654     break;
03655 
03656   case 73:
03657 
03658     { zend_do_foreach_end(&(yyvsp[(1) - (10)]), &(yyvsp[(4) - (10)]) TSRMLS_CC); }
03659     break;
03660 
03661   case 74:
03662 
03663     { (yyvsp[(1) - (1)]).u.opline_num = get_next_op_number(CG(active_op_array)); zend_do_declare_begin(TSRMLS_C); }
03664     break;
03665 
03666   case 75:
03667 
03668     { zend_do_declare_end(&(yyvsp[(1) - (6)]) TSRMLS_CC); }
03669     break;
03670 
03671   case 77:
03672 
03673     { zend_do_try(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
03674     break;
03675 
03676   case 78:
03677 
03678     { zend_initialize_try_catch_element(&(yyvsp[(1) - (7)]) TSRMLS_CC); }
03679     break;
03680 
03681   case 79:
03682 
03683     { zend_do_first_catch(&(yyvsp[(7) - (9)]) TSRMLS_CC); }
03684     break;
03685 
03686   case 80:
03687 
03688     { zend_do_begin_catch(&(yyvsp[(1) - (12)]), &(yyvsp[(9) - (12)]), &(yyvsp[(11) - (12)]), &(yyvsp[(7) - (12)]) TSRMLS_CC); }
03689     break;
03690 
03691   case 81:
03692 
03693     { zend_do_end_catch(&(yyvsp[(1) - (16)]) TSRMLS_CC); }
03694     break;
03695 
03696   case 82:
03697 
03698     { zend_do_mark_last_catch(&(yyvsp[(7) - (18)]), &(yyvsp[(18) - (18)]) TSRMLS_CC); }
03699     break;
03700 
03701   case 83:
03702 
03703     { zend_do_throw(&(yyvsp[(2) - (3)]) TSRMLS_CC); }
03704     break;
03705 
03706   case 84:
03707 
03708     { zend_do_goto(&(yyvsp[(2) - (3)]) TSRMLS_CC); }
03709     break;
03710 
03711   case 85:
03712 
03713     { (yyval) = (yyvsp[(1) - (1)]); }
03714     break;
03715 
03716   case 86:
03717 
03718     { (yyval).u.opline_num = -1; }
03719     break;
03720 
03721   case 87:
03722 
03723     { (yyval) = (yyvsp[(1) - (1)]); }
03724     break;
03725 
03726   case 88:
03727 
03728     { (yyval) = (yyvsp[(2) - (2)]); }
03729     break;
03730 
03731   case 89:
03732 
03733     { (yyval).u.opline_num = get_next_op_number(CG(active_op_array)); }
03734     break;
03735 
03736   case 90:
03737 
03738     { zend_do_begin_catch(&(yyvsp[(1) - (6)]), &(yyvsp[(3) - (6)]), &(yyvsp[(5) - (6)]), NULL TSRMLS_CC); }
03739     break;
03740 
03741   case 91:
03742 
03743     { zend_do_end_catch(&(yyvsp[(1) - (10)]) TSRMLS_CC); }
03744     break;
03745 
03746   case 94:
03747 
03748     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
03749     break;
03750 
03751   case 95:
03752 
03753     { DO_TICKS(); }
03754     break;
03755 
03756   case 96:
03757 
03758     { DO_TICKS(); }
03759     break;
03760 
03761   case 97:
03762 
03763     { (yyval).op_type = ZEND_RETURN_VAL; }
03764     break;
03765 
03766   case 98:
03767 
03768     { (yyval).op_type = ZEND_RETURN_REF; }
03769     break;
03770 
03771   case 99:
03772 
03773     { zend_do_begin_function_declaration(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0, (yyvsp[(2) - (3)]).op_type, NULL TSRMLS_CC); }
03774     break;
03775 
03776   case 100:
03777 
03778     { zend_do_end_function_declaration(&(yyvsp[(1) - (10)]) TSRMLS_CC); }
03779     break;
03780 
03781   case 101:
03782 
03783     { zend_do_begin_class_declaration(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
03784     break;
03785 
03786   case 102:
03787 
03788     { zend_do_end_class_declaration(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]) TSRMLS_CC); }
03789     break;
03790 
03791   case 103:
03792 
03793     { zend_do_begin_class_declaration(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]), NULL TSRMLS_CC); }
03794     break;
03795 
03796   case 104:
03797 
03798     { zend_do_end_class_declaration(&(yyvsp[(1) - (7)]), &(yyvsp[(2) - (7)]) TSRMLS_CC); }
03799     break;
03800 
03801   case 105:
03802 
03803     { (yyval).u.opline_num = CG(zend_lineno); (yyval).u.EA.type = 0; }
03804     break;
03805 
03806   case 106:
03807 
03808     { (yyval).u.opline_num = CG(zend_lineno); (yyval).u.EA.type = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
03809     break;
03810 
03811   case 107:
03812 
03813     { (yyval).u.opline_num = CG(zend_lineno); (yyval).u.EA.type = ZEND_ACC_FINAL_CLASS; }
03814     break;
03815 
03816   case 108:
03817 
03818     { (yyval).op_type = IS_UNUSED; }
03819     break;
03820 
03821   case 109:
03822 
03823     { zend_do_fetch_class(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
03824     break;
03825 
03826   case 110:
03827 
03828     { (yyval).u.opline_num = CG(zend_lineno); (yyval).u.EA.type = ZEND_ACC_INTERFACE; }
03829     break;
03830 
03831   case 115:
03832 
03833     { zend_do_implements_interface(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
03834     break;
03835 
03836   case 116:
03837 
03838     { zend_do_implements_interface(&(yyvsp[(3) - (3)]) TSRMLS_CC); }
03839     break;
03840 
03841   case 117:
03842 
03843     { (yyval).op_type = IS_UNUSED; }
03844     break;
03845 
03846   case 118:
03847 
03848     { (yyval) = (yyvsp[(2) - (2)]); }
03849     break;
03850 
03851   case 119:
03852 
03853     { zend_check_writable_variable(&(yyvsp[(1) - (1)])); (yyval) = (yyvsp[(1) - (1)]); }
03854     break;
03855 
03856   case 120:
03857 
03858     { zend_check_writable_variable(&(yyvsp[(2) - (2)])); (yyval) = (yyvsp[(2) - (2)]);  (yyval).u.EA.type |= ZEND_PARSED_REFERENCE_VARIABLE; }
03859     break;
03860 
03861   case 127:
03862 
03863     { zend_do_declare_stmt(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
03864     break;
03865 
03866   case 128:
03867 
03868     { zend_do_declare_stmt(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
03869     break;
03870 
03871   case 129:
03872 
03873     { (yyval) = (yyvsp[(2) - (3)]); }
03874     break;
03875 
03876   case 130:
03877 
03878     { (yyval) = (yyvsp[(3) - (4)]); }
03879     break;
03880 
03881   case 131:
03882 
03883     { (yyval) = (yyvsp[(2) - (4)]); }
03884     break;
03885 
03886   case 132:
03887 
03888     { (yyval) = (yyvsp[(3) - (5)]); }
03889     break;
03890 
03891   case 133:
03892 
03893     { (yyval).op_type = IS_UNUSED; }
03894     break;
03895 
03896   case 134:
03897 
03898     { zend_do_extended_info(TSRMLS_C);  zend_do_case_before_statement(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
03899     break;
03900 
03901   case 135:
03902 
03903     { zend_do_case_after_statement(&(yyval), &(yyvsp[(2) - (6)]) TSRMLS_CC); (yyval).op_type = IS_CONST; }
03904     break;
03905 
03906   case 136:
03907 
03908     { zend_do_extended_info(TSRMLS_C);  zend_do_default_before_statement(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]) TSRMLS_CC); }
03909     break;
03910 
03911   case 137:
03912 
03913     { zend_do_case_after_statement(&(yyval), &(yyvsp[(2) - (5)]) TSRMLS_CC); (yyval).op_type = IS_CONST; }
03914     break;
03915 
03916   case 143:
03917 
03918     { zend_do_if_cond(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
03919     break;
03920 
03921   case 144:
03922 
03923     { zend_do_if_after_statement(&(yyvsp[(5) - (7)]), 0 TSRMLS_CC); }
03924     break;
03925 
03926   case 146:
03927 
03928     { zend_do_if_cond(&(yyvsp[(4) - (6)]), &(yyvsp[(5) - (6)]) TSRMLS_CC); }
03929     break;
03930 
03931   case 147:
03932 
03933     { zend_do_if_after_statement(&(yyvsp[(5) - (8)]), 0 TSRMLS_CC); }
03934     break;
03935 
03936   case 154:
03937 
03938     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(2) - (2)]), 0 TSRMLS_CC); (yyval).op_type = IS_CONST; Z_LVAL((yyval).u.constant)=1; Z_TYPE((yyval).u.constant)=IS_LONG; INIT_PZVAL(&(yyval).u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &(yyval), NULL, &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]), 0 TSRMLS_CC); }
03939     break;
03940 
03941   case 155:
03942 
03943     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(3) - (3)]), 0 TSRMLS_CC); (yyval).op_type = IS_CONST; Z_LVAL((yyval).u.constant)=1; Z_TYPE((yyval).u.constant)=IS_LONG; INIT_PZVAL(&(yyval).u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &(yyval), NULL, &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 1 TSRMLS_CC); }
03944     break;
03945 
03946   case 156:
03947 
03948     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(3) - (5)]), 0 TSRMLS_CC); (yyval).op_type = IS_CONST; Z_LVAL((yyval).u.constant)=1; Z_TYPE((yyval).u.constant)=IS_LONG; INIT_PZVAL(&(yyval).u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), 1 TSRMLS_CC); }
03949     break;
03950 
03951   case 157:
03952 
03953     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(2) - (4)]), 0 TSRMLS_CC); (yyval).op_type = IS_CONST; Z_LVAL((yyval).u.constant)=1; Z_TYPE((yyval).u.constant)=IS_LONG; INIT_PZVAL(&(yyval).u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), 0 TSRMLS_CC); }
03954     break;
03955 
03956   case 158:
03957 
03958     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(4) - (4)]), 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (4)]); Z_LVAL((yyval).u.constant)++; zend_do_receive_arg(ZEND_RECV, &tmp, &(yyval), NULL, &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]), 0 TSRMLS_CC); }
03959     break;
03960 
03961   case 159:
03962 
03963     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(5) - (5)]), 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (5)]); Z_LVAL((yyval).u.constant)++; zend_do_receive_arg(ZEND_RECV, &tmp, &(yyval), NULL, &(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]), 1 TSRMLS_CC); }
03964     break;
03965 
03966   case 160:
03967 
03968     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(5) - (7)]), 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (7)]); Z_LVAL((yyval).u.constant)++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &(yyval), &(yyvsp[(7) - (7)]), &(yyvsp[(3) - (7)]), &(yyvsp[(5) - (7)]), 1 TSRMLS_CC); }
03969     break;
03970 
03971   case 161:
03972 
03973     { znode tmp;  fetch_simple_variable(&tmp, &(yyvsp[(4) - (6)]), 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (6)]); Z_LVAL((yyval).u.constant)++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), &(yyvsp[(4) - (6)]), 0 TSRMLS_CC); }
03974     break;
03975 
03976   case 162:
03977 
03978     { (yyval).op_type = IS_UNUSED; }
03979     break;
03980 
03981   case 163:
03982 
03983     { (yyval) = (yyvsp[(1) - (1)]); }
03984     break;
03985 
03986   case 164:
03987 
03988     { (yyval).op_type = IS_CONST; Z_TYPE((yyval).u.constant)=IS_NULL;}
03989     break;
03990 
03991   case 165:
03992 
03993     { (yyval) = (yyvsp[(1) - (1)]); }
03994     break;
03995 
03996   case 166:
03997 
03998     { Z_LVAL((yyval).u.constant) = 0; }
03999     break;
04000 
04001   case 167:
04002 
04003     { Z_LVAL((yyval).u.constant) = 1;  zend_do_pass_param(&(yyvsp[(1) - (1)]), ZEND_SEND_VAL, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04004     break;
04005 
04006   case 168:
04007 
04008     { Z_LVAL((yyval).u.constant) = 1;  zend_do_pass_param(&(yyvsp[(1) - (1)]), ZEND_SEND_VAR, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04009     break;
04010 
04011   case 169:
04012 
04013     { Z_LVAL((yyval).u.constant) = 1;  zend_do_pass_param(&(yyvsp[(2) - (2)]), ZEND_SEND_REF, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04014     break;
04015 
04016   case 170:
04017 
04018     { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (3)]).u.constant)+1;  zend_do_pass_param(&(yyvsp[(3) - (3)]), ZEND_SEND_VAL, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04019     break;
04020 
04021   case 171:
04022 
04023     { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (3)]).u.constant)+1;  zend_do_pass_param(&(yyvsp[(3) - (3)]), ZEND_SEND_VAR, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04024     break;
04025 
04026   case 172:
04027 
04028     { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (4)]).u.constant)+1;  zend_do_pass_param(&(yyvsp[(4) - (4)]), ZEND_SEND_REF, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
04029     break;
04030 
04031   case 173:
04032 
04033     { zend_do_fetch_global_variable(&(yyvsp[(3) - (3)]), NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); }
04034     break;
04035 
04036   case 174:
04037 
04038     { zend_do_fetch_global_variable(&(yyvsp[(1) - (1)]), NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); }
04039     break;
04040 
04041   case 175:
04042 
04043     { (yyval) = (yyvsp[(1) - (1)]); }
04044     break;
04045 
04046   case 176:
04047 
04048     { (yyval) = (yyvsp[(2) - (2)]); }
04049     break;
04050 
04051   case 177:
04052 
04053     { (yyval) = (yyvsp[(3) - (4)]); }
04054     break;
04055 
04056   case 178:
04057 
04058     { zend_do_fetch_static_variable(&(yyvsp[(3) - (3)]), NULL, ZEND_FETCH_STATIC TSRMLS_CC); }
04059     break;
04060 
04061   case 179:
04062 
04063     { zend_do_fetch_static_variable(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]), ZEND_FETCH_STATIC TSRMLS_CC); }
04064     break;
04065 
04066   case 180:
04067 
04068     { zend_do_fetch_static_variable(&(yyvsp[(1) - (1)]), NULL, ZEND_FETCH_STATIC TSRMLS_CC); }
04069     break;
04070 
04071   case 181:
04072 
04073     { zend_do_fetch_static_variable(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_FETCH_STATIC TSRMLS_CC); }
04074     break;
04075 
04076   case 184:
04077 
04078     { CG(access_type) = Z_LVAL((yyvsp[(1) - (1)]).u.constant); }
04079     break;
04080 
04081   case 187:
04082 
04083     { zend_do_begin_function_declaration(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]), 1, (yyvsp[(3) - (4)]).op_type, &(yyvsp[(1) - (4)]) TSRMLS_CC); }
04084     break;
04085 
04086   case 188:
04087 
04088     { zend_do_abstract_method(&(yyvsp[(4) - (9)]), &(yyvsp[(1) - (9)]), &(yyvsp[(9) - (9)]) TSRMLS_CC); zend_do_end_function_declaration(&(yyvsp[(2) - (9)]) TSRMLS_CC); }
04089     break;
04090 
04091   case 189:
04092 
04093     { Z_LVAL((yyval).u.constant) = ZEND_ACC_ABSTRACT; }
04094     break;
04095 
04096   case 190:
04097 
04098     { Z_LVAL((yyval).u.constant) = 0;     }
04099     break;
04100 
04101   case 191:
04102 
04103     { (yyval) = (yyvsp[(1) - (1)]); }
04104     break;
04105 
04106   case 192:
04107 
04108     { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
04109     break;
04110 
04111   case 193:
04112 
04113     { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
04114     break;
04115 
04116   case 194:
04117 
04118     { (yyval) = (yyvsp[(1) - (1)]);  if (!(Z_LVAL((yyval).u.constant) & ZEND_ACC_PPP_MASK)) { Z_LVAL((yyval).u.constant) |= ZEND_ACC_PUBLIC; } }
04119     break;
04120 
04121   case 195:
04122 
04123     { (yyval) = (yyvsp[(1) - (1)]); }
04124     break;
04125 
04126   case 196:
04127 
04128     { Z_LVAL((yyval).u.constant) = zend_do_verify_access_types(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); }
04129     break;
04130 
04131   case 197:
04132 
04133     { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
04134     break;
04135 
04136   case 198:
04137 
04138     { Z_LVAL((yyval).u.constant) = ZEND_ACC_PROTECTED; }
04139     break;
04140 
04141   case 199:
04142 
04143     { Z_LVAL((yyval).u.constant) = ZEND_ACC_PRIVATE; }
04144     break;
04145 
04146   case 200:
04147 
04148     { Z_LVAL((yyval).u.constant) = ZEND_ACC_STATIC; }
04149     break;
04150 
04151   case 201:
04152 
04153     { Z_LVAL((yyval).u.constant) = ZEND_ACC_ABSTRACT; }
04154     break;
04155 
04156   case 202:
04157 
04158     { Z_LVAL((yyval).u.constant) = ZEND_ACC_FINAL; }
04159     break;
04160 
04161   case 203:
04162 
04163     { zend_do_declare_property(&(yyvsp[(3) - (3)]), NULL, CG(access_type) TSRMLS_CC); }
04164     break;
04165 
04166   case 204:
04167 
04168     { zend_do_declare_property(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]), CG(access_type) TSRMLS_CC); }
04169     break;
04170 
04171   case 205:
04172 
04173     { zend_do_declare_property(&(yyvsp[(1) - (1)]), NULL, CG(access_type) TSRMLS_CC); }
04174     break;
04175 
04176   case 206:
04177 
04178     { zend_do_declare_property(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), CG(access_type) TSRMLS_CC); }
04179     break;
04180 
04181   case 207:
04182 
04183     { zend_do_declare_class_constant(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
04184     break;
04185 
04186   case 208:
04187 
04188     { zend_do_declare_class_constant(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
04189     break;
04190 
04191   case 209:
04192 
04193     { zend_do_echo(&(yyvsp[(3) - (3)]) TSRMLS_CC); }
04194     break;
04195 
04196   case 210:
04197 
04198     { zend_do_echo(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
04199     break;
04200 
04201   case 211:
04202 
04203     { (yyval).op_type = IS_CONST;  Z_TYPE((yyval).u.constant) = IS_BOOL;  Z_LVAL((yyval).u.constant) = 1; }
04204     break;
04205 
04206   case 212:
04207 
04208     { (yyval) = (yyvsp[(1) - (1)]); }
04209     break;
04210 
04211   case 213:
04212 
04213     { zend_do_free(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
04214     break;
04215 
04216   case 214:
04217 
04218     { (yyval) = (yyvsp[(4) - (4)]); }
04219     break;
04220 
04221   case 215:
04222 
04223     { (yyval) = (yyvsp[(1) - (1)]); }
04224     break;
04225 
04226   case 216:
04227 
04228     { zend_do_list_init(TSRMLS_C); }
04229     break;
04230 
04231   case 217:
04232 
04233     { zend_do_list_end(&(yyval), &(yyvsp[(7) - (7)]) TSRMLS_CC); }
04234     break;
04235 
04236   case 218:
04237 
04238     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_assign(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04239     break;
04240 
04241   case 219:
04242 
04243     { zend_check_writable_variable(&(yyvsp[(1) - (4)])); zend_do_end_variable_parse(&(yyvsp[(4) - (4)]), BP_VAR_W, 1 TSRMLS_CC); zend_do_end_variable_parse(&(yyvsp[(1) - (4)]), BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
04244     break;
04245 
04246   case 220:
04247 
04248     { zend_error(E_DEPRECATED, "Assigning the return value of new by reference is deprecated");  zend_check_writable_variable(&(yyvsp[(1) - (5)])); zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
04249     break;
04250 
04251   case 221:
04252 
04253     { zend_do_end_new_object(&(yyvsp[(3) - (7)]), &(yyvsp[(4) - (7)]), &(yyvsp[(7) - (7)]) TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_end_variable_parse(&(yyvsp[(1) - (7)]), BP_VAR_W, 0 TSRMLS_CC); (yyvsp[(3) - (7)]).u.EA.type = ZEND_PARSED_NEW; zend_do_assign_ref(&(yyval), &(yyvsp[(1) - (7)]), &(yyvsp[(3) - (7)]) TSRMLS_CC); }
04254     break;
04255 
04256   case 222:
04257 
04258     { zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04259     break;
04260 
04261   case 223:
04262 
04263     { zend_do_end_new_object(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04264     break;
04265 
04266   case 224:
04267 
04268     { zend_do_clone(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04269     break;
04270 
04271   case 225:
04272 
04273     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_ADD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04274     break;
04275 
04276   case 226:
04277 
04278     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SUB, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04279     break;
04280 
04281   case 227:
04282 
04283     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MUL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04284     break;
04285 
04286   case 228:
04287 
04288     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DIV, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04289     break;
04290 
04291   case 229:
04292 
04293     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_CONCAT, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04294     break;
04295 
04296   case 230:
04297 
04298     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MOD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04299     break;
04300 
04301   case 231:
04302 
04303     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_AND, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04304     break;
04305 
04306   case 232:
04307 
04308     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_OR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04309     break;
04310 
04311   case 233:
04312 
04313     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04314     break;
04315 
04316   case 234:
04317 
04318     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04319     break;
04320 
04321   case 235:
04322 
04323     { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04324     break;
04325 
04326   case 236:
04327 
04328     { zend_do_post_incdec(&(yyval), &(yyvsp[(1) - (2)]), ZEND_POST_INC TSRMLS_CC); }
04329     break;
04330 
04331   case 237:
04332 
04333     { zend_do_pre_incdec(&(yyval), &(yyvsp[(2) - (2)]), ZEND_PRE_INC TSRMLS_CC); }
04334     break;
04335 
04336   case 238:
04337 
04338     { zend_do_post_incdec(&(yyval), &(yyvsp[(1) - (2)]), ZEND_POST_DEC TSRMLS_CC); }
04339     break;
04340 
04341   case 239:
04342 
04343     { zend_do_pre_incdec(&(yyval), &(yyvsp[(2) - (2)]), ZEND_PRE_DEC TSRMLS_CC); }
04344     break;
04345 
04346   case 240:
04347 
04348     { zend_do_boolean_or_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04349     break;
04350 
04351   case 241:
04352 
04353     { zend_do_boolean_or_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
04354     break;
04355 
04356   case 242:
04357 
04358     { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04359     break;
04360 
04361   case 243:
04362 
04363     { zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
04364     break;
04365 
04366   case 244:
04367 
04368     { zend_do_boolean_or_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04369     break;
04370 
04371   case 245:
04372 
04373     { zend_do_boolean_or_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
04374     break;
04375 
04376   case 246:
04377 
04378     { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04379     break;
04380 
04381   case 247:
04382 
04383     { zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
04384     break;
04385 
04386   case 248:
04387 
04388     { zend_do_binary_op(ZEND_BOOL_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04389     break;
04390 
04391   case 249:
04392 
04393     { zend_do_binary_op(ZEND_BW_OR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04394     break;
04395 
04396   case 250:
04397 
04398     { zend_do_binary_op(ZEND_BW_AND, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04399     break;
04400 
04401   case 251:
04402 
04403     { zend_do_binary_op(ZEND_BW_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04404     break;
04405 
04406   case 252:
04407 
04408     { zend_do_binary_op(ZEND_CONCAT, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04409     break;
04410 
04411   case 253:
04412 
04413     { zend_do_binary_op(ZEND_ADD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04414     break;
04415 
04416   case 254:
04417 
04418     { zend_do_binary_op(ZEND_SUB, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04419     break;
04420 
04421   case 255:
04422 
04423     { zend_do_binary_op(ZEND_MUL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04424     break;
04425 
04426   case 256:
04427 
04428     { zend_do_binary_op(ZEND_DIV, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04429     break;
04430 
04431   case 257:
04432 
04433     { zend_do_binary_op(ZEND_MOD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04434     break;
04435 
04436   case 258:
04437 
04438     { zend_do_binary_op(ZEND_SL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04439     break;
04440 
04441   case 259:
04442 
04443     { zend_do_binary_op(ZEND_SR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04444     break;
04445 
04446   case 260:
04447 
04448     { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); if ((yyvsp[(2) - (2)]).op_type == IS_CONST) { add_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); } else { (yyvsp[(1) - (2)]).op_type = IS_CONST; INIT_PZVAL(&(yyvsp[(1) - (2)]).u.constant); zend_do_binary_op(ZEND_ADD, &(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } }
04449     break;
04450 
04451   case 261:
04452 
04453     { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); if ((yyvsp[(2) - (2)]).op_type == IS_CONST) { sub_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); } else { (yyvsp[(1) - (2)]).op_type = IS_CONST; INIT_PZVAL(&(yyvsp[(1) - (2)]).u.constant); zend_do_binary_op(ZEND_SUB, &(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } }
04454     break;
04455 
04456   case 262:
04457 
04458     { zend_do_unary_op(ZEND_BOOL_NOT, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04459     break;
04460 
04461   case 263:
04462 
04463     { zend_do_unary_op(ZEND_BW_NOT, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04464     break;
04465 
04466   case 264:
04467 
04468     { zend_do_binary_op(ZEND_IS_IDENTICAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04469     break;
04470 
04471   case 265:
04472 
04473     { zend_do_binary_op(ZEND_IS_NOT_IDENTICAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04474     break;
04475 
04476   case 266:
04477 
04478     { zend_do_binary_op(ZEND_IS_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04479     break;
04480 
04481   case 267:
04482 
04483     { zend_do_binary_op(ZEND_IS_NOT_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04484     break;
04485 
04486   case 268:
04487 
04488     { zend_do_binary_op(ZEND_IS_SMALLER, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04489     break;
04490 
04491   case 269:
04492 
04493     { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04494     break;
04495 
04496   case 270:
04497 
04498     { zend_do_binary_op(ZEND_IS_SMALLER, &(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
04499     break;
04500 
04501   case 271:
04502 
04503     { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
04504     break;
04505 
04506   case 272:
04507 
04508     { zend_do_instanceof(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
04509     break;
04510 
04511   case 273:
04512 
04513     { (yyval) = (yyvsp[(2) - (3)]); }
04514     break;
04515 
04516   case 274:
04517 
04518     { zend_do_begin_qm_op(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04519     break;
04520 
04521   case 275:
04522 
04523     { zend_do_qm_true(&(yyvsp[(4) - (5)]), &(yyvsp[(2) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
04524     break;
04525 
04526   case 276:
04527 
04528     { zend_do_qm_false(&(yyval), &(yyvsp[(7) - (7)]), &(yyvsp[(2) - (7)]), &(yyvsp[(5) - (7)]) TSRMLS_CC); }
04529     break;
04530 
04531   case 277:
04532 
04533     { zend_do_jmp_set(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04534     break;
04535 
04536   case 278:
04537 
04538     { zend_do_jmp_set_else(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(2) - (5)]), &(yyvsp[(3) - (5)]) TSRMLS_CC); }
04539     break;
04540 
04541   case 279:
04542 
04543     { (yyval) = (yyvsp[(1) - (1)]); }
04544     break;
04545 
04546   case 280:
04547 
04548     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_LONG TSRMLS_CC); }
04549     break;
04550 
04551   case 281:
04552 
04553     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_DOUBLE TSRMLS_CC); }
04554     break;
04555 
04556   case 282:
04557 
04558     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_STRING TSRMLS_CC); }
04559     break;
04560 
04561   case 283:
04562 
04563     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_ARRAY TSRMLS_CC); }
04564     break;
04565 
04566   case 284:
04567 
04568     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_OBJECT TSRMLS_CC); }
04569     break;
04570 
04571   case 285:
04572 
04573     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_BOOL TSRMLS_CC); }
04574     break;
04575 
04576   case 286:
04577 
04578     { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_NULL TSRMLS_CC); }
04579     break;
04580 
04581   case 287:
04582 
04583     { zend_do_exit(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04584     break;
04585 
04586   case 288:
04587 
04588     { zend_do_begin_silence(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
04589     break;
04590 
04591   case 289:
04592 
04593     { zend_do_end_silence(&(yyvsp[(1) - (3)]) TSRMLS_CC); (yyval) = (yyvsp[(3) - (3)]); }
04594     break;
04595 
04596   case 290:
04597 
04598     { (yyval) = (yyvsp[(1) - (1)]); }
04599     break;
04600 
04601   case 291:
04602 
04603     { (yyval) = (yyvsp[(3) - (4)]); }
04604     break;
04605 
04606   case 292:
04607 
04608     { zend_do_shell_exec(&(yyval), &(yyvsp[(2) - (3)]) TSRMLS_CC); }
04609     break;
04610 
04611   case 293:
04612 
04613     { zend_do_print(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
04614     break;
04615 
04616   case 294:
04617 
04618     { zend_do_begin_lambda_function_declaration(&(yyval), &(yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]).op_type TSRMLS_CC); }
04619     break;
04620 
04621   case 295:
04622 
04623     {  zend_do_end_function_declaration(&(yyvsp[(1) - (10)]) TSRMLS_CC); (yyval) = (yyvsp[(4) - (10)]); }
04624     break;
04625 
04626   case 296:
04627 
04628     { (yyval).u.opline_num = CG(zend_lineno); }
04629     break;
04630 
04631   case 299:
04632 
04633     { zend_do_fetch_lexical_variable(&(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
04634     break;
04635 
04636   case 300:
04637 
04638     { zend_do_fetch_lexical_variable(&(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
04639     break;
04640 
04641   case 301:
04642 
04643     { zend_do_fetch_lexical_variable(&(yyvsp[(1) - (1)]), 0 TSRMLS_CC); }
04644     break;
04645 
04646   case 302:
04647 
04648     { zend_do_fetch_lexical_variable(&(yyvsp[(2) - (2)]), 1 TSRMLS_CC); }
04649     break;
04650 
04651   case 303:
04652 
04653     { (yyvsp[(2) - (2)]).u.opline_num = zend_do_begin_function_call(&(yyvsp[(1) - (2)]), 1 TSRMLS_CC); }
04654     break;
04655 
04656   case 304:
04657 
04658     { zend_do_end_function_call(&(yyvsp[(1) - (5)]), &(yyval), &(yyvsp[(4) - (5)]), 0, (yyvsp[(2) - (5)]).u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
04659     break;
04660 
04661   case 305:
04662 
04663     { (yyvsp[(1) - (4)]).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyvsp[(1) - (4)]).u.constant);  zend_do_build_namespace_name(&(yyvsp[(1) - (4)]), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); (yyvsp[(4) - (4)]).u.opline_num = zend_do_begin_function_call(&(yyvsp[(1) - (4)]), 0 TSRMLS_CC); }
04664     break;
04665 
04666   case 306:
04667 
04668     { zend_do_end_function_call(&(yyvsp[(1) - (7)]), &(yyval), &(yyvsp[(6) - (7)]), 0, (yyvsp[(4) - (7)]).u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
04669     break;
04670 
04671   case 307:
04672 
04673     { (yyvsp[(3) - (3)]).u.opline_num = zend_do_begin_function_call(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
04674     break;
04675 
04676   case 308:
04677 
04678     { zend_do_end_function_call(&(yyvsp[(2) - (6)]), &(yyval), &(yyvsp[(5) - (6)]), 0, (yyvsp[(3) - (6)]).u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
04679     break;
04680 
04681   case 309:
04682 
04683     { (yyvsp[(4) - (4)]).u.opline_num = zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
04684     break;
04685 
04686   case 310:
04687 
04688     { zend_do_end_function_call((yyvsp[(4) - (7)]).u.opline_num?NULL:&(yyvsp[(3) - (7)]), &(yyval), &(yyvsp[(6) - (7)]), (yyvsp[(4) - (7)]).u.opline_num, (yyvsp[(4) - (7)]).u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04689     break;
04690 
04691   case 311:
04692 
04693     { zend_do_end_variable_parse(&(yyvsp[(3) - (4)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
04694     break;
04695 
04696   case 312:
04697 
04698     { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04699     break;
04700 
04701   case 313:
04702 
04703     { zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
04704     break;
04705 
04706   case 314:
04707 
04708     { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04709     break;
04710 
04711   case 315:
04712 
04713     { zend_do_end_variable_parse(&(yyvsp[(3) - (4)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
04714     break;
04715 
04716   case 316:
04717 
04718     { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04719     break;
04720 
04721   case 317:
04722 
04723     { zend_do_end_variable_parse(&(yyvsp[(1) - (2)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_dynamic_function_call(&(yyvsp[(1) - (2)]), 0 TSRMLS_CC); }
04724     break;
04725 
04726   case 318:
04727 
04728     { zend_do_end_function_call(&(yyvsp[(1) - (5)]), &(yyval), &(yyvsp[(4) - (5)]), 0, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
04729     break;
04730 
04731   case 319:
04732 
04733     { (yyval).op_type = IS_CONST; ZVAL_STRINGL(&(yyval).u.constant, "static", sizeof("static")-1, 1);}
04734     break;
04735 
04736   case 320:
04737 
04738     { (yyval) = (yyvsp[(1) - (1)]); }
04739     break;
04740 
04741   case 321:
04742 
04743     { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant);  zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04744     break;
04745 
04746   case 322:
04747 
04748     { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); (yyval) = (yyvsp[(2) - (2)]); }
04749     break;
04750 
04751   case 323:
04752 
04753     { (yyval) = (yyvsp[(1) - (1)]); }
04754     break;
04755 
04756   case 324:
04757 
04758     { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant);  zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
04759     break;
04760 
04761   case 325:
04762 
04763     { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); (yyval) = (yyvsp[(2) - (2)]); }
04764     break;
04765 
04766   case 326:
04767 
04768     { zend_do_fetch_class(&(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
04769     break;
04770 
04771   case 327:
04772 
04773     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_fetch_class(&(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
04774     break;
04775 
04776   case 328:
04777 
04778     { zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
04779     break;
04780 
04781   case 329:
04782 
04783     { zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); }
04784     break;
04785 
04786   case 330:
04787 
04788     { zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_MEMBER; }
04789     break;
04790 
04791   case 331:
04792 
04793     { (yyval) = (yyvsp[(1) - (1)]); }
04794     break;
04795 
04796   case 334:
04797 
04798     { zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); }
04799     break;
04800 
04801   case 335:
04802 
04803     { memset(&(yyval), 0, sizeof(znode)); (yyval).op_type = IS_UNUSED; }
04804     break;
04805 
04806   case 336:
04807 
04808     { memset(&(yyval), 0, sizeof(znode)); (yyval).op_type = IS_UNUSED; }
04809     break;
04810 
04811   case 337:
04812 
04813     { (yyval) = (yyvsp[(2) - (3)]); }
04814     break;
04815 
04816   case 338:
04817 
04818     { ZVAL_EMPTY_STRING(&(yyval).u.constant); INIT_PZVAL(&(yyval).u.constant); (yyval).op_type = IS_CONST; }
04819     break;
04820 
04821   case 339:
04822 
04823     { (yyval) = (yyvsp[(1) - (1)]); }
04824     break;
04825 
04826   case 340:
04827 
04828     { (yyval) = (yyvsp[(1) - (1)]); }
04829     break;
04830 
04831   case 341:
04832 
04833     { Z_LVAL((yyval).u.constant)=0; }
04834     break;
04835 
04836   case 342:
04837 
04838     { (yyval) = (yyvsp[(2) - (3)]); }
04839     break;
04840 
04841   case 343:
04842 
04843     { (yyval) = (yyvsp[(1) - (1)]); }
04844     break;
04845 
04846   case 344:
04847 
04848     { (yyval) = (yyvsp[(1) - (1)]); }
04849     break;
04850 
04851   case 345:
04852 
04853     { (yyval) = (yyvsp[(1) - (1)]); }
04854     break;
04855 
04856   case 346:
04857 
04858     { (yyval) = (yyvsp[(1) - (1)]); }
04859     break;
04860 
04861   case 347:
04862 
04863     { (yyval) = (yyvsp[(1) - (1)]); }
04864     break;
04865 
04866   case 348:
04867 
04868     { (yyval) = (yyvsp[(1) - (1)]); }
04869     break;
04870 
04871   case 349:
04872 
04873     { (yyval) = (yyvsp[(1) - (1)]); }
04874     break;
04875 
04876   case 350:
04877 
04878     { (yyval) = (yyvsp[(1) - (1)]); }
04879     break;
04880 
04881   case 351:
04882 
04883     { (yyval) = (yyvsp[(1) - (1)]); }
04884     break;
04885 
04886   case 352:
04887 
04888     { (yyval) = (yyvsp[(1) - (1)]); }
04889     break;
04890 
04891   case 353:
04892 
04893     { (yyval) = (yyvsp[(2) - (3)]); CG(heredoc) = Z_STRVAL((yyvsp[(1) - (3)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (3)]).u.constant); }
04894     break;
04895 
04896   case 354:
04897 
04898     { ZVAL_EMPTY_STRING(&(yyval).u.constant); INIT_PZVAL(&(yyval).u.constant); (yyval).op_type = IS_CONST; CG(heredoc) = Z_STRVAL((yyvsp[(1) - (2)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (2)]).u.constant); }
04899     break;
04900 
04901   case 355:
04902 
04903     { (yyval) = (yyvsp[(1) - (1)]); }
04904     break;
04905 
04906   case 356:
04907 
04908     { zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(1) - (1)]), ZEND_CT, 1 TSRMLS_CC); }
04909     break;
04910 
04911   case 357:
04912 
04913     { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant);  zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); (yyvsp[(3) - (3)]) = (yyval); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(3) - (3)]), ZEND_CT, 0 TSRMLS_CC); }
04914     break;
04915 
04916   case 358:
04917 
04918     { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(2) - (2)]), ZEND_CT, 0 TSRMLS_CC); }
04919     break;
04920 
04921   case 359:
04922 
04923     { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); add_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); }
04924     break;
04925 
04926   case 360:
04927 
04928     { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); sub_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); }
04929     break;
04930 
04931   case 361:
04932 
04933     { (yyval) = (yyvsp[(3) - (4)]); Z_TYPE((yyval).u.constant) = IS_CONSTANT_ARRAY; }
04934     break;
04935 
04936   case 362:
04937 
04938     { (yyval) = (yyvsp[(1) - (1)]); }
04939     break;
04940 
04941   case 363:
04942 
04943     { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_CT, 0 TSRMLS_CC); }
04944     break;
04945 
04946   case 364:
04947 
04948     { (yyval) = (yyvsp[(1) - (1)]); }
04949     break;
04950 
04951   case 365:
04952 
04953     { (yyval) = (yyvsp[(1) - (1)]); }
04954     break;
04955 
04956   case 366:
04957 
04958     { zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(1) - (1)]), ZEND_RT, 1 TSRMLS_CC); }
04959     break;
04960 
04961   case 367:
04962 
04963     { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant);  zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); (yyvsp[(3) - (3)]) = (yyval); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
04964     break;
04965 
04966   case 368:
04967 
04968     { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(2) - (2)]), ZEND_RT, 0 TSRMLS_CC); }
04969     break;
04970 
04971   case 369:
04972 
04973     { (yyval) = (yyvsp[(1) - (1)]); }
04974     break;
04975 
04976   case 370:
04977 
04978     { (yyval) = (yyvsp[(2) - (3)]); }
04979     break;
04980 
04981   case 371:
04982 
04983     { (yyval) = (yyvsp[(2) - (3)]); CG(heredoc) = Z_STRVAL((yyvsp[(1) - (3)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (3)]).u.constant); }
04984     break;
04985 
04986   case 372:
04987 
04988     { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); }
04989     break;
04990 
04991   case 373:
04992 
04993     { (yyval) = (yyvsp[(1) - (2)]); }
04994     break;
04995 
04996   case 376:
04997 
04998     { zend_do_add_static_array_element(&(yyval), &(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)])); }
04999     break;
05000 
05001   case 377:
05002 
05003     { zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(3) - (3)])); }
05004     break;
05005 
05006   case 378:
05007 
05008     { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)])); }
05009     break;
05010 
05011   case 379:
05012 
05013     { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(1) - (1)])); }
05014     break;
05015 
05016   case 380:
05017 
05018     { (yyval) = (yyvsp[(1) - (1)]); }
05019     break;
05020 
05021   case 381:
05022 
05023     { (yyval) = (yyvsp[(1) - (1)]); }
05024     break;
05025 
05026   case 382:
05027 
05028     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
05029     break;
05030 
05031   case 383:
05032 
05033     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_W, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]);
05034                               zend_check_writable_variable(&(yyvsp[(1) - (1)])); }
05035     break;
05036 
05037   case 384:
05038 
05039     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_RW, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]);
05040                               zend_check_writable_variable(&(yyvsp[(1) - (1)])); }
05041     break;
05042 
05043   case 385:
05044 
05045     { zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
05046     break;
05047 
05048   case 386:
05049 
05050     { zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); }
05051     break;
05052 
05053   case 387:
05054 
05055     { zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = (yyvsp[(1) - (7)]).u.EA.type | ((yyvsp[(7) - (7)]).u.EA.type ? (yyvsp[(7) - (7)]).u.EA.type : (yyvsp[(6) - (7)]).u.EA.type); }
05056     break;
05057 
05058   case 388:
05059 
05060     { (yyval) = (yyvsp[(1) - (1)]); }
05061     break;
05062 
05063   case 389:
05064 
05065     { (yyval).u.EA.type = (yyvsp[(2) - (2)]).u.EA.type; }
05066     break;
05067 
05068   case 390:
05069 
05070     { (yyval).u.EA.type = 0; }
05071     break;
05072 
05073   case 391:
05074 
05075     { zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); }
05076     break;
05077 
05078   case 392:
05079 
05080     { (yyval).u.EA.type = (yyvsp[(4) - (4)]).u.EA.type; }
05081     break;
05082 
05083   case 393:
05084 
05085     { zend_do_pop_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); zend_do_begin_method_call(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
05086     break;
05087 
05088   case 394:
05089 
05090     { zend_do_end_function_call(&(yyvsp[(1) - (4)]), &(yyval), &(yyvsp[(3) - (4)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);
05091                        zend_do_push_object(&(yyval) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_METHOD_CALL; }
05092     break;
05093 
05094   case 395:
05095 
05096     { zend_do_declare_implicit_property(TSRMLS_C); (yyval).u.EA.type = ZEND_PARSED_MEMBER; }
05097     break;
05098 
05099   case 396:
05100 
05101     { (yyval) = (yyvsp[(1) - (1)]); }
05102     break;
05103 
05104   case 397:
05105 
05106     { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05107     break;
05108 
05109   case 398:
05110 
05111     { (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
05112     break;
05113 
05114   case 399:
05115 
05116     { (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
05117     break;
05118 
05119   case 400:
05120 
05121     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (1)]);; }
05122     break;
05123 
05124   case 401:
05125 
05126     { (yyval) = (yyvsp[(1) - (1)]); }
05127     break;
05128 
05129   case 402:
05130 
05131     { zend_do_begin_variable_parse(TSRMLS_C); (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_FUNCTION_CALL; }
05132     break;
05133 
05134   case 403:
05135 
05136     { (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; }
05137     break;
05138 
05139   case 404:
05140 
05141     { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); (yyval).u.EA.type = ZEND_PARSED_VARIABLE; }
05142     break;
05143 
05144   case 405:
05145 
05146     { (yyval) = (yyvsp[(1) - (1)]); (yyval).u.EA.type = ZEND_PARSED_STATIC_MEMBER; }
05147     break;
05148 
05149   case 406:
05150 
05151     { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05152     break;
05153 
05154   case 407:
05155 
05156     { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05157     break;
05158 
05159   case 408:
05160 
05161     { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
05162     break;
05163 
05164   case 409:
05165 
05166     { (yyval) = (yyvsp[(1) - (1)]); }
05167     break;
05168 
05169   case 410:
05170 
05171     { (yyval) = (yyvsp[(3) - (4)]); }
05172     break;
05173 
05174   case 411:
05175 
05176     { (yyval).op_type = IS_UNUSED; }
05177     break;
05178 
05179   case 412:
05180 
05181     { (yyval) = (yyvsp[(1) - (1)]); }
05182     break;
05183 
05184   case 413:
05185 
05186     { (yyval) = (yyvsp[(1) - (1)]); }
05187     break;
05188 
05189   case 414:
05190 
05191     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); }
05192     break;
05193 
05194   case 415:
05195 
05196     { znode tmp_znode;  zend_do_pop_object(&tmp_znode TSRMLS_CC);  zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (2)]) TSRMLS_CC);}
05197     break;
05198 
05199   case 416:
05200 
05201     { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05202     break;
05203 
05204   case 417:
05205 
05206     { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05207     break;
05208 
05209   case 418:
05210 
05211     { znode tmp_znode;  zend_do_pop_object(&tmp_znode TSRMLS_CC);  zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (1)]) TSRMLS_CC);}
05212     break;
05213 
05214   case 419:
05215 
05216     { (yyval) = (yyvsp[(1) - (1)]); }
05217     break;
05218 
05219   case 420:
05220 
05221     { (yyval) = (yyvsp[(2) - (3)]); }
05222     break;
05223 
05224   case 421:
05225 
05226     { Z_LVAL((yyval).u.constant) = 1; }
05227     break;
05228 
05229   case 422:
05230 
05231     { Z_LVAL((yyval).u.constant)++; }
05232     break;
05233 
05234   case 425:
05235 
05236     { zend_do_add_list_element(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
05237     break;
05238 
05239   case 426:
05240 
05241     { zend_do_new_list_begin(TSRMLS_C); }
05242     break;
05243 
05244   case 427:
05245 
05246     { zend_do_new_list_end(TSRMLS_C); }
05247     break;
05248 
05249   case 428:
05250 
05251     { zend_do_add_list_element(NULL TSRMLS_CC); }
05252     break;
05253 
05254   case 429:
05255 
05256     { zend_do_init_array(&(yyval), NULL, NULL, 0 TSRMLS_CC); }
05257     break;
05258 
05259   case 430:
05260 
05261     { (yyval) = (yyvsp[(1) - (2)]); }
05262     break;
05263 
05264   case 431:
05265 
05266     { zend_do_add_array_element(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(3) - (5)]), 0 TSRMLS_CC); }
05267     break;
05268 
05269   case 432:
05270 
05271     { zend_do_add_array_element(&(yyval), &(yyvsp[(3) - (3)]), NULL, 0 TSRMLS_CC); }
05272     break;
05273 
05274   case 433:
05275 
05276     { zend_do_init_array(&(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]), 0 TSRMLS_CC); }
05277     break;
05278 
05279   case 434:
05280 
05281     { zend_do_init_array(&(yyval), &(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); }
05282     break;
05283 
05284   case 435:
05285 
05286     { zend_do_add_array_element(&(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), 1 TSRMLS_CC); }
05287     break;
05288 
05289   case 436:
05290 
05291     { zend_do_add_array_element(&(yyval), &(yyvsp[(4) - (4)]), NULL, 1 TSRMLS_CC); }
05292     break;
05293 
05294   case 437:
05295 
05296     { zend_do_init_array(&(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), 1 TSRMLS_CC); }
05297     break;
05298 
05299   case 438:
05300 
05301     { zend_do_init_array(&(yyval), &(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); }
05302     break;
05303 
05304   case 439:
05305 
05306     { zend_do_end_variable_parse(&(yyvsp[(2) - (2)]), BP_VAR_R, 0 TSRMLS_CC);  zend_do_add_variable(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05307     break;
05308 
05309   case 440:
05310 
05311     { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05312     break;
05313 
05314   case 441:
05315 
05316     { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), NULL, &(yyvsp[(1) - (1)]) TSRMLS_CC); }
05317     break;
05318 
05319   case 442:
05320 
05321     { zend_do_add_string(&(yyval), NULL, &(yyvsp[(1) - (2)]) TSRMLS_CC); zend_do_end_variable_parse(&(yyvsp[(2) - (2)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05322     break;
05323 
05324   case 443:
05325 
05326     { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
05327     break;
05328 
05329   case 444:
05330 
05331     { zend_do_begin_variable_parse(TSRMLS_C); }
05332     break;
05333 
05334   case 445:
05335 
05336     { fetch_array_begin(&(yyval), &(yyvsp[(1) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
05337     break;
05338 
05339   case 446:
05340 
05341     { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyvsp[(2) - (3)]), &(yyvsp[(1) - (3)]), 1 TSRMLS_CC); zend_do_fetch_property(&(yyval), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
05342     break;
05343 
05344   case 447:
05345 
05346     { zend_do_begin_variable_parse(TSRMLS_C);  fetch_simple_variable(&(yyval), &(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
05347     break;
05348 
05349   case 448:
05350 
05351     { zend_do_begin_variable_parse(TSRMLS_C);  fetch_array_begin(&(yyval), &(yyvsp[(2) - (6)]), &(yyvsp[(4) - (6)]) TSRMLS_CC); }
05352     break;
05353 
05354   case 449:
05355 
05356     { (yyval) = (yyvsp[(2) - (3)]); }
05357     break;
05358 
05359   case 450:
05360 
05361     { (yyval) = (yyvsp[(1) - (1)]); }
05362     break;
05363 
05364   case 451:
05365 
05366     { (yyval) = (yyvsp[(1) - (1)]); }
05367     break;
05368 
05369   case 452:
05370 
05371     { fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
05372     break;
05373 
05374   case 453:
05375 
05376     { (yyval) = (yyvsp[(3) - (4)]); }
05377     break;
05378 
05379   case 454:
05380 
05381     { zend_do_isset_or_isempty(ZEND_ISEMPTY, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05382     break;
05383 
05384   case 455:
05385 
05386     { zend_do_include_or_eval(ZEND_INCLUDE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05387     break;
05388 
05389   case 456:
05390 
05391     { zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05392     break;
05393 
05394   case 457:
05395 
05396     { zend_do_include_or_eval(ZEND_EVAL, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
05397     break;
05398 
05399   case 458:
05400 
05401     { zend_do_include_or_eval(ZEND_REQUIRE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05402     break;
05403 
05404   case 459:
05405 
05406     { zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05407     break;
05408 
05409   case 460:
05410 
05411     { zend_do_isset_or_isempty(ZEND_ISSET, &(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
05412     break;
05413 
05414   case 461:
05415 
05416     { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
05417     break;
05418 
05419   case 462:
05420 
05421     { znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &tmp, &(yyvsp[(2) - (4)]) TSRMLS_CC); }
05422     break;
05423 
05424   case 463:
05425 
05426     { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
05427     break;
05428 
05429   case 464:
05430 
05431     { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
05432     break;
05433 
05434 
05435 
05436       default: break;
05437     }
05438   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
05439 
05440   YYPOPSTACK (yylen);
05441   yylen = 0;
05442   YY_STACK_PRINT (yyss, yyssp);
05443 
05444   *++yyvsp = yyval;
05445 
05446   /* Now `shift' the result of the reduction.  Determine what state
05447      that goes to, based on the state we popped back to and the rule
05448      number reduced by.  */
05449 
05450   yyn = yyr1[yyn];
05451 
05452   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
05453   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
05454     yystate = yytable[yystate];
05455   else
05456     yystate = yydefgoto[yyn - YYNTOKENS];
05457 
05458   goto yynewstate;
05459 
05460 
05461 /*------------------------------------.
05462 | yyerrlab -- here on detecting error |
05463 `------------------------------------*/
05464 yyerrlab:
05465   /* If not already recovering from an error, report this error.  */
05466   if (!yyerrstatus)
05467     {
05468       ++yynerrs;
05469 #if ! YYERROR_VERBOSE
05470       yyerror (YY_("syntax error"));
05471 #else
05472       {
05473        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
05474        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
05475          {
05476            YYSIZE_T yyalloc = 2 * yysize;
05477            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
05478              yyalloc = YYSTACK_ALLOC_MAXIMUM;
05479            if (yymsg != yymsgbuf)
05480              YYSTACK_FREE (yymsg);
05481            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
05482            if (yymsg)
05483              yymsg_alloc = yyalloc;
05484            else
05485              {
05486               yymsg = yymsgbuf;
05487               yymsg_alloc = sizeof yymsgbuf;
05488              }
05489          }
05490 
05491        if (0 < yysize && yysize <= yymsg_alloc)
05492          {
05493            (void) yysyntax_error (yymsg, yystate, yychar);
05494            yyerror (yymsg);
05495          }
05496        else
05497          {
05498            yyerror (YY_("syntax error"));
05499            if (yysize != 0)
05500              goto yyexhaustedlab;
05501          }
05502       }
05503 #endif
05504     }
05505 
05506 
05507 
05508   if (yyerrstatus == 3)
05509     {
05510       /* If just tried and failed to reuse lookahead token after an
05511         error, discard it.  */
05512 
05513       if (yychar <= YYEOF)
05514        {
05515          /* Return failure if at end of input.  */
05516          if (yychar == YYEOF)
05517            YYABORT;
05518        }
05519       else
05520        {
05521          yydestruct ("Error: discarding",
05522                     yytoken, &yylval);
05523          yychar = YYEMPTY;
05524        }
05525     }
05526 
05527   /* Else will try to reuse lookahead token after shifting the error
05528      token.  */
05529   goto yyerrlab1;
05530 
05531 
05532 /*---------------------------------------------------.
05533 | yyerrorlab -- error raised explicitly by YYERROR.  |
05534 `---------------------------------------------------*/
05535 yyerrorlab:
05536 
05537   /* Pacify compilers like GCC when the user code never invokes
05538      YYERROR and the label yyerrorlab therefore never appears in user
05539      code.  */
05540   if (/*CONSTCOND*/ 0)
05541      goto yyerrorlab;
05542 
05543   /* Do not reclaim the symbols of the rule which action triggered
05544      this YYERROR.  */
05545   YYPOPSTACK (yylen);
05546   yylen = 0;
05547   YY_STACK_PRINT (yyss, yyssp);
05548   yystate = *yyssp;
05549   goto yyerrlab1;
05550 
05551 
05552 /*-------------------------------------------------------------.
05553 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
05554 `-------------------------------------------------------------*/
05555 yyerrlab1:
05556   yyerrstatus = 3;   /* Each real token shifted decrements this.  */
05557 
05558   for (;;)
05559     {
05560       yyn = yypact[yystate];
05561       if (yyn != YYPACT_NINF)
05562        {
05563          yyn += YYTERROR;
05564          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
05565            {
05566              yyn = yytable[yyn];
05567              if (0 < yyn)
05568               break;
05569            }
05570        }
05571 
05572       /* Pop the current state because it cannot handle the error token.  */
05573       if (yyssp == yyss)
05574        YYABORT;
05575 
05576 
05577       yydestruct ("Error: popping",
05578                 yystos[yystate], yyvsp);
05579       YYPOPSTACK (1);
05580       yystate = *yyssp;
05581       YY_STACK_PRINT (yyss, yyssp);
05582     }
05583 
05584   *++yyvsp = yylval;
05585 
05586 
05587   /* Shift the error token.  */
05588   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
05589 
05590   yystate = yyn;
05591   goto yynewstate;
05592 
05593 
05594 /*-------------------------------------.
05595 | yyacceptlab -- YYACCEPT comes here.  |
05596 `-------------------------------------*/
05597 yyacceptlab:
05598   yyresult = 0;
05599   goto yyreturn;
05600 
05601 /*-----------------------------------.
05602 | yyabortlab -- YYABORT comes here.  |
05603 `-----------------------------------*/
05604 yyabortlab:
05605   yyresult = 1;
05606   goto yyreturn;
05607 
05608 #if !defined(yyoverflow) || YYERROR_VERBOSE
05609 /*-------------------------------------------------.
05610 | yyexhaustedlab -- memory exhaustion comes here.  |
05611 `-------------------------------------------------*/
05612 yyexhaustedlab:
05613   yyerror (YY_("memory exhausted"));
05614   yyresult = 2;
05615   /* Fall through.  */
05616 #endif
05617 
05618 yyreturn:
05619   if (yychar != YYEMPTY)
05620      yydestruct ("Cleanup: discarding lookahead",
05621                yytoken, &yylval);
05622   /* Do not reclaim the symbols of the rule which action triggered
05623      this YYABORT or YYACCEPT.  */
05624   YYPOPSTACK (yylen);
05625   YY_STACK_PRINT (yyss, yyssp);
05626   while (yyssp != yyss)
05627     {
05628       yydestruct ("Cleanup: popping",
05629                 yystos[*yyssp], yyvsp);
05630       YYPOPSTACK (1);
05631     }
05632 #ifndef yyoverflow
05633   if (yyss != yyssa)
05634     YYSTACK_FREE (yyss);
05635 #endif
05636 #if YYERROR_VERBOSE
05637   if (yymsg != yymsgbuf)
05638     YYSTACK_FREE (yymsg);
05639 #endif
05640   /* Make sure YYID is used.  */
05641   return YYID (yyresult);
05642 }
05643 
05644 
05645 
05646 
05647 
05648 /*
05649  * Local variables:
05650  * tab-width: 4
05651  * c-basic-offset: 4
05652  * indent-tabs-mode: t
05653  * End:
05654  */
05655